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