Re: [PATCH 4/4] dt-bindings: mfd: Convert stm32 timers bindings to json-schema

From: Rob Herring
Date: Wed Nov 06 2019 - 18:33:21 EST


On Wed, Nov 6, 2019 at 1:57 PM Benjamin GAIGNARD
<benjamin.gaignard@xxxxxx> wrote:
>
>
> On 11/6/19 5:15 AM, Rob Herring wrote:
> > On Thu, Oct 31, 2019 at 01:30:40PM +0100, Benjamin Gaignard wrote:
> >> Convert the STM32 timers binding to DT schema format using json-schema
> >>
> >> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@xxxxxx>
> >> ---
> >> .../devicetree/bindings/mfd/st,stm32-timers.yaml | 91 ++++++++++++++++++++++
> >> .../devicetree/bindings/mfd/stm32-timers.txt | 73 -----------------
> >> 2 files changed, 91 insertions(+), 73 deletions(-)
> >> create mode 100644 Documentation/devicetree/bindings/mfd/st,stm32-timers.yaml
> >> delete mode 100644 Documentation/devicetree/bindings/mfd/stm32-timers.txt
> >>
> >> diff --git a/Documentation/devicetree/bindings/mfd/st,stm32-timers.yaml b/Documentation/devicetree/bindings/mfd/st,stm32-timers.yaml
> >> new file mode 100644
> >> index 000000000000..3f0a65fb2bc0
> >> --- /dev/null
> >> +++ b/Documentation/devicetree/bindings/mfd/st,stm32-timers.yaml
> >> @@ -0,0 +1,91 @@
> >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> >> +%YAML 1.2
> >> +---
> >> +$id: http://devicetree.org/schemas/mfd/st,stm32-timers.yaml#
> >> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> >> +
> >> +title: STMicroelectronics STM32 Timers bindings
> >> +
> >> +description: |
> >> + This hardware block provides 3 types of timer along with PWM functionality: \
> > Don't need the \
> ok
> >
> >> + - advanced-control timers consist of a 16-bit auto-reload counter driven by a programmable \
> >> + prescaler, break input feature, PWM outputs and complementary PWM ouputs channels. \
> >> + - general-purpose timers consist of a 16-bit or 32-bit auto-reload counter driven by a \
> >> + programmable prescaler and PWM outputs.\
> >> + - basic timers consist of a 16-bit auto-reload counter driven by a programmable prescaler.
> >> +
> >> +maintainers:
> >> + - Benjamin Gaignard <benjamin.gaignard@xxxxxx>
> >> + - Fabrice Gasnier <fabrice.gasnier@xxxxxx>
> >> +
> >> +allOf:
> >> + - $ref: "../pwm/st,stm32-pwm.yaml#"
> >> + - $ref: "../iio/timer/st,stm32-timer-trigger.yaml#"
> >> + - $ref: "../counter/st,stm32-timer-cnt.yaml#"
> > This works, but I prefer the child node names be listed under properties
> > here with a ref:
> >
> > counter:
> > $ref: "../counter/st,stm32-timer-cnt.yaml#"
> If I wrote everything in one file I guess what won't be needed anymore
> >
> >> +
> >> +properties:
> >> + compatible:
> >> + const: st,stm32-timers
> >> +
> >> + reg:
> >> + maxItems: 1
> >> +
> >> + clocks:
> >> + maxItems: 1
> >> +
> >> + clock-names:
> >> + items:
> >> + - const: int
> >> +
> >> + reset:
> >> + maxItems: 1
> >> +
> >> + dmas: true
> > How many?
>
> from 0 up to 8, but I don't know the syntax for that. minItems = 0 isn't
> accepted.
>
> Any hints for me ?

0 is not accepted because the property is never 0 items. 0 is not
present. So just:

minItems: 1
maxItems: 8


> >> +
> >> + dma-names: true
> > What are the names?
>
> it could be ch1 ... ch8, "trig" or "up" in any order.

Why does it need to be in any order? Normally we don't want to have that.

>
> Again I haven't be able to find a syntax that allow to list the names
> and use them in any orders.

dma-names:
items:
enum: [ ch1, ch2, ..., trig, up ]

Rob