On Tue, Sep 28, 2021 at 04:13:52PM +0200, Krzysztof Kozlowski wrote: > Convert the regulators of Maxim MAX77686 PMIC to DT schema format. > > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxxxxx> > --- > .../bindings/regulator/max77686.txt | 71 -------------- > .../bindings/regulator/maxim,max77686.yaml | 92 +++++++++++++++++++ > MAINTAINERS | 1 + > 3 files changed, 93 insertions(+), 71 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/regulator/max77686.txt > create mode 100644 Documentation/devicetree/bindings/regulator/maxim,max77686.yaml > > diff --git a/Documentation/devicetree/bindings/regulator/max77686.txt b/Documentation/devicetree/bindings/regulator/max77686.txt > deleted file mode 100644 > index e9f7578ca09a..000000000000 > --- a/Documentation/devicetree/bindings/regulator/max77686.txt > +++ /dev/null > @@ -1,71 +0,0 @@ > -Binding for Maxim MAX77686 regulators > - > -This is a part of the device tree bindings of MAX77686 multi-function device. > -More information can be found in ../mfd/max77686.txt file. > - > -The MAX77686 PMIC has 9 high-efficiency Buck and 26 Low-DropOut (LDO) > -regulators that can be controlled over I2C. > - > -Following properties should be present in main device node of the MFD chip. > - > -Optional node: > -- voltage-regulators : The regulators of max77686 have to be instantiated > - under subnode named "voltage-regulators" using the following format. > - > - regulator_name { > - regulator-compatible = LDOn/BUCKn > - standard regulator constraints.... > - }; > - refer Documentation/devicetree/bindings/regulator/regulator.txt > - > - The regulator node's name should be initialized with a string > -to get matched with their hardware counterparts as follow: > - > - -LDOn : for LDOs, where n can lie in range 1 to 26. > - example: LDO1, LDO2, LDO26. > - -BUCKn : for BUCKs, where n can lie in range 1 to 9. > - example: BUCK1, BUCK5, BUCK9. > - > - Regulators which can be turned off during system suspend: > - -LDOn : 2, 6-8, 10-12, 14-16, > - -BUCKn : 1-4. > - Use standard regulator bindings for it ('regulator-off-in-suspend'). > - > - LDO20, LDO21, LDO22, BUCK8 and BUCK9 can be configured to GPIO enable > - control. To turn this feature on this property must be added to the regulator > - sub-node: > - - maxim,ena-gpios : one GPIO specifier enable control (the gpio > - flags are actually ignored and always > - ACTIVE_HIGH is used) > - > -Example: > - > - max77686: pmic@9 { > - compatible = "maxim,max77686"; > - interrupt-parent = <&wakeup_eint>; > - interrupts = <26 IRQ_TYPE_NONE>; > - reg = <0x09>; > - > - voltage-regulators { > - ldo11_reg: LDO11 { > - regulator-name = "vdd_ldo11"; > - regulator-min-microvolt = <1900000>; > - regulator-max-microvolt = <1900000>; > - regulator-always-on; > - }; > - > - buck1_reg: BUCK1 { > - regulator-name = "vdd_mif"; > - regulator-min-microvolt = <950000>; > - regulator-max-microvolt = <1300000>; > - regulator-always-on; > - regulator-boot-on; > - }; > - > - buck9_reg: BUCK9 { > - regulator-name = "CAM_ISP_CORE_1.2V"; > - regulator-min-microvolt = <1000000>; > - regulator-max-microvolt = <1200000>; > - maxim,ena-gpios = <&gpm0 3 GPIO_ACTIVE_HIGH>; > - }; > - }; > diff --git a/Documentation/devicetree/bindings/regulator/maxim,max77686.yaml b/Documentation/devicetree/bindings/regulator/maxim,max77686.yaml > new file mode 100644 > index 000000000000..33a80a8caf26 > --- /dev/null > +++ b/Documentation/devicetree/bindings/regulator/maxim,max77686.yaml > @@ -0,0 +1,92 @@ > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/regulator/maxim,max77686.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Maxim MAX77686 Power Management IC regulators > + > +maintainers: > + - Chanwoo Choi <cw00.choi@xxxxxxxxxxx> > + - Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxxxxx> > + > +description: | > + This is a part of device tree bindings for Maxim MAX77686 Power Management > + Integrated Circuit (PMIC). > + > + The Maxim MAX77686 provides high-efficiency Buck and 26 Low-DropOut (LDO) > + regulators. > + > + See also Documentation/devicetree/bindings/mfd/maxim,max77686.yaml for > + additional information and example. > + > +patternProperties: > + # 26 LDOs > + "^LDO([1-9]|1[0-9]|2[0-6])$": > + type: object > + $ref: regulator.yaml# > + description: | > + Properties for single LDO regulator. > + Regulators which can be turned off during system suspend: > + LDO2, LDO6-8, LDO10-12, LDO14-16 > + > + properties: > + regulator-name: true > + > + maxim,ena-gpios: > + maxItems: 1 > + description: | > + GPIO specifier to enable the GPIO control (on/off) for regulator. > + > + required: > + - regulator-name > + > + unevaluatedProperties: false > + > + allOf: > + - if: > + properties: > + $nodename: I'm not sure this actually works with $nodename in child nodes. I think I would just split out the 2 cases to 2 separate patternProperties entries. > + pattern: "^(LDO20|LDO21|LDO22|BUCK8|BUCK9)$" Drop BUCK* ? > + then: > + properties: > + maxim,ena-gpios: true This is not necessary. Flip the if condition. > + else: > + properties: > + maxim,ena-gpios: false > + > + # 9 bucks > + "^BUCK[1-9]$": > + type: object > + $ref: regulator.yaml# > + description: | > + Properties for single BUCK regulator. > + Regulators which can be turned off during system suspend: > + BUCK[1-4] > + > + properties: > + regulator-name: true > + > + maxim,ena-gpios: > + maxItems: 1 > + description: | > + GPIO specifier to enable the GPIO control (on/off) for regulator. > + > + required: > + - regulator-name > + > + unevaluatedProperties: false > + > + allOf: > + - if: > + properties: > + $nodename: > + pattern: "^(LDO20|LDO21|LDO22|BUCK8|BUCK9)$" Drop LDO* ? > + then: > + properties: > + maxim,ena-gpios: true > + else: > + properties: > + maxim,ena-gpios: false > + > +additionalProperties: false > diff --git a/MAINTAINERS b/MAINTAINERS > index 39b4ef4b5a95..32b55f9ab76a 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -11469,6 +11469,7 @@ M: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> > L: linux-kernel@xxxxxxxxxxxxxxx > S: Supported > F: Documentation/devicetree/bindings/*/max77686.txt > +F: Documentation/devicetree/bindings/*/maxim,max77686.yaml > F: Documentation/devicetree/bindings/clock/maxim,max77686.txt > F: Documentation/devicetree/bindings/mfd/max14577.txt > F: Documentation/devicetree/bindings/mfd/max77693.txt > -- > 2.30.2 > >