All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Cc: Lee Jones <lee.jones@linaro.org>,
	Chanwoo Choi <cw00.choi@samsung.com>,
	Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/2] regulator: dt-bindings: maxim,max77686: convert to dtschema
Date: Mon, 4 Oct 2021 10:07:24 -0500	[thread overview]
Message-ID: <YVsYrLPx0trUI17D@robh.at.kernel.org> (raw)
In-Reply-To: <20210928141353.112619-2-krzysztof.kozlowski@canonical.com>

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
> 
> 

  parent reply	other threads:[~2021-10-04 15:07 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YVsYrLPx0trUI17D@robh.at.kernel.org \
    --to=robh@kernel.org \
    --cc=b.zolnierkie@samsung.com \
    --cc=broonie@kernel.org \
    --cc=cw00.choi@samsung.com \
    --cc=devicetree@vger.kernel.org \
    --cc=krzysztof.kozlowski@canonical.com \
    --cc=lee.jones@linaro.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.