[V2,0/2] power: regulator: pfuze100: Fix voltage calculation and support high-range
mbox series

Message ID 20260111082347.1302003-1-michael@amarulasolutions.com
Headers show
Series
  • power: regulator: pfuze100: Fix voltage calculation and support high-range
Related show

Message

Michael Nazzareno Trimarchi Jan. 11, 2026, 8:23 a.m. UTC
This series addresses two significant issues in the pfuze100 regulator driver
regarding voltage calculation accuracy.

The first patch fixes the handling of the "high range" bit. PFUZE chips support
two voltage ranges (controlled by a register bit) with different step sizes
and base voltages. Previously, the driver assumed the low range, leading to
incorrect voltage settings on boards configured for the high range.

The second patch corrects the interpretation of min_uV. The driver was
incorrectly using the device tree's regulator-min-microvolt constraint as the
mathematical base (zero-index) for voltage calculations. This caused offset
errors whenever the DTS constraint differed from the hardware's absolute minimum.
The patch introduces physical minimums in the driver descriptors to ensure
calculations are based on the datasheet specifications, treating the DTS value
strictly as a safety constraint.

Together, these changes align the U-Boot driver logic with the Linux kernel
implementation and ensure correct voltage output.

Michael Trimarchi (2):
  power: regulator: pfuze100: support high voltage range bit
  power: regulator: pfuze100: Decouple hardware base voltage from DTS
    constraints

 drivers/power/regulator/pfuze100.c | 138 ++++++++++++++++++-----------
 1 file changed, 88 insertions(+), 50 deletions(-)

Comments

Peng Fan Jan. 13, 2026, 8:58 a.m. UTC | #1
On Sun, Jan 11, 2026 at 09:23:45AM +0100, Michael Trimarchi wrote:
>This series addresses two significant issues in the pfuze100 regulator driver
>regarding voltage calculation accuracy.
>
>The first patch fixes the handling of the "high range" bit. PFUZE chips support
>two voltage ranges (controlled by a register bit) with different step sizes
>and base voltages. Previously, the driver assumed the low range, leading to
>incorrect voltage settings on boards configured for the high range.
>
>The second patch corrects the interpretation of min_uV. The driver was
>incorrectly using the device tree's regulator-min-microvolt constraint as the
>mathematical base (zero-index) for voltage calculations. This caused offset
>errors whenever the DTS constraint differed from the hardware's absolute minimum.
>The patch introduces physical minimums in the driver descriptors to ensure
>calculations are based on the datasheet specifications, treating the DTS value
>strictly as a safety constraint.
>
>Together, these changes align the U-Boot driver logic with the Linux kernel
>implementation and ensure correct voltage output.
>
>Michael Trimarchi (2):
>  power: regulator: pfuze100: support high voltage range bit
>  power: regulator: pfuze100: Decouple hardware base voltage from DTS
>    constraints
>
Please do not submit three version in one day. That only shows patches
are not developed in good shape.

The changes looks good to me, but I would like to see which platforms
are tested with the patchset before apply.

Thanks,
Peng

To unsubscribe from this group and stop receiving emails from it, send an email to linux-amarula+unsubscribe@amarulasolutions.com.
Michael Nazzareno Trimarchi Jan. 13, 2026, 10:46 a.m. UTC | #2
Hi Peng

On Tue, Jan 13, 2026 at 8:44 AM Peng Fan <peng.fan@oss.nxp.com> wrote:
>
> On Sun, Jan 11, 2026 at 09:23:45AM +0100, Michael Trimarchi wrote:
> >This series addresses two significant issues in the pfuze100 regulator driver
> >regarding voltage calculation accuracy.
> >
> >The first patch fixes the handling of the "high range" bit. PFUZE chips support
> >two voltage ranges (controlled by a register bit) with different step sizes
> >and base voltages. Previously, the driver assumed the low range, leading to
> >incorrect voltage settings on boards configured for the high range.
> >
> >The second patch corrects the interpretation of min_uV. The driver was
> >incorrectly using the device tree's regulator-min-microvolt constraint as the
> >mathematical base (zero-index) for voltage calculations. This caused offset
> >errors whenever the DTS constraint differed from the hardware's absolute minimum.
> >The patch introduces physical minimums in the driver descriptors to ensure
> >calculations are based on the datasheet specifications, treating the DTS value
> >strictly as a safety constraint.
> >
> >Together, these changes align the U-Boot driver logic with the Linux kernel
> >implementation and ensure correct voltage output.
> >
> >Michael Trimarchi (2):
> >  power: regulator: pfuze100: support high voltage range bit
> >  power: regulator: pfuze100: Decouple hardware base voltage from DTS
> >    constraints
> >
> Please do not submit three version in one day. That only shows patches
> are not developed in good shape.
>
> The changes looks good to me, but I would like to see which platforms
> are tested with the patchset before apply.
>

I have tested on a new imx6dl design but I can ask Dario to test on
some other imx6 board,
do I need to include it in the next release?
I will send some other patches end of this week

Michael

> Thanks,
> Peng
Peng Fan Jan. 13, 2026, 12:16 p.m. UTC | #3
> Subject: Re: [PATCH V2 0/2] power: regulator: pfuze100: Fix voltage
> calculation and support high-range
...
> >
> 
> I have tested on a new imx6dl design but I can ask Dario to test on
> some other imx6 board, do I need to include it in the next release?

Yes, please.

Thanks,
Peng.

> I will send some other patches end of this week
> 
> Michael
> 
> > Thanks,
> > Peng
> 
> 
> 
> --
> Michael Nazzareno Trimarchi
> Co-Founder & Chief Executive Officer
> M. +39 347 913 2170
> michael@amarulasolutions.com
> __________________________________
> 
> Amarula Solutions BV
> Joop Geesinkweg 125, 1114 AB, Amsterdam, NL T. +31 (0)85 111 9172
> info@amarulasolutions.com
> https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2F
> www.amarulasolutions.com%2F&data=05%7C02%7Cpeng.fan%40nxp.
> com%7C52c4909ff9ae46eebeed08de5290fcd7%7C686ea1d3bc2b4c6f
> a92cd99c5c301635%7C0%7C0%7C639038979850337961%7CUnknow
> n%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAw
> MCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%
> 7C%7C&sdata=cLzDG9ZHDZWkzkmyhYMK1Z0elWa1fh6A3sQ25Zh98tw
> %3D&reserved=0

To unsubscribe from this group and stop receiving emails from it, send an email to linux-amarula+unsubscribe@amarulasolutions.com.
Michael Nazzareno Trimarchi Jan. 13, 2026, 6:16 p.m. UTC | #4
Hi Fabio

On Tue, Jan 13, 2026 at 1:16 PM Peng Fan <peng.fan@nxp.com> wrote:
>
> > Subject: Re: [PATCH V2 0/2] power: regulator: pfuze100: Fix voltage
> > calculation and support high-range
> ...
> > >
> >
> > I have tested on a new imx6dl design but I can ask Dario to test on
> > some other imx6 board, do I need to include it in the next release?
>

Can you test this series even on your side?

Michael
> Yes, please.
>
> Thanks,
> Peng.
>
> > I will send some other patches end of this week
> >
> > Michael
> >
> > > Thanks,
> > > Peng
> >
> >
> >
> > --
> > Michael Nazzareno Trimarchi
> > Co-Founder & Chief Executive Officer
> > M. +39 347 913 2170
> > michael@amarulasolutions.com
> > __________________________________
> >
> > Amarula Solutions BV
> > Joop Geesinkweg 125, 1114 AB, Amsterdam, NL T. +31 (0)85 111 9172
> > info@amarulasolutions.com
> > https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2F
> > www.amarulasolutions.com%2F&data=05%7C02%7Cpeng.fan%40nxp.
> > com%7C52c4909ff9ae46eebeed08de5290fcd7%7C686ea1d3bc2b4c6f
> > a92cd99c5c301635%7C0%7C0%7C639038979850337961%7CUnknow
> > n%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAw
> > MCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%
> > 7C%7C&sdata=cLzDG9ZHDZWkzkmyhYMK1Z0elWa1fh6A3sQ25Zh98tw
> > %3D&reserved=0