]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: imx952-evk: Enable USB[1,2]
authorPeng Fan <peng.fan@nxp.com>
Sun, 11 Jan 2026 12:40:12 +0000 (20:40 +0800)
committerShawn Guo <shawnguo@kernel.org>
Sun, 18 Jan 2026 01:55:27 +0000 (09:55 +0800)
Enable USB[1,2] and add ptn5110 connected to USB1.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm64/boot/dts/freescale/imx952-evk.dts

index 447aea3cfd079f5ac5689e2461913e43b763bf3d..0b6b28c24e465846e9d9664c44248af1ad407d73 100644 (file)
@@ -5,6 +5,7 @@
 
 /dts-v1/;
 
+#include <dt-bindings/usb/pd.h>
 #include "imx952.dtsi"
 
 / {
                enable-active-high;
                off-on-delay-us = <12000>;
        };
+
+       reg_usb_vbus: regulator-vbus {
+               compatible = "regulator-fixed";
+               regulator-name = "USB_VBUS";
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               gpio = <&pcal6524 3 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
+
 };
 
 &lpi2c2 {
                interrupt-parent = <&gpio5>;
                interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
        };
+
+       ptn5110: tcpc@50 {
+               compatible = "nxp,ptn5110", "tcpci";
+               reg = <0x50>;
+               interrupt-parent = <&gpio5>;
+               interrupts = <14 IRQ_TYPE_LEVEL_LOW>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_ptn5110>;
+
+               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>;
+
+                                       typec1_dr_sw: endpoint {
+                                               remote-endpoint = <&usb1_drd_sw>;
+                                       };
+                               };
+                       };
+               };
+       };
 };
 
 &lpuart1 {
        status = "okay";
 };
 
+&usb1 {
+       dr_mode = "otg";
+       hnp-disable;
+       srp-disable;
+       adp-disable;
+       usb-role-switch;
+       disable-over-current;
+       samsung,picophy-pre-emp-curr-control = <3>;
+       samsung,picophy-dc-vol-level-adjust = <7>;
+       status = "okay";
+
+       port {
+               usb1_drd_sw: endpoint {
+                       remote-endpoint = <&typec1_dr_sw>;
+               };
+       };
+};
+
+&usb2 {
+       dr_mode = "host";
+       disable-over-current;
+       vbus-supply = <&reg_usb_vbus>;
+       status = "okay";
+};
+
 &usdhc1 {
        pinctrl-names = "default", "state_100mhz", "state_200mhz", "sleep";
        pinctrl-0 = <&pinctrl_usdhc1>;
                >;
        };
 
+       pinctrl_ptn5110: ptn5110grp {
+               fsl,pins = <
+                       IMX952_PAD_GPIO_IO34__WAKEUPMIX_TOP_GPIO5_IO_14              0x31e
+               >;
+       };
+
        pinctrl_reg_usdhc2_vmmc: regusdhc2vmmcgrp {
                fsl,pins = <
                        IMX952_PAD_SD2_RESET_B__WAKEUPMIX_TOP_GPIO3_IO_7        0x31e