Re: [PATCH v3 2/7] dt-bindings: mfd: brcm,bcm59056: Add compatible for BCM59054
From: Krzysztof Kozlowski
Date: Sun Feb 02 2025 - 08:24:33 EST
On Fri, Jan 31, 2025 at 07:13:50PM +0100, Artur Weber wrote:
> The BCM59054 MFD is fairly similar to the BCM59056, and will use
> the same driver. Add compatible and specify the allowed regulator
> nodes.
>
> Signed-off-by: Artur Weber <aweber.kernel@xxxxxxxxx>
> ---
> Changes in v3:
> - Split regulator node into separate file
> - Removed quotes around compatible
> ---
> .../devicetree/bindings/mfd/brcm,bcm59056.yaml | 26 +++++++++-
> .../bindings/regulator/brcm,bcm59054.yaml | 55 ++++++++++++++++++++++
> 2 files changed, 79 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/mfd/brcm,bcm59056.yaml b/Documentation/devicetree/bindings/mfd/brcm,bcm59056.yaml
> index 3296799eb452fca2a4b03699fcb5aa27005a8e8d..87d663416ed9e7f5ec4aa25c1aa2d9e650c42e2c 100644
> --- a/Documentation/devicetree/bindings/mfd/brcm,bcm59056.yaml
> +++ b/Documentation/devicetree/bindings/mfd/brcm,bcm59056.yaml
> @@ -11,7 +11,9 @@ maintainers:
>
> properties:
> compatible:
> - const: brcm,bcm59056
> + enum:
> + - brcm,bcm59054
> + - brcm,bcm59056
>
> reg:
> maxItems: 1
> @@ -22,7 +24,6 @@ properties:
> regulators:
> type: object
> description: Container node for regulators.
> - $ref: ../regulator/brcm,bcm59056.yaml
Refs should rather stay here, so I don't think keeping these devices in
one binding makes it simpler.
Simpler - drop ref and add properties compatible with enum for your
regulator compatibles.
...
> +$id: http://devicetree.org/schemas/regulator/brcm,bcm59054.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Broadcom BCM59054 Power Management IC regulators
> +
> +description: |
> + This is a part of device tree bindings for the BCM590XX family of power
> + management ICs.
> +
> + See also Documentation/devicetree/bindings/mfd/brcm,bcm59056.yaml for
> + additional information and example.
> +
> +maintainers:
> + - Artur Weber <aweber.kernel@xxxxxxxxx>
> +
> +# The valid regulator node names for BCM59054 are:
> +# rfldo, camldo1, camldo2, simldo1, simldo2, sdldo, sdxldo,
> +# mmcldo1, mmcldo2, audldo, micldo, usbldo, vibldo,
> +# csr, iosr1, iosr2, mmsr, sdsr1, sdsr2, vsr,
> +# gpldo1, gpldo2, gpldo3, tcxldo, lvldo1, lvldo2
> +
> +patternProperties:
> + "^(cam|sim|mmc)ldo[1-2]$":
> + type: object
Missin unevaluatedProperties everywhere. Look how other bindings do it.
> + $ref: /schemas/regulator/regulator.yaml#
> +
> + "^(rf|sd|sdx|aud|mic|usb|vib|tcx)ldo$":
> + type: object
> + $ref: /schemas/regulator/regulator.yaml#
> +
> + "^(c|mm|v)sr$":
> + type: object
> + $ref: /schemas/regulator/regulator.yaml#
> +
> + "^(io|sd)sr[1-2]$":
> + type: object
> + $ref: /schemas/regulator/regulator.yaml#
> +
> + "^gpldo[1-3]$":
> + type: object
> + $ref: /schemas/regulator/regulator.yaml#
> +
> + "^lvldo[1-2]$":
> + type: object
> + $ref: /schemas/regulator/regulator.yaml#
> +
> +properties:
> + "vbus":
No quotes.
Best regards,
Krzysztof