From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B845A3E0C67 for ; Fri, 29 May 2026 12:09:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.47 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780056572; cv=none; b=Yx7KWaxTtyvT2wiFiTaPy+S2f6eXpEoxtR6qTyTjGljeq5+330IRwp7+IfktDZHrMgu29ppZVqsxOgebFBtkIJi7auU1e0cVNG1sKFU+SKUWpaW+O4HgyEk/Z6VgVfGXNIIWn3LOfTOuqtyjrio4dd03D27qlqlQvRSRw2TX+G8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780056572; c=relaxed/simple; bh=SrP2ecBG1E44KoWevC9CmkWLLElkaHGCJGON1ZhYYsE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=di9mhqkr7W0eLFXr8jgaSICtC52hbIs1RKbcgqpRICjJVBmksNzucQT4IWfS5L7ohag1Wuos9IAglNmYPo5u7zh4jpYQiV4lI21UJZqSqbYObFgnyssQzKx671/zwS7ojoDYPuMm7jRwY4j3B8w98h8HhgpLaNQKReVRWhWNv8E= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=c6kxztP6; arc=none smtp.client-ip=209.85.128.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="c6kxztP6" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-4891d7164ddso66058495e9.3 for ; Fri, 29 May 2026 05:09:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780056569; x=1780661369; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=vLxv8zp9lSvmgGc7G/y1gE3wg27H9sIghqq/rvMRlwc=; b=c6kxztP6u13LtR3kQMPH3eTfdzyVb4lYwEiD1jyURM+9tukSOY4YUPbDdI6z4OOhQr wH4w8E3kjYbjfGZb7Pi/vsfx7o2/a6HeiPtX27xeRS9afD/7NOcWyPIKmNheiibDnV/H hqWgbKh7GORZ6Z/FUA2X58jdM73PEcwHpQtg2RnyMEVmYWn9i2ypMFzejoB+2jioXyxS 3zIslSmP90Srg1bxCOMv0o7p34hEhbiEzgc6SoTHPMZqI9Vpg1/7r5+9TrSSZrlyT6NO NRz1dV/4K4D25BPFBczMwJvya9ab+gPkkBlM/DyLU7CNt1Q3Yyk3ZeC6Rxwt9GJT/Dwl VNYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780056569; x=1780661369; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=vLxv8zp9lSvmgGc7G/y1gE3wg27H9sIghqq/rvMRlwc=; b=aYC5hU+POAhqGrqKFbrBdvYTM3Opugc+42+RpO3yj0f/iveHlZmnBuCgiiSLTzVa86 9rn51448ozEpRMS70yPes1YbaSKWpLYm70dtdd5c5a6/8D+JHt3W1qTVo/YAZxzLA6j1 fK5h5kGhShr293dkv16g6KUuuZSnh3daQn1fbgR8Sg4FiEGQKbzXtDUhJKgjSjjn5B+F vyp2iGi/CR3xBptflu5v1TAPIM08w45xesXDaE/l4MMkqFy/UPMrhQS5rRMmpodYxhhA 39fqZ46m50rPHifcvPwPVCpGAM66J+d6QlXcsrXL7cjkQQHmEtSdsnsfBkxzdE6AnTDj Ct4w== X-Forwarded-Encrypted: i=1; AFNElJ8KnupI2Uh4Oh4mMcFa+gVwaBRxxybGLdhuNeuimzrmSmL8E0FSvL9SpB2OOMQWlLiSXKViBYQ3ugs6@vger.kernel.org X-Gm-Message-State: AOJu0Yxg8DRRnwMpS79ig3xVhDrITAluu60oYjALZuj/nxbjXvmbG32S 4tupviXEMX9MyOxM4iGB4gbyqjYD9WjBPcSWHptmxTyyjqF0YBAiYvn5JYl1Mw== X-Gm-Gg: Acq92OGd9azme6Nx24JNaCEQNSGdkc9jHM+p7lVBToIOAA2qZQwwzj7SH6eA0ua1pVG UEBklRvJoihXxIItTtkvyif/ZYpRK7TN4xJHOdlFO2ojGJ5LbHmzLTpj9AvDDnkO279q1qRauWA gu5vXJGrhqSp9wnaqMzP5wSdqlUN+DqNsh/Xxe8ScJ8hHgboap6Phe0tYPN+MFEc5HiOIM9sXks tUOz57xCKWOmwJVWy1WyZZjv+G/C34Tx5dAOihdhO4ncW0HV/yn2QdGE7YWg5hw478ffDLPVVvv 72zl5jgHTojViIsmcz4Kk07UCJdbRVJaBpZpa6Wy03b/bdZonZPcdt2Vz/PjplNBZzV2AqZgMGs SQ+9VdqF3+Ph8cva8G1tDOWgR8EUAW3VCq7f8chEYpY3+wmAJxqpGSjMqdW/LtYw9do+p+HRjRR tyStEdiP5p3c/lYnDrdo+m0Rlr X-Received: by 2002:a05:600c:4504:b0:490:51e2:d992 with SMTP id 5b1f17b1804b1-4909c0b3349mr46936675e9.13.1780056568939; Fri, 29 May 2026 05:09:28 -0700 (PDT) Received: from vitor-nb ([89.214.125.253]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4909c0b8a11sm13586595e9.16.2026.05.29.05.09.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 May 2026 05:09:28 -0700 (PDT) From: Vitor Soares To: Nishanth Menon , Vignesh Raghavendra , Tero Kristo , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: Vitor Soares , linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v1 5/7] arm64: dts: ti: k3-am69-aquila: Add Toradex Capacitive Touch Display 10.1" DSI Date: Fri, 29 May 2026 13:08:57 +0100 Message-ID: <20260529120853.636015-14-ivitro@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260529120853.636015-9-ivitro@gmail.com> References: <20260529120853.636015-9-ivitro@gmail.com> Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Vitor Soares 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 --- arch/arm64/boot/dts/ti/Makefile | 5 + ...m69-aquila-panel-cap-touch-10inch-dsi.dtso | 149 ++++++++++++++++++ 2 files changed, 154 insertions(+) create mode 100644 arch/arm64/boot/dts/ti/k3-am69-aquila-panel-cap-touch-10inch-dsi.dtso diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile index ce667843e58b..f9163643291d 100644 --- a/arch/arm64/boot/dts/ti/Makefile +++ b/arch/arm64/boot/dts/ti/Makefile @@ -172,15 +172,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 diff --git a/arch/arm64/boot/dts/ti/k3-am69-aquila-panel-cap-touch-10inch-dsi.dtso b/arch/arm64/boot/dts/ti/k3-am69-aquila-panel-cap-touch-10inch-dsi.dtso new file mode 100644 index 000000000000..3880026951f3 --- /dev/null +++ b/arch/arm64/boot/dts/ti/k3-am69-aquila-panel-cap-touch-10inch-dsi.dtso @@ -0,0 +1,149 @@ +// 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 +#include + +&{/} { + 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 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>; + interrupts = <12 IRQ_TYPE_EDGE_RISING>; + /* Aquila GPIO_18_DSI_1 (AQUILA B43) */ + reset-gpios = <&main_gpio0 31 GPIO_ACTIVE_LOW>; + }; +}; -- 2.54.0