On 16/02/2023 12:44, Julien Panis wrote: > TPS6594 is a Power Management IC which provides regulators and others Subject: drop second/last, redundant "DT bindings for". The "dt-bindings" prefix is already stating that these are bindings. > features like GPIOs, RTC, watchdog, ESMs (Error Signal Monitor), and > PFSM (Pre-configurable Finite State Machine) managing the state of the > device. > TPS6594 is the super-set device while TPS6593 and LP8764X are derivatives. > > Signed-off-by: Julien Panis <jpanis@xxxxxxxxxxxx> > --- > .../devicetree/bindings/mfd/ti,tps6594.yaml | 164 ++++++++++++++++++ > 1 file changed, 164 insertions(+) > create mode 100644 Documentation/devicetree/bindings/mfd/ti,tps6594.yaml > > diff --git a/Documentation/devicetree/bindings/mfd/ti,tps6594.yaml b/Documentation/devicetree/bindings/mfd/ti,tps6594.yaml > new file mode 100644 > index 000000000000..37968d6c0420 > --- /dev/null > +++ b/Documentation/devicetree/bindings/mfd/ti,tps6594.yaml > @@ -0,0 +1,164 @@ > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/mfd/ti,tps6594.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: TI TPS6594 Power Management Integrated Circuit > + > +maintainers: > + - Julien Panis <jpanis@xxxxxxxxxxxx> > + > +description: | > + TPS6594 is a Power Management IC which provides regulators and others > + features like GPIOs, RTC, watchdog, ESMs (Error Signal Monitor), and > + PFSM (Pre-configurable Finite State Machine) managing the state of the device. > + TPS6594 is the super-set device while TPS6593 and LP8764X are derivatives. > + > +properties: > + compatible: > + enum: > + - ti,tps6594 > + - ti,tps6593 > + - ti,lp8764x Any particular choice of ordering (different than alphabetical)? > + > + reg: > + description: I2C slave address or SPI chip select number. > + maxItems: 1 > + > + ti,use-crc: > + type: boolean > + description: If true, use CRC for I2C and SPI interface protocols. Hm, why different boards would like to enable or disable it? Why this suits DT? > + > + system-power-controller: true > + > + interrupts: > + maxItems: 1 > + > + ti,multi-phase-id: > + description: | > + Describes buck multi-phase configuration, if any. For instance, XY id means > + that outputs of buck converters X and Y are combined in multi-phase mode. > + $ref: /schemas/types.yaml#/definitions/uint32 > + enum: [12, 34, 123, 1234] > + > +patternProperties: > + "^buck([1-5]|12|34|123|1234)-supply$": > + description: Input supply phandle for each buck. > + > + "^ldo[1-4]-supply$": > + description: Input supply phandle for each ldo. > + > + regulators: This should go to properties, not patternProperties. > + type: object > + description: List of regulators provided by this controller. > + > + patternProperties: > + "^buck([1-5]|12|34|123|1234)$": > + type: object > + $ref: /schemas/regulator/regulator.yaml# > + > + unevaluatedProperties: false > + > + "^ldo[1-4]$": > + type: object > + $ref: /schemas/regulator/regulator.yaml# > + > + unevaluatedProperties: false > + You could add here - on this level - of indentation allOf:if for excluding setups if: required: - buck12 then: properties: buck123: false buck1234: false Or, if you want to require regulator then: oneOf: - required: - buck12 - required: - buck123 - required: - buck1234 and anyway exclude buck34 with two above. > + additionalProperties: false > + > +required: > + - compatible > + - reg > + - interrupts > + > +additionalProperties: false Best regards, Krzysztof