[PATCH RFT 09/10] arm64: dts: microchip: sparx5_pcb134: drop duplicated NOR flash

Steen Hegelund steen.hegelund at microchip.com
Fri Apr 5 05:10:30 PDT 2024


Hi Krzysztof,

On Mon, 2024-04-01 at 17:37 +0200, Krzysztof Kozlowski wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> 
> Since beginning the DTS extended the SPI0 in two places adding two SPI
> muxes, each with same SPI NOR flash.  Both used exactly the same
> chip-selects, so this was clearly buggy code.  Without checking in
> datasheet, assume device has only one SPI NOR flash, so code was
> duplicated.
> 
> Fixes dtc W=1 warnings:
> 
>   sparx5_pcb134_board.dtsi:277.10-281.4: Warning (unique_unit_address_if_enabled):
> /axi at 600000000/spi at 600104000/flash at 0: duplicate unit-address (also used in node
> /axi at 600000000/spi at 600104000/spi at 0)
> 
> Signed-off-by: Krzysztof Kozlowski <krzk at kernel.org>
> 
> ---
> 
> Not tested on hardware
> ---
>  .../boot/dts/microchip/sparx5_pcb134_board.dtsi  | 16 ----------------
>  1 file changed, 16 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/microchip/sparx5_pcb134_board.dtsi
> b/arch/arm64/boot/dts/microchip/sparx5_pcb134_board.dtsi
> index f165a409bc1d..dc7b59dfcb40 100644
> --- a/arch/arm64/boot/dts/microchip/sparx5_pcb134_board.dtsi
> +++ b/arch/arm64/boot/dts/microchip/sparx5_pcb134_board.dtsi
> @@ -281,22 +281,6 @@ flash at 0 {
>         };
>  };
> 
> -&spi0 {
> -       status = "okay";
> -       spi at 0 {
> -               compatible = "spi-mux";
> -               mux-controls = <&mux>;
> -               #address-cells = <1>;
> -               #size-cells = <0>;
> -               reg = <0>;      /* CS0 */
> -               flash at 9 {
> -                       compatible = "jedec,spi-nor";
> -                       spi-max-frequency = <8000000>;
> -                       reg = <0x9>;    /* SPI */
> -               };
> -       };
> -};
> -

When testing this on actual HW the SPI NOR is no longer accessible.
The reason is that it sits behind a SPI-MUX and that needs to be present in the Device Tree.

So if you do the "reverse" clean-up it works fine: Remove the simple spi0 node and keep the one that
has the spi-mux reference.

>  &sgpio0 {
>         status = "okay";
>         microchip,sgpio-port-ranges = <8 15>;
> --
> 2.34.1
> 

Thanks for the cleanup of the DT files!

Best Regards
Steen


More information about the linux-arm-kernel mailing list