On 04/10/2021 17:07, Rob Herring wrote: > 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. > I split the entries, slightly more code but it's actually easier to read. Best regards, Krzysztof