Re: [PATCH v4 1/3] dt-bindings: mfd: lp87565: convert to yaml

From: Rob Herring
Date: Tue Aug 25 2020 - 15:14:27 EST


On Mon, Aug 17, 2020 at 04:50:16PM +0200, Luca Ceresoli wrote:
> The definition of "xxx-in-supply" was generic, thus define in detail the
> possible cases for each chip variant.
>
> While there also apply a few smaller improvements:
>
> - document that the only possible I2C slave address is 0x60 as per the
> datasheet and fix the second example accordingly
> - remove "MFD driver" from the title as it is implementation specific
> - replace "PMIC" with "buck converter" in title as it is more informative
>
> Signed-off-by: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx>
>
> ---
>
> Changes in v4:
> - split in two different bindings (Rob)
> - remove "MFD driver" from title as it is implementation specific; also
> replace "PMIC" with "buck converter" which is more informative
>
> Changes in v3:
> - fix yaml errors
>
> Changes in v2:
> - this patch replaces patch "regulator: lp87565: dt: remove duplicated
> section" in RFC,v1 (Rob Herring)
> - use capital letters consistently (Lee Jones)
> - replace "regulator" -> "mfd" in subject line (Lee Jones)
> - replace "dt:" suffix with "dt-bindings:" prefix in subject line
> ---
> .../devicetree/bindings/mfd/lp87565.txt | 79 -----------------
> .../bindings/mfd/ti,lp87561-q1.yaml | 68 +++++++++++++++
> .../bindings/mfd/ti,lp87565-q1.yaml | 85 +++++++++++++++++++
> 3 files changed, 153 insertions(+), 79 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/mfd/lp87565.txt
> create mode 100644 Documentation/devicetree/bindings/mfd/ti,lp87561-q1.yaml
> create mode 100644 Documentation/devicetree/bindings/mfd/ti,lp87565-q1.yaml

[...]

> diff --git a/Documentation/devicetree/bindings/mfd/ti,lp87561-q1.yaml b/Documentation/devicetree/bindings/mfd/ti,lp87561-q1.yaml
> new file mode 100644
> index 000000000000..c0c56e9e5a06
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/ti,lp87561-q1.yaml
> @@ -0,0 +1,68 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mfd/ti,lp87561-q1.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: TI LP87561-Q1 single 4-phase output buck converter
> +
> +maintainers:
> + - Keerthy <j-keerthy@xxxxxx>
> +
> +properties:
> + compatible:
> + const: ti,lp87561-q1
> +
> + reg:
> + description: I2C slave address
> + const: 0x60
> +
> + gpio-controller: true
> +
> + '#gpio-cells':
> + description:
> + The first cell is the pin number.
> + The second cell is is used to specify flags.
> + See ../gpio/gpio.txt for more information.
> + const: 2
> +
> + buck3210-in-supply:
> + description:
> + Phandle to parent supply node for all the four BUCK converters.
> +
> +required:
> + - compatible
> + - reg
> + - gpio-controller
> + - '#gpio-cells'
> + - buck3210-in-supply

additionalProperties: false

> +
> +examples:
> + - |
> + i2c@0 {
> + reg = <0x0 0x100>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + pmic@60 {
> + compatible = "ti,lp87561-q1";
> + reg = <0x60>;
> + gpio-controller;
> + #gpio-cells = <2>;
> +
> + buck3210-in-supply = <&vsys_3v3>;
> +
> + regulators {
> + buck3210_reg: buck3210 {

This needs to be described:

regulators:
type: object

properties:
buck3210:
type: object
$ref: /schemas/regulators/regulators.yaml#

required:
- buck3210

additionalProperties: false


> + /* VDD_CORE */
> + regulator-name = "buck3210";
> + regulator-min-microvolt = <800000>;
> + regulator-max-microvolt = <800000>;
> + regulator-always-on;
> + regulator-boot-on;
> + };
> + };
> + };
> + };
> +
> +...
> diff --git a/Documentation/devicetree/bindings/mfd/ti,lp87565-q1.yaml b/Documentation/devicetree/bindings/mfd/ti,lp87565-q1.yaml
> new file mode 100644
> index 000000000000..1eafe0fb90cc
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/ti,lp87565-q1.yaml
> @@ -0,0 +1,85 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mfd/ti,lp87565-q1.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: TI LP87565-Q1 / LP87565 dual 2-phase output buck converter
> +
> +maintainers:
> + - Keerthy <j-keerthy@xxxxxx>
> +
> +properties:
> + compatible:
> + oneOf:
> + - const: ti,lp87565
> + - const: ti,lp87565-q1
> +
> + reg:
> + description: I2C slave address
> + const: 0x60
> +
> + gpio-controller: true
> +
> + '#gpio-cells':
> + description:
> + The first cell is the pin number.
> + The second cell is is used to specify flags.
> + See ../gpio/gpio.txt for more information.
> + const: 2
> +
> + buck10-in-supply:
> + description:
> + Phandle to parent supply node for BUCK0 and BUCK1 converters.
> +
> + buck23-in-supply:
> + description:
> + Phandle to parent supply node for BUCK2 and BUCK3 converters.
> +
> +required:
> + - compatible
> + - reg
> + - gpio-controller
> + - '#gpio-cells'
> + - buck10-in-supply
> + - buck23-in-supply
> +
> +examples:
> + - |
> + i2c@0 {
> + reg = <0x0 0x100>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + pmic@60 {
> + compatible = "ti,lp87565-q1";
> + reg = <0x60>;
> + gpio-controller;
> + #gpio-cells = <2>;
> +
> + buck10-in-supply = <&vsys_3v3>;
> + buck23-in-supply = <&vsys_3v3>;
> +
> + regulators {
> + buck10_reg: buck10 {
> + /* VDD_MPU */
> + regulator-name = "buck10";
> + regulator-min-microvolt = <850000>;
> + regulator-max-microvolt = <1250000>;
> + regulator-always-on;
> + regulator-boot-on;
> + };
> +
> + buck23_reg: buck23 {
> + /* VDD_GPU */
> + regulator-name = "buck23";
> + regulator-min-microvolt = <850000>;
> + regulator-max-microvolt = <1250000>;
> + regulator-boot-on;
> + regulator-always-on;
> + };
> + };
> + };
> + };
> +
> +...
> --
> 2.28.0
>