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 |
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 {
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 --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 {