* [PATCH 0/2] mfd/regulator: dt-bindings: max77686: convert to dtschema @ 2021-09-28 14:13 Krzysztof Kozlowski 2021-09-28 14:13 ` [PATCH 1/2] regulator: dt-bindings: maxim,max77686: " Krzysztof Kozlowski 2021-09-28 14:13 ` [PATCH 2/2] mfd: " Krzysztof Kozlowski 0 siblings, 2 replies; 7+ messages in thread From: Krzysztof Kozlowski @ 2021-09-28 14:13 UTC (permalink / raw) To: Lee Jones, Rob Herring, Chanwoo Choi, Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz, Liam Girdwood, Mark Brown, devicetree, linux-kernel Hi, Convert Maxim MAX77686 bindings to dtschema. The MFD patch (2/2) depends on regulator, so this should go via one tree, for example Rob's. Patch 1 (regulator) notes ========================= Only few regulators support maxim,ena-gpios property. I tried to include this in dtschema but because of unevaluatedProperties this part is not actually effective. Any ideas here would be welcomed. Clock bindings ============== Existing Documentation/devicetree/bindings/clock/maxim,max77686.txt are left untouched. The file is still used/referenced by other Maxim devices: MAX77620 and MAX77802. Best regards, Krzysztof Krzysztof Kozlowski (2): regulator: dt-bindings: maxim,max77686: convert to dtschema mfd: dt-bindings: maxim,max77686: convert to dtschema .../devicetree/bindings/mfd/max77686.txt | 26 ---- .../bindings/mfd/maxim,max77686.yaml | 124 ++++++++++++++++++ .../bindings/regulator/max77686.txt | 71 ---------- .../bindings/regulator/maxim,max77686.yaml | 92 +++++++++++++ MAINTAINERS | 2 +- 5 files changed, 217 insertions(+), 98 deletions(-) delete mode 100644 Documentation/devicetree/bindings/mfd/max77686.txt create mode 100644 Documentation/devicetree/bindings/mfd/maxim,max77686.yaml delete mode 100644 Documentation/devicetree/bindings/regulator/max77686.txt create mode 100644 Documentation/devicetree/bindings/regulator/maxim,max77686.yaml -- 2.30.2 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/2] regulator: dt-bindings: maxim,max77686: convert to dtschema 2021-09-28 14:13 [PATCH 0/2] mfd/regulator: dt-bindings: max77686: convert to dtschema Krzysztof Kozlowski @ 2021-09-28 14:13 ` Krzysztof Kozlowski 2021-09-29 13:42 ` Mark Brown 2021-10-04 15:07 ` Rob Herring 2021-09-28 14:13 ` [PATCH 2/2] mfd: " Krzysztof Kozlowski 1 sibling, 2 replies; 7+ messages in thread From: Krzysztof Kozlowski @ 2021-09-28 14:13 UTC (permalink / raw) To: Lee Jones, Rob Herring, Chanwoo Choi, Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz, Liam Girdwood, Mark Brown, devicetree, linux-kernel Convert the regulators of Maxim MAX77686 PMIC to DT schema format. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> --- .../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@samsung.com> + - Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> + +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: + pattern: "^(LDO20|LDO21|LDO22|BUCK8|BUCK9)$" + then: + properties: + maxim,ena-gpios: true + 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)$" + 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@samsung.com> L: linux-kernel@vger.kernel.org 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 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] regulator: dt-bindings: maxim,max77686: convert to dtschema 2021-09-28 14:13 ` [PATCH 1/2] regulator: dt-bindings: maxim,max77686: " Krzysztof Kozlowski @ 2021-09-29 13:42 ` Mark Brown 2021-10-04 15:07 ` Rob Herring 1 sibling, 0 replies; 7+ messages in thread From: Mark Brown @ 2021-09-29 13:42 UTC (permalink / raw) To: Krzysztof Kozlowski Cc: Lee Jones, Rob Herring, Chanwoo Choi, Bartlomiej Zolnierkiewicz, Liam Girdwood, devicetree, linux-kernel [-- Attachment #1: Type: text/plain, Size: 181 bytes --] On Tue, Sep 28, 2021 at 04:13:52PM +0200, Krzysztof Kozlowski wrote: > Convert the regulators of Maxim MAX77686 PMIC to DT schema format. Acked-by: Mark Brown <broonie@kernel.org> [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] regulator: dt-bindings: maxim,max77686: convert to dtschema 2021-09-28 14:13 ` [PATCH 1/2] regulator: dt-bindings: maxim,max77686: " Krzysztof Kozlowski 2021-09-29 13:42 ` Mark Brown @ 2021-10-04 15:07 ` Rob Herring 2021-10-08 12:09 ` Krzysztof Kozlowski 1 sibling, 1 reply; 7+ messages in thread From: Rob Herring @ 2021-10-04 15:07 UTC (permalink / raw) To: Krzysztof Kozlowski Cc: Lee Jones, Chanwoo Choi, Bartlomiej Zolnierkiewicz, Liam Girdwood, Mark Brown, devicetree, linux-kernel 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@canonical.com> > --- > .../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@samsung.com> > + - Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> > + > +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@samsung.com> > L: linux-kernel@vger.kernel.org > 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 > > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] regulator: dt-bindings: maxim,max77686: convert to dtschema 2021-10-04 15:07 ` Rob Herring @ 2021-10-08 12:09 ` Krzysztof Kozlowski 0 siblings, 0 replies; 7+ messages in thread From: Krzysztof Kozlowski @ 2021-10-08 12:09 UTC (permalink / raw) To: Rob Herring Cc: Lee Jones, Chanwoo Choi, Bartlomiej Zolnierkiewicz, Liam Girdwood, Mark Brown, devicetree, linux-kernel 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@canonical.com> >> --- >> .../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@samsung.com> >> + - Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> >> + >> +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 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 2/2] mfd: dt-bindings: maxim,max77686: convert to dtschema 2021-09-28 14:13 [PATCH 0/2] mfd/regulator: dt-bindings: max77686: convert to dtschema Krzysztof Kozlowski 2021-09-28 14:13 ` [PATCH 1/2] regulator: dt-bindings: maxim,max77686: " Krzysztof Kozlowski @ 2021-09-28 14:13 ` Krzysztof Kozlowski 2021-10-04 16:13 ` Rob Herring 1 sibling, 1 reply; 7+ messages in thread From: Krzysztof Kozlowski @ 2021-09-28 14:13 UTC (permalink / raw) To: Lee Jones, Rob Herring, Chanwoo Choi, Krzysztof Kozlowski, Bartlomiej Zolnierkiewicz, Liam Girdwood, Mark Brown, devicetree, linux-kernel Convert the MFD part of Maxim MAX77686 PMIC to DT schema format. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> --- .../devicetree/bindings/mfd/max77686.txt | 26 ---- .../bindings/mfd/maxim,max77686.yaml | 124 ++++++++++++++++++ MAINTAINERS | 1 - 3 files changed, 124 insertions(+), 27 deletions(-) delete mode 100644 Documentation/devicetree/bindings/mfd/max77686.txt create mode 100644 Documentation/devicetree/bindings/mfd/maxim,max77686.yaml diff --git a/Documentation/devicetree/bindings/mfd/max77686.txt b/Documentation/devicetree/bindings/mfd/max77686.txt deleted file mode 100644 index 42968b7144e0..000000000000 --- a/Documentation/devicetree/bindings/mfd/max77686.txt +++ /dev/null @@ -1,26 +0,0 @@ -Maxim MAX77686 multi-function device - -MAX77686 is a Multifunction device with PMIC, RTC and Charger on chip. It is -interfaced to host controller using i2c interface. PMIC and Charger submodules -are addressed using same i2c slave address whereas RTC submodule uses -different i2c slave address,presently for which we are statically creating i2c -client while probing.This document describes the binding for mfd device and -PMIC submodule. - -Bindings for the built-in 32k clock generator block and -regulators are defined in ../clk/maxim,max77686.txt and -../regulator/max77686.txt respectively. - -Required properties: -- compatible : Must be "maxim,max77686"; -- reg : Specifies the i2c slave address of PMIC block. -- interrupts : This i2c device has an IRQ line connected to the main SoC. - -Example: - - max77686: pmic@9 { - compatible = "maxim,max77686"; - interrupt-parent = <&wakeup_eint>; - interrupts = <26 0>; - reg = <0x09>; - }; diff --git a/Documentation/devicetree/bindings/mfd/maxim,max77686.yaml b/Documentation/devicetree/bindings/mfd/maxim,max77686.yaml new file mode 100644 index 000000000000..2296a16038b7 --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/maxim,max77686.yaml @@ -0,0 +1,124 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mfd/maxim,max77686.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Maxim MAX77686 Power Management IC + +maintainers: + - Chanwoo Choi <cw00.choi@samsung.com> + - Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> + +description: | + This is a part of device tree bindings for Maxim MAX77686 Power Management + Integrated Circuit (PMIC). + + The Maxim MAX77686 is a Power Management IC which includes voltage and + current regulators, RTC and clock outputs. + + The MAX77686 provides three 32.768khz clock outputs that can be controlled + (gated/ungated) over I2C. The clock IDs are defined as preprocessor macros + in dt-bindings/clock/maxim,max77686.h. + +properties: + compatible: + const: maxim,max77686 + + '#clock-cells': + const: 1 + + interrupts: + maxItems: 1 + + reg: + maxItems: 1 + + voltage-regulators: + $ref: ../regulator/maxim,max77686.yaml + description: + List of child nodes that specify the regulators. + + wakeup-source: true + +required: + - compatible + - '#clock-cells' + - reg + +additionalProperties: false + +examples: + - | + #include <dt-bindings/gpio/gpio.h> + #include <dt-bindings/interrupt-controller/irq.h> + + i2c { + #address-cells = <1>; + #size-cells = <0>; + + max77686: pmic@9 { + compatible = "maxim,max77686"; + reg = <0x09>; + + interrupt-parent = <&gpx0>; + interrupts = <7 IRQ_TYPE_LEVEL_LOW>; + pinctrl-0 = <&max77686_irq>; + pinctrl-names = "default"; + wakeup-source; + #clock-cells = <1>; + + voltage-regulators { + LDO1 { + regulator-name = "VALIVE_1.0V_AP"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <1000000>; + regulator-always-on; + }; + + LDO2 { + regulator-name = "VM1M2_1.2V_AP"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-always-on; + maxim,ena-gpios = <&gpm0 3 GPIO_ACTIVE_HIGH>; + regulator-state-mem { + regulator-on-in-suspend; + }; + }; + + // ... + + BUCK1 { + regulator-name = "VDD_MIF"; + regulator-min-microvolt = <850000>; + regulator-max-microvolt = <1100000>; + regulator-always-on; + regulator-boot-on; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + BUCK2 { + regulator-name = "VDD_ARM"; + regulator-min-microvolt = <850000>; + regulator-max-microvolt = <1500000>; + regulator-always-on; + regulator-boot-on; + regulator-state-mem { + regulator-on-in-suspend; + }; + }; + + // ... + + 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/MAINTAINERS b/MAINTAINERS index 32b55f9ab76a..04e8554f4f5b 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -11468,7 +11468,6 @@ M: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> M: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> L: linux-kernel@vger.kernel.org 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 -- 2.30.2 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] mfd: dt-bindings: maxim,max77686: convert to dtschema 2021-09-28 14:13 ` [PATCH 2/2] mfd: " Krzysztof Kozlowski @ 2021-10-04 16:13 ` Rob Herring 0 siblings, 0 replies; 7+ messages in thread From: Rob Herring @ 2021-10-04 16:13 UTC (permalink / raw) To: Krzysztof Kozlowski Cc: Chanwoo Choi, Liam Girdwood, devicetree, linux-kernel, Rob Herring, Mark Brown, Lee Jones, Bartlomiej Zolnierkiewicz On Tue, 28 Sep 2021 16:13:53 +0200, Krzysztof Kozlowski wrote: > Convert the MFD part of Maxim MAX77686 PMIC to DT schema format. > > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com> > --- > .../devicetree/bindings/mfd/max77686.txt | 26 ---- > .../bindings/mfd/maxim,max77686.yaml | 124 ++++++++++++++++++ > MAINTAINERS | 1 - > 3 files changed, 124 insertions(+), 27 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/mfd/max77686.txt > create mode 100644 Documentation/devicetree/bindings/mfd/maxim,max77686.yaml > Reviewed-by: Rob Herring <robh@kernel.org> ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2021-10-08 12:09 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2021-09-28 14:13 [PATCH 0/2] mfd/regulator: dt-bindings: max77686: convert to dtschema Krzysztof Kozlowski 2021-09-28 14:13 ` [PATCH 1/2] regulator: dt-bindings: maxim,max77686: " Krzysztof Kozlowski 2021-09-29 13:42 ` Mark Brown 2021-10-04 15:07 ` Rob Herring 2021-10-08 12:09 ` Krzysztof Kozlowski 2021-09-28 14:13 ` [PATCH 2/2] mfd: " Krzysztof Kozlowski 2021-10-04 16:13 ` Rob Herring
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).