Re: [PATCH] ARM: dts: DRA7x: Fix duplicate USB4 device node
From: Suman Anna
Date: Mon May 24 2021 - 11:26:39 EST
On 5/21/21 4:18 PM, Gowtham Tammana wrote:
> USB4 device node which is defined in [1] is redefined in here
> causing boot failures. Remove the duplicated entry and instead extend it
> with child node info through corresponding label reference.
>
> [1]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/dra7-l4.dtsi#n4132
Gowtham,
It is preferable to reference the commit SHA instead of line number references
like above (they will change). Please also use a Fixes: for this, so it can be
applied onto stable kernels as well.
>
> Signed-off-by: Gowtham Tammana <g-tammana@xxxxxx>
> ---
> arch/arm/boot/dts/dra74x.dtsi | 69 +++++++++++++----------------------
> 1 file changed, 25 insertions(+), 44 deletions(-)
>
> diff --git a/arch/arm/boot/dts/dra74x.dtsi b/arch/arm/boot/dts/dra74x.dtsi
> index e1850d6c841a..6410ddbf0fca 100644
> --- a/arch/arm/boot/dts/dra74x.dtsi
> +++ b/arch/arm/boot/dts/dra74x.dtsi
> @@ -49,50 +49,6 @@ dsp2_system: dsp_system@41500000 {
> reg = <0x41500000 0x100>;
> };
>
> - target-module@48940000 {
> - compatible = "ti,sysc-omap4", "ti,sysc";
> - reg = <0x48940000 0x4>,
> - <0x48940010 0x4>;
> - reg-names = "rev", "sysc";
> - ti,sysc-mask = <SYSC_OMAP4_DMADISABLE>;
> - ti,sysc-midle = <SYSC_IDLE_FORCE>,
> - <SYSC_IDLE_NO>,
> - <SYSC_IDLE_SMART>,
> - <SYSC_IDLE_SMART_WKUP>;
> - ti,sysc-sidle = <SYSC_IDLE_FORCE>,
> - <SYSC_IDLE_NO>,
> - <SYSC_IDLE_SMART>,
> - <SYSC_IDLE_SMART_WKUP>;
> - clocks = <&l3init_clkctrl DRA7_L3INIT_USB_OTG_SS4_CLKCTRL 0>;
> - clock-names = "fck";
> - #address-cells = <1>;
> - #size-cells = <1>;
> - ranges = <0x0 0x48940000 0x20000>;
> -
> - omap_dwc3_4: omap_dwc3_4@0 {
> - compatible = "ti,dwc3";
> - reg = <0 0x10000>;
> - interrupts = <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH>;
> - #address-cells = <1>;
> - #size-cells = <1>;
> - utmi-mode = <2>;
> - ranges;
> - status = "disabled";
> - usb4: usb@10000 {
> - compatible = "snps,dwc3";
> - reg = <0x10000 0x17000>;
> - interrupts = <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>,
> - <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>,
> - <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH>;
> - interrupt-names = "peripheral",
> - "host",
> - "otg";
> - maximum-speed = "high-speed";
> - dr_mode = "otg";
> - };
> - };
> - };
> -
> target-module@41501000 {
> compatible = "ti,sysc-omap2", "ti,sysc";
> reg = <0x41501000 0x4>,
> @@ -224,3 +180,28 @@ &pcie1_ep {
> &pcie2_rc {
> compatible = "ti,dra746-pcie-rc", "ti,dra7-pcie";
> };
> +
> +&usb4_tm {
> + omap_dwc3_4: omap_dwc3_4@0 {
> + compatible = "ti,dwc3";
> + reg = <0 0x10000>;
> + interrupts = <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH>;
> + #address-cells = <1>;
> + #size-cells = <1>;
> + utmi-mode = <2>;
> + ranges;
> + status = "disabled";
> + usb4: usb@10000 {
> + compatible = "snps,dwc3";
> + reg = <0x10000 0x17000>;
> + interrupts = <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH>;
> + interrupt-names = "peripheral",
> + "host",
> + "otg";
> + maximum-speed = "high-speed";
> + dr_mode = "otg";
> + };
> + };
> +};
Tony,
This can be fixed in couple of different ways, and I see there have been
different commits that have ultimately caused this.
6b14eb4705d6 ("ARM: dts: DRA7: Move USB_OTG 4 to dra74x.dtsi")
549fce068a31 ("ARM: dts: dra7: Add l4 interconnect hierarchy and ti-sysc data"
bcbb63b80284 (ARM: dts: dra7: Separate AM57 dtsi files")
c7b72abca61e ("ARM: OMAP2+: Drop legacy platform data for dra7 dwc3")
Would you prefer that we just drop the USB4 target-module reference in
dra7-l4.dtsi following the first commit?
regards
Suman