[PATCH] arm64: dts: ti: k3-am62-verdin: Add RPi Touch Display 2 5-inch
From: Francesco Dolcini
Date: Sat Nov 07 2026 - 15:25:34 EST
From: Francesco Dolcini <francesco.dolcini@xxxxxxxxxxx>
Add a device tree overlay for the Raspberry Pi Touch Display 2 5" on
the Verdin DSI_1 interface.
The display is identical to the 7" one apart from the panel compatible.
To avoid duplicating the 7" overlay, rework it moving the common part to
a shared dtsi file.
Link: https://www.raspberrypi.com/products/touch-display-2/
Signed-off-by: Francesco Dolcini <francesco.dolcini@xxxxxxxxxxx>
---
arch/arm64/boot/dts/ti/Makefile | 5 +
.../ti/k3-am625-verdin-rpi-display-2-5in.dtso | 17 ++++
.../ti/k3-am625-verdin-rpi-display-2-7in.dtso | 90 +----------------
.../dts/ti/k3-am625-verdin-rpi-display-2.dtsi | 97 +++++++++++++++++++
4 files changed, 122 insertions(+), 87 deletions(-)
create mode 100644 arch/arm64/boot/dts/ti/k3-am625-verdin-rpi-display-2-5in.dtso
create mode 100644 arch/arm64/boot/dts/ti/k3-am625-verdin-rpi-display-2.dtsi
diff --git a/arch/arm64/boot/dts/ti/Makefile b/arch/arm64/boot/dts/ti/Makefile
index da654153a35b..5db6ca5b7f18 100644
--- a/arch/arm64/boot/dts/ti/Makefile
+++ b/arch/arm64/boot/dts/ti/Makefile
@@ -54,6 +54,7 @@ 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-rpi-display-2-5in.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-rpi-display-2-7in.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-wifi-dahlia-dsi-to-hdmi.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-wifi-dahlia-panel-cap-touch-10inch-dsi.dtb
@@ -294,6 +295,9 @@ k3-am625-verdin-wifi-dev-ov5640-dtbs := k3-am625-verdin-wifi-dev.dtb \
k3-am625-verdin-wifi-dev-panel-cap-touch-7inch-dsi-dtbs := \
k3-am625-verdin-wifi-dev.dtb \
k3-am625-verdin-panel-cap-touch-7inch-dsi.dtbo
+k3-am625-verdin-wifi-dev-rpi-display-2-5in-dtbs := \
+ k3-am625-verdin-wifi-dev.dtb \
+ k3-am625-verdin-rpi-display-2-5in.dtbo
k3-am625-verdin-wifi-dev-rpi-display-2-7in-dtbs := \
k3-am625-verdin-wifi-dev.dtb \
k3-am625-verdin-rpi-display-2-7in.dtbo
@@ -454,6 +458,7 @@ dtb- += k3-am625-beagleplay-csi2-ov5640.dtb \
k3-am625-verdin-wifi-dev-ov5640-24mhz.dtb \
k3-am625-verdin-wifi-dev-ov5640.dtb \
k3-am625-verdin-wifi-dev-panel-cap-touch-7inch-dsi.dtb \
+ k3-am625-verdin-wifi-dev-rpi-display-2-5in.dtb \
k3-am625-verdin-wifi-dev-rpi-display-2-7in.dtb \
k3-am625-verdin-wifi-dev-uart4-mcu.dtb \
k3-am625-verdin-wifi-mallow-panel-cap-touch-10inch-lvds.dtb \
diff --git a/arch/arm64/boot/dts/ti/k3-am625-verdin-rpi-display-2-5in.dtso b/arch/arm64/boot/dts/ti/k3-am625-verdin-rpi-display-2-5in.dtso
new file mode 100644
index 000000000000..a6ee870aae0d
--- /dev/null
+++ b/arch/arm64/boot/dts/ti/k3-am625-verdin-rpi-display-2-5in.dtso
@@ -0,0 +1,17 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright (c) Toradex
+ *
+ * Raspberry Pi Touch Display 2 5" on Verdin DSI_1 and I2C_2_DSI
+ *
+ * https://www.raspberrypi.com/products/touch-display-2/
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include "k3-am625-verdin-rpi-display-2.dtsi"
+
+&panel_rpi {
+ compatible = "raspberrypi,dsi-5inch", "ilitek,ili9881c";
+};
diff --git a/arch/arm64/boot/dts/ti/k3-am625-verdin-rpi-display-2-7in.dtso b/arch/arm64/boot/dts/ti/k3-am625-verdin-rpi-display-2-7in.dtso
index 8366bebbd5d2..8cda872effc0 100644
--- a/arch/arm64/boot/dts/ti/k3-am625-verdin-rpi-display-2-7in.dtso
+++ b/arch/arm64/boot/dts/ti/k3-am625-verdin-rpi-display-2-7in.dtso
@@ -10,92 +10,8 @@
/dts-v1/;
/plugin/;
-#include <dt-bindings/gpio/gpio.h>
+#include "k3-am625-verdin-rpi-display-2.dtsi"
-&{/} {
- backlight_rpi: backlight-rpi-display {
- compatible = "pwm-backlight";
- brightness-levels = <0 31>;
- default-brightness-level = <15>;
- num-interpolated-steps = <31>;
- pwms = <&mcu_display_rpi 0 200000 0>;
- };
-
- reg_display_rpi: regulator-rpi-display {
- compatible = "regulator-fixed";
- regulator-max-microvolt = <5000000>;
- regulator-min-microvolt = <5000000>;
- regulator-name = "rpi-display";
- };
-
- reg_display_rpi_touch: regulator-rpi-display-touch {
- compatible = "regulator-fixed";
- gpio = <&mcu_display_rpi 1 GPIO_ACTIVE_HIGH>;
- enable-active-high;
- regulator-max-microvolt = <3300000>;
- regulator-min-microvolt = <3300000>;
- regulator-name = "rpi-display-touch";
- startup-delay-us = <50000>;
- };
-
-};
-
-/* Verdin I2C_2_DSI */
-&main_i2c2 {
- #address-cells = <1>;
- #size-cells = <0>;
-
- mcu_display_rpi: regulator@45 {
- compatible = "raspberrypi,touchscreen-panel-regulator-v2";
- reg = <0x45>;
- #gpio-cells = <2>;
- #pwm-cells = <3>;
- gpio-controller;
- };
-
- touchscreen@5d {
- compatible = "goodix,gt911";
- reg = <0x5d>;
- AVDD28-supply = <®_display_rpi_touch>;
- touchscreen-size-x = <720>;
- touchscreen-size-y = <1280>;
- };
-};
-
-&dsi_bridge {
- #address-cells = <1>;
- #size-cells = <0>;
-
- status = "okay";
-
- panel@0 {
- compatible = "raspberrypi,dsi-7inch", "ilitek,ili9881c";
- reg = <0>;
- backlight = <&backlight_rpi>;
- power-supply = <®_display_rpi>;
- reset-gpios = <&mcu_display_rpi 0 GPIO_ACTIVE_LOW>;
-
- port {
- dsi_panel_in: endpoint {
- remote-endpoint = <&dsi_bridge_out>;
- };
- };
- };
-};
-
-&dsi_bridge_ports {
- #address-cells = <1>;
- #size-cells = <0>;
-
- port@1 {
- reg = <1>;
-
- dsi_bridge_out: endpoint {
- remote-endpoint = <&dsi_panel_in>;
- };
- };
-};
-
-&dss {
- status = "okay";
+&panel_rpi {
+ compatible = "raspberrypi,dsi-7inch", "ilitek,ili9881c";
};
diff --git a/arch/arm64/boot/dts/ti/k3-am625-verdin-rpi-display-2.dtsi b/arch/arm64/boot/dts/ti/k3-am625-verdin-rpi-display-2.dtsi
new file mode 100644
index 000000000000..cb63db881615
--- /dev/null
+++ b/arch/arm64/boot/dts/ti/k3-am625-verdin-rpi-display-2.dtsi
@@ -0,0 +1,97 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright (c) Toradex
+ *
+ * Common device tree include for Raspberry Pi Touch Display 2 5" and 7"
+ * on Verdin DSI_1 and I2C_2_DSI
+ *
+ * https://www.raspberrypi.com/products/touch-display-2/
+ */
+
+#include <dt-bindings/gpio/gpio.h>
+
+&{/} {
+ backlight_rpi: backlight-rpi-display {
+ compatible = "pwm-backlight";
+ brightness-levels = <0 31>;
+ default-brightness-level = <15>;
+ num-interpolated-steps = <31>;
+ pwms = <&mcu_display_rpi 0 200000 0>;
+ };
+
+ reg_display_rpi: regulator-rpi-display {
+ compatible = "regulator-fixed";
+ regulator-max-microvolt = <5000000>;
+ regulator-min-microvolt = <5000000>;
+ regulator-name = "rpi-display";
+ };
+
+ reg_display_rpi_touch: regulator-rpi-display-touch {
+ compatible = "regulator-fixed";
+ gpio = <&mcu_display_rpi 1 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ regulator-max-microvolt = <3300000>;
+ regulator-min-microvolt = <3300000>;
+ regulator-name = "rpi-display-touch";
+ startup-delay-us = <50000>;
+ };
+};
+
+/* Verdin I2C_2_DSI */
+&main_i2c2 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ mcu_display_rpi: regulator@45 {
+ compatible = "raspberrypi,touchscreen-panel-regulator-v2";
+ reg = <0x45>;
+ #gpio-cells = <2>;
+ #pwm-cells = <3>;
+ gpio-controller;
+ };
+
+ touchscreen@5d {
+ compatible = "goodix,gt911";
+ reg = <0x5d>;
+ AVDD28-supply = <®_display_rpi_touch>;
+ touchscreen-size-x = <720>;
+ touchscreen-size-y = <1280>;
+ };
+};
+
+&dsi_bridge {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ status = "okay";
+
+ panel_rpi: panel@0 {
+ reg = <0>;
+ backlight = <&backlight_rpi>;
+ power-supply = <®_display_rpi>;
+ reset-gpios = <&mcu_display_rpi 0 GPIO_ACTIVE_LOW>;
+
+ port {
+ dsi_panel_in: endpoint {
+ remote-endpoint = <&dsi_bridge_out>;
+ };
+ };
+ };
+};
+
+&dsi_bridge_ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@1 {
+ reg = <1>;
+
+ dsi_bridge_out: endpoint {
+ remote-endpoint = <&dsi_panel_in>;
+ };
+ };
+};
+
+&dss {
+ status = "okay";
+};
--
2.47.3