arm64: dts: ti: k3-am69-aquila: Add Toradex Capacitive Touch Display 10.1" DSI

Add a device tree overlay for the Toradex Capacitive Touch Display 10.1"
DSI on the Aquila DSI_1 interface. Used on the Clover Board (J12), where
DSI_1 is exposed via a FFC/FPC connector.

The display includes an internal Texas Instruments SN65DSI83 DSI-to-LVDS
bridge driving a Riverdi RVT101HVLNWC00 10.1" WXGA IPS TFT LCD panel.
Touch input is provided by an Ilitek ILI2132 capacitive touch controller.

The overlay is also combined with the Aquila AM69 Clover carrier board
device tree to provide a ready-to-use DTB.

Link: https://developer.toradex.com/hardware/accessories/displays/capacitive-touch-display-101inch-dsi
Signed-off-by: Vitor Soares <vitor.soares@toradex.com>
Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Link: https://patch.msgid.link/20260602115123.1324474-14-ivitro@gmail.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
This commit is contained in:
Vitor Soares 2026-06-02 12:51:28 +01:00 committed by Vignesh Raghavendra
parent 8490a1d191
commit b1bd0652f6
2 changed files with 163 additions and 0 deletions

View File

@ -191,15 +191,20 @@ dtb-$(CONFIG_ARCH_K3) += k3-j722s-evm-csi2-quad-rpi-cam-imx219.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-j722s-evm-csi2-quad-tevi-ov5640.dtbo
# Boards with J784s4 SoC
k3-am69-aquila-clover-panel-cap-touch-10inch-dsi-dtbs := \
k3-am69-aquila-clover.dtb \
k3-am69-aquila-panel-cap-touch-10inch-dsi.dtbo
k3-am69-aquila-dev-dsi-to-hdmi-dtbs := k3-am69-aquila-dev.dtb \
k3-am69-aquila-dsi-to-hdmi.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-am69-aquila-adapter-panel-cap-touch-10inch-dsi.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-am69-aquila-adapter-panel-cap-touch-7inch-dsi.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-am69-aquila-clover-panel-cap-touch-10inch-dsi.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am69-aquila-clover.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am69-aquila-dev.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am69-aquila-dev-dsi-to-hdmi.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am69-aquila-dsi-to-hdmi.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-am69-aquila-dsi-to-lvds-panel-cap-touch-10inch.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-am69-aquila-panel-cap-touch-10inch-dsi.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-am69-sk.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am69-sk-pcie0-ep.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-j784s4-evm.dtb

View File

@ -0,0 +1,158 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
* Copyright (c) Toradex
*
* Toradex Capacitive Touch Display 10.1" on Aquila DSI_1.
* Used on Clover Board (J12), DSI_1 is exposed via a FFC/FPC connector.
*
* https://developer.toradex.com/hardware/accessories/displays/capacitive-touch-display-101inch-dsi
* https://www.toradex.com/accessories/capacitive-touch-display-10.1-inch-dsi
*/
/dts-v1/;
/plugin/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
&{/} {
backlight_pwm3: backlight-pwm3 {
compatible = "pwm-backlight";
brightness-levels = <0 45 63 88 119 158 203 255>;
default-brightness-level = <4>;
/* Aquila PWM_3_DSI (AQUILA B46) */
pwms = <&main_ehrpwm5 0 6666667 0>;
};
panel-lvds-bridge {
compatible = "riverdi,rvt101hvlnwc00", "panel-lvds";
backlight = <&backlight_pwm3>;
data-mapping = "vesa-24";
height-mm = <136>;
width-mm = <217>;
panel-timing {
clock-frequency = <72400000>;
de-active = <1>;
hactive = <1280>;
hback-porch = <83 83 83>;
hfront-porch = <12 72 132>;
hsync-active = <0>;
hsync-len = <1 5 40>;
pixelclk-active = <1>;
vactive = <800>;
vback-porch = <13 13 13>;
vfront-porch = <1 15 49>;
vsync-active = <0>;
vsync-len = <1 10 20>;
};
port {
panel_lvds_bridge_in: endpoint {
remote-endpoint = <&dsi_lvds_bridge_out>;
};
};
};
};
&dphy_tx0 {
status = "okay";
};
&dsi0 {
status = "okay";
};
&dsi0_ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
dsi0_out: endpoint {
remote-endpoint = <&dsi_lvds_bridge_in>;
};
};
port@1 {
reg = <1>;
dsi0_in: endpoint {
remote-endpoint = <&dpi2_out>;
};
};
};
&dss_ports {
#address-cells = <1>;
#size-cells = <0>;
port@2 {
reg = <2>;
dpi2_out: endpoint {
remote-endpoint = <&dsi0_in>;
};
};
};
/* Aquila PWM_3_DSI */
&main_ehrpwm5 {
status = "okay";
};
/* Aquila I2C_3_DSI1 */
&main_i2c0 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
bridge@2c {
compatible = "ti,sn65dsi83";
reg = <0x2c>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio_20_dsi_1>;
/* Aquila GPIO_20_DSI_1 (AQUILA B45) */
enable-gpios = <&main_gpio0 18 GPIO_ACTIVE_HIGH>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
dsi_lvds_bridge_in: endpoint {
remote-endpoint = <&dsi0_out>;
data-lanes = <1 2 3 4>;
};
};
port@2 {
reg = <2>;
dsi_lvds_bridge_out: endpoint {
remote-endpoint = <&panel_lvds_bridge_in>;
};
};
};
};
touchscreen@41 {
compatible = "ilitek,ili2132";
reg = <0x41>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio_17_dsi_1>, <&pinctrl_gpio_18_dsi_1>;
/* Aquila GPIO_17_DSI_1 (AQUILA B42) */
interrupt-parent = <&main_gpio0>;
/*
* Data-ready pulse is ~200 us; either edge can be used,
* use the rising edge because the falling edge is noisy.
*/
interrupts = <12 IRQ_TYPE_EDGE_RISING>;
/* Aquila GPIO_18_DSI_1 (AQUILA B43) */
reset-gpios = <&main_gpio0 31 GPIO_ACTIVE_LOW>;
};
};