arm64: dts: ti: k3-am62-verdin: Add Toradex Capacitive Touch Display 10.1" LVDS V2

Add a device tree overlay for the Toradex Capacitive Touch Display 10.1"
LVDS V2 connected via Verdin AM62 OLDI on carrier boards exposing LVDS
interface (e.g., Mallow). The panel is an Opto Logic SCX1001511GGC49 10.1"
WXGA TFT LCD and the touch input is provided by an ILITEK ILI251x
capacitive touch controller.

Link: https://developer.toradex.com/hardware/accessories/displays/capacitive-touch-display-101inch-lvds
Signed-off-by: Leonardo Costa <leonardo.costa@toradex.com>
Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Link: https://patch.msgid.link/20260623195741.495734-4-leoreis.costa@gmail.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
This commit is contained in:
Leonardo Costa 2026-07-14 11:47:35 +05:30 committed by Vignesh Raghavendra
parent a3f7082617
commit d31e5aebbe
2 changed files with 134 additions and 0 deletions

View File

@ -48,6 +48,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-ov5640-24mhz.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-ov5640.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-panel-cap-touch-10inch-dsi.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-panel-cap-touch-10inch-lvds.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-panel-cap-touch-10inch-lvds-v2.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-panel-cap-touch-7inch-dsi.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-uart4-mcu.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-wifi-dahlia-dsi-to-hdmi.dtb
@ -268,6 +269,9 @@ k3-am625-verdin-wifi-dev-uart4-mcu-dtbs := k3-am625-verdin-wifi-dev.dtb \
k3-am625-verdin-wifi-mallow-panel-cap-touch-10inch-lvds-dtbs := \
k3-am625-verdin-wifi-mallow.dtb \
k3-am625-verdin-panel-cap-touch-10inch-lvds.dtbo
k3-am625-verdin-wifi-mallow-panel-cap-touch-10inch-lvds-v2-dtbs := \
k3-am625-verdin-wifi-mallow.dtb \
k3-am625-verdin-panel-cap-touch-10inch-lvds-v2.dtbo
k3-am62-lp-sk-hdmi-audio-dtbs := k3-am62-lp-sk.dtb k3-am62x-sk-hdmi-audio.dtbo
k3-am62-lp-sk-nand-dtbs := k3-am62-lp-sk.dtb k3-am62-lp-sk-nand.dtbo
k3-am62a7-phyboard-lyra-disable-eth-phy-dtbs := k3-am62a7-phyboard-lyra-rdk.dtb \
@ -398,6 +402,7 @@ dtb- += k3-am625-beagleplay-csi2-ov5640.dtb \
k3-am625-verdin-wifi-dev-panel-cap-touch-7inch-dsi.dtb \
k3-am625-verdin-wifi-dev-uart4-mcu.dtb \
k3-am625-verdin-wifi-mallow-panel-cap-touch-10inch-lvds.dtb \
k3-am625-verdin-wifi-mallow-panel-cap-touch-10inch-lvds-v2.dtb \
k3-am62-lp-sk-hdmi-audio.dtb \
k3-am62-lp-sk-nand.dtb \
k3-am62a7-phyboard-lyra-disable-eth-phy.dtb \

View File

@ -0,0 +1,129 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright (c) Toradex
*
* Toradex Capacitive Touch Display 10.1" V2 connected via Verdin AM62 OLDI
* on carrier boards with a Toradex standard LVDS display connector
*
* https://developer.toradex.com/hardware/accessories/displays/capacitive-touch-display-101inch-lvds
* https://www.toradex.com/accessories/capacitive-touch-display-10.1-inch-lvds
*/
/dts-v1/;
/plugin/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/pwm/pwm.h>
#include "k3-pinctrl.h"
&{/} {
backlight_pwm2: backlight-pwm2 {
compatible = "pwm-backlight";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2s_2_d_out_gpio>;
brightness-levels = <0 45 63 88 119 158 203 255>;
default-brightness-level = <4>;
/* Verdin I2S_2_D_OUT as GPIO (SODIMM 46) */
enable-gpios = <&main_gpio0 34 GPIO_ACTIVE_HIGH>;
/* Verdin PWM_2 (SODIMM 16) */
pwms = <&epwm0 1 6666667 0>;
};
panel-lvds-native {
compatible = "optologic,scx1001511ggc49", "panel-lvds";
backlight = <&backlight_pwm2>;
data-mapping = "vesa-24";
height-mm = <136>;
width-mm = <217>;
panel-timing {
clock-frequency = <64500000>;
hactive = <1280>;
hback-porch = <20>;
hfront-porch = <20>;
hsync-len = <2>;
vactive = <800>;
vback-porch = <5>;
vfront-porch = <5>;
vsync-len = <3>;
de-active = <1>;
hsync-active = <0>;
vsync-active = <0>;
pixelclk-active = <0>;
};
port {
panel_lvds_native_in: endpoint {
remote-endpoint = <&oldi0_out>;
};
};
};
};
&dss {
status = "okay";
};
&dss_ports {
#address-cells = <1>;
#size-cells = <0>;
/* DSS VP1: internal DPI output to OLDIx */
port@0 {
reg = <0>;
dss0_out: endpoint {
remote-endpoint = <&oldi0_in>;
};
};
};
/* Verdin I2C_2_DSI */
&main_i2c2 {
#address-cells = <1>;
#size-cells = <0>;
touchscreen@41 {
compatible = "ilitek,ili251x";
reg = <0x41>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2s_2_d_in_gpio>,
<&pinctrl_i2s_2_sync_gpio>;
/* Verdin I2S_2_SYNC as GPIO (SODIMM 44) */
interrupt-parent = <&main_gpio0>;
interrupts = <37 IRQ_TYPE_EDGE_RISING>;
/* Verdin I2S_2_D_IN as GPIO(SODIMM 48) */
reset-gpios = <&main_gpio0 33 GPIO_ACTIVE_LOW>;
};
};
&main_pmx0 {
pinctrl_i2s_2_d_in_gpio: main-gpio0-33-default-pins {
pinctrl-single,pins = <
AM62X_IOPAD(0x0088, PIN_INPUT, 7) /* (L24) GPMC0_OEn_REn.GPIO0_33 */ /* SODIMM 48 */
>;
};
pinctrl_i2s_2_sync_gpio: main-gpio0-37-default-pins {
pinctrl-single,pins = <
AM62X_IOPAD(0x0098, PIN_INPUT, 7) /* (U23) GPMC0_WAIT0.GPIO0_37 */ /* SODIMM 44 */
>;
};
};
&oldi0 {
status = "okay";
};
&oldi0_port0 {
oldi0_in: endpoint {
remote-endpoint = <&dss0_out>;
};
};
&oldi0_port1 {
oldi0_out: endpoint {
remote-endpoint = <&panel_lvds_native_in>;
};
};