Commit ffbf3a8b authored by Abel Vesa's avatar Abel Vesa Committed by Bjorn Andersson
Browse files

arm64: dts: qcom: x1e78100-t14s: Enable support for both Type-A USB ports



The Thinkpad T14s has 2 USB-A ports, both connected to the USB
multiport controller, each one via a separate NXP PTN3222 eUSB2-to-USB2
redriver to the eUSB2 PHY for High-Speed support, with a dedicated QMP
PHY for SuperSpeed support.

Describe each redriver and then enable each pair of PHYs and the
USB controller itself, in order to enable support for the 2 USB-A ports.

Reviewed-by: default avatarKonrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: default avatarAbel Vesa <abel.vesa@linaro.org>
Link: https://lore.kernel.org/r/20241202-x1e80100-qcp-t14-enable-usb-type-a-ports-v2-1-7360ed65c769@linaro.org


Signed-off-by: default avatarBjorn Andersson <andersson@kernel.org>
parent c910544d
Loading
Loading
Loading
Loading
+86 −0
Original line number Diff line number Diff line
@@ -607,6 +607,40 @@ keyboard@3a {
	};
};

&i2c5 {
	clock-frequency = <400000>;

	status = "okay";

	eusb3_repeater: redriver@47 {
		compatible = "nxp,ptn3222";
		reg = <0x47>;
		#phy-cells = <0>;

		vdd3v3-supply = <&vreg_l13b_3p0>;
		vdd1v8-supply = <&vreg_l4b_1p8>;

		reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>;

		pinctrl-0 = <&eusb3_reset_n>;
		pinctrl-names = "default";
	};

	eusb6_repeater: redriver@4f {
		compatible = "nxp,ptn3222";
		reg = <0x4f>;
		#phy-cells = <0>;

		vdd3v3-supply = <&vreg_l13b_3p0>;
		vdd1v8-supply = <&vreg_l4b_1p8>;

		reset-gpios = <&tlmm 184 GPIO_ACTIVE_LOW>;

		pinctrl-0 = <&eusb6_reset_n>;
		pinctrl-names = "default";
	};
};

&i2c8 {
	clock-frequency = <400000>;

@@ -842,6 +876,22 @@ &tlmm {
			       <72 2>, /* Secure EC I2C connection (?) */
			       <238 1>; /* UFS Reset */

	eusb3_reset_n: eusb3-reset-n-state {
		pins = "gpio6";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
		output-low;
	};

	eusb6_reset_n: eusb6-reset-n-state {
		pins = "gpio184";
		function = "gpio";
		drive-strength = <2>;
		bias-disable;
		output-low;
	};

	tpad_default: tpad-default-state {
		pins = "gpio3";
		function = "gpio";
@@ -999,3 +1049,39 @@ &usb_1_ss1_dwc3_hs {
&usb_1_ss1_qmpphy_out {
	remote-endpoint = <&pmic_glink_ss1_ss_in>;
};

&usb_mp {
	status = "okay";
};

&usb_mp_hsphy0 {
	vdd-supply = <&vreg_l2e_0p8>;
	vdda12-supply = <&vreg_l3e_1p2>;

	phys = <&eusb6_repeater>;

	status = "okay";
};

&usb_mp_hsphy1 {
	vdd-supply = <&vreg_l2e_0p8>;
	vdda12-supply = <&vreg_l3e_1p2>;

	phys = <&eusb3_repeater>;

	status = "okay";
};

&usb_mp_qmpphy0 {
	vdda-phy-supply = <&vreg_l3e_1p2>;
	vdda-pll-supply = <&vreg_l3c_0p8>;

	status = "okay";
};

&usb_mp_qmpphy1 {
	vdda-phy-supply = <&vreg_l3e_1p2>;
	vdda-pll-supply = <&vreg_l3c_0p8>;

	status = "okay";
};