Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: dra7: Fix duplicate USB4 target module node

With [1] USB4 target-module node got defined in dra74x.dtsi file.
However, the earlier definition in [2] was not removed, and this
duplication of the target module is causing boot failure on dra74
variant boards - dra7-evm, dra76-evm.

USB4 is only present in DRA74x variants, so keeping the entry in
dra74x.dtsi and removing it from the top level interconnect hierarchy
dra7-l4.dtsi file. This change makes the USB4 target module no longer
visible to AM5718, DRA71x and DRA72x so removing references to it in
their respective dts files.

[1]: commit c7b72abca61ec ("ARM: OMAP2+: Drop legacy platform data for
dra7 dwc3")
[2]: commit 549fce068a311 ("ARM: dts: dra7: Add l4 interconnect
hierarchy and ti-sysc data")

Fixes: c7b72abca61ec ("ARM: OMAP2+: Drop legacy platform data for dra7 dwc3")
Signed-off-by: Gowtham Tammana <g-tammana@ti.com>
Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>

authored by

Gowtham Tammana and committed by
Tony Lindgren
78b4b165 bae989c4

+50 -78
+1 -5
arch/arm/boot/dts/am5718.dtsi
··· 17 17 * VCP1, VCP2 18 18 * MLB 19 19 * ISS 20 - * USB3, USB4 20 + * USB3 21 21 */ 22 22 23 23 &usb3_tm { 24 - status = "disabled"; 25 - }; 26 - 27 - &usb4_tm { 28 24 status = "disabled"; 29 25 }; 30 26
-22
arch/arm/boot/dts/dra7-l4.dtsi
··· 4129 4129 }; 4130 4130 }; 4131 4131 4132 - usb4_tm: target-module@140000 { /* 0x48940000, ap 75 3c.0 */ 4133 - compatible = "ti,sysc-omap4", "ti,sysc"; 4134 - reg = <0x140000 0x4>, 4135 - <0x140010 0x4>; 4136 - reg-names = "rev", "sysc"; 4137 - ti,sysc-mask = <SYSC_OMAP4_DMADISABLE>; 4138 - ti,sysc-midle = <SYSC_IDLE_FORCE>, 4139 - <SYSC_IDLE_NO>, 4140 - <SYSC_IDLE_SMART>, 4141 - <SYSC_IDLE_SMART_WKUP>; 4142 - ti,sysc-sidle = <SYSC_IDLE_FORCE>, 4143 - <SYSC_IDLE_NO>, 4144 - <SYSC_IDLE_SMART>, 4145 - <SYSC_IDLE_SMART_WKUP>; 4146 - /* Domains (P, C): l3init_pwrdm, l3init_clkdm */ 4147 - clocks = <&l3init_clkctrl DRA7_L3INIT_USB_OTG_SS4_CLKCTRL 0>; 4148 - clock-names = "fck"; 4149 - #address-cells = <1>; 4150 - #size-cells = <1>; 4151 - ranges = <0x0 0x140000 0x20000>; 4152 - }; 4153 - 4154 4132 target-module@170000 { /* 0x48970000, ap 21 0a.0 */ 4155 4133 compatible = "ti,sysc-omap4", "ti,sysc"; 4156 4134 reg = <0x170010 0x4>;
-4
arch/arm/boot/dts/dra71x.dtsi
··· 11 11 &rtctarget { 12 12 status = "disabled"; 13 13 }; 14 - 15 - &usb4_tm { 16 - status = "disabled"; 17 - };
-4
arch/arm/boot/dts/dra72x.dtsi
··· 108 108 &pcie2_rc { 109 109 compatible = "ti,dra726-pcie-rc", "ti,dra7-pcie"; 110 110 }; 111 - 112 - &usb4_tm { 113 - status = "disabled"; 114 - };
+49 -43
arch/arm/boot/dts/dra74x.dtsi
··· 49 49 reg = <0x41500000 0x100>; 50 50 }; 51 51 52 - target-module@48940000 { 53 - compatible = "ti,sysc-omap4", "ti,sysc"; 54 - reg = <0x48940000 0x4>, 55 - <0x48940010 0x4>; 56 - reg-names = "rev", "sysc"; 57 - ti,sysc-mask = <SYSC_OMAP4_DMADISABLE>; 58 - ti,sysc-midle = <SYSC_IDLE_FORCE>, 59 - <SYSC_IDLE_NO>, 60 - <SYSC_IDLE_SMART>, 61 - <SYSC_IDLE_SMART_WKUP>; 62 - ti,sysc-sidle = <SYSC_IDLE_FORCE>, 63 - <SYSC_IDLE_NO>, 64 - <SYSC_IDLE_SMART>, 65 - <SYSC_IDLE_SMART_WKUP>; 66 - clocks = <&l3init_clkctrl DRA7_L3INIT_USB_OTG_SS4_CLKCTRL 0>; 67 - clock-names = "fck"; 68 - #address-cells = <1>; 69 - #size-cells = <1>; 70 - ranges = <0x0 0x48940000 0x20000>; 71 - 72 - omap_dwc3_4: omap_dwc3_4@0 { 73 - compatible = "ti,dwc3"; 74 - reg = <0 0x10000>; 75 - interrupts = <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH>; 76 - #address-cells = <1>; 77 - #size-cells = <1>; 78 - utmi-mode = <2>; 79 - ranges; 80 - status = "disabled"; 81 - usb4: usb@10000 { 82 - compatible = "snps,dwc3"; 83 - reg = <0x10000 0x17000>; 84 - interrupts = <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>, 85 - <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>, 86 - <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH>; 87 - interrupt-names = "peripheral", 88 - "host", 89 - "otg"; 90 - maximum-speed = "high-speed"; 91 - dr_mode = "otg"; 92 - }; 93 - }; 94 - }; 95 52 96 53 target-module@41501000 { 97 54 compatible = "ti,sysc-omap2", "ti,sysc"; ··· 180 223 181 224 &pcie2_rc { 182 225 compatible = "ti,dra746-pcie-rc", "ti,dra7-pcie"; 226 + }; 227 + 228 + &l4_per3 { 229 + segment@0 { 230 + usb4_tm: target-module@140000 { /* 0x48940000, ap 75 3c.0 */ 231 + compatible = "ti,sysc-omap4", "ti,sysc"; 232 + reg = <0x140000 0x4>, 233 + <0x140010 0x4>; 234 + reg-names = "rev", "sysc"; 235 + ti,sysc-mask = <SYSC_OMAP4_DMADISABLE>; 236 + ti,sysc-midle = <SYSC_IDLE_FORCE>, 237 + <SYSC_IDLE_NO>, 238 + <SYSC_IDLE_SMART>, 239 + <SYSC_IDLE_SMART_WKUP>; 240 + ti,sysc-sidle = <SYSC_IDLE_FORCE>, 241 + <SYSC_IDLE_NO>, 242 + <SYSC_IDLE_SMART>, 243 + <SYSC_IDLE_SMART_WKUP>; 244 + /* Domains (P, C): l3init_pwrdm, l3init_clkdm */ 245 + clocks = <&l3init_clkctrl DRA7_L3INIT_USB_OTG_SS4_CLKCTRL 0>; 246 + clock-names = "fck"; 247 + #address-cells = <1>; 248 + #size-cells = <1>; 249 + ranges = <0x0 0x140000 0x20000>; 250 + 251 + omap_dwc3_4: omap_dwc3_4@0 { 252 + compatible = "ti,dwc3"; 253 + reg = <0 0x10000>; 254 + interrupts = <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH>; 255 + #address-cells = <1>; 256 + #size-cells = <1>; 257 + utmi-mode = <2>; 258 + ranges; 259 + status = "disabled"; 260 + usb4: usb@10000 { 261 + compatible = "snps,dwc3"; 262 + reg = <0x10000 0x17000>; 263 + interrupts = <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>, 264 + <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>, 265 + <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH>; 266 + interrupt-names = "peripheral", 267 + "host", 268 + "otg"; 269 + maximum-speed = "high-speed"; 270 + dr_mode = "otg"; 271 + }; 272 + }; 273 + }; 274 + }; 183 275 };