arm64: dts: qcom: x1e78100-lenovo-thinkpad-t14s: add HDMI nodes

The Thinkpad T14s embeds a transparent 4lanes DP->HDMI transceiver
connected to the third QMP Combo PHY 4 lanes.

Add all the data routing, disable mode switching and specify the
QMP Combo PHY should be in DP-Only mode to route the 4 lanes to
the underlying DP phy.

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20251119-topic-x1e80100-hdmi-v7-3-2bee0e66cc1b@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
This commit is contained in:
Neil Armstrong 2025-11-19 09:45:42 +01:00 committed by Bjorn Andersson
parent b38dd256e1
commit a1338b39c1

View File

@ -62,6 +62,45 @@ switch-lid {
};
};
hdmi-bridge {
compatible = "realtek,rtd2171";
pinctrl-0 = <&hdmi_hpd_default>;
pinctrl-names = "default";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
hdmi_bridge_dp_in: endpoint {
remote-endpoint = <&usb_1_ss2_qmpphy_out_dp>;
};
};
port@1 {
reg = <1>;
hdmi_bridge_tmds_out: endpoint {
remote-endpoint = <&hdmi_con>;
};
};
};
};
hdmi-connector {
compatible = "hdmi-connector";
type = "a";
port {
hdmi_con: endpoint {
remote-endpoint = <&hdmi_bridge_tmds_out>;
};
};
};
pmic-glink {
compatible = "qcom,x1e80100-pmic-glink",
"qcom,sm8550-pmic-glink",
@ -1076,6 +1115,14 @@ &mdss_dp1_out {
link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
};
&mdss_dp2 {
status = "okay";
};
&mdss_dp2_out {
link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
};
&mdss_dp3 {
/delete-property/ #sound-dai-cells;
@ -1371,6 +1418,12 @@ eusb6_reset_n: eusb6-reset-n-state {
output-low;
};
hdmi_hpd_default: hdmi-hpd-default-state {
pins = "gpio126";
function = "usb2_dp";
bias-disable;
};
tpad_default: tpad-default-state {
pins = "gpio3";
function = "gpio";
@ -1602,6 +1655,34 @@ &usb_1_ss1_qmpphy_out {
remote-endpoint = <&retimer_ss1_ss_in>;
};
&usb_1_ss2_qmpphy {
vdda-phy-supply = <&vreg_l2j_1p2>;
vdda-pll-supply = <&vreg_l2d_0p9>;
/delete-property/ mode-switch;
/delete-property/ orientation-switch;
status = "okay";
ports {
port@0 {
#address-cells = <1>;
#size-cells = <0>;
/delete-node/ endpoint;
usb_1_ss2_qmpphy_out_dp: endpoint@0 {
reg = <0>;
data-lanes = <3 2 1 0>;
remote-endpoint = <&hdmi_bridge_dp_in>;
};
/* No USB3 lanes connected */
};
};
};
&usb_2 {
status = "okay";
};