Message ID | 20240701-imx8qm-dts-usb-v4-8-03cdbc8c44b6@nxp.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | arm64: dts: imx8qm: add subsystem lvds and mipi | expand |
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@nxp.com> > --- > 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 >
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 @@ -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
Enable usb3.0 and related usb type C nodes. Signed-off-by: Frank Li <Frank.Li@nxp.com> --- arch/arm64/boot/dts/freescale/imx8qm-mek.dts | 87 ++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+)