diff options
author | Alexandre Belloni <alexandre.belloni@free-electrons.com> | 2014-04-15 07:07:42 -0400 |
---|---|---|
committer | Nicolas Ferre <nicolas.ferre@atmel.com> | 2014-04-18 10:17:12 -0400 |
commit | a4c1d6c75822eb76b818cbffda2cf26a3e3ba5ac (patch) | |
tree | 423934aebbd0aa6f298cfdee823e264a3f4b0058 /arch/arm/boot/dts/at91sam9rl.dtsi | |
parent | c9eaa447e77efe77b7fa4c953bd62de8297fd6c5 (diff) |
ARM: at91/dt: sam9rl: add lcd, adc, usb gadget and pwm support
This patch adds support for the ADC, LCD, USB gadget and PWM controllers to the
at91sam9rl. It also reorders the pinctrl_spi0 as it was not correctly sorted.
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Diffstat (limited to 'arch/arm/boot/dts/at91sam9rl.dtsi')
-rw-r--r-- | arch/arm/boot/dts/at91sam9rl.dtsi | 265 |
1 files changed, 256 insertions, 9 deletions
diff --git a/arch/arm/boot/dts/at91sam9rl.dtsi b/arch/arm/boot/dts/at91sam9rl.dtsi index 63e1784d272c..6202e161314a 100644 --- a/arch/arm/boot/dts/at91sam9rl.dtsi +++ b/arch/arm/boot/dts/at91sam9rl.dtsi | |||
@@ -11,6 +11,7 @@ | |||
11 | #include <dt-bindings/clk/at91.h> | 11 | #include <dt-bindings/clk/at91.h> |
12 | #include <dt-bindings/interrupt-controller/irq.h> | 12 | #include <dt-bindings/interrupt-controller/irq.h> |
13 | #include <dt-bindings/gpio/gpio.h> | 13 | #include <dt-bindings/gpio/gpio.h> |
14 | #include <dt-bindings/pwm/pwm.h> | ||
14 | 15 | ||
15 | / { | 16 | / { |
16 | model = "Atmel AT91SAM9RL family SoC"; | 17 | model = "Atmel AT91SAM9RL family SoC"; |
@@ -32,6 +33,7 @@ | |||
32 | i2c1 = &i2c1; | 33 | i2c1 = &i2c1; |
33 | ssc0 = &ssc0; | 34 | ssc0 = &ssc0; |
34 | ssc1 = &ssc1; | 35 | ssc1 = &ssc1; |
36 | pwm0 = &pwm0; | ||
35 | }; | 37 | }; |
36 | 38 | ||
37 | cpus { | 39 | cpus { |
@@ -48,12 +50,31 @@ | |||
48 | reg = <0x20000000 0x04000000>; | 50 | reg = <0x20000000 0x04000000>; |
49 | }; | 51 | }; |
50 | 52 | ||
53 | clocks { | ||
54 | adc_op_clk: adc_op_clk{ | ||
55 | compatible = "fixed-clock"; | ||
56 | #clock-cells = <0>; | ||
57 | clock-frequency = <1000000>; | ||
58 | }; | ||
59 | }; | ||
60 | |||
51 | ahb { | 61 | ahb { |
52 | compatible = "simple-bus"; | 62 | compatible = "simple-bus"; |
53 | #address-cells = <1>; | 63 | #address-cells = <1>; |
54 | #size-cells = <1>; | 64 | #size-cells = <1>; |
55 | ranges; | 65 | ranges; |
56 | 66 | ||
67 | fb0: fb@00500000 { | ||
68 | compatible = "atmel,at91sam9rl-lcdc"; | ||
69 | reg = <0x00500000 0x1000>; | ||
70 | interrupts = <23 IRQ_TYPE_LEVEL_HIGH 3>; | ||
71 | pinctrl-names = "default"; | ||
72 | pinctrl-0 = <&pinctrl_fb>; | ||
73 | clocks = <&lcd_clk>, <&lcd_clk>; | ||
74 | clock-names = "hclk", "lcdc_clk"; | ||
75 | status = "disabled"; | ||
76 | }; | ||
77 | |||
57 | nand0: nand@40000000 { | 78 | nand0: nand@40000000 { |
58 | compatible = "atmel,at91rm9200-nand"; | 79 | compatible = "atmel,at91rm9200-nand"; |
59 | #address-cells = <1>; | 80 | #address-cells = <1>; |
@@ -187,6 +208,16 @@ | |||
187 | status = "disabled"; | 208 | status = "disabled"; |
188 | }; | 209 | }; |
189 | 210 | ||
211 | pwm0: pwm@fffc8000 { | ||
212 | compatible = "atmel,at91sam9rl-pwm"; | ||
213 | reg = <0xfffc8000 0x300>; | ||
214 | interrupts = <19 IRQ_TYPE_LEVEL_HIGH 4>; | ||
215 | #pwm-cells = <3>; | ||
216 | clocks = <&pwm_clk>; | ||
217 | clock-names = "pwm_clk"; | ||
218 | status = "disabled"; | ||
219 | }; | ||
220 | |||
190 | spi0: spi@fffcc000 { | 221 | spi0: spi@fffcc000 { |
191 | #address-cells = <1>; | 222 | #address-cells = <1>; |
192 | #size-cells = <0>; | 223 | #size-cells = <0>; |
@@ -200,6 +231,111 @@ | |||
200 | status = "disabled"; | 231 | status = "disabled"; |
201 | }; | 232 | }; |
202 | 233 | ||
234 | adc0: adc@fffd0000 { | ||
235 | #address-cells = <1>; | ||
236 | #size-cells = <0>; | ||
237 | compatible = "atmel,at91sam9rl-adc"; | ||
238 | reg = <0xfffd0000 0x100>; | ||
239 | interrupts = <20 IRQ_TYPE_LEVEL_HIGH 0>; | ||
240 | clocks = <&adc_clk>, <&adc_op_clk>; | ||
241 | clock-names = "adc_clk", "adc_op_clk"; | ||
242 | atmel,adc-use-external-triggers; | ||
243 | atmel,adc-channels-used = <0x3f>; | ||
244 | atmel,adc-vref = <3300>; | ||
245 | atmel,adc-startup-time = <40>; | ||
246 | atmel,adc-res = <8 10>; | ||
247 | atmel,adc-res-names = "lowres", "highres"; | ||
248 | atmel,adc-use-res = "highres"; | ||
249 | |||
250 | trigger@0 { | ||
251 | reg = <0>; | ||
252 | trigger-name = "timer-counter-0"; | ||
253 | trigger-value = <0x1>; | ||
254 | }; | ||
255 | trigger@1 { | ||
256 | reg = <1>; | ||
257 | trigger-name = "timer-counter-1"; | ||
258 | trigger-value = <0x3>; | ||
259 | }; | ||
260 | |||
261 | trigger@2 { | ||
262 | reg = <2>; | ||
263 | trigger-name = "timer-counter-2"; | ||
264 | trigger-value = <0x5>; | ||
265 | }; | ||
266 | |||
267 | trigger@3 { | ||
268 | reg = <3>; | ||
269 | trigger-name = "external"; | ||
270 | trigger-value = <0x13>; | ||
271 | trigger-external; | ||
272 | }; | ||
273 | }; | ||
274 | |||
275 | usb0: gadget@fffd4000 { | ||
276 | #address-cells = <1>; | ||
277 | #size-cells = <0>; | ||
278 | compatible = "atmel,at91sam9rl-udc"; | ||
279 | reg = <0x00600000 0x100000>, | ||
280 | <0xfffd4000 0x4000>; | ||
281 | interrupts = <22 IRQ_TYPE_LEVEL_HIGH 2>; | ||
282 | clocks = <&udphs_clk>, <&utmi>; | ||
283 | clock-names = "pclk", "hclk"; | ||
284 | status = "disabled"; | ||
285 | |||
286 | ep0 { | ||
287 | reg = <0>; | ||
288 | atmel,fifo-size = <64>; | ||
289 | atmel,nb-banks = <1>; | ||
290 | }; | ||
291 | |||
292 | ep1 { | ||
293 | reg = <1>; | ||
294 | atmel,fifo-size = <1024>; | ||
295 | atmel,nb-banks = <2>; | ||
296 | atmel,can-dma; | ||
297 | atmel,can-isoc; | ||
298 | }; | ||
299 | |||
300 | ep2 { | ||
301 | reg = <2>; | ||
302 | atmel,fifo-size = <1024>; | ||
303 | atmel,nb-banks = <2>; | ||
304 | atmel,can-dma; | ||
305 | atmel,can-isoc; | ||
306 | }; | ||
307 | |||
308 | ep3 { | ||
309 | reg = <3>; | ||
310 | atmel,fifo-size = <1024>; | ||
311 | atmel,nb-banks = <3>; | ||
312 | atmel,can-dma; | ||
313 | }; | ||
314 | |||
315 | ep4 { | ||
316 | reg = <4>; | ||
317 | atmel,fifo-size = <1024>; | ||
318 | atmel,nb-banks = <3>; | ||
319 | atmel,can-dma; | ||
320 | }; | ||
321 | |||
322 | ep5 { | ||
323 | reg = <5>; | ||
324 | atmel,fifo-size = <1024>; | ||
325 | atmel,nb-banks = <3>; | ||
326 | atmel,can-dma; | ||
327 | atmel,can-isoc; | ||
328 | }; | ||
329 | |||
330 | ep6 { | ||
331 | reg = <6>; | ||
332 | atmel,fifo-size = <1024>; | ||
333 | atmel,nb-banks = <3>; | ||
334 | atmel,can-dma; | ||
335 | atmel,can-isoc; | ||
336 | }; | ||
337 | }; | ||
338 | |||
203 | ramc0: ramc@ffffea00 { | 339 | ramc0: ramc@ffffea00 { |
204 | compatible = "atmel,at91sam9260-sdramc"; | 340 | compatible = "atmel,at91sam9260-sdramc"; |
205 | reg = <0xffffea00 0x200>; | 341 | reg = <0xffffea00 0x200>; |
@@ -238,6 +374,44 @@ | |||
238 | <0x003fffff 0x0001ff3c>; /* pioD */ | 374 | <0x003fffff 0x0001ff3c>; /* pioD */ |
239 | 375 | ||
240 | /* shared pinctrl settings */ | 376 | /* shared pinctrl settings */ |
377 | adc0 { | ||
378 | pinctrl_adc0_ts: adc0_ts-0 { | ||
379 | atmel,pins = | ||
380 | <AT91_PIOA 17 AT91_PERIPH_A AT91_PINCTRL_NONE>, | ||
381 | <AT91_PIOA 18 AT91_PERIPH_A AT91_PINCTRL_NONE>, | ||
382 | <AT91_PIOA 19 AT91_PERIPH_A AT91_PINCTRL_NONE>, | ||
383 | <AT91_PIOA 20 AT91_PERIPH_A AT91_PINCTRL_NONE>; | ||
384 | }; | ||
385 | |||
386 | pinctrl_adc0_ad0: adc0_ad0-0 { | ||
387 | atmel,pins = <AT91_PIOA 17 AT91_PERIPH_A AT91_PINCTRL_NONE>; | ||
388 | }; | ||
389 | |||
390 | pinctrl_adc0_ad1: adc0_ad1-0 { | ||
391 | atmel,pins = <AT91_PIOA 18 AT91_PERIPH_A AT91_PINCTRL_NONE>; | ||
392 | }; | ||
393 | |||
394 | pinctrl_adc0_ad2: adc0_ad2-0 { | ||
395 | atmel,pins = <AT91_PIOA 19 AT91_PERIPH_A AT91_PINCTRL_NONE>; | ||
396 | }; | ||
397 | |||
398 | pinctrl_adc0_ad3: adc0_ad3-0 { | ||
399 | atmel,pins = <AT91_PIOA 20 AT91_PERIPH_A AT91_PINCTRL_NONE>; | ||
400 | }; | ||
401 | |||
402 | pinctrl_adc0_ad4: adc0_ad4-0 { | ||
403 | atmel,pins = <AT91_PIOD 6 AT91_PERIPH_A AT91_PINCTRL_NONE>; | ||
404 | }; | ||
405 | |||
406 | pinctrl_adc0_ad5: adc0_ad5-0 { | ||
407 | atmel,pins = <AT91_PIOD 7 AT91_PERIPH_A AT91_PINCTRL_NONE>; | ||
408 | }; | ||
409 | |||
410 | pinctrl_adc0_adtrg: adc0_adtrg-0 { | ||
411 | atmel,pins = <AT91_PIOB 15 AT91_PERIPH_A AT91_PINCTRL_NONE>; | ||
412 | }; | ||
413 | }; | ||
414 | |||
241 | dbgu { | 415 | dbgu { |
242 | pinctrl_dbgu: dbgu-0 { | 416 | pinctrl_dbgu: dbgu-0 { |
243 | atmel,pins = | 417 | atmel,pins = |
@@ -246,6 +420,33 @@ | |||
246 | }; | 420 | }; |
247 | }; | 421 | }; |
248 | 422 | ||
423 | fb { | ||
424 | pinctrl_fb: fb-0 { | ||
425 | atmel,pins = | ||
426 | <AT91_PIOC 1 AT91_PERIPH_B AT91_PINCTRL_NONE>, | ||
427 | <AT91_PIOC 3 AT91_PERIPH_A AT91_PINCTRL_NONE>, | ||
428 | <AT91_PIOC 5 AT91_PERIPH_A AT91_PINCTRL_NONE>, | ||
429 | <AT91_PIOC 6 AT91_PERIPH_A AT91_PINCTRL_NONE>, | ||
430 | <AT91_PIOC 7 AT91_PERIPH_A AT91_PINCTRL_NONE>, | ||
431 | <AT91_PIOC 9 AT91_PERIPH_B AT91_PINCTRL_NONE>, | ||
432 | <AT91_PIOC 10 AT91_PERIPH_B AT91_PINCTRL_NONE>, | ||
433 | <AT91_PIOC 11 AT91_PERIPH_B AT91_PINCTRL_NONE>, | ||
434 | <AT91_PIOC 12 AT91_PERIPH_B AT91_PINCTRL_NONE>, | ||
435 | <AT91_PIOC 13 AT91_PERIPH_B AT91_PINCTRL_NONE>, | ||
436 | <AT91_PIOC 15 AT91_PERIPH_B AT91_PINCTRL_NONE>, | ||
437 | <AT91_PIOC 16 AT91_PERIPH_B AT91_PINCTRL_NONE>, | ||
438 | <AT91_PIOC 17 AT91_PERIPH_B AT91_PINCTRL_NONE>, | ||
439 | <AT91_PIOC 18 AT91_PERIPH_B AT91_PINCTRL_NONE>, | ||
440 | <AT91_PIOC 19 AT91_PERIPH_B AT91_PINCTRL_NONE>, | ||
441 | <AT91_PIOC 20 AT91_PERIPH_B AT91_PINCTRL_NONE>, | ||
442 | <AT91_PIOC 21 AT91_PERIPH_B AT91_PINCTRL_NONE>, | ||
443 | <AT91_PIOC 22 AT91_PERIPH_B AT91_PINCTRL_NONE>, | ||
444 | <AT91_PIOC 23 AT91_PERIPH_B AT91_PINCTRL_NONE>, | ||
445 | <AT91_PIOC 24 AT91_PERIPH_B AT91_PINCTRL_NONE>, | ||
446 | <AT91_PIOC 25 AT91_PERIPH_B AT91_PINCTRL_NONE>; | ||
447 | }; | ||
448 | }; | ||
449 | |||
249 | i2c_gpio0 { | 450 | i2c_gpio0 { |
250 | pinctrl_i2c_gpio0: i2c_gpio0-0 { | 451 | pinctrl_i2c_gpio0: i2c_gpio0-0 { |
251 | atmel,pins = | 452 | atmel,pins = |
@@ -307,6 +508,61 @@ | |||
307 | }; | 508 | }; |
308 | }; | 509 | }; |
309 | 510 | ||
511 | pwm0 { | ||
512 | pinctrl_pwm0_pwm0_0: pwm0_pwm0-0 { | ||
513 | atmel,pins = <AT91_PIOB 8 AT91_PERIPH_B AT91_PINCTRL_NONE>; | ||
514 | }; | ||
515 | |||
516 | pinctrl_pwm0_pwm0_1: pwm0_pwm0-1 { | ||
517 | atmel,pins = <AT91_PIOC 2 AT91_PERIPH_B AT91_PINCTRL_NONE>; | ||
518 | }; | ||
519 | |||
520 | pinctrl_pwm0_pwm0_2: pwm0_pwm0-2 { | ||
521 | atmel,pins = <AT91_PIOD 14 AT91_PERIPH_B AT91_PINCTRL_NONE>; | ||
522 | }; | ||
523 | |||
524 | pinctrl_pwm0_pwm1_0: pwm0_pwm1-0 { | ||
525 | atmel,pins = <AT91_PIOB 9 AT91_PERIPH_B AT91_PINCTRL_NONE>; | ||
526 | }; | ||
527 | |||
528 | pinctrl_pwm0_pwm1_1: pwm0_pwm1-1 { | ||
529 | atmel,pins = <AT91_PIOC 3 AT91_PERIPH_B AT91_PINCTRL_NONE>; | ||
530 | }; | ||
531 | |||
532 | pinctrl_pwm0_pwm1_2: pwm0_pwm1-2 { | ||
533 | atmel,pins = <AT91_PIOD 15 AT91_PERIPH_B AT91_PINCTRL_NONE>; | ||
534 | }; | ||
535 | |||
536 | pinctrl_pwm0_pwm2_0: pwm0_pwm2-0 { | ||
537 | atmel,pins = <AT91_PIOD 5 AT91_PERIPH_B AT91_PINCTRL_NONE>; | ||
538 | }; | ||
539 | |||
540 | pinctrl_pwm0_pwm2_1: pwm0_pwm2-1 { | ||
541 | atmel,pins = <AT91_PIOD 12 AT91_PERIPH_A AT91_PINCTRL_NONE>; | ||
542 | }; | ||
543 | |||
544 | pinctrl_pwm0_pwm2_2: pwm0_pwm2-2 { | ||
545 | atmel,pins = <AT91_PIOD 16 AT91_PERIPH_B AT91_PINCTRL_NONE>; | ||
546 | }; | ||
547 | |||
548 | pinctrl_pwm0_pwm3_0: pwm0_pwm3-0 { | ||
549 | atmel,pins = <AT91_PIOD 8 AT91_PERIPH_B AT91_PINCTRL_NONE>; | ||
550 | }; | ||
551 | |||
552 | pinctrl_pwm0_pwm3_1: pwm0_pwm3-1 { | ||
553 | atmel,pins = <AT91_PIOD 18 AT91_PERIPH_A AT91_PINCTRL_NONE>; | ||
554 | }; | ||
555 | }; | ||
556 | |||
557 | spi0 { | ||
558 | pinctrl_spi0: spi0-0 { | ||
559 | atmel,pins = | ||
560 | <AT91_PIOA 25 AT91_PERIPH_A AT91_PINCTRL_NONE>, | ||
561 | <AT91_PIOA 26 AT91_PERIPH_A AT91_PINCTRL_NONE>, | ||
562 | <AT91_PIOA 27 AT91_PERIPH_A AT91_PINCTRL_NONE>; | ||
563 | }; | ||
564 | }; | ||
565 | |||
310 | ssc0 { | 566 | ssc0 { |
311 | pinctrl_ssc0_tx: ssc0_tx-0 { | 567 | pinctrl_ssc0_tx: ssc0_tx-0 { |
312 | atmel,pins = | 568 | atmel,pins = |
@@ -339,15 +595,6 @@ | |||
339 | }; | 595 | }; |
340 | }; | 596 | }; |
341 | 597 | ||
342 | spi0 { | ||
343 | pinctrl_spi0: spi0-0 { | ||
344 | atmel,pins = | ||
345 | <AT91_PIOA 25 AT91_PERIPH_A AT91_PINCTRL_NONE>, | ||
346 | <AT91_PIOA 26 AT91_PERIPH_A AT91_PINCTRL_NONE>, | ||
347 | <AT91_PIOA 27 AT91_PERIPH_A AT91_PINCTRL_NONE>; | ||
348 | }; | ||
349 | }; | ||
350 | |||
351 | tcb0 { | 598 | tcb0 { |
352 | pinctrl_tcb0_tclk0: tcb0_tclk0-0 { | 599 | pinctrl_tcb0_tclk0: tcb0_tclk0-0 { |
353 | atmel,pins = <AT91_PIOA 3 AT91_PERIPH_B AT91_PINCTRL_NONE>; | 600 | atmel,pins = <AT91_PIOA 3 AT91_PERIPH_B AT91_PINCTRL_NONE>; |