[PATCH] ARM: dts: DRA7x: Fix duplicate USB4 device node

Suman Anna s-anna at ti.com
Mon May 24 08:24:17 PDT 2021


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 at 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 at 41500000 {
>  			reg = <0x41500000 0x100>;
>  		};
>  
> -		target-module at 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 at 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 at 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 at 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 at 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 at 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




More information about the linux-arm-kernel mailing list