diff options
author | Stephen Warren <swarren@nvidia.com> | 2012-09-19 14:02:31 -0400 |
---|---|---|
committer | Stephen Warren <swarren@nvidia.com> | 2012-11-16 14:22:16 -0500 |
commit | 2f2b7fb202a2fa93702a79d36033e5c8bee0120d (patch) | |
tree | 22d29b27f152fc0b9a87f1d80ff57dcbaa65b59d | |
parent | 9a2ab3f1fa01a146a395197153af0ae586e6a682 (diff) |
ARM: tegra: define DT bindings for and instantiate timer
The Tegra timer provides a number of 29-bit timer channels, a single
32-bit free running counter, and in the Tegra30 variant, 5 watchdog modules.
The first two channels may also trigger a legacy watchdog reset.
Define a DT binding for this HW module, and add the module into the Tegra
device tree files.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
-rw-r--r-- | Documentation/devicetree/bindings/timer/nvidia,tegra20-timer.txt | 21 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/timer/nvidia,tegra30-timer.txt | 23 | ||||
-rw-r--r-- | arch/arm/boot/dts/tegra20.dtsi | 9 | ||||
-rw-r--r-- | arch/arm/boot/dts/tegra30.dtsi | 11 |
4 files changed, 64 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/timer/nvidia,tegra20-timer.txt b/Documentation/devicetree/bindings/timer/nvidia,tegra20-timer.txt new file mode 100644 index 00000000000..e019fdc3877 --- /dev/null +++ b/Documentation/devicetree/bindings/timer/nvidia,tegra20-timer.txt | |||
@@ -0,0 +1,21 @@ | |||
1 | NVIDIA Tegra20 timer | ||
2 | |||
3 | The Tegra20 timer provides four 29-bit timer channels and a single 32-bit free | ||
4 | running counter. The first two channels may also trigger a watchdog reset. | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible : should be "nvidia,tegra20-timer". | ||
9 | - reg : Specifies base physical address and size of the registers. | ||
10 | - interrupts : A list of 4 interrupts; one per timer channel. | ||
11 | |||
12 | Example: | ||
13 | |||
14 | timer { | ||
15 | compatible = "nvidia,tegra20-timer"; | ||
16 | reg = <0x60005000 0x60>; | ||
17 | interrupts = <0 0 0x04 | ||
18 | 0 1 0x04 | ||
19 | 0 41 0x04 | ||
20 | 0 42 0x04>; | ||
21 | }; | ||
diff --git a/Documentation/devicetree/bindings/timer/nvidia,tegra30-timer.txt b/Documentation/devicetree/bindings/timer/nvidia,tegra30-timer.txt new file mode 100644 index 00000000000..906109d4c59 --- /dev/null +++ b/Documentation/devicetree/bindings/timer/nvidia,tegra30-timer.txt | |||
@@ -0,0 +1,23 @@ | |||
1 | NVIDIA Tegra30 timer | ||
2 | |||
3 | The Tegra30 timer provides ten 29-bit timer channels, a single 32-bit free | ||
4 | running counter, and 5 watchdog modules. The first two channels may also | ||
5 | trigger a legacy watchdog reset. | ||
6 | |||
7 | Required properties: | ||
8 | |||
9 | - compatible : should be "nvidia,tegra30-timer", "nvidia,tegra20-timer". | ||
10 | - reg : Specifies base physical address and size of the registers. | ||
11 | - interrupts : A list of 6 interrupts; one per each of timer channels 1 | ||
12 | through 5, and one for the shared interrupt for the remaining channels. | ||
13 | |||
14 | timer { | ||
15 | compatible = "nvidia,tegra30-timer", "nvidia,tegra20-timer"; | ||
16 | reg = <0x60005000 0x400>; | ||
17 | interrupts = <0 0 0x04 | ||
18 | 0 1 0x04 | ||
19 | 0 41 0x04 | ||
20 | 0 42 0x04 | ||
21 | 0 121 0x04 | ||
22 | 0 122 0x04>; | ||
23 | }; | ||
diff --git a/arch/arm/boot/dts/tegra20.dtsi b/arch/arm/boot/dts/tegra20.dtsi index fba998e3954..96c922d8bb3 100644 --- a/arch/arm/boot/dts/tegra20.dtsi +++ b/arch/arm/boot/dts/tegra20.dtsi | |||
@@ -108,6 +108,15 @@ | |||
108 | #interrupt-cells = <3>; | 108 | #interrupt-cells = <3>; |
109 | }; | 109 | }; |
110 | 110 | ||
111 | timer@60005000 { | ||
112 | compatible = "nvidia,tegra20-timer"; | ||
113 | reg = <0x60005000 0x60>; | ||
114 | interrupts = <0 0 0x04 | ||
115 | 0 1 0x04 | ||
116 | 0 41 0x04 | ||
117 | 0 42 0x04>; | ||
118 | }; | ||
119 | |||
111 | apbdma: dma { | 120 | apbdma: dma { |
112 | compatible = "nvidia,tegra20-apbdma"; | 121 | compatible = "nvidia,tegra20-apbdma"; |
113 | reg = <0x6000a000 0x1200>; | 122 | reg = <0x6000a000 0x1200>; |
diff --git a/arch/arm/boot/dts/tegra30.dtsi b/arch/arm/boot/dts/tegra30.dtsi index 1f7f49aabe6..48a8320ebf0 100644 --- a/arch/arm/boot/dts/tegra30.dtsi +++ b/arch/arm/boot/dts/tegra30.dtsi | |||
@@ -108,6 +108,17 @@ | |||
108 | #interrupt-cells = <3>; | 108 | #interrupt-cells = <3>; |
109 | }; | 109 | }; |
110 | 110 | ||
111 | timer@60005000 { | ||
112 | compatible = "nvidia,tegra30-timer", "nvidia,tegra20-timer"; | ||
113 | reg = <0x60005000 0x400>; | ||
114 | interrupts = <0 0 0x04 | ||
115 | 0 1 0x04 | ||
116 | 0 41 0x04 | ||
117 | 0 42 0x04 | ||
118 | 0 121 0x04 | ||
119 | 0 122 0x04>; | ||
120 | }; | ||
121 | |||
111 | apbdma: dma { | 122 | apbdma: dma { |
112 | compatible = "nvidia,tegra30-apbdma", "nvidia,tegra20-apbdma"; | 123 | compatible = "nvidia,tegra30-apbdma", "nvidia,tegra20-apbdma"; |
113 | reg = <0x6000a000 0x1400>; | 124 | reg = <0x6000a000 0x1400>; |