On Fri, 19 Nov 2021 14:55:41 PST (-0800), plr.vincent@xxxxxxxxx wrote: > The existing values are rejected by the da9063 regulator driver, as they > are unachievable with the declared chip setup (non-merged vcore and bmem > are unable to provide the declared curent). > > Fix voltages to match rev3 schematics, which also matches their boot-up There's a few references to rev 3 here. I'm not sure if that means we should have multiple device trees -- this one seems pretty benign, but some of the regulator stuff worries me there, where anything rev 3 specific might not be safe on other revisions. Did any previous revisions make it out of the lab? > configuration within the chip's available precision. > Declare bcore1/bcore2 and bmem/bio as merged. > Set ldo09 and ldo10 as always-on as their consumers are not declared but > exist. > Drop ldo current limits as there is no current limit feature for these > regulators in the DA9063. Fixes warnings like: > DA9063_LDO3: Operation of current configuration missing > > Signed-off-by: Vincent Pelletier <plr.vincent@xxxxxxxxx> > > --- > Changes since v2: > - Fix end-of-commit-message separator so change lists do not end up in them. > Changes since v1: > - Remove trailing "." on subject line. > --- > .../boot/dts/sifive/hifive-unmatched-a00.dts | 84 ++++++------------- > 1 file changed, 24 insertions(+), 60 deletions(-) > > diff --git a/arch/riscv/boot/dts/sifive/hifive-unmatched-a00.dts b/arch/riscv/boot/dts/sifive/hifive-unmatched-a00.dts > index 6e7775fdae32..1abad0eec02e 100644 > --- a/arch/riscv/boot/dts/sifive/hifive-unmatched-a00.dts > +++ b/arch/riscv/boot/dts/sifive/hifive-unmatched-a00.dts > @@ -93,47 +93,31 @@ wdt { > }; > > regulators { > - vdd_bcore1: bcore1 { > - regulator-min-microvolt = <900000>; > - regulator-max-microvolt = <900000>; > - regulator-min-microamp = <5000000>; > - regulator-max-microamp = <5000000>; > - regulator-always-on; > - }; > - > - vdd_bcore2: bcore2 { > - regulator-min-microvolt = <900000>; > - regulator-max-microvolt = <900000>; > - regulator-min-microamp = <5000000>; > - regulator-max-microamp = <5000000>; > + vdd_bcore: bcores-merged { > + regulator-min-microvolt = <1050000>; > + regulator-max-microvolt = <1050000>; > + regulator-min-microamp = <4800000>; > + regulator-max-microamp = <4800000>; > regulator-always-on; > }; > > vdd_bpro: bpro { > regulator-min-microvolt = <1800000>; > regulator-max-microvolt = <1800000>; > - regulator-min-microamp = <2500000>; > - regulator-max-microamp = <2500000>; > + regulator-min-microamp = <2400000>; > + regulator-max-microamp = <2400000>; > regulator-always-on; > }; > > vdd_bperi: bperi { > - regulator-min-microvolt = <1050000>; > - regulator-max-microvolt = <1050000>; > + regulator-min-microvolt = <1060000>; > + regulator-max-microvolt = <1060000>; > regulator-min-microamp = <1500000>; > regulator-max-microamp = <1500000>; > regulator-always-on; > }; > > - vdd_bmem: bmem { > - regulator-min-microvolt = <1200000>; > - regulator-max-microvolt = <1200000>; > - regulator-min-microamp = <3000000>; > - regulator-max-microamp = <3000000>; > - regulator-always-on; > - }; > - > - vdd_bio: bio { > + vdd_bmem_bio: bmem-bio-merged { > regulator-min-microvolt = <1200000>; > regulator-max-microvolt = <1200000>; > regulator-min-microamp = <3000000>; > @@ -144,86 +128,66 @@ vdd_bio: bio { > vdd_ldo1: ldo1 { > regulator-min-microvolt = <1800000>; > regulator-max-microvolt = <1800000>; > - regulator-min-microamp = <100000>; > - regulator-max-microamp = <100000>; > regulator-always-on; > }; > > vdd_ldo2: ldo2 { > regulator-min-microvolt = <1800000>; > regulator-max-microvolt = <1800000>; > - regulator-min-microamp = <200000>; > - regulator-max-microamp = <200000>; > regulator-always-on; > }; > > vdd_ldo3: ldo3 { > - regulator-min-microvolt = <1800000>; > - regulator-max-microvolt = <1800000>; > - regulator-min-microamp = <200000>; > - regulator-max-microamp = <200000>; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > regulator-always-on; > }; > > vdd_ldo4: ldo4 { > - regulator-min-microvolt = <1800000>; > - regulator-max-microvolt = <1800000>; > - regulator-min-microamp = <200000>; > - regulator-max-microamp = <200000>; > + regulator-min-microvolt = <2500000>; > + regulator-max-microvolt = <2500000>; > regulator-always-on; > }; > > vdd_ldo5: ldo5 { > - regulator-min-microvolt = <1800000>; > - regulator-max-microvolt = <1800000>; > - regulator-min-microamp = <100000>; > - regulator-max-microamp = <100000>; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > regulator-always-on; > }; > > vdd_ldo6: ldo6 { > - regulator-min-microvolt = <3300000>; > - regulator-max-microvolt = <3300000>; > - regulator-min-microamp = <200000>; > - regulator-max-microamp = <200000>; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > regulator-always-on; > }; > > vdd_ldo7: ldo7 { > - regulator-min-microvolt = <1800000>; > - regulator-max-microvolt = <1800000>; > - regulator-min-microamp = <200000>; > - regulator-max-microamp = <200000>; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > regulator-always-on; > }; > > vdd_ldo8: ldo8 { > - regulator-min-microvolt = <1800000>; > - regulator-max-microvolt = <1800000>; > - regulator-min-microamp = <200000>; > - regulator-max-microamp = <200000>; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > regulator-always-on; > }; > > vdd_ld09: ldo9 { > regulator-min-microvolt = <1050000>; > regulator-max-microvolt = <1050000>; > - regulator-min-microamp = <200000>; > - regulator-max-microamp = <200000>; > + regulator-always-on; > }; > > vdd_ldo10: ldo10 { > regulator-min-microvolt = <1000000>; > regulator-max-microvolt = <1000000>; > - regulator-min-microamp = <300000>; > - regulator-max-microamp = <300000>; > + regulator-always-on; > }; > > vdd_ldo11: ldo11 { > regulator-min-microvolt = <2500000>; > regulator-max-microvolt = <2500000>; > - regulator-min-microamp = <300000>; > - regulator-max-microamp = <300000>; > regulator-always-on; > }; > };