Re: [PATCH 2/2] arm64: dts: imx943-evk: add Type-C node and enable USB node
From: Frank Li
Date: Thu Mar 05 2026 - 10:49:21 EST
On Thu, Mar 05, 2026 at 03:55:27PM +0800, Xu Yang wrote:
> This board has 2 Type-C port, one has USB2 capability and another one
> has USB3 capability. This will add Type-C node and enable USB nodes.
last sentense change to:
arm64: dts: imx943-evk: add Type-C and USB related nodes.
Add Type-C and USB related nodes. There are two Type-C ports, one is USB2
only and another is USB3.
Frank
>
> Signed-off-by: Xu Yang <xu.yang_2@xxxxxxx>
> ---
> arch/arm64/boot/dts/freescale/imx943-evk.dts | 92 ++++++++++++++++++++
> 1 file changed, 92 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/imx943-evk.dts b/arch/arm64/boot/dts/freescale/imx943-evk.dts
> index c8ceabe3d923..fd67cc8e919b 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>;
> @@ -680,6 +723,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 +870,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
>