diff options
author | Nicolas Ferre <nicolas.ferre@atmel.com> | 2014-07-09 13:14:31 -0400 |
---|---|---|
committer | Nicolas Ferre <nicolas.ferre@atmel.com> | 2014-07-09 13:14:31 -0400 |
commit | bf4d997ab890c2e32f3db390bec29fdd382da174 (patch) | |
tree | 4d626b475e84c4833dba65557d6d701a7143c333 | |
parent | ad7c56aa2d08f9b4e182e8294cfd5896864e4db0 (diff) | |
parent | 447025e96d54e32a4e60050cc430705d4e532917 (diff) |
Merge tag 'CCF-for-3.17' of git://github.com/at91linux/linux-at91 into at91-3.17-dt
Pull "CCF migration for 3.17" from Alexandre Belloni:
"This is the switch to CCF for all the remaining at91 SoCs and boards"
31 files changed, 1467 insertions, 11 deletions
diff --git a/Documentation/devicetree/bindings/arm/atmel-pmc.txt b/Documentation/devicetree/bindings/arm/atmel-pmc.txt index 389bed5056e8..795cc78543fe 100644 --- a/Documentation/devicetree/bindings/arm/atmel-pmc.txt +++ b/Documentation/devicetree/bindings/arm/atmel-pmc.txt | |||
@@ -1,7 +1,10 @@ | |||
1 | * Power Management Controller (PMC) | 1 | * Power Management Controller (PMC) |
2 | 2 | ||
3 | Required properties: | 3 | Required properties: |
4 | - compatible: Should be "atmel,at91rm9200-pmc" | 4 | - compatible: Should be "atmel,<chip>-pmc". |
5 | <chip> can be: at91rm9200, at91sam9260, at91sam9g45, at91sam9n12, | ||
6 | at91sam9x5, sama5d3 | ||
7 | |||
5 | - reg: Should contain PMC registers location and length | 8 | - reg: Should contain PMC registers location and length |
6 | 9 | ||
7 | Examples: | 10 | Examples: |
diff --git a/arch/arm/boot/dts/aks-cdu.dts b/arch/arm/boot/dts/aks-cdu.dts index 54cb5cf8604a..d9c50fbb49d2 100644 --- a/arch/arm/boot/dts/aks-cdu.dts +++ b/arch/arm/boot/dts/aks-cdu.dts | |||
@@ -16,6 +16,12 @@ | |||
16 | bootargs = "console=ttyS0,115200 ubi.mtd=4 root=ubi0:rootfs rootfstype=ubifs"; | 16 | bootargs = "console=ttyS0,115200 ubi.mtd=4 root=ubi0:rootfs rootfstype=ubifs"; |
17 | }; | 17 | }; |
18 | 18 | ||
19 | clocks { | ||
20 | slow_xtal { | ||
21 | clock-frequency = <32768>; | ||
22 | }; | ||
23 | }; | ||
24 | |||
19 | ahb { | 25 | ahb { |
20 | apb { | 26 | apb { |
21 | usart0: serial@fffb0000 { | 27 | usart0: serial@fffb0000 { |
diff --git a/arch/arm/boot/dts/animeo_ip.dts b/arch/arm/boot/dts/animeo_ip.dts index 3c4f6d983cbd..4e0ad3b82796 100644 --- a/arch/arm/boot/dts/animeo_ip.dts +++ b/arch/arm/boot/dts/animeo_ip.dts | |||
@@ -40,6 +40,14 @@ | |||
40 | compatible = "atmel,osc", "fixed-clock"; | 40 | compatible = "atmel,osc", "fixed-clock"; |
41 | clock-frequency = <18432000>; | 41 | clock-frequency = <18432000>; |
42 | }; | 42 | }; |
43 | |||
44 | slow_xtal { | ||
45 | clock-frequency = <32768>; | ||
46 | }; | ||
47 | |||
48 | main_xtal { | ||
49 | clock-frequency = <18432000>; | ||
50 | }; | ||
43 | }; | 51 | }; |
44 | 52 | ||
45 | ahb { | 53 | ahb { |
diff --git a/arch/arm/boot/dts/at91-ariag25.dts b/arch/arm/boot/dts/at91-ariag25.dts index 55ab6180e350..e9ced30159a7 100644 --- a/arch/arm/boot/dts/at91-ariag25.dts +++ b/arch/arm/boot/dts/at91-ariag25.dts | |||
@@ -42,6 +42,14 @@ | |||
42 | compatible = "atmel,osc", "fixed-clock"; | 42 | compatible = "atmel,osc", "fixed-clock"; |
43 | clock-frequency = <12000000>; | 43 | clock-frequency = <12000000>; |
44 | }; | 44 | }; |
45 | |||
46 | slow_xtal { | ||
47 | clock-frequency = <32768>; | ||
48 | }; | ||
49 | |||
50 | main_xtal { | ||
51 | clock-frequency = <12000000>; | ||
52 | }; | ||
45 | }; | 53 | }; |
46 | 54 | ||
47 | ahb { | 55 | ahb { |
diff --git a/arch/arm/boot/dts/at91-cosino.dtsi b/arch/arm/boot/dts/at91-cosino.dtsi index df4b78695695..b6ea3f4a7206 100644 --- a/arch/arm/boot/dts/at91-cosino.dtsi +++ b/arch/arm/boot/dts/at91-cosino.dtsi | |||
@@ -34,6 +34,14 @@ | |||
34 | compatible = "atmel,osc", "fixed-clock"; | 34 | compatible = "atmel,osc", "fixed-clock"; |
35 | clock-frequency = <12000000>; | 35 | clock-frequency = <12000000>; |
36 | }; | 36 | }; |
37 | |||
38 | slow_xtal { | ||
39 | clock-frequency = <32768>; | ||
40 | }; | ||
41 | |||
42 | main_xtal { | ||
43 | clock-frequency = <12000000>; | ||
44 | }; | ||
37 | }; | 45 | }; |
38 | 46 | ||
39 | ahb { | 47 | ahb { |
diff --git a/arch/arm/boot/dts/at91-foxg20.dts b/arch/arm/boot/dts/at91-foxg20.dts index cbe967343997..f89598af4c2b 100644 --- a/arch/arm/boot/dts/at91-foxg20.dts +++ b/arch/arm/boot/dts/at91-foxg20.dts | |||
@@ -31,6 +31,14 @@ | |||
31 | compatible = "atmel,osc", "fixed-clock"; | 31 | compatible = "atmel,osc", "fixed-clock"; |
32 | clock-frequency = <18432000>; | 32 | clock-frequency = <18432000>; |
33 | }; | 33 | }; |
34 | |||
35 | slow_xtal { | ||
36 | clock-frequency = <32768>; | ||
37 | }; | ||
38 | |||
39 | main_xtal { | ||
40 | clock-frequency = <18432000>; | ||
41 | }; | ||
34 | }; | 42 | }; |
35 | 43 | ||
36 | ahb { | 44 | ahb { |
diff --git a/arch/arm/boot/dts/at91-qil_a9260.dts b/arch/arm/boot/dts/at91-qil_a9260.dts index 5576ae8786c0..a9aef53ab764 100644 --- a/arch/arm/boot/dts/at91-qil_a9260.dts +++ b/arch/arm/boot/dts/at91-qil_a9260.dts | |||
@@ -28,6 +28,14 @@ | |||
28 | compatible = "atmel,osc", "fixed-clock"; | 28 | compatible = "atmel,osc", "fixed-clock"; |
29 | clock-frequency = <12000000>; | 29 | clock-frequency = <12000000>; |
30 | }; | 30 | }; |
31 | |||
32 | slow_xtal { | ||
33 | clock-frequency = <32768>; | ||
34 | }; | ||
35 | |||
36 | main_xtal { | ||
37 | clock-frequency = <12000000>; | ||
38 | }; | ||
31 | }; | 39 | }; |
32 | 40 | ||
33 | ahb { | 41 | ahb { |
diff --git a/arch/arm/boot/dts/at91rm9200.dtsi b/arch/arm/boot/dts/at91rm9200.dtsi index c61b16fba79b..65ccf564b9a5 100644 --- a/arch/arm/boot/dts/at91rm9200.dtsi +++ b/arch/arm/boot/dts/at91rm9200.dtsi | |||
@@ -14,6 +14,7 @@ | |||
14 | #include <dt-bindings/pinctrl/at91.h> | 14 | #include <dt-bindings/pinctrl/at91.h> |
15 | #include <dt-bindings/interrupt-controller/irq.h> | 15 | #include <dt-bindings/interrupt-controller/irq.h> |
16 | #include <dt-bindings/gpio/gpio.h> | 16 | #include <dt-bindings/gpio/gpio.h> |
17 | #include <dt-bindings/clock/at91.h> | ||
17 | 18 | ||
18 | / { | 19 | / { |
19 | model = "Atmel AT91RM9200 family SoC"; | 20 | model = "Atmel AT91RM9200 family SoC"; |
@@ -51,6 +52,20 @@ | |||
51 | reg = <0x20000000 0x04000000>; | 52 | reg = <0x20000000 0x04000000>; |
52 | }; | 53 | }; |
53 | 54 | ||
55 | clocks { | ||
56 | slow_xtal: slow_xtal { | ||
57 | compatible = "fixed-clock"; | ||
58 | #clock-cells = <0>; | ||
59 | clock-frequency = <0>; | ||
60 | }; | ||
61 | |||
62 | main_xtal: main_xtal { | ||
63 | compatible = "fixed-clock"; | ||
64 | #clock-cells = <0>; | ||
65 | clock-frequency = <0>; | ||
66 | }; | ||
67 | }; | ||
68 | |||
54 | ahb { | 69 | ahb { |
55 | compatible = "simple-bus"; | 70 | compatible = "simple-bus"; |
56 | #address-cells = <1>; | 71 | #address-cells = <1>; |
@@ -79,6 +94,260 @@ | |||
79 | pmc: pmc@fffffc00 { | 94 | pmc: pmc@fffffc00 { |
80 | compatible = "atmel,at91rm9200-pmc"; | 95 | compatible = "atmel,at91rm9200-pmc"; |
81 | reg = <0xfffffc00 0x100>; | 96 | reg = <0xfffffc00 0x100>; |
97 | interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; | ||
98 | interrupt-controller; | ||
99 | #address-cells = <1>; | ||
100 | #size-cells = <0>; | ||
101 | #interrupt-cells = <1>; | ||
102 | |||
103 | main_osc: main_osc { | ||
104 | compatible = "atmel,at91rm9200-clk-main-osc"; | ||
105 | #clock-cells = <0>; | ||
106 | interrupts-extended = <&pmc AT91_PMC_MOSCS>; | ||
107 | clocks = <&main_xtal>; | ||
108 | }; | ||
109 | |||
110 | main: mainck { | ||
111 | compatible = "atmel,at91rm9200-clk-main"; | ||
112 | #clock-cells = <0>; | ||
113 | clocks = <&main_osc>; | ||
114 | }; | ||
115 | |||
116 | plla: pllack { | ||
117 | compatible = "atmel,at91rm9200-clk-pll"; | ||
118 | #clock-cells = <0>; | ||
119 | interrupts-extended = <&pmc AT91_PMC_LOCKA>; | ||
120 | clocks = <&main>; | ||
121 | reg = <0>; | ||
122 | atmel,clk-input-range = <1000000 32000000>; | ||
123 | #atmel,pll-clk-output-range-cells = <3>; | ||
124 | atmel,pll-clk-output-ranges = <80000000 160000000 0>, | ||
125 | <150000000 180000000 2>; | ||
126 | }; | ||
127 | |||
128 | pllb: pllbck { | ||
129 | compatible = "atmel,at91rm9200-clk-pll"; | ||
130 | #clock-cells = <0>; | ||
131 | interrupts-extended = <&pmc AT91_PMC_LOCKB>; | ||
132 | clocks = <&main>; | ||
133 | reg = <1>; | ||
134 | atmel,clk-input-range = <1000000 32000000>; | ||
135 | #atmel,pll-clk-output-range-cells = <3>; | ||
136 | atmel,pll-clk-output-ranges = <80000000 160000000 0>, | ||
137 | <150000000 180000000 2>; | ||
138 | }; | ||
139 | |||
140 | mck: masterck { | ||
141 | compatible = "atmel,at91rm9200-clk-master"; | ||
142 | #clock-cells = <0>; | ||
143 | interrupts-extended = <&pmc AT91_PMC_MCKRDY>; | ||
144 | clocks = <&slow_xtal>, <&main>, <&plla>, <&pllb>; | ||
145 | atmel,clk-output-range = <0 80000000>; | ||
146 | atmel,clk-divisors = <1 2 3 4>; | ||
147 | }; | ||
148 | |||
149 | usb: usbck { | ||
150 | compatible = "atmel,at91rm9200-clk-usb"; | ||
151 | #clock-cells = <0>; | ||
152 | atmel,clk-divisors = <1 2>; | ||
153 | clocks = <&pllb>; | ||
154 | }; | ||
155 | |||
156 | prog: progck { | ||
157 | compatible = "atmel,at91rm9200-clk-programmable"; | ||
158 | #address-cells = <1>; | ||
159 | #size-cells = <0>; | ||
160 | interrupt-parent = <&pmc>; | ||
161 | clocks = <&slow_xtal>, <&main>, <&plla>, <&pllb>; | ||
162 | |||
163 | prog0: prog0 { | ||
164 | #clock-cells = <0>; | ||
165 | reg = <0>; | ||
166 | interrupts = <AT91_PMC_PCKRDY(0)>; | ||
167 | }; | ||
168 | |||
169 | prog1: prog1 { | ||
170 | #clock-cells = <0>; | ||
171 | reg = <1>; | ||
172 | interrupts = <AT91_PMC_PCKRDY(1)>; | ||
173 | }; | ||
174 | |||
175 | prog2: prog2 { | ||
176 | #clock-cells = <0>; | ||
177 | reg = <2>; | ||
178 | interrupts = <AT91_PMC_PCKRDY(2)>; | ||
179 | }; | ||
180 | |||
181 | prog3: prog3 { | ||
182 | #clock-cells = <0>; | ||
183 | reg = <3>; | ||
184 | interrupts = <AT91_PMC_PCKRDY(3)>; | ||
185 | }; | ||
186 | }; | ||
187 | |||
188 | systemck { | ||
189 | compatible = "atmel,at91rm9200-clk-system"; | ||
190 | #address-cells = <1>; | ||
191 | #size-cells = <0>; | ||
192 | |||
193 | udpck: udpck { | ||
194 | #clock-cells = <0>; | ||
195 | reg = <2>; | ||
196 | clocks = <&usb>; | ||
197 | }; | ||
198 | |||
199 | uhpck: uhpck { | ||
200 | #clock-cells = <0>; | ||
201 | reg = <4>; | ||
202 | clocks = <&usb>; | ||
203 | }; | ||
204 | |||
205 | pck0: pck0 { | ||
206 | #clock-cells = <0>; | ||
207 | reg = <8>; | ||
208 | clocks = <&prog0>; | ||
209 | }; | ||
210 | |||
211 | pck1: pck1 { | ||
212 | #clock-cells = <0>; | ||
213 | reg = <9>; | ||
214 | clocks = <&prog1>; | ||
215 | }; | ||
216 | |||
217 | pck2: pck2 { | ||
218 | #clock-cells = <0>; | ||
219 | reg = <10>; | ||
220 | clocks = <&prog2>; | ||
221 | }; | ||
222 | |||
223 | pck3: pck3 { | ||
224 | #clock-cells = <0>; | ||
225 | reg = <11>; | ||
226 | clocks = <&prog3>; | ||
227 | }; | ||
228 | }; | ||
229 | |||
230 | periphck { | ||
231 | compatible = "atmel,at91rm9200-clk-peripheral"; | ||
232 | #address-cells = <1>; | ||
233 | #size-cells = <0>; | ||
234 | clocks = <&mck>; | ||
235 | |||
236 | pioA_clk: pioA_clk { | ||
237 | #clock-cells = <0>; | ||
238 | reg = <2>; | ||
239 | }; | ||
240 | |||
241 | pioB_clk: pioB_clk { | ||
242 | #clock-cells = <0>; | ||
243 | reg = <3>; | ||
244 | }; | ||
245 | |||
246 | pioC_clk: pioC_clk { | ||
247 | #clock-cells = <0>; | ||
248 | reg = <4>; | ||
249 | }; | ||
250 | |||
251 | pioD_clk: pioD_clk { | ||
252 | #clock-cells = <0>; | ||
253 | reg = <5>; | ||
254 | }; | ||
255 | |||
256 | usart0_clk: usart0_clk { | ||
257 | #clock-cells = <0>; | ||
258 | reg = <6>; | ||
259 | }; | ||
260 | |||
261 | usart1_clk: usart1_clk { | ||
262 | #clock-cells = <0>; | ||
263 | reg = <7>; | ||
264 | }; | ||
265 | |||
266 | usart2_clk: usart2_clk { | ||
267 | #clock-cells = <0>; | ||
268 | reg = <8>; | ||
269 | }; | ||
270 | |||
271 | usart3_clk: usart3_clk { | ||
272 | #clock-cells = <0>; | ||
273 | reg = <9>; | ||
274 | }; | ||
275 | |||
276 | mci0_clk: mci0_clk { | ||
277 | #clock-cells = <0>; | ||
278 | reg = <10>; | ||
279 | }; | ||
280 | |||
281 | udc_clk: udc_clk { | ||
282 | #clock-cells = <0>; | ||
283 | reg = <11>; | ||
284 | }; | ||
285 | |||
286 | twi0_clk: twi0_clk { | ||
287 | reg = <12>; | ||
288 | #clock-cells = <0>; | ||
289 | }; | ||
290 | |||
291 | spi0_clk: spi0_clk { | ||
292 | #clock-cells = <0>; | ||
293 | reg = <13>; | ||
294 | }; | ||
295 | |||
296 | ssc0_clk: ssc0_clk { | ||
297 | #clock-cells = <0>; | ||
298 | reg = <14>; | ||
299 | }; | ||
300 | |||
301 | ssc1_clk: ssc1_clk { | ||
302 | #clock-cells = <0>; | ||
303 | reg = <15>; | ||
304 | }; | ||
305 | |||
306 | ssc2_clk: ssc2_clk { | ||
307 | #clock-cells = <0>; | ||
308 | reg = <16>; | ||
309 | }; | ||
310 | |||
311 | tc0_clk: tc0_clk { | ||
312 | #clock-cells = <0>; | ||
313 | reg = <17>; | ||
314 | }; | ||
315 | |||
316 | tc1_clk: tc1_clk { | ||
317 | #clock-cells = <0>; | ||
318 | reg = <18>; | ||
319 | }; | ||
320 | |||
321 | tc2_clk: tc2_clk { | ||
322 | #clock-cells = <0>; | ||
323 | reg = <19>; | ||
324 | }; | ||
325 | |||
326 | tc3_clk: tc3_clk { | ||
327 | #clock-cells = <0>; | ||
328 | reg = <20>; | ||
329 | }; | ||
330 | |||
331 | tc4_clk: tc4_clk { | ||
332 | #clock-cells = <0>; | ||
333 | reg = <21>; | ||
334 | }; | ||
335 | |||
336 | tc5_clk: tc5_clk { | ||
337 | #clock-cells = <0>; | ||
338 | reg = <22>; | ||
339 | }; | ||
340 | |||
341 | ohci_clk: ohci_clk { | ||
342 | #clock-cells = <0>; | ||
343 | reg = <23>; | ||
344 | }; | ||
345 | |||
346 | macb0_clk: macb0_clk { | ||
347 | #clock-cells = <0>; | ||
348 | reg = <24>; | ||
349 | }; | ||
350 | }; | ||
82 | }; | 351 | }; |
83 | 352 | ||
84 | st: timer@fffffd00 { | 353 | st: timer@fffffd00 { |
@@ -93,6 +362,8 @@ | |||
93 | interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0 | 362 | interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0 |
94 | 18 IRQ_TYPE_LEVEL_HIGH 0 | 363 | 18 IRQ_TYPE_LEVEL_HIGH 0 |
95 | 19 IRQ_TYPE_LEVEL_HIGH 0>; | 364 | 19 IRQ_TYPE_LEVEL_HIGH 0>; |
365 | clocks = <&tc0_clk>, <&tc1_clk>, <&tc2_clk>; | ||
366 | clock-names = "t0_clk", "t1_clk", "t2_clk"; | ||
96 | }; | 367 | }; |
97 | 368 | ||
98 | tcb1: timer@fffa4000 { | 369 | tcb1: timer@fffa4000 { |
@@ -101,6 +372,8 @@ | |||
101 | interrupts = <20 IRQ_TYPE_LEVEL_HIGH 0 | 372 | interrupts = <20 IRQ_TYPE_LEVEL_HIGH 0 |
102 | 21 IRQ_TYPE_LEVEL_HIGH 0 | 373 | 21 IRQ_TYPE_LEVEL_HIGH 0 |
103 | 22 IRQ_TYPE_LEVEL_HIGH 0>; | 374 | 22 IRQ_TYPE_LEVEL_HIGH 0>; |
375 | clocks = <&tc3_clk>, <&tc4_clk>, <&tc5_clk>; | ||
376 | clock-names = "t0_clk", "t1_clk", "t2_clk"; | ||
104 | }; | 377 | }; |
105 | 378 | ||
106 | i2c0: i2c@fffb8000 { | 379 | i2c0: i2c@fffb8000 { |
@@ -109,6 +382,7 @@ | |||
109 | interrupts = <12 IRQ_TYPE_LEVEL_HIGH 6>; | 382 | interrupts = <12 IRQ_TYPE_LEVEL_HIGH 6>; |
110 | pinctrl-names = "default"; | 383 | pinctrl-names = "default"; |
111 | pinctrl-0 = <&pinctrl_twi>; | 384 | pinctrl-0 = <&pinctrl_twi>; |
385 | clocks = <&twi0_clk>; | ||
112 | #address-cells = <1>; | 386 | #address-cells = <1>; |
113 | #size-cells = <0>; | 387 | #size-cells = <0>; |
114 | status = "disabled"; | 388 | status = "disabled"; |
@@ -118,6 +392,8 @@ | |||
118 | compatible = "atmel,hsmci"; | 392 | compatible = "atmel,hsmci"; |
119 | reg = <0xfffb4000 0x4000>; | 393 | reg = <0xfffb4000 0x4000>; |
120 | interrupts = <10 IRQ_TYPE_LEVEL_HIGH 0>; | 394 | interrupts = <10 IRQ_TYPE_LEVEL_HIGH 0>; |
395 | clocks = <&mci0_clk>; | ||
396 | clock-names = "mci_clk"; | ||
121 | #address-cells = <1>; | 397 | #address-cells = <1>; |
122 | #size-cells = <0>; | 398 | #size-cells = <0>; |
123 | pinctrl-names = "default"; | 399 | pinctrl-names = "default"; |
@@ -130,6 +406,8 @@ | |||
130 | interrupts = <14 IRQ_TYPE_LEVEL_HIGH 5>; | 406 | interrupts = <14 IRQ_TYPE_LEVEL_HIGH 5>; |
131 | pinctrl-names = "default"; | 407 | pinctrl-names = "default"; |
132 | pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>; | 408 | pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>; |
409 | clocks = <&ssc0_clk>; | ||
410 | clock-names = "pclk"; | ||
133 | status = "disable"; | 411 | status = "disable"; |
134 | }; | 412 | }; |
135 | 413 | ||
@@ -139,6 +417,8 @@ | |||
139 | interrupts = <15 IRQ_TYPE_LEVEL_HIGH 5>; | 417 | interrupts = <15 IRQ_TYPE_LEVEL_HIGH 5>; |
140 | pinctrl-names = "default"; | 418 | pinctrl-names = "default"; |
141 | pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>; | 419 | pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>; |
420 | clocks = <&ssc1_clk>; | ||
421 | clock-names = "pclk"; | ||
142 | status = "disable"; | 422 | status = "disable"; |
143 | }; | 423 | }; |
144 | 424 | ||
@@ -148,6 +428,8 @@ | |||
148 | interrupts = <16 IRQ_TYPE_LEVEL_HIGH 5>; | 428 | interrupts = <16 IRQ_TYPE_LEVEL_HIGH 5>; |
149 | pinctrl-names = "default"; | 429 | pinctrl-names = "default"; |
150 | pinctrl-0 = <&pinctrl_ssc2_tx &pinctrl_ssc2_rx>; | 430 | pinctrl-0 = <&pinctrl_ssc2_tx &pinctrl_ssc2_rx>; |
431 | clocks = <&ssc2_clk>; | ||
432 | clock-names = "pclk"; | ||
151 | status = "disable"; | 433 | status = "disable"; |
152 | }; | 434 | }; |
153 | 435 | ||
@@ -158,6 +440,8 @@ | |||
158 | phy-mode = "rmii"; | 440 | phy-mode = "rmii"; |
159 | pinctrl-names = "default"; | 441 | pinctrl-names = "default"; |
160 | pinctrl-0 = <&pinctrl_macb_rmii>; | 442 | pinctrl-0 = <&pinctrl_macb_rmii>; |
443 | clocks = <&macb0_clk>; | ||
444 | clock-names = "ether_clk"; | ||
161 | status = "disabled"; | 445 | status = "disabled"; |
162 | }; | 446 | }; |
163 | 447 | ||
@@ -496,6 +780,7 @@ | |||
496 | gpio-controller; | 780 | gpio-controller; |
497 | interrupt-controller; | 781 | interrupt-controller; |
498 | #interrupt-cells = <2>; | 782 | #interrupt-cells = <2>; |
783 | clocks = <&pioA_clk>; | ||
499 | }; | 784 | }; |
500 | 785 | ||
501 | pioB: gpio@fffff600 { | 786 | pioB: gpio@fffff600 { |
@@ -506,6 +791,7 @@ | |||
506 | gpio-controller; | 791 | gpio-controller; |
507 | interrupt-controller; | 792 | interrupt-controller; |
508 | #interrupt-cells = <2>; | 793 | #interrupt-cells = <2>; |
794 | clocks = <&pioB_clk>; | ||
509 | }; | 795 | }; |
510 | 796 | ||
511 | pioC: gpio@fffff800 { | 797 | pioC: gpio@fffff800 { |
@@ -516,6 +802,7 @@ | |||
516 | gpio-controller; | 802 | gpio-controller; |
517 | interrupt-controller; | 803 | interrupt-controller; |
518 | #interrupt-cells = <2>; | 804 | #interrupt-cells = <2>; |
805 | clocks = <&pioC_clk>; | ||
519 | }; | 806 | }; |
520 | 807 | ||
521 | pioD: gpio@fffffa00 { | 808 | pioD: gpio@fffffa00 { |
@@ -526,6 +813,7 @@ | |||
526 | gpio-controller; | 813 | gpio-controller; |
527 | interrupt-controller; | 814 | interrupt-controller; |
528 | #interrupt-cells = <2>; | 815 | #interrupt-cells = <2>; |
816 | clocks = <&pioD_clk>; | ||
529 | }; | 817 | }; |
530 | }; | 818 | }; |
531 | 819 | ||
@@ -535,6 +823,8 @@ | |||
535 | interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; | 823 | interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; |
536 | pinctrl-names = "default"; | 824 | pinctrl-names = "default"; |
537 | pinctrl-0 = <&pinctrl_dbgu>; | 825 | pinctrl-0 = <&pinctrl_dbgu>; |
826 | clocks = <&mck>; | ||
827 | clock-names = "usart"; | ||
538 | status = "disabled"; | 828 | status = "disabled"; |
539 | }; | 829 | }; |
540 | 830 | ||
@@ -546,6 +836,8 @@ | |||
546 | atmel,use-dma-tx; | 836 | atmel,use-dma-tx; |
547 | pinctrl-names = "default"; | 837 | pinctrl-names = "default"; |
548 | pinctrl-0 = <&pinctrl_uart0>; | 838 | pinctrl-0 = <&pinctrl_uart0>; |
839 | clocks = <&usart0_clk>; | ||
840 | clock-names = "usart"; | ||
549 | status = "disabled"; | 841 | status = "disabled"; |
550 | }; | 842 | }; |
551 | 843 | ||
@@ -557,6 +849,8 @@ | |||
557 | atmel,use-dma-tx; | 849 | atmel,use-dma-tx; |
558 | pinctrl-names = "default"; | 850 | pinctrl-names = "default"; |
559 | pinctrl-0 = <&pinctrl_uart1>; | 851 | pinctrl-0 = <&pinctrl_uart1>; |
852 | clocks = <&usart1_clk>; | ||
853 | clock-names = "usart"; | ||
560 | status = "disabled"; | 854 | status = "disabled"; |
561 | }; | 855 | }; |
562 | 856 | ||
@@ -568,6 +862,8 @@ | |||
568 | atmel,use-dma-tx; | 862 | atmel,use-dma-tx; |
569 | pinctrl-names = "default"; | 863 | pinctrl-names = "default"; |
570 | pinctrl-0 = <&pinctrl_uart2>; | 864 | pinctrl-0 = <&pinctrl_uart2>; |
865 | clocks = <&usart2_clk>; | ||
866 | clock-names = "usart"; | ||
571 | status = "disabled"; | 867 | status = "disabled"; |
572 | }; | 868 | }; |
573 | 869 | ||
@@ -579,6 +875,8 @@ | |||
579 | atmel,use-dma-tx; | 875 | atmel,use-dma-tx; |
580 | pinctrl-names = "default"; | 876 | pinctrl-names = "default"; |
581 | pinctrl-0 = <&pinctrl_uart3>; | 877 | pinctrl-0 = <&pinctrl_uart3>; |
878 | clocks = <&usart3_clk>; | ||
879 | clock-names = "usart"; | ||
582 | status = "disabled"; | 880 | status = "disabled"; |
583 | }; | 881 | }; |
584 | 882 | ||
@@ -586,6 +884,8 @@ | |||
586 | compatible = "atmel,at91rm9200-udc"; | 884 | compatible = "atmel,at91rm9200-udc"; |
587 | reg = <0xfffb0000 0x4000>; | 885 | reg = <0xfffb0000 0x4000>; |
588 | interrupts = <11 IRQ_TYPE_LEVEL_HIGH 2>; | 886 | interrupts = <11 IRQ_TYPE_LEVEL_HIGH 2>; |
887 | clocks = <&udc_clk>, <&udpck>; | ||
888 | clock-names = "pclk", "hclk"; | ||
589 | status = "disabled"; | 889 | status = "disabled"; |
590 | }; | 890 | }; |
591 | 891 | ||
@@ -597,6 +897,8 @@ | |||
597 | interrupts = <13 IRQ_TYPE_LEVEL_HIGH 3>; | 897 | interrupts = <13 IRQ_TYPE_LEVEL_HIGH 3>; |
598 | pinctrl-names = "default"; | 898 | pinctrl-names = "default"; |
599 | pinctrl-0 = <&pinctrl_spi0>; | 899 | pinctrl-0 = <&pinctrl_spi0>; |
900 | clocks = <&spi0_clk>; | ||
901 | clock-names = "spi_clk"; | ||
600 | status = "disabled"; | 902 | status = "disabled"; |
601 | }; | 903 | }; |
602 | }; | 904 | }; |
@@ -622,6 +924,8 @@ | |||
622 | compatible = "atmel,at91rm9200-ohci", "usb-ohci"; | 924 | compatible = "atmel,at91rm9200-ohci", "usb-ohci"; |
623 | reg = <0x00300000 0x100000>; | 925 | reg = <0x00300000 0x100000>; |
624 | interrupts = <23 IRQ_TYPE_LEVEL_HIGH 2>; | 926 | interrupts = <23 IRQ_TYPE_LEVEL_HIGH 2>; |
927 | clocks = <&usb>, <&ohci_clk>, <&ohci_clk>, <&uhpck>; | ||
928 | clock-names = "usb_clk", "ohci_clk", "hclk", "uhpck"; | ||
625 | status = "disabled"; | 929 | status = "disabled"; |
626 | }; | 930 | }; |
627 | }; | 931 | }; |
diff --git a/arch/arm/boot/dts/at91rm9200ek.dts b/arch/arm/boot/dts/at91rm9200ek.dts index df6b0aa0e4dd..43eb779dd6f6 100644 --- a/arch/arm/boot/dts/at91rm9200ek.dts +++ b/arch/arm/boot/dts/at91rm9200ek.dts | |||
@@ -25,6 +25,14 @@ | |||
25 | compatible = "atmel,osc", "fixed-clock"; | 25 | compatible = "atmel,osc", "fixed-clock"; |
26 | clock-frequency = <18432000>; | 26 | clock-frequency = <18432000>; |
27 | }; | 27 | }; |
28 | |||
29 | slow_xtal { | ||
30 | clock-frequency = <32768>; | ||
31 | }; | ||
32 | |||
33 | main_xtal { | ||
34 | clock-frequency = <18432000>; | ||
35 | }; | ||
28 | }; | 36 | }; |
29 | 37 | ||
30 | ahb { | 38 | ahb { |
diff --git a/arch/arm/boot/dts/at91sam9260.dtsi b/arch/arm/boot/dts/at91sam9260.dtsi index c0e0eae16a27..cb100b03a362 100644 --- a/arch/arm/boot/dts/at91sam9260.dtsi +++ b/arch/arm/boot/dts/at91sam9260.dtsi | |||
@@ -12,6 +12,7 @@ | |||
12 | #include <dt-bindings/pinctrl/at91.h> | 12 | #include <dt-bindings/pinctrl/at91.h> |
13 | #include <dt-bindings/interrupt-controller/irq.h> | 13 | #include <dt-bindings/interrupt-controller/irq.h> |
14 | #include <dt-bindings/gpio/gpio.h> | 14 | #include <dt-bindings/gpio/gpio.h> |
15 | #include <dt-bindings/clock/at91.h> | ||
15 | 16 | ||
16 | / { | 17 | / { |
17 | model = "Atmel AT91SAM9260 family SoC"; | 18 | model = "Atmel AT91SAM9260 family SoC"; |
@@ -48,6 +49,26 @@ | |||
48 | reg = <0x20000000 0x04000000>; | 49 | reg = <0x20000000 0x04000000>; |
49 | }; | 50 | }; |
50 | 51 | ||
52 | clocks { | ||
53 | slow_xtal: slow_xtal { | ||
54 | compatible = "fixed-clock"; | ||
55 | #clock-cells = <0>; | ||
56 | clock-frequency = <0>; | ||
57 | }; | ||
58 | |||
59 | main_xtal: main_xtal { | ||
60 | compatible = "fixed-clock"; | ||
61 | #clock-cells = <0>; | ||
62 | clock-frequency = <0>; | ||
63 | }; | ||
64 | |||
65 | adc_op_clk: adc_op_clk{ | ||
66 | compatible = "fixed-clock"; | ||
67 | #clock-cells = <0>; | ||
68 | clock-frequency = <5000000>; | ||
69 | }; | ||
70 | }; | ||
71 | |||
51 | ahb { | 72 | ahb { |
52 | compatible = "simple-bus"; | 73 | compatible = "simple-bus"; |
53 | #address-cells = <1>; | 74 | #address-cells = <1>; |
@@ -74,8 +95,260 @@ | |||
74 | }; | 95 | }; |
75 | 96 | ||
76 | pmc: pmc@fffffc00 { | 97 | pmc: pmc@fffffc00 { |
77 | compatible = "atmel,at91rm9200-pmc"; | 98 | compatible = "atmel,at91sam9260-pmc"; |
78 | reg = <0xfffffc00 0x100>; | 99 | reg = <0xfffffc00 0x100>; |
100 | interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; | ||
101 | interrupt-controller; | ||
102 | #address-cells = <1>; | ||
103 | #size-cells = <0>; | ||
104 | #interrupt-cells = <1>; | ||
105 | |||
106 | main_osc: main_osc { | ||
107 | compatible = "atmel,at91rm9200-clk-main-osc"; | ||
108 | #clock-cells = <0>; | ||
109 | interrupts-extended = <&pmc AT91_PMC_MOSCS>; | ||
110 | clocks = <&main_xtal>; | ||
111 | }; | ||
112 | |||
113 | main: mainck { | ||
114 | compatible = "atmel,at91rm9200-clk-main"; | ||
115 | #clock-cells = <0>; | ||
116 | clocks = <&main_osc>; | ||
117 | }; | ||
118 | |||
119 | slow_rc_osc: slow_rc_osc { | ||
120 | compatible = "fixed-clock"; | ||
121 | #clock-cells = <0>; | ||
122 | clock-frequency = <32768>; | ||
123 | clock-accuracy = <50000000>; | ||
124 | }; | ||
125 | |||
126 | clk32k: slck { | ||
127 | compatible = "atmel,at91sam9260-clk-slow"; | ||
128 | #clock-cells = <0>; | ||
129 | clocks = <&slow_rc_osc>, <&slow_xtal>; | ||
130 | }; | ||
131 | |||
132 | plla: pllack { | ||
133 | compatible = "atmel,at91rm9200-clk-pll"; | ||
134 | #clock-cells = <0>; | ||
135 | interrupts-extended = <&pmc AT91_PMC_LOCKA>; | ||
136 | clocks = <&main>; | ||
137 | reg = <0>; | ||
138 | atmel,clk-input-range = <1000000 32000000>; | ||
139 | #atmel,pll-clk-output-range-cells = <4>; | ||
140 | atmel,pll-clk-output-ranges = <80000000 160000000 0 1>, | ||
141 | <150000000 240000000 2 1>; | ||
142 | }; | ||
143 | |||
144 | pllb: pllbck { | ||
145 | compatible = "atmel,at91rm9200-clk-pll"; | ||
146 | #clock-cells = <0>; | ||
147 | interrupts-extended = <&pmc AT91_PMC_LOCKB>; | ||
148 | clocks = <&main>; | ||
149 | reg = <1>; | ||
150 | atmel,clk-input-range = <1000000 5000000>; | ||
151 | #atmel,pll-clk-output-range-cells = <4>; | ||
152 | atmel,pll-clk-output-ranges = <70000000 130000000 1 1>; | ||
153 | }; | ||
154 | |||
155 | mck: masterck { | ||
156 | compatible = "atmel,at91rm9200-clk-master"; | ||
157 | #clock-cells = <0>; | ||
158 | interrupts-extended = <&pmc AT91_PMC_MCKRDY>; | ||
159 | clocks = <&clk32k>, <&main>, <&plla>, <&pllb>; | ||
160 | atmel,clk-output-range = <0 105000000>; | ||
161 | atmel,clk-divisors = <1 2 4 0>; | ||
162 | }; | ||
163 | |||
164 | usb: usbck { | ||
165 | compatible = "atmel,at91rm9200-clk-usb"; | ||
166 | #clock-cells = <0>; | ||
167 | atmel,clk-divisors = <1 2 4 0>; | ||
168 | clocks = <&pllb>; | ||
169 | }; | ||
170 | |||
171 | prog: progck { | ||
172 | compatible = "atmel,at91rm9200-clk-programmable"; | ||
173 | #address-cells = <1>; | ||
174 | #size-cells = <0>; | ||
175 | interrupt-parent = <&pmc>; | ||
176 | clocks = <&clk32k>, <&main>, <&plla>, <&pllb>; | ||
177 | |||
178 | prog0: prog0 { | ||
179 | #clock-cells = <0>; | ||
180 | reg = <0>; | ||
181 | interrupts = <AT91_PMC_PCKRDY(0)>; | ||
182 | }; | ||
183 | |||
184 | prog1: prog1 { | ||
185 | #clock-cells = <0>; | ||
186 | reg = <1>; | ||
187 | interrupts = <AT91_PMC_PCKRDY(1)>; | ||
188 | }; | ||
189 | }; | ||
190 | |||
191 | systemck { | ||
192 | compatible = "atmel,at91rm9200-clk-system"; | ||
193 | #address-cells = <1>; | ||
194 | #size-cells = <0>; | ||
195 | |||
196 | uhpck: uhpck { | ||
197 | #clock-cells = <0>; | ||
198 | reg = <6>; | ||
199 | clocks = <&usb>; | ||
200 | }; | ||
201 | |||
202 | udpck: udpck { | ||
203 | #clock-cells = <0>; | ||
204 | reg = <7>; | ||
205 | clocks = <&usb>; | ||
206 | }; | ||
207 | |||
208 | pck0: pck0 { | ||
209 | #clock-cells = <0>; | ||
210 | reg = <8>; | ||
211 | clocks = <&prog0>; | ||
212 | }; | ||
213 | |||
214 | pck1: pck1 { | ||
215 | #clock-cells = <0>; | ||
216 | reg = <9>; | ||
217 | clocks = <&prog1>; | ||
218 | }; | ||
219 | }; | ||
220 | |||
221 | periphck { | ||
222 | compatible = "atmel,at91rm9200-clk-peripheral"; | ||
223 | #address-cells = <1>; | ||
224 | #size-cells = <0>; | ||
225 | clocks = <&mck>; | ||
226 | |||
227 | pioA_clk: pioA_clk { | ||
228 | #clock-cells = <0>; | ||
229 | reg = <2>; | ||
230 | }; | ||
231 | |||
232 | pioB_clk: pioB_clk { | ||
233 | #clock-cells = <0>; | ||
234 | reg = <3>; | ||
235 | }; | ||
236 | |||
237 | pioC_clk: pioC_clk { | ||
238 | #clock-cells = <0>; | ||
239 | reg = <4>; | ||
240 | }; | ||
241 | |||
242 | adc_clk: adc_clk { | ||
243 | #clock-cells = <0>; | ||
244 | reg = <5>; | ||
245 | }; | ||
246 | |||
247 | usart0_clk: usart0_clk { | ||
248 | #clock-cells = <0>; | ||
249 | reg = <6>; | ||
250 | }; | ||
251 | |||
252 | usart1_clk: usart1_clk { | ||
253 | #clock-cells = <0>; | ||
254 | reg = <7>; | ||
255 | }; | ||
256 | |||
257 | usart2_clk: usart2_clk { | ||
258 | #clock-cells = <0>; | ||
259 | reg = <8>; | ||
260 | }; | ||
261 | |||
262 | mci0_clk: mci0_clk { | ||
263 | #clock-cells = <0>; | ||
264 | reg = <9>; | ||
265 | }; | ||
266 | |||
267 | udc_clk: udc_clk { | ||
268 | #clock-cells = <0>; | ||
269 | reg = <10>; | ||
270 | }; | ||
271 | |||
272 | twi0_clk: twi0_clk { | ||
273 | reg = <11>; | ||
274 | #clock-cells = <0>; | ||
275 | }; | ||
276 | |||
277 | spi0_clk: spi0_clk { | ||
278 | #clock-cells = <0>; | ||
279 | reg = <12>; | ||
280 | }; | ||
281 | |||
282 | spi1_clk: spi1_clk { | ||
283 | #clock-cells = <0>; | ||
284 | reg = <13>; | ||
285 | }; | ||
286 | |||
287 | ssc0_clk: ssc0_clk { | ||
288 | #clock-cells = <0>; | ||
289 | reg = <14>; | ||
290 | }; | ||
291 | |||
292 | tc0_clk: tc0_clk { | ||
293 | #clock-cells = <0>; | ||
294 | reg = <17>; | ||
295 | }; | ||
296 | |||
297 | tc1_clk: tc1_clk { | ||
298 | #clock-cells = <0>; | ||
299 | reg = <18>; | ||
300 | }; | ||
301 | |||
302 | tc2_clk: tc2_clk { | ||
303 | #clock-cells = <0>; | ||
304 | reg = <19>; | ||
305 | }; | ||
306 | |||
307 | ohci_clk: ohci_clk { | ||
308 | #clock-cells = <0>; | ||
309 | reg = <20>; | ||
310 | }; | ||
311 | |||
312 | macb0_clk: macb0_clk { | ||
313 | #clock-cells = <0>; | ||
314 | reg = <21>; | ||
315 | }; | ||
316 | |||
317 | isi_clk: isi_clk { | ||
318 | #clock-cells = <0>; | ||
319 | reg = <22>; | ||
320 | }; | ||
321 | |||
322 | usart3_clk: usart3_clk { | ||
323 | #clock-cells = <0>; | ||
324 | reg = <23>; | ||
325 | }; | ||
326 | |||
327 | uart0_clk: uart0_clk { | ||
328 | #clock-cells = <0>; | ||
329 | reg = <24>; | ||
330 | }; | ||
331 | |||
332 | uart1_clk: uart1_clk { | ||
333 | #clock-cells = <0>; | ||
334 | reg = <25>; | ||
335 | }; | ||
336 | |||
337 | tc3_clk: tc3_clk { | ||
338 | #clock-cells = <0>; | ||
339 | reg = <26>; | ||
340 | }; | ||
341 | |||
342 | tc4_clk: tc4_clk { | ||
343 | #clock-cells = <0>; | ||
344 | reg = <27>; | ||
345 | }; | ||
346 | |||
347 | tc5_clk: tc5_clk { | ||
348 | #clock-cells = <0>; | ||
349 | reg = <28>; | ||
350 | }; | ||
351 | }; | ||
79 | }; | 352 | }; |
80 | 353 | ||
81 | rstc@fffffd00 { | 354 | rstc@fffffd00 { |
@@ -92,6 +365,7 @@ | |||
92 | compatible = "atmel,at91sam9260-pit"; | 365 | compatible = "atmel,at91sam9260-pit"; |
93 | reg = <0xfffffd30 0xf>; | 366 | reg = <0xfffffd30 0xf>; |
94 | interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; | 367 | interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; |
368 | clocks = <&mck>; | ||
95 | }; | 369 | }; |
96 | 370 | ||
97 | tcb0: timer@fffa0000 { | 371 | tcb0: timer@fffa0000 { |
@@ -100,6 +374,8 @@ | |||
100 | interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0 | 374 | interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0 |
101 | 18 IRQ_TYPE_LEVEL_HIGH 0 | 375 | 18 IRQ_TYPE_LEVEL_HIGH 0 |
102 | 19 IRQ_TYPE_LEVEL_HIGH 0>; | 376 | 19 IRQ_TYPE_LEVEL_HIGH 0>; |
377 | clocks = <&tc0_clk>, <&tc1_clk>, <&tc2_clk>; | ||
378 | clock-names = "t0_clk", "t1_clk", "t2_clk"; | ||
103 | }; | 379 | }; |
104 | 380 | ||
105 | tcb1: timer@fffdc000 { | 381 | tcb1: timer@fffdc000 { |
@@ -108,6 +384,8 @@ | |||
108 | interrupts = <26 IRQ_TYPE_LEVEL_HIGH 0 | 384 | interrupts = <26 IRQ_TYPE_LEVEL_HIGH 0 |
109 | 27 IRQ_TYPE_LEVEL_HIGH 0 | 385 | 27 IRQ_TYPE_LEVEL_HIGH 0 |
110 | 28 IRQ_TYPE_LEVEL_HIGH 0>; | 386 | 28 IRQ_TYPE_LEVEL_HIGH 0>; |
387 | clocks = <&tc3_clk>, <&tc4_clk>, <&tc5_clk>; | ||
388 | clock-names = "t0_clk", "t1_clk", "t2_clk"; | ||
111 | }; | 389 | }; |
112 | 390 | ||
113 | pinctrl@fffff400 { | 391 | pinctrl@fffff400 { |
@@ -443,6 +721,7 @@ | |||
443 | gpio-controller; | 721 | gpio-controller; |
444 | interrupt-controller; | 722 | interrupt-controller; |
445 | #interrupt-cells = <2>; | 723 | #interrupt-cells = <2>; |
724 | clocks = <&pioA_clk>; | ||
446 | }; | 725 | }; |
447 | 726 | ||
448 | pioB: gpio@fffff600 { | 727 | pioB: gpio@fffff600 { |
@@ -453,6 +732,7 @@ | |||
453 | gpio-controller; | 732 | gpio-controller; |
454 | interrupt-controller; | 733 | interrupt-controller; |
455 | #interrupt-cells = <2>; | 734 | #interrupt-cells = <2>; |
735 | clocks = <&pioB_clk>; | ||
456 | }; | 736 | }; |
457 | 737 | ||
458 | pioC: gpio@fffff800 { | 738 | pioC: gpio@fffff800 { |
@@ -463,6 +743,7 @@ | |||
463 | gpio-controller; | 743 | gpio-controller; |
464 | interrupt-controller; | 744 | interrupt-controller; |
465 | #interrupt-cells = <2>; | 745 | #interrupt-cells = <2>; |
746 | clocks = <&pioC_clk>; | ||
466 | }; | 747 | }; |
467 | }; | 748 | }; |
468 | 749 | ||
@@ -472,6 +753,8 @@ | |||
472 | interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; | 753 | interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; |
473 | pinctrl-names = "default"; | 754 | pinctrl-names = "default"; |
474 | pinctrl-0 = <&pinctrl_dbgu>; | 755 | pinctrl-0 = <&pinctrl_dbgu>; |
756 | clocks = <&mck>; | ||
757 | clock-names = "usart"; | ||
475 | status = "disabled"; | 758 | status = "disabled"; |
476 | }; | 759 | }; |
477 | 760 | ||
@@ -483,6 +766,8 @@ | |||
483 | atmel,use-dma-tx; | 766 | atmel,use-dma-tx; |
484 | pinctrl-names = "default"; | 767 | pinctrl-names = "default"; |
485 | pinctrl-0 = <&pinctrl_usart0>; | 768 | pinctrl-0 = <&pinctrl_usart0>; |
769 | clocks = <&usart0_clk>; | ||
770 | clock-names = "usart"; | ||
486 | status = "disabled"; | 771 | status = "disabled"; |
487 | }; | 772 | }; |
488 | 773 | ||
@@ -494,6 +779,8 @@ | |||
494 | atmel,use-dma-tx; | 779 | atmel,use-dma-tx; |
495 | pinctrl-names = "default"; | 780 | pinctrl-names = "default"; |
496 | pinctrl-0 = <&pinctrl_usart1>; | 781 | pinctrl-0 = <&pinctrl_usart1>; |
782 | clocks = <&usart1_clk>; | ||
783 | clock-names = "usart"; | ||
497 | status = "disabled"; | 784 | status = "disabled"; |
498 | }; | 785 | }; |
499 | 786 | ||
@@ -505,6 +792,8 @@ | |||
505 | atmel,use-dma-tx; | 792 | atmel,use-dma-tx; |
506 | pinctrl-names = "default"; | 793 | pinctrl-names = "default"; |
507 | pinctrl-0 = <&pinctrl_usart2>; | 794 | pinctrl-0 = <&pinctrl_usart2>; |
795 | clocks = <&usart2_clk>; | ||
796 | clock-names = "usart"; | ||
508 | status = "disabled"; | 797 | status = "disabled"; |
509 | }; | 798 | }; |
510 | 799 | ||
@@ -516,6 +805,8 @@ | |||
516 | atmel,use-dma-tx; | 805 | atmel,use-dma-tx; |
517 | pinctrl-names = "default"; | 806 | pinctrl-names = "default"; |
518 | pinctrl-0 = <&pinctrl_usart3>; | 807 | pinctrl-0 = <&pinctrl_usart3>; |
808 | clocks = <&usart3_clk>; | ||
809 | clock-names = "usart"; | ||
519 | status = "disabled"; | 810 | status = "disabled"; |
520 | }; | 811 | }; |
521 | 812 | ||
@@ -527,6 +818,8 @@ | |||
527 | atmel,use-dma-tx; | 818 | atmel,use-dma-tx; |
528 | pinctrl-names = "default"; | 819 | pinctrl-names = "default"; |
529 | pinctrl-0 = <&pinctrl_uart0>; | 820 | pinctrl-0 = <&pinctrl_uart0>; |
821 | clocks = <&uart0_clk>; | ||
822 | clock-names = "usart"; | ||
530 | status = "disabled"; | 823 | status = "disabled"; |
531 | }; | 824 | }; |
532 | 825 | ||
@@ -538,6 +831,8 @@ | |||
538 | atmel,use-dma-tx; | 831 | atmel,use-dma-tx; |
539 | pinctrl-names = "default"; | 832 | pinctrl-names = "default"; |
540 | pinctrl-0 = <&pinctrl_uart1>; | 833 | pinctrl-0 = <&pinctrl_uart1>; |
834 | clocks = <&uart1_clk>; | ||
835 | clock-names = "usart"; | ||
541 | status = "disabled"; | 836 | status = "disabled"; |
542 | }; | 837 | }; |
543 | 838 | ||
@@ -547,6 +842,8 @@ | |||
547 | interrupts = <21 IRQ_TYPE_LEVEL_HIGH 3>; | 842 | interrupts = <21 IRQ_TYPE_LEVEL_HIGH 3>; |
548 | pinctrl-names = "default"; | 843 | pinctrl-names = "default"; |
549 | pinctrl-0 = <&pinctrl_macb_rmii>; | 844 | pinctrl-0 = <&pinctrl_macb_rmii>; |
845 | clocks = <&macb0_clk>, <&macb0_clk>; | ||
846 | clock-names = "hclk", "pclk"; | ||
550 | status = "disabled"; | 847 | status = "disabled"; |
551 | }; | 848 | }; |
552 | 849 | ||
@@ -554,6 +851,8 @@ | |||
554 | compatible = "atmel,at91rm9200-udc"; | 851 | compatible = "atmel,at91rm9200-udc"; |
555 | reg = <0xfffa4000 0x4000>; | 852 | reg = <0xfffa4000 0x4000>; |
556 | interrupts = <10 IRQ_TYPE_LEVEL_HIGH 2>; | 853 | interrupts = <10 IRQ_TYPE_LEVEL_HIGH 2>; |
854 | clocks = <&udc_clk>, <&udpck>; | ||
855 | clock-names = "pclk", "hclk"; | ||
557 | status = "disabled"; | 856 | status = "disabled"; |
558 | }; | 857 | }; |
559 | 858 | ||
@@ -563,6 +862,7 @@ | |||
563 | interrupts = <11 IRQ_TYPE_LEVEL_HIGH 6>; | 862 | interrupts = <11 IRQ_TYPE_LEVEL_HIGH 6>; |
564 | #address-cells = <1>; | 863 | #address-cells = <1>; |
565 | #size-cells = <0>; | 864 | #size-cells = <0>; |
865 | clocks = <&twi0_clk>; | ||
566 | status = "disabled"; | 866 | status = "disabled"; |
567 | }; | 867 | }; |
568 | 868 | ||
@@ -573,6 +873,8 @@ | |||
573 | #address-cells = <1>; | 873 | #address-cells = <1>; |
574 | #size-cells = <0>; | 874 | #size-cells = <0>; |
575 | pinctrl-names = "default"; | 875 | pinctrl-names = "default"; |
876 | clocks = <&mci0_clk>; | ||
877 | clock-names = "mci_clk"; | ||
576 | status = "disabled"; | 878 | status = "disabled"; |
577 | }; | 879 | }; |
578 | 880 | ||
@@ -582,6 +884,8 @@ | |||
582 | interrupts = <14 IRQ_TYPE_LEVEL_HIGH 5>; | 884 | interrupts = <14 IRQ_TYPE_LEVEL_HIGH 5>; |
583 | pinctrl-names = "default"; | 885 | pinctrl-names = "default"; |
584 | pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>; | 886 | pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>; |
887 | clocks = <&ssc0_clk>; | ||
888 | clock-names = "pclk"; | ||
585 | status = "disabled"; | 889 | status = "disabled"; |
586 | }; | 890 | }; |
587 | 891 | ||
@@ -593,6 +897,8 @@ | |||
593 | interrupts = <12 IRQ_TYPE_LEVEL_HIGH 3>; | 897 | interrupts = <12 IRQ_TYPE_LEVEL_HIGH 3>; |
594 | pinctrl-names = "default"; | 898 | pinctrl-names = "default"; |
595 | pinctrl-0 = <&pinctrl_spi0>; | 899 | pinctrl-0 = <&pinctrl_spi0>; |
900 | clocks = <&spi0_clk>; | ||
901 | clock-names = "spi_clk"; | ||
596 | status = "disabled"; | 902 | status = "disabled"; |
597 | }; | 903 | }; |
598 | 904 | ||
@@ -604,6 +910,8 @@ | |||
604 | interrupts = <13 IRQ_TYPE_LEVEL_HIGH 3>; | 910 | interrupts = <13 IRQ_TYPE_LEVEL_HIGH 3>; |
605 | pinctrl-names = "default"; | 911 | pinctrl-names = "default"; |
606 | pinctrl-0 = <&pinctrl_spi1>; | 912 | pinctrl-0 = <&pinctrl_spi1>; |
913 | clocks = <&spi1_clk>; | ||
914 | clock-names = "spi_clk"; | ||
607 | status = "disabled"; | 915 | status = "disabled"; |
608 | }; | 916 | }; |
609 | 917 | ||
@@ -613,6 +921,8 @@ | |||
613 | compatible = "atmel,at91sam9260-adc"; | 921 | compatible = "atmel,at91sam9260-adc"; |
614 | reg = <0xfffe0000 0x100>; | 922 | reg = <0xfffe0000 0x100>; |
615 | interrupts = <5 IRQ_TYPE_LEVEL_HIGH 0>; | 923 | interrupts = <5 IRQ_TYPE_LEVEL_HIGH 0>; |
924 | clocks = <&adc_clk>, <&adc_op_clk>; | ||
925 | clock-names = "adc_clk", "adc_op_clk"; | ||
616 | atmel,adc-use-external-triggers; | 926 | atmel,adc-use-external-triggers; |
617 | atmel,adc-channels-used = <0xf>; | 927 | atmel,adc-channels-used = <0xf>; |
618 | atmel,adc-vref = <3300>; | 928 | atmel,adc-vref = <3300>; |
@@ -680,6 +990,8 @@ | |||
680 | compatible = "atmel,at91rm9200-ohci", "usb-ohci"; | 990 | compatible = "atmel,at91rm9200-ohci", "usb-ohci"; |
681 | reg = <0x00500000 0x100000>; | 991 | reg = <0x00500000 0x100000>; |
682 | interrupts = <20 IRQ_TYPE_LEVEL_HIGH 2>; | 992 | interrupts = <20 IRQ_TYPE_LEVEL_HIGH 2>; |
993 | clocks = <&usb>, <&ohci_clk>, <&ohci_clk>, <&uhpck>; | ||
994 | clock-names = "usb_clk", "ohci_clk", "hclk", "uhpck"; | ||
683 | status = "disabled"; | 995 | status = "disabled"; |
684 | }; | 996 | }; |
685 | }; | 997 | }; |
diff --git a/arch/arm/boot/dts/at91sam9263.dtsi b/arch/arm/boot/dts/at91sam9263.dtsi index fece8665fb63..bb23c2d33cf8 100644 --- a/arch/arm/boot/dts/at91sam9263.dtsi +++ b/arch/arm/boot/dts/at91sam9263.dtsi | |||
@@ -10,6 +10,7 @@ | |||
10 | #include <dt-bindings/pinctrl/at91.h> | 10 | #include <dt-bindings/pinctrl/at91.h> |
11 | #include <dt-bindings/interrupt-controller/irq.h> | 11 | #include <dt-bindings/interrupt-controller/irq.h> |
12 | #include <dt-bindings/gpio/gpio.h> | 12 | #include <dt-bindings/gpio/gpio.h> |
13 | #include <dt-bindings/clock/at91.h> | ||
13 | 14 | ||
14 | / { | 15 | / { |
15 | model = "Atmel AT91SAM9263 family SoC"; | 16 | model = "Atmel AT91SAM9263 family SoC"; |
@@ -32,6 +33,7 @@ | |||
32 | ssc1 = &ssc1; | 33 | ssc1 = &ssc1; |
33 | pwm0 = &pwm0; | 34 | pwm0 = &pwm0; |
34 | }; | 35 | }; |
36 | |||
35 | cpus { | 37 | cpus { |
36 | #address-cells = <0>; | 38 | #address-cells = <0>; |
37 | #size-cells = <0>; | 39 | #size-cells = <0>; |
@@ -46,6 +48,20 @@ | |||
46 | reg = <0x20000000 0x08000000>; | 48 | reg = <0x20000000 0x08000000>; |
47 | }; | 49 | }; |
48 | 50 | ||
51 | clocks { | ||
52 | main_xtal: main_xtal { | ||
53 | compatible = "fixed-clock"; | ||
54 | #clock-cells = <0>; | ||
55 | clock-frequency = <0>; | ||
56 | }; | ||
57 | |||
58 | slow_xtal: slow_xtal { | ||
59 | compatible = "fixed-clock"; | ||
60 | #clock-cells = <0>; | ||
61 | clock-frequency = <0>; | ||
62 | }; | ||
63 | }; | ||
64 | |||
49 | ahb { | 65 | ahb { |
50 | compatible = "simple-bus"; | 66 | compatible = "simple-bus"; |
51 | #address-cells = <1>; | 67 | #address-cells = <1>; |
@@ -69,6 +85,264 @@ | |||
69 | pmc: pmc@fffffc00 { | 85 | pmc: pmc@fffffc00 { |
70 | compatible = "atmel,at91rm9200-pmc"; | 86 | compatible = "atmel,at91rm9200-pmc"; |
71 | reg = <0xfffffc00 0x100>; | 87 | reg = <0xfffffc00 0x100>; |
88 | interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; | ||
89 | interrupt-controller; | ||
90 | #address-cells = <1>; | ||
91 | #size-cells = <0>; | ||
92 | #interrupt-cells = <1>; | ||
93 | |||
94 | main_osc: main_osc { | ||
95 | compatible = "atmel,at91rm9200-clk-main-osc"; | ||
96 | #clock-cells = <0>; | ||
97 | interrupts-extended = <&pmc AT91_PMC_MOSCS>; | ||
98 | clocks = <&main_xtal>; | ||
99 | }; | ||
100 | |||
101 | main: mainck { | ||
102 | compatible = "atmel,at91rm9200-clk-main"; | ||
103 | #clock-cells = <0>; | ||
104 | clocks = <&main_osc>; | ||
105 | }; | ||
106 | |||
107 | plla: pllack { | ||
108 | compatible = "atmel,at91rm9200-clk-pll"; | ||
109 | #clock-cells = <0>; | ||
110 | interrupts-extended = <&pmc AT91_PMC_LOCKA>; | ||
111 | clocks = <&main>; | ||
112 | reg = <0>; | ||
113 | atmel,clk-input-range = <1000000 32000000>; | ||
114 | #atmel,pll-clk-output-range-cells = <4>; | ||
115 | atmel,pll-clk-output-ranges = <80000000 200000000 0 1>, | ||
116 | <190000000 240000000 2 1>; | ||
117 | }; | ||
118 | |||
119 | pllb: pllbck { | ||
120 | compatible = "atmel,at91rm9200-clk-pll"; | ||
121 | #clock-cells = <0>; | ||
122 | interrupts-extended = <&pmc AT91_PMC_LOCKB>; | ||
123 | clocks = <&main>; | ||
124 | reg = <1>; | ||
125 | atmel,clk-input-range = <1000000 5000000>; | ||
126 | #atmel,pll-clk-output-range-cells = <4>; | ||
127 | atmel,pll-clk-output-ranges = <70000000 130000000 1 1>; | ||
128 | }; | ||
129 | |||
130 | mck: masterck { | ||
131 | compatible = "atmel,at91rm9200-clk-master"; | ||
132 | #clock-cells = <0>; | ||
133 | interrupts-extended = <&pmc AT91_PMC_MCKRDY>; | ||
134 | clocks = <&slow_xtal>, <&main>, <&plla>, <&pllb>; | ||
135 | atmel,clk-output-range = <0 120000000>; | ||
136 | atmel,clk-divisors = <1 2 4 0>; | ||
137 | }; | ||
138 | |||
139 | usb: usbck { | ||
140 | compatible = "atmel,at91rm9200-clk-usb"; | ||
141 | #clock-cells = <0>; | ||
142 | atmel,clk-divisors = <1 2 4 0>; | ||
143 | clocks = <&pllb>; | ||
144 | }; | ||
145 | |||
146 | prog: progck { | ||
147 | compatible = "atmel,at91rm9200-clk-programmable"; | ||
148 | #address-cells = <1>; | ||
149 | #size-cells = <0>; | ||
150 | interrupt-parent = <&pmc>; | ||
151 | clocks = <&slow_xtal>, <&main>, <&plla>, <&pllb>; | ||
152 | |||
153 | prog0: prog0 { | ||
154 | #clock-cells = <0>; | ||
155 | reg = <0>; | ||
156 | interrupts = <AT91_PMC_PCKRDY(0)>; | ||
157 | }; | ||
158 | |||
159 | prog1: prog1 { | ||
160 | #clock-cells = <0>; | ||
161 | reg = <1>; | ||
162 | interrupts = <AT91_PMC_PCKRDY(1)>; | ||
163 | }; | ||
164 | |||
165 | prog2: prog2 { | ||
166 | #clock-cells = <0>; | ||
167 | reg = <2>; | ||
168 | interrupts = <AT91_PMC_PCKRDY(2)>; | ||
169 | }; | ||
170 | |||
171 | prog3: prog3 { | ||
172 | #clock-cells = <0>; | ||
173 | reg = <3>; | ||
174 | interrupts = <AT91_PMC_PCKRDY(3)>; | ||
175 | }; | ||
176 | }; | ||
177 | |||
178 | systemck { | ||
179 | compatible = "atmel,at91rm9200-clk-system"; | ||
180 | #address-cells = <1>; | ||
181 | #size-cells = <0>; | ||
182 | |||
183 | uhpck: uhpck { | ||
184 | #clock-cells = <0>; | ||
185 | reg = <6>; | ||
186 | clocks = <&usb>; | ||
187 | }; | ||
188 | |||
189 | udpck: udpck { | ||
190 | #clock-cells = <0>; | ||
191 | reg = <7>; | ||
192 | clocks = <&usb>; | ||
193 | }; | ||
194 | |||
195 | pck0: pck0 { | ||
196 | #clock-cells = <0>; | ||
197 | reg = <8>; | ||
198 | clocks = <&prog0>; | ||
199 | }; | ||
200 | |||
201 | pck1: pck1 { | ||
202 | #clock-cells = <0>; | ||
203 | reg = <9>; | ||
204 | clocks = <&prog1>; | ||
205 | }; | ||
206 | |||
207 | pck2: pck2 { | ||
208 | #clock-cells = <0>; | ||
209 | reg = <10>; | ||
210 | clocks = <&prog2>; | ||
211 | }; | ||
212 | |||
213 | pck3: pck3 { | ||
214 | #clock-cells = <0>; | ||
215 | reg = <11>; | ||
216 | clocks = <&prog3>; | ||
217 | }; | ||
218 | }; | ||
219 | |||
220 | periphck { | ||
221 | compatible = "atmel,at91rm9200-clk-peripheral"; | ||
222 | #address-cells = <1>; | ||
223 | #size-cells = <0>; | ||
224 | clocks = <&mck>; | ||
225 | |||
226 | pioA_clk: pioA_clk { | ||
227 | #clock-cells = <0>; | ||
228 | reg = <2>; | ||
229 | }; | ||
230 | |||
231 | pioB_clk: pioB_clk { | ||
232 | #clock-cells = <0>; | ||
233 | reg = <3>; | ||
234 | }; | ||
235 | |||
236 | pioCDE_clk: pioCDE_clk { | ||
237 | #clock-cells = <0>; | ||
238 | reg = <4>; | ||
239 | }; | ||
240 | |||
241 | usart0_clk: usart0_clk { | ||
242 | #clock-cells = <0>; | ||
243 | reg = <7>; | ||
244 | }; | ||
245 | |||
246 | usart1_clk: usart1_clk { | ||
247 | #clock-cells = <0>; | ||
248 | reg = <8>; | ||
249 | }; | ||
250 | |||
251 | usart2_clk: usart2_clk { | ||
252 | #clock-cells = <0>; | ||
253 | reg = <9>; | ||
254 | }; | ||
255 | |||
256 | mci0_clk: mci0_clk { | ||
257 | #clock-cells = <0>; | ||
258 | reg = <10>; | ||
259 | }; | ||
260 | |||
261 | mci1_clk: mci1_clk { | ||
262 | #clock-cells = <0>; | ||
263 | reg = <11>; | ||
264 | }; | ||
265 | |||
266 | can_clk: can_clk { | ||
267 | #clock-cells = <0>; | ||
268 | reg = <12>; | ||
269 | }; | ||
270 | |||
271 | twi0_clk: twi0_clk { | ||
272 | #clock-cells = <0>; | ||
273 | reg = <13>; | ||
274 | }; | ||
275 | |||
276 | spi0_clk: spi0_clk { | ||
277 | #clock-cells = <0>; | ||
278 | reg = <14>; | ||
279 | }; | ||
280 | |||
281 | spi1_clk: spi1_clk { | ||
282 | #clock-cells = <0>; | ||
283 | reg = <15>; | ||
284 | }; | ||
285 | |||
286 | ssc0_clk: ssc0_clk { | ||
287 | #clock-cells = <0>; | ||
288 | reg = <16>; | ||
289 | }; | ||
290 | |||
291 | ssc1_clk: ssc1_clk { | ||
292 | #clock-cells = <0>; | ||
293 | reg = <17>; | ||
294 | }; | ||
295 | |||
296 | ac91_clk: ac97_clk { | ||
297 | #clock-cells = <0>; | ||
298 | reg = <18>; | ||
299 | }; | ||
300 | |||
301 | tcb_clk: tcb_clk { | ||
302 | #clock-cells = <0>; | ||
303 | reg = <19>; | ||
304 | }; | ||
305 | |||
306 | pwm_clk: pwm_clk { | ||
307 | #clock-cells = <0>; | ||
308 | reg = <20>; | ||
309 | }; | ||
310 | |||
311 | macb0_clk: macb0_clk { | ||
312 | #clock-cells = <0>; | ||
313 | reg = <21>; | ||
314 | }; | ||
315 | |||
316 | g2de_clk: g2de_clk { | ||
317 | #clock-cells = <0>; | ||
318 | reg = <23>; | ||
319 | }; | ||
320 | |||
321 | udc_clk: udc_clk { | ||
322 | #clock-cells = <0>; | ||
323 | reg = <24>; | ||
324 | }; | ||
325 | |||
326 | isi_clk: isi_clk { | ||
327 | #clock-cells = <0>; | ||
328 | reg = <25>; | ||
329 | }; | ||
330 | |||
331 | lcd_clk: lcd_clk { | ||
332 | #clock-cells = <0>; | ||
333 | reg = <26>; | ||
334 | }; | ||
335 | |||
336 | dma_clk: dma_clk { | ||
337 | #clock-cells = <0>; | ||
338 | reg = <27>; | ||
339 | }; | ||
340 | |||
341 | ohci_clk: ohci_clk { | ||
342 | #clock-cells = <0>; | ||
343 | reg = <29>; | ||
344 | }; | ||
345 | }; | ||
72 | }; | 346 | }; |
73 | 347 | ||
74 | ramc: ramc@ffffe200 { | 348 | ramc: ramc@ffffe200 { |
@@ -81,12 +355,15 @@ | |||
81 | compatible = "atmel,at91sam9260-pit"; | 355 | compatible = "atmel,at91sam9260-pit"; |
82 | reg = <0xfffffd30 0xf>; | 356 | reg = <0xfffffd30 0xf>; |
83 | interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; | 357 | interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; |
358 | clocks = <&mck>; | ||
84 | }; | 359 | }; |
85 | 360 | ||
86 | tcb0: timer@fff7c000 { | 361 | tcb0: timer@fff7c000 { |
87 | compatible = "atmel,at91rm9200-tcb"; | 362 | compatible = "atmel,at91rm9200-tcb"; |
88 | reg = <0xfff7c000 0x100>; | 363 | reg = <0xfff7c000 0x100>; |
89 | interrupts = <19 IRQ_TYPE_LEVEL_HIGH 0>; | 364 | interrupts = <19 IRQ_TYPE_LEVEL_HIGH 0>; |
365 | clocks = <&tcb_clk>; | ||
366 | clock-names = "t0_clk"; | ||
90 | }; | 367 | }; |
91 | 368 | ||
92 | rstc@fffffd00 { | 369 | rstc@fffffd00 { |
@@ -403,6 +680,7 @@ | |||
403 | gpio-controller; | 680 | gpio-controller; |
404 | interrupt-controller; | 681 | interrupt-controller; |
405 | #interrupt-cells = <2>; | 682 | #interrupt-cells = <2>; |
683 | clocks = <&pioA_clk>; | ||
406 | }; | 684 | }; |
407 | 685 | ||
408 | pioB: gpio@fffff400 { | 686 | pioB: gpio@fffff400 { |
@@ -413,6 +691,7 @@ | |||
413 | gpio-controller; | 691 | gpio-controller; |
414 | interrupt-controller; | 692 | interrupt-controller; |
415 | #interrupt-cells = <2>; | 693 | #interrupt-cells = <2>; |
694 | clocks = <&pioB_clk>; | ||
416 | }; | 695 | }; |
417 | 696 | ||
418 | pioC: gpio@fffff600 { | 697 | pioC: gpio@fffff600 { |
@@ -423,6 +702,7 @@ | |||
423 | gpio-controller; | 702 | gpio-controller; |
424 | interrupt-controller; | 703 | interrupt-controller; |
425 | #interrupt-cells = <2>; | 704 | #interrupt-cells = <2>; |
705 | clocks = <&pioCDE_clk>; | ||
426 | }; | 706 | }; |
427 | 707 | ||
428 | pioD: gpio@fffff800 { | 708 | pioD: gpio@fffff800 { |
@@ -433,6 +713,7 @@ | |||
433 | gpio-controller; | 713 | gpio-controller; |
434 | interrupt-controller; | 714 | interrupt-controller; |
435 | #interrupt-cells = <2>; | 715 | #interrupt-cells = <2>; |
716 | clocks = <&pioCDE_clk>; | ||
436 | }; | 717 | }; |
437 | 718 | ||
438 | pioE: gpio@fffffa00 { | 719 | pioE: gpio@fffffa00 { |
@@ -443,6 +724,7 @@ | |||
443 | gpio-controller; | 724 | gpio-controller; |
444 | interrupt-controller; | 725 | interrupt-controller; |
445 | #interrupt-cells = <2>; | 726 | #interrupt-cells = <2>; |
727 | clocks = <&pioCDE_clk>; | ||
446 | }; | 728 | }; |
447 | }; | 729 | }; |
448 | 730 | ||
@@ -452,6 +734,8 @@ | |||
452 | interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; | 734 | interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; |
453 | pinctrl-names = "default"; | 735 | pinctrl-names = "default"; |
454 | pinctrl-0 = <&pinctrl_dbgu>; | 736 | pinctrl-0 = <&pinctrl_dbgu>; |
737 | clocks = <&mck>; | ||
738 | clock-names = "usart"; | ||
455 | status = "disabled"; | 739 | status = "disabled"; |
456 | }; | 740 | }; |
457 | 741 | ||
@@ -463,6 +747,8 @@ | |||
463 | atmel,use-dma-tx; | 747 | atmel,use-dma-tx; |
464 | pinctrl-names = "default"; | 748 | pinctrl-names = "default"; |
465 | pinctrl-0 = <&pinctrl_usart0>; | 749 | pinctrl-0 = <&pinctrl_usart0>; |
750 | clocks = <&usart0_clk>; | ||
751 | clock-names = "usart"; | ||
466 | status = "disabled"; | 752 | status = "disabled"; |
467 | }; | 753 | }; |
468 | 754 | ||
@@ -474,6 +760,8 @@ | |||
474 | atmel,use-dma-tx; | 760 | atmel,use-dma-tx; |
475 | pinctrl-names = "default"; | 761 | pinctrl-names = "default"; |
476 | pinctrl-0 = <&pinctrl_usart1>; | 762 | pinctrl-0 = <&pinctrl_usart1>; |
763 | clocks = <&usart1_clk>; | ||
764 | clock-names = "usart"; | ||
477 | status = "disabled"; | 765 | status = "disabled"; |
478 | }; | 766 | }; |
479 | 767 | ||
@@ -485,6 +773,8 @@ | |||
485 | atmel,use-dma-tx; | 773 | atmel,use-dma-tx; |
486 | pinctrl-names = "default"; | 774 | pinctrl-names = "default"; |
487 | pinctrl-0 = <&pinctrl_usart2>; | 775 | pinctrl-0 = <&pinctrl_usart2>; |
776 | clocks = <&usart2_clk>; | ||
777 | clock-names = "usart"; | ||
488 | status = "disabled"; | 778 | status = "disabled"; |
489 | }; | 779 | }; |
490 | 780 | ||
@@ -494,6 +784,8 @@ | |||
494 | interrupts = <16 IRQ_TYPE_LEVEL_HIGH 5>; | 784 | interrupts = <16 IRQ_TYPE_LEVEL_HIGH 5>; |
495 | pinctrl-names = "default"; | 785 | pinctrl-names = "default"; |
496 | pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>; | 786 | pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>; |
787 | clocks = <&ssc0_clk>; | ||
788 | clock-names = "pclk"; | ||
497 | status = "disabled"; | 789 | status = "disabled"; |
498 | }; | 790 | }; |
499 | 791 | ||
@@ -503,6 +795,8 @@ | |||
503 | interrupts = <17 IRQ_TYPE_LEVEL_HIGH 5>; | 795 | interrupts = <17 IRQ_TYPE_LEVEL_HIGH 5>; |
504 | pinctrl-names = "default"; | 796 | pinctrl-names = "default"; |
505 | pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>; | 797 | pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>; |
798 | clocks = <&ssc1_clk>; | ||
799 | clock-names = "pclk"; | ||
506 | status = "disabled"; | 800 | status = "disabled"; |
507 | }; | 801 | }; |
508 | 802 | ||
@@ -512,6 +806,8 @@ | |||
512 | interrupts = <21 IRQ_TYPE_LEVEL_HIGH 3>; | 806 | interrupts = <21 IRQ_TYPE_LEVEL_HIGH 3>; |
513 | pinctrl-names = "default"; | 807 | pinctrl-names = "default"; |
514 | pinctrl-0 = <&pinctrl_macb_rmii>; | 808 | pinctrl-0 = <&pinctrl_macb_rmii>; |
809 | clocks = <&macb0_clk>, <&macb0_clk>; | ||
810 | clock-names = "hclk", "pclk"; | ||
515 | status = "disabled"; | 811 | status = "disabled"; |
516 | }; | 812 | }; |
517 | 813 | ||
@@ -519,6 +815,8 @@ | |||
519 | compatible = "atmel,at91rm9200-udc"; | 815 | compatible = "atmel,at91rm9200-udc"; |
520 | reg = <0xfff78000 0x4000>; | 816 | reg = <0xfff78000 0x4000>; |
521 | interrupts = <24 IRQ_TYPE_LEVEL_HIGH 2>; | 817 | interrupts = <24 IRQ_TYPE_LEVEL_HIGH 2>; |
818 | clocks = <&udc_clk>, <&udpck>; | ||
819 | clock-names = "pclk", "hclk"; | ||
522 | status = "disabled"; | 820 | status = "disabled"; |
523 | }; | 821 | }; |
524 | 822 | ||
@@ -528,6 +826,7 @@ | |||
528 | interrupts = <13 IRQ_TYPE_LEVEL_HIGH 6>; | 826 | interrupts = <13 IRQ_TYPE_LEVEL_HIGH 6>; |
529 | #address-cells = <1>; | 827 | #address-cells = <1>; |
530 | #size-cells = <0>; | 828 | #size-cells = <0>; |
829 | clocks = <&twi0_clk>; | ||
531 | status = "disabled"; | 830 | status = "disabled"; |
532 | }; | 831 | }; |
533 | 832 | ||
@@ -537,6 +836,8 @@ | |||
537 | interrupts = <10 IRQ_TYPE_LEVEL_HIGH 0>; | 836 | interrupts = <10 IRQ_TYPE_LEVEL_HIGH 0>; |
538 | #address-cells = <1>; | 837 | #address-cells = <1>; |
539 | #size-cells = <0>; | 838 | #size-cells = <0>; |
839 | clocks = <&mci0_clk>; | ||
840 | clock-names = "mci_clk"; | ||
540 | status = "disabled"; | 841 | status = "disabled"; |
541 | }; | 842 | }; |
542 | 843 | ||
@@ -546,6 +847,8 @@ | |||
546 | interrupts = <11 IRQ_TYPE_LEVEL_HIGH 0>; | 847 | interrupts = <11 IRQ_TYPE_LEVEL_HIGH 0>; |
547 | #address-cells = <1>; | 848 | #address-cells = <1>; |
548 | #size-cells = <0>; | 849 | #size-cells = <0>; |
850 | clocks = <&mci1_clk>; | ||
851 | clock-names = "mci_clk"; | ||
549 | status = "disabled"; | 852 | status = "disabled"; |
550 | }; | 853 | }; |
551 | 854 | ||
@@ -568,6 +871,8 @@ | |||
568 | interrupts = <14 IRQ_TYPE_LEVEL_HIGH 3>; | 871 | interrupts = <14 IRQ_TYPE_LEVEL_HIGH 3>; |
569 | pinctrl-names = "default"; | 872 | pinctrl-names = "default"; |
570 | pinctrl-0 = <&pinctrl_spi0>; | 873 | pinctrl-0 = <&pinctrl_spi0>; |
874 | clocks = <&spi0_clk>; | ||
875 | clock-names = "spi_clk"; | ||
571 | status = "disabled"; | 876 | status = "disabled"; |
572 | }; | 877 | }; |
573 | 878 | ||
@@ -579,6 +884,8 @@ | |||
579 | interrupts = <15 IRQ_TYPE_LEVEL_HIGH 3>; | 884 | interrupts = <15 IRQ_TYPE_LEVEL_HIGH 3>; |
580 | pinctrl-names = "default"; | 885 | pinctrl-names = "default"; |
581 | pinctrl-0 = <&pinctrl_spi1>; | 886 | pinctrl-0 = <&pinctrl_spi1>; |
887 | clocks = <&spi1_clk>; | ||
888 | clock-names = "spi_clk"; | ||
582 | status = "disabled"; | 889 | status = "disabled"; |
583 | }; | 890 | }; |
584 | 891 | ||
@@ -587,6 +894,8 @@ | |||
587 | reg = <0xfffb8000 0x300>; | 894 | reg = <0xfffb8000 0x300>; |
588 | interrupts = <20 IRQ_TYPE_LEVEL_HIGH 4>; | 895 | interrupts = <20 IRQ_TYPE_LEVEL_HIGH 4>; |
589 | #pwm-cells = <3>; | 896 | #pwm-cells = <3>; |
897 | clocks = <&pwm_clk>; | ||
898 | clock-names = "pwm_clk"; | ||
590 | status = "disabled"; | 899 | status = "disabled"; |
591 | }; | 900 | }; |
592 | }; | 901 | }; |
@@ -622,6 +931,8 @@ | |||
622 | compatible = "atmel,at91rm9200-ohci", "usb-ohci"; | 931 | compatible = "atmel,at91rm9200-ohci", "usb-ohci"; |
623 | reg = <0x00a00000 0x100000>; | 932 | reg = <0x00a00000 0x100000>; |
624 | interrupts = <29 IRQ_TYPE_LEVEL_HIGH 2>; | 933 | interrupts = <29 IRQ_TYPE_LEVEL_HIGH 2>; |
934 | clocks = <&usb>, <&ohci_clk>, <&ohci_clk>, <&uhpck>; | ||
935 | clock-names = "usb_clk", "ohci_clk", "hclk", "uhpck"; | ||
625 | status = "disabled"; | 936 | status = "disabled"; |
626 | }; | 937 | }; |
627 | }; | 938 | }; |
diff --git a/arch/arm/boot/dts/at91sam9263ek.dts b/arch/arm/boot/dts/at91sam9263ek.dts index 15009c9f2293..5cf93eecd8f1 100644 --- a/arch/arm/boot/dts/at91sam9263ek.dts +++ b/arch/arm/boot/dts/at91sam9263ek.dts | |||
@@ -29,6 +29,14 @@ | |||
29 | compatible = "atmel,osc", "fixed-clock"; | 29 | compatible = "atmel,osc", "fixed-clock"; |
30 | clock-frequency = <16367660>; | 30 | clock-frequency = <16367660>; |
31 | }; | 31 | }; |
32 | |||
33 | slow_xtal { | ||
34 | clock-frequency = <32768>; | ||
35 | }; | ||
36 | |||
37 | main_xtal { | ||
38 | clock-frequency = <16367660>; | ||
39 | }; | ||
32 | }; | 40 | }; |
33 | 41 | ||
34 | ahb { | 42 | ahb { |
diff --git a/arch/arm/boot/dts/at91sam9g20.dtsi b/arch/arm/boot/dts/at91sam9g20.dtsi index b8e79466014f..31f7652612fc 100644 --- a/arch/arm/boot/dts/at91sam9g20.dtsi +++ b/arch/arm/boot/dts/at91sam9g20.dtsi | |||
@@ -25,6 +25,30 @@ | |||
25 | adc0: adc@fffe0000 { | 25 | adc0: adc@fffe0000 { |
26 | atmel,adc-startup-time = <40>; | 26 | atmel,adc-startup-time = <40>; |
27 | }; | 27 | }; |
28 | |||
29 | pmc: pmc@fffffc00 { | ||
30 | plla: pllack { | ||
31 | atmel,clk-input-range = <2000000 32000000>; | ||
32 | atmel,pll-clk-output-ranges = <745000000 800000000 0 0>, | ||
33 | <695000000 750000000 1 0>, | ||
34 | <645000000 700000000 2 0>, | ||
35 | <595000000 650000000 3 0>, | ||
36 | <545000000 600000000 0 1>, | ||
37 | <495000000 550000000 1 1>, | ||
38 | <445000000 500000000 2 1>, | ||
39 | <400000000 450000000 3 1>; | ||
40 | }; | ||
41 | |||
42 | pllb: pllbck { | ||
43 | atmel,clk-input-range = <2000000 32000000>; | ||
44 | atmel,pll-clk-output-ranges = <30000000 100000000 0 0>; | ||
45 | }; | ||
46 | |||
47 | mck: masterck { | ||
48 | atmel,clk-output-range = <0 133000000>; | ||
49 | atmel,clk-divisors = <1 2 4 6>; | ||
50 | }; | ||
51 | }; | ||
28 | }; | 52 | }; |
29 | }; | 53 | }; |
30 | }; | 54 | }; |
diff --git a/arch/arm/boot/dts/at91sam9g20ek_common.dtsi b/arch/arm/boot/dts/at91sam9g20ek_common.dtsi index cb2c010e08e2..d2919108e92d 100644 --- a/arch/arm/boot/dts/at91sam9g20ek_common.dtsi +++ b/arch/arm/boot/dts/at91sam9g20ek_common.dtsi | |||
@@ -26,6 +26,14 @@ | |||
26 | compatible = "atmel,osc", "fixed-clock"; | 26 | compatible = "atmel,osc", "fixed-clock"; |
27 | clock-frequency = <18432000>; | 27 | clock-frequency = <18432000>; |
28 | }; | 28 | }; |
29 | |||
30 | slow_xtal { | ||
31 | clock-frequency = <32768>; | ||
32 | }; | ||
33 | |||
34 | main_xtal { | ||
35 | clock-frequency = <18432000>; | ||
36 | }; | ||
29 | }; | 37 | }; |
30 | 38 | ||
31 | ahb { | 39 | ahb { |
diff --git a/arch/arm/boot/dts/at91sam9g45.dtsi b/arch/arm/boot/dts/at91sam9g45.dtsi index ace6bf197b70..932a669156af 100644 --- a/arch/arm/boot/dts/at91sam9g45.dtsi +++ b/arch/arm/boot/dts/at91sam9g45.dtsi | |||
@@ -14,6 +14,7 @@ | |||
14 | #include <dt-bindings/pinctrl/at91.h> | 14 | #include <dt-bindings/pinctrl/at91.h> |
15 | #include <dt-bindings/interrupt-controller/irq.h> | 15 | #include <dt-bindings/interrupt-controller/irq.h> |
16 | #include <dt-bindings/gpio/gpio.h> | 16 | #include <dt-bindings/gpio/gpio.h> |
17 | #include <dt-bindings/clock/at91.h> | ||
17 | 18 | ||
18 | / { | 19 | / { |
19 | model = "Atmel AT91SAM9G45 family SoC"; | 20 | model = "Atmel AT91SAM9G45 family SoC"; |
@@ -53,6 +54,26 @@ | |||
53 | reg = <0x70000000 0x10000000>; | 54 | reg = <0x70000000 0x10000000>; |
54 | }; | 55 | }; |
55 | 56 | ||
57 | clocks { | ||
58 | slow_xtal: slow_xtal { | ||
59 | compatible = "fixed-clock"; | ||
60 | #clock-cells = <0>; | ||
61 | clock-frequency = <0>; | ||
62 | }; | ||
63 | |||
64 | main_xtal: main_xtal { | ||
65 | compatible = "fixed-clock"; | ||
66 | #clock-cells = <0>; | ||
67 | clock-frequency = <0>; | ||
68 | }; | ||
69 | |||
70 | adc_op_clk: adc_op_clk{ | ||
71 | compatible = "fixed-clock"; | ||
72 | #clock-cells = <0>; | ||
73 | clock-frequency = <300000>; | ||
74 | }; | ||
75 | }; | ||
76 | |||
56 | ahb { | 77 | ahb { |
57 | compatible = "simple-bus"; | 78 | compatible = "simple-bus"; |
58 | #address-cells = <1>; | 79 | #address-cells = <1>; |
@@ -77,11 +98,279 @@ | |||
77 | compatible = "atmel,at91sam9g45-ddramc"; | 98 | compatible = "atmel,at91sam9g45-ddramc"; |
78 | reg = <0xffffe400 0x200 | 99 | reg = <0xffffe400 0x200 |
79 | 0xffffe600 0x200>; | 100 | 0xffffe600 0x200>; |
101 | clocks = <&ddrck>; | ||
102 | clock-names = "ddrck"; | ||
80 | }; | 103 | }; |
81 | 104 | ||
82 | pmc: pmc@fffffc00 { | 105 | pmc: pmc@fffffc00 { |
83 | compatible = "atmel,at91rm9200-pmc"; | 106 | compatible = "atmel,at91sam9g45-pmc"; |
84 | reg = <0xfffffc00 0x100>; | 107 | reg = <0xfffffc00 0x100>; |
108 | interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; | ||
109 | interrupt-controller; | ||
110 | #address-cells = <1>; | ||
111 | #size-cells = <0>; | ||
112 | #interrupt-cells = <1>; | ||
113 | |||
114 | main_osc: main_osc { | ||
115 | compatible = "atmel,at91rm9200-clk-main-osc"; | ||
116 | #clock-cells = <0>; | ||
117 | interrupts-extended = <&pmc AT91_PMC_MOSCS>; | ||
118 | clocks = <&main_xtal>; | ||
119 | }; | ||
120 | |||
121 | main: mainck { | ||
122 | compatible = "atmel,at91rm9200-clk-main"; | ||
123 | #clock-cells = <0>; | ||
124 | clocks = <&main_osc>; | ||
125 | }; | ||
126 | |||
127 | plla: pllack { | ||
128 | compatible = "atmel,at91rm9200-clk-pll"; | ||
129 | #clock-cells = <0>; | ||
130 | interrupts-extended = <&pmc AT91_PMC_LOCKA>; | ||
131 | clocks = <&main>; | ||
132 | reg = <0>; | ||
133 | atmel,clk-input-range = <2000000 32000000>; | ||
134 | #atmel,pll-clk-output-range-cells = <4>; | ||
135 | atmel,pll-clk-output-ranges = <745000000 800000000 0 0 | ||
136 | 695000000 750000000 1 0 | ||
137 | 645000000 700000000 2 0 | ||
138 | 595000000 650000000 3 0 | ||
139 | 545000000 600000000 0 1 | ||
140 | 495000000 555000000 1 1 | ||
141 | 445000000 500000000 2 1 | ||
142 | 400000000 450000000 3 1>; | ||
143 | }; | ||
144 | |||
145 | plladiv: plladivck { | ||
146 | compatible = "atmel,at91sam9x5-clk-plldiv"; | ||
147 | #clock-cells = <0>; | ||
148 | clocks = <&plla>; | ||
149 | }; | ||
150 | |||
151 | utmi: utmick { | ||
152 | compatible = "atmel,at91sam9x5-clk-utmi"; | ||
153 | #clock-cells = <0>; | ||
154 | interrupts-extended = <&pmc AT91_PMC_LOCKU>; | ||
155 | clocks = <&main>; | ||
156 | }; | ||
157 | |||
158 | mck: masterck { | ||
159 | compatible = "atmel,at91rm9200-clk-master"; | ||
160 | #clock-cells = <0>; | ||
161 | interrupts-extended = <&pmc AT91_PMC_MCKRDY>; | ||
162 | clocks = <&slow_xtal>, <&main>, <&plladiv>, <&utmi>; | ||
163 | atmel,clk-output-range = <0 133333333>; | ||
164 | atmel,clk-divisors = <1 2 4 3>; | ||
165 | }; | ||
166 | |||
167 | usb: usbck { | ||
168 | compatible = "atmel,at91sam9x5-clk-usb"; | ||
169 | #clock-cells = <0>; | ||
170 | clocks = <&plladiv>, <&utmi>; | ||
171 | }; | ||
172 | |||
173 | prog: progck { | ||
174 | compatible = "atmel,at91sam9g45-clk-programmable"; | ||
175 | #address-cells = <1>; | ||
176 | #size-cells = <0>; | ||
177 | interrupt-parent = <&pmc>; | ||
178 | clocks = <&slow_xtal>, <&main>, <&plladiv>, <&utmi>, <&mck>; | ||
179 | |||
180 | prog0: prog0 { | ||
181 | #clock-cells = <0>; | ||
182 | reg = <0>; | ||
183 | interrupts = <AT91_PMC_PCKRDY(0)>; | ||
184 | }; | ||
185 | |||
186 | prog1: prog1 { | ||
187 | #clock-cells = <0>; | ||
188 | reg = <1>; | ||
189 | interrupts = <AT91_PMC_PCKRDY(1)>; | ||
190 | }; | ||
191 | }; | ||
192 | |||
193 | systemck { | ||
194 | compatible = "atmel,at91rm9200-clk-system"; | ||
195 | #address-cells = <1>; | ||
196 | #size-cells = <0>; | ||
197 | |||
198 | ddrck: ddrck { | ||
199 | #clock-cells = <0>; | ||
200 | reg = <2>; | ||
201 | clocks = <&mck>; | ||
202 | }; | ||
203 | |||
204 | uhpck: uhpck { | ||
205 | #clock-cells = <0>; | ||
206 | reg = <6>; | ||
207 | clocks = <&usb>; | ||
208 | }; | ||
209 | |||
210 | pck0: pck0 { | ||
211 | #clock-cells = <0>; | ||
212 | reg = <8>; | ||
213 | clocks = <&prog0>; | ||
214 | }; | ||
215 | |||
216 | pck1: pck1 { | ||
217 | #clock-cells = <0>; | ||
218 | reg = <9>; | ||
219 | clocks = <&prog1>; | ||
220 | }; | ||
221 | }; | ||
222 | |||
223 | periphck { | ||
224 | compatible = "atmel,at91rm9200-clk-peripheral"; | ||
225 | #address-cells = <1>; | ||
226 | #size-cells = <0>; | ||
227 | clocks = <&mck>; | ||
228 | |||
229 | pioA_clk: pioA_clk { | ||
230 | #clock-cells = <0>; | ||
231 | reg = <2>; | ||
232 | }; | ||
233 | |||
234 | pioB_clk: pioB_clk { | ||
235 | #clock-cells = <0>; | ||
236 | reg = <3>; | ||
237 | }; | ||
238 | |||
239 | pioC_clk: pioC_clk { | ||
240 | #clock-cells = <0>; | ||
241 | reg = <4>; | ||
242 | }; | ||
243 | |||
244 | pioDE_clk: pioDE_clk { | ||
245 | #clock-cells = <0>; | ||
246 | reg = <5>; | ||
247 | }; | ||
248 | |||
249 | trng_clk: trng_clk { | ||
250 | #clock-cells = <0>; | ||
251 | reg = <6>; | ||
252 | }; | ||
253 | |||
254 | usart0_clk: usart0_clk { | ||
255 | #clock-cells = <0>; | ||
256 | reg = <7>; | ||
257 | }; | ||
258 | |||
259 | usart1_clk: usart1_clk { | ||
260 | #clock-cells = <0>; | ||
261 | reg = <8>; | ||
262 | }; | ||
263 | |||
264 | usart2_clk: usart2_clk { | ||
265 | #clock-cells = <0>; | ||
266 | reg = <9>; | ||
267 | }; | ||
268 | |||
269 | usart3_clk: usart3_clk { | ||
270 | #clock-cells = <0>; | ||
271 | reg = <10>; | ||
272 | }; | ||
273 | |||
274 | mci0_clk: mci0_clk { | ||
275 | #clock-cells = <0>; | ||
276 | reg = <11>; | ||
277 | }; | ||
278 | |||
279 | twi0_clk: twi0_clk { | ||
280 | #clock-cells = <0>; | ||
281 | reg = <12>; | ||
282 | }; | ||
283 | |||
284 | twi1_clk: twi1_clk { | ||
285 | #clock-cells = <0>; | ||
286 | reg = <13>; | ||
287 | }; | ||
288 | |||
289 | spi0_clk: spi0_clk { | ||
290 | #clock-cells = <0>; | ||
291 | reg = <14>; | ||
292 | }; | ||
293 | |||
294 | spi1_clk: spi1_clk { | ||
295 | #clock-cells = <0>; | ||
296 | reg = <15>; | ||
297 | }; | ||
298 | |||
299 | ssc0_clk: ssc0_clk { | ||
300 | #clock-cells = <0>; | ||
301 | reg = <16>; | ||
302 | }; | ||
303 | |||
304 | ssc1_clk: ssc1_clk { | ||
305 | #clock-cells = <0>; | ||
306 | reg = <17>; | ||
307 | }; | ||
308 | |||
309 | tcb0_clk: tcb0_clk { | ||
310 | #clock-cells = <0>; | ||
311 | reg = <18>; | ||
312 | }; | ||
313 | |||
314 | pwm_clk: pwm_clk { | ||
315 | #clock-cells = <0>; | ||
316 | reg = <19>; | ||
317 | }; | ||
318 | |||
319 | adc_clk: adc_clk { | ||
320 | #clock-cells = <0>; | ||
321 | reg = <20>; | ||
322 | }; | ||
323 | |||
324 | dma0_clk: dma0_clk { | ||
325 | #clock-cells = <0>; | ||
326 | reg = <21>; | ||
327 | }; | ||
328 | |||
329 | uhphs_clk: uhphs_clk { | ||
330 | #clock-cells = <0>; | ||
331 | reg = <22>; | ||
332 | }; | ||
333 | |||
334 | lcd_clk: lcd_clk { | ||
335 | #clock-cells = <0>; | ||
336 | reg = <23>; | ||
337 | }; | ||
338 | |||
339 | ac97_clk: ac97_clk { | ||
340 | #clock-cells = <0>; | ||
341 | reg = <24>; | ||
342 | }; | ||
343 | |||
344 | macb0_clk: macb0_clk { | ||
345 | #clock-cells = <0>; | ||
346 | reg = <25>; | ||
347 | }; | ||
348 | |||
349 | isi_clk: isi_clk { | ||
350 | #clock-cells = <0>; | ||
351 | reg = <26>; | ||
352 | }; | ||
353 | |||
354 | udphs_clk: udphs_clk { | ||
355 | #clock-cells = <0>; | ||
356 | reg = <27>; | ||
357 | }; | ||
358 | |||
359 | aestdessha_clk: aestdessha_clk { | ||
360 | #clock-cells = <0>; | ||
361 | reg = <28>; | ||
362 | }; | ||
363 | |||
364 | mci1_clk: mci1_clk { | ||
365 | #clock-cells = <0>; | ||
366 | reg = <29>; | ||
367 | }; | ||
368 | |||
369 | vdec_clk: vdec_clk { | ||
370 | #clock-cells = <0>; | ||
371 | reg = <30>; | ||
372 | }; | ||
373 | }; | ||
85 | }; | 374 | }; |
86 | 375 | ||
87 | rstc@fffffd00 { | 376 | rstc@fffffd00 { |
@@ -93,6 +382,7 @@ | |||
93 | compatible = "atmel,at91sam9260-pit"; | 382 | compatible = "atmel,at91sam9260-pit"; |
94 | reg = <0xfffffd30 0xf>; | 383 | reg = <0xfffffd30 0xf>; |
95 | interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; | 384 | interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; |
385 | clocks = <&mck>; | ||
96 | }; | 386 | }; |
97 | 387 | ||
98 | 388 | ||
@@ -105,12 +395,16 @@ | |||
105 | compatible = "atmel,at91rm9200-tcb"; | 395 | compatible = "atmel,at91rm9200-tcb"; |
106 | reg = <0xfff7c000 0x100>; | 396 | reg = <0xfff7c000 0x100>; |
107 | interrupts = <18 IRQ_TYPE_LEVEL_HIGH 0>; | 397 | interrupts = <18 IRQ_TYPE_LEVEL_HIGH 0>; |
398 | clocks = <&tcb0_clk>, <&tcb0_clk>, <&tcb0_clk>; | ||
399 | clock-names = "t0_clk", "t1_clk", "t2_clk"; | ||
108 | }; | 400 | }; |
109 | 401 | ||
110 | tcb1: timer@fffd4000 { | 402 | tcb1: timer@fffd4000 { |
111 | compatible = "atmel,at91rm9200-tcb"; | 403 | compatible = "atmel,at91rm9200-tcb"; |
112 | reg = <0xfffd4000 0x100>; | 404 | reg = <0xfffd4000 0x100>; |
113 | interrupts = <18 IRQ_TYPE_LEVEL_HIGH 0>; | 405 | interrupts = <18 IRQ_TYPE_LEVEL_HIGH 0>; |
406 | clocks = <&tcb0_clk>, <&tcb0_clk>, <&tcb0_clk>; | ||
407 | clock-names = "t0_clk", "t1_clk", "t2_clk"; | ||
114 | }; | 408 | }; |
115 | 409 | ||
116 | dma: dma-controller@ffffec00 { | 410 | dma: dma-controller@ffffec00 { |
@@ -118,6 +412,8 @@ | |||
118 | reg = <0xffffec00 0x200>; | 412 | reg = <0xffffec00 0x200>; |
119 | interrupts = <21 IRQ_TYPE_LEVEL_HIGH 0>; | 413 | interrupts = <21 IRQ_TYPE_LEVEL_HIGH 0>; |
120 | #dma-cells = <2>; | 414 | #dma-cells = <2>; |
415 | clocks = <&dma0_clk>; | ||
416 | clock-names = "dma_clk"; | ||
121 | }; | 417 | }; |
122 | 418 | ||
123 | pinctrl@fffff200 { | 419 | pinctrl@fffff200 { |
@@ -516,6 +812,7 @@ | |||
516 | gpio-controller; | 812 | gpio-controller; |
517 | interrupt-controller; | 813 | interrupt-controller; |
518 | #interrupt-cells = <2>; | 814 | #interrupt-cells = <2>; |
815 | clocks = <&pioA_clk>; | ||
519 | }; | 816 | }; |
520 | 817 | ||
521 | pioB: gpio@fffff400 { | 818 | pioB: gpio@fffff400 { |
@@ -526,6 +823,7 @@ | |||
526 | gpio-controller; | 823 | gpio-controller; |
527 | interrupt-controller; | 824 | interrupt-controller; |
528 | #interrupt-cells = <2>; | 825 | #interrupt-cells = <2>; |
826 | clocks = <&pioB_clk>; | ||
529 | }; | 827 | }; |
530 | 828 | ||
531 | pioC: gpio@fffff600 { | 829 | pioC: gpio@fffff600 { |
@@ -536,6 +834,7 @@ | |||
536 | gpio-controller; | 834 | gpio-controller; |
537 | interrupt-controller; | 835 | interrupt-controller; |
538 | #interrupt-cells = <2>; | 836 | #interrupt-cells = <2>; |
837 | clocks = <&pioC_clk>; | ||
539 | }; | 838 | }; |
540 | 839 | ||
541 | pioD: gpio@fffff800 { | 840 | pioD: gpio@fffff800 { |
@@ -546,6 +845,7 @@ | |||
546 | gpio-controller; | 845 | gpio-controller; |
547 | interrupt-controller; | 846 | interrupt-controller; |
548 | #interrupt-cells = <2>; | 847 | #interrupt-cells = <2>; |
848 | clocks = <&pioDE_clk>; | ||
549 | }; | 849 | }; |
550 | 850 | ||
551 | pioE: gpio@fffffa00 { | 851 | pioE: gpio@fffffa00 { |
@@ -556,6 +856,7 @@ | |||
556 | gpio-controller; | 856 | gpio-controller; |
557 | interrupt-controller; | 857 | interrupt-controller; |
558 | #interrupt-cells = <2>; | 858 | #interrupt-cells = <2>; |
859 | clocks = <&pioDE_clk>; | ||
559 | }; | 860 | }; |
560 | }; | 861 | }; |
561 | 862 | ||
@@ -565,6 +866,8 @@ | |||
565 | interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; | 866 | interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; |
566 | pinctrl-names = "default"; | 867 | pinctrl-names = "default"; |
567 | pinctrl-0 = <&pinctrl_dbgu>; | 868 | pinctrl-0 = <&pinctrl_dbgu>; |
869 | clocks = <&mck>; | ||
870 | clock-names = "usart"; | ||
568 | status = "disabled"; | 871 | status = "disabled"; |
569 | }; | 872 | }; |
570 | 873 | ||
@@ -576,6 +879,8 @@ | |||
576 | atmel,use-dma-tx; | 879 | atmel,use-dma-tx; |
577 | pinctrl-names = "default"; | 880 | pinctrl-names = "default"; |
578 | pinctrl-0 = <&pinctrl_usart0>; | 881 | pinctrl-0 = <&pinctrl_usart0>; |
882 | clocks = <&usart0_clk>; | ||
883 | clock-names = "usart"; | ||
579 | status = "disabled"; | 884 | status = "disabled"; |
580 | }; | 885 | }; |
581 | 886 | ||
@@ -587,6 +892,8 @@ | |||
587 | atmel,use-dma-tx; | 892 | atmel,use-dma-tx; |
588 | pinctrl-names = "default"; | 893 | pinctrl-names = "default"; |
589 | pinctrl-0 = <&pinctrl_usart1>; | 894 | pinctrl-0 = <&pinctrl_usart1>; |
895 | clocks = <&usart1_clk>; | ||
896 | clock-names = "usart"; | ||
590 | status = "disabled"; | 897 | status = "disabled"; |
591 | }; | 898 | }; |
592 | 899 | ||
@@ -598,6 +905,8 @@ | |||
598 | atmel,use-dma-tx; | 905 | atmel,use-dma-tx; |
599 | pinctrl-names = "default"; | 906 | pinctrl-names = "default"; |
600 | pinctrl-0 = <&pinctrl_usart2>; | 907 | pinctrl-0 = <&pinctrl_usart2>; |
908 | clocks = <&usart2_clk>; | ||
909 | clock-names = "usart"; | ||
601 | status = "disabled"; | 910 | status = "disabled"; |
602 | }; | 911 | }; |
603 | 912 | ||
@@ -609,6 +918,8 @@ | |||
609 | atmel,use-dma-tx; | 918 | atmel,use-dma-tx; |
610 | pinctrl-names = "default"; | 919 | pinctrl-names = "default"; |
611 | pinctrl-0 = <&pinctrl_usart3>; | 920 | pinctrl-0 = <&pinctrl_usart3>; |
921 | clocks = <&usart3_clk>; | ||
922 | clock-names = "usart"; | ||
612 | status = "disabled"; | 923 | status = "disabled"; |
613 | }; | 924 | }; |
614 | 925 | ||
@@ -618,6 +929,8 @@ | |||
618 | interrupts = <25 IRQ_TYPE_LEVEL_HIGH 3>; | 929 | interrupts = <25 IRQ_TYPE_LEVEL_HIGH 3>; |
619 | pinctrl-names = "default"; | 930 | pinctrl-names = "default"; |
620 | pinctrl-0 = <&pinctrl_macb_rmii>; | 931 | pinctrl-0 = <&pinctrl_macb_rmii>; |
932 | clocks = <&macb0_clk>, <&macb0_clk>; | ||
933 | clock-names = "hclk", "pclk"; | ||
621 | status = "disabled"; | 934 | status = "disabled"; |
622 | }; | 935 | }; |
623 | 936 | ||
@@ -629,6 +942,7 @@ | |||
629 | pinctrl-0 = <&pinctrl_i2c0>; | 942 | pinctrl-0 = <&pinctrl_i2c0>; |
630 | #address-cells = <1>; | 943 | #address-cells = <1>; |
631 | #size-cells = <0>; | 944 | #size-cells = <0>; |
945 | clocks = <&twi0_clk>; | ||
632 | status = "disabled"; | 946 | status = "disabled"; |
633 | }; | 947 | }; |
634 | 948 | ||
@@ -640,6 +954,7 @@ | |||
640 | pinctrl-0 = <&pinctrl_i2c1>; | 954 | pinctrl-0 = <&pinctrl_i2c1>; |
641 | #address-cells = <1>; | 955 | #address-cells = <1>; |
642 | #size-cells = <0>; | 956 | #size-cells = <0>; |
957 | clocks = <&twi1_clk>; | ||
643 | status = "disabled"; | 958 | status = "disabled"; |
644 | }; | 959 | }; |
645 | 960 | ||
@@ -649,6 +964,8 @@ | |||
649 | interrupts = <16 IRQ_TYPE_LEVEL_HIGH 5>; | 964 | interrupts = <16 IRQ_TYPE_LEVEL_HIGH 5>; |
650 | pinctrl-names = "default"; | 965 | pinctrl-names = "default"; |
651 | pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>; | 966 | pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>; |
967 | clocks = <&ssc0_clk>; | ||
968 | clock-names = "pclk"; | ||
652 | status = "disabled"; | 969 | status = "disabled"; |
653 | }; | 970 | }; |
654 | 971 | ||
@@ -658,6 +975,8 @@ | |||
658 | interrupts = <17 IRQ_TYPE_LEVEL_HIGH 5>; | 975 | interrupts = <17 IRQ_TYPE_LEVEL_HIGH 5>; |
659 | pinctrl-names = "default"; | 976 | pinctrl-names = "default"; |
660 | pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>; | 977 | pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>; |
978 | clocks = <&ssc1_clk>; | ||
979 | clock-names = "pclk"; | ||
661 | status = "disabled"; | 980 | status = "disabled"; |
662 | }; | 981 | }; |
663 | 982 | ||
@@ -667,6 +986,8 @@ | |||
667 | compatible = "atmel,at91sam9g45-adc"; | 986 | compatible = "atmel,at91sam9g45-adc"; |
668 | reg = <0xfffb0000 0x100>; | 987 | reg = <0xfffb0000 0x100>; |
669 | interrupts = <20 IRQ_TYPE_LEVEL_HIGH 0>; | 988 | interrupts = <20 IRQ_TYPE_LEVEL_HIGH 0>; |
989 | clocks = <&adc_clk>, <&adc_op_clk>; | ||
990 | clock-names = "adc_clk", "adc_op_clk"; | ||
670 | atmel,adc-channels-used = <0xff>; | 991 | atmel,adc-channels-used = <0xff>; |
671 | atmel,adc-vref = <3300>; | 992 | atmel,adc-vref = <3300>; |
672 | atmel,adc-startup-time = <40>; | 993 | atmel,adc-startup-time = <40>; |
@@ -706,6 +1027,7 @@ | |||
706 | reg = <0xfffb8000 0x300>; | 1027 | reg = <0xfffb8000 0x300>; |
707 | interrupts = <19 IRQ_TYPE_LEVEL_HIGH 4>; | 1028 | interrupts = <19 IRQ_TYPE_LEVEL_HIGH 4>; |
708 | #pwm-cells = <3>; | 1029 | #pwm-cells = <3>; |
1030 | clocks = <&pwm_clk>; | ||
709 | status = "disabled"; | 1031 | status = "disabled"; |
710 | }; | 1032 | }; |
711 | 1033 | ||
@@ -718,6 +1040,8 @@ | |||
718 | dma-names = "rxtx"; | 1040 | dma-names = "rxtx"; |
719 | #address-cells = <1>; | 1041 | #address-cells = <1>; |
720 | #size-cells = <0>; | 1042 | #size-cells = <0>; |
1043 | clocks = <&mci0_clk>; | ||
1044 | clock-names = "mci_clk"; | ||
721 | status = "disabled"; | 1045 | status = "disabled"; |
722 | }; | 1046 | }; |
723 | 1047 | ||
@@ -730,6 +1054,8 @@ | |||
730 | dma-names = "rxtx"; | 1054 | dma-names = "rxtx"; |
731 | #address-cells = <1>; | 1055 | #address-cells = <1>; |
732 | #size-cells = <0>; | 1056 | #size-cells = <0>; |
1057 | clocks = <&mci1_clk>; | ||
1058 | clock-names = "mci_clk"; | ||
733 | status = "disabled"; | 1059 | status = "disabled"; |
734 | }; | 1060 | }; |
735 | 1061 | ||
@@ -752,6 +1078,8 @@ | |||
752 | interrupts = <14 4 3>; | 1078 | interrupts = <14 4 3>; |
753 | pinctrl-names = "default"; | 1079 | pinctrl-names = "default"; |
754 | pinctrl-0 = <&pinctrl_spi0>; | 1080 | pinctrl-0 = <&pinctrl_spi0>; |
1081 | clocks = <&spi0_clk>; | ||
1082 | clock-names = "spi_clk"; | ||
755 | status = "disabled"; | 1083 | status = "disabled"; |
756 | }; | 1084 | }; |
757 | 1085 | ||
@@ -763,6 +1091,8 @@ | |||
763 | interrupts = <15 4 3>; | 1091 | interrupts = <15 4 3>; |
764 | pinctrl-names = "default"; | 1092 | pinctrl-names = "default"; |
765 | pinctrl-0 = <&pinctrl_spi1>; | 1093 | pinctrl-0 = <&pinctrl_spi1>; |
1094 | clocks = <&spi1_clk>; | ||
1095 | clock-names = "spi_clk"; | ||
766 | status = "disabled"; | 1096 | status = "disabled"; |
767 | }; | 1097 | }; |
768 | 1098 | ||
@@ -773,6 +1103,8 @@ | |||
773 | reg = <0x00600000 0x80000 | 1103 | reg = <0x00600000 0x80000 |
774 | 0xfff78000 0x400>; | 1104 | 0xfff78000 0x400>; |
775 | interrupts = <27 IRQ_TYPE_LEVEL_HIGH 0>; | 1105 | interrupts = <27 IRQ_TYPE_LEVEL_HIGH 0>; |
1106 | clocks = <&udphs_clk>, <&utmi>; | ||
1107 | clock-names = "pclk", "hclk"; | ||
776 | status = "disabled"; | 1108 | status = "disabled"; |
777 | 1109 | ||
778 | ep0 { | 1110 | ep0 { |
@@ -835,6 +1167,8 @@ | |||
835 | interrupts = <23 IRQ_TYPE_LEVEL_HIGH 3>; | 1167 | interrupts = <23 IRQ_TYPE_LEVEL_HIGH 3>; |
836 | pinctrl-names = "default"; | 1168 | pinctrl-names = "default"; |
837 | pinctrl-0 = <&pinctrl_fb>; | 1169 | pinctrl-0 = <&pinctrl_fb>; |
1170 | clocks = <&lcd_clk>, <&lcd_clk>; | ||
1171 | clock-names = "hclk", "lcdc_clk"; | ||
838 | status = "disabled"; | 1172 | status = "disabled"; |
839 | }; | 1173 | }; |
840 | 1174 | ||
@@ -861,6 +1195,9 @@ | |||
861 | compatible = "atmel,at91rm9200-ohci", "usb-ohci"; | 1195 | compatible = "atmel,at91rm9200-ohci", "usb-ohci"; |
862 | reg = <0x00700000 0x100000>; | 1196 | reg = <0x00700000 0x100000>; |
863 | interrupts = <22 IRQ_TYPE_LEVEL_HIGH 2>; | 1197 | interrupts = <22 IRQ_TYPE_LEVEL_HIGH 2>; |
1198 | //TODO | ||
1199 | clocks = <&usb>, <&uhphs_clk>, <&uhphs_clk>, <&uhpck>; | ||
1200 | clock-names = "usb_clk", "ohci_clk", "hclk", "uhpck"; | ||
864 | status = "disabled"; | 1201 | status = "disabled"; |
865 | }; | 1202 | }; |
866 | 1203 | ||
@@ -868,6 +1205,9 @@ | |||
868 | compatible = "atmel,at91sam9g45-ehci", "usb-ehci"; | 1205 | compatible = "atmel,at91sam9g45-ehci", "usb-ehci"; |
869 | reg = <0x00800000 0x100000>; | 1206 | reg = <0x00800000 0x100000>; |
870 | interrupts = <22 IRQ_TYPE_LEVEL_HIGH 2>; | 1207 | interrupts = <22 IRQ_TYPE_LEVEL_HIGH 2>; |
1208 | //TODO | ||
1209 | clocks = <&usb>, <&uhphs_clk>, <&uhphs_clk>, <&uhpck>; | ||
1210 | clock-names = "usb_clk", "ehci_clk", "hclk", "uhpck"; | ||
871 | status = "disabled"; | 1211 | status = "disabled"; |
872 | }; | 1212 | }; |
873 | }; | 1213 | }; |
diff --git a/arch/arm/boot/dts/at91sam9m10g45ek.dts b/arch/arm/boot/dts/at91sam9m10g45ek.dts index 9f5b0a674995..96ccc7de4f0a 100644 --- a/arch/arm/boot/dts/at91sam9m10g45ek.dts +++ b/arch/arm/boot/dts/at91sam9m10g45ek.dts | |||
@@ -31,6 +31,14 @@ | |||
31 | compatible = "atmel,osc", "fixed-clock"; | 31 | compatible = "atmel,osc", "fixed-clock"; |
32 | clock-frequency = <12000000>; | 32 | clock-frequency = <12000000>; |
33 | }; | 33 | }; |
34 | |||
35 | slow_xtal { | ||
36 | clock-frequency = <32768>; | ||
37 | }; | ||
38 | |||
39 | main_xtal { | ||
40 | clock-frequency = <12000000>; | ||
41 | }; | ||
34 | }; | 42 | }; |
35 | 43 | ||
36 | ahb { | 44 | ahb { |
diff --git a/arch/arm/boot/dts/ethernut5.dts b/arch/arm/boot/dts/ethernut5.dts index 143b6d25bc80..8f941c2db7c6 100644 --- a/arch/arm/boot/dts/ethernut5.dts +++ b/arch/arm/boot/dts/ethernut5.dts | |||
@@ -20,6 +20,16 @@ | |||
20 | reg = <0x20000000 0x08000000>; | 20 | reg = <0x20000000 0x08000000>; |
21 | }; | 21 | }; |
22 | 22 | ||
23 | clocks { | ||
24 | slow_xtal { | ||
25 | clock-frequency = <32768>; | ||
26 | }; | ||
27 | |||
28 | main_xtal { | ||
29 | clock-frequency = <18432000>; | ||
30 | }; | ||
31 | }; | ||
32 | |||
23 | ahb { | 33 | ahb { |
24 | apb { | 34 | apb { |
25 | dbgu: serial@fffff200 { | 35 | dbgu: serial@fffff200 { |
diff --git a/arch/arm/boot/dts/evk-pro3.dts b/arch/arm/boot/dts/evk-pro3.dts index 4d829685fdfb..f72969efe6d7 100644 --- a/arch/arm/boot/dts/evk-pro3.dts +++ b/arch/arm/boot/dts/evk-pro3.dts | |||
@@ -15,6 +15,12 @@ | |||
15 | model = "Telit EVK-PRO3 for Telit GE863-PRO3"; | 15 | model = "Telit EVK-PRO3 for Telit GE863-PRO3"; |
16 | compatible = "telit,evk-pro3", "atmel,at91sam9260", "atmel,at91sam9"; | 16 | compatible = "telit,evk-pro3", "atmel,at91sam9260", "atmel,at91sam9"; |
17 | 17 | ||
18 | clocks { | ||
19 | slow_xtal { | ||
20 | clock-frequency = <32768>; | ||
21 | }; | ||
22 | }; | ||
23 | |||
18 | ahb { | 24 | ahb { |
19 | apb { | 25 | apb { |
20 | macb0: ethernet@fffc4000 { | 26 | macb0: ethernet@fffc4000 { |
diff --git a/arch/arm/boot/dts/ge863-pro3.dtsi b/arch/arm/boot/dts/ge863-pro3.dtsi index 230099bb31c8..0d0e62489d93 100644 --- a/arch/arm/boot/dts/ge863-pro3.dtsi +++ b/arch/arm/boot/dts/ge863-pro3.dtsi | |||
@@ -19,6 +19,10 @@ | |||
19 | compatible = "atmel,osc", "fixed-clock"; | 19 | compatible = "atmel,osc", "fixed-clock"; |
20 | clock-frequency = <6000000>; | 20 | clock-frequency = <6000000>; |
21 | }; | 21 | }; |
22 | |||
23 | main_xtal { | ||
24 | clock-frequency = <6000000>; | ||
25 | }; | ||
22 | }; | 26 | }; |
23 | 27 | ||
24 | ahb { | 28 | ahb { |
diff --git a/arch/arm/boot/dts/kizbox.dts b/arch/arm/boot/dts/kizbox.dts index 928f6eef2d59..e83e4f9310b8 100644 --- a/arch/arm/boot/dts/kizbox.dts +++ b/arch/arm/boot/dts/kizbox.dts | |||
@@ -30,6 +30,10 @@ | |||
30 | compatible = "atmel,osc", "fixed-clock"; | 30 | compatible = "atmel,osc", "fixed-clock"; |
31 | clock-frequency = <18432000>; | 31 | clock-frequency = <18432000>; |
32 | }; | 32 | }; |
33 | |||
34 | main_xtal { | ||
35 | clock-frequency = <18432000>; | ||
36 | }; | ||
33 | }; | 37 | }; |
34 | 38 | ||
35 | ahb { | 39 | ahb { |
diff --git a/arch/arm/boot/dts/mpa1600.dts b/arch/arm/boot/dts/mpa1600.dts index ccf9ea242f72..f0f5e1098928 100644 --- a/arch/arm/boot/dts/mpa1600.dts +++ b/arch/arm/boot/dts/mpa1600.dts | |||
@@ -25,6 +25,14 @@ | |||
25 | compatible = "atmel,osc", "fixed-clock"; | 25 | compatible = "atmel,osc", "fixed-clock"; |
26 | clock-frequency = <18432000>; | 26 | clock-frequency = <18432000>; |
27 | }; | 27 | }; |
28 | |||
29 | slow_xtal { | ||
30 | clock-frequency = <32768>; | ||
31 | }; | ||
32 | |||
33 | main_xtal { | ||
34 | clock-frequency = <18432000>; | ||
35 | }; | ||
28 | }; | 36 | }; |
29 | 37 | ||
30 | ahb { | 38 | ahb { |
diff --git a/arch/arm/boot/dts/pm9g45.dts b/arch/arm/boot/dts/pm9g45.dts index 33ffabe9c4c8..66afcff67fde 100644 --- a/arch/arm/boot/dts/pm9g45.dts +++ b/arch/arm/boot/dts/pm9g45.dts | |||
@@ -29,6 +29,14 @@ | |||
29 | compatible = "atmel,osc", "fixed-clock"; | 29 | compatible = "atmel,osc", "fixed-clock"; |
30 | clock-frequency = <12000000>; | 30 | clock-frequency = <12000000>; |
31 | }; | 31 | }; |
32 | |||
33 | slow_xtal { | ||
34 | clock-frequency = <32768>; | ||
35 | }; | ||
36 | |||
37 | main_xtal { | ||
38 | clock-frequency = <12000000>; | ||
39 | }; | ||
32 | }; | 40 | }; |
33 | 41 | ||
34 | ahb { | 42 | ahb { |
diff --git a/arch/arm/boot/dts/tny_a9260_common.dtsi b/arch/arm/boot/dts/tny_a9260_common.dtsi index 0e6d3de2e09e..ce7138c3af1b 100644 --- a/arch/arm/boot/dts/tny_a9260_common.dtsi +++ b/arch/arm/boot/dts/tny_a9260_common.dtsi | |||
@@ -24,6 +24,14 @@ | |||
24 | compatible = "atmel,osc", "fixed-clock"; | 24 | compatible = "atmel,osc", "fixed-clock"; |
25 | clock-frequency = <12000000>; | 25 | clock-frequency = <12000000>; |
26 | }; | 26 | }; |
27 | |||
28 | slow_xtal { | ||
29 | clock-frequency = <32768>; | ||
30 | }; | ||
31 | |||
32 | main_xtal { | ||
33 | clock-frequency = <12000000>; | ||
34 | }; | ||
27 | }; | 35 | }; |
28 | 36 | ||
29 | ahb { | 37 | ahb { |
diff --git a/arch/arm/boot/dts/tny_a9263.dts b/arch/arm/boot/dts/tny_a9263.dts index 0751a6a979a8..3043296345b7 100644 --- a/arch/arm/boot/dts/tny_a9263.dts +++ b/arch/arm/boot/dts/tny_a9263.dts | |||
@@ -29,6 +29,14 @@ | |||
29 | compatible = "atmel,osc", "fixed-clock"; | 29 | compatible = "atmel,osc", "fixed-clock"; |
30 | clock-frequency = <12000000>; | 30 | clock-frequency = <12000000>; |
31 | }; | 31 | }; |
32 | |||
33 | slow_xtal { | ||
34 | clock-frequency = <32768>; | ||
35 | }; | ||
36 | |||
37 | main_xtal { | ||
38 | clock-frequency = <12000000>; | ||
39 | }; | ||
32 | }; | 40 | }; |
33 | 41 | ||
34 | ahb { | 42 | ahb { |
diff --git a/arch/arm/boot/dts/usb_a9260_common.dtsi b/arch/arm/boot/dts/usb_a9260_common.dtsi index 285977682cf3..12edafefd44a 100644 --- a/arch/arm/boot/dts/usb_a9260_common.dtsi +++ b/arch/arm/boot/dts/usb_a9260_common.dtsi | |||
@@ -16,6 +16,14 @@ | |||
16 | compatible = "atmel,osc", "fixed-clock"; | 16 | compatible = "atmel,osc", "fixed-clock"; |
17 | clock-frequency = <12000000>; | 17 | clock-frequency = <12000000>; |
18 | }; | 18 | }; |
19 | |||
20 | slow_xtal { | ||
21 | clock-frequency = <32768>; | ||
22 | }; | ||
23 | |||
24 | main_xtal { | ||
25 | clock-frequency = <12000000>; | ||
26 | }; | ||
19 | }; | 27 | }; |
20 | 28 | ||
21 | ahb { | 29 | ahb { |
diff --git a/arch/arm/boot/dts/usb_a9263.dts b/arch/arm/boot/dts/usb_a9263.dts index 290e60383baf..68c0de36c339 100644 --- a/arch/arm/boot/dts/usb_a9263.dts +++ b/arch/arm/boot/dts/usb_a9263.dts | |||
@@ -29,6 +29,14 @@ | |||
29 | compatible = "atmel,osc", "fixed-clock"; | 29 | compatible = "atmel,osc", "fixed-clock"; |
30 | clock-frequency = <12000000>; | 30 | clock-frequency = <12000000>; |
31 | }; | 31 | }; |
32 | |||
33 | slow_xtal { | ||
34 | clock-frequency = <32768>; | ||
35 | }; | ||
36 | |||
37 | main_xtal { | ||
38 | clock-frequency = <12000000>; | ||
39 | }; | ||
32 | }; | 40 | }; |
33 | 41 | ||
34 | ahb { | 42 | ahb { |
diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig index 45b55e0f0db6..6cc6f7aebdae 100644 --- a/arch/arm/mach-at91/Kconfig +++ b/arch/arm/mach-at91/Kconfig | |||
@@ -113,14 +113,12 @@ config SOC_AT91RM9200 | |||
113 | select HAVE_AT91_DBGU0 | 113 | select HAVE_AT91_DBGU0 |
114 | select MULTI_IRQ_HANDLER | 114 | select MULTI_IRQ_HANDLER |
115 | select SPARSE_IRQ | 115 | select SPARSE_IRQ |
116 | select AT91_USE_OLD_CLK | ||
117 | select HAVE_AT91_USB_CLK | 116 | select HAVE_AT91_USB_CLK |
118 | 117 | ||
119 | config SOC_AT91SAM9260 | 118 | config SOC_AT91SAM9260 |
120 | bool "AT91SAM9260, AT91SAM9XE or AT91SAM9G20" | 119 | bool "AT91SAM9260, AT91SAM9XE or AT91SAM9G20" |
121 | select HAVE_AT91_DBGU0 | 120 | select HAVE_AT91_DBGU0 |
122 | select SOC_AT91SAM9 | 121 | select SOC_AT91SAM9 |
123 | select AT91_USE_OLD_CLK | ||
124 | select HAVE_AT91_USB_CLK | 122 | select HAVE_AT91_USB_CLK |
125 | help | 123 | help |
126 | Select this if you are using one of Atmel's AT91SAM9260, AT91SAM9XE | 124 | Select this if you are using one of Atmel's AT91SAM9260, AT91SAM9XE |
@@ -140,7 +138,6 @@ config SOC_AT91SAM9263 | |||
140 | select HAVE_AT91_DBGU1 | 138 | select HAVE_AT91_DBGU1 |
141 | select HAVE_FB_ATMEL | 139 | select HAVE_FB_ATMEL |
142 | select SOC_AT91SAM9 | 140 | select SOC_AT91SAM9 |
143 | select AT91_USE_OLD_CLK | ||
144 | select HAVE_AT91_USB_CLK | 141 | select HAVE_AT91_USB_CLK |
145 | 142 | ||
146 | config SOC_AT91SAM9RL | 143 | config SOC_AT91SAM9RL |
@@ -155,7 +152,6 @@ config SOC_AT91SAM9G45 | |||
155 | select HAVE_AT91_DBGU1 | 152 | select HAVE_AT91_DBGU1 |
156 | select HAVE_FB_ATMEL | 153 | select HAVE_FB_ATMEL |
157 | select SOC_AT91SAM9 | 154 | select SOC_AT91SAM9 |
158 | select AT91_USE_OLD_CLK | ||
159 | select HAVE_AT91_UTMI | 155 | select HAVE_AT91_UTMI |
160 | select HAVE_AT91_USB_CLK | 156 | select HAVE_AT91_USB_CLK |
161 | help | 157 | help |
diff --git a/arch/arm/mach-at91/at91rm9200.c b/arch/arm/mach-at91/at91rm9200.c index 787bb50a4dff..038702ee8bc6 100644 --- a/arch/arm/mach-at91/at91rm9200.c +++ b/arch/arm/mach-at91/at91rm9200.c | |||
@@ -26,10 +26,11 @@ | |||
26 | #include "at91_aic.h" | 26 | #include "at91_aic.h" |
27 | #include "soc.h" | 27 | #include "soc.h" |
28 | #include "generic.h" | 28 | #include "generic.h" |
29 | #include "clock.h" | ||
30 | #include "sam9_smc.h" | 29 | #include "sam9_smc.h" |
31 | #include "pm.h" | 30 | #include "pm.h" |
32 | 31 | ||
32 | #if defined(CONFIG_OLD_CLK_AT91) | ||
33 | #include "clock.h" | ||
33 | /* -------------------------------------------------------------------- | 34 | /* -------------------------------------------------------------------- |
34 | * Clocks | 35 | * Clocks |
35 | * -------------------------------------------------------------------- */ | 36 | * -------------------------------------------------------------------- */ |
@@ -277,6 +278,9 @@ static void __init at91rm9200_register_clocks(void) | |||
277 | clk_register(&pck2); | 278 | clk_register(&pck2); |
278 | clk_register(&pck3); | 279 | clk_register(&pck3); |
279 | } | 280 | } |
281 | #else | ||
282 | #define at91rm9200_register_clocks NULL | ||
283 | #endif | ||
280 | 284 | ||
281 | /* -------------------------------------------------------------------- | 285 | /* -------------------------------------------------------------------- |
282 | * GPIO | 286 | * GPIO |
diff --git a/arch/arm/mach-at91/at91sam9260.c b/arch/arm/mach-at91/at91sam9260.c index c3d22be73b7c..3477ba94c4c5 100644 --- a/arch/arm/mach-at91/at91sam9260.c +++ b/arch/arm/mach-at91/at91sam9260.c | |||
@@ -27,10 +27,11 @@ | |||
27 | #include "at91_rstc.h" | 27 | #include "at91_rstc.h" |
28 | #include "soc.h" | 28 | #include "soc.h" |
29 | #include "generic.h" | 29 | #include "generic.h" |
30 | #include "clock.h" | ||
31 | #include "sam9_smc.h" | 30 | #include "sam9_smc.h" |
32 | #include "pm.h" | 31 | #include "pm.h" |
33 | 32 | ||
33 | #if defined(CONFIG_OLD_CLK_AT91) | ||
34 | #include "clock.h" | ||
34 | /* -------------------------------------------------------------------- | 35 | /* -------------------------------------------------------------------- |
35 | * Clocks | 36 | * Clocks |
36 | * -------------------------------------------------------------------- */ | 37 | * -------------------------------------------------------------------- */ |
@@ -288,6 +289,9 @@ static void __init at91sam9260_register_clocks(void) | |||
288 | clk_register(&pck0); | 289 | clk_register(&pck0); |
289 | clk_register(&pck1); | 290 | clk_register(&pck1); |
290 | } | 291 | } |
292 | #else | ||
293 | #define at91sam9260_register_clocks NULL | ||
294 | #endif | ||
291 | 295 | ||
292 | /* -------------------------------------------------------------------- | 296 | /* -------------------------------------------------------------------- |
293 | * GPIO | 297 | * GPIO |
diff --git a/arch/arm/mach-at91/at91sam9263.c b/arch/arm/mach-at91/at91sam9263.c index f30290572293..c07465361947 100644 --- a/arch/arm/mach-at91/at91sam9263.c +++ b/arch/arm/mach-at91/at91sam9263.c | |||
@@ -25,10 +25,11 @@ | |||
25 | #include "at91_rstc.h" | 25 | #include "at91_rstc.h" |
26 | #include "soc.h" | 26 | #include "soc.h" |
27 | #include "generic.h" | 27 | #include "generic.h" |
28 | #include "clock.h" | ||
29 | #include "sam9_smc.h" | 28 | #include "sam9_smc.h" |
30 | #include "pm.h" | 29 | #include "pm.h" |
31 | 30 | ||
31 | #if defined(CONFIG_OLD_CLK_AT91) | ||
32 | #include "clock.h" | ||
32 | /* -------------------------------------------------------------------- | 33 | /* -------------------------------------------------------------------- |
33 | * Clocks | 34 | * Clocks |
34 | * -------------------------------------------------------------------- */ | 35 | * -------------------------------------------------------------------- */ |
@@ -280,6 +281,9 @@ static void __init at91sam9263_register_clocks(void) | |||
280 | clk_register(&pck2); | 281 | clk_register(&pck2); |
281 | clk_register(&pck3); | 282 | clk_register(&pck3); |
282 | } | 283 | } |
284 | #else | ||
285 | #define at91sam9263_register_clocks NULL | ||
286 | #endif | ||
283 | 287 | ||
284 | /* -------------------------------------------------------------------- | 288 | /* -------------------------------------------------------------------- |
285 | * GPIO | 289 | * GPIO |
diff --git a/arch/arm/mach-at91/at91sam9g45.c b/arch/arm/mach-at91/at91sam9g45.c index 9d3d544ac19c..0d5d85797cd6 100644 --- a/arch/arm/mach-at91/at91sam9g45.c +++ b/arch/arm/mach-at91/at91sam9g45.c | |||
@@ -25,10 +25,11 @@ | |||
25 | #include "at91_aic.h" | 25 | #include "at91_aic.h" |
26 | #include "soc.h" | 26 | #include "soc.h" |
27 | #include "generic.h" | 27 | #include "generic.h" |
28 | #include "clock.h" | ||
29 | #include "sam9_smc.h" | 28 | #include "sam9_smc.h" |
30 | #include "pm.h" | 29 | #include "pm.h" |
31 | 30 | ||
31 | #if defined(CONFIG_OLD_CLK_AT91) | ||
32 | #include "clock.h" | ||
32 | /* -------------------------------------------------------------------- | 33 | /* -------------------------------------------------------------------- |
33 | * Clocks | 34 | * Clocks |
34 | * -------------------------------------------------------------------- */ | 35 | * -------------------------------------------------------------------- */ |
@@ -331,6 +332,9 @@ static void __init at91sam9g45_register_clocks(void) | |||
331 | clk_register(&pck0); | 332 | clk_register(&pck0); |
332 | clk_register(&pck1); | 333 | clk_register(&pck1); |
333 | } | 334 | } |
335 | #else | ||
336 | #define at91sam9g45_register_clocks NULL | ||
337 | #endif | ||
334 | 338 | ||
335 | /* -------------------------------------------------------------------- | 339 | /* -------------------------------------------------------------------- |
336 | * GPIO | 340 | * GPIO |