On Mon, Jul 01, 2024 at 11:03:34AM -0400, Frank Li wrote: > Enable usb3.0 and related usb type C nodes. > > Signed-off-by: Frank Li <Frank.Li@xxxxxxx> > --- > arch/arm64/boot/dts/freescale/imx8qm-mek.dts | 87 ++++++++++++++++++++++++++++ > 1 file changed, 87 insertions(+) > > diff --git a/arch/arm64/boot/dts/freescale/imx8qm-mek.dts b/arch/arm64/boot/dts/freescale/imx8qm-mek.dts > index 7ceea79f658db..aa874576e974b 100644 > --- a/arch/arm64/boot/dts/freescale/imx8qm-mek.dts > +++ b/arch/arm64/boot/dts/freescale/imx8qm-mek.dts Shawn: Can you take care this? Frank > @@ -6,6 +6,7 @@ > > /dts-v1/; > > +#include <dt-bindings/usb/pd.h> > #include "imx8qm.dtsi" > > / { > @@ -109,6 +110,21 @@ lvds_backlight1: backlight-lvds1 { > default-brightness-level = <80>; > }; > > + mux-controller { > + compatible = "nxp,cbdtu02043", "gpio-sbu-mux"; > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_typec_mux>; > + select-gpios = <&lsio_gpio4 6 GPIO_ACTIVE_LOW>; > + enable-gpios = <&lsio_gpio4 19 GPIO_ACTIVE_HIGH>; > + orientation-switch; > + > + port { > + usb3_data_ss: endpoint { > + remote-endpoint = <&typec_con_ss>; > + }; > + }; > + }; > + > reg_usdhc2_vmmc: usdhc2-vmmc { > compatible = "regulator-fixed"; > regulator-name = "SD1_SPWR"; > @@ -321,6 +337,44 @@ gyrometer@69 { > compatible = "st,l3g4200d-gyro"; > reg = <0x69>; > }; > + > + ptn5110: tcpc@51 { > + compatible = "nxp,ptn5110", "tcpci"; > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_typec>; > + reg = <0x51>; > + interrupt-parent = <&lsio_gpio4>; > + interrupts = <26 IRQ_TYPE_LEVEL_LOW>; > + status = "okay"; > + > + 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@0 { > + reg = <0>; > + > + typec_dr_sw: endpoint { > + remote-endpoint = <&usb3_drd_sw>; > + }; > + }; > + > + port@1 { > + reg = <1>; > + typec_con_ss: endpoint { > + remote-endpoint = <&usb3_data_ss>; > + }; > + }; > + }; > + }; > + }; > }; > > &i2c1 { > @@ -525,6 +579,26 @@ &usdhc2 { > 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>; > + }; > + }; > +}; > + > &sai0 { > #sound-dai-cells = <0>; > assigned-clocks = <&clk IMX_SC_R_AUDIO_PLL_0 IMX_SC_PM_CLK_PLL>, > @@ -791,6 +865,19 @@ IMX8QM_SAI1_TXC_AUD_SAI1_TXC 0x06000040 > >; > }; > > + pinctrl_typec: typecgrp { > + fsl,pins = < > + IMX8QM_QSPI1A_DATA0_LSIO_GPIO4_IO26 0x00000021 > + >; > + }; > + > + pinctrl_typec_mux: typecmuxgrp { > + fsl,pins = < > + IMX8QM_QSPI1A_SS0_B_LSIO_GPIO4_IO19 0x60 > + IMX8QM_USB_SS3_TC3_LSIO_GPIO4_IO06 0x60 > + >; > + }; > + > pinctrl_usdhc1: usdhc1grp { > fsl,pins = < > IMX8QM_EMMC0_CLK_CONN_EMMC0_CLK 0x06000041 > > -- > 2.34.1 >