[PATCH] arm64: dts: qcom: Enable lvds panel-DV215FHM-R01 for lemans-evk Mezzanine

Gopi Botlagunta posted 1 patch 1 month, 1 week ago
arch/arm64/boot/dts/qcom/lemans-evk-mezzanine.dtso | 125 +++++++++++++++++++++
1 file changed, 125 insertions(+)
[PATCH] arm64: dts: qcom: Enable lvds panel-DV215FHM-R01 for lemans-evk Mezzanine
Posted by Gopi Botlagunta 1 month, 1 week ago
LT9211c bridge and lvds panel node.
LT9211c is powered by default with reset gpio connected to 37.

Signed-off-by: Gopi Botlagunta <venkata.botlagunta@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/lemans-evk-mezzanine.dtso | 125 +++++++++++++++++++++
 1 file changed, 125 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/lemans-evk-mezzanine.dtso b/arch/arm64/boot/dts/qcom/lemans-evk-mezzanine.dtso
index 4fab96ba873c..16f757952ff7 100644
--- a/arch/arm64/boot/dts/qcom/lemans-evk-mezzanine.dtso
+++ b/arch/arm64/boot/dts/qcom/lemans-evk-mezzanine.dtso
@@ -11,6 +11,62 @@
 &{/} {
 	model = "Qualcomm Technologies, Inc. Lemans-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 = <&lt9211c_out_odd>;
+				};
+			};
+
+			port@1 {
+				reg = <1>;
+
+				dual-lvds-even-pixels;
+				panel_in_lvds_even: endpoint {
+					remote-endpoint = <&lt9211c_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";
@@ -158,6 +214,55 @@ queue3 {
 	};
 };
 
+&i2c1 {
+	qcom,load-firmware;
+	qcom,xfer-mode = <1>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&qup_i2c1_default>;
+
+	status = "okay";
+
+	lt9211c_codec: lvds-bridge@2d {
+		compatible = "lontium,lt9211c";
+		reg = <0x2d>;
+		reset-gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>;
+		vcc-supply = <&vreg_s4a>;
+
+		status = "okay";
+
+		ports {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			port@0 {
+				reg = <0>;
+
+				lt9211c_in: endpoint {
+					data-lanes = <0 1 2 3>;
+					remote-endpoint = <&mdss0_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>;
+				};
+			};
+		};
+	};
+
+};
+
 &i2c18 {
 	#address-cells = <1>;
 	#size-cells = <0>;
@@ -179,6 +284,26 @@ mac_addr1: mac-addr@0 {
 	};
 };
 
+&mdss0 {
+	status = "okay";
+};
+
+&mdss0_dsi0 {
+	vdda-supply = <&vreg_l1c>;
+	power-supply = <&lcd_disp_bias>;
+	status = "okay";
+};
+
+&mdss0_dsi0_out {
+	data-lanes = <0 1 2 3>;
+	remote-endpoint = <&lt9211c_in>;
+};
+
+&mdss0_dsi0_phy {
+	vdds-supply = <&vreg_l4a>;
+	status = "okay";
+};
+
 &pcie0 {
 	iommu-map = <0x0 &pcie_smmu 0x0 0x1>,
 		    <0x100 &pcie_smmu 0x1 0x1>,

---
base-commit: 1a0829927afbfe654c632eb2e779fa32df825b06
change-id: 20260218-enable-lvds-lemans-mezzanine-47584d76ba5a

Best regards,
-- 
Gopi Botlagunta <venkata.botlagunta@oss.qualcomm.com>
Re: [PATCH] arm64: dts: qcom: Enable lvds panel-DV215FHM-R01 for lemans-evk Mezzanine
Posted by Konrad Dybcio 1 month, 1 week ago
On 2/19/26 3:05 PM, Gopi Botlagunta wrote:
> LT9211c bridge and lvds panel node.
> LT9211c is powered by default with reset gpio connected to 37.
> 
> Signed-off-by: Gopi Botlagunta <venkata.botlagunta@oss.qualcomm.com>
> ---

[...]

> +	panel_lvds: panel-lvds@0 {
> +		compatible = "panel-lvds";
> +
> +		data-mapping = "vesa-24";
> +
> +		width-mm = <476>;
> +		height-mm = <268>;
> +
> +		status = "okay";

The status is "okay" by default for new nodes, drop this line

[...]

> +			port@0 {
> +				reg = <0>;
> +
> +				dual-lvds-odd-pixels;
> +				panel_in_lvds_odd: endpoint {

Let's keep a \n between the property and the following subnode

[...]

> +&i2c1 {
> +	qcom,load-firmware;
> +	qcom,xfer-mode = <1>;

These properties aren't documented and as such this will fail validation
(make dtbs_check)

> +	pinctrl-names = "default";
> +	pinctrl-0 = <&qup_i2c1_default>;

Please do:

property-n
property-names

in this order

Konrad