blob: 7851d53d188139dc1563eb71daf5e2812b177241 [file] [log] [blame]
Marc Zyngierf2caa512012-01-19 13:53:50 +00001* ARM architected timer
2
3ARM Cortex-A7 and Cortex-A15 have a per-core architected timer, which
4provides a per-cpu local timer.
5
6The timer is attached to a GIC to deliver its two per-processor
7interrupts (one for the secure mode, one for the non-secure mode).
8
Stephen Boydf3aa1972013-03-21 16:06:47 -07009** CP15 Timer node properties:
Marc Zyngierf2caa512012-01-19 13:53:50 +000010
11- compatible : Should be "arm,armv7-timer"
12
13- interrupts : One or two interrupts for secure and non-secure mode
14
15- clock-frequency : The frequency of the main counter, in Hz. Optional.
16
17Example:
18
19 timer {
20 compatible = "arm,armv7-timer"";
21 interrupts = <1 13 0xf08 1 14 0xf08>;
22 clock-frequency = <100000000>;
23 };
Stephen Boydf3aa1972013-03-21 16:06:47 -070024
25** Memory mapped timer node properties:
26
27- compatible : Should at least contain "arm,armv7-timer-mem".
28
29- clock-frequency : The frequency of the main counter, in Hz. Optional.
30
31- reg : The control frame base address.
32
33Note that #address-cells, #size-cells, and ranges shall be present to ensure
34the CPU can address the frame's registers.
35
36Each timer node has up to 8 frame sub-nodes with the following properties:
37
38- frame-number: 0 to 7.
39
40- interrupts : Interrupt list for physical and virtual timers in that order.
41 The virtual timer interrupt is optional.
42
43- reg : The first and second view base addresses in that order. The second view
44 base address is optional.
45
46- status : "disabled" indicates the frame is not available for use. Optional.
47
48Example:
49
50 timer@f0000000 {
51 compatible = "arm,armv7-timer-mem";
52 #address-cells = <1>;
53 #size-cells = <1>;
54 ranges;
55 reg = <0xf0000000 0x1000>;
56 clock-frequency = <50000000>;
57
58 frame0@f0001000 {
59 frame-number = <0>
60 interrupts = <0 13 0x8>,
61 <0 14 0x8>;
62 reg = <0xf0001000 0x1000>,
63 <0xf0002000 0x1000>;
64 };
65
66 frame1@f0003000 {
67 frame-number = <1>
68 interrupts = <0 15 0x8>;
69 reg = <0xf0003000 0x1000>;
70 status = "disabled";
71 };
72 };