Message ID | 537742e7af4a21baf79429469ba7c30947ddca7a.1637362542.git.plr.vincent@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v3,1/6] riscv: dts: sifive unmatched: Name gpio lines | expand |
On Fri, 19 Nov 2021 14:55:41 PST (-0800), plr.vincent@gmail.com 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@gmail.com> > > --- > 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; > }; > };
" On Thu, Dec 2, 2021 at 11:45 PM Palmer Dabbelt <palmer@dabbelt.com> wrote: > > On Fri, 19 Nov 2021 14:55:41 PST (-0800), plr.vincent@gmail.com 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. As I mentioned some time before there is no such thing as Unmatched "A00". The production boards is: PCB revision: 3 BOM revision: B BOM variant: 0 Or "3B0". There are a few "3A0" boards out in the wild, but the changes are minimal and the same DT applies. > > 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@gmail.com> > > > > --- > > 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; > > }; > > }; > > _______________________________________________ > linux-riscv mailing list > linux-riscv@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-riscv
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; }; };
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 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@gmail.com> --- 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(-)