xref: /linux/Documentation/devicetree/bindings/arm/microchip,sam9x60-pit64b.yaml (revision 31b43c079f9aa55754c20404a42bca9a49e01f60)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/arm/microchip,sam9x60-pit64b.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Microchip PIT64B 64-bit Periodic Interval Timer
8
9maintainers:
10  - Nicolas Ferre <nicolas.ferre@microchip.com>
11  - Claudiu Beznea <claudiu.beznea@tuxon.dev>
12
13description:
14  The Microchip PIT64B is a 64-bit periodic interval timer used in
15  several modern Microchip ARM SoCs including SAM9X60, SAM9X7 and
16  SAMA7D65 families. It provides extended timing range, flexible
17  clock selection and supports both periodic and one-shot interrupt
18  generation modes.
19
20properties:
21  compatible:
22    oneOf:
23      - const: microchip,sam9x60-pit64b
24      - items:
25          - enum:
26              - microchip,sam9x7-pit64b
27              - microchip,sama7d65-pit64b
28              - microchip,sama7g5-pit64b
29          - const: microchip,sam9x60-pit64b
30
31  reg:
32    maxItems: 1
33
34  interrupts:
35    maxItems: 1
36
37  clocks:
38    minItems: 1
39    maxItems: 2
40
41  clock-names:
42    minItems: 1
43    maxItems: 2
44    items:
45      enum:
46        - pclk
47        - gclk
48
49required:
50  - compatible
51  - reg
52  - interrupts
53  - clocks
54
55unevaluatedProperties: false
56
57examples:
58  - |
59    #include <dt-bindings/interrupt-controller/irq.h>
60    #include <dt-bindings/clock/at91.h>
61    timer@f0028000 {
62        compatible = "microchip,sama7g5-pit64b", "microchip,sam9x60-pit64b";
63        reg = <0xf0028000 0x100>;
64        interrupts = <37 IRQ_TYPE_LEVEL_HIGH 7>;
65        clocks = <&pmc PMC_TYPE_PERIPHERAL 37>, <&pmc PMC_TYPE_GCK 37>;
66        clock-names = "pclk", "gclk";
67    };
68...
69