]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
arm64: dts: imx943-evk: add Type-C and USB related nodes
authorXu Yang <xu.yang_2@nxp.com>
Mon, 9 Mar 2026 10:08:07 +0000 (18:08 +0800)
committerFrank Li <Frank.Li@nxp.com>
Fri, 27 Mar 2026 13:52:17 +0000 (09:52 -0400)
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>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
arch/arm64/boot/dts/freescale/imx943-evk.dts

index c8ceabe3d92399cd9eaf91b8ce373cd6a5f3aace..1d834379f602dea9eb70381f6fe2ef6e3c938a80 100644 (file)
@@ -6,6 +6,7 @@
 /dts-v1/;
 
 #include "imx943.dtsi"
+#include <dt-bindings/usb/pd.h>
 
 / {
        compatible = "fsl,imx943-evk", "fsl,imx94";
                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>;
                                SPKVDD1-supply = <&reg_audio_pwr>;
                                SPKVDD2-supply = <&reg_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 {
                >;
        };
 
+       pinctrl_typec: typecgrp {
+               fsl,pins = <
+                       IMX94_PAD_GPIO_IO44__GPIO3_IO12         0x30e
+               >;
+       };
+
        pinctrl_uart1: uart1grp {
                fsl,pins = <
                        IMX94_PAD_UART1_TXD__LPUART1_TX         0x31e
        };
 };
 
+&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 {
+       orientation-switch;
+       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>;
+       status = "okay";
+
+       port {
+               usb3_data_ss: endpoint {
+                       remote-endpoint = <&typec_con_ss>;
+               };
+       };
+};
+
 &usdhc1 {
        pinctrl-0 = <&pinctrl_usdhc1>;
        pinctrl-1 = <&pinctrl_usdhc1_100mhz>;