Re: [EXT] Re: [PATCH v1] arm64: dts: fsl: ls1028a-rdb: Add dts file to choose swp5 as dsa master

From: Vladimir Oltean
Date: Mon Aug 16 2021 - 13:48:10 EST


On Mon, Aug 16, 2021 at 06:03:52AM +0000, Hongbo Wang wrote:
> > I was going to suggest as an alternative to define a device tree overlay file with
> > the changes in the CPU port assignment, instead of defining a wholly new DTS
> > for the LS1028A reference design board. But I am pretty sure that it is not
> > possible to specify a /delete-property/ inside a device tree overlay file, so that
> > won't actually work.
>
> hi Vladimir,
>
> if don't specify "/delete-property/" in this dts file, the corresponding dtb will not work well,
> so I add it to delete 'ethernet' property from mscc_felix_port4 explicitly.

Judging by the reply, I am not actually sure you've understood what has been said.

I said:

There is an option to create a device tree overlay:

https://www.kernel.org/doc/html/latest/devicetree/overlay-notes.html

We use these for the riser cards on the LS1028A-QDS boards.

https://source.codeaurora.org/external/qoriq/qoriq-components/linux/tree/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-13bb.dts?h=LSDK-20.12-V5.4

They are included as usual in a U-Boot ITB file:

/ {
images {
/* Base DTB */
ls1028aqds-dtb {
description = "ls1028aqds-dtb";
data = /incbin/("arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dtb");
type = "flat_dt";
arch = "arm64";
os = "linux";
compression = "none";
load = <0x90000000>;
hash@1 {
algo = "crc32";
};
};
/* Overlay */
fdt@ls1028aqds-13bb {
description = "ls1028aqds-13bb";
data = /incbin/("arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-13bb.dtb");
type = "flat_dt";
arch = "arm64";
load = <0x90010000>;
};
};
};

In U-Boot, you apply the overlay as following:

tftp $kernel_addr_r boot.itb && bootm $kernel_addr_r#ls1028aqds#ls1028aqds-13bb

It would have been nice to have a similar device tree overlay that
changes the DSA master from eno2 to eno3, and for that overlay to be
able to be applied (or not) from U-Boot.

But it's _not_ possible, because you cannot put the /delete-property/
(that you need to have) in the .dtbo file. Or if you put it, it will not
delete the property from the base dtb.

That's all I said.