Devicetree
 help / color / mirror / Atom feed
* [PATCH 0/2] arm64: dts: qcom: Add eDP display overlays for hamoa and purwa IoT EVKs
@ 2026-08-06 16:31 Anand Tiwari
  2026-08-06 16:31 ` [PATCH 1/2] arm64: dts: qcom: hamoa-iot-evk: Add eDP display overlay Anand Tiwari
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Anand Tiwari @ 2026-08-06 16:31 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel, Anand Tiwari,
	venkata.valluru, vishnu.saini, Jessica Zhang

Both Hamoa and Purwa IoT EVKs are available in headed and headless
variants. The headed variants use an eDP display panel connected via
the DP3 controller, while the headless variants do not include a
display.

Move the eDP-specific nodes out of the base DTS files into separate
DTBO overlays for each board. This allows the base DTBs to be used
as-is for headless variants, while the composite DTBs enable eDP
support on headed variants.

Signed-off-by: Anand Tiwari <anand.tiwari@oss.qualcomm.com>
---
Anand Tiwari (2):
      arm64: dts: qcom: hamoa-iot-evk: Add eDP display overlay
      arm64: dts: qcom: purwa-iot-evk: Add eDP display overlay

 arch/arm64/boot/dts/qcom/Makefile               |   6 ++
 arch/arm64/boot/dts/qcom/hamoa-iot-evk-edp.dtso | 126 ++++++++++++++++++++++++
 arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts      | 107 --------------------
 arch/arm64/boot/dts/qcom/purwa-iot-evk-edp.dtso | 126 ++++++++++++++++++++++++
 arch/arm64/boot/dts/qcom/purwa-iot-evk.dts      | 107 --------------------
 5 files changed, 258 insertions(+), 214 deletions(-)
---
base-commit: 56d828d0b65fb3451a23b5aee961531add7cf0fc
change-id: 20260804-edp_overlay_for-next-694510b7de51

Best regards,
--  
Anand Tiwari <anand.tiwari@oss.qualcomm.com>


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 1/2] arm64: dts: qcom: hamoa-iot-evk: Add eDP display overlay
  2026-08-06 16:31 [PATCH 0/2] arm64: dts: qcom: Add eDP display overlays for hamoa and purwa IoT EVKs Anand Tiwari
@ 2026-08-06 16:31 ` Anand Tiwari
  2026-08-06 16:55   ` sashiko-bot
  2026-08-07  0:05   ` Bjorn Andersson
  2026-08-06 16:31 ` [PATCH 2/2] arm64: dts: qcom: purwa-iot-evk: " Anand Tiwari
  2026-08-07  9:22 ` [PATCH 0/2] arm64: dts: qcom: Add eDP display overlays for hamoa and purwa IoT EVKs Dmitry Baryshkov
  2 siblings, 2 replies; 10+ messages in thread
From: Anand Tiwari @ 2026-08-06 16:31 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel, Anand Tiwari,
	venkata.valluru, vishnu.saini, Jessica Zhang

Move the eDP panel configuration and related power, backlight, and pinctrl
nodes into a separate overlay. Keep the base DTB suitable for headless
variants and provide a composite DTB for headed variants.

Signed-off-by: Anand Tiwari <anand.tiwari@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/Makefile               |   3 +
 arch/arm64/boot/dts/qcom/hamoa-iot-evk-edp.dtso | 126 ++++++++++++++++++++++++
 arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts      | 107 --------------------
 3 files changed, 129 insertions(+), 107 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 1c86e7e98f55..bb0da34983c8 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -20,6 +20,9 @@ dtb-$(CONFIG_ARCH_QCOM)	+= glymur-asus-zenbook-a16-ux3607oa.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= glymur-crd.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= hamoa-iot-evk.dtb
 
+hamoa-iot-evk-edp-dtbs	:= hamoa-iot-evk.dtb hamoa-iot-evk-edp.dtbo
+dtb-$(CONFIG_ARCH_QCOM)	+= hamoa-iot-evk-edp.dtb
+
 hamoa-iot-evk-el2-dtbs	:= hamoa-iot-evk.dtb x1-el2.dtbo
 
 dtb-$(CONFIG_ARCH_QCOM)	+= hamoa-iot-evk-el2.dtb
diff --git a/arch/arm64/boot/dts/qcom/hamoa-iot-evk-edp.dtso b/arch/arm64/boot/dts/qcom/hamoa-iot-evk-edp.dtso
new file mode 100644
index 000000000000..759d05342627
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/hamoa-iot-evk-edp.dtso
@@ -0,0 +1,126 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+
+&{/} {
+	backlight: backlight {
+		compatible = "pwm-backlight";
+		pwms = <&pmk8550_pwm 0 5000000>;
+		enable-gpios = <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>;
+		power-supply = <&vreg_edp_bl>;
+
+		pinctrl-0 = <&edp_bl_en>, <&edp_bl_pwm>;
+		pinctrl-names = "default";
+	};
+
+	vreg_edp_3p3: regulator-edp-3p3 {
+		compatible = "regulator-fixed";
+
+		regulator-name = "VREG_EDP_3P3";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+
+		gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+
+		pinctrl-0 = <&edp_reg_en>;
+		pinctrl-names = "default";
+
+		regulator-boot-on;
+	};
+
+	vreg_edp_bl: regulator-edp-bl {
+		compatible = "regulator-fixed";
+
+		regulator-name = "VBL9";
+		regulator-min-microvolt = <3600000>;
+		regulator-max-microvolt = <3600000>;
+
+		gpio = <&pmc8380_3_gpios 10 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+
+		pinctrl-0 = <&edp_bl_reg_en>;
+		pinctrl-names = "default";
+
+		regulator-boot-on;
+	};
+};
+
+&mdss_dp3 {
+	/delete-property/ #sound-dai-cells;
+
+	pinctrl-0 = <&edp0_hpd_default>;
+	pinctrl-names = "default";
+
+	status = "okay";
+
+	aux-bus {
+		panel {
+			compatible = "edp-panel";
+
+			backlight = <&backlight>;
+			power-supply = <&vreg_edp_3p3>;
+
+			port {
+				edp_panel_in: endpoint {
+					remote-endpoint = <&mdss_dp3_out>;
+				};
+			};
+		};
+	};
+};
+
+&mdss_dp3_out {
+	data-lanes = <0 1 2 3>;
+	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
+
+	remote-endpoint = <&edp_panel_in>;
+};
+
+&mdss_dp3_phy {
+	vdda-phy-supply = <&vreg_l3j_0p8>;
+	vdda-pll-supply = <&vreg_l2j_1p2>;
+
+	status = "okay";
+};
+
+&pmc8380_3_gpios {
+	edp_bl_en: edp-bl-en-state {
+		pins = "gpio4";
+		function = "normal";
+		power-source = <1>;
+		input-disable;
+		output-enable;
+	};
+
+	edp_bl_reg_en: edp-bl-reg-en-state {
+		pins = "gpio10";
+		function = "normal";
+	};
+};
+
+&pmk8550_gpios {
+	edp_bl_pwm: edp-bl-pwm-state {
+		pins = "gpio5";
+		function = "func3";
+	};
+};
+
+&pmk8550_pwm {
+	status = "okay";
+};
+
+&tlmm {
+	edp_reg_en: edp-reg-en-state {
+		pins = "gpio70";
+		function = "gpio";
+		drive-strength = <16>;
+		bias-disable;
+	};
+};
diff --git a/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts b/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
index 9fa86bb6438e..78cefd5391b1 100644
--- a/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
+++ b/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
@@ -19,16 +19,6 @@ aliases {
 		serial1 = &uart14;
 	};
 
-	backlight: backlight {
-		compatible = "pwm-backlight";
-		pwms = <&pmk8550_pwm 0 5000000>;
-		enable-gpios = <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>;
-		power-supply = <&vreg_edp_bl>;
-
-		pinctrl-0 = <&edp_bl_en>, <&edp_bl_pwm>;
-		pinctrl-names = "default";
-	};
-
 	clocks {
 		mcp2518fd_osc: clock-40000000 {
 			compatible = "fixed-clock";
@@ -213,38 +203,6 @@ pmic_glink_ss2_con_sbu_in: endpoint {
 		};
 	};
 
-	vreg_edp_3p3: regulator-edp-3p3 {
-		compatible = "regulator-fixed";
-
-		regulator-name = "VREG_EDP_3P3";
-		regulator-min-microvolt = <3300000>;
-		regulator-max-microvolt = <3300000>;
-
-		gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>;
-		enable-active-high;
-
-		pinctrl-0 = <&edp_reg_en>;
-		pinctrl-names = "default";
-
-		regulator-boot-on;
-	};
-
-	vreg_edp_bl: regulator-edp-bl {
-		compatible = "regulator-fixed";
-
-		regulator-name = "VBL9";
-		regulator-min-microvolt = <3600000>;
-		regulator-max-microvolt = <3600000>;
-
-		gpio = <&pmc8380_3_gpios 10 GPIO_ACTIVE_HIGH>;
-		enable-active-high;
-
-		pinctrl-0 = <&edp_bl_reg_en>;
-		pinctrl-names = "default";
-
-		regulator-boot-on;
-	};
-
 	vreg_nvme: regulator-nvme {
 		compatible = "regulator-fixed";
 
@@ -974,44 +932,6 @@ &mdss_dp2_out {
 	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
 };
 
-&mdss_dp3 {
-	/delete-property/ #sound-dai-cells;
-
-	pinctrl-0 = <&edp0_hpd_default>;
-	pinctrl-names = "default";
-
-	status = "okay";
-
-	aux-bus {
-		panel {
-			compatible = "edp-panel";
-
-			backlight = <&backlight>;
-			power-supply = <&vreg_edp_3p3>;
-
-			port {
-				edp_panel_in: endpoint {
-					remote-endpoint = <&mdss_dp3_out>;
-				};
-			};
-		};
-	};
-};
-
-&mdss_dp3_out {
-	data-lanes = <0 1 2 3>;
-	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
-
-	remote-endpoint = <&edp_panel_in>;
-};
-
-&mdss_dp3_phy {
-	vdda-phy-supply = <&vreg_l3j_0p8>;
-	vdda-pll-supply = <&vreg_l2j_1p2>;
-
-	status = "okay";
-};
-
 &pcie3_port0 {
 	vpcie12v-supply = <&vreg_pcie_12v>;
 	vpcie3v3-supply = <&vreg_pcie_3v3>;
@@ -1140,19 +1060,6 @@ led@2 {
 };
 
 &pmc8380_3_gpios {
-	edp_bl_en: edp-bl-en-state {
-		pins = "gpio4";
-		function = "normal";
-		power-source = <1>;
-		input-disable;
-		output-enable;
-	};
-
-	edp_bl_reg_en: edp-bl-reg-en-state {
-		pins = "gpio10";
-		function = "normal";
-	};
-
 	pm_sde7_aux_3p3_en: pcie-aux-3p3-default-state {
 		pins = "gpio8";
 		function = "normal";
@@ -1181,13 +1088,6 @@ usb0_pwr_1p15_reg_en: usb0-pwr-1p15-reg-en-state {
 	};
 };
 
-&pmk8550_gpios {
-	edp_bl_pwm: edp-bl-pwm-state {
-		pins = "gpio5";
-		function = "func3";
-	};
-};
-
 &pmk8550_pwm {
 	status = "okay";
 };
@@ -1357,13 +1257,6 @@ ec_int_n_default: ec-int-n-state {
 		bias-disable;
 	};
 
-	edp_reg_en: edp-reg-en-state {
-		pins = "gpio70";
-		function = "gpio";
-		drive-strength = <16>;
-		bias-disable;
-	};
-
 	eusb3_reset_n: eusb3-reset-n-state {
 		pins = "gpio6";
 		function = "gpio";

-- 
2.54.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/2] arm64: dts: qcom: purwa-iot-evk: Add eDP display overlay
  2026-08-06 16:31 [PATCH 0/2] arm64: dts: qcom: Add eDP display overlays for hamoa and purwa IoT EVKs Anand Tiwari
  2026-08-06 16:31 ` [PATCH 1/2] arm64: dts: qcom: hamoa-iot-evk: Add eDP display overlay Anand Tiwari
@ 2026-08-06 16:31 ` Anand Tiwari
  2026-08-06 16:54   ` sashiko-bot
  2026-08-07  0:06   ` Bjorn Andersson
  2026-08-07  9:22 ` [PATCH 0/2] arm64: dts: qcom: Add eDP display overlays for hamoa and purwa IoT EVKs Dmitry Baryshkov
  2 siblings, 2 replies; 10+ messages in thread
From: Anand Tiwari @ 2026-08-06 16:31 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley
  Cc: linux-arm-msm, devicetree, linux-kernel, Anand Tiwari,
	venkata.valluru, vishnu.saini, Jessica Zhang

Move the eDP panel configuration and related power, backlight, and pinctrl
nodes into a separate overlay. Keep the base DTB suitable for headless
variants and provide a composite DTB for headed variants.

Signed-off-by: Anand Tiwari <anand.tiwari@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/Makefile               |   3 +
 arch/arm64/boot/dts/qcom/purwa-iot-evk-edp.dtso | 126 ++++++++++++++++++++++++
 arch/arm64/boot/dts/qcom/purwa-iot-evk.dts      | 107 --------------------
 3 files changed, 129 insertions(+), 107 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index bb0da34983c8..fc954da58402 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -165,6 +165,9 @@ dtb-$(CONFIG_ARCH_QCOM)	+= msm8998-sony-xperia-yoshino-poplar.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= msm8998-xiaomi-sagit.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= purwa-iot-evk.dtb
 
+purwa-iot-evk-edp-dtbs	:= purwa-iot-evk.dtb purwa-iot-evk-edp.dtbo
+dtb-$(CONFIG_ARCH_QCOM)	+= purwa-iot-evk-edp.dtb
+
 purwa-iot-evk-el2-dtbs	:= purwa-iot-evk.dtb x1-el2.dtbo
 
 dtb-$(CONFIG_ARCH_QCOM)	+= purwa-iot-evk-el2.dtb
diff --git a/arch/arm64/boot/dts/qcom/purwa-iot-evk-edp.dtso b/arch/arm64/boot/dts/qcom/purwa-iot-evk-edp.dtso
new file mode 100644
index 000000000000..759d05342627
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/purwa-iot-evk-edp.dtso
@@ -0,0 +1,126 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+
+&{/} {
+	backlight: backlight {
+		compatible = "pwm-backlight";
+		pwms = <&pmk8550_pwm 0 5000000>;
+		enable-gpios = <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>;
+		power-supply = <&vreg_edp_bl>;
+
+		pinctrl-0 = <&edp_bl_en>, <&edp_bl_pwm>;
+		pinctrl-names = "default";
+	};
+
+	vreg_edp_3p3: regulator-edp-3p3 {
+		compatible = "regulator-fixed";
+
+		regulator-name = "VREG_EDP_3P3";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+
+		gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+
+		pinctrl-0 = <&edp_reg_en>;
+		pinctrl-names = "default";
+
+		regulator-boot-on;
+	};
+
+	vreg_edp_bl: regulator-edp-bl {
+		compatible = "regulator-fixed";
+
+		regulator-name = "VBL9";
+		regulator-min-microvolt = <3600000>;
+		regulator-max-microvolt = <3600000>;
+
+		gpio = <&pmc8380_3_gpios 10 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+
+		pinctrl-0 = <&edp_bl_reg_en>;
+		pinctrl-names = "default";
+
+		regulator-boot-on;
+	};
+};
+
+&mdss_dp3 {
+	/delete-property/ #sound-dai-cells;
+
+	pinctrl-0 = <&edp0_hpd_default>;
+	pinctrl-names = "default";
+
+	status = "okay";
+
+	aux-bus {
+		panel {
+			compatible = "edp-panel";
+
+			backlight = <&backlight>;
+			power-supply = <&vreg_edp_3p3>;
+
+			port {
+				edp_panel_in: endpoint {
+					remote-endpoint = <&mdss_dp3_out>;
+				};
+			};
+		};
+	};
+};
+
+&mdss_dp3_out {
+	data-lanes = <0 1 2 3>;
+	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
+
+	remote-endpoint = <&edp_panel_in>;
+};
+
+&mdss_dp3_phy {
+	vdda-phy-supply = <&vreg_l3j_0p8>;
+	vdda-pll-supply = <&vreg_l2j_1p2>;
+
+	status = "okay";
+};
+
+&pmc8380_3_gpios {
+	edp_bl_en: edp-bl-en-state {
+		pins = "gpio4";
+		function = "normal";
+		power-source = <1>;
+		input-disable;
+		output-enable;
+	};
+
+	edp_bl_reg_en: edp-bl-reg-en-state {
+		pins = "gpio10";
+		function = "normal";
+	};
+};
+
+&pmk8550_gpios {
+	edp_bl_pwm: edp-bl-pwm-state {
+		pins = "gpio5";
+		function = "func3";
+	};
+};
+
+&pmk8550_pwm {
+	status = "okay";
+};
+
+&tlmm {
+	edp_reg_en: edp-reg-en-state {
+		pins = "gpio70";
+		function = "gpio";
+		drive-strength = <16>;
+		bias-disable;
+	};
+};
diff --git a/arch/arm64/boot/dts/qcom/purwa-iot-evk.dts b/arch/arm64/boot/dts/qcom/purwa-iot-evk.dts
index ad503beec1d3..6dde925025dd 100644
--- a/arch/arm64/boot/dts/qcom/purwa-iot-evk.dts
+++ b/arch/arm64/boot/dts/qcom/purwa-iot-evk.dts
@@ -19,16 +19,6 @@ aliases {
 		serial1 = &uart14;
 	};
 
-	backlight: backlight {
-		compatible = "pwm-backlight";
-		pwms = <&pmk8550_pwm 0 5000000>;
-		enable-gpios = <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>;
-		power-supply = <&vreg_edp_bl>;
-
-		pinctrl-0 = <&edp_bl_en>, <&edp_bl_pwm>;
-		pinctrl-names = "default";
-	};
-
 	wcd938x: audio-codec {
 		compatible = "qcom,wcd9385-codec";
 
@@ -205,38 +195,6 @@ pmic_glink_ss2_con_sbu_in: endpoint {
 		};
 	};
 
-	vreg_edp_3p3: regulator-edp-3p3 {
-		compatible = "regulator-fixed";
-
-		regulator-name = "VREG_EDP_3P3";
-		regulator-min-microvolt = <3300000>;
-		regulator-max-microvolt = <3300000>;
-
-		gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>;
-		enable-active-high;
-
-		pinctrl-0 = <&edp_reg_en>;
-		pinctrl-names = "default";
-
-		regulator-boot-on;
-	};
-
-	vreg_edp_bl: regulator-edp-bl {
-		compatible = "regulator-fixed";
-
-		regulator-name = "VBL9";
-		regulator-min-microvolt = <3600000>;
-		regulator-max-microvolt = <3600000>;
-
-		gpio = <&pmc8380_3_gpios 10 GPIO_ACTIVE_HIGH>;
-		enable-active-high;
-
-		pinctrl-0 = <&edp_bl_reg_en>;
-		pinctrl-names = "default";
-
-		regulator-boot-on;
-	};
-
 	vreg_nvme: regulator-nvme {
 		compatible = "regulator-fixed";
 
@@ -962,44 +920,6 @@ &mdss_dp2_out {
 	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
 };
 
-&mdss_dp3 {
-	/delete-property/ #sound-dai-cells;
-
-	pinctrl-0 = <&edp0_hpd_default>;
-	pinctrl-names = "default";
-
-	status = "okay";
-
-	aux-bus {
-		panel {
-			compatible = "edp-panel";
-
-			backlight = <&backlight>;
-			power-supply = <&vreg_edp_3p3>;
-
-			port {
-				edp_panel_in: endpoint {
-					remote-endpoint = <&mdss_dp3_out>;
-				};
-			};
-		};
-	};
-};
-
-&mdss_dp3_out {
-	data-lanes = <0 1 2 3>;
-	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
-
-	remote-endpoint = <&edp_panel_in>;
-};
-
-&mdss_dp3_phy {
-	vdda-phy-supply = <&vreg_l3j_0p8>;
-	vdda-pll-supply = <&vreg_l2j_1p2>;
-
-	status = "okay";
-};
-
 &pcie3_port0 {
 	vpcie12v-supply = <&vreg_pcie_12v>;
 	vpcie3v3-supply = <&vreg_pcie_3v3>;
@@ -1128,19 +1048,6 @@ led@2 {
 };
 
 &pmc8380_3_gpios {
-	edp_bl_en: edp-bl-en-state {
-		pins = "gpio4";
-		function = "normal";
-		power-source = <1>;
-		input-disable;
-		output-enable;
-	};
-
-	edp_bl_reg_en: edp-bl-reg-en-state {
-		pins = "gpio10";
-		function = "normal";
-	};
-
 	pm_sde7_aux_3p3_en: pcie-aux-3p3-default-state {
 		pins = "gpio8";
 		function = "normal";
@@ -1169,13 +1076,6 @@ usb0_pwr_1p15_reg_en: usb0-pwr-1p15-reg-en-state {
 	};
 };
 
-&pmk8550_gpios {
-	edp_bl_pwm: edp-bl-pwm-state {
-		pins = "gpio5";
-		function = "func3";
-	};
-};
-
 &pmk8550_pwm {
 	status = "okay";
 };
@@ -1326,13 +1226,6 @@ right_tweeter: speaker@0,1 {
 };
 
 &tlmm {
-	edp_reg_en: edp-reg-en-state {
-		pins = "gpio70";
-		function = "gpio";
-		drive-strength = <16>;
-		bias-disable;
-	};
-
 	eusb3_reset_n: eusb3-reset-n-state {
 		pins = "gpio6";
 		function = "gpio";

-- 
2.54.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] arm64: dts: qcom: purwa-iot-evk: Add eDP display overlay
  2026-08-06 16:31 ` [PATCH 2/2] arm64: dts: qcom: purwa-iot-evk: " Anand Tiwari
@ 2026-08-06 16:54   ` sashiko-bot
  2026-08-07  0:06   ` Bjorn Andersson
  1 sibling, 0 replies; 10+ messages in thread
From: sashiko-bot @ 2026-08-06 16:54 UTC (permalink / raw)
  To: Anand Tiwari; +Cc: conor+dt, robh, devicetree

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Medium] The `/delete-property/ #sound-dai-cells;` directive moved into the `.dtso` overlay is a silent no-op, falsely exposing an audio DAI.
- [Low] The `pmk8550_pwm` node is left enabled in the base DTS after its only consumer was moved to the overlay.
--

--- Patch [2]: [PATCH 2/2] arm64: dts: qcom: purwa-iot-evk: Add eDP display overlay ---
commit 28cbb74b5accd1eed8eb8f23fae1e5b1e310ff55
Author: Anand Tiwari <anand.tiwari@oss.qualcomm.com>

arm64: dts: qcom: purwa-iot-evk: Add eDP display overlay
    
Move the eDP panel configuration and related power, backlight, and pinctrl
nodes into a separate overlay. Keep the base DTB suitable for headless
variants and provide a composite DTB for headed variants.

> diff --git a/arch/arm64/boot/dts/qcom/purwa-iot-evk-edp.dtso b/arch/arm64/boot/dts/qcom/purwa-iot-evk-edp.dtso
> new file mode 100644
> index 0000000000000..759d05342627f
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/purwa-iot-evk-edp.dtso

[ ... ]

> +&mdss_dp3 {
> +	/delete-property/ #sound-dai-cells;

[Severity: Medium]
Is this property deletion effective in an overlay?

The Device Tree Overlay standard and fdtoverlay mechanism do not natively
support property deletions at merge-time. When compiled with dtc, the
/delete-property/ directive is discarded because it has no target within the
local fragment scope.

Will this result in the mdss_dp3 node continuing to inherit the
#sound-dai-cells = <0> property from hamoa.dtsi, falsely exposing an audio
DAI to the audio framework when probed?

[ ... ]

> diff --git a/arch/arm64/boot/dts/qcom/purwa-iot-evk.dts b/arch/arm64/boot/dts/qcom/purwa-iot-evk.dts
> index ad503beec1d3d..6dde925025dd8 100644
> --- a/arch/arm64/boot/dts/qcom/purwa-iot-evk.dts
> +++ b/arch/arm64/boot/dts/qcom/purwa-iot-evk.dts

[ ... ]

> @@ -1169,13 +1076,6 @@ usb0_pwr_1p15_reg_en: usb0-pwr-1p15-reg-en-state {
>  	};
>  };
>  
> -&pmk8550_gpios {
> -	edp_bl_pwm: edp-bl-pwm-state {
> -		pins = "gpio5";
> -		function = "func3";
> -	};
> -};
> -
>  &pmk8550_pwm {
>  	status = "okay";
>  };

[Severity: Low]
Should the pmk8550_pwm node's status be removed or set to "disabled" in the
base device tree now that its consumer is moved?

Since the only consumer of this PWM (the eDP backlight) was moved to the
overlay, leaving it with status = "okay" here unnecessarily probes the
controller on headless variants of the EVK. 

The overlay also redundantly re-enables it.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260806-edp_overlay_for-next-v1-0-c3aebbc81f38@oss.qualcomm.com?part=2

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2] arm64: dts: qcom: hamoa-iot-evk: Add eDP display overlay
  2026-08-06 16:31 ` [PATCH 1/2] arm64: dts: qcom: hamoa-iot-evk: Add eDP display overlay Anand Tiwari
@ 2026-08-06 16:55   ` sashiko-bot
  2026-08-07  0:05   ` Bjorn Andersson
  1 sibling, 0 replies; 10+ messages in thread
From: sashiko-bot @ 2026-08-06 16:55 UTC (permalink / raw)
  To: Anand Tiwari; +Cc: conor+dt, robh, devicetree

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Medium] The `/delete-property/ #sound-dai-cells;` directive in the DT overlay is ineffective because standard device tree overlays do not support property deletion.
- [Low] The eDP backlight PWM controller (`pmk8550_pwm`) is unintentionally left enabled in the headless base DTB.
--

--- Patch [1]: [PATCH 1/2] arm64: dts: qcom: hamoa-iot-evk: Add eDP display overlay ---
commit 820f4e5720b8cbcecbbe4eead917eaa1fbedcf0e
Author: Anand Tiwari <anand.tiwari@oss.qualcomm.com>

arm64: dts: qcom: hamoa-iot-evk: Add eDP display overlay

Move the eDP panel configuration and related power, backlight, and pinctrl
nodes into a separate overlay. Keep the base DTB suitable for headless
variants and provide a composite DTB for headed variants.

> diff --git a/arch/arm64/boot/dts/qcom/hamoa-iot-evk-edp.dtso b/arch/arm64/boot/dts/qcom/hamoa-iot-evk-edp.dtso
> new file mode 100644
> index 0000000000000..759d05342627f
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/hamoa-iot-evk-edp.dtso
[ ... ]
> +&mdss_dp3 {
> +	/delete-property/ #sound-dai-cells;

[Severity: Medium]
Will this /delete-property/ directive actually remove the property from the
base tree when merging the overlay?

Standard device tree overlays do not support property deletion. When compiled
with dtc, this deletion directive is evaluated against the local overlay AST
where the property does not exist, and is silently discarded. The .dtbo
format lacks a deletion opcode, so the property will remain enabled in the
composite device tree, potentially causing DT schema validation errors or
incorrect audio subsystem probing.

[ ... ]
> diff --git a/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts b/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
> index 9fa86bb6438ec..78cefd5391b17 100644
> --- a/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
> +++ b/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
[ ... ]
> -&pmk8550_gpios {
> -	edp_bl_pwm: edp-bl-pwm-state {
> -		pins = "gpio5";
> -		function = "func3";
> -	};
> -};
> -
>  &pmk8550_pwm {
>  	status = "okay";
>  };

[Severity: Low]
Should this status override for pmk8550_pwm have been removed from the base
device tree?

Since the backlight consumer and GPIO configurations have been moved to the
overlay, leaving pmk8550_pwm enabled here keeps it active on headless
variants without any consumers. It is also redundantly enabled in the new
overlay.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260806-edp_overlay_for-next-v1-0-c3aebbc81f38@oss.qualcomm.com?part=1

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2] arm64: dts: qcom: hamoa-iot-evk: Add eDP display overlay
  2026-08-06 16:31 ` [PATCH 1/2] arm64: dts: qcom: hamoa-iot-evk: Add eDP display overlay Anand Tiwari
  2026-08-06 16:55   ` sashiko-bot
@ 2026-08-07  0:05   ` Bjorn Andersson
  2026-08-07 10:00     ` Anand Tiwari
  1 sibling, 1 reply; 10+ messages in thread
From: Bjorn Andersson @ 2026-08-07  0:05 UTC (permalink / raw)
  To: Anand Tiwari
  Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	linux-arm-msm, devicetree, linux-kernel, venkata.valluru,
	vishnu.saini, Jessica Zhang

On Thu, Aug 06, 2026 at 10:01:20PM +0530, Anand Tiwari wrote:
> Move the eDP panel configuration and related power, backlight, and pinctrl
> nodes into a separate overlay. Keep the base DTB suitable for headless
> variants and provide a composite DTB for headed variants.

To quote:
https://docs.kernel.org/process/submitting-patches.html#describe-your-changes

"""
Describe your problem. Whether your patch is a one-line bug fix or 5000
lines of a new feature, there must be an underlying problem that
motivated you to do this work. Convince the reviewer that there is a
problem worth fixing and that it makes sense for them to read past the
first paragraph.
"""

In fact, I'm not even able to guess what the problem you're fixing here.

Regards,
Bjorn

> 
> Signed-off-by: Anand Tiwari <anand.tiwari@oss.qualcomm.com>
> ---
>  arch/arm64/boot/dts/qcom/Makefile               |   3 +
>  arch/arm64/boot/dts/qcom/hamoa-iot-evk-edp.dtso | 126 ++++++++++++++++++++++++
>  arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts      | 107 --------------------
>  3 files changed, 129 insertions(+), 107 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> index 1c86e7e98f55..bb0da34983c8 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -20,6 +20,9 @@ dtb-$(CONFIG_ARCH_QCOM)	+= glymur-asus-zenbook-a16-ux3607oa.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= glymur-crd.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= hamoa-iot-evk.dtb
>  
> +hamoa-iot-evk-edp-dtbs	:= hamoa-iot-evk.dtb hamoa-iot-evk-edp.dtbo
> +dtb-$(CONFIG_ARCH_QCOM)	+= hamoa-iot-evk-edp.dtb
> +
>  hamoa-iot-evk-el2-dtbs	:= hamoa-iot-evk.dtb x1-el2.dtbo
>  
>  dtb-$(CONFIG_ARCH_QCOM)	+= hamoa-iot-evk-el2.dtb
> diff --git a/arch/arm64/boot/dts/qcom/hamoa-iot-evk-edp.dtso b/arch/arm64/boot/dts/qcom/hamoa-iot-evk-edp.dtso
> new file mode 100644
> index 000000000000..759d05342627
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/hamoa-iot-evk-edp.dtso
> @@ -0,0 +1,126 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
> + */
> +
> +/dts-v1/;
> +/plugin/;
> +
> +#include <dt-bindings/gpio/gpio.h>
> +
> +&{/} {
> +	backlight: backlight {
> +		compatible = "pwm-backlight";
> +		pwms = <&pmk8550_pwm 0 5000000>;
> +		enable-gpios = <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>;
> +		power-supply = <&vreg_edp_bl>;
> +
> +		pinctrl-0 = <&edp_bl_en>, <&edp_bl_pwm>;
> +		pinctrl-names = "default";
> +	};
> +
> +	vreg_edp_3p3: regulator-edp-3p3 {
> +		compatible = "regulator-fixed";
> +
> +		regulator-name = "VREG_EDP_3P3";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +
> +		gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>;
> +		enable-active-high;
> +
> +		pinctrl-0 = <&edp_reg_en>;
> +		pinctrl-names = "default";
> +
> +		regulator-boot-on;
> +	};
> +
> +	vreg_edp_bl: regulator-edp-bl {
> +		compatible = "regulator-fixed";
> +
> +		regulator-name = "VBL9";
> +		regulator-min-microvolt = <3600000>;
> +		regulator-max-microvolt = <3600000>;
> +
> +		gpio = <&pmc8380_3_gpios 10 GPIO_ACTIVE_HIGH>;
> +		enable-active-high;
> +
> +		pinctrl-0 = <&edp_bl_reg_en>;
> +		pinctrl-names = "default";
> +
> +		regulator-boot-on;
> +	};
> +};
> +
> +&mdss_dp3 {
> +	/delete-property/ #sound-dai-cells;
> +
> +	pinctrl-0 = <&edp0_hpd_default>;
> +	pinctrl-names = "default";
> +
> +	status = "okay";
> +
> +	aux-bus {
> +		panel {
> +			compatible = "edp-panel";
> +
> +			backlight = <&backlight>;
> +			power-supply = <&vreg_edp_3p3>;
> +
> +			port {
> +				edp_panel_in: endpoint {
> +					remote-endpoint = <&mdss_dp3_out>;
> +				};
> +			};
> +		};
> +	};
> +};
> +
> +&mdss_dp3_out {
> +	data-lanes = <0 1 2 3>;
> +	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
> +
> +	remote-endpoint = <&edp_panel_in>;
> +};
> +
> +&mdss_dp3_phy {
> +	vdda-phy-supply = <&vreg_l3j_0p8>;
> +	vdda-pll-supply = <&vreg_l2j_1p2>;
> +
> +	status = "okay";
> +};
> +
> +&pmc8380_3_gpios {
> +	edp_bl_en: edp-bl-en-state {
> +		pins = "gpio4";
> +		function = "normal";
> +		power-source = <1>;
> +		input-disable;
> +		output-enable;
> +	};
> +
> +	edp_bl_reg_en: edp-bl-reg-en-state {
> +		pins = "gpio10";
> +		function = "normal";
> +	};
> +};
> +
> +&pmk8550_gpios {
> +	edp_bl_pwm: edp-bl-pwm-state {
> +		pins = "gpio5";
> +		function = "func3";
> +	};
> +};
> +
> +&pmk8550_pwm {
> +	status = "okay";
> +};
> +
> +&tlmm {
> +	edp_reg_en: edp-reg-en-state {
> +		pins = "gpio70";
> +		function = "gpio";
> +		drive-strength = <16>;
> +		bias-disable;
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts b/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
> index 9fa86bb6438e..78cefd5391b1 100644
> --- a/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
> +++ b/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
> @@ -19,16 +19,6 @@ aliases {
>  		serial1 = &uart14;
>  	};
>  
> -	backlight: backlight {
> -		compatible = "pwm-backlight";
> -		pwms = <&pmk8550_pwm 0 5000000>;
> -		enable-gpios = <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>;
> -		power-supply = <&vreg_edp_bl>;
> -
> -		pinctrl-0 = <&edp_bl_en>, <&edp_bl_pwm>;
> -		pinctrl-names = "default";
> -	};
> -
>  	clocks {
>  		mcp2518fd_osc: clock-40000000 {
>  			compatible = "fixed-clock";
> @@ -213,38 +203,6 @@ pmic_glink_ss2_con_sbu_in: endpoint {
>  		};
>  	};
>  
> -	vreg_edp_3p3: regulator-edp-3p3 {
> -		compatible = "regulator-fixed";
> -
> -		regulator-name = "VREG_EDP_3P3";
> -		regulator-min-microvolt = <3300000>;
> -		regulator-max-microvolt = <3300000>;
> -
> -		gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>;
> -		enable-active-high;
> -
> -		pinctrl-0 = <&edp_reg_en>;
> -		pinctrl-names = "default";
> -
> -		regulator-boot-on;
> -	};
> -
> -	vreg_edp_bl: regulator-edp-bl {
> -		compatible = "regulator-fixed";
> -
> -		regulator-name = "VBL9";
> -		regulator-min-microvolt = <3600000>;
> -		regulator-max-microvolt = <3600000>;
> -
> -		gpio = <&pmc8380_3_gpios 10 GPIO_ACTIVE_HIGH>;
> -		enable-active-high;
> -
> -		pinctrl-0 = <&edp_bl_reg_en>;
> -		pinctrl-names = "default";
> -
> -		regulator-boot-on;
> -	};
> -
>  	vreg_nvme: regulator-nvme {
>  		compatible = "regulator-fixed";
>  
> @@ -974,44 +932,6 @@ &mdss_dp2_out {
>  	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
>  };
>  
> -&mdss_dp3 {
> -	/delete-property/ #sound-dai-cells;
> -
> -	pinctrl-0 = <&edp0_hpd_default>;
> -	pinctrl-names = "default";
> -
> -	status = "okay";
> -
> -	aux-bus {
> -		panel {
> -			compatible = "edp-panel";
> -
> -			backlight = <&backlight>;
> -			power-supply = <&vreg_edp_3p3>;
> -
> -			port {
> -				edp_panel_in: endpoint {
> -					remote-endpoint = <&mdss_dp3_out>;
> -				};
> -			};
> -		};
> -	};
> -};
> -
> -&mdss_dp3_out {
> -	data-lanes = <0 1 2 3>;
> -	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
> -
> -	remote-endpoint = <&edp_panel_in>;
> -};
> -
> -&mdss_dp3_phy {
> -	vdda-phy-supply = <&vreg_l3j_0p8>;
> -	vdda-pll-supply = <&vreg_l2j_1p2>;
> -
> -	status = "okay";
> -};
> -
>  &pcie3_port0 {
>  	vpcie12v-supply = <&vreg_pcie_12v>;
>  	vpcie3v3-supply = <&vreg_pcie_3v3>;
> @@ -1140,19 +1060,6 @@ led@2 {
>  };
>  
>  &pmc8380_3_gpios {
> -	edp_bl_en: edp-bl-en-state {
> -		pins = "gpio4";
> -		function = "normal";
> -		power-source = <1>;
> -		input-disable;
> -		output-enable;
> -	};
> -
> -	edp_bl_reg_en: edp-bl-reg-en-state {
> -		pins = "gpio10";
> -		function = "normal";
> -	};
> -
>  	pm_sde7_aux_3p3_en: pcie-aux-3p3-default-state {
>  		pins = "gpio8";
>  		function = "normal";
> @@ -1181,13 +1088,6 @@ usb0_pwr_1p15_reg_en: usb0-pwr-1p15-reg-en-state {
>  	};
>  };
>  
> -&pmk8550_gpios {
> -	edp_bl_pwm: edp-bl-pwm-state {
> -		pins = "gpio5";
> -		function = "func3";
> -	};
> -};
> -
>  &pmk8550_pwm {
>  	status = "okay";
>  };
> @@ -1357,13 +1257,6 @@ ec_int_n_default: ec-int-n-state {
>  		bias-disable;
>  	};
>  
> -	edp_reg_en: edp-reg-en-state {
> -		pins = "gpio70";
> -		function = "gpio";
> -		drive-strength = <16>;
> -		bias-disable;
> -	};
> -
>  	eusb3_reset_n: eusb3-reset-n-state {
>  		pins = "gpio6";
>  		function = "gpio";
> 
> -- 
> 2.54.0
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/2] arm64: dts: qcom: purwa-iot-evk: Add eDP display overlay
  2026-08-06 16:31 ` [PATCH 2/2] arm64: dts: qcom: purwa-iot-evk: " Anand Tiwari
  2026-08-06 16:54   ` sashiko-bot
@ 2026-08-07  0:06   ` Bjorn Andersson
  1 sibling, 0 replies; 10+ messages in thread
From: Bjorn Andersson @ 2026-08-07  0:06 UTC (permalink / raw)
  To: Anand Tiwari
  Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	linux-arm-msm, devicetree, linux-kernel, venkata.valluru,
	vishnu.saini, Jessica Zhang

On Thu, Aug 06, 2026 at 10:01:21PM +0530, Anand Tiwari wrote:
> Move the eDP panel configuration and related power, backlight, and pinctrl
> nodes into a separate overlay. Keep the base DTB suitable for headless
> variants and provide a composite DTB for headed variants.
> 

Why?

> Signed-off-by: Anand Tiwari <anand.tiwari@oss.qualcomm.com>
> ---
>  arch/arm64/boot/dts/qcom/Makefile               |   3 +
>  arch/arm64/boot/dts/qcom/purwa-iot-evk-edp.dtso | 126 ++++++++++++++++++++++++
>  arch/arm64/boot/dts/qcom/purwa-iot-evk.dts      | 107 --------------------
>  3 files changed, 129 insertions(+), 107 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> index bb0da34983c8..fc954da58402 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -165,6 +165,9 @@ dtb-$(CONFIG_ARCH_QCOM)	+= msm8998-sony-xperia-yoshino-poplar.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= msm8998-xiaomi-sagit.dtb
>  dtb-$(CONFIG_ARCH_QCOM)	+= purwa-iot-evk.dtb
>  
> +purwa-iot-evk-edp-dtbs	:= purwa-iot-evk.dtb purwa-iot-evk-edp.dtbo
> +dtb-$(CONFIG_ARCH_QCOM)	+= purwa-iot-evk-edp.dtb
> +
>  purwa-iot-evk-el2-dtbs	:= purwa-iot-evk.dtb x1-el2.dtbo
>  
>  dtb-$(CONFIG_ARCH_QCOM)	+= purwa-iot-evk-el2.dtb
> diff --git a/arch/arm64/boot/dts/qcom/purwa-iot-evk-edp.dtso b/arch/arm64/boot/dts/qcom/purwa-iot-evk-edp.dtso
> new file mode 100644
> index 000000000000..759d05342627
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/purwa-iot-evk-edp.dtso
> @@ -0,0 +1,126 @@
> +// SPDX-License-Identifier: BSD-3-Clause
> +/*
> + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
> + */
> +
> +/dts-v1/;
> +/plugin/;
> +
> +#include <dt-bindings/gpio/gpio.h>
> +
> +&{/} {
> +	backlight: backlight {
> +		compatible = "pwm-backlight";
> +		pwms = <&pmk8550_pwm 0 5000000>;
> +		enable-gpios = <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>;
> +		power-supply = <&vreg_edp_bl>;
> +
> +		pinctrl-0 = <&edp_bl_en>, <&edp_bl_pwm>;
> +		pinctrl-names = "default";
> +	};
> +
> +	vreg_edp_3p3: regulator-edp-3p3 {
> +		compatible = "regulator-fixed";
> +
> +		regulator-name = "VREG_EDP_3P3";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +
> +		gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>;
> +		enable-active-high;
> +
> +		pinctrl-0 = <&edp_reg_en>;
> +		pinctrl-names = "default";
> +
> +		regulator-boot-on;
> +	};
> +
> +	vreg_edp_bl: regulator-edp-bl {
> +		compatible = "regulator-fixed";
> +
> +		regulator-name = "VBL9";
> +		regulator-min-microvolt = <3600000>;
> +		regulator-max-microvolt = <3600000>;
> +
> +		gpio = <&pmc8380_3_gpios 10 GPIO_ACTIVE_HIGH>;
> +		enable-active-high;
> +
> +		pinctrl-0 = <&edp_bl_reg_en>;
> +		pinctrl-names = "default";
> +
> +		regulator-boot-on;
> +	};
> +};
> +
> +&mdss_dp3 {
> +	/delete-property/ #sound-dai-cells;
> +
> +	pinctrl-0 = <&edp0_hpd_default>;
> +	pinctrl-names = "default";
> +
> +	status = "okay";
> +
> +	aux-bus {
> +		panel {
> +			compatible = "edp-panel";
> +
> +			backlight = <&backlight>;
> +			power-supply = <&vreg_edp_3p3>;
> +
> +			port {
> +				edp_panel_in: endpoint {
> +					remote-endpoint = <&mdss_dp3_out>;
> +				};
> +			};
> +		};
> +	};
> +};
> +
> +&mdss_dp3_out {
> +	data-lanes = <0 1 2 3>;
> +	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
> +
> +	remote-endpoint = <&edp_panel_in>;
> +};
> +
> +&mdss_dp3_phy {
> +	vdda-phy-supply = <&vreg_l3j_0p8>;
> +	vdda-pll-supply = <&vreg_l2j_1p2>;
> +
> +	status = "okay";
> +};
> +
> +&pmc8380_3_gpios {
> +	edp_bl_en: edp-bl-en-state {
> +		pins = "gpio4";
> +		function = "normal";
> +		power-source = <1>;
> +		input-disable;
> +		output-enable;
> +	};
> +
> +	edp_bl_reg_en: edp-bl-reg-en-state {
> +		pins = "gpio10";
> +		function = "normal";
> +	};
> +};
> +
> +&pmk8550_gpios {
> +	edp_bl_pwm: edp-bl-pwm-state {
> +		pins = "gpio5";
> +		function = "func3";
> +	};
> +};
> +
> +&pmk8550_pwm {
> +	status = "okay";
> +};
> +
> +&tlmm {
> +	edp_reg_en: edp-reg-en-state {
> +		pins = "gpio70";
> +		function = "gpio";
> +		drive-strength = <16>;
> +		bias-disable;
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/qcom/purwa-iot-evk.dts b/arch/arm64/boot/dts/qcom/purwa-iot-evk.dts
> index ad503beec1d3..6dde925025dd 100644
> --- a/arch/arm64/boot/dts/qcom/purwa-iot-evk.dts
> +++ b/arch/arm64/boot/dts/qcom/purwa-iot-evk.dts
> @@ -19,16 +19,6 @@ aliases {
>  		serial1 = &uart14;
>  	};
>  
> -	backlight: backlight {
> -		compatible = "pwm-backlight";
> -		pwms = <&pmk8550_pwm 0 5000000>;
> -		enable-gpios = <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>;
> -		power-supply = <&vreg_edp_bl>;
> -
> -		pinctrl-0 = <&edp_bl_en>, <&edp_bl_pwm>;
> -		pinctrl-names = "default";
> -	};
> -
>  	wcd938x: audio-codec {
>  		compatible = "qcom,wcd9385-codec";
>  
> @@ -205,38 +195,6 @@ pmic_glink_ss2_con_sbu_in: endpoint {
>  		};
>  	};
>  
> -	vreg_edp_3p3: regulator-edp-3p3 {
> -		compatible = "regulator-fixed";
> -
> -		regulator-name = "VREG_EDP_3P3";
> -		regulator-min-microvolt = <3300000>;
> -		regulator-max-microvolt = <3300000>;
> -
> -		gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>;
> -		enable-active-high;
> -
> -		pinctrl-0 = <&edp_reg_en>;
> -		pinctrl-names = "default";
> -
> -		regulator-boot-on;
> -	};
> -
> -	vreg_edp_bl: regulator-edp-bl {
> -		compatible = "regulator-fixed";
> -
> -		regulator-name = "VBL9";
> -		regulator-min-microvolt = <3600000>;
> -		regulator-max-microvolt = <3600000>;
> -
> -		gpio = <&pmc8380_3_gpios 10 GPIO_ACTIVE_HIGH>;
> -		enable-active-high;
> -
> -		pinctrl-0 = <&edp_bl_reg_en>;
> -		pinctrl-names = "default";
> -
> -		regulator-boot-on;
> -	};
> -
>  	vreg_nvme: regulator-nvme {
>  		compatible = "regulator-fixed";
>  
> @@ -962,44 +920,6 @@ &mdss_dp2_out {
>  	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
>  };
>  
> -&mdss_dp3 {
> -	/delete-property/ #sound-dai-cells;
> -
> -	pinctrl-0 = <&edp0_hpd_default>;
> -	pinctrl-names = "default";
> -
> -	status = "okay";
> -
> -	aux-bus {
> -		panel {
> -			compatible = "edp-panel";
> -
> -			backlight = <&backlight>;
> -			power-supply = <&vreg_edp_3p3>;
> -
> -			port {
> -				edp_panel_in: endpoint {
> -					remote-endpoint = <&mdss_dp3_out>;
> -				};
> -			};
> -		};
> -	};
> -};
> -
> -&mdss_dp3_out {
> -	data-lanes = <0 1 2 3>;
> -	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
> -
> -	remote-endpoint = <&edp_panel_in>;
> -};
> -
> -&mdss_dp3_phy {
> -	vdda-phy-supply = <&vreg_l3j_0p8>;
> -	vdda-pll-supply = <&vreg_l2j_1p2>;
> -
> -	status = "okay";
> -};
> -
>  &pcie3_port0 {
>  	vpcie12v-supply = <&vreg_pcie_12v>;
>  	vpcie3v3-supply = <&vreg_pcie_3v3>;
> @@ -1128,19 +1048,6 @@ led@2 {
>  };
>  
>  &pmc8380_3_gpios {
> -	edp_bl_en: edp-bl-en-state {
> -		pins = "gpio4";
> -		function = "normal";
> -		power-source = <1>;
> -		input-disable;
> -		output-enable;
> -	};
> -
> -	edp_bl_reg_en: edp-bl-reg-en-state {
> -		pins = "gpio10";
> -		function = "normal";
> -	};
> -
>  	pm_sde7_aux_3p3_en: pcie-aux-3p3-default-state {
>  		pins = "gpio8";
>  		function = "normal";
> @@ -1169,13 +1076,6 @@ usb0_pwr_1p15_reg_en: usb0-pwr-1p15-reg-en-state {
>  	};
>  };
>  
> -&pmk8550_gpios {
> -	edp_bl_pwm: edp-bl-pwm-state {
> -		pins = "gpio5";
> -		function = "func3";
> -	};
> -};
> -
>  &pmk8550_pwm {
>  	status = "okay";
>  };
> @@ -1326,13 +1226,6 @@ right_tweeter: speaker@0,1 {
>  };
>  
>  &tlmm {
> -	edp_reg_en: edp-reg-en-state {
> -		pins = "gpio70";
> -		function = "gpio";
> -		drive-strength = <16>;
> -		bias-disable;
> -	};
> -
>  	eusb3_reset_n: eusb3-reset-n-state {
>  		pins = "gpio6";
>  		function = "gpio";
> 
> -- 
> 2.54.0
> 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/2] arm64: dts: qcom: Add eDP display overlays for hamoa and purwa IoT EVKs
  2026-08-06 16:31 [PATCH 0/2] arm64: dts: qcom: Add eDP display overlays for hamoa and purwa IoT EVKs Anand Tiwari
  2026-08-06 16:31 ` [PATCH 1/2] arm64: dts: qcom: hamoa-iot-evk: Add eDP display overlay Anand Tiwari
  2026-08-06 16:31 ` [PATCH 2/2] arm64: dts: qcom: purwa-iot-evk: " Anand Tiwari
@ 2026-08-07  9:22 ` Dmitry Baryshkov
  2026-08-07 10:36   ` Anand Tiwari
  2 siblings, 1 reply; 10+ messages in thread
From: Dmitry Baryshkov @ 2026-08-07  9:22 UTC (permalink / raw)
  To: Anand Tiwari
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, linux-arm-msm, devicetree, linux-kernel,
	venkata.valluru, vishnu.saini, Jessica Zhang

On Thu, Aug 06, 2026 at 10:01:19PM +0530, Anand Tiwari wrote:
> Both Hamoa and Purwa IoT EVKs are available in headed and headless
> variants. The headed variants use an eDP display panel connected via
> the DP3 controller, while the headless variants do not include a
> display.

Is DP3 routed to a connector or is it unused?

> 
> Move the eDP-specific nodes out of the base DTS files into separate
> DTBO overlays for each board. This allows the base DTBs to be used
> as-is for headless variants, while the composite DTBs enable eDP
> support on headed variants.

-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2] arm64: dts: qcom: hamoa-iot-evk: Add eDP display overlay
  2026-08-07  0:05   ` Bjorn Andersson
@ 2026-08-07 10:00     ` Anand Tiwari
  0 siblings, 0 replies; 10+ messages in thread
From: Anand Tiwari @ 2026-08-07 10:00 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	linux-arm-msm, devicetree, linux-kernel, venkata.valluru,
	vishnu.saini, Jessica Zhang

On Thu, Aug 06, 2026 at 07:05:37PM -0500, Bjorn Andersson wrote:
> On Thu, Aug 06, 2026 at 10:01:20PM +0530, Anand Tiwari wrote:
> > Move the eDP panel configuration and related power, backlight, and pinctrl
> > nodes into a separate overlay. Keep the base DTB suitable for headless
> > variants and provide a composite DTB for headed variants.
> 
> To quote:
> https://docs.kernel.org/process/submitting-patches.html#describe-your-changes
> 
> """
> Describe your problem. Whether your patch is a one-line bug fix or 5000
> lines of a new feature, there must be an underlying problem that
> motivated you to do this work. Convince the reviewer that there is a
> problem worth fixing and that it makes sense for them to read past the
> first paragraph.
> """
> 
> In fact, I'm not even able to guess what the problem you're fixing here.
> 
> Regards,
> Bjorn
>

The problem is that the base device trees currently describe the eDP
display hardware unconditionally. However, Hamoa and Purwa IoT EVKs
are also available in headless variants without an eDP panel.

With current base DTBs, headless variants are not stable where eDP panel is not
physically connected with board and userspace is trying to use it.

This series fixes the inaccurate hardware description by keeping the
base DTBs limited to hardware common to both variants and moving the
eDP-specific nodes into separate overlays. The base DTB can therefore
be used for headless variants, while the overlay is selected for
headed variants.
 
> > 
> > Signed-off-by: Anand Tiwari <anand.tiwari@oss.qualcomm.com>
> > ---
> >  arch/arm64/boot/dts/qcom/Makefile               |   3 +
> >  arch/arm64/boot/dts/qcom/hamoa-iot-evk-edp.dtso | 126 ++++++++++++++++++++++++
> >  arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts      | 107 --------------------
> >  3 files changed, 129 insertions(+), 107 deletions(-)
> > 
> > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> > index 1c86e7e98f55..bb0da34983c8 100644
> > --- a/arch/arm64/boot/dts/qcom/Makefile
> > +++ b/arch/arm64/boot/dts/qcom/Makefile
> > @@ -20,6 +20,9 @@ dtb-$(CONFIG_ARCH_QCOM)	+= glymur-asus-zenbook-a16-ux3607oa.dtb
> >  dtb-$(CONFIG_ARCH_QCOM)	+= glymur-crd.dtb
> >  dtb-$(CONFIG_ARCH_QCOM)	+= hamoa-iot-evk.dtb
> >  
> > +hamoa-iot-evk-edp-dtbs	:= hamoa-iot-evk.dtb hamoa-iot-evk-edp.dtbo
> > +dtb-$(CONFIG_ARCH_QCOM)	+= hamoa-iot-evk-edp.dtb
> > +
> >  hamoa-iot-evk-el2-dtbs	:= hamoa-iot-evk.dtb x1-el2.dtbo
> >  
> >  dtb-$(CONFIG_ARCH_QCOM)	+= hamoa-iot-evk-el2.dtb
> > diff --git a/arch/arm64/boot/dts/qcom/hamoa-iot-evk-edp.dtso b/arch/arm64/boot/dts/qcom/hamoa-iot-evk-edp.dtso
> > new file mode 100644
> > index 000000000000..759d05342627
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/qcom/hamoa-iot-evk-edp.dtso
> > @@ -0,0 +1,126 @@
> > +// SPDX-License-Identifier: BSD-3-Clause
> > +/*
> > + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
> > + */
> > +
> > +/dts-v1/;
> > +/plugin/;
> > +
> > +#include <dt-bindings/gpio/gpio.h>
> > +
> > +&{/} {
> > +	backlight: backlight {
> > +		compatible = "pwm-backlight";
> > +		pwms = <&pmk8550_pwm 0 5000000>;
> > +		enable-gpios = <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>;
> > +		power-supply = <&vreg_edp_bl>;
> > +
> > +		pinctrl-0 = <&edp_bl_en>, <&edp_bl_pwm>;
> > +		pinctrl-names = "default";
> > +	};
> > +
> > +	vreg_edp_3p3: regulator-edp-3p3 {
> > +		compatible = "regulator-fixed";
> > +
> > +		regulator-name = "VREG_EDP_3P3";
> > +		regulator-min-microvolt = <3300000>;
> > +		regulator-max-microvolt = <3300000>;
> > +
> > +		gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>;
> > +		enable-active-high;
> > +
> > +		pinctrl-0 = <&edp_reg_en>;
> > +		pinctrl-names = "default";
> > +
> > +		regulator-boot-on;
> > +	};
> > +
> > +	vreg_edp_bl: regulator-edp-bl {
> > +		compatible = "regulator-fixed";
> > +
> > +		regulator-name = "VBL9";
> > +		regulator-min-microvolt = <3600000>;
> > +		regulator-max-microvolt = <3600000>;
> > +
> > +		gpio = <&pmc8380_3_gpios 10 GPIO_ACTIVE_HIGH>;
> > +		enable-active-high;
> > +
> > +		pinctrl-0 = <&edp_bl_reg_en>;
> > +		pinctrl-names = "default";
> > +
> > +		regulator-boot-on;
> > +	};
> > +};
> > +
> > +&mdss_dp3 {
> > +	/delete-property/ #sound-dai-cells;
> > +
> > +	pinctrl-0 = <&edp0_hpd_default>;
> > +	pinctrl-names = "default";
> > +
> > +	status = "okay";
> > +
> > +	aux-bus {
> > +		panel {
> > +			compatible = "edp-panel";
> > +
> > +			backlight = <&backlight>;
> > +			power-supply = <&vreg_edp_3p3>;
> > +
> > +			port {
> > +				edp_panel_in: endpoint {
> > +					remote-endpoint = <&mdss_dp3_out>;
> > +				};
> > +			};
> > +		};
> > +	};
> > +};
> > +
> > +&mdss_dp3_out {
> > +	data-lanes = <0 1 2 3>;
> > +	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
> > +
> > +	remote-endpoint = <&edp_panel_in>;
> > +};
> > +
> > +&mdss_dp3_phy {
> > +	vdda-phy-supply = <&vreg_l3j_0p8>;
> > +	vdda-pll-supply = <&vreg_l2j_1p2>;
> > +
> > +	status = "okay";
> > +};
> > +
> > +&pmc8380_3_gpios {
> > +	edp_bl_en: edp-bl-en-state {
> > +		pins = "gpio4";
> > +		function = "normal";
> > +		power-source = <1>;
> > +		input-disable;
> > +		output-enable;
> > +	};
> > +
> > +	edp_bl_reg_en: edp-bl-reg-en-state {
> > +		pins = "gpio10";
> > +		function = "normal";
> > +	};
> > +};
> > +
> > +&pmk8550_gpios {
> > +	edp_bl_pwm: edp-bl-pwm-state {
> > +		pins = "gpio5";
> > +		function = "func3";
> > +	};
> > +};
> > +
> > +&pmk8550_pwm {
> > +	status = "okay";
> > +};
> > +
> > +&tlmm {
> > +	edp_reg_en: edp-reg-en-state {
> > +		pins = "gpio70";
> > +		function = "gpio";
> > +		drive-strength = <16>;
> > +		bias-disable;
> > +	};
> > +};
> > diff --git a/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts b/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
> > index 9fa86bb6438e..78cefd5391b1 100644
> > --- a/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
> > +++ b/arch/arm64/boot/dts/qcom/hamoa-iot-evk.dts
> > @@ -19,16 +19,6 @@ aliases {
> >  		serial1 = &uart14;
> >  	};
> >  
> > -	backlight: backlight {
> > -		compatible = "pwm-backlight";
> > -		pwms = <&pmk8550_pwm 0 5000000>;
> > -		enable-gpios = <&pmc8380_3_gpios 4 GPIO_ACTIVE_HIGH>;
> > -		power-supply = <&vreg_edp_bl>;
> > -
> > -		pinctrl-0 = <&edp_bl_en>, <&edp_bl_pwm>;
> > -		pinctrl-names = "default";
> > -	};
> > -
> >  	clocks {
> >  		mcp2518fd_osc: clock-40000000 {
> >  			compatible = "fixed-clock";
> > @@ -213,38 +203,6 @@ pmic_glink_ss2_con_sbu_in: endpoint {
> >  		};
> >  	};
> >  
> > -	vreg_edp_3p3: regulator-edp-3p3 {
> > -		compatible = "regulator-fixed";
> > -
> > -		regulator-name = "VREG_EDP_3P3";
> > -		regulator-min-microvolt = <3300000>;
> > -		regulator-max-microvolt = <3300000>;
> > -
> > -		gpio = <&tlmm 70 GPIO_ACTIVE_HIGH>;
> > -		enable-active-high;
> > -
> > -		pinctrl-0 = <&edp_reg_en>;
> > -		pinctrl-names = "default";
> > -
> > -		regulator-boot-on;
> > -	};
> > -
> > -	vreg_edp_bl: regulator-edp-bl {
> > -		compatible = "regulator-fixed";
> > -
> > -		regulator-name = "VBL9";
> > -		regulator-min-microvolt = <3600000>;
> > -		regulator-max-microvolt = <3600000>;
> > -
> > -		gpio = <&pmc8380_3_gpios 10 GPIO_ACTIVE_HIGH>;
> > -		enable-active-high;
> > -
> > -		pinctrl-0 = <&edp_bl_reg_en>;
> > -		pinctrl-names = "default";
> > -
> > -		regulator-boot-on;
> > -	};
> > -
> >  	vreg_nvme: regulator-nvme {
> >  		compatible = "regulator-fixed";
> >  
> > @@ -974,44 +932,6 @@ &mdss_dp2_out {
> >  	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
> >  };
> >  
> > -&mdss_dp3 {
> > -	/delete-property/ #sound-dai-cells;
> > -
> > -	pinctrl-0 = <&edp0_hpd_default>;
> > -	pinctrl-names = "default";
> > -
> > -	status = "okay";
> > -
> > -	aux-bus {
> > -		panel {
> > -			compatible = "edp-panel";
> > -
> > -			backlight = <&backlight>;
> > -			power-supply = <&vreg_edp_3p3>;
> > -
> > -			port {
> > -				edp_panel_in: endpoint {
> > -					remote-endpoint = <&mdss_dp3_out>;
> > -				};
> > -			};
> > -		};
> > -	};
> > -};
> > -
> > -&mdss_dp3_out {
> > -	data-lanes = <0 1 2 3>;
> > -	link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
> > -
> > -	remote-endpoint = <&edp_panel_in>;
> > -};
> > -
> > -&mdss_dp3_phy {
> > -	vdda-phy-supply = <&vreg_l3j_0p8>;
> > -	vdda-pll-supply = <&vreg_l2j_1p2>;
> > -
> > -	status = "okay";
> > -};
> > -
> >  &pcie3_port0 {
> >  	vpcie12v-supply = <&vreg_pcie_12v>;
> >  	vpcie3v3-supply = <&vreg_pcie_3v3>;
> > @@ -1140,19 +1060,6 @@ led@2 {
> >  };
> >  
> >  &pmc8380_3_gpios {
> > -	edp_bl_en: edp-bl-en-state {
> > -		pins = "gpio4";
> > -		function = "normal";
> > -		power-source = <1>;
> > -		input-disable;
> > -		output-enable;
> > -	};
> > -
> > -	edp_bl_reg_en: edp-bl-reg-en-state {
> > -		pins = "gpio10";
> > -		function = "normal";
> > -	};
> > -
> >  	pm_sde7_aux_3p3_en: pcie-aux-3p3-default-state {
> >  		pins = "gpio8";
> >  		function = "normal";
> > @@ -1181,13 +1088,6 @@ usb0_pwr_1p15_reg_en: usb0-pwr-1p15-reg-en-state {
> >  	};
> >  };
> >  
> > -&pmk8550_gpios {
> > -	edp_bl_pwm: edp-bl-pwm-state {
> > -		pins = "gpio5";
> > -		function = "func3";
> > -	};
> > -};
> > -
> >  &pmk8550_pwm {
> >  	status = "okay";
> >  };
> > @@ -1357,13 +1257,6 @@ ec_int_n_default: ec-int-n-state {
> >  		bias-disable;
> >  	};
> >  
> > -	edp_reg_en: edp-reg-en-state {
> > -		pins = "gpio70";
> > -		function = "gpio";
> > -		drive-strength = <16>;
> > -		bias-disable;
> > -	};
> > -
> >  	eusb3_reset_n: eusb3-reset-n-state {
> >  		pins = "gpio6";
> >  		function = "gpio";
> > 
> > -- 
> > 2.54.0
> > 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/2] arm64: dts: qcom: Add eDP display overlays for hamoa and purwa IoT EVKs
  2026-08-07  9:22 ` [PATCH 0/2] arm64: dts: qcom: Add eDP display overlays for hamoa and purwa IoT EVKs Dmitry Baryshkov
@ 2026-08-07 10:36   ` Anand Tiwari
  0 siblings, 0 replies; 10+ messages in thread
From: Anand Tiwari @ 2026-08-07 10:36 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, linux-arm-msm, devicetree, linux-kernel,
	venkata.valluru, vishnu.saini, Jessica Zhang

On Fri, Aug 07, 2026 at 12:22:26PM +0300, Dmitry Baryshkov wrote:
> On Thu, Aug 06, 2026 at 10:01:19PM +0530, Anand Tiwari wrote:
> > Both Hamoa and Purwa IoT EVKs are available in headed and headless
> > variants. The headed variants use an eDP display panel connected via
> > the DP3 controller, while the headless variants do not include a
> > display.
> 
> Is DP3 routed to a connector or is it unused?
>

It is unused in headless variant.
 
> > 
> > Move the eDP-specific nodes out of the base DTS files into separate
> > DTBO overlays for each board. This allows the base DTBs to be used
> > as-is for headless variants, while the composite DTBs enable eDP
> > support on headed variants.
> 
> -- 
> With best wishes
> Dmitry

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2026-08-07 10:36 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-06 16:31 [PATCH 0/2] arm64: dts: qcom: Add eDP display overlays for hamoa and purwa IoT EVKs Anand Tiwari
2026-08-06 16:31 ` [PATCH 1/2] arm64: dts: qcom: hamoa-iot-evk: Add eDP display overlay Anand Tiwari
2026-08-06 16:55   ` sashiko-bot
2026-08-07  0:05   ` Bjorn Andersson
2026-08-07 10:00     ` Anand Tiwari
2026-08-06 16:31 ` [PATCH 2/2] arm64: dts: qcom: purwa-iot-evk: " Anand Tiwari
2026-08-06 16:54   ` sashiko-bot
2026-08-07  0:06   ` Bjorn Andersson
2026-08-07  9:22 ` [PATCH 0/2] arm64: dts: qcom: Add eDP display overlays for hamoa and purwa IoT EVKs Dmitry Baryshkov
2026-08-07 10:36   ` Anand Tiwari

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox