On 28/05/2024 08:57, Andreas Kemnade wrote: > Convert the regulator bindings to yaml files. To allow only the regulator > compatible corresponding to the toplevel mfd compatible, split the file > into one per device. > > To not need to allow any subnode name, specify clearly node names > for all the regulators. > > Drop one twl5030 compatible due to no documentation on mfd side and no > users of the twl5030. > > Signed-off-by: Andreas Kemnade <andreas@xxxxxxxxxxxx> > --- > Reason for being RFC: > the integration into ti,twl.yaml seems not to work as expected > make dt_binding_check crashes without any clear error message > if used on the ti,twl.yaml > > .../devicetree/bindings/mfd/ti,twl.yaml | 4 +- > .../regulator/ti,twl4030-regulator.yaml | 402 ++++++++++++++++++ > .../regulator/ti,twl6030-regulator.yaml | 292 +++++++++++++ > .../regulator/ti,twl6032-regulator.yaml | 238 +++++++++++ > .../bindings/regulator/twl-regulator.txt | 80 ---- > 5 files changed, 935 insertions(+), 81 deletions(-) > create mode 100644 Documentation/devicetree/bindings/regulator/ti,twl4030-regulator.yaml > create mode 100644 Documentation/devicetree/bindings/regulator/ti,twl6030-regulator.yaml > create mode 100644 Documentation/devicetree/bindings/regulator/ti,twl6032-regulator.yaml > delete mode 100644 Documentation/devicetree/bindings/regulator/twl-regulator.txt > > diff --git a/Documentation/devicetree/bindings/mfd/ti,twl.yaml b/Documentation/devicetree/bindings/mfd/ti,twl.yaml > index c2357fecb56cc..4ced6e471d338 100644 > --- a/Documentation/devicetree/bindings/mfd/ti,twl.yaml > +++ b/Documentation/devicetree/bindings/mfd/ti,twl.yaml > @@ -50,7 +50,7 @@ allOf: > properties: > compatible: > const: ti,twl4030-wdt > - > + $ref: /schemas/regulator/ti,twl4030-regulator.yaml That's not needed, just like othehr refs below. > - if: > properties: > compatible: > @@ -63,6 +63,7 @@ allOf: > properties: > compatible: > const: ti,twl6030-gpadc > + $ref: /schemas/regulator/ti,twl6030-regulator.yaml > - if: > properties: > compatible: > @@ -75,6 +76,7 @@ allOf: > properties: > compatible: > const: ti,twl6032-gpadc > + $ref: /schemas/regulator/ti,twl6032-regulator.yaml > > properties: > compatible: > diff --git a/Documentation/devicetree/bindings/regulator/ti,twl4030-regulator.yaml b/Documentation/devicetree/bindings/regulator/ti,twl4030-regulator.yaml > new file mode 100644 > index 0000000000000..9623c110605ef > --- /dev/null > +++ b/Documentation/devicetree/bindings/regulator/ti,twl4030-regulator.yaml > @@ -0,0 +1,402 @@ > +# SPDX-License-Identifier: (GPL-2.0) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/regulator/ti,twl4030-regulator.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Regulators in the TWL4030 PMIC > + > +maintainers: > + - Andreas Kemnade <andreas@xxxxxxxxxxxx> > + > +properties: > + regulator-vaux1: > + type: object > + $ref: regulator.yaml# > + unevaluatedProperties: false > + properties: > + compatible: > + const: "ti,twl4030-vaux1" No quotes > + > + regulator-initial-mode: > + items: > + - items: > + enum: > + - 0x08 # Sleep mode, the nominal output voltage is maintained > + # with low power consumption with low load current capability > + - 0x0e # Active mode, the regulator can deliver its nominal output > + # voltage with full-load current capability > + > + required: > + - compatible > + > + regulator-vaux2: > + type: object > + $ref: regulator.yaml# > + unevaluatedProperties: false > + properties: > + compatible: > + const: "ti,twl4030-vaux2" > + > + regulator-initial-mode: > + items: > + - items: > + enum: > + - 0x08 # Sleep mode, the nominal output voltage is maintained > + # with low power consumption with low load current capability > + - 0x0e # Active mode, the regulator can deliver its nominal output > + # voltage with full-load current capability These entries are the same. Just use patternProperties and enum for compatible. Best regards, Krzysztof