* [PATCH v3 1/2] arm64: dts: imx94: add USB nodes
@ 2026-03-09 10:08 Xu Yang
2026-03-09 10:08 ` [PATCH v3 2/2] arm64: dts: imx943-evk: add Type-C and USB related nodes Xu Yang
2026-03-13 16:23 ` [PATCH v3 1/2] arm64: dts: imx94: add USB nodes Frank Li
0 siblings, 2 replies; 3+ messages in thread
From: Xu Yang @ 2026-03-09 10:08 UTC (permalink / raw)
To: robh, krzk+dt, conor+dt, Frank.Li, s.hauer, kernel, festevam
Cc: devicetree, imx, linux-arm-kernel, linux-kernel, jun.li
add USB2.0, USB3.0 controller and USB phy nodes.
Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
---
Changes in v2:
- move usbphynop behind of clock-sai4-mclk1
Changes in v3:
- move usbphynop ahead of interrupt-controller
---
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..38488147a3ef 100644
--- a/arch/arm64/boot/dts/freescale/imx94.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx94.dtsi
@@ -139,6 +139,13 @@ timer {
arm,no-tick-in-suspend;
};
+ usbphynop: usbphynop {
+ compatible = "usb-nop-xceiv";
+ clocks = <&scmi_clk IMX94_CLK_HSIO>;
+ clock-names = "main_clk";
+ #phy-cells = <0>;
+ };
+
gic: interrupt-controller@48000000 {
compatible = "arm,gic-v3";
reg = <0 0x48000000 0 0x10000>,
@@ -1223,6 +1230,60 @@ wdog3: watchdog@49220000 {
};
};
+ usb3: usb@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@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@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@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@4ceb0000 {
compatible = "nxp,imx94-netc-blk-ctrl";
reg = <0x0 0x4ceb0000 0x0 0x10000>,
--
2.34.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH v3 2/2] arm64: dts: imx943-evk: add Type-C and USB related nodes
2026-03-09 10:08 [PATCH v3 1/2] arm64: dts: imx94: add USB nodes Xu Yang
@ 2026-03-09 10:08 ` Xu Yang
2026-03-13 16:23 ` [PATCH v3 1/2] arm64: dts: imx94: add USB nodes Frank Li
1 sibling, 0 replies; 3+ messages in thread
From: Xu Yang @ 2026-03-09 10:08 UTC (permalink / raw)
To: robh, krzk+dt, conor+dt, Frank.Li, s.hauer, kernel, festevam
Cc: devicetree, imx, linux-arm-kernel, linux-kernel, jun.li
Add Type-C and USB related nodes. There are two Type-C ports, one is USB2
only and another is USB3.
Signed-off-by: Xu Yang <xu.yang_2@nxp.com>
---
Changes in v2:
- improve commit message
- add missing ptn5150 node
Changes in v3:
- no changes
---
arch/arm64/boot/dts/freescale/imx943-evk.dts | 100 +++++++++++++++++++
1 file changed, 100 insertions(+)
diff --git a/arch/arm64/boot/dts/freescale/imx943-evk.dts b/arch/arm64/boot/dts/freescale/imx943-evk.dts
index c8ceabe3d923..0e2da43f9d62 100644
--- a/arch/arm64/boot/dts/freescale/imx943-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx943-evk.dts
@@ -6,6 +6,7 @@
/dts-v1/;
#include "imx943.dtsi"
+#include <dt-bindings/usb/pd.h>
/ {
compatible = "fsl,imx943-evk", "fsl,imx94";
@@ -230,6 +231,48 @@ pca9670_i2c3: gpio@23 {
gpio-controller;
};
+ ptn5110: tcpc@50 {
+ compatible = "nxp,ptn5110", "tcpci";
+ reg = <0x50>;
+ interrupt-parent = <&gpio3>;
+ interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_typec>;
+
+ typec_con: connector {
+ compatible = "usb-c-connector";
+ label = "USB-C";
+ power-role = "dual";
+ data-role = "dual";
+ try-power-role = "sink";
+ source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
+ sink-pdos = <PDO_FIXED(5000, 0, PDO_FIXED_USB_COMM)>;
+ op-sink-microwatt = <0>;
+ self-powered;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ typec_con_hs: endpoint {
+ remote-endpoint = <&usb3_data_hs>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ typec_con_ss: endpoint {
+ remote-endpoint = <&usb3_data_ss>;
+ };
+ };
+ };
+ };
+ };
+
pca9548_i2c3: i2c-mux@77 {
compatible = "nxp,pca9548";
reg = <0x77>;
@@ -286,6 +329,14 @@ wm8962: codec@1a {
SPKVDD1-supply = <®_audio_pwr>;
SPKVDD2-supply = <®_audio_pwr>;
};
+
+ ptn5150: tcpc@3d {
+ compatible = "nxp,ptn5150";
+ reg = <0x3d>;
+ interrupt-parent = <&pcal6408_i2c3_u172>;
+ interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
+ status = "disabled";
+ };
};
i2c@5 {
@@ -680,6 +731,12 @@ IMX94_PAD_GPIO_IO47__SAI3_TX_DATA0 0x31e
>;
};
+ pinctrl_typec: typecgrp {
+ fsl,pins = <
+ IMX94_PAD_GPIO_IO44__GPIO3_IO12 0x30e
+ >;
+ };
+
pinctrl_uart1: uart1grp {
fsl,pins = <
IMX94_PAD_UART1_TXD__LPUART1_TX 0x31e
@@ -821,6 +878,49 @@ IMX94_PAD_XSPI1_DQS__XSPI1_A_DQS 0x3fe
};
};
+&usb2 {
+ dr_mode = "otg";
+ disable-over-current;
+ adp-disable;
+ hnp-disable;
+ srp-disable;
+ samsung,picophy-dc-vol-level-adjust = <10>;
+ status = "okay";
+};
+
+&usb3 {
+ dr_mode = "otg";
+ adp-disable;
+ hnp-disable;
+ srp-disable;
+ usb-role-switch;
+ snps,dis-u1-entry-quirk;
+ snps,dis-u2-entry-quirk;
+ status = "okay";
+
+ port {
+ usb3_data_hs: endpoint {
+ remote-endpoint = <&typec_con_hs>;
+ };
+ };
+};
+
+&usb3_phy {
+ fsl,phy-pcs-tx-deemph-3p5db-attenuation-db = <17>;
+ fsl,phy-pcs-tx-swing-full-percent = <100>;
+ fsl,phy-tx-preemp-amp-tune-microamp = <600>;
+ fsl,phy-tx-vboost-level-microvolt = <1156>;
+ fsl,phy-tx-vref-tune-percent = <100>;
+ orientation-switch;
+ status = "okay";
+
+ port {
+ usb3_data_ss: endpoint {
+ remote-endpoint = <&typec_con_ss>;
+ };
+ };
+};
+
&usdhc1 {
pinctrl-0 = <&pinctrl_usdhc1>;
pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
--
2.34.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v3 1/2] arm64: dts: imx94: add USB nodes
2026-03-09 10:08 [PATCH v3 1/2] arm64: dts: imx94: add USB nodes Xu Yang
2026-03-09 10:08 ` [PATCH v3 2/2] arm64: dts: imx943-evk: add Type-C and USB related nodes Xu Yang
@ 2026-03-13 16:23 ` Frank Li
1 sibling, 0 replies; 3+ messages in thread
From: Frank Li @ 2026-03-13 16:23 UTC (permalink / raw)
To: robh, krzk+dt, conor+dt, s.hauer, kernel, festevam, Xu Yang
Cc: Frank Li, devicetree, imx, linux-arm-kernel, linux-kernel, jun.li
On Mon, 09 Mar 2026 18:08:06 +0800, Xu Yang wrote:
> add USB2.0, USB3.0 controller and USB phy nodes.
>
>
Applied, thanks!
[1/2] arm64: dts: imx94: add USB nodes
commit: fa65387eb60afc58f2566e71bf4aa60785157e95
[2/2] arm64: dts: imx943-evk: add Type-C and USB related nodes
commit: 7f8e49b258acea68c5c31e41a44682eb9cb403d2
Move property orientation-switch before fsl,* in &usb3_phy
Best regards,
--
Frank Li <Frank.Li@nxp.com>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-03-13 16:23 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-09 10:08 [PATCH v3 1/2] arm64: dts: imx94: add USB nodes Xu Yang
2026-03-09 10:08 ` [PATCH v3 2/2] arm64: dts: imx943-evk: add Type-C and USB related nodes Xu Yang
2026-03-13 16:23 ` [PATCH v3 1/2] arm64: dts: imx94: add USB nodes Frank Li
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox