xref: /freebsd-src/sys/contrib/device-tree/Bindings/timer/nvidia,tegra186-timer.yaml (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
1b97ee269SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2b97ee269SEmmanuel Vadot%YAML 1.2
3b97ee269SEmmanuel Vadot---
4*fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/timer/nvidia,tegra186-timer.yaml#
5*fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6b97ee269SEmmanuel Vadot
7b97ee269SEmmanuel Vadottitle: NVIDIA Tegra186 timer
8b97ee269SEmmanuel Vadot
9b97ee269SEmmanuel Vadotmaintainers:
10b97ee269SEmmanuel Vadot  - Thierry Reding <treding@nvidia.com>
11b97ee269SEmmanuel Vadot
12b97ee269SEmmanuel Vadotdescription: >
13b97ee269SEmmanuel Vadot  The Tegra timer provides 29-bit timer counters and a 32-bit timestamp
14b97ee269SEmmanuel Vadot  counter. Each NV timer selects its timing reference signal from the 1 MHz
15b97ee269SEmmanuel Vadot  reference generated by USEC, TSC or either clk_m or OSC. Each TMR can be
16b97ee269SEmmanuel Vadot  programmed to generate one-shot, periodic, or watchdog interrupts.
17b97ee269SEmmanuel Vadot
18b97ee269SEmmanuel Vadot
19b97ee269SEmmanuel Vadotproperties:
20b97ee269SEmmanuel Vadot  compatible:
21b97ee269SEmmanuel Vadot    oneOf:
22b97ee269SEmmanuel Vadot      - const: nvidia,tegra186-timer
23b97ee269SEmmanuel Vadot        description: >
24b97ee269SEmmanuel Vadot          The Tegra186 timer provides ten 29-bit timer counters.
25b97ee269SEmmanuel Vadot      - const: nvidia,tegra234-timer
26b97ee269SEmmanuel Vadot        description: >
27b97ee269SEmmanuel Vadot          The Tegra234 timer provides sixteen 29-bit timer counters.
28b97ee269SEmmanuel Vadot
29b97ee269SEmmanuel Vadot  reg:
30b97ee269SEmmanuel Vadot    maxItems: 1
31b97ee269SEmmanuel Vadot
32b97ee269SEmmanuel Vadot  interrupts: true
33b97ee269SEmmanuel Vadot
34b97ee269SEmmanuel VadotallOf:
35b97ee269SEmmanuel Vadot  - if:
36b97ee269SEmmanuel Vadot      properties:
37b97ee269SEmmanuel Vadot        compatible:
38b97ee269SEmmanuel Vadot          contains:
39b97ee269SEmmanuel Vadot            const: nvidia,tegra186-timer
40b97ee269SEmmanuel Vadot    then:
41b97ee269SEmmanuel Vadot      properties:
42b97ee269SEmmanuel Vadot        interrupts:
43b97ee269SEmmanuel Vadot          maxItems: 10
44b97ee269SEmmanuel Vadot          description: >
45b97ee269SEmmanuel Vadot            One per each timer channels 0 through 9.
46b97ee269SEmmanuel Vadot
47b97ee269SEmmanuel Vadot  - if:
48b97ee269SEmmanuel Vadot      properties:
49b97ee269SEmmanuel Vadot        compatible:
50b97ee269SEmmanuel Vadot          contains:
51b97ee269SEmmanuel Vadot            const: nvidia,tegra234-timer
52b97ee269SEmmanuel Vadot    then:
53b97ee269SEmmanuel Vadot      properties:
54b97ee269SEmmanuel Vadot        interrupts:
55b97ee269SEmmanuel Vadot          maxItems: 16
56b97ee269SEmmanuel Vadot          description: >
57b97ee269SEmmanuel Vadot            One per each timer channels 0 through 15.
58b97ee269SEmmanuel Vadot
59b97ee269SEmmanuel Vadotrequired:
60b97ee269SEmmanuel Vadot  - compatible
61b97ee269SEmmanuel Vadot  - reg
62b97ee269SEmmanuel Vadot  - interrupts
63b97ee269SEmmanuel Vadot
64b97ee269SEmmanuel VadotadditionalProperties: false
65b97ee269SEmmanuel Vadot
66b97ee269SEmmanuel Vadotexamples:
67b97ee269SEmmanuel Vadot  - |
68b97ee269SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
69b97ee269SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
70b97ee269SEmmanuel Vadot
71b97ee269SEmmanuel Vadot    timer@3010000 {
72b97ee269SEmmanuel Vadot        compatible = "nvidia,tegra186-timer";
73b97ee269SEmmanuel Vadot        reg = <0x03010000 0x000e0000>;
74b97ee269SEmmanuel Vadot        interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
75b97ee269SEmmanuel Vadot                     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
76b97ee269SEmmanuel Vadot                     <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
77b97ee269SEmmanuel Vadot                     <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
78b97ee269SEmmanuel Vadot                     <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
79b97ee269SEmmanuel Vadot                     <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
80b97ee269SEmmanuel Vadot                     <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
81b97ee269SEmmanuel Vadot                     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
82b97ee269SEmmanuel Vadot                     <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
83b97ee269SEmmanuel Vadot                     <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
84b97ee269SEmmanuel Vadot    };
85b97ee269SEmmanuel Vadot
86b97ee269SEmmanuel Vadot  - |
87b97ee269SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
88b97ee269SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
89b97ee269SEmmanuel Vadot
90b97ee269SEmmanuel Vadot    timer@2080000 {
91b97ee269SEmmanuel Vadot        compatible = "nvidia,tegra234-timer";
92b97ee269SEmmanuel Vadot        reg = <0x02080000 0x00121000>;
93b97ee269SEmmanuel Vadot        interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
94b97ee269SEmmanuel Vadot                     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
95b97ee269SEmmanuel Vadot                     <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
96b97ee269SEmmanuel Vadot                     <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
97b97ee269SEmmanuel Vadot                     <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
98b97ee269SEmmanuel Vadot                     <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
99b97ee269SEmmanuel Vadot                     <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
100b97ee269SEmmanuel Vadot                     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
101b97ee269SEmmanuel Vadot                     <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
102b97ee269SEmmanuel Vadot                     <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
103b97ee269SEmmanuel Vadot                     <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
104b97ee269SEmmanuel Vadot                     <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
105b97ee269SEmmanuel Vadot                     <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
106b97ee269SEmmanuel Vadot                     <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
107b97ee269SEmmanuel Vadot                     <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
108b97ee269SEmmanuel Vadot                     <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
109b97ee269SEmmanuel Vadot    };
110