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