Commit | Line | Data |
---|---|---|
360ccb30 JJH |
1 | /* |
2 | * at91sam9261.dtsi - Device Tree Include file for AT91SAM9261 SoC | |
3 | * | |
4 | * Copyright (C) 2013 Jean-Jacques Hiblot <jjhiblot@traphandler.com> | |
5 | * | |
6 | * Licensed under GPLv2 only. | |
7 | */ | |
8 | ||
9 | #include "skeleton.dtsi" | |
10 | #include <dt-bindings/pinctrl/at91.h> | |
11 | #include <dt-bindings/interrupt-controller/irq.h> | |
12 | #include <dt-bindings/gpio/gpio.h> | |
13 | #include <dt-bindings/clk/at91.h> | |
14 | ||
15 | / { | |
16 | model = "Atmel AT91SAM9261 family SoC"; | |
17 | compatible = "atmel,at91sam9261"; | |
18 | interrupt-parent = <&aic>; | |
19 | ||
20 | aliases { | |
21 | serial0 = &dbgu; | |
22 | serial1 = &usart0; | |
23 | serial2 = &usart1; | |
24 | serial3 = &usart2; | |
25 | gpio0 = &pioA; | |
26 | gpio1 = &pioB; | |
27 | gpio2 = &pioC; | |
28 | tcb0 = &tcb0; | |
29 | i2c0 = &i2c0; | |
30 | ssc0 = &ssc0; | |
31 | ssc1 = &ssc1; | |
32 | }; | |
33 | ||
34 | cpus { | |
35 | #address-cells = <0>; | |
36 | #size-cells = <0>; | |
37 | ||
38 | cpu { | |
39 | compatible = "arm,arm926ej-s"; | |
40 | device_type = "cpu"; | |
41 | }; | |
42 | }; | |
43 | ||
44 | memory { | |
45 | reg = <0x20000000 0x08000000>; | |
46 | }; | |
47 | ||
884fb7d0 BB |
48 | main_xtal: main_xtal { |
49 | compatible = "fixed-clock"; | |
50 | #clock-cells = <0>; | |
51 | clock-frequency = <0>; | |
52 | }; | |
53 | ||
54 | slow_xtal: slow_xtal { | |
55 | compatible = "fixed-clock"; | |
56 | #clock-cells = <0>; | |
57 | clock-frequency = <0>; | |
58 | }; | |
59 | ||
360ccb30 JJH |
60 | ahb { |
61 | compatible = "simple-bus"; | |
62 | #address-cells = <1>; | |
63 | #size-cells = <1>; | |
64 | ranges; | |
65 | ||
66 | usb0: ohci@00500000 { | |
67 | compatible = "atmel,at91rm9200-ohci", "usb-ohci"; | |
68 | reg = <0x00500000 0x100000>; | |
69 | interrupts = <20 IRQ_TYPE_LEVEL_HIGH 2>; | |
70 | clocks = <&usb>, <&ohci_clk>, <&hclk0>, <&uhpck>; | |
71 | clock-names = "usb_clk", "ohci_clk", "hclk", "uhpck"; | |
72 | status = "disabled"; | |
73 | }; | |
74 | ||
75 | fb0: fb@0x00600000 { | |
76 | compatible = "atmel,at91sam9261-lcdc"; | |
77 | reg = <0x00600000 0x1000>; | |
78 | interrupts = <21 IRQ_TYPE_LEVEL_HIGH 3>; | |
79 | pinctrl-names = "default"; | |
80 | pinctrl-0 = <&pinctrl_fb>; | |
81 | clocks = <&lcd_clk>, <&hclk1>; | |
82 | clock-names = "lcdc_clk", "hclk"; | |
83 | status = "disabled"; | |
84 | }; | |
85 | ||
86 | nand0: nand@40000000 { | |
87 | compatible = "atmel,at91rm9200-nand"; | |
88 | #address-cells = <1>; | |
89 | #size-cells = <1>; | |
90 | reg = <0x40000000 0x10000000>; | |
91 | atmel,nand-addr-offset = <22>; | |
92 | atmel,nand-cmd-offset = <21>; | |
93 | pinctrl-names = "default"; | |
94 | pinctrl-0 = <&pinctrl_nand>; | |
95 | ||
96 | gpios = <&pioC 15 GPIO_ACTIVE_HIGH>, | |
97 | <&pioC 14 GPIO_ACTIVE_HIGH>, | |
98 | <0>; | |
99 | status = "disabled"; | |
100 | }; | |
101 | ||
102 | apb { | |
103 | compatible = "simple-bus"; | |
104 | #address-cells = <1>; | |
105 | #size-cells = <1>; | |
106 | ranges; | |
107 | ||
108 | tcb0: timer@fffa0000 { | |
109 | compatible = "atmel,at91rm9200-tcb"; | |
110 | reg = <0xfffa0000 0x100>; | |
111 | interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0>, | |
112 | <18 IRQ_TYPE_LEVEL_HIGH 0>, | |
113 | <19 IRQ_TYPE_LEVEL_HIGH 0>; | |
114 | clocks = <&tc0_clk>, <&tc1_clk>, <&tc2_clk>; | |
115 | clock-names = "t0_clk", "t1_clk", "t2_clk"; | |
116 | }; | |
117 | ||
118 | usb1: gadget@fffa4000 { | |
119 | compatible = "atmel,at91rm9200-udc"; | |
120 | reg = <0xfffa4000 0x4000>; | |
121 | interrupts = <10 IRQ_TYPE_LEVEL_HIGH 2>; | |
122 | clocks = <&usb>, <&udc_clk>, <&udpck>; | |
123 | clock-names = "usb_clk", "udc_clk", "udpck"; | |
124 | status = "disabled"; | |
125 | }; | |
126 | ||
127 | mmc0: mmc@fffa8000 { | |
128 | compatible = "atmel,hsmci"; | |
129 | reg = <0xfffa8000 0x600>; | |
130 | interrupts = <9 IRQ_TYPE_LEVEL_HIGH 0>; | |
131 | pinctrl-names = "default"; | |
132 | pinctrl-0 = <&pinctrl_mmc0_clk>, <&pinctrl_mmc0_slot0_cmd_dat0>, <&pinctrl_mmc0_slot0_dat1_3>; | |
133 | #address-cells = <1>; | |
134 | #size-cells = <0>; | |
135 | clocks = <&mci0_clk>; | |
136 | clock-names = "mci_clk"; | |
137 | status = "disabled"; | |
138 | }; | |
139 | ||
140 | i2c0: i2c@fffac000 { | |
141 | compatible = "atmel,at91sam9261-i2c"; | |
142 | pinctrl-names = "default"; | |
143 | pinctrl-0 = <&pinctrl_i2c_twi>; | |
144 | reg = <0xfffac000 0x100>; | |
145 | interrupts = <11 IRQ_TYPE_LEVEL_HIGH 6>; | |
146 | #address-cells = <1>; | |
147 | #size-cells = <0>; | |
148 | clocks = <&twi0_clk>; | |
149 | status = "disabled"; | |
150 | }; | |
151 | ||
152 | usart0: serial@fffb0000 { | |
153 | compatible = "atmel,at91sam9260-usart"; | |
154 | reg = <0xfffb0000 0x200>; | |
155 | interrupts = <6 IRQ_TYPE_LEVEL_HIGH 5>; | |
156 | atmel,use-dma-rx; | |
157 | atmel,use-dma-tx; | |
158 | pinctrl-names = "default"; | |
159 | pinctrl-0 = <&pinctrl_usart0>; | |
160 | clocks = <&usart0_clk>; | |
161 | clock-names = "usart"; | |
162 | status = "disabled"; | |
163 | }; | |
164 | ||
165 | usart1: serial@fffb4000 { | |
166 | compatible = "atmel,at91sam9260-usart"; | |
167 | reg = <0xfffb4000 0x200>; | |
168 | interrupts = <7 IRQ_TYPE_LEVEL_HIGH 5>; | |
169 | atmel,use-dma-rx; | |
170 | atmel,use-dma-tx; | |
171 | pinctrl-names = "default"; | |
172 | pinctrl-0 = <&pinctrl_usart1>; | |
173 | clocks = <&usart1_clk>; | |
174 | clock-names = "usart"; | |
175 | status = "disabled"; | |
176 | }; | |
177 | ||
178 | usart2: serial@fffb8000{ | |
179 | compatible = "atmel,at91sam9260-usart"; | |
180 | reg = <0xfffb8000 0x200>; | |
181 | interrupts = <8 IRQ_TYPE_LEVEL_HIGH 5>; | |
182 | atmel,use-dma-rx; | |
183 | atmel,use-dma-tx; | |
184 | pinctrl-names = "default"; | |
185 | pinctrl-0 = <&pinctrl_usart2>; | |
186 | clocks = <&usart2_clk>; | |
187 | clock-names = "usart"; | |
188 | status = "disabled"; | |
189 | }; | |
190 | ||
191 | ssc0: ssc@fffbc000 { | |
192 | compatible = "atmel,at91rm9200-ssc"; | |
193 | reg = <0xfffbc000 0x4000>; | |
194 | interrupts = <14 IRQ_TYPE_LEVEL_HIGH 5>; | |
195 | pinctrl-names = "default"; | |
196 | pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>; | |
197 | status = "disabled"; | |
198 | }; | |
199 | ||
200 | ssc1: ssc@fffc0000 { | |
201 | compatible = "atmel,at91rm9200-ssc"; | |
202 | reg = <0xfffc0000 0x4000>; | |
203 | interrupts = <15 IRQ_TYPE_LEVEL_HIGH 5>; | |
204 | pinctrl-names = "default"; | |
205 | pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>; | |
206 | status = "disabled"; | |
207 | }; | |
208 | ||
209 | spi0: spi@fffc8000 { | |
210 | #address-cells = <1>; | |
211 | #size-cells = <0>; | |
212 | compatible = "atmel,at91rm9200-spi"; | |
213 | reg = <0xfffc8000 0x200>; | |
214 | cs-gpios = <0>, <0>, <0>, <0>; | |
215 | interrupts = <12 IRQ_TYPE_LEVEL_HIGH 3>; | |
216 | pinctrl-names = "default"; | |
217 | pinctrl-0 = <&pinctrl_spi0>; | |
218 | clocks = <&spi0_clk>; | |
219 | clock-names = "spi_clk"; | |
220 | status = "disabled"; | |
221 | }; | |
222 | ||
223 | spi1: spi@fffcc000 { | |
224 | #address-cells = <1>; | |
225 | #size-cells = <0>; | |
226 | compatible = "atmel,at91rm9200-spi"; | |
227 | reg = <0xfffcc000 0x200>; | |
228 | interrupts = <13 IRQ_TYPE_LEVEL_HIGH 3>; | |
229 | pinctrl-names = "default"; | |
230 | pinctrl-0 = <&pinctrl_spi1>; | |
231 | clocks = <&spi1_clk>; | |
232 | clock-names = "spi_clk"; | |
233 | status = "disabled"; | |
234 | }; | |
235 | ||
236 | ramc: ramc@ffffea00 { | |
237 | compatible = "atmel,at91sam9260-sdramc"; | |
238 | reg = <0xffffea00 0x200>; | |
239 | }; | |
240 | ||
241 | matrix: matrix@ffffee00 { | |
242 | compatible = "atmel,at91sam9260-bus-matrix"; | |
243 | reg = <0xffffee00 0x200>; | |
244 | }; | |
245 | ||
246 | aic: interrupt-controller@fffff000 { | |
247 | #interrupt-cells = <3>; | |
248 | compatible = "atmel,at91rm9200-aic"; | |
249 | interrupt-controller; | |
250 | reg = <0xfffff000 0x200>; | |
251 | atmel,external-irqs = <29 30 31>; | |
252 | }; | |
253 | ||
254 | dbgu: serial@fffff200 { | |
255 | compatible = "atmel,at91sam9260-usart"; | |
256 | reg = <0xfffff200 0x200>; | |
257 | interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; | |
258 | pinctrl-names = "default"; | |
259 | pinctrl-0 = <&pinctrl_dbgu>; | |
260 | clocks = <&mck>; | |
261 | clock-names = "usart"; | |
262 | status = "disabled"; | |
263 | }; | |
264 | ||
265 | pinctrl@fffff400 { | |
266 | #address-cells = <1>; | |
267 | #size-cells = <1>; | |
268 | compatible = "atmel,at91rm9200-pinctrl", "simple-bus"; | |
269 | ranges = <0xfffff400 0xfffff400 0x600>; | |
270 | ||
271 | atmel,mux-mask = | |
272 | /* A B */ | |
273 | <0xffffffff 0xfffffff7>, /* pioA */ | |
274 | <0xffffffff 0xfffffff4>, /* pioB */ | |
275 | <0xffffffff 0xffffff07>; /* pioC */ | |
276 | ||
277 | /* shared pinctrl settings */ | |
278 | dbgu { | |
279 | pinctrl_dbgu: dbgu-0 { | |
280 | atmel,pins = | |
281 | <AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_NONE>, | |
282 | <AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; | |
283 | }; | |
284 | }; | |
285 | ||
286 | usart0 { | |
287 | pinctrl_usart0: usart0-0 { | |
288 | atmel,pins = | |
289 | <AT91_PIOC 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>, | |
290 | <AT91_PIOC 9 AT91_PERIPH_A AT91_PINCTRL_NONE>; | |
291 | }; | |
292 | ||
293 | pinctrl_usart0_rts: usart0_rts-0 { | |
294 | atmel,pins = | |
295 | <AT91_PIOC 10 AT91_PERIPH_A AT91_PINCTRL_NONE>; | |
296 | }; | |
297 | ||
298 | pinctrl_usart0_cts: usart0_cts-0 { | |
299 | atmel,pins = | |
300 | <AT91_PIOC 11 AT91_PERIPH_A AT91_PINCTRL_NONE>; | |
301 | }; | |
302 | }; | |
303 | ||
304 | usart1 { | |
305 | pinctrl_usart1: usart1-0 { | |
306 | atmel,pins = | |
307 | <AT91_PIOC 12 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>, | |
308 | <AT91_PIOC 13 AT91_PERIPH_A AT91_PINCTRL_NONE>; | |
309 | }; | |
310 | ||
311 | pinctrl_usart1_rts: usart1_rts-0 { | |
312 | atmel,pins = | |
313 | <AT91_PIOA 12 AT91_PERIPH_B AT91_PINCTRL_NONE>; | |
314 | }; | |
315 | ||
316 | pinctrl_usart1_cts: usart1_cts-0 { | |
317 | atmel,pins = | |
318 | <AT91_PIOA 13 AT91_PERIPH_B AT91_PINCTRL_NONE>; | |
319 | }; | |
320 | }; | |
321 | ||
322 | usart2 { | |
323 | pinctrl_usart2: usart2-0 { | |
324 | atmel,pins = | |
325 | <AT91_PIOC 14 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>, | |
326 | <AT91_PIOC 15 AT91_PERIPH_A AT91_PINCTRL_NONE>; | |
327 | }; | |
328 | ||
329 | pinctrl_usart2_rts: usart2_rts-0 { | |
330 | atmel,pins = | |
331 | <AT91_PIOA 15 AT91_PERIPH_B AT91_PINCTRL_NONE>; | |
332 | }; | |
333 | ||
334 | pinctrl_usart2_cts: usart2_cts-0 { | |
335 | atmel,pins = | |
336 | <AT91_PIOA 16 AT91_PERIPH_B AT91_PINCTRL_NONE>; | |
337 | }; | |
338 | }; | |
339 | ||
340 | nand { | |
341 | pinctrl_nand: nand-0 { | |
342 | atmel,pins = | |
343 | <AT91_PIOC 15 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>, | |
344 | <AT91_PIOC 14 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>; | |
345 | }; | |
346 | }; | |
347 | ||
348 | mmc0 { | |
349 | pinctrl_mmc0_clk: mmc0_clk-0 { | |
350 | atmel,pins = | |
351 | <AT91_PIOA 2 AT91_PERIPH_B AT91_PINCTRL_NONE>; | |
352 | }; | |
353 | ||
354 | pinctrl_mmc0_slot0_cmd_dat0: mmc0_slot0_cmd_dat0-0 { | |
355 | atmel,pins = | |
356 | <AT91_PIOA 1 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>, | |
357 | <AT91_PIOA 0 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; | |
358 | }; | |
359 | ||
360 | pinctrl_mmc0_slot0_dat1_3: mmc0_slot0_dat1_3-0 { | |
361 | atmel,pins = | |
362 | <AT91_PIOA 4 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>, | |
363 | <AT91_PIOA 5 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>, | |
364 | <AT91_PIOA 6 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; | |
365 | }; | |
366 | }; | |
367 | ||
368 | ssc0 { | |
369 | pinctrl_ssc0_tx: ssc0_tx-0 { | |
370 | atmel,pins = | |
371 | <AT91_PIOB 21 AT91_PERIPH_A AT91_PINCTRL_NONE>, | |
372 | <AT91_PIOB 22 AT91_PERIPH_A AT91_PINCTRL_NONE>, | |
373 | <AT91_PIOB 23 AT91_PERIPH_A AT91_PINCTRL_NONE>; | |
374 | }; | |
375 | ||
376 | pinctrl_ssc0_rx: ssc0_rx-0 { | |
377 | atmel,pins = | |
378 | <AT91_PIOB 24 AT91_PERIPH_A AT91_PINCTRL_NONE>, | |
379 | <AT91_PIOB 25 AT91_PERIPH_A AT91_PINCTRL_NONE>, | |
380 | <AT91_PIOB 26 AT91_PERIPH_A AT91_PINCTRL_NONE>; | |
381 | }; | |
382 | }; | |
383 | ||
384 | ssc1 { | |
385 | pinctrl_ssc1_tx: ssc1_tx-0 { | |
386 | atmel,pins = | |
387 | <AT91_PIOA 17 AT91_PERIPH_B AT91_PINCTRL_NONE>, | |
388 | <AT91_PIOA 18 AT91_PERIPH_B AT91_PINCTRL_NONE>, | |
389 | <AT91_PIOA 19 AT91_PERIPH_B AT91_PINCTRL_NONE>; | |
390 | }; | |
391 | ||
392 | pinctrl_ssc1_rx: ssc1_rx-0 { | |
393 | atmel,pins = | |
394 | <AT91_PIOA 20 AT91_PERIPH_B AT91_PINCTRL_NONE>, | |
395 | <AT91_PIOA 21 AT91_PERIPH_B AT91_PINCTRL_NONE>, | |
396 | <AT91_PIOA 22 AT91_PERIPH_B AT91_PINCTRL_NONE>; | |
397 | }; | |
398 | }; | |
399 | ||
400 | spi0 { | |
401 | pinctrl_spi0: spi0-0 { | |
402 | atmel,pins = | |
403 | <AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_NONE>, | |
404 | <AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_NONE>, | |
405 | <AT91_PIOA 2 AT91_PERIPH_A AT91_PINCTRL_NONE>; | |
406 | }; | |
407 | }; | |
408 | ||
409 | spi1 { | |
410 | pinctrl_spi1: spi1-0 { | |
411 | atmel,pins = | |
412 | <AT91_PIOB 30 AT91_PERIPH_A AT91_PINCTRL_NONE>, | |
413 | <AT91_PIOB 31 AT91_PERIPH_A AT91_PINCTRL_NONE>, | |
414 | <AT91_PIOB 29 AT91_PERIPH_A AT91_PINCTRL_NONE>; | |
415 | }; | |
416 | }; | |
417 | ||
418 | tcb0 { | |
419 | pinctrl_tcb0_tclk0: tcb0_tclk0-0 { | |
420 | atmel,pins = <AT91_PIOC 16 AT91_PERIPH_B AT91_PINCTRL_NONE>; | |
421 | }; | |
422 | ||
423 | pinctrl_tcb0_tclk1: tcb0_tclk1-0 { | |
424 | atmel,pins = <AT91_PIOC 17 AT91_PERIPH_B AT91_PINCTRL_NONE>; | |
425 | }; | |
426 | ||
427 | pinctrl_tcb0_tclk2: tcb0_tclk2-0 { | |
428 | atmel,pins = <AT91_PIOC 18 AT91_PERIPH_B AT91_PINCTRL_NONE>; | |
429 | }; | |
430 | ||
431 | pinctrl_tcb0_tioa0: tcb0_tioa0-0 { | |
432 | atmel,pins = <AT91_PIOC 19 AT91_PERIPH_B AT91_PINCTRL_NONE>; | |
433 | }; | |
434 | ||
435 | pinctrl_tcb0_tioa1: tcb0_tioa1-0 { | |
436 | atmel,pins = <AT91_PIOC 21 AT91_PERIPH_B AT91_PINCTRL_NONE>; | |
437 | }; | |
438 | ||
439 | pinctrl_tcb0_tioa2: tcb0_tioa2-0 { | |
440 | atmel,pins = <AT91_PIOC 23 AT91_PERIPH_B AT91_PINCTRL_NONE>; | |
441 | }; | |
442 | ||
443 | pinctrl_tcb0_tiob0: tcb0_tiob0-0 { | |
444 | atmel,pins = <AT91_PIOC 20 AT91_PERIPH_B AT91_PINCTRL_NONE>; | |
445 | }; | |
446 | ||
447 | pinctrl_tcb0_tiob1: tcb0_tiob1-0 { | |
448 | atmel,pins = <AT91_PIOC 22 AT91_PERIPH_B AT91_PINCTRL_NONE>; | |
449 | }; | |
450 | ||
451 | pinctrl_tcb0_tiob2: tcb0_tiob2-0 { | |
452 | atmel,pins = <AT91_PIOC 24 AT91_PERIPH_B AT91_PINCTRL_NONE>; | |
453 | }; | |
454 | }; | |
455 | ||
456 | i2c0 { | |
457 | pinctrl_i2c_bitbang: i2c-0-bitbang { | |
458 | atmel,pins = | |
459 | <AT91_PIOA 7 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>, | |
460 | <AT91_PIOA 8 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; | |
461 | }; | |
462 | pinctrl_i2c_twi: i2c-0-twi { | |
463 | atmel,pins = | |
464 | <AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_NONE>, | |
465 | <AT91_PIOA 8 AT91_PERIPH_A AT91_PINCTRL_NONE>; | |
466 | }; | |
467 | }; | |
468 | ||
469 | fb { | |
470 | pinctrl_fb: fb-0 { | |
471 | atmel,pins = | |
472 | <AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE>, | |
473 | <AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE>, | |
474 | <AT91_PIOB 3 AT91_PERIPH_A AT91_PINCTRL_NONE>, | |
475 | <AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE>, | |
476 | <AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_NONE>, | |
477 | <AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE>, | |
478 | <AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE>, | |
479 | <AT91_PIOB 11 AT91_PERIPH_A AT91_PINCTRL_NONE>, | |
480 | <AT91_PIOB 12 AT91_PERIPH_A AT91_PINCTRL_NONE>, | |
481 | <AT91_PIOB 15 AT91_PERIPH_A AT91_PINCTRL_NONE>, | |
482 | <AT91_PIOB 16 AT91_PERIPH_A AT91_PINCTRL_NONE>, | |
483 | <AT91_PIOB 17 AT91_PERIPH_A AT91_PINCTRL_NONE>, | |
484 | <AT91_PIOB 18 AT91_PERIPH_A AT91_PINCTRL_NONE>, | |
485 | <AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_NONE>, | |
486 | <AT91_PIOB 20 AT91_PERIPH_A AT91_PINCTRL_NONE>, | |
487 | <AT91_PIOB 23 AT91_PERIPH_B AT91_PINCTRL_NONE>, | |
488 | <AT91_PIOB 24 AT91_PERIPH_B AT91_PINCTRL_NONE>, | |
489 | <AT91_PIOB 25 AT91_PERIPH_B AT91_PINCTRL_NONE>, | |
490 | <AT91_PIOB 26 AT91_PERIPH_B AT91_PINCTRL_NONE>, | |
491 | <AT91_PIOB 27 AT91_PERIPH_B AT91_PINCTRL_NONE>, | |
492 | <AT91_PIOB 28 AT91_PERIPH_B AT91_PINCTRL_NONE>; | |
493 | }; | |
494 | }; | |
495 | ||
496 | pioA: gpio@fffff400 { | |
497 | compatible = "atmel,at91rm9200-gpio"; | |
498 | reg = <0xfffff400 0x200>; | |
499 | interrupts = <2 IRQ_TYPE_LEVEL_HIGH 1>; | |
500 | #gpio-cells = <2>; | |
501 | gpio-controller; | |
502 | interrupt-controller; | |
503 | #interrupt-cells = <2>; | |
504 | clocks = <&pioA_clk>; | |
505 | }; | |
506 | ||
507 | pioB: gpio@fffff600 { | |
508 | compatible = "atmel,at91rm9200-gpio"; | |
509 | reg = <0xfffff600 0x200>; | |
510 | interrupts = <3 IRQ_TYPE_LEVEL_HIGH 1>; | |
511 | #gpio-cells = <2>; | |
512 | gpio-controller; | |
513 | interrupt-controller; | |
514 | #interrupt-cells = <2>; | |
515 | clocks = <&pioB_clk>; | |
516 | }; | |
517 | ||
518 | pioC: gpio@fffff800 { | |
519 | compatible = "atmel,at91rm9200-gpio"; | |
520 | reg = <0xfffff800 0x200>; | |
521 | interrupts = <4 IRQ_TYPE_LEVEL_HIGH 1>; | |
522 | #gpio-cells = <2>; | |
523 | gpio-controller; | |
524 | interrupt-controller; | |
525 | #interrupt-cells = <2>; | |
526 | clocks = <&pioC_clk>; | |
527 | }; | |
528 | }; | |
529 | ||
530 | pmc: pmc@fffffc00 { | |
531 | compatible = "atmel,at91rm9200-pmc"; | |
532 | reg = <0xfffffc00 0x100>; | |
533 | interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; | |
534 | interrupt-controller; | |
535 | #address-cells = <1>; | |
536 | #size-cells = <0>; | |
537 | #interrupt-cells = <1>; | |
538 | ||
884fb7d0 | 539 | slow_rc_osc: slow_rc_osc { |
360ccb30 JJH |
540 | compatible = "fixed-clock"; |
541 | #clock-cells = <0>; | |
542 | clock-frequency = <32768>; | |
884fb7d0 BB |
543 | clock-accuracy = <50000000>; |
544 | }; | |
545 | ||
546 | clk32k: slck { | |
547 | compatible = "atmel,at91sam9260-clk-slow"; | |
548 | #clock-cells = <0>; | |
549 | clocks = <&slow_rc_osc &slow_xtal>; | |
360ccb30 JJH |
550 | }; |
551 | ||
552 | main: mainck { | |
553 | compatible = "atmel,at91rm9200-clk-main"; | |
554 | #clock-cells = <0>; | |
555 | interrupts-extended = <&pmc AT91_PMC_MOSCS>; | |
884fb7d0 | 556 | clocks = <&main_xtal>; |
360ccb30 JJH |
557 | }; |
558 | ||
559 | plla: pllack { | |
560 | compatible = "atmel,at91rm9200-clk-pll"; | |
561 | #clock-cells = <0>; | |
562 | interrupts-extended = <&pmc AT91_PMC_LOCKA>; | |
563 | clocks = <&main>; | |
564 | reg = <0>; | |
565 | atmel,clk-input-range = <1000000 32000000>; | |
566 | #atmel,pll-clk-output-range-cells = <4>; | |
567 | atmel,pll-clk-output-ranges = <80000000 200000000 190000000 240000000>; | |
568 | }; | |
569 | ||
570 | pllb: pllbck { | |
571 | compatible = "atmel,at91rm9200-clk-pll"; | |
572 | #clock-cells = <0>; | |
573 | interrupts-extended = <&pmc AT91_PMC_LOCKB>; | |
574 | clocks = <&main>; | |
575 | reg = <1>; | |
576 | atmel,clk-input-range = <1000000 32000000>; | |
577 | #atmel,pll-clk-output-range-cells = <4>; | |
578 | atmel,pll-clk-output-ranges = <80000000 200000000 190000000 240000000>; | |
579 | }; | |
580 | ||
581 | mck: masterck { | |
582 | compatible = "atmel,at91rm9200-clk-master"; | |
583 | #clock-cells = <0>; | |
584 | interrupts-extended = <&pmc AT91_PMC_MCKRDY>; | |
585 | clocks = <&clk32k>, <&main>, <&plla>, <&pllb>; | |
586 | atmel,clk-output-range = <0 94000000>; | |
587 | atmel,clk-divisors = <1 2 4 3>; | |
588 | }; | |
589 | ||
590 | usb: usbck { | |
591 | compatible = "atmel,at91rm9200-clk-usb"; | |
592 | #clock-cells = <0>; | |
593 | atmel,clk-divisors = <1 2 4 3>; | |
594 | clocks = <&pllb>; | |
595 | }; | |
596 | ||
597 | systemck { | |
598 | compatible = "atmel,at91rm9200-clk-system"; | |
599 | #address-cells = <1>; | |
600 | #size-cells = <0>; | |
601 | ||
602 | uhpck: uhpck { | |
603 | #clock-cells = <0>; | |
604 | reg = <6>; | |
605 | clocks = <&usb>; | |
606 | }; | |
607 | ||
608 | udpck: udpck { | |
609 | #clock-cells = <0>; | |
610 | reg = <7>; | |
611 | clocks = <&usb>; | |
612 | }; | |
613 | ||
614 | hclk0: hclk0 { | |
615 | #clock-cells = <0>; | |
616 | reg = <16>; | |
617 | clocks = <&mck>; | |
618 | }; | |
619 | ||
620 | hclk1: hclk1 { | |
621 | #clock-cells = <0>; | |
622 | reg = <17>; | |
623 | clocks = <&mck>; | |
624 | }; | |
625 | }; | |
626 | ||
627 | periphck { | |
628 | compatible = "atmel,at91rm9200-clk-peripheral"; | |
629 | #address-cells = <1>; | |
630 | #size-cells = <0>; | |
631 | clocks = <&mck>; | |
632 | ||
633 | pioA_clk: pioA_clk { | |
634 | #clock-cells = <0>; | |
635 | reg = <2>; | |
636 | }; | |
637 | ||
638 | pioB_clk: pioB_clk { | |
639 | #clock-cells = <0>; | |
640 | reg = <3>; | |
641 | }; | |
642 | ||
643 | pioC_clk: pioC_clk { | |
644 | #clock-cells = <0>; | |
645 | reg = <4>; | |
646 | }; | |
647 | ||
648 | usart0_clk: usart0_clk { | |
649 | #clock-cells = <0>; | |
650 | reg = <6>; | |
651 | }; | |
652 | ||
653 | usart1_clk: usart1_clk { | |
654 | #clock-cells = <0>; | |
655 | reg = <7>; | |
656 | }; | |
657 | ||
658 | usart2_clk: usart2_clk { | |
659 | #clock-cells = <0>; | |
660 | reg = <8>; | |
661 | }; | |
662 | ||
663 | mci0_clk: mci0_clk { | |
664 | #clock-cells = <0>; | |
665 | reg = <9>; | |
666 | }; | |
667 | ||
668 | udc_clk: udc_clk { | |
669 | #clock-cells = <0>; | |
670 | reg = <10>; | |
671 | }; | |
672 | ||
673 | twi0_clk: twi0_clk { | |
674 | reg = <11>; | |
675 | #clock-cells = <0>; | |
676 | }; | |
677 | ||
678 | spi0_clk: spi0_clk { | |
679 | #clock-cells = <0>; | |
680 | reg = <12>; | |
681 | }; | |
682 | ||
683 | spi1_clk: spi1_clk { | |
684 | #clock-cells = <0>; | |
685 | reg = <13>; | |
686 | }; | |
687 | ||
688 | tc0_clk: tc0_clk { | |
689 | #clock-cells = <0>; | |
690 | reg = <17>; | |
691 | }; | |
692 | ||
693 | tc1_clk: tc1_clk { | |
694 | #clock-cells = <0>; | |
695 | reg = <18>; | |
696 | }; | |
697 | ||
698 | tc2_clk: tc2_clk { | |
699 | #clock-cells = <0>; | |
700 | reg = <19>; | |
701 | }; | |
702 | ||
703 | ohci_clk: ohci_clk { | |
704 | #clock-cells = <0>; | |
705 | reg = <20>; | |
706 | }; | |
707 | ||
708 | lcd_clk: lcd_clk { | |
709 | #clock-cells = <0>; | |
710 | reg = <21>; | |
711 | }; | |
712 | }; | |
713 | }; | |
714 | ||
715 | rstc@fffffd00 { | |
716 | compatible = "atmel,at91sam9260-rstc"; | |
717 | reg = <0xfffffd00 0x10>; | |
718 | }; | |
719 | ||
720 | shdwc@fffffd10 { | |
721 | compatible = "atmel,at91sam9260-shdwc"; | |
722 | reg = <0xfffffd10 0x10>; | |
723 | }; | |
724 | ||
725 | pit: timer@fffffd30 { | |
726 | compatible = "atmel,at91sam9260-pit"; | |
727 | reg = <0xfffffd30 0xf>; | |
728 | interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; | |
729 | clocks = <&mck>; | |
730 | }; | |
731 | ||
732 | watchdog@fffffd40 { | |
733 | compatible = "atmel,at91sam9260-wdt"; | |
734 | reg = <0xfffffd40 0x10>; | |
735 | interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; | |
736 | status = "disabled"; | |
737 | }; | |
738 | }; | |
739 | }; | |
740 | ||
741 | i2c@0 { | |
742 | compatible = "i2c-gpio"; | |
743 | pinctrl-names = "default"; | |
744 | pinctrl-0 = <&pinctrl_i2c_bitbang>; | |
745 | gpios = <&pioA 7 GPIO_ACTIVE_HIGH>, /* sda */ | |
746 | <&pioA 8 GPIO_ACTIVE_HIGH>; /* scl */ | |
747 | i2c-gpio,sda-open-drain; | |
748 | i2c-gpio,scl-open-drain; | |
749 | i2c-gpio,delay-us = <2>; /* ~100 kHz */ | |
750 | #address-cells = <1>; | |
751 | #size-cells = <0>; | |
752 | status = "disabled"; | |
753 | }; | |
754 | }; |