On 08/09/2020 14:48:34-0600, Rob Herring wrote: > On Fri, Aug 21, 2020 at 12:55:43AM +0200, Alexandre Belloni wrote: > > Move the TCB pwm nodes under their parent and move its documentation to the > > main file. > > > > Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx> > > --- > > Cc: Rob Herring <robh+dt@xxxxxxxxxx> > > > > .../devicetree/bindings/pwm/atmel-tcb-pwm.txt | 16 ---------- > > .../soc/microchip/atmel,at91rm9200-tcb.yaml | 31 ++++++++++++++++++- > > 2 files changed, 30 insertions(+), 17 deletions(-) > > delete mode 100644 Documentation/devicetree/bindings/pwm/atmel-tcb-pwm.txt > > > > diff --git a/Documentation/devicetree/bindings/pwm/atmel-tcb-pwm.txt b/Documentation/devicetree/bindings/pwm/atmel-tcb-pwm.txt > > deleted file mode 100644 > > index 985fcc65f8c4..000000000000 > > --- a/Documentation/devicetree/bindings/pwm/atmel-tcb-pwm.txt > > +++ /dev/null > > @@ -1,16 +0,0 @@ > > -Atmel TCB PWM controller > > - > > -Required properties: > > -- compatible: should be "atmel,tcb-pwm" > > -- #pwm-cells: should be 3. See pwm.yaml in this directory for a description of > > - the cells format. The only third cell flag supported by this binding is > > - PWM_POLARITY_INVERTED. > > -- tc-block: The Timer Counter block to use as a PWM chip. > > What happened to 'tc-block'? Commit message should mention why it is > gone. > > > - > > -Example: > > - > > -pwm { > > - compatible = "atmel,tcb-pwm"; > > - #pwm-cells = <3>; > > - tc-block = <1>; > > -}; > > diff --git a/Documentation/devicetree/bindings/soc/microchip/atmel,at91rm9200-tcb.yaml b/Documentation/devicetree/bindings/soc/microchip/atmel,at91rm9200-tcb.yaml > > index 55fffae05dcf..a51adfdb58f6 100644 > > --- a/Documentation/devicetree/bindings/soc/microchip/atmel,at91rm9200-tcb.yaml > > +++ b/Documentation/devicetree/bindings/soc/microchip/atmel,at91rm9200-tcb.yaml > > @@ -59,6 +59,7 @@ patternProperties: > > items: > > - enum: > > - atmel,tcb-timer > > + - atmel,tcb-pwm > > - microchip,tcb-capture > > reg: > > description: > > @@ -68,11 +69,33 @@ patternProperties: > > > > minItems: 1 > > maxItems: 3 > > + required: > > + - compatible > > + - reg > > + > > + "^pwm@[0-2]$": > > + description: The timer block channels that are used as PWMs. > > + $ref: ../../pwm/pwm.yaml# > > + type: object > > + properties: > > + compatible: > > + const: atmel,tcb-pwm > > + reg: > > + description: > > + TCB channel to use for this PWM. > > enum: [ 0, 1, 2 ] > This does not work: Documentation/devicetree/bindings/soc/microchip/atmel,at91rm9200-tcb.yaml: patternProperties:^pwm@[0-2]$:properties:reg:enum: False schema does not allow [0, 1, 2] I guess it is because reg is of type uint32-matrix. I'm not sure there is a point in adding it in the first place since the unit-address is already limited to [0-2] and so reg will also be [0-2] > > + > > + maxItems: 1 > > + "#pwm-cells": > > + description: > > + The only third cell flag supported by this binding is > > + PWM_POLARITY_INVERTED. > > + const: 3 > > > > required: > > - compatible > > - reg > > additionalProperties: false > > > > > + > > allOf: > > - if: > > properties: > > @@ -158,7 +181,13 @@ examples: > > compatible = "atmel,tcb-timer"; > > reg = <1>; > > }; > > - }; > > + > > + pwm@2 { > > + compatible = "atmel,tcb-pwm"; > > + reg = <2>; > > + #pwm-cells = <3>; > > + }; > > + }; > > /* TCB0 Capture with QDEC: */ > > timer@f800c000 { > > compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon"; > > -- > > 2.26.2 > > -- Alexandre Belloni, Bootlin Embedded Linux and Kernel engineering https://bootlin.com