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
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
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
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?
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
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
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
© 2016 - 2026 Red Hat, Inc.