diff mbox series

[v3,2/7] arm64: dts: ti: k3-j722s-main: Redefine USB1 node description

Message ID 20240524090514.152727-3-s-vadapalli@ti.com (mailing list archive)
State New, archived
Headers show
Series Add PCIe and USB device-tree support for J722S | expand

Commit Message

Siddharth Vadapalli May 24, 2024, 9:05 a.m. UTC
From: Ravi Gunasekaran <r-gunasekaran@ti.com>

USB1 controller on J722S and AM62P are from different vendors.
Redefine the USB1 node description for J722S by deleting the
node inherited from AM62P dtsi.

Signed-off-by: Ravi Gunasekaran <r-gunasekaran@ti.com>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
---
v2:
https://lore.kernel.org/r/20240513114443.16350-3-r-gunasekaran@ti.com/
No changes since v2.

v1:
https://lore.kernel.org/r/20240429120932.11456-3-r-gunasekaran@ti.com/
Changes since v1:
- The entire node which was added in k3-j722s.dtsi in v1 in now moved to
  k3-j722s-main.dtsi as USB is a main domain peripheral.
- Used generic node names - renamed "cdns-usb@f920000" to "usb@f920000".

 arch/arm64/boot/dts/ti/k3-j722s-main.dtsi | 39 +++++++++++++++++++++++
 1 file changed, 39 insertions(+)

Comments

Roger Quadros May 28, 2024, 12:15 p.m. UTC | #1
On 24/05/2024 12:05, Siddharth Vadapalli wrote:
> From: Ravi Gunasekaran <r-gunasekaran@ti.com>
> 
> USB1 controller on J722S and AM62P are from different vendors.
> Redefine the USB1 node description for J722S by deleting the
> node inherited from AM62P dtsi.
> 
> Signed-off-by: Ravi Gunasekaran <r-gunasekaran@ti.com>
> Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
> ---
> v2:
> https://lore.kernel.org/r/20240513114443.16350-3-r-gunasekaran@ti.com/
> No changes since v2.
> 
> v1:
> https://lore.kernel.org/r/20240429120932.11456-3-r-gunasekaran@ti.com/
> Changes since v1:
> - The entire node which was added in k3-j722s.dtsi in v1 in now moved to
>   k3-j722s-main.dtsi as USB is a main domain peripheral.
> - Used generic node names - renamed "cdns-usb@f920000" to "usb@f920000".
> 
>  arch/arm64/boot/dts/ti/k3-j722s-main.dtsi | 39 +++++++++++++++++++++++
>  1 file changed, 39 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/ti/k3-j722s-main.dtsi b/arch/arm64/boot/dts/ti/k3-j722s-main.dtsi
> index 0dac8f1e1291..b069cecebfd9 100644
> --- a/arch/arm64/boot/dts/ti/k3-j722s-main.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-j722s-main.dtsi
> @@ -6,6 +6,13 @@
>  
>  #include <dt-bindings/phy/phy-ti.h>
>  
> +/*
> + * USB1 controller on AM62P and J722S are of different IP.
> + * Delete AM62P's USBSS1 node definition and redefine it for J722S.
> + */
> +
> +/delete-node/ &usbss1;
> +

This is odd and indicates issues with current DT file inclusion.
We need to split out the non common IPs (e.g. USB) out of the common k3-am62p-main.dtsi file Maybe call it k3-am62-main-common.dtsi.
Only keep am62p specific stuff in k3-am62p-main.dtsi.

Include k3-am62-main-common.dtsi and k3-am62p-main.dtsi for AM62P
Include k3-am62-main-common.dtsi and k3-j722s-main.dtsi for J722S

This way you don't need to call /delete-node/

>  / {
>  	serdes_refclk: clk-0 {
>  		compatible = "fixed-clock";
> @@ -52,6 +59,38 @@ serdes0: serdes@f000000 {
>  			status = "disabled"; /* Needs lane config */
>  		};
>  	};
> +
> +	usbss1: usb@f920000 {
> +		compatible = "ti,j721e-usb";
> +		reg = <0x00 0x0f920000 0x00 0x100>;
> +		power-domains = <&k3_pds 278 TI_SCI_PD_EXCLUSIVE>;
> +		clocks = <&k3_clks 278 3>, <&k3_clks 278 1>;
> +		clock-names = "ref", "lpm";
> +		assigned-clocks = <&k3_clks 278 3>; /* USB2_REFCLK */
> +		assigned-clock-parents = <&k3_clks 278 4>; /* HF0SC0 */
> +		#address-cells = <2>;
> +		#size-cells = <2>;
> +		ranges;
> +		status = "disabled";
> +
> +		usb1: usb@31200000{
> +			compatible = "cdns,usb3";
> +			reg = <0x00 0x31200000 0x00 0x10000>,
> +			      <0x00 0x31210000 0x00 0x10000>,
> +			      <0x00 0x31220000 0x00 0x10000>;
> +			reg-names = "otg",
> +				    "xhci",
> +				    "dev";
> +			interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>, /* irq.0 */
> +				     <GIC_SPI 232 IRQ_TYPE_LEVEL_HIGH>, /* irq.6 */
> +				     <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>; /* otgirq */
> +			interrupt-names = "host",
> +					  "peripheral",
> +					  "otg";
> +			maximum-speed = "super-speed";
> +			dr_mode = "otg";
> +		};
> +	};
>  };
>  
>  &main_conf {
Siddharth Vadapalli May 28, 2024, 12:37 p.m. UTC | #2
On Tue, May 28, 2024 at 03:15:53PM +0300, Roger Quadros wrote:
> 
> 
> On 24/05/2024 12:05, Siddharth Vadapalli wrote:
> > From: Ravi Gunasekaran <r-gunasekaran@ti.com>
> > 
> > USB1 controller on J722S and AM62P are from different vendors.
> > Redefine the USB1 node description for J722S by deleting the
> > node inherited from AM62P dtsi.
> > 
> > Signed-off-by: Ravi Gunasekaran <r-gunasekaran@ti.com>
> > Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
> > ---
> > v2:
> > https://lore.kernel.org/r/20240513114443.16350-3-r-gunasekaran@ti.com/
> > No changes since v2.
> > 
> > v1:
> > https://lore.kernel.org/r/20240429120932.11456-3-r-gunasekaran@ti.com/
> > Changes since v1:
> > - The entire node which was added in k3-j722s.dtsi in v1 in now moved to
> >   k3-j722s-main.dtsi as USB is a main domain peripheral.
> > - Used generic node names - renamed "cdns-usb@f920000" to "usb@f920000".
> > 
> >  arch/arm64/boot/dts/ti/k3-j722s-main.dtsi | 39 +++++++++++++++++++++++
> >  1 file changed, 39 insertions(+)
> > 
> > diff --git a/arch/arm64/boot/dts/ti/k3-j722s-main.dtsi b/arch/arm64/boot/dts/ti/k3-j722s-main.dtsi
> > index 0dac8f1e1291..b069cecebfd9 100644
> > --- a/arch/arm64/boot/dts/ti/k3-j722s-main.dtsi
> > +++ b/arch/arm64/boot/dts/ti/k3-j722s-main.dtsi
> > @@ -6,6 +6,13 @@
> >  
> >  #include <dt-bindings/phy/phy-ti.h>
> >  
> > +/*
> > + * USB1 controller on AM62P and J722S are of different IP.
> > + * Delete AM62P's USBSS1 node definition and redefine it for J722S.
> > + */
> > +
> > +/delete-node/ &usbss1;
> > +
> 
> This is odd and indicates issues with current DT file inclusion.
> We need to split out the non common IPs (e.g. USB) out of the common k3-am62p-main.dtsi file Maybe call it k3-am62-main-common.dtsi.
> Only keep am62p specific stuff in k3-am62p-main.dtsi.
> 
> Include k3-am62-main-common.dtsi and k3-am62p-main.dtsi for AM62P
> Include k3-am62-main-common.dtsi and k3-j722s-main.dtsi for J722S
> 
> This way you don't need to call /delete-node/

Ok. I will move the common nodes between k3-am62p-main.dtsi and
k3-j722s-main.dtsi to "k3-am62p-j722s-common.dtsi".

Regards,
Siddharth.
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/ti/k3-j722s-main.dtsi b/arch/arm64/boot/dts/ti/k3-j722s-main.dtsi
index 0dac8f1e1291..b069cecebfd9 100644
--- a/arch/arm64/boot/dts/ti/k3-j722s-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j722s-main.dtsi
@@ -6,6 +6,13 @@ 
 
 #include <dt-bindings/phy/phy-ti.h>
 
+/*
+ * USB1 controller on AM62P and J722S are of different IP.
+ * Delete AM62P's USBSS1 node definition and redefine it for J722S.
+ */
+
+/delete-node/ &usbss1;
+
 / {
 	serdes_refclk: clk-0 {
 		compatible = "fixed-clock";
@@ -52,6 +59,38 @@  serdes0: serdes@f000000 {
 			status = "disabled"; /* Needs lane config */
 		};
 	};
+
+	usbss1: usb@f920000 {
+		compatible = "ti,j721e-usb";
+		reg = <0x00 0x0f920000 0x00 0x100>;
+		power-domains = <&k3_pds 278 TI_SCI_PD_EXCLUSIVE>;
+		clocks = <&k3_clks 278 3>, <&k3_clks 278 1>;
+		clock-names = "ref", "lpm";
+		assigned-clocks = <&k3_clks 278 3>; /* USB2_REFCLK */
+		assigned-clock-parents = <&k3_clks 278 4>; /* HF0SC0 */
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+		status = "disabled";
+
+		usb1: usb@31200000{
+			compatible = "cdns,usb3";
+			reg = <0x00 0x31200000 0x00 0x10000>,
+			      <0x00 0x31210000 0x00 0x10000>,
+			      <0x00 0x31220000 0x00 0x10000>;
+			reg-names = "otg",
+				    "xhci",
+				    "dev";
+			interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>, /* irq.0 */
+				     <GIC_SPI 232 IRQ_TYPE_LEVEL_HIGH>, /* irq.6 */
+				     <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>; /* otgirq */
+			interrupt-names = "host",
+					  "peripheral",
+					  "otg";
+			maximum-speed = "super-speed";
+			dr_mode = "otg";
+		};
+	};
 };
 
 &main_conf {