arm64: dts: qcom: x1p42100-lenovo-thinkbook-16: add hdmi bridge with enable pin

Add TLMM 120 for hdmi bridge enable.
In general this is the same setup as on the T14s. Since its using simple-bridge
and also is Lenovo, we also use the same realtek,rtd2171 compatible.
The real chip identity is not known yet. The bridge is wired with un-swapped
lanes, though.

Signed-off-by: Jens Glathe <jens.glathe@oldschoolsolutions.biz>
Link: https://lore.kernel.org/r/20260103-tb16-hdmi-v2-2-92b0930fa82e@oldschoolsolutions.biz
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
This commit is contained in:
Jens Glathe
2026-01-03 10:00:24 +01:00
committed by Bjorn Andersson
parent 3802966a9c
commit 67ce203eee

View File

@@ -78,6 +78,47 @@ camera {
vdd-supply = <&vreg_cam_5p0>;
};
hdmi-bridge {
compatible = "realtek,rtd2171";
enable-gpios = <&tlmm 120 GPIO_ACTIVE_HIGH>;
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>;
};
};
};
gpio-keys {
compatible = "gpio-keys";
@@ -1038,6 +1079,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;
@@ -1327,6 +1376,19 @@ hall_int_n_default: hall-int-n-state {
bias-disable;
};
hdmi_bridge_en: hdmi-bridge-en-state {
pins = "gpio120";
function = "gpio";
drive-strength = <16>;
bias-pull-down;
};
hdmi_hpd_default: hdmi-hpd-default-state {
pins = "gpio126";
function = "usb2_dp";
bias-disable;
};
kybd_default: kybd-default-state {
pins = "gpio67";
function = "gpio";
@@ -1573,6 +1635,32 @@ &usb_1_ss2_hsphy {
status = "okay";
};
&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 = <0 1 2 3>;
remote-endpoint = <&hdmi_bridge_dp_in>;
};
};
};
};
&usb_2 {
status = "okay";
};