Re: [PATCH v3 2/7] dt-bindings: mfd: brcm,bcm59056: Add compatible for BCM59054
From: Krzysztof Kozlowski <krzk@kernel.org>
Date: 2025-02-02 13:24:26
Also in:
linux-devicetree, lkml
On Fri, Jan 31, 2025 at 07:13:50PM +0100, Artur Weber wrote:
quoted hunk ↗ jump to hunk
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@gmail.com> --- 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 [off-list ref] + +# 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