diff mbox series

[v2,1/5] arm64: dts: imx8ulp: add usb nodes

Message ID 20231218085456.3962720-1-xu.yang_2@nxp.com
State Superseded
Headers show
Series [v2,1/5] arm64: dts: imx8ulp: add usb nodes | expand

Commit Message

Xu Yang Dec. 18, 2023, 8:54 a.m. UTC
Add USB nodes on i.MX8ULP platform which has 2 USB controllers.

Signed-off-by: Xu Yang <xu.yang_2@nxp.com>

---
Changes in v2:
 - no changes
---
 arch/arm64/boot/dts/freescale/imx8ulp.dtsi | 64 ++++++++++++++++++++++
 1 file changed, 64 insertions(+)

Comments

Alexander Stein Jan. 8, 2024, 3:49 p.m. UTC | #1
Hi,

thanks for the update.

Am Montag, 18. Dezember 2023, 09:54:55 CET schrieb Xu Yang:
> There are 2 USB controllers on i.MX93. Add them.
> 
> Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
> ---
> Changes in v2:
>  - fix format as suggested by Alexander
>  - change compatible from fsl,imx8mm-usb to fsl,imx93-usb
> ---
>  arch/arm64/boot/dts/freescale/imx93.dtsi | 58 ++++++++++++++++++++++++
>  1 file changed, 58 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/freescale/imx93.dtsi
> b/arch/arm64/boot/dts/freescale/imx93.dtsi index 34c0540276d1..043ec8dc9aca
> 100644
> --- a/arch/arm64/boot/dts/freescale/imx93.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx93.dtsi
> @@ -171,6 +171,20 @@ cm33: remoteproc-cm33 {
>  		status = "disabled";
>  	};
> 
> +	usbphynop1: usbphynop1 {
> +		compatible = "usb-nop-xceiv";
> +		#phy-cells = <0>;
> +		clocks = <&clk IMX93_CLK_USB_PHY_BURUNIN>;
> +		clock-names = "main_clk";
> +	};
> +
> +	usbphynop2: usbphynop2 {
> +		compatible = "usb-nop-xceiv";
> +		#phy-cells = <0>;
> +		clocks = <&clk IMX93_CLK_USB_PHY_BURUNIN>;
> +		clock-names = "main_clk";
> +	};
> +
>  	soc@0 {
>  		compatible = "simple-bus";
>  		#address-cells = <1>;
> @@ -1059,5 +1073,49 @@ ddr-pmu@4e300dc0 {
>  			reg = <0x4e300dc0 0x200>;
>  			interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
>  		};
> +
> +		usbotg1: usb@4c100000 {
> +			compatible = "fsl,imx93-usb", "fsl,imx7d-usb", 
"fsl,imx27-usb";
> +			reg = <0x4c100000 0x200>;
> +			interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&clk IMX93_CLK_USB_CONTROLLER_GATE>,
> +				 <&clk IMX93_CLK_HSIO_32K_GATE>;
> +			clock-names = "usb_ctrl_root_clk", 
"usb_wakeup_clk";
> +			assigned-clocks = <&clk IMX93_CLK_HSIO>;
> +			assigned-clock-parents = <&clk 
IMX93_CLK_SYS_PLL_PFD1_DIV2>;
> +			assigned-clock-rates = <133000000>;
> +			fsl,usbphy = <&usbphynop1>;

fsl,usbphy is depreacated. Please refer to Documentation/devicetree/bindings/
usb/ci-hdrc-usb2.yaml

> +			fsl,usbmisc = <&usbmisc1 0>;
> +			status = "disabled";
> +		};
> +
> +		usbmisc1: usbmisc@4c100200 {
> +			compatible = "fsl,imx8mm-usbmisc", "fsl,imx7d-
usbmisc",
> +					"fsl,imx6q-usbmisc";
> +			reg = <0x4c100200 0x200>;
> +			#index-cells = <1>;
> +		};
> +
> +		usbotg2: usb@4c200000 {
> +			compatible = "fsl,imx93-usb", "fsl,imx7d-usb", 
"fsl,imx27-usb";
> +			reg = <0x4c200000 0x200>;
> +			interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&clk IMX93_CLK_USB_CONTROLLER_GATE>,
> +				 <&clk IMX93_CLK_HSIO_32K_GATE>;
> +			clock-names = "usb_ctrl_root_clk", 
"usb_wakeup_clk";
> +			assigned-clocks = <&clk IMX93_CLK_HSIO>;
> +			assigned-clock-parents = <&clk 
IMX93_CLK_SYS_PLL_PFD1_DIV2>;
> +			assigned-clock-rates = <133000000>;
> +			fsl,usbphy = <&usbphynop2>;

fsl,usbphy is depreacated. Please refer to Documentation/devicetree/bindings/
usb/ci-hdrc-usb2.yaml

> +			fsl,usbmisc = <&usbmisc2 0>;
> +			status = "disabled";
> +		};
> +
> +		usbmisc2: usbmisc@4c200200 {
> +			compatible = "fsl,imx8mm-usbmisc", "fsl,imx7d-
usbmisc",
> +					"fsl,imx6q-usbmisc";
> +			reg = <0x4c200200 0x200>;
> +			#index-cells = <1>;
> +		};

Please insert these nodes sorted by node address. It should be inserted before 
ddr-pmu.

Best regards,
Alexander

>  	};
>  };
Xu Yang Jan. 12, 2024, 10:37 a.m. UTC | #2
Hi Alexander,

Thanks for your suggestions!

>
> Hi,
>
> thanks for the update.
>
> Am Montag, 18. Dezember 2023, 09:54:55 CET schrieb Xu Yang:
> > There are 2 USB controllers on i.MX93. Add them.
> >
> > Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
> > ---
> > Changes in v2:
> >  - fix format as suggested by Alexander
> >  - change compatible from fsl,imx8mm-usb to fsl,imx93-usb
> > ---
> >  arch/arm64/boot/dts/freescale/imx93.dtsi | 58 ++++++++++++++++++++++++
> >  1 file changed, 58 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/freescale/imx93.dtsi
> > b/arch/arm64/boot/dts/freescale/imx93.dtsi index 34c0540276d1..043ec8dc9aca
> > 100644
> > --- a/arch/arm64/boot/dts/freescale/imx93.dtsi
> > +++ b/arch/arm64/boot/dts/freescale/imx93.dtsi
> > @@ -171,6 +171,20 @@ cm33: remoteproc-cm33 {
> >               status = "disabled";
> >       };
> >
> > +     usbphynop1: usbphynop1 {
> > +             compatible = "usb-nop-xceiv";
> > +             #phy-cells = <0>;
> > +             clocks = <&clk IMX93_CLK_USB_PHY_BURUNIN>;
> > +             clock-names = "main_clk";
> > +     };
> > +
> > +     usbphynop2: usbphynop2 {
> > +             compatible = "usb-nop-xceiv";
> > +             #phy-cells = <0>;
> > +             clocks = <&clk IMX93_CLK_USB_PHY_BURUNIN>;
> > +             clock-names = "main_clk";
> > +     };
> > +
> >       soc@0 {
> >               compatible = "simple-bus";
> >               #address-cells = <1>;
> > @@ -1059,5 +1073,49 @@ ddr-pmu@4e300dc0 {
> >                       reg = <0x4e300dc0 0x200>;
> >                       interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
> >               };
> > +
> > +             usbotg1: usb@4c100000 {
> > +                     compatible = "fsl,imx93-usb", "fsl,imx7d-usb",
> "fsl,imx27-usb";
> > +                     reg = <0x4c100000 0x200>;
> > +                     interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
> > +                     clocks = <&clk IMX93_CLK_USB_CONTROLLER_GATE>,
> > +                              <&clk IMX93_CLK_HSIO_32K_GATE>;
> > +                     clock-names = "usb_ctrl_root_clk",
> "usb_wakeup_clk";
> > +                     assigned-clocks = <&clk IMX93_CLK_HSIO>;
> > +                     assigned-clock-parents = <&clk
> IMX93_CLK_SYS_PLL_PFD1_DIV2>;
> > +                     assigned-clock-rates = <133000000>;
> > +                     fsl,usbphy = <&usbphynop1>;
>
> fsl,usbphy is depreacated. Please refer to Documentation/devicetree/bindings/
> usb/ci-hdrc-usb2.yaml

Will use phys.

>
> > +                     fsl,usbmisc = <&usbmisc1 0>;
> > +                     status = "disabled";
> > +             };
> > +
> > +             usbmisc1: usbmisc@4c100200 {
> > +                     compatible = "fsl,imx8mm-usbmisc", "fsl,imx7d-
> usbmisc",
> > +                                     "fsl,imx6q-usbmisc";
> > +                     reg = <0x4c100200 0x200>;
> > +                     #index-cells = <1>;
> > +             };
> > +
> > +             usbotg2: usb@4c200000 {
> > +                     compatible = "fsl,imx93-usb", "fsl,imx7d-usb",
> "fsl,imx27-usb";
> > +                     reg = <0x4c200000 0x200>;
> > +                     interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
> > +                     clocks = <&clk IMX93_CLK_USB_CONTROLLER_GATE>,
> > +                              <&clk IMX93_CLK_HSIO_32K_GATE>;
> > +                     clock-names = "usb_ctrl_root_clk",
> "usb_wakeup_clk";
> > +                     assigned-clocks = <&clk IMX93_CLK_HSIO>;
> > +                     assigned-clock-parents = <&clk
> IMX93_CLK_SYS_PLL_PFD1_DIV2>;
> > +                     assigned-clock-rates = <133000000>;
> > +                     fsl,usbphy = <&usbphynop2>;
>
> fsl,usbphy is depreacated. Please refer to Documentation/devicetree/bindings/
> usb/ci-hdrc-usb2.yaml

Will use phys.

>
> > +                     fsl,usbmisc = <&usbmisc2 0>;
> > +                     status = "disabled";
> > +             };
> > +
> > +             usbmisc2: usbmisc@4c200200 {
> > +                     compatible = "fsl,imx8mm-usbmisc", "fsl,imx7d-
> usbmisc",
> > +                                     "fsl,imx6q-usbmisc";
> > +                     reg = <0x4c200200 0x200>;
> > +                     #index-cells = <1>;
> > +             };
>
> Please insert these nodes sorted by node address. It should be inserted before
> ddr-pmu.

Yeah, will reorder this.

Thanks,
Xu Yang

>
> Best regards,
> Alexander
>
> >       };
> >  };
>
>
> --
> TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
> Amtsgericht München, HRB 105018
> Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
> http://www.tq-/
> group.com%2F&data=05%7C02%7Cxu.yang_2%40nxp.com%7Ca7515221334d4f6208d808dc10616ce0%7C686ea1d3bc2b4c6f
> a92cd99c5c301635%7C0%7C0%7C638403257827168718%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV
> 2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=14dgYcXowoHWMw9a1Snv1HxdQnXQe7RCyq0jn
> VXb710%3D&reserved=0
>
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/freescale/imx8ulp.dtsi b/arch/arm64/boot/dts/freescale/imx8ulp.dtsi
index c4a0082f30d3..ead1f57e08ef 100644
--- a/arch/arm64/boot/dts/freescale/imx8ulp.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8ulp.dtsi
@@ -28,6 +28,8 @@  aliases {
 		serial1 = &lpuart5;
 		serial2 = &lpuart6;
 		serial3 = &lpuart7;
+		usbphy0 = &usbphy1;
+		usbphy1 = &usbphy2;
 	};
 
 	cpus {
@@ -472,6 +474,68 @@  usdhc2: mmc@298f0000 {
 				status = "disabled";
 			};
 
+			usbotg1: usb@29900000 {
+				compatible = "fsl,imx8ulp-usb", "fsl,imx7ulp-usb", "fsl,imx6ul-usb";
+				reg = <0x29900000 0x200>;
+				interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&pcc4 IMX8ULP_CLK_USB0>;
+				power-domains = <&scmi_devpd IMX8ULP_PD_USB0>;
+				phys = <&usbphy1>;
+				fsl,usbmisc = <&usbmisc1 0>;
+				ahb-burst-config = <0x0>;
+				tx-burst-size-dword = <0x8>;
+				rx-burst-size-dword = <0x8>;
+				status = "disabled";
+			};
+
+			usbmisc1: usbmisc@29900200 {
+				compatible = "fsl,imx8ulp-usbmisc", "fsl,imx7d-usbmisc",
+						"fsl,imx6q-usbmisc";
+				#index-cells = <1>;
+				reg = <0x29900200 0x200>;
+				status = "disabled";
+			};
+
+			usbphy1: usb-phy@29910000 {
+				compatible = "fsl,imx8ulp-usbphy", "fsl,imx7ulp-usbphy";
+				reg = <0x29910000 0x10000>;
+				interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&pcc4 IMX8ULP_CLK_USB0_PHY>;
+				#phy-cells = <0>;
+				status = "disabled";
+			};
+
+			usbotg2: usb@29920000 {
+				compatible = "fsl,imx8ulp-usb", "fsl,imx7ulp-usb", "fsl,imx6ul-usb";
+				reg = <0x29920000 0x200>;
+				interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&pcc4 IMX8ULP_CLK_USB1>;
+				power-domains = <&scmi_devpd IMX8ULP_PD_USDHC2_USB1>;
+				phys = <&usbphy2>;
+				fsl,usbmisc = <&usbmisc2 0>;
+				ahb-burst-config = <0x0>;
+				tx-burst-size-dword = <0x8>;
+				rx-burst-size-dword = <0x8>;
+				status = "disabled";
+			};
+
+			usbmisc2: usbmisc@29920200 {
+				compatible = "fsl,imx8ulp-usbmisc", "fsl,imx7d-usbmisc",
+						"fsl,imx6q-usbmisc";
+				#index-cells = <1>;
+				reg = <0x29920200 0x200>;
+				status = "disabled";
+			};
+
+			usbphy2: usb-phy@29930000 {
+				compatible = "fsl,imx8ulp-usbphy", "fsl,imx7ulp-usbphy";
+				reg = <0x29930000 0x10000>;
+				interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
+				clocks = <&pcc4 IMX8ULP_CLK_USB1_PHY>;
+				#phy-cells = <0>;
+				status = "disabled";
+			};
+
 			fec: ethernet@29950000 {
 				compatible = "fsl,imx8ulp-fec", "fsl,imx6ul-fec", "fsl,imx6q-fec";
 				reg = <0x29950000 0x10000>;