summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVishnu Saini <vishnu.saini@oss.qualcomm.com>2026-03-18 22:08:19 +0300
committerBjorn Andersson <andersson@kernel.org>2026-03-26 17:40:49 +0300
commite50db17fe84626540d8bf4528d5ccba0215d443d (patch)
tree2ba927e913b491cceccbae480de62017dfe78f0d
parent3272916a7c9f15825365a78322d2dd921a3f7733 (diff)
downloadlinux-e50db17fe84626540d8bf4528d5ccba0215d443d.tar.xz
arm64: dts: qcom: monaco-evk: add lt8713sx bridge with displayport
Monaco-evk has LT8713sx which act as DP to 3 DP output converter. Edp PHY from monaco soc is connected to lt8713sx as input and output of lt8713sx is connected to 3 mini DP ports. Two ports are available in mainboard and one port is available on Mezz board. lt8713sx is connected to soc over i2c0 and with reset gpio connected to pin6 of ioexpander5. Enable the edp nodes from monaco and enable lontium lt8713sx bridge node. Co-developed-by: Prahlad Valluru <vvalluru@qti.qualcomm.com> Signed-off-by: Prahlad Valluru <vvalluru@qti.qualcomm.com> Signed-off-by: Vishnu Saini <vishnu.saini@oss.qualcomm.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Link: https://lore.kernel.org/r/20260319-lt8713sx-bridge-linux-for-next-v4-1-da886ec78fe3@oss.qualcomm.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
-rw-r--r--arch/arm64/boot/dts/qcom/monaco-evk.dts92
-rw-r--r--arch/arm64/boot/dts/qcom/monaco.dtsi6
2 files changed, 98 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/qcom/monaco-evk.dts b/arch/arm64/boot/dts/qcom/monaco-evk.dts
index fb687309decd..3858872e97d9 100644
--- a/arch/arm64/boot/dts/qcom/monaco-evk.dts
+++ b/arch/arm64/boot/dts/qcom/monaco-evk.dts
@@ -57,6 +57,30 @@
#sound-dai-cells = <0>;
};
+ dp-connector-0 {
+ compatible = "dp-connector";
+ label = "DP0";
+ type = "mini";
+
+ port {
+ dp0_connector_in: endpoint {
+ remote-endpoint = <&lt8713sx_dp0_out>;
+ };
+ };
+ };
+
+ dp-connector-1 {
+ compatible = "dp-connector";
+ label = "DP1";
+ type = "mini";
+
+ port {
+ dp1_connector_in: endpoint {
+ remote-endpoint = <&lt8713sx_dp1_out>;
+ };
+ };
+ };
+
usb2_vbus: regulator-usb2-vbus {
compatible = "regulator-fixed";
regulator-name = "usb2_vbus";
@@ -397,6 +421,45 @@
firmware-name = "qcom/qcs8300/a623_zap.mbn";
};
+&i2c0 {
+ status = "okay";
+
+ bridge@4f {
+ compatible = "lontium,lt8713sx";
+ reg = <0x4f>;
+ reset-gpios = <&expander5 6 GPIO_ACTIVE_LOW>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ lt8713sx_dp_in: endpoint {
+ remote-endpoint = <&mdss_dp0_out>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ lt8713sx_dp0_out: endpoint {
+ remote-endpoint = <&dp0_connector_in>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+
+ lt8713sx_dp1_out: endpoint {
+ remote-endpoint = <&dp1_connector_in>;
+ };
+ };
+ };
+ };
+};
+
&i2c1 {
pinctrl-0 = <&qup_i2c1_default>;
pinctrl-names = "default";
@@ -525,6 +588,30 @@
status = "okay";
};
+&mdss {
+ status = "okay";
+};
+
+&mdss_dp0 {
+ pinctrl-0 = <&dp_hot_plug_det>;
+ pinctrl-names = "default";
+
+ status = "okay";
+};
+
+&mdss_dp0_out {
+ data-lanes = <0 1 2 3>;
+ link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
+ remote-endpoint = <&lt8713sx_dp_in>;
+};
+
+&mdss_dp0_phy {
+ vdda-phy-supply = <&vreg_l5a>;
+ vdda-pll-supply = <&vreg_l4a>;
+
+ status = "okay";
+};
+
&pcie0 {
pinctrl-0 = <&pcie0_default_state>;
pinctrl-names = "default";
@@ -573,6 +660,11 @@
};
};
+&qup_i2c0_data_clk {
+ drive-strength = <2>;
+ bias-pull-up;
+};
+
&qupv3_id_0 {
firmware-name = "qcom/qcs8300/qupv3fw.elf";
status = "okay";
diff --git a/arch/arm64/boot/dts/qcom/monaco.dtsi b/arch/arm64/boot/dts/qcom/monaco.dtsi
index 3b00b81aeaf1..de528b4615f8 100644
--- a/arch/arm64/boot/dts/qcom/monaco.dtsi
+++ b/arch/arm64/boot/dts/qcom/monaco.dtsi
@@ -6418,6 +6418,12 @@
};
};
+ dp_hot_plug_det: dp-hot-plug-det-state {
+ pins = "gpio94";
+ function = "edp0_hot";
+ bias-disable;
+ };
+
hs0_mi2s_active: hs0-mi2s-active-state {
pins = "gpio106", "gpio107", "gpio108", "gpio109";
function = "hs0_mi2s";