aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/boot/dts/armada-375.dtsi11
-rw-r--r--arch/arm/boot/dts/at91-sama5d4ek.dts4
-rw-r--r--arch/arm/boot/dts/at91sam9260.dtsi14
-rw-r--r--arch/arm/boot/dts/at91sam9261.dtsi14
-rw-r--r--arch/arm/boot/dts/at91sam9263.dtsi21
-rw-r--r--arch/arm/boot/dts/at91sam9g20ek_common.dtsi14
-rw-r--r--arch/arm/boot/dts/at91sam9g45.dtsi46
-rw-r--r--arch/arm/boot/dts/at91sam9m10g45ek.dts9
-rw-r--r--arch/arm/boot/dts/at91sam9rl.dtsi21
-rw-r--r--arch/arm/boot/dts/sama5d4.dtsi75
-rw-r--r--arch/arm/boot/dts/tegra114.dtsi23
-rw-r--r--arch/arm/boot/dts/tegra124.dtsi19
-rw-r--r--arch/arm/boot/dts/tegra30.dtsi25
13 files changed, 267 insertions, 29 deletions
diff --git a/arch/arm/boot/dts/armada-375.dtsi b/arch/arm/boot/dts/armada-375.dtsi
index 9721e55384ce..50096d3427eb 100644
--- a/arch/arm/boot/dts/armada-375.dtsi
+++ b/arch/arm/boot/dts/armada-375.dtsi
@@ -14,6 +14,7 @@
14#include "skeleton.dtsi" 14#include "skeleton.dtsi"
15#include <dt-bindings/interrupt-controller/arm-gic.h> 15#include <dt-bindings/interrupt-controller/arm-gic.h>
16#include <dt-bindings/interrupt-controller/irq.h> 16#include <dt-bindings/interrupt-controller/irq.h>
17#include <dt-bindings/phy/phy.h>
17 18
18#define MBUS_ID(target,attributes) (((target) << 24) | ((attributes) << 16)) 19#define MBUS_ID(target,attributes) (((target) << 24) | ((attributes) << 16))
19 20
@@ -348,6 +349,12 @@
348 #clock-cells = <1>; 349 #clock-cells = <1>;
349 }; 350 };
350 351
352 usbcluster: usb-cluster@18400 {
353 compatible = "marvell,armada-375-usb-cluster";
354 reg = <0x18400 0x4>;
355 #phy-cells = <1>;
356 };
357
351 mbusc: mbus-controller@20000 { 358 mbusc: mbus-controller@20000 {
352 compatible = "marvell,mbus-controller"; 359 compatible = "marvell,mbus-controller";
353 reg = <0x20000 0x100>, <0x20180 0x20>; 360 reg = <0x20000 0x100>, <0x20180 0x20>;
@@ -398,6 +405,8 @@
398 reg = <0x50000 0x500>; 405 reg = <0x50000 0x500>;
399 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 406 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
400 clocks = <&gateclk 18>; 407 clocks = <&gateclk 18>;
408 phys = <&usbcluster PHY_TYPE_USB2>;
409 phy-names = "usb";
401 status = "disabled"; 410 status = "disabled";
402 }; 411 };
403 412
@@ -414,6 +423,8 @@
414 reg = <0x58000 0x20000>,<0x5b880 0x80>; 423 reg = <0x58000 0x20000>,<0x5b880 0x80>;
415 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 424 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
416 clocks = <&gateclk 16>; 425 clocks = <&gateclk 16>;
426 phys = <&usbcluster PHY_TYPE_USB3>;
427 phy-names = "usb";
417 status = "disabled"; 428 status = "disabled";
418 }; 429 };
419 430
diff --git a/arch/arm/boot/dts/at91-sama5d4ek.dts b/arch/arm/boot/dts/at91-sama5d4ek.dts
index b5b84006469e..9198b719d0ef 100644
--- a/arch/arm/boot/dts/at91-sama5d4ek.dts
+++ b/arch/arm/boot/dts/at91-sama5d4ek.dts
@@ -9,12 +9,12 @@
9 * licensing only applies to this file, and not this project as a 9 * licensing only applies to this file, and not this project as a
10 * whole. 10 * whole.
11 * 11 *
12 * a) This library is free software; you can redistribute it and/or 12 * a) This file is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License as 13 * modify it under the terms of the GNU General Public License as
14 * published by the Free Software Foundation; either version 2 of the 14 * published by the Free Software Foundation; either version 2 of the
15 * License, or (at your option) any later version. 15 * License, or (at your option) any later version.
16 * 16 *
17 * This library is distributed in the hope that it will be useful, 17 * This file is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details. 20 * GNU General Public License for more details.
diff --git a/arch/arm/boot/dts/at91sam9260.dtsi b/arch/arm/boot/dts/at91sam9260.dtsi
index cb100b03a362..dd1313cbc314 100644
--- a/arch/arm/boot/dts/at91sam9260.dtsi
+++ b/arch/arm/boot/dts/at91sam9260.dtsi
@@ -956,6 +956,14 @@
956 }; 956 };
957 }; 957 };
958 958
959 rtc@fffffd20 {
960 compatible = "atmel,at91sam9260-rtt";
961 reg = <0xfffffd20 0x10>;
962 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
963 clocks = <&clk32k>;
964 status = "disabled";
965 };
966
959 watchdog@fffffd40 { 967 watchdog@fffffd40 {
960 compatible = "atmel,at91sam9260-wdt"; 968 compatible = "atmel,at91sam9260-wdt";
961 reg = <0xfffffd40 0x10>; 969 reg = <0xfffffd40 0x10>;
@@ -966,6 +974,12 @@
966 atmel,idle-halt; 974 atmel,idle-halt;
967 status = "disabled"; 975 status = "disabled";
968 }; 976 };
977
978 gpbr: syscon@fffffd50 {
979 compatible = "atmel,at91sam9260-gpbr", "syscon";
980 reg = <0xfffffd50 0x10>;
981 status = "disabled";
982 };
969 }; 983 };
970 984
971 nand0: nand@40000000 { 985 nand0: nand@40000000 {
diff --git a/arch/arm/boot/dts/at91sam9261.dtsi b/arch/arm/boot/dts/at91sam9261.dtsi
index a81aab4281a7..cdb9ed612109 100644
--- a/arch/arm/boot/dts/at91sam9261.dtsi
+++ b/arch/arm/boot/dts/at91sam9261.dtsi
@@ -828,12 +828,26 @@
828 clocks = <&mck>; 828 clocks = <&mck>;
829 }; 829 };
830 830
831 rtc@fffffd20 {
832 compatible = "atmel,at91sam9260-rtt";
833 reg = <0xfffffd20 0x10>;
834 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
835 clocks = <&slow_xtal>;
836 status = "disabled";
837 };
838
831 watchdog@fffffd40 { 839 watchdog@fffffd40 {
832 compatible = "atmel,at91sam9260-wdt"; 840 compatible = "atmel,at91sam9260-wdt";
833 reg = <0xfffffd40 0x10>; 841 reg = <0xfffffd40 0x10>;
834 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 842 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
835 status = "disabled"; 843 status = "disabled";
836 }; 844 };
845
846 gpbr: syscon@fffffd50 {
847 compatible = "atmel,at91sam9260-gpbr", "syscon";
848 reg = <0xfffffd50 0x10>;
849 status = "disabled";
850 };
837 }; 851 };
838 }; 852 };
839 853
diff --git a/arch/arm/boot/dts/at91sam9263.dtsi b/arch/arm/boot/dts/at91sam9263.dtsi
index 653e4395b7cb..1467750e3377 100644
--- a/arch/arm/boot/dts/at91sam9263.dtsi
+++ b/arch/arm/boot/dts/at91sam9263.dtsi
@@ -922,6 +922,27 @@
922 pinctrl-0 = <&pinctrl_can_rx_tx>; 922 pinctrl-0 = <&pinctrl_can_rx_tx>;
923 clocks = <&can_clk>; 923 clocks = <&can_clk>;
924 clock-names = "can_clk"; 924 clock-names = "can_clk";
925 };
926
927 rtc@fffffd20 {
928 compatible = "atmel,at91sam9260-rtt";
929 reg = <0xfffffd20 0x10>;
930 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
931 clocks = <&slow_xtal>;
932 status = "disabled";
933 };
934
935 rtc@fffffd50 {
936 compatible = "atmel,at91sam9260-rtt";
937 reg = <0xfffffd50 0x10>;
938 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
939 clocks = <&slow_xtal>;
940 status = "disabled";
941 };
942
943 gpbr: syscon@fffffd60 {
944 compatible = "atmel,at91sam9260-gpbr", "syscon";
945 reg = <0xfffffd60 0x50>;
925 status = "disabled"; 946 status = "disabled";
926 }; 947 };
927 }; 948 };
diff --git a/arch/arm/boot/dts/at91sam9g20ek_common.dtsi b/arch/arm/boot/dts/at91sam9g20ek_common.dtsi
index d2919108e92d..dfaacb113f2e 100644
--- a/arch/arm/boot/dts/at91sam9g20ek_common.dtsi
+++ b/arch/arm/boot/dts/at91sam9g20ek_common.dtsi
@@ -112,9 +112,23 @@
112 }; 112 };
113 }; 113 };
114 114
115 shdwc@fffffd10 {
116 atmel,wakeup-counter = <10>;
117 atmel,wakeup-rtt-timer;
118 };
119
120 rtc@fffffd20 {
121 atmel,rtt-rtc-time-reg = <&gpbr 0x0>;
122 status = "okay";
123 };
124
115 watchdog@fffffd40 { 125 watchdog@fffffd40 {
116 status = "okay"; 126 status = "okay";
117 }; 127 };
128
129 gpbr: syscon@fffffd50 {
130 status = "okay";
131 };
118 }; 132 };
119 133
120 nand0: nand@40000000 { 134 nand0: nand@40000000 {
diff --git a/arch/arm/boot/dts/at91sam9g45.dtsi b/arch/arm/boot/dts/at91sam9g45.dtsi
index 6c0637a4bda5..2a8da8a884b4 100644
--- a/arch/arm/boot/dts/at91sam9g45.dtsi
+++ b/arch/arm/boot/dts/at91sam9g45.dtsi
@@ -492,6 +492,27 @@
492 }; 492 };
493 }; 493 };
494 494
495 isi {
496 pinctrl_isi: isi-0 {
497 atmel,pins = <AT91_PIOB 8 AT91_PERIPH_B AT91_PINCTRL_NONE /* D8 */
498 AT91_PIOB 9 AT91_PERIPH_B AT91_PINCTRL_NONE /* D9 */
499 AT91_PIOB 10 AT91_PERIPH_B AT91_PINCTRL_NONE /* D10 */
500 AT91_PIOB 11 AT91_PERIPH_B AT91_PINCTRL_NONE /* D11 */
501 AT91_PIOB 20 AT91_PERIPH_A AT91_PINCTRL_NONE /* D0 */
502 AT91_PIOB 21 AT91_PERIPH_A AT91_PINCTRL_NONE /* D1 */
503 AT91_PIOB 22 AT91_PERIPH_A AT91_PINCTRL_NONE /* D2 */
504 AT91_PIOB 23 AT91_PERIPH_A AT91_PINCTRL_NONE /* D3 */
505 AT91_PIOB 24 AT91_PERIPH_A AT91_PINCTRL_NONE /* D4 */
506 AT91_PIOB 25 AT91_PERIPH_A AT91_PINCTRL_NONE /* D5 */
507 AT91_PIOB 26 AT91_PERIPH_A AT91_PINCTRL_NONE /* D6 */
508 AT91_PIOB 27 AT91_PERIPH_A AT91_PINCTRL_NONE /* D7 */
509 AT91_PIOB 28 AT91_PERIPH_A AT91_PINCTRL_NONE /* PCK */
510 AT91_PIOB 29 AT91_PERIPH_A AT91_PINCTRL_NONE /* VSYNC */
511 AT91_PIOB 30 AT91_PERIPH_A AT91_PINCTRL_NONE /* HSYNC */
512 AT91_PIOB 31 AT91_PERIPH_A AT91_PINCTRL_NONE /* MCK */>;
513 };
514 };
515
495 usart0 { 516 usart0 {
496 pinctrl_usart0: usart0-0 { 517 pinctrl_usart0: usart0-0 {
497 atmel,pins = 518 atmel,pins =
@@ -1035,6 +1056,17 @@
1035 }; 1056 };
1036 }; 1057 };
1037 1058
1059 isi@fffb4000 {
1060 compatible = "atmel,at91sam9g45-isi";
1061 reg = <0xfffb4000 0x4000>;
1062 interrupts = <26 IRQ_TYPE_LEVEL_HIGH 5>;
1063 clocks = <&isi_clk>;
1064 clock-names = "isi_clk";
1065 pinctrl-names = "default";
1066 pinctrl-0 = <&pinctrl_isi>;
1067 status = "disabled";
1068 };
1069
1038 pwm0: pwm@fffb8000 { 1070 pwm0: pwm@fffb8000 {
1039 compatible = "atmel,at91sam9rl-pwm"; 1071 compatible = "atmel,at91sam9rl-pwm";
1040 reg = <0xfffb8000 0x300>; 1072 reg = <0xfffb8000 0x300>;
@@ -1199,12 +1231,26 @@
1199 }; 1231 };
1200 }; 1232 };
1201 1233
1234 rtc@fffffd20 {
1235 compatible = "atmel,at91sam9260-rtt";
1236 reg = <0xfffffd20 0x10>;
1237 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
1238 clocks = <&clk32k>;
1239 status = "disabled";
1240 };
1241
1202 rtc@fffffdb0 { 1242 rtc@fffffdb0 {
1203 compatible = "atmel,at91rm9200-rtc"; 1243 compatible = "atmel,at91rm9200-rtc";
1204 reg = <0xfffffdb0 0x30>; 1244 reg = <0xfffffdb0 0x30>;
1205 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>; 1245 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
1206 status = "disabled"; 1246 status = "disabled";
1207 }; 1247 };
1248
1249 gpbr: syscon@fffffd60 {
1250 compatible = "atmel,at91sam9260-gpbr", "syscon";
1251 reg = <0xfffffd60 0x10>;
1252 status = "disabled";
1253 };
1208 }; 1254 };
1209 1255
1210 fb0: fb@0x00500000 { 1256 fb0: fb@0x00500000 {
diff --git a/arch/arm/boot/dts/at91sam9m10g45ek.dts b/arch/arm/boot/dts/at91sam9m10g45ek.dts
index d8dd22651090..33ce7ca2c404 100644
--- a/arch/arm/boot/dts/at91sam9m10g45ek.dts
+++ b/arch/arm/boot/dts/at91sam9m10g45ek.dts
@@ -161,6 +161,15 @@
161 pinctrl-0 = <&pinctrl_pwm_leds>; 161 pinctrl-0 = <&pinctrl_pwm_leds>;
162 }; 162 };
163 163
164 rtc@fffffd20 {
165 atmel,rtt-rtc-time-reg = <&gpbr 0x0>;
166 status = "okay";
167 };
168
169 gpbr: syscon@fffffd60 {
170 status = "okay";
171 };
172
164 rtc@fffffdb0 { 173 rtc@fffffdb0 {
165 status = "okay"; 174 status = "okay";
166 }; 175 };
diff --git a/arch/arm/boot/dts/at91sam9rl.dtsi b/arch/arm/boot/dts/at91sam9rl.dtsi
index f0b4352650ed..72424371413e 100644
--- a/arch/arm/boot/dts/at91sam9rl.dtsi
+++ b/arch/arm/boot/dts/at91sam9rl.dtsi
@@ -1059,6 +1059,27 @@
1059 clocks = <&slow_rc_osc &slow_osc>; 1059 clocks = <&slow_rc_osc &slow_osc>;
1060 }; 1060 };
1061 }; 1061 };
1062
1063 rtc@fffffeb0 {
1064 compatible = "atmel,at91rm9200-rtc";
1065 reg = <0xfffffeb0 0x40>;
1066 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
1067 status = "disabled";
1068 };
1069
1070 rtc@fffffd20 {
1071 compatible = "atmel,at91sam9260-rtt";
1072 reg = <0xfffffd20 0x10>;
1073 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
1074 clocks = <&clk32k>;
1075 status = "disabled";
1076 };
1077
1078 gpbr: syscon@fffffd60 {
1079 compatible = "atmel,at91sam9260-gpbr", "syscon";
1080 reg = <0xfffffd60 0x10>;
1081 status = "disabled";
1082 };
1062 }; 1083 };
1063 }; 1084 };
1064 1085
diff --git a/arch/arm/boot/dts/sama5d4.dtsi b/arch/arm/boot/dts/sama5d4.dtsi
index e0157b0f075c..1b0f30c2c4a5 100644
--- a/arch/arm/boot/dts/sama5d4.dtsi
+++ b/arch/arm/boot/dts/sama5d4.dtsi
@@ -9,12 +9,12 @@
9 * licensing only applies to this file, and not this project as a 9 * licensing only applies to this file, and not this project as a
10 * whole. 10 * whole.
11 * 11 *
12 * a) This library is free software; you can redistribute it and/or 12 * a) This file is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License as 13 * modify it under the terms of the GNU General Public License as
14 * published by the Free Software Foundation; either version 2 of the 14 * published by the Free Software Foundation; either version 2 of the
15 * License, or (at your option) any later version. 15 * License, or (at your option) any later version.
16 * 16 *
17 * This library is distributed in the hope that it will be useful, 17 * This file is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details. 20 * GNU General Public License for more details.
@@ -45,6 +45,7 @@
45 45
46#include "skeleton.dtsi" 46#include "skeleton.dtsi"
47#include <dt-bindings/clock/at91.h> 47#include <dt-bindings/clock/at91.h>
48#include <dt-bindings/dma/at91.h>
48#include <dt-bindings/pinctrl/at91.h> 49#include <dt-bindings/pinctrl/at91.h>
49#include <dt-bindings/interrupt-controller/irq.h> 50#include <dt-bindings/interrupt-controller/irq.h>
50#include <dt-bindings/gpio/gpio.h> 51#include <dt-bindings/gpio/gpio.h>
@@ -302,6 +303,15 @@
302 #size-cells = <1>; 303 #size-cells = <1>;
303 ranges; 304 ranges;
304 305
306 dma1: dma-controller@f0004000 {
307 compatible = "atmel,sama5d4-dma";
308 reg = <0xf0004000 0x200>;
309 interrupts = <50 IRQ_TYPE_LEVEL_HIGH 0>;
310 #dma-cells = <1>;
311 clocks = <&dma1_clk>;
312 clock-names = "dma_clk";
313 };
314
305 ramc0: ramc@f0010000 { 315 ramc0: ramc@f0010000 {
306 compatible = "atmel,sama5d3-ddramc"; 316 compatible = "atmel,sama5d3-ddramc";
307 reg = <0xf0010000 0x200>; 317 reg = <0xf0010000 0x200>;
@@ -309,6 +319,15 @@
309 clock-names = "ddrck", "mpddr"; 319 clock-names = "ddrck", "mpddr";
310 }; 320 };
311 321
322 dma0: dma-controller@f0014000 {
323 compatible = "atmel,sama5d4-dma";
324 reg = <0xf0014000 0x200>;
325 interrupts = <8 IRQ_TYPE_LEVEL_HIGH 0>;
326 #dma-cells = <1>;
327 clocks = <&dma0_clk>;
328 clock-names = "dma_clk";
329 };
330
312 pmc: pmc@f0018000 { 331 pmc: pmc@f0018000 {
313 compatible = "atmel,sama5d3-pmc"; 332 compatible = "atmel,sama5d3-pmc";
314 reg = <0xf0018000 0x120>; 333 reg = <0xf0018000 0x120>;
@@ -761,6 +780,10 @@
761 compatible = "atmel,hsmci"; 780 compatible = "atmel,hsmci";
762 reg = <0xf8000000 0x600>; 781 reg = <0xf8000000 0x600>;
763 interrupts = <35 IRQ_TYPE_LEVEL_HIGH 0>; 782 interrupts = <35 IRQ_TYPE_LEVEL_HIGH 0>;
783 dmas = <&dma1
784 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
785 | AT91_XDMAC_DT_PERID(0))>;
786 dma-names = "rxtx";
764 pinctrl-names = "default"; 787 pinctrl-names = "default";
765 pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3>; 788 pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3>;
766 status = "disabled"; 789 status = "disabled";
@@ -776,6 +799,13 @@
776 compatible = "atmel,at91rm9200-spi"; 799 compatible = "atmel,at91rm9200-spi";
777 reg = <0xf8010000 0x100>; 800 reg = <0xf8010000 0x100>;
778 interrupts = <37 IRQ_TYPE_LEVEL_HIGH 3>; 801 interrupts = <37 IRQ_TYPE_LEVEL_HIGH 3>;
802 dmas = <&dma1
803 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
804 | AT91_XDMAC_DT_PERID(10))>,
805 <&dma1
806 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
807 | AT91_XDMAC_DT_PERID(11))>;
808 dma-names = "tx", "rx";
779 pinctrl-names = "default"; 809 pinctrl-names = "default";
780 pinctrl-0 = <&pinctrl_spi0>; 810 pinctrl-0 = <&pinctrl_spi0>;
781 clocks = <&spi0_clk>; 811 clocks = <&spi0_clk>;
@@ -787,6 +817,13 @@
787 compatible = "atmel,at91sam9x5-i2c"; 817 compatible = "atmel,at91sam9x5-i2c";
788 reg = <0xf8014000 0x4000>; 818 reg = <0xf8014000 0x4000>;
789 interrupts = <32 IRQ_TYPE_LEVEL_HIGH 6>; 819 interrupts = <32 IRQ_TYPE_LEVEL_HIGH 6>;
820 dmas = <&dma1
821 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
822 | AT91_XDMAC_DT_PERID(2))>,
823 <&dma1
824 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
825 | AT91_XDMAC_DT_PERID(3))>;
826 dma-names = "tx", "rx";
790 pinctrl-names = "default"; 827 pinctrl-names = "default";
791 pinctrl-0 = <&pinctrl_i2c0>; 828 pinctrl-0 = <&pinctrl_i2c0>;
792 #address-cells = <1>; 829 #address-cells = <1>;
@@ -817,7 +854,14 @@
817 i2c2: i2c@f8024000 { 854 i2c2: i2c@f8024000 {
818 compatible = "atmel,at91sam9x5-i2c"; 855 compatible = "atmel,at91sam9x5-i2c";
819 reg = <0xf8024000 0x4000>; 856 reg = <0xf8024000 0x4000>;
820 interrupts = <34 4 6>; 857 interrupts = <34 IRQ_TYPE_LEVEL_HIGH 6>;
858 dmas = <&dma1
859 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
860 | AT91_XDMAC_DT_PERID(6))>,
861 <&dma1
862 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
863 | AT91_XDMAC_DT_PERID(7))>;
864 dma-names = "tx", "rx";
821 pinctrl-names = "default"; 865 pinctrl-names = "default";
822 pinctrl-0 = <&pinctrl_i2c2>; 866 pinctrl-0 = <&pinctrl_i2c2>;
823 #address-cells = <1>; 867 #address-cells = <1>;
@@ -830,6 +874,10 @@
830 compatible = "atmel,hsmci"; 874 compatible = "atmel,hsmci";
831 reg = <0xfc000000 0x600>; 875 reg = <0xfc000000 0x600>;
832 interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>; 876 interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>;
877 dmas = <&dma1
878 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
879 | AT91_XDMAC_DT_PERID(1))>;
880 dma-names = "rxtx";
833 pinctrl-names = "default"; 881 pinctrl-names = "default";
834 pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3>; 882 pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3>;
835 status = "disabled"; 883 status = "disabled";
@@ -843,6 +891,13 @@
843 compatible = "atmel,at91sam9260-usart"; 891 compatible = "atmel,at91sam9260-usart";
844 reg = <0xfc008000 0x100>; 892 reg = <0xfc008000 0x100>;
845 interrupts = <29 IRQ_TYPE_LEVEL_HIGH 5>; 893 interrupts = <29 IRQ_TYPE_LEVEL_HIGH 5>;
894 dmas = <&dma1
895 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
896 | AT91_XDMAC_DT_PERID(16))>,
897 <&dma1
898 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
899 | AT91_XDMAC_DT_PERID(17))>;
900 dma-names = "tx", "rx";
846 pinctrl-names = "default"; 901 pinctrl-names = "default";
847 pinctrl-0 = <&pinctrl_usart2 &pinctrl_usart2_rts &pinctrl_usart2_cts>; 902 pinctrl-0 = <&pinctrl_usart2 &pinctrl_usart2_rts &pinctrl_usart2_cts>;
848 clocks = <&usart2_clk>; 903 clocks = <&usart2_clk>;
@@ -854,6 +909,13 @@
854 compatible = "atmel,at91sam9260-usart"; 909 compatible = "atmel,at91sam9260-usart";
855 reg = <0xfc00c000 0x100>; 910 reg = <0xfc00c000 0x100>;
856 interrupts = <30 IRQ_TYPE_LEVEL_HIGH 5>; 911 interrupts = <30 IRQ_TYPE_LEVEL_HIGH 5>;
912 dmas = <&dma1
913 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
914 | AT91_XDMAC_DT_PERID(18))>,
915 <&dma1
916 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
917 | AT91_XDMAC_DT_PERID(19))>;
918 dma-names = "tx", "rx";
857 pinctrl-names = "default"; 919 pinctrl-names = "default";
858 pinctrl-0 = <&pinctrl_usart3>; 920 pinctrl-0 = <&pinctrl_usart3>;
859 clocks = <&usart3_clk>; 921 clocks = <&usart3_clk>;
@@ -865,6 +927,13 @@
865 compatible = "atmel,at91sam9260-usart"; 927 compatible = "atmel,at91sam9260-usart";
866 reg = <0xfc010000 0x100>; 928 reg = <0xfc010000 0x100>;
867 interrupts = <31 IRQ_TYPE_LEVEL_HIGH 5>; 929 interrupts = <31 IRQ_TYPE_LEVEL_HIGH 5>;
930 dmas = <&dma1
931 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
932 | AT91_XDMAC_DT_PERID(20))>,
933 <&dma1
934 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
935 | AT91_XDMAC_DT_PERID(21))>;
936 dma-names = "tx", "rx";
868 pinctrl-names = "default"; 937 pinctrl-names = "default";
869 pinctrl-0 = <&pinctrl_usart4>; 938 pinctrl-0 = <&pinctrl_usart4>;
870 clocks = <&usart4_clk>; 939 clocks = <&usart4_clk>;
diff --git a/arch/arm/boot/dts/tegra114.dtsi b/arch/arm/boot/dts/tegra114.dtsi
index 222f3b3f4dd5..4296b5398bf5 100644
--- a/arch/arm/boot/dts/tegra114.dtsi
+++ b/arch/arm/boot/dts/tegra114.dtsi
@@ -1,5 +1,6 @@
1#include <dt-bindings/clock/tegra114-car.h> 1#include <dt-bindings/clock/tegra114-car.h>
2#include <dt-bindings/gpio/tegra-gpio.h> 2#include <dt-bindings/gpio/tegra-gpio.h>
3#include <dt-bindings/memory/tegra114-mc.h>
3#include <dt-bindings/pinctrl/pinctrl-tegra.h> 4#include <dt-bindings/pinctrl/pinctrl-tegra.h>
4#include <dt-bindings/interrupt-controller/arm-gic.h> 5#include <dt-bindings/interrupt-controller/arm-gic.h>
5 6
@@ -50,6 +51,8 @@
50 resets = <&tegra_car 27>; 51 resets = <&tegra_car 27>;
51 reset-names = "dc"; 52 reset-names = "dc";
52 53
54 iommus = <&mc TEGRA_SWGROUP_DC>;
55
53 nvidia,head = <0>; 56 nvidia,head = <0>;
54 57
55 rgb { 58 rgb {
@@ -67,6 +70,8 @@
67 resets = <&tegra_car 26>; 70 resets = <&tegra_car 26>;
68 reset-names = "dc"; 71 reset-names = "dc";
69 72
73 iommus = <&mc TEGRA_SWGROUP_DCB>;
74
70 nvidia,head = <1>; 75 nvidia,head = <1>;
71 76
72 rgb { 77 rgb {
@@ -498,15 +503,15 @@
498 reset-names = "fuse"; 503 reset-names = "fuse";
499 }; 504 };
500 505
501 iommu@70019010 { 506 mc: memory-controller@70019000 {
502 compatible = "nvidia,tegra114-smmu", "nvidia,tegra30-smmu"; 507 compatible = "nvidia,tegra114-mc";
503 reg = <0x70019010 0x02c 508 reg = <0x70019000 0x1000>;
504 0x700191f0 0x010 509 clocks = <&tegra_car TEGRA114_CLK_MC>;
505 0x70019228 0x074>; 510 clock-names = "mc";
506 nvidia,#asids = <4>; 511
507 dma-window = <0 0x40000000>; 512 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
508 nvidia,swgroups = <0x18659fe>; 513
509 nvidia,ahb = <&ahb>; 514 #iommu-cells = <1>;
510 }; 515 };
511 516
512 ahub@70080000 { 517 ahub@70080000 {
diff --git a/arch/arm/boot/dts/tegra124.dtsi b/arch/arm/boot/dts/tegra124.dtsi
index df2b06b29985..3ad2e3cf2999 100644
--- a/arch/arm/boot/dts/tegra124.dtsi
+++ b/arch/arm/boot/dts/tegra124.dtsi
@@ -1,5 +1,6 @@
1#include <dt-bindings/clock/tegra124-car.h> 1#include <dt-bindings/clock/tegra124-car.h>
2#include <dt-bindings/gpio/tegra-gpio.h> 2#include <dt-bindings/gpio/tegra-gpio.h>
3#include <dt-bindings/memory/tegra124-mc.h>
3#include <dt-bindings/pinctrl/pinctrl-tegra.h> 4#include <dt-bindings/pinctrl/pinctrl-tegra.h>
4#include <dt-bindings/pinctrl/pinctrl-tegra-xusb.h> 5#include <dt-bindings/pinctrl/pinctrl-tegra-xusb.h>
5#include <dt-bindings/interrupt-controller/arm-gic.h> 6#include <dt-bindings/interrupt-controller/arm-gic.h>
@@ -102,6 +103,8 @@
102 resets = <&tegra_car 27>; 103 resets = <&tegra_car 27>;
103 reset-names = "dc"; 104 reset-names = "dc";
104 105
106 iommus = <&mc TEGRA_SWGROUP_DC>;
107
105 nvidia,head = <0>; 108 nvidia,head = <0>;
106 }; 109 };
107 110
@@ -115,6 +118,8 @@
115 resets = <&tegra_car 26>; 118 resets = <&tegra_car 26>;
116 reset-names = "dc"; 119 reset-names = "dc";
117 120
121 iommus = <&mc TEGRA_SWGROUP_DCB>;
122
118 nvidia,head = <1>; 123 nvidia,head = <1>;
119 }; 124 };
120 125
@@ -275,7 +280,8 @@
275 pinmux: pinmux@0,70000868 { 280 pinmux: pinmux@0,70000868 {
276 compatible = "nvidia,tegra124-pinmux"; 281 compatible = "nvidia,tegra124-pinmux";
277 reg = <0x0 0x70000868 0x0 0x164>, /* Pad control registers */ 282 reg = <0x0 0x70000868 0x0 0x164>, /* Pad control registers */
278 <0x0 0x70003000 0x0 0x434>; /* Mux registers */ 283 <0x0 0x70003000 0x0 0x434>, /* Mux registers */
284 <0x0 0x70000820 0x0 0x008>; /* MIPI pad control */
279 }; 285 };
280 286
281 /* 287 /*
@@ -551,6 +557,17 @@
551 reset-names = "fuse"; 557 reset-names = "fuse";
552 }; 558 };
553 559
560 mc: memory-controller@0,70019000 {
561 compatible = "nvidia,tegra124-mc";
562 reg = <0x0 0x70019000 0x0 0x1000>;
563 clocks = <&tegra_car TEGRA124_CLK_MC>;
564 clock-names = "mc";
565
566 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
567
568 #iommu-cells = <1>;
569 };
570
554 sata@0,70020000 { 571 sata@0,70020000 {
555 compatible = "nvidia,tegra124-ahci"; 572 compatible = "nvidia,tegra124-ahci";
556 573
diff --git a/arch/arm/boot/dts/tegra30.dtsi b/arch/arm/boot/dts/tegra30.dtsi
index b270b9e3d455..99475f6e76a3 100644
--- a/arch/arm/boot/dts/tegra30.dtsi
+++ b/arch/arm/boot/dts/tegra30.dtsi
@@ -1,5 +1,6 @@
1#include <dt-bindings/clock/tegra30-car.h> 1#include <dt-bindings/clock/tegra30-car.h>
2#include <dt-bindings/gpio/tegra-gpio.h> 2#include <dt-bindings/gpio/tegra-gpio.h>
3#include <dt-bindings/memory/tegra30-mc.h>
3#include <dt-bindings/pinctrl/pinctrl-tegra.h> 4#include <dt-bindings/pinctrl/pinctrl-tegra.h>
4#include <dt-bindings/interrupt-controller/arm-gic.h> 5#include <dt-bindings/interrupt-controller/arm-gic.h>
5 6
@@ -166,6 +167,8 @@
166 resets = <&tegra_car 27>; 167 resets = <&tegra_car 27>;
167 reset-names = "dc"; 168 reset-names = "dc";
168 169
170 iommus = <&mc TEGRA_SWGROUP_DC>;
171
169 nvidia,head = <0>; 172 nvidia,head = <0>;
170 173
171 rgb { 174 rgb {
@@ -183,6 +186,8 @@
183 resets = <&tegra_car 26>; 186 resets = <&tegra_car 26>;
184 reset-names = "dc"; 187 reset-names = "dc";
185 188
189 iommus = <&mc TEGRA_SWGROUP_DCB>;
190
186 nvidia,head = <1>; 191 nvidia,head = <1>;
187 192
188 rgb { 193 rgb {
@@ -615,23 +620,15 @@
615 clock-names = "pclk", "clk32k_in"; 620 clock-names = "pclk", "clk32k_in";
616 }; 621 };
617 622
618 memory-controller@7000f000 { 623 mc: memory-controller@7000f000 {
619 compatible = "nvidia,tegra30-mc"; 624 compatible = "nvidia,tegra30-mc";
620 reg = <0x7000f000 0x010 625 reg = <0x7000f000 0x400>;
621 0x7000f03c 0x1b4 626 clocks = <&tegra_car TEGRA30_CLK_MC>;
622 0x7000f200 0x028 627 clock-names = "mc";
623 0x7000f284 0x17c>; 628
624 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; 629 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
625 };
626 630
627 iommu@7000f010 { 631 #iommu-cells = <1>;
628 compatible = "nvidia,tegra30-smmu";
629 reg = <0x7000f010 0x02c
630 0x7000f1f0 0x010
631 0x7000f228 0x05c>;
632 nvidia,#asids = <4>; /* # of ASIDs */
633 dma-window = <0 0x40000000>; /* IOVA start & length */
634 nvidia,ahb = <&ahb>;
635 }; 632 };
636 633
637 fuse@7000f800 { 634 fuse@7000f800 {