From 74297a7055d4a2c649680c5b271e9f0e770e26ed Mon Sep 17 00:00:00 2001 From: Gopi Botlagunta Date: Tue, 17 Feb 2026 11:52:21 +0530 Subject: [PATCH] FROMLIST: arm64: dts: qcom: Enable lvds panel-DV215FHM-R01 for monaco-evk Mezzanine LT9211c bridge and lvds panel node. LT9211c is powered by default with reset gpio connected to 66. Link: https://lore.kernel.org/all/20260220-enable_rb4_lvds-v1-1-c6296ef9ccdb@oss.qualcomm.com/ Signed-off-by: Gopi Botlagunta --- .../boot/dts/qcom/monaco-evk-mezzanine.dtso | 117 ++++++++++++++++++ 1 file changed, 117 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/monaco-evk-mezzanine.dtso b/arch/arm64/boot/dts/qcom/monaco-evk-mezzanine.dtso index 701494d4dd7f..2512bdfbadbf 100644 --- a/arch/arm64/boot/dts/qcom/monaco-evk-mezzanine.dtso +++ b/arch/arm64/boot/dts/qcom/monaco-evk-mezzanine.dtso @@ -11,6 +11,58 @@ &{/} { model = "Qualcomm Technologies, Inc. Monaco-EVK Mezzanine"; + panel_lvds: panel-lvds@0 { + compatible = "panel-lvds"; + data-mapping = "vesa-24"; + width-mm = <476>; + height-mm = <268>; + + status = "okay"; + + panel-timing { + clock-frequency = <148500000>; + hactive = <1920>; + vactive = <1080>; + hfront-porch = <88>; + hback-porch = <148>; + hsync-len = <44>; + vfront-porch = <4>; + vback-porch = <36>; + vsync-len = <5>; + de-active = <1>; + }; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + dual-lvds-odd-pixels; + panel_in_lvds_odd: endpoint { + remote-endpoint = <<9211c_out_odd>; + }; + }; + + port@1 { + reg = <1>; + dual-lvds-even-pixels; + panel_in_lvds_even: endpoint { + remote-endpoint = <<9211c_out_even>; + }; + }; + }; + }; + + lcd_disp_bias: regulator-lcd-disp-bias { + compatible = "regulator-fixed"; + regulator-name = "lcd_disp_bias"; + regulator-min-microvolt = <5500000>; + regulator-max-microvolt = <5500000>; + gpio = <&expander3 1 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + vreg_0p9: regulator-vreg-0p9 { compatible = "regulator-fixed"; regulator-name = "VREG_0P9"; @@ -70,6 +122,51 @@ }; }; +&i2c8 { + qcom,load-firmware; + qcom,xfer-mode = <1>; + pinctrl-names = "default"; + pinctrl-0 = <&qup_i2c8_data_clk>; + + status = "okay"; + + lt9211c_codec: lvds-bridge@2d { + compatible = "lontium,lt9211c"; + reg = <0x2d>; + reset-gpios = <&tlmm 66 GPIO_ACTIVE_HIGH>; + vcc-supply = <&vreg_l5a>; + + status = "okay"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + lt9211c_in: endpoint { + data-lanes = <0 1 2 3>; + remote-endpoint = <&mdss_dsi0_out>; + }; + }; + + port@2 { + reg = <2>; + lt9211c_out_odd: endpoint { + remote-endpoint = <&panel_in_lvds_odd>; + }; + }; + + port@3 { + reg = <3>; + lt9211c_out_even: endpoint { + remote-endpoint = <&panel_in_lvds_even>; + }; + }; + }; + }; +}; + &i2c15 { #address-cells = <1>; #size-cells = <0>; @@ -89,6 +186,26 @@ }; }; +&mdss { + status = "okay"; +}; + +&mdss_dsi0 { + vdda-supply = <&vreg_l5a>; + power-supply = <&lcd_disp_bias>; + status = "okay"; +}; + +&mdss_dsi0_out { + data-lanes = <0 1 2 3>; + remote-endpoint = <<9211c_in>; +}; + +&mdss_dsi0_phy { + vdds-supply = <&vreg_l4a>; + status = "okay"; +}; + &pcie0 { iommu-map = <0x0 &pcie_smmu 0x0 0x1>, <0x100 &pcie_smmu 0x1 0x1>,