[PATCH v2 1/2] arm64: dts: qcom: monaco-evk: Add Raspberry Pi 7-inch DSI panel overlay

From: Shashank Maurya

Date: Mon Sep 07 2026 - 02:43:23 EST


Add a DT overlay for the Raspberry Pi 7" DSI touchscreen panel on
Monaco EVK, using mdss_dsi0 with 2 data lanes and the panel MCU on
I2C8.

Signed-off-by: Shashank Maurya <shashank.maurya@xxxxxxxxxxxxxxxx>
---
arch/arm64/boot/dts/qcom/Makefile | 2 +
.../dts/qcom/monaco-evk-raspberrypi-dsi-7inch.dtso | 82 ++++++++++++++++++++++
2 files changed, 84 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 1c86e7e98f55..38554195fc98 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -71,6 +71,8 @@ monaco-evk-el2-dtbs := monaco-evk.dtb monaco-el2.dtbo
dtb-$(CONFIG_ARCH_QCOM) += monaco-evk-el2.dtb
monaco-evk-ifp-mezzanine-dtbs := monaco-evk.dtb monaco-evk-ifp-mezzanine.dtbo
dtb-$(CONFIG_ARCH_QCOM) += monaco-evk-ifp-mezzanine.dtb
+monaco-evk-raspberrypi-dsi-7inch-dtbs := monaco-evk.dtb monaco-evk-raspberrypi-dsi-7inch.dtbo
+dtb-$(CONFIG_ARCH_QCOM) += monaco-evk-raspberrypi-dsi-7inch.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8216-samsung-fortuna3g.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8916-acer-a1-724.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8916-alcatel-idol347.dtb
diff --git a/arch/arm64/boot/dts/qcom/monaco-evk-raspberrypi-dsi-7inch.dtso b/arch/arm64/boot/dts/qcom/monaco-evk-raspberrypi-dsi-7inch.dtso
new file mode 100644
index 000000000000..f27b5a4a6093
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/monaco-evk-raspberrypi-dsi-7inch.dtso
@@ -0,0 +1,82 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+
+&{/} {
+ display_bl: backlight {
+ compatible = "pwm-backlight";
+ power-supply = <&reg_dsi_touch>;
+ pwms = <&reg_backlight 0 50000 0>;
+ };
+
+ reg_dsi_touch: regulator-touch {
+ compatible = "regulator-fixed";
+ regulator-name = "rpi-touch";
+ regulator-min-microvolt = <5500000>;
+ regulator-max-microvolt = <5500000>;
+ gpio = <&expander3 5 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ regulator-always-on;
+ };
+};
+
+&i2c8 {
+ qcom,load-firmware;
+ qcom,xfer-mode = <1>;
+
+ status = "okay";
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ reg_backlight: reg_backlight@45 {
+ compatible = "raspberrypi,touchscreen-panel-regulator-v2";
+ reg = <0x45>;
+
+ vcc-supply = <&reg_dsi_touch>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ #pwm-cells = <3>;
+ };
+};
+
+&mdss_dsi0 {
+ vdda-supply = <&vreg_l1c>;
+
+ status = "okay";
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ panel@0 {
+ compatible = "raspberrypi,dsi-7inch";
+ reg = <0>;
+
+ reset-gpios = <&reg_backlight 0 GPIO_ACTIVE_LOW>;
+ power-supply = <&reg_dsi_touch>;
+ iovcc-supply = <&reg_dsi_touch>;
+ backlight = <&display_bl>;
+
+ port {
+ panel0_in: endpoint {
+ remote-endpoint = <&mdss_dsi0_out>;
+ };
+ };
+ };
+};
+
+&mdss_dsi0_out {
+ remote-endpoint = <&panel0_in>;
+ data-lanes = <0 1>;
+};
+
+&mdss_dsi0_phy {
+ vdds-supply = <&vreg_l4a>;
+
+ status = "okay";
+};

--
2.34.1