[PATCH 5/7] arm64: dts: qcom: shikra-iqs-evk: Add RPi 7-inch DSI panel overlay
From: vishnu . saini
Date: Wed Oct 21 2026 - 10:26:56 EST
From: Shashank Maurya <shashank.maurya@xxxxxxxxxxxxxxxx>
Add a DT overlay to enable Raspberry Pi 7-inch DSI panel connected to DSI
22pin on the carrier card.
DSI0 from SOC is routed through MUX which can be selected by DIP switch
S1016.5 ON for enabling this 22-pin JDISP1 DSI0 connector.
Add the regulator and backlight controller at I2C4 address 0x45,
Goodix GT911 touch controller, panel power and reset control, and a
2-lane DSI connection.
Disable the default HDMI bridge and connector in favour of the RPi
DSI panel.
Signed-off-by: Shashank Maurya <shashank.maurya@xxxxxxxxxxxxxxxx>
Signed-off-by: Vishnu Saini <vishnu.saini@xxxxxxxxxxxxxxxx>
---
arch/arm64/boot/dts/qcom/Makefile | 2 +
.../qcom/shikra-iqs-evk-raspberrypi-dsi-7inch.dtso | 91 ++++++++++++++++++++++
2 files changed, 93 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 610fe640471b..6d64e7ce197e 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -382,11 +382,13 @@ shikra-cqm-evk-hdmi-dtbs := shikra-cqm-evk.dtb shikra-cqm-cqs-evk-hdmi.dtbo
shikra-cqs-evk-hdmi-dtbs := shikra-cqs-evk.dtb shikra-cqm-cqs-evk-hdmi.dtbo
shikra-iqs-evk-dlc-panel-dtbs := shikra-iqs-evk.dtb shikra-iqs-evk-dlc-panel.dtbo
shikra-iqs-evk-lvds-auo,g133han01-dtbs := shikra-iqs-evk.dtb shikra-iqs-evk-lvds-auo,g133han01.dtbo
+shikra-iqs-evk-raspberrypi-dsi-7inch-dtbs := shikra-iqs-evk.dtb shikra-iqs-evk-raspberrypi-dsi-7inch.dtbo
dtb-$(CONFIG_ARCH_QCOM) += shikra-cqm-evk-hdmi.dtb
dtb-$(CONFIG_ARCH_QCOM) += shikra-cqs-evk-hdmi.dtb
dtb-$(CONFIG_ARCH_QCOM) += shikra-iqs-evk-dlc-panel.dtb
dtb-$(CONFIG_ARCH_QCOM) += shikra-iqs-evk-lvds-auo,g133han01.dtb
+dtb-$(CONFIG_ARCH_QCOM) += shikra-iqs-evk-raspberrypi-dsi-7inch.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm4250-oneplus-billie2.dtb
dtb-$(CONFIG_ARCH_QCOM) += sm4450-qrd.dtb
diff --git a/arch/arm64/boot/dts/qcom/shikra-iqs-evk-raspberrypi-dsi-7inch.dtso b/arch/arm64/boot/dts/qcom/shikra-iqs-evk-raspberrypi-dsi-7inch.dtso
new file mode 100644
index 000000000000..383dc5aadcfd
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/shikra-iqs-evk-raspberrypi-dsi-7inch.dtso
@@ -0,0 +1,91 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+
+&{/} {
+ model = "Qualcomm Technologies, Inc. Shikra IQS EVK Raspberry Pi 7inch DSI Panel";
+
+ display_bl: backlight {
+ compatible = "pwm-backlight";
+ power-supply = <®_display>;
+ pwms = <&mcu 0 255 0>;
+ };
+
+ reg_display: regulator-display {
+ compatible = "regulator-fixed";
+ regulator-name = "rpi-display";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ };
+
+ reg_dsi_touch: regulator-dsi-touch {
+ compatible = "regulator-fixed";
+ gpio = <&mcu 1 GPIO_ACTIVE_HIGH>;
+ regulator-name = "rpi-touch";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ startup-delay-us = <50000>;
+ enable-active-high;
+ };
+};
+
+&hdmi_bridge {
+ status = "disabled";
+};
+
+&hdmi_connector {
+ status = "disabled";
+};
+
+&i2c4 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+
+ mcu: gpio@45 {
+ compatible = "raspberrypi,touchscreen-panel-regulator-v2";
+ reg = <0x45>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ #pwm-cells = <3>;
+ };
+
+ touchscreen@5d {
+ compatible = "goodix,gt911";
+ reg = <0x5d>;
+ AVDD28-supply = <®_dsi_touch>;
+ touchscreen-size-x = <720>;
+ touchscreen-size-y = <1280>;
+ };
+};
+
+&mdss_dsi0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ panel@0 {
+ compatible = "raspberrypi,dsi-7inch", "ilitek,ili9881c";
+ reg = <0>;
+ reset-gpios = <&mcu 0 GPIO_ACTIVE_LOW>;
+ power-supply = <®_display>;
+ iovcc-supply = <&pm8150_s4>;
+ backlight = <&display_bl>;
+
+ port {
+ panel_in: endpoint {
+ remote-endpoint = <&mdss_dsi0_out>;
+ };
+ };
+ };
+};
+
+&mdss_dsi0_out {
+ data-lanes = <0 1>;
+ remote-endpoint = <&panel_in>;
+};
--
2.34.1