Re: [PATCH v2 1/3] arm64: dts: microchip: sparx5: do not use PSCI on reference boards
From: Steen Hegelund
Date: Tue Feb 21 2023 - 09:00:07 EST
Hi Robert,
I find this very useful since the Sparx5 SoC does not support TFA and therefore
cannot provide PSCI on its own, as you also state below.
Acked-by: Steen Hegelund <Steen.Hegelund@xxxxxxxxxxxxx>
On Tue, 2023-02-21 at 11:50 +0100, Robert Marko wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the
> content is safe
>
> PSCI is not implemented on SparX-5 at all, there is no ATF and U-boot that
> is shipped does not implement it as well.
>
> I have tried flashing the latest BSP 2022.12 U-boot which did not work.
> After contacting Microchip, they confirmed that there is no ATF for the
> SoC nor PSCI implementation which is unfortunate in 2023.
>
> So, disable PSCI as otherwise kernel crashes as soon as it tries probing
> PSCI with, and the crash is only visible if earlycon is used.
>
> Since PSCI is not implemented, switch core bringup to use spin-tables
> which are implemented in the vendor U-boot and actually work.
>
> Tested on PCB134 with eMMC (VSC5640EV).
>
> Fixes: 6694aee00a4b ("arm64: dts: sparx5: Add basic cpu support")
> Signed-off-by: Robert Marko <robert.marko@xxxxxxxxxx>
> ---
> Changes in v2:
> * As suggested by Arnd, disable PSCI only on reference boards
> ---
> arch/arm64/boot/dts/microchip/sparx5.dtsi | 2 +-
> arch/arm64/boot/dts/microchip/sparx5_pcb_common.dtsi | 12 ++++++++++++
> 2 files changed, 13 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/microchip/sparx5.dtsi
> b/arch/arm64/boot/dts/microchip/sparx5.dtsi
> index 0367a00a269b3..5eae6e7fd248e 100644
> --- a/arch/arm64/boot/dts/microchip/sparx5.dtsi
> +++ b/arch/arm64/boot/dts/microchip/sparx5.dtsi
> @@ -61,7 +61,7 @@ arm-pmu {
> interrupt-affinity = <&cpu0>, <&cpu1>;
> };
>
> - psci {
> + psci: psci {
> compatible = "arm,psci-0.2";
> method = "smc";
> };
> diff --git a/arch/arm64/boot/dts/microchip/sparx5_pcb_common.dtsi
> b/arch/arm64/boot/dts/microchip/sparx5_pcb_common.dtsi
> index 9d1a082de3e29..32bb76b3202a0 100644
> --- a/arch/arm64/boot/dts/microchip/sparx5_pcb_common.dtsi
> +++ b/arch/arm64/boot/dts/microchip/sparx5_pcb_common.dtsi
> @@ -6,6 +6,18 @@
> /dts-v1/;
> #include "sparx5.dtsi"
>
> +&psci {
> + status = "disabled";
> +};
> +
> +&cpu0 {
> + enable-method = "spin-table";
> +};
> +
> +&cpu1 {
> + enable-method = "spin-table";
> +};
> +
> &uart0 {
> status = "okay";
> };
> --
> 2.39.2
>
BR
Steen