From: Rob Herring <robh@kernel.org>
To: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Lee Jones <lee@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Conor Dooley <conor+dt@kernel.org>,
Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>,
Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>,
devicetree@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH RFC] dt-bindings: mfd: ams,as3711: Convert to json-schema
Date: Tue, 24 Oct 2023 16:00:55 -0500 [thread overview]
Message-ID: <20231024210055.GB529288-robh@kernel.org> (raw)
In-Reply-To: <9af48b816f2b6397f5ada58a9b5ced85213e5194.1698085945.git.geert+renesas@glider.be>
On Mon, Oct 23, 2023 at 08:38:07PM +0200, Geert Uytterhoeven wrote:
> Convert the Austria MicroSystems AS3711 Quad Buck High Current PMIC with
> Charger Device Tree binding documentation to json-schema.
>
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> ---
> RFC, as I couldn't get the multiple dependencies right (see FIXMEs):
> 1. How to incorporate "su2-dev: [ su2-max-uA ]" and
> "su2-feedback-curr-auto: [ su2-dev ]"?
> 2. su2-dev requiring one of su2-fbprot-* does not seem to work?
>
> Anyone with better *Of foo? Thanks!
> ---
> .../devicetree/bindings/mfd/ams,as3711.yaml | 223 ++++++++++++++++++
> .../devicetree/bindings/mfd/as3711.txt | 73 ------
> 2 files changed, 223 insertions(+), 73 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/mfd/ams,as3711.yaml
> delete mode 100644 Documentation/devicetree/bindings/mfd/as3711.txt
>
> diff --git a/Documentation/devicetree/bindings/mfd/ams,as3711.yaml b/Documentation/devicetree/bindings/mfd/ams,as3711.yaml
> new file mode 100644
> index 0000000000000000..d9f08e017194c4f8
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/ams,as3711.yaml
> @@ -0,0 +1,223 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mfd/ams,as3711.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Austria MicroSystems AS3711 Quad Buck High Current PMIC with Charger
> +
> +maintainers:
> + - Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
> +
> +description:
> + AS3711 is an I2C PMIC from Austria MicroSystems with multiple DCDC and LDO
> + power supplies, a battery charger and an RTC. So far only bindings for the
> + two stepup DCDC converters are defined.
step-up?
> +
> +properties:
> + compatible:
> + const: ams,as3711
> +
> + reg:
> + maxItems: 1
> +
> + backlight:
> + description:
> + Step-up converter configuration, to be used as a backlight source
> + type: object
> + properties:
> + compatible:
> + const: ams,as3711-bl
> +
> + su1-dev:
> + description: Framebuffer phandle for the first step-up converter
> + $ref: /schemas/types.yaml#/definitions/phandle
> +
> + su1-max-uA:
> + description: Maximum current for the first step-up converter
> + $ref: /schemas/types.yaml#/definitions/uint32
> +
> + su2-dev:
> + description: Framebuffer phandle for the second step-up converter
> + $ref: /schemas/types.yaml#/definitions/phandle
> +
> + su2-max-uA:
> + description: Maximum current for the second step-up converter
> + $ref: /schemas/types.yaml#/definitions/uint32
> +
> + su2-feedback-voltage:
> + description: Second step-up converter uses voltage feedback
> + type: boolean
> +
> + su2-feedback-curr1:
> + description:
> + Second step-up converter uses CURR1 input for current feedback
> + type: boolean
> +
> + su2-feedback-curr2:
> + description:
> + Second step-up converter uses CURR2 input for current feedback
> + type: boolean
> +
> + su2-feedback-curr3:
> + description:
> + Second step-up converter uses CURR3 input for current feedback
> + type: boolean
> +
> + su2-feedback-curr-auto:
> + description:
> + Second step-up converter uses automatic current feedback selection
> + type: boolean
> +
> + su2-fbprot-lx-sd4:
> + description:
> + Second step-up converter uses LX_SD4 for over-voltage protection
> + type: boolean
> +
> + su2-fbprot-gpio2:
> + description:
> + Second step-up converter uses GPIO2 for over-voltage protection
> + type: boolean
> +
> + su2-fbprot-gpio3:
> + description:
> + Second step-up converter uses GPIO3 for over-voltage protection
> + type: boolean
> +
> + su2-fbprot-gpio4:
> + description:
> + Second step-up converter uses GPIO4 for over-voltage protection
> + type: boolean
> +
> + su2-auto-curr1:
> + description:
> + Second step-up converter uses CURR1 input for automatic current
> + feedback
> + type: boolean
> +
> + su2-auto-curr2:
> + description:
> + Second step-up converter uses CURR2 input for automatic current
> + feedback
> + type: boolean
> +
> + su2-auto-curr3:
> + description:
> + Second step-up converter uses CURR3 input for automatic current
> + feedback
> + type: boolean
> +
> + required:
> + - compatible
> +
> + dependencies:
> + # To use the SU1 converter as a backlight source the following two
> + # properties must be provided:
> + su1-dev: [ su1-max-uA ]
> + su1-max-uA: [ su1-dev ]
> +
> + # To use the SU2 converter as a backlight source the following two
> + # properties must be provided:
> + # FIXME How to incorporate "su2-dev: [ su2-max-uA ]"?
> + # FIXME su2-dev requiring one of su2-fbprot-* does not seem to work?
> + su2-dev:
> + allOf:
> + - oneOf:
> + - required:
> + - su2-feedback-voltage
> + - required:
> + - su2-feedback-curr1
> + - required:
> + - su2-feedback-curr2
> + - required:
> + - su2-feedback-curr3
> + - required:
> + - su2-feedback-curr-auto
> + - oneof:
> + - required:
> + - su2-fbprot-lx-sd4
> + - required:
> + - su2-fbprot-gpio2
> + - required:
> + - su2-fbprot-gpio3
> + - required:
> + - su2-fbprot-gpio4
> +
> + su2-max-uA: [ su2-dev ]
> + su2-feedback-voltage: [ su2-dev ]
> + su2-feedback-curr1: [ su2-dev ]
> + su2-feedback-curr2: [ su2-dev ]
> + su2-feedback-curr3: [ su2-dev ]
> + # FIXME How to incorporate "su2-feedback-curr-auto: [ su2-dev ]"?
> + su2-feedback-curr-auto:
> + anyOf:
> + - required:
> + - su2-auto-curr1
> + - required:
> + - su2-auto-curr2
> + - required:
> + - su2-auto-curr3
> + su2-fbprot-lx-sd4: [ su2-dev ]
> + su2-fbprot-gpio2: [ su2-dev ]
> + su2-fbprot-gpio3: [ su2-dev ]
> + su2-fbprot-gpio4: [ su2-dev ]
> + su2-auto-curr1: [ su2-feedback-curr-auto ]
> + su2-auto-curr2: [ su2-feedback-curr-auto ]
> + su2-auto-curr3: [ su2-feedback-curr-auto ]
> +
> + additionalProperties: false
Move this above 'properties'. Easier to read in the indented cases.
> +
> + regulators:
> + description: Other DCDC and LDO supplies
> + type: object
> + patternProperties:
> + "^(sd[1-4]|ldo[1-8])$":
> + type: object
> + $ref: /schemas/regulator/regulator.yaml#
> + unevaluatedProperties: false
> +
> + unevaluatedProperties: false
Same here, though this one is short.
> +
> +required:
> + - compatible
> + - reg
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + as3711@40 {
pmic@40
> + compatible = "ams,as3711";
> + reg = <0x40>;
> +
> + regulators {
> + sd4 {
> + regulator-name = "1.215V";
> + regulator-min-microvolt = <1215000>;
> + regulator-max-microvolt = <1235000>;
> + };
> + ldo2 {
> + regulator-name = "2.8V CPU";
> + regulator-min-microvolt = <2800000>;
> + regulator-max-microvolt = <2800000>;
> + regulator-always-on;
> + regulator-boot-on;
> + };
> + };
> +
> + backlight {
> + compatible = "ams,as3711-bl";
> + su2-dev = <&lcdc>;
> + su2-max-uA = <36000>;
> + su2-feedback-curr-auto;
> + su2-fbprot-gpio4;
> + su2-auto-curr1;
> + su2-auto-curr2;
> + su2-auto-curr3;
> + };
> + };
> + };
prev parent reply other threads:[~2023-10-24 21:01 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-23 18:38 [PATCH RFC] dt-bindings: mfd: ams,as3711: Convert to json-schema Geert Uytterhoeven
2023-10-24 20:58 ` Rob Herring
2023-10-24 21:00 ` Rob Herring [this message]
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=20231024210055.GB529288-robh@kernel.org \
--to=robh@kernel.org \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=geert+renesas@glider.be \
--cc=guennadi.liakhovetski@linux.intel.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=lee@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-renesas-soc@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.