[PATCH v3 10/11] arm64: dts: qcom: sdm845-lg-judyln: Add lab/ibb

Paul Sajna posted 11 patches 4 months, 2 weeks ago
There is a newer version of this series
[PATCH v3 10/11] arm64: dts: qcom: sdm845-lg-judyln: Add lab/ibb
Posted by Paul Sajna 4 months, 2 weeks ago
These regulators seemingly help the lcd to work better

Signed-off-by: Paul Sajna <sajattack@postmarketos.org>
---
 arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts b/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts
index 3106fdc9b679bc6a43a1a490c61b73a63003f7e1..9c3662a3d93e124667474753e0f11d0e98698aa0 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts
+++ b/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts
@@ -48,10 +48,27 @@ zap-shader {
 	};
 };
 
+&ibb {
+	regulator-min-microvolt = <4600000>;
+	regulator-max-microvolt = <6000000>;
+	regulator-over-current-protection;
+	regulator-pull-down;
+	regulator-soft-start;
+	qcom,discharge-resistor-kohms = <300>;
+};
+
 &ipa {
 	firmware-name = "qcom/sdm845/lg/judyln/ipa_fws.mbn";
 };
 
+&lab {
+	regulator-min-microvolt = <4600000>;
+	regulator-max-microvolt = <6000000>;
+	regulator-over-current-protection;
+	regulator-pull-down;
+	regulator-soft-start;
+};
+
 &mdss {
 	status = "okay";
 };

-- 
2.51.0
Re: [PATCH v3 10/11] arm64: dts: qcom: sdm845-lg-judyln: Add lab/ibb
Posted by Dmitry Baryshkov 4 months, 1 week ago
On Sun, Sep 28, 2025 at 10:05:33PM -0700, Paul Sajna wrote:
> These regulators seemingly help the lcd to work better

What does it mean? Also are they board-specific or should they be a part
of lg-common?

> 
> Signed-off-by: Paul Sajna <sajattack@postmarketos.org>
> ---
>  arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
> 

-- 
With best wishes
Dmitry
Re: [PATCH v3 10/11] arm64: dts: qcom: sdm845-lg-judyln: Add lab/ibb
Posted by Konrad Dybcio 4 months, 1 week ago
On 9/29/25 7:05 AM, Paul Sajna wrote:
> These regulators seemingly help the lcd to work better

Electronics generally work better when the required power supplies
are enabled..

> 
> Signed-off-by: Paul Sajna <sajattack@postmarketos.org>
> ---
>  arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts b/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts
> index 3106fdc9b679bc6a43a1a490c61b73a63003f7e1..9c3662a3d93e124667474753e0f11d0e98698aa0 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts
> +++ b/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts
> @@ -48,10 +48,27 @@ zap-shader {
>  	};
>  };
>  
> +&ibb {
> +	regulator-min-microvolt = <4600000>;
> +	regulator-max-microvolt = <6000000>;
> +	regulator-over-current-protection;
> +	regulator-pull-down;
> +	regulator-soft-start;
> +	qcom,discharge-resistor-kohms = <300>;
> +};
> +
>  &ipa {
>  	firmware-name = "qcom/sdm845/lg/judyln/ipa_fws.mbn";
>  };
>  
> +&lab {
> +	regulator-min-microvolt = <4600000>;
> +	regulator-max-microvolt = <6000000>;
> +	regulator-over-current-protection;
> +	regulator-pull-down;
> +	regulator-soft-start;
> +};

This patch will allow any values between 4.6 V and 6.0 V to
be set on your phone, with the kernel defaulting to 4.6 V at
boot and staying there until (if?) any driver requests that to
change.

Your panel probably expects a *very* specific pair of voltages
and any deviation may cause unpredictable consequences, including
magic smoke if you happen to go over a certain limit.

You should most likely hardcode that specific expected voltage here

Konrad
Re: [PATCH v3 10/11] arm64: dts: qcom: sdm845-lg-judyln: Add lab/ibb
Posted by Paul Sajna 2 months, 2 weeks ago
October 1, 2025 at 9:09 AM, "Konrad Dybcio" <konrad.dybcio@oss.qualcomm.com mailto:konrad.dybcio@oss.qualcomm.com?to=%22Konrad%20Dybcio%22%20%3Ckonrad.dybcio%40oss.qualcomm.com%3E > wrote:


> 
> On 9/29/25 7:05 AM, Paul Sajna wrote:
> 
> > 
> > These regulators seemingly help the lcd to work better
> > 
> Electronics generally work better when the required power supplies
> are enabled..
> 
> > 
> > Signed-off-by: Paul Sajna <sajattack@postmarketos.org>
> >  ---
> >  arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts | 17 +++++++++++++++++
> >  1 file changed, 17 insertions(+)
> >  
> >  diff --git a/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts b/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts
> >  index 3106fdc9b679bc6a43a1a490c61b73a63003f7e1..9c3662a3d93e124667474753e0f11d0e98698aa0 100644
> >  --- a/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts
> >  +++ b/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts
> >  @@ -48,10 +48,27 @@ zap-shader {
> >  };
> >  };
> >  
> >  +&ibb {
> >  + regulator-min-microvolt = <4600000>;
> >  + regulator-max-microvolt = <6000000>;
> >  + regulator-over-current-protection;
> >  + regulator-pull-down;
> >  + regulator-soft-start;
> >  + qcom,discharge-resistor-kohms = <300>;
> >  +};
> >  +
> >  &ipa {
> >  firmware-name = "qcom/sdm845/lg/judyln/ipa_fws.mbn";
> >  };
> >  
> >  +&lab {
> >  + regulator-min-microvolt = <4600000>;
> >  + regulator-max-microvolt = <6000000>;
> >  + regulator-over-current-protection;
> >  + regulator-pull-down;
> >  + regulator-soft-start;
> >  +};
> > 
> This patch will allow any values between 4.6 V and 6.0 V to
> be set on your phone, with the kernel defaulting to 4.6 V at
> boot and staying there until (if?) any driver requests that to
> change.
> 
> Your panel probably expects a *very* specific pair of voltages
> and any deviation may cause unpredictable consequences, including
> magic smoke if you happen to go over a certain limit.
> 
> You should most likely hardcode that specific expected voltage here
> 
> Konrad
>

Here is the decompiled downstream dts.

qcom,ibb@dc00 {
						qcom,qpnp-ibb-init-voltage = <0x53ec60>;
						qcom,qpnp-ibb-init-amoled-voltage = "", "=\t";
						qcom,qpnp-ibb-soft-start = <0x3e8>;
						qcom,qpnp-ibb-use-default-voltage;
						qcom,qpnp-ibb-init-lcd-voltage = <0x53ec60>;
						reg-names = "ibb_reg";
						qcom,qpnp-ibb-slew-rate = <0x1e8480>;
						qcom,qpnp-ibb-en-discharge;
						qcom,qpnp-ibb-ps-enable;
						qcom,qpnp-ibb-limit-max-current-enable;
						interrupts = <0x03 0xdc 0x02 0x01>;
						qcom,qpnp-ibb-lab-pwrup-delay = <0x3e8>;
						phandle = <0x4ec>;
						qcom,qpnp-ibb-debounce-cycle = <0x10>;
						regulator-min-microvolt = <0x4630c0>;
						qcom,qpnp-ibb-limit-maximum-current = <0x60e>;
						reg = <0xdc00 0x100>;
						regulator-max-microvolt = <0x5b8d80>;
						qcom,qpnp-ibb-step-size = <0x186a0>;
						qcom,qpnp-ibb-full-pull-down;
						qcom,qpnp-ibb-switching-clock-frequency = <0x5c8>;
						regulator-name = "ibb_reg";
						interrupt-names = "ibb-sc-err";
						qcom,qpnp-ibb-min-voltage = <0x155cc0>;
						qcom,qpnp-ibb-pull-down-enable;
						qcom,qpnp-ibb-lab-pwrdn-delay = <0x7d0>;
					};
				};

Should I use the init-voltage for min and max microvolt?
Re: [PATCH v3 10/11] arm64: dts: qcom: sdm845-lg-judyln: Add lab/ibb
Posted by Paul Sajna 4 months, 1 week ago
October 1, 2025 at 9:09 AM, "Konrad Dybcio" <konrad.dybcio@oss.qualcomm.com mailto:konrad.dybcio@oss.qualcomm.com?to=%22Konrad%20Dybcio%22%20%3Ckonrad.dybcio%40oss.qualcomm.com%3E > wrote:


> 
> On 9/29/25 7:05 AM, Paul Sajna wrote:
> 
> > 
> > These regulators seemingly help the lcd to work better
> > 
> Electronics generally work better when the required power supplies
> are enabled..
> 
> > 
> > Signed-off-by: Paul Sajna <sajattack@postmarketos.org>
> >  ---
> >  arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts | 17 +++++++++++++++++
> >  1 file changed, 17 insertions(+)
> >  
> >  diff --git a/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts b/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts
> >  index 3106fdc9b679bc6a43a1a490c61b73a63003f7e1..9c3662a3d93e124667474753e0f11d0e98698aa0 100644
> >  --- a/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts
> >  +++ b/arch/arm64/boot/dts/qcom/sdm845-lg-judyln.dts
> >  @@ -48,10 +48,27 @@ zap-shader {
> >  };
> >  };
> >  
> >  +&ibb {
> >  + regulator-min-microvolt = <4600000>;
> >  + regulator-max-microvolt = <6000000>;
> >  + regulator-over-current-protection;
> >  + regulator-pull-down;
> >  + regulator-soft-start;
> >  + qcom,discharge-resistor-kohms = <300>;
> >  +};
> >  +
> >  &ipa {
> >  firmware-name = "qcom/sdm845/lg/judyln/ipa_fws.mbn";
> >  };
> >  
> >  +&lab {
> >  + regulator-min-microvolt = <4600000>;
> >  + regulator-max-microvolt = <6000000>;
> >  + regulator-over-current-protection;
> >  + regulator-pull-down;
> >  + regulator-soft-start;
> >  +};
> > 
> This patch will allow any values between 4.6 V and 6.0 V to
> be set on your phone, with the kernel defaulting to 4.6 V at
> boot and staying there until (if?) any driver requests that to
> change.
> 
> Your panel probably expects a *very* specific pair of voltages
> and any deviation may cause unpredictable consequences, including
> magic smoke if you happen to go over a certain limit.
> 
> You should most likely hardcode that specific expected voltage here
> 
> Konrad
>

These are the values used in downstream android dts 
https://github.com/LineageOS/android_kernel_lge_sdm845/blob/efa8458f79dffeb380d43b38b9403407f87d9f05/arch/arm64/boot/dts/qcom/pmi8998.dtsi#L484-L485
Re: [PATCH v3 10/11] arm64: dts: qcom: sdm845-lg-judyln: Add lab/ibb
Posted by Dmitry Baryshkov 4 months, 1 week ago
On Thu, Oct 02, 2025 at 04:55:44AM +0000, Paul Sajna wrote:
> October 1, 2025 at 9:09 AM, "Konrad Dybcio" <konrad.dybcio@oss.qualcomm.com mailto:konrad.dybcio@oss.qualcomm.com?to=%22Konrad%20Dybcio%22%20%3Ckonrad.dybcio%40oss.qualcomm.com%3E > wrote:
> 
> 
> > 
> > On 9/29/25 7:05 AM, Paul Sajna wrote:
> > 
> > > 
> > This patch will allow any values between 4.6 V and 6.0 V to
> > be set on your phone, with the kernel defaulting to 4.6 V at
> > boot and staying there until (if?) any driver requests that to
> > change.
> > 
> > Your panel probably expects a *very* specific pair of voltages
> > and any deviation may cause unpredictable consequences, including
> > magic smoke if you happen to go over a certain limit.
> > 
> > You should most likely hardcode that specific expected voltage here
> 
> These are the values used in downstream android dts 
> https://github.com/LineageOS/android_kernel_lge_sdm845/blob/efa8458f79dffeb380d43b38b9403407f87d9f05/arch/arm64/boot/dts/qcom/pmi8998.dtsi#L484-L485

Downstream frequently further constraints the regulators. Could you
please check the boards's dts file and the drivers (SDE)?

-- 
With best wishes
Dmitry
Re: [PATCH v3 10/11] arm64: dts: qcom: sdm845-lg-judyln: Add lab/ibb
Posted by Konrad Dybcio 4 months, 1 week ago
On 10/3/25 11:55 PM, Dmitry Baryshkov wrote:
> On Thu, Oct 02, 2025 at 04:55:44AM +0000, Paul Sajna wrote:
>> October 1, 2025 at 9:09 AM, "Konrad Dybcio" <konrad.dybcio@oss.qualcomm.com mailto:konrad.dybcio@oss.qualcomm.com?to=%22Konrad%20Dybcio%22%20%3Ckonrad.dybcio%40oss.qualcomm.com%3E > wrote:
>>
>>
>>>
>>> On 9/29/25 7:05 AM, Paul Sajna wrote:
>>>
>>>>
>>> This patch will allow any values between 4.6 V and 6.0 V to
>>> be set on your phone, with the kernel defaulting to 4.6 V at
>>> boot and staying there until (if?) any driver requests that to
>>> change.
>>>
>>> Your panel probably expects a *very* specific pair of voltages
>>> and any deviation may cause unpredictable consequences, including
>>> magic smoke if you happen to go over a certain limit.
>>>
>>> You should most likely hardcode that specific expected voltage here
>>
>> These are the values used in downstream android dts 
>> https://github.com/LineageOS/android_kernel_lge_sdm845/blob/efa8458f79dffeb380d43b38b9403407f87d9f05/arch/arm64/boot/dts/qcom/pmi8998.dtsi#L484-L485
> 
> Downstream frequently further constraints the regulators. Could you
> please check the boards's dts file and the drivers (SDE)?

Or you can read back the values at runtime.. presumably even
/sys/kernel/debug/regulator/foo should have the up-to-date info

Konrad