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@xxxxxxxxxxxxxxxxx> > --- > > 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@xxxxxxxxxxxxxxxxx> > + > +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 =]