Message ID | 20200820225546.2246517-2-alexandre.belloni@bootlin.com |
---|---|
State | Changes Requested, archived |
Headers | show |
Series | pwm: atmel-tcb: rework device tree binding | expand |
Context | Check | Description |
---|---|---|
robh/checkpatch | warning | total: 0 errors, 2 warnings, 54 lines checked |
robh/dt-meta-schema | success |
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@bootlin.com> > --- > Cc: Rob Herring <robh+dt@kernel.org> > > .../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 ] > + > + 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 >
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@bootlin.com> > > --- > > Cc: Rob Herring <robh+dt@kernel.org> > > > > .../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 > >
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. - -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. + + maxItems: 1 + "#pwm-cells": + description: + The only third cell flag supported by this binding is + PWM_POLARITY_INVERTED. + const: 3 required: - compatible - reg + 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";
Move the TCB pwm nodes under their parent and move its documentation to the main file. Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> --- Cc: Rob Herring <robh+dt@kernel.org> .../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