From: Vitor Soares <[email protected]> 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 <[email protected]> --- arch/arm64/boot/dts/ti/Makefile | 5 + ...verdin-dev-mezzanine-lvds-lg-lp156wf1.dtso | 129 ++++++++++++++++++ 2 files changed, 134 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..a4d6cbe9ff3b --- /dev/null +++ b/arch/arm64/boot/dts/ti/k3-am625-verdin-dev-mezzanine-lvds-lg-lp156wf1.dtso @@ -0,0 +1,129 @@ +// 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
