* [PATCH v3 1/3] arm64: dts: qcom: lemans-evk: Add LVDS display overlay
2026-09-05 1:30 [PATCH v3 0/3] arm64: dts: qcom: Add LVDS display overlays for lemans, monaco and rb3gen2 Vishnu Saini
@ 2026-09-05 1:30 ` Vishnu Saini
2026-09-07 11:40 ` Konrad Dybcio
2026-09-05 1:30 ` [PATCH v3 2/3] arm64: dts: qcom: monaco-evk: " Vishnu Saini
` (2 subsequent siblings)
3 siblings, 1 reply; 9+ messages in thread
From: Vishnu Saini @ 2026-09-05 1:30 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Vishnu Saini,
venkata.valluru, Jessica Zhang
The Lemans EVK IFP mezzanine supports LVDS display output using the
Lontium LT9211C DSI-to-LVDS bridge. The bridge is connected to the
DSI0 output and drives a dual-channel 1920x1080 LVDS panel in
VESA-24 mapping.
Add a DTBO overlay, lemans-evk-lvds-boe,dv215fhm-r01.dtso, that wires
up the LT9211C bridge on I2C1 (address 0x2d) with reset on GPIO37,
a panel-lvds node for the boe,dv215fhm-r01 panel (matched against the
panel-simple-lvds-dual-ports binding, which supplies the panel's size
and timing internally), and an LCD display bias regulator supplied
through the GPIO expander. DSI power is provided by vreg_s4a.
The overlay is built as a composite DTB combining the base
lemans-evk.dtb, the IFP mezzanine overlay, and this LVDS overlay.
Signed-off-by: Vishnu Saini <vishnu.saini@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/Makefile | 4 +
.../dts/qcom/lemans-evk-lvds-boe,dv215fhm-r01.dtso | 113 +++++++++++++++++++++
2 files changed, 117 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 6c2ac11133ca..6c119fd77774 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -58,6 +58,10 @@ lemans-evk-el2-dtbs := lemans-evk.dtb lemans-el2.dtbo
dtb-$(CONFIG_ARCH_QCOM) += lemans-evk-el2.dtb
lemans-evk-ifp-mezzanine-dtbs := lemans-evk.dtb lemans-evk-ifp-mezzanine.dtbo
dtb-$(CONFIG_ARCH_QCOM) += lemans-evk-ifp-mezzanine.dtb
+
+lemans-evk-lvds-boe,dv215fhm-r01-dtbs := lemans-evk.dtb lemans-evk-ifp-mezzanine.dtbo lemans-evk-lvds-boe,dv215fhm-r01.dtbo
+dtb-$(CONFIG_ARCH_QCOM) += lemans-evk-lvds-boe,dv215fhm-r01.dtb
+
dtb-$(CONFIG_ARCH_QCOM) += mahua-crd.dtb
dtb-$(CONFIG_ARCH_QCOM) += milos-fairphone-fp6.dtb
dtb-$(CONFIG_ARCH_QCOM) += milos-nothing-asteroids.dtb
diff --git a/arch/arm64/boot/dts/qcom/lemans-evk-lvds-boe,dv215fhm-r01.dtso b/arch/arm64/boot/dts/qcom/lemans-evk-lvds-boe,dv215fhm-r01.dtso
new file mode 100644
index 000000000000..bd3e13c46a1e
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/lemans-evk-lvds-boe,dv215fhm-r01.dtso
@@ -0,0 +1,113 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+
+&{/} {
+ model = "Qualcomm Technologies, Inc. Lemans EVK LVDS";
+
+ panel_lvds: panel-lvds {
+ compatible = "boe,dv215fhm-r01";
+ power-supply = <&lcd_disp_bias>;
+
+ 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;
+ };
+};
+
+&i2c1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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>;
+ vccio-supply = <&vreg_s4a>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ lt9211c_in: endpoint {
+ data-lanes = <1 2 3 4>;
+ 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>;
+ };
+ };
+ };
+ };
+};
+
+&mdss0_dsi0 {
+ vdda-supply = <&vreg_l1c>;
+
+ status = "okay";
+};
+
+&mdss0_dsi0_out {
+ data-lanes = <0 1 2 3>;
+ remote-endpoint = <<9211c_in>;
+};
+
+&mdss0_dsi0_phy {
+ vdds-supply = <&vreg_l4a>;
+
+ status = "okay";
+};
--
2.34.1
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH v3 1/3] arm64: dts: qcom: lemans-evk: Add LVDS display overlay
2026-09-05 1:30 ` [PATCH v3 1/3] arm64: dts: qcom: lemans-evk: Add LVDS display overlay Vishnu Saini
@ 2026-09-07 11:40 ` Konrad Dybcio
2026-09-08 16:33 ` Vishnu Saini
0 siblings, 1 reply; 9+ messages in thread
From: Konrad Dybcio @ 2026-09-07 11:40 UTC (permalink / raw)
To: Vishnu Saini, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, venkata.valluru, Jessica Zhang
On 9/5/26 3:30 AM, Vishnu Saini wrote:
> The Lemans EVK IFP mezzanine supports LVDS display output using the
> Lontium LT9211C DSI-to-LVDS bridge. The bridge is connected to the
> DSI0 output and drives a dual-channel 1920x1080 LVDS panel in
> VESA-24 mapping.
>
> Add a DTBO overlay, lemans-evk-lvds-boe,dv215fhm-r01.dtso, that wires
> up the LT9211C bridge on I2C1 (address 0x2d) with reset on GPIO37,
> a panel-lvds node for the boe,dv215fhm-r01 panel (matched against the
> panel-simple-lvds-dual-ports binding, which supplies the panel's size
> and timing internally), and an LCD display bias regulator supplied
> through the GPIO expander. DSI power is provided by vreg_s4a.
[...]
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -58,6 +58,10 @@ lemans-evk-el2-dtbs := lemans-evk.dtb lemans-el2.dtbo
> dtb-$(CONFIG_ARCH_QCOM) += lemans-evk-el2.dtb
> lemans-evk-ifp-mezzanine-dtbs := lemans-evk.dtb lemans-evk-ifp-mezzanine.dtbo
> dtb-$(CONFIG_ARCH_QCOM) += lemans-evk-ifp-mezzanine.dtb
> +
> +lemans-evk-lvds-boe,dv215fhm-r01-dtbs := lemans-evk.dtb lemans-evk-ifp-mezzanine.dtbo lemans-evk-lvds-boe,dv215fhm-r01.dtbo
> +dtb-$(CONFIG_ARCH_QCOM) += lemans-evk-lvds-boe,dv215fhm-r01.dtb
I have very mixed feelings regarding putting a comma in the
filename..
> +
> dtb-$(CONFIG_ARCH_QCOM) += mahua-crd.dtb
> dtb-$(CONFIG_ARCH_QCOM) += milos-fairphone-fp6.dtb
> dtb-$(CONFIG_ARCH_QCOM) += milos-nothing-asteroids.dtb
> diff --git a/arch/arm64/boot/dts/qcom/lemans-evk-lvds-boe,dv215fhm-r01.dtso b/arch/arm64/boot/dts/qcom/lemans-evk-lvds-boe,dv215fhm-r01.dtso
> new file mode 100644
> index 000000000000..bd3e13c46a1e
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/lemans-evk-lvds-boe,dv215fhm-r01.dtso
> @@ -0,0 +1,113 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
> + */
> +
> +/dts-v1/;
> +/plugin/;
> +
> +#include <dt-bindings/gpio/gpio.h>
> +
> +&{/} {
> + model = "Qualcomm Technologies, Inc. Lemans EVK LVDS";
> +
> + panel_lvds: panel-lvds {
nit: this label is unused
Konrad
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH v3 1/3] arm64: dts: qcom: lemans-evk: Add LVDS display overlay
2026-09-07 11:40 ` Konrad Dybcio
@ 2026-09-08 16:33 ` Vishnu Saini
2026-09-09 11:23 ` Konrad Dybcio
0 siblings, 1 reply; 9+ messages in thread
From: Vishnu Saini @ 2026-09-08 16:33 UTC (permalink / raw)
To: Konrad Dybcio
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-arm-msm, devicetree, linux-kernel,
venkata.valluru, Jessica Zhang
On Mon, Sep 07, 2026 at 01:40:52PM +0200, Konrad Dybcio wrote:
> On 9/5/26 3:30 AM, Vishnu Saini wrote:
> > The Lemans EVK IFP mezzanine supports LVDS display output using the
> > Lontium LT9211C DSI-to-LVDS bridge. The bridge is connected to the
> > DSI0 output and drives a dual-channel 1920x1080 LVDS panel in
> > VESA-24 mapping.
> >
> > Add a DTBO overlay, lemans-evk-lvds-boe,dv215fhm-r01.dtso, that wires
> > up the LT9211C bridge on I2C1 (address 0x2d) with reset on GPIO37,
> > a panel-lvds node for the boe,dv215fhm-r01 panel (matched against the
> > panel-simple-lvds-dual-ports binding, which supplies the panel's size
> > and timing internally), and an LCD display bias regulator supplied
> > through the GPIO expander. DSI power is provided by vreg_s4a.
>
> [...]
>
> > --- a/arch/arm64/boot/dts/qcom/Makefile
> > +++ b/arch/arm64/boot/dts/qcom/Makefile
> > @@ -58,6 +58,10 @@ lemans-evk-el2-dtbs := lemans-evk.dtb lemans-el2.dtbo
> > dtb-$(CONFIG_ARCH_QCOM) += lemans-evk-el2.dtb
> > lemans-evk-ifp-mezzanine-dtbs := lemans-evk.dtb lemans-evk-ifp-mezzanine.dtbo
> > dtb-$(CONFIG_ARCH_QCOM) += lemans-evk-ifp-mezzanine.dtb
> > +
> > +lemans-evk-lvds-boe,dv215fhm-r01-dtbs := lemans-evk.dtb lemans-evk-ifp-mezzanine.dtbo lemans-evk-lvds-boe,dv215fhm-r01.dtbo
> > +dtb-$(CONFIG_ARCH_QCOM) += lemans-evk-lvds-boe,dv215fhm-r01.dtb
>
> I have very mixed feelings regarding putting a comma in the
> filename..
I named it similar to "talos-evk-lvds-auo,g133han01.dtb", but let know if i need to remove comma.
>
> > +
> > dtb-$(CONFIG_ARCH_QCOM) += mahua-crd.dtb
> > dtb-$(CONFIG_ARCH_QCOM) += milos-fairphone-fp6.dtb
> > dtb-$(CONFIG_ARCH_QCOM) += milos-nothing-asteroids.dtb
> > diff --git a/arch/arm64/boot/dts/qcom/lemans-evk-lvds-boe,dv215fhm-r01.dtso b/arch/arm64/boot/dts/qcom/lemans-evk-lvds-boe,dv215fhm-r01.dtso
> > new file mode 100644
> > index 000000000000..bd3e13c46a1e
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/qcom/lemans-evk-lvds-boe,dv215fhm-r01.dtso
> > @@ -0,0 +1,113 @@
> > +// SPDX-License-Identifier: BSD-3-Clause
> > +/*
> > + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
> > + */
> > +
> > +/dts-v1/;
> > +/plugin/;
> > +
> > +#include <dt-bindings/gpio/gpio.h>
> > +
> > +&{/} {
> > + model = "Qualcomm Technologies, Inc. Lemans EVK LVDS";
> > +
> > + panel_lvds: panel-lvds {
>
> nit: this label is unused
I will remove the unused labels, in next revision.
> Konrad
>
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH v3 1/3] arm64: dts: qcom: lemans-evk: Add LVDS display overlay
2026-09-08 16:33 ` Vishnu Saini
@ 2026-09-09 11:23 ` Konrad Dybcio
0 siblings, 0 replies; 9+ messages in thread
From: Konrad Dybcio @ 2026-09-09 11:23 UTC (permalink / raw)
To: Vishnu Saini
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-arm-msm, devicetree, linux-kernel,
venkata.valluru, Jessica Zhang
On 9/8/26 6:33 PM, Vishnu Saini wrote:
> On Mon, Sep 07, 2026 at 01:40:52PM +0200, Konrad Dybcio wrote:
>> On 9/5/26 3:30 AM, Vishnu Saini wrote:
>>> The Lemans EVK IFP mezzanine supports LVDS display output using the
>>> Lontium LT9211C DSI-to-LVDS bridge. The bridge is connected to the
>>> DSI0 output and drives a dual-channel 1920x1080 LVDS panel in
>>> VESA-24 mapping.
>>>
>>> Add a DTBO overlay, lemans-evk-lvds-boe,dv215fhm-r01.dtso, that wires
>>> up the LT9211C bridge on I2C1 (address 0x2d) with reset on GPIO37,
>>> a panel-lvds node for the boe,dv215fhm-r01 panel (matched against the
>>> panel-simple-lvds-dual-ports binding, which supplies the panel's size
>>> and timing internally), and an LCD display bias regulator supplied
>>> through the GPIO expander. DSI power is provided by vreg_s4a.
>>
>> [...]
>>
>>> --- a/arch/arm64/boot/dts/qcom/Makefile
>>> +++ b/arch/arm64/boot/dts/qcom/Makefile
>>> @@ -58,6 +58,10 @@ lemans-evk-el2-dtbs := lemans-evk.dtb lemans-el2.dtbo
>>> dtb-$(CONFIG_ARCH_QCOM) += lemans-evk-el2.dtb
>>> lemans-evk-ifp-mezzanine-dtbs := lemans-evk.dtb lemans-evk-ifp-mezzanine.dtbo
>>> dtb-$(CONFIG_ARCH_QCOM) += lemans-evk-ifp-mezzanine.dtb
>>> +
>>> +lemans-evk-lvds-boe,dv215fhm-r01-dtbs := lemans-evk.dtb lemans-evk-ifp-mezzanine.dtbo lemans-evk-lvds-boe,dv215fhm-r01.dtbo
>>> +dtb-$(CONFIG_ARCH_QCOM) += lemans-evk-lvds-boe,dv215fhm-r01.dtb
>>
>> I have very mixed feelings regarding putting a comma in the
>> filename..
>
> I named it similar to "talos-evk-lvds-auo,g133han01.dtb", but let know if i need to remove comma.
Ah, I didn't know this is already in place. Then whoever would have issues
with it would probably harden their tooling against it, it's probably fine.
Konrad
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v3 2/3] arm64: dts: qcom: monaco-evk: Add LVDS display overlay
2026-09-05 1:30 [PATCH v3 0/3] arm64: dts: qcom: Add LVDS display overlays for lemans, monaco and rb3gen2 Vishnu Saini
2026-09-05 1:30 ` [PATCH v3 1/3] arm64: dts: qcom: lemans-evk: Add LVDS display overlay Vishnu Saini
@ 2026-09-05 1:30 ` Vishnu Saini
2026-09-05 1:30 ` [PATCH v3 3/3] arm64: dts: qcom: qcs6490-rb3gen2: " Vishnu Saini
2026-09-16 23:47 ` [PATCH v3 0/3] arm64: dts: qcom: Add LVDS display overlays for lemans, monaco and rb3gen2 Bjorn Andersson
3 siblings, 0 replies; 9+ messages in thread
From: Vishnu Saini @ 2026-09-05 1:30 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Vishnu Saini,
venkata.valluru, Jessica Zhang
The Monaco-EVK mezzanine supports LVDS display output using the
Lontium LT9211C DSI-to-LVDS bridge. The bridge is connected to the
DSI0 output and drives a dual-channel 1920x1080 LVDS panel in
VESA-24 mapping.
Add a DTBO overlay, monaco-evk-lvds-boe,dv215fhm-r01.dtso, that wires
up the LT9211C bridge on I2C8 (address 0x2d) with reset on GPIO66,
a panel-lvds node for the boe,dv215fhm-r01 panel (matched against the
panel-simple-lvds-dual-ports binding, which supplies the panel's size
and timing internally), and an LCD display bias regulator supplied
through the GPIO expander. DSI power is provided by vreg_l5a.
The overlay is built as a composite DTB combining the base
monaco-evk.dtb, the IFP mezzanine overlay, and this LVDS overlay.
Signed-off-by: Vishnu Saini <vishnu.saini@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/Makefile | 4 +
.../dts/qcom/monaco-evk-lvds-boe,dv215fhm-r01.dtso | 114 +++++++++++++++++++++
2 files changed, 118 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 6c119fd77774..8cf82e7067e2 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -80,6 +80,10 @@ dtb-$(CONFIG_ARCH_QCOM) += monaco-ac-evk-ifp-mezzanine.dtb
dtb-$(CONFIG_ARCH_QCOM) += monaco-evk-el2.dtb
monaco-evk-ifp-mezzanine-dtbs := monaco-evk.dtb monaco-evk-ifp-mezzanine.dtbo
dtb-$(CONFIG_ARCH_QCOM) += monaco-evk-ifp-mezzanine.dtb
+
+monaco-evk-lvds-boe,dv215fhm-r01-dtbs := monaco-evk.dtb monaco-evk-ifp-mezzanine.dtbo monaco-evk-lvds-boe,dv215fhm-r01.dtbo
+dtb-$(CONFIG_ARCH_QCOM) += monaco-evk-lvds-boe,dv215fhm-r01.dtb
+
dtb-$(CONFIG_ARCH_QCOM) += msm8216-samsung-fortuna3g.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8916-acer-a1-724.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8916-alcatel-idol347.dtb
diff --git a/arch/arm64/boot/dts/qcom/monaco-evk-lvds-boe,dv215fhm-r01.dtso b/arch/arm64/boot/dts/qcom/monaco-evk-lvds-boe,dv215fhm-r01.dtso
new file mode 100644
index 000000000000..b796df28037b
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/monaco-evk-lvds-boe,dv215fhm-r01.dtso
@@ -0,0 +1,114 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+
+&{/} {
+ model = "Qualcomm Technologies, Inc. Monaco EVK LVDS";
+
+ panel_lvds: panel-lvds {
+ compatible = "boe,dv215fhm-r01";
+ power-supply = <&lcd_disp_bias>;
+
+ 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;
+ };
+};
+
+&i2c8 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ 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>;
+ vccio-supply = <&vreg_l5a>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ lt9211c_in: endpoint {
+ data-lanes = <1 2 3 4>;
+ 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>;
+ };
+ };
+ };
+ };
+};
+
+&mdss_dsi0 {
+ vdda-supply = <&vreg_l5a>;
+
+ status = "okay";
+};
+
+&mdss_dsi0_out {
+ data-lanes = <0 1 2 3>;
+ remote-endpoint = <<9211c_in>;
+};
+
+&mdss_dsi0_phy {
+ vdds-supply = <&vreg_l4a>;
+
+ status = "okay";
+};
+
--
2.34.1
^ permalink raw reply [flat|nested] 9+ messages in thread* [PATCH v3 3/3] arm64: dts: qcom: qcs6490-rb3gen2: Add LVDS display overlay
2026-09-05 1:30 [PATCH v3 0/3] arm64: dts: qcom: Add LVDS display overlays for lemans, monaco and rb3gen2 Vishnu Saini
2026-09-05 1:30 ` [PATCH v3 1/3] arm64: dts: qcom: lemans-evk: Add LVDS display overlay Vishnu Saini
2026-09-05 1:30 ` [PATCH v3 2/3] arm64: dts: qcom: monaco-evk: " Vishnu Saini
@ 2026-09-05 1:30 ` Vishnu Saini
2026-09-16 23:47 ` [PATCH v3 0/3] arm64: dts: qcom: Add LVDS display overlays for lemans, monaco and rb3gen2 Bjorn Andersson
3 siblings, 0 replies; 9+ messages in thread
From: Vishnu Saini @ 2026-09-05 1:30 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Vishnu Saini,
venkata.valluru, Jessica Zhang
The QCS6490 RB3 Gen2 industrial mezzanine supports LVDS display output
using the Lontium LT9211C DSI-to-LVDS bridge as an alternative to the
default HDMI output via the LT9611UXC bridge.
Add a DTBO overlay,
qcs6490-rb3gen2-industrial-mezzanine-lvds-boe,dv215fhm-r01.dtso, that
disables HDMI (hdmi-connector and lt9611_codec) and wires up the LT9211C
bridge on I2C1 (address 0x29) with reset on GPIO117. The overlay adds a
dual-channel panel-lvds node for the boe,dv215fhm-r01 panel, matched
against the panel-simple-lvds-dual-ports binding which supplies the
panel's size and timing internally.
The overlay is built as a composite DTB combining the base
qcs6490-rb3gen2.dtb, the industrial mezzanine overlay, and this LVDS
overlay.
Signed-off-by: Vishnu Saini <vishnu.saini@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/Makefile | 6 ++
...industrial-mezzanine-lvds-boe,dv215fhm-r01.dtso | 106 +++++++++++++++++++++
2 files changed, 112 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 8cf82e7067e2..d3c09bb4d1a9 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -196,6 +196,12 @@ qcs6490-rb3gen2-vision-mezzanine-dtbs := qcs6490-rb3gen2.dtb qcs6490-rb3gen2-vis
qcs6490-rb3gen2-industrial-mezzanine-dtbs := qcs6490-rb3gen2.dtb qcs6490-rb3gen2-industrial-mezzanine.dtbo
dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2-industrial-mezzanine.dtb
+
+qcs6490-rb3gen2-industrial-mezzanine-lvds-boe,dv215fhm-r01-dtbs := \
+ qcs6490-rb3gen2.dtb qcs6490-rb3gen2-industrial-mezzanine.dtbo \
+ qcs6490-rb3gen2-industrial-mezzanine-lvds-boe,dv215fhm-r01.dtbo
+dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2-industrial-mezzanine-lvds-boe,dv215fhm-r01.dtb
+
dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2-vision-mezzanine.dtb
dtb-$(CONFIG_ARCH_QCOM) += qcs6490-thundercomm-minipc-g1iot.dtb
dtb-$(CONFIG_ARCH_QCOM) += qcs6490-thundercomm-rubikpi3.dtb
diff --git a/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-industrial-mezzanine-lvds-boe,dv215fhm-r01.dtso b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-industrial-mezzanine-lvds-boe,dv215fhm-r01.dtso
new file mode 100644
index 000000000000..5501ea09f43b
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/qcs6490-rb3gen2-industrial-mezzanine-lvds-boe,dv215fhm-r01.dtso
@@ -0,0 +1,106 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+
+&{/} {
+ model = "Qualcomm Technologies, Inc. Industrial RB3gen2 LVDS";
+
+ hdmi-connector {
+ status = "disabled";
+ };
+
+ panel_lvds: panel-lvds {
+ compatible = "boe,dv215fhm-r01";
+ power-supply = <&lcd_disp_bias>;
+
+ 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>;
+ vin-supply = <&vreg_l18b_1p8>;
+ };
+};
+
+&i2c1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ status = "okay";
+
+ lvds_bridge: lvds-bridge@29 {
+ compatible = "lontium,lt9211c";
+ reg = <0x29>;
+ reset-gpios = <&tlmm 117 GPIO_ACTIVE_HIGH>;
+ vccio-supply = <&vreg_l18b_1p8>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ lt9211c_in: endpoint {
+ data-lanes = <1 2 3 4>;
+ 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>;
+ };
+ };
+ };
+ };
+};
+
+<9611_codec {
+ status = "disabled";
+};
+
+&mdss_dsi0_out {
+ remote-endpoint = <<9211c_in>;
+};
+
--
2.34.1
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH v3 0/3] arm64: dts: qcom: Add LVDS display overlays for lemans, monaco and rb3gen2
2026-09-05 1:30 [PATCH v3 0/3] arm64: dts: qcom: Add LVDS display overlays for lemans, monaco and rb3gen2 Vishnu Saini
` (2 preceding siblings ...)
2026-09-05 1:30 ` [PATCH v3 3/3] arm64: dts: qcom: qcs6490-rb3gen2: " Vishnu Saini
@ 2026-09-16 23:47 ` Bjorn Andersson
2026-09-17 14:19 ` Vishnu Saini
3 siblings, 1 reply; 9+ messages in thread
From: Bjorn Andersson @ 2026-09-16 23:47 UTC (permalink / raw)
To: Vishnu Saini
Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
linux-arm-msm, devicetree, linux-kernel, venkata.valluru,
Jessica Zhang
On Sat, Sep 05, 2026 at 07:00:14AM +0530, Vishnu Saini wrote:
> This series adds LVDS display support via device tree overlays for three
> Qualcomm platforms: Lemans EVK, Monaco EVK, and QCS6490 RB3 Gen2
> industrial mezzanine.
>
> All three platforms use the Lontium LT9211C DSI-to-LVDS bridge chip, which
> converts DSI output to dual-channel LVDS for driving 1920x1080 panels.
> The overlays are structured to be applied on top of the existing IFP
> mezzanine overlay.
>
> This series depends on:
> [PATCH v8 0/2] This series adds LT9211C bridge driver by extending LT9211
> https://lore.kernel.org/all/20260904-add-lt9211c-bridge-v8-0-36d66168e176@oss.qualcomm.com/
>
> which adds lontium,lt9211c compatible support to the lontium-lt9211 driver
> and extends the binding YAML accordingly,
>
> [PATCH v4 0/2] This series adds BOE DV215FHM-R01 LVDS panel support
> https://lore.kernel.org/all/20260903-b4-lvds-panel-doc-v4-0-861738a0d5de@oss.qualcomm.com/
>
> which documents the boe,dv215fhm-r01 panel and adds the timings used by these
> overlays,
Then get those merge first, so that I don't have to spend time figuring
that out for you.
> and:
>
> arm64: defconfig: Enable Lontium LT9211 driver
> https://lore.kernel.org/all/20260904-for-next-lt9211-defconfig-v1-1-97221f0109d7@oss.qualcomm.com/
>
> which enables the driver in defconfig.
This is not a dependency for your changes to be merged.
Regards,
Bjorn
>
> Signed-off-by: Vishnu Saini <vishnu.saini@oss.qualcomm.com>
> ---
> Changes in v3:
> - Removed redundant status = "okay" on nodes that are enabled by
> default [Konrad]
> - Added a blank line between the last property and the following
> subnode throughout the port@N blocks [Konrad]
> - Link to v2: https://lore.kernel.org/r/20260813-lvds-support-v2-0-6b11035e8ab0@oss.qualcomm.com
>
> Changes in v2:
> - Updated overlays to make them compatable with panel-simple-lvds-dual-ports.yaml [Rob (in panel series)]
> - Added Empty lines before the status property [Dmitry]
> - Link to v0: https://lore.kernel.org/r/20260719-lvds-support-v1-0-1f1aca3213ba@oss.qualcomm.com
>
> ---
> Vishnu Saini (3):
> arm64: dts: qcom: lemans-evk: Add LVDS display overlay
> arm64: dts: qcom: monaco-evk: Add LVDS display overlay
> arm64: dts: qcom: qcs6490-rb3gen2: Add LVDS display overlay
>
> arch/arm64/boot/dts/qcom/Makefile | 14 +++
> .../dts/qcom/lemans-evk-lvds-boe,dv215fhm-r01.dtso | 113 ++++++++++++++++++++
> .../dts/qcom/monaco-evk-lvds-boe,dv215fhm-r01.dtso | 114 +++++++++++++++++++++
> ...industrial-mezzanine-lvds-boe,dv215fhm-r01.dtso | 106 +++++++++++++++++++
> 4 files changed, 347 insertions(+)
> ---
> base-commit: ba20122d4c311bd9384f38e7ba1d0c122e21745d
> change-id: 20260708-lvds-support-2d40d60654f1
> prerequisite-message-id: <20260904-add-lt9211c-bridge-v8-0-36d66168e176@oss.qualcomm.com>
> prerequisite-patch-id: dbba64d1ace696df388c5df3d1cb05a0701df194
> prerequisite-patch-id: fac2b93f3e250589dffd7c076d2ef1aa7a2519a1
> prerequisite-message-id: <20260903-b4-lvds-panel-doc-v4-0-861738a0d5de@oss.qualcomm.com>
> prerequisite-patch-id: 1d3e40bbefcb2550afd81c5cced812a1d3b943a2
> prerequisite-patch-id: bd3612ce053552e2ae7401a1217c4884413563f4
> prerequisite-message-id: <20260904-for-next-lt9211-defconfig-v1-1-97221f0109d7@oss.qualcomm.com>
> prerequisite-patch-id: 9e3233401819ca53c119e6cfab95b0c471ef254e
>
> Best regards,
> --
> Vishnu Saini <vishnu.saini@oss.qualcomm.com>
>
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH v3 0/3] arm64: dts: qcom: Add LVDS display overlays for lemans, monaco and rb3gen2
2026-09-16 23:47 ` [PATCH v3 0/3] arm64: dts: qcom: Add LVDS display overlays for lemans, monaco and rb3gen2 Bjorn Andersson
@ 2026-09-17 14:19 ` Vishnu Saini
0 siblings, 0 replies; 9+ messages in thread
From: Vishnu Saini @ 2026-09-17 14:19 UTC (permalink / raw)
To: Bjorn Andersson
Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
linux-arm-msm, devicetree, linux-kernel, venkata.valluru,
Jessica Zhang
On Wed, Sep 16, 2026 at 06:47:16PM -0500, Bjorn Andersson wrote:
> On Sat, Sep 05, 2026 at 07:00:14AM +0530, Vishnu Saini wrote:
> > This series adds LVDS display support via device tree overlays for three
> > Qualcomm platforms: Lemans EVK, Monaco EVK, and QCS6490 RB3 Gen2
> > industrial mezzanine.
> >
> > All three platforms use the Lontium LT9211C DSI-to-LVDS bridge chip, which
> > converts DSI output to dual-channel LVDS for driving 1920x1080 panels.
> > The overlays are structured to be applied on top of the existing IFP
> > mezzanine overlay.
> >
> > This series depends on:
> > [PATCH v8 0/2] This series adds LT9211C bridge driver by extending LT9211
> > https://lore.kernel.org/all/20260904-add-lt9211c-bridge-v8-0-36d66168e176@oss.qualcomm.com/
> >
> > which adds lontium,lt9211c compatible support to the lontium-lt9211 driver
> > and extends the binding YAML accordingly,
> >
> > [PATCH v4 0/2] This series adds BOE DV215FHM-R01 LVDS panel support
> > https://lore.kernel.org/all/20260903-b4-lvds-panel-doc-v4-0-861738a0d5de@oss.qualcomm.com/
> >
> > which documents the boe,dv215fhm-r01 panel and adds the timings used by these
> > overlays,
>
> Then get those merge first, so that I don't have to spend time figuring
> that out for you.
Thank you, next revision will be posted once dependencies are applied.
> > and:
> >
> > arm64: defconfig: Enable Lontium LT9211 driver
> > https://lore.kernel.org/all/20260904-for-next-lt9211-defconfig-v1-1-97221f0109d7@oss.qualcomm.com/
> >
> > which enables the driver in defconfig.
>
> This is not a dependency for your changes to be merged.
Ok, will remove it from dependency list.
> Regards,
> Bjorn
>
> >
> > Signed-off-by: Vishnu Saini <vishnu.saini@oss.qualcomm.com>
> > ---
> > Changes in v3:
> > - Removed redundant status = "okay" on nodes that are enabled by
> > default [Konrad]
> > - Added a blank line between the last property and the following
> > subnode throughout the port@N blocks [Konrad]
> > - Link to v2: https://lore.kernel.org/r/20260813-lvds-support-v2-0-6b11035e8ab0@oss.qualcomm.com
> >
> > Changes in v2:
> > - Updated overlays to make them compatable with panel-simple-lvds-dual-ports.yaml [Rob (in panel series)]
> > - Added Empty lines before the status property [Dmitry]
> > - Link to v0: https://lore.kernel.org/r/20260719-lvds-support-v1-0-1f1aca3213ba@oss.qualcomm.com
> >
> > ---
> > Vishnu Saini (3):
> > arm64: dts: qcom: lemans-evk: Add LVDS display overlay
> > arm64: dts: qcom: monaco-evk: Add LVDS display overlay
> > arm64: dts: qcom: qcs6490-rb3gen2: Add LVDS display overlay
> >
> > arch/arm64/boot/dts/qcom/Makefile | 14 +++
> > .../dts/qcom/lemans-evk-lvds-boe,dv215fhm-r01.dtso | 113 ++++++++++++++++++++
> > .../dts/qcom/monaco-evk-lvds-boe,dv215fhm-r01.dtso | 114 +++++++++++++++++++++
> > ...industrial-mezzanine-lvds-boe,dv215fhm-r01.dtso | 106 +++++++++++++++++++
> > 4 files changed, 347 insertions(+)
> > ---
> > base-commit: ba20122d4c311bd9384f38e7ba1d0c122e21745d
> > change-id: 20260708-lvds-support-2d40d60654f1
> > prerequisite-message-id: <20260904-add-lt9211c-bridge-v8-0-36d66168e176@oss.qualcomm.com>
> > prerequisite-patch-id: dbba64d1ace696df388c5df3d1cb05a0701df194
> > prerequisite-patch-id: fac2b93f3e250589dffd7c076d2ef1aa7a2519a1
> > prerequisite-message-id: <20260903-b4-lvds-panel-doc-v4-0-861738a0d5de@oss.qualcomm.com>
> > prerequisite-patch-id: 1d3e40bbefcb2550afd81c5cced812a1d3b943a2
> > prerequisite-patch-id: bd3612ce053552e2ae7401a1217c4884413563f4
> > prerequisite-message-id: <20260904-for-next-lt9211-defconfig-v1-1-97221f0109d7@oss.qualcomm.com>
> > prerequisite-patch-id: 9e3233401819ca53c119e6cfab95b0c471ef254e
> >
> > Best regards,
> > --
> > Vishnu Saini <vishnu.saini@oss.qualcomm.com>
> >
^ permalink raw reply [flat|nested] 9+ messages in thread