Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: timer: renesas: mtu2: Convert to json-schema

Convert the Renesas Multi-Function Timer Pulse Unit 2 (MTU2) Device Tree
binding documentation to json-schema.

Add missing properties.
Update the example to match reality.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Rob Herring <robh@kernel.org>

authored by

Geert Uytterhoeven and committed by
Rob Herring
bc6b83d6 7536c7e0

+76 -42
-42
Documentation/devicetree/bindings/timer/renesas,mtu2.txt
··· 1 - * Renesas Multi-Function Timer Pulse Unit 2 (MTU2) 2 - 3 - The MTU2 is a multi-purpose, multi-channel timer/counter with configurable 4 - clock inputs and programmable compare match. 5 - 6 - Channels share hardware resources but their counter and compare match value 7 - are independent. The MTU2 hardware supports five channels indexed from 0 to 4. 8 - 9 - Required Properties: 10 - 11 - - compatible: must be one or more of the following: 12 - - "renesas,mtu2-r7s72100" for the r7s72100 MTU2 13 - - "renesas,mtu2" for any MTU2 14 - This is a fallback for the above renesas,mtu2-* entries 15 - 16 - - reg: base address and length of the registers block for the timer module. 17 - 18 - - interrupts: interrupt specifiers for the timer, one for each entry in 19 - interrupt-names. 20 - - interrupt-names: must contain one entry named "tgi?a" for each enabled 21 - channel, where "?" is the channel index expressed as one digit from "0" to 22 - "4". 23 - 24 - - clocks: a list of phandle + clock-specifier pairs, one for each entry 25 - in clock-names. 26 - - clock-names: must contain "fck" for the functional clock. 27 - 28 - 29 - Example: R7S72100 (RZ/A1H) MTU2 node 30 - 31 - mtu2: timer@fcff0000 { 32 - compatible = "renesas,mtu2-r7s72100", "renesas,mtu2"; 33 - reg = <0xfcff0000 0x400>; 34 - interrupts = <0 139 IRQ_TYPE_LEVEL_HIGH>, 35 - <0 146 IRQ_TYPE_LEVEL_HIGH>, 36 - <0 150 IRQ_TYPE_LEVEL_HIGH>, 37 - <0 154 IRQ_TYPE_LEVEL_HIGH>, 38 - <0 159 IRQ_TYPE_LEVEL_HIGH>; 39 - interrupt-names = "tgi0a", "tgi1a", "tgi2a", "tgi3a", "tgi4a"; 40 - clocks = <&mstp3_clks R7S72100_CLK_MTU2>; 41 - clock-names = "fck"; 42 - };
+76
Documentation/devicetree/bindings/timer/renesas,mtu2.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/timer/renesas,mtu2.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Renesas Multi-Function Timer Pulse Unit 2 (MTU2) 8 + 9 + maintainers: 10 + - Geert Uytterhoeven <geert+renesas@glider.be> 11 + - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> 12 + 13 + description: 14 + The MTU2 is a multi-purpose, multi-channel timer/counter with configurable clock inputs 15 + and programmable compare match. 16 + 17 + Channels share hardware resources but their counter and compare match value are 18 + independent. The MTU2 hardware supports five channels indexed from 0 to 4. 19 + 20 + properties: 21 + compatible: 22 + items: 23 + - enum: 24 + - renesas,mtu2-r7s72100 # RZ/A1H 25 + - const: renesas,mtu2 26 + 27 + reg: 28 + maxItems: 1 29 + 30 + interrupts: 31 + minItems: 1 32 + maxItems: 5 33 + description: One entry for each enabled channel. 34 + 35 + interrupt-names: 36 + minItems: 1 37 + items: 38 + - const: tgi0a 39 + - const: tgi1a 40 + - const: tgi2a 41 + - const: tgi3a 42 + - const: tgi4a 43 + 44 + clocks: 45 + maxItems: 1 46 + 47 + clock-names: 48 + const: fck 49 + 50 + power-domains: 51 + maxItems: 1 52 + 53 + required: 54 + - compatible 55 + - reg 56 + - interrupts 57 + - interrupt-names 58 + - clocks 59 + - clock-names 60 + - power-domains 61 + 62 + additionalProperties: false 63 + 64 + examples: 65 + - | 66 + #include <dt-bindings/clock/r7s72100-clock.h> 67 + #include <dt-bindings/interrupt-controller/arm-gic.h> 68 + mtu2: timer@fcff0000 { 69 + compatible = "renesas,mtu2-r7s72100", "renesas,mtu2"; 70 + reg = <0xfcff0000 0x400>; 71 + interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 72 + interrupt-names = "tgi0a"; 73 + clocks = <&mstp3_clks R7S72100_CLK_MTU2>; 74 + clock-names = "fck"; 75 + power-domains = <&cpg_clocks>; 76 + };