Message ID | 20191009224006.5021-2-alexandre.belloni@bootlin.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | clocksource/drivers/timer-atmel-tcb: add sama5d2 support | expand |
On Thu, Oct 10, 2019 at 12:39:59AM +0200, Alexandre Belloni wrote: > Convert Atmel Timer Counter Blocks bindings to DT schema format using > json-schema. > > Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> > --- > Cc: Rob Herring <robh+dt@kernel.org> > > .../bindings/mfd/atmel,at91rm9200-tcb.yaml | 89 +++++++++++++++++++ > .../devicetree/bindings/mfd/atmel-tcb.txt | 56 ------------ > 2 files changed, 89 insertions(+), 56 deletions(-) > create mode 100644 Documentation/devicetree/bindings/mfd/atmel,at91rm9200-tcb.yaml > delete mode 100644 Documentation/devicetree/bindings/mfd/atmel-tcb.txt > > diff --git a/Documentation/devicetree/bindings/mfd/atmel,at91rm9200-tcb.yaml b/Documentation/devicetree/bindings/mfd/atmel,at91rm9200-tcb.yaml > new file mode 100644 > index 000000000000..4d9247fc0593 > --- /dev/null > +++ b/Documentation/devicetree/bindings/mfd/atmel,at91rm9200-tcb.yaml > @@ -0,0 +1,89 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: "http://devicetree.org/schemas/mfd/atmel,at91rm9200-tcb.yaml#" > +$schema: "http://devicetree.org/meta-schemas/core.yaml#" > + > +title: Atmel Timer Counter Block > + > +maintainers: > + - Alexandre Belloni <alexandre.belloni@bootlin.com> > + > +description: | > + The Atmel (now Microchip) SoCs have timers named Timer Counter Block. Each > + timer has three channels with two counters each. > + > +properties: > + compatible: > + items: > + - enum: > + - atmel,at91rm9200-tcb > + - atmel,at91sam9x5-tcb > + - const: simple-mfd > + - const: syscon > + > + reg: > + maxItems: 1 > + > + interrupts: > + description: > + List of interrupts. One interrupt per TCB channel if available or one > + interrupt for the TC block > + minItems: 1 > + maxItems: 3 > + > + clock-names: > + description: > + List of clock names. Always includes t0_clk and slow clk. Also includes > + t1_clk and t2_clk if a clock per channel is available. > + minItems: 2 > + maxItems: 4 > + items: > + enum: > + - t0_clk > + - t1_clk > + - t2_clk > + - slow_clk > + > + clocks: > + minItems: 2 > + maxItems: 4 > + > + '#address-cells': > + const: 1 > + > + '#size-cells': > + const: 0 What happened to the child nodes? > + > +required: > + - compatible > + - reg > + - interrupts > + - clocks > + - clock-names > + - '#address-cells' > + - '#size-cells' > + > +examples: > + - | > + /* One interrupt per TC block: */ > + tcb0: timer@fff7c000 { > + compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon"; > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <0xfff7c000 0x100>; > + interrupts = <18 4>; > + clocks = <&tcb0_clk>, <&clk32k>; > + clock-names = "t0_clk", "slow_clk"; > + }; > + > + /* One interrupt per TC channel in a TC block: */ > + tcb1: timer@fffdc000 { > + compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon"; > + #address-cells = <1>; > + #size-cells = <0>; > + reg = <0xfffdc000 0x100>; > + interrupts = <26 4>, <27 4>, <28 4>; > + clocks = <&tcb1_clk>, <&clk32k>; > + clock-names = "t0_clk", "slow_clk"; > + }; > diff --git a/Documentation/devicetree/bindings/mfd/atmel-tcb.txt b/Documentation/devicetree/bindings/mfd/atmel-tcb.txt > deleted file mode 100644 > index c4a83e364cb6..000000000000 > --- a/Documentation/devicetree/bindings/mfd/atmel-tcb.txt > +++ /dev/null > @@ -1,56 +0,0 @@ > -* Device tree bindings for Atmel Timer Counter Blocks > -- compatible: Should be "atmel,<chip>-tcb", "simple-mfd", "syscon". > - <chip> can be "at91rm9200" or "at91sam9x5" > -- reg: Should contain registers location and length > -- #address-cells: has to be 1 > -- #size-cells: has to be 0 > -- interrupts: Should contain all interrupts for the TC block > - Note that you can specify several interrupt cells if the TC > - block has one interrupt per channel. > -- clock-names: tuple listing input clock names. > - Required elements: "t0_clk", "slow_clk" > - Optional elements: "t1_clk", "t2_clk" > -- clocks: phandles to input clocks. > - > -The TCB can expose multiple subdevices: > - * a timer > - - compatible: Should be "atmel,tcb-timer" > - - reg: Should contain the TCB channels to be used. If the > - counter width is 16 bits (at91rm9200-tcb), two consecutive > - channels are needed. Else, only one channel will be used. > - > -Examples: > - > -One interrupt per TC block: > - tcb0: timer@fff7c000 { > - compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon"; > - #address-cells = <1>; > - #size-cells = <0>; > - reg = <0xfff7c000 0x100>; > - interrupts = <18 4>; > - clocks = <&tcb0_clk>, <&clk32k>; > - clock-names = "t0_clk", "slow_clk"; > - > - timer@0 { > - compatible = "atmel,tcb-timer"; > - reg = <0>, <1>; > - }; > - > - timer@2 { > - compatible = "atmel,tcb-timer"; > - reg = <2>; > - }; > - }; > - > -One interrupt per TC channel in a TC block: > - tcb1: timer@fffdc000 { > - compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon"; > - #address-cells = <1>; > - #size-cells = <0>; > - reg = <0xfffdc000 0x100>; > - interrupts = <26 4>, <27 4>, <28 4>; > - clocks = <&tcb1_clk>, <&clk32k>; > - clock-names = "t0_clk", "slow_clk"; > - }; > - > - > -- > 2.21.0 >
diff --git a/Documentation/devicetree/bindings/mfd/atmel,at91rm9200-tcb.yaml b/Documentation/devicetree/bindings/mfd/atmel,at91rm9200-tcb.yaml new file mode 100644 index 000000000000..4d9247fc0593 --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/atmel,at91rm9200-tcb.yaml @@ -0,0 +1,89 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: "http://devicetree.org/schemas/mfd/atmel,at91rm9200-tcb.yaml#" +$schema: "http://devicetree.org/meta-schemas/core.yaml#" + +title: Atmel Timer Counter Block + +maintainers: + - Alexandre Belloni <alexandre.belloni@bootlin.com> + +description: | + The Atmel (now Microchip) SoCs have timers named Timer Counter Block. Each + timer has three channels with two counters each. + +properties: + compatible: + items: + - enum: + - atmel,at91rm9200-tcb + - atmel,at91sam9x5-tcb + - const: simple-mfd + - const: syscon + + reg: + maxItems: 1 + + interrupts: + description: + List of interrupts. One interrupt per TCB channel if available or one + interrupt for the TC block + minItems: 1 + maxItems: 3 + + clock-names: + description: + List of clock names. Always includes t0_clk and slow clk. Also includes + t1_clk and t2_clk if a clock per channel is available. + minItems: 2 + maxItems: 4 + items: + enum: + - t0_clk + - t1_clk + - t2_clk + - slow_clk + + clocks: + minItems: 2 + maxItems: 4 + + '#address-cells': + const: 1 + + '#size-cells': + const: 0 + +required: + - compatible + - reg + - interrupts + - clocks + - clock-names + - '#address-cells' + - '#size-cells' + +examples: + - | + /* One interrupt per TC block: */ + tcb0: timer@fff7c000 { + compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0xfff7c000 0x100>; + interrupts = <18 4>; + clocks = <&tcb0_clk>, <&clk32k>; + clock-names = "t0_clk", "slow_clk"; + }; + + /* One interrupt per TC channel in a TC block: */ + tcb1: timer@fffdc000 { + compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0xfffdc000 0x100>; + interrupts = <26 4>, <27 4>, <28 4>; + clocks = <&tcb1_clk>, <&clk32k>; + clock-names = "t0_clk", "slow_clk"; + }; diff --git a/Documentation/devicetree/bindings/mfd/atmel-tcb.txt b/Documentation/devicetree/bindings/mfd/atmel-tcb.txt deleted file mode 100644 index c4a83e364cb6..000000000000 --- a/Documentation/devicetree/bindings/mfd/atmel-tcb.txt +++ /dev/null @@ -1,56 +0,0 @@ -* Device tree bindings for Atmel Timer Counter Blocks -- compatible: Should be "atmel,<chip>-tcb", "simple-mfd", "syscon". - <chip> can be "at91rm9200" or "at91sam9x5" -- reg: Should contain registers location and length -- #address-cells: has to be 1 -- #size-cells: has to be 0 -- interrupts: Should contain all interrupts for the TC block - Note that you can specify several interrupt cells if the TC - block has one interrupt per channel. -- clock-names: tuple listing input clock names. - Required elements: "t0_clk", "slow_clk" - Optional elements: "t1_clk", "t2_clk" -- clocks: phandles to input clocks. - -The TCB can expose multiple subdevices: - * a timer - - compatible: Should be "atmel,tcb-timer" - - reg: Should contain the TCB channels to be used. If the - counter width is 16 bits (at91rm9200-tcb), two consecutive - channels are needed. Else, only one channel will be used. - -Examples: - -One interrupt per TC block: - tcb0: timer@fff7c000 { - compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon"; - #address-cells = <1>; - #size-cells = <0>; - reg = <0xfff7c000 0x100>; - interrupts = <18 4>; - clocks = <&tcb0_clk>, <&clk32k>; - clock-names = "t0_clk", "slow_clk"; - - timer@0 { - compatible = "atmel,tcb-timer"; - reg = <0>, <1>; - }; - - timer@2 { - compatible = "atmel,tcb-timer"; - reg = <2>; - }; - }; - -One interrupt per TC channel in a TC block: - tcb1: timer@fffdc000 { - compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon"; - #address-cells = <1>; - #size-cells = <0>; - reg = <0xfffdc000 0x100>; - interrupts = <26 4>, <27 4>, <28 4>; - clocks = <&tcb1_clk>, <&clk32k>; - clock-names = "t0_clk", "slow_clk"; - }; - -
Convert Atmel Timer Counter Blocks bindings to DT schema format using json-schema. Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> --- Cc: Rob Herring <robh+dt@kernel.org> .../bindings/mfd/atmel,at91rm9200-tcb.yaml | 89 +++++++++++++++++++ .../devicetree/bindings/mfd/atmel-tcb.txt | 56 ------------ 2 files changed, 89 insertions(+), 56 deletions(-) create mode 100644 Documentation/devicetree/bindings/mfd/atmel,at91rm9200-tcb.yaml delete mode 100644 Documentation/devicetree/bindings/mfd/atmel-tcb.txt