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

From: Shashank Maurya

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


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

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

diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 38554195fc98..d17b46a043ad 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -57,6 +57,8 @@ lemans-evk-el2-dtbs := lemans-evk.dtb lemans-el2.dtbo
dtb-$(CONFIG_ARCH_QCOM) += lemans-evk-el2.dtb
lemans-evk-ifp-mezzanine-dtbs := lemans-evk.dtb lemans-evk-ifp-mezzanine.dtbo
dtb-$(CONFIG_ARCH_QCOM) += lemans-evk-ifp-mezzanine.dtb
+lemans-evk-raspberrypi-dsi-7inch-dtbs := lemans-evk.dtb lemans-evk-raspberrypi-dsi-7inch.dtbo
+dtb-$(CONFIG_ARCH_QCOM) += lemans-evk-raspberrypi-dsi-7inch.dtb
dtb-$(CONFIG_ARCH_QCOM) += mahua-crd.dtb
dtb-$(CONFIG_ARCH_QCOM) += milos-fairphone-fp6.dtb
dtb-$(CONFIG_ARCH_QCOM) += milos-nothing-asteroids.dtb
diff --git a/arch/arm64/boot/dts/qcom/lemans-evk-raspberrypi-dsi-7inch.dtso b/arch/arm64/boot/dts/qcom/lemans-evk-raspberrypi-dsi-7inch.dtso
new file mode 100644
index 000000000000..14743b3c3863
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/lemans-evk-raspberrypi-dsi-7inch.dtso
@@ -0,0 +1,83 @@
+// 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 255 0>;
+ };
+
+ reg_dsi_touch: regulator-touch {
+ compatible = "regulator-fixed";
+ regulator-name = "rpi-dsi-touch";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&expander3 1 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+};
+
+&i2c1 {
+ 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>;
+ };
+};
+
+&mdss0_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 = <&mdss0_dsi0_out>;
+ };
+ };
+ };
+};
+
+&mdss0_dsi0_out {
+ remote-endpoint = <&panel0_in>;
+ data-lanes = <0 1>;
+};
+
+&mdss0_dsi0_phy {
+ vdds-supply = <&vreg_l4a>;
+
+ status = "okay";
+};

--
2.34.1