[PATCH] arm64: dts: imx8dxl-ss-conn: Disable USB3 nodes

Alexander Dahl posted 1 patch 4 months ago
There is a newer version of this series
arch/arm64/boot/dts/freescale/imx8dxl-ss-conn.dtsi | 2 ++
1 file changed, 2 insertions(+)
[PATCH] arm64: dts: imx8dxl-ss-conn: Disable USB3 nodes
Posted by Alexander Dahl 4 months ago
The i.MX 8DualXLite/8SoloXLite has a different connectivity memory map
than the generic i.MX8 has.  One conflicting resource is usb, where the
imx8dxl has a second usb2 phy @5b110000, while the generic imx8 dtsi has
one usb2 phy and one usb3 phy, and the usb3otg @5b110000.  When
including both imx8dxl-ss-conn.dtsi and imx8-ss-conn.dtsi as done in
imx8dxl.dtsi this leads to a duplicate unit-address warning.

The usb3otg node was introduced after the initial imx8dxl support with
commit a8bd7f155126 ("arm64: dts: imx8qxp: add cadence usb3 support")
and since then leads to warnings like this (when building with ptxdist):

    CPP generic/platform-v8a/build-target/linux-6.12/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts
    DTC generic/platform-v8a/packages/linux-6.12/boot/imx8dxl-evk.dtb
    /home/adahl/Work/bsp/thorsis/generic/platform-v8a/build-target/linux-6.12/arch/arm64/boot/dts/freescale/imx8-ss-conn.dtsi:148.24-182.4: Warning (unique_unit_address): /bus@5b000000/usb@5b110000: duplicate unit-address (also used in node /bus@5b000000/usbphy@5b110000)

Signed-off-by: Alexander Dahl <ada@thorsis.com>
---
 arch/arm64/boot/dts/freescale/imx8dxl-ss-conn.dtsi | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx8dxl-ss-conn.dtsi b/arch/arm64/boot/dts/freescale/imx8dxl-ss-conn.dtsi
index 9b114bed084b..a66ba6d0a8c0 100644
--- a/arch/arm64/boot/dts/freescale/imx8dxl-ss-conn.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8dxl-ss-conn.dtsi
@@ -5,6 +5,8 @@
 
 /delete-node/ &enet1_lpcg;
 /delete-node/ &fec2;
+/delete-node/ &usbotg3;
+/delete-node/ &usb3_phy;
 
 / {
 	conn_enet0_root_clk: clock-conn-enet0-root {

base-commit: 19272b37aa4f83ca52bdf9c16d5d81bdd1354494
-- 
2.39.5
Re: [PATCH] arm64: dts: imx8dxl-ss-conn: Disable USB3 nodes
Posted by Frank Li 4 months ago
On Tue, Jun 10, 2025 at 08:07:56AM +0200, Alexander Dahl wrote:
> The i.MX 8DualXLite/8SoloXLite has a different connectivity memory map
> than the generic i.MX8 has.  One conflicting resource is usb, where the
> imx8dxl has a second usb2 phy @5b110000, while the generic imx8 dtsi has
> one usb2 phy and one usb3 phy, and the usb3otg @5b110000.  When
> including both imx8dxl-ss-conn.dtsi and imx8-ss-conn.dtsi as done in
> imx8dxl.dtsi this leads to a duplicate unit-address warning.
>
> The usb3otg node was introduced after the initial imx8dxl support with
> commit a8bd7f155126 ("arm64: dts: imx8qxp: add cadence usb3 support")
> and since then leads to warnings like this (when building with ptxdist):
>
>     CPP generic/platform-v8a/build-target/linux-6.12/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts
>     DTC generic/platform-v8a/packages/linux-6.12/boot/imx8dxl-evk.dtb
>     /home/adahl/Work/bsp/thorsis/generic/platform-v8a/build-target/linux-6.12/arch/arm64/boot/dts/freescale/imx8-ss-conn.dtsi:148.24-182.4: Warning (unique_unit_address): /bus@5b000000/usb@5b110000: duplicate unit-address (also used in node /bus@5b000000/usbphy@5b110000)

why linux-6.12? maybe just your directory name. trim down
"generic/platform-v8a/build-target/linux-6.12/" just keep kernel's related
patch here.

what command do you use? I have not met this warning.

Frank
>
> Signed-off-by: Alexander Dahl <ada@thorsis.com>
> ---
>  arch/arm64/boot/dts/freescale/imx8dxl-ss-conn.dtsi | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx8dxl-ss-conn.dtsi b/arch/arm64/boot/dts/freescale/imx8dxl-ss-conn.dtsi
> index 9b114bed084b..a66ba6d0a8c0 100644
> --- a/arch/arm64/boot/dts/freescale/imx8dxl-ss-conn.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx8dxl-ss-conn.dtsi
> @@ -5,6 +5,8 @@
>
>  /delete-node/ &enet1_lpcg;
>  /delete-node/ &fec2;
> +/delete-node/ &usbotg3;
> +/delete-node/ &usb3_phy;
>
>  / {
>  	conn_enet0_root_clk: clock-conn-enet0-root {
>
> base-commit: 19272b37aa4f83ca52bdf9c16d5d81bdd1354494
> --
> 2.39.5
>
Re: [PATCH] arm64: dts: imx8dxl-ss-conn: Disable USB3 nodes
Posted by Alexander Dahl 4 months ago
Hello Frank,

thanks for reviewing.

Am Tue, Jun 10, 2025 at 11:34:22AM -0400 schrieb Frank Li:
> On Tue, Jun 10, 2025 at 08:07:56AM +0200, Alexander Dahl wrote:
> > The i.MX 8DualXLite/8SoloXLite has a different connectivity memory map
> > than the generic i.MX8 has.  One conflicting resource is usb, where the
> > imx8dxl has a second usb2 phy @5b110000, while the generic imx8 dtsi has
> > one usb2 phy and one usb3 phy, and the usb3otg @5b110000.  When
> > including both imx8dxl-ss-conn.dtsi and imx8-ss-conn.dtsi as done in
> > imx8dxl.dtsi this leads to a duplicate unit-address warning.
> >
> > The usb3otg node was introduced after the initial imx8dxl support with
> > commit a8bd7f155126 ("arm64: dts: imx8qxp: add cadence usb3 support")
> > and since then leads to warnings like this (when building with ptxdist):
> >
> >     CPP generic/platform-v8a/build-target/linux-6.12/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts
> >     DTC generic/platform-v8a/packages/linux-6.12/boot/imx8dxl-evk.dtb
> >     /home/adahl/Work/bsp/thorsis/generic/platform-v8a/build-target/linux-6.12/arch/arm64/boot/dts/freescale/imx8-ss-conn.dtsi:148.24-182.4: Warning (unique_unit_address): /bus@5b000000/usb@5b110000: duplicate unit-address (also used in node /bus@5b000000/usbphy@5b110000)
> 
> why linux-6.12? maybe just your directory name. trim down
> "generic/platform-v8a/build-target/linux-6.12/" just keep kernel's related
> patch here.

Yes, just my directory name.  Sorry about that.
Same happens when building recent v6.16-rc1 or master.

> what command do you use? I have not met this warning.

This is ptxdist [1] building dtb files with its own recipe, not going
through kernel's make dtbs.  I could reproduce it on a clean kernel
tree however like this (with PATH and ARCH=arm64 set):

    make defconfig
    make W=2 dtbs

Output (stripped) is this in that case:

      DTC     arch/arm64/boot/dts/freescale/imx8dxl-evk.dtb
    …/arch/arm64/boot/dts/freescale/imx8-ss-conn.dtsi:148.24-182.4: Warning (unique_unit_address): /bus@5b000000/usb@5b110000: duplicate unit-address (also used in node /bus@5b000000/usbphy@5b110000)
    …/arch/arm64/boot/dts/freescale/imx8-ss-hsio.dtsi:52.23-81.4: Warning (unique_unit_address): /bus@5f000000/pcie@5f010000: duplicate unit-address (also used in node /bus@5f000000/pcie-ep@5f010000)
      also defined at …/arch/arm64/boot/dts/freescale/imx8dxl-ss-hsio.dtsi:41.23-50.4
      also defined at …/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts:645.8-653.3

These warnings do not show up with W=1.

So why do I get this?  kernel build calls dtc with
-Wno-unique_unit_address or not depending on warning level.
ptxdist does not call dtc with that option, so those warnings are not
silenced (details for the curious at [2]).

Do we fix issues coming up with W=2?
If yes I would adapt the commit message and send a v2.

Greets
Alex

[1] https://www.ptxdist.org/
[2] https://git.pengutronix.de/cgit/ptxdist/tree/scripts/lib/ptxd_make_world_dtb.sh