2018-03-17 07:07:34

by Anson Huang

[permalink] [raw]
Subject: [PATCH 1/2] ARM: dts: pfuze3000: update sw1a/vldo4 voltage range

Update sw1a/vldo4's voltage range according to latest pfuze3000
datasheet from:

http://cache.freescale.com/files/analog/doc/data_sheet/PF3000.pdf?fsrch=1&sr=1&pageNum=1

Signed-off-by: Anson Huang <[email protected]>
Signed-off-by: Robin Gong <[email protected]>
---
arch/arm/boot/dts/imx6sx-udoo-neo.dtsi | 2 +-
arch/arm/boot/dts/imx7d-cl-som-imx7.dts | 4 ++--
arch/arm/boot/dts/imx7d-nitrogen7.dts | 2 +-
arch/arm/boot/dts/imx7d-sdb.dts | 6 +++---
arch/arm/boot/dts/imx7s-warp.dts | 2 +-
5 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/arch/arm/boot/dts/imx6sx-udoo-neo.dtsi b/arch/arm/boot/dts/imx6sx-udoo-neo.dtsi
index 53b3eac..1de0a0f 100644
--- a/arch/arm/boot/dts/imx6sx-udoo-neo.dtsi
+++ b/arch/arm/boot/dts/imx6sx-udoo-neo.dtsi
@@ -142,7 +142,7 @@
regulators {
sw1a_reg: sw1a {
regulator-min-microvolt = <700000>;
- regulator-max-microvolt = <1475000>;
+ regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-always-on;
regulator-ramp-delay = <6250>;
diff --git a/arch/arm/boot/dts/imx7d-cl-som-imx7.dts b/arch/arm/boot/dts/imx7d-cl-som-imx7.dts
index ae45af1..3781cb8 100644
--- a/arch/arm/boot/dts/imx7d-cl-som-imx7.dts
+++ b/arch/arm/boot/dts/imx7d-cl-som-imx7.dts
@@ -87,7 +87,7 @@
regulators {
sw1a_reg: sw1a {
regulator-min-microvolt = <700000>;
- regulator-max-microvolt = <1475000>;
+ regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-always-on;
regulator-ramp-delay = <6250>;
@@ -284,4 +284,4 @@
MX7D_PAD_LPSR_GPIO1_IO05__GPIO1_IO5 0x14 /* OTG PWREN */
>;
};
-};
\ No newline at end of file
+};
diff --git a/arch/arm/boot/dts/imx7d-nitrogen7.dts b/arch/arm/boot/dts/imx7d-nitrogen7.dts
index 2b05898..2802bcf 100644
--- a/arch/arm/boot/dts/imx7d-nitrogen7.dts
+++ b/arch/arm/boot/dts/imx7d-nitrogen7.dts
@@ -188,7 +188,7 @@
regulators {
sw1a_reg: sw1a {
regulator-min-microvolt = <700000>;
- regulator-max-microvolt = <1475000>;
+ regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-always-on;
regulator-ramp-delay = <6250>;
diff --git a/arch/arm/boot/dts/imx7d-sdb.dts b/arch/arm/boot/dts/imx7d-sdb.dts
index a7a5dc7..ba60457 100644
--- a/arch/arm/boot/dts/imx7d-sdb.dts
+++ b/arch/arm/boot/dts/imx7d-sdb.dts
@@ -248,7 +248,7 @@
regulators {
sw1a_reg: sw1a {
regulator-min-microvolt = <700000>;
- regulator-max-microvolt = <1475000>;
+ regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-always-on;
regulator-ramp-delay = <6250>;
@@ -324,8 +324,8 @@
};

vgen6_reg: vldo4 {
- regulator-min-microvolt = <2800000>;
- regulator-max-microvolt = <2800000>;
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <3300000>;
regulator-always-on;
};
};
diff --git a/arch/arm/boot/dts/imx7s-warp.dts b/arch/arm/boot/dts/imx7s-warp.dts
index 9bdf121..0e0cbcf 100644
--- a/arch/arm/boot/dts/imx7s-warp.dts
+++ b/arch/arm/boot/dts/imx7s-warp.dts
@@ -129,7 +129,7 @@
regulators {
sw1a_reg: sw1a {
regulator-min-microvolt = <700000>;
- regulator-max-microvolt = <1475000>;
+ regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-always-on;
regulator-ramp-delay = <6250>;
--
2.7.4



2018-03-17 07:04:26

by Anson Huang

[permalink] [raw]
Subject: [PATCH 2/2] regulator: pfuze100: update voltage setting for pfuze3000 sw1a

Latest pfuze3000 datasheet from:

http://cache.freescale.com/files/analog/doc/data_sheet/PF3000.pdf?fsrch=1&sr=1&pageNum=1

updates sw1a's voltage range, the settings for 1.450V and 1.475V
are replaced with 1.8V and 3.3V:

5b'11110 1.450 (SW1B), 1.8 (SW1A/SW1AB)
5b'11111 1.475 (SW1B), 3.3 (SW1A/SW1AB)

the voltage calculation using steps is NOT available for sw1a now,
use voltage table instead.

Signed-off-by: Anson Huang <[email protected]>
Signed-off-by: Robin Gong <[email protected]>
---
drivers/regulator/pfuze100-regulator.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/regulator/pfuze100-regulator.c b/drivers/regulator/pfuze100-regulator.c
index 63922a2..680f076 100644
--- a/drivers/regulator/pfuze100-regulator.c
+++ b/drivers/regulator/pfuze100-regulator.c
@@ -86,6 +86,13 @@ static const int pfuze100_coin[] = {
2500000, 2700000, 2800000, 2900000, 3000000, 3100000, 3200000, 3300000,
};

+static const int pfuze3000_sw1a[] = {
+ 700000, 725000, 750000, 775000, 800000, 825000, 850000, 875000,
+ 900000, 925000, 950000, 975000, 1000000, 1025000, 1050000, 1075000,
+ 1100000, 1125000, 1150000, 1175000, 1200000, 1225000, 1250000, 1275000,
+ 1300000, 1325000, 1350000, 1375000, 1400000, 1425000, 1800000, 3300000,
+};
+
static const int pfuze3000_sw2lo[] = {
1500000, 1550000, 1600000, 1650000, 1700000, 1750000, 1800000, 1850000,
};
@@ -343,7 +350,7 @@ static struct pfuze_regulator pfuze200_regulators[] = {
};

static struct pfuze_regulator pfuze3000_regulators[] = {
- PFUZE100_SW_REG(PFUZE3000, SW1A, PFUZE100_SW1ABVOL, 700000, 1475000, 25000),
+ PFUZE100_SWB_REG(PFUZE3000, SW1A, PFUZE100_SW1ABVOL, 0x1f, pfuze3000_sw1a),
PFUZE100_SW_REG(PFUZE3000, SW1B, PFUZE100_SW1CVOL, 700000, 1475000, 25000),
PFUZE100_SWB_REG(PFUZE3000, SW2, PFUZE100_SW2VOL, 0x7, pfuze3000_sw2lo),
PFUZE3000_SW3_REG(PFUZE3000, SW3, PFUZE100_SW3AVOL, 900000, 1650000, 50000),
--
2.7.4


2018-03-17 12:37:48

by Stefan Wahren

[permalink] [raw]
Subject: Re: [PATCH 2/2] regulator: pfuze100: update voltage setting for pfuze3000 sw1a

Hi Anson,

> Anson Huang <[email protected]> hat am 17. März 2018 um 07:57 geschrieben:
>
>
> Latest pfuze3000 datasheet from:
>
> http://cache.freescale.com/files/analog/doc/data_sheet/PF3000.pdf?fsrch=1&sr=1&pageNum=1

this link goes to Rev. 7.0, 9/2016, which isn't the latest one.

I guess Rev. 9.0, 8/2017 is the latest.

Regards
Stefan

>
> updates sw1a's voltage range, the settings for 1.450V and 1.475V
> are replaced with 1.8V and 3.3V:
>
> 5b'11110 1.450 (SW1B), 1.8 (SW1A/SW1AB)
> 5b'11111 1.475 (SW1B), 3.3 (SW1A/SW1AB)
>
> the voltage calculation using steps is NOT available for sw1a now,
> use voltage table instead.
>
> Signed-off-by: Anson Huang <[email protected]>
> Signed-off-by: Robin Gong <[email protected]>
> ---
> drivers/regulator/pfuze100-regulator.c | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/regulator/pfuze100-regulator.c b/drivers/regulator/pfuze100-regulator.c
> index 63922a2..680f076 100644
> --- a/drivers/regulator/pfuze100-regulator.c
> +++ b/drivers/regulator/pfuze100-regulator.c
> @@ -86,6 +86,13 @@ static const int pfuze100_coin[] = {
> 2500000, 2700000, 2800000, 2900000, 3000000, 3100000, 3200000, 3300000,
> };
>
> +static const int pfuze3000_sw1a[] = {
> + 700000, 725000, 750000, 775000, 800000, 825000, 850000, 875000,
> + 900000, 925000, 950000, 975000, 1000000, 1025000, 1050000, 1075000,
> + 1100000, 1125000, 1150000, 1175000, 1200000, 1225000, 1250000, 1275000,
> + 1300000, 1325000, 1350000, 1375000, 1400000, 1425000, 1800000, 3300000,
> +};
> +
> static const int pfuze3000_sw2lo[] = {
> 1500000, 1550000, 1600000, 1650000, 1700000, 1750000, 1800000, 1850000,
> };
> @@ -343,7 +350,7 @@ static struct pfuze_regulator pfuze200_regulators[] = {
> };
>
> static struct pfuze_regulator pfuze3000_regulators[] = {
> - PFUZE100_SW_REG(PFUZE3000, SW1A, PFUZE100_SW1ABVOL, 700000, 1475000, 25000),
> + PFUZE100_SWB_REG(PFUZE3000, SW1A, PFUZE100_SW1ABVOL, 0x1f, pfuze3000_sw1a),
> PFUZE100_SW_REG(PFUZE3000, SW1B, PFUZE100_SW1CVOL, 700000, 1475000, 25000),
> PFUZE100_SWB_REG(PFUZE3000, SW2, PFUZE100_SW2VOL, 0x7, pfuze3000_sw2lo),
> PFUZE3000_SW3_REG(PFUZE3000, SW3, PFUZE100_SW3AVOL, 900000, 1650000, 50000),
> --
> 2.7.4
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> [email protected]
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

2018-03-17 14:54:21

by Fabio Estevam

[permalink] [raw]
Subject: Re: [PATCH 1/2] ARM: dts: pfuze3000: update sw1a/vldo4 voltage range

Hi Anson,

On Sat, Mar 17, 2018 at 3:57 AM, Anson Huang <[email protected]> wrote:
> Update sw1a/vldo4's voltage range according to latest pfuze3000
> datasheet from:
>
> http://cache.freescale.com/files/analog/doc/data_sheet/PF3000.pdf?fsrch=1&sr=1&pageNum=1
>
> Signed-off-by: Anson Huang <[email protected]>
> Signed-off-by: Robin Gong <[email protected]>
> ---
> arch/arm/boot/dts/imx6sx-udoo-neo.dtsi | 2 +-
> arch/arm/boot/dts/imx7d-cl-som-imx7.dts | 4 ++--
> arch/arm/boot/dts/imx7d-nitrogen7.dts | 2 +-
> arch/arm/boot/dts/imx7d-sdb.dts | 6 +++---
> arch/arm/boot/dts/imx7s-warp.dts | 2 +-
> 5 files changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/arch/arm/boot/dts/imx6sx-udoo-neo.dtsi b/arch/arm/boot/dts/imx6sx-udoo-neo.dtsi
> index 53b3eac..1de0a0f 100644
> --- a/arch/arm/boot/dts/imx6sx-udoo-neo.dtsi
> +++ b/arch/arm/boot/dts/imx6sx-udoo-neo.dtsi
> @@ -142,7 +142,7 @@
> regulators {
> sw1a_reg: sw1a {
> regulator-min-microvolt = <700000>;
> - regulator-max-microvolt = <1475000>;
> + regulator-max-microvolt = <3300000>;

This change does not look like a safe thing to do without carefully
checking each one of the board schematics.

Even if the regulator itself is capable of driving a higher voltage,
it does not mean that the circuitry that consumes such regulator is
allowed to receive the higher voltages.

2018-03-17 18:28:59

by Fabio Estevam

[permalink] [raw]
Subject: Re: [PATCH 2/2] regulator: pfuze100: update voltage setting for pfuze3000 sw1a

Hi Stefan,

On Sat, Mar 17, 2018 at 9:35 AM, Stefan Wahren <[email protected]> wrote:
> Hi Anson,
>
>> Anson Huang <[email protected]> hat am 17. März 2018 um 07:57 geschrieben:
>>
>>
>> Latest pfuze3000 datasheet from:
>>
>> http://cache.freescale.com/files/analog/doc/data_sheet/PF3000.pdf?fsrch=1&sr=1&pageNum=1
>
> this link goes to Rev. 7.0, 9/2016, which isn't the latest one.
>
> I guess Rev. 9.0, 8/2017 is the latest.

You are right. This is the link to the latest datasheet:
https://www.nxp.com/docs/en/data-sheet/PF3000.pdf

2018-03-18 02:26:39

by Anson Huang

[permalink] [raw]
Subject: RE: [PATCH 1/2] ARM: dts: pfuze3000: update sw1a/vldo4 voltage range



Anson Huang
Best Regards!


> -----Original Message-----
> From: Fabio Estevam [mailto:[email protected]]
> Sent: Saturday, March 17, 2018 10:53 PM
> To: Anson Huang <[email protected]>
> Cc: Robin Gong <[email protected]>; Shawn Guo <[email protected]>;
> Sascha Hauer <[email protected]>; Fabio Estevam
> <[email protected]>; Rob Herring <[email protected]>; Mark Rutland
> <[email protected]>; Russell King - ARM Linux <[email protected]>;
> Liam Girdwood <[email protected]>; Mark Brown <[email protected]>;
> dl-linux-imx <[email protected]>; moderated list:ARM/FREESCALE IMX / MXC
> ARM ARCHITECTURE <[email protected]>; open list:OPEN
> FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
> <[email protected]>; linux-kernel <[email protected]>
> Subject: Re: [PATCH 1/2] ARM: dts: pfuze3000: update sw1a/vldo4 voltage range
>
> Hi Anson,
>
> On Sat, Mar 17, 2018 at 3:57 AM, Anson Huang <[email protected]>
> wrote:
> > Update sw1a/vldo4's voltage range according to latest pfuze3000
> > datasheet from:
> >
> > https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcach
> >
> e.freescale.com%2Ffiles%2Fanalog%2Fdoc%2Fdata_sheet%2FPF3000.pdf%3Ffsr
> >
> ch%3D1%26sr%3D1%26pageNum%3D1&data=02%7C01%7CAnson.Huang%40n
> xp.com%7Cc
> >
> 9614ae26f9443c2d0ae08d58c16cd8a%7C686ea1d3bc2b4c6fa92cd99c5c30163
> 5%7C0
> > %7C1%7C636568951923456037&sdata=OeM%2B3xPNlm9OETpZcrvG65LjH%
> 2Fp4CRZvyD
> > HT819kuPk%3D&reserved=0
> >
> > Signed-off-by: Anson Huang <[email protected]>
> > Signed-off-by: Robin Gong <[email protected]>
> > ---
> > arch/arm/boot/dts/imx6sx-udoo-neo.dtsi | 2 +-
> > arch/arm/boot/dts/imx7d-cl-som-imx7.dts | 4 ++--
> > arch/arm/boot/dts/imx7d-nitrogen7.dts | 2 +-
> > arch/arm/boot/dts/imx7d-sdb.dts | 6 +++---
> > arch/arm/boot/dts/imx7s-warp.dts | 2 +-
> > 5 files changed, 8 insertions(+), 8 deletions(-)
> >
> > diff --git a/arch/arm/boot/dts/imx6sx-udoo-neo.dtsi
> > b/arch/arm/boot/dts/imx6sx-udoo-neo.dtsi
> > index 53b3eac..1de0a0f 100644
> > --- a/arch/arm/boot/dts/imx6sx-udoo-neo.dtsi
> > +++ b/arch/arm/boot/dts/imx6sx-udoo-neo.dtsi
> > @@ -142,7 +142,7 @@
> > regulators {
> > sw1a_reg: sw1a {
> > regulator-min-microvolt = <700000>;
> > - regulator-max-microvolt = <1475000>;
> > + regulator-max-microvolt =
> <3300000>;
>
> This change does not look like a safe thing to do without carefully checking each
> one of the board schematics.
>
> Even if the regulator itself is capable of driving a higher voltage, it does not
> mean that the circuitry that consumes such regulator is allowed to receive the
> higher voltages.

I thought the max value here means the capability of regulator itself, like the internal
anatop LDO regulator VDD_CORE, the max value defined in dtsi is 1.45V, but out i.MX6
SoCs can NOT receive to voltage higher than 1.3V.

The default setting of PMIC output is controlled by its OTP and the OTP value should
consider the board design, the rest of voltage setting should be taken care by device driver.
Here I think the max means PMIC's capability.

Anson.



2018-03-18 02:26:45

by Anson Huang

[permalink] [raw]
Subject: RE: [PATCH 2/2] regulator: pfuze100: update voltage setting for pfuze3000 sw1a



Anson Huang
Best Regards!


> -----Original Message-----
> From: Fabio Estevam [mailto:[email protected]]
> Sent: Sunday, March 18, 2018 2:27 AM
> To: Stefan Wahren <[email protected]>
> Cc: Rob Herring <[email protected]>; Fabio Estevam
> <[email protected]>; Mark Rutland <[email protected]>; Robin
> Gong <[email protected]>; Russell King - ARM Linux
> <[email protected]>; Anson Huang <[email protected]>; Liam
> Girdwood <[email protected]>; Shawn Guo <[email protected]>;
> Sascha Hauer <[email protected]>; Mark Brown <[email protected]>;
> open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
> <[email protected]>; dl-linux-imx <[email protected]>; moderated
> list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE
> <[email protected]>; linux-kernel
> <[email protected]>
> Subject: Re: [PATCH 2/2] regulator: pfuze100: update voltage setting for
> pfuze3000 sw1a
>
> Hi Stefan,
>
> On Sat, Mar 17, 2018 at 9:35 AM, Stefan Wahren <[email protected]>
> wrote:
> > Hi Anson,
> >
> >> Anson Huang <[email protected]> hat am 17. März 2018 um 07:57
> geschrieben:
> >>
> >>
> >> Latest pfuze3000 datasheet from:
> >>
> >>
> https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcache.fr
> eescale.com%2Ffiles%2Fanalog%2Fdoc%2Fdata_sheet%2FPF3000.pdf%3Ffsrch
> %3D1%26sr%3D1%26pageNum%3D1&data=02%7C01%7CAnson.Huang%40nxp
> .com%7Cf6e1374a196741efe49b08d58c34bbab%7C686ea1d3bc2b4c6fa92cd99
> c5c301635%7C0%7C1%7C636569080479216580&sdata=DZQFb2hHbYqXjduHC0
> 1z%2FiAT4xvztN4Gy85S89mULwo%3D&reserved=0
> >
> > this link goes to Rev. 7.0, 9/2016, which isn't the latest one.
> >
> > I guess Rev. 9.0, 8/2017 is the latest.
>
> You are right. This is the link to the latest datasheet:
> https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.n
> xp.com%2Fdocs%2Fen%2Fdata-sheet%2FPF3000.pdf&data=02%7C01%7CAnson
> .Huang%40nxp.com%7Cf6e1374a196741efe49b08d58c34bbab%7C686ea1d3bc
> 2b4c6fa92cd99c5c301635%7C0%7C1%7C636569080479216580&sdata=WIQYD
> 7WDn0%2FTl4BzM7oJdSuwK31Z64TfekeBAkou9XQ%3D&reserved=0

Yes, thank you for the reminder, I will update the commit message and the link in V2.

Anson.


2018-03-18 13:09:53

by Fabio Estevam

[permalink] [raw]
Subject: Re: [PATCH 1/2] ARM: dts: pfuze3000: update sw1a/vldo4 voltage range

On Sat, Mar 17, 2018 at 11:23 PM, Anson Huang <[email protected]> wrote:

> I thought the max value here means the capability of regulator itself, like the internal

No it is not.

Please check Documentation/devicetree/bindings/regulator/regulator.txt:

"- regulator-max-microvolt: largest voltage consumers may set"

2018-03-19 02:02:42

by Anson Huang

[permalink] [raw]
Subject: RE: [PATCH 1/2] ARM: dts: pfuze3000: update sw1a/vldo4 voltage range

Hi, Fabio

Anson Huang
Best Regards!


> -----Original Message-----
> From: Fabio Estevam [mailto:[email protected]]
> Sent: Sunday, March 18, 2018 8:55 PM
> To: Anson Huang <[email protected]>
> Cc: Robin Gong <[email protected]>; Shawn Guo <[email protected]>;
> Sascha Hauer <[email protected]>; Fabio Estevam
> <[email protected]>; Rob Herring <[email protected]>; Mark Rutland
> <[email protected]>; Russell King - ARM Linux <[email protected]>;
> Liam Girdwood <[email protected]>; Mark Brown <[email protected]>;
> dl-linux-imx <[email protected]>; moderated list:ARM/FREESCALE IMX / MXC
> ARM ARCHITECTURE <[email protected]>; open list:OPEN
> FIRMWARE AND FLATTENED DEVICE TREE BINDINGS
> <[email protected]>; linux-kernel <[email protected]>
> Subject: Re: [PATCH 1/2] ARM: dts: pfuze3000: update sw1a/vldo4 voltage range
>
> On Sat, Mar 17, 2018 at 11:23 PM, Anson Huang <[email protected]>
> wrote:
>
> > I thought the max value here means the capability of regulator itself, like the
> internal
>
> No it is not.
>
> Please check Documentation/devicetree/bindings/regulator/regulator.txt:
>
> "- regulator-max-microvolt: largest voltage consumers may set"

OK, so I should change the max value of SW1A according to board design, such
as for MX7D, it is 1.075V for max cpu-freq's voltage, set it to 1.075 in dts?

Also, according to the binding doc, do you think the anatop's vdd_arm and vdd_soc/pu's max
value also need to be adjusted to match the value define in each soc's datasheet?

Anson.

2018-04-18 12:00:05

by Mark Brown

[permalink] [raw]
Subject: Applied "regulator: pfuze100: update voltage setting for pfuze3000 sw1a" to the regulator tree

The patch

regulator: pfuze100: update voltage setting for pfuze3000 sw1a

has been applied to the regulator tree at

https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

From 1dced996ee702e6af82a57c7b6c56b0cceaa6425 Mon Sep 17 00:00:00 2001
From: Anson Huang <[email protected]>
Date: Sun, 18 Mar 2018 11:23:21 +0800
Subject: [PATCH] regulator: pfuze100: update voltage setting for pfuze3000
sw1a

pfuze3000 datasheet(Rev.9.0) from:

https://www.nxp.com/docs/en/data-sheet/PF3000.pdf

updates sw1a's voltage range, the settings for 1.450V and 1.475V
are replaced with 1.8V and 3.3V:

5b'11110 1.450 (SW1B), 1.8 (SW1A/SW1AB)
5b'11111 1.475 (SW1B), 3.3 (SW1A/SW1AB)

the voltage calculation using steps is NOT available for sw1a now,
use voltage table instead.

Signed-off-by: Anson Huang <[email protected]>
Signed-off-by: Robin Gong <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
---
drivers/regulator/pfuze100-regulator.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/regulator/pfuze100-regulator.c b/drivers/regulator/pfuze100-regulator.c
index 63922a2167e5..680f076e3d85 100644
--- a/drivers/regulator/pfuze100-regulator.c
+++ b/drivers/regulator/pfuze100-regulator.c
@@ -86,6 +86,13 @@ static const int pfuze100_coin[] = {
2500000, 2700000, 2800000, 2900000, 3000000, 3100000, 3200000, 3300000,
};

+static const int pfuze3000_sw1a[] = {
+ 700000, 725000, 750000, 775000, 800000, 825000, 850000, 875000,
+ 900000, 925000, 950000, 975000, 1000000, 1025000, 1050000, 1075000,
+ 1100000, 1125000, 1150000, 1175000, 1200000, 1225000, 1250000, 1275000,
+ 1300000, 1325000, 1350000, 1375000, 1400000, 1425000, 1800000, 3300000,
+};
+
static const int pfuze3000_sw2lo[] = {
1500000, 1550000, 1600000, 1650000, 1700000, 1750000, 1800000, 1850000,
};
@@ -343,7 +350,7 @@ static struct pfuze_regulator pfuze200_regulators[] = {
};

static struct pfuze_regulator pfuze3000_regulators[] = {
- PFUZE100_SW_REG(PFUZE3000, SW1A, PFUZE100_SW1ABVOL, 700000, 1475000, 25000),
+ PFUZE100_SWB_REG(PFUZE3000, SW1A, PFUZE100_SW1ABVOL, 0x1f, pfuze3000_sw1a),
PFUZE100_SW_REG(PFUZE3000, SW1B, PFUZE100_SW1CVOL, 700000, 1475000, 25000),
PFUZE100_SWB_REG(PFUZE3000, SW2, PFUZE100_SW2VOL, 0x7, pfuze3000_sw2lo),
PFUZE3000_SW3_REG(PFUZE3000, SW3, PFUZE100_SW3AVOL, 900000, 1650000, 50000),
--
2.17.0