Re: [PATCH 1/6] dt-bindings: mfd: brcm,bcm59056: Convert to YAML

From: Krzysztof Kozlowski
Date: Tue Oct 31 2023 - 01:52:40 EST


On 30/10/2023 20:36, Artur Weber wrote:
> Convert devicetree bindings for the Broadcom BCM59056 PMU MFD from
> TXT to YAML format. This patch does not change any functionality;
> the bindings remain the same.
>
> Signed-off-by: Artur Weber <aweber.kernel@xxxxxxxxx>
> ---
> .../devicetree/bindings/mfd/brcm,bcm59056.txt | 39 ----------
> .../devicetree/bindings/mfd/brcm,bcm59056.yaml | 91 ++++++++++++++++++++++
> 2 files changed, 91 insertions(+), 39 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/mfd/brcm,bcm59056.txt b/Documentation/devicetree/bindings/mfd/brcm,bcm59056.txt
> deleted file mode 100644
> index be51a15e05f9..000000000000
> --- a/Documentation/devicetree/bindings/mfd/brcm,bcm59056.txt
> +++ /dev/null
> @@ -1,39 +0,0 @@
> --------------------------------
> -BCM590xx Power Management Units
> --------------------------------
> -
> -Required properties:
> -- compatible: "brcm,bcm59056"
> -- reg: I2C slave address
> -- interrupts: interrupt for the PMU. Generic interrupt client node bindings
> - are described in interrupt-controller/interrupts.txt
> -
> -------------------
> -Voltage Regulators
> -------------------
> -
> -Optional child nodes:
> -- regulators: container node for regulators following the generic
> - regulator binding in regulator/regulator.txt
> -
> - The valid regulator node names for BCM59056 are:
> - rfldo, camldo1, camldo2, simldo1, simldo2, sdldo, sdxldo,
> - mmcldo1, mmcldo2, audldo, micldo, usbldo, vibldo,
> - csr, iosr1, iosr2, msr, sdsr1, sdsr2, vsr,
> - gpldo1, gpldo2, gpldo3, gpldo4, gpldo5, gpldo6,
> - vbus
> -
> -Example:
> - pmu: bcm59056@8 {
> - compatible = "brcm,bcm59056";
> - reg = <0x08>;
> - interrupts = <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>;
> - regulators {
> - rfldo_reg: rfldo {
> - regulator-min-microvolt = <1200000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - ...
> - };
> - };
> diff --git a/Documentation/devicetree/bindings/mfd/brcm,bcm59056.yaml b/Documentation/devicetree/bindings/mfd/brcm,bcm59056.yaml
> new file mode 100644
> index 000000000000..6d6acc9fd312
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/brcm,bcm59056.yaml
> @@ -0,0 +1,91 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mfd/brcm,bcm59056.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: BCM590xx Power Management Unit MFD

Drop "MFD". That's Linux term.

> +
> +maintainers:
> + - Artur Weber <aweber.kernel@xxxxxxxxx>
> +
> +properties:
> + compatible:
> + enum:
> + - "brcm,bcm59056"

No quotes. Please copy some existing DT schema as your template. None of
them use such syntax.

> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +

There is no other feature here, so this should go to regulators directory.

> + regulators:
> + type: object
> + description: Container node for regulators.
> +
> + # The valid regulator node names for BCM59056 are:
> + # rfldo, camldo1, camldo2, simldo1, simldo2, sdldo, sdxldo,
> + # mmcldo1, mmcldo2, audldo, micldo, usbldo, vibldo,
> + # csr, iosr1, iosr2, msr, sdsr1, sdsr2, vsr,
> + # gpldo1, gpldo2, gpldo3, gpldo4, gpldo5, gpldo6,
> + # vbus
> + patternProperties:
> + "^(cam|sim|mmc)ldo[1-2]$":
> + type: object
> + $ref: /schemas/regulator/regulator.yaml#
> + unevaluatedProperties: false
> +
> + "^(rf|sd|sdx|aud|mic|usb|vib)ldo$":
> + type: object
> + $ref: /schemas/regulator/regulator.yaml#
> + unevaluatedProperties: false
> +
> + "^(c|m|v)sr$":
> + type: object
> + $ref: /schemas/regulator/regulator.yaml#
> + unevaluatedProperties: false
> +
> + "^(io|sd)sr[1-2]$":
> + type: object
> + $ref: /schemas/regulator/regulator.yaml#
> + unevaluatedProperties: false
> +
> + "^gpldo[1-6]$":
> + type: object
> + $ref: /schemas/regulator/regulator.yaml#
> + unevaluatedProperties: false
> +
> + properties:
> + "vbus":

Drop quotes

> + type: object
> + $ref: /schemas/regulator/regulator.yaml#
> + unevaluatedProperties: false
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/irq.h>
> +
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + pmu: bcm59056@8 {

Generic node names, so "pmic". You can also drop unused label.


> + compatible = "brcm,bcm59056";
> + reg = <0x08>;
> + interrupts = <0 215 IRQ_TYPE_LEVEL_HIGH>;

Does 0 stand for some GIC flag?

> + regulators {
> + rfldo_reg: rfldo {
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <3300000>;
> + };
> + };
> + };
> + };
>

Best regards,
Krzysztof