aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2013-06-14 21:51:21 -0400
committerOlof Johansson <olof@lixom.net>2013-06-14 21:51:21 -0400
commitef0a3402cccf75b43b1ed854f57fb11b54a1241a (patch)
tree671b865c1967e12003fd2716e26b1b69037f683b
parent37177faefc22209deb547579d4c2dfd5d6bf30ab (diff)
parent24ce10e142e7b063c4ae4437dd3b290fbfafe052 (diff)
Merge tag 'at91-dt' of git://github.com/at91linux/linux-at91 into next/dt
From Nicolas Ferre: Again some nice DT updates for AT91: - DMA binding update with one patch shared with slave-dma tree - more SPI DT activation - enable the USB gadget HS for DT platforms * tag 'at91-dt' of git://github.com/at91linux/linux-at91: ARM: at91: sam9m10g45ek add udc DT support ARM: at91: sam9g45 add udc DT support ARM: at91: sam9x5ek add udc DT support ARM: at91: sam9x5 add udc DT support ARM: at91: dt: at91sam9x5: add SPI DMA client infos ARM: at91: dt: switch DMA DT bindings to pre-processor ARM: at91: dt: add header to define at_hdmac configuration
-rw-r--r--arch/arm/boot/dts/at91sam9g45.dtsi67
-rw-r--r--arch/arm/boot/dts/at91sam9m10g45ek.dts5
-rw-r--r--arch/arm/boot/dts/at91sam9n12.dtsi11
-rw-r--r--arch/arm/boot/dts/at91sam9x5.dtsi85
-rw-r--r--arch/arm/boot/dts/at91sam9x5ek.dtsi5
-rw-r--r--arch/arm/boot/dts/sama5d3.dtsi19
-rw-r--r--arch/arm/mach-at91/at91sam9g45.c2
-rw-r--r--arch/arm/mach-at91/at91sam9x5.c2
-rw-r--r--include/dt-bindings/dma/at91.h27
9 files changed, 199 insertions, 24 deletions
diff --git a/arch/arm/boot/dts/at91sam9g45.dtsi b/arch/arm/boot/dts/at91sam9g45.dtsi
index a03d0c05d027..c3e514837074 100644
--- a/arch/arm/boot/dts/at91sam9g45.dtsi
+++ b/arch/arm/boot/dts/at91sam9g45.dtsi
@@ -10,6 +10,7 @@
10 */ 10 */
11 11
12#include "skeleton.dtsi" 12#include "skeleton.dtsi"
13#include <dt-bindings/dma/at91.h>
13#include <dt-bindings/pinctrl/at91.h> 14#include <dt-bindings/pinctrl/at91.h>
14#include <dt-bindings/interrupt-controller/irq.h> 15#include <dt-bindings/interrupt-controller/irq.h>
15#include <dt-bindings/gpio/gpio.h> 16#include <dt-bindings/gpio/gpio.h>
@@ -617,7 +618,7 @@
617 compatible = "atmel,hsmci"; 618 compatible = "atmel,hsmci";
618 reg = <0xfff80000 0x600>; 619 reg = <0xfff80000 0x600>;
619 interrupts = <11 IRQ_TYPE_LEVEL_HIGH 0>; 620 interrupts = <11 IRQ_TYPE_LEVEL_HIGH 0>;
620 dmas = <&dma 1 0>; 621 dmas = <&dma 1 AT91_DMA_CFG_PER_ID(0)>;
621 dma-names = "rxtx"; 622 dma-names = "rxtx";
622 #address-cells = <1>; 623 #address-cells = <1>;
623 #size-cells = <0>; 624 #size-cells = <0>;
@@ -628,7 +629,7 @@
628 compatible = "atmel,hsmci"; 629 compatible = "atmel,hsmci";
629 reg = <0xfffd0000 0x600>; 630 reg = <0xfffd0000 0x600>;
630 interrupts = <29 IRQ_TYPE_LEVEL_HIGH 0>; 631 interrupts = <29 IRQ_TYPE_LEVEL_HIGH 0>;
631 dmas = <&dma 1 13>; 632 dmas = <&dma 1 AT91_DMA_CFG_PER_ID(13)>;
632 dma-names = "rxtx"; 633 dma-names = "rxtx";
633 #address-cells = <1>; 634 #address-cells = <1>;
634 #size-cells = <0>; 635 #size-cells = <0>;
@@ -662,6 +663,68 @@
662 pinctrl-0 = <&pinctrl_spi1>; 663 pinctrl-0 = <&pinctrl_spi1>;
663 status = "disabled"; 664 status = "disabled";
664 }; 665 };
666
667 usb2: gadget@fff78000 {
668 #address-cells = <1>;
669 #size-cells = <0>;
670 compatible = "atmel,at91sam9rl-udc";
671 reg = <0x00600000 0x80000
672 0xfff78000 0x400>;
673 interrupts = <27 IRQ_TYPE_LEVEL_HIGH 0>;
674 status = "disabled";
675
676 ep0 {
677 reg = <0>;
678 atmel,fifo-size = <64>;
679 atmel,nb-banks = <1>;
680 };
681
682 ep1 {
683 reg = <1>;
684 atmel,fifo-size = <1024>;
685 atmel,nb-banks = <2>;
686 atmel,can-dma;
687 atmel,can-isoc;
688 };
689
690 ep2 {
691 reg = <2>;
692 atmel,fifo-size = <1024>;
693 atmel,nb-banks = <2>;
694 atmel,can-dma;
695 atmel,can-isoc;
696 };
697
698 ep3 {
699 reg = <3>;
700 atmel,fifo-size = <1024>;
701 atmel,nb-banks = <3>;
702 atmel,can-dma;
703 };
704
705 ep4 {
706 reg = <4>;
707 atmel,fifo-size = <1024>;
708 atmel,nb-banks = <3>;
709 atmel,can-dma;
710 };
711
712 ep5 {
713 reg = <5>;
714 atmel,fifo-size = <1024>;
715 atmel,nb-banks = <3>;
716 atmel,can-dma;
717 atmel,can-isoc;
718 };
719
720 ep6 {
721 reg = <6>;
722 atmel,fifo-size = <1024>;
723 atmel,nb-banks = <3>;
724 atmel,can-dma;
725 atmel,can-isoc;
726 };
727 };
665 }; 728 };
666 729
667 nand0: nand@40000000 { 730 nand0: nand@40000000 {
diff --git a/arch/arm/boot/dts/at91sam9m10g45ek.dts b/arch/arm/boot/dts/at91sam9m10g45ek.dts
index 91dbf791d2c6..a4b00e5c61c0 100644
--- a/arch/arm/boot/dts/at91sam9m10g45ek.dts
+++ b/arch/arm/boot/dts/at91sam9m10g45ek.dts
@@ -116,6 +116,11 @@
116 reg = <0>; 116 reg = <0>;
117 }; 117 };
118 }; 118 };
119
120 usb2: gadget@fff78000 {
121 atmel,vbus-gpio = <&pioB 19 GPIO_ACTIVE_HIGH>;
122 status = "okay";
123 };
119 }; 124 };
120 125
121 nand0: nand@40000000 { 126 nand0: nand@40000000 {
diff --git a/arch/arm/boot/dts/at91sam9n12.dtsi b/arch/arm/boot/dts/at91sam9n12.dtsi
index d37761846cd5..973bf5fd9800 100644
--- a/arch/arm/boot/dts/at91sam9n12.dtsi
+++ b/arch/arm/boot/dts/at91sam9n12.dtsi
@@ -8,6 +8,7 @@
8 */ 8 */
9 9
10#include "skeleton.dtsi" 10#include "skeleton.dtsi"
11#include <dt-bindings/dma/at91.h>
11#include <dt-bindings/pinctrl/at91.h> 12#include <dt-bindings/pinctrl/at91.h>
12#include <dt-bindings/interrupt-controller/irq.h> 13#include <dt-bindings/interrupt-controller/irq.h>
13#include <dt-bindings/gpio/gpio.h> 14#include <dt-bindings/gpio/gpio.h>
@@ -97,7 +98,7 @@
97 compatible = "atmel,hsmci"; 98 compatible = "atmel,hsmci";
98 reg = <0xf0008000 0x600>; 99 reg = <0xf0008000 0x600>;
99 interrupts = <12 IRQ_TYPE_LEVEL_HIGH 0>; 100 interrupts = <12 IRQ_TYPE_LEVEL_HIGH 0>;
100 dmas = <&dma 1 0>; 101 dmas = <&dma 1 AT91_DMA_CFG_PER_ID(0)>;
101 dma-names = "rxtx"; 102 dma-names = "rxtx";
102 #address-cells = <1>; 103 #address-cells = <1>;
103 #size-cells = <0>; 104 #size-cells = <0>;
@@ -465,8 +466,8 @@
465 compatible = "atmel,at91sam9x5-i2c"; 466 compatible = "atmel,at91sam9x5-i2c";
466 reg = <0xf8010000 0x100>; 467 reg = <0xf8010000 0x100>;
467 interrupts = <9 IRQ_TYPE_LEVEL_HIGH 6>; 468 interrupts = <9 IRQ_TYPE_LEVEL_HIGH 6>;
468 dmas = <&dma 1 13>, 469 dmas = <&dma 1 AT91_DMA_CFG_PER_ID(13)>,
469 <&dma 1 14>; 470 <&dma 1 AT91_DMA_CFG_PER_ID(14)>;
470 dma-names = "tx", "rx"; 471 dma-names = "tx", "rx";
471 #address-cells = <1>; 472 #address-cells = <1>;
472 #size-cells = <0>; 473 #size-cells = <0>;
@@ -477,8 +478,8 @@
477 compatible = "atmel,at91sam9x5-i2c"; 478 compatible = "atmel,at91sam9x5-i2c";
478 reg = <0xf8014000 0x100>; 479 reg = <0xf8014000 0x100>;
479 interrupts = <10 IRQ_TYPE_LEVEL_HIGH 6>; 480 interrupts = <10 IRQ_TYPE_LEVEL_HIGH 6>;
480 dmas = <&dma 1 15>, 481 dmas = <&dma 1 AT91_DMA_CFG_PER_ID(15)>,
481 <&dma 1 16>; 482 <&dma 1 AT91_DMA_CFG_PER_ID(16)>;
482 dma-names = "tx", "rx"; 483 dma-names = "tx", "rx";
483 #address-cells = <1>; 484 #address-cells = <1>;
484 #size-cells = <0>; 485 #size-cells = <0>;
diff --git a/arch/arm/boot/dts/at91sam9x5.dtsi b/arch/arm/boot/dts/at91sam9x5.dtsi
index ff4bd7a061b0..57d45f5bea09 100644
--- a/arch/arm/boot/dts/at91sam9x5.dtsi
+++ b/arch/arm/boot/dts/at91sam9x5.dtsi
@@ -10,6 +10,7 @@
10 */ 10 */
11 11
12#include "skeleton.dtsi" 12#include "skeleton.dtsi"
13#include <dt-bindings/dma/at91.h>
13#include <dt-bindings/pinctrl/at91.h> 14#include <dt-bindings/pinctrl/at91.h>
14#include <dt-bindings/interrupt-controller/irq.h> 15#include <dt-bindings/interrupt-controller/irq.h>
15#include <dt-bindings/gpio/gpio.h> 16#include <dt-bindings/gpio/gpio.h>
@@ -550,7 +551,7 @@
550 compatible = "atmel,hsmci"; 551 compatible = "atmel,hsmci";
551 reg = <0xf0008000 0x600>; 552 reg = <0xf0008000 0x600>;
552 interrupts = <12 IRQ_TYPE_LEVEL_HIGH 0>; 553 interrupts = <12 IRQ_TYPE_LEVEL_HIGH 0>;
553 dmas = <&dma0 1 0>; 554 dmas = <&dma0 1 AT91_DMA_CFG_PER_ID(0)>;
554 dma-names = "rxtx"; 555 dma-names = "rxtx";
555 #address-cells = <1>; 556 #address-cells = <1>;
556 #size-cells = <0>; 557 #size-cells = <0>;
@@ -561,7 +562,7 @@
561 compatible = "atmel,hsmci"; 562 compatible = "atmel,hsmci";
562 reg = <0xf000c000 0x600>; 563 reg = <0xf000c000 0x600>;
563 interrupts = <26 IRQ_TYPE_LEVEL_HIGH 0>; 564 interrupts = <26 IRQ_TYPE_LEVEL_HIGH 0>;
564 dmas = <&dma1 1 0>; 565 dmas = <&dma1 1 AT91_DMA_CFG_PER_ID(0)>;
565 dma-names = "rxtx"; 566 dma-names = "rxtx";
566 #address-cells = <1>; 567 #address-cells = <1>;
567 #size-cells = <0>; 568 #size-cells = <0>;
@@ -624,8 +625,8 @@
624 compatible = "atmel,at91sam9x5-i2c"; 625 compatible = "atmel,at91sam9x5-i2c";
625 reg = <0xf8010000 0x100>; 626 reg = <0xf8010000 0x100>;
626 interrupts = <9 IRQ_TYPE_LEVEL_HIGH 6>; 627 interrupts = <9 IRQ_TYPE_LEVEL_HIGH 6>;
627 dmas = <&dma0 1 7>, 628 dmas = <&dma0 1 AT91_DMA_CFG_PER_ID(7)>,
628 <&dma0 1 8>; 629 <&dma0 1 AT91_DMA_CFG_PER_ID(8)>;
629 dma-names = "tx", "rx"; 630 dma-names = "tx", "rx";
630 #address-cells = <1>; 631 #address-cells = <1>;
631 #size-cells = <0>; 632 #size-cells = <0>;
@@ -638,8 +639,8 @@
638 compatible = "atmel,at91sam9x5-i2c"; 639 compatible = "atmel,at91sam9x5-i2c";
639 reg = <0xf8014000 0x100>; 640 reg = <0xf8014000 0x100>;
640 interrupts = <10 IRQ_TYPE_LEVEL_HIGH 6>; 641 interrupts = <10 IRQ_TYPE_LEVEL_HIGH 6>;
641 dmas = <&dma1 1 5>, 642 dmas = <&dma1 1 AT91_DMA_CFG_PER_ID(5)>,
642 <&dma1 1 6>; 643 <&dma1 1 AT91_DMA_CFG_PER_ID(6)>;
643 dma-names = "tx", "rx"; 644 dma-names = "tx", "rx";
644 #address-cells = <1>; 645 #address-cells = <1>;
645 #size-cells = <0>; 646 #size-cells = <0>;
@@ -652,8 +653,8 @@
652 compatible = "atmel,at91sam9x5-i2c"; 653 compatible = "atmel,at91sam9x5-i2c";
653 reg = <0xf8018000 0x100>; 654 reg = <0xf8018000 0x100>;
654 interrupts = <11 IRQ_TYPE_LEVEL_HIGH 6>; 655 interrupts = <11 IRQ_TYPE_LEVEL_HIGH 6>;
655 dmas = <&dma0 1 9>, 656 dmas = <&dma0 1 AT91_DMA_CFG_PER_ID(9)>,
656 <&dma0 1 10>; 657 <&dma0 1 AT91_DMA_CFG_PER_ID(10)>;
657 dma-names = "tx", "rx"; 658 dma-names = "tx", "rx";
658 #address-cells = <1>; 659 #address-cells = <1>;
659 #size-cells = <0>; 660 #size-cells = <0>;
@@ -727,6 +728,9 @@
727 compatible = "atmel,at91rm9200-spi"; 728 compatible = "atmel,at91rm9200-spi";
728 reg = <0xf0000000 0x100>; 729 reg = <0xf0000000 0x100>;
729 interrupts = <13 IRQ_TYPE_LEVEL_HIGH 3>; 730 interrupts = <13 IRQ_TYPE_LEVEL_HIGH 3>;
731 dmas = <&dma0 1 AT91_DMA_CFG_PER_ID(1)>,
732 <&dma0 1 AT91_DMA_CFG_PER_ID(2)>;
733 dma-names = "tx", "rx";
730 pinctrl-names = "default"; 734 pinctrl-names = "default";
731 pinctrl-0 = <&pinctrl_spi0>; 735 pinctrl-0 = <&pinctrl_spi0>;
732 status = "disabled"; 736 status = "disabled";
@@ -738,11 +742,76 @@
738 compatible = "atmel,at91rm9200-spi"; 742 compatible = "atmel,at91rm9200-spi";
739 reg = <0xf0004000 0x100>; 743 reg = <0xf0004000 0x100>;
740 interrupts = <14 IRQ_TYPE_LEVEL_HIGH 3>; 744 interrupts = <14 IRQ_TYPE_LEVEL_HIGH 3>;
745 dmas = <&dma1 1 AT91_DMA_CFG_PER_ID(1)>,
746 <&dma1 1 AT91_DMA_CFG_PER_ID(2)>;
747 dma-names = "tx", "rx";
741 pinctrl-names = "default"; 748 pinctrl-names = "default";
742 pinctrl-0 = <&pinctrl_spi1>; 749 pinctrl-0 = <&pinctrl_spi1>;
743 status = "disabled"; 750 status = "disabled";
744 }; 751 };
745 752
753 usb2: gadget@f803c000 {
754 #address-cells = <1>;
755 #size-cells = <0>;
756 compatible = "atmel,at91sam9rl-udc";
757 reg = <0x00500000 0x80000
758 0xf803c000 0x400>;
759 interrupts = <23 IRQ_TYPE_LEVEL_HIGH 0>;
760 status = "disabled";
761
762 ep0 {
763 reg = <0>;
764 atmel,fifo-size = <64>;
765 atmel,nb-banks = <1>;
766 };
767
768 ep1 {
769 reg = <1>;
770 atmel,fifo-size = <1024>;
771 atmel,nb-banks = <2>;
772 atmel,can-dma;
773 atmel,can-isoc;
774 };
775
776 ep2 {
777 reg = <2>;
778 atmel,fifo-size = <1024>;
779 atmel,nb-banks = <2>;
780 atmel,can-dma;
781 atmel,can-isoc;
782 };
783
784 ep3 {
785 reg = <3>;
786 atmel,fifo-size = <1024>;
787 atmel,nb-banks = <3>;
788 atmel,can-dma;
789 };
790
791 ep4 {
792 reg = <4>;
793 atmel,fifo-size = <1024>;
794 atmel,nb-banks = <3>;
795 atmel,can-dma;
796 };
797
798 ep5 {
799 reg = <5>;
800 atmel,fifo-size = <1024>;
801 atmel,nb-banks = <3>;
802 atmel,can-dma;
803 atmel,can-isoc;
804 };
805
806 ep6 {
807 reg = <6>;
808 atmel,fifo-size = <1024>;
809 atmel,nb-banks = <3>;
810 atmel,can-dma;
811 atmel,can-isoc;
812 };
813 };
814
746 watchdog@fffffe40 { 815 watchdog@fffffe40 {
747 compatible = "atmel,at91sam9260-wdt"; 816 compatible = "atmel,at91sam9260-wdt";
748 reg = <0xfffffe40 0x10>; 817 reg = <0xfffffe40 0x10>;
diff --git a/arch/arm/boot/dts/at91sam9x5ek.dtsi b/arch/arm/boot/dts/at91sam9x5ek.dtsi
index 5930b0eb68a7..b753855b2058 100644
--- a/arch/arm/boot/dts/at91sam9x5ek.dtsi
+++ b/arch/arm/boot/dts/at91sam9x5ek.dtsi
@@ -52,6 +52,11 @@
52 status = "okay"; 52 status = "okay";
53 }; 53 };
54 54
55 usb2: gadget@f803c000 {
56 atmel,vbus-gpio = <&pioB 16 GPIO_ACTIVE_HIGH>;
57 status = "okay";
58 };
59
55 i2c0: i2c@f8010000 { 60 i2c0: i2c@f8010000 {
56 status = "okay"; 61 status = "okay";
57 }; 62 };
diff --git a/arch/arm/boot/dts/sama5d3.dtsi b/arch/arm/boot/dts/sama5d3.dtsi
index f57ffbc97432..bbf88d722956 100644
--- a/arch/arm/boot/dts/sama5d3.dtsi
+++ b/arch/arm/boot/dts/sama5d3.dtsi
@@ -9,6 +9,7 @@
9 */ 9 */
10 10
11#include "skeleton.dtsi" 11#include "skeleton.dtsi"
12#include <dt-bindings/dma/at91.h>
12#include <dt-bindings/pinctrl/at91.h> 13#include <dt-bindings/pinctrl/at91.h>
13#include <dt-bindings/interrupt-controller/irq.h> 14#include <dt-bindings/interrupt-controller/irq.h>
14#include <dt-bindings/gpio/gpio.h> 15#include <dt-bindings/gpio/gpio.h>
@@ -67,7 +68,7 @@
67 compatible = "atmel,hsmci"; 68 compatible = "atmel,hsmci";
68 reg = <0xf0000000 0x600>; 69 reg = <0xf0000000 0x600>;
69 interrupts = <21 IRQ_TYPE_LEVEL_HIGH 0>; 70 interrupts = <21 IRQ_TYPE_LEVEL_HIGH 0>;
70 dmas = <&dma0 2 0>; 71 dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(0)>;
71 dma-names = "rxtx"; 72 dma-names = "rxtx";
72 pinctrl-names = "default"; 73 pinctrl-names = "default";
73 pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_dat4_7>; 74 pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_dat4_7>;
@@ -115,8 +116,8 @@
115 compatible = "atmel,at91sam9x5-i2c"; 116 compatible = "atmel,at91sam9x5-i2c";
116 reg = <0xf0014000 0x4000>; 117 reg = <0xf0014000 0x4000>;
117 interrupts = <18 IRQ_TYPE_LEVEL_HIGH 6>; 118 interrupts = <18 IRQ_TYPE_LEVEL_HIGH 6>;
118 dmas = <&dma0 2 7>, 119 dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(7)>,
119 <&dma0 2 8>; 120 <&dma0 2 AT91_DMA_CFG_PER_ID(8)>;
120 dma-names = "tx", "rx"; 121 dma-names = "tx", "rx";
121 pinctrl-names = "default"; 122 pinctrl-names = "default";
122 pinctrl-0 = <&pinctrl_i2c0>; 123 pinctrl-0 = <&pinctrl_i2c0>;
@@ -129,8 +130,8 @@
129 compatible = "atmel,at91sam9x5-i2c"; 130 compatible = "atmel,at91sam9x5-i2c";
130 reg = <0xf0018000 0x4000>; 131 reg = <0xf0018000 0x4000>;
131 interrupts = <19 IRQ_TYPE_LEVEL_HIGH 6>; 132 interrupts = <19 IRQ_TYPE_LEVEL_HIGH 6>;
132 dmas = <&dma0 2 9>, 133 dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(9)>,
133 <&dma0 2 10>; 134 <&dma0 2 AT91_DMA_CFG_PER_ID(10)>;
134 dma-names = "tx", "rx"; 135 dma-names = "tx", "rx";
135 pinctrl-names = "default"; 136 pinctrl-names = "default";
136 pinctrl-0 = <&pinctrl_i2c1>; 137 pinctrl-0 = <&pinctrl_i2c1>;
@@ -177,7 +178,7 @@
177 compatible = "atmel,hsmci"; 178 compatible = "atmel,hsmci";
178 reg = <0xf8000000 0x600>; 179 reg = <0xf8000000 0x600>;
179 interrupts = <22 IRQ_TYPE_LEVEL_HIGH 0>; 180 interrupts = <22 IRQ_TYPE_LEVEL_HIGH 0>;
180 dmas = <&dma1 2 0>; 181 dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(0)>;
181 dma-names = "rxtx"; 182 dma-names = "rxtx";
182 pinctrl-names = "default"; 183 pinctrl-names = "default";
183 pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3>; 184 pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3>;
@@ -190,7 +191,7 @@
190 compatible = "atmel,hsmci"; 191 compatible = "atmel,hsmci";
191 reg = <0xf8004000 0x600>; 192 reg = <0xf8004000 0x600>;
192 interrupts = <23 IRQ_TYPE_LEVEL_HIGH 0>; 193 interrupts = <23 IRQ_TYPE_LEVEL_HIGH 0>;
193 dmas = <&dma1 2 1>; 194 dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(1)>;
194 dma-names = "rxtx"; 195 dma-names = "rxtx";
195 pinctrl-names = "default"; 196 pinctrl-names = "default";
196 pinctrl-0 = <&pinctrl_mmc2_clk_cmd_dat0 &pinctrl_mmc2_dat1_3>; 197 pinctrl-0 = <&pinctrl_mmc2_clk_cmd_dat0 &pinctrl_mmc2_dat1_3>;
@@ -303,8 +304,8 @@
303 compatible = "atmel,at91sam9x5-i2c"; 304 compatible = "atmel,at91sam9x5-i2c";
304 reg = <0xf801c000 0x4000>; 305 reg = <0xf801c000 0x4000>;
305 interrupts = <20 IRQ_TYPE_LEVEL_HIGH 6>; 306 interrupts = <20 IRQ_TYPE_LEVEL_HIGH 6>;
306 dmas = <&dma1 2 11>, 307 dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(11)>,
307 <&dma1 2 12>; 308 <&dma1 2 AT91_DMA_CFG_PER_ID(12)>;
308 dma-names = "tx", "rx"; 309 dma-names = "tx", "rx";
309 #address-cells = <1>; 310 #address-cells = <1>;
310 #size-cells = <0>; 311 #size-cells = <0>;
diff --git a/arch/arm/mach-at91/at91sam9g45.c b/arch/arm/mach-at91/at91sam9g45.c
index 8b7fce067652..95a418a7aabe 100644
--- a/arch/arm/mach-at91/at91sam9g45.c
+++ b/arch/arm/mach-at91/at91sam9g45.c
@@ -266,6 +266,8 @@ static struct clk_lookup periph_clocks_lookups[] = {
266 CLKDEV_CON_DEV_ID(NULL, "fff88000.i2c", &twi1_clk), 266 CLKDEV_CON_DEV_ID(NULL, "fff88000.i2c", &twi1_clk),
267 CLKDEV_CON_DEV_ID("spi_clk", "fffa4000.spi", &spi0_clk), 267 CLKDEV_CON_DEV_ID("spi_clk", "fffa4000.spi", &spi0_clk),
268 CLKDEV_CON_DEV_ID("spi_clk", "fffa8000.spi", &spi1_clk), 268 CLKDEV_CON_DEV_ID("spi_clk", "fffa8000.spi", &spi1_clk),
269 CLKDEV_CON_DEV_ID("hclk", "600000.gadget", &utmi_clk),
270 CLKDEV_CON_DEV_ID("pclk", "600000.gadget", &udphs_clk),
269 /* fake hclk clock */ 271 /* fake hclk clock */
270 CLKDEV_CON_DEV_ID("hclk", "at91_ohci", &uhphs_clk), 272 CLKDEV_CON_DEV_ID("hclk", "at91_ohci", &uhphs_clk),
271 CLKDEV_CON_DEV_ID(NULL, "fffff200.gpio", &pioA_clk), 273 CLKDEV_CON_DEV_ID(NULL, "fffff200.gpio", &pioA_clk),
diff --git a/arch/arm/mach-at91/at91sam9x5.c b/arch/arm/mach-at91/at91sam9x5.c
index e631fec040ce..2abee6626aac 100644
--- a/arch/arm/mach-at91/at91sam9x5.c
+++ b/arch/arm/mach-at91/at91sam9x5.c
@@ -249,6 +249,8 @@ static struct clk_lookup periph_clocks_lookups[] = {
249 CLKDEV_CON_DEV_ID("hclk", "600000.ohci", &uhphs_clk), 249 CLKDEV_CON_DEV_ID("hclk", "600000.ohci", &uhphs_clk),
250 CLKDEV_CON_DEV_ID("ohci_clk", "600000.ohci", &uhphs_clk), 250 CLKDEV_CON_DEV_ID("ohci_clk", "600000.ohci", &uhphs_clk),
251 CLKDEV_CON_DEV_ID("ehci_clk", "700000.ehci", &uhphs_clk), 251 CLKDEV_CON_DEV_ID("ehci_clk", "700000.ehci", &uhphs_clk),
252 CLKDEV_CON_DEV_ID("hclk", "500000.gadget", &utmi_clk),
253 CLKDEV_CON_DEV_ID("pclk", "500000.gadget", &udphs_clk),
252}; 254};
253 255
254/* 256/*
diff --git a/include/dt-bindings/dma/at91.h b/include/dt-bindings/dma/at91.h
new file mode 100644
index 000000000000..e835037a77b4
--- /dev/null
+++ b/include/dt-bindings/dma/at91.h
@@ -0,0 +1,27 @@
1/*
2 * This header provides macros for at91 dma bindings.
3 *
4 * Copyright (C) 2013 Ludovic Desroches <ludovic.desroches@atmel.com>
5 *
6 * GPLv2 only
7 */
8
9#ifndef __DT_BINDINGS_AT91_DMA_H__
10#define __DT_BINDINGS_AT91_DMA_H__
11
12/*
13 * Source and/or destination peripheral ID
14 */
15#define AT91_DMA_CFG_PER_ID_MASK (0xff)
16#define AT91_DMA_CFG_PER_ID(id) (id & AT91_DMA_CFG_PER_ID_MASK)
17
18/*
19 * FIFO configuration: it defines when a request is serviced.
20 */
21#define AT91_DMA_CFG_FIFOCFG_OFFSET (8)
22#define AT91_DMA_CFG_FIFOCFG_MASK (0xf << AT91_DMA_CFG_FIFOCFG_OFFSET)
23#define AT91_DMA_CFG_FIFOCFG_HALF (0x0 << AT91_DMA_CFG_FIFOCFG_OFFSET) /* half FIFO (default behavior) */
24#define AT91_DMA_CFG_FIFOCFG_ALAP (0x1 << AT91_DMA_CFG_FIFOCFG_OFFSET) /* largest defined AHB burst */
25#define AT91_DMA_CFG_FIFOCFG_ASAP (0x2 << AT91_DMA_CFG_FIFOCFG_OFFSET) /* single AHB access */
26
27#endif /* __DT_BINDINGS_AT91_DMA_H__ */