diff mbox series

ARM: dts: DRA7x: Fix duplicate USB4 device node

Message ID 20210521211851.14674-1-g-tammana@ti.com (mailing list archive)
State New
Headers show
Series ARM: dts: DRA7x: Fix duplicate USB4 device node | expand

Commit Message

Gowtham Tammana May 21, 2021, 9:18 p.m. UTC
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

Signed-off-by: Gowtham Tammana <g-tammana@ti.com>
---
 arch/arm/boot/dts/dra74x.dtsi | 69 +++++++++++++----------------------
 1 file changed, 25 insertions(+), 44 deletions(-)

Comments

Suman Anna May 24, 2021, 3:24 p.m. UTC | #1
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@ti.com>
> ---
>  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
Tony Lindgren May 25, 2021, 6:27 a.m. UTC | #2
* Suman Anna <s-anna@ti.com> [210524 15:24]:
> 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?

Looking at commit 549fce068a31 above, we have dra7-l4.dtsi define a module
at 0x48940000. But maybe the module is only used for dwc on dra74x?

If this controller instance is on all dra7 SoCs, then it should be in
dra7-l4.dtsi. If the controller instance is only on dra74x, it should be
only in dra74x.dtsi file.

Sorry sounds like I have confused some hardware differences along the
way.

Regards,

Tony
Gowtham Tammana May 26, 2021, 5:23 p.m. UTC | #3
>-----Original Message-----
>From: Tony Lindgren <tony@atomide.com>
>Sent: Tuesday, May 25, 2021 1:28 AM
>
>* Suman Anna <s-anna@ti.com> [210524 15:24]:
>> 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?
>
>Looking at commit 549fce068a31 above, we have dra7-l4.dtsi define a module
>at 0x48940000. But maybe the module is only used for dwc on dra74x?
>
>If this controller instance is on all dra7 SoCs, then it should be in
>dra7-l4.dtsi. If the controller instance is only on dra74x, it should be
>only in dra74x.dtsi file.
>
>Sorry sounds like I have confused some hardware differences along the
>way.

Thanks for the review. The controller instance is seen only in dra74x, pushed
a v2 based on the above suggestion.

Thanks,
Gowtham
diff mbox series

Patch

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";
+		};
+	};
+};