Re: [PATCH 2/2] arm64: dts: qcom: purwa-iot-evk: Add eDP display overlay

Bjorn Andersson <[email protected]>
Newsgroups org.kernel.vger.linux-kernel,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-devicetree
Message-ID <anUhYybtYglbk2kD@baldur>
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 <[email protected]>
> ---
>  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
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.