diff mbox series

[v2,06/17] dt_bindings: regulator: Add ROHM BD71815 PMIC regulators

Message ID 950a87e680822ab6457ff95bba96730fed93e14d.1611037866.git.matti.vaittinen@fi.rohmeurope.com
State New
Headers show
Series Support ROHM BD71815 PMIC | expand

Commit Message

Vaittinen, Matti Jan. 19, 2021, 7:17 a.m. UTC
Add binding documentation for regulators on ROHM BD71815 PMIC.
5 bucks, 7 LDOs and a boost for LED.

Signed-off-by: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
---

Changes since v1:
- Changed patch order to fix ref dependecy
- Added missing schema for nodes wled, ldodvref, ldolpsr

 .../regulator/rohm,bd71815-regulator.yaml     | 116 ++++++++++++++++++
 1 file changed, 116 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/regulator/rohm,bd71815-regulator.yaml

Comments

Rob Herring Feb. 9, 2021, 2:24 a.m. UTC | #1
On Tue, Jan 19, 2021 at 09:17:09AM +0200, Matti Vaittinen wrote:
> Add binding documentation for regulators on ROHM BD71815 PMIC.
> 5 bucks, 7 LDOs and a boost for LED.
> 
> Signed-off-by: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
> ---
> 
> Changes since v1:
> - Changed patch order to fix ref dependecy
> - Added missing schema for nodes wled, ldodvref, ldolpsr
> 
>  .../regulator/rohm,bd71815-regulator.yaml     | 116 ++++++++++++++++++
>  1 file changed, 116 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/regulator/rohm,bd71815-regulator.yaml
> 
> diff --git a/Documentation/devicetree/bindings/regulator/rohm,bd71815-regulator.yaml b/Documentation/devicetree/bindings/regulator/rohm,bd71815-regulator.yaml
> new file mode 100644
> index 000000000000..7d0adb74a396
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/regulator/rohm,bd71815-regulator.yaml
> @@ -0,0 +1,116 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/regulator/rohm,bd71815-regulator.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: ROHM BD71815 Power Management Integrated Circuit regulators
> +
> +maintainers:
> +  - Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
> +
> +description: |
> +  This module is part of the ROHM BD718215 MFD device. For more details
> +  see Documentation/devicetree/bindings/mfd/rohm,bd71815-pmic.yaml.
> +
> +  The regulator controller is represented as a sub-node of the PMIC node
> +  on the device tree.
> +
> +  The valid names for BD71815 regulator nodes are
> +  buck1, buck2, buck3, buck4, buck5,
> +  ldo1, ldo2, ldo3, ldo4, ldo5,
> +  ldodvref, ldolpsr, wled
> +
> +properties:
> +  wled:
> +    type: object
> +    description:
> +      properties for wled regulator
> +    $ref: regulator.yaml#
> +
> +    properties:
> +      regulator-name:
> +        const: wled
> +
> +patternProperties:
> +  "^((ldo|buck)[1-5]|ldolpsr|ldodvref)$":
> +    type: object
> +    description:
> +      Properties for single LDO/BUCK regulator.
> +    $ref: regulator.yaml#
> +
> +    properties:
> +      regulator-name:
> +        pattern: "^((ldo|buck)[1-5]|ldolpsr|ldodvref)$"
> +        description:
> +          should be "ldo1", ..., "ldo5", "buck1", ..., "buck5" and "ldolpsr"
> +          for ldolpsr regulator, "ldodvref" for ldodvref reglator.
> +
> +      rohm,vsel-gpios:
> +        description:
> +          GPIO used to control ldo4 state (when ldo4 is controlled by GPIO).
> +
> +      rohm,dvs-run-voltage:

Use standard unit suffix.

> +        description:
> +          PMIC "RUN" state voltage in uV when PMIC HW states are used. See
> +          comments below for bucks/LDOs which support this. 0 means
> +          regulator should be disabled at RUN state.
> +        $ref: "/schemas/types.yaml#/definitions/uint32"

And then drop this.

> +        minimum: 0
> +        maximum: 3300000
> +
> +      rohm,dvs-snvs-voltage:
> +        description:
> +          Whether to keep regulator enabled at "SNVS" state or not.
> +          0 means regulator should be disabled at SNVS state, non zero voltage
> +          keeps regulator enabled. BD71815 does not change voltage level
> +          when PMIC transitions to SNVS.SNVS voltage depends on the previous
> +          state (from which the PMIC transitioned to SNVS).
> +        $ref: "/schemas/types.yaml#/definitions/uint32"

Same here.

> +        minimum: 0
> +        maximum: 3300000
> +
> +      rohm,dvs-suspend-voltage:
> +        description:
> +          PMIC "SUSPEND" state voltage in uV when PMIC HW states are used. See
> +          comments below for bucks/LDOs which support this. 0 means
> +          regulator should be disabled at SUSPEND state.
> +        $ref: "/schemas/types.yaml#/definitions/uint32"

And here.

> +        minimum: 0
> +        maximum: 3300000
> +
> +      rohm,dvs-lpsr-voltage:
> +        description:
> +          PMIC "LPSR" state voltage in uV when PMIC HW states are used. See
> +          comments below for bucks/LDOs which support this. 0 means
> +          regulator should be disabled at LPSR state.
> +        $ref: "/schemas/types.yaml#/definitions/uint32"
> +        minimum: 0
> +        maximum: 3300000
> +
> +        # Bucks 1 and 2 support giving separate voltages for operational states
> +        # (RUN /CLEAN according to data-sheet) and non operational states
> +        # (LPSR/SUSPEND). The voltage is automatically changed when HW
> +        # state changes. Omitting these properties from bucks 1 and 2 leave
> +        # buck voltages to not be toggled by HW state. Enable status may still
> +        # be toggled by state changes depending on HW default settings.
> +        #
> +        # Bucks 3-5 and ldos 1-5 support setting the RUN state voltage here.
> +        # Given RUN voltage is used at all states if regulator is enabled at
> +        # given state.
> +        # Values given for other states are regarded as enable/disable at
> +        # given state (see below).
> +        #
> +        # All regulators except WLED support specifying enable/disable status
> +        # for each of the HW states (RUN/SNVS/SUSPEND/LPSR). HW defaults can
> +        # be overridden by setting voltage to 0 (regulator disabled at given
> +        # state) or non-zero (regulator enabled at given state). Please note
> +        # that setting non zero voltages for bucks 1/2 will also enable voltage
> +        # changes according to state change.
> +
> +    required:
> +      - regulator-name
> +
> +    unevaluatedProperties: false
> +
> +additionalProperties: false
> -- 
> 2.25.4
> 
> 
> -- 
> Matti Vaittinen, Linux device drivers
> ROHM Semiconductors, Finland SWDC
> Kiviharjunlenkki 1E
> 90220 OULU
> FINLAND
> 
> ~~~ "I don't think so," said Rene Descartes. Just then he vanished ~~~
> Simon says - in Latin please.
> ~~~ "non cogito me" dixit Rene Descarte, deinde evanescavit ~~~
> Thanks to Simon Glass for the translation =]
Vaittinen, Matti Feb. 9, 2021, 1:10 p.m. UTC | #2
Hello Again Rob,

And thanks for reviewing the bindings!

On Mon, 2021-02-08 at 20:24 -0600, Rob Herring wrote:
> On Tue, Jan 19, 2021 at 09:17:09AM +0200, Matti Vaittinen wrote:
> > Add binding documentation for regulators on ROHM BD71815 PMIC.
> > 5 bucks, 7 LDOs and a boost for LED.
> > 
> > Signed-off-by: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
> > ---

snip

> > +
> > +      rohm,dvs-run-voltage:
> 
> Use standard unit suffix.
> 
> > +        description:
> > +          PMIC "RUN" state voltage in uV when PMIC HW states are
> > used. See
> > +          comments below for bucks/LDOs which support this. 0
> > means
> > +          regulator should be disabled at RUN state.
> > +        $ref: "/schemas/types.yaml#/definitions/uint32"
> 
> And then drop this.

Quote from v1 review:

> > > > > > +      rohm,dvs-run-voltage:
> > > > >
> > > > > These should have a unit suffix.
> > > >
> > > > I know but these are existing properties. I'd like to re-use
them
> > > > as
> > > > they have exported parser helpers - and I am unsure what kind
of
> > > > breakages changing them would cause. (The BD71837/BD71847 which
> > > > introduced these properties are one of the PMICs which are
pretty
> > > > widely used.)
> > >
> > > Okay. Hopefully I remember next time I see this...
> >
> > Actually, I think I can add support for rohm,dvs-run-microvolt and
> > fellows to these same helpers so new devices can use appropriately
> > named properties. That would mean there is duplicate properties for
> > same purpose - but maybe it allows us to eventually deprecate the
old
> > ones... Which of these options would you prefer?
>
> Just keep the existing ones.

Seem you predicted this XD If you still think it's Ok to keep the
existing ones, then I'll take this an ack, Ok?

Best Regards
	Matti Vaittinen
Rob Herring Feb. 9, 2021, 1:50 p.m. UTC | #3
On Tue, Feb 9, 2021 at 7:10 AM Vaittinen, Matti
<Matti.Vaittinen@fi.rohmeurope.com> wrote:
>
> Hello Again Rob,
>
> And thanks for reviewing the bindings!
>
> On Mon, 2021-02-08 at 20:24 -0600, Rob Herring wrote:
> > On Tue, Jan 19, 2021 at 09:17:09AM +0200, Matti Vaittinen wrote:
> > > Add binding documentation for regulators on ROHM BD71815 PMIC.
> > > 5 bucks, 7 LDOs and a boost for LED.
> > >
> > > Signed-off-by: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
> > > ---
>
> snip
>
> > > +
> > > +      rohm,dvs-run-voltage:
> >
> > Use standard unit suffix.
> >
> > > +        description:
> > > +          PMIC "RUN" state voltage in uV when PMIC HW states are
> > > used. See
> > > +          comments below for bucks/LDOs which support this. 0
> > > means
> > > +          regulator should be disabled at RUN state.
> > > +        $ref: "/schemas/types.yaml#/definitions/uint32"
> >
> > And then drop this.
>
> Quote from v1 review:
>
> > > > > > > +      rohm,dvs-run-voltage:
> > > > > >
> > > > > > These should have a unit suffix.
> > > > >
> > > > > I know but these are existing properties. I'd like to re-use
> them
> > > > > as
> > > > > they have exported parser helpers - and I am unsure what kind
> of
> > > > > breakages changing them would cause. (The BD71837/BD71847 which
> > > > > introduced these properties are one of the PMICs which are
> pretty
> > > > > widely used.)
> > > >
> > > > Okay. Hopefully I remember next time I see this...
> > >
> > > Actually, I think I can add support for rohm,dvs-run-microvolt and
> > > fellows to these same helpers so new devices can use appropriately
> > > named properties. That would mean there is duplicate properties for
> > > same purpose - but maybe it allows us to eventually deprecate the
> old
> > > ones... Which of these options would you prefer?
> >
> > Just keep the existing ones.
>
> Seem you predicted this XD If you still think it's Ok to keep the
> existing ones, then I'll take this an ack, Ok?

Ah right,

Reviewed-by: Rob Herring <robh@kernel.org>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/regulator/rohm,bd71815-regulator.yaml b/Documentation/devicetree/bindings/regulator/rohm,bd71815-regulator.yaml
new file mode 100644
index 000000000000..7d0adb74a396
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/rohm,bd71815-regulator.yaml
@@ -0,0 +1,116 @@ 
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/rohm,bd71815-regulator.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: ROHM BD71815 Power Management Integrated Circuit regulators
+
+maintainers:
+  - Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
+
+description: |
+  This module is part of the ROHM BD718215 MFD device. For more details
+  see Documentation/devicetree/bindings/mfd/rohm,bd71815-pmic.yaml.
+
+  The regulator controller is represented as a sub-node of the PMIC node
+  on the device tree.
+
+  The valid names for BD71815 regulator nodes are
+  buck1, buck2, buck3, buck4, buck5,
+  ldo1, ldo2, ldo3, ldo4, ldo5,
+  ldodvref, ldolpsr, wled
+
+properties:
+  wled:
+    type: object
+    description:
+      properties for wled regulator
+    $ref: regulator.yaml#
+
+    properties:
+      regulator-name:
+        const: wled
+
+patternProperties:
+  "^((ldo|buck)[1-5]|ldolpsr|ldodvref)$":
+    type: object
+    description:
+      Properties for single LDO/BUCK regulator.
+    $ref: regulator.yaml#
+
+    properties:
+      regulator-name:
+        pattern: "^((ldo|buck)[1-5]|ldolpsr|ldodvref)$"
+        description:
+          should be "ldo1", ..., "ldo5", "buck1", ..., "buck5" and "ldolpsr"
+          for ldolpsr regulator, "ldodvref" for ldodvref reglator.
+
+      rohm,vsel-gpios:
+        description:
+          GPIO used to control ldo4 state (when ldo4 is controlled by GPIO).
+
+      rohm,dvs-run-voltage:
+        description:
+          PMIC "RUN" state voltage in uV when PMIC HW states are used. See
+          comments below for bucks/LDOs which support this. 0 means
+          regulator should be disabled at RUN state.
+        $ref: "/schemas/types.yaml#/definitions/uint32"
+        minimum: 0
+        maximum: 3300000
+
+      rohm,dvs-snvs-voltage:
+        description:
+          Whether to keep regulator enabled at "SNVS" state or not.
+          0 means regulator should be disabled at SNVS state, non zero voltage
+          keeps regulator enabled. BD71815 does not change voltage level
+          when PMIC transitions to SNVS.SNVS voltage depends on the previous
+          state (from which the PMIC transitioned to SNVS).
+        $ref: "/schemas/types.yaml#/definitions/uint32"
+        minimum: 0
+        maximum: 3300000
+
+      rohm,dvs-suspend-voltage:
+        description:
+          PMIC "SUSPEND" state voltage in uV when PMIC HW states are used. See
+          comments below for bucks/LDOs which support this. 0 means
+          regulator should be disabled at SUSPEND state.
+        $ref: "/schemas/types.yaml#/definitions/uint32"
+        minimum: 0
+        maximum: 3300000
+
+      rohm,dvs-lpsr-voltage:
+        description:
+          PMIC "LPSR" state voltage in uV when PMIC HW states are used. See
+          comments below for bucks/LDOs which support this. 0 means
+          regulator should be disabled at LPSR state.
+        $ref: "/schemas/types.yaml#/definitions/uint32"
+        minimum: 0
+        maximum: 3300000
+
+        # Bucks 1 and 2 support giving separate voltages for operational states
+        # (RUN /CLEAN according to data-sheet) and non operational states
+        # (LPSR/SUSPEND). The voltage is automatically changed when HW
+        # state changes. Omitting these properties from bucks 1 and 2 leave
+        # buck voltages to not be toggled by HW state. Enable status may still
+        # be toggled by state changes depending on HW default settings.
+        #
+        # Bucks 3-5 and ldos 1-5 support setting the RUN state voltage here.
+        # Given RUN voltage is used at all states if regulator is enabled at
+        # given state.
+        # Values given for other states are regarded as enable/disable at
+        # given state (see below).
+        #
+        # All regulators except WLED support specifying enable/disable status
+        # for each of the HW states (RUN/SNVS/SUSPEND/LPSR). HW defaults can
+        # be overridden by setting voltage to 0 (regulator disabled at given
+        # state) or non-zero (regulator enabled at given state). Please note
+        # that setting non zero voltages for bucks 1/2 will also enable voltage
+        # changes according to state change.
+
+    required:
+      - regulator-name
+
+    unevaluatedProperties: false
+
+additionalProperties: false