arm64: dts: freescale: imx8qxp-mek: enable cadence usb3
authorFrank Li <Frank.Li@nxp.com>
Mon, 27 Mar 2023 14:55:23 +0000 (10:55 -0400)
committerShawn Guo <shawnguo@kernel.org>
Thu, 6 Apr 2023 01:43:39 +0000 (09:43 +0800)
Enable USB3 controller, phy and typec related nodes.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
arch/arm64/boot/dts/freescale/imx8qxp-mek.dts

index a56c8d0..7924b09 100644 (file)
@@ -6,6 +6,7 @@
 /dts-v1/;
 
 #include "imx8qxp.dtsi"
+#include <dt-bindings/usb/pd.h>
 
 / {
        model = "Freescale i.MX8QXP MEK";
                gpio = <&lsio_gpio4 19 GPIO_ACTIVE_HIGH>;
                enable-active-high;
        };
+
+       gpio-sbu-mux {
+               compatible = "gpio-sbu-mux";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_typec_mux>;
+               select-gpios = <&lsio_gpio5 9 GPIO_ACTIVE_HIGH>;
+               enable-gpios = <&pca9557_a 7 GPIO_ACTIVE_LOW>;
+               orientation-switch;
+
+               port {
+                       usb3_data_ss: endpoint {
+                               remote-endpoint = <&typec_con_ss>;
+                       };
+               };
+       };
 };
 
 &dsp {
                        };
                };
        };
+
+       ptn5110: tcpc@50 {
+               compatible = "nxp,ptn5110";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_typec>;
+               reg = <0x50>;
+               interrupt-parent = <&lsio_gpio1>;
+               interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
+
+               port {
+                       typec_dr_sw: endpoint {
+                               remote-endpoint = <&usb3_drd_sw>;
+                       };
+               };
+
+               usb_con1: connector {
+                       compatible = "usb-c-connector";
+                       label = "USB-C";
+                       power-role = "source";
+                       data-role = "dual";
+                       source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@1 {
+                                       reg = <1>;
+                                       typec_con_ss: endpoint {
+                                               remote-endpoint = <&usb3_data_ss>;
+                                       };
+                               };
+                       };
+               };
+       };
+
 };
 
 &lpuart0 {
        status = "okay";
 };
 
+&usb3_phy {
+       status = "okay";
+};
+
+&usbotg3 {
+       status = "okay";
+};
+
+&usbotg3_cdns3 {
+       dr_mode = "otg";
+       usb-role-switch;
+       status = "okay";
+
+       port {
+               usb3_drd_sw: endpoint {
+                       remote-endpoint = <&typec_dr_sw>;
+               };
+       };
+};
+
+
 &vpu {
        compatible = "nxp,imx8qxp-vpu";
        status = "okay";
                >;
        };
 
+       pinctrl_typec: typecgrp {
+               fsl,pins = <
+                       IMX8QXP_SPI2_SCK_LSIO_GPIO1_IO03                        0x06000021
+               >;
+       };
+
+       pinctrl_typec_mux: typecmuxgrp {
+               fsl,pins = <
+                       IMX8QXP_ENET0_REFCLK_125M_25M_LSIO_GPIO5_IO09           0x60
+               >;
+       };
+
        pinctrl_usdhc1: usdhc1grp {
                fsl,pins = <
                        IMX8QXP_EMMC0_CLK_CONN_EMMC0_CLK                        0x06000041