* [PATCH v1 1/2] dt-bindings: display: panel: Add LG LP156WF1
2026-05-29 11:05 [PATCH v1 0/2] dt-bindings: display: panel: Add LG LP156WF1 dual-LVDS panel Vitor Soares
@ 2026-05-29 11:05 ` Vitor Soares
2026-05-29 16:32 ` Conor Dooley
2026-05-29 11:05 ` [PATCH v1 2/2] arm64: dts: ti: k3-am62-verdin: Add Mezzanine with LG LP156WF1 LVDS panel Vitor Soares
2026-05-29 16:13 ` [PATCH v1 0/2] dt-bindings: display: panel: Add LG LP156WF1 dual-LVDS panel Francesco Dolcini
2 siblings, 1 reply; 5+ messages in thread
From: Vitor Soares @ 2026-05-29 11:05 UTC (permalink / raw)
To: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Laurent Pinchart,
Francesco Dolcini, Lad Prabhakar, Thierry Reding
Cc: Vitor Soares, dri-devel, devicetree, linux-kernel, Nishanth Menon,
Vignesh Raghavendra, Tero Kristo
From: Vitor Soares <vitor.soares@toradex.com>
Add device tree binding for the LG LP156WF1 15.6" Full-HD (1920x1080)
dual-channel LVDS panel.
Also add lg,lp156wf1 to the panel-lvds.yaml exclusion list to prevent
false schema matches.
Signed-off-by: Vitor Soares <vitor.soares@toradex.com>
---
.../bindings/display/panel/lg,lp156wf1.yaml | 105 ++++++++++++++++++
.../bindings/display/panel/panel-lvds.yaml | 1 +
2 files changed, 106 insertions(+)
create mode 100644 Documentation/devicetree/bindings/display/panel/lg,lp156wf1.yaml
diff --git a/Documentation/devicetree/bindings/display/panel/lg,lp156wf1.yaml b/Documentation/devicetree/bindings/display/panel/lg,lp156wf1.yaml
new file mode 100644
index 000000000000..6b91c2ea4827
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/panel/lg,lp156wf1.yaml
@@ -0,0 +1,105 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/panel/lg,lp156wf1.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: LG LP156WF1 15.6" Full-HD dual-LVDS panel
+
+maintainers:
+ - Francesco Dolcini <francesco@dolcini.it>
+
+description: |
+ The LP156WF1 from LG is a 15.6" Full-HD dual-LVDS panel.
+ A dual-LVDS interface is a dual-link connection with even pixels traveling
+ on one link, and with odd pixels traveling on the other link.
+
+allOf:
+ - $ref: /schemas/display/lvds-dual-ports.yaml#
+ - $ref: panel-common.yaml#
+
+properties:
+ compatible:
+ items:
+ - const: lg,lp156wf1
+ - {} # panel-lvds, but not listed here to avoid false select
+
+ width-mm:
+ const: 345
+
+ height-mm:
+ const: 194
+
+ data-mapping:
+ const: jeida-24
+
+ panel-timing: true
+
+ ports:
+ $ref: /schemas/graph.yaml#/properties/ports
+
+ properties:
+ port@0:
+ required:
+ - dual-lvds-odd-pixels
+
+ port@1:
+ required:
+ - dual-lvds-even-pixels
+
+ required:
+ - port@0
+ - port@1
+
+required:
+ - compatible
+ - width-mm
+ - height-mm
+ - data-mapping
+ - panel-timing
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ panel-lvds {
+ compatible = "lg,lp156wf1", "panel-lvds";
+ width-mm = <345>;
+ height-mm = <194>;
+ data-mapping = "jeida-24";
+
+ panel-timing {
+ clock-frequency = <138500000>;
+ hactive = <1920>;
+ hback-porch = <40>;
+ hfront-porch = <24>;
+ hsync-len = <16>;
+ vactive = <1080>;
+ vback-porch = <23>;
+ vfront-porch = <3>;
+ vsync-len = <5>;
+ };
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ dual-lvds-odd-pixels;
+ panel_in0: endpoint {
+ remote-endpoint = <&lvds0_out>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ dual-lvds-even-pixels;
+ panel_in1: endpoint {
+ remote-endpoint = <&lvds1_out>;
+ };
+ };
+ };
+ };
+
+...
diff --git a/Documentation/devicetree/bindings/display/panel/panel-lvds.yaml b/Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
index b89f86bc0683..fbe8c162ca59 100644
--- a/Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
+++ b/Documentation/devicetree/bindings/display/panel/panel-lvds.yaml
@@ -28,6 +28,7 @@ select:
- advantech,idk-1110wr
- advantech,idk-2121wr
- innolux,ee101ia-01d
+ - lg,lp156wf1
- mitsubishi,aa104xd12
- mitsubishi,aa121td01
- sgd,gktw70sdae4se
--
2.54.0
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH v1 1/2] dt-bindings: display: panel: Add LG LP156WF1
2026-05-29 11:05 ` [PATCH v1 1/2] dt-bindings: display: panel: Add LG LP156WF1 Vitor Soares
@ 2026-05-29 16:32 ` Conor Dooley
0 siblings, 0 replies; 5+ messages in thread
From: Conor Dooley @ 2026-05-29 16:32 UTC (permalink / raw)
To: Vitor Soares
Cc: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Laurent Pinchart,
Francesco Dolcini, Lad Prabhakar, Thierry Reding, Vitor Soares,
dri-devel, devicetree, linux-kernel, Nishanth Menon,
Vignesh Raghavendra, Tero Kristo
[-- Attachment #1: Type: text/plain, Size: 78 bytes --]
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
pw-bot: not-applicable
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v1 2/2] arm64: dts: ti: k3-am62-verdin: Add Mezzanine with LG LP156WF1 LVDS panel
2026-05-29 11:05 [PATCH v1 0/2] dt-bindings: display: panel: Add LG LP156WF1 dual-LVDS panel Vitor Soares
2026-05-29 11:05 ` [PATCH v1 1/2] dt-bindings: display: panel: Add LG LP156WF1 Vitor Soares
@ 2026-05-29 11:05 ` Vitor Soares
2026-05-29 16:13 ` [PATCH v1 0/2] dt-bindings: display: panel: Add LG LP156WF1 dual-LVDS panel Francesco Dolcini
2 siblings, 0 replies; 5+ messages in thread
From: Vitor Soares @ 2026-05-29 11:05 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: Vitor Soares, linux-arm-kernel, devicetree, linux-kernel
From: Vitor Soares <vitor.soares@toradex.com>
Add a device tree overlay enabling the LG LP156WF1 15.6" FHD (1920x1080)
dual-channel LVDS panel on the Verdin Development Board with Verdin AM62
Mezzanine expansion board. The panel connects via the AM62 OLDI0 and
OLDI1 in dual-channel mode on the Mezzanine LVDS interface (J10).
Assisted-by: Claude:claude-sonnet-4.6
Signed-off-by: Vitor Soares <vitor.soares@toradex.com>
---
arch/arm64/boot/dts/ti/Makefile | 5 +
...verdin-dev-mezzanine-lvds-lg-lp156wf1.dtso | 131 ++++++++++++++++++
2 files changed, 136 insertions(+)
create mode 100644 arch/arm64/boot/dts/ti/k3-am625-verdin-dev-mezzanine-lvds-lg-lp156wf1.dtso
diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile
index 371f9a043fe5..e9951b5d2e0b 100644
--- a/arch/arm64/boot/dts/ti/Makefile
+++ b/arch/arm64/boot/dts/ti/Makefile
@@ -30,6 +30,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am625-phyboard-lyra-rdk.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am625-sk.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am625-tqma62xx-mba62xx.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-dev-mezzanine-can.dtbo
+dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-dev-mezzanine-lvds-lg-lp156wf1.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-dev-mezzanine-panel-cap-touch-10inch-lvds.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-dev-nau8822-btl.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-dsi-to-hdmi.dtbo
@@ -232,6 +233,9 @@ k3-am625-verdin-wifi-dev-dsi-to-lvds-panel-cap-touch-10inch-dtbs := \
k3-am625-verdin-dsi-to-lvds-panel-cap-touch-10inch.dtbo
k3-am625-verdin-wifi-dev-mezzanine-can-dtbs := k3-am625-verdin-wifi-dev.dtb \
k3-am625-verdin-dev-mezzanine-can.dtbo
+k3-am625-verdin-wifi-dev-mezzanine-lvds-lg-lp156wf1-dtbs := \
+ k3-am625-verdin-wifi-dev.dtb \
+ k3-am625-verdin-dev-mezzanine-lvds-lg-lp156wf1.dtbo
k3-am625-verdin-wifi-dev-mezzanine-panel-cap-touch-10inch-lvds-dtbs := \
k3-am625-verdin-wifi-dev.dtb \
k3-am625-verdin-dev-mezzanine-panel-cap-touch-10inch-lvds.dtbo
@@ -352,6 +356,7 @@ dtb- += k3-am625-beagleplay-csi2-ov5640.dtb \
k3-am625-sk-hdmi-audio.dtb \
k3-am625-verdin-wifi-dev-dsi-to-lvds-panel-cap-touch-10inch.dtb \
k3-am625-verdin-wifi-dev-mezzanine-can.dtb \
+ k3-am625-verdin-wifi-dev-mezzanine-lvds-lg-lp156wf1.dtb \
k3-am625-verdin-wifi-dev-mezzanine-panel-cap-touch-10inch-lvds.dtb \
k3-am625-verdin-wifi-dev-nau8822-btl.dtb \
k3-am625-verdin-wifi-dev-ov5640-24mhz.dtb \
diff --git a/arch/arm64/boot/dts/ti/k3-am625-verdin-dev-mezzanine-lvds-lg-lp156wf1.dtso b/arch/arm64/boot/dts/ti/k3-am625-verdin-dev-mezzanine-lvds-lg-lp156wf1.dtso
new file mode 100644
index 000000000000..bb4acc1edf35
--- /dev/null
+++ b/arch/arm64/boot/dts/ti/k3-am625-verdin-dev-mezzanine-lvds-lg-lp156wf1.dtso
@@ -0,0 +1,131 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright (c) Toradex
+ *
+ * LG LP156WF1 dual-channel LVDS panel on Verdin AM62 Mezzanine
+ * LVDS interface (J10), used with the Verdin Development Board.
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/pwm/pwm.h>
+
+&{/} {
+ backlight_pwm2: backlight-pwm2 {
+ compatible = "pwm-backlight";
+ brightness-levels = <0 45 63 88 119 158 203 255>;
+ default-brightness-level = <4>;
+ /* Verdin GPIO_4 (SODIMM 212) - LVDS_BKL_EN */
+ enable-gpios = <&mcu_gpio0 4 GPIO_ACTIVE_HIGH>;
+ /* Verdin PWM_2 (SODIMM 16) - LVDS_PWM */
+ pwms = <&epwm0 1 6666667 PWM_POLARITY_INVERTED>;
+ };
+
+ panel-lvds-native {
+ compatible = "lg,lp156wf1", "panel-lvds";
+ backlight = <&backlight_pwm2>;
+ data-mapping = "jeida-24";
+ height-mm = <194>;
+ width-mm = <345>;
+
+ panel-timing {
+ clock-frequency = <138500000>;
+ hactive = <1920>;
+ hback-porch = <40>;
+ hfront-porch = <24>;
+ hsync-len = <16>;
+ pixelclk-active = <0>;
+ vactive = <1080>;
+ vback-porch = <23>;
+ vfront-porch = <3>;
+ vsync-len = <5>;
+ };
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ dual-lvds-odd-pixels;
+
+ panel_lvds_native_in0: endpoint {
+ remote-endpoint = <&oldi0_out>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ dual-lvds-even-pixels;
+
+ panel_lvds_native_in1: endpoint {
+ remote-endpoint = <&oldi1_out>;
+ };
+ };
+ };
+ };
+};
+
+&dss {
+ status = "okay";
+};
+
+&dss_ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ /* DSS VP1: internal DPI output to OLDIx */
+ port@0 {
+ reg = <0>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ dss0_out0: endpoint@0 {
+ reg = <0>;
+ remote-endpoint = <&oldi0_in>;
+ };
+
+ dss0_out1: endpoint@1 {
+ reg = <1>;
+ remote-endpoint = <&oldi1_in>;
+ };
+ };
+};
+
+&oldi0 {
+ ti,companion-oldi = <&oldi1>;
+
+ status = "okay";
+};
+
+&oldi0_port0 {
+ oldi0_in: endpoint {
+ remote-endpoint = <&dss0_out0>;
+ };
+};
+
+&oldi0_port1 {
+ oldi0_out: endpoint {
+ remote-endpoint = <&panel_lvds_native_in0>;
+ };
+};
+
+&oldi1 {
+ ti,secondary-oldi;
+
+ status = "okay";
+};
+
+&oldi1_port0 {
+ oldi1_in: endpoint {
+ remote-endpoint = <&dss0_out1>;
+ };
+};
+
+&oldi1_port1 {
+ oldi1_out: endpoint {
+ remote-endpoint = <&panel_lvds_native_in1>;
+ };
+};
--
2.54.0
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH v1 0/2] dt-bindings: display: panel: Add LG LP156WF1 dual-LVDS panel
2026-05-29 11:05 [PATCH v1 0/2] dt-bindings: display: panel: Add LG LP156WF1 dual-LVDS panel Vitor Soares
2026-05-29 11:05 ` [PATCH v1 1/2] dt-bindings: display: panel: Add LG LP156WF1 Vitor Soares
2026-05-29 11:05 ` [PATCH v1 2/2] arm64: dts: ti: k3-am62-verdin: Add Mezzanine with LG LP156WF1 LVDS panel Vitor Soares
@ 2026-05-29 16:13 ` Francesco Dolcini
2 siblings, 0 replies; 5+ messages in thread
From: Francesco Dolcini @ 2026-05-29 16:13 UTC (permalink / raw)
To: Vitor Soares
Cc: Neil Armstrong, Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Laurent Pinchart,
Nishanth Menon, Vignesh Raghavendra, Tero Kristo,
Francesco Dolcini, Lad Prabhakar, Thierry Reding, Vitor Soares,
dri-devel, devicetree, linux-kernel, linux-arm-kernel
On Fri, May 29, 2026 at 12:05:18PM +0100, Vitor Soares wrote:
> From: Vitor Soares <vitor.soares@toradex.com>
>
> Add support for the LG LP156WF1 15.6" Full-HD dual-link LVDS panel and
> a Verdin AM62 overlay for using it through the Verdin Development Board
> with the Verdin AM62 Mezzanine LVDS interface.
>
> This is a follow-up to an earlier attempt [1], where panel-lvds.yaml
> was incorrectly extended to describe dual-link panels. Back in 2023,
> when a generic dual-channel LVDS binding was proposed, Rob Herring [2]
> pointed out that dual-link panels should follow the existing
> advantech,idk-2121wr pattern instead of introducing a new generic
> compatible.
Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
^ permalink raw reply [flat|nested] 5+ messages in thread