Messages in this thread | | | Subject | Re: [PATCH v3 1/3] devicetree: bindings: bd718x7: document HW state related ROHM specific properties | Date | Thu, 14 Feb 2019 06:58:35 -0800 | From | Angus Ainslie <> |
| |
On 2019-02-14 01:34, Matti Vaittinen wrote: > Add ROHM BD71837 / BD71847 specific device tree bindings for > controlling the PMIC shutdown/reset states and voltages for > different HW states. The PMIC was designed to be used with NXP > i.MX8 SoC and it supports SNVS low power state which seems to > be typical for NXP i.MX SoCs. However, when SNVS is used we must > not allow SW to control enabling/disabling those regulators which > are crucial for system to boot as there is a HW limitation which > causes SW controlled regulators to be kept shut down after SNVS > reset. > > Allow setting the SNVS to be used as reset target state and allow > marking those regulators which are critical for boot. > > Signed-off-by: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
One small nit below
Tested-by: Angus Ainslie <angus@akkea.ca> Reviewed-by: Angus Ainslie <angus@akkea.ca>
> --- > .../devicetree/bindings/mfd/rohm,bd71837-pmic.txt | 17 ++++++++++ > .../bindings/regulator/rohm,bd71837-regulator.txt | 38 > ++++++++++++++++++++++ > 2 files changed, 55 insertions(+) > > diff --git > a/Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.txt > b/Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.txt > index a4b056761eaa..d5f68ac78d15 100644 > --- a/Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.txt > +++ b/Documentation/devicetree/bindings/mfd/rohm,bd71837-pmic.txt > @@ -23,6 +23,20 @@ Required properties: > > Optional properties: > - clock-output-names : Should contain name for output clock. > +- rohm,reset-snvs-powered : Transfer BD718x7 to SNVS state at reset. > + > +The BD718x7 supports two different HW states as reset target states. > States > +are called as SNVS and READY. At READY state all the PMIC power > outputs go > +down and OTP is reload. At the SNVS state all other logic and external > +devices apart from the SNVS power domain are shut off. Please refer to > NXP > +i.MX8 documentation for further information regarding SNVS state. When > a > +reset is done via SNVS state the PMIC OTP data is not reload. This > causes
Typo s/reload/reloaded/
> +power outputs that have been under SW control to stay down when reset > has > +switched power state to SNVS. If reset is done via READY state the > power > +outputs will be returned to HW control by OTP loading. Thus the reset > +target state is set to READY by default. If SNVS state is used the > boot > +crucial regulators must have the regulator-always-on and > regulator-boot-on > +properties set in regulator node. > > Example: > > @@ -43,6 +57,7 @@ Example: > #clock-cells = <0>; > clocks = <&osc 0>; > clock-output-names = "bd71837-32k-out"; > + rohm,reset-snvs-powered; > > regulators { > buck1: BUCK1 { > @@ -50,8 +65,10 @@ Example: > regulator-min-microvolt = <700000>; > regulator-max-microvolt = <1300000>; > regulator-boot-on; > + regulator-always-on; > regulator-ramp-delay = <1250>; > }; > + // [...] > }; > }; > > diff --git > a/Documentation/devicetree/bindings/regulator/rohm,bd71837-regulator.txt > b/Documentation/devicetree/bindings/regulator/rohm,bd71837-regulator.txt > index 4b98ca26e61a..cbce62c22b60 100644 > --- > a/Documentation/devicetree/bindings/regulator/rohm,bd71837-regulator.txt > +++ > b/Documentation/devicetree/bindings/regulator/rohm,bd71837-regulator.txt > @@ -27,8 +27,38 @@ BUCK1, BUCK2, BUCK3, BUCK4, BUCK5, BUCK6 > LDO1, LDO2, LDO3, LDO4, LDO5, LDO6 > > Optional properties: > +- rohm,dvs-run-voltage : PMIC default "RUN" state voltage in uV. > + See below table for bucks which support this. > +- rohm,dvs-idle-voltage : PMIC default "IDLE" state voltage in uV. > + See below table for bucks which support this. > +- rohm,dvs-suspend-voltage : PMIC default "SUSPEND" state voltage in > uV. > + See below table for bucks which support this. > - Any optional property defined in bindings/regulator/regulator.txt > > +Supported default DVS states: > + > +BD71837: > +buck | dvs-run-voltage | dvs-idle-voltage | dvs-suspend-voltage > +----------------------------------------------------------------------------- > +1 | supported | supported | supported > +---------------------------------------------------------------------------- > +2 | supported | supported | not supported > +---------------------------------------------------------------------------- > +3 | supported | not supported | not supported > +---------------------------------------------------------------------------- > +4 | supported | not supported | not supported > +---------------------------------------------------------------------------- > +rest | not supported | not supported | not supported > + > +BD71847: > +buck | dvs-run-voltage | dvs-idle-voltage | dvs-suspend-voltage > +----------------------------------------------------------------------------- > +1 | supported | supported | supported > +---------------------------------------------------------------------------- > +2 | supported | supported | not supported > +---------------------------------------------------------------------------- > +rest | not supported | not supported | not supported > + > Example: > regulators { > buck1: BUCK1 { > @@ -36,7 +66,11 @@ regulators { > regulator-min-microvolt = <700000>; > regulator-max-microvolt = <1300000>; > regulator-boot-on; > + regulator-always-on; > regulator-ramp-delay = <1250>; > + rohm,dvs-run-voltage = <900000>; > + rohm,dvs-idle-voltage = <850000>; > + rohm,dvs-suspend-voltage = <800000>; > }; > buck2: BUCK2 { > regulator-name = "buck2"; > @@ -45,18 +79,22 @@ regulators { > regulator-boot-on; > regulator-always-on; > regulator-ramp-delay = <1250>; > + rohm,dvs-run-voltage = <1000000>; > + rohm,dvs-idle-voltage = <900000>; > }; > buck3: BUCK3 { > regulator-name = "buck3"; > regulator-min-microvolt = <700000>; > regulator-max-microvolt = <1300000>; > regulator-boot-on; > + rohm,dvs-run-voltage = <1000000>; > }; > buck4: BUCK4 { > regulator-name = "buck4"; > regulator-min-microvolt = <700000>; > regulator-max-microvolt = <1300000>; > regulator-boot-on; > + rohm,dvs-run-voltage = <1000000>; > }; > buck5: BUCK5 { > regulator-name = "buck5"; > -- > 2.14.3
| |