Message ID | 20240429120932.11456-3-r-gunasekaran@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add USB support for J722S EVM | expand |
On 4/29/24 7:09 AM, Ravi Gunasekaran wrote: > 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> > --- > arch/arm64/boot/dts/ti/k3-j722s.dtsi | 39 ++++++++++++++++++++++++++++ > 1 file changed, 39 insertions(+) > > diff --git a/arch/arm64/boot/dts/ti/k3-j722s.dtsi b/arch/arm64/boot/dts/ti/k3-j722s.dtsi > index beba5a3ea6cc..90725eeb3178 100644 > --- a/arch/arm64/boot/dts/ti/k3-j722s.dtsi > +++ b/arch/arm64/boot/dts/ti/k3-j722s.dtsi > @@ -13,6 +13,13 @@ > > #include "k3-am62p5.dtsi" > > +/* > + * USB1 controller on AM62P and J722S are of different IP. > + * Delete AM62P's USBSS1 node definition and redefine it for J722S. > + */ > + > +/delete-node/ &usbss1; > + > / { > model = "Texas Instruments K3 J722S SoC"; > compatible = "ti,j722s"; > @@ -120,6 +127,38 @@ > status = "disabled"; /* Needs lane config */ > }; > }; > + > + usbss1: cdns-usb@f920000 { MAIN domain items are defined in -main.dtsi files, for instance the USB node you are overriding was defined in k3-am62p-main.dtsi. This should go in a file named k3-j722s-main.dtsi. Andrew > + compatible = "ti,j721e-usb"; > + reg = <0x00 0x0f920000 0x00 0x100>; > + ranges; > + 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>; > + 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 domain overrides */
On 5/7/24 10:45 PM, Andrew Davis wrote: > On 4/29/24 7:09 AM, Ravi Gunasekaran wrote: >> 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> >> --- >> arch/arm64/boot/dts/ti/k3-j722s.dtsi | 39 ++++++++++++++++++++++++++++ >> 1 file changed, 39 insertions(+) >> >> diff --git a/arch/arm64/boot/dts/ti/k3-j722s.dtsi b/arch/arm64/boot/dts/ti/k3-j722s.dtsi >> index beba5a3ea6cc..90725eeb3178 100644 >> --- a/arch/arm64/boot/dts/ti/k3-j722s.dtsi >> +++ b/arch/arm64/boot/dts/ti/k3-j722s.dtsi >> @@ -13,6 +13,13 @@ >> #include "k3-am62p5.dtsi" >> +/* >> + * USB1 controller on AM62P and J722S are of different IP. >> + * Delete AM62P's USBSS1 node definition and redefine it for J722S. >> + */ >> + >> +/delete-node/ &usbss1; >> + >> / { >> model = "Texas Instruments K3 J722S SoC"; >> compatible = "ti,j722s"; >> @@ -120,6 +127,38 @@ >> status = "disabled"; /* Needs lane config */ >> }; >> }; >> + >> + usbss1: cdns-usb@f920000 { > > MAIN domain items are defined in -main.dtsi files, for instance the > USB node you are overriding was defined in k3-am62p-main.dtsi. > This should go in a file named k3-j722s-main.dtsi. > > Andrew > Ok. I will introduce k3-j722s-main.dtsi newly and define the USB and SerDes nodes there. [...]
diff --git a/arch/arm64/boot/dts/ti/k3-j722s.dtsi b/arch/arm64/boot/dts/ti/k3-j722s.dtsi index beba5a3ea6cc..90725eeb3178 100644 --- a/arch/arm64/boot/dts/ti/k3-j722s.dtsi +++ b/arch/arm64/boot/dts/ti/k3-j722s.dtsi @@ -13,6 +13,13 @@ #include "k3-am62p5.dtsi" +/* + * USB1 controller on AM62P and J722S are of different IP. + * Delete AM62P's USBSS1 node definition and redefine it for J722S. + */ + +/delete-node/ &usbss1; + / { model = "Texas Instruments K3 J722S SoC"; compatible = "ti,j722s"; @@ -120,6 +127,38 @@ status = "disabled"; /* Needs lane config */ }; }; + + usbss1: cdns-usb@f920000 { + compatible = "ti,j721e-usb"; + reg = <0x00 0x0f920000 0x00 0x100>; + ranges; + 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>; + 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 domain overrides */
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> --- arch/arm64/boot/dts/ti/k3-j722s.dtsi | 39 ++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+)