[PATCH v3 2/8] arm64: dts: qcom: sdm845-oneplus: Describe panel vci and poc supplies

David Heidelberg via B4 Relay posted 8 patches 3 months, 3 weeks ago
There is a newer version of this series
[PATCH v3 2/8] arm64: dts: qcom: sdm845-oneplus: Describe panel vci and poc supplies
Posted by David Heidelberg via B4 Relay 3 months, 3 weeks ago
From: Casey Connolly <casey.connolly@linaro.org>

There are two additional supplies used by the panel, both are GPIO
controlled and are left enabled by the bootloader for continuous splash.

Previously these were (incorrectly) modelled as pinctrl. Describe them
properly so that the panel can control them.

Fixes: 288ef8a42612 ("arm64: dts: sdm845: add oneplus6/6t devices")
Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
Co-developed-by: David Heidelberg <david@ixit.cz>
Signed-off-by: David Heidelberg <david@ixit.cz>
---
 .../arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi | 46 +++++++++++++++++++++-
 1 file changed, 45 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi
index dcfffb271fcf3..1cf03047dd7ae 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi
@@ -162,6 +162,34 @@ ts_1p8_supply: ts-1p8-regulator {
 		enable-active-high;
 		regulator-boot-on;
 	};
+
+	panel_vci_3v3: panel-vci-3v3-regulator {
+		compatible = "regulator-fixed";
+		regulator-name = "LCD_VCI_3V";
+
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+
+		gpio = <&tlmm 26 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+		pinctrl-0 = <&panel_vci_default>;
+		pinctrl-names = "default";
+		regulator-boot-on;
+	};
+
+	panel_vddi_poc_1p8: panel-vddi-poc-regulator {
+		compatible = "regulator-fixed";
+		regulator-name = "VDDI_POC";
+
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <1800000>;
+
+		gpio = <&tlmm 25 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+		pinctrl-0 = <&panel_poc_default>;
+		pinctrl-names = "default";
+		regulator-boot-on;
+	};
 };
 
 &adsp_pas {
@@ -429,6 +457,8 @@ display_panel: panel@0 {
 		reg = <0>;
 
 		vddio-supply = <&vreg_l14a_1p88>;
+		vci-supply = <&panel_vci_3v3>;
+		poc-supply = <&panel_vddi_poc_1p8>;
 
 		reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>;
 
@@ -803,6 +833,20 @@ hall_sensor_default: hall-sensor-default-state {
 		bias-disable;
 	};
 
+	panel_vci_default: vci-state {
+		pins = "gpio26";
+		function = "gpio";
+		drive-strength = <8>;
+		bias-disable;
+	};
+
+	panel_poc_default: poc-state {
+		pins = "gpio25";
+		function = "gpio";
+		drive-strength = <8>;
+		bias-disable;
+	};
+
 	tri_state_key_default: tri-state-key-default-state {
 		pins = "gpio40", "gpio42", "gpio26";
 		function = "gpio";
@@ -818,7 +862,7 @@ ts_default_pins: ts-int-state {
 	};
 
 	panel_reset_pins: panel-reset-state {
-		pins = "gpio6", "gpio25", "gpio26";
+		pins = "gpio6";
 		function = "gpio";
 		drive-strength = <8>;
 		bias-disable;

-- 
2.51.0
Re: [PATCH v3 2/8] arm64: dts: qcom: sdm845-oneplus: Describe panel vci and poc supplies
Posted by Casey Connolly 3 months, 3 weeks ago

On 16/10/2025 18:16, David Heidelberg via B4 Relay wrote:
> From: Casey Connolly <casey.connolly@linaro.org>
> 
> There are two additional supplies used by the panel, both are GPIO
> controlled and are left enabled by the bootloader for continuous splash.
> 
> Previously these were (incorrectly) modelled as pinctrl. Describe them
> properly so that the panel can control them.
> 
> Fixes: 288ef8a42612 ("arm64: dts: sdm845: add oneplus6/6t devices")

This Fixes: is not correct, it should be the commit that first added the
panel to the DT since it was added after the initial DT.

The driver changes also need to be backported and may not apply properly
to stable kernels, so we should be careful with this.
> Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
> Co-developed-by: David Heidelberg <david@ixit.cz>
> Signed-off-by: David Heidelberg <david@ixit.cz>
> ---
>  .../arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi | 46 +++++++++++++++++++++-
>  1 file changed, 45 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi
> index dcfffb271fcf3..1cf03047dd7ae 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi
> @@ -162,6 +162,34 @@ ts_1p8_supply: ts-1p8-regulator {
>  		enable-active-high;
>  		regulator-boot-on;
>  	};
> +
> +	panel_vci_3v3: panel-vci-3v3-regulator {
> +		compatible = "regulator-fixed";
> +		regulator-name = "LCD_VCI_3V";
> +
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +
> +		gpio = <&tlmm 26 GPIO_ACTIVE_HIGH>;
> +		enable-active-high;
> +		pinctrl-0 = <&panel_vci_default>;
> +		pinctrl-names = "default";
> +		regulator-boot-on;
> +	};
> +
> +	panel_vddi_poc_1p8: panel-vddi-poc-regulator {
> +		compatible = "regulator-fixed";
> +		regulator-name = "VDDI_POC";
> +
> +		regulator-min-microvolt = <1800000>;
> +		regulator-max-microvolt = <1800000>;
> +
> +		gpio = <&tlmm 25 GPIO_ACTIVE_HIGH>;
> +		enable-active-high;
> +		pinctrl-0 = <&panel_poc_default>;
> +		pinctrl-names = "default";
> +		regulator-boot-on;
> +	};
>  };
>  
>  &adsp_pas {
> @@ -429,6 +457,8 @@ display_panel: panel@0 {
>  		reg = <0>;
>  
>  		vddio-supply = <&vreg_l14a_1p88>;
> +		vci-supply = <&panel_vci_3v3>;
> +		poc-supply = <&panel_vddi_poc_1p8>;
>  
>  		reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>;
>  
> @@ -803,6 +833,20 @@ hall_sensor_default: hall-sensor-default-state {
>  		bias-disable;
>  	};
>  
> +	panel_vci_default: vci-state {
> +		pins = "gpio26";
> +		function = "gpio";
> +		drive-strength = <8>;
> +		bias-disable;
> +	};
> +
> +	panel_poc_default: poc-state {
> +		pins = "gpio25";
> +		function = "gpio";
> +		drive-strength = <8>;
> +		bias-disable;
> +	};
> +
>  	tri_state_key_default: tri-state-key-default-state {
>  		pins = "gpio40", "gpio42", "gpio26";
>  		function = "gpio";
> @@ -818,7 +862,7 @@ ts_default_pins: ts-int-state {
>  	};
>  
>  	panel_reset_pins: panel-reset-state {
> -		pins = "gpio6", "gpio25", "gpio26";
> +		pins = "gpio6";
>  		function = "gpio";
>  		drive-strength = <8>;
>  		bias-disable;
> 

-- 
// Casey (she/her)
Re: [PATCH v3 2/8] arm64: dts: qcom: sdm845-oneplus: Describe panel vci and poc supplies
Posted by David Heidelberg 3 months, 3 weeks ago
On 20/10/2025 15:45, Casey Connolly wrote:
> 
> 
> On 16/10/2025 18:16, David Heidelberg via B4 Relay wrote:
>> From: Casey Connolly <casey.connolly@linaro.org>
>>
>> There are two additional supplies used by the panel, both are GPIO
>> controlled and are left enabled by the bootloader for continuous splash.
>>
>> Previously these were (incorrectly) modelled as pinctrl. Describe them
>> properly so that the panel can control them.
>>
>> Fixes: 288ef8a42612 ("arm64: dts: sdm845: add oneplus6/6t devices")
> 
> This Fixes: is not correct, it should be the commit that first added the
> panel to the DT since it was added after the initial DT.

I double checked, it's the right commit, the panel node was added in the 
initial commit (it's also mentioned in the commit itself)
...
  * Display
...

> 
> The driver changes also need to be backported and may not apply properly
> to stable kernels, so we should be careful with this.
But the OnePlus 6T driver never worked before, that's why I assume the 
backport here play very small role.

If no other objection, I'll keep the Fixes tag in next version, but if 
maintainers decides to remove it, I'm fine with it too.

David

>> Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
>> Co-developed-by: David Heidelberg <david@ixit.cz>
>> Signed-off-by: David Heidelberg <david@ixit.cz>
>> ---
>>   .../arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi | 46 +++++++++++++++++++++-
>>   1 file changed, 45 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi
>> index dcfffb271fcf3..1cf03047dd7ae 100644
>> --- a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi
>> @@ -162,6 +162,34 @@ ts_1p8_supply: ts-1p8-regulator {
>>   		enable-active-high;
>>   		regulator-boot-on;
>>   	};
>> +
>> +	panel_vci_3v3: panel-vci-3v3-regulator {
>> +		compatible = "regulator-fixed";
>> +		regulator-name = "LCD_VCI_3V";
>> +
>> +		regulator-min-microvolt = <3300000>;
>> +		regulator-max-microvolt = <3300000>;
>> +
>> +		gpio = <&tlmm 26 GPIO_ACTIVE_HIGH>;
>> +		enable-active-high;
>> +		pinctrl-0 = <&panel_vci_default>;
>> +		pinctrl-names = "default";
>> +		regulator-boot-on;
>> +	};
>> +
>> +	panel_vddi_poc_1p8: panel-vddi-poc-regulator {
>> +		compatible = "regulator-fixed";
>> +		regulator-name = "VDDI_POC";
>> +
>> +		regulator-min-microvolt = <1800000>;
>> +		regulator-max-microvolt = <1800000>;
>> +
>> +		gpio = <&tlmm 25 GPIO_ACTIVE_HIGH>;
>> +		enable-active-high;
>> +		pinctrl-0 = <&panel_poc_default>;
>> +		pinctrl-names = "default";
>> +		regulator-boot-on;
>> +	};
>>   };
>>   
>>   &adsp_pas {
>> @@ -429,6 +457,8 @@ display_panel: panel@0 {
>>   		reg = <0>;
>>   
>>   		vddio-supply = <&vreg_l14a_1p88>;
>> +		vci-supply = <&panel_vci_3v3>;
>> +		poc-supply = <&panel_vddi_poc_1p8>;
>>   
>>   		reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>;
>>   
>> @@ -803,6 +833,20 @@ hall_sensor_default: hall-sensor-default-state {
>>   		bias-disable;
>>   	};
>>   
>> +	panel_vci_default: vci-state {
>> +		pins = "gpio26";
>> +		function = "gpio";
>> +		drive-strength = <8>;
>> +		bias-disable;
>> +	};
>> +
>> +	panel_poc_default: poc-state {
>> +		pins = "gpio25";
>> +		function = "gpio";
>> +		drive-strength = <8>;
>> +		bias-disable;
>> +	};
>> +
>>   	tri_state_key_default: tri-state-key-default-state {
>>   		pins = "gpio40", "gpio42", "gpio26";
>>   		function = "gpio";
>> @@ -818,7 +862,7 @@ ts_default_pins: ts-int-state {
>>   	};
>>   
>>   	panel_reset_pins: panel-reset-state {
>> -		pins = "gpio6", "gpio25", "gpio26";
>> +		pins = "gpio6";
>>   		function = "gpio";
>>   		drive-strength = <8>;
>>   		bias-disable;
>>
> 

-- 
David Heidelberg
Re: [PATCH v3 2/8] arm64: dts: qcom: sdm845-oneplus: Describe panel vci and poc supplies
Posted by Dmitry Baryshkov 3 months, 3 weeks ago
On Thu, Oct 16, 2025 at 06:16:57PM +0200, David Heidelberg via B4 Relay wrote:
> From: Casey Connolly <casey.connolly@linaro.org>
> 
> There are two additional supplies used by the panel, both are GPIO
> controlled and are left enabled by the bootloader for continuous splash.
> 
> Previously these were (incorrectly) modelled as pinctrl. Describe them
> properly so that the panel can control them.
> 
> Fixes: 288ef8a42612 ("arm64: dts: sdm845: add oneplus6/6t devices")
> Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
> Co-developed-by: David Heidelberg <david@ixit.cz>
> Signed-off-by: David Heidelberg <david@ixit.cz>
> ---
>  .../arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi | 46 +++++++++++++++++++++-
>  1 file changed, 45 insertions(+), 1 deletion(-)
> 

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>


-- 
With best wishes
Dmitry