* [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-05 1:38 ` sashiko-bot
2026-09-05 1:30 ` [PATCH v3 2/3] arm64: dts: qcom: monaco-evk: " Vishnu Saini
2026-09-05 1:30 ` [PATCH v3 3/3] arm64: dts: qcom: qcs6490-rb3gen2: " Vishnu Saini
2 siblings, 1 reply; 7+ 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 related [flat|nested] 7+ 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-05 1:38 ` sashiko-bot
0 siblings, 0 replies; 7+ messages in thread
From: sashiko-bot @ 2026-09-05 1:38 UTC (permalink / raw)
To: Vishnu Saini; +Cc: robh, conor+dt, devicetree
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] Missing Driver Support / Undocumented Compatible Strings
--
commit 78dfb1b1aa86e3fb2e9b0abac38907b8140f5130
Author: Vishnu Saini <vishnu.saini@oss.qualcomm.com>
arm64: dts: qcom: lemans-evk: Add LVDS display overlay
This commit adds a device tree overlay for the Lemans EVK IFP mezzanine to
support LVDS display output. It configures the LT9211C DSI-to-LVDS bridge and
a BOE dv215fhm-r01 panel.
> 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 0000000000000..bd3e13c46a1e7
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/lemans-evk-lvds-boe,dv215fhm-r01.dtso
[ ... ]
> +&{/} {
> + model = "Qualcomm Technologies, Inc. Lemans EVK LVDS";
> +
> + panel_lvds: panel-lvds {
> + compatible = "boe,dv215fhm-r01";
[Severity: Medium]
Will the panel_lvds node probe successfully during boot?
The compatible string "boe,dv215fhm-r01" in
arch/arm64/boot/dts/qcom/lemans-evk-lvds-boe,dv215fhm-r01.dtso appears to be
undocumented and unsupported by the panel-simple driver. Because there is no
generic fallback (such as "panel-lvds") with explicitly supplied timings, the
driver core will not find a matching OF entry and the binding will fail
deterministically.
Could a generic fallback be added, or does this compatible string need to be
added to the driver bindings first?
> + power-supply = <&lcd_disp_bias>;
[ ... ]
> +&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";
[Severity: Medium]
Is it expected that the lt9211c_codec bridge device lacks a driver match?
Similar to the panel node above, the compatible string "lontium,lt9211c" is
undocumented and not supported by the existing lontium-lt9211 driver. Without
a matching driver entry or a generic fallback like "lontium,lt9211", the
bridge will not probe, leaving the display pipeline uninitialized.
Does the lontium-lt9211 driver need to be updated to match this compatible, or
should this node include a generic fallback?
> + reg = <0x2d>;
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260905-lvds-support-v3-0-b40a1b03f63c@oss.qualcomm.com?part=1
^ permalink raw reply [flat|nested] 7+ 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:39 ` sashiko-bot
2026-09-05 1:30 ` [PATCH v3 3/3] arm64: dts: qcom: qcs6490-rb3gen2: " Vishnu Saini
2 siblings, 1 reply; 7+ 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 related [flat|nested] 7+ messages in thread* Re: [PATCH v3 2/3] arm64: dts: qcom: monaco-evk: Add LVDS display overlay
2026-09-05 1:30 ` [PATCH v3 2/3] arm64: dts: qcom: monaco-evk: " Vishnu Saini
@ 2026-09-05 1:39 ` sashiko-bot
0 siblings, 0 replies; 7+ messages in thread
From: sashiko-bot @ 2026-09-05 1:39 UTC (permalink / raw)
To: Vishnu Saini; +Cc: devicetree, robh, conor+dt
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Medium] Missing driver support and dt-binding for "boe,dv215fhm-r01" compatible string
- [Medium] Missing driver support and dt-binding for "lontium,lt9211c" compatible string
--
commit a2fe1318b3ecc93e85b9567ef46bf0dde9702054
Author: Vishnu Saini <vishnu.saini@oss.qualcomm.com>
arm64: dts: qcom: monaco-evk: Add LVDS display overlay
This commit adds a device tree overlay for the Monaco-EVK mezzanine to support
an LVDS display output. It wires up the Lontium LT9211C DSI-to-LVDS bridge
along with a BOE dual-channel 1920x1080 panel.
> 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 0000000000000..b796df28037bf
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/monaco-evk-lvds-boe,dv215fhm-r01.dtso
[ ... ]
> +&{/} {
> + model = "Qualcomm Technologies, Inc. Monaco EVK LVDS";
> +
> + panel_lvds: panel-lvds {
> + compatible = "boe,dv215fhm-r01";
[Severity: Medium]
Is the driver support for this panel included in another patch series?
When this overlay is applied, the driver core will attempt to match this
compatible string against available panel drivers, but no driver currently
registers it and there is no generic fallback provided (such as panel-lvds).
This might cause the panel device to fail to probe, leaving the display
pipeline uninitialized.
[ ... ]
> +&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";
[Severity: Medium]
Does this compatible string have a corresponding driver binding?
The existing lontium-lt9211 driver only matches lontium,lt9211. Without
driver support for lontium,lt9211c, the DSI-to-LVDS bridge device may fail
to match and probe, leaving the display pipeline non-functional.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260905-lvds-support-v3-0-b40a1b03f63c@oss.qualcomm.com?part=2
^ permalink raw reply [flat|nested] 7+ 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-05 1:41 ` sashiko-bot
2 siblings, 1 reply; 7+ 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 related [flat|nested] 7+ messages in thread* Re: [PATCH v3 3/3] arm64: dts: qcom: qcs6490-rb3gen2: Add LVDS display overlay
2026-09-05 1:30 ` [PATCH v3 3/3] arm64: dts: qcom: qcs6490-rb3gen2: " Vishnu Saini
@ 2026-09-05 1:41 ` sashiko-bot
0 siblings, 0 replies; 7+ messages in thread
From: sashiko-bot @ 2026-09-05 1:41 UTC (permalink / raw)
To: Vishnu Saini; +Cc: devicetree, conor+dt, robh
Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider:
- [High] The DT overlay relies on hardware compatible strings that do not exist in the upstream kernel, preventing probe.
- [High] The 'lcd_disp_bias' fixed regulator claims a 5.5V output while being powered by a 1.8V PMIC LDO input rail.
- [Medium] The `lvds_bridge` reset GPIO lacks a corresponding `pinctrl` configuration.
--
commit 80f1496cde2f06d27ebc2ce6e50c133cce0ed74c
Author: Vishnu Saini <vishnu.saini@oss.qualcomm.com>
arm64: dts: qcom: qcs6490-rb3gen2: Add LVDS display overlay
This commit adds a DTBO overlay for the QCS6490 RB3 Gen2 industrial mezzanine
to support LVDS display output. It disables HDMI and wires up a Lontium
LT9211C DSI-to-LVDS bridge alongside a BOE DV215FHM-R01 panel.
[ ... ]
> 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 0000000000000..5501ea09f43ba
> --- /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";
[Severity: High]
Are these compatible strings present in the upstream kernel? It appears
that "boe,dv215fhm-r01" (and "lontium,lt9211c" below in the lvds_bridge
node) do not exist in mainline. Without these drivers and bindings, the
devices will silently fail to probe and the overlay will fail dtbs_check
validation when booted.
> + power-supply = <&lcd_disp_bias>;
> +
> + ports {
[ ... ]
> + 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>;
[Severity: High]
Is this physical regulator configuration correct? The lcd_disp_bias fixed
regulator claims a 5.5V output while being powered by a 1.8V PMIC LDO input
rail (vreg_l18b_1p8). A fixed regulator cannot step up 1.8V to 5.5V, and
the PMIC LDO cannot supply the wattage required for a 21.5" panel logic
rail. This will likely result in panel power failure and a potential PMIC
overcurrent when the panel driver enables the power-supply during display
initialization.
> + };
> +};
> +
> +&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>;
[Severity: Medium]
Does this reset GPIO need a corresponding pinctrl configuration to define
its hardware state? The GPIO is requested for the bridge reset but lacks
guaranteed pin muxing. Without pinctrl, the pin might be left in a
high-impedance, undefined, or bootloader-specific state, potentially
preventing the reset signal from successfully reaching the bridge chip
during probe.
> + vccio-supply = <&vreg_l18b_1p8>;
> +
> + ports {
[ ... ]
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260905-lvds-support-v3-0-b40a1b03f63c@oss.qualcomm.com?part=3
^ permalink raw reply [flat|nested] 7+ messages in thread