Re: [PATCH 1/2] regulator: dt-bindings: maxim,max77686: convert to dtschema

From: Krzysztof Kozlowski
Date: Fri Oct 08 2021 - 08:09:31 EST


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