Commit b237975b authored by Frank Li's avatar Frank Li Committed by Shawn Guo
Browse files

arm64: dts: imx8qm-mek: add usb 3.0 and related type C nodes



Enable usb3.0 and related usb type C nodes.

Signed-off-by: default avatarFrank Li <Frank.Li@nxp.com>
Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
parent 1110cb4f
Loading
Loading
Loading
Loading
+87 −0
Original line number Diff line number Diff line
@@ -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 {
@@ -519,6 +573,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>,
@@ -785,6 +859,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