[PATCH v2 1/2] arm64: dts: imx94: add USB nodes

Frank Li Frank.li at nxp.com
Fri Mar 6 11:19:54 PST 2026


On Fri, Mar 06, 2026 at 06:28:36PM +0800, Xu Yang wrote:
> add USB2.0, USB3.0 controller and USB phy nodes.
>
> Signed-off-by: Xu Yang <xu.yang_2 at nxp.com>
>
> ---
> Changes in v2:
>  - move usbphynop behind of clock-sai4-mclk1
> ---
>  arch/arm64/boot/dts/freescale/imx94.dtsi | 61 ++++++++++++++++++++++++
>  1 file changed, 61 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx94.dtsi b/arch/arm64/boot/dts/freescale/imx94.dtsi
> index d2f31c8caf6e..2a367764f7fe 100644
> --- a/arch/arm64/boot/dts/freescale/imx94.dtsi
> +++ b/arch/arm64/boot/dts/freescale/imx94.dtsi
> @@ -66,6 +66,13 @@ sai4_mclk: clock-sai4-mclk1 {
>  		clock-output-names = "sai4_mclk";
>  	};
>
> +	usbphynop: usbphynop {
> +		compatible = "usb-nop-xceiv";
> +		clocks = <&scmi_clk IMX94_CLK_HSIO>;
> +		clock-names = "main_clk";
> +		#phy-cells = <0>;
> +	};
> +

Sorry, position still wrong, please order by node name usbphynop,

before, interrupt-controller's pos is wrong,

no @hex at first, order by node name.
have @hex at last, order by hex value.

gic: interrupt-controller at 48000000

Frank

>  	firmware {
>  		scmi {
>  			compatible = "arm,scmi";
> @@ -1223,6 +1230,60 @@ wdog3: watchdog at 49220000 {
>  			};
>  		};
>
> +		usb3: usb at 4c100000 {
> +			compatible = "nxp,imx94-dwc3", "nxp,imx8mp-dwc3";
> +			reg = <0x0 0x4c100000 0x0 0x10000>,
> +			      <0x0 0x4c010010 0x0 0x04>,
> +			      <0x0 0x4c1f0000 0x0 0x20>;
> +			reg-names = "core", "blkctl", "glue";
> +			clocks = <&scmi_clk IMX94_CLK_HSIO>,
> +				 <&scmi_clk IMX94_CLK_HSIO>,
> +				 <&scmi_clk IMX94_CLK_24M>,
> +				 <&scmi_clk IMX94_CLK_32K>;
> +			clock-names = "hsio", "bus_early", "ref", "suspend";
> +			interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>,
> +				     <GIC_SPI 386 IRQ_TYPE_LEVEL_HIGH>;
> +			interrupt-names = "dwc_usb3", "wakeup";
> +			power-domains = <&scmi_devpd IMX94_PD_HSIO_TOP>;
> +			phys = <&usb3_phy>, <&usb3_phy>;
> +			phy-names = "usb2-phy", "usb3-phy";
> +			snps,gfladj-refclk-lpm-sel-quirk;
> +			snps,parkmode-disable-ss-quirk;
> +			status = "disabled";
> +		};
> +
> +		usb3_phy: phy at 4c1f0040 {
> +			compatible = "fsl,imx95-usb-phy", "fsl,imx8mp-usb-phy";
> +			reg = <0x0 0x4c1f0040 0x0 0x40>,
> +			      <0x0 0x4c1fc000 0x0 0x100>;
> +			clocks = <&scmi_clk IMX94_CLK_HSIO>;
> +			clock-names = "phy";
> +			#phy-cells = <0>;
> +			power-domains = <&scmi_devpd IMX94_PD_HSIO_TOP>;
> +			status = "disabled";
> +		};
> +
> +		usb2: usb at 4c200000 {
> +			compatible = "fsl,imx95-usb", "fsl,imx7d-usb", "fsl,imx27-usb";
> +			reg = <0x0 0x4c200000 0x0 0x200>;
> +			interrupts = <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>,
> +				     <GIC_SPI 387 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&scmi_clk IMX94_CLK_HSIO>,
> +				 <&scmi_clk IMX94_CLK_32K>;
> +			clock-names = "usb_ctrl_root", "usb_wakeup";
> +			power-domains = <&scmi_devpd IMX94_PD_HSIO_TOP>;
> +			phys = <&usbphynop>;
> +			fsl,usbmisc = <&usbmisc 0>;
> +			status = "disabled";
> +		};
> +
> +		usbmisc: usbmisc at 4c200200 {
> +			compatible = "fsl,imx95-usbmisc", "fsl,imx7d-usbmisc", "fsl,imx6q-usbmisc";
> +			reg = <0x0 0x4c200200 0x0 0x200>,
> +			      <0x0 0x4c010014 0x0 0x04>;
> +			#index-cells = <1>;
> +		};
> +
>  		netc_blk_ctrl: system-controller at 4ceb0000 {
>  			compatible = "nxp,imx94-netc-blk-ctrl";
>  			reg = <0x0 0x4ceb0000 0x0 0x10000>,
> --
> 2.34.1
>



More information about the linux-arm-kernel mailing list