aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/boot
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/boot')
-rw-r--r--arch/arm/boot/dts/versatile-ab.dts81
-rw-r--r--arch/arm/boot/dts/versatile-pb.dts12
2 files changed, 91 insertions, 2 deletions
diff --git a/arch/arm/boot/dts/versatile-ab.dts b/arch/arm/boot/dts/versatile-ab.dts
index e01e5a081def..36c771a2d765 100644
--- a/arch/arm/boot/dts/versatile-ab.dts
+++ b/arch/arm/boot/dts/versatile-ab.dts
@@ -19,6 +19,41 @@
19 reg = <0x0 0x08000000>; 19 reg = <0x0 0x08000000>;
20 }; 20 };
21 21
22 xtal24mhz: xtal24mhz@24M {
23 #clock-cells = <0>;
24 compatible = "fixed-clock";
25 clock-frequency = <24000000>;
26 };
27
28 core-module@10000000 {
29 compatible = "arm,core-module-versatile", "syscon";
30 reg = <0x10000000 0x200>;
31
32 /* OSC1 on AB, OSC4 on PB */
33 osc1: cm_aux_osc@24M {
34 #clock-cells = <0>;
35 compatible = "arm,versatile-cm-auxosc";
36 clocks = <&xtal24mhz>;
37 };
38
39 /* The timer clock is the 24 MHz oscillator divided to 1MHz */
40 timclk: timclk@1M {
41 #clock-cells = <0>;
42 compatible = "fixed-factor-clock";
43 clock-div = <24>;
44 clock-mult = <1>;
45 clocks = <&xtal24mhz>;
46 };
47
48 pclk: pclk@24M {
49 #clock-cells = <0>;
50 compatible = "fixed-factor-clock";
51 clock-div = <1>;
52 clock-mult = <1>;
53 clocks = <&xtal24mhz>;
54 };
55 };
56
22 flash@34000000 { 57 flash@34000000 {
23 compatible = "arm,versatile-flash"; 58 compatible = "arm,versatile-flash";
24 reg = <0x34000000 0x4000000>; 59 reg = <0x34000000 0x4000000>;
@@ -59,6 +94,8 @@
59 interrupt-controller; 94 interrupt-controller;
60 #interrupt-cells = <1>; 95 #interrupt-cells = <1>;
61 reg = <0x10140000 0x1000>; 96 reg = <0x10140000 0x1000>;
97 clear-mask = <0xffffffff>;
98 valid-mask = <0xffffffff>;
62 }; 99 };
63 100
64 sic: intc@10003000 { 101 sic: intc@10003000 {
@@ -68,69 +105,93 @@
68 reg = <0x10003000 0x1000>; 105 reg = <0x10003000 0x1000>;
69 interrupt-parent = <&vic>; 106 interrupt-parent = <&vic>;
70 interrupts = <31>; /* Cascaded to vic */ 107 interrupts = <31>; /* Cascaded to vic */
108 clear-mask = <0xffffffff>;
109 valid-mask = <0xffc203f8>;
71 }; 110 };
72 111
73 dma@10130000 { 112 dma@10130000 {
74 compatible = "arm,pl081", "arm,primecell"; 113 compatible = "arm,pl081", "arm,primecell";
75 reg = <0x10130000 0x1000>; 114 reg = <0x10130000 0x1000>;
76 interrupts = <17>; 115 interrupts = <17>;
116 clocks = <&pclk>;
117 clock-names = "apb_pclk";
77 }; 118 };
78 119
79 uart0: uart@101f1000 { 120 uart0: uart@101f1000 {
80 compatible = "arm,pl011", "arm,primecell"; 121 compatible = "arm,pl011", "arm,primecell";
81 reg = <0x101f1000 0x1000>; 122 reg = <0x101f1000 0x1000>;
82 interrupts = <12>; 123 interrupts = <12>;
124 clocks = <&xtal24mhz>, <&pclk>;
125 clock-names = "uartclk", "apb_pclk";
83 }; 126 };
84 127
85 uart1: uart@101f2000 { 128 uart1: uart@101f2000 {
86 compatible = "arm,pl011", "arm,primecell"; 129 compatible = "arm,pl011", "arm,primecell";
87 reg = <0x101f2000 0x1000>; 130 reg = <0x101f2000 0x1000>;
88 interrupts = <13>; 131 interrupts = <13>;
132 clocks = <&xtal24mhz>, <&pclk>;
133 clock-names = "uartclk", "apb_pclk";
89 }; 134 };
90 135
91 uart2: uart@101f3000 { 136 uart2: uart@101f3000 {
92 compatible = "arm,pl011", "arm,primecell"; 137 compatible = "arm,pl011", "arm,primecell";
93 reg = <0x101f3000 0x1000>; 138 reg = <0x101f3000 0x1000>;
94 interrupts = <14>; 139 interrupts = <14>;
140 clocks = <&xtal24mhz>, <&pclk>;
141 clock-names = "uartclk", "apb_pclk";
95 }; 142 };
96 143
97 smc@10100000 { 144 smc@10100000 {
98 compatible = "arm,primecell"; 145 compatible = "arm,primecell";
99 reg = <0x10100000 0x1000>; 146 reg = <0x10100000 0x1000>;
147 clocks = <&pclk>;
148 clock-names = "apb_pclk";
100 }; 149 };
101 150
102 mpmc@10110000 { 151 mpmc@10110000 {
103 compatible = "arm,primecell"; 152 compatible = "arm,primecell";
104 reg = <0x10110000 0x1000>; 153 reg = <0x10110000 0x1000>;
154 clocks = <&pclk>;
155 clock-names = "apb_pclk";
105 }; 156 };
106 157
107 display@10120000 { 158 display@10120000 {
108 compatible = "arm,pl110", "arm,primecell"; 159 compatible = "arm,pl110", "arm,primecell";
109 reg = <0x10120000 0x1000>; 160 reg = <0x10120000 0x1000>;
110 interrupts = <16>; 161 interrupts = <16>;
162 clocks = <&osc1>, <&pclk>;
163 clock-names = "clcd", "apb_pclk";
111 }; 164 };
112 165
113 sctl@101e0000 { 166 sctl@101e0000 {
114 compatible = "arm,primecell"; 167 compatible = "arm,primecell";
115 reg = <0x101e0000 0x1000>; 168 reg = <0x101e0000 0x1000>;
169 clocks = <&pclk>;
170 clock-names = "apb_pclk";
116 }; 171 };
117 172
118 watchdog@101e1000 { 173 watchdog@101e1000 {
119 compatible = "arm,primecell"; 174 compatible = "arm,primecell";
120 reg = <0x101e1000 0x1000>; 175 reg = <0x101e1000 0x1000>;
121 interrupts = <0>; 176 interrupts = <0>;
177 clocks = <&pclk>;
178 clock-names = "apb_pclk";
122 }; 179 };
123 180
124 timer@101e2000 { 181 timer@101e2000 {
125 compatible = "arm,sp804", "arm,primecell"; 182 compatible = "arm,sp804", "arm,primecell";
126 reg = <0x101e2000 0x1000>; 183 reg = <0x101e2000 0x1000>;
127 interrupts = <4>; 184 interrupts = <4>;
185 clocks = <&timclk>, <&timclk>, <&pclk>;
186 clock-names = "timer0", "timer1", "apb_pclk";
128 }; 187 };
129 188
130 timer@101e3000 { 189 timer@101e3000 {
131 compatible = "arm,sp804", "arm,primecell"; 190 compatible = "arm,sp804", "arm,primecell";
132 reg = <0x101e3000 0x1000>; 191 reg = <0x101e3000 0x1000>;
133 interrupts = <5>; 192 interrupts = <5>;
193 clocks = <&timclk>, <&timclk>, <&pclk>;
194 clock-names = "timer0", "timer1", "apb_pclk";
134 }; 195 };
135 196
136 gpio0: gpio@101e4000 { 197 gpio0: gpio@101e4000 {
@@ -141,6 +202,8 @@
141 #gpio-cells = <2>; 202 #gpio-cells = <2>;
142 interrupt-controller; 203 interrupt-controller;
143 #interrupt-cells = <2>; 204 #interrupt-cells = <2>;
205 clocks = <&pclk>;
206 clock-names = "apb_pclk";
144 }; 207 };
145 208
146 gpio1: gpio@101e5000 { 209 gpio1: gpio@101e5000 {
@@ -151,24 +214,32 @@
151 #gpio-cells = <2>; 214 #gpio-cells = <2>;
152 interrupt-controller; 215 interrupt-controller;
153 #interrupt-cells = <2>; 216 #interrupt-cells = <2>;
217 clocks = <&pclk>;
218 clock-names = "apb_pclk";
154 }; 219 };
155 220
156 rtc@101e8000 { 221 rtc@101e8000 {
157 compatible = "arm,pl030", "arm,primecell"; 222 compatible = "arm,pl030", "arm,primecell";
158 reg = <0x101e8000 0x1000>; 223 reg = <0x101e8000 0x1000>;
159 interrupts = <10>; 224 interrupts = <10>;
225 clocks = <&pclk>;
226 clock-names = "apb_pclk";
160 }; 227 };
161 228
162 sci@101f0000 { 229 sci@101f0000 {
163 compatible = "arm,primecell"; 230 compatible = "arm,primecell";
164 reg = <0x101f0000 0x1000>; 231 reg = <0x101f0000 0x1000>;
165 interrupts = <15>; 232 interrupts = <15>;
233 clocks = <&pclk>;
234 clock-names = "apb_pclk";
166 }; 235 };
167 236
168 ssp@101f4000 { 237 ssp@101f4000 {
169 compatible = "arm,pl022", "arm,primecell"; 238 compatible = "arm,pl022", "arm,primecell";
170 reg = <0x101f4000 0x1000>; 239 reg = <0x101f4000 0x1000>;
171 interrupts = <11>; 240 interrupts = <11>;
241 clocks = <&xtal24mhz>, <&pclk>;
242 clock-names = "SSPCLK", "apb_pclk";
172 }; 243 };
173 244
174 fpga { 245 fpga {
@@ -181,23 +252,31 @@
181 compatible = "arm,primecell"; 252 compatible = "arm,primecell";
182 reg = <0x4000 0x1000>; 253 reg = <0x4000 0x1000>;
183 interrupts = <24>; 254 interrupts = <24>;
255 clocks = <&pclk>;
256 clock-names = "apb_pclk";
184 }; 257 };
185 mmc@5000 { 258 mmc@5000 {
186 compatible = "arm,primecell"; 259 compatible = "arm,pl180", "arm,primecell";
187 reg = < 0x5000 0x1000>; 260 reg = < 0x5000 0x1000>;
188 interrupts-extended = <&vic 22 &sic 2>; 261 interrupts-extended = <&vic 22 &sic 2>;
262 clocks = <&xtal24mhz>, <&pclk>;
263 clock-names = "mclk", "apb_pclk";
189 }; 264 };
190 kmi@6000 { 265 kmi@6000 {
191 compatible = "arm,pl050", "arm,primecell"; 266 compatible = "arm,pl050", "arm,primecell";
192 reg = <0x6000 0x1000>; 267 reg = <0x6000 0x1000>;
193 interrupt-parent = <&sic>; 268 interrupt-parent = <&sic>;
194 interrupts = <3>; 269 interrupts = <3>;
270 clocks = <&xtal24mhz>, <&pclk>;
271 clock-names = "KMIREFCLK", "apb_pclk";
195 }; 272 };
196 kmi@7000 { 273 kmi@7000 {
197 compatible = "arm,pl050", "arm,primecell"; 274 compatible = "arm,pl050", "arm,primecell";
198 reg = <0x7000 0x1000>; 275 reg = <0x7000 0x1000>;
199 interrupt-parent = <&sic>; 276 interrupt-parent = <&sic>;
200 interrupts = <4>; 277 interrupts = <4>;
278 clocks = <&xtal24mhz>, <&pclk>;
279 clock-names = "KMIREFCLK", "apb_pclk";
201 }; 280 };
202 }; 281 };
203 }; 282 };
diff --git a/arch/arm/boot/dts/versatile-pb.dts b/arch/arm/boot/dts/versatile-pb.dts
index 65f657711323..d025048119d3 100644
--- a/arch/arm/boot/dts/versatile-pb.dts
+++ b/arch/arm/boot/dts/versatile-pb.dts
@@ -13,6 +13,8 @@
13 #gpio-cells = <2>; 13 #gpio-cells = <2>;
14 interrupt-controller; 14 interrupt-controller;
15 #interrupt-cells = <2>; 15 #interrupt-cells = <2>;
16 clocks = <&pclk>;
17 clock-names = "apb_pclk";
16 }; 18 };
17 19
18 gpio3: gpio@101e7000 { 20 gpio3: gpio@101e7000 {
@@ -23,6 +25,8 @@
23 #gpio-cells = <2>; 25 #gpio-cells = <2>;
24 interrupt-controller; 26 interrupt-controller;
25 #interrupt-cells = <2>; 27 #interrupt-cells = <2>;
28 clocks = <&pclk>;
29 clock-names = "apb_pclk";
26 }; 30 };
27 31
28 fpga { 32 fpga {
@@ -31,17 +35,23 @@
31 reg = <0x9000 0x1000>; 35 reg = <0x9000 0x1000>;
32 interrupt-parent = <&sic>; 36 interrupt-parent = <&sic>;
33 interrupts = <6>; 37 interrupts = <6>;
38 clocks = <&xtal24mhz>, <&pclk>;
39 clock-names = "uartclk", "apb_pclk";
34 }; 40 };
35 sci@a000 { 41 sci@a000 {
36 compatible = "arm,primecell"; 42 compatible = "arm,primecell";
37 reg = <0xa000 0x1000>; 43 reg = <0xa000 0x1000>;
38 interrupt-parent = <&sic>; 44 interrupt-parent = <&sic>;
39 interrupts = <5>; 45 interrupts = <5>;
46 clocks = <&xtal24mhz>;
47 clock-names = "apb_pclk";
40 }; 48 };
41 mmc@b000 { 49 mmc@b000 {
42 compatible = "arm,primecell"; 50 compatible = "arm,pl180", "arm,primecell";
43 reg = <0xb000 0x1000>; 51 reg = <0xb000 0x1000>;
44 interrupts-extended = <&vic 23 &sic 2>; 52 interrupts-extended = <&vic 23 &sic 2>;
53 clocks = <&xtal24mhz>, <&pclk>;
54 clock-names = "mclk", "apb_pclk";
45 }; 55 };
46 }; 56 };
47 }; 57 };