diff mbox series

[v3] ARM: dts: dra7: Fix duplicate USB4 target module node

Message ID 20210526213035.15448-1-g-tammana@ti.com
State Superseded
Headers show
Series [v3] ARM: dts: dra7: Fix duplicate USB4 target module node | expand

Commit Message

Gowtham Tammana May 26, 2021, 9:30 p.m. UTC
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, beagleboard-x15, beaglebone-ai, dra76-evm,
am574x-idk.

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>
---
v3:
  - fixed error in references to the commits
  - mentioned the boards that failed
v2:
  - https://lore.kernel.org/linux-arm-kernel/20210526172038.17542-1-g-tammana@ti.com/
  - changed reference to commit sha instead of line numbers
  - added Fixes: tag
  - moved the defintion to dra74.dtsi as per Suman and Tony review comments
v1:
  - https://lore.kernel.org/linux-arm-kernel/20210521211851.14674-1-g-tammana@ti.com/

 arch/arm/boot/dts/am5718.dtsi  |  6 +-----
 arch/arm/boot/dts/dra7-l4.dtsi | 22 ----------------------
 arch/arm/boot/dts/dra71x.dtsi  |  4 ----
 arch/arm/boot/dts/dra72x.dtsi  |  4 ----
 arch/arm/boot/dts/dra74x.dtsi  |  2 +-
 5 files changed, 2 insertions(+), 36 deletions(-)

Comments

Tony Lindgren May 27, 2021, 5:48 a.m. UTC | #1
Hi,

* Gowtham Tammana <g-tammana@ti.com> [210526 21:30]:
> diff --git a/arch/arm/boot/dts/am5718.dtsi b/arch/arm/boot/dts/am5718.dtsi

> index ebf4d3cc1cfb..6d7530a48c73 100644

> --- a/arch/arm/boot/dts/am5718.dtsi

> +++ b/arch/arm/boot/dts/am5718.dtsi

> @@ -17,17 +17,13 @@ / {

>   * VCP1, VCP2

>   * MLB

>   * ISS

> - * USB3, USB4

> + * USB3

>   */

>  

>  &usb3_tm {

>  	status = "disabled";

>  };

>  

> -&usb4_tm {

> -	status = "disabled";

> -};

> -

>  &atl_tm {

>  	status = "disabled";

>  };


The above makes sense as usb4 is only on dra74x and should not be even
available otherwise.

> diff --git a/arch/arm/boot/dts/dra7-l4.dtsi b/arch/arm/boot/dts/dra7-l4.dtsi

> index 149144cdff35..648d23f7f748 100644

> --- a/arch/arm/boot/dts/dra7-l4.dtsi

> +++ b/arch/arm/boot/dts/dra7-l4.dtsi

> @@ -4129,28 +4129,6 @@ usb3: usb@10000 {

>  			};

>  		};

>  

> -		usb4_tm: target-module@140000 {		/* 0x48940000, ap 75 3c.0 */

> -			compatible = "ti,sysc-omap4", "ti,sysc";

> -			reg = <0x140000 0x4>,

> -			      <0x140010 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>;

> -			/* Domains (P, C): l3init_pwrdm, l3init_clkdm */

> -			clocks = <&l3init_clkctrl DRA7_L3INIT_USB_OTG_SS4_CLKCTRL 0>;

> -			clock-names = "fck";

> -			#address-cells = <1>;

> -			#size-cells = <1>;

> -			ranges = <0x0 0x140000 0x20000>;

> -		};

> -


But let's keep the target-module@140000 here as it puts it in the right
location rather than directly on the ocp. Let's mark it with
status = "disabled" in dra7-l4.dtsi, and add a comment noting it's only
available on dra74x. So similar to what you had in your v1 patch, except
disabled.

> diff --git a/arch/arm/boot/dts/dra71x.dtsi b/arch/arm/boot/dts/dra71x.dtsi

> index cad0e4a2bd8d..9c270d8f75d5 100644

> --- a/arch/arm/boot/dts/dra71x.dtsi

> +++ b/arch/arm/boot/dts/dra71x.dtsi

> @@ -11,7 +11,3 @@

>  &rtctarget {

>  	status = "disabled";

>  };

> -

> -&usb4_tm {

> -	status = "disabled";

> -};

> diff --git a/arch/arm/boot/dts/dra72x.dtsi b/arch/arm/boot/dts/dra72x.dtsi

> index d403acc754b6..f3e934ef7d3e 100644

> --- a/arch/arm/boot/dts/dra72x.dtsi

> +++ b/arch/arm/boot/dts/dra72x.dtsi

> @@ -108,7 +108,3 @@ &pcie1_ep {

>  &pcie2_rc {

>  	compatible = "ti,dra726-pcie-rc", "ti,dra7-pcie";

>  };

> -

> -&usb4_tm {

> -	status = "disabled";

> -};


Then the above change can be kept.

> diff --git a/arch/arm/boot/dts/dra74x.dtsi b/arch/arm/boot/dts/dra74x.dtsi

> index e1850d6c841a..60f2ab8d34d5 100644

> --- a/arch/arm/boot/dts/dra74x.dtsi

> +++ b/arch/arm/boot/dts/dra74x.dtsi

> @@ -49,7 +49,7 @@ dsp2_system: dsp_system@41500000 {

>  			reg = <0x41500000 0x100>;

>  		};

>  

> -		target-module@48940000 {

> +		usb4_tm: target-module@48940000 {

>  			compatible = "ti,sysc-omap4", "ti,sysc";

>  			reg = <0x48940000 0x4>,

>  			      <0x48940010 0x4>;


And in dra74x.dtsi just set it enabled then :)

Other than that looks good to me.

Regards,

Tony
Grygorii Strashko May 27, 2021, 9:03 a.m. UTC | #2
Hi Tony,

On 27/05/2021 08:48, Tony Lindgren wrote:
> Hi,
> 
> * Gowtham Tammana <g-tammana@ti.com> [210526 21:30]:
>> diff --git a/arch/arm/boot/dts/am5718.dtsi b/arch/arm/boot/dts/am5718.dtsi
>> index ebf4d3cc1cfb..6d7530a48c73 100644
>> --- a/arch/arm/boot/dts/am5718.dtsi
>> +++ b/arch/arm/boot/dts/am5718.dtsi
>> @@ -17,17 +17,13 @@ / {
>>    * VCP1, VCP2
>>    * MLB
>>    * ISS
>> - * USB3, USB4
>> + * USB3
>>    */
>>   
>>   &usb3_tm {
>>   	status = "disabled";
>>   };
>>   
>> -&usb4_tm {
>> -	status = "disabled";
>> -};
>> -
>>   &atl_tm {
>>   	status = "disabled";
>>   };
> 
> The above makes sense as usb4 is only on dra74x and should not be even
> available otherwise.
> 
>> diff --git a/arch/arm/boot/dts/dra7-l4.dtsi b/arch/arm/boot/dts/dra7-l4.dtsi
>> index 149144cdff35..648d23f7f748 100644
>> --- a/arch/arm/boot/dts/dra7-l4.dtsi
>> +++ b/arch/arm/boot/dts/dra7-l4.dtsi
>> @@ -4129,28 +4129,6 @@ usb3: usb@10000 {
>>   			};
>>   		};
>>   
>> -		usb4_tm: target-module@140000 {		/* 0x48940000, ap 75 3c.0 */
>> -			compatible = "ti,sysc-omap4", "ti,sysc";
>> -			reg = <0x140000 0x4>,
>> -			      <0x140010 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>;
>> -			/* Domains (P, C): l3init_pwrdm, l3init_clkdm */
>> -			clocks = <&l3init_clkctrl DRA7_L3INIT_USB_OTG_SS4_CLKCTRL 0>;
>> -			clock-names = "fck";
>> -			#address-cells = <1>;
>> -			#size-cells = <1>;
>> -			ranges = <0x0 0x140000 0x20000>;
>> -		};
>> -
> 
> But let's keep the target-module@140000 here as it puts it in the right
> location rather than directly on the ocp. Let's mark it with
> status = "disabled" in dra7-l4.dtsi, and add a comment noting it's only
> available on dra74x. So similar to what you had in your v1 patch, except
> disabled.

My preference would be not to mix SoC variant specific modules in common module,
and fix dra74x instead by placing usb4 node in proper place:

&l4_per3 {						/* 0x48800000 */
	segment@0 {	
-->

> 
>> diff --git a/arch/arm/boot/dts/dra71x.dtsi b/arch/arm/boot/dts/dra71x.dtsi
>> index cad0e4a2bd8d..9c270d8f75d5 100644
>> --- a/arch/arm/boot/dts/dra71x.dtsi
>> +++ b/arch/arm/boot/dts/dra71x.dtsi
>> @@ -11,7 +11,3 @@
>>   &rtctarget {
>>   	status = "disabled";
>>   };
>> -
>> -&usb4_tm {
>> -	status = "disabled";
>> -};
>> diff --git a/arch/arm/boot/dts/dra72x.dtsi b/arch/arm/boot/dts/dra72x.dtsi
>> index d403acc754b6..f3e934ef7d3e 100644
>> --- a/arch/arm/boot/dts/dra72x.dtsi
>> +++ b/arch/arm/boot/dts/dra72x.dtsi
>> @@ -108,7 +108,3 @@ &pcie1_ep {
>>   &pcie2_rc {
>>   	compatible = "ti,dra726-pcie-rc", "ti,dra7-pcie";
>>   };
>> -
>> -&usb4_tm {
>> -	status = "disabled";
>> -};
> 
> Then the above change can be kept.
> 
>> diff --git a/arch/arm/boot/dts/dra74x.dtsi b/arch/arm/boot/dts/dra74x.dtsi
>> index e1850d6c841a..60f2ab8d34d5 100644
>> --- a/arch/arm/boot/dts/dra74x.dtsi
>> +++ b/arch/arm/boot/dts/dra74x.dtsi
>> @@ -49,7 +49,7 @@ dsp2_system: dsp_system@41500000 {
>>   			reg = <0x41500000 0x100>;
>>   		};
>>   
>> -		target-module@48940000 {
>> +		usb4_tm: target-module@48940000 {
>>   			compatible = "ti,sysc-omap4", "ti,sysc";
>>   			reg = <0x48940000 0x4>,
>>   			      <0x48940010 0x4>;
> 
> And in dra74x.dtsi just set it enabled then :)
Tony Lindgren May 27, 2021, 9:09 a.m. UTC | #3
* Grygorii Strashko <grygorii.strashko@ti.com> [210527 09:03]:
> On 27/05/2021 08:48, Tony Lindgren wrote:

> > But let's keep the target-module@140000 here as it puts it in the right

> > location rather than directly on the ocp. Let's mark it with

> > status = "disabled" in dra7-l4.dtsi, and add a comment noting it's only

> > available on dra74x. So similar to what you had in your v1 patch, except

> > disabled.

> 

> My preference would be not to mix SoC variant specific modules in common module,

> and fix dra74x instead by placing usb4 node in proper place:

> 

> &l4_per3 {						/* 0x48800000 */

> 	segment@0 {	

> -->


Yeah that's even better, and leaves out status = "disabled".
Sounds good to me.

Regards,

Tony
diff mbox series

Patch

diff --git a/arch/arm/boot/dts/am5718.dtsi b/arch/arm/boot/dts/am5718.dtsi
index ebf4d3cc1cfb..6d7530a48c73 100644
--- a/arch/arm/boot/dts/am5718.dtsi
+++ b/arch/arm/boot/dts/am5718.dtsi
@@ -17,17 +17,13 @@  / {
  * VCP1, VCP2
  * MLB
  * ISS
- * USB3, USB4
+ * USB3
  */
 
 &usb3_tm {
 	status = "disabled";
 };
 
-&usb4_tm {
-	status = "disabled";
-};
-
 &atl_tm {
 	status = "disabled";
 };
diff --git a/arch/arm/boot/dts/dra7-l4.dtsi b/arch/arm/boot/dts/dra7-l4.dtsi
index 149144cdff35..648d23f7f748 100644
--- a/arch/arm/boot/dts/dra7-l4.dtsi
+++ b/arch/arm/boot/dts/dra7-l4.dtsi
@@ -4129,28 +4129,6 @@  usb3: usb@10000 {
 			};
 		};
 
-		usb4_tm: target-module@140000 {		/* 0x48940000, ap 75 3c.0 */
-			compatible = "ti,sysc-omap4", "ti,sysc";
-			reg = <0x140000 0x4>,
-			      <0x140010 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>;
-			/* Domains (P, C): l3init_pwrdm, l3init_clkdm */
-			clocks = <&l3init_clkctrl DRA7_L3INIT_USB_OTG_SS4_CLKCTRL 0>;
-			clock-names = "fck";
-			#address-cells = <1>;
-			#size-cells = <1>;
-			ranges = <0x0 0x140000 0x20000>;
-		};
-
 		target-module@170000 {			/* 0x48970000, ap 21 0a.0 */
 			compatible = "ti,sysc-omap4", "ti,sysc";
 			reg = <0x170010 0x4>;
diff --git a/arch/arm/boot/dts/dra71x.dtsi b/arch/arm/boot/dts/dra71x.dtsi
index cad0e4a2bd8d..9c270d8f75d5 100644
--- a/arch/arm/boot/dts/dra71x.dtsi
+++ b/arch/arm/boot/dts/dra71x.dtsi
@@ -11,7 +11,3 @@ 
 &rtctarget {
 	status = "disabled";
 };
-
-&usb4_tm {
-	status = "disabled";
-};
diff --git a/arch/arm/boot/dts/dra72x.dtsi b/arch/arm/boot/dts/dra72x.dtsi
index d403acc754b6..f3e934ef7d3e 100644
--- a/arch/arm/boot/dts/dra72x.dtsi
+++ b/arch/arm/boot/dts/dra72x.dtsi
@@ -108,7 +108,3 @@  &pcie1_ep {
 &pcie2_rc {
 	compatible = "ti,dra726-pcie-rc", "ti,dra7-pcie";
 };
-
-&usb4_tm {
-	status = "disabled";
-};
diff --git a/arch/arm/boot/dts/dra74x.dtsi b/arch/arm/boot/dts/dra74x.dtsi
index e1850d6c841a..60f2ab8d34d5 100644
--- a/arch/arm/boot/dts/dra74x.dtsi
+++ b/arch/arm/boot/dts/dra74x.dtsi
@@ -49,7 +49,7 @@  dsp2_system: dsp_system@41500000 {
 			reg = <0x41500000 0x100>;
 		};
 
-		target-module@48940000 {
+		usb4_tm: target-module@48940000 {
 			compatible = "ti,sysc-omap4", "ti,sysc";
 			reg = <0x48940000 0x4>,
 			      <0x48940010 0x4>;