blob: acbb6f8997ee4001e46d8b0ef84e49ef7b33d109 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/timer/ti,timer-dm.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: TI dual-mode timer
8
9maintainers:
10 - Tony Lindgren <tony@atomide.com>
11
12description: |
13 The TI dual-mode timer is a general purpose timer with PWM capabilities.
14
15properties:
16 compatible:
17 oneOf:
18 - items:
19 - enum:
20 - ti,am335x-timer
21 - ti,am335x-timer-1ms
22 - ti,am654-timer
23 - ti,dm814-timer
24 - ti,dm816-timer
25 - ti,omap2420-timer
26 - ti,omap3430-timer
27 - ti,omap4430-timer
28 - ti,omap5430-timer
29 - items:
30 - const: ti,am4372-timer
31 - const: ti,am335x-timer
32 - items:
33 - const: ti,am4372-timer-1ms
34 - const: ti,am335x-timer-1ms
35
36 reg:
37 items:
38 - description: IO address
39 - description: L3 to L4 mapping for omap4/5 L4 ABE
40 minItems: 1
41
42 clocks:
43 items:
44 - description: Functional clock
45 - description: System clock for omap4/5 and dra7
46 minItems: 1
47
48 clock-names:
49 items:
50 - const: fck
51 - const: timer_sys_ck
52 minItems: 1
53
54 power-domains:
55 description:
56 Power domain if available
57 maxItems: 1
58
59 interrupts:
60 description:
61 Interrupt if available. The timer PWM features may be usable
62 in a limited way even without interrupts.
63 maxItems: 1
64
65 ti,timer-alwon:
66 description:
67 Timer is always enabled when the SoC is powered. Note that some SoCs like
68 am335x can suspend to PM coprocessor RTC only mode and in that case the
69 SoC power is cut including timers.
70 type: boolean
71
72 ti,timer-dsp:
73 description:
74 Timer is routable to the DSP in addition to the operating system.
75 type: boolean
76
77 ti,timer-pwm:
78 description:
79 Timer has been wired for PWM capability.
80 type: boolean
81
82 ti,timer-secure:
83 description:
84 Timer access has been limited to secure mode only.
85 type: boolean
86
87 ti,hwmods:
88 description:
89 Name of the HWMOD associated with timer. This is for legacy
90 omap2/3 platforms only.
91 $ref: /schemas/types.yaml#/definitions/string
92 deprecated: true
93
94required:
95 - compatible
96 - reg
97
98additionalProperties: false
99
100allOf:
101 - if:
102 properties:
103 compatible:
104 contains:
105 const: ti,am654-timer
106 then:
107 required:
108 - power-domains
109 else:
110 required:
111 - interrupts
112
113 - if:
114 not:
115 properties:
116 compatible:
117 contains:
118 enum:
119 - ti,omap3430-timer
120 - ti,omap4430-timer
121 - ti,omap5430-timer
122 then:
123 properties:
124 reg:
125 maxItems: 1
126 clocks:
127 maxItems: 1
128 clock-names:
129 maxItems: 1
130
131 - if:
132 properties:
133 compatible:
134 contains:
135 enum:
136 - ti,dm814-timer
137 - ti,dm816-timer
138 - ti,omap2420-timer
139 - ti,omap3430-timer
140 then:
141 properties:
142 ti,hwmods:
143 items:
144 - pattern: "^timer([1-9]|1[0-2])$"
145 else:
146 properties:
147 ti,hwmods: false
148
149examples:
150 - |
151 timer1: timer@0 {
152 compatible = "ti,am335x-timer-1ms";
153 reg = <0x0 0x400>;
154 interrupts = <67>;
155 ti,timer-alwon;
156 clocks = <&timer1_fck>;
157 clock-names = "fck";
158 };
159...