aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/boot
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/boot')
-rw-r--r--arch/arm/boot/dts/Makefile7
-rw-r--r--arch/arm/boot/dts/aks-cdu.dts12
-rw-r--r--arch/arm/boot/dts/am33xx.dtsi4
-rw-r--r--arch/arm/boot/dts/animeo_ip.dts18
-rw-r--r--arch/arm/boot/dts/armada-370-db.dts1
-rw-r--r--arch/arm/boot/dts/armada-370-mirabox.dts1
-rw-r--r--arch/arm/boot/dts/armada-370-rd.dts1
-rw-r--r--arch/arm/boot/dts/armada-370-xp.dtsi8
-rw-r--r--arch/arm/boot/dts/armada-xp-db.dts33
-rw-r--r--arch/arm/boot/dts/armada-xp-gp.dts10
-rw-r--r--arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts9
-rw-r--r--arch/arm/boot/dts/at91-ariag25.dts27
-rw-r--r--arch/arm/boot/dts/at91-foxg20.dts157
-rw-r--r--arch/arm/boot/dts/at91rm9200.dtsi289
-rw-r--r--arch/arm/boot/dts/at91rm9200ek.dts10
-rw-r--r--arch/arm/boot/dts/at91sam9260.dtsi309
-rw-r--r--arch/arm/boot/dts/at91sam9263.dtsi249
-rw-r--r--arch/arm/boot/dts/at91sam9263ek.dts28
-rw-r--r--arch/arm/boot/dts/at91sam9g15.dtsi2
-rw-r--r--arch/arm/boot/dts/at91sam9g15ek.dts4
-rw-r--r--arch/arm/boot/dts/at91sam9g20.dtsi2
-rw-r--r--arch/arm/boot/dts/at91sam9g20ek.dts6
-rw-r--r--arch/arm/boot/dts/at91sam9g20ek_2mmc.dts10
-rw-r--r--arch/arm/boot/dts/at91sam9g20ek_common.dtsi32
-rw-r--r--arch/arm/boot/dts/at91sam9g25.dtsi2
-rw-r--r--arch/arm/boot/dts/at91sam9g25ek.dts4
-rw-r--r--arch/arm/boot/dts/at91sam9g35.dtsi2
-rw-r--r--arch/arm/boot/dts/at91sam9g35ek.dts4
-rw-r--r--arch/arm/boot/dts/at91sam9g45.dtsi297
-rw-r--r--arch/arm/boot/dts/at91sam9m10g45ek.dts42
-rw-r--r--arch/arm/boot/dts/at91sam9n12.dtsi231
-rw-r--r--arch/arm/boot/dts/at91sam9n12ek.dts18
-rw-r--r--arch/arm/boot/dts/at91sam9x25.dtsi22
-rw-r--r--arch/arm/boot/dts/at91sam9x25ek.dts4
-rw-r--r--arch/arm/boot/dts/at91sam9x35.dtsi2
-rw-r--r--arch/arm/boot/dts/at91sam9x35ek.dts4
-rw-r--r--arch/arm/boot/dts/at91sam9x5.dtsi389
-rw-r--r--arch/arm/boot/dts/at91sam9x5cm.dtsi8
-rw-r--r--arch/arm/boot/dts/at91sam9x5ek.dtsi18
-rw-r--r--arch/arm/boot/dts/dove-cubox.dts51
-rw-r--r--arch/arm/boot/dts/ethernut5.dts6
-rw-r--r--arch/arm/boot/dts/evk-pro3.dts6
-rw-r--r--arch/arm/boot/dts/exynos5440.dtsi4
-rw-r--r--arch/arm/boot/dts/ge863-pro3.dtsi2
-rw-r--r--arch/arm/boot/dts/imx23.dtsi8
-rw-r--r--arch/arm/boot/dts/imx28.dtsi8
-rw-r--r--arch/arm/boot/dts/imx6dl.dtsi2
-rw-r--r--arch/arm/boot/dts/imx6q.dtsi4
-rw-r--r--arch/arm/boot/dts/kirkwood-6281.dtsi28
-rw-r--r--arch/arm/boot/dts/kirkwood-6282.dtsi28
-rw-r--r--arch/arm/boot/dts/kirkwood-cloudbox.dts10
-rw-r--r--arch/arm/boot/dts/kirkwood-dns320.dts7
-rw-r--r--arch/arm/boot/dts/kirkwood-dns325.dts5
-rw-r--r--arch/arm/boot/dts/kirkwood-dnskw.dtsi32
-rw-r--r--arch/arm/boot/dts/kirkwood-dockstar.dts9
-rw-r--r--arch/arm/boot/dts/kirkwood-dreamplug.dts12
-rw-r--r--arch/arm/boot/dts/kirkwood-goflexnet.dts18
-rw-r--r--arch/arm/boot/dts/kirkwood-guruplug-server-plus.dts10
-rw-r--r--arch/arm/boot/dts/kirkwood-ib62x0.dts17
-rw-r--r--arch/arm/boot/dts/kirkwood-iconnect.dts36
-rw-r--r--arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts15
-rw-r--r--arch/arm/boot/dts/kirkwood-is2.dts2
-rw-r--r--arch/arm/boot/dts/kirkwood-km_kirkwood.dts13
-rw-r--r--arch/arm/boot/dts/kirkwood-lsxl.dtsi22
-rw-r--r--arch/arm/boot/dts/kirkwood-mplcec4.dts25
-rw-r--r--arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts22
-rw-r--r--arch/arm/boot/dts/kirkwood-ns2-common.dtsi10
-rw-r--r--arch/arm/boot/dts/kirkwood-ns2.dts2
-rw-r--r--arch/arm/boot/dts/kirkwood-ns2lite.dts2
-rw-r--r--arch/arm/boot/dts/kirkwood-ns2max.dts2
-rw-r--r--arch/arm/boot/dts/kirkwood-ns2mini.dts2
-rw-r--r--arch/arm/boot/dts/kirkwood-nsa310.dts30
-rw-r--r--arch/arm/boot/dts/kirkwood-openblocks_a6.dts108
-rw-r--r--arch/arm/boot/dts/kirkwood-sheevaplug-common.dtsi97
-rw-r--r--arch/arm/boot/dts/kirkwood-sheevaplug-esata.dts40
-rw-r--r--arch/arm/boot/dts/kirkwood-sheevaplug.dts45
-rw-r--r--arch/arm/boot/dts/kirkwood-topkick.dts52
-rw-r--r--arch/arm/boot/dts/kirkwood-ts219-6281.dts8
-rw-r--r--arch/arm/boot/dts/kirkwood-ts219-6282.dts8
-rw-r--r--arch/arm/boot/dts/kirkwood-ts219.dtsi10
-rw-r--r--arch/arm/boot/dts/kirkwood.dtsi36
-rw-r--r--arch/arm/boot/dts/kizbox.dts16
-rw-r--r--arch/arm/boot/dts/lpc32xx.dtsi8
-rw-r--r--arch/arm/boot/dts/mpa1600.dts4
-rw-r--r--arch/arm/boot/dts/omap2.dtsi6
-rw-r--r--arch/arm/boot/dts/omap3.dtsi5
-rw-r--r--arch/arm/boot/dts/omap4.dtsi7
-rw-r--r--arch/arm/boot/dts/omap5.dtsi7
-rw-r--r--arch/arm/boot/dts/picoxcell-pc3x2.dtsi8
-rw-r--r--arch/arm/boot/dts/picoxcell-pc3x3.dtsi8
-rw-r--r--arch/arm/boot/dts/pm9g45.dts22
-rw-r--r--arch/arm/boot/dts/prima2.dtsi2
-rw-r--r--arch/arm/boot/dts/pxa2xx.dtsi7
-rw-r--r--arch/arm/boot/dts/r8a73a4.dtsi6
-rw-r--r--arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts45
-rw-r--r--arch/arm/boot/dts/r8a7740.dtsi121
-rw-r--r--arch/arm/boot/dts/r8a7779.dtsi17
-rw-r--r--arch/arm/boot/dts/r8a7790.dtsi6
-rw-r--r--arch/arm/boot/dts/s3c2416-pinctrl.dtsi173
-rw-r--r--arch/arm/boot/dts/s3c2416-smdk2416.dts72
-rw-r--r--arch/arm/boot/dts/s3c2416.dtsi79
-rw-r--r--arch/arm/boot/dts/s3c24xx.dtsi92
-rw-r--r--arch/arm/boot/dts/sama5d3.dtsi524
-rw-r--r--arch/arm/boot/dts/sama5d31ek.dts6
-rw-r--r--arch/arm/boot/dts/sama5d33ek.dts4
-rw-r--r--arch/arm/boot/dts/sama5d34ek.dts6
-rw-r--r--arch/arm/boot/dts/sama5d35ek.dts4
-rw-r--r--arch/arm/boot/dts/sama5d3xcm.dtsi4
-rw-r--r--arch/arm/boot/dts/sama5d3xdm.dtsi2
-rw-r--r--arch/arm/boot/dts/sama5d3xmb.dtsi26
-rw-r--r--arch/arm/boot/dts/sh7372.dtsi5
-rw-r--r--arch/arm/boot/dts/sh73a0-kzm9g-reference.dts86
-rw-r--r--arch/arm/boot/dts/socfpga.dtsi217
-rw-r--r--arch/arm/boot/dts/socfpga_cyclone5.dts13
-rw-r--r--arch/arm/boot/dts/socfpga_vt.dts5
-rw-r--r--arch/arm/boot/dts/spear13xx.dtsi2
-rw-r--r--arch/arm/boot/dts/spear3xx.dtsi8
-rw-r--r--arch/arm/boot/dts/spear600.dtsi8
-rw-r--r--arch/arm/boot/dts/ste-nomadik-s8815.dts63
-rw-r--r--arch/arm/boot/dts/ste-nomadik-stn8815.dtsi145
-rw-r--r--arch/arm/boot/dts/sun4i-a10.dtsi4
-rw-r--r--arch/arm/boot/dts/sun5i-a13.dtsi4
-rw-r--r--arch/arm/boot/dts/tny_a9260.dts4
-rw-r--r--arch/arm/boot/dts/tny_a9263.dts4
-rw-r--r--arch/arm/boot/dts/tny_a9g20.dts4
-rw-r--r--arch/arm/boot/dts/usb_a9260.dts13
-rw-r--r--arch/arm/boot/dts/usb_a9260_common.dtsi6
-rw-r--r--arch/arm/boot/dts/usb_a9263.dts22
-rw-r--r--arch/arm/boot/dts/usb_a9g20-dab-mmx.dtsi22
-rw-r--r--arch/arm/boot/dts/usb_a9g20.dts18
-rw-r--r--arch/arm/boot/dts/usb_a9g20_common.dtsi27
-rw-r--r--arch/arm/boot/dts/usb_a9g20_lpw.dts31
-rw-r--r--arch/arm/boot/dts/vt8500-bv07.dts4
-rw-r--r--arch/arm/boot/dts/vt8500.dtsi29
-rw-r--r--arch/arm/boot/dts/wm8505-ref.dts4
-rw-r--r--arch/arm/boot/dts/wm8505.dtsi84
-rw-r--r--arch/arm/boot/dts/wm8650-mid.dts3
-rw-r--r--arch/arm/boot/dts/wm8650.dtsi79
-rw-r--r--arch/arm/boot/dts/wm8750-apc8750.dts30
-rw-r--r--arch/arm/boot/dts/wm8750.dtsi347
-rw-r--r--arch/arm/boot/dts/wm8850-w70v2.dts4
-rw-r--r--arch/arm/boot/dts/wm8850.dtsi94
142 files changed, 4362 insertions, 1444 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index f0895c581a89..a1c7bb1313e7 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -16,11 +16,13 @@ dtb-$(CONFIG_ARCH_AT91) += at91sam9263ek.dtb
16dtb-$(CONFIG_ARCH_AT91) += tny_a9263.dtb 16dtb-$(CONFIG_ARCH_AT91) += tny_a9263.dtb
17dtb-$(CONFIG_ARCH_AT91) += usb_a9263.dtb 17dtb-$(CONFIG_ARCH_AT91) += usb_a9263.dtb
18# sam9g20 18# sam9g20
19dtb-$(CONFIG_ARCH_AT91) += at91-foxg20.dtb
19dtb-$(CONFIG_ARCH_AT91) += at91sam9g20ek.dtb 20dtb-$(CONFIG_ARCH_AT91) += at91sam9g20ek.dtb
20dtb-$(CONFIG_ARCH_AT91) += at91sam9g20ek_2mmc.dtb 21dtb-$(CONFIG_ARCH_AT91) += at91sam9g20ek_2mmc.dtb
21dtb-$(CONFIG_ARCH_AT91) += kizbox.dtb 22dtb-$(CONFIG_ARCH_AT91) += kizbox.dtb
22dtb-$(CONFIG_ARCH_AT91) += tny_a9g20.dtb 23dtb-$(CONFIG_ARCH_AT91) += tny_a9g20.dtb
23dtb-$(CONFIG_ARCH_AT91) += usb_a9g20.dtb 24dtb-$(CONFIG_ARCH_AT91) += usb_a9g20.dtb
25dtb-$(CONFIG_ARCH_AT91) += usb_a9g20_lpw.dtb
24# sam9g45 26# sam9g45
25dtb-$(CONFIG_ARCH_AT91) += at91sam9m10g45ek.dtb 27dtb-$(CONFIG_ARCH_AT91) += at91sam9m10g45ek.dtb
26dtb-$(CONFIG_ARCH_AT91) += pm9g45.dtb 28dtb-$(CONFIG_ARCH_AT91) += pm9g45.dtb
@@ -84,6 +86,8 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-cloudbox.dtb \
84 kirkwood-ns2max.dtb \ 86 kirkwood-ns2max.dtb \
85 kirkwood-ns2mini.dtb \ 87 kirkwood-ns2mini.dtb \
86 kirkwood-nsa310.dtb \ 88 kirkwood-nsa310.dtb \
89 kirkwood-sheevaplug.dtb \
90 kirkwood-sheevaplug-esata.dtb \
87 kirkwood-topkick.dtb \ 91 kirkwood-topkick.dtb \
88 kirkwood-ts219-6281.dtb \ 92 kirkwood-ts219-6281.dtb \
89 kirkwood-ts219-6282.dtb \ 93 kirkwood-ts219-6282.dtb \
@@ -159,9 +163,11 @@ dtb-$(CONFIG_ARCH_U8500) += snowball.dtb \
159 hrefprev60.dtb \ 163 hrefprev60.dtb \
160 hrefv60plus.dtb \ 164 hrefv60plus.dtb \
161 ccu9540.dtb 165 ccu9540.dtb
166dtb-$(CONFIG_ARCH_S3C24XX) += s3c2416-smdk2416.dtb
162dtb-$(CONFIG_ARCH_SHMOBILE) += emev2-kzm9d.dtb \ 167dtb-$(CONFIG_ARCH_SHMOBILE) += emev2-kzm9d.dtb \
163 r8a7740-armadillo800eva.dtb \ 168 r8a7740-armadillo800eva.dtb \
164 r8a7778-bockw.dtb \ 169 r8a7778-bockw.dtb \
170 r8a7740-armadillo800eva-reference.dtb \
165 r8a7779-marzen-reference.dtb \ 171 r8a7779-marzen-reference.dtb \
166 r8a7790-lager.dtb \ 172 r8a7790-lager.dtb \
167 sh73a0-kzm9g.dtb \ 173 sh73a0-kzm9g.dtb \
@@ -207,6 +213,7 @@ dtb-$(CONFIG_ARCH_VIRT) += xenvm-4.2.dtb
207dtb-$(CONFIG_ARCH_VT8500) += vt8500-bv07.dtb \ 213dtb-$(CONFIG_ARCH_VT8500) += vt8500-bv07.dtb \
208 wm8505-ref.dtb \ 214 wm8505-ref.dtb \
209 wm8650-mid.dtb \ 215 wm8650-mid.dtb \
216 wm8750-apc8750.dtb \
210 wm8850-w70v2.dtb 217 wm8850-w70v2.dtb
211dtb-$(CONFIG_ARCH_ZYNQ) += zynq-zc702.dtb 218dtb-$(CONFIG_ARCH_ZYNQ) += zynq-zc702.dtb
212 219
diff --git a/arch/arm/boot/dts/aks-cdu.dts b/arch/arm/boot/dts/aks-cdu.dts
index 29b9f15e7599..54cb5cf8604a 100644
--- a/arch/arm/boot/dts/aks-cdu.dts
+++ b/arch/arm/boot/dts/aks-cdu.dts
@@ -9,7 +9,7 @@
9 9
10/dts-v1/; 10/dts-v1/;
11 11
12/include/ "ge863-pro3.dtsi" 12#include "ge863-pro3.dtsi"
13 13
14/ { 14/ {
15 chosen { 15 chosen {
@@ -46,7 +46,7 @@
46 }; 46 };
47 47
48 usb1: gadget@fffa4000 { 48 usb1: gadget@fffa4000 {
49 atmel,vbus-gpio = <&pioC 15 0>; 49 atmel,vbus-gpio = <&pioC 15 GPIO_ACTIVE_HIGH>;
50 status = "okay"; 50 status = "okay";
51 }; 51 };
52 }; 52 };
@@ -90,23 +90,23 @@
90 compatible = "gpio-leds"; 90 compatible = "gpio-leds";
91 91
92 red { 92 red {
93 gpios = <&pioC 10 0>; 93 gpios = <&pioC 10 GPIO_ACTIVE_HIGH>;
94 linux,default-trigger = "none"; 94 linux,default-trigger = "none";
95 }; 95 };
96 96
97 green { 97 green {
98 gpios = <&pioA 5 1>; 98 gpios = <&pioA 5 GPIO_ACTIVE_LOW>;
99 linux,default-trigger = "none"; 99 linux,default-trigger = "none";
100 default-state = "on"; 100 default-state = "on";
101 }; 101 };
102 102
103 yellow { 103 yellow {
104 gpios = <&pioB 20 1>; 104 gpios = <&pioB 20 GPIO_ACTIVE_LOW>;
105 linux,default-trigger = "none"; 105 linux,default-trigger = "none";
106 }; 106 };
107 107
108 blue { 108 blue {
109 gpios = <&pioB 21 1>; 109 gpios = <&pioB 21 GPIO_ACTIVE_LOW>;
110 linux,default-trigger = "none"; 110 linux,default-trigger = "none";
111 }; 111 };
112 }; 112 };
diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
index 1460d9b88adf..6827853a0a8f 100644
--- a/arch/arm/boot/dts/am33xx.dtsi
+++ b/arch/arm/boot/dts/am33xx.dtsi
@@ -26,8 +26,12 @@
26 }; 26 };
27 27
28 cpus { 28 cpus {
29 #address-cells = <1>;
30 #size-cells = <0>;
29 cpu@0 { 31 cpu@0 {
30 compatible = "arm,cortex-a8"; 32 compatible = "arm,cortex-a8";
33 device_type = "cpu";
34 reg = <0>;
31 35
32 /* 36 /*
33 * To consider voltage drop between PMIC and SoC, 37 * To consider voltage drop between PMIC and SoC,
diff --git a/arch/arm/boot/dts/animeo_ip.dts b/arch/arm/boot/dts/animeo_ip.dts
index 5160210f74da..3a1de9eb5111 100644
--- a/arch/arm/boot/dts/animeo_ip.dts
+++ b/arch/arm/boot/dts/animeo_ip.dts
@@ -7,7 +7,7 @@
7 */ 7 */
8 8
9/dts-v1/; 9/dts-v1/;
10/include/ "at91sam9260.dtsi" 10#include "at91sam9260.dtsi"
11 11
12/ { 12/ {
13 model = "Somfy Animeo IP"; 13 model = "Somfy Animeo IP";
@@ -123,7 +123,7 @@
123 123
124 usb0: ohci@00500000 { 124 usb0: ohci@00500000 {
125 num-ports = <2>; 125 num-ports = <2>;
126 atmel,vbus-gpio = <&pioB 15 1>; 126 atmel,vbus-gpio = <&pioB 15 GPIO_ACTIVE_LOW>;
127 status = "okay"; 127 status = "okay";
128 }; 128 };
129 }; 129 };
@@ -133,23 +133,23 @@
133 133
134 power_green { 134 power_green {
135 label = "power_green"; 135 label = "power_green";
136 gpios = <&pioC 17 0>; 136 gpios = <&pioC 17 GPIO_ACTIVE_HIGH>;
137 linux,default-trigger = "heartbeat"; 137 linux,default-trigger = "heartbeat";
138 }; 138 };
139 139
140 power_red { 140 power_red {
141 label = "power_red"; 141 label = "power_red";
142 gpios = <&pioA 2 0>; 142 gpios = <&pioA 2 GPIO_ACTIVE_HIGH>;
143 }; 143 };
144 144
145 tx_green { 145 tx_green {
146 label = "tx_green"; 146 label = "tx_green";
147 gpios = <&pioC 19 0>; 147 gpios = <&pioC 19 GPIO_ACTIVE_HIGH>;
148 }; 148 };
149 149
150 tx_red { 150 tx_red {
151 label = "tx_red"; 151 label = "tx_red";
152 gpios = <&pioC 18 0>; 152 gpios = <&pioC 18 GPIO_ACTIVE_HIGH>;
153 }; 153 };
154 }; 154 };
155 155
@@ -160,21 +160,21 @@
160 160
161 keyswitch_in { 161 keyswitch_in {
162 label = "keyswitch_in"; 162 label = "keyswitch_in";
163 gpios = <&pioB 1 0>; 163 gpios = <&pioB 1 GPIO_ACTIVE_HIGH>;
164 linux,code = <28>; 164 linux,code = <28>;
165 gpio-key,wakeup; 165 gpio-key,wakeup;
166 }; 166 };
167 167
168 error_in { 168 error_in {
169 label = "error_in"; 169 label = "error_in";
170 gpios = <&pioB 2 0>; 170 gpios = <&pioB 2 GPIO_ACTIVE_HIGH>;
171 linux,code = <29>; 171 linux,code = <29>;
172 gpio-key,wakeup; 172 gpio-key,wakeup;
173 }; 173 };
174 174
175 btn { 175 btn {
176 label = "btn"; 176 label = "btn";
177 gpios = <&pioC 23 0>; 177 gpios = <&pioC 23 GPIO_ACTIVE_HIGH>;
178 linux,code = <31>; 178 linux,code = <31>;
179 gpio-key,wakeup; 179 gpio-key,wakeup;
180 }; 180 };
diff --git a/arch/arm/boot/dts/armada-370-db.dts b/arch/arm/boot/dts/armada-370-db.dts
index 2353b1f13704..beee1699d49e 100644
--- a/arch/arm/boot/dts/armada-370-db.dts
+++ b/arch/arm/boot/dts/armada-370-db.dts
@@ -74,6 +74,7 @@
74 */ 74 */
75 status = "disabled"; 75 status = "disabled";
76 /* No CD or WP GPIOs */ 76 /* No CD or WP GPIOs */
77 broken-cd;
77 }; 78 };
78 79
79 usb@50000 { 80 usb@50000 {
diff --git a/arch/arm/boot/dts/armada-370-mirabox.dts b/arch/arm/boot/dts/armada-370-mirabox.dts
index 14e36e19d515..45b107763e3b 100644
--- a/arch/arm/boot/dts/armada-370-mirabox.dts
+++ b/arch/arm/boot/dts/armada-370-mirabox.dts
@@ -99,6 +99,7 @@
99 * No CD or WP GPIOs: SDIO interface used for 99 * No CD or WP GPIOs: SDIO interface used for
100 * Wifi/Bluetooth chip 100 * Wifi/Bluetooth chip
101 */ 101 */
102 broken-cd;
102 }; 103 };
103 104
104 usb@50000 { 105 usb@50000 {
diff --git a/arch/arm/boot/dts/armada-370-rd.dts b/arch/arm/boot/dts/armada-370-rd.dts
index 130f8390a7e4..89c21106cfa9 100644
--- a/arch/arm/boot/dts/armada-370-rd.dts
+++ b/arch/arm/boot/dts/armada-370-rd.dts
@@ -64,6 +64,7 @@
64 pinctrl-names = "default"; 64 pinctrl-names = "default";
65 status = "okay"; 65 status = "okay";
66 /* No CD or WP GPIOs */ 66 /* No CD or WP GPIOs */
67 broken-cd;
67 }; 68 };
68 69
69 usb@50000 { 70 usb@50000 {
diff --git a/arch/arm/boot/dts/armada-370-xp.dtsi b/arch/arm/boot/dts/armada-370-xp.dtsi
index 550eb772c30e..36feff3a363e 100644
--- a/arch/arm/boot/dts/armada-370-xp.dtsi
+++ b/arch/arm/boot/dts/armada-370-xp.dtsi
@@ -23,8 +23,12 @@
23 compatible = "marvell,armada-370-xp"; 23 compatible = "marvell,armada-370-xp";
24 24
25 cpus { 25 cpus {
26 #address-cells = <1>;
27 #size-cells = <0>;
26 cpu@0 { 28 cpu@0 {
27 compatible = "marvell,sheeva-v7"; 29 compatible = "marvell,sheeva-v7";
30 device_type = "cpu";
31 reg = <0>;
28 }; 32 };
29 }; 33 };
30 34
@@ -143,6 +147,10 @@
143 reg = <0xd4000 0x200>; 147 reg = <0xd4000 0x200>;
144 interrupts = <54>; 148 interrupts = <54>;
145 clocks = <&gateclk 17>; 149 clocks = <&gateclk 17>;
150 bus-width = <4>;
151 cap-sdio-irq;
152 cap-sd-highspeed;
153 cap-mmc-highspeed;
146 status = "disabled"; 154 status = "disabled";
147 }; 155 };
148 156
diff --git a/arch/arm/boot/dts/armada-xp-db.dts b/arch/arm/boot/dts/armada-xp-db.dts
index d6cc8bf8272e..f5fc1a3868a2 100644
--- a/arch/arm/boot/dts/armada-xp-db.dts
+++ b/arch/arm/boot/dts/armada-xp-db.dts
@@ -30,6 +30,9 @@
30 }; 30 };
31 31
32 soc { 32 soc {
33 ranges = <0 0 0xd0000000 0x100000 /* Internal registers 1MiB */
34 0xf0000000 0 0xf0000000 0x1000000>; /* Device Bus, NOR 16MiB */
35
33 internal-regs { 36 internal-regs {
34 serial@12000 { 37 serial@12000 {
35 clock-frequency = <250000000>; 38 clock-frequency = <250000000>;
@@ -97,6 +100,7 @@
97 pinctrl-names = "default"; 100 pinctrl-names = "default";
98 status = "okay"; 101 status = "okay";
99 /* No CD or WP GPIOs */ 102 /* No CD or WP GPIOs */
103 broken-cd;
100 }; 104 };
101 105
102 usb@50000 { 106 usb@50000 {
@@ -155,6 +159,35 @@
155 status = "okay"; 159 status = "okay";
156 }; 160 };
157 }; 161 };
162
163 devbus-bootcs@10400 {
164 status = "okay";
165 ranges = <0 0xf0000000 0x1000000>;
166
167 /* Device Bus parameters are required */
168
169 /* Read parameters */
170 devbus,bus-width = <8>;
171 devbus,turn-off-ps = <60000>;
172 devbus,badr-skew-ps = <0>;
173 devbus,acc-first-ps = <124000>;
174 devbus,acc-next-ps = <248000>;
175 devbus,rd-setup-ps = <0>;
176 devbus,rd-hold-ps = <0>;
177
178 /* Write parameters */
179 devbus,sync-enable = <0>;
180 devbus,wr-high-ps = <60000>;
181 devbus,wr-low-ps = <60000>;
182 devbus,ale-wr-ps = <60000>;
183
184 /* NOR 16 MiB */
185 nor@0 {
186 compatible = "cfi-flash";
187 reg = <0 0x1000000>;
188 bank-width = <2>;
189 };
190 };
158 }; 191 };
159 }; 192 };
160}; 193};
diff --git a/arch/arm/boot/dts/armada-xp-gp.dts b/arch/arm/boot/dts/armada-xp-gp.dts
index 3ee63d128e27..0a040705a72d 100644
--- a/arch/arm/boot/dts/armada-xp-gp.dts
+++ b/arch/arm/boot/dts/armada-xp-gp.dts
@@ -104,6 +104,16 @@
104 phy-mode = "rgmii-id"; 104 phy-mode = "rgmii-id";
105 }; 105 };
106 106
107 /* Front-side USB slot */
108 usb@50000 {
109 status = "okay";
110 };
111
112 /* Back-side USB slot */
113 usb@51000 {
114 status = "okay";
115 };
116
107 spi0: spi@10600 { 117 spi0: spi@10600 {
108 status = "okay"; 118 status = "okay";
109 119
diff --git a/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts b/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts
index 46b785064dd8..685ee7a282e3 100644
--- a/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts
+++ b/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts
@@ -137,13 +137,22 @@
137 nr-ports = <2>; 137 nr-ports = <2>;
138 status = "okay"; 138 status = "okay";
139 }; 139 };
140
141 /* Front side USB 0 */
140 usb@50000 { 142 usb@50000 {
141 status = "okay"; 143 status = "okay";
142 }; 144 };
145
146 /* Front side USB 1 */
143 usb@51000 { 147 usb@51000 {
144 status = "okay"; 148 status = "okay";
145 }; 149 };
146 150
151 /* USB interface in the mini-PCIe connector */
152 usb@52000 {
153 status = "okay";
154 };
155
147 devbus-bootcs@10400 { 156 devbus-bootcs@10400 {
148 status = "okay"; 157 status = "okay";
149 ranges = <0 0xf0000000 0x8000000>; /* @addr 0xf000000, size 0x8000000 */ 158 ranges = <0 0xf0000000 0x8000000>; /* @addr 0xf000000, size 0x8000000 */
diff --git a/arch/arm/boot/dts/at91-ariag25.dts b/arch/arm/boot/dts/at91-ariag25.dts
index c7aebba4e8e7..cce45f5177f9 100644
--- a/arch/arm/boot/dts/at91-ariag25.dts
+++ b/arch/arm/boot/dts/at91-ariag25.dts
@@ -7,7 +7,7 @@
7 * Licensed under GPLv2 or later. 7 * Licensed under GPLv2 or later.
8 */ 8 */
9/dts-v1/; 9/dts-v1/;
10/include/ "at91sam9g25.dtsi" 10#include "at91sam9g25.dtsi"
11 11
12/ { 12/ {
13 model = "Acme Systems Aria G25"; 13 model = "Acme Systems Aria G25";
@@ -21,6 +21,7 @@
21 serial3 = &usart2; 21 serial3 = &usart2;
22 serial4 = &usart3; 22 serial4 = &usart3;
23 serial5 = &uart0; 23 serial5 = &uart0;
24 serial6 = &uart1;
24 }; 25 };
25 26
26 chosen { 27 chosen {
@@ -112,13 +113,17 @@
112 status = "okay"; 113 status = "okay";
113 }; 114 };
114 115
116 /*
117 * UART0/1 pins are marked as GPIO on
118 * Aria documentation.
119 * Change to "okay" if you need additional serial ports
120 */
115 uart0: serial@f8040000 { 121 uart0: serial@f8040000 {
116 compatible = "atmel,at91sam9260-usart"; 122 status = "disabled";
117 reg = <0xf8040000 0x200>; 123 };
118 interrupts = <15 4 5>; 124
119 pinctrl-names = "default"; 125 uart1: serial@f8044000 {
120 pinctrl-0 = <&pinctrl_uart0>; 126 status = "disabled";
121 status = "okay";
122 }; 127 };
123 128
124 adc0: adc@f804c000 { 129 adc0: adc@f804c000 {
@@ -138,6 +143,10 @@
138 }; 143 };
139 }; 144 };
140 }; 145 };
146
147 rtc@fffffeb0 {
148 status = "okay";
149 };
141 }; 150 };
142 151
143 usb0: ohci@00600000 { 152 usb0: ohci@00600000 {
@@ -156,7 +165,7 @@
156 /* little green LED in middle of Aria G25 module */ 165 /* little green LED in middle of Aria G25 module */
157 aria_led { 166 aria_led {
158 label = "aria_led"; 167 label = "aria_led";
159 gpios = <&pioB 8 0>; /* PB8 */ 168 gpios = <&pioB 8 GPIO_ACTIVE_HIGH>; /* PB8 */
160 linux,default-trigger = "heartbeat"; 169 linux,default-trigger = "heartbeat";
161 }; 170 };
162 171
@@ -164,7 +173,7 @@
164 173
165 onewire@0 { 174 onewire@0 {
166 compatible = "w1-gpio"; 175 compatible = "w1-gpio";
167 gpios = <&pioA 21 1>; 176 gpios = <&pioA 21 GPIO_ACTIVE_LOW>;
168 pinctrl-names = "default"; 177 pinctrl-names = "default";
169 pinctrl-0 = <&pinctrl_w1_0>; 178 pinctrl-0 = <&pinctrl_w1_0>;
170 }; 179 };
diff --git a/arch/arm/boot/dts/at91-foxg20.dts b/arch/arm/boot/dts/at91-foxg20.dts
new file mode 100644
index 000000000000..cbe967343997
--- /dev/null
+++ b/arch/arm/boot/dts/at91-foxg20.dts
@@ -0,0 +1,157 @@
1/*
2 * at91-foxg20.dts - Device Tree file for Acme Systems FoxG20 board
3 *
4 * Based on DT files for at91sam9g20ek evaluation board (AT91SAM9G20 SoC)
5 *
6 * Copyright (C) 2013 Douglas Gilbert <dgilbert@interlog.com>
7 *
8 * Licensed under GPLv2 or later.
9 */
10/dts-v1/;
11#include "at91sam9g20.dtsi"
12
13/ {
14 model = "Acme Systems FoxG20";
15 compatible = "acme,foxg20", "atmel,at91sam9g20", "atmel,at91sam9";
16
17 chosen {
18 bootargs = "console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootwait";
19 };
20
21 memory {
22 reg = <0x20000000 0x4000000>;
23 };
24
25 clocks {
26 #address-cells = <1>;
27 #size-cells = <1>;
28 ranges;
29
30 main_clock: clock@0 {
31 compatible = "atmel,osc", "fixed-clock";
32 clock-frequency = <18432000>;
33 };
34 };
35
36 ahb {
37 apb {
38 usb1: gadget@fffa4000 {
39 atmel,vbus-gpio = <&pioC 6 GPIO_ACTIVE_HIGH>;
40 status = "okay";
41 };
42
43 mmc0: mmc@fffa8000 {
44 pinctrl-0 = <
45 &pinctrl_mmc0_clk
46 &pinctrl_mmc0_slot1_cmd_dat0
47 &pinctrl_mmc0_slot1_dat1_3>;
48 status = "okay";
49
50 slot@1 {
51 reg = <1>;
52 bus-width = <4>;
53 };
54 };
55
56 usart0: serial@fffb0000 {
57 pinctrl-0 =
58 <&pinctrl_usart0
59 &pinctrl_usart0_rts
60 &pinctrl_usart0_cts
61 >;
62 status = "okay";
63 };
64
65 usart1: serial@fffb4000 {
66 status = "okay";
67 };
68
69 usart2: serial@fffb8000 {
70 status = "okay";
71 };
72
73 macb0: ethernet@fffc4000 {
74 phy-mode = "rmii";
75 status = "okay";
76 };
77
78 usart3: serial@fffd0000 {
79 status = "okay";
80 };
81
82 uart0: serial@fffd4000 {
83 status = "okay";
84 };
85
86 uart1: serial@fffd8000 {
87 status = "okay";
88 };
89
90 dbgu: serial@fffff200 {
91 status = "okay";
92 };
93
94 pinctrl@fffff400 {
95 board {
96 pinctrl_pck0_as_mck: pck0_as_mck {
97 atmel,pins =
98 <AT91_PIOC 1 AT91_PERIPH_B AT91_PINCTRL_NONE>;
99 };
100 };
101
102 mmc0_slot1 {
103 pinctrl_board_mmc0_slot1: mmc0_slot1-board {
104 atmel,pins =
105 <AT91_PIOC 9 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; /* CD pin */
106 };
107 };
108
109 i2c0 {
110 pinctrl_i2c0: i2c0-0 {
111 atmel,pins =
112 <AT91_PIOA 23 AT91_PERIPH_A AT91_PINCTRL_MULTI_DRIVE /* TWD (SDA), open drain */
113 AT91_PIOA 24 AT91_PERIPH_A AT91_PINCTRL_MULTI_DRIVE>; /* TWCK (SCL), open drain */
114 };
115 };
116 };
117
118 watchdog@fffffd40 {
119 status = "okay";
120 };
121 };
122
123 usb0: ohci@00500000 {
124 num-ports = <2>;
125 status = "okay";
126 };
127 };
128
129 i2c@0 {
130 pinctrl-names = "default";
131 pinctrl-0 = <&pinctrl_i2c0>;
132 i2c-gpio,delay-us = <5>; /* ~85 kHz */
133 status = "okay";
134 };
135
136 leds {
137 compatible = "gpio-leds";
138
139 /* red LED marked "PC7" near mini USB (device) receptacle */
140 user_led {
141 label = "user_led";
142 gpios = <&pioC 7 GPIO_ACTIVE_HIGH>; /* PC7 */
143 linux,default-trigger = "heartbeat";
144 };
145 };
146
147 gpio_keys {
148 compatible = "gpio-keys";
149
150 btn {
151 label = "Button";
152 gpios = <&pioC 4 GPIO_ACTIVE_LOW>;
153 linux,code = <0x103>;
154 gpio-key,wakeup;
155 };
156 };
157};
diff --git a/arch/arm/boot/dts/at91rm9200.dtsi b/arch/arm/boot/dts/at91rm9200.dtsi
index 5d3ed5aafc69..34c03806fe06 100644
--- a/arch/arm/boot/dts/at91rm9200.dtsi
+++ b/arch/arm/boot/dts/at91rm9200.dtsi
@@ -10,7 +10,10 @@
10 * Licensed under GPLv2 or later. 10 * Licensed under GPLv2 or later.
11 */ 11 */
12 12
13/include/ "skeleton.dtsi" 13#include "skeleton.dtsi"
14#include <dt-bindings/pinctrl/at91.h>
15#include <dt-bindings/interrupt-controller/irq.h>
16#include <dt-bindings/gpio/gpio.h>
14 17
15/ { 18/ {
16 model = "Atmel AT91RM9200 family SoC"; 19 model = "Atmel AT91RM9200 family SoC";
@@ -35,8 +38,12 @@
35 ssc2 = &ssc2; 38 ssc2 = &ssc2;
36 }; 39 };
37 cpus { 40 cpus {
38 cpu@0 { 41 #address-cells = <0>;
42 #size-cells = <0>;
43
44 cpu {
39 compatible = "arm,arm920t"; 45 compatible = "arm,arm920t";
46 device_type = "cpu";
40 }; 47 };
41 }; 48 };
42 49
@@ -77,25 +84,29 @@
77 st: timer@fffffd00 { 84 st: timer@fffffd00 {
78 compatible = "atmel,at91rm9200-st"; 85 compatible = "atmel,at91rm9200-st";
79 reg = <0xfffffd00 0x100>; 86 reg = <0xfffffd00 0x100>;
80 interrupts = <1 4 7>; 87 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
81 }; 88 };
82 89
83 tcb0: timer@fffa0000 { 90 tcb0: timer@fffa0000 {
84 compatible = "atmel,at91rm9200-tcb"; 91 compatible = "atmel,at91rm9200-tcb";
85 reg = <0xfffa0000 0x100>; 92 reg = <0xfffa0000 0x100>;
86 interrupts = <17 4 0 18 4 0 19 4 0>; 93 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0
94 18 IRQ_TYPE_LEVEL_HIGH 0
95 19 IRQ_TYPE_LEVEL_HIGH 0>;
87 }; 96 };
88 97
89 tcb1: timer@fffa4000 { 98 tcb1: timer@fffa4000 {
90 compatible = "atmel,at91rm9200-tcb"; 99 compatible = "atmel,at91rm9200-tcb";
91 reg = <0xfffa4000 0x100>; 100 reg = <0xfffa4000 0x100>;
92 interrupts = <20 4 0 21 4 0 22 4 0>; 101 interrupts = <20 IRQ_TYPE_LEVEL_HIGH 0
102 21 IRQ_TYPE_LEVEL_HIGH 0
103 22 IRQ_TYPE_LEVEL_HIGH 0>;
93 }; 104 };
94 105
95 i2c0: i2c@fffb8000 { 106 i2c0: i2c@fffb8000 {
96 compatible = "atmel,at91rm9200-i2c"; 107 compatible = "atmel,at91rm9200-i2c";
97 reg = <0xfffb8000 0x4000>; 108 reg = <0xfffb8000 0x4000>;
98 interrupts = <12 4 6>; 109 interrupts = <12 IRQ_TYPE_LEVEL_HIGH 6>;
99 pinctrl-names = "default"; 110 pinctrl-names = "default";
100 pinctrl-0 = <&pinctrl_twi>; 111 pinctrl-0 = <&pinctrl_twi>;
101 #address-cells = <1>; 112 #address-cells = <1>;
@@ -106,7 +117,7 @@
106 mmc0: mmc@fffb4000 { 117 mmc0: mmc@fffb4000 {
107 compatible = "atmel,hsmci"; 118 compatible = "atmel,hsmci";
108 reg = <0xfffb4000 0x4000>; 119 reg = <0xfffb4000 0x4000>;
109 interrupts = <10 4 0>; 120 interrupts = <10 IRQ_TYPE_LEVEL_HIGH 0>;
110 #address-cells = <1>; 121 #address-cells = <1>;
111 #size-cells = <0>; 122 #size-cells = <0>;
112 status = "disabled"; 123 status = "disabled";
@@ -115,7 +126,7 @@
115 ssc0: ssc@fffd0000 { 126 ssc0: ssc@fffd0000 {
116 compatible = "atmel,at91rm9200-ssc"; 127 compatible = "atmel,at91rm9200-ssc";
117 reg = <0xfffd0000 0x4000>; 128 reg = <0xfffd0000 0x4000>;
118 interrupts = <14 4 5>; 129 interrupts = <14 IRQ_TYPE_LEVEL_HIGH 5>;
119 pinctrl-names = "default"; 130 pinctrl-names = "default";
120 pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>; 131 pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
121 status = "disable"; 132 status = "disable";
@@ -124,7 +135,7 @@
124 ssc1: ssc@fffd4000 { 135 ssc1: ssc@fffd4000 {
125 compatible = "atmel,at91rm9200-ssc"; 136 compatible = "atmel,at91rm9200-ssc";
126 reg = <0xfffd4000 0x4000>; 137 reg = <0xfffd4000 0x4000>;
127 interrupts = <15 4 5>; 138 interrupts = <15 IRQ_TYPE_LEVEL_HIGH 5>;
128 pinctrl-names = "default"; 139 pinctrl-names = "default";
129 pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>; 140 pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>;
130 status = "disable"; 141 status = "disable";
@@ -133,7 +144,7 @@
133 ssc2: ssc@fffd8000 { 144 ssc2: ssc@fffd8000 {
134 compatible = "atmel,at91rm9200-ssc"; 145 compatible = "atmel,at91rm9200-ssc";
135 reg = <0xfffd8000 0x4000>; 146 reg = <0xfffd8000 0x4000>;
136 interrupts = <16 4 5>; 147 interrupts = <16 IRQ_TYPE_LEVEL_HIGH 5>;
137 pinctrl-names = "default"; 148 pinctrl-names = "default";
138 pinctrl-0 = <&pinctrl_ssc2_tx &pinctrl_ssc2_rx>; 149 pinctrl-0 = <&pinctrl_ssc2_tx &pinctrl_ssc2_rx>;
139 status = "disable"; 150 status = "disable";
@@ -142,7 +153,7 @@
142 macb0: ethernet@fffbc000 { 153 macb0: ethernet@fffbc000 {
143 compatible = "cdns,at91rm9200-emac", "cdns,emac"; 154 compatible = "cdns,at91rm9200-emac", "cdns,emac";
144 reg = <0xfffbc000 0x4000>; 155 reg = <0xfffbc000 0x4000>;
145 interrupts = <24 4 3>; 156 interrupts = <24 IRQ_TYPE_LEVEL_HIGH 3>;
146 phy-mode = "rmii"; 157 phy-mode = "rmii";
147 pinctrl-names = "default"; 158 pinctrl-names = "default";
148 pinctrl-0 = <&pinctrl_macb_rmii>; 159 pinctrl-0 = <&pinctrl_macb_rmii>;
@@ -167,234 +178,310 @@
167 dbgu { 178 dbgu {
168 pinctrl_dbgu: dbgu-0 { 179 pinctrl_dbgu: dbgu-0 {
169 atmel,pins = 180 atmel,pins =
170 <0 30 0x1 0x0 /* PA30 periph A */ 181 <AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA30 periph A */
171 0 31 0x1 0x1>; /* PA31 periph with pullup */ 182 AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PA31 periph with pullup */
172 }; 183 };
173 }; 184 };
174 185
175 uart0 { 186 uart0 {
176 pinctrl_uart0: uart0-0 { 187 pinctrl_uart0: uart0-0 {
177 atmel,pins = 188 atmel,pins =
178 <0 17 0x1 0x0 /* PA17 periph A */ 189 <AT91_PIOA 17 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA17 periph A */
179 0 18 0x1 0x0>; /* PA18 periph A */ 190 AT91_PIOA 18 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA18 periph A */
180 }; 191 };
181 192
182 pinctrl_uart0_rts: uart0_rts-0 { 193 pinctrl_uart0_rts: uart0_rts-0 {
183 atmel,pins = 194 atmel,pins =
184 <0 20 0x1 0x0>; /* PA20 periph A */ 195 <AT91_PIOA 20 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA20 periph A */
185 }; 196 };
186 197
187 pinctrl_uart0_cts: uart0_cts-0 { 198 pinctrl_uart0_cts: uart0_cts-0 {
188 atmel,pins = 199 atmel,pins =
189 <0 21 0x1 0x0>; /* PA21 periph A */ 200 <AT91_PIOA 21 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA21 periph A */
190 }; 201 };
191 }; 202 };
192 203
193 uart1 { 204 uart1 {
194 pinctrl_uart1: uart1-0 { 205 pinctrl_uart1: uart1-0 {
195 atmel,pins = 206 atmel,pins =
196 <1 20 0x1 0x1 /* PB20 periph A with pullup */ 207 <AT91_PIOB 20 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PB20 periph A with pullup */
197 1 21 0x1 0x0>; /* PB21 periph A */ 208 AT91_PIOB 21 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB21 periph A */
198 }; 209 };
199 210
200 pinctrl_uart1_rts: uart1_rts-0 { 211 pinctrl_uart1_rts: uart1_rts-0 {
201 atmel,pins = 212 atmel,pins =
202 <1 24 0x1 0x0>; /* PB24 periph A */ 213 <AT91_PIOB 24 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB24 periph A */
203 }; 214 };
204 215
205 pinctrl_uart1_cts: uart1_cts-0 { 216 pinctrl_uart1_cts: uart1_cts-0 {
206 atmel,pins = 217 atmel,pins =
207 <1 26 0x1 0x0>; /* PB26 periph A */ 218 <AT91_PIOB 26 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB26 periph A */
208 }; 219 };
209 220
210 pinctrl_uart1_dtr_dsr: uart1_dtr_dsr-0 { 221 pinctrl_uart1_dtr_dsr: uart1_dtr_dsr-0 {
211 atmel,pins = 222 atmel,pins =
212 <1 19 0x1 0x0 /* PB19 periph A */ 223 <AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB19 periph A */
213 1 25 0x1 0x0>; /* PB25 periph A */ 224 AT91_PIOB 25 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB25 periph A */
214 }; 225 };
215 226
216 pinctrl_uart1_dcd: uart1_dcd-0 { 227 pinctrl_uart1_dcd: uart1_dcd-0 {
217 atmel,pins = 228 atmel,pins =
218 <1 23 0x1 0x0>; /* PB23 periph A */ 229 <AT91_PIOB 23 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB23 periph A */
219 }; 230 };
220 231
221 pinctrl_uart1_ri: uart1_ri-0 { 232 pinctrl_uart1_ri: uart1_ri-0 {
222 atmel,pins = 233 atmel,pins =
223 <1 18 0x1 0x0>; /* PB18 periph A */ 234 <AT91_PIOB 18 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB18 periph A */
224 }; 235 };
225 }; 236 };
226 237
227 uart2 { 238 uart2 {
228 pinctrl_uart2: uart2-0 { 239 pinctrl_uart2: uart2-0 {
229 atmel,pins = 240 atmel,pins =
230 <0 22 0x1 0x0 /* PA22 periph A */ 241 <AT91_PIOA 22 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA22 periph A */
231 0 23 0x1 0x1>; /* PA23 periph A with pullup */ 242 AT91_PIOA 23 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PA23 periph A with pullup */
232 }; 243 };
233 244
234 pinctrl_uart2_rts: uart2_rts-0 { 245 pinctrl_uart2_rts: uart2_rts-0 {
235 atmel,pins = 246 atmel,pins =
236 <0 30 0x2 0x0>; /* PA30 periph B */ 247 <AT91_PIOA 30 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PA30 periph B */
237 }; 248 };
238 249
239 pinctrl_uart2_cts: uart2_cts-0 { 250 pinctrl_uart2_cts: uart2_cts-0 {
240 atmel,pins = 251 atmel,pins =
241 <0 31 0x2 0x0>; /* PA31 periph B */ 252 <AT91_PIOA 31 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PA31 periph B */
242 }; 253 };
243 }; 254 };
244 255
245 uart3 { 256 uart3 {
246 pinctrl_uart3: uart3-0 { 257 pinctrl_uart3: uart3-0 {
247 atmel,pins = 258 atmel,pins =
248 <0 5 0x2 0x1 /* PA5 periph B with pullup */ 259 <AT91_PIOA 5 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PA5 periph B with pullup */
249 0 6 0x2 0x0>; /* PA6 periph B */ 260 AT91_PIOA 6 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PA6 periph B */
250 }; 261 };
251 262
252 pinctrl_uart3_rts: uart3_rts-0 { 263 pinctrl_uart3_rts: uart3_rts-0 {
253 atmel,pins = 264 atmel,pins =
254 <1 0 0x2 0x0>; /* PB0 periph B */ 265 <AT91_PIOB 0 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PB0 periph B */
255 }; 266 };
256 267
257 pinctrl_uart3_cts: uart3_cts-0 { 268 pinctrl_uart3_cts: uart3_cts-0 {
258 atmel,pins = 269 atmel,pins =
259 <1 1 0x2 0x0>; /* PB1 periph B */ 270 <AT91_PIOB 1 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PB1 periph B */
260 }; 271 };
261 }; 272 };
262 273
263 nand { 274 nand {
264 pinctrl_nand: nand-0 { 275 pinctrl_nand: nand-0 {
265 atmel,pins = 276 atmel,pins =
266 <2 2 0x0 0x1 /* PC2 gpio RDY pin pull_up */ 277 <AT91_PIOC 2 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP /* PC2 gpio RDY pin pull_up */
267 1 1 0x0 0x1>; /* PB1 gpio CD pin pull_up */ 278 AT91_PIOB 1 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>; /* PB1 gpio CD pin pull_up */
268 }; 279 };
269 }; 280 };
270 281
271 macb { 282 macb {
272 pinctrl_macb_rmii: macb_rmii-0 { 283 pinctrl_macb_rmii: macb_rmii-0 {
273 atmel,pins = 284 atmel,pins =
274 <0 7 0x1 0x0 /* PA7 periph A */ 285 <AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA7 periph A */
275 0 8 0x1 0x0 /* PA8 periph A */ 286 AT91_PIOA 8 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA8 periph A */
276 0 9 0x1 0x0 /* PA9 periph A */ 287 AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA9 periph A */
277 0 10 0x1 0x0 /* PA10 periph A */ 288 AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA10 periph A */
278 0 11 0x1 0x0 /* PA11 periph A */ 289 AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA11 periph A */
279 0 12 0x1 0x0 /* PA12 periph A */ 290 AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA12 periph A */
280 0 13 0x1 0x0 /* PA13 periph A */ 291 AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA13 periph A */
281 0 14 0x1 0x0 /* PA14 periph A */ 292 AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA14 periph A */
282 0 15 0x1 0x0 /* PA15 periph A */ 293 AT91_PIOA 15 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA15 periph A */
283 0 16 0x1 0x0>; /* PA16 periph A */ 294 AT91_PIOA 16 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA16 periph A */
284 }; 295 };
285 296
286 pinctrl_macb_rmii_mii: macb_rmii_mii-0 { 297 pinctrl_macb_rmii_mii: macb_rmii_mii-0 {
287 atmel,pins = 298 atmel,pins =
288 <1 12 0x2 0x0 /* PB12 periph B */ 299 <AT91_PIOB 12 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB12 periph B */
289 1 13 0x2 0x0 /* PB13 periph B */ 300 AT91_PIOB 13 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB13 periph B */
290 1 14 0x2 0x0 /* PB14 periph B */ 301 AT91_PIOB 14 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB14 periph B */
291 1 15 0x2 0x0 /* PB15 periph B */ 302 AT91_PIOB 15 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB15 periph B */
292 1 16 0x2 0x0 /* PB16 periph B */ 303 AT91_PIOB 16 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB16 periph B */
293 1 17 0x2 0x0 /* PB17 periph B */ 304 AT91_PIOB 17 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB17 periph B */
294 1 18 0x2 0x0 /* PB18 periph B */ 305 AT91_PIOB 18 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB18 periph B */
295 1 19 0x2 0x0>; /* PB19 periph B */ 306 AT91_PIOB 19 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PB19 periph B */
296 }; 307 };
297 }; 308 };
298 309
299 mmc0 { 310 mmc0 {
300 pinctrl_mmc0_clk: mmc0_clk-0 { 311 pinctrl_mmc0_clk: mmc0_clk-0 {
301 atmel,pins = 312 atmel,pins =
302 <0 27 0x1 0x0>; /* PA27 periph A */ 313 <AT91_PIOA 27 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA27 periph A */
303 }; 314 };
304 315
305 pinctrl_mmc0_slot0_cmd_dat0: mmc0_slot0_cmd_dat0-0 { 316 pinctrl_mmc0_slot0_cmd_dat0: mmc0_slot0_cmd_dat0-0 {
306 atmel,pins = 317 atmel,pins =
307 <0 28 0x1 0x1 /* PA28 periph A with pullup */ 318 <AT91_PIOA 28 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA28 periph A with pullup */
308 0 29 0x1 0x1>; /* PA29 periph A with pullup */ 319 AT91_PIOA 29 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PA29 periph A with pullup */
309 }; 320 };
310 321
311 pinctrl_mmc0_slot0_dat1_3: mmc0_slot0_dat1_3-0 { 322 pinctrl_mmc0_slot0_dat1_3: mmc0_slot0_dat1_3-0 {
312 atmel,pins = 323 atmel,pins =
313 <1 3 0x2 0x1 /* PB3 periph B with pullup */ 324 <AT91_PIOB 3 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PB3 periph B with pullup */
314 1 4 0x2 0x1 /* PB4 periph B with pullup */ 325 AT91_PIOB 4 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PB4 periph B with pullup */
315 1 5 0x2 0x1>; /* PB5 periph B with pullup */ 326 AT91_PIOB 5 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; /* PB5 periph B with pullup */
316 }; 327 };
317 328
318 pinctrl_mmc0_slot1_cmd_dat0: mmc0_slot1_cmd_dat0-0 { 329 pinctrl_mmc0_slot1_cmd_dat0: mmc0_slot1_cmd_dat0-0 {
319 atmel,pins = 330 atmel,pins =
320 <0 8 0x2 0x1 /* PA8 periph B with pullup */ 331 <AT91_PIOA 8 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PA8 periph B with pullup */
321 0 9 0x2 0x1>; /* PA9 periph B with pullup */ 332 AT91_PIOA 9 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; /* PA9 periph B with pullup */
322 }; 333 };
323 334
324 pinctrl_mmc0_slot1_dat1_3: mmc0_slot1_dat1_3-0 { 335 pinctrl_mmc0_slot1_dat1_3: mmc0_slot1_dat1_3-0 {
325 atmel,pins = 336 atmel,pins =
326 <0 10 0x2 0x1 /* PA10 periph B with pullup */ 337 <AT91_PIOA 10 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PA10 periph B with pullup */
327 0 11 0x2 0x1 /* PA11 periph B with pullup */ 338 AT91_PIOA 11 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PA11 periph B with pullup */
328 0 12 0x2 0x1>; /* PA12 periph B with pullup */ 339 AT91_PIOA 12 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; /* PA12 periph B with pullup */
329 }; 340 };
330 }; 341 };
331 342
332 ssc0 { 343 ssc0 {
333 pinctrl_ssc0_tx: ssc0_tx-0 { 344 pinctrl_ssc0_tx: ssc0_tx-0 {
334 atmel,pins = 345 atmel,pins =
335 <1 0 0x1 0x0 /* PB0 periph A */ 346 <AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB0 periph A */
336 1 1 0x1 0x0 /* PB1 periph A */ 347 AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB1 periph A */
337 1 2 0x1 0x0>; /* PB2 periph A */ 348 AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB2 periph A */
338 }; 349 };
339 350
340 pinctrl_ssc0_rx: ssc0_rx-0 { 351 pinctrl_ssc0_rx: ssc0_rx-0 {
341 atmel,pins = 352 atmel,pins =
342 <1 3 0x1 0x0 /* PB3 periph A */ 353 <AT91_PIOB 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB3 periph A */
343 1 4 0x1 0x0 /* PB4 periph A */ 354 AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB4 periph A */
344 1 5 0x1 0x0>; /* PB5 periph A */ 355 AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB5 periph A */
345 }; 356 };
346 }; 357 };
347 358
348 ssc1 { 359 ssc1 {
349 pinctrl_ssc1_tx: ssc1_tx-0 { 360 pinctrl_ssc1_tx: ssc1_tx-0 {
350 atmel,pins = 361 atmel,pins =
351 <1 6 0x1 0x0 /* PB6 periph A */ 362 <AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB6 periph A */
352 1 7 0x1 0x0 /* PB7 periph A */ 363 AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB7 periph A */
353 1 8 0x1 0x0>; /* PB8 periph A */ 364 AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB8 periph A */
354 }; 365 };
355 366
356 pinctrl_ssc1_rx: ssc1_rx-0 { 367 pinctrl_ssc1_rx: ssc1_rx-0 {
357 atmel,pins = 368 atmel,pins =
358 <1 9 0x1 0x0 /* PB9 periph A */ 369 <AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB9 periph A */
359 1 10 0x1 0x0 /* PB10 periph A */ 370 AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB10 periph A */
360 1 11 0x1 0x0>; /* PB11 periph A */ 371 AT91_PIOB 11 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB11 periph A */
361 }; 372 };
362 }; 373 };
363 374
364 ssc2 { 375 ssc2 {
365 pinctrl_ssc2_tx: ssc2_tx-0 { 376 pinctrl_ssc2_tx: ssc2_tx-0 {
366 atmel,pins = 377 atmel,pins =
367 <1 12 0x1 0x0 /* PB12 periph A */ 378 <AT91_PIOB 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB12 periph A */
368 1 13 0x1 0x0 /* PB13 periph A */ 379 AT91_PIOB 13 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB13 periph A */
369 1 14 0x1 0x0>; /* PB14 periph A */ 380 AT91_PIOB 14 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB14 periph A */
370 }; 381 };
371 382
372 pinctrl_ssc2_rx: ssc2_rx-0 { 383 pinctrl_ssc2_rx: ssc2_rx-0 {
373 atmel,pins = 384 atmel,pins =
374 <1 15 0x1 0x0 /* PB15 periph A */ 385 <AT91_PIOB 15 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB15 periph A */
375 1 16 0x1 0x0 /* PB16 periph A */ 386 AT91_PIOB 16 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB16 periph A */
376 1 17 0x1 0x0>; /* PB17 periph A */ 387 AT91_PIOB 17 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB17 periph A */
377 }; 388 };
378 }; 389 };
379 390
380 twi { 391 twi {
381 pinctrl_twi: twi-0 { 392 pinctrl_twi: twi-0 {
382 atmel,pins = 393 atmel,pins =
383 <0 25 0x1 0x2 /* PA25 periph A with multi drive */ 394 <AT91_PIOA 25 AT91_PERIPH_A AT91_PINCTRL_MULTI_DRIVE /* PA25 periph A with multi drive */
384 0 26 0x1 0x2>; /* PA26 periph A with multi drive */ 395 AT91_PIOA 26 AT91_PERIPH_A AT91_PINCTRL_MULTI_DRIVE>; /* PA26 periph A with multi drive */
385 }; 396 };
386 397
387 pinctrl_twi_gpio: twi_gpio-0 { 398 pinctrl_twi_gpio: twi_gpio-0 {
388 atmel,pins = 399 atmel,pins =
389 <0 25 0x0 0x2 /* PA25 GPIO with multi drive */ 400 <AT91_PIOA 25 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE /* PA25 GPIO with multi drive */
390 0 26 0x0 0x2>; /* PA26 GPIO with multi drive */ 401 AT91_PIOA 26 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE>; /* PA26 GPIO with multi drive */
402 };
403 };
404
405 tcb0 {
406 pinctrl_tcb0_tclk0: tcb0_tclk0-0 {
407 atmel,pins = <AT91_PIOA 13 AT91_PERIPH_B AT91_PINCTRL_NONE>;
408 };
409
410 pinctrl_tcb0_tclk1: tcb0_tclk1-0 {
411 atmel,pins = <AT91_PIOA 14 AT91_PERIPH_B AT91_PINCTRL_NONE>;
412 };
413
414 pinctrl_tcb0_tclk2: tcb0_tclk2-0 {
415 atmel,pins = <AT91_PIOA 15 AT91_PERIPH_B AT91_PINCTRL_NONE>;
416 };
417
418 pinctrl_tcb0_tioa0: tcb0_tioa0-0 {
419 atmel,pins = <AT91_PIOA 17 AT91_PERIPH_B AT91_PINCTRL_NONE>;
420 };
421
422 pinctrl_tcb0_tioa1: tcb0_tioa1-0 {
423 atmel,pins = <AT91_PIOA 19 AT91_PERIPH_B AT91_PINCTRL_NONE>;
424 };
425
426 pinctrl_tcb0_tioa2: tcb0_tioa2-0 {
427 atmel,pins = <AT91_PIOA 21 AT91_PERIPH_B AT91_PINCTRL_NONE>;
428 };
429
430 pinctrl_tcb0_tiob0: tcb0_tiob0-0 {
431 atmel,pins = <AT91_PIOA 18 AT91_PERIPH_B AT91_PINCTRL_NONE>;
432 };
433
434 pinctrl_tcb0_tiob1: tcb0_tiob1-0 {
435 atmel,pins = <AT91_PIOA 20 AT91_PERIPH_B AT91_PINCTRL_NONE>;
436 };
437
438 pinctrl_tcb0_tiob2: tcb0_tiob2-0 {
439 atmel,pins = <AT91_PIOA 22 AT91_PERIPH_B AT91_PINCTRL_NONE>;
440 };
441 };
442
443 tcb1 {
444 pinctrl_tcb1_tclk0: tcb1_tclk0-0 {
445 atmel,pins = <AT91_PIOA 27 AT91_PERIPH_B AT91_PINCTRL_NONE>;
446 };
447
448 pinctrl_tcb1_tclk1: tcb1_tclk1-0 {
449 atmel,pins = <AT91_PIOA 28 AT91_PERIPH_B AT91_PINCTRL_NONE>;
450 };
451
452 pinctrl_tcb1_tclk2: tcb1_tclk2-0 {
453 atmel,pins = <AT91_PIOA 29 AT91_PERIPH_B AT91_PINCTRL_NONE>;
454 };
455
456 pinctrl_tcb1_tioa0: tcb1_tioa0-0 {
457 atmel,pins = <AT91_PIOB 6 AT91_PERIPH_B AT91_PINCTRL_NONE>;
458 };
459
460 pinctrl_tcb1_tioa1: tcb1_tioa1-0 {
461 atmel,pins = <AT91_PIOB 8 AT91_PERIPH_B AT91_PINCTRL_NONE>;
462 };
463
464 pinctrl_tcb1_tioa2: tcb1_tioa2-0 {
465 atmel,pins = <AT91_PIOB 10 AT91_PERIPH_B AT91_PINCTRL_NONE>;
466 };
467
468 pinctrl_tcb1_tiob0: tcb1_tiob0-0 {
469 atmel,pins = <AT91_PIOB 7 AT91_PERIPH_B AT91_PINCTRL_NONE>;
470 };
471
472 pinctrl_tcb1_tiob1: tcb1_tiob1-0 {
473 atmel,pins = <AT91_PIOB 9 AT91_PERIPH_B AT91_PINCTRL_NONE>;
474 };
475
476 pinctrl_tcb1_tiob2: tcb1_tiob2-0 {
477 atmel,pins = <AT91_PIOB 11 AT91_PERIPH_B AT91_PINCTRL_NONE>;
391 }; 478 };
392 }; 479 };
393 480
394 pioA: gpio@fffff400 { 481 pioA: gpio@fffff400 {
395 compatible = "atmel,at91rm9200-gpio"; 482 compatible = "atmel,at91rm9200-gpio";
396 reg = <0xfffff400 0x200>; 483 reg = <0xfffff400 0x200>;
397 interrupts = <2 4 1>; 484 interrupts = <2 IRQ_TYPE_LEVEL_HIGH 1>;
398 #gpio-cells = <2>; 485 #gpio-cells = <2>;
399 gpio-controller; 486 gpio-controller;
400 interrupt-controller; 487 interrupt-controller;
@@ -404,7 +491,7 @@
404 pioB: gpio@fffff600 { 491 pioB: gpio@fffff600 {
405 compatible = "atmel,at91rm9200-gpio"; 492 compatible = "atmel,at91rm9200-gpio";
406 reg = <0xfffff600 0x200>; 493 reg = <0xfffff600 0x200>;
407 interrupts = <3 4 1>; 494 interrupts = <3 IRQ_TYPE_LEVEL_HIGH 1>;
408 #gpio-cells = <2>; 495 #gpio-cells = <2>;
409 gpio-controller; 496 gpio-controller;
410 interrupt-controller; 497 interrupt-controller;
@@ -414,7 +501,7 @@
414 pioC: gpio@fffff800 { 501 pioC: gpio@fffff800 {
415 compatible = "atmel,at91rm9200-gpio"; 502 compatible = "atmel,at91rm9200-gpio";
416 reg = <0xfffff800 0x200>; 503 reg = <0xfffff800 0x200>;
417 interrupts = <4 4 1>; 504 interrupts = <4 IRQ_TYPE_LEVEL_HIGH 1>;
418 #gpio-cells = <2>; 505 #gpio-cells = <2>;
419 gpio-controller; 506 gpio-controller;
420 interrupt-controller; 507 interrupt-controller;
@@ -424,7 +511,7 @@
424 pioD: gpio@fffffa00 { 511 pioD: gpio@fffffa00 {
425 compatible = "atmel,at91rm9200-gpio"; 512 compatible = "atmel,at91rm9200-gpio";
426 reg = <0xfffffa00 0x200>; 513 reg = <0xfffffa00 0x200>;
427 interrupts = <5 4 1>; 514 interrupts = <5 IRQ_TYPE_LEVEL_HIGH 1>;
428 #gpio-cells = <2>; 515 #gpio-cells = <2>;
429 gpio-controller; 516 gpio-controller;
430 interrupt-controller; 517 interrupt-controller;
@@ -435,7 +522,7 @@
435 dbgu: serial@fffff200 { 522 dbgu: serial@fffff200 {
436 compatible = "atmel,at91rm9200-usart"; 523 compatible = "atmel,at91rm9200-usart";
437 reg = <0xfffff200 0x200>; 524 reg = <0xfffff200 0x200>;
438 interrupts = <1 4 7>; 525 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
439 pinctrl-names = "default"; 526 pinctrl-names = "default";
440 pinctrl-0 = <&pinctrl_dbgu>; 527 pinctrl-0 = <&pinctrl_dbgu>;
441 status = "disabled"; 528 status = "disabled";
@@ -444,7 +531,7 @@
444 usart0: serial@fffc0000 { 531 usart0: serial@fffc0000 {
445 compatible = "atmel,at91rm9200-usart"; 532 compatible = "atmel,at91rm9200-usart";
446 reg = <0xfffc0000 0x200>; 533 reg = <0xfffc0000 0x200>;
447 interrupts = <6 4 5>; 534 interrupts = <6 IRQ_TYPE_LEVEL_HIGH 5>;
448 atmel,use-dma-rx; 535 atmel,use-dma-rx;
449 atmel,use-dma-tx; 536 atmel,use-dma-tx;
450 pinctrl-names = "default"; 537 pinctrl-names = "default";
@@ -455,7 +542,7 @@
455 usart1: serial@fffc4000 { 542 usart1: serial@fffc4000 {
456 compatible = "atmel,at91rm9200-usart"; 543 compatible = "atmel,at91rm9200-usart";
457 reg = <0xfffc4000 0x200>; 544 reg = <0xfffc4000 0x200>;
458 interrupts = <7 4 5>; 545 interrupts = <7 IRQ_TYPE_LEVEL_HIGH 5>;
459 atmel,use-dma-rx; 546 atmel,use-dma-rx;
460 atmel,use-dma-tx; 547 atmel,use-dma-tx;
461 pinctrl-names = "default"; 548 pinctrl-names = "default";
@@ -466,7 +553,7 @@
466 usart2: serial@fffc8000 { 553 usart2: serial@fffc8000 {
467 compatible = "atmel,at91rm9200-usart"; 554 compatible = "atmel,at91rm9200-usart";
468 reg = <0xfffc8000 0x200>; 555 reg = <0xfffc8000 0x200>;
469 interrupts = <8 4 5>; 556 interrupts = <8 IRQ_TYPE_LEVEL_HIGH 5>;
470 atmel,use-dma-rx; 557 atmel,use-dma-rx;
471 atmel,use-dma-tx; 558 atmel,use-dma-tx;
472 pinctrl-names = "default"; 559 pinctrl-names = "default";
@@ -477,7 +564,7 @@
477 usart3: serial@fffcc000 { 564 usart3: serial@fffcc000 {
478 compatible = "atmel,at91rm9200-usart"; 565 compatible = "atmel,at91rm9200-usart";
479 reg = <0xfffcc000 0x200>; 566 reg = <0xfffcc000 0x200>;
480 interrupts = <23 4 5>; 567 interrupts = <23 IRQ_TYPE_LEVEL_HIGH 5>;
481 atmel,use-dma-rx; 568 atmel,use-dma-rx;
482 atmel,use-dma-tx; 569 atmel,use-dma-tx;
483 pinctrl-names = "default"; 570 pinctrl-names = "default";
@@ -488,7 +575,7 @@
488 usb1: gadget@fffb0000 { 575 usb1: gadget@fffb0000 {
489 compatible = "atmel,at91rm9200-udc"; 576 compatible = "atmel,at91rm9200-udc";
490 reg = <0xfffb0000 0x4000>; 577 reg = <0xfffb0000 0x4000>;
491 interrupts = <11 4 2>; 578 interrupts = <11 IRQ_TYPE_LEVEL_HIGH 2>;
492 status = "disabled"; 579 status = "disabled";
493 }; 580 };
494 }; 581 };
@@ -503,9 +590,9 @@
503 pinctrl-names = "default"; 590 pinctrl-names = "default";
504 pinctrl-0 = <&pinctrl_nand>; 591 pinctrl-0 = <&pinctrl_nand>;
505 nand-ecc-mode = "soft"; 592 nand-ecc-mode = "soft";
506 gpios = <&pioC 2 0 593 gpios = <&pioC 2 GPIO_ACTIVE_HIGH
507 0 594 0
508 &pioB 1 0 595 &pioB 1 GPIO_ACTIVE_HIGH
509 >; 596 >;
510 status = "disabled"; 597 status = "disabled";
511 }; 598 };
@@ -513,15 +600,15 @@
513 usb0: ohci@00300000 { 600 usb0: ohci@00300000 {
514 compatible = "atmel,at91rm9200-ohci", "usb-ohci"; 601 compatible = "atmel,at91rm9200-ohci", "usb-ohci";
515 reg = <0x00300000 0x100000>; 602 reg = <0x00300000 0x100000>;
516 interrupts = <23 4 2>; 603 interrupts = <23 IRQ_TYPE_LEVEL_HIGH 2>;
517 status = "disabled"; 604 status = "disabled";
518 }; 605 };
519 }; 606 };
520 607
521 i2c@0 { 608 i2c@0 {
522 compatible = "i2c-gpio"; 609 compatible = "i2c-gpio";
523 gpios = <&pioA 25 0 /* sda */ 610 gpios = <&pioA 25 GPIO_ACTIVE_HIGH /* sda */
524 &pioA 26 0 /* scl */ 611 &pioA 26 GPIO_ACTIVE_HIGH /* scl */
525 >; 612 >;
526 i2c-gpio,sda-open-drain; 613 i2c-gpio,sda-open-drain;
527 i2c-gpio,scl-open-drain; 614 i2c-gpio,scl-open-drain;
diff --git a/arch/arm/boot/dts/at91rm9200ek.dts b/arch/arm/boot/dts/at91rm9200ek.dts
index e586d85f8e23..14058125d123 100644
--- a/arch/arm/boot/dts/at91rm9200ek.dts
+++ b/arch/arm/boot/dts/at91rm9200ek.dts
@@ -6,7 +6,7 @@
6 * Licensed under GPLv2 only 6 * Licensed under GPLv2 only
7 */ 7 */
8/dts-v1/; 8/dts-v1/;
9/include/ "at91rm9200.dtsi" 9#include "at91rm9200.dtsi"
10 10
11/ { 11/ {
12 model = "Atmel AT91RM9200 evaluation kit"; 12 model = "Atmel AT91RM9200 evaluation kit";
@@ -50,7 +50,7 @@
50 }; 50 };
51 51
52 usb1: gadget@fffb0000 { 52 usb1: gadget@fffb0000 {
53 atmel,vbus-gpio = <&pioD 4 0>; 53 atmel,vbus-gpio = <&pioD 4 GPIO_ACTIVE_HIGH>;
54 status = "okay"; 54 status = "okay";
55 }; 55 };
56 }; 56 };
@@ -66,19 +66,19 @@
66 66
67 ds2 { 67 ds2 {
68 label = "green"; 68 label = "green";
69 gpios = <&pioB 0 0x1>; 69 gpios = <&pioB 0 GPIO_ACTIVE_LOW>;
70 linux,default-trigger = "mmc0"; 70 linux,default-trigger = "mmc0";
71 }; 71 };
72 72
73 ds4 { 73 ds4 {
74 label = "yellow"; 74 label = "yellow";
75 gpios = <&pioB 1 0x1>; 75 gpios = <&pioB 1 GPIO_ACTIVE_LOW>;
76 linux,default-trigger = "heartbeat"; 76 linux,default-trigger = "heartbeat";
77 }; 77 };
78 78
79 ds6 { 79 ds6 {
80 label = "red"; 80 label = "red";
81 gpios = <&pioB 2 0x1>; 81 gpios = <&pioB 2 GPIO_ACTIVE_LOW>;
82 }; 82 };
83 }; 83 };
84}; 84};
diff --git a/arch/arm/boot/dts/at91sam9260.dtsi b/arch/arm/boot/dts/at91sam9260.dtsi
index 84c4bef2d726..c7ccbcbffb3e 100644
--- a/arch/arm/boot/dts/at91sam9260.dtsi
+++ b/arch/arm/boot/dts/at91sam9260.dtsi
@@ -8,7 +8,10 @@
8 * Licensed under GPLv2 or later. 8 * Licensed under GPLv2 or later.
9 */ 9 */
10 10
11/include/ "skeleton.dtsi" 11#include "skeleton.dtsi"
12#include <dt-bindings/pinctrl/at91.h>
13#include <dt-bindings/interrupt-controller/irq.h>
14#include <dt-bindings/gpio/gpio.h>
12 15
13/ { 16/ {
14 model = "Atmel AT91SAM9260 family SoC"; 17 model = "Atmel AT91SAM9260 family SoC";
@@ -32,8 +35,12 @@
32 ssc0 = &ssc0; 35 ssc0 = &ssc0;
33 }; 36 };
34 cpus { 37 cpus {
35 cpu@0 { 38 #address-cells = <0>;
36 compatible = "arm,arm926ejs"; 39 #size-cells = <0>;
40
41 cpu {
42 compatible = "arm,arm926ej-s";
43 device_type = "cpu";
37 }; 44 };
38 }; 45 };
39 46
@@ -84,19 +91,23 @@
84 pit: timer@fffffd30 { 91 pit: timer@fffffd30 {
85 compatible = "atmel,at91sam9260-pit"; 92 compatible = "atmel,at91sam9260-pit";
86 reg = <0xfffffd30 0xf>; 93 reg = <0xfffffd30 0xf>;
87 interrupts = <1 4 7>; 94 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
88 }; 95 };
89 96
90 tcb0: timer@fffa0000 { 97 tcb0: timer@fffa0000 {
91 compatible = "atmel,at91rm9200-tcb"; 98 compatible = "atmel,at91rm9200-tcb";
92 reg = <0xfffa0000 0x100>; 99 reg = <0xfffa0000 0x100>;
93 interrupts = <17 4 0 18 4 0 19 4 0>; 100 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0
101 18 IRQ_TYPE_LEVEL_HIGH 0
102 19 IRQ_TYPE_LEVEL_HIGH 0>;
94 }; 103 };
95 104
96 tcb1: timer@fffdc000 { 105 tcb1: timer@fffdc000 {
97 compatible = "atmel,at91rm9200-tcb"; 106 compatible = "atmel,at91rm9200-tcb";
98 reg = <0xfffdc000 0x100>; 107 reg = <0xfffdc000 0x100>;
99 interrupts = <26 4 0 27 4 0 28 4 0>; 108 interrupts = <26 IRQ_TYPE_LEVEL_HIGH 0
109 27 IRQ_TYPE_LEVEL_HIGH 0
110 28 IRQ_TYPE_LEVEL_HIGH 0>;
100 }; 111 };
101 112
102 pinctrl@fffff400 { 113 pinctrl@fffff400 {
@@ -116,234 +127,318 @@
116 dbgu { 127 dbgu {
117 pinctrl_dbgu: dbgu-0 { 128 pinctrl_dbgu: dbgu-0 {
118 atmel,pins = 129 atmel,pins =
119 <1 14 0x1 0x0 /* PB14 periph A */ 130 <AT91_PIOB 14 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB14 periph A */
120 1 15 0x1 0x1>; /* PB15 periph with pullup */ 131 AT91_PIOB 15 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PB15 periph with pullup */
121 }; 132 };
122 }; 133 };
123 134
124 usart0 { 135 usart0 {
125 pinctrl_usart0: usart0-0 { 136 pinctrl_usart0: usart0-0 {
126 atmel,pins = 137 atmel,pins =
127 <1 4 0x1 0x0 /* PB4 periph A */ 138 <AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB4 periph A */
128 1 5 0x1 0x0>; /* PB5 periph A */ 139 AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB5 periph A */
129 }; 140 };
130 141
131 pinctrl_usart0_rts: usart0_rts-0 { 142 pinctrl_usart0_rts: usart0_rts-0 {
132 atmel,pins = 143 atmel,pins =
133 <1 26 0x1 0x0>; /* PB26 periph A */ 144 <AT91_PIOB 26 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB26 periph A */
134 }; 145 };
135 146
136 pinctrl_usart0_cts: usart0_cts-0 { 147 pinctrl_usart0_cts: usart0_cts-0 {
137 atmel,pins = 148 atmel,pins =
138 <1 27 0x1 0x0>; /* PB27 periph A */ 149 <AT91_PIOB 27 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB27 periph A */
139 }; 150 };
140 151
141 pinctrl_usart0_dtr_dsr: usart0_dtr_dsr-0 { 152 pinctrl_usart0_dtr_dsr: usart0_dtr_dsr-0 {
142 atmel,pins = 153 atmel,pins =
143 <1 24 0x1 0x0 /* PB24 periph A */ 154 <AT91_PIOB 24 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB24 periph A */
144 1 22 0x1 0x0>; /* PB22 periph A */ 155 AT91_PIOB 22 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB22 periph A */
145 }; 156 };
146 157
147 pinctrl_usart0_dcd: usart0_dcd-0 { 158 pinctrl_usart0_dcd: usart0_dcd-0 {
148 atmel,pins = 159 atmel,pins =
149 <1 23 0x1 0x0>; /* PB23 periph A */ 160 <AT91_PIOB 23 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB23 periph A */
150 }; 161 };
151 162
152 pinctrl_usart0_ri: usart0_ri-0 { 163 pinctrl_usart0_ri: usart0_ri-0 {
153 atmel,pins = 164 atmel,pins =
154 <1 25 0x1 0x0>; /* PB25 periph A */ 165 <AT91_PIOB 25 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB25 periph A */
155 }; 166 };
156 }; 167 };
157 168
158 usart1 { 169 usart1 {
159 pinctrl_usart1: usart1-0 { 170 pinctrl_usart1: usart1-0 {
160 atmel,pins = 171 atmel,pins =
161 <1 6 0x1 0x1 /* PB6 periph A with pullup */ 172 <AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PB6 periph A with pullup */
162 1 7 0x1 0x0>; /* PB7 periph A */ 173 AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB7 periph A */
163 }; 174 };
164 175
165 pinctrl_usart1_rts: usart1_rts-0 { 176 pinctrl_usart1_rts: usart1_rts-0 {
166 atmel,pins = 177 atmel,pins =
167 <1 28 0x1 0x0>; /* PB28 periph A */ 178 <AT91_PIOB 28 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB28 periph A */
168 }; 179 };
169 180
170 pinctrl_usart1_cts: usart1_cts-0 { 181 pinctrl_usart1_cts: usart1_cts-0 {
171 atmel,pins = 182 atmel,pins =
172 <1 29 0x1 0x0>; /* PB29 periph A */ 183 <AT91_PIOB 29 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB29 periph A */
173 }; 184 };
174 }; 185 };
175 186
176 usart2 { 187 usart2 {
177 pinctrl_usart2: usart2-0 { 188 pinctrl_usart2: usart2-0 {
178 atmel,pins = 189 atmel,pins =
179 <1 8 0x1 0x1 /* PB8 periph A with pullup */ 190 <AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PB8 periph A with pullup */
180 1 9 0x1 0x0>; /* PB9 periph A */ 191 AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB9 periph A */
181 }; 192 };
182 193
183 pinctrl_usart2_rts: usart2_rts-0 { 194 pinctrl_usart2_rts: usart2_rts-0 {
184 atmel,pins = 195 atmel,pins =
185 <0 4 0x1 0x0>; /* PA4 periph A */ 196 <AT91_PIOA 4 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA4 periph A */
186 }; 197 };
187 198
188 pinctrl_usart2_cts: usart2_cts-0 { 199 pinctrl_usart2_cts: usart2_cts-0 {
189 atmel,pins = 200 atmel,pins =
190 <0 5 0x1 0x0>; /* PA5 periph A */ 201 <AT91_PIOA 5 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA5 periph A */
191 }; 202 };
192 }; 203 };
193 204
194 usart3 { 205 usart3 {
195 pinctrl_usart3: usart3-0 { 206 pinctrl_usart3: usart3-0 {
196 atmel,pins = 207 atmel,pins =
197 <1 10 0x1 0x1 /* PB10 periph A with pullup */ 208 <AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PB10 periph A with pullup */
198 1 11 0x1 0x0>; /* PB11 periph A */ 209 AT91_PIOB 11 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB11 periph A */
199 }; 210 };
200 211
201 pinctrl_usart3_rts: usart3_rts-0 { 212 pinctrl_usart3_rts: usart3_rts-0 {
202 atmel,pins = 213 atmel,pins =
203 <2 8 0x2 0x0>; /* PC8 periph B */ 214 <AT91_PIOB 8 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC8 periph B */
204 }; 215 };
205 216
206 pinctrl_usart3_cts: usart3_cts-0 { 217 pinctrl_usart3_cts: usart3_cts-0 {
207 atmel,pins = 218 atmel,pins =
208 <2 10 0x2 0x0>; /* PC10 periph B */ 219 <AT91_PIOB 10 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC10 periph B */
209 }; 220 };
210 }; 221 };
211 222
212 uart0 { 223 uart0 {
213 pinctrl_uart0: uart0-0 { 224 pinctrl_uart0: uart0-0 {
214 atmel,pins = 225 atmel,pins =
215 <0 31 0x2 0x1 /* PA31 periph B with pullup */ 226 <AT91_PIOA 31 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PA31 periph B with pullup */
216 0 30 0x2 0x0>; /* PA30 periph B */ 227 AT91_PIOA 30 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PA30 periph B */
217 }; 228 };
218 }; 229 };
219 230
220 uart1 { 231 uart1 {
221 pinctrl_uart1: uart1-0 { 232 pinctrl_uart1: uart1-0 {
222 atmel,pins = 233 atmel,pins =
223 <1 12 0x1 0x1 /* PB12 periph A with pullup */ 234 <AT91_PIOB 12 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PB12 periph A with pullup */
224 1 13 0x1 0x0>; /* PB13 periph A */ 235 AT91_PIOB 13 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB13 periph A */
225 }; 236 };
226 }; 237 };
227 238
228 nand { 239 nand {
229 pinctrl_nand: nand-0 { 240 pinctrl_nand: nand-0 {
230 atmel,pins = 241 atmel,pins =
231 <2 13 0x0 0x1 /* PC13 gpio RDY pin pull_up */ 242 <AT91_PIOC 13 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP /* PC13 gpio RDY pin pull_up */
232 2 14 0x0 0x1>; /* PC14 gpio enable pin pull_up */ 243 AT91_PIOC 14 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>; /* PC14 gpio enable pin pull_up */
233 }; 244 };
234 }; 245 };
235 246
236 macb { 247 macb {
237 pinctrl_macb_rmii: macb_rmii-0 { 248 pinctrl_macb_rmii: macb_rmii-0 {
238 atmel,pins = 249 atmel,pins =
239 <0 12 0x1 0x0 /* PA12 periph A */ 250 <AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA12 periph A */
240 0 13 0x1 0x0 /* PA13 periph A */ 251 AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA13 periph A */
241 0 14 0x1 0x0 /* PA14 periph A */ 252 AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA14 periph A */
242 0 15 0x1 0x0 /* PA15 periph A */ 253 AT91_PIOA 15 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA15 periph A */
243 0 16 0x1 0x0 /* PA16 periph A */ 254 AT91_PIOA 16 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA16 periph A */
244 0 17 0x1 0x0 /* PA17 periph A */ 255 AT91_PIOA 17 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA17 periph A */
245 0 18 0x1 0x0 /* PA18 periph A */ 256 AT91_PIOA 18 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA18 periph A */
246 0 19 0x1 0x0 /* PA19 periph A */ 257 AT91_PIOA 19 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA19 periph A */
247 0 20 0x1 0x0 /* PA20 periph A */ 258 AT91_PIOA 20 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA20 periph A */
248 0 21 0x1 0x0>; /* PA21 periph A */ 259 AT91_PIOA 21 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA21 periph A */
249 }; 260 };
250 261
251 pinctrl_macb_rmii_mii: macb_rmii_mii-0 { 262 pinctrl_macb_rmii_mii: macb_rmii_mii-0 {
252 atmel,pins = 263 atmel,pins =
253 <0 22 0x2 0x0 /* PA22 periph B */ 264 <AT91_PIOA 22 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA22 periph B */
254 0 23 0x2 0x0 /* PA23 periph B */ 265 AT91_PIOA 23 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA23 periph B */
255 0 24 0x2 0x0 /* PA24 periph B */ 266 AT91_PIOA 24 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA24 periph B */
256 0 25 0x2 0x0 /* PA25 periph B */ 267 AT91_PIOA 25 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA25 periph B */
257 0 26 0x2 0x0 /* PA26 periph B */ 268 AT91_PIOA 26 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA26 periph B */
258 0 27 0x2 0x0 /* PA27 periph B */ 269 AT91_PIOA 27 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA27 periph B */
259 0 28 0x2 0x0 /* PA28 periph B */ 270 AT91_PIOA 28 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA28 periph B */
260 0 29 0x2 0x0>; /* PA29 periph B */ 271 AT91_PIOA 29 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PA29 periph B */
261 }; 272 };
262 273
263 pinctrl_macb_rmii_mii_alt: macb_rmii_mii-1 { 274 pinctrl_macb_rmii_mii_alt: macb_rmii_mii-1 {
264 atmel,pins = 275 atmel,pins =
265 <0 10 0x2 0x0 /* PA10 periph B */ 276 <AT91_PIOA 10 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA10 periph B */
266 0 11 0x2 0x0 /* PA11 periph B */ 277 AT91_PIOA 11 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA11 periph B */
267 0 22 0x2 0x0 /* PA22 periph B */ 278 AT91_PIOA 22 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA22 periph B */
268 0 25 0x2 0x0 /* PA25 periph B */ 279 AT91_PIOA 25 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA25 periph B */
269 0 26 0x2 0x0 /* PA26 periph B */ 280 AT91_PIOA 26 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA26 periph B */
270 0 27 0x2 0x0 /* PA27 periph B */ 281 AT91_PIOA 27 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA27 periph B */
271 0 28 0x2 0x0 /* PA28 periph B */ 282 AT91_PIOA 28 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA28 periph B */
272 0 29 0x2 0x0>; /* PA29 periph B */ 283 AT91_PIOA 29 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PA29 periph B */
273 }; 284 };
274 }; 285 };
275 286
276 mmc0 { 287 mmc0 {
277 pinctrl_mmc0_clk: mmc0_clk-0 { 288 pinctrl_mmc0_clk: mmc0_clk-0 {
278 atmel,pins = 289 atmel,pins =
279 <0 8 0x1 0x0>; /* PA8 periph A */ 290 <AT91_PIOA 8 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA8 periph A */
280 }; 291 };
281 292
282 pinctrl_mmc0_slot0_cmd_dat0: mmc0_slot0_cmd_dat0-0 { 293 pinctrl_mmc0_slot0_cmd_dat0: mmc0_slot0_cmd_dat0-0 {
283 atmel,pins = 294 atmel,pins =
284 <0 7 0x1 0x1 /* PA7 periph A with pullup */ 295 <AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA7 periph A with pullup */
285 0 6 0x1 0x1>; /* PA6 periph A with pullup */ 296 AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PA6 periph A with pullup */
286 }; 297 };
287 298
288 pinctrl_mmc0_slot0_dat1_3: mmc0_slot0_dat1_3-0 { 299 pinctrl_mmc0_slot0_dat1_3: mmc0_slot0_dat1_3-0 {
289 atmel,pins = 300 atmel,pins =
290 <0 9 0x1 0x1 /* PA9 periph A with pullup */ 301 <AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA9 periph A with pullup */
291 0 10 0x1 0x1 /* PA10 periph A with pullup */ 302 AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA10 periph A with pullup */
292 0 11 0x1 0x1>; /* PA11 periph A with pullup */ 303 AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PA11 periph A with pullup */
293 }; 304 };
294 305
295 pinctrl_mmc0_slot1_cmd_dat0: mmc0_slot1_cmd_dat0-0 { 306 pinctrl_mmc0_slot1_cmd_dat0: mmc0_slot1_cmd_dat0-0 {
296 atmel,pins = 307 atmel,pins =
297 <0 1 0x2 0x1 /* PA1 periph B with pullup */ 308 <AT91_PIOA 1 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PA1 periph B with pullup */
298 0 0 0x2 0x1>; /* PA0 periph B with pullup */ 309 AT91_PIOA 0 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; /* PA0 periph B with pullup */
299 }; 310 };
300 311
301 pinctrl_mmc0_slot1_dat1_3: mmc0_slot1_dat1_3-0 { 312 pinctrl_mmc0_slot1_dat1_3: mmc0_slot1_dat1_3-0 {
302 atmel,pins = 313 atmel,pins =
303 <0 5 0x2 0x1 /* PA5 periph B with pullup */ 314 <AT91_PIOA 5 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PA5 periph B with pullup */
304 0 4 0x2 0x1 /* PA4 periph B with pullup */ 315 AT91_PIOA 4 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PA4 periph B with pullup */
305 0 3 0x2 0x1>; /* PA3 periph B with pullup */ 316 AT91_PIOA 3 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; /* PA3 periph B with pullup */
306 }; 317 };
307 }; 318 };
308 319
309 ssc0 { 320 ssc0 {
310 pinctrl_ssc0_tx: ssc0_tx-0 { 321 pinctrl_ssc0_tx: ssc0_tx-0 {
311 atmel,pins = 322 atmel,pins =
312 <1 16 0x1 0x0 /* PB16 periph A */ 323 <AT91_PIOB 16 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB16 periph A */
313 1 17 0x1 0x0 /* PB17 periph A */ 324 AT91_PIOB 17 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB17 periph A */
314 1 18 0x1 0x0>; /* PB18 periph A */ 325 AT91_PIOB 18 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB18 periph A */
315 }; 326 };
316 327
317 pinctrl_ssc0_rx: ssc0_rx-0 { 328 pinctrl_ssc0_rx: ssc0_rx-0 {
318 atmel,pins = 329 atmel,pins =
319 <1 19 0x1 0x0 /* PB19 periph A */ 330 <AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB19 periph A */
320 1 20 0x1 0x0 /* PB20 periph A */ 331 AT91_PIOB 20 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB20 periph A */
321 1 21 0x1 0x0>; /* PB21 periph A */ 332 AT91_PIOB 21 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB21 periph A */
322 }; 333 };
323 }; 334 };
324 335
325 spi0 { 336 spi0 {
326 pinctrl_spi0: spi0-0 { 337 pinctrl_spi0: spi0-0 {
327 atmel,pins = 338 atmel,pins =
328 <0 0 0x1 0x0 /* PA0 periph A SPI0_MISO pin */ 339 <AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA0 periph A SPI0_MISO pin */
329 0 1 0x1 0x0 /* PA1 periph A SPI0_MOSI pin */ 340 AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA1 periph A SPI0_MOSI pin */
330 0 2 0x1 0x0>; /* PA2 periph A SPI0_SPCK pin */ 341 AT91_PIOA 2 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA2 periph A SPI0_SPCK pin */
331 }; 342 };
332 }; 343 };
333 344
334 spi1 { 345 spi1 {
335 pinctrl_spi1: spi1-0 { 346 pinctrl_spi1: spi1-0 {
336 atmel,pins = 347 atmel,pins =
337 <1 0 0x1 0x0 /* PB0 periph A SPI1_MISO pin */ 348 <AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB0 periph A SPI1_MISO pin */
338 1 1 0x1 0x0 /* PB1 periph A SPI1_MOSI pin */ 349 AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB1 periph A SPI1_MOSI pin */
339 1 2 0x1 0x0>; /* PB2 periph A SPI1_SPCK pin */ 350 AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB2 periph A SPI1_SPCK pin */
351 };
352 };
353
354 i2c_gpio0 {
355 pinctrl_i2c_gpio0: i2c_gpio0-0 {
356 atmel,pins =
357 <AT91_PIOA 23 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE
358 AT91_PIOA 24 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE>;
359 };
360 };
361
362 tcb0 {
363 pinctrl_tcb0_tclk0: tcb0_tclk0-0 {
364 atmel,pins = <AT91_PIOA 25 AT91_PERIPH_A AT91_PINCTRL_NONE>;
365 };
366
367 pinctrl_tcb0_tclk1: tcb0_tclk1-0 {
368 atmel,pins = <AT91_PIOB 6 AT91_PERIPH_B AT91_PINCTRL_NONE>;
369 };
370
371 pinctrl_tcb0_tclk2: tcb0_tclk2-0 {
372 atmel,pins = <AT91_PIOB 7 AT91_PERIPH_B AT91_PINCTRL_NONE>;
373 };
374
375 pinctrl_tcb0_tioa0: tcb0_tioa0-0 {
376 atmel,pins = <AT91_PIOA 26 AT91_PERIPH_A AT91_PINCTRL_NONE>;
377 };
378
379 pinctrl_tcb0_tioa1: tcb0_tioa1-0 {
380 atmel,pins = <AT91_PIOA 27 AT91_PERIPH_A AT91_PINCTRL_NONE>;
381 };
382
383 pinctrl_tcb0_tioa2: tcb0_tioa2-0 {
384 atmel,pins = <AT91_PIOA 28 AT91_PERIPH_A AT91_PINCTRL_NONE>;
385 };
386
387 pinctrl_tcb0_tiob0: tcb0_tiob0-0 {
388 atmel,pins = <AT91_PIOC 9 AT91_PERIPH_B AT91_PINCTRL_NONE>;
389 };
390
391 pinctrl_tcb0_tiob1: tcb0_tiob1-0 {
392 atmel,pins = <AT91_PIOC 7 AT91_PERIPH_A AT91_PINCTRL_NONE>;
393 };
394
395 pinctrl_tcb0_tiob2: tcb0_tiob2-0 {
396 atmel,pins = <AT91_PIOC 6 AT91_PERIPH_A AT91_PINCTRL_NONE>;
397 };
398 };
399
400 tcb1 {
401 pinctrl_tcb1_tclk0: tcb1_tclk0-0 {
402 atmel,pins = <AT91_PIOB 16 AT91_PERIPH_B AT91_PINCTRL_NONE>;
403 };
404
405 pinctrl_tcb1_tclk1: tcb1_tclk1-0 {
406 atmel,pins = <AT91_PIOB 17 AT91_PERIPH_B AT91_PINCTRL_NONE>;
407 };
408
409 pinctrl_tcb1_tclk2: tcb1_tclk2-0 {
410 atmel,pins = <AT91_PIOC 22 AT91_PERIPH_B AT91_PINCTRL_NONE>;
411 };
412
413 pinctrl_tcb1_tioa0: tcb1_tioa0-0 {
414 atmel,pins = <AT91_PIOB 0 AT91_PERIPH_B AT91_PINCTRL_NONE>;
415 };
416
417 pinctrl_tcb1_tioa1: tcb1_tioa1-0 {
418 atmel,pins = <AT91_PIOB 2 AT91_PERIPH_B AT91_PINCTRL_NONE>;
419 };
420
421 pinctrl_tcb1_tioa2: tcb1_tioa2-0 {
422 atmel,pins = <AT91_PIOB 3 AT91_PERIPH_B AT91_PINCTRL_NONE>;
423 };
424
425 pinctrl_tcb1_tiob0: tcb1_tiob0-0 {
426 atmel,pins = <AT91_PIOB 1 AT91_PERIPH_B AT91_PINCTRL_NONE>;
427 };
428
429 pinctrl_tcb1_tiob1: tcb1_tiob1-0 {
430 atmel,pins = <AT91_PIOB 18 AT91_PERIPH_B AT91_PINCTRL_NONE>;
431 };
432
433 pinctrl_tcb1_tiob2: tcb1_tiob2-0 {
434 atmel,pins = <AT91_PIOB 19 AT91_PERIPH_B AT91_PINCTRL_NONE>;
340 }; 435 };
341 }; 436 };
342 437
343 pioA: gpio@fffff400 { 438 pioA: gpio@fffff400 {
344 compatible = "atmel,at91rm9200-gpio"; 439 compatible = "atmel,at91rm9200-gpio";
345 reg = <0xfffff400 0x200>; 440 reg = <0xfffff400 0x200>;
346 interrupts = <2 4 1>; 441 interrupts = <2 IRQ_TYPE_LEVEL_HIGH 1>;
347 #gpio-cells = <2>; 442 #gpio-cells = <2>;
348 gpio-controller; 443 gpio-controller;
349 interrupt-controller; 444 interrupt-controller;
@@ -353,7 +448,7 @@
353 pioB: gpio@fffff600 { 448 pioB: gpio@fffff600 {
354 compatible = "atmel,at91rm9200-gpio"; 449 compatible = "atmel,at91rm9200-gpio";
355 reg = <0xfffff600 0x200>; 450 reg = <0xfffff600 0x200>;
356 interrupts = <3 4 1>; 451 interrupts = <3 IRQ_TYPE_LEVEL_HIGH 1>;
357 #gpio-cells = <2>; 452 #gpio-cells = <2>;
358 gpio-controller; 453 gpio-controller;
359 interrupt-controller; 454 interrupt-controller;
@@ -363,7 +458,7 @@
363 pioC: gpio@fffff800 { 458 pioC: gpio@fffff800 {
364 compatible = "atmel,at91rm9200-gpio"; 459 compatible = "atmel,at91rm9200-gpio";
365 reg = <0xfffff800 0x200>; 460 reg = <0xfffff800 0x200>;
366 interrupts = <4 4 1>; 461 interrupts = <4 IRQ_TYPE_LEVEL_HIGH 1>;
367 #gpio-cells = <2>; 462 #gpio-cells = <2>;
368 gpio-controller; 463 gpio-controller;
369 interrupt-controller; 464 interrupt-controller;
@@ -374,7 +469,7 @@
374 dbgu: serial@fffff200 { 469 dbgu: serial@fffff200 {
375 compatible = "atmel,at91sam9260-usart"; 470 compatible = "atmel,at91sam9260-usart";
376 reg = <0xfffff200 0x200>; 471 reg = <0xfffff200 0x200>;
377 interrupts = <1 4 7>; 472 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
378 pinctrl-names = "default"; 473 pinctrl-names = "default";
379 pinctrl-0 = <&pinctrl_dbgu>; 474 pinctrl-0 = <&pinctrl_dbgu>;
380 status = "disabled"; 475 status = "disabled";
@@ -383,7 +478,7 @@
383 usart0: serial@fffb0000 { 478 usart0: serial@fffb0000 {
384 compatible = "atmel,at91sam9260-usart"; 479 compatible = "atmel,at91sam9260-usart";
385 reg = <0xfffb0000 0x200>; 480 reg = <0xfffb0000 0x200>;
386 interrupts = <6 4 5>; 481 interrupts = <6 IRQ_TYPE_LEVEL_HIGH 5>;
387 atmel,use-dma-rx; 482 atmel,use-dma-rx;
388 atmel,use-dma-tx; 483 atmel,use-dma-tx;
389 pinctrl-names = "default"; 484 pinctrl-names = "default";
@@ -394,7 +489,7 @@
394 usart1: serial@fffb4000 { 489 usart1: serial@fffb4000 {
395 compatible = "atmel,at91sam9260-usart"; 490 compatible = "atmel,at91sam9260-usart";
396 reg = <0xfffb4000 0x200>; 491 reg = <0xfffb4000 0x200>;
397 interrupts = <7 4 5>; 492 interrupts = <7 IRQ_TYPE_LEVEL_HIGH 5>;
398 atmel,use-dma-rx; 493 atmel,use-dma-rx;
399 atmel,use-dma-tx; 494 atmel,use-dma-tx;
400 pinctrl-names = "default"; 495 pinctrl-names = "default";
@@ -405,7 +500,7 @@
405 usart2: serial@fffb8000 { 500 usart2: serial@fffb8000 {
406 compatible = "atmel,at91sam9260-usart"; 501 compatible = "atmel,at91sam9260-usart";
407 reg = <0xfffb8000 0x200>; 502 reg = <0xfffb8000 0x200>;
408 interrupts = <8 4 5>; 503 interrupts = <8 IRQ_TYPE_LEVEL_HIGH 5>;
409 atmel,use-dma-rx; 504 atmel,use-dma-rx;
410 atmel,use-dma-tx; 505 atmel,use-dma-tx;
411 pinctrl-names = "default"; 506 pinctrl-names = "default";
@@ -416,7 +511,7 @@
416 usart3: serial@fffd0000 { 511 usart3: serial@fffd0000 {
417 compatible = "atmel,at91sam9260-usart"; 512 compatible = "atmel,at91sam9260-usart";
418 reg = <0xfffd0000 0x200>; 513 reg = <0xfffd0000 0x200>;
419 interrupts = <23 4 5>; 514 interrupts = <23 IRQ_TYPE_LEVEL_HIGH 5>;
420 atmel,use-dma-rx; 515 atmel,use-dma-rx;
421 atmel,use-dma-tx; 516 atmel,use-dma-tx;
422 pinctrl-names = "default"; 517 pinctrl-names = "default";
@@ -427,7 +522,7 @@
427 uart0: serial@fffd4000 { 522 uart0: serial@fffd4000 {
428 compatible = "atmel,at91sam9260-usart"; 523 compatible = "atmel,at91sam9260-usart";
429 reg = <0xfffd4000 0x200>; 524 reg = <0xfffd4000 0x200>;
430 interrupts = <24 4 5>; 525 interrupts = <24 IRQ_TYPE_LEVEL_HIGH 5>;
431 atmel,use-dma-rx; 526 atmel,use-dma-rx;
432 atmel,use-dma-tx; 527 atmel,use-dma-tx;
433 pinctrl-names = "default"; 528 pinctrl-names = "default";
@@ -438,7 +533,7 @@
438 uart1: serial@fffd8000 { 533 uart1: serial@fffd8000 {
439 compatible = "atmel,at91sam9260-usart"; 534 compatible = "atmel,at91sam9260-usart";
440 reg = <0xfffd8000 0x200>; 535 reg = <0xfffd8000 0x200>;
441 interrupts = <25 4 5>; 536 interrupts = <25 IRQ_TYPE_LEVEL_HIGH 5>;
442 atmel,use-dma-rx; 537 atmel,use-dma-rx;
443 atmel,use-dma-tx; 538 atmel,use-dma-tx;
444 pinctrl-names = "default"; 539 pinctrl-names = "default";
@@ -449,7 +544,7 @@
449 macb0: ethernet@fffc4000 { 544 macb0: ethernet@fffc4000 {
450 compatible = "cdns,at32ap7000-macb", "cdns,macb"; 545 compatible = "cdns,at32ap7000-macb", "cdns,macb";
451 reg = <0xfffc4000 0x100>; 546 reg = <0xfffc4000 0x100>;
452 interrupts = <21 4 3>; 547 interrupts = <21 IRQ_TYPE_LEVEL_HIGH 3>;
453 pinctrl-names = "default"; 548 pinctrl-names = "default";
454 pinctrl-0 = <&pinctrl_macb_rmii>; 549 pinctrl-0 = <&pinctrl_macb_rmii>;
455 status = "disabled"; 550 status = "disabled";
@@ -458,14 +553,14 @@
458 usb1: gadget@fffa4000 { 553 usb1: gadget@fffa4000 {
459 compatible = "atmel,at91rm9200-udc"; 554 compatible = "atmel,at91rm9200-udc";
460 reg = <0xfffa4000 0x4000>; 555 reg = <0xfffa4000 0x4000>;
461 interrupts = <10 4 2>; 556 interrupts = <10 IRQ_TYPE_LEVEL_HIGH 2>;
462 status = "disabled"; 557 status = "disabled";
463 }; 558 };
464 559
465 i2c0: i2c@fffac000 { 560 i2c0: i2c@fffac000 {
466 compatible = "atmel,at91sam9260-i2c"; 561 compatible = "atmel,at91sam9260-i2c";
467 reg = <0xfffac000 0x100>; 562 reg = <0xfffac000 0x100>;
468 interrupts = <11 4 6>; 563 interrupts = <11 IRQ_TYPE_LEVEL_HIGH 6>;
469 #address-cells = <1>; 564 #address-cells = <1>;
470 #size-cells = <0>; 565 #size-cells = <0>;
471 status = "disabled"; 566 status = "disabled";
@@ -474,7 +569,7 @@
474 mmc0: mmc@fffa8000 { 569 mmc0: mmc@fffa8000 {
475 compatible = "atmel,hsmci"; 570 compatible = "atmel,hsmci";
476 reg = <0xfffa8000 0x600>; 571 reg = <0xfffa8000 0x600>;
477 interrupts = <9 4 0>; 572 interrupts = <9 IRQ_TYPE_LEVEL_HIGH 0>;
478 #address-cells = <1>; 573 #address-cells = <1>;
479 #size-cells = <0>; 574 #size-cells = <0>;
480 status = "disabled"; 575 status = "disabled";
@@ -483,7 +578,7 @@
483 ssc0: ssc@fffbc000 { 578 ssc0: ssc@fffbc000 {
484 compatible = "atmel,at91rm9200-ssc"; 579 compatible = "atmel,at91rm9200-ssc";
485 reg = <0xfffbc000 0x4000>; 580 reg = <0xfffbc000 0x4000>;
486 interrupts = <14 4 5>; 581 interrupts = <14 IRQ_TYPE_LEVEL_HIGH 5>;
487 pinctrl-names = "default"; 582 pinctrl-names = "default";
488 pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>; 583 pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
489 status = "disabled"; 584 status = "disabled";
@@ -494,7 +589,7 @@
494 #size-cells = <0>; 589 #size-cells = <0>;
495 compatible = "atmel,at91rm9200-spi"; 590 compatible = "atmel,at91rm9200-spi";
496 reg = <0xfffc8000 0x200>; 591 reg = <0xfffc8000 0x200>;
497 interrupts = <12 4 3>; 592 interrupts = <12 IRQ_TYPE_LEVEL_HIGH 3>;
498 pinctrl-names = "default"; 593 pinctrl-names = "default";
499 pinctrl-0 = <&pinctrl_spi0>; 594 pinctrl-0 = <&pinctrl_spi0>;
500 status = "disabled"; 595 status = "disabled";
@@ -505,7 +600,7 @@
505 #size-cells = <0>; 600 #size-cells = <0>;
506 compatible = "atmel,at91rm9200-spi"; 601 compatible = "atmel,at91rm9200-spi";
507 reg = <0xfffcc000 0x200>; 602 reg = <0xfffcc000 0x200>;
508 interrupts = <13 4 3>; 603 interrupts = <13 IRQ_TYPE_LEVEL_HIGH 3>;
509 pinctrl-names = "default"; 604 pinctrl-names = "default";
510 pinctrl-0 = <&pinctrl_spi1>; 605 pinctrl-0 = <&pinctrl_spi1>;
511 status = "disabled"; 606 status = "disabled";
@@ -514,7 +609,7 @@
514 adc0: adc@fffe0000 { 609 adc0: adc@fffe0000 {
515 compatible = "atmel,at91sam9260-adc"; 610 compatible = "atmel,at91sam9260-adc";
516 reg = <0xfffe0000 0x100>; 611 reg = <0xfffe0000 0x100>;
517 interrupts = <5 4 0>; 612 interrupts = <5 IRQ_TYPE_LEVEL_HIGH 0>;
518 atmel,adc-use-external-triggers; 613 atmel,adc-use-external-triggers;
519 atmel,adc-channels-used = <0xf>; 614 atmel,adc-channels-used = <0xf>;
520 atmel,adc-vref = <3300>; 615 atmel,adc-vref = <3300>;
@@ -567,8 +662,8 @@
567 atmel,nand-cmd-offset = <22>; 662 atmel,nand-cmd-offset = <22>;
568 pinctrl-names = "default"; 663 pinctrl-names = "default";
569 pinctrl-0 = <&pinctrl_nand>; 664 pinctrl-0 = <&pinctrl_nand>;
570 gpios = <&pioC 13 0 665 gpios = <&pioC 13 GPIO_ACTIVE_HIGH
571 &pioC 14 0 666 &pioC 14 GPIO_ACTIVE_HIGH
572 0 667 0
573 >; 668 >;
574 status = "disabled"; 669 status = "disabled";
@@ -577,21 +672,23 @@
577 usb0: ohci@00500000 { 672 usb0: ohci@00500000 {
578 compatible = "atmel,at91rm9200-ohci", "usb-ohci"; 673 compatible = "atmel,at91rm9200-ohci", "usb-ohci";
579 reg = <0x00500000 0x100000>; 674 reg = <0x00500000 0x100000>;
580 interrupts = <20 4 2>; 675 interrupts = <20 IRQ_TYPE_LEVEL_HIGH 2>;
581 status = "disabled"; 676 status = "disabled";
582 }; 677 };
583 }; 678 };
584 679
585 i2c@0 { 680 i2c@0 {
586 compatible = "i2c-gpio"; 681 compatible = "i2c-gpio";
587 gpios = <&pioA 23 0 /* sda */ 682 gpios = <&pioA 23 GPIO_ACTIVE_HIGH /* sda */
588 &pioA 24 0 /* scl */ 683 &pioA 24 GPIO_ACTIVE_HIGH /* scl */
589 >; 684 >;
590 i2c-gpio,sda-open-drain; 685 i2c-gpio,sda-open-drain;
591 i2c-gpio,scl-open-drain; 686 i2c-gpio,scl-open-drain;
592 i2c-gpio,delay-us = <2>; /* ~100 kHz */ 687 i2c-gpio,delay-us = <2>; /* ~100 kHz */
593 #address-cells = <1>; 688 #address-cells = <1>;
594 #size-cells = <0>; 689 #size-cells = <0>;
690 pinctrl-names = "default";
691 pinctrl-0 = <&pinctrl_i2c_gpio0>;
595 status = "disabled"; 692 status = "disabled";
596 }; 693 };
597}; 694};
diff --git a/arch/arm/boot/dts/at91sam9263.dtsi b/arch/arm/boot/dts/at91sam9263.dtsi
index 94b58ab2cc08..d5bd65f74602 100644
--- a/arch/arm/boot/dts/at91sam9263.dtsi
+++ b/arch/arm/boot/dts/at91sam9263.dtsi
@@ -6,7 +6,10 @@
6 * Licensed under GPLv2 only. 6 * Licensed under GPLv2 only.
7 */ 7 */
8 8
9/include/ "skeleton.dtsi" 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>
10 13
11/ { 14/ {
12 model = "Atmel AT91SAM9263 family SoC"; 15 model = "Atmel AT91SAM9263 family SoC";
@@ -29,8 +32,12 @@
29 ssc1 = &ssc1; 32 ssc1 = &ssc1;
30 }; 33 };
31 cpus { 34 cpus {
32 cpu@0 { 35 #address-cells = <0>;
33 compatible = "arm,arm926ejs"; 36 #size-cells = <0>;
37
38 cpu {
39 compatible = "arm,arm926ej-s";
40 device_type = "cpu";
34 }; 41 };
35 }; 42 };
36 43
@@ -72,13 +79,13 @@
72 pit: timer@fffffd30 { 79 pit: timer@fffffd30 {
73 compatible = "atmel,at91sam9260-pit"; 80 compatible = "atmel,at91sam9260-pit";
74 reg = <0xfffffd30 0xf>; 81 reg = <0xfffffd30 0xf>;
75 interrupts = <1 4 7>; 82 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
76 }; 83 };
77 84
78 tcb0: timer@fff7c000 { 85 tcb0: timer@fff7c000 {
79 compatible = "atmel,at91rm9200-tcb"; 86 compatible = "atmel,at91rm9200-tcb";
80 reg = <0xfff7c000 0x100>; 87 reg = <0xfff7c000 0x100>;
81 interrupts = <19 4 0>; 88 interrupts = <19 IRQ_TYPE_LEVEL_HIGH 0>;
82 }; 89 };
83 90
84 rstc@fffffd00 { 91 rstc@fffffd00 {
@@ -110,221 +117,259 @@
110 dbgu { 117 dbgu {
111 pinctrl_dbgu: dbgu-0 { 118 pinctrl_dbgu: dbgu-0 {
112 atmel,pins = 119 atmel,pins =
113 <2 30 0x1 0x0 /* PC30 periph A */ 120 <AT91_PIOC 30 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC30 periph A */
114 2 31 0x1 0x1>; /* PC31 periph with pullup */ 121 AT91_PIOC 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PC31 periph with pullup */
115 }; 122 };
116 }; 123 };
117 124
118 usart0 { 125 usart0 {
119 pinctrl_usart0: usart0-0 { 126 pinctrl_usart0: usart0-0 {
120 atmel,pins = 127 atmel,pins =
121 <0 26 0x1 0x1 /* PA26 periph A with pullup */ 128 <AT91_PIOA 26 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA26 periph A with pullup */
122 0 27 0x1 0x0>; /* PA27 periph A */ 129 AT91_PIOA 27 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA27 periph A */
123 }; 130 };
124 131
125 pinctrl_usart0_rts: usart0_rts-0 { 132 pinctrl_usart0_rts: usart0_rts-0 {
126 atmel,pins = 133 atmel,pins =
127 <0 28 0x1 0x0>; /* PA28 periph A */ 134 <AT91_PIOA 28 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA28 periph A */
128 }; 135 };
129 136
130 pinctrl_usart0_cts: usart0_cts-0 { 137 pinctrl_usart0_cts: usart0_cts-0 {
131 atmel,pins = 138 atmel,pins =
132 <0 29 0x1 0x0>; /* PA29 periph A */ 139 <AT91_PIOA 29 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA29 periph A */
133 }; 140 };
134 }; 141 };
135 142
136 usart1 { 143 usart1 {
137 pinctrl_usart1: usart1-0 { 144 pinctrl_usart1: usart1-0 {
138 atmel,pins = 145 atmel,pins =
139 <3 0 0x1 0x1 /* PD0 periph A with pullup */ 146 <AT91_PIOD 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD0 periph A with pullup */
140 3 1 0x1 0x0>; /* PD1 periph A */ 147 AT91_PIOD 1 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD1 periph A */
141 }; 148 };
142 149
143 pinctrl_usart1_rts: usart1_rts-0 { 150 pinctrl_usart1_rts: usart1_rts-0 {
144 atmel,pins = 151 atmel,pins =
145 <3 7 0x2 0x0>; /* PD7 periph B */ 152 <AT91_PIOD 7 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PD7 periph B */
146 }; 153 };
147 154
148 pinctrl_usart1_cts: usart1_cts-0 { 155 pinctrl_usart1_cts: usart1_cts-0 {
149 atmel,pins = 156 atmel,pins =
150 <3 8 0x2 0x0>; /* PD8 periph B */ 157 <AT91_PIOD 8 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PD8 periph B */
151 }; 158 };
152 }; 159 };
153 160
154 usart2 { 161 usart2 {
155 pinctrl_usart2: usart2-0 { 162 pinctrl_usart2: usart2-0 {
156 atmel,pins = 163 atmel,pins =
157 <3 2 0x1 0x1 /* PD2 periph A with pullup */ 164 <AT91_PIOD 2 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD2 periph A with pullup */
158 3 3 0x1 0x0>; /* PD3 periph A */ 165 AT91_PIOD 3 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD3 periph A */
159 }; 166 };
160 167
161 pinctrl_usart2_rts: usart2_rts-0 { 168 pinctrl_usart2_rts: usart2_rts-0 {
162 atmel,pins = 169 atmel,pins =
163 <3 5 0x2 0x0>; /* PD5 periph B */ 170 <AT91_PIOD 5 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PD5 periph B */
164 }; 171 };
165 172
166 pinctrl_usart2_cts: usart2_cts-0 { 173 pinctrl_usart2_cts: usart2_cts-0 {
167 atmel,pins = 174 atmel,pins =
168 <4 6 0x2 0x0>; /* PD6 periph B */ 175 <AT91_PIOD 6 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PD6 periph B */
169 }; 176 };
170 }; 177 };
171 178
172 nand { 179 nand {
173 pinctrl_nand: nand-0 { 180 pinctrl_nand: nand-0 {
174 atmel,pins = 181 atmel,pins =
175 <0 22 0x0 0x1 /* PA22 gpio RDY pin pull_up*/ 182 <AT91_PIOA 22 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP /* PA22 gpio RDY pin pull_up*/
176 3 15 0x0 0x1>; /* PD15 gpio enable pin pull_up */ 183 AT91_PIOD 15 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>; /* PD15 gpio enable pin pull_up */
177 }; 184 };
178 }; 185 };
179 186
180 macb { 187 macb {
181 pinctrl_macb_rmii: macb_rmii-0 { 188 pinctrl_macb_rmii: macb_rmii-0 {
182 atmel,pins = 189 atmel,pins =
183 <2 25 0x2 0x0 /* PC25 periph B */ 190 <AT91_PIOC 25 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC25 periph B */
184 4 21 0x1 0x0 /* PE21 periph A */ 191 AT91_PIOE 21 AT91_PERIPH_A AT91_PINCTRL_NONE /* PE21 periph A */
185 4 23 0x1 0x0 /* PE23 periph A */ 192 AT91_PIOE 23 AT91_PERIPH_A AT91_PINCTRL_NONE /* PE23 periph A */
186 4 24 0x1 0x0 /* PE24 periph A */ 193 AT91_PIOE 24 AT91_PERIPH_A AT91_PINCTRL_NONE /* PE24 periph A */
187 4 25 0x1 0x0 /* PE25 periph A */ 194 AT91_PIOE 25 AT91_PERIPH_A AT91_PINCTRL_NONE /* PE25 periph A */
188 4 26 0x1 0x0 /* PE26 periph A */ 195 AT91_PIOE 26 AT91_PERIPH_A AT91_PINCTRL_NONE /* PE26 periph A */
189 4 27 0x1 0x0 /* PE27 periph A */ 196 AT91_PIOE 27 AT91_PERIPH_A AT91_PINCTRL_NONE /* PE27 periph A */
190 4 28 0x1 0x0 /* PE28 periph A */ 197 AT91_PIOE 28 AT91_PERIPH_A AT91_PINCTRL_NONE /* PE28 periph A */
191 4 29 0x1 0x0 /* PE29 periph A */ 198 AT91_PIOE 29 AT91_PERIPH_A AT91_PINCTRL_NONE /* PE29 periph A */
192 4 30 0x1 0x0>; /* PE30 periph A */ 199 AT91_PIOE 30 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PE30 periph A */
193 }; 200 };
194 201
195 pinctrl_macb_rmii_mii: macb_rmii_mii-0 { 202 pinctrl_macb_rmii_mii: macb_rmii_mii-0 {
196 atmel,pins = 203 atmel,pins =
197 <2 20 0x2 0x0 /* PC20 periph B */ 204 <AT91_PIOC 20 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC20 periph B */
198 2 21 0x2 0x0 /* PC21 periph B */ 205 AT91_PIOC 21 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC21 periph B */
199 2 22 0x2 0x0 /* PC22 periph B */ 206 AT91_PIOC 22 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC22 periph B */
200 2 23 0x2 0x0 /* PC23 periph B */ 207 AT91_PIOC 23 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC23 periph B */
201 2 24 0x2 0x0 /* PC24 periph B */ 208 AT91_PIOC 24 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC24 periph B */
202 2 25 0x2 0x0 /* PC25 periph B */ 209 AT91_PIOC 25 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC25 periph B */
203 2 27 0x2 0x0 /* PC27 periph B */ 210 AT91_PIOC 27 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC27 periph B */
204 4 22 0x2 0x0>; /* PE22 periph B */ 211 AT91_PIOE 22 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PE22 periph B */
205 }; 212 };
206 }; 213 };
207 214
208 mmc0 { 215 mmc0 {
209 pinctrl_mmc0_clk: mmc0_clk-0 { 216 pinctrl_mmc0_clk: mmc0_clk-0 {
210 atmel,pins = 217 atmel,pins =
211 <0 12 0x1 0x0>; /* PA12 periph A */ 218 <AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA12 periph A */
212 }; 219 };
213 220
214 pinctrl_mmc0_slot0_cmd_dat0: mmc0_slot0_cmd_dat0-0 { 221 pinctrl_mmc0_slot0_cmd_dat0: mmc0_slot0_cmd_dat0-0 {
215 atmel,pins = 222 atmel,pins =
216 <0 1 0x1 0x1 /* PA1 periph A with pullup */ 223 <AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA1 periph A with pullup */
217 0 0 0x1 0x1>; /* PA0 periph A with pullup */ 224 AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PA0 periph A with pullup */
218 }; 225 };
219 226
220 pinctrl_mmc0_slot0_dat1_3: mmc0_slot0_dat1_3-0 { 227 pinctrl_mmc0_slot0_dat1_3: mmc0_slot0_dat1_3-0 {
221 atmel,pins = 228 atmel,pins =
222 <0 3 0x1 0x1 /* PA3 periph A with pullup */ 229 <AT91_PIOA 3 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA3 periph A with pullup */
223 0 4 0x1 0x1 /* PA4 periph A with pullup */ 230 AT91_PIOA 4 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA4 periph A with pullup */
224 0 5 0x1 0x1>; /* PA5 periph A with pullup */ 231 AT91_PIOA 5 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PA5 periph A with pullup */
225 }; 232 };
226 233
227 pinctrl_mmc0_slot1_cmd_dat0: mmc0_slot1_cmd_dat0-0 { 234 pinctrl_mmc0_slot1_cmd_dat0: mmc0_slot1_cmd_dat0-0 {
228 atmel,pins = 235 atmel,pins =
229 <0 16 0x1 0x1 /* PA16 periph A with pullup */ 236 <AT91_PIOA 16 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA16 periph A with pullup */
230 0 17 0x1 0x1>; /* PA17 periph A with pullup */ 237 AT91_PIOA 17 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PA17 periph A with pullup */
231 }; 238 };
232 239
233 pinctrl_mmc0_slot1_dat1_3: mmc0_slot1_dat1_3-0 { 240 pinctrl_mmc0_slot1_dat1_3: mmc0_slot1_dat1_3-0 {
234 atmel,pins = 241 atmel,pins =
235 <0 18 0x1 0x1 /* PA18 periph A with pullup */ 242 <AT91_PIOA 18 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA18 periph A with pullup */
236 0 19 0x1 0x1 /* PA19 periph A with pullup */ 243 AT91_PIOA 19 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA19 periph A with pullup */
237 0 20 0x1 0x1>; /* PA20 periph A with pullup */ 244 AT91_PIOA 20 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PA20 periph A with pullup */
238 }; 245 };
239 }; 246 };
240 247
241 mmc1 { 248 mmc1 {
242 pinctrl_mmc1_clk: mmc1_clk-0 { 249 pinctrl_mmc1_clk: mmc1_clk-0 {
243 atmel,pins = 250 atmel,pins =
244 <0 6 0x1 0x0>; /* PA6 periph A */ 251 <AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA6 periph A */
245 }; 252 };
246 253
247 pinctrl_mmc1_slot0_cmd_dat0: mmc1_slot0_cmd_dat0-0 { 254 pinctrl_mmc1_slot0_cmd_dat0: mmc1_slot0_cmd_dat0-0 {
248 atmel,pins = 255 atmel,pins =
249 <0 7 0x1 0x1 /* PA7 periph A with pullup */ 256 <AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA7 periph A with pullup */
250 0 8 0x1 0x1>; /* PA8 periph A with pullup */ 257 AT91_PIOA 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PA8 periph A with pullup */
251 }; 258 };
252 259
253 pinctrl_mmc1_slot0_dat1_3: mmc1_slot0_dat1_3-0 { 260 pinctrl_mmc1_slot0_dat1_3: mmc1_slot0_dat1_3-0 {
254 atmel,pins = 261 atmel,pins =
255 <0 9 0x1 0x1 /* PA9 periph A with pullup */ 262 <AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA9 periph A with pullup */
256 0 10 0x1 0x1 /* PA10 periph A with pullup */ 263 AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA10 periph A with pullup */
257 0 11 0x1 0x1>; /* PA11 periph A with pullup */ 264 AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PA11 periph A with pullup */
258 }; 265 };
259 266
260 pinctrl_mmc1_slot1_cmd_dat0: mmc1_slot1_cmd_dat0-0 { 267 pinctrl_mmc1_slot1_cmd_dat0: mmc1_slot1_cmd_dat0-0 {
261 atmel,pins = 268 atmel,pins =
262 <0 21 0x1 0x1 /* PA21 periph A with pullup */ 269 <AT91_PIOA 21 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA21 periph A with pullup */
263 0 22 0x1 0x1>; /* PA22 periph A with pullup */ 270 AT91_PIOA 22 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PA22 periph A with pullup */
264 }; 271 };
265 272
266 pinctrl_mmc1_slot1_dat1_3: mmc1_slot1_dat1_3-0 { 273 pinctrl_mmc1_slot1_dat1_3: mmc1_slot1_dat1_3-0 {
267 atmel,pins = 274 atmel,pins =
268 <0 23 0x1 0x1 /* PA23 periph A with pullup */ 275 <AT91_PIOA 23 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA23 periph A with pullup */
269 0 24 0x1 0x1 /* PA24 periph A with pullup */ 276 AT91_PIOA 24 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA24 periph A with pullup */
270 0 25 0x1 0x1>; /* PA25 periph A with pullup */ 277 AT91_PIOA 25 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PA25 periph A with pullup */
271 }; 278 };
272 }; 279 };
273 280
274 ssc0 { 281 ssc0 {
275 pinctrl_ssc0_tx: ssc0_tx-0 { 282 pinctrl_ssc0_tx: ssc0_tx-0 {
276 atmel,pins = 283 atmel,pins =
277 <1 0 0x2 0x0 /* PB0 periph B */ 284 <AT91_PIOB 0 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB0 periph B */
278 1 1 0x2 0x0 /* PB1 periph B */ 285 AT91_PIOB 1 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB1 periph B */
279 1 2 0x2 0x0>; /* PB2 periph B */ 286 AT91_PIOB 2 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PB2 periph B */
280 }; 287 };
281 288
282 pinctrl_ssc0_rx: ssc0_rx-0 { 289 pinctrl_ssc0_rx: ssc0_rx-0 {
283 atmel,pins = 290 atmel,pins =
284 <1 3 0x2 0x0 /* PB3 periph B */ 291 <AT91_PIOB 3 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB3 periph B */
285 1 4 0x2 0x0 /* PB4 periph B */ 292 AT91_PIOB 4 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB4 periph B */
286 1 5 0x2 0x0>; /* PB5 periph B */ 293 AT91_PIOB 5 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PB5 periph B */
287 }; 294 };
288 }; 295 };
289 296
290 ssc1 { 297 ssc1 {
291 pinctrl_ssc1_tx: ssc1_tx-0 { 298 pinctrl_ssc1_tx: ssc1_tx-0 {
292 atmel,pins = 299 atmel,pins =
293 <1 6 0x1 0x0 /* PB6 periph A */ 300 <AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB6 periph A */
294 1 7 0x1 0x0 /* PB7 periph A */ 301 AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB7 periph A */
295 1 8 0x1 0x0>; /* PB8 periph A */ 302 AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB8 periph A */
296 }; 303 };
297 304
298 pinctrl_ssc1_rx: ssc1_rx-0 { 305 pinctrl_ssc1_rx: ssc1_rx-0 {
299 atmel,pins = 306 atmel,pins =
300 <1 9 0x1 0x0 /* PB9 periph A */ 307 <AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB9 periph A */
301 1 10 0x1 0x0 /* PB10 periph A */ 308 AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB10 periph A */
302 1 11 0x1 0x0>; /* PB11 periph A */ 309 AT91_PIOB 11 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB11 periph A */
303 }; 310 };
304 }; 311 };
305 312
306 spi0 { 313 spi0 {
307 pinctrl_spi0: spi0-0 { 314 pinctrl_spi0: spi0-0 {
308 atmel,pins = 315 atmel,pins =
309 <0 0 0x2 0x0 /* PA0 periph B SPI0_MISO pin */ 316 <AT91_PIOA 0 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA0 periph B SPI0_MISO pin */
310 0 1 0x2 0x0 /* PA1 periph B SPI0_MOSI pin */ 317 AT91_PIOA 1 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA1 periph B SPI0_MOSI pin */
311 0 2 0x2 0x0>; /* PA2 periph B SPI0_SPCK pin */ 318 AT91_PIOA 2 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PA2 periph B SPI0_SPCK pin */
312 }; 319 };
313 }; 320 };
314 321
315 spi1 { 322 spi1 {
316 pinctrl_spi1: spi1-0 { 323 pinctrl_spi1: spi1-0 {
317 atmel,pins = 324 atmel,pins =
318 <1 12 0x1 0x0 /* PB12 periph A SPI1_MISO pin */ 325 <AT91_PIOB 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB12 periph A SPI1_MISO pin */
319 1 13 0x1 0x0 /* PB13 periph A SPI1_MOSI pin */ 326 AT91_PIOB 13 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB13 periph A SPI1_MOSI pin */
320 1 14 0x1 0x0>; /* PB14 periph A SPI1_SPCK pin */ 327 AT91_PIOB 14 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB14 periph A SPI1_SPCK pin */
328 };
329 };
330
331 tcb0 {
332 pinctrl_tcb0_tclk0: tcb0_tclk0-0 {
333 atmel,pins = <AT91_PIOB 28 AT91_PERIPH_B AT91_PINCTRL_NONE>;
334 };
335
336 pinctrl_tcb0_tclk1: tcb0_tclk1-0 {
337 atmel,pins = <AT91_PIOC 28 AT91_PERIPH_B AT91_PINCTRL_NONE>;
338 };
339
340 pinctrl_tcb0_tclk2: tcb0_tclk2-0 {
341 atmel,pins = <AT91_PIOA 15 AT91_PERIPH_A AT91_PINCTRL_NONE>;
342 };
343
344 pinctrl_tcb0_tioa0: tcb0_tioa0-0 {
345 atmel,pins = <AT91_PIOE 18 AT91_PERIPH_B AT91_PINCTRL_NONE>;
346 };
347
348 pinctrl_tcb0_tioa1: tcb0_tioa1-0 {
349 atmel,pins = <AT91_PIOE 8 AT91_PERIPH_B AT91_PINCTRL_NONE>;
350 };
351
352 pinctrl_tcb0_tioa2: tcb0_tioa2-0 {
353 atmel,pins = <AT91_PIOB 17 AT91_PERIPH_B AT91_PINCTRL_NONE>;
354 };
355
356 pinctrl_tcb0_tiob0: tcb0_tiob0-0 {
357 atmel,pins = <AT91_PIOE 19 AT91_PERIPH_B AT91_PINCTRL_NONE>;
358 };
359
360 pinctrl_tcb0_tiob1: tcb0_tiob1-0 {
361 atmel,pins = <AT91_PIOE 9 AT91_PERIPH_B AT91_PINCTRL_NONE>;
362 };
363
364 pinctrl_tcb0_tiob2: tcb0_tiob2-0 {
365 atmel,pins = <AT91_PIOB 18 AT91_PERIPH_B AT91_PINCTRL_NONE>;
321 }; 366 };
322 }; 367 };
323 368
324 pioA: gpio@fffff200 { 369 pioA: gpio@fffff200 {
325 compatible = "atmel,at91rm9200-gpio"; 370 compatible = "atmel,at91rm9200-gpio";
326 reg = <0xfffff200 0x200>; 371 reg = <0xfffff200 0x200>;
327 interrupts = <2 4 1>; 372 interrupts = <2 IRQ_TYPE_LEVEL_HIGH 1>;
328 #gpio-cells = <2>; 373 #gpio-cells = <2>;
329 gpio-controller; 374 gpio-controller;
330 interrupt-controller; 375 interrupt-controller;
@@ -334,7 +379,7 @@
334 pioB: gpio@fffff400 { 379 pioB: gpio@fffff400 {
335 compatible = "atmel,at91rm9200-gpio"; 380 compatible = "atmel,at91rm9200-gpio";
336 reg = <0xfffff400 0x200>; 381 reg = <0xfffff400 0x200>;
337 interrupts = <3 4 1>; 382 interrupts = <3 IRQ_TYPE_LEVEL_HIGH 1>;
338 #gpio-cells = <2>; 383 #gpio-cells = <2>;
339 gpio-controller; 384 gpio-controller;
340 interrupt-controller; 385 interrupt-controller;
@@ -344,7 +389,7 @@
344 pioC: gpio@fffff600 { 389 pioC: gpio@fffff600 {
345 compatible = "atmel,at91rm9200-gpio"; 390 compatible = "atmel,at91rm9200-gpio";
346 reg = <0xfffff600 0x200>; 391 reg = <0xfffff600 0x200>;
347 interrupts = <4 4 1>; 392 interrupts = <4 IRQ_TYPE_LEVEL_HIGH 1>;
348 #gpio-cells = <2>; 393 #gpio-cells = <2>;
349 gpio-controller; 394 gpio-controller;
350 interrupt-controller; 395 interrupt-controller;
@@ -354,7 +399,7 @@
354 pioD: gpio@fffff800 { 399 pioD: gpio@fffff800 {
355 compatible = "atmel,at91rm9200-gpio"; 400 compatible = "atmel,at91rm9200-gpio";
356 reg = <0xfffff800 0x200>; 401 reg = <0xfffff800 0x200>;
357 interrupts = <4 4 1>; 402 interrupts = <4 IRQ_TYPE_LEVEL_HIGH 1>;
358 #gpio-cells = <2>; 403 #gpio-cells = <2>;
359 gpio-controller; 404 gpio-controller;
360 interrupt-controller; 405 interrupt-controller;
@@ -364,7 +409,7 @@
364 pioE: gpio@fffffa00 { 409 pioE: gpio@fffffa00 {
365 compatible = "atmel,at91rm9200-gpio"; 410 compatible = "atmel,at91rm9200-gpio";
366 reg = <0xfffffa00 0x200>; 411 reg = <0xfffffa00 0x200>;
367 interrupts = <4 4 1>; 412 interrupts = <4 IRQ_TYPE_LEVEL_HIGH 1>;
368 #gpio-cells = <2>; 413 #gpio-cells = <2>;
369 gpio-controller; 414 gpio-controller;
370 interrupt-controller; 415 interrupt-controller;
@@ -375,7 +420,7 @@
375 dbgu: serial@ffffee00 { 420 dbgu: serial@ffffee00 {
376 compatible = "atmel,at91sam9260-usart"; 421 compatible = "atmel,at91sam9260-usart";
377 reg = <0xffffee00 0x200>; 422 reg = <0xffffee00 0x200>;
378 interrupts = <1 4 7>; 423 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
379 pinctrl-names = "default"; 424 pinctrl-names = "default";
380 pinctrl-0 = <&pinctrl_dbgu>; 425 pinctrl-0 = <&pinctrl_dbgu>;
381 status = "disabled"; 426 status = "disabled";
@@ -384,7 +429,7 @@
384 usart0: serial@fff8c000 { 429 usart0: serial@fff8c000 {
385 compatible = "atmel,at91sam9260-usart"; 430 compatible = "atmel,at91sam9260-usart";
386 reg = <0xfff8c000 0x200>; 431 reg = <0xfff8c000 0x200>;
387 interrupts = <7 4 5>; 432 interrupts = <7 IRQ_TYPE_LEVEL_HIGH 5>;
388 atmel,use-dma-rx; 433 atmel,use-dma-rx;
389 atmel,use-dma-tx; 434 atmel,use-dma-tx;
390 pinctrl-names = "default"; 435 pinctrl-names = "default";
@@ -395,7 +440,7 @@
395 usart1: serial@fff90000 { 440 usart1: serial@fff90000 {
396 compatible = "atmel,at91sam9260-usart"; 441 compatible = "atmel,at91sam9260-usart";
397 reg = <0xfff90000 0x200>; 442 reg = <0xfff90000 0x200>;
398 interrupts = <8 4 5>; 443 interrupts = <8 IRQ_TYPE_LEVEL_HIGH 5>;
399 atmel,use-dma-rx; 444 atmel,use-dma-rx;
400 atmel,use-dma-tx; 445 atmel,use-dma-tx;
401 pinctrl-names = "default"; 446 pinctrl-names = "default";
@@ -406,7 +451,7 @@
406 usart2: serial@fff94000 { 451 usart2: serial@fff94000 {
407 compatible = "atmel,at91sam9260-usart"; 452 compatible = "atmel,at91sam9260-usart";
408 reg = <0xfff94000 0x200>; 453 reg = <0xfff94000 0x200>;
409 interrupts = <9 4 5>; 454 interrupts = <9 IRQ_TYPE_LEVEL_HIGH 5>;
410 atmel,use-dma-rx; 455 atmel,use-dma-rx;
411 atmel,use-dma-tx; 456 atmel,use-dma-tx;
412 pinctrl-names = "default"; 457 pinctrl-names = "default";
@@ -417,7 +462,7 @@
417 ssc0: ssc@fff98000 { 462 ssc0: ssc@fff98000 {
418 compatible = "atmel,at91rm9200-ssc"; 463 compatible = "atmel,at91rm9200-ssc";
419 reg = <0xfff98000 0x4000>; 464 reg = <0xfff98000 0x4000>;
420 interrupts = <16 4 5>; 465 interrupts = <16 IRQ_TYPE_LEVEL_HIGH 5>;
421 pinctrl-names = "default"; 466 pinctrl-names = "default";
422 pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>; 467 pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
423 status = "disabled"; 468 status = "disabled";
@@ -426,7 +471,7 @@
426 ssc1: ssc@fff9c000 { 471 ssc1: ssc@fff9c000 {
427 compatible = "atmel,at91rm9200-ssc"; 472 compatible = "atmel,at91rm9200-ssc";
428 reg = <0xfff9c000 0x4000>; 473 reg = <0xfff9c000 0x4000>;
429 interrupts = <17 4 5>; 474 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 5>;
430 pinctrl-names = "default"; 475 pinctrl-names = "default";
431 pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>; 476 pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>;
432 status = "disabled"; 477 status = "disabled";
@@ -435,7 +480,7 @@
435 macb0: ethernet@fffbc000 { 480 macb0: ethernet@fffbc000 {
436 compatible = "cdns,at32ap7000-macb", "cdns,macb"; 481 compatible = "cdns,at32ap7000-macb", "cdns,macb";
437 reg = <0xfffbc000 0x100>; 482 reg = <0xfffbc000 0x100>;
438 interrupts = <21 4 3>; 483 interrupts = <21 IRQ_TYPE_LEVEL_HIGH 3>;
439 pinctrl-names = "default"; 484 pinctrl-names = "default";
440 pinctrl-0 = <&pinctrl_macb_rmii>; 485 pinctrl-0 = <&pinctrl_macb_rmii>;
441 status = "disabled"; 486 status = "disabled";
@@ -444,14 +489,14 @@
444 usb1: gadget@fff78000 { 489 usb1: gadget@fff78000 {
445 compatible = "atmel,at91rm9200-udc"; 490 compatible = "atmel,at91rm9200-udc";
446 reg = <0xfff78000 0x4000>; 491 reg = <0xfff78000 0x4000>;
447 interrupts = <24 4 2>; 492 interrupts = <24 IRQ_TYPE_LEVEL_HIGH 2>;
448 status = "disabled"; 493 status = "disabled";
449 }; 494 };
450 495
451 i2c0: i2c@fff88000 { 496 i2c0: i2c@fff88000 {
452 compatible = "atmel,at91sam9263-i2c"; 497 compatible = "atmel,at91sam9263-i2c";
453 reg = <0xfff88000 0x100>; 498 reg = <0xfff88000 0x100>;
454 interrupts = <13 4 6>; 499 interrupts = <13 IRQ_TYPE_LEVEL_HIGH 6>;
455 #address-cells = <1>; 500 #address-cells = <1>;
456 #size-cells = <0>; 501 #size-cells = <0>;
457 status = "disabled"; 502 status = "disabled";
@@ -460,7 +505,7 @@
460 mmc0: mmc@fff80000 { 505 mmc0: mmc@fff80000 {
461 compatible = "atmel,hsmci"; 506 compatible = "atmel,hsmci";
462 reg = <0xfff80000 0x600>; 507 reg = <0xfff80000 0x600>;
463 interrupts = <10 4 0>; 508 interrupts = <10 IRQ_TYPE_LEVEL_HIGH 0>;
464 #address-cells = <1>; 509 #address-cells = <1>;
465 #size-cells = <0>; 510 #size-cells = <0>;
466 status = "disabled"; 511 status = "disabled";
@@ -469,7 +514,7 @@
469 mmc1: mmc@fff84000 { 514 mmc1: mmc@fff84000 {
470 compatible = "atmel,hsmci"; 515 compatible = "atmel,hsmci";
471 reg = <0xfff84000 0x600>; 516 reg = <0xfff84000 0x600>;
472 interrupts = <11 4 0>; 517 interrupts = <11 IRQ_TYPE_LEVEL_HIGH 0>;
473 #address-cells = <1>; 518 #address-cells = <1>;
474 #size-cells = <0>; 519 #size-cells = <0>;
475 status = "disabled"; 520 status = "disabled";
@@ -486,7 +531,7 @@
486 #size-cells = <0>; 531 #size-cells = <0>;
487 compatible = "atmel,at91rm9200-spi"; 532 compatible = "atmel,at91rm9200-spi";
488 reg = <0xfffa4000 0x200>; 533 reg = <0xfffa4000 0x200>;
489 interrupts = <14 4 3>; 534 interrupts = <14 IRQ_TYPE_LEVEL_HIGH 3>;
490 pinctrl-names = "default"; 535 pinctrl-names = "default";
491 pinctrl-0 = <&pinctrl_spi0>; 536 pinctrl-0 = <&pinctrl_spi0>;
492 status = "disabled"; 537 status = "disabled";
@@ -497,7 +542,7 @@
497 #size-cells = <0>; 542 #size-cells = <0>;
498 compatible = "atmel,at91rm9200-spi"; 543 compatible = "atmel,at91rm9200-spi";
499 reg = <0xfffa8000 0x200>; 544 reg = <0xfffa8000 0x200>;
500 interrupts = <15 4 3>; 545 interrupts = <15 IRQ_TYPE_LEVEL_HIGH 3>;
501 pinctrl-names = "default"; 546 pinctrl-names = "default";
502 pinctrl-0 = <&pinctrl_spi1>; 547 pinctrl-0 = <&pinctrl_spi1>;
503 status = "disabled"; 548 status = "disabled";
@@ -515,8 +560,8 @@
515 atmel,nand-cmd-offset = <22>; 560 atmel,nand-cmd-offset = <22>;
516 pinctrl-names = "default"; 561 pinctrl-names = "default";
517 pinctrl-0 = <&pinctrl_nand>; 562 pinctrl-0 = <&pinctrl_nand>;
518 gpios = <&pioA 22 0 563 gpios = <&pioA 22 GPIO_ACTIVE_HIGH
519 &pioD 15 0 564 &pioD 15 GPIO_ACTIVE_HIGH
520 0 565 0
521 >; 566 >;
522 status = "disabled"; 567 status = "disabled";
@@ -525,15 +570,15 @@
525 usb0: ohci@00a00000 { 570 usb0: ohci@00a00000 {
526 compatible = "atmel,at91rm9200-ohci", "usb-ohci"; 571 compatible = "atmel,at91rm9200-ohci", "usb-ohci";
527 reg = <0x00a00000 0x100000>; 572 reg = <0x00a00000 0x100000>;
528 interrupts = <29 4 2>; 573 interrupts = <29 IRQ_TYPE_LEVEL_HIGH 2>;
529 status = "disabled"; 574 status = "disabled";
530 }; 575 };
531 }; 576 };
532 577
533 i2c@0 { 578 i2c@0 {
534 compatible = "i2c-gpio"; 579 compatible = "i2c-gpio";
535 gpios = <&pioB 4 0 /* sda */ 580 gpios = <&pioB 4 GPIO_ACTIVE_HIGH /* sda */
536 &pioB 5 0 /* scl */ 581 &pioB 5 GPIO_ACTIVE_HIGH /* scl */
537 >; 582 >;
538 i2c-gpio,sda-open-drain; 583 i2c-gpio,sda-open-drain;
539 i2c-gpio,scl-open-drain; 584 i2c-gpio,scl-open-drain;
diff --git a/arch/arm/boot/dts/at91sam9263ek.dts b/arch/arm/boot/dts/at91sam9263ek.dts
index 3b82d91e7fcc..70f835b55c0b 100644
--- a/arch/arm/boot/dts/at91sam9263ek.dts
+++ b/arch/arm/boot/dts/at91sam9263ek.dts
@@ -6,7 +6,7 @@
6 * Licensed under GPLv2 only 6 * Licensed under GPLv2 only
7 */ 7 */
8/dts-v1/; 8/dts-v1/;
9/include/ "at91sam9263.dtsi" 9#include "at91sam9263.dtsi"
10 10
11/ { 11/ {
12 model = "Atmel at91sam9263ek"; 12 model = "Atmel at91sam9263ek";
@@ -51,7 +51,7 @@
51 }; 51 };
52 52
53 usb1: gadget@fff78000 { 53 usb1: gadget@fff78000 {
54 atmel,vbus-gpio = <&pioA 25 0>; 54 atmel,vbus-gpio = <&pioA 25 GPIO_ACTIVE_HIGH>;
55 status = "okay"; 55 status = "okay";
56 }; 56 };
57 57
@@ -65,8 +65,8 @@
65 slot@0 { 65 slot@0 {
66 reg = <0>; 66 reg = <0>;
67 bus-width = <4>; 67 bus-width = <4>;
68 cd-gpios = <&pioE 18 0>; 68 cd-gpios = <&pioE 18 GPIO_ACTIVE_HIGH>;
69 wp-gpios = <&pioE 19 0>; 69 wp-gpios = <&pioE 19 GPIO_ACTIVE_HIGH>;
70 }; 70 };
71 }; 71 };
72 72
@@ -74,8 +74,8 @@
74 mmc0 { 74 mmc0 {
75 pinctrl_board_mmc0: mmc0-board { 75 pinctrl_board_mmc0: mmc0-board {
76 atmel,pins = 76 atmel,pins =
77 <5 18 0x0 0x5 /* PE18 gpio CD pin pull up and deglitch */ 77 <AT91_PIOE 18 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH /* PE18 gpio CD pin pull up and deglitch */
78 5 19 0x0 0x1>; /* PE19 gpio WP pin pull up */ 78 AT91_PIOE 19 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>; /* PE19 gpio WP pin pull up */
79 }; 79 };
80 }; 80 };
81 }; 81 };
@@ -89,6 +89,10 @@
89 reg = <0>; 89 reg = <0>;
90 }; 90 };
91 }; 91 };
92
93 watchdog@fffffd40 {
94 status = "okay";
95 };
92 }; 96 };
93 97
94 nand0: nand@40000000 { 98 nand0: nand@40000000 {
@@ -141,8 +145,8 @@
141 usb0: ohci@00a00000 { 145 usb0: ohci@00a00000 {
142 num-ports = <2>; 146 num-ports = <2>;
143 status = "okay"; 147 status = "okay";
144 atmel,vbus-gpio = <&pioA 24 0 148 atmel,vbus-gpio = <&pioA 24 GPIO_ACTIVE_HIGH
145 &pioA 21 0 149 &pioA 21 GPIO_ACTIVE_HIGH
146 >; 150 >;
147 }; 151 };
148 }; 152 };
@@ -152,13 +156,13 @@
152 156
153 d3 { 157 d3 {
154 label = "d3"; 158 label = "d3";
155 gpios = <&pioB 7 0>; 159 gpios = <&pioB 7 GPIO_ACTIVE_HIGH>;
156 linux,default-trigger = "heartbeat"; 160 linux,default-trigger = "heartbeat";
157 }; 161 };
158 162
159 d2 { 163 d2 {
160 label = "d2"; 164 label = "d2";
161 gpios = <&pioC 29 1>; 165 gpios = <&pioC 29 GPIO_ACTIVE_LOW>;
162 linux,default-trigger = "nand-disk"; 166 linux,default-trigger = "nand-disk";
163 }; 167 };
164 }; 168 };
@@ -168,14 +172,14 @@
168 172
169 left_click { 173 left_click {
170 label = "left_click"; 174 label = "left_click";
171 gpios = <&pioC 5 1>; 175 gpios = <&pioC 5 GPIO_ACTIVE_LOW>;
172 linux,code = <272>; 176 linux,code = <272>;
173 gpio-key,wakeup; 177 gpio-key,wakeup;
174 }; 178 };
175 179
176 right_click { 180 right_click {
177 label = "right_click"; 181 label = "right_click";
178 gpios = <&pioC 4 1>; 182 gpios = <&pioC 4 GPIO_ACTIVE_LOW>;
179 linux,code = <273>; 183 linux,code = <273>;
180 gpio-key,wakeup; 184 gpio-key,wakeup;
181 }; 185 };
diff --git a/arch/arm/boot/dts/at91sam9g15.dtsi b/arch/arm/boot/dts/at91sam9g15.dtsi
index 28467fd6bf96..cfd7044616d7 100644
--- a/arch/arm/boot/dts/at91sam9g15.dtsi
+++ b/arch/arm/boot/dts/at91sam9g15.dtsi
@@ -6,7 +6,7 @@
6 * Licensed under GPLv2. 6 * Licensed under GPLv2.
7 */ 7 */
8 8
9/include/ "at91sam9x5.dtsi" 9#include "at91sam9x5.dtsi"
10 10
11/ { 11/ {
12 model = "Atmel AT91SAM9G15 SoC"; 12 model = "Atmel AT91SAM9G15 SoC";
diff --git a/arch/arm/boot/dts/at91sam9g15ek.dts b/arch/arm/boot/dts/at91sam9g15ek.dts
index 5427b2dba87e..26b0444b0f96 100644
--- a/arch/arm/boot/dts/at91sam9g15ek.dts
+++ b/arch/arm/boot/dts/at91sam9g15ek.dts
@@ -7,8 +7,8 @@
7 * Licensed under GPLv2 or later. 7 * Licensed under GPLv2 or later.
8 */ 8 */
9/dts-v1/; 9/dts-v1/;
10/include/ "at91sam9g15.dtsi" 10#include "at91sam9g15.dtsi"
11/include/ "at91sam9x5ek.dtsi" 11#include "at91sam9x5ek.dtsi"
12 12
13/ { 13/ {
14 model = "Atmel AT91SAM9G15-EK"; 14 model = "Atmel AT91SAM9G15-EK";
diff --git a/arch/arm/boot/dts/at91sam9g20.dtsi b/arch/arm/boot/dts/at91sam9g20.dtsi
index 75ce6e760016..b8e79466014f 100644
--- a/arch/arm/boot/dts/at91sam9g20.dtsi
+++ b/arch/arm/boot/dts/at91sam9g20.dtsi
@@ -6,7 +6,7 @@
6 * Licensed under GPLv2. 6 * Licensed under GPLv2.
7 */ 7 */
8 8
9/include/ "at91sam9260.dtsi" 9#include "at91sam9260.dtsi"
10 10
11/ { 11/ {
12 model = "Atmel AT91SAM9G20 family SoC"; 12 model = "Atmel AT91SAM9G20 family SoC";
diff --git a/arch/arm/boot/dts/at91sam9g20ek.dts b/arch/arm/boot/dts/at91sam9g20ek.dts
index e5324bf9d529..bbfd753112c9 100644
--- a/arch/arm/boot/dts/at91sam9g20ek.dts
+++ b/arch/arm/boot/dts/at91sam9g20ek.dts
@@ -6,7 +6,7 @@
6 * Licensed under GPLv2. 6 * Licensed under GPLv2.
7 */ 7 */
8/dts-v1/; 8/dts-v1/;
9/include/ "at91sam9g20ek_common.dtsi" 9#include "at91sam9g20ek_common.dtsi"
10 10
11/ { 11/ {
12 model = "Atmel at91sam9g20ek"; 12 model = "Atmel at91sam9g20ek";
@@ -17,13 +17,13 @@
17 17
18 ds1 { 18 ds1 {
19 label = "ds1"; 19 label = "ds1";
20 gpios = <&pioA 9 0>; 20 gpios = <&pioA 9 GPIO_ACTIVE_HIGH>;
21 linux,default-trigger = "heartbeat"; 21 linux,default-trigger = "heartbeat";
22 }; 22 };
23 23
24 ds5 { 24 ds5 {
25 label = "ds5"; 25 label = "ds5";
26 gpios = <&pioA 6 1>; 26 gpios = <&pioA 6 GPIO_ACTIVE_LOW>;
27 }; 27 };
28 }; 28 };
29}; 29};
diff --git a/arch/arm/boot/dts/at91sam9g20ek_2mmc.dts b/arch/arm/boot/dts/at91sam9g20ek_2mmc.dts
index 66467b113126..bdb799bad179 100644
--- a/arch/arm/boot/dts/at91sam9g20ek_2mmc.dts
+++ b/arch/arm/boot/dts/at91sam9g20ek_2mmc.dts
@@ -6,7 +6,7 @@
6 * Licensed under GPLv2. 6 * Licensed under GPLv2.
7 */ 7 */
8/dts-v1/; 8/dts-v1/;
9/include/ "at91sam9g20ek_common.dtsi" 9#include "at91sam9g20ek_common.dtsi"
10 10
11/ { 11/ {
12 model = "Atmel at91sam9g20ek 2 mmc"; 12 model = "Atmel at91sam9g20ek 2 mmc";
@@ -23,7 +23,7 @@
23 slot@0 { 23 slot@0 {
24 reg = <0>; 24 reg = <0>;
25 bus-width = <4>; 25 bus-width = <4>;
26 cd-gpios = <&pioC 2 0>; 26 cd-gpios = <&pioC 2 GPIO_ACTIVE_HIGH>;
27 }; 27 };
28 }; 28 };
29 29
@@ -31,7 +31,7 @@
31 mmc0_slot0 { 31 mmc0_slot0 {
32 pinctrl_board_mmc0_slot0: mmc0_slot0-board { 32 pinctrl_board_mmc0_slot0: mmc0_slot0-board {
33 atmel,pins = 33 atmel,pins =
34 <2 2 0x0 0x5>; /* PC2 gpio CD pin pull up and deglitch */ 34 <AT91_PIOC 2 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; /* PC2 gpio CD pin pull up and deglitch */
35 }; 35 };
36 }; 36 };
37 }; 37 };
@@ -43,13 +43,13 @@
43 43
44 ds1 { 44 ds1 {
45 label = "ds1"; 45 label = "ds1";
46 gpios = <&pioB 9 0>; 46 gpios = <&pioB 9 GPIO_ACTIVE_HIGH>;
47 linux,default-trigger = "heartbeat"; 47 linux,default-trigger = "heartbeat";
48 }; 48 };
49 49
50 ds5 { 50 ds5 {
51 label = "ds5"; 51 label = "ds5";
52 gpios = <&pioB 8 1>; 52 gpios = <&pioB 8 GPIO_ACTIVE_LOW>;
53 }; 53 };
54 }; 54 };
55}; 55};
diff --git a/arch/arm/boot/dts/at91sam9g20ek_common.dtsi b/arch/arm/boot/dts/at91sam9g20ek_common.dtsi
index 6a92c5baef8c..137354689ad0 100644
--- a/arch/arm/boot/dts/at91sam9g20ek_common.dtsi
+++ b/arch/arm/boot/dts/at91sam9g20ek_common.dtsi
@@ -5,7 +5,7 @@
5 * 5 *
6 * Licensed under GPLv2. 6 * Licensed under GPLv2.
7 */ 7 */
8/include/ "at91sam9g20.dtsi" 8#include "at91sam9g20.dtsi"
9 9
10/ { 10/ {
11 11
@@ -34,10 +34,17 @@
34 board { 34 board {
35 pinctrl_pck0_as_mck: pck0_as_mck { 35 pinctrl_pck0_as_mck: pck0_as_mck {
36 atmel,pins = 36 atmel,pins =
37 <2 1 0x2 0x0>; /* PC1 periph B */ 37 <AT91_PIOC 1 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC1 periph B */
38 }; 38 };
39 39
40 }; 40 };
41
42 mmc0_slot1 {
43 pinctrl_board_mmc0_slot1: mmc0_slot1-board {
44 atmel,pins =
45 <AT91_PIOC 9 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; /* PC9 gpio CD pin pull up and deglitch */
46 };
47 };
41 }; 48 };
42 49
43 dbgu: serial@fffff200 { 50 dbgu: serial@fffff200 {
@@ -65,7 +72,7 @@
65 }; 72 };
66 73
67 usb1: gadget@fffa4000 { 74 usb1: gadget@fffa4000 {
68 atmel,vbus-gpio = <&pioC 5 0>; 75 atmel,vbus-gpio = <&pioC 5 GPIO_ACTIVE_HIGH>;
69 status = "okay"; 76 status = "okay";
70 }; 77 };
71 78
@@ -79,16 +86,7 @@
79 slot@1 { 86 slot@1 {
80 reg = <1>; 87 reg = <1>;
81 bus-width = <4>; 88 bus-width = <4>;
82 cd-gpios = <&pioC 9 0>; 89 cd-gpios = <&pioC 9 GPIO_ACTIVE_HIGH>;
83 };
84 };
85
86 pinctrl@fffff400 {
87 mmc0_slot1 {
88 pinctrl_board_mmc0_slot1: mmc0_slot1-board {
89 atmel,pins =
90 <2 9 0x0 0x5>; /* PC9 gpio CD pin pull up and deglitch */
91 };
92 }; 90 };
93 }; 91 };
94 92
@@ -106,6 +104,10 @@
106 reg = <1>; 104 reg = <1>;
107 }; 105 };
108 }; 106 };
107
108 watchdog@fffffd40 {
109 status = "okay";
110 };
109 }; 111 };
110 112
111 nand0: nand@40000000 { 113 nand0: nand@40000000 {
@@ -180,14 +182,14 @@
180 182
181 btn3 { 183 btn3 {
182 label = "Button 3"; 184 label = "Button 3";
183 gpios = <&pioA 30 1>; 185 gpios = <&pioA 30 GPIO_ACTIVE_LOW>;
184 linux,code = <0x103>; 186 linux,code = <0x103>;
185 gpio-key,wakeup; 187 gpio-key,wakeup;
186 }; 188 };
187 189
188 btn4 { 190 btn4 {
189 label = "Button 4"; 191 label = "Button 4";
190 gpios = <&pioA 31 1>; 192 gpios = <&pioA 31 GPIO_ACTIVE_LOW>;
191 linux,code = <0x104>; 193 linux,code = <0x104>;
192 gpio-key,wakeup; 194 gpio-key,wakeup;
193 }; 195 };
diff --git a/arch/arm/boot/dts/at91sam9g25.dtsi b/arch/arm/boot/dts/at91sam9g25.dtsi
index 5fd32df03f25..b4ec6fe53fc7 100644
--- a/arch/arm/boot/dts/at91sam9g25.dtsi
+++ b/arch/arm/boot/dts/at91sam9g25.dtsi
@@ -6,7 +6,7 @@
6 * Licensed under GPLv2. 6 * Licensed under GPLv2.
7 */ 7 */
8 8
9/include/ "at91sam9x5.dtsi" 9#include "at91sam9x5.dtsi"
10 10
11/ { 11/ {
12 model = "Atmel AT91SAM9G25 SoC"; 12 model = "Atmel AT91SAM9G25 SoC";
diff --git a/arch/arm/boot/dts/at91sam9g25ek.dts b/arch/arm/boot/dts/at91sam9g25ek.dts
index a1c511fecdc1..1e4c49c584d3 100644
--- a/arch/arm/boot/dts/at91sam9g25ek.dts
+++ b/arch/arm/boot/dts/at91sam9g25ek.dts
@@ -7,8 +7,8 @@
7 * Licensed under GPLv2 or later. 7 * Licensed under GPLv2 or later.
8 */ 8 */
9/dts-v1/; 9/dts-v1/;
10/include/ "at91sam9g25.dtsi" 10#include "at91sam9g25.dtsi"
11/include/ "at91sam9x5ek.dtsi" 11#include "at91sam9x5ek.dtsi"
12 12
13/ { 13/ {
14 model = "Atmel AT91SAM9G25-EK"; 14 model = "Atmel AT91SAM9G25-EK";
diff --git a/arch/arm/boot/dts/at91sam9g35.dtsi b/arch/arm/boot/dts/at91sam9g35.dtsi
index d6fa8af50724..bebf9f55614b 100644
--- a/arch/arm/boot/dts/at91sam9g35.dtsi
+++ b/arch/arm/boot/dts/at91sam9g35.dtsi
@@ -6,7 +6,7 @@
6 * Licensed under GPLv2. 6 * Licensed under GPLv2.
7 */ 7 */
8 8
9/include/ "at91sam9x5.dtsi" 9#include "at91sam9x5.dtsi"
10 10
11/ { 11/ {
12 model = "Atmel AT91SAM9G35 SoC"; 12 model = "Atmel AT91SAM9G35 SoC";
diff --git a/arch/arm/boot/dts/at91sam9g35ek.dts b/arch/arm/boot/dts/at91sam9g35ek.dts
index 6f58ab8d21f5..641a9bf89ed1 100644
--- a/arch/arm/boot/dts/at91sam9g35ek.dts
+++ b/arch/arm/boot/dts/at91sam9g35ek.dts
@@ -7,8 +7,8 @@
7 * Licensed under GPLv2 or later. 7 * Licensed under GPLv2 or later.
8 */ 8 */
9/dts-v1/; 9/dts-v1/;
10/include/ "at91sam9g35.dtsi" 10#include "at91sam9g35.dtsi"
11/include/ "at91sam9x5ek.dtsi" 11#include "at91sam9x5ek.dtsi"
12 12
13/ { 13/ {
14 model = "Atmel AT91SAM9G35-EK"; 14 model = "Atmel AT91SAM9G35-EK";
diff --git a/arch/arm/boot/dts/at91sam9g45.dtsi b/arch/arm/boot/dts/at91sam9g45.dtsi
index bf18a735c37d..a03d0c05d027 100644
--- a/arch/arm/boot/dts/at91sam9g45.dtsi
+++ b/arch/arm/boot/dts/at91sam9g45.dtsi
@@ -9,7 +9,10 @@
9 * Licensed under GPLv2 or later. 9 * Licensed under GPLv2 or later.
10 */ 10 */
11 11
12/include/ "skeleton.dtsi" 12#include "skeleton.dtsi"
13#include <dt-bindings/pinctrl/at91.h>
14#include <dt-bindings/interrupt-controller/irq.h>
15#include <dt-bindings/gpio/gpio.h>
13 16
14/ { 17/ {
15 model = "Atmel AT91SAM9G45 family SoC"; 18 model = "Atmel AT91SAM9G45 family SoC";
@@ -35,8 +38,12 @@
35 ssc1 = &ssc1; 38 ssc1 = &ssc1;
36 }; 39 };
37 cpus { 40 cpus {
38 cpu@0 { 41 #address-cells = <0>;
39 compatible = "arm,arm926ejs"; 42 #size-cells = <0>;
43
44 cpu {
45 compatible = "arm,arm926ej-s";
46 device_type = "cpu";
40 }; 47 };
41 }; 48 };
42 49
@@ -83,7 +90,7 @@
83 pit: timer@fffffd30 { 90 pit: timer@fffffd30 {
84 compatible = "atmel,at91sam9260-pit"; 91 compatible = "atmel,at91sam9260-pit";
85 reg = <0xfffffd30 0xf>; 92 reg = <0xfffffd30 0xf>;
86 interrupts = <1 4 7>; 93 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
87 }; 94 };
88 95
89 96
@@ -95,19 +102,19 @@
95 tcb0: timer@fff7c000 { 102 tcb0: timer@fff7c000 {
96 compatible = "atmel,at91rm9200-tcb"; 103 compatible = "atmel,at91rm9200-tcb";
97 reg = <0xfff7c000 0x100>; 104 reg = <0xfff7c000 0x100>;
98 interrupts = <18 4 0>; 105 interrupts = <18 IRQ_TYPE_LEVEL_HIGH 0>;
99 }; 106 };
100 107
101 tcb1: timer@fffd4000 { 108 tcb1: timer@fffd4000 {
102 compatible = "atmel,at91rm9200-tcb"; 109 compatible = "atmel,at91rm9200-tcb";
103 reg = <0xfffd4000 0x100>; 110 reg = <0xfffd4000 0x100>;
104 interrupts = <18 4 0>; 111 interrupts = <18 IRQ_TYPE_LEVEL_HIGH 0>;
105 }; 112 };
106 113
107 dma: dma-controller@ffffec00 { 114 dma: dma-controller@ffffec00 {
108 compatible = "atmel,at91sam9g45-dma"; 115 compatible = "atmel,at91sam9g45-dma";
109 reg = <0xffffec00 0x200>; 116 reg = <0xffffec00 0x200>;
110 interrupts = <21 4 0>; 117 interrupts = <21 IRQ_TYPE_LEVEL_HIGH 0>;
111 #dma-cells = <2>; 118 #dma-cells = <2>;
112 }; 119 };
113 120
@@ -130,221 +137,297 @@
130 dbgu { 137 dbgu {
131 pinctrl_dbgu: dbgu-0 { 138 pinctrl_dbgu: dbgu-0 {
132 atmel,pins = 139 atmel,pins =
133 <1 12 0x1 0x0 /* PB12 periph A */ 140 <AT91_PIOB 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB12 periph A */
134 1 13 0x1 0x0>; /* PB13 periph A */ 141 AT91_PIOB 13 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB13 periph A */
135 }; 142 };
136 }; 143 };
137 144
138 usart0 { 145 usart0 {
139 pinctrl_usart0: usart0-0 { 146 pinctrl_usart0: usart0-0 {
140 atmel,pins = 147 atmel,pins =
141 <1 19 0x1 0x1 /* PB19 periph A with pullup */ 148 <AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PB19 periph A with pullup */
142 1 18 0x1 0x0>; /* PB18 periph A */ 149 AT91_PIOB 18 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB18 periph A */
143 }; 150 };
144 151
145 pinctrl_usart0_rts: usart0_rts-0 { 152 pinctrl_usart0_rts: usart0_rts-0 {
146 atmel,pins = 153 atmel,pins =
147 <1 17 0x2 0x0>; /* PB17 periph B */ 154 <AT91_PIOB 17 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PB17 periph B */
148 }; 155 };
149 156
150 pinctrl_usart0_cts: usart0_cts-0 { 157 pinctrl_usart0_cts: usart0_cts-0 {
151 atmel,pins = 158 atmel,pins =
152 <1 15 0x2 0x0>; /* PB15 periph B */ 159 <AT91_PIOB 15 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PB15 periph B */
153 }; 160 };
154 }; 161 };
155 162
156 uart1 { 163 uart1 {
157 pinctrl_usart1: usart1-0 { 164 pinctrl_usart1: usart1-0 {
158 atmel,pins = 165 atmel,pins =
159 <1 4 0x1 0x1 /* PB4 periph A with pullup */ 166 <AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PB4 periph A with pullup */
160 1 5 0x1 0x0>; /* PB5 periph A */ 167 AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB5 periph A */
161 }; 168 };
162 169
163 pinctrl_usart1_rts: usart1_rts-0 { 170 pinctrl_usart1_rts: usart1_rts-0 {
164 atmel,pins = 171 atmel,pins =
165 <3 16 0x1 0x0>; /* PD16 periph A */ 172 <AT91_PIOD 16 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD16 periph A */
166 }; 173 };
167 174
168 pinctrl_usart1_cts: usart1_cts-0 { 175 pinctrl_usart1_cts: usart1_cts-0 {
169 atmel,pins = 176 atmel,pins =
170 <3 17 0x1 0x0>; /* PD17 periph A */ 177 <AT91_PIOD 17 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD17 periph A */
171 }; 178 };
172 }; 179 };
173 180
174 usart2 { 181 usart2 {
175 pinctrl_usart2: usart2-0 { 182 pinctrl_usart2: usart2-0 {
176 atmel,pins = 183 atmel,pins =
177 <1 6 0x1 0x1 /* PB6 periph A with pullup */ 184 <AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PB6 periph A with pullup */
178 1 7 0x1 0x0>; /* PB7 periph A */ 185 AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB7 periph A */
179 }; 186 };
180 187
181 pinctrl_usart2_rts: usart2_rts-0 { 188 pinctrl_usart2_rts: usart2_rts-0 {
182 atmel,pins = 189 atmel,pins =
183 <2 9 0x2 0x0>; /* PC9 periph B */ 190 <AT91_PIOC 9 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC9 periph B */
184 }; 191 };
185 192
186 pinctrl_usart2_cts: usart2_cts-0 { 193 pinctrl_usart2_cts: usart2_cts-0 {
187 atmel,pins = 194 atmel,pins =
188 <2 11 0x2 0x0>; /* PC11 periph B */ 195 <AT91_PIOC 11 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC11 periph B */
189 }; 196 };
190 }; 197 };
191 198
192 usart3 { 199 usart3 {
193 pinctrl_usart3: usart3-0 { 200 pinctrl_usart3: usart3-0 {
194 atmel,pins = 201 atmel,pins =
195 <1 8 0x1 0x1 /* PB9 periph A with pullup */ 202 <AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PB9 periph A with pullup */
196 1 9 0x1 0x0>; /* PB8 periph A */ 203 AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB8 periph A */
197 }; 204 };
198 205
199 pinctrl_usart3_rts: usart3_rts-0 { 206 pinctrl_usart3_rts: usart3_rts-0 {
200 atmel,pins = 207 atmel,pins =
201 <0 23 0x2 0x0>; /* PA23 periph B */ 208 <AT91_PIOA 23 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PA23 periph B */
202 }; 209 };
203 210
204 pinctrl_usart3_cts: usart3_cts-0 { 211 pinctrl_usart3_cts: usart3_cts-0 {
205 atmel,pins = 212 atmel,pins =
206 <0 24 0x2 0x0>; /* PA24 periph B */ 213 <AT91_PIOA 24 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PA24 periph B */
207 }; 214 };
208 }; 215 };
209 216
210 nand { 217 nand {
211 pinctrl_nand: nand-0 { 218 pinctrl_nand: nand-0 {
212 atmel,pins = 219 atmel,pins =
213 <2 8 0x0 0x1 /* PC8 gpio RDY pin pull_up*/ 220 <AT91_PIOC 8 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP /* PC8 gpio RDY pin pull_up*/
214 2 14 0x0 0x1>; /* PC14 gpio enable pin pull_up */ 221 AT91_PIOC 14 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>; /* PC14 gpio enable pin pull_up */
215 }; 222 };
216 }; 223 };
217 224
218 macb { 225 macb {
219 pinctrl_macb_rmii: macb_rmii-0 { 226 pinctrl_macb_rmii: macb_rmii-0 {
220 atmel,pins = 227 atmel,pins =
221 <0 10 0x1 0x0 /* PA10 periph A */ 228 <AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA10 periph A */
222 0 11 0x1 0x0 /* PA11 periph A */ 229 AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA11 periph A */
223 0 12 0x1 0x0 /* PA12 periph A */ 230 AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA12 periph A */
224 0 13 0x1 0x0 /* PA13 periph A */ 231 AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA13 periph A */
225 0 14 0x1 0x0 /* PA14 periph A */ 232 AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA14 periph A */
226 0 15 0x1 0x0 /* PA15 periph A */ 233 AT91_PIOA 15 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA15 periph A */
227 0 16 0x1 0x0 /* PA16 periph A */ 234 AT91_PIOA 16 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA16 periph A */
228 0 17 0x1 0x0 /* PA17 periph A */ 235 AT91_PIOA 17 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA17 periph A */
229 0 18 0x1 0x0 /* PA18 periph A */ 236 AT91_PIOA 18 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA18 periph A */
230 0 19 0x1 0x0>; /* PA19 periph A */ 237 AT91_PIOA 19 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA19 periph A */
231 }; 238 };
232 239
233 pinctrl_macb_rmii_mii: macb_rmii_mii-0 { 240 pinctrl_macb_rmii_mii: macb_rmii_mii-0 {
234 atmel,pins = 241 atmel,pins =
235 <0 6 0x2 0x0 /* PA6 periph B */ 242 <AT91_PIOA 6 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA6 periph B */
236 0 7 0x2 0x0 /* PA7 periph B */ 243 AT91_PIOA 7 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA7 periph B */
237 0 8 0x2 0x0 /* PA8 periph B */ 244 AT91_PIOA 8 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA8 periph B */
238 0 9 0x2 0x0 /* PA9 periph B */ 245 AT91_PIOA 9 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA9 periph B */
239 0 27 0x2 0x0 /* PA27 periph B */ 246 AT91_PIOA 27 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA27 periph B */
240 0 28 0x2 0x0 /* PA28 periph B */ 247 AT91_PIOA 28 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA28 periph B */
241 0 29 0x2 0x0 /* PA29 periph B */ 248 AT91_PIOA 29 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA29 periph B */
242 0 30 0x2 0x0>; /* PA30 periph B */ 249 AT91_PIOA 30 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PA30 periph B */
243 }; 250 };
244 }; 251 };
245 252
246 mmc0 { 253 mmc0 {
247 pinctrl_mmc0_slot0_clk_cmd_dat0: mmc0_slot0_clk_cmd_dat0-0 { 254 pinctrl_mmc0_slot0_clk_cmd_dat0: mmc0_slot0_clk_cmd_dat0-0 {
248 atmel,pins = 255 atmel,pins =
249 <0 0 0x1 0x0 /* PA0 periph A */ 256 <AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA0 periph A */
250 0 1 0x1 0x1 /* PA1 periph A with pullup */ 257 AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA1 periph A with pullup */
251 0 2 0x1 0x1>; /* PA2 periph A with pullup */ 258 AT91_PIOA 2 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PA2 periph A with pullup */
252 }; 259 };
253 260
254 pinctrl_mmc0_slot0_dat1_3: mmc0_slot0_dat1_3-0 { 261 pinctrl_mmc0_slot0_dat1_3: mmc0_slot0_dat1_3-0 {
255 atmel,pins = 262 atmel,pins =
256 <0 3 0x1 0x1 /* PA3 periph A with pullup */ 263 <AT91_PIOA 3 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA3 periph A with pullup */
257 0 4 0x1 0x1 /* PA4 periph A with pullup */ 264 AT91_PIOA 4 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA4 periph A with pullup */
258 0 5 0x1 0x1>; /* PA5 periph A with pullup */ 265 AT91_PIOA 5 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PA5 periph A with pullup */
259 }; 266 };
260 267
261 pinctrl_mmc0_slot0_dat4_7: mmc0_slot0_dat4_7-0 { 268 pinctrl_mmc0_slot0_dat4_7: mmc0_slot0_dat4_7-0 {
262 atmel,pins = 269 atmel,pins =
263 <0 6 0x1 0x1 /* PA6 periph A with pullup */ 270 <AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA6 periph A with pullup */
264 0 7 0x1 0x1 /* PA7 periph A with pullup */ 271 AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA7 periph A with pullup */
265 0 8 0x1 0x1 /* PA8 periph A with pullup */ 272 AT91_PIOA 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA8 periph A with pullup */
266 0 9 0x1 0x1>; /* PA9 periph A with pullup */ 273 AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PA9 periph A with pullup */
267 }; 274 };
268 }; 275 };
269 276
270 mmc1 { 277 mmc1 {
271 pinctrl_mmc1_slot0_clk_cmd_dat0: mmc1_slot0_clk_cmd_dat0-0 { 278 pinctrl_mmc1_slot0_clk_cmd_dat0: mmc1_slot0_clk_cmd_dat0-0 {
272 atmel,pins = 279 atmel,pins =
273 <0 31 0x1 0x0 /* PA31 periph A */ 280 <AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA31 periph A */
274 0 22 0x1 0x1 /* PA22 periph A with pullup */ 281 AT91_PIOA 22 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA22 periph A with pullup */
275 0 23 0x1 0x1>; /* PA23 periph A with pullup */ 282 AT91_PIOA 23 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PA23 periph A with pullup */
276 }; 283 };
277 284
278 pinctrl_mmc1_slot0_dat1_3: mmc1_slot0_dat1_3-0 { 285 pinctrl_mmc1_slot0_dat1_3: mmc1_slot0_dat1_3-0 {
279 atmel,pins = 286 atmel,pins =
280 <0 24 0x1 0x1 /* PA24 periph A with pullup */ 287 <AT91_PIOA 24 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA24 periph A with pullup */
281 0 25 0x1 0x1 /* PA25 periph A with pullup */ 288 AT91_PIOA 25 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA25 periph A with pullup */
282 0 26 0x1 0x1>; /* PA26 periph A with pullup */ 289 AT91_PIOA 26 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PA26 periph A with pullup */
283 }; 290 };
284 291
285 pinctrl_mmc1_slot0_dat4_7: mmc1_slot0_dat4_7-0 { 292 pinctrl_mmc1_slot0_dat4_7: mmc1_slot0_dat4_7-0 {
286 atmel,pins = 293 atmel,pins =
287 <0 27 0x1 0x1 /* PA27 periph A with pullup */ 294 <AT91_PIOA 27 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA27 periph A with pullup */
288 0 28 0x1 0x1 /* PA28 periph A with pullup */ 295 AT91_PIOA 28 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA28 periph A with pullup */
289 0 29 0x1 0x1 /* PA29 periph A with pullup */ 296 AT91_PIOA 29 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA29 periph A with pullup */
290 0 20 0x1 0x1>; /* PA30 periph A with pullup */ 297 AT91_PIOA 20 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PA30 periph A with pullup */
291 }; 298 };
292 }; 299 };
293 300
294 ssc0 { 301 ssc0 {
295 pinctrl_ssc0_tx: ssc0_tx-0 { 302 pinctrl_ssc0_tx: ssc0_tx-0 {
296 atmel,pins = 303 atmel,pins =
297 <3 0 0x1 0x0 /* PD0 periph A */ 304 <AT91_PIOD 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD0 periph A */
298 3 1 0x1 0x0 /* PD1 periph A */ 305 AT91_PIOD 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD1 periph A */
299 3 2 0x1 0x0>; /* PD2 periph A */ 306 AT91_PIOD 2 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD2 periph A */
300 }; 307 };
301 308
302 pinctrl_ssc0_rx: ssc0_rx-0 { 309 pinctrl_ssc0_rx: ssc0_rx-0 {
303 atmel,pins = 310 atmel,pins =
304 <3 3 0x1 0x0 /* PD3 periph A */ 311 <AT91_PIOD 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD3 periph A */
305 3 4 0x1 0x0 /* PD4 periph A */ 312 AT91_PIOD 4 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD4 periph A */
306 3 5 0x1 0x0>; /* PD5 periph A */ 313 AT91_PIOD 5 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD5 periph A */
307 }; 314 };
308 }; 315 };
309 316
310 ssc1 { 317 ssc1 {
311 pinctrl_ssc1_tx: ssc1_tx-0 { 318 pinctrl_ssc1_tx: ssc1_tx-0 {
312 atmel,pins = 319 atmel,pins =
313 <3 10 0x1 0x0 /* PD10 periph A */ 320 <AT91_PIOD 10 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD10 periph A */
314 3 11 0x1 0x0 /* PD11 periph A */ 321 AT91_PIOD 11 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD11 periph A */
315 3 12 0x1 0x0>; /* PD12 periph A */ 322 AT91_PIOD 12 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD12 periph A */
316 }; 323 };
317 324
318 pinctrl_ssc1_rx: ssc1_rx-0 { 325 pinctrl_ssc1_rx: ssc1_rx-0 {
319 atmel,pins = 326 atmel,pins =
320 <3 13 0x1 0x0 /* PD13 periph A */ 327 <AT91_PIOD 13 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD13 periph A */
321 3 14 0x1 0x0 /* PD14 periph A */ 328 AT91_PIOD 14 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD14 periph A */
322 3 15 0x1 0x0>; /* PD15 periph A */ 329 AT91_PIOD 15 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD15 periph A */
323 }; 330 };
324 }; 331 };
325 332
326 spi0 { 333 spi0 {
327 pinctrl_spi0: spi0-0 { 334 pinctrl_spi0: spi0-0 {
328 atmel,pins = 335 atmel,pins =
329 <1 0 0x1 0x0 /* PB0 periph A SPI0_MISO pin */ 336 <AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB0 periph A SPI0_MISO pin */
330 1 1 0x1 0x0 /* PB1 periph A SPI0_MOSI pin */ 337 AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB1 periph A SPI0_MOSI pin */
331 1 2 0x1 0x0>; /* PB2 periph A SPI0_SPCK pin */ 338 AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB2 periph A SPI0_SPCK pin */
332 }; 339 };
333 }; 340 };
334 341
335 spi1 { 342 spi1 {
336 pinctrl_spi1: spi1-0 { 343 pinctrl_spi1: spi1-0 {
337 atmel,pins = 344 atmel,pins =
338 <1 14 0x1 0x0 /* PB14 periph A SPI1_MISO pin */ 345 <AT91_PIOB 14 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB14 periph A SPI1_MISO pin */
339 1 15 0x1 0x0 /* PB15 periph A SPI1_MOSI pin */ 346 AT91_PIOB 15 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB15 periph A SPI1_MOSI pin */
340 1 16 0x1 0x0>; /* PB16 periph A SPI1_SPCK pin */ 347 AT91_PIOB 16 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB16 periph A SPI1_SPCK pin */
348 };
349 };
350
351 tcb0 {
352 pinctrl_tcb0_tclk0: tcb0_tclk0-0 {
353 atmel,pins = <AT91_PIOD 23 AT91_PERIPH_A AT91_PINCTRL_NONE>;
354 };
355
356 pinctrl_tcb0_tclk1: tcb0_tclk1-0 {
357 atmel,pins = <AT91_PIOD 29 AT91_PERIPH_A AT91_PINCTRL_NONE>;
358 };
359
360 pinctrl_tcb0_tclk2: tcb0_tclk2-0 {
361 atmel,pins = <AT91_PIOC 10 AT91_PERIPH_B AT91_PINCTRL_NONE>;
362 };
363
364 pinctrl_tcb0_tioa0: tcb0_tioa0-0 {
365 atmel,pins = <AT91_PIOD 20 AT91_PERIPH_A AT91_PINCTRL_NONE>;
366 };
367
368 pinctrl_tcb0_tioa1: tcb0_tioa1-0 {
369 atmel,pins = <AT91_PIOD 21 AT91_PERIPH_A AT91_PINCTRL_NONE>;
370 };
371
372 pinctrl_tcb0_tioa2: tcb0_tioa2-0 {
373 atmel,pins = <AT91_PIOD 22 AT91_PERIPH_A AT91_PINCTRL_NONE>;
374 };
375
376 pinctrl_tcb0_tiob0: tcb0_tiob0-0 {
377 atmel,pins = <AT91_PIOD 30 AT91_PERIPH_A AT91_PINCTRL_NONE>;
378 };
379
380 pinctrl_tcb0_tiob1: tcb0_tiob1-0 {
381 atmel,pins = <AT91_PIOD 31 AT91_PERIPH_A AT91_PINCTRL_NONE>;
382 };
383
384 pinctrl_tcb0_tiob2: tcb0_tiob2-0 {
385 atmel,pins = <AT91_PIOA 26 AT91_PERIPH_B AT91_PINCTRL_NONE>;
386 };
387 };
388
389 tcb1 {
390 pinctrl_tcb1_tclk0: tcb1_tclk0-0 {
391 atmel,pins = <AT91_PIOA 0 AT91_PERIPH_B AT91_PINCTRL_NONE>;
392 };
393
394 pinctrl_tcb1_tclk1: tcb1_tclk1-0 {
395 atmel,pins = <AT91_PIOA 3 AT91_PERIPH_B AT91_PINCTRL_NONE>;
396 };
397
398 pinctrl_tcb1_tclk2: tcb1_tclk2-0 {
399 atmel,pins = <AT91_PIOD 9 AT91_PERIPH_B AT91_PINCTRL_NONE>;
400 };
401
402 pinctrl_tcb1_tioa0: tcb1_tioa0-0 {
403 atmel,pins = <AT91_PIOA 1 AT91_PERIPH_B AT91_PINCTRL_NONE>;
404 };
405
406 pinctrl_tcb1_tioa1: tcb1_tioa1-0 {
407 atmel,pins = <AT91_PIOA 4 AT91_PERIPH_B AT91_PINCTRL_NONE>;
408 };
409
410 pinctrl_tcb1_tioa2: tcb1_tioa2-0 {
411 atmel,pins = <AT91_PIOD 7 AT91_PERIPH_B AT91_PINCTRL_NONE>;
412 };
413
414 pinctrl_tcb1_tiob0: tcb1_tiob0-0 {
415 atmel,pins = <AT91_PIOA 2 AT91_PERIPH_B AT91_PINCTRL_NONE>;
416 };
417
418 pinctrl_tcb1_tiob1: tcb1_tiob1-0 {
419 atmel,pins = <AT91_PIOA 5 AT91_PERIPH_B AT91_PINCTRL_NONE>;
420 };
421
422 pinctrl_tcb1_tiob2: tcb1_tiob2-0 {
423 atmel,pins = <AT91_PIOD 8 AT91_PERIPH_B AT91_PINCTRL_NONE>;
341 }; 424 };
342 }; 425 };
343 426
344 pioA: gpio@fffff200 { 427 pioA: gpio@fffff200 {
345 compatible = "atmel,at91rm9200-gpio"; 428 compatible = "atmel,at91rm9200-gpio";
346 reg = <0xfffff200 0x200>; 429 reg = <0xfffff200 0x200>;
347 interrupts = <2 4 1>; 430 interrupts = <2 IRQ_TYPE_LEVEL_HIGH 1>;
348 #gpio-cells = <2>; 431 #gpio-cells = <2>;
349 gpio-controller; 432 gpio-controller;
350 interrupt-controller; 433 interrupt-controller;
@@ -354,7 +437,7 @@
354 pioB: gpio@fffff400 { 437 pioB: gpio@fffff400 {
355 compatible = "atmel,at91rm9200-gpio"; 438 compatible = "atmel,at91rm9200-gpio";
356 reg = <0xfffff400 0x200>; 439 reg = <0xfffff400 0x200>;
357 interrupts = <3 4 1>; 440 interrupts = <3 IRQ_TYPE_LEVEL_HIGH 1>;
358 #gpio-cells = <2>; 441 #gpio-cells = <2>;
359 gpio-controller; 442 gpio-controller;
360 interrupt-controller; 443 interrupt-controller;
@@ -364,7 +447,7 @@
364 pioC: gpio@fffff600 { 447 pioC: gpio@fffff600 {
365 compatible = "atmel,at91rm9200-gpio"; 448 compatible = "atmel,at91rm9200-gpio";
366 reg = <0xfffff600 0x200>; 449 reg = <0xfffff600 0x200>;
367 interrupts = <4 4 1>; 450 interrupts = <4 IRQ_TYPE_LEVEL_HIGH 1>;
368 #gpio-cells = <2>; 451 #gpio-cells = <2>;
369 gpio-controller; 452 gpio-controller;
370 interrupt-controller; 453 interrupt-controller;
@@ -374,7 +457,7 @@
374 pioD: gpio@fffff800 { 457 pioD: gpio@fffff800 {
375 compatible = "atmel,at91rm9200-gpio"; 458 compatible = "atmel,at91rm9200-gpio";
376 reg = <0xfffff800 0x200>; 459 reg = <0xfffff800 0x200>;
377 interrupts = <5 4 1>; 460 interrupts = <5 IRQ_TYPE_LEVEL_HIGH 1>;
378 #gpio-cells = <2>; 461 #gpio-cells = <2>;
379 gpio-controller; 462 gpio-controller;
380 interrupt-controller; 463 interrupt-controller;
@@ -384,7 +467,7 @@
384 pioE: gpio@fffffa00 { 467 pioE: gpio@fffffa00 {
385 compatible = "atmel,at91rm9200-gpio"; 468 compatible = "atmel,at91rm9200-gpio";
386 reg = <0xfffffa00 0x200>; 469 reg = <0xfffffa00 0x200>;
387 interrupts = <5 4 1>; 470 interrupts = <5 IRQ_TYPE_LEVEL_HIGH 1>;
388 #gpio-cells = <2>; 471 #gpio-cells = <2>;
389 gpio-controller; 472 gpio-controller;
390 interrupt-controller; 473 interrupt-controller;
@@ -395,7 +478,7 @@
395 dbgu: serial@ffffee00 { 478 dbgu: serial@ffffee00 {
396 compatible = "atmel,at91sam9260-usart"; 479 compatible = "atmel,at91sam9260-usart";
397 reg = <0xffffee00 0x200>; 480 reg = <0xffffee00 0x200>;
398 interrupts = <1 4 7>; 481 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
399 pinctrl-names = "default"; 482 pinctrl-names = "default";
400 pinctrl-0 = <&pinctrl_dbgu>; 483 pinctrl-0 = <&pinctrl_dbgu>;
401 status = "disabled"; 484 status = "disabled";
@@ -404,7 +487,7 @@
404 usart0: serial@fff8c000 { 487 usart0: serial@fff8c000 {
405 compatible = "atmel,at91sam9260-usart"; 488 compatible = "atmel,at91sam9260-usart";
406 reg = <0xfff8c000 0x200>; 489 reg = <0xfff8c000 0x200>;
407 interrupts = <7 4 5>; 490 interrupts = <7 IRQ_TYPE_LEVEL_HIGH 5>;
408 atmel,use-dma-rx; 491 atmel,use-dma-rx;
409 atmel,use-dma-tx; 492 atmel,use-dma-tx;
410 pinctrl-names = "default"; 493 pinctrl-names = "default";
@@ -415,7 +498,7 @@
415 usart1: serial@fff90000 { 498 usart1: serial@fff90000 {
416 compatible = "atmel,at91sam9260-usart"; 499 compatible = "atmel,at91sam9260-usart";
417 reg = <0xfff90000 0x200>; 500 reg = <0xfff90000 0x200>;
418 interrupts = <8 4 5>; 501 interrupts = <8 IRQ_TYPE_LEVEL_HIGH 5>;
419 atmel,use-dma-rx; 502 atmel,use-dma-rx;
420 atmel,use-dma-tx; 503 atmel,use-dma-tx;
421 pinctrl-names = "default"; 504 pinctrl-names = "default";
@@ -426,7 +509,7 @@
426 usart2: serial@fff94000 { 509 usart2: serial@fff94000 {
427 compatible = "atmel,at91sam9260-usart"; 510 compatible = "atmel,at91sam9260-usart";
428 reg = <0xfff94000 0x200>; 511 reg = <0xfff94000 0x200>;
429 interrupts = <9 4 5>; 512 interrupts = <9 IRQ_TYPE_LEVEL_HIGH 5>;
430 atmel,use-dma-rx; 513 atmel,use-dma-rx;
431 atmel,use-dma-tx; 514 atmel,use-dma-tx;
432 pinctrl-names = "default"; 515 pinctrl-names = "default";
@@ -437,7 +520,7 @@
437 usart3: serial@fff98000 { 520 usart3: serial@fff98000 {
438 compatible = "atmel,at91sam9260-usart"; 521 compatible = "atmel,at91sam9260-usart";
439 reg = <0xfff98000 0x200>; 522 reg = <0xfff98000 0x200>;
440 interrupts = <10 4 5>; 523 interrupts = <10 IRQ_TYPE_LEVEL_HIGH 5>;
441 atmel,use-dma-rx; 524 atmel,use-dma-rx;
442 atmel,use-dma-tx; 525 atmel,use-dma-tx;
443 pinctrl-names = "default"; 526 pinctrl-names = "default";
@@ -448,7 +531,7 @@
448 macb0: ethernet@fffbc000 { 531 macb0: ethernet@fffbc000 {
449 compatible = "cdns,at32ap7000-macb", "cdns,macb"; 532 compatible = "cdns,at32ap7000-macb", "cdns,macb";
450 reg = <0xfffbc000 0x100>; 533 reg = <0xfffbc000 0x100>;
451 interrupts = <25 4 3>; 534 interrupts = <25 IRQ_TYPE_LEVEL_HIGH 3>;
452 pinctrl-names = "default"; 535 pinctrl-names = "default";
453 pinctrl-0 = <&pinctrl_macb_rmii>; 536 pinctrl-0 = <&pinctrl_macb_rmii>;
454 status = "disabled"; 537 status = "disabled";
@@ -457,7 +540,7 @@
457 i2c0: i2c@fff84000 { 540 i2c0: i2c@fff84000 {
458 compatible = "atmel,at91sam9g10-i2c"; 541 compatible = "atmel,at91sam9g10-i2c";
459 reg = <0xfff84000 0x100>; 542 reg = <0xfff84000 0x100>;
460 interrupts = <12 4 6>; 543 interrupts = <12 IRQ_TYPE_LEVEL_HIGH 6>;
461 #address-cells = <1>; 544 #address-cells = <1>;
462 #size-cells = <0>; 545 #size-cells = <0>;
463 status = "disabled"; 546 status = "disabled";
@@ -466,7 +549,7 @@
466 i2c1: i2c@fff88000 { 549 i2c1: i2c@fff88000 {
467 compatible = "atmel,at91sam9g10-i2c"; 550 compatible = "atmel,at91sam9g10-i2c";
468 reg = <0xfff88000 0x100>; 551 reg = <0xfff88000 0x100>;
469 interrupts = <13 4 6>; 552 interrupts = <13 IRQ_TYPE_LEVEL_HIGH 6>;
470 #address-cells = <1>; 553 #address-cells = <1>;
471 #size-cells = <0>; 554 #size-cells = <0>;
472 status = "disabled"; 555 status = "disabled";
@@ -475,7 +558,7 @@
475 ssc0: ssc@fff9c000 { 558 ssc0: ssc@fff9c000 {
476 compatible = "atmel,at91sam9g45-ssc"; 559 compatible = "atmel,at91sam9g45-ssc";
477 reg = <0xfff9c000 0x4000>; 560 reg = <0xfff9c000 0x4000>;
478 interrupts = <16 4 5>; 561 interrupts = <16 IRQ_TYPE_LEVEL_HIGH 5>;
479 pinctrl-names = "default"; 562 pinctrl-names = "default";
480 pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>; 563 pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
481 status = "disabled"; 564 status = "disabled";
@@ -484,7 +567,7 @@
484 ssc1: ssc@fffa0000 { 567 ssc1: ssc@fffa0000 {
485 compatible = "atmel,at91sam9g45-ssc"; 568 compatible = "atmel,at91sam9g45-ssc";
486 reg = <0xfffa0000 0x4000>; 569 reg = <0xfffa0000 0x4000>;
487 interrupts = <17 4 5>; 570 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 5>;
488 pinctrl-names = "default"; 571 pinctrl-names = "default";
489 pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>; 572 pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>;
490 status = "disabled"; 573 status = "disabled";
@@ -493,7 +576,7 @@
493 adc0: adc@fffb0000 { 576 adc0: adc@fffb0000 {
494 compatible = "atmel,at91sam9260-adc"; 577 compatible = "atmel,at91sam9260-adc";
495 reg = <0xfffb0000 0x100>; 578 reg = <0xfffb0000 0x100>;
496 interrupts = <20 4 0>; 579 interrupts = <20 IRQ_TYPE_LEVEL_HIGH 0>;
497 atmel,adc-use-external-triggers; 580 atmel,adc-use-external-triggers;
498 atmel,adc-channels-used = <0xff>; 581 atmel,adc-channels-used = <0xff>;
499 atmel,adc-vref = <3300>; 582 atmel,adc-vref = <3300>;
@@ -533,7 +616,7 @@
533 mmc0: mmc@fff80000 { 616 mmc0: mmc@fff80000 {
534 compatible = "atmel,hsmci"; 617 compatible = "atmel,hsmci";
535 reg = <0xfff80000 0x600>; 618 reg = <0xfff80000 0x600>;
536 interrupts = <11 4 0>; 619 interrupts = <11 IRQ_TYPE_LEVEL_HIGH 0>;
537 dmas = <&dma 1 0>; 620 dmas = <&dma 1 0>;
538 dma-names = "rxtx"; 621 dma-names = "rxtx";
539 #address-cells = <1>; 622 #address-cells = <1>;
@@ -544,7 +627,7 @@
544 mmc1: mmc@fffd0000 { 627 mmc1: mmc@fffd0000 {
545 compatible = "atmel,hsmci"; 628 compatible = "atmel,hsmci";
546 reg = <0xfffd0000 0x600>; 629 reg = <0xfffd0000 0x600>;
547 interrupts = <29 4 0>; 630 interrupts = <29 IRQ_TYPE_LEVEL_HIGH 0>;
548 dmas = <&dma 1 13>; 631 dmas = <&dma 1 13>;
549 dma-names = "rxtx"; 632 dma-names = "rxtx";
550 #address-cells = <1>; 633 #address-cells = <1>;
@@ -592,8 +675,8 @@
592 atmel,nand-cmd-offset = <22>; 675 atmel,nand-cmd-offset = <22>;
593 pinctrl-names = "default"; 676 pinctrl-names = "default";
594 pinctrl-0 = <&pinctrl_nand>; 677 pinctrl-0 = <&pinctrl_nand>;
595 gpios = <&pioC 8 0 678 gpios = <&pioC 8 GPIO_ACTIVE_HIGH
596 &pioC 14 0 679 &pioC 14 GPIO_ACTIVE_HIGH
597 0 680 0
598 >; 681 >;
599 status = "disabled"; 682 status = "disabled";
@@ -602,22 +685,22 @@
602 usb0: ohci@00700000 { 685 usb0: ohci@00700000 {
603 compatible = "atmel,at91rm9200-ohci", "usb-ohci"; 686 compatible = "atmel,at91rm9200-ohci", "usb-ohci";
604 reg = <0x00700000 0x100000>; 687 reg = <0x00700000 0x100000>;
605 interrupts = <22 4 2>; 688 interrupts = <22 IRQ_TYPE_LEVEL_HIGH 2>;
606 status = "disabled"; 689 status = "disabled";
607 }; 690 };
608 691
609 usb1: ehci@00800000 { 692 usb1: ehci@00800000 {
610 compatible = "atmel,at91sam9g45-ehci", "usb-ehci"; 693 compatible = "atmel,at91sam9g45-ehci", "usb-ehci";
611 reg = <0x00800000 0x100000>; 694 reg = <0x00800000 0x100000>;
612 interrupts = <22 4 2>; 695 interrupts = <22 IRQ_TYPE_LEVEL_HIGH 2>;
613 status = "disabled"; 696 status = "disabled";
614 }; 697 };
615 }; 698 };
616 699
617 i2c@0 { 700 i2c@0 {
618 compatible = "i2c-gpio"; 701 compatible = "i2c-gpio";
619 gpios = <&pioA 20 0 /* sda */ 702 gpios = <&pioA 20 GPIO_ACTIVE_HIGH /* sda */
620 &pioA 21 0 /* scl */ 703 &pioA 21 GPIO_ACTIVE_HIGH /* scl */
621 >; 704 >;
622 i2c-gpio,sda-open-drain; 705 i2c-gpio,sda-open-drain;
623 i2c-gpio,scl-open-drain; 706 i2c-gpio,scl-open-drain;
diff --git a/arch/arm/boot/dts/at91sam9m10g45ek.dts b/arch/arm/boot/dts/at91sam9m10g45ek.dts
index 51d9251b5bbe..91dbf791d2c6 100644
--- a/arch/arm/boot/dts/at91sam9m10g45ek.dts
+++ b/arch/arm/boot/dts/at91sam9m10g45ek.dts
@@ -7,7 +7,7 @@
7 * Licensed under GPLv2 or later. 7 * Licensed under GPLv2 or later.
8 */ 8 */
9/dts-v1/; 9/dts-v1/;
10/include/ "at91sam9g45.dtsi" 10#include "at91sam9g45.dtsi"
11 11
12/ { 12/ {
13 model = "Atmel AT91SAM9M10G45-EK"; 13 model = "Atmel AT91SAM9M10G45-EK";
@@ -59,6 +59,10 @@
59 status = "okay"; 59 status = "okay";
60 }; 60 };
61 61
62 watchdog@fffffd40 {
63 status = "okay";
64 };
65
62 mmc0: mmc@fff80000 { 66 mmc0: mmc@fff80000 {
63 pinctrl-0 = < 67 pinctrl-0 = <
64 &pinctrl_board_mmc0 68 &pinctrl_board_mmc0
@@ -68,7 +72,7 @@
68 slot@0 { 72 slot@0 {
69 reg = <0>; 73 reg = <0>;
70 bus-width = <4>; 74 bus-width = <4>;
71 cd-gpios = <&pioD 10 0>; 75 cd-gpios = <&pioD 10 GPIO_ACTIVE_HIGH>;
72 }; 76 };
73 }; 77 };
74 78
@@ -81,8 +85,8 @@
81 slot@0 { 85 slot@0 {
82 reg = <0>; 86 reg = <0>;
83 bus-width = <4>; 87 bus-width = <4>;
84 cd-gpios = <&pioD 11 0>; 88 cd-gpios = <&pioD 11 GPIO_ACTIVE_HIGH>;
85 wp-gpios = <&pioD 29 0>; 89 wp-gpios = <&pioD 29 GPIO_ACTIVE_HIGH>;
86 }; 90 };
87 }; 91 };
88 92
@@ -90,15 +94,15 @@
90 mmc0 { 94 mmc0 {
91 pinctrl_board_mmc0: mmc0-board { 95 pinctrl_board_mmc0: mmc0-board {
92 atmel,pins = 96 atmel,pins =
93 <3 10 0x0 0x5>; /* PD10 gpio CD pin pull up and deglitch */ 97 <AT91_PIOD 10 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; /* PD10 gpio CD pin pull up and deglitch */
94 }; 98 };
95 }; 99 };
96 100
97 mmc1 { 101 mmc1 {
98 pinctrl_board_mmc1: mmc1-board { 102 pinctrl_board_mmc1: mmc1-board {
99 atmel,pins = 103 atmel,pins =
100 <3 11 0x0 0x5 /* PD11 gpio CD pin pull up and deglitch */ 104 <AT91_PIOD 11 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH /* PD11 gpio CD pin pull up and deglitch */
101 3 29 0x0 0x1>; /* PD29 gpio WP pin pull up */ 105 AT91_PIOD 29 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>; /* PD29 gpio WP pin pull up */
102 }; 106 };
103 }; 107 };
104 }; 108 };
@@ -139,8 +143,8 @@
139 usb0: ohci@00700000 { 143 usb0: ohci@00700000 {
140 status = "okay"; 144 status = "okay";
141 num-ports = <2>; 145 num-ports = <2>;
142 atmel,vbus-gpio = <&pioD 1 1 146 atmel,vbus-gpio = <&pioD 1 GPIO_ACTIVE_LOW
143 &pioD 3 1>; 147 &pioD 3 GPIO_ACTIVE_LOW>;
144 }; 148 };
145 149
146 usb1: ehci@00800000 { 150 usb1: ehci@00800000 {
@@ -153,19 +157,19 @@
153 157
154 d8 { 158 d8 {
155 label = "d8"; 159 label = "d8";
156 gpios = <&pioD 30 0>; 160 gpios = <&pioD 30 GPIO_ACTIVE_HIGH>;
157 linux,default-trigger = "heartbeat"; 161 linux,default-trigger = "heartbeat";
158 }; 162 };
159 163
160 d6 { 164 d6 {
161 label = "d6"; 165 label = "d6";
162 gpios = <&pioD 0 1>; 166 gpios = <&pioD 0 GPIO_ACTIVE_LOW>;
163 linux,default-trigger = "nand-disk"; 167 linux,default-trigger = "nand-disk";
164 }; 168 };
165 169
166 d7 { 170 d7 {
167 label = "d7"; 171 label = "d7";
168 gpios = <&pioD 31 1>; 172 gpios = <&pioD 31 GPIO_ACTIVE_LOW>;
169 linux,default-trigger = "mmc0"; 173 linux,default-trigger = "mmc0";
170 }; 174 };
171 }; 175 };
@@ -175,45 +179,45 @@
175 179
176 left_click { 180 left_click {
177 label = "left_click"; 181 label = "left_click";
178 gpios = <&pioB 6 1>; 182 gpios = <&pioB 6 GPIO_ACTIVE_LOW>;
179 linux,code = <272>; 183 linux,code = <272>;
180 gpio-key,wakeup; 184 gpio-key,wakeup;
181 }; 185 };
182 186
183 right_click { 187 right_click {
184 label = "right_click"; 188 label = "right_click";
185 gpios = <&pioB 7 1>; 189 gpios = <&pioB 7 GPIO_ACTIVE_LOW>;
186 linux,code = <273>; 190 linux,code = <273>;
187 gpio-key,wakeup; 191 gpio-key,wakeup;
188 }; 192 };
189 193
190 left { 194 left {
191 label = "Joystick Left"; 195 label = "Joystick Left";
192 gpios = <&pioB 14 1>; 196 gpios = <&pioB 14 GPIO_ACTIVE_LOW>;
193 linux,code = <105>; 197 linux,code = <105>;
194 }; 198 };
195 199
196 right { 200 right {
197 label = "Joystick Right"; 201 label = "Joystick Right";
198 gpios = <&pioB 15 1>; 202 gpios = <&pioB 15 GPIO_ACTIVE_LOW>;
199 linux,code = <106>; 203 linux,code = <106>;
200 }; 204 };
201 205
202 up { 206 up {
203 label = "Joystick Up"; 207 label = "Joystick Up";
204 gpios = <&pioB 16 1>; 208 gpios = <&pioB 16 GPIO_ACTIVE_LOW>;
205 linux,code = <103>; 209 linux,code = <103>;
206 }; 210 };
207 211
208 down { 212 down {
209 label = "Joystick Down"; 213 label = "Joystick Down";
210 gpios = <&pioB 17 1>; 214 gpios = <&pioB 17 GPIO_ACTIVE_LOW>;
211 linux,code = <108>; 215 linux,code = <108>;
212 }; 216 };
213 217
214 enter { 218 enter {
215 label = "Joystick Press"; 219 label = "Joystick Press";
216 gpios = <&pioB 18 1>; 220 gpios = <&pioB 18 GPIO_ACTIVE_LOW>;
217 linux,code = <28>; 221 linux,code = <28>;
218 }; 222 };
219 }; 223 };
diff --git a/arch/arm/boot/dts/at91sam9n12.dtsi b/arch/arm/boot/dts/at91sam9n12.dtsi
index 8d25f889928e..d37761846cd5 100644
--- a/arch/arm/boot/dts/at91sam9n12.dtsi
+++ b/arch/arm/boot/dts/at91sam9n12.dtsi
@@ -7,7 +7,10 @@
7 * Licensed under GPLv2 or later. 7 * Licensed under GPLv2 or later.
8 */ 8 */
9 9
10/include/ "skeleton.dtsi" 10#include "skeleton.dtsi"
11#include <dt-bindings/pinctrl/at91.h>
12#include <dt-bindings/interrupt-controller/irq.h>
13#include <dt-bindings/gpio/gpio.h>
11 14
12/ { 15/ {
13 model = "Atmel AT91SAM9N12 SoC"; 16 model = "Atmel AT91SAM9N12 SoC";
@@ -31,8 +34,12 @@
31 ssc0 = &ssc0; 34 ssc0 = &ssc0;
32 }; 35 };
33 cpus { 36 cpus {
34 cpu@0 { 37 #address-cells = <0>;
35 compatible = "arm,arm926ejs"; 38 #size-cells = <0>;
39
40 cpu {
41 compatible = "arm,arm926ej-s";
42 device_type = "cpu";
36 }; 43 };
37 }; 44 };
38 45
@@ -78,7 +85,7 @@
78 pit: timer@fffffe30 { 85 pit: timer@fffffe30 {
79 compatible = "atmel,at91sam9260-pit"; 86 compatible = "atmel,at91sam9260-pit";
80 reg = <0xfffffe30 0xf>; 87 reg = <0xfffffe30 0xf>;
81 interrupts = <1 4 7>; 88 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
82 }; 89 };
83 90
84 shdwc@fffffe10 { 91 shdwc@fffffe10 {
@@ -89,7 +96,7 @@
89 mmc0: mmc@f0008000 { 96 mmc0: mmc@f0008000 {
90 compatible = "atmel,hsmci"; 97 compatible = "atmel,hsmci";
91 reg = <0xf0008000 0x600>; 98 reg = <0xf0008000 0x600>;
92 interrupts = <12 4 0>; 99 interrupts = <12 IRQ_TYPE_LEVEL_HIGH 0>;
93 dmas = <&dma 1 0>; 100 dmas = <&dma 1 0>;
94 dma-names = "rxtx"; 101 dma-names = "rxtx";
95 #address-cells = <1>; 102 #address-cells = <1>;
@@ -100,19 +107,19 @@
100 tcb0: timer@f8008000 { 107 tcb0: timer@f8008000 {
101 compatible = "atmel,at91sam9x5-tcb"; 108 compatible = "atmel,at91sam9x5-tcb";
102 reg = <0xf8008000 0x100>; 109 reg = <0xf8008000 0x100>;
103 interrupts = <17 4 0>; 110 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0>;
104 }; 111 };
105 112
106 tcb1: timer@f800c000 { 113 tcb1: timer@f800c000 {
107 compatible = "atmel,at91sam9x5-tcb"; 114 compatible = "atmel,at91sam9x5-tcb";
108 reg = <0xf800c000 0x100>; 115 reg = <0xf800c000 0x100>;
109 interrupts = <17 4 0>; 116 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0>;
110 }; 117 };
111 118
112 dma: dma-controller@ffffec00 { 119 dma: dma-controller@ffffec00 {
113 compatible = "atmel,at91sam9g45-dma"; 120 compatible = "atmel,at91sam9g45-dma";
114 reg = <0xffffec00 0x200>; 121 reg = <0xffffec00 0x200>;
115 interrupts = <20 4 0>; 122 interrupts = <20 IRQ_TYPE_LEVEL_HIGH 0>;
116 #dma-cells = <2>; 123 #dma-cells = <2>;
117 }; 124 };
118 125
@@ -134,159 +141,235 @@
134 dbgu { 141 dbgu {
135 pinctrl_dbgu: dbgu-0 { 142 pinctrl_dbgu: dbgu-0 {
136 atmel,pins = 143 atmel,pins =
137 <0 9 0x1 0x0 /* PA9 periph A */ 144 <AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA9 periph A */
138 0 10 0x1 0x1>; /* PA10 periph with pullup */ 145 AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PA10 periph with pullup */
139 }; 146 };
140 }; 147 };
141 148
142 usart0 { 149 usart0 {
143 pinctrl_usart0: usart0-0 { 150 pinctrl_usart0: usart0-0 {
144 atmel,pins = 151 atmel,pins =
145 <0 1 0x1 0x1 /* PA1 periph A with pullup */ 152 <AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA1 periph A with pullup */
146 0 0 0x1 0x0>; /* PA0 periph A */ 153 AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA0 periph A */
147 }; 154 };
148 155
149 pinctrl_usart0_rts: usart0_rts-0 { 156 pinctrl_usart0_rts: usart0_rts-0 {
150 atmel,pins = 157 atmel,pins =
151 <0 2 0x1 0x0>; /* PA2 periph A */ 158 <AT91_PIOA 2 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA2 periph A */
152 }; 159 };
153 160
154 pinctrl_usart0_cts: usart0_cts-0 { 161 pinctrl_usart0_cts: usart0_cts-0 {
155 atmel,pins = 162 atmel,pins =
156 <0 3 0x1 0x0>; /* PA3 periph A */ 163 <AT91_PIOA 3 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA3 periph A */
157 }; 164 };
158 }; 165 };
159 166
160 usart1 { 167 usart1 {
161 pinctrl_usart1: usart1-0 { 168 pinctrl_usart1: usart1-0 {
162 atmel,pins = 169 atmel,pins =
163 <0 6 0x1 0x1 /* PA6 periph A with pullup */ 170 <AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA6 periph A with pullup */
164 0 5 0x1 0x0>; /* PA5 periph A */ 171 AT91_PIOA 5 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA5 periph A */
165 }; 172 };
166 }; 173 };
167 174
168 usart2 { 175 usart2 {
169 pinctrl_usart2: usart2-0 { 176 pinctrl_usart2: usart2-0 {
170 atmel,pins = 177 atmel,pins =
171 <0 8 0x1 0x1 /* PA8 periph A with pullup */ 178 <AT91_PIOA 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA8 periph A with pullup */
172 0 7 0x1 0x0>; /* PA7 periph A */ 179 AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA7 periph A */
173 }; 180 };
174 181
175 pinctrl_usart2_rts: usart2_rts-0 { 182 pinctrl_usart2_rts: usart2_rts-0 {
176 atmel,pins = 183 atmel,pins =
177 <1 0 0x2 0x0>; /* PB0 periph B */ 184 <AT91_PIOB 0 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PB0 periph B */
178 }; 185 };
179 186
180 pinctrl_usart2_cts: usart2_cts-0 { 187 pinctrl_usart2_cts: usart2_cts-0 {
181 atmel,pins = 188 atmel,pins =
182 <1 1 0x2 0x0>; /* PB1 periph B */ 189 <AT91_PIOB 1 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PB1 periph B */
183 }; 190 };
184 }; 191 };
185 192
186 usart3 { 193 usart3 {
187 pinctrl_usart3: usart3-0 { 194 pinctrl_usart3: usart3-0 {
188 atmel,pins = 195 atmel,pins =
189 <2 23 0x2 0x1 /* PC23 periph B with pullup */ 196 <AT91_PIOC 23 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PC23 periph B with pullup */
190 2 22 0x2 0x0>; /* PC22 periph B */ 197 AT91_PIOC 22 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC22 periph B */
191 }; 198 };
192 199
193 pinctrl_usart3_rts: usart3_rts-0 { 200 pinctrl_usart3_rts: usart3_rts-0 {
194 atmel,pins = 201 atmel,pins =
195 <2 24 0x2 0x0>; /* PC24 periph B */ 202 <AT91_PIOC 24 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC24 periph B */
196 }; 203 };
197 204
198 pinctrl_usart3_cts: usart3_cts-0 { 205 pinctrl_usart3_cts: usart3_cts-0 {
199 atmel,pins = 206 atmel,pins =
200 <2 25 0x2 0x0>; /* PC25 periph B */ 207 <AT91_PIOC 25 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC25 periph B */
201 }; 208 };
202 }; 209 };
203 210
204 uart0 { 211 uart0 {
205 pinctrl_uart0: uart0-0 { 212 pinctrl_uart0: uart0-0 {
206 atmel,pins = 213 atmel,pins =
207 <2 9 0x3 0x1 /* PC9 periph C with pullup */ 214 <AT91_PIOC 9 AT91_PERIPH_C AT91_PINCTRL_PULL_UP /* PC9 periph C with pullup */
208 2 8 0x3 0x0>; /* PC8 periph C */ 215 AT91_PIOC 8 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* PC8 periph C */
209 }; 216 };
210 }; 217 };
211 218
212 uart1 { 219 uart1 {
213 pinctrl_uart1: uart1-0 { 220 pinctrl_uart1: uart1-0 {
214 atmel,pins = 221 atmel,pins =
215 <2 16 0x3 0x1 /* PC17 periph C with pullup */ 222 <AT91_PIOC 16 AT91_PERIPH_C AT91_PINCTRL_PULL_UP /* PC17 periph C with pullup */
216 2 17 0x3 0x0>; /* PC16 periph C */ 223 AT91_PIOC 17 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* PC16 periph C */
217 }; 224 };
218 }; 225 };
219 226
220 nand { 227 nand {
221 pinctrl_nand: nand-0 { 228 pinctrl_nand: nand-0 {
222 atmel,pins = 229 atmel,pins =
223 <3 5 0x0 0x1 /* PD5 gpio RDY pin pull_up*/ 230 <AT91_PIOD 5 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP /* PD5 gpio RDY pin pull_up*/
224 3 4 0x0 0x1>; /* PD4 gpio enable pin pull_up */ 231 AT91_PIOD 4 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>; /* PD4 gpio enable pin pull_up */
225 }; 232 };
226 }; 233 };
227 234
228 mmc0 { 235 mmc0 {
229 pinctrl_mmc0_slot0_clk_cmd_dat0: mmc0_slot0_clk_cmd_dat0-0 { 236 pinctrl_mmc0_slot0_clk_cmd_dat0: mmc0_slot0_clk_cmd_dat0-0 {
230 atmel,pins = 237 atmel,pins =
231 <0 17 0x1 0x0 /* PA17 periph A */ 238 <AT91_PIOA 17 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA17 periph A */
232 0 16 0x1 0x1 /* PA16 periph A with pullup */ 239 AT91_PIOA 16 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA16 periph A with pullup */
233 0 15 0x1 0x1>; /* PA15 periph A with pullup */ 240 AT91_PIOA 15 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PA15 periph A with pullup */
234 }; 241 };
235 242
236 pinctrl_mmc0_slot0_dat1_3: mmc0_slot0_dat1_3-0 { 243 pinctrl_mmc0_slot0_dat1_3: mmc0_slot0_dat1_3-0 {
237 atmel,pins = 244 atmel,pins =
238 <0 18 0x1 0x1 /* PA18 periph A with pullup */ 245 <AT91_PIOA 18 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA18 periph A with pullup */
239 0 19 0x1 0x1 /* PA19 periph A with pullup */ 246 AT91_PIOA 19 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA19 periph A with pullup */
240 0 20 0x1 0x1>; /* PA20 periph A with pullup */ 247 AT91_PIOA 20 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PA20 periph A with pullup */
241 }; 248 };
242 249
243 pinctrl_mmc0_slot0_dat4_7: mmc0_slot0_dat4_7-0 { 250 pinctrl_mmc0_slot0_dat4_7: mmc0_slot0_dat4_7-0 {
244 atmel,pins = 251 atmel,pins =
245 <0 11 0x2 0x1 /* PA11 periph B with pullup */ 252 <AT91_PIOA 11 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PA11 periph B with pullup */
246 0 12 0x2 0x1 /* PA12 periph B with pullup */ 253 AT91_PIOA 12 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PA12 periph B with pullup */
247 0 13 0x2 0x1 /* PA13 periph B with pullup */ 254 AT91_PIOA 13 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PA13 periph B with pullup */
248 0 14 0x2 0x1>; /* PA14 periph B with pullup */ 255 AT91_PIOA 14 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; /* PA14 periph B with pullup */
249 }; 256 };
250 }; 257 };
251 258
252 ssc0 { 259 ssc0 {
253 pinctrl_ssc0_tx: ssc0_tx-0 { 260 pinctrl_ssc0_tx: ssc0_tx-0 {
254 atmel,pins = 261 atmel,pins =
255 <0 24 0x2 0x0 /* PA24 periph B */ 262 <AT91_PIOA 24 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA24 periph B */
256 0 25 0x2 0x0 /* PA25 periph B */ 263 AT91_PIOA 25 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA25 periph B */
257 0 26 0x2 0x0>; /* PA26 periph B */ 264 AT91_PIOA 26 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PA26 periph B */
258 }; 265 };
259 266
260 pinctrl_ssc0_rx: ssc0_rx-0 { 267 pinctrl_ssc0_rx: ssc0_rx-0 {
261 atmel,pins = 268 atmel,pins =
262 <0 27 0x2 0x0 /* PA27 periph B */ 269 <AT91_PIOA 27 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA27 periph B */
263 0 28 0x2 0x0 /* PA28 periph B */ 270 AT91_PIOA 28 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA28 periph B */
264 0 29 0x2 0x0>; /* PA29 periph B */ 271 AT91_PIOA 29 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PA29 periph B */
265 }; 272 };
266 }; 273 };
267 274
268 spi0 { 275 spi0 {
269 pinctrl_spi0: spi0-0 { 276 pinctrl_spi0: spi0-0 {
270 atmel,pins = 277 atmel,pins =
271 <0 11 0x1 0x0 /* PA11 periph A SPI0_MISO pin */ 278 <AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA11 periph A SPI0_MISO pin */
272 0 12 0x1 0x0 /* PA12 periph A SPI0_MOSI pin */ 279 AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA12 periph A SPI0_MOSI pin */
273 0 13 0x1 0x0>; /* PA13 periph A SPI0_SPCK pin */ 280 AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA13 periph A SPI0_SPCK pin */
274 }; 281 };
275 }; 282 };
276 283
277 spi1 { 284 spi1 {
278 pinctrl_spi1: spi1-0 { 285 pinctrl_spi1: spi1-0 {
279 atmel,pins = 286 atmel,pins =
280 <0 21 0x2 0x0 /* PA21 periph B SPI1_MISO pin */ 287 <AT91_PIOA 21 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA21 periph B SPI1_MISO pin */
281 0 22 0x2 0x0 /* PA22 periph B SPI1_MOSI pin */ 288 AT91_PIOA 22 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA22 periph B SPI1_MOSI pin */
282 0 23 0x2 0x0>; /* PA23 periph B SPI1_SPCK pin */ 289 AT91_PIOA 23 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PA23 periph B SPI1_SPCK pin */
290 };
291 };
292
293 tcb0 {
294 pinctrl_tcb0_tclk0: tcb0_tclk0-0 {
295 atmel,pins = <AT91_PIOA 24 AT91_PERIPH_A AT91_PINCTRL_NONE>;
296 };
297
298 pinctrl_tcb0_tclk1: tcb0_tclk1-0 {
299 atmel,pins = <AT91_PIOA 25 AT91_PERIPH_A AT91_PINCTRL_NONE>;
300 };
301
302 pinctrl_tcb0_tclk2: tcb0_tclk2-0 {
303 atmel,pins = <AT91_PIOA 26 AT91_PERIPH_A AT91_PINCTRL_NONE>;
304 };
305
306 pinctrl_tcb0_tioa0: tcb0_tioa0-0 {
307 atmel,pins = <AT91_PIOA 21 AT91_PERIPH_A AT91_PINCTRL_NONE>;
308 };
309
310 pinctrl_tcb0_tioa1: tcb0_tioa1-0 {
311 atmel,pins = <AT91_PIOA 22 AT91_PERIPH_A AT91_PINCTRL_NONE>;
312 };
313
314 pinctrl_tcb0_tioa2: tcb0_tioa2-0 {
315 atmel,pins = <AT91_PIOA 23 AT91_PERIPH_A AT91_PINCTRL_NONE>;
316 };
317
318 pinctrl_tcb0_tiob0: tcb0_tiob0-0 {
319 atmel,pins = <AT91_PIOA 27 AT91_PERIPH_A AT91_PINCTRL_NONE>;
320 };
321
322 pinctrl_tcb0_tiob1: tcb0_tiob1-0 {
323 atmel,pins = <AT91_PIOA 28 AT91_PERIPH_A AT91_PINCTRL_NONE>;
324 };
325
326 pinctrl_tcb0_tiob2: tcb0_tiob2-0 {
327 atmel,pins = <AT91_PIOA 29 AT91_PERIPH_A AT91_PINCTRL_NONE>;
328 };
329 };
330
331 tcb1 {
332 pinctrl_tcb1_tclk0: tcb1_tclk0-0 {
333 atmel,pins = <AT91_PIOC 4 AT91_PERIPH_C AT91_PINCTRL_NONE>;
334 };
335
336 pinctrl_tcb1_tclk1: tcb1_tclk1-0 {
337 atmel,pins = <AT91_PIOC 7 AT91_PERIPH_C AT91_PINCTRL_NONE>;
338 };
339
340 pinctrl_tcb1_tclk2: tcb1_tclk2-0 {
341 atmel,pins = <AT91_PIOC 14 AT91_PERIPH_C AT91_PINCTRL_NONE>;
342 };
343
344 pinctrl_tcb1_tioa0: tcb1_tioa0-0 {
345 atmel,pins = <AT91_PIOC 2 AT91_PERIPH_C AT91_PINCTRL_NONE>;
346 };
347
348 pinctrl_tcb1_tioa1: tcb1_tioa1-0 {
349 atmel,pins = <AT91_PIOC 5 AT91_PERIPH_C AT91_PINCTRL_NONE>;
350 };
351
352 pinctrl_tcb1_tioa2: tcb1_tioa2-0 {
353 atmel,pins = <AT91_PIOC 12 AT91_PERIPH_C AT91_PINCTRL_NONE>;
354 };
355
356 pinctrl_tcb1_tiob0: tcb1_tiob0-0 {
357 atmel,pins = <AT91_PIOC 3 AT91_PERIPH_C AT91_PINCTRL_NONE>;
358 };
359
360 pinctrl_tcb1_tiob1: tcb1_tiob1-0 {
361 atmel,pins = <AT91_PIOC 6 AT91_PERIPH_C AT91_PINCTRL_NONE>;
362 };
363
364 pinctrl_tcb1_tiob2: tcb1_tiob2-0 {
365 atmel,pins = <AT91_PIOC 13 AT91_PERIPH_C AT91_PINCTRL_NONE>;
283 }; 366 };
284 }; 367 };
285 368
286 pioA: gpio@fffff400 { 369 pioA: gpio@fffff400 {
287 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; 370 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
288 reg = <0xfffff400 0x200>; 371 reg = <0xfffff400 0x200>;
289 interrupts = <2 4 1>; 372 interrupts = <2 IRQ_TYPE_LEVEL_HIGH 1>;
290 #gpio-cells = <2>; 373 #gpio-cells = <2>;
291 gpio-controller; 374 gpio-controller;
292 interrupt-controller; 375 interrupt-controller;
@@ -296,7 +379,7 @@
296 pioB: gpio@fffff600 { 379 pioB: gpio@fffff600 {
297 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; 380 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
298 reg = <0xfffff600 0x200>; 381 reg = <0xfffff600 0x200>;
299 interrupts = <2 4 1>; 382 interrupts = <2 IRQ_TYPE_LEVEL_HIGH 1>;
300 #gpio-cells = <2>; 383 #gpio-cells = <2>;
301 gpio-controller; 384 gpio-controller;
302 interrupt-controller; 385 interrupt-controller;
@@ -306,7 +389,7 @@
306 pioC: gpio@fffff800 { 389 pioC: gpio@fffff800 {
307 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; 390 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
308 reg = <0xfffff800 0x200>; 391 reg = <0xfffff800 0x200>;
309 interrupts = <3 4 1>; 392 interrupts = <3 IRQ_TYPE_LEVEL_HIGH 1>;
310 #gpio-cells = <2>; 393 #gpio-cells = <2>;
311 gpio-controller; 394 gpio-controller;
312 interrupt-controller; 395 interrupt-controller;
@@ -316,7 +399,7 @@
316 pioD: gpio@fffffa00 { 399 pioD: gpio@fffffa00 {
317 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; 400 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
318 reg = <0xfffffa00 0x200>; 401 reg = <0xfffffa00 0x200>;
319 interrupts = <3 4 1>; 402 interrupts = <3 IRQ_TYPE_LEVEL_HIGH 1>;
320 #gpio-cells = <2>; 403 #gpio-cells = <2>;
321 gpio-controller; 404 gpio-controller;
322 interrupt-controller; 405 interrupt-controller;
@@ -327,7 +410,7 @@
327 dbgu: serial@fffff200 { 410 dbgu: serial@fffff200 {
328 compatible = "atmel,at91sam9260-usart"; 411 compatible = "atmel,at91sam9260-usart";
329 reg = <0xfffff200 0x200>; 412 reg = <0xfffff200 0x200>;
330 interrupts = <1 4 7>; 413 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
331 pinctrl-names = "default"; 414 pinctrl-names = "default";
332 pinctrl-0 = <&pinctrl_dbgu>; 415 pinctrl-0 = <&pinctrl_dbgu>;
333 status = "disabled"; 416 status = "disabled";
@@ -336,7 +419,7 @@
336 ssc0: ssc@f0010000 { 419 ssc0: ssc@f0010000 {
337 compatible = "atmel,at91sam9g45-ssc"; 420 compatible = "atmel,at91sam9g45-ssc";
338 reg = <0xf0010000 0x4000>; 421 reg = <0xf0010000 0x4000>;
339 interrupts = <28 4 5>; 422 interrupts = <28 IRQ_TYPE_LEVEL_HIGH 5>;
340 pinctrl-names = "default"; 423 pinctrl-names = "default";
341 pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>; 424 pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
342 status = "disabled"; 425 status = "disabled";
@@ -345,7 +428,7 @@
345 usart0: serial@f801c000 { 428 usart0: serial@f801c000 {
346 compatible = "atmel,at91sam9260-usart"; 429 compatible = "atmel,at91sam9260-usart";
347 reg = <0xf801c000 0x4000>; 430 reg = <0xf801c000 0x4000>;
348 interrupts = <5 4 5>; 431 interrupts = <5 IRQ_TYPE_LEVEL_HIGH 5>;
349 pinctrl-names = "default"; 432 pinctrl-names = "default";
350 pinctrl-0 = <&pinctrl_usart0>; 433 pinctrl-0 = <&pinctrl_usart0>;
351 status = "disabled"; 434 status = "disabled";
@@ -354,7 +437,7 @@
354 usart1: serial@f8020000 { 437 usart1: serial@f8020000 {
355 compatible = "atmel,at91sam9260-usart"; 438 compatible = "atmel,at91sam9260-usart";
356 reg = <0xf8020000 0x4000>; 439 reg = <0xf8020000 0x4000>;
357 interrupts = <6 4 5>; 440 interrupts = <6 IRQ_TYPE_LEVEL_HIGH 5>;
358 pinctrl-names = "default"; 441 pinctrl-names = "default";
359 pinctrl-0 = <&pinctrl_usart1>; 442 pinctrl-0 = <&pinctrl_usart1>;
360 status = "disabled"; 443 status = "disabled";
@@ -363,7 +446,7 @@
363 usart2: serial@f8024000 { 446 usart2: serial@f8024000 {
364 compatible = "atmel,at91sam9260-usart"; 447 compatible = "atmel,at91sam9260-usart";
365 reg = <0xf8024000 0x4000>; 448 reg = <0xf8024000 0x4000>;
366 interrupts = <7 4 5>; 449 interrupts = <7 IRQ_TYPE_LEVEL_HIGH 5>;
367 pinctrl-names = "default"; 450 pinctrl-names = "default";
368 pinctrl-0 = <&pinctrl_usart2>; 451 pinctrl-0 = <&pinctrl_usart2>;
369 status = "disabled"; 452 status = "disabled";
@@ -372,7 +455,7 @@
372 usart3: serial@f8028000 { 455 usart3: serial@f8028000 {
373 compatible = "atmel,at91sam9260-usart"; 456 compatible = "atmel,at91sam9260-usart";
374 reg = <0xf8028000 0x4000>; 457 reg = <0xf8028000 0x4000>;
375 interrupts = <8 4 5>; 458 interrupts = <8 IRQ_TYPE_LEVEL_HIGH 5>;
376 pinctrl-names = "default"; 459 pinctrl-names = "default";
377 pinctrl-0 = <&pinctrl_usart3>; 460 pinctrl-0 = <&pinctrl_usart3>;
378 status = "disabled"; 461 status = "disabled";
@@ -381,7 +464,7 @@
381 i2c0: i2c@f8010000 { 464 i2c0: i2c@f8010000 {
382 compatible = "atmel,at91sam9x5-i2c"; 465 compatible = "atmel,at91sam9x5-i2c";
383 reg = <0xf8010000 0x100>; 466 reg = <0xf8010000 0x100>;
384 interrupts = <9 4 6>; 467 interrupts = <9 IRQ_TYPE_LEVEL_HIGH 6>;
385 dmas = <&dma 1 13>, 468 dmas = <&dma 1 13>,
386 <&dma 1 14>; 469 <&dma 1 14>;
387 dma-names = "tx", "rx"; 470 dma-names = "tx", "rx";
@@ -393,7 +476,7 @@
393 i2c1: i2c@f8014000 { 476 i2c1: i2c@f8014000 {
394 compatible = "atmel,at91sam9x5-i2c"; 477 compatible = "atmel,at91sam9x5-i2c";
395 reg = <0xf8014000 0x100>; 478 reg = <0xf8014000 0x100>;
396 interrupts = <10 4 6>; 479 interrupts = <10 IRQ_TYPE_LEVEL_HIGH 6>;
397 dmas = <&dma 1 15>, 480 dmas = <&dma 1 15>,
398 <&dma 1 16>; 481 <&dma 1 16>;
399 dma-names = "tx", "rx"; 482 dma-names = "tx", "rx";
@@ -407,7 +490,7 @@
407 #size-cells = <0>; 490 #size-cells = <0>;
408 compatible = "atmel,at91rm9200-spi"; 491 compatible = "atmel,at91rm9200-spi";
409 reg = <0xf0000000 0x100>; 492 reg = <0xf0000000 0x100>;
410 interrupts = <13 4 3>; 493 interrupts = <13 IRQ_TYPE_LEVEL_HIGH 3>;
411 pinctrl-names = "default"; 494 pinctrl-names = "default";
412 pinctrl-0 = <&pinctrl_spi0>; 495 pinctrl-0 = <&pinctrl_spi0>;
413 status = "disabled"; 496 status = "disabled";
@@ -418,11 +501,17 @@
418 #size-cells = <0>; 501 #size-cells = <0>;
419 compatible = "atmel,at91rm9200-spi"; 502 compatible = "atmel,at91rm9200-spi";
420 reg = <0xf0004000 0x100>; 503 reg = <0xf0004000 0x100>;
421 interrupts = <14 4 3>; 504 interrupts = <14 IRQ_TYPE_LEVEL_HIGH 3>;
422 pinctrl-names = "default"; 505 pinctrl-names = "default";
423 pinctrl-0 = <&pinctrl_spi1>; 506 pinctrl-0 = <&pinctrl_spi1>;
424 status = "disabled"; 507 status = "disabled";
425 }; 508 };
509
510 watchdog@fffffe40 {
511 compatible = "atmel,at91sam9260-wdt";
512 reg = <0xfffffe40 0x10>;
513 status = "disabled";
514 };
426 }; 515 };
427 516
428 nand0: nand@40000000 { 517 nand0: nand@40000000 {
@@ -439,8 +528,8 @@
439 atmel,nand-cmd-offset = <22>; 528 atmel,nand-cmd-offset = <22>;
440 pinctrl-names = "default"; 529 pinctrl-names = "default";
441 pinctrl-0 = <&pinctrl_nand>; 530 pinctrl-0 = <&pinctrl_nand>;
442 gpios = <&pioD 5 0 531 gpios = <&pioD 5 GPIO_ACTIVE_HIGH
443 &pioD 4 0 532 &pioD 4 GPIO_ACTIVE_HIGH
444 0 533 0
445 >; 534 >;
446 status = "disabled"; 535 status = "disabled";
@@ -449,15 +538,15 @@
449 usb0: ohci@00500000 { 538 usb0: ohci@00500000 {
450 compatible = "atmel,at91rm9200-ohci", "usb-ohci"; 539 compatible = "atmel,at91rm9200-ohci", "usb-ohci";
451 reg = <0x00500000 0x00100000>; 540 reg = <0x00500000 0x00100000>;
452 interrupts = <22 4 2>; 541 interrupts = <22 IRQ_TYPE_LEVEL_HIGH 2>;
453 status = "disabled"; 542 status = "disabled";
454 }; 543 };
455 }; 544 };
456 545
457 i2c@0 { 546 i2c@0 {
458 compatible = "i2c-gpio"; 547 compatible = "i2c-gpio";
459 gpios = <&pioA 30 0 /* sda */ 548 gpios = <&pioA 30 GPIO_ACTIVE_HIGH /* sda */
460 &pioA 31 0 /* scl */ 549 &pioA 31 GPIO_ACTIVE_HIGH /* scl */
461 >; 550 >;
462 i2c-gpio,sda-open-drain; 551 i2c-gpio,sda-open-drain;
463 i2c-gpio,scl-open-drain; 552 i2c-gpio,scl-open-drain;
diff --git a/arch/arm/boot/dts/at91sam9n12ek.dts b/arch/arm/boot/dts/at91sam9n12ek.dts
index d30e48bd1e9d..d59b70c6a6a0 100644
--- a/arch/arm/boot/dts/at91sam9n12ek.dts
+++ b/arch/arm/boot/dts/at91sam9n12ek.dts
@@ -7,7 +7,7 @@
7 * Licensed under GPLv2 or later. 7 * Licensed under GPLv2 or later.
8 */ 8 */
9/dts-v1/; 9/dts-v1/;
10/include/ "at91sam9n12.dtsi" 10#include "at91sam9n12.dtsi"
11 11
12/ { 12/ {
13 model = "Atmel AT91SAM9N12-EK"; 13 model = "Atmel AT91SAM9N12-EK";
@@ -55,7 +55,7 @@
55 slot@0 { 55 slot@0 {
56 reg = <0>; 56 reg = <0>;
57 bus-width = <4>; 57 bus-width = <4>;
58 cd-gpios = <&pioA 7 0>; 58 cd-gpios = <&pioA 7 GPIO_ACTIVE_HIGH>;
59 }; 59 };
60 }; 60 };
61 61
@@ -63,7 +63,7 @@
63 mmc0 { 63 mmc0 {
64 pinctrl_board_mmc0: mmc0-board { 64 pinctrl_board_mmc0: mmc0-board {
65 atmel,pins = 65 atmel,pins =
66 <0 7 0x0 0x5>; /* PA7 gpio CD pin pull up and deglitch */ 66 <AT91_PIOA 7 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; /* PA7 gpio CD pin pull up and deglitch */
67 }; 67 };
68 }; 68 };
69 }; 69 };
@@ -77,6 +77,10 @@
77 reg = <0>; 77 reg = <0>;
78 }; 78 };
79 }; 79 };
80
81 watchdog@fffffe40 {
82 status = "okay";
83 };
80 }; 84 };
81 85
82 nand0: nand@40000000 { 86 nand0: nand@40000000 {
@@ -95,19 +99,19 @@
95 99
96 d8 { 100 d8 {
97 label = "d8"; 101 label = "d8";
98 gpios = <&pioB 4 1>; 102 gpios = <&pioB 4 GPIO_ACTIVE_LOW>;
99 linux,default-trigger = "mmc0"; 103 linux,default-trigger = "mmc0";
100 }; 104 };
101 105
102 d9 { 106 d9 {
103 label = "d6"; 107 label = "d6";
104 gpios = <&pioB 5 1>; 108 gpios = <&pioB 5 GPIO_ACTIVE_LOW>;
105 linux,default-trigger = "nand-disk"; 109 linux,default-trigger = "nand-disk";
106 }; 110 };
107 111
108 d10 { 112 d10 {
109 label = "d7"; 113 label = "d7";
110 gpios = <&pioB 6 0>; 114 gpios = <&pioB 6 GPIO_ACTIVE_HIGH>;
111 linux,default-trigger = "heartbeat"; 115 linux,default-trigger = "heartbeat";
112 }; 116 };
113 }; 117 };
@@ -117,7 +121,7 @@
117 121
118 enter { 122 enter {
119 label = "Enter"; 123 label = "Enter";
120 gpios = <&pioB 4 1>; 124 gpios = <&pioB 4 GPIO_ACTIVE_LOW>;
121 linux,code = <28>; 125 linux,code = <28>;
122 gpio-key,wakeup; 126 gpio-key,wakeup;
123 }; 127 };
diff --git a/arch/arm/boot/dts/at91sam9x25.dtsi b/arch/arm/boot/dts/at91sam9x25.dtsi
index 9ac2bc2b4f07..49e94aba938f 100644
--- a/arch/arm/boot/dts/at91sam9x25.dtsi
+++ b/arch/arm/boot/dts/at91sam9x25.dtsi
@@ -6,7 +6,7 @@
6 * Licensed under GPLv2. 6 * Licensed under GPLv2.
7 */ 7 */
8 8
9/include/ "at91sam9x5.dtsi" 9#include "at91sam9x5.dtsi"
10 10
11/ { 11/ {
12 model = "Atmel AT91SAM9X25 SoC"; 12 model = "Atmel AT91SAM9X25 SoC";
@@ -26,16 +26,16 @@
26 macb1 { 26 macb1 {
27 pinctrl_macb1_rmii: macb1_rmii-0 { 27 pinctrl_macb1_rmii: macb1_rmii-0 {
28 atmel,pins = 28 atmel,pins =
29 <2 16 0x2 0x0 /* PC16 periph B */ 29 <AT91_PIOC 16 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC16 periph B */
30 2 18 0x2 0x0 /* PC18 periph B */ 30 AT91_PIOC 18 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC18 periph B */
31 2 19 0x2 0x0 /* PC19 periph B */ 31 AT91_PIOC 19 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC19 periph B */
32 2 20 0x2 0x0 /* PC20 periph B */ 32 AT91_PIOC 20 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC20 periph B */
33 2 21 0x2 0x0 /* PC21 periph B */ 33 AT91_PIOC 21 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC21 periph B */
34 2 27 0x2 0x0 /* PC27 periph B */ 34 AT91_PIOC 27 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC27 periph B */
35 2 28 0x2 0x0 /* PC28 periph B */ 35 AT91_PIOC 28 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC28 periph B */
36 2 29 0x2 0x0 /* PC29 periph B */ 36 AT91_PIOC 29 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC29 periph B */
37 2 30 0x2 0x0 /* PC30 periph B */ 37 AT91_PIOC 30 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC30 periph B */
38 2 31 0x2 0x0>; /* PC31 periph B */ 38 AT91_PIOC 31 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC31 periph B */
39 }; 39 };
40 }; 40 };
41 }; 41 };
diff --git a/arch/arm/boot/dts/at91sam9x25ek.dts b/arch/arm/boot/dts/at91sam9x25ek.dts
index 315250b4995e..494864836e83 100644
--- a/arch/arm/boot/dts/at91sam9x25ek.dts
+++ b/arch/arm/boot/dts/at91sam9x25ek.dts
@@ -7,8 +7,8 @@
7 * Licensed under GPLv2 or later. 7 * Licensed under GPLv2 or later.
8 */ 8 */
9/dts-v1/; 9/dts-v1/;
10/include/ "at91sam9x25.dtsi" 10#include "at91sam9x25.dtsi"
11/include/ "at91sam9x5ek.dtsi" 11#include "at91sam9x5ek.dtsi"
12 12
13/ { 13/ {
14 model = "Atmel AT91SAM9X25-EK"; 14 model = "Atmel AT91SAM9X25-EK";
diff --git a/arch/arm/boot/dts/at91sam9x35.dtsi b/arch/arm/boot/dts/at91sam9x35.dtsi
index ba67d83d17ac..1a3d525a1f5d 100644
--- a/arch/arm/boot/dts/at91sam9x35.dtsi
+++ b/arch/arm/boot/dts/at91sam9x35.dtsi
@@ -6,7 +6,7 @@
6 * Licensed under GPLv2. 6 * Licensed under GPLv2.
7 */ 7 */
8 8
9/include/ "at91sam9x5.dtsi" 9#include "at91sam9x5.dtsi"
10 10
11/ { 11/ {
12 model = "Atmel AT91SAM9X35 SoC"; 12 model = "Atmel AT91SAM9X35 SoC";
diff --git a/arch/arm/boot/dts/at91sam9x35ek.dts b/arch/arm/boot/dts/at91sam9x35ek.dts
index 6ad19a0d5424..343d32818ca3 100644
--- a/arch/arm/boot/dts/at91sam9x35ek.dts
+++ b/arch/arm/boot/dts/at91sam9x35ek.dts
@@ -7,8 +7,8 @@
7 * Licensed under GPLv2 or later. 7 * Licensed under GPLv2 or later.
8 */ 8 */
9/dts-v1/; 9/dts-v1/;
10/include/ "at91sam9x35.dtsi" 10#include "at91sam9x35.dtsi"
11/include/ "at91sam9x5ek.dtsi" 11#include "at91sam9x5ek.dtsi"
12 12
13/ { 13/ {
14 model = "Atmel AT91SAM9X35-EK"; 14 model = "Atmel AT91SAM9X35-EK";
diff --git a/arch/arm/boot/dts/at91sam9x5.dtsi b/arch/arm/boot/dts/at91sam9x5.dtsi
index 1145ac330fb7..ff4bd7a061b0 100644
--- a/arch/arm/boot/dts/at91sam9x5.dtsi
+++ b/arch/arm/boot/dts/at91sam9x5.dtsi
@@ -9,7 +9,10 @@
9 * Licensed under GPLv2 or later. 9 * Licensed under GPLv2 or later.
10 */ 10 */
11 11
12/include/ "skeleton.dtsi" 12#include "skeleton.dtsi"
13#include <dt-bindings/pinctrl/at91.h>
14#include <dt-bindings/interrupt-controller/irq.h>
15#include <dt-bindings/gpio/gpio.h>
13 16
14/ { 17/ {
15 model = "Atmel AT91SAM9x5 family SoC"; 18 model = "Atmel AT91SAM9x5 family SoC";
@@ -33,8 +36,12 @@
33 ssc0 = &ssc0; 36 ssc0 = &ssc0;
34 }; 37 };
35 cpus { 38 cpus {
36 cpu@0 { 39 #address-cells = <0>;
37 compatible = "arm,arm926ejs"; 40 #size-cells = <0>;
41
42 cpu {
43 compatible = "arm,arm926ej-s";
44 device_type = "cpu";
38 }; 45 };
39 }; 46 };
40 47
@@ -85,32 +92,32 @@
85 pit: timer@fffffe30 { 92 pit: timer@fffffe30 {
86 compatible = "atmel,at91sam9260-pit"; 93 compatible = "atmel,at91sam9260-pit";
87 reg = <0xfffffe30 0xf>; 94 reg = <0xfffffe30 0xf>;
88 interrupts = <1 4 7>; 95 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
89 }; 96 };
90 97
91 tcb0: timer@f8008000 { 98 tcb0: timer@f8008000 {
92 compatible = "atmel,at91sam9x5-tcb"; 99 compatible = "atmel,at91sam9x5-tcb";
93 reg = <0xf8008000 0x100>; 100 reg = <0xf8008000 0x100>;
94 interrupts = <17 4 0>; 101 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0>;
95 }; 102 };
96 103
97 tcb1: timer@f800c000 { 104 tcb1: timer@f800c000 {
98 compatible = "atmel,at91sam9x5-tcb"; 105 compatible = "atmel,at91sam9x5-tcb";
99 reg = <0xf800c000 0x100>; 106 reg = <0xf800c000 0x100>;
100 interrupts = <17 4 0>; 107 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0>;
101 }; 108 };
102 109
103 dma0: dma-controller@ffffec00 { 110 dma0: dma-controller@ffffec00 {
104 compatible = "atmel,at91sam9g45-dma"; 111 compatible = "atmel,at91sam9g45-dma";
105 reg = <0xffffec00 0x200>; 112 reg = <0xffffec00 0x200>;
106 interrupts = <20 4 0>; 113 interrupts = <20 IRQ_TYPE_LEVEL_HIGH 0>;
107 #dma-cells = <2>; 114 #dma-cells = <2>;
108 }; 115 };
109 116
110 dma1: dma-controller@ffffee00 { 117 dma1: dma-controller@ffffee00 {
111 compatible = "atmel,at91sam9g45-dma"; 118 compatible = "atmel,at91sam9g45-dma";
112 reg = <0xffffee00 0x200>; 119 reg = <0xffffee00 0x200>;
113 interrupts = <21 4 0>; 120 interrupts = <21 IRQ_TYPE_LEVEL_HIGH 0>;
114 #dma-cells = <2>; 121 #dma-cells = <2>;
115 }; 122 };
116 123
@@ -124,297 +131,373 @@
124 dbgu { 131 dbgu {
125 pinctrl_dbgu: dbgu-0 { 132 pinctrl_dbgu: dbgu-0 {
126 atmel,pins = 133 atmel,pins =
127 <0 9 0x1 0x0 /* PA9 periph A */ 134 <AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA9 periph A */
128 0 10 0x1 0x1>; /* PA10 periph A with pullup */ 135 AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PA10 periph A with pullup */
129 }; 136 };
130 }; 137 };
131 138
132 usart0 { 139 usart0 {
133 pinctrl_usart0: usart0-0 { 140 pinctrl_usart0: usart0-0 {
134 atmel,pins = 141 atmel,pins =
135 <0 0 0x1 0x1 /* PA0 periph A with pullup */ 142 <AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA0 periph A with pullup */
136 0 1 0x1 0x0>; /* PA1 periph A */ 143 AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA1 periph A */
137 }; 144 };
138 145
139 pinctrl_usart0_rts: usart0_rts-0 { 146 pinctrl_usart0_rts: usart0_rts-0 {
140 atmel,pins = 147 atmel,pins =
141 <0 2 0x1 0x0>; /* PA2 periph A */ 148 <AT91_PIOA 2 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA2 periph A */
142 }; 149 };
143 150
144 pinctrl_usart0_cts: usart0_cts-0 { 151 pinctrl_usart0_cts: usart0_cts-0 {
145 atmel,pins = 152 atmel,pins =
146 <0 3 0x1 0x0>; /* PA3 periph A */ 153 <AT91_PIOA 3 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA3 periph A */
147 }; 154 };
148 155
149 pinctrl_usart0_sck: usart0_sck-0 { 156 pinctrl_usart0_sck: usart0_sck-0 {
150 atmel,pins = 157 atmel,pins =
151 <0 4 0x1 0x0>; /* PA4 periph A */ 158 <AT91_PIOA 4 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA4 periph A */
152 }; 159 };
153 }; 160 };
154 161
155 usart1 { 162 usart1 {
156 pinctrl_usart1: usart1-0 { 163 pinctrl_usart1: usart1-0 {
157 atmel,pins = 164 atmel,pins =
158 <0 5 0x1 0x1 /* PA5 periph A with pullup */ 165 <AT91_PIOA 5 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA5 periph A with pullup */
159 0 6 0x1 0x0>; /* PA6 periph A */ 166 AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA6 periph A */
160 }; 167 };
161 168
162 pinctrl_usart1_rts: usart1_rts-0 { 169 pinctrl_usart1_rts: usart1_rts-0 {
163 atmel,pins = 170 atmel,pins =
164 <2 27 0x3 0x0>; /* PC27 periph C */ 171 <AT91_PIOC 27 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* PC27 periph C */
165 }; 172 };
166 173
167 pinctrl_usart1_cts: usart1_cts-0 { 174 pinctrl_usart1_cts: usart1_cts-0 {
168 atmel,pins = 175 atmel,pins =
169 <2 28 0x3 0x0>; /* PC28 periph C */ 176 <AT91_PIOC 28 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* PC28 periph C */
170 }; 177 };
171 178
172 pinctrl_usart1_sck: usart1_sck-0 { 179 pinctrl_usart1_sck: usart1_sck-0 {
173 atmel,pins = 180 atmel,pins =
174 <2 28 0x3 0x0>; /* PC29 periph C */ 181 <AT91_PIOC 28 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* PC29 periph C */
175 }; 182 };
176 }; 183 };
177 184
178 usart2 { 185 usart2 {
179 pinctrl_usart2: usart2-0 { 186 pinctrl_usart2: usart2-0 {
180 atmel,pins = 187 atmel,pins =
181 <0 7 0x1 0x1 /* PA7 periph A with pullup */ 188 <AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA7 periph A with pullup */
182 0 8 0x1 0x0>; /* PA8 periph A */ 189 AT91_PIOA 8 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA8 periph A */
183 }; 190 };
184 191
185 pinctrl_uart2_rts: uart2_rts-0 { 192 pinctrl_uart2_rts: uart2_rts-0 {
186 atmel,pins = 193 atmel,pins =
187 <1 0 0x2 0x0>; /* PB0 periph B */ 194 <AT91_PIOB 0 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PB0 periph B */
188 }; 195 };
189 196
190 pinctrl_uart2_cts: uart2_cts-0 { 197 pinctrl_uart2_cts: uart2_cts-0 {
191 atmel,pins = 198 atmel,pins =
192 <1 1 0x2 0x0>; /* PB1 periph B */ 199 <AT91_PIOB 1 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PB1 periph B */
193 }; 200 };
194 201
195 pinctrl_usart2_sck: usart2_sck-0 { 202 pinctrl_usart2_sck: usart2_sck-0 {
196 atmel,pins = 203 atmel,pins =
197 <1 2 0x2 0x0>; /* PB2 periph B */ 204 <AT91_PIOB 2 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PB2 periph B */
198 }; 205 };
199 }; 206 };
200 207
201 usart3 { 208 usart3 {
202 pinctrl_usart3: usart3-0 { 209 pinctrl_usart3: usart3-0 {
203 atmel,pins = 210 atmel,pins =
204 <2 22 0x2 0x1 /* PC22 periph B with pullup */ 211 <AT91_PIOC 22 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PC22 periph B with pullup */
205 2 23 0x2 0x0>; /* PC23 periph B */ 212 AT91_PIOC 23 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC23 periph B */
206 }; 213 };
207 214
208 pinctrl_usart3_rts: usart3_rts-0 { 215 pinctrl_usart3_rts: usart3_rts-0 {
209 atmel,pins = 216 atmel,pins =
210 <2 24 0x2 0x0>; /* PC24 periph B */ 217 <AT91_PIOC 24 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC24 periph B */
211 }; 218 };
212 219
213 pinctrl_usart3_cts: usart3_cts-0 { 220 pinctrl_usart3_cts: usart3_cts-0 {
214 atmel,pins = 221 atmel,pins =
215 <2 25 0x2 0x0>; /* PC25 periph B */ 222 <AT91_PIOC 25 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC25 periph B */
216 }; 223 };
217 224
218 pinctrl_usart3_sck: usart3_sck-0 { 225 pinctrl_usart3_sck: usart3_sck-0 {
219 atmel,pins = 226 atmel,pins =
220 <2 26 0x2 0x0>; /* PC26 periph B */ 227 <AT91_PIOC 26 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC26 periph B */
221 }; 228 };
222 }; 229 };
223 230
224 uart0 { 231 uart0 {
225 pinctrl_uart0: uart0-0 { 232 pinctrl_uart0: uart0-0 {
226 atmel,pins = 233 atmel,pins =
227 <2 8 0x3 0x0 /* PC8 periph C */ 234 <AT91_PIOC 8 AT91_PERIPH_C AT91_PINCTRL_NONE /* PC8 periph C */
228 2 9 0x3 0x1>; /* PC9 periph C with pullup */ 235 AT91_PIOC 9 AT91_PERIPH_C AT91_PINCTRL_PULL_UP>; /* PC9 periph C with pullup */
229 }; 236 };
230 }; 237 };
231 238
232 uart1 { 239 uart1 {
233 pinctrl_uart1: uart1-0 { 240 pinctrl_uart1: uart1-0 {
234 atmel,pins = 241 atmel,pins =
235 <2 16 0x3 0x0 /* PC16 periph C */ 242 <AT91_PIOC 16 AT91_PERIPH_C AT91_PINCTRL_NONE /* PC16 periph C */
236 2 17 0x3 0x1>; /* PC17 periph C with pullup */ 243 AT91_PIOC 17 AT91_PERIPH_C AT91_PINCTRL_PULL_UP>; /* PC17 periph C with pullup */
237 }; 244 };
238 }; 245 };
239 246
240 nand { 247 nand {
241 pinctrl_nand: nand-0 { 248 pinctrl_nand: nand-0 {
242 atmel,pins = 249 atmel,pins =
243 <3 0 0x1 0x0 /* PD0 periph A Read Enable */ 250 <AT91_PIOD 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD0 periph A Read Enable */
244 3 1 0x1 0x0 /* PD1 periph A Write Enable */ 251 AT91_PIOD 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD1 periph A Write Enable */
245 3 2 0x1 0x0 /* PD2 periph A Address Latch Enable */ 252 AT91_PIOD 2 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD2 periph A Address Latch Enable */
246 3 3 0x1 0x0 /* PD3 periph A Command Latch Enable */ 253 AT91_PIOD 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD3 periph A Command Latch Enable */
247 3 4 0x0 0x1 /* PD4 gpio Chip Enable pin pull_up */ 254 AT91_PIOD 4 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP /* PD4 gpio Chip Enable pin pull_up */
248 3 5 0x0 0x1 /* PD5 gpio RDY/BUSY pin pull_up */ 255 AT91_PIOD 5 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP /* PD5 gpio RDY/BUSY pin pull_up */
249 3 6 0x1 0x0 /* PD6 periph A Data bit 0 */ 256 AT91_PIOD 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD6 periph A Data bit 0 */
250 3 7 0x1 0x0 /* PD7 periph A Data bit 1 */ 257 AT91_PIOD 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD7 periph A Data bit 1 */
251 3 8 0x1 0x0 /* PD8 periph A Data bit 2 */ 258 AT91_PIOD 8 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD8 periph A Data bit 2 */
252 3 9 0x1 0x0 /* PD9 periph A Data bit 3 */ 259 AT91_PIOD 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD9 periph A Data bit 3 */
253 3 10 0x1 0x0 /* PD10 periph A Data bit 4 */ 260 AT91_PIOD 10 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD10 periph A Data bit 4 */
254 3 11 0x1 0x0 /* PD11 periph A Data bit 5 */ 261 AT91_PIOD 11 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD11 periph A Data bit 5 */
255 3 12 0x1 0x0 /* PD12 periph A Data bit 6 */ 262 AT91_PIOD 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD12 periph A Data bit 6 */
256 3 13 0x1 0x0>; /* PD13 periph A Data bit 7 */ 263 AT91_PIOD 13 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD13 periph A Data bit 7 */
257 }; 264 };
258 265
259 pinctrl_nand_16bits: nand_16bits-0 { 266 pinctrl_nand_16bits: nand_16bits-0 {
260 atmel,pins = 267 atmel,pins =
261 <3 14 0x1 0x0 /* PD14 periph A Data bit 8 */ 268 <AT91_PIOD 14 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD14 periph A Data bit 8 */
262 3 15 0x1 0x0 /* PD15 periph A Data bit 9 */ 269 AT91_PIOD 15 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD15 periph A Data bit 9 */
263 3 16 0x1 0x0 /* PD16 periph A Data bit 10 */ 270 AT91_PIOD 16 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD16 periph A Data bit 10 */
264 3 17 0x1 0x0 /* PD17 periph A Data bit 11 */ 271 AT91_PIOD 17 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD17 periph A Data bit 11 */
265 3 18 0x1 0x0 /* PD18 periph A Data bit 12 */ 272 AT91_PIOD 18 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD18 periph A Data bit 12 */
266 3 19 0x1 0x0 /* PD19 periph A Data bit 13 */ 273 AT91_PIOD 19 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD19 periph A Data bit 13 */
267 3 20 0x1 0x0 /* PD20 periph A Data bit 14 */ 274 AT91_PIOD 20 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD20 periph A Data bit 14 */
268 3 21 0x1 0x0>; /* PD21 periph A Data bit 15 */ 275 AT91_PIOD 21 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD21 periph A Data bit 15 */
269 }; 276 };
270 }; 277 };
271 278
272 macb0 { 279 macb0 {
273 pinctrl_macb0_rmii: macb0_rmii-0 { 280 pinctrl_macb0_rmii: macb0_rmii-0 {
274 atmel,pins = 281 atmel,pins =
275 <1 0 0x1 0x0 /* PB0 periph A */ 282 <AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB0 periph A */
276 1 1 0x1 0x0 /* PB1 periph A */ 283 AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB1 periph A */
277 1 2 0x1 0x0 /* PB2 periph A */ 284 AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB2 periph A */
278 1 3 0x1 0x0 /* PB3 periph A */ 285 AT91_PIOB 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB3 periph A */
279 1 4 0x1 0x0 /* PB4 periph A */ 286 AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB4 periph A */
280 1 5 0x1 0x0 /* PB5 periph A */ 287 AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB5 periph A */
281 1 6 0x1 0x0 /* PB6 periph A */ 288 AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB6 periph A */
282 1 7 0x1 0x0 /* PB7 periph A */ 289 AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB7 periph A */
283 1 9 0x1 0x0 /* PB9 periph A */ 290 AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB9 periph A */
284 1 10 0x1 0x0>; /* PB10 periph A */ 291 AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB10 periph A */
285 }; 292 };
286 293
287 pinctrl_macb0_rmii_mii: macb0_rmii_mii-0 { 294 pinctrl_macb0_rmii_mii: macb0_rmii_mii-0 {
288 atmel,pins = 295 atmel,pins =
289 <1 8 0x1 0x0 /* PB8 periph A */ 296 <AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB8 periph A */
290 1 11 0x1 0x0 /* PB11 periph A */ 297 AT91_PIOB 11 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB11 periph A */
291 1 12 0x1 0x0 /* PB12 periph A */ 298 AT91_PIOB 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB12 periph A */
292 1 13 0x1 0x0 /* PB13 periph A */ 299 AT91_PIOB 13 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB13 periph A */
293 1 14 0x1 0x0 /* PB14 periph A */ 300 AT91_PIOB 14 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB14 periph A */
294 1 15 0x1 0x0 /* PB15 periph A */ 301 AT91_PIOB 15 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB15 periph A */
295 1 16 0x1 0x0 /* PB16 periph A */ 302 AT91_PIOB 16 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB16 periph A */
296 1 17 0x1 0x0>; /* PB17 periph A */ 303 AT91_PIOB 17 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB17 periph A */
297 }; 304 };
298 }; 305 };
299 306
300 mmc0 { 307 mmc0 {
301 pinctrl_mmc0_slot0_clk_cmd_dat0: mmc0_slot0_clk_cmd_dat0-0 { 308 pinctrl_mmc0_slot0_clk_cmd_dat0: mmc0_slot0_clk_cmd_dat0-0 {
302 atmel,pins = 309 atmel,pins =
303 <0 17 0x1 0x0 /* PA17 periph A */ 310 <AT91_PIOA 17 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA17 periph A */
304 0 16 0x1 0x1 /* PA16 periph A with pullup */ 311 AT91_PIOA 16 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA16 periph A with pullup */
305 0 15 0x1 0x1>; /* PA15 periph A with pullup */ 312 AT91_PIOA 15 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PA15 periph A with pullup */
306 }; 313 };
307 314
308 pinctrl_mmc0_slot0_dat1_3: mmc0_slot0_dat1_3-0 { 315 pinctrl_mmc0_slot0_dat1_3: mmc0_slot0_dat1_3-0 {
309 atmel,pins = 316 atmel,pins =
310 <0 18 0x1 0x1 /* PA18 periph A with pullup */ 317 <AT91_PIOA 18 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA18 periph A with pullup */
311 0 19 0x1 0x1 /* PA19 periph A with pullup */ 318 AT91_PIOA 19 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PA19 periph A with pullup */
312 0 20 0x1 0x1>; /* PA20 periph A with pullup */ 319 AT91_PIOA 20 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PA20 periph A with pullup */
313 }; 320 };
314 }; 321 };
315 322
316 mmc1 { 323 mmc1 {
317 pinctrl_mmc1_slot0_clk_cmd_dat0: mmc1_slot0_clk_cmd_dat0-0 { 324 pinctrl_mmc1_slot0_clk_cmd_dat0: mmc1_slot0_clk_cmd_dat0-0 {
318 atmel,pins = 325 atmel,pins =
319 <0 13 0x2 0x0 /* PA13 periph B */ 326 <AT91_PIOA 13 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA13 periph B */
320 0 12 0x2 0x1 /* PA12 periph B with pullup */ 327 AT91_PIOA 12 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PA12 periph B with pullup */
321 0 11 0x2 0x1>; /* PA11 periph B with pullup */ 328 AT91_PIOA 11 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; /* PA11 periph B with pullup */
322 }; 329 };
323 330
324 pinctrl_mmc1_slot0_dat1_3: mmc1_slot0_dat1_3-0 { 331 pinctrl_mmc1_slot0_dat1_3: mmc1_slot0_dat1_3-0 {
325 atmel,pins = 332 atmel,pins =
326 <0 2 0x2 0x1 /* PA2 periph B with pullup */ 333 <AT91_PIOA 2 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PA2 periph B with pullup */
327 0 3 0x2 0x1 /* PA3 periph B with pullup */ 334 AT91_PIOA 3 AT91_PERIPH_B AT91_PINCTRL_PULL_UP /* PA3 periph B with pullup */
328 0 4 0x2 0x1>; /* PA4 periph B with pullup */ 335 AT91_PIOA 4 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; /* PA4 periph B with pullup */
329 }; 336 };
330 }; 337 };
331 338
332 ssc0 { 339 ssc0 {
333 pinctrl_ssc0_tx: ssc0_tx-0 { 340 pinctrl_ssc0_tx: ssc0_tx-0 {
334 atmel,pins = 341 atmel,pins =
335 <0 24 0x2 0x0 /* PA24 periph B */ 342 <AT91_PIOA 24 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA24 periph B */
336 0 25 0x2 0x0 /* PA25 periph B */ 343 AT91_PIOA 25 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA25 periph B */
337 0 26 0x2 0x0>; /* PA26 periph B */ 344 AT91_PIOA 26 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PA26 periph B */
338 }; 345 };
339 346
340 pinctrl_ssc0_rx: ssc0_rx-0 { 347 pinctrl_ssc0_rx: ssc0_rx-0 {
341 atmel,pins = 348 atmel,pins =
342 <0 27 0x2 0x0 /* PA27 periph B */ 349 <AT91_PIOA 27 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA27 periph B */
343 0 28 0x2 0x0 /* PA28 periph B */ 350 AT91_PIOA 28 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA28 periph B */
344 0 29 0x2 0x0>; /* PA29 periph B */ 351 AT91_PIOA 29 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PA29 periph B */
345 }; 352 };
346 }; 353 };
347 354
348 spi0 { 355 spi0 {
349 pinctrl_spi0: spi0-0 { 356 pinctrl_spi0: spi0-0 {
350 atmel,pins = 357 atmel,pins =
351 <0 11 0x1 0x0 /* PA11 periph A SPI0_MISO pin */ 358 <AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA11 periph A SPI0_MISO pin */
352 0 12 0x1 0x0 /* PA12 periph A SPI0_MOSI pin */ 359 AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA12 periph A SPI0_MOSI pin */
353 0 13 0x1 0x0>; /* PA13 periph A SPI0_SPCK pin */ 360 AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA13 periph A SPI0_SPCK pin */
354 }; 361 };
355 }; 362 };
356 363
357 spi1 { 364 spi1 {
358 pinctrl_spi1: spi1-0 { 365 pinctrl_spi1: spi1-0 {
359 atmel,pins = 366 atmel,pins =
360 <0 21 0x2 0x0 /* PA21 periph B SPI1_MISO pin */ 367 <AT91_PIOA 21 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA21 periph B SPI1_MISO pin */
361 0 22 0x2 0x0 /* PA22 periph B SPI1_MOSI pin */ 368 AT91_PIOA 22 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA22 periph B SPI1_MOSI pin */
362 0 23 0x2 0x0>; /* PA23 periph B SPI1_SPCK pin */ 369 AT91_PIOA 23 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PA23 periph B SPI1_SPCK pin */
363 }; 370 };
364 }; 371 };
365 372
366 i2c0 { 373 i2c0 {
367 pinctrl_i2c0: i2c0-0 { 374 pinctrl_i2c0: i2c0-0 {
368 atmel,pins = 375 atmel,pins =
369 <0 30 0x1 0x0 /* PA30 periph A I2C0 data */ 376 <AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA30 periph A I2C0 data */
370 0 31 0x1 0x0>; /* PA31 periph A I2C0 clock */ 377 AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA31 periph A I2C0 clock */
371 }; 378 };
372 }; 379 };
373 380
374 i2c1 { 381 i2c1 {
375 pinctrl_i2c1: i2c1-0 { 382 pinctrl_i2c1: i2c1-0 {
376 atmel,pins = 383 atmel,pins =
377 <2 0 0x3 0x0 /* PC0 periph C I2C1 data */ 384 <AT91_PIOC 0 AT91_PERIPH_C AT91_PINCTRL_NONE /* PC0 periph C I2C1 data */
378 2 1 0x3 0x0>; /* PC1 periph C I2C1 clock */ 385 AT91_PIOC 1 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* PC1 periph C I2C1 clock */
379 }; 386 };
380 }; 387 };
381 388
382 i2c2 { 389 i2c2 {
383 pinctrl_i2c2: i2c2-0 { 390 pinctrl_i2c2: i2c2-0 {
384 atmel,pins = 391 atmel,pins =
385 <1 4 0x2 0x0 /* PB4 periph B I2C2 data */ 392 <AT91_PIOB 4 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB4 periph B I2C2 data */
386 1 5 0x2 0x0>; /* PB5 periph B I2C2 clock */ 393 AT91_PIOB 5 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PB5 periph B I2C2 clock */
387 }; 394 };
388 }; 395 };
389 396
390 i2c_gpio0 { 397 i2c_gpio0 {
391 pinctrl_i2c_gpio0: i2c_gpio0-0 { 398 pinctrl_i2c_gpio0: i2c_gpio0-0 {
392 atmel,pins = 399 atmel,pins =
393 <0 30 0x0 0x2 /* PA30 gpio multidrive I2C0 data */ 400 <AT91_PIOA 30 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE /* PA30 gpio multidrive I2C0 data */
394 0 31 0x0 0x2>; /* PA31 gpio multidrive I2C0 clock */ 401 AT91_PIOA 31 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE>; /* PA31 gpio multidrive I2C0 clock */
395 }; 402 };
396 }; 403 };
397 404
398 i2c_gpio1 { 405 i2c_gpio1 {
399 pinctrl_i2c_gpio1: i2c_gpio1-0 { 406 pinctrl_i2c_gpio1: i2c_gpio1-0 {
400 atmel,pins = 407 atmel,pins =
401 <2 0 0x0 0x2 /* PC0 gpio multidrive I2C1 data */ 408 <AT91_PIOC 0 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE /* PC0 gpio multidrive I2C1 data */
402 2 1 0x0 0x2>; /* PC1 gpio multidrive I2C1 clock */ 409 AT91_PIOC 1 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE>; /* PC1 gpio multidrive I2C1 clock */
403 }; 410 };
404 }; 411 };
405 412
406 i2c_gpio2 { 413 i2c_gpio2 {
407 pinctrl_i2c_gpio2: i2c_gpio2-0 { 414 pinctrl_i2c_gpio2: i2c_gpio2-0 {
408 atmel,pins = 415 atmel,pins =
409 <1 4 0x0 0x2 /* PB4 gpio multidrive I2C2 data */ 416 <AT91_PIOB 4 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE /* PB4 gpio multidrive I2C2 data */
410 1 5 0x0 0x2>; /* PB5 gpio multidrive I2C2 clock */ 417 AT91_PIOB 5 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE>; /* PB5 gpio multidrive I2C2 clock */
418 };
419 };
420
421 tcb0 {
422 pinctrl_tcb0_tclk0: tcb0_tclk0-0 {
423 atmel,pins = <AT91_PIOA 24 AT91_PERIPH_A AT91_PINCTRL_NONE>;
424 };
425
426 pinctrl_tcb0_tclk1: tcb0_tclk1-0 {
427 atmel,pins = <AT91_PIOA 25 AT91_PERIPH_A AT91_PINCTRL_NONE>;
428 };
429
430 pinctrl_tcb0_tclk2: tcb0_tclk2-0 {
431 atmel,pins = <AT91_PIOA 26 AT91_PERIPH_A AT91_PINCTRL_NONE>;
432 };
433
434 pinctrl_tcb0_tioa0: tcb0_tioa0-0 {
435 atmel,pins = <AT91_PIOA 21 AT91_PERIPH_A AT91_PINCTRL_NONE>;
436 };
437
438 pinctrl_tcb0_tioa1: tcb0_tioa1-0 {
439 atmel,pins = <AT91_PIOA 22 AT91_PERIPH_A AT91_PINCTRL_NONE>;
440 };
441
442 pinctrl_tcb0_tioa2: tcb0_tioa2-0 {
443 atmel,pins = <AT91_PIOA 23 AT91_PERIPH_A AT91_PINCTRL_NONE>;
444 };
445
446 pinctrl_tcb0_tiob0: tcb0_tiob0-0 {
447 atmel,pins = <AT91_PIOA 27 AT91_PERIPH_A AT91_PINCTRL_NONE>;
448 };
449
450 pinctrl_tcb0_tiob1: tcb0_tiob1-0 {
451 atmel,pins = <AT91_PIOA 28 AT91_PERIPH_A AT91_PINCTRL_NONE>;
452 };
453
454 pinctrl_tcb0_tiob2: tcb0_tiob2-0 {
455 atmel,pins = <AT91_PIOA 29 AT91_PERIPH_A AT91_PINCTRL_NONE>;
456 };
457 };
458
459 tcb1 {
460 pinctrl_tcb1_tclk0: tcb1_tclk0-0 {
461 atmel,pins = <AT91_PIOC 4 AT91_PERIPH_C AT91_PINCTRL_NONE>;
462 };
463
464 pinctrl_tcb1_tclk1: tcb1_tclk1-0 {
465 atmel,pins = <AT91_PIOC 7 AT91_PERIPH_C AT91_PINCTRL_NONE>;
466 };
467
468 pinctrl_tcb1_tclk2: tcb1_tclk2-0 {
469 atmel,pins = <AT91_PIOC 14 AT91_PERIPH_C AT91_PINCTRL_NONE>;
470 };
471
472 pinctrl_tcb1_tioa0: tcb1_tioa0-0 {
473 atmel,pins = <AT91_PIOC 2 AT91_PERIPH_C AT91_PINCTRL_NONE>;
474 };
475
476 pinctrl_tcb1_tioa1: tcb1_tioa1-0 {
477 atmel,pins = <AT91_PIOC 5 AT91_PERIPH_C AT91_PINCTRL_NONE>;
478 };
479
480 pinctrl_tcb1_tioa2: tcb1_tioa2-0 {
481 atmel,pins = <AT91_PIOC 12 AT91_PERIPH_C AT91_PINCTRL_NONE>;
482 };
483
484 pinctrl_tcb1_tiob0: tcb1_tiob0-0 {
485 atmel,pins = <AT91_PIOC 3 AT91_PERIPH_C AT91_PINCTRL_NONE>;
486 };
487
488 pinctrl_tcb1_tiob1: tcb1_tiob1-0 {
489 atmel,pins = <AT91_PIOC 6 AT91_PERIPH_C AT91_PINCTRL_NONE>;
490 };
491
492 pinctrl_tcb1_tiob2: tcb1_tiob2-0 {
493 atmel,pins = <AT91_PIOC 13 AT91_PERIPH_C AT91_PINCTRL_NONE>;
411 }; 494 };
412 }; 495 };
413 496
414 pioA: gpio@fffff400 { 497 pioA: gpio@fffff400 {
415 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; 498 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
416 reg = <0xfffff400 0x200>; 499 reg = <0xfffff400 0x200>;
417 interrupts = <2 4 1>; 500 interrupts = <2 IRQ_TYPE_LEVEL_HIGH 1>;
418 #gpio-cells = <2>; 501 #gpio-cells = <2>;
419 gpio-controller; 502 gpio-controller;
420 interrupt-controller; 503 interrupt-controller;
@@ -424,7 +507,7 @@
424 pioB: gpio@fffff600 { 507 pioB: gpio@fffff600 {
425 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; 508 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
426 reg = <0xfffff600 0x200>; 509 reg = <0xfffff600 0x200>;
427 interrupts = <2 4 1>; 510 interrupts = <2 IRQ_TYPE_LEVEL_HIGH 1>;
428 #gpio-cells = <2>; 511 #gpio-cells = <2>;
429 gpio-controller; 512 gpio-controller;
430 #gpio-lines = <19>; 513 #gpio-lines = <19>;
@@ -435,7 +518,7 @@
435 pioC: gpio@fffff800 { 518 pioC: gpio@fffff800 {
436 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; 519 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
437 reg = <0xfffff800 0x200>; 520 reg = <0xfffff800 0x200>;
438 interrupts = <3 4 1>; 521 interrupts = <3 IRQ_TYPE_LEVEL_HIGH 1>;
439 #gpio-cells = <2>; 522 #gpio-cells = <2>;
440 gpio-controller; 523 gpio-controller;
441 interrupt-controller; 524 interrupt-controller;
@@ -445,7 +528,7 @@
445 pioD: gpio@fffffa00 { 528 pioD: gpio@fffffa00 {
446 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; 529 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
447 reg = <0xfffffa00 0x200>; 530 reg = <0xfffffa00 0x200>;
448 interrupts = <3 4 1>; 531 interrupts = <3 IRQ_TYPE_LEVEL_HIGH 1>;
449 #gpio-cells = <2>; 532 #gpio-cells = <2>;
450 gpio-controller; 533 gpio-controller;
451 #gpio-lines = <22>; 534 #gpio-lines = <22>;
@@ -457,7 +540,7 @@
457 ssc0: ssc@f0010000 { 540 ssc0: ssc@f0010000 {
458 compatible = "atmel,at91sam9g45-ssc"; 541 compatible = "atmel,at91sam9g45-ssc";
459 reg = <0xf0010000 0x4000>; 542 reg = <0xf0010000 0x4000>;
460 interrupts = <28 4 5>; 543 interrupts = <28 IRQ_TYPE_LEVEL_HIGH 5>;
461 pinctrl-names = "default"; 544 pinctrl-names = "default";
462 pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>; 545 pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
463 status = "disabled"; 546 status = "disabled";
@@ -466,7 +549,7 @@
466 mmc0: mmc@f0008000 { 549 mmc0: mmc@f0008000 {
467 compatible = "atmel,hsmci"; 550 compatible = "atmel,hsmci";
468 reg = <0xf0008000 0x600>; 551 reg = <0xf0008000 0x600>;
469 interrupts = <12 4 0>; 552 interrupts = <12 IRQ_TYPE_LEVEL_HIGH 0>;
470 dmas = <&dma0 1 0>; 553 dmas = <&dma0 1 0>;
471 dma-names = "rxtx"; 554 dma-names = "rxtx";
472 #address-cells = <1>; 555 #address-cells = <1>;
@@ -477,7 +560,7 @@
477 mmc1: mmc@f000c000 { 560 mmc1: mmc@f000c000 {
478 compatible = "atmel,hsmci"; 561 compatible = "atmel,hsmci";
479 reg = <0xf000c000 0x600>; 562 reg = <0xf000c000 0x600>;
480 interrupts = <26 4 0>; 563 interrupts = <26 IRQ_TYPE_LEVEL_HIGH 0>;
481 dmas = <&dma1 1 0>; 564 dmas = <&dma1 1 0>;
482 dma-names = "rxtx"; 565 dma-names = "rxtx";
483 #address-cells = <1>; 566 #address-cells = <1>;
@@ -488,7 +571,7 @@
488 dbgu: serial@fffff200 { 571 dbgu: serial@fffff200 {
489 compatible = "atmel,at91sam9260-usart"; 572 compatible = "atmel,at91sam9260-usart";
490 reg = <0xfffff200 0x200>; 573 reg = <0xfffff200 0x200>;
491 interrupts = <1 4 7>; 574 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
492 pinctrl-names = "default"; 575 pinctrl-names = "default";
493 pinctrl-0 = <&pinctrl_dbgu>; 576 pinctrl-0 = <&pinctrl_dbgu>;
494 status = "disabled"; 577 status = "disabled";
@@ -497,7 +580,7 @@
497 usart0: serial@f801c000 { 580 usart0: serial@f801c000 {
498 compatible = "atmel,at91sam9260-usart"; 581 compatible = "atmel,at91sam9260-usart";
499 reg = <0xf801c000 0x200>; 582 reg = <0xf801c000 0x200>;
500 interrupts = <5 4 5>; 583 interrupts = <5 IRQ_TYPE_LEVEL_HIGH 5>;
501 pinctrl-names = "default"; 584 pinctrl-names = "default";
502 pinctrl-0 = <&pinctrl_usart0>; 585 pinctrl-0 = <&pinctrl_usart0>;
503 status = "disabled"; 586 status = "disabled";
@@ -506,7 +589,7 @@
506 usart1: serial@f8020000 { 589 usart1: serial@f8020000 {
507 compatible = "atmel,at91sam9260-usart"; 590 compatible = "atmel,at91sam9260-usart";
508 reg = <0xf8020000 0x200>; 591 reg = <0xf8020000 0x200>;
509 interrupts = <6 4 5>; 592 interrupts = <6 IRQ_TYPE_LEVEL_HIGH 5>;
510 pinctrl-names = "default"; 593 pinctrl-names = "default";
511 pinctrl-0 = <&pinctrl_usart1>; 594 pinctrl-0 = <&pinctrl_usart1>;
512 status = "disabled"; 595 status = "disabled";
@@ -515,7 +598,7 @@
515 usart2: serial@f8024000 { 598 usart2: serial@f8024000 {
516 compatible = "atmel,at91sam9260-usart"; 599 compatible = "atmel,at91sam9260-usart";
517 reg = <0xf8024000 0x200>; 600 reg = <0xf8024000 0x200>;
518 interrupts = <7 4 5>; 601 interrupts = <7 IRQ_TYPE_LEVEL_HIGH 5>;
519 pinctrl-names = "default"; 602 pinctrl-names = "default";
520 pinctrl-0 = <&pinctrl_usart2>; 603 pinctrl-0 = <&pinctrl_usart2>;
521 status = "disabled"; 604 status = "disabled";
@@ -524,7 +607,7 @@
524 macb0: ethernet@f802c000 { 607 macb0: ethernet@f802c000 {
525 compatible = "cdns,at32ap7000-macb", "cdns,macb"; 608 compatible = "cdns,at32ap7000-macb", "cdns,macb";
526 reg = <0xf802c000 0x100>; 609 reg = <0xf802c000 0x100>;
527 interrupts = <24 4 3>; 610 interrupts = <24 IRQ_TYPE_LEVEL_HIGH 3>;
528 pinctrl-names = "default"; 611 pinctrl-names = "default";
529 pinctrl-0 = <&pinctrl_macb0_rmii>; 612 pinctrl-0 = <&pinctrl_macb0_rmii>;
530 status = "disabled"; 613 status = "disabled";
@@ -533,14 +616,14 @@
533 macb1: ethernet@f8030000 { 616 macb1: ethernet@f8030000 {
534 compatible = "cdns,at32ap7000-macb", "cdns,macb"; 617 compatible = "cdns,at32ap7000-macb", "cdns,macb";
535 reg = <0xf8030000 0x100>; 618 reg = <0xf8030000 0x100>;
536 interrupts = <27 4 3>; 619 interrupts = <27 IRQ_TYPE_LEVEL_HIGH 3>;
537 status = "disabled"; 620 status = "disabled";
538 }; 621 };
539 622
540 i2c0: i2c@f8010000 { 623 i2c0: i2c@f8010000 {
541 compatible = "atmel,at91sam9x5-i2c"; 624 compatible = "atmel,at91sam9x5-i2c";
542 reg = <0xf8010000 0x100>; 625 reg = <0xf8010000 0x100>;
543 interrupts = <9 4 6>; 626 interrupts = <9 IRQ_TYPE_LEVEL_HIGH 6>;
544 dmas = <&dma0 1 7>, 627 dmas = <&dma0 1 7>,
545 <&dma0 1 8>; 628 <&dma0 1 8>;
546 dma-names = "tx", "rx"; 629 dma-names = "tx", "rx";
@@ -554,7 +637,7 @@
554 i2c1: i2c@f8014000 { 637 i2c1: i2c@f8014000 {
555 compatible = "atmel,at91sam9x5-i2c"; 638 compatible = "atmel,at91sam9x5-i2c";
556 reg = <0xf8014000 0x100>; 639 reg = <0xf8014000 0x100>;
557 interrupts = <10 4 6>; 640 interrupts = <10 IRQ_TYPE_LEVEL_HIGH 6>;
558 dmas = <&dma1 1 5>, 641 dmas = <&dma1 1 5>,
559 <&dma1 1 6>; 642 <&dma1 1 6>;
560 dma-names = "tx", "rx"; 643 dma-names = "tx", "rx";
@@ -568,7 +651,7 @@
568 i2c2: i2c@f8018000 { 651 i2c2: i2c@f8018000 {
569 compatible = "atmel,at91sam9x5-i2c"; 652 compatible = "atmel,at91sam9x5-i2c";
570 reg = <0xf8018000 0x100>; 653 reg = <0xf8018000 0x100>;
571 interrupts = <11 4 6>; 654 interrupts = <11 IRQ_TYPE_LEVEL_HIGH 6>;
572 dmas = <&dma0 1 9>, 655 dmas = <&dma0 1 9>,
573 <&dma0 1 10>; 656 <&dma0 1 10>;
574 dma-names = "tx", "rx"; 657 dma-names = "tx", "rx";
@@ -579,10 +662,28 @@
579 status = "disabled"; 662 status = "disabled";
580 }; 663 };
581 664
665 uart0: serial@f8040000 {
666 compatible = "atmel,at91sam9260-usart";
667 reg = <0xf8040000 0x200>;
668 interrupts = <15 IRQ_TYPE_LEVEL_HIGH 5>;
669 pinctrl-names = "default";
670 pinctrl-0 = <&pinctrl_uart0>;
671 status = "disabled";
672 };
673
674 uart1: serial@f8044000 {
675 compatible = "atmel,at91sam9260-usart";
676 reg = <0xf8044000 0x200>;
677 interrupts = <16 IRQ_TYPE_LEVEL_HIGH 5>;
678 pinctrl-names = "default";
679 pinctrl-0 = <&pinctrl_uart1>;
680 status = "disabled";
681 };
682
582 adc0: adc@f804c000 { 683 adc0: adc@f804c000 {
583 compatible = "atmel,at91sam9260-adc"; 684 compatible = "atmel,at91sam9260-adc";
584 reg = <0xf804c000 0x100>; 685 reg = <0xf804c000 0x100>;
585 interrupts = <19 4 0>; 686 interrupts = <19 IRQ_TYPE_LEVEL_HIGH 0>;
586 atmel,adc-use-external; 687 atmel,adc-use-external;
587 atmel,adc-channels-used = <0xffff>; 688 atmel,adc-channels-used = <0xffff>;
588 atmel,adc-vref = <3300>; 689 atmel,adc-vref = <3300>;
@@ -625,7 +726,7 @@
625 #size-cells = <0>; 726 #size-cells = <0>;
626 compatible = "atmel,at91rm9200-spi"; 727 compatible = "atmel,at91rm9200-spi";
627 reg = <0xf0000000 0x100>; 728 reg = <0xf0000000 0x100>;
628 interrupts = <13 4 3>; 729 interrupts = <13 IRQ_TYPE_LEVEL_HIGH 3>;
629 pinctrl-names = "default"; 730 pinctrl-names = "default";
630 pinctrl-0 = <&pinctrl_spi0>; 731 pinctrl-0 = <&pinctrl_spi0>;
631 status = "disabled"; 732 status = "disabled";
@@ -636,16 +737,22 @@
636 #size-cells = <0>; 737 #size-cells = <0>;
637 compatible = "atmel,at91rm9200-spi"; 738 compatible = "atmel,at91rm9200-spi";
638 reg = <0xf0004000 0x100>; 739 reg = <0xf0004000 0x100>;
639 interrupts = <14 4 3>; 740 interrupts = <14 IRQ_TYPE_LEVEL_HIGH 3>;
640 pinctrl-names = "default"; 741 pinctrl-names = "default";
641 pinctrl-0 = <&pinctrl_spi1>; 742 pinctrl-0 = <&pinctrl_spi1>;
642 status = "disabled"; 743 status = "disabled";
643 }; 744 };
644 745
746 watchdog@fffffe40 {
747 compatible = "atmel,at91sam9260-wdt";
748 reg = <0xfffffe40 0x10>;
749 status = "disabled";
750 };
751
645 rtc@fffffeb0 { 752 rtc@fffffeb0 {
646 compatible = "atmel,at91rm9200-rtc"; 753 compatible = "atmel,at91sam9x5-rtc";
647 reg = <0xfffffeb0 0x40>; 754 reg = <0xfffffeb0 0x40>;
648 interrupts = <1 4 7>; 755 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
649 status = "disabled"; 756 status = "disabled";
650 }; 757 };
651 }; 758 };
@@ -664,8 +771,8 @@
664 atmel,nand-cmd-offset = <22>; 771 atmel,nand-cmd-offset = <22>;
665 pinctrl-names = "default"; 772 pinctrl-names = "default";
666 pinctrl-0 = <&pinctrl_nand>; 773 pinctrl-0 = <&pinctrl_nand>;
667 gpios = <&pioD 5 0 774 gpios = <&pioD 5 GPIO_ACTIVE_HIGH
668 &pioD 4 0 775 &pioD 4 GPIO_ACTIVE_HIGH
669 0 776 0
670 >; 777 >;
671 status = "disabled"; 778 status = "disabled";
@@ -674,22 +781,22 @@
674 usb0: ohci@00600000 { 781 usb0: ohci@00600000 {
675 compatible = "atmel,at91rm9200-ohci", "usb-ohci"; 782 compatible = "atmel,at91rm9200-ohci", "usb-ohci";
676 reg = <0x00600000 0x100000>; 783 reg = <0x00600000 0x100000>;
677 interrupts = <22 4 2>; 784 interrupts = <22 IRQ_TYPE_LEVEL_HIGH 2>;
678 status = "disabled"; 785 status = "disabled";
679 }; 786 };
680 787
681 usb1: ehci@00700000 { 788 usb1: ehci@00700000 {
682 compatible = "atmel,at91sam9g45-ehci", "usb-ehci"; 789 compatible = "atmel,at91sam9g45-ehci", "usb-ehci";
683 reg = <0x00700000 0x100000>; 790 reg = <0x00700000 0x100000>;
684 interrupts = <22 4 2>; 791 interrupts = <22 IRQ_TYPE_LEVEL_HIGH 2>;
685 status = "disabled"; 792 status = "disabled";
686 }; 793 };
687 }; 794 };
688 795
689 i2c@0 { 796 i2c@0 {
690 compatible = "i2c-gpio"; 797 compatible = "i2c-gpio";
691 gpios = <&pioA 30 0 /* sda */ 798 gpios = <&pioA 30 GPIO_ACTIVE_HIGH /* sda */
692 &pioA 31 0 /* scl */ 799 &pioA 31 GPIO_ACTIVE_HIGH /* scl */
693 >; 800 >;
694 i2c-gpio,sda-open-drain; 801 i2c-gpio,sda-open-drain;
695 i2c-gpio,scl-open-drain; 802 i2c-gpio,scl-open-drain;
@@ -703,8 +810,8 @@
703 810
704 i2c@1 { 811 i2c@1 {
705 compatible = "i2c-gpio"; 812 compatible = "i2c-gpio";
706 gpios = <&pioC 0 0 /* sda */ 813 gpios = <&pioC 0 GPIO_ACTIVE_HIGH /* sda */
707 &pioC 1 0 /* scl */ 814 &pioC 1 GPIO_ACTIVE_HIGH /* scl */
708 >; 815 >;
709 i2c-gpio,sda-open-drain; 816 i2c-gpio,sda-open-drain;
710 i2c-gpio,scl-open-drain; 817 i2c-gpio,scl-open-drain;
@@ -718,8 +825,8 @@
718 825
719 i2c@2 { 826 i2c@2 {
720 compatible = "i2c-gpio"; 827 compatible = "i2c-gpio";
721 gpios = <&pioB 4 0 /* sda */ 828 gpios = <&pioB 4 GPIO_ACTIVE_HIGH /* sda */
722 &pioB 5 0 /* scl */ 829 &pioB 5 GPIO_ACTIVE_HIGH /* scl */
723 >; 830 >;
724 i2c-gpio,sda-open-drain; 831 i2c-gpio,sda-open-drain;
725 i2c-gpio,scl-open-drain; 832 i2c-gpio,scl-open-drain;
diff --git a/arch/arm/boot/dts/at91sam9x5cm.dtsi b/arch/arm/boot/dts/at91sam9x5cm.dtsi
index 347a74a857f6..4a5ee5cc115a 100644
--- a/arch/arm/boot/dts/at91sam9x5cm.dtsi
+++ b/arch/arm/boot/dts/at91sam9x5cm.dtsi
@@ -28,7 +28,7 @@
28 pinctrl@fffff400 { 28 pinctrl@fffff400 {
29 1wire_cm { 29 1wire_cm {
30 pinctrl_1wire_cm: 1wire_cm-0 { 30 pinctrl_1wire_cm: 1wire_cm-0 {
31 atmel,pins = <1 18 0x0 0x2>; /* PB18 multidrive, conflicts with led */ 31 atmel,pins = <AT91_PIOB 18 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE>; /* PB18 multidrive, conflicts with led */
32 }; 32 };
33 }; 33 };
34 }; 34 };
@@ -75,19 +75,19 @@
75 75
76 pb18 { 76 pb18 {
77 label = "pb18"; 77 label = "pb18";
78 gpios = <&pioB 18 1>; 78 gpios = <&pioB 18 GPIO_ACTIVE_LOW>;
79 linux,default-trigger = "heartbeat"; 79 linux,default-trigger = "heartbeat";
80 }; 80 };
81 81
82 pd21 { 82 pd21 {
83 label = "pd21"; 83 label = "pd21";
84 gpios = <&pioD 21 0>; 84 gpios = <&pioD 21 GPIO_ACTIVE_HIGH>;
85 }; 85 };
86 }; 86 };
87 87
88 1wire_cm { 88 1wire_cm {
89 compatible = "w1-gpio"; 89 compatible = "w1-gpio";
90 gpios = <&pioB 18 0>; 90 gpios = <&pioB 18 GPIO_ACTIVE_HIGH>;
91 linux,open-drain; 91 linux,open-drain;
92 pinctrl-names = "default"; 92 pinctrl-names = "default";
93 pinctrl-0 = <&pinctrl_1wire_cm>; 93 pinctrl-0 = <&pinctrl_1wire_cm>;
diff --git a/arch/arm/boot/dts/at91sam9x5ek.dtsi b/arch/arm/boot/dts/at91sam9x5ek.dtsi
index 1fa48d2bfd80..5930b0eb68a7 100644
--- a/arch/arm/boot/dts/at91sam9x5ek.dtsi
+++ b/arch/arm/boot/dts/at91sam9x5ek.dtsi
@@ -6,7 +6,7 @@
6 * 6 *
7 * Licensed under GPLv2 or later. 7 * Licensed under GPLv2 or later.
8 */ 8 */
9/include/ "at91sam9x5cm.dtsi" 9#include "at91sam9x5cm.dtsi"
10 10
11/ { 11/ {
12 model = "Atmel AT91SAM9X5-EK"; 12 model = "Atmel AT91SAM9X5-EK";
@@ -27,7 +27,7 @@
27 slot@0 { 27 slot@0 {
28 reg = <0>; 28 reg = <0>;
29 bus-width = <4>; 29 bus-width = <4>;
30 cd-gpios = <&pioD 15 0>; 30 cd-gpios = <&pioD 15 GPIO_ACTIVE_HIGH>;
31 }; 31 };
32 }; 32 };
33 33
@@ -40,7 +40,7 @@
40 slot@0 { 40 slot@0 {
41 reg = <0>; 41 reg = <0>;
42 bus-width = <4>; 42 bus-width = <4>;
43 cd-gpios = <&pioD 14 0>; 43 cd-gpios = <&pioD 14 GPIO_ACTIVE_HIGH>;
44 }; 44 };
45 }; 45 };
46 46
@@ -60,14 +60,14 @@
60 mmc0 { 60 mmc0 {
61 pinctrl_board_mmc0: mmc0-board { 61 pinctrl_board_mmc0: mmc0-board {
62 atmel,pins = 62 atmel,pins =
63 <3 15 0x0 0x5>; /* PD15 gpio CD pin pull up and deglitch */ 63 <AT91_PIOD 15 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; /* PD15 gpio CD pin pull up and deglitch */
64 }; 64 };
65 }; 65 };
66 66
67 mmc1 { 67 mmc1 {
68 pinctrl_board_mmc1: mmc1-board { 68 pinctrl_board_mmc1: mmc1-board {
69 atmel,pins = 69 atmel,pins =
70 <3 14 0x0 0x5>; /* PD14 gpio CD pin pull up and deglitch */ 70 <AT91_PIOD 14 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; /* PD14 gpio CD pin pull up and deglitch */
71 }; 71 };
72 }; 72 };
73 }; 73 };
@@ -81,13 +81,17 @@
81 reg = <0>; 81 reg = <0>;
82 }; 82 };
83 }; 83 };
84
85 watchdog@fffffe40 {
86 status = "okay";
87 };
84 }; 88 };
85 89
86 usb0: ohci@00600000 { 90 usb0: ohci@00600000 {
87 status = "okay"; 91 status = "okay";
88 num-ports = <2>; 92 num-ports = <2>;
89 atmel,vbus-gpio = <&pioD 19 1 93 atmel,vbus-gpio = <&pioD 19 GPIO_ACTIVE_LOW
90 &pioD 20 1 94 &pioD 20 GPIO_ACTIVE_LOW
91 >; 95 >;
92 }; 96 };
93 97
diff --git a/arch/arm/boot/dts/dove-cubox.dts b/arch/arm/boot/dts/dove-cubox.dts
index 7e3065abd751..5cae2ab69762 100644
--- a/arch/arm/boot/dts/dove-cubox.dts
+++ b/arch/arm/boot/dts/dove-cubox.dts
@@ -44,11 +44,60 @@
44 gpio = <&gpio0 1 0>; 44 gpio = <&gpio0 1 0>;
45 }; 45 };
46 }; 46 };
47
48 clocks {
49 /* 25MHz reference crystal */
50 ref25: oscillator {
51 compatible = "fixed-clock";
52 #clock-cells = <0>;
53 clock-frequency = <25000000>;
54 };
55 };
47}; 56};
48 57
49&uart0 { status = "okay"; }; 58&uart0 { status = "okay"; };
50&sata0 { status = "okay"; }; 59&sata0 { status = "okay"; };
51&i2c0 { status = "okay"; }; 60
61&i2c0 {
62 status = "okay";
63 clock-frequency = <100000>;
64
65 si5351: clock-generator {
66 compatible = "silabs,si5351a-msop";
67 reg = <0x60>;
68 #address-cells = <1>;
69 #size-cells = <0>;
70 #clock-cells = <1>;
71
72 /* connect xtal input to 25MHz reference */
73 clocks = <&ref25>;
74
75 /* connect xtal input as source of pll0 and pll1 */
76 silabs,pll-source = <0 0>, <1 0>;
77
78 clkout0 {
79 reg = <0>;
80 silabs,drive-strength = <8>;
81 silabs,multisynth-source = <0>;
82 silabs,clock-source = <0>;
83 silabs,pll-master;
84 };
85
86 clkout1 {
87 reg = <1>;
88 silabs,drive-strength = <8>;
89 silabs,multisynth-source = <1>;
90 silabs,clock-source = <0>;
91 silabs,pll-master;
92 };
93
94 clkout2 {
95 reg = <2>;
96 silabs,multisynth-source = <1>;
97 silabs,clock-source = <0>;
98 };
99 };
100};
52 101
53&sdio0 { 102&sdio0 {
54 status = "okay"; 103 status = "okay";
diff --git a/arch/arm/boot/dts/ethernut5.dts b/arch/arm/boot/dts/ethernut5.dts
index 1ea9d34460a4..143b6d25bc80 100644
--- a/arch/arm/boot/dts/ethernut5.dts
+++ b/arch/arm/boot/dts/ethernut5.dts
@@ -6,7 +6,7 @@
6 * Licensed under GPLv2. 6 * Licensed under GPLv2.
7 */ 7 */
8/dts-v1/; 8/dts-v1/;
9/include/ "at91sam9260.dtsi" 9#include "at91sam9260.dtsi"
10 10
11/ { 11/ {
12 model = "Ethernut 5"; 12 model = "Ethernut 5";
@@ -40,7 +40,7 @@
40 }; 40 };
41 41
42 usb1: gadget@fffa4000 { 42 usb1: gadget@fffa4000 {
43 atmel,vbus-gpio = <&pioC 5 0>; 43 atmel,vbus-gpio = <&pioC 5 GPIO_ACTIVE_HIGH>;
44 status = "okay"; 44 status = "okay";
45 }; 45 };
46 }; 46 };
@@ -52,7 +52,7 @@
52 status = "okay"; 52 status = "okay";
53 53
54 gpios = <0 54 gpios = <0
55 &pioC 14 0 55 &pioC 14 GPIO_ACTIVE_HIGH
56 0 56 0
57 >; 57 >;
58 58
diff --git a/arch/arm/boot/dts/evk-pro3.dts b/arch/arm/boot/dts/evk-pro3.dts
index 96e50f569433..4d829685fdfb 100644
--- a/arch/arm/boot/dts/evk-pro3.dts
+++ b/arch/arm/boot/dts/evk-pro3.dts
@@ -9,7 +9,7 @@
9 9
10/dts-v1/; 10/dts-v1/;
11 11
12/include/ "ge863-pro3.dtsi" 12#include "ge863-pro3.dtsi"
13 13
14/ { 14/ {
15 model = "Telit EVK-PRO3 for Telit GE863-PRO3"; 15 model = "Telit EVK-PRO3 for Telit GE863-PRO3";
@@ -31,7 +31,7 @@
31 }; 31 };
32 32
33 usb1: gadget@fffa4000 { 33 usb1: gadget@fffa4000 {
34 atmel,vbus-gpio = <&pioC 5 0>; 34 atmel,vbus-gpio = <&pioC 5 GPIO_ACTIVE_HIGH>;
35 status = "okay"; 35 status = "okay";
36 }; 36 };
37 37
@@ -50,4 +50,4 @@
50 status = "okay"; 50 status = "okay";
51 }; 51 };
52 52
53}; \ No newline at end of file 53};
diff --git a/arch/arm/boot/dts/exynos5440.dtsi b/arch/arm/boot/dts/exynos5440.dtsi
index 9fd78842e0e0..a8be7e10b458 100644
--- a/arch/arm/boot/dts/exynos5440.dtsi
+++ b/arch/arm/boot/dts/exynos5440.dtsi
@@ -38,18 +38,22 @@
38 #size-cells = <0>; 38 #size-cells = <0>;
39 39
40 cpu@0 { 40 cpu@0 {
41 device_type = "cpu";
41 compatible = "arm,cortex-a15"; 42 compatible = "arm,cortex-a15";
42 reg = <0>; 43 reg = <0>;
43 }; 44 };
44 cpu@1 { 45 cpu@1 {
46 device_type = "cpu";
45 compatible = "arm,cortex-a15"; 47 compatible = "arm,cortex-a15";
46 reg = <1>; 48 reg = <1>;
47 }; 49 };
48 cpu@2 { 50 cpu@2 {
51 device_type = "cpu";
49 compatible = "arm,cortex-a15"; 52 compatible = "arm,cortex-a15";
50 reg = <2>; 53 reg = <2>;
51 }; 54 };
52 cpu@3 { 55 cpu@3 {
56 device_type = "cpu";
53 compatible = "arm,cortex-a15"; 57 compatible = "arm,cortex-a15";
54 reg = <3>; 58 reg = <3>;
55 }; 59 };
diff --git a/arch/arm/boot/dts/ge863-pro3.dtsi b/arch/arm/boot/dts/ge863-pro3.dtsi
index 17136fc7a516..230099bb31c8 100644
--- a/arch/arm/boot/dts/ge863-pro3.dtsi
+++ b/arch/arm/boot/dts/ge863-pro3.dtsi
@@ -7,7 +7,7 @@
7 * Licensed under GPLv2 or later. 7 * Licensed under GPLv2 or later.
8 */ 8 */
9 9
10/include/ "at91sam9260.dtsi" 10#include "at91sam9260.dtsi"
11 11
12/ { 12/ {
13 clocks { 13 clocks {
diff --git a/arch/arm/boot/dts/imx23.dtsi b/arch/arm/boot/dts/imx23.dtsi
index 73fd7d0887b5..587ceef81e45 100644
--- a/arch/arm/boot/dts/imx23.dtsi
+++ b/arch/arm/boot/dts/imx23.dtsi
@@ -23,8 +23,12 @@
23 }; 23 };
24 24
25 cpus { 25 cpus {
26 cpu@0 { 26 #address-cells = <0>;
27 compatible = "arm,arm926ejs"; 27 #size-cells = <0>;
28
29 cpu {
30 compatible = "arm,arm926ej-s";
31 device_type = "cpu";
28 }; 32 };
29 }; 33 };
30 34
diff --git a/arch/arm/boot/dts/imx28.dtsi b/arch/arm/boot/dts/imx28.dtsi
index 600f7cb51f3e..4c10a1968c0e 100644
--- a/arch/arm/boot/dts/imx28.dtsi
+++ b/arch/arm/boot/dts/imx28.dtsi
@@ -32,8 +32,12 @@
32 }; 32 };
33 33
34 cpus { 34 cpus {
35 cpu@0 { 35 #address-cells = <0>;
36 compatible = "arm,arm926ejs"; 36 #size-cells = <0>;
37
38 cpu {
39 compatible = "arm,arm926ej-s";
40 device_type = "cpu";
37 }; 41 };
38 }; 42 };
39 43
diff --git a/arch/arm/boot/dts/imx6dl.dtsi b/arch/arm/boot/dts/imx6dl.dtsi
index 5bcdf3a90bb3..62dc78126795 100644
--- a/arch/arm/boot/dts/imx6dl.dtsi
+++ b/arch/arm/boot/dts/imx6dl.dtsi
@@ -18,12 +18,14 @@
18 18
19 cpu@0 { 19 cpu@0 {
20 compatible = "arm,cortex-a9"; 20 compatible = "arm,cortex-a9";
21 device_type = "cpu";
21 reg = <0>; 22 reg = <0>;
22 next-level-cache = <&L2>; 23 next-level-cache = <&L2>;
23 }; 24 };
24 25
25 cpu@1 { 26 cpu@1 {
26 compatible = "arm,cortex-a9"; 27 compatible = "arm,cortex-a9";
28 device_type = "cpu";
27 reg = <1>; 29 reg = <1>;
28 next-level-cache = <&L2>; 30 next-level-cache = <&L2>;
29 }; 31 };
diff --git a/arch/arm/boot/dts/imx6q.dtsi b/arch/arm/boot/dts/imx6q.dtsi
index 21e675848bd1..dc54a72a3bcd 100644
--- a/arch/arm/boot/dts/imx6q.dtsi
+++ b/arch/arm/boot/dts/imx6q.dtsi
@@ -18,6 +18,7 @@
18 18
19 cpu@0 { 19 cpu@0 {
20 compatible = "arm,cortex-a9"; 20 compatible = "arm,cortex-a9";
21 device_type = "cpu";
21 reg = <0>; 22 reg = <0>;
22 next-level-cache = <&L2>; 23 next-level-cache = <&L2>;
23 operating-points = < 24 operating-points = <
@@ -39,18 +40,21 @@
39 40
40 cpu@1 { 41 cpu@1 {
41 compatible = "arm,cortex-a9"; 42 compatible = "arm,cortex-a9";
43 device_type = "cpu";
42 reg = <1>; 44 reg = <1>;
43 next-level-cache = <&L2>; 45 next-level-cache = <&L2>;
44 }; 46 };
45 47
46 cpu@2 { 48 cpu@2 {
47 compatible = "arm,cortex-a9"; 49 compatible = "arm,cortex-a9";
50 device_type = "cpu";
48 reg = <2>; 51 reg = <2>;
49 next-level-cache = <&L2>; 52 next-level-cache = <&L2>;
50 }; 53 };
51 54
52 cpu@3 { 55 cpu@3 {
53 compatible = "arm,cortex-a9"; 56 compatible = "arm,cortex-a9";
57 device_type = "cpu";
54 reg = <3>; 58 reg = <3>;
55 next-level-cache = <&L2>; 59 next-level-cache = <&L2>;
56 }; 60 };
diff --git a/arch/arm/boot/dts/kirkwood-6281.dtsi b/arch/arm/boot/dts/kirkwood-6281.dtsi
index d6c9d65cbaeb..0ed2f56a91f1 100644
--- a/arch/arm/boot/dts/kirkwood-6281.dtsi
+++ b/arch/arm/boot/dts/kirkwood-6281.dtsi
@@ -40,5 +40,33 @@
40 marvell,function = "sdio"; 40 marvell,function = "sdio";
41 }; 41 };
42 }; 42 };
43
44 rtc@10300 {
45 compatible = "marvell,kirkwood-rtc", "marvell,orion-rtc";
46 reg = <0x10300 0x20>;
47 interrupts = <53>;
48 clocks = <&gate_clk 7>;
49 };
50
51 sata@80000 {
52 compatible = "marvell,orion-sata";
53 reg = <0x80000 0x5000>;
54 interrupts = <21>;
55 clocks = <&gate_clk 14>, <&gate_clk 15>;
56 clock-names = "0", "1";
57 status = "disabled";
58 };
59
60 mvsdio@90000 {
61 compatible = "marvell,orion-sdio";
62 reg = <0x90000 0x200>;
63 interrupts = <28>;
64 clocks = <&gate_clk 4>;
65 bus-width = <4>;
66 cap-sdio-irq;
67 cap-sd-highspeed;
68 cap-mmc-highspeed;
69 status = "disabled";
70 };
43 }; 71 };
44}; 72};
diff --git a/arch/arm/boot/dts/kirkwood-6282.dtsi b/arch/arm/boot/dts/kirkwood-6282.dtsi
index 23991e45bc55..69b760d5b11d 100644
--- a/arch/arm/boot/dts/kirkwood-6282.dtsi
+++ b/arch/arm/boot/dts/kirkwood-6282.dtsi
@@ -49,6 +49,34 @@
49 }; 49 };
50 }; 50 };
51 51
52 rtc@10300 {
53 compatible = "marvell,kirkwood-rtc", "marvell,orion-rtc";
54 reg = <0x10300 0x20>;
55 interrupts = <53>;
56 clocks = <&gate_clk 7>;
57 };
58
59 sata@80000 {
60 compatible = "marvell,orion-sata";
61 reg = <0x80000 0x5000>;
62 interrupts = <21>;
63 clocks = <&gate_clk 14>, <&gate_clk 15>;
64 clock-names = "0", "1";
65 status = "disabled";
66 };
67
68 mvsdio@90000 {
69 compatible = "marvell,orion-sdio";
70 reg = <0x90000 0x200>;
71 interrupts = <28>;
72 clocks = <&gate_clk 4>;
73 bus-width = <4>;
74 cap-sdio-irq;
75 cap-sd-highspeed;
76 cap-mmc-highspeed;
77 status = "disabled";
78 };
79
52 thermal@10078 { 80 thermal@10078 {
53 compatible = "marvell,kirkwood-thermal"; 81 compatible = "marvell,kirkwood-thermal";
54 reg = <0x10078 0x4>; 82 reg = <0x10078 0x4>;
diff --git a/arch/arm/boot/dts/kirkwood-cloudbox.dts b/arch/arm/boot/dts/kirkwood-cloudbox.dts
index 5f21d4e427b0..00c48d26de68 100644
--- a/arch/arm/boot/dts/kirkwood-cloudbox.dts
+++ b/arch/arm/boot/dts/kirkwood-cloudbox.dts
@@ -18,10 +18,6 @@
18 18
19 ocp@f1000000 { 19 ocp@f1000000 {
20 pinctrl: pinctrl@10000 { 20 pinctrl: pinctrl@10000 {
21 pinctrl-0 = < &pmx_spi &pmx_uart0
22 &pmx_cloudbox_sata0 >;
23 pinctrl-names = "default";
24
25 pmx_cloudbox_sata0: pmx-cloudbox-sata0 { 21 pmx_cloudbox_sata0: pmx-cloudbox-sata0 {
26 marvell,pins = "mpp15"; 22 marvell,pins = "mpp15";
27 marvell,function = "sata0"; 23 marvell,function = "sata0";
@@ -29,16 +25,22 @@
29 }; 25 };
30 26
31 serial@12000 { 27 serial@12000 {
28 pinctrl-0 = <&pmx_uart0>;
29 pinctrl-names = "default";
32 clock-frequency = <166666667>; 30 clock-frequency = <166666667>;
33 status = "okay"; 31 status = "okay";
34 }; 32 };
35 33
36 sata@80000 { 34 sata@80000 {
35 pinctrl-0 = <&pmx_cloudbox_sata0>;
36 pinctrl-names = "default";
37 status = "okay"; 37 status = "okay";
38 nr-ports = <1>; 38 nr-ports = <1>;
39 }; 39 };
40 40
41 spi@10600 { 41 spi@10600 {
42 pinctrl-0 = <&pmx_spi>;
43 pinctrl-names = "default";
42 status = "okay"; 44 status = "okay";
43 45
44 flash@0 { 46 flash@0 {
diff --git a/arch/arm/boot/dts/kirkwood-dns320.dts b/arch/arm/boot/dts/kirkwood-dns320.dts
index c9c44b2f62d7..14d4ceea3057 100644
--- a/arch/arm/boot/dts/kirkwood-dns320.dts
+++ b/arch/arm/boot/dts/kirkwood-dns320.dts
@@ -17,6 +17,11 @@
17 17
18 gpio-leds { 18 gpio-leds {
19 compatible = "gpio-leds"; 19 compatible = "gpio-leds";
20 pinctrl-0 = <&pmx_led_power &pmx_led_red_usb_320
21 &pmx_led_red_left_hdd &pmx_led_red_right_hdd
22 &pmx_led_white_usb>;
23 pinctrl-names = "default";
24
20 blue-power { 25 blue-power {
21 label = "dns320:blue:power"; 26 label = "dns320:blue:power";
22 gpios = <&gpio0 26 1>; /* GPIO 26 Active Low */ 27 gpios = <&gpio0 26 1>; /* GPIO 26 Active Low */
@@ -46,6 +51,8 @@
46 }; 51 };
47 52
48 serial@12100 { 53 serial@12100 {
54 pinctrl-0 = <&pmx_uart1>;
55 pinctrl-names = "default";
49 status = "okay"; 56 status = "okay";
50 }; 57 };
51 }; 58 };
diff --git a/arch/arm/boot/dts/kirkwood-dns325.dts b/arch/arm/boot/dts/kirkwood-dns325.dts
index e4e4930dc5cf..63872570e6ce 100644
--- a/arch/arm/boot/dts/kirkwood-dns325.dts
+++ b/arch/arm/boot/dts/kirkwood-dns325.dts
@@ -17,6 +17,11 @@
17 17
18 gpio-leds { 18 gpio-leds {
19 compatible = "gpio-leds"; 19 compatible = "gpio-leds";
20 pinctrl-0 = <&pmx_led_power &pmx_led_red_usb_325
21 &pmx_led_red_left_hdd &pmx_led_red_right_hdd
22 &pmx_led_white_usb>;
23 pinctrl-names = "default";
24
20 white-power { 25 white-power {
21 label = "dns325:white:power"; 26 label = "dns325:white:power";
22 gpios = <&gpio0 26 1>; /* GPIO 26 Active Low */ 27 gpios = <&gpio0 26 1>; /* GPIO 26 Active Low */
diff --git a/arch/arm/boot/dts/kirkwood-dnskw.dtsi b/arch/arm/boot/dts/kirkwood-dnskw.dtsi
index 6875ac00c174..0afe1d07c803 100644
--- a/arch/arm/boot/dts/kirkwood-dnskw.dtsi
+++ b/arch/arm/boot/dts/kirkwood-dnskw.dtsi
@@ -9,6 +9,10 @@
9 compatible = "gpio-keys"; 9 compatible = "gpio-keys";
10 #address-cells = <1>; 10 #address-cells = <1>;
11 #size-cells = <0>; 11 #size-cells = <0>;
12 pinctrl-0 = <&pmx_button_power &pmx_button_unmount
13 &pmx_button_reset>;
14 pinctrl-names = "default";
15
12 button@1 { 16 button@1 {
13 label = "Power button"; 17 label = "Power button";
14 linux,code = <116>; 18 linux,code = <116>;
@@ -29,6 +33,8 @@
29 gpio_fan { 33 gpio_fan {
30 /* Fan: ADDA AD045HB-G73 40mm 6000rpm@5v */ 34 /* Fan: ADDA AD045HB-G73 40mm 6000rpm@5v */
31 compatible = "gpio-fan"; 35 compatible = "gpio-fan";
36 pinctrl-0 = <&pmx_fan_high_speed &pmx_fan_low_speed>;
37 pinctrl-names = "default";
32 gpios = <&gpio1 14 1 38 gpios = <&gpio1 14 1
33 &gpio1 13 1>; 39 &gpio1 13 1>;
34 gpio-fan,speed-map = <0 0 40 gpio-fan,speed-map = <0 0
@@ -38,27 +44,17 @@
38 44
39 gpio_poweroff { 45 gpio_poweroff {
40 compatible = "gpio-poweroff"; 46 compatible = "gpio-poweroff";
47 pinctrl-0 = <&pmx_power_off>;
48 pinctrl-names = "default";
41 gpios = <&gpio1 4 0>; 49 gpios = <&gpio1 4 0>;
42 }; 50 };
43 51
44 ocp@f1000000 { 52 ocp@f1000000 {
45 pinctrl: pinctrl@10000 { 53 pinctrl: pinctrl@10000 {
46 54
47 pinctrl-0 = < &pmx_nand &pmx_uart1 55 pinctrl-0 = <&pmx_power_back_on &pmx_present_sata0
48 &pmx_sata0 &pmx_sata1 56 &pmx_present_sata1 &pmx_fan_tacho
49 &pmx_led_power 57 &pmx_temp_alarm>;
50 &pmx_led_red_right_hdd
51 &pmx_led_red_left_hdd
52 &pmx_led_red_usb_325
53 &pmx_button_power
54 &pmx_led_red_usb_320
55 &pmx_power_off &pmx_power_back_on
56 &pmx_power_sata0 &pmx_power_sata1
57 &pmx_present_sata0 &pmx_present_sata1
58 &pmx_led_white_usb &pmx_fan_tacho
59 &pmx_fan_high_speed &pmx_fan_low_speed
60 &pmx_button_unmount &pmx_button_reset
61 &pmx_temp_alarm >;
62 pinctrl-names = "default"; 58 pinctrl-names = "default";
63 59
64 pmx_sata0: pmx-sata0 { 60 pmx_sata0: pmx-sata0 {
@@ -147,11 +143,15 @@
147 }; 143 };
148 }; 144 };
149 sata@80000 { 145 sata@80000 {
146 pinctrl-0 = <&pmx_sata0 &pmx_sata1>;
147 pinctrl-names = "default";
150 status = "okay"; 148 status = "okay";
151 nr-ports = <2>; 149 nr-ports = <2>;
152 }; 150 };
153 151
154 nand@3000000 { 152 nand@3000000 {
153 pinctrl-0 = <&pmx_nand>;
154 pinctrl-names = "default";
155 status = "okay"; 155 status = "okay";
156 chip-delay = <35>; 156 chip-delay = <35>;
157 157
@@ -192,6 +192,8 @@
192 compatible = "simple-bus"; 192 compatible = "simple-bus";
193 #address-cells = <1>; 193 #address-cells = <1>;
194 #size-cells = <0>; 194 #size-cells = <0>;
195 pinctrl-0 = <&pmx_power_sata0 &pmx_power_sata1>;
196 pinctrl-names = "default";
195 197
196 sata0_power: regulator@1 { 198 sata0_power: regulator@1 {
197 compatible = "regulator-fixed"; 199 compatible = "regulator-fixed";
diff --git a/arch/arm/boot/dts/kirkwood-dockstar.dts b/arch/arm/boot/dts/kirkwood-dockstar.dts
index 0196cf6b0ef2..7714742bb8d8 100644
--- a/arch/arm/boot/dts/kirkwood-dockstar.dts
+++ b/arch/arm/boot/dts/kirkwood-dockstar.dts
@@ -18,11 +18,6 @@
18 18
19 ocp@f1000000 { 19 ocp@f1000000 {
20 pinctrl: pinctrl@10000 { 20 pinctrl: pinctrl@10000 {
21
22 pinctrl-0 = < &pmx_usb_power_enable
23 &pmx_led_green &pmx_led_orange >;
24 pinctrl-names = "default";
25
26 pmx_usb_power_enable: pmx-usb-power-enable { 21 pmx_usb_power_enable: pmx-usb-power-enable {
27 marvell,pins = "mpp29"; 22 marvell,pins = "mpp29";
28 marvell,function = "gpio"; 23 marvell,function = "gpio";
@@ -62,6 +57,8 @@
62 }; 57 };
63 gpio-leds { 58 gpio-leds {
64 compatible = "gpio-leds"; 59 compatible = "gpio-leds";
60 pinctrl-0 = <&pmx_led_green &pmx_led_orange>;
61 pinctrl-names = "default";
65 62
66 health { 63 health {
67 label = "status:green:health"; 64 label = "status:green:health";
@@ -77,6 +74,8 @@
77 compatible = "simple-bus"; 74 compatible = "simple-bus";
78 #address-cells = <1>; 75 #address-cells = <1>;
79 #size-cells = <0>; 76 #size-cells = <0>;
77 pinctrl-0 = <&pmx_usb_power_enable>;
78 pinctrl-names = "default";
80 79
81 usb_power: regulator@1 { 80 usb_power: regulator@1 {
82 compatible = "regulator-fixed"; 81 compatible = "regulator-fixed";
diff --git a/arch/arm/boot/dts/kirkwood-dreamplug.dts b/arch/arm/boot/dts/kirkwood-dreamplug.dts
index 289e51d86372..36c7ba38d500 100644
--- a/arch/arm/boot/dts/kirkwood-dreamplug.dts
+++ b/arch/arm/boot/dts/kirkwood-dreamplug.dts
@@ -18,12 +18,6 @@
18 18
19 ocp@f1000000 { 19 ocp@f1000000 {
20 pinctrl: pinctrl@10000 { 20 pinctrl: pinctrl@10000 {
21
22 pinctrl-0 = < &pmx_spi
23 &pmx_led_bluetooth &pmx_led_wifi
24 &pmx_led_wifi_ap >;
25 pinctrl-names = "default";
26
27 pmx_led_bluetooth: pmx-led-bluetooth { 21 pmx_led_bluetooth: pmx-led-bluetooth {
28 marvell,pins = "mpp47"; 22 marvell,pins = "mpp47";
29 marvell,function = "gpio"; 23 marvell,function = "gpio";
@@ -43,6 +37,8 @@
43 37
44 spi@10600 { 38 spi@10600 {
45 status = "okay"; 39 status = "okay";
40 pinctrl-0 = <&pmx_spi>;
41 pinctrl-names = "default";
46 42
47 m25p40@0 { 43 m25p40@0 {
48 #address-cells = <1>; 44 #address-cells = <1>;
@@ -79,11 +75,15 @@
79 pinctrl-names = "default"; 75 pinctrl-names = "default";
80 status = "okay"; 76 status = "okay";
81 /* No CD or WP GPIOs */ 77 /* No CD or WP GPIOs */
78 broken-cd;
82 }; 79 };
83 }; 80 };
84 81
85 gpio-leds { 82 gpio-leds {
86 compatible = "gpio-leds"; 83 compatible = "gpio-leds";
84 pinctrl-0 = <&pmx_led_bluetooth &pmx_led_wifi
85 &pmx_led_wifi_ap >;
86 pinctrl-names = "default";
87 87
88 bluetooth { 88 bluetooth {
89 label = "dreamplug:blue:bluetooth"; 89 label = "dreamplug:blue:bluetooth";
diff --git a/arch/arm/boot/dts/kirkwood-goflexnet.dts b/arch/arm/boot/dts/kirkwood-goflexnet.dts
index c3573be7b92c..31caa6405065 100644
--- a/arch/arm/boot/dts/kirkwood-goflexnet.dts
+++ b/arch/arm/boot/dts/kirkwood-goflexnet.dts
@@ -18,15 +18,6 @@
18 18
19 ocp@f1000000 { 19 ocp@f1000000 {
20 pinctrl: pinctrl@10000 { 20 pinctrl: pinctrl@10000 {
21
22 pinctrl-0 = < &pmx_usb_power_enable &pmx_led_orange
23 &pmx_led_left_cap_0 &pmx_led_left_cap_1
24 &pmx_led_left_cap_2 &pmx_led_left_cap_3
25 &pmx_led_right_cap_0 &pmx_led_right_cap_1
26 &pmx_led_right_cap_2 &pmx_led_right_cap_3
27 >;
28 pinctrl-names = "default";
29
30 pmx_usb_power_enable: pmx-usb-power-enable { 21 pmx_usb_power_enable: pmx-usb-power-enable {
31 marvell,pins = "mpp29"; 22 marvell,pins = "mpp29";
32 marvell,function = "gpio"; 23 marvell,function = "gpio";
@@ -109,6 +100,13 @@
109 }; 100 };
110 gpio-leds { 101 gpio-leds {
111 compatible = "gpio-leds"; 102 compatible = "gpio-leds";
103 pinctrl-0 = < &pmx_led_orange
104 &pmx_led_left_cap_0 &pmx_led_left_cap_1
105 &pmx_led_left_cap_2 &pmx_led_left_cap_3
106 &pmx_led_right_cap_0 &pmx_led_right_cap_1
107 &pmx_led_right_cap_2 &pmx_led_right_cap_3
108 >;
109 pinctrl-names = "default";
112 110
113 health { 111 health {
114 label = "status:green:health"; 112 label = "status:green:health";
@@ -156,6 +154,8 @@
156 compatible = "simple-bus"; 154 compatible = "simple-bus";
157 #address-cells = <1>; 155 #address-cells = <1>;
158 #size-cells = <0>; 156 #size-cells = <0>;
157 pinctrl-0 = <&pmx_usb_power_enable>;
158 pinctrl-names = "default";
159 159
160 usb_power: regulator@1 { 160 usb_power: regulator@1 {
161 compatible = "regulator-fixed"; 161 compatible = "regulator-fixed";
diff --git a/arch/arm/boot/dts/kirkwood-guruplug-server-plus.dts b/arch/arm/boot/dts/kirkwood-guruplug-server-plus.dts
index 44fd97dfc1f3..1e642f39b154 100644
--- a/arch/arm/boot/dts/kirkwood-guruplug-server-plus.dts
+++ b/arch/arm/boot/dts/kirkwood-guruplug-server-plus.dts
@@ -18,11 +18,6 @@
18 18
19 ocp@f1000000 { 19 ocp@f1000000 {
20 pinctrl: pinctrl@10000 { 20 pinctrl: pinctrl@10000 {
21
22 pinctrl-0 = < &pmx_led_health_r &pmx_led_health_g
23 &pmx_led_wmode_r &pmx_led_wmode_g >;
24 pinctrl-names = "default";
25
26 pmx_led_health_r: pmx-led-health-r { 21 pmx_led_health_r: pmx-led-health-r {
27 marvell,pins = "mpp46"; 22 marvell,pins = "mpp46";
28 marvell,function = "gpio"; 23 marvell,function = "gpio";
@@ -72,11 +67,16 @@
72 67
73 mvsdio@90000 { 68 mvsdio@90000 {
74 status = "okay"; 69 status = "okay";
70 /* No CD or WP GPIOs */
71 broken-cd;
75 }; 72 };
76 }; 73 };
77 74
78 gpio-leds { 75 gpio-leds {
79 compatible = "gpio-leds"; 76 compatible = "gpio-leds";
77 pinctrl-0 = < &pmx_led_health_r &pmx_led_health_g
78 &pmx_led_wmode_r &pmx_led_wmode_g >;
79 pinctrl-names = "default";
80 80
81 health-r { 81 health-r {
82 label = "guruplug:red:health"; 82 label = "guruplug:red:health";
diff --git a/arch/arm/boot/dts/kirkwood-ib62x0.dts b/arch/arm/boot/dts/kirkwood-ib62x0.dts
index 5335b1aa8601..20c4b081f420 100644
--- a/arch/arm/boot/dts/kirkwood-ib62x0.dts
+++ b/arch/arm/boot/dts/kirkwood-ib62x0.dts
@@ -18,13 +18,6 @@
18 18
19 ocp@f1000000 { 19 ocp@f1000000 {
20 pinctrl: pinctrl@10000 { 20 pinctrl: pinctrl@10000 {
21
22 pinctrl-0 = < &pmx_nand
23 &pmx_led_os_red &pmx_power_off
24 &pmx_led_os_green &pmx_led_usb_transfer
25 &pmx_button_reset &pmx_button_usb_copy >;
26 pinctrl-names = "default";
27
28 pmx_led_os_red: pmx-led-os-red { 21 pmx_led_os_red: pmx-led-os-red {
29 marvell,pins = "mpp22"; 22 marvell,pins = "mpp22";
30 marvell,function = "gpio"; 23 marvell,function = "gpio";
@@ -61,6 +54,8 @@
61 54
62 nand@3000000 { 55 nand@3000000 {
63 status = "okay"; 56 status = "okay";
57 pinctrl-0 = <&pmx_nand>;
58 pinctrl-names = "default";
64 59
65 partition@0 { 60 partition@0 {
66 label = "u-boot"; 61 label = "u-boot";
@@ -84,6 +79,9 @@
84 compatible = "gpio-keys"; 79 compatible = "gpio-keys";
85 #address-cells = <1>; 80 #address-cells = <1>;
86 #size-cells = <0>; 81 #size-cells = <0>;
82 pinctrl-0 = <&pmx_button_reset &pmx_button_usb_copy>;
83 pinctrl-names = "default";
84
87 button@1 { 85 button@1 {
88 label = "USB Copy"; 86 label = "USB Copy";
89 linux,code = <133>; 87 linux,code = <133>;
@@ -97,6 +95,9 @@
97 }; 95 };
98 gpio-leds { 96 gpio-leds {
99 compatible = "gpio-leds"; 97 compatible = "gpio-leds";
98 pinctrl-0 = <&pmx_led_os_red &pmx_led_os_green
99 &pmx_led_usb_transfer>;
100 pinctrl-names = "default";
100 101
101 green-os { 102 green-os {
102 label = "ib62x0:green:os"; 103 label = "ib62x0:green:os";
@@ -114,6 +115,8 @@
114 }; 115 };
115 gpio_poweroff { 116 gpio_poweroff {
116 compatible = "gpio-poweroff"; 117 compatible = "gpio-poweroff";
118 pinctrl-0 = <&pmx_power_off>;
119 pinctrl-names = "default";
117 gpios = <&gpio0 24 0>; 120 gpios = <&gpio0 24 0>;
118 }; 121 };
119 122
diff --git a/arch/arm/boot/dts/kirkwood-iconnect.dts b/arch/arm/boot/dts/kirkwood-iconnect.dts
index 12ccf74ac3c4..027501857cb6 100644
--- a/arch/arm/boot/dts/kirkwood-iconnect.dts
+++ b/arch/arm/boot/dts/kirkwood-iconnect.dts
@@ -20,51 +20,43 @@
20 20
21 ocp@f1000000 { 21 ocp@f1000000 {
22 pinctrl: pinctrl@10000 { 22 pinctrl: pinctrl@10000 {
23 23 pmx_button_reset: pmx-button-reset {
24 pinctrl-0 = < &pmx_gpio_12 &pmx_gpio_35
25 &pmx_gpio_41 &pmx_gpio_42
26 &pmx_gpio_43 &pmx_gpio_44
27 &pmx_gpio_45 &pmx_gpio_46
28 &pmx_gpio_47 &pmx_gpio_48 >;
29 pinctrl-names = "default";
30
31 pmx_gpio_12: pmx-gpio-12 {
32 marvell,pins = "mpp12"; 24 marvell,pins = "mpp12";
33 marvell,function = "gpio"; 25 marvell,function = "gpio";
34 }; 26 };
35 pmx_gpio_35: pmx-gpio-35 { 27 pmx_button_otb: pmx-button-otb {
36 marvell,pins = "mpp35"; 28 marvell,pins = "mpp35";
37 marvell,function = "gpio"; 29 marvell,function = "gpio";
38 }; 30 };
39 pmx_gpio_41: pmx-gpio-41 { 31 pmx_led_level: pmx-led-level {
40 marvell,pins = "mpp41"; 32 marvell,pins = "mpp41";
41 marvell,function = "gpio"; 33 marvell,function = "gpio";
42 }; 34 };
43 pmx_gpio_42: pmx-gpio-42 { 35 pmx_led_power_blue: pmx-led-power-blue {
44 marvell,pins = "mpp42"; 36 marvell,pins = "mpp42";
45 marvell,function = "gpio"; 37 marvell,function = "gpio";
46 }; 38 };
47 pmx_gpio_43: pmx-gpio-43 { 39 pmx_led_power_red: pmx-power-red {
48 marvell,pins = "mpp43"; 40 marvell,pins = "mpp43";
49 marvell,function = "gpio"; 41 marvell,function = "gpio";
50 }; 42 };
51 pmx_gpio_44: pmx-gpio-44 { 43 pmx_led_usb1: pmx-led-usb1 {
52 marvell,pins = "mpp44"; 44 marvell,pins = "mpp44";
53 marvell,function = "gpio"; 45 marvell,function = "gpio";
54 }; 46 };
55 pmx_gpio_45: pmx-gpio-45 { 47 pmx_led_usb2: pmx-led-usb2 {
56 marvell,pins = "mpp45"; 48 marvell,pins = "mpp45";
57 marvell,function = "gpio"; 49 marvell,function = "gpio";
58 }; 50 };
59 pmx_gpio_46: pmx-gpio-46 { 51 pmx_led_usb3: pmx-led-usb3 {
60 marvell,pins = "mpp46"; 52 marvell,pins = "mpp46";
61 marvell,function = "gpio"; 53 marvell,function = "gpio";
62 }; 54 };
63 pmx_gpio_47: pmx-gpio-47 { 55 pmx_led_usb4: pmx-led-usb4 {
64 marvell,pins = "mpp47"; 56 marvell,pins = "mpp47";
65 marvell,function = "gpio"; 57 marvell,function = "gpio";
66 }; 58 };
67 pmx_gpio_48: pmx-gpio-48 { 59 pmx_led_otb: pmx-led-otb {
68 marvell,pins = "mpp48"; 60 marvell,pins = "mpp48";
69 marvell,function = "gpio"; 61 marvell,function = "gpio";
70 }; 62 };
@@ -113,6 +105,11 @@
113 105
114 gpio-leds { 106 gpio-leds {
115 compatible = "gpio-leds"; 107 compatible = "gpio-leds";
108 pinctrl-0 = < &pmx_led_level &pmx_led_power_blue
109 &pmx_led_power_red &pmx_led_usb1
110 &pmx_led_usb2 &pmx_led_usb3
111 &pmx_led_usb4 &pmx_led_otb >;
112 pinctrl-names = "default";
116 113
117 led-level { 114 led-level {
118 label = "led_level"; 115 label = "led_level";
@@ -154,6 +151,9 @@
154 compatible = "gpio-keys"; 151 compatible = "gpio-keys";
155 #address-cells = <1>; 152 #address-cells = <1>;
156 #size-cells = <0>; 153 #size-cells = <0>;
154 pinctrl-0 = < &pmx_button_reset &pmx_button_otb >;
155 pinctrl-names = "default";
156
157 button@1 { 157 button@1 {
158 label = "OTB Button"; 158 label = "OTB Button";
159 linux,code = <133>; 159 linux,code = <133>;
diff --git a/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts b/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts
index 3694e94f6e99..00a7bfe5e83b 100644
--- a/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts
+++ b/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts
@@ -18,12 +18,7 @@
18 18
19 ocp@f1000000 { 19 ocp@f1000000 {
20 pinctrl: pinctrl@10000 { 20 pinctrl: pinctrl@10000 {
21 21 pinctrl-0 = < &pmx_led_sata_brt_ctrl_1
22 pinctrl-0 = < &pmx_button_reset &pmx_button_power
23 &pmx_led_backup &pmx_led_power
24 &pmx_button_otb &pmx_led_rebuild
25 &pmx_led_health
26 &pmx_led_sata_brt_ctrl_1
27 &pmx_led_sata_brt_ctrl_2 22 &pmx_led_sata_brt_ctrl_2
28 &pmx_led_backup_brt_ctrl_1 23 &pmx_led_backup_brt_ctrl_1
29 &pmx_led_backup_brt_ctrl_2 24 &pmx_led_backup_brt_ctrl_2
@@ -151,6 +146,9 @@
151 }; 146 };
152 gpio-leds { 147 gpio-leds {
153 compatible = "gpio-leds"; 148 compatible = "gpio-leds";
149 pinctrl-0 = < &pmx_led_backup &pmx_led_power
150 &pmx_led_rebuild &pmx_led_health >;
151 pinctrl-names = "default";
154 152
155 power_led { 153 power_led {
156 label = "status:white:power_led"; 154 label = "status:white:power_led";
@@ -174,6 +172,11 @@
174 compatible = "gpio-keys"; 172 compatible = "gpio-keys";
175 #address-cells = <1>; 173 #address-cells = <1>;
176 #size-cells = <0>; 174 #size-cells = <0>;
175 pinctrl-0 = <&pmx_button_reset &pmx_button_power
176 &pmx_button_otb>;
177 pinctrl-names = "default";
178
179
177 Power { 180 Power {
178 label = "Power Button"; 181 label = "Power Button";
179 linux,code = <116>; 182 linux,code = <116>;
diff --git a/arch/arm/boot/dts/kirkwood-is2.dts b/arch/arm/boot/dts/kirkwood-is2.dts
index 0bdce0ad7277..c3f036b86cca 100644
--- a/arch/arm/boot/dts/kirkwood-is2.dts
+++ b/arch/arm/boot/dts/kirkwood-is2.dts
@@ -13,6 +13,8 @@
13 13
14 ocp@f1000000 { 14 ocp@f1000000 {
15 sata@80000 { 15 sata@80000 {
16 pinctrl-0 = <&pmx_ns2_sata0>;
17 pinctrl-names = "default";
16 status = "okay"; 18 status = "okay";
17 nr-ports = <1>; 19 nr-ports = <1>;
18 }; 20 };
diff --git a/arch/arm/boot/dts/kirkwood-km_kirkwood.dts b/arch/arm/boot/dts/kirkwood-km_kirkwood.dts
index 5bbd0542cdd3..5d9f5ea78700 100644
--- a/arch/arm/boot/dts/kirkwood-km_kirkwood.dts
+++ b/arch/arm/boot/dts/kirkwood-km_kirkwood.dts
@@ -18,9 +18,7 @@
18 18
19 ocp@f1000000 { 19 ocp@f1000000 {
20 pinctrl: pinctrl@10000 { 20 pinctrl: pinctrl@10000 {
21 21 pinctrl-0 = < &pmx_i2c_gpio_sda &pmx_i2c_gpio_scl >;
22 pinctrl-0 = < &pmx_nand &pmx_i2c_gpio_sda
23 &pmx_i2c_gpio_scl >;
24 pinctrl-names = "default"; 22 pinctrl-names = "default";
25 23
26 pmx_i2c_gpio_sda: pmx-gpio-sda { 24 pmx_i2c_gpio_sda: pmx-gpio-sda {
@@ -38,8 +36,17 @@
38 }; 36 };
39 37
40 nand@3000000 { 38 nand@3000000 {
39 pinctrl-0 = <&pmx_nand>;
40 pinctrl-names = "default";
41 status = "ok"; 41 status = "ok";
42 chip-delay = <25>; 42 chip-delay = <25>;
43 }; 43 };
44 }; 44 };
45
46 i2c@0 {
47 compatible = "i2c-gpio";
48 gpios = < &gpio0 8 0 /* sda */
49 &gpio0 9 0 >; /* scl */
50 i2c-gpio,delay-us = <2>; /* ~100 kHz */
51 };
45}; 52};
diff --git a/arch/arm/boot/dts/kirkwood-lsxl.dtsi b/arch/arm/boot/dts/kirkwood-lsxl.dtsi
index 37d45c4f88fb..4945eba03ae6 100644
--- a/arch/arm/boot/dts/kirkwood-lsxl.dtsi
+++ b/arch/arm/boot/dts/kirkwood-lsxl.dtsi
@@ -8,16 +8,6 @@
8 8
9 ocp@f1000000 { 9 ocp@f1000000 {
10 pinctrl: pinctrl@10000 { 10 pinctrl: pinctrl@10000 {
11
12 pinctrl-0 = < &pmx_power_hdd &pmx_usb_vbus
13 &pmx_fan_low &pmx_fan_high
14 &pmx_led_function_red &pmx_led_alarm
15 &pmx_led_info &pmx_led_power
16 &pmx_fan_lock &pmx_button_function
17 &pmx_power_switch &pmx_power_auto_switch
18 &pmx_led_function_blue >;
19 pinctrl-names = "default";
20
21 pmx_power_hdd: pmx-power-hdd { 11 pmx_power_hdd: pmx-power-hdd {
22 marvell,pins = "mpp10"; 12 marvell,pins = "mpp10";
23 marvell,function = "gpo"; 13 marvell,function = "gpo";
@@ -112,6 +102,10 @@
112 compatible = "gpio-keys"; 102 compatible = "gpio-keys";
113 #address-cells = <1>; 103 #address-cells = <1>;
114 #size-cells = <0>; 104 #size-cells = <0>;
105 pinctrl-0 = <&pmx_button_function &pmx_power_switch
106 &pmx_power_auto_switch>;
107 pinctrl-names = "default";
108
115 button@1 { 109 button@1 {
116 label = "Function Button"; 110 label = "Function Button";
117 linux,code = <357>; 111 linux,code = <357>;
@@ -133,6 +127,10 @@
133 127
134 gpio_leds { 128 gpio_leds {
135 compatible = "gpio-leds"; 129 compatible = "gpio-leds";
130 pinctrl-0 = <&pmx_led_function_red &pmx_led_alarm
131 &pmx_led_info &pmx_led_power
132 &pmx_led_function_blue>;
133 pinctrl-names = "default";
136 134
137 led@1 { 135 led@1 {
138 label = "lsxl:blue:func"; 136 label = "lsxl:blue:func";
@@ -163,6 +161,8 @@
163 161
164 gpio_fan { 162 gpio_fan {
165 compatible = "gpio-fan"; 163 compatible = "gpio-fan";
164 pinctrl-0 = <&pmx_fan_low &pmx_fan_high &pmx_fan_lock>;
165 pinctrl-names = "default";
166 gpios = <&gpio0 19 1 166 gpios = <&gpio0 19 1
167 &gpio0 18 1>; 167 &gpio0 18 1>;
168 gpio-fan,speed-map = <0 3 168 gpio-fan,speed-map = <0 3
@@ -176,6 +176,8 @@
176 compatible = "simple-bus"; 176 compatible = "simple-bus";
177 #address-cells = <1>; 177 #address-cells = <1>;
178 #size-cells = <0>; 178 #size-cells = <0>;
179 pinctrl-0 = <&pmx_power_hdd &pmx_usb_vbus>;
180 pinctrl-names = "default";
179 181
180 usb_power: regulator@1 { 182 usb_power: regulator@1 {
181 compatible = "regulator-fixed"; 183 compatible = "regulator-fixed";
diff --git a/arch/arm/boot/dts/kirkwood-mplcec4.dts b/arch/arm/boot/dts/kirkwood-mplcec4.dts
index 758824118a9a..211916a5a0fe 100644
--- a/arch/arm/boot/dts/kirkwood-mplcec4.dts
+++ b/arch/arm/boot/dts/kirkwood-mplcec4.dts
@@ -18,16 +18,6 @@
18 18
19 ocp@f1000000 { 19 ocp@f1000000 {
20 pinctrl: pinctrl@10000 { 20 pinctrl: pinctrl@10000 {
21
22 pinctrl-0 = < &pmx_nand &pmx_uart0
23 &pmx_led_health
24 &pmx_sata0 &pmx_sata1
25 &pmx_led_user1o
26 &pmx_led_user1g &pmx_led_user0o
27 &pmx_led_user0g &pmx_led_misc
28 >;
29 pinctrl-names = "default";
30
31 pmx_led_health: pmx-led-health { 21 pmx_led_health: pmx-led-health {
32 marvell,pins = "mpp7"; 22 marvell,pins = "mpp7";
33 marvell,function = "gpo"; 23 marvell,function = "gpo";
@@ -91,9 +81,13 @@
91 81
92 serial@12000 { 82 serial@12000 {
93 status = "ok"; 83 status = "ok";
84 pinctrl-0 = <&pmx_uart0>;
85 pinctrl-names = "default";
94 }; 86 };
95 87
96 nand@3000000 { 88 nand@3000000 {
89 pinctrl-0 = <&pmx_nand>;
90 pinctrl-names = "default";
97 status = "okay"; 91 status = "okay";
98 92
99 partition@0 { 93 partition@0 {
@@ -127,22 +121,29 @@
127 }; 121 };
128 122
129 sata@80000 { 123 sata@80000 {
124 pinctrl-0 = <&pmx_sata0 &pmx_sata1>;
125 pinctrl-names = "default";
130 nr-ports = <2>; 126 nr-ports = <2>;
131 status = "okay"; 127 status = "okay";
132
133 }; 128 };
134 129
135 mvsdio@90000 { 130 mvsdio@90000 {
136 pinctrl-0 = <&pmx_sdio &pmx_sdio_cd>; 131 pinctrl-0 = <&pmx_sdio &pmx_sdio_cd>;
137 pinctrl-names = "default"; 132 pinctrl-names = "default";
138 status = "okay"; 133 status = "okay";
139 cd-gpios = <&gpio1 15 0>; 134 cd-gpios = <&gpio1 15 1>;
140 /* No WP GPIO */ 135 /* No WP GPIO */
141 }; 136 };
142 }; 137 };
143 138
144 gpio-leds { 139 gpio-leds {
145 compatible = "gpio-leds"; 140 compatible = "gpio-leds";
141 pinctrl-0 = < &pmx_led_health
142 &pmx_led_user1o
143 &pmx_led_user1g &pmx_led_user0o
144 &pmx_led_user0g &pmx_led_misc
145 >;
146 pinctrl-names = "default";
146 147
147 health { 148 health {
148 label = "status:green:health"; 149 label = "status:green:health";
diff --git a/arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts b/arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts
index 1ca66ab83ad6..b79ea8cebf4c 100644
--- a/arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts
+++ b/arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts
@@ -18,18 +18,6 @@
18 18
19 ocp@f1000000 { 19 ocp@f1000000 {
20 pinctrl: pinctrl@10000 { 20 pinctrl: pinctrl@10000 {
21
22 pinctrl-0 = < &pmx_uart0
23 &pmx_button_power
24 &pmx_button_backup
25 &pmx_button_reset
26 &pmx_led_blue_power
27 &pmx_led_blue_activity
28 &pmx_led_blue_disk1
29 &pmx_led_blue_disk2
30 &pmx_led_blue_backup >;
31 pinctrl-names = "default";
32
33 pmx_button_power: pmx-button-power { 21 pmx_button_power: pmx-button-power {
34 marvell,pins = "mpp47"; 22 marvell,pins = "mpp47";
35 marvell,function = "gpio"; 23 marvell,function = "gpio";
@@ -74,6 +62,8 @@
74 }; 62 };
75 63
76 serial@12000 { 64 serial@12000 {
65 pinctrl-0 = <&pmx_uart0>;
66 pinctrl-names = "default";
77 status = "okay"; 67 status = "okay";
78 }; 68 };
79 69
@@ -115,6 +105,10 @@
115 105
116 gpio-leds { 106 gpio-leds {
117 compatible = "gpio-leds"; 107 compatible = "gpio-leds";
108 pinctrl-0 = < &pmx_led_blue_power &pmx_led_blue_activity
109 &pmx_led_blue_disk1 &pmx_led_blue_disk2
110 &pmx_led_blue_backup >;
111 pinctrl-names = "default";
118 112
119 power_led { 113 power_led {
120 label = "status:blue:power_led"; 114 label = "status:blue:power_led";
@@ -143,6 +137,10 @@
143 compatible = "gpio-keys"; 137 compatible = "gpio-keys";
144 #address-cells = <1>; 138 #address-cells = <1>;
145 #size-cells = <0>; 139 #size-cells = <0>;
140 pinctrl-0 = <&pmx_button_power &pmx_button_backup
141 &pmx_button_reset>;
142 pinctrl-names = "default";
143
146 button@1 { 144 button@1 {
147 label = "Power Button"; 145 label = "Power Button";
148 linux,code = <116>; /* KEY_POWER */ 146 linux,code = <116>; /* KEY_POWER */
diff --git a/arch/arm/boot/dts/kirkwood-ns2-common.dtsi b/arch/arm/boot/dts/kirkwood-ns2-common.dtsi
index 6affd924fe11..2afac0405816 100644
--- a/arch/arm/boot/dts/kirkwood-ns2-common.dtsi
+++ b/arch/arm/boot/dts/kirkwood-ns2-common.dtsi
@@ -8,10 +8,6 @@
8 8
9 ocp@f1000000 { 9 ocp@f1000000 {
10 pinctrl: pinctrl@10000 { 10 pinctrl: pinctrl@10000 {
11 pinctrl-0 = < &pmx_spi &pmx_twsi0 &pmx_uart0
12 &pmx_ns2_sata0 &pmx_ns2_sata1>;
13 pinctrl-names = "default";
14
15 pmx_ns2_sata0: pmx-ns2-sata0 { 11 pmx_ns2_sata0: pmx-ns2-sata0 {
16 marvell,pins = "mpp21"; 12 marvell,pins = "mpp21";
17 marvell,function = "sata0"; 13 marvell,function = "sata0";
@@ -23,10 +19,14 @@
23 }; 19 };
24 20
25 serial@12000 { 21 serial@12000 {
22 pinctrl-0 = <&pmx_uart0>;
23 pinctrl-names = "default";
26 status = "okay"; 24 status = "okay";
27 }; 25 };
28 26
29 spi@10600 { 27 spi@10600 {
28 pinctrl-0 = <&pmx_spi>;
29 pinctrl-names = "default";
30 status = "okay"; 30 status = "okay";
31 31
32 flash@0 { 32 flash@0 {
@@ -45,6 +45,8 @@
45 }; 45 };
46 46
47 i2c@11000 { 47 i2c@11000 {
48 pinctrl-0 = <&pmx_twsi0>;
49 pinctrl-names = "default";
48 status = "okay"; 50 status = "okay";
49 51
50 eeprom@50 { 52 eeprom@50 {
diff --git a/arch/arm/boot/dts/kirkwood-ns2.dts b/arch/arm/boot/dts/kirkwood-ns2.dts
index f2d36ecf36d8..b50e93d7796c 100644
--- a/arch/arm/boot/dts/kirkwood-ns2.dts
+++ b/arch/arm/boot/dts/kirkwood-ns2.dts
@@ -13,6 +13,8 @@
13 13
14 ocp@f1000000 { 14 ocp@f1000000 {
15 sata@80000 { 15 sata@80000 {
16 pinctrl-0 = <&pmx_ns2_sata0>;
17 pinctrl-names = "default";
16 status = "okay"; 18 status = "okay";
17 nr-ports = <1>; 19 nr-ports = <1>;
18 }; 20 };
diff --git a/arch/arm/boot/dts/kirkwood-ns2lite.dts b/arch/arm/boot/dts/kirkwood-ns2lite.dts
index b02eb4ea1bb4..af8259fe8955 100644
--- a/arch/arm/boot/dts/kirkwood-ns2lite.dts
+++ b/arch/arm/boot/dts/kirkwood-ns2lite.dts
@@ -13,6 +13,8 @@
13 13
14 ocp@f1000000 { 14 ocp@f1000000 {
15 sata@80000 { 15 sata@80000 {
16 pinctrl-0 = <&pmx_ns2_sata0>;
17 pinctrl-names = "default";
16 status = "okay"; 18 status = "okay";
17 nr-ports = <1>; 19 nr-ports = <1>;
18 }; 20 };
diff --git a/arch/arm/boot/dts/kirkwood-ns2max.dts b/arch/arm/boot/dts/kirkwood-ns2max.dts
index bcec4d6cada7..85f24d227e17 100644
--- a/arch/arm/boot/dts/kirkwood-ns2max.dts
+++ b/arch/arm/boot/dts/kirkwood-ns2max.dts
@@ -13,6 +13,8 @@
13 13
14 ocp@f1000000 { 14 ocp@f1000000 {
15 sata@80000 { 15 sata@80000 {
16 pinctrl-0 = <&pmx_ns2_sata0 &pmx_ns2_sata1>;
17 pinctrl-names = "default";
16 status = "okay"; 18 status = "okay";
17 nr-ports = <2>; 19 nr-ports = <2>;
18 }; 20 };
diff --git a/arch/arm/boot/dts/kirkwood-ns2mini.dts b/arch/arm/boot/dts/kirkwood-ns2mini.dts
index adab1ab25733..329e530bffe7 100644
--- a/arch/arm/boot/dts/kirkwood-ns2mini.dts
+++ b/arch/arm/boot/dts/kirkwood-ns2mini.dts
@@ -14,6 +14,8 @@
14 14
15 ocp@f1000000 { 15 ocp@f1000000 {
16 sata@80000 { 16 sata@80000 {
17 pinctrl-0 = <&pmx_ns2_sata0>;
18 pinctrl-names = "default";
17 status = "okay"; 19 status = "okay";
18 nr-ports = <1>; 20 nr-ports = <1>;
19 }; 21 };
diff --git a/arch/arm/boot/dts/kirkwood-nsa310.dts b/arch/arm/boot/dts/kirkwood-nsa310.dts
index a7412b937a8a..089024a6deab 100644
--- a/arch/arm/boot/dts/kirkwood-nsa310.dts
+++ b/arch/arm/boot/dts/kirkwood-nsa310.dts
@@ -1,6 +1,7 @@
1/dts-v1/; 1/dts-v1/;
2 2
3/include/ "kirkwood.dtsi" 3/include/ "kirkwood.dtsi"
4/include/ "kirkwood-6281.dtsi"
4 5
5/ { 6/ {
6 model = "ZyXEL NSA310"; 7 model = "ZyXEL NSA310";
@@ -17,22 +18,7 @@
17 18
18 ocp@f1000000 { 19 ocp@f1000000 {
19 pinctrl: pinctrl@10000 { 20 pinctrl: pinctrl@10000 {
20 pinctrl-0 = < &pmx_led_esata_green 21 pinctrl-0 = <&pmx_unknown>;
21 &pmx_led_esata_red
22 &pmx_led_usb_green
23 &pmx_led_usb_red
24 &pmx_usb_power_off
25 &pmx_led_sys_green
26 &pmx_led_sys_red
27 &pmx_btn_reset
28 &pmx_btn_copy
29 &pmx_led_copy_green
30 &pmx_led_copy_red
31 &pmx_led_hdd_green
32 &pmx_led_hdd_red
33 &pmx_unknown
34 &pmx_btn_power
35 &pmx_pwr_off >;
36 pinctrl-names = "default"; 22 pinctrl-names = "default";
37 23
38 pmx_led_esata_green: pmx-led-esata-green { 24 pmx_led_esata_green: pmx-led-esata-green {
@@ -182,6 +168,8 @@
182 compatible = "gpio-keys"; 168 compatible = "gpio-keys";
183 #address-cells = <1>; 169 #address-cells = <1>;
184 #size-cells = <0>; 170 #size-cells = <0>;
171 pinctrl-0 = <&pmx_btn_reset &pmx_btn_copy &pmx_btn_power>;
172 pinctrl-names = "default";
185 173
186 button@1 { 174 button@1 {
187 label = "Power Button"; 175 label = "Power Button";
@@ -202,6 +190,12 @@
202 190
203 gpio-leds { 191 gpio-leds {
204 compatible = "gpio-leds"; 192 compatible = "gpio-leds";
193 pinctrl-0 = <&pmx_led_esata_green &pmx_led_esata_red
194 &pmx_led_usb_green &pmx_led_usb_red
195 &pmx_led_sys_green &pmx_led_sys_red
196 &pmx_led_copy_green &pmx_led_copy_red
197 &pmx_led_hdd_green &pmx_led_hdd_red>;
198 pinctrl-names = "default";
205 199
206 green-sys { 200 green-sys {
207 label = "nsa310:green:sys"; 201 label = "nsa310:green:sys";
@@ -247,6 +241,8 @@
247 241
248 gpio_poweroff { 242 gpio_poweroff {
249 compatible = "gpio-poweroff"; 243 compatible = "gpio-poweroff";
244 pinctrl-0 = <&pmx_pwr_off>;
245 pinctrl-names = "default";
250 gpios = <&gpio1 16 0>; 246 gpios = <&gpio1 16 0>;
251 }; 247 };
252 248
@@ -254,6 +250,8 @@
254 compatible = "simple-bus"; 250 compatible = "simple-bus";
255 #address-cells = <1>; 251 #address-cells = <1>;
256 #size-cells = <0>; 252 #size-cells = <0>;
253 pinctrl-0 = <&pmx_usb_power_off>;
254 pinctrl-names = "default";
257 255
258 usb0_power_off: regulator@1 { 256 usb0_power_off: regulator@1 {
259 compatible = "regulator-fixed"; 257 compatible = "regulator-fixed";
diff --git a/arch/arm/boot/dts/kirkwood-openblocks_a6.dts b/arch/arm/boot/dts/kirkwood-openblocks_a6.dts
index d27f7245f8e7..38dc8517d777 100644
--- a/arch/arm/boot/dts/kirkwood-openblocks_a6.dts
+++ b/arch/arm/boot/dts/kirkwood-openblocks_a6.dts
@@ -19,15 +19,21 @@
19 ocp@f1000000 { 19 ocp@f1000000 {
20 serial@12000 { 20 serial@12000 {
21 status = "ok"; 21 status = "ok";
22 pinctrl-0 = <&pmx_uart0>;
23 pinctrl-names = "default";
22 }; 24 };
23 25
24 serial@12100 { 26 serial@12100 {
25 status = "ok"; 27 status = "ok";
28 pinctrl-0 = <&pmx_uart1>;
29 pinctrl-names = "default";
26 }; 30 };
27 31
28 nand@3000000 { 32 nand@3000000 {
29 chip-delay = <25>; 33 chip-delay = <25>;
30 status = "okay"; 34 status = "okay";
35 pinctrl-0 = <&pmx_nand>;
36 pinctrl-names = "default";
31 37
32 partition@0 { 38 partition@0 {
33 label = "uboot"; 39 label = "uboot";
@@ -67,6 +73,8 @@
67 73
68 i2c@11100 { 74 i2c@11100 {
69 status = "okay"; 75 status = "okay";
76 pinctrl-0 = <&pmx_twsi1>;
77 pinctrl-names = "default";
70 78
71 s35390a: s35390a@30 { 79 s35390a: s35390a@30 {
72 compatible = "s35390a"; 80 compatible = "s35390a";
@@ -75,16 +83,7 @@
75 }; 83 };
76 84
77 pinctrl: pinctrl@10000 { 85 pinctrl: pinctrl@10000 {
78 pinctrl-0 = < &pmx_nand &pmx_uart0 86 pinctrl-0 = <&pmx_dip_switches &pmx_gpio_header>;
79 &pmx_uart1 &pmx_twsi1
80 &pmx_dip_sw0 &pmx_dip_sw1
81 &pmx_dip_sw2 &pmx_dip_sw3
82 &pmx_gpio_0 &pmx_gpio_1
83 &pmx_gpio_2 &pmx_gpio_3
84 &pmx_gpio_4 &pmx_gpio_5
85 &pmx_gpio_6 &pmx_gpio_7
86 &pmx_led_red &pmx_led_green
87 &pmx_led_yellow >;
88 pinctrl-names = "default"; 87 pinctrl-names = "default";
89 88
90 pmx_uart0: pmx-uart0 { 89 pmx_uart0: pmx-uart0 {
@@ -104,63 +103,14 @@
104 marvell,function = "sysrst"; 103 marvell,function = "sysrst";
105 }; 104 };
106 105
107 pmx_dip_sw0: pmx-dip-sw0 { 106 pmx_dip_switches: pmx-dip-switches {
108 marvell,pins = "mpp20"; 107 marvell,pins = "mpp20", "mpp21", "mpp22", "mpp23";
109 marvell,function = "gpio";
110 };
111
112 pmx_dip_sw1: pmx-dip-sw1 {
113 marvell,pins = "mpp21";
114 marvell,function = "gpio";
115 };
116
117 pmx_dip_sw2: pmx-dip-sw2 {
118 marvell,pins = "mpp22";
119 marvell,function = "gpio";
120 };
121
122 pmx_dip_sw3: pmx-dip-sw3 {
123 marvell,pins = "mpp23";
124 marvell,function = "gpio";
125 };
126
127 pmx_gpio_0: pmx-gpio-0 {
128 marvell,pins = "mpp24";
129 marvell,function = "gpio";
130 };
131
132 pmx_gpio_1: pmx-gpio-1 {
133 marvell,pins = "mpp25";
134 marvell,function = "gpio";
135 };
136
137 pmx_gpio_2: pmx-gpio-2 {
138 marvell,pins = "mpp26";
139 marvell,function = "gpio"; 108 marvell,function = "gpio";
140 }; 109 };
141 110
142 pmx_gpio_3: pmx-gpio-3 { 111 pmx_gpio_header: pmx-gpio-header {
143 marvell,pins = "mpp27"; 112 marvell,pins = "mpp24", "mpp25", "mpp26", "mpp27",
144 marvell,function = "gpio"; 113 "mpp28", "mpp29", "mpp30", "mpp31";
145 };
146
147 pmx_gpio_4: pmx-gpio-4 {
148 marvell,pins = "mpp28";
149 marvell,function = "gpio";
150 };
151
152 pmx_gpio_5: pmx-gpio-5 {
153 marvell,pins = "mpp29";
154 marvell,function = "gpio";
155 };
156
157 pmx_gpio_6: pmx-gpio-6 {
158 marvell,pins = "mpp30";
159 marvell,function = "gpio";
160 };
161
162 pmx_gpio_7: pmx-gpio-7 {
163 marvell,pins = "mpp31";
164 marvell,function = "gpio"; 114 marvell,function = "gpio";
165 }; 115 };
166 116
@@ -174,18 +124,8 @@
174 marvell,function = "gpio"; 124 marvell,function = "gpio";
175 }; 125 };
176 126
177 pmx_led_red: pmx-led-red { 127 pmx_leds: pmx-leds {
178 marvell,pins = "mpp41"; 128 marvell,pins = "mpp41", "mpp42", "mpp43";
179 marvell,function = "gpio";
180 };
181
182 pmx_led_green: pmx-led-green {
183 marvell,pins = "mpp42";
184 marvell,function = "gpio";
185 };
186
187 pmx_led_yellow: pmx-led-yellow {
188 marvell,pins = "mpp43";
189 marvell,function = "gpio"; 129 marvell,function = "gpio";
190 }; 130 };
191 }; 131 };
@@ -193,6 +133,8 @@
193 133
194 gpio-leds { 134 gpio-leds {
195 compatible = "gpio-leds"; 135 compatible = "gpio-leds";
136 pinctrl-0 = <&pmx_leds>;
137 pinctrl-names = "default";
196 138
197 led-red { 139 led-red {
198 label = "obsa6:red:stat"; 140 label = "obsa6:red:stat";
@@ -209,4 +151,18 @@
209 gpios = <&gpio1 11 1>; 151 gpios = <&gpio1 11 1>;
210 }; 152 };
211 }; 153 };
154
155 gpio_keys {
156 compatible = "gpio-keys";
157 pinctrl-0 = <&pmx_gpio_init>;
158 pinctrl-names = "default";
159 #address-cells = <1>;
160 #size-cells = <0>;
161
162 button@1 {
163 label = "Init Button";
164 linux,code = <116>;
165 gpios = <&gpio1 6 0>;
166 };
167 };
212}; 168};
diff --git a/arch/arm/boot/dts/kirkwood-sheevaplug-common.dtsi b/arch/arm/boot/dts/kirkwood-sheevaplug-common.dtsi
new file mode 100644
index 000000000000..9d5947599694
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-sheevaplug-common.dtsi
@@ -0,0 +1,97 @@
1/*
2 * kirkwood-sheevaplug-common.dts - Common parts for Sheevaplugs
3 *
4 * Copyright (C) 2013 Simon Baatz <gmbnomis@gmail.com>
5 *
6 * Licensed under GPLv2
7 */
8
9/include/ "kirkwood.dtsi"
10/include/ "kirkwood-6281.dtsi"
11
12/ {
13 memory {
14 device_type = "memory";
15 reg = <0x00000000 0x20000000>;
16 };
17
18 chosen {
19 bootargs = "console=ttyS0,115200n8 earlyprintk";
20 };
21
22 ocp@f1000000 {
23 pinctrl: pinctrl@10000 {
24
25 pmx_usb_power_enable: pmx-usb-power-enable {
26 marvell,pins = "mpp29";
27 marvell,function = "gpio";
28 };
29 pmx_led_red: pmx-led-red {
30 marvell,pins = "mpp46";
31 marvell,function = "gpio";
32 };
33 pmx_led_blue: pmx-led-blue {
34 marvell,pins = "mpp49";
35 marvell,function = "gpio";
36 };
37 pmx_sdio_cd: pmx-sdio-cd {
38 marvell,pins = "mpp44";
39 marvell,function = "gpio";
40 };
41 pmx_sdio_wp: pmx-sdio-wp {
42 marvell,pins = "mpp47";
43 marvell,function = "gpio";
44 };
45 };
46 serial@12000 {
47 status = "okay";
48 };
49
50 nand@3000000 {
51 status = "okay";
52
53 partition@0 {
54 label = "u-boot";
55 reg = <0x0000000 0x100000>;
56 };
57
58 partition@100000 {
59 label = "uImage";
60 reg = <0x0100000 0x400000>;
61 };
62
63 partition@500000 {
64 label = "root";
65 reg = <0x0500000 0x1fb00000>;
66 };
67 };
68 };
69
70 regulators {
71 compatible = "simple-bus";
72 #address-cells = <1>;
73 #size-cells = <0>;
74
75 usb_power: regulator@1 {
76 compatible = "regulator-fixed";
77 reg = <1>;
78 regulator-name = "USB Power";
79 regulator-min-microvolt = <5000000>;
80 regulator-max-microvolt = <5000000>;
81 enable-active-high;
82 regulator-always-on;
83 regulator-boot-on;
84 gpio = <&gpio0 29 0>;
85 };
86 };
87
88 gpio-leds {
89 compatible = "gpio-leds";
90
91 health {
92 label = "sheevaplug:blue:health";
93 gpios = <&gpio1 17 1>;
94 linux,default-trigger = "default-on";
95 };
96 };
97};
diff --git a/arch/arm/boot/dts/kirkwood-sheevaplug-esata.dts b/arch/arm/boot/dts/kirkwood-sheevaplug-esata.dts
new file mode 100644
index 000000000000..1c6946a62aa9
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-sheevaplug-esata.dts
@@ -0,0 +1,40 @@
1/*
2 * kirkwood-sheevaplug-esata.dts - Device tree file for eSATA Sheevaplug
3 *
4 * Copyright (C) 2013 Simon Baatz <gmbnomis@gmail.com>
5 *
6 * Licensed under GPLv2
7 */
8
9/dts-v1/;
10
11/include/ "kirkwood-sheevaplug-common.dtsi"
12
13/ {
14 model = "Globalscale Technologies eSATA SheevaPlug";
15 compatible = "globalscale,sheevaplug-esata-rev13", "globalscale,sheevaplug-esata", "globalscale,sheevaplug", "marvell,kirkwood-88f6281", "marvell,kirkwood";
16
17 ocp@f1000000 {
18 pinctrl: pinctrl@10000 {
19
20 pinctrl-0 = < &pmx_nand &pmx_uart0
21 &pmx_usb_power_enable
22 &pmx_led_blue>;
23 pinctrl-names = "default";
24
25 };
26
27 sata@80000 {
28 status = "okay";
29 nr-ports = <2>;
30 };
31
32 mvsdio@90000 {
33 pinctrl-0 = <&pmx_sdio &pmx_sdio_cd &pmx_sdio_wp>;
34 pinctrl-names = "default";
35 status = "okay";
36 cd-gpios = <&gpio1 12 1>;
37 wp-gpios = <&gpio1 15 0>;
38 };
39 };
40};
diff --git a/arch/arm/boot/dts/kirkwood-sheevaplug.dts b/arch/arm/boot/dts/kirkwood-sheevaplug.dts
new file mode 100644
index 000000000000..f7684066f0ce
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-sheevaplug.dts
@@ -0,0 +1,45 @@
1/*
2 * kirkwood-sheevaplug-esata.dts - Device tree file for Sheevaplug
3 *
4 * Copyright (C) 2013 Simon Baatz <gmbnomis@gmail.com>
5 *
6 * Licensed under GPLv2
7 */
8
9/dts-v1/;
10
11/include/ "kirkwood-sheevaplug-common.dtsi"
12
13/ {
14 model = "Globalscale Technologies SheevaPlug";
15 compatible = "globalscale,sheevaplug", "marvell,kirkwood-88f6281", "marvell,kirkwood";
16
17 ocp@f1000000 {
18 pinctrl: pinctrl@10000 {
19
20 pinctrl-0 = < &pmx_nand &pmx_uart0
21 &pmx_usb_power_enable
22 &pmx_led_red
23 &pmx_led_blue>;
24 pinctrl-names = "default";
25
26 };
27
28 mvsdio@90000 {
29 pinctrl-0 = <&pmx_sdio>;
30 pinctrl-names = "default";
31 status = "okay";
32 /* No CD or WP GPIOs */
33 broken-cd;
34 };
35 };
36
37 gpio-leds {
38 compatible = "gpio-leds";
39
40 misc {
41 label = "sheevaplug:red:misc";
42 gpios = <&gpio1 14 1>;
43 };
44 };
45};
diff --git a/arch/arm/boot/dts/kirkwood-topkick.dts b/arch/arm/boot/dts/kirkwood-topkick.dts
index 66eb45b00b25..f2052d7bc10f 100644
--- a/arch/arm/boot/dts/kirkwood-topkick.dts
+++ b/arch/arm/boot/dts/kirkwood-topkick.dts
@@ -19,18 +19,6 @@
19 ocp@f1000000 { 19 ocp@f1000000 {
20 pinctrl: pinctrl@10000 { 20 pinctrl: pinctrl@10000 {
21 /* 21 /*
22 * GPIO LED layout
23 *
24 * /-SYS_LED(2)
25 * |
26 * | /-DISK_LED
27 * | |
28 * | | /-WLAN_LED(2)
29 * | | |
30 * [SW] [*] [*] [*]
31 */
32
33 /*
34 * Switch positions 22 * Switch positions
35 * 23 *
36 * /-SW_LEFT(2) 24 * /-SW_LEFT(2)
@@ -41,19 +29,8 @@
41 * | | | 29 * | | |
42 * PS [L] [I] [R] LEDS 30 * PS [L] [I] [R] LEDS
43 */ 31 */
44 pinctrl-0 = < &pmx_led_disk_yellow 32 pinctrl-0 = <&pmx_sw_left &pmx_sw_right
45 &pmx_sata0_pwr_enable 33 &pmx_sw_idle &pmx_sw_left2>;
46 &pmx_led_sys_red
47 &pmx_led_sys_blue
48 &pmx_led_wifi_green
49 &pmx_sw_left
50 &pmx_sw_right
51 &pmx_sw_idle
52 &pmx_sw_left2
53 &pmx_led_wifi_yellow
54 &pmx_uart0
55 &pmx_nand
56 &pmx_twsi0 >;
57 pinctrl-names = "default"; 34 pinctrl-names = "default";
58 35
59 pmx_led_disk_yellow: pmx-led-disk-yellow { 36 pmx_led_disk_yellow: pmx-led-disk-yellow {
@@ -109,10 +86,14 @@
109 86
110 serial@12000 { 87 serial@12000 {
111 status = "ok"; 88 status = "ok";
89 pinctrl-0 = <&pmx_uart0>;
90 pinctrl-names = "default";
112 }; 91 };
113 92
114 nand@3000000 { 93 nand@3000000 {
115 status = "okay"; 94 status = "okay";
95 pinctrl-0 = <&pmx_nand>;
96 pinctrl-names = "default";
116 97
117 partition@0 { 98 partition@0 {
118 label = "u-boot"; 99 label = "u-boot";
@@ -147,6 +128,8 @@
147 128
148 i2c@11000 { 129 i2c@11000 {
149 status = "ok"; 130 status = "ok";
131 pinctrl-0 = <&pmx_twsi0>;
132 pinctrl-names = "default";
150 }; 133 };
151 134
152 mvsdio@90000 { 135 mvsdio@90000 {
@@ -154,11 +137,28 @@
154 pinctrl-names = "default"; 137 pinctrl-names = "default";
155 status = "okay"; 138 status = "okay";
156 /* No CD or WP GPIOs */ 139 /* No CD or WP GPIOs */
140 broken-cd;
157 }; 141 };
158 }; 142 };
159 143
160 gpio-leds { 144 gpio-leds {
145 /*
146 * GPIO LED layout
147 *
148 * /-SYS_LED(2)
149 * |
150 * | /-DISK_LED
151 * | |
152 * | | /-WLAN_LED(2)
153 * | | |
154 * [SW] [*] [*] [*]
155 */
156
161 compatible = "gpio-leds"; 157 compatible = "gpio-leds";
158 pinctrl-0 = <&pmx_led_disk_yellow &pmx_led_sys_red
159 &pmx_led_sys_blue &pmx_led_wifi_green
160 &pmx_led_wifi_yellow>;
161 pinctrl-names = "default";
162 162
163 disk { 163 disk {
164 label = "topkick:yellow:disk"; 164 label = "topkick:yellow:disk";
@@ -187,6 +187,8 @@
187 compatible = "simple-bus"; 187 compatible = "simple-bus";
188 #address-cells = <1>; 188 #address-cells = <1>;
189 #size-cells = <0>; 189 #size-cells = <0>;
190 pinctrl-0 = <&pmx_sata0_pwr_enable>;
191 pinctrl-names = "default";
190 192
191 sata0_power: regulator@1 { 193 sata0_power: regulator@1 {
192 compatible = "regulator-fixed"; 194 compatible = "regulator-fixed";
diff --git a/arch/arm/boot/dts/kirkwood-ts219-6281.dts b/arch/arm/boot/dts/kirkwood-ts219-6281.dts
index 8295c833887f..a2a90c40befa 100644
--- a/arch/arm/boot/dts/kirkwood-ts219-6281.dts
+++ b/arch/arm/boot/dts/kirkwood-ts219-6281.dts
@@ -7,10 +7,7 @@
7 ocp@f1000000 { 7 ocp@f1000000 {
8 pinctrl: pinctrl@10000 { 8 pinctrl: pinctrl@10000 {
9 9
10 pinctrl-0 = < &pmx_uart0 &pmx_uart1 &pmx_spi 10 pinctrl-0 = <&pmx_ram_size &pmx_board_id>;
11 &pmx_twsi0 &pmx_sata0 &pmx_sata1
12 &pmx_ram_size &pmx_reset_button
13 &pmx_USB_copy_button &pmx_board_id>;
14 pinctrl-names = "default"; 11 pinctrl-names = "default";
15 12
16 pmx_ram_size: pmx-ram-size { 13 pmx_ram_size: pmx-ram-size {
@@ -38,6 +35,9 @@
38 compatible = "gpio-keys"; 35 compatible = "gpio-keys";
39 #address-cells = <1>; 36 #address-cells = <1>;
40 #size-cells = <0>; 37 #size-cells = <0>;
38 pinctrl-0 = <&pmx_reset_button &pmx_USB_copy_button>;
39 pinctrl-names = "default";
40
41 button@1 { 41 button@1 {
42 label = "USB Copy"; 42 label = "USB Copy";
43 linux,code = <133>; 43 linux,code = <133>;
diff --git a/arch/arm/boot/dts/kirkwood-ts219-6282.dts b/arch/arm/boot/dts/kirkwood-ts219-6282.dts
index df3f95dfba33..a4554cb8b954 100644
--- a/arch/arm/boot/dts/kirkwood-ts219-6282.dts
+++ b/arch/arm/boot/dts/kirkwood-ts219-6282.dts
@@ -7,10 +7,7 @@
7 ocp@f1000000 { 7 ocp@f1000000 {
8 pinctrl: pinctrl@10000 { 8 pinctrl: pinctrl@10000 {
9 9
10 pinctrl-0 = < &pmx_uart0 &pmx_uart1 &pmx_spi 10 pinctrl-0 = <&pmx_ram_size &pmx_board_id>;
11 &pmx_twsi0 &pmx_sata0 &pmx_sata1
12 &pmx_ram_size &pmx_reset_button
13 &pmx_USB_copy_button &pmx_board_id>;
14 pinctrl-names = "default"; 11 pinctrl-names = "default";
15 12
16 pmx_ram_size: pmx-ram-size { 13 pmx_ram_size: pmx-ram-size {
@@ -38,6 +35,9 @@
38 compatible = "gpio-keys"; 35 compatible = "gpio-keys";
39 #address-cells = <1>; 36 #address-cells = <1>;
40 #size-cells = <0>; 37 #size-cells = <0>;
38 pinctrl-0 = <&pmx_reset_button &pmx_USB_copy_button>;
39 pinctrl-names = "default";
40
41 button@1 { 41 button@1 {
42 label = "USB Copy"; 42 label = "USB Copy";
43 linux,code = <133>; 43 linux,code = <133>;
diff --git a/arch/arm/boot/dts/kirkwood-ts219.dtsi b/arch/arm/boot/dts/kirkwood-ts219.dtsi
index 64ea27cb3298..b9325d45be78 100644
--- a/arch/arm/boot/dts/kirkwood-ts219.dtsi
+++ b/arch/arm/boot/dts/kirkwood-ts219.dtsi
@@ -17,6 +17,8 @@
17 i2c@11000 { 17 i2c@11000 {
18 status = "okay"; 18 status = "okay";
19 clock-frequency = <400000>; 19 clock-frequency = <400000>;
20 pinctrl-0 = <&pmx_twsi0>;
21 pinctrl-names = "default";
20 22
21 s35390a: s35390a@30 { 23 s35390a: s35390a@30 {
22 compatible = "s35390a"; 24 compatible = "s35390a";
@@ -26,13 +28,19 @@
26 serial@12000 { 28 serial@12000 {
27 clock-frequency = <200000000>; 29 clock-frequency = <200000000>;
28 status = "okay"; 30 status = "okay";
31 pinctrl-0 = <&pmx_uart0>;
32 pinctrl-names = "default";
29 }; 33 };
30 serial@12100 { 34 serial@12100 {
31 clock-frequency = <200000000>; 35 clock-frequency = <200000000>;
32 status = "okay"; 36 status = "okay";
37 pinctrl-0 = <&pmx_uart1>;
38 pinctrl-names = "default";
33 }; 39 };
34 spi@10600 { 40 spi@10600 {
35 status = "okay"; 41 status = "okay";
42 pinctrl-0 = <&pmx_spi>;
43 pinctrl-names = "default";
36 44
37 m25p128@0 { 45 m25p128@0 {
38 #address-cells = <1>; 46 #address-cells = <1>;
@@ -71,6 +79,8 @@
71 }; 79 };
72 }; 80 };
73 sata@80000 { 81 sata@80000 {
82 pinctrl-0 = <&pmx_sata0 &pmx_sata1>;
83 pinctrl-names = "default";
74 status = "okay"; 84 status = "okay";
75 nr-ports = <2>; 85 nr-ports = <2>;
76 }; 86 };
diff --git a/arch/arm/boot/dts/kirkwood.dtsi b/arch/arm/boot/dts/kirkwood.dtsi
index fada7e6d24d8..5d7b759f06a8 100644
--- a/arch/arm/boot/dts/kirkwood.dtsi
+++ b/arch/arm/boot/dts/kirkwood.dtsi
@@ -4,6 +4,18 @@
4 compatible = "marvell,kirkwood"; 4 compatible = "marvell,kirkwood";
5 interrupt-parent = <&intc>; 5 interrupt-parent = <&intc>;
6 6
7 cpus {
8 #address-cells = <1>;
9 #size-cells = <0>;
10
11 cpu@0 {
12 device_type = "cpu";
13 compatible = "marvell,feroceon";
14 clocks = <&core_clk 1>, <&core_clk 3>, <&gate_clk 11>;
15 clock-names = "cpu_clk", "ddrclk", "powersave";
16 };
17 };
18
7 aliases { 19 aliases {
8 gpio0 = &gpio0; 20 gpio0 = &gpio0;
9 gpio1 = &gpio1; 21 gpio1 = &gpio1;
@@ -71,13 +83,6 @@
71 status = "disabled"; 83 status = "disabled";
72 }; 84 };
73 85
74 rtc@10300 {
75 compatible = "marvell,kirkwood-rtc", "marvell,orion-rtc";
76 reg = <0x10300 0x20>;
77 interrupts = <53>;
78 clocks = <&gate_clk 7>;
79 };
80
81 spi@10600 { 86 spi@10600 {
82 compatible = "marvell,orion-spi"; 87 compatible = "marvell,orion-spi";
83 #address-cells = <1>; 88 #address-cells = <1>;
@@ -151,15 +156,6 @@
151 status = "okay"; 156 status = "okay";
152 }; 157 };
153 158
154 sata@80000 {
155 compatible = "marvell,orion-sata";
156 reg = <0x80000 0x5000>;
157 interrupts = <21>;
158 clocks = <&gate_clk 14>, <&gate_clk 15>;
159 clock-names = "0", "1";
160 status = "disabled";
161 };
162
163 nand@3000000 { 159 nand@3000000 {
164 #address-cells = <1>; 160 #address-cells = <1>;
165 #size-cells = <1>; 161 #size-cells = <1>;
@@ -194,13 +190,5 @@
194 clocks = <&gate_clk 17>; 190 clocks = <&gate_clk 17>;
195 status = "okay"; 191 status = "okay";
196 }; 192 };
197
198 mvsdio@90000 {
199 compatible = "marvell,orion-sdio";
200 reg = <0x90000 0x200>;
201 interrupts = <28>;
202 clocks = <&gate_clk 4>;
203 status = "disabled";
204 };
205 }; 193 };
206}; 194};
diff --git a/arch/arm/boot/dts/kizbox.dts b/arch/arm/boot/dts/kizbox.dts
index b4dc3ed9a3ec..02df1914a47c 100644
--- a/arch/arm/boot/dts/kizbox.dts
+++ b/arch/arm/boot/dts/kizbox.dts
@@ -6,7 +6,7 @@
6 * Licensed under GPLv2. 6 * Licensed under GPLv2.
7 */ 7 */
8/dts-v1/; 8/dts-v1/;
9/include/ "at91sam9g20.dtsi" 9#include "at91sam9g20.dtsi"
10 10
11/ { 11/ {
12 12
@@ -94,26 +94,26 @@
94 94
95 led1g { 95 led1g {
96 label = "led1:green"; 96 label = "led1:green";
97 gpios = <&pioB 0 1>; 97 gpios = <&pioB 0 GPIO_ACTIVE_LOW>;
98 linux,default-trigger = "none"; 98 linux,default-trigger = "none";
99 }; 99 };
100 100
101 led1r { 101 led1r {
102 label = "led1:red"; 102 label = "led1:red";
103 gpios = <&pioB 1 1>; 103 gpios = <&pioB 1 GPIO_ACTIVE_LOW>;
104 linux,default-trigger = "none"; 104 linux,default-trigger = "none";
105 }; 105 };
106 106
107 led2g { 107 led2g {
108 label = "led2:green"; 108 label = "led2:green";
109 gpios = <&pioB 2 1>; 109 gpios = <&pioB 2 GPIO_ACTIVE_LOW>;
110 linux,default-trigger = "none"; 110 linux,default-trigger = "none";
111 default-state = "on"; 111 default-state = "on";
112 }; 112 };
113 113
114 led2r { 114 led2r {
115 label = "led2:red"; 115 label = "led2:red";
116 gpios = <&pioB 3 1>; 116 gpios = <&pioB 3 GPIO_ACTIVE_LOW>;
117 linux,default-trigger = "none"; 117 linux,default-trigger = "none";
118 }; 118 };
119 }; 119 };
@@ -125,16 +125,16 @@
125 125
126 reset { 126 reset {
127 label = "reset"; 127 label = "reset";
128 gpios = <&pioB 30 1>; 128 gpios = <&pioB 30 GPIO_ACTIVE_LOW>;
129 linux,code = <0x100>; 129 linux,code = <0x100>;
130 gpio-key,wakeup; 130 gpio-key,wakeup;
131 }; 131 };
132 132
133 mode { 133 mode {
134 label = "mode"; 134 label = "mode";
135 gpios = <&pioB 31 1>; 135 gpios = <&pioB 31 GPIO_ACTIVE_LOW>;
136 linux,code = <0x101>; 136 linux,code = <0x101>;
137 gpio-key,wakeup; 137 gpio-key,wakeup;
138 }; 138 };
139 }; 139 };
140}; \ No newline at end of file 140};
diff --git a/arch/arm/boot/dts/lpc32xx.dtsi b/arch/arm/boot/dts/lpc32xx.dtsi
index 1582f484a867..3abebb75fc57 100644
--- a/arch/arm/boot/dts/lpc32xx.dtsi
+++ b/arch/arm/boot/dts/lpc32xx.dtsi
@@ -18,8 +18,12 @@
18 interrupt-parent = <&mic>; 18 interrupt-parent = <&mic>;
19 19
20 cpus { 20 cpus {
21 cpu@0 { 21 #address-cells = <0>;
22 compatible = "arm,arm926ejs"; 22 #size-cells = <0>;
23
24 cpu {
25 compatible = "arm,arm926ej-s";
26 device_type = "cpu";
23 }; 27 };
24 }; 28 };
25 29
diff --git a/arch/arm/boot/dts/mpa1600.dts b/arch/arm/boot/dts/mpa1600.dts
index 317300875f34..ccf9ea242f72 100644
--- a/arch/arm/boot/dts/mpa1600.dts
+++ b/arch/arm/boot/dts/mpa1600.dts
@@ -6,7 +6,7 @@
6 * Licensed under GPLv2 only 6 * Licensed under GPLv2 only
7 */ 7 */
8/dts-v1/; 8/dts-v1/;
9/include/ "at91rm9200.dtsi" 9#include "at91rm9200.dtsi"
10 10
11/ { 11/ {
12 model = "Phontech MPA 1600"; 12 model = "Phontech MPA 1600";
@@ -62,7 +62,7 @@
62 62
63 monitor_mute { 63 monitor_mute {
64 label = "Monitor mute"; 64 label = "Monitor mute";
65 gpios = <&pioC 1 1>; 65 gpios = <&pioC 1 GPIO_ACTIVE_LOW>;
66 linux,code = <113>; 66 linux,code = <113>;
67 }; 67 };
68 }; 68 };
diff --git a/arch/arm/boot/dts/omap2.dtsi b/arch/arm/boot/dts/omap2.dtsi
index 37aa7487d4d8..4aac404608cb 100644
--- a/arch/arm/boot/dts/omap2.dtsi
+++ b/arch/arm/boot/dts/omap2.dtsi
@@ -21,8 +21,12 @@
21 }; 21 };
22 22
23 cpus { 23 cpus {
24 cpu@0 { 24 #address-cells = <0>;
25 #size-cells = <0>;
26
27 cpu {
25 compatible = "arm,arm1136jf-s"; 28 compatible = "arm,arm1136jf-s";
29 device_type = "cpu";
26 }; 30 };
27 }; 31 };
28 32
diff --git a/arch/arm/boot/dts/omap3.dtsi b/arch/arm/boot/dts/omap3.dtsi
index 99ba6e14ebf3..0bbeff2afd4d 100644
--- a/arch/arm/boot/dts/omap3.dtsi
+++ b/arch/arm/boot/dts/omap3.dtsi
@@ -21,8 +21,13 @@
21 }; 21 };
22 22
23 cpus { 23 cpus {
24 #address-cells = <1>;
25 #size-cells = <0>;
26
24 cpu@0 { 27 cpu@0 {
25 compatible = "arm,cortex-a8"; 28 compatible = "arm,cortex-a8";
29 device_type = "cpu";
30 reg = <0x0>;
26 }; 31 };
27 }; 32 };
28 33
diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi
index 2a5642882c8a..33a94509a292 100644
--- a/arch/arm/boot/dts/omap4.dtsi
+++ b/arch/arm/boot/dts/omap4.dtsi
@@ -28,13 +28,20 @@
28 }; 28 };
29 29
30 cpus { 30 cpus {
31 #address-cells = <1>;
32 #size-cells = <0>;
33
31 cpu@0 { 34 cpu@0 {
32 compatible = "arm,cortex-a9"; 35 compatible = "arm,cortex-a9";
36 device_type = "cpu";
33 next-level-cache = <&L2>; 37 next-level-cache = <&L2>;
38 reg = <0x0>;
34 }; 39 };
35 cpu@1 { 40 cpu@1 {
36 compatible = "arm,cortex-a9"; 41 compatible = "arm,cortex-a9";
42 device_type = "cpu";
37 next-level-cache = <&L2>; 43 next-level-cache = <&L2>;
44 reg = <0x1>;
38 }; 45 };
39 }; 46 };
40 47
diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi
index 3dd7ff825828..35a6536a10b5 100644
--- a/arch/arm/boot/dts/omap5.dtsi
+++ b/arch/arm/boot/dts/omap5.dtsi
@@ -34,11 +34,18 @@
34 }; 34 };
35 35
36 cpus { 36 cpus {
37 #address-cells = <1>;
38 #size-cells = <0>;
39
37 cpu@0 { 40 cpu@0 {
41 device_type = "cpu";
38 compatible = "arm,cortex-a15"; 42 compatible = "arm,cortex-a15";
43 reg = <0x0>;
39 }; 44 };
40 cpu@1 { 45 cpu@1 {
46 device_type = "cpu";
41 compatible = "arm,cortex-a15"; 47 compatible = "arm,cortex-a15";
48 reg = <0x1>;
42 }; 49 };
43 }; 50 };
44 51
diff --git a/arch/arm/boot/dts/picoxcell-pc3x2.dtsi b/arch/arm/boot/dts/picoxcell-pc3x2.dtsi
index f0a8c2068ea7..533919e96eae 100644
--- a/arch/arm/boot/dts/picoxcell-pc3x2.dtsi
+++ b/arch/arm/boot/dts/picoxcell-pc3x2.dtsi
@@ -18,13 +18,13 @@
18 #size-cells = <1>; 18 #size-cells = <1>;
19 19
20 cpus { 20 cpus {
21 #address-cells = <1>; 21 #address-cells = <0>;
22 #size-cells = <0>; 22 #size-cells = <0>;
23 23
24 cpu@0 { 24 cpu {
25 compatible = "arm,1176jz-s"; 25 compatible = "arm,arm1176jz-s";
26 device_type = "cpu";
26 clock-frequency = <400000000>; 27 clock-frequency = <400000000>;
27 reg = <0>;
28 d-cache-line-size = <32>; 28 d-cache-line-size = <32>;
29 d-cache-size = <32768>; 29 d-cache-size = <32768>;
30 i-cache-line-size = <32>; 30 i-cache-line-size = <32>;
diff --git a/arch/arm/boot/dts/picoxcell-pc3x3.dtsi b/arch/arm/boot/dts/picoxcell-pc3x3.dtsi
index daa962d191e6..ab3e80085511 100644
--- a/arch/arm/boot/dts/picoxcell-pc3x3.dtsi
+++ b/arch/arm/boot/dts/picoxcell-pc3x3.dtsi
@@ -18,13 +18,13 @@
18 #size-cells = <1>; 18 #size-cells = <1>;
19 19
20 cpus { 20 cpus {
21 #address-cells = <1>; 21 #address-cells = <0>;
22 #size-cells = <0>; 22 #size-cells = <0>;
23 23
24 cpu@0 { 24 cpu {
25 compatible = "arm,1176jz-s"; 25 compatible = "arm,arm1176jz-s";
26 device_type = "cpu";
26 cpu-clock = <&arm_clk>, "cpu"; 27 cpu-clock = <&arm_clk>, "cpu";
27 reg = <0>;
28 d-cache-line-size = <32>; 28 d-cache-line-size = <32>;
29 d-cache-size = <32768>; 29 d-cache-size = <32768>;
30 i-cache-line-size = <32>; 30 i-cache-line-size = <32>;
diff --git a/arch/arm/boot/dts/pm9g45.dts b/arch/arm/boot/dts/pm9g45.dts
index 387fedb58988..33ffabe9c4c8 100644
--- a/arch/arm/boot/dts/pm9g45.dts
+++ b/arch/arm/boot/dts/pm9g45.dts
@@ -6,7 +6,7 @@
6 * Licensed under GPLv2. 6 * Licensed under GPLv2.
7 */ 7 */
8/dts-v1/; 8/dts-v1/;
9/include/ "at91sam9g45.dtsi" 9#include "at91sam9g45.dtsi"
10 10
11/ { 11/ {
12 model = "Ronetix pm9g45"; 12 model = "Ronetix pm9g45";
@@ -42,15 +42,15 @@
42 board { 42 board {
43 pinctrl_board_nand: nand0-board { 43 pinctrl_board_nand: nand0-board {
44 atmel,pins = 44 atmel,pins =
45 <3 3 0x0 0x1 /* PD3 gpio RDY pin pull_up*/ 45 <AT91_PIOD 3 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP /* PD3 gpio RDY pin pull_up*/
46 2 14 0x0 0x1>; /* PC14 gpio enable pin pull_up */ 46 AT91_PIOC 14 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>; /* PC14 gpio enable pin pull_up */
47 }; 47 };
48 }; 48 };
49 49
50 mmc { 50 mmc {
51 pinctrl_board_mmc: mmc0-board { 51 pinctrl_board_mmc: mmc0-board {
52 atmel,pins = 52 atmel,pins =
53 <3 6 0x0 0x5>; /* PD6 gpio CD pin pull_up and deglitch */ 53 <AT91_PIOD 6 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; /* PD6 gpio CD pin pull_up and deglitch */
54 }; 54 };
55 }; 55 };
56 }; 56 };
@@ -64,7 +64,7 @@
64 slot@0 { 64 slot@0 {
65 reg = <0>; 65 reg = <0>;
66 bus-width = <4>; 66 bus-width = <4>;
67 cd-gpios = <&pioD 6 0>; 67 cd-gpios = <&pioD 6 GPIO_ACTIVE_HIGH>;
68 }; 68 };
69 }; 69 };
70 70
@@ -81,8 +81,8 @@
81 nand-on-flash-bbt; 81 nand-on-flash-bbt;
82 pinctrl-0 = <&pinctrl_board_nand>; 82 pinctrl-0 = <&pinctrl_board_nand>;
83 83
84 gpios = <&pioD 3 0 84 gpios = <&pioD 3 GPIO_ACTIVE_HIGH
85 &pioC 14 0 85 &pioC 14 GPIO_ACTIVE_HIGH
86 0 86 0
87 >; 87 >;
88 88
@@ -134,13 +134,13 @@
134 134
135 led0 { 135 led0 {
136 label = "led0"; 136 label = "led0";
137 gpios = <&pioD 0 1>; 137 gpios = <&pioD 0 GPIO_ACTIVE_LOW>;
138 linux,default-trigger = "nand-disk"; 138 linux,default-trigger = "nand-disk";
139 }; 139 };
140 140
141 led1 { 141 led1 {
142 label = "led1"; 142 label = "led1";
143 gpios = <&pioD 31 0>; 143 gpios = <&pioD 31 GPIO_ACTIVE_HIGH>;
144 linux,default-trigger = "heartbeat"; 144 linux,default-trigger = "heartbeat";
145 }; 145 };
146 }; 146 };
@@ -152,13 +152,13 @@
152 152
153 right { 153 right {
154 label = "SW4"; 154 label = "SW4";
155 gpios = <&pioE 7 1>; 155 gpios = <&pioE 7 GPIO_ACTIVE_LOW>;
156 linux,code = <106>; 156 linux,code = <106>;
157 }; 157 };
158 158
159 up { 159 up {
160 label = "SW3"; 160 label = "SW3";
161 gpios = <&pioE 8 1>; 161 gpios = <&pioE 8 GPIO_ACTIVE_LOW>;
162 linux,code = <103>; 162 linux,code = <103>;
163 }; 163 };
164 }; 164 };
diff --git a/arch/arm/boot/dts/prima2.dtsi b/arch/arm/boot/dts/prima2.dtsi
index 3329719a9412..02edd8965f8a 100644
--- a/arch/arm/boot/dts/prima2.dtsi
+++ b/arch/arm/boot/dts/prima2.dtsi
@@ -18,6 +18,8 @@
18 #size-cells = <0>; 18 #size-cells = <0>;
19 19
20 cpu@0 { 20 cpu@0 {
21 compatible = "arm,cortex-a9";
22 device_type = "cpu";
21 reg = <0x0>; 23 reg = <0x0>;
22 d-cache-line-size = <32>; 24 d-cache-line-size = <32>;
23 i-cache-line-size = <32>; 25 i-cache-line-size = <32>;
diff --git a/arch/arm/boot/dts/pxa2xx.dtsi b/arch/arm/boot/dts/pxa2xx.dtsi
index f18aad35e8b3..a5e90f078aa9 100644
--- a/arch/arm/boot/dts/pxa2xx.dtsi
+++ b/arch/arm/boot/dts/pxa2xx.dtsi
@@ -23,8 +23,11 @@
23 }; 23 };
24 24
25 cpus { 25 cpus {
26 cpu@0 { 26 #address-cells = <0>;
27 compatible = "arm,xscale"; 27 #size-cells = <0>;
28 cpu {
29 compatible = "marvell,xscale";
30 device_type = "cpu";
28 }; 31 };
29 }; 32 };
30 33
diff --git a/arch/arm/boot/dts/r8a73a4.dtsi b/arch/arm/boot/dts/r8a73a4.dtsi
index fde2a337d1ff..4ff2019c0e30 100644
--- a/arch/arm/boot/dts/r8a73a4.dtsi
+++ b/arch/arm/boot/dts/r8a73a4.dtsi
@@ -37,12 +37,6 @@
37 <0 0xf1004000 0 0x2000>, 37 <0 0xf1004000 0 0x2000>,
38 <0 0xf1006000 0 0x2000>; 38 <0 0xf1006000 0 0x2000>;
39 interrupts = <1 9 0xf04>; 39 interrupts = <1 9 0xf04>;
40
41 gic-cpuif@4 {
42 compatible = "arm,gic-cpuif";
43 cpuif-id = <4>;
44 cpu = <&cpu0>;
45 };
46 }; 40 };
47 41
48 timer { 42 timer {
diff --git a/arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts b/arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts
new file mode 100644
index 000000000000..09ea22c26359
--- /dev/null
+++ b/arch/arm/boot/dts/r8a7740-armadillo800eva-reference.dts
@@ -0,0 +1,45 @@
1/*
2 * Reference Device Tree Source for the armadillo 800 eva board
3 *
4 * Copyright (C) 2012 Renesas Solutions Corp.
5 *
6 * This file is licensed under the terms of the GNU General Public License
7 * version 2. This program is licensed "as is" without any warranty of any
8 * kind, whether express or implied.
9 */
10
11/dts-v1/;
12/include/ "r8a7740.dtsi"
13
14/ {
15 model = "armadillo 800 eva reference";
16 compatible = "renesas,armadillo800eva-reference", "renesas,r8a7740";
17
18 chosen {
19 bootargs = "console=tty0 console=ttySC1,115200 earlyprintk=sh-sci.1,115200 ignore_loglevel root=/dev/nfs ip=dhcp nfsroot=,rsize=4096,wsize=4096 rw";
20 };
21
22 memory {
23 device_type = "memory";
24 reg = <0x40000000 0x20000000>;
25 };
26
27 reg_3p3v: regulator@0 {
28 compatible = "regulator-fixed";
29 regulator-name = "fixed-3.3V";
30 regulator-min-microvolt = <3300000>;
31 regulator-max-microvolt = <3300000>;
32 regulator-always-on;
33 regulator-boot-on;
34 };
35
36};
37
38&i2c0 {
39 touchscreen: st1232@55 {
40 compatible = "sitronix,st1232";
41 reg = <0x55>;
42 interrupt-parent = <&irqpin1>;
43 interrupts = <2 0>; /* IRQ10: hwirq 2 on irqpin1 */
44 };
45};
diff --git a/arch/arm/boot/dts/r8a7740.dtsi b/arch/arm/boot/dts/r8a7740.dtsi
index 798fa35c0005..24e930643821 100644
--- a/arch/arm/boot/dts/r8a7740.dtsi
+++ b/arch/arm/boot/dts/r8a7740.dtsi
@@ -14,8 +14,129 @@
14 compatible = "renesas,r8a7740"; 14 compatible = "renesas,r8a7740";
15 15
16 cpus { 16 cpus {
17 #address-cells = <1>;
18 #size-cells = <0>;
17 cpu@0 { 19 cpu@0 {
18 compatible = "arm,cortex-a9"; 20 compatible = "arm,cortex-a9";
21 device_type = "cpu";
22 reg = <0x0>;
19 }; 23 };
20 }; 24 };
25
26 gic: interrupt-controller@c2800000 {
27 compatible = "arm,cortex-a9-gic";
28 #interrupt-cells = <3>;
29 #address-cells = <1>;
30 interrupt-controller;
31 reg = <0xc2800000 0x1000>,
32 <0xc2000000 0x1000>;
33 };
34
35 /* irqpin0: IRQ0 - IRQ7 */
36 irqpin0: irqpin@e6900000 {
37 compatible = "renesas,intc-irqpin";
38 #interrupt-cells = <2>;
39 interrupt-controller;
40 reg = <0xe6900000 4>,
41 <0xe6900010 4>,
42 <0xe6900020 1>,
43 <0xe6900040 1>,
44 <0xe6900060 1>;
45 interrupt-parent = <&gic>;
46 interrupts = <0 149 0x4
47 0 149 0x4
48 0 149 0x4
49 0 149 0x4
50 0 149 0x4
51 0 149 0x4
52 0 149 0x4
53 0 149 0x4>;
54 };
55
56 /* irqpin1: IRQ8 - IRQ15 */
57 irqpin1: irqpin@e6900004 {
58 compatible = "renesas,intc-irqpin";
59 #interrupt-cells = <2>;
60 interrupt-controller;
61 reg = <0xe6900004 4>,
62 <0xe6900014 4>,
63 <0xe6900024 1>,
64 <0xe6900044 1>,
65 <0xe6900064 1>;
66 interrupt-parent = <&gic>;
67 interrupts = <0 149 0x4
68 0 149 0x4
69 0 149 0x4
70 0 149 0x4
71 0 149 0x4
72 0 149 0x4
73 0 149 0x4
74 0 149 0x4>;
75 };
76
77 /* irqpin2: IRQ16 - IRQ23 */
78 irqpin2: irqpin@e6900008 {
79 compatible = "renesas,intc-irqpin";
80 #interrupt-cells = <2>;
81 interrupt-controller;
82 reg = <0xe6900008 4>,
83 <0xe6900018 4>,
84 <0xe6900028 1>,
85 <0xe6900048 1>,
86 <0xe6900068 1>;
87 interrupt-parent = <&gic>;
88 interrupts = <0 149 0x4
89 0 149 0x4
90 0 149 0x4
91 0 149 0x4
92 0 149 0x4
93 0 149 0x4
94 0 149 0x4
95 0 149 0x4>;
96 };
97
98 /* irqpin3: IRQ24 - IRQ31 */
99 irqpin3: irqpin@e690000c {
100 compatible = "renesas,intc-irqpin";
101 #interrupt-cells = <2>;
102 interrupt-controller;
103 reg = <0xe690000c 4>,
104 <0xe690001c 4>,
105 <0xe690002c 1>,
106 <0xe690004c 1>,
107 <0xe690006c 1>;
108 interrupt-parent = <&gic>;
109 interrupts = <0 149 0x4
110 0 149 0x4
111 0 149 0x4
112 0 149 0x4
113 0 149 0x4
114 0 149 0x4
115 0 149 0x4
116 0 149 0x4>;
117 };
118
119 i2c0: i2c@fff20000 {
120 #address-cells = <1>;
121 #size-cells = <0>;
122 compatible = "renesas,rmobile-iic";
123 reg = <0xfff20000 0x425>;
124 interrupt-parent = <&gic>;
125 interrupts = <0 201 0x4
126 0 202 0x4
127 0 203 0x4
128 0 204 0x4>;
129 };
130
131 i2c1: i2c@e6c20000 {
132 #address-cells = <1>;
133 #size-cells = <0>;
134 compatible = "renesas,rmobile-iic";
135 reg = <0xe6c20000 0x425>;
136 interrupt-parent = <&gic>;
137 interrupts = <0 70 0x4
138 0 71 0x4
139 0 72 0x4
140 0 73 0x4>;
141 };
21}; 142};
diff --git a/arch/arm/boot/dts/r8a7779.dtsi b/arch/arm/boot/dts/r8a7779.dtsi
index fe5c6f213271..7f146c6bf756 100644
--- a/arch/arm/boot/dts/r8a7779.dtsi
+++ b/arch/arm/boot/dts/r8a7779.dtsi
@@ -48,6 +48,23 @@
48 <0xf0000100 0x100>; 48 <0xf0000100 0x100>;
49 }; 49 };
50 50
51 irqpin0: irqpin@fe780010 {
52 compatible = "renesas,intc-irqpin";
53 #interrupt-cells = <2>;
54 interrupt-controller;
55 reg = <0xfe78001c 4>,
56 <0xfe780010 4>,
57 <0xfe780024 4>,
58 <0xfe780044 4>,
59 <0xfe780064 4>;
60 interrupt-parent = <&gic>;
61 interrupts = <0 27 0x4
62 0 28 0x4
63 0 29 0x4
64 0 30 0x4>;
65 sense-bitfield-width = <2>;
66 };
67
51 i2c0: i2c@0xffc70000 { 68 i2c0: i2c@0xffc70000 {
52 #address-cells = <1>; 69 #address-cells = <1>;
53 #size-cells = <0>; 70 #size-cells = <0>;
diff --git a/arch/arm/boot/dts/r8a7790.dtsi b/arch/arm/boot/dts/r8a7790.dtsi
index 7a1711027e41..339d9b11721c 100644
--- a/arch/arm/boot/dts/r8a7790.dtsi
+++ b/arch/arm/boot/dts/r8a7790.dtsi
@@ -36,12 +36,6 @@
36 <0 0xf1004000 0 0x2000>, 36 <0 0xf1004000 0 0x2000>,
37 <0 0xf1006000 0 0x2000>; 37 <0 0xf1006000 0 0x2000>;
38 interrupts = <1 9 0xf04>; 38 interrupts = <1 9 0xf04>;
39
40 gic-cpuif@4 {
41 compatible = "arm,gic-cpuif";
42 cpuif-id = <4>;
43 cpu = <&cpu0>;
44 };
45 }; 39 };
46 40
47 timer { 41 timer {
diff --git a/arch/arm/boot/dts/s3c2416-pinctrl.dtsi b/arch/arm/boot/dts/s3c2416-pinctrl.dtsi
new file mode 100644
index 000000000000..527e3193817f
--- /dev/null
+++ b/arch/arm/boot/dts/s3c2416-pinctrl.dtsi
@@ -0,0 +1,173 @@
1/*
2 * Samsung S3C2416 pinctrl settings
3 *
4 * Copyright (c) 2013 Heiko Stuebner <heiko@sntech.de>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
10
11&pinctrl_0 {
12 /*
13 * Pin banks
14 */
15
16 gpa: gpa {
17 gpio-controller;
18 #gpio-cells = <2>;
19 };
20
21 gpb: gpb {
22 gpio-controller;
23 #gpio-cells = <2>;
24 };
25
26 gpc: gpc {
27 gpio-controller;
28 #gpio-cells = <2>;
29 };
30
31 gpd: gpd {
32 gpio-controller;
33 #gpio-cells = <2>;
34 };
35
36 gpe: gpe {
37 gpio-controller;
38 #gpio-cells = <2>;
39 };
40
41 gpf: gpf {
42 gpio-controller;
43 #gpio-cells = <2>;
44 interrupt-controller;
45 #interrupt-cells = <2>;
46 };
47
48 gpg: gpg {
49 gpio-controller;
50 #gpio-cells = <2>;
51 interrupt-controller;
52 #interrupt-cells = <2>;
53 };
54
55 gph: gph {
56 gpio-controller;
57 #gpio-cells = <2>;
58 };
59
60 gpj: gpj {
61 gpio-controller;
62 #gpio-cells = <2>;
63 };
64
65 gpk: gpk {
66 gpio-controller;
67 #gpio-cells = <2>;
68 };
69
70 gpl: gpl {
71 gpio-controller;
72 #gpio-cells = <2>;
73 };
74
75 gpm: gpm {
76 gpio-controller;
77 #gpio-cells = <2>;
78 };
79
80 /*
81 * Pin groups
82 */
83
84 uart0_data: uart0-data {
85 samsung,pins = "gph-0", "gph-1";
86 samsung,pin-function = <2>;
87 };
88
89 uart0_fctl: uart0-fctl {
90 samsung,pins = "gph-8", "gph-9";
91 samsung,pin-function = <2>;
92 };
93
94 uart1_data: uart1-data {
95 samsung,pins = "gph-2", "gph-3";
96 samsung,pin-function = <2>;
97 };
98
99 uart1_fctl: uart1-fctl {
100 samsung,pins = "gph-10", "gph-11";
101 samsung,pin-function = <2>;
102 };
103
104 uart2_data: uart2-data {
105 samsung,pins = "gph-4", "gph-5";
106 samsung,pin-function = <2>;
107 };
108
109 uart2_fctl: uart2-fctl {
110 samsung,pins = "gph-6", "gph-7";
111 samsung,pin-function = <2>;
112 };
113
114 uart3_data: uart3-data {
115 samsung,pins = "gph-6", "gph-7";
116 samsung,pin-function = <2>;
117 };
118
119 extuart_clk: extuart-clk {
120 samsung,pins = "gph-12";
121 samsung,pin-function = <2>;
122 };
123
124 i2c0_bus: i2c0-bus {
125 samsung,pins = "gpe-14", "gpe-15";
126 samsung,pin-function = <2>;
127 };
128
129 spi0_bus: spi0-bus {
130 samsung,pins = "gpe-11", "gpe-12", "gpe-13";
131 samsung,pin-function = <2>;
132 };
133
134 sd0_clk: sd0-clk {
135 samsung,pins = "gpe-5";
136 samsung,pin-function = <2>;
137 };
138
139 sd0_cmd: sd0-cmd {
140 samsung,pins = "gpe-6";
141 samsung,pin-function = <2>;
142 };
143
144 sd0_bus1: sd0-bus1 {
145 samsung,pins = "gpe-7";
146 samsung,pin-function = <2>;
147 };
148
149 sd0_bus4: sd0-bus4 {
150 samsung,pins = "gpe-8", "gpe-9", "gpe-10";
151 samsung,pin-function = <2>;
152 };
153
154 sd1_cmd: sd1-cmd {
155 samsung,pins = "gpl-8";
156 samsung,pin-function = <2>;
157 };
158
159 sd1_clk: sd1-clk {
160 samsung,pins = "gpl-9";
161 samsung,pin-function = <2>;
162 };
163
164 sd1_bus1: sd1-bus1 {
165 samsung,pins = "gpl-0";
166 samsung,pin-function = <2>;
167 };
168
169 sd1_bus4: sd1-bus4 {
170 samsung,pins = "gpl-1", "gpl-2", "gpl-3";
171 samsung,pin-function = <2>;
172 };
173};
diff --git a/arch/arm/boot/dts/s3c2416-smdk2416.dts b/arch/arm/boot/dts/s3c2416-smdk2416.dts
new file mode 100644
index 000000000000..ad1dd09c10eb
--- /dev/null
+++ b/arch/arm/boot/dts/s3c2416-smdk2416.dts
@@ -0,0 +1,72 @@
1/*
2 * SAMSUNG SMDK2416 board device tree source
3 *
4 * Copyright (c) 2013 Heiko Stuebner <heiko@sntech.de>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
10
11/dts-v1/;
12/include/ "s3c2416.dtsi"
13
14/ {
15 model = "SMDK2416";
16 compatible = "samsung,s3c2416";
17
18 memory {
19 reg = <0x30000000 0x4000000>;
20 };
21
22 serial@50000000 {
23 status = "okay";
24 pinctrl-names = "default";
25 pinctrl-0 = <&uart0_data>, <&uart0_fctl>;
26 };
27
28 serial@50004000 {
29 status = "okay";
30 pinctrl-names = "default";
31 pinctrl-0 = <&uart1_data>, <&uart1_fctl>;
32 };
33
34 serial@50008000 {
35 status = "okay";
36 pinctrl-names = "default";
37 pinctrl-0 = <&uart2_data>;
38 };
39
40 serial@5000C000 {
41 status = "okay";
42 pinctrl-names = "default";
43 pinctrl-0 = <&uart3_data>;
44 };
45
46 watchdog@53000000 {
47 status = "okay";
48 };
49
50 rtc@57000000 {
51 status = "okay";
52 };
53
54 sdhci@4AC00000 {
55 pinctrl-names = "default";
56 pinctrl-0 = <&sd0_clk>, <&sd0_cmd>,
57 <&sd0_bus1>, <&sd0_bus4>;
58 bus-width = <4>;
59 cd-gpios = <&gpf 1 0>;
60 cd-inverted;
61 status = "okay";
62 };
63
64 sdhci@4A800000 {
65 pinctrl-names = "default";
66 pinctrl-0 = <&sd1_clk>, <&sd1_cmd>,
67 <&sd1_bus1>, <&sd1_bus4>;
68 bus-width = <4>;
69 broken-cd;
70 status = "okay";
71 };
72};
diff --git a/arch/arm/boot/dts/s3c2416.dtsi b/arch/arm/boot/dts/s3c2416.dtsi
new file mode 100644
index 000000000000..6809324934a3
--- /dev/null
+++ b/arch/arm/boot/dts/s3c2416.dtsi
@@ -0,0 +1,79 @@
1/*
2 * Samsung's S3C2416 SoC device tree source
3 *
4 * Copyright (c) 2013 Heiko Stuebner <heiko@sntech.de>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
10
11/include/ "s3c24xx.dtsi"
12/include/ "s3c2416-pinctrl.dtsi"
13
14/ {
15 model = "Samsung S3C2416 SoC";
16 compatible = "samsung,s3c2416";
17
18 cpus {
19 #address-cells = <1>;
20 #size-cells = <0>;
21
22 cpu {
23 compatible = "arm,arm926ejs";
24 };
25 };
26
27 interrupt-controller@4a000000 {
28 compatible = "samsung,s3c2416-irq";
29 };
30
31 pinctrl@56000000 {
32 compatible = "samsung,s3c2416-pinctrl";
33 };
34
35 serial@50000000 {
36 compatible = "samsung,s3c2440-uart";
37 };
38
39 serial@50004000 {
40 compatible = "samsung,s3c2440-uart";
41 };
42
43 serial@50008000 {
44 compatible = "samsung,s3c2440-uart";
45 };
46
47 serial@5000C000 {
48 compatible = "samsung,s3c2440-uart";
49 reg = <0x5000C000 0x4000>;
50 interrupts = <1 18 24 4>, <1 18 25 4>;
51 status = "disabled";
52 };
53
54 sdhci@4AC00000 {
55 compatible = "samsung,s3c6410-sdhci";
56 reg = <0x4AC00000 0x100>;
57 interrupts = <0 0 21 3>;
58 status = "disabled";
59 };
60
61 sdhci@4A800000 {
62 compatible = "samsung,s3c6410-sdhci";
63 reg = <0x4A800000 0x100>;
64 interrupts = <0 0 20 3>;
65 status = "disabled";
66 };
67
68 watchdog@53000000 {
69 interrupts = <1 9 27 3>;
70 };
71
72 rtc@57000000 {
73 compatible = "samsung,s3c2416-rtc";
74 };
75
76 i2c@54000000 {
77 compatible = "samsung,s3c2440-i2c";
78 };
79};
diff --git a/arch/arm/boot/dts/s3c24xx.dtsi b/arch/arm/boot/dts/s3c24xx.dtsi
new file mode 100644
index 000000000000..cab46ff5fb4d
--- /dev/null
+++ b/arch/arm/boot/dts/s3c24xx.dtsi
@@ -0,0 +1,92 @@
1/*
2 * Samsung's S3C24XX family device tree source
3 *
4 * Copyright (c) 2013 Heiko Stuebner <heiko@sntech.de>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
10
11/include/ "skeleton.dtsi"
12
13/ {
14 compatible = "samsung,s3c24xx";
15 interrupt-parent = <&intc>;
16
17 aliases {
18 pinctrl0 = &pinctrl_0;
19 };
20
21 intc:interrupt-controller@4a000000 {
22 compatible = "samsung,s3c2410-irq";
23 reg = <0x4a000000 0x100>;
24 interrupt-controller;
25 #interrupt-cells = <4>;
26 };
27
28 pinctrl_0: pinctrl@56000000 {
29 reg = <0x56000000 0x1000>;
30
31 wakeup-interrupt-controller {
32 compatible = "samsung,s3c2410-wakeup-eint";
33 interrupts = <0 0 0 3>,
34 <0 0 1 3>,
35 <0 0 2 3>,
36 <0 0 3 3>,
37 <0 0 4 4>,
38 <0 0 5 4>;
39 };
40 };
41
42 timer@51000000 {
43 compatible = "samsung,s3c2410-pwm";
44 reg = <0x51000000 0x1000>;
45 interrupts = <0 0 10 3>, <0 0 11 3>, <0 0 12 3>, <0 0 13 3>, <0 0 14 3>;
46 #pwm-cells = <4>;
47 };
48
49 serial@50000000 {
50 compatible = "samsung,s3c2410-uart";
51 reg = <0x50000000 0x4000>;
52 interrupts = <1 28 0 4>, <1 28 1 4>;
53 status = "disabled";
54 };
55
56 serial@50004000 {
57 compatible = "samsung,s3c2410-uart";
58 reg = <0x50004000 0x4000>;
59 interrupts = <1 23 3 4>, <1 23 4 4>;
60 status = "disabled";
61 };
62
63 serial@50008000 {
64 compatible = "samsung,s3c2410-uart";
65 reg = <0x50008000 0x4000>;
66 interrupts = <1 15 6 4>, <1 15 7 4>;
67 status = "disabled";
68 };
69
70 watchdog@53000000 {
71 compatible = "samsung,s3c2410-wdt";
72 reg = <0x53000000 0x100>;
73 interrupts = <0 0 9 3>;
74 status = "disabled";
75 };
76
77 rtc@57000000 {
78 compatible = "samsung,s3c2410-rtc";
79 reg = <0x57000000 0x100>;
80 interrupts = <0 0 30 3>, <0 0 8 3>;
81 status = "disabled";
82 };
83
84 i2c@54000000 {
85 compatible = "samsung,s3c2410-i2c";
86 reg = <0x54000000 0x100>;
87 interrupts = <0 0 27 3>;
88 #address-cells = <1>;
89 #size-cells = <0>;
90 status = "disabled";
91 };
92};
diff --git a/arch/arm/boot/dts/sama5d3.dtsi b/arch/arm/boot/dts/sama5d3.dtsi
index 5000e0d42849..f57ffbc97432 100644
--- a/arch/arm/boot/dts/sama5d3.dtsi
+++ b/arch/arm/boot/dts/sama5d3.dtsi
@@ -8,7 +8,10 @@
8 * Licensed under GPLv2 or later. 8 * Licensed under GPLv2 or later.
9 */ 9 */
10 10
11/include/ "skeleton.dtsi" 11#include "skeleton.dtsi"
12#include <dt-bindings/pinctrl/at91.h>
13#include <dt-bindings/interrupt-controller/irq.h>
14#include <dt-bindings/gpio/gpio.h>
12 15
13/ { 16/ {
14 model = "Atmel SAMA5D3 family SoC"; 17 model = "Atmel SAMA5D3 family SoC";
@@ -35,8 +38,12 @@
35 ssc1 = &ssc1; 38 ssc1 = &ssc1;
36 }; 39 };
37 cpus { 40 cpus {
41 #address-cells = <1>;
42 #size-cells = <0>;
38 cpu@0 { 43 cpu@0 {
44 device_type = "cpu";
39 compatible = "arm,cortex-a5"; 45 compatible = "arm,cortex-a5";
46 reg = <0x0>;
40 }; 47 };
41 }; 48 };
42 49
@@ -59,7 +66,7 @@
59 mmc0: mmc@f0000000 { 66 mmc0: mmc@f0000000 {
60 compatible = "atmel,hsmci"; 67 compatible = "atmel,hsmci";
61 reg = <0xf0000000 0x600>; 68 reg = <0xf0000000 0x600>;
62 interrupts = <21 4 0>; 69 interrupts = <21 IRQ_TYPE_LEVEL_HIGH 0>;
63 dmas = <&dma0 2 0>; 70 dmas = <&dma0 2 0>;
64 dma-names = "rxtx"; 71 dma-names = "rxtx";
65 pinctrl-names = "default"; 72 pinctrl-names = "default";
@@ -74,7 +81,7 @@
74 #size-cells = <0>; 81 #size-cells = <0>;
75 compatible = "atmel,at91sam9x5-spi"; 82 compatible = "atmel,at91sam9x5-spi";
76 reg = <0xf0004000 0x100>; 83 reg = <0xf0004000 0x100>;
77 interrupts = <24 4 3>; 84 interrupts = <24 IRQ_TYPE_LEVEL_HIGH 3>;
78 pinctrl-names = "default"; 85 pinctrl-names = "default";
79 pinctrl-0 = <&pinctrl_spi0>; 86 pinctrl-0 = <&pinctrl_spi0>;
80 status = "disabled"; 87 status = "disabled";
@@ -83,7 +90,7 @@
83 ssc0: ssc@f0008000 { 90 ssc0: ssc@f0008000 {
84 compatible = "atmel,at91sam9g45-ssc"; 91 compatible = "atmel,at91sam9g45-ssc";
85 reg = <0xf0008000 0x4000>; 92 reg = <0xf0008000 0x4000>;
86 interrupts = <38 4 4>; 93 interrupts = <38 IRQ_TYPE_LEVEL_HIGH 4>;
87 pinctrl-names = "default"; 94 pinctrl-names = "default";
88 pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>; 95 pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
89 status = "disabled"; 96 status = "disabled";
@@ -92,7 +99,7 @@
92 can0: can@f000c000 { 99 can0: can@f000c000 {
93 compatible = "atmel,at91sam9x5-can"; 100 compatible = "atmel,at91sam9x5-can";
94 reg = <0xf000c000 0x300>; 101 reg = <0xf000c000 0x300>;
95 interrupts = <40 4 3>; 102 interrupts = <40 IRQ_TYPE_LEVEL_HIGH 3>;
96 pinctrl-names = "default"; 103 pinctrl-names = "default";
97 pinctrl-0 = <&pinctrl_can0_rx_tx>; 104 pinctrl-0 = <&pinctrl_can0_rx_tx>;
98 status = "disabled"; 105 status = "disabled";
@@ -101,13 +108,13 @@
101 tcb0: timer@f0010000 { 108 tcb0: timer@f0010000 {
102 compatible = "atmel,at91sam9x5-tcb"; 109 compatible = "atmel,at91sam9x5-tcb";
103 reg = <0xf0010000 0x100>; 110 reg = <0xf0010000 0x100>;
104 interrupts = <26 4 0>; 111 interrupts = <26 IRQ_TYPE_LEVEL_HIGH 0>;
105 }; 112 };
106 113
107 i2c0: i2c@f0014000 { 114 i2c0: i2c@f0014000 {
108 compatible = "atmel,at91sam9x5-i2c"; 115 compatible = "atmel,at91sam9x5-i2c";
109 reg = <0xf0014000 0x4000>; 116 reg = <0xf0014000 0x4000>;
110 interrupts = <18 4 6>; 117 interrupts = <18 IRQ_TYPE_LEVEL_HIGH 6>;
111 dmas = <&dma0 2 7>, 118 dmas = <&dma0 2 7>,
112 <&dma0 2 8>; 119 <&dma0 2 8>;
113 dma-names = "tx", "rx"; 120 dma-names = "tx", "rx";
@@ -121,7 +128,7 @@
121 i2c1: i2c@f0018000 { 128 i2c1: i2c@f0018000 {
122 compatible = "atmel,at91sam9x5-i2c"; 129 compatible = "atmel,at91sam9x5-i2c";
123 reg = <0xf0018000 0x4000>; 130 reg = <0xf0018000 0x4000>;
124 interrupts = <19 4 6>; 131 interrupts = <19 IRQ_TYPE_LEVEL_HIGH 6>;
125 dmas = <&dma0 2 9>, 132 dmas = <&dma0 2 9>,
126 <&dma0 2 10>; 133 <&dma0 2 10>;
127 dma-names = "tx", "rx"; 134 dma-names = "tx", "rx";
@@ -135,7 +142,7 @@
135 usart0: serial@f001c000 { 142 usart0: serial@f001c000 {
136 compatible = "atmel,at91sam9260-usart"; 143 compatible = "atmel,at91sam9260-usart";
137 reg = <0xf001c000 0x100>; 144 reg = <0xf001c000 0x100>;
138 interrupts = <12 4 5>; 145 interrupts = <12 IRQ_TYPE_LEVEL_HIGH 5>;
139 pinctrl-names = "default"; 146 pinctrl-names = "default";
140 pinctrl-0 = <&pinctrl_usart0>; 147 pinctrl-0 = <&pinctrl_usart0>;
141 status = "disabled"; 148 status = "disabled";
@@ -144,7 +151,7 @@
144 usart1: serial@f0020000 { 151 usart1: serial@f0020000 {
145 compatible = "atmel,at91sam9260-usart"; 152 compatible = "atmel,at91sam9260-usart";
146 reg = <0xf0020000 0x100>; 153 reg = <0xf0020000 0x100>;
147 interrupts = <13 4 5>; 154 interrupts = <13 IRQ_TYPE_LEVEL_HIGH 5>;
148 pinctrl-names = "default"; 155 pinctrl-names = "default";
149 pinctrl-0 = <&pinctrl_usart1>; 156 pinctrl-0 = <&pinctrl_usart1>;
150 status = "disabled"; 157 status = "disabled";
@@ -153,7 +160,7 @@
153 macb0: ethernet@f0028000 { 160 macb0: ethernet@f0028000 {
154 compatible = "cdns,pc302-gem", "cdns,gem"; 161 compatible = "cdns,pc302-gem", "cdns,gem";
155 reg = <0xf0028000 0x100>; 162 reg = <0xf0028000 0x100>;
156 interrupts = <34 4 3>; 163 interrupts = <34 IRQ_TYPE_LEVEL_HIGH 3>;
157 pinctrl-names = "default"; 164 pinctrl-names = "default";
158 pinctrl-0 = <&pinctrl_macb0_data_rgmii &pinctrl_macb0_signal_rgmii>; 165 pinctrl-0 = <&pinctrl_macb0_data_rgmii &pinctrl_macb0_signal_rgmii>;
159 status = "disabled"; 166 status = "disabled";
@@ -162,14 +169,14 @@
162 isi: isi@f0034000 { 169 isi: isi@f0034000 {
163 compatible = "atmel,at91sam9g45-isi"; 170 compatible = "atmel,at91sam9g45-isi";
164 reg = <0xf0034000 0x4000>; 171 reg = <0xf0034000 0x4000>;
165 interrupts = <37 4 5>; 172 interrupts = <37 IRQ_TYPE_LEVEL_HIGH 5>;
166 status = "disabled"; 173 status = "disabled";
167 }; 174 };
168 175
169 mmc1: mmc@f8000000 { 176 mmc1: mmc@f8000000 {
170 compatible = "atmel,hsmci"; 177 compatible = "atmel,hsmci";
171 reg = <0xf8000000 0x600>; 178 reg = <0xf8000000 0x600>;
172 interrupts = <22 4 0>; 179 interrupts = <22 IRQ_TYPE_LEVEL_HIGH 0>;
173 dmas = <&dma1 2 0>; 180 dmas = <&dma1 2 0>;
174 dma-names = "rxtx"; 181 dma-names = "rxtx";
175 pinctrl-names = "default"; 182 pinctrl-names = "default";
@@ -182,7 +189,7 @@
182 mmc2: mmc@f8004000 { 189 mmc2: mmc@f8004000 {
183 compatible = "atmel,hsmci"; 190 compatible = "atmel,hsmci";
184 reg = <0xf8004000 0x600>; 191 reg = <0xf8004000 0x600>;
185 interrupts = <23 4 0>; 192 interrupts = <23 IRQ_TYPE_LEVEL_HIGH 0>;
186 dmas = <&dma1 2 1>; 193 dmas = <&dma1 2 1>;
187 dma-names = "rxtx"; 194 dma-names = "rxtx";
188 pinctrl-names = "default"; 195 pinctrl-names = "default";
@@ -197,7 +204,7 @@
197 #size-cells = <0>; 204 #size-cells = <0>;
198 compatible = "atmel,at91sam9x5-spi"; 205 compatible = "atmel,at91sam9x5-spi";
199 reg = <0xf8008000 0x100>; 206 reg = <0xf8008000 0x100>;
200 interrupts = <25 4 3>; 207 interrupts = <25 IRQ_TYPE_LEVEL_HIGH 3>;
201 pinctrl-names = "default"; 208 pinctrl-names = "default";
202 pinctrl-0 = <&pinctrl_spi1>; 209 pinctrl-0 = <&pinctrl_spi1>;
203 status = "disabled"; 210 status = "disabled";
@@ -206,7 +213,7 @@
206 ssc1: ssc@f800c000 { 213 ssc1: ssc@f800c000 {
207 compatible = "atmel,at91sam9g45-ssc"; 214 compatible = "atmel,at91sam9g45-ssc";
208 reg = <0xf800c000 0x4000>; 215 reg = <0xf800c000 0x4000>;
209 interrupts = <39 4 4>; 216 interrupts = <39 IRQ_TYPE_LEVEL_HIGH 4>;
210 pinctrl-names = "default"; 217 pinctrl-names = "default";
211 pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>; 218 pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>;
212 status = "disabled"; 219 status = "disabled";
@@ -215,7 +222,7 @@
215 can1: can@f8010000 { 222 can1: can@f8010000 {
216 compatible = "atmel,at91sam9x5-can"; 223 compatible = "atmel,at91sam9x5-can";
217 reg = <0xf8010000 0x300>; 224 reg = <0xf8010000 0x300>;
218 interrupts = <41 4 3>; 225 interrupts = <41 IRQ_TYPE_LEVEL_HIGH 3>;
219 pinctrl-names = "default"; 226 pinctrl-names = "default";
220 pinctrl-0 = <&pinctrl_can1_rx_tx>; 227 pinctrl-0 = <&pinctrl_can1_rx_tx>;
221 }; 228 };
@@ -223,13 +230,13 @@
223 tcb1: timer@f8014000 { 230 tcb1: timer@f8014000 {
224 compatible = "atmel,at91sam9x5-tcb"; 231 compatible = "atmel,at91sam9x5-tcb";
225 reg = <0xf8014000 0x100>; 232 reg = <0xf8014000 0x100>;
226 interrupts = <27 4 0>; 233 interrupts = <27 IRQ_TYPE_LEVEL_HIGH 0>;
227 }; 234 };
228 235
229 adc0: adc@f8018000 { 236 adc0: adc@f8018000 {
230 compatible = "atmel,at91sam9260-adc"; 237 compatible = "atmel,at91sam9260-adc";
231 reg = <0xf8018000 0x100>; 238 reg = <0xf8018000 0x100>;
232 interrupts = <29 4 5>; 239 interrupts = <29 IRQ_TYPE_LEVEL_HIGH 5>;
233 pinctrl-names = "default"; 240 pinctrl-names = "default";
234 pinctrl-0 = < 241 pinctrl-0 = <
235 &pinctrl_adc0_adtrg 242 &pinctrl_adc0_adtrg
@@ -283,7 +290,7 @@
283 tsadcc: tsadcc@f8018000 { 290 tsadcc: tsadcc@f8018000 {
284 compatible = "atmel,at91sam9x5-tsadcc"; 291 compatible = "atmel,at91sam9x5-tsadcc";
285 reg = <0xf8018000 0x4000>; 292 reg = <0xf8018000 0x4000>;
286 interrupts = <29 4 5>; 293 interrupts = <29 IRQ_TYPE_LEVEL_HIGH 5>;
287 atmel,tsadcc_clock = <300000>; 294 atmel,tsadcc_clock = <300000>;
288 atmel,filtering_average = <0x03>; 295 atmel,filtering_average = <0x03>;
289 atmel,pendet_debounce = <0x08>; 296 atmel,pendet_debounce = <0x08>;
@@ -295,7 +302,7 @@
295 i2c2: i2c@f801c000 { 302 i2c2: i2c@f801c000 {
296 compatible = "atmel,at91sam9x5-i2c"; 303 compatible = "atmel,at91sam9x5-i2c";
297 reg = <0xf801c000 0x4000>; 304 reg = <0xf801c000 0x4000>;
298 interrupts = <20 4 6>; 305 interrupts = <20 IRQ_TYPE_LEVEL_HIGH 6>;
299 dmas = <&dma1 2 11>, 306 dmas = <&dma1 2 11>,
300 <&dma1 2 12>; 307 <&dma1 2 12>;
301 dma-names = "tx", "rx"; 308 dma-names = "tx", "rx";
@@ -307,7 +314,7 @@
307 usart2: serial@f8020000 { 314 usart2: serial@f8020000 {
308 compatible = "atmel,at91sam9260-usart"; 315 compatible = "atmel,at91sam9260-usart";
309 reg = <0xf8020000 0x100>; 316 reg = <0xf8020000 0x100>;
310 interrupts = <14 4 5>; 317 interrupts = <14 IRQ_TYPE_LEVEL_HIGH 5>;
311 pinctrl-names = "default"; 318 pinctrl-names = "default";
312 pinctrl-0 = <&pinctrl_usart2>; 319 pinctrl-0 = <&pinctrl_usart2>;
313 status = "disabled"; 320 status = "disabled";
@@ -316,7 +323,7 @@
316 usart3: serial@f8024000 { 323 usart3: serial@f8024000 {
317 compatible = "atmel,at91sam9260-usart"; 324 compatible = "atmel,at91sam9260-usart";
318 reg = <0xf8024000 0x100>; 325 reg = <0xf8024000 0x100>;
319 interrupts = <15 4 5>; 326 interrupts = <15 IRQ_TYPE_LEVEL_HIGH 5>;
320 pinctrl-names = "default"; 327 pinctrl-names = "default";
321 pinctrl-0 = <&pinctrl_usart3>; 328 pinctrl-0 = <&pinctrl_usart3>;
322 status = "disabled"; 329 status = "disabled";
@@ -325,7 +332,7 @@
325 macb1: ethernet@f802c000 { 332 macb1: ethernet@f802c000 {
326 compatible = "cdns,at32ap7000-macb", "cdns,macb"; 333 compatible = "cdns,at32ap7000-macb", "cdns,macb";
327 reg = <0xf802c000 0x100>; 334 reg = <0xf802c000 0x100>;
328 interrupts = <35 4 3>; 335 interrupts = <35 IRQ_TYPE_LEVEL_HIGH 3>;
329 pinctrl-names = "default"; 336 pinctrl-names = "default";
330 pinctrl-0 = <&pinctrl_macb1_rmii>; 337 pinctrl-0 = <&pinctrl_macb1_rmii>;
331 status = "disabled"; 338 status = "disabled";
@@ -334,7 +341,7 @@
334 sha@f8034000 { 341 sha@f8034000 {
335 compatible = "atmel,sam9g46-sha"; 342 compatible = "atmel,sam9g46-sha";
336 reg = <0xf8034000 0x100>; 343 reg = <0xf8034000 0x100>;
337 interrupts = <42 4 0>; 344 interrupts = <42 IRQ_TYPE_LEVEL_HIGH 0>;
338 }; 345 };
339 346
340 aes@f8038000 { 347 aes@f8038000 {
@@ -346,20 +353,20 @@
346 tdes@f803c000 { 353 tdes@f803c000 {
347 compatible = "atmel,sam9g46-tdes"; 354 compatible = "atmel,sam9g46-tdes";
348 reg = <0xf803c000 0x100>; 355 reg = <0xf803c000 0x100>;
349 interrupts = <44 4 0>; 356 interrupts = <44 IRQ_TYPE_LEVEL_HIGH 0>;
350 }; 357 };
351 358
352 dma0: dma-controller@ffffe600 { 359 dma0: dma-controller@ffffe600 {
353 compatible = "atmel,at91sam9g45-dma"; 360 compatible = "atmel,at91sam9g45-dma";
354 reg = <0xffffe600 0x200>; 361 reg = <0xffffe600 0x200>;
355 interrupts = <30 4 0>; 362 interrupts = <30 IRQ_TYPE_LEVEL_HIGH 0>;
356 #dma-cells = <2>; 363 #dma-cells = <2>;
357 }; 364 };
358 365
359 dma1: dma-controller@ffffe800 { 366 dma1: dma-controller@ffffe800 {
360 compatible = "atmel,at91sam9g45-dma"; 367 compatible = "atmel,at91sam9g45-dma";
361 reg = <0xffffe800 0x200>; 368 reg = <0xffffe800 0x200>;
362 interrupts = <31 4 0>; 369 interrupts = <31 IRQ_TYPE_LEVEL_HIGH 0>;
363 #dma-cells = <2>; 370 #dma-cells = <2>;
364 }; 371 };
365 372
@@ -371,7 +378,7 @@
371 dbgu: serial@ffffee00 { 378 dbgu: serial@ffffee00 {
372 compatible = "atmel,at91sam9260-usart"; 379 compatible = "atmel,at91sam9260-usart";
373 reg = <0xffffee00 0x200>; 380 reg = <0xffffee00 0x200>;
374 interrupts = <2 4 7>; 381 interrupts = <2 IRQ_TYPE_LEVEL_HIGH 7>;
375 pinctrl-names = "default"; 382 pinctrl-names = "default";
376 pinctrl-0 = <&pinctrl_dbgu>; 383 pinctrl-0 = <&pinctrl_dbgu>;
377 status = "disabled"; 384 status = "disabled";
@@ -403,202 +410,202 @@
403 adc0 { 410 adc0 {
404 pinctrl_adc0_adtrg: adc0_adtrg { 411 pinctrl_adc0_adtrg: adc0_adtrg {
405 atmel,pins = 412 atmel,pins =
406 <3 19 0x1 0x0>; /* PD19 periph A ADTRG */ 413 <AT91_PIOD 19 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD19 periph A ADTRG */
407 }; 414 };
408 pinctrl_adc0_ad0: adc0_ad0 { 415 pinctrl_adc0_ad0: adc0_ad0 {
409 atmel,pins = 416 atmel,pins =
410 <3 20 0x1 0x0>; /* PD20 periph A AD0 */ 417 <AT91_PIOD 20 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD20 periph A AD0 */
411 }; 418 };
412 pinctrl_adc0_ad1: adc0_ad1 { 419 pinctrl_adc0_ad1: adc0_ad1 {
413 atmel,pins = 420 atmel,pins =
414 <3 21 0x1 0x0>; /* PD21 periph A AD1 */ 421 <AT91_PIOD 21 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD21 periph A AD1 */
415 }; 422 };
416 pinctrl_adc0_ad2: adc0_ad2 { 423 pinctrl_adc0_ad2: adc0_ad2 {
417 atmel,pins = 424 atmel,pins =
418 <3 22 0x1 0x0>; /* PD22 periph A AD2 */ 425 <AT91_PIOD 22 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD22 periph A AD2 */
419 }; 426 };
420 pinctrl_adc0_ad3: adc0_ad3 { 427 pinctrl_adc0_ad3: adc0_ad3 {
421 atmel,pins = 428 atmel,pins =
422 <3 23 0x1 0x0>; /* PD23 periph A AD3 */ 429 <AT91_PIOD 23 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD23 periph A AD3 */
423 }; 430 };
424 pinctrl_adc0_ad4: adc0_ad4 { 431 pinctrl_adc0_ad4: adc0_ad4 {
425 atmel,pins = 432 atmel,pins =
426 <3 24 0x1 0x0>; /* PD24 periph A AD4 */ 433 <AT91_PIOD 24 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD24 periph A AD4 */
427 }; 434 };
428 pinctrl_adc0_ad5: adc0_ad5 { 435 pinctrl_adc0_ad5: adc0_ad5 {
429 atmel,pins = 436 atmel,pins =
430 <3 25 0x1 0x0>; /* PD25 periph A AD5 */ 437 <AT91_PIOD 25 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD25 periph A AD5 */
431 }; 438 };
432 pinctrl_adc0_ad6: adc0_ad6 { 439 pinctrl_adc0_ad6: adc0_ad6 {
433 atmel,pins = 440 atmel,pins =
434 <3 26 0x1 0x0>; /* PD26 periph A AD6 */ 441 <AT91_PIOD 26 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD26 periph A AD6 */
435 }; 442 };
436 pinctrl_adc0_ad7: adc0_ad7 { 443 pinctrl_adc0_ad7: adc0_ad7 {
437 atmel,pins = 444 atmel,pins =
438 <3 27 0x1 0x0>; /* PD27 periph A AD7 */ 445 <AT91_PIOD 27 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD27 periph A AD7 */
439 }; 446 };
440 pinctrl_adc0_ad8: adc0_ad8 { 447 pinctrl_adc0_ad8: adc0_ad8 {
441 atmel,pins = 448 atmel,pins =
442 <3 28 0x1 0x0>; /* PD28 periph A AD8 */ 449 <AT91_PIOD 28 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD28 periph A AD8 */
443 }; 450 };
444 pinctrl_adc0_ad9: adc0_ad9 { 451 pinctrl_adc0_ad9: adc0_ad9 {
445 atmel,pins = 452 atmel,pins =
446 <3 29 0x1 0x0>; /* PD29 periph A AD9 */ 453 <AT91_PIOD 29 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD29 periph A AD9 */
447 }; 454 };
448 pinctrl_adc0_ad10: adc0_ad10 { 455 pinctrl_adc0_ad10: adc0_ad10 {
449 atmel,pins = 456 atmel,pins =
450 <3 30 0x1 0x0>; /* PD30 periph A AD10, conflicts with PCK0 */ 457 <AT91_PIOD 30 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD30 periph A AD10, conflicts with PCK0 */
451 }; 458 };
452 pinctrl_adc0_ad11: adc0_ad11 { 459 pinctrl_adc0_ad11: adc0_ad11 {
453 atmel,pins = 460 atmel,pins =
454 <3 31 0x1 0x0>; /* PD31 periph A AD11, conflicts with PCK1 */ 461 <AT91_PIOD 31 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD31 periph A AD11, conflicts with PCK1 */
455 }; 462 };
456 }; 463 };
457 464
458 can0 { 465 can0 {
459 pinctrl_can0_rx_tx: can0_rx_tx { 466 pinctrl_can0_rx_tx: can0_rx_tx {
460 atmel,pins = 467 atmel,pins =
461 <3 14 0x3 0x0 /* PD14 periph C RX, conflicts with SCK0, SPI0_NPCS1 */ 468 <AT91_PIOD 14 AT91_PERIPH_C AT91_PINCTRL_NONE /* PD14 periph C RX, conflicts with SCK0, SPI0_NPCS1 */
462 3 15 0x3 0x0>; /* PD15 periph C TX, conflicts with CTS0, SPI0_NPCS2 */ 469 AT91_PIOD 15 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* PD15 periph C TX, conflicts with CTS0, SPI0_NPCS2 */
463 }; 470 };
464 }; 471 };
465 472
466 can1 { 473 can1 {
467 pinctrl_can1_rx_tx: can1_rx_tx { 474 pinctrl_can1_rx_tx: can1_rx_tx {
468 atmel,pins = 475 atmel,pins =
469 <1 14 0x2 0x0 /* PB14 periph B RX, conflicts with GCRS */ 476 <AT91_PIOB 14 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB14 periph B RX, conflicts with GCRS */
470 1 15 0x2 0x0>; /* PB15 periph B TX, conflicts with GCOL */ 477 AT91_PIOB 15 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PB15 periph B TX, conflicts with GCOL */
471 }; 478 };
472 }; 479 };
473 480
474 dbgu { 481 dbgu {
475 pinctrl_dbgu: dbgu-0 { 482 pinctrl_dbgu: dbgu-0 {
476 atmel,pins = 483 atmel,pins =
477 <1 30 0x1 0x0 /* PB30 periph A */ 484 <AT91_PIOB 30 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB30 periph A */
478 1 31 0x1 0x1>; /* PB31 periph A with pullup */ 485 AT91_PIOB 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PB31 periph A with pullup */
479 }; 486 };
480 }; 487 };
481 488
482 i2c0 { 489 i2c0 {
483 pinctrl_i2c0: i2c0-0 { 490 pinctrl_i2c0: i2c0-0 {
484 atmel,pins = 491 atmel,pins =
485 <0 30 0x1 0x0 /* PA30 periph A TWD0 pin, conflicts with URXD1, ISI_VSYNC */ 492 <AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA30 periph A TWD0 pin, conflicts with URXD1, ISI_VSYNC */
486 0 31 0x1 0x0>; /* PA31 periph A TWCK0 pin, conflicts with UTXD1, ISI_HSYNC */ 493 AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA31 periph A TWCK0 pin, conflicts with UTXD1, ISI_HSYNC */
487 }; 494 };
488 }; 495 };
489 496
490 i2c1 { 497 i2c1 {
491 pinctrl_i2c1: i2c1-0 { 498 pinctrl_i2c1: i2c1-0 {
492 atmel,pins = 499 atmel,pins =
493 <2 26 0x2 0x0 /* PC26 periph B TWD1 pin, conflicts with SPI1_NPCS1, ISI_D11 */ 500 <AT91_PIOC 26 AT91_PERIPH_B AT91_PINCTRL_NONE /* PC26 periph B TWD1 pin, conflicts with SPI1_NPCS1, ISI_D11 */
494 2 27 0x2 0x0>; /* PC27 periph B TWCK1 pin, conflicts with SPI1_NPCS2, ISI_D10 */ 501 AT91_PIOC 27 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC27 periph B TWCK1 pin, conflicts with SPI1_NPCS2, ISI_D10 */
495 }; 502 };
496 }; 503 };
497 504
498 isi { 505 isi {
499 pinctrl_isi: isi-0 { 506 pinctrl_isi: isi-0 {
500 atmel,pins = 507 atmel,pins =
501 <0 16 0x3 0x0 /* PA16 periph C ISI_D0, conflicts with LCDDAT16 */ 508 <AT91_PIOA 16 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA16 periph C ISI_D0, conflicts with LCDDAT16 */
502 0 17 0x3 0x0 /* PA17 periph C ISI_D1, conflicts with LCDDAT17 */ 509 AT91_PIOA 17 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA17 periph C ISI_D1, conflicts with LCDDAT17 */
503 0 18 0x3 0x0 /* PA18 periph C ISI_D2, conflicts with LCDDAT18, TWD2 */ 510 AT91_PIOA 18 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA18 periph C ISI_D2, conflicts with LCDDAT18, TWD2 */
504 0 19 0x3 0x0 /* PA19 periph C ISI_D3, conflicts with LCDDAT19, TWCK2 */ 511 AT91_PIOA 19 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA19 periph C ISI_D3, conflicts with LCDDAT19, TWCK2 */
505 0 20 0x3 0x0 /* PA20 periph C ISI_D4, conflicts with LCDDAT20, PWMH0 */ 512 AT91_PIOA 20 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA20 periph C ISI_D4, conflicts with LCDDAT20, PWMH0 */
506 0 21 0x3 0x0 /* PA21 periph C ISI_D5, conflicts with LCDDAT21, PWML0 */ 513 AT91_PIOA 21 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA21 periph C ISI_D5, conflicts with LCDDAT21, PWML0 */
507 0 22 0x3 0x0 /* PA22 periph C ISI_D6, conflicts with LCDDAT22, PWMH1 */ 514 AT91_PIOA 22 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA22 periph C ISI_D6, conflicts with LCDDAT22, PWMH1 */
508 0 23 0x3 0x0 /* PA23 periph C ISI_D7, conflicts with LCDDAT23, PWML1 */ 515 AT91_PIOA 23 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA23 periph C ISI_D7, conflicts with LCDDAT23, PWML1 */
509 2 30 0x3 0x0 /* PC30 periph C ISI_PCK, conflicts with UTXD0 */ 516 AT91_PIOC 30 AT91_PERIPH_C AT91_PINCTRL_NONE /* PC30 periph C ISI_PCK, conflicts with UTXD0 */
510 0 31 0x3 0x0 /* PA31 periph C ISI_HSYNC, conflicts with TWCK0, UTXD1 */ 517 AT91_PIOA 31 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA31 periph C ISI_HSYNC, conflicts with TWCK0, UTXD1 */
511 0 30 0x3 0x0 /* PA30 periph C ISI_VSYNC, conflicts with TWD0, URXD1 */ 518 AT91_PIOA 30 AT91_PERIPH_C AT91_PINCTRL_NONE /* PA30 periph C ISI_VSYNC, conflicts with TWD0, URXD1 */
512 2 29 0x3 0x0 /* PC29 periph C ISI_PD8, conflicts with URXD0, PWMFI2 */ 519 AT91_PIOC 29 AT91_PERIPH_C AT91_PINCTRL_NONE /* PC29 periph C ISI_PD8, conflicts with URXD0, PWMFI2 */
513 2 28 0x3 0x0>; /* PC28 periph C ISI_PD9, conflicts with SPI1_NPCS3, PWMFI0 */ 520 AT91_PIOC 28 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* PC28 periph C ISI_PD9, conflicts with SPI1_NPCS3, PWMFI0 */
514 }; 521 };
515 pinctrl_isi_pck_as_mck: isi_pck_as_mck-0 { 522 pinctrl_isi_pck_as_mck: isi_pck_as_mck-0 {
516 atmel,pins = 523 atmel,pins =
517 <3 31 0x2 0x0>; /* PD31 periph B ISI_MCK */ 524 <AT91_PIOD 31 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PD31 periph B ISI_MCK */
518 }; 525 };
519 }; 526 };
520 527
521 lcd { 528 lcd {
522 pinctrl_lcd: lcd-0 { 529 pinctrl_lcd: lcd-0 {
523 atmel,pins = 530 atmel,pins =
524 <0 24 0x1 0x0 /* PA24 periph A LCDPWM */ 531 <AT91_PIOA 24 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA24 periph A LCDPWM */
525 0 26 0x1 0x0 /* PA26 periph A LCDVSYNC */ 532 AT91_PIOA 26 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA26 periph A LCDVSYNC */
526 0 27 0x1 0x0 /* PA27 periph A LCDHSYNC */ 533 AT91_PIOA 27 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA27 periph A LCDHSYNC */
527 0 25 0x1 0x0 /* PA25 periph A LCDDISP */ 534 AT91_PIOA 25 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA25 periph A LCDDISP */
528 0 29 0x1 0x0 /* PA29 periph A LCDDEN */ 535 AT91_PIOA 29 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA29 periph A LCDDEN */
529 0 28 0x1 0x0 /* PA28 periph A LCDPCK */ 536 AT91_PIOA 28 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA28 periph A LCDPCK */
530 0 0 0x1 0x0 /* PA0 periph A LCDD0 pin */ 537 AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA0 periph A LCDD0 pin */
531 0 1 0x1 0x0 /* PA1 periph A LCDD1 pin */ 538 AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA1 periph A LCDD1 pin */
532 0 2 0x1 0x0 /* PA2 periph A LCDD2 pin */ 539 AT91_PIOA 2 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA2 periph A LCDD2 pin */
533 0 3 0x1 0x0 /* PA3 periph A LCDD3 pin */ 540 AT91_PIOA 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA3 periph A LCDD3 pin */
534 0 4 0x1 0x0 /* PA4 periph A LCDD4 pin */ 541 AT91_PIOA 4 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA4 periph A LCDD4 pin */
535 0 5 0x1 0x0 /* PA5 periph A LCDD5 pin */ 542 AT91_PIOA 5 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA5 periph A LCDD5 pin */
536 0 6 0x1 0x0 /* PA6 periph A LCDD6 pin */ 543 AT91_PIOA 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA6 periph A LCDD6 pin */
537 0 7 0x1 0x0 /* PA7 periph A LCDD7 pin */ 544 AT91_PIOA 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA7 periph A LCDD7 pin */
538 0 8 0x1 0x0 /* PA8 periph A LCDD8 pin */ 545 AT91_PIOA 8 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA8 periph A LCDD8 pin */
539 0 9 0x1 0x0 /* PA9 periph A LCDD9 pin */ 546 AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA9 periph A LCDD9 pin */
540 0 10 0x1 0x0 /* PA10 periph A LCDD10 pin */ 547 AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA10 periph A LCDD10 pin */
541 0 11 0x1 0x0 /* PA11 periph A LCDD11 pin */ 548 AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA11 periph A LCDD11 pin */
542 0 12 0x1 0x0 /* PA12 periph A LCDD12 pin */ 549 AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA12 periph A LCDD12 pin */
543 0 13 0x1 0x0 /* PA13 periph A LCDD13 pin */ 550 AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA13 periph A LCDD13 pin */
544 0 14 0x1 0x0 /* PA14 periph A LCDD14 pin */ 551 AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA14 periph A LCDD14 pin */
545 0 15 0x1 0x0 /* PA15 periph A LCDD15 pin */ 552 AT91_PIOA 15 AT91_PERIPH_A AT91_PINCTRL_NONE /* PA15 periph A LCDD15 pin */
546 2 14 0x3 0x0 /* PC14 periph C LCDD16 pin */ 553 AT91_PIOC 14 AT91_PERIPH_C AT91_PINCTRL_NONE /* PC14 periph C LCDD16 pin */
547 2 13 0x3 0x0 /* PC13 periph C LCDD17 pin */ 554 AT91_PIOC 13 AT91_PERIPH_C AT91_PINCTRL_NONE /* PC13 periph C LCDD17 pin */
548 2 12 0x3 0x0 /* PC12 periph C LCDD18 pin */ 555 AT91_PIOC 12 AT91_PERIPH_C AT91_PINCTRL_NONE /* PC12 periph C LCDD18 pin */
549 2 11 0x3 0x0 /* PC11 periph C LCDD19 pin */ 556 AT91_PIOC 11 AT91_PERIPH_C AT91_PINCTRL_NONE /* PC11 periph C LCDD19 pin */
550 2 10 0x3 0x0 /* PC10 periph C LCDD20 pin */ 557 AT91_PIOC 10 AT91_PERIPH_C AT91_PINCTRL_NONE /* PC10 periph C LCDD20 pin */
551 2 15 0x3 0x0 /* PC15 periph C LCDD21 pin */ 558 AT91_PIOC 15 AT91_PERIPH_C AT91_PINCTRL_NONE /* PC15 periph C LCDD21 pin */
552 4 27 0x3 0x0 /* PE27 periph C LCDD22 pin */ 559 AT91_PIOE 27 AT91_PERIPH_C AT91_PINCTRL_NONE /* PE27 periph C LCDD22 pin */
553 4 28 0x3 0x0>; /* PE28 periph C LCDD23 pin */ 560 AT91_PIOE 28 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* PE28 periph C LCDD23 pin */
554 }; 561 };
555 }; 562 };
556 563
557 macb0 { 564 macb0 {
558 pinctrl_macb0_data_rgmii: macb0_data_rgmii { 565 pinctrl_macb0_data_rgmii: macb0_data_rgmii {
559 atmel,pins = 566 atmel,pins =
560 <1 0 0x1 0x0 /* PB0 periph A GTX0, conflicts with PWMH0 */ 567 <AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB0 periph A GTX0, conflicts with PWMH0 */
561 1 1 0x1 0x0 /* PB1 periph A GTX1, conflicts with PWML0 */ 568 AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB1 periph A GTX1, conflicts with PWML0 */
562 1 2 0x1 0x0 /* PB2 periph A GTX2, conflicts with TK1 */ 569 AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB2 periph A GTX2, conflicts with TK1 */
563 1 3 0x1 0x0 /* PB3 periph A GTX3, conflicts with TF1 */ 570 AT91_PIOB 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB3 periph A GTX3, conflicts with TF1 */
564 1 4 0x1 0x0 /* PB4 periph A GRX0, conflicts with PWMH1 */ 571 AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB4 periph A GRX0, conflicts with PWMH1 */
565 1 5 0x1 0x0 /* PB5 periph A GRX1, conflicts with PWML1 */ 572 AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB5 periph A GRX1, conflicts with PWML1 */
566 1 6 0x1 0x0 /* PB6 periph A GRX2, conflicts with TD1 */ 573 AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB6 periph A GRX2, conflicts with TD1 */
567 1 7 0x1 0x0>; /* PB7 periph A GRX3, conflicts with RK1 */ 574 AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB7 periph A GRX3, conflicts with RK1 */
568 }; 575 };
569 pinctrl_macb0_data_gmii: macb0_data_gmii { 576 pinctrl_macb0_data_gmii: macb0_data_gmii {
570 atmel,pins = 577 atmel,pins =
571 <1 19 0x2 0x0 /* PB19 periph B GTX4, conflicts with MCI1_CDA */ 578 <AT91_PIOB 19 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB19 periph B GTX4, conflicts with MCI1_CDA */
572 1 20 0x2 0x0 /* PB20 periph B GTX5, conflicts with MCI1_DA0 */ 579 AT91_PIOB 20 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB20 periph B GTX5, conflicts with MCI1_DA0 */
573 1 21 0x2 0x0 /* PB21 periph B GTX6, conflicts with MCI1_DA1 */ 580 AT91_PIOB 21 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB21 periph B GTX6, conflicts with MCI1_DA1 */
574 1 22 0x2 0x0 /* PB22 periph B GTX7, conflicts with MCI1_DA2 */ 581 AT91_PIOB 22 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB22 periph B GTX7, conflicts with MCI1_DA2 */
575 1 23 0x2 0x0 /* PB23 periph B GRX4, conflicts with MCI1_DA3 */ 582 AT91_PIOB 23 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB23 periph B GRX4, conflicts with MCI1_DA3 */
576 1 24 0x2 0x0 /* PB24 periph B GRX5, conflicts with MCI1_CK */ 583 AT91_PIOB 24 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB24 periph B GRX5, conflicts with MCI1_CK */
577 1 25 0x2 0x0 /* PB25 periph B GRX6, conflicts with SCK1 */ 584 AT91_PIOB 25 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB25 periph B GRX6, conflicts with SCK1 */
578 1 26 0x2 0x0>; /* PB26 periph B GRX7, conflicts with CTS1 */ 585 AT91_PIOB 26 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PB26 periph B GRX7, conflicts with CTS1 */
579 }; 586 };
580 pinctrl_macb0_signal_rgmii: macb0_signal_rgmii { 587 pinctrl_macb0_signal_rgmii: macb0_signal_rgmii {
581 atmel,pins = 588 atmel,pins =
582 <1 8 0x1 0x0 /* PB8 periph A GTXCK, conflicts with PWMH2 */ 589 <AT91_PIOB 8 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB8 periph A GTXCK, conflicts with PWMH2 */
583 1 9 0x1 0x0 /* PB9 periph A GTXEN, conflicts with PWML2 */ 590 AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB9 periph A GTXEN, conflicts with PWML2 */
584 1 11 0x1 0x0 /* PB11 periph A GRXCK, conflicts with RD1 */ 591 AT91_PIOB 11 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB11 periph A GRXCK, conflicts with RD1 */
585 1 13 0x1 0x0 /* PB13 periph A GRXER, conflicts with PWML3 */ 592 AT91_PIOB 13 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB13 periph A GRXER, conflicts with PWML3 */
586 1 16 0x1 0x0 /* PB16 periph A GMDC */ 593 AT91_PIOB 16 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB16 periph A GMDC */
587 1 17 0x1 0x0 /* PB17 periph A GMDIO */ 594 AT91_PIOB 17 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB17 periph A GMDIO */
588 1 18 0x1 0x0>; /* PB18 periph A G125CK */ 595 AT91_PIOB 18 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB18 periph A G125CK */
589 }; 596 };
590 pinctrl_macb0_signal_gmii: macb0_signal_gmii { 597 pinctrl_macb0_signal_gmii: macb0_signal_gmii {
591 atmel,pins = 598 atmel,pins =
592 <1 9 0x1 0x0 /* PB9 periph A GTXEN, conflicts with PWML2 */ 599 <AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB9 periph A GTXEN, conflicts with PWML2 */
593 1 10 0x1 0x0 /* PB10 periph A GTXER, conflicts with RF1 */ 600 AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB10 periph A GTXER, conflicts with RF1 */
594 1 11 0x1 0x0 /* PB11 periph A GRXCK, conflicts with RD1 */ 601 AT91_PIOB 11 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB11 periph A GRXCK, conflicts with RD1 */
595 1 12 0x1 0x0 /* PB12 periph A GRXDV, conflicts with PWMH3 */ 602 AT91_PIOB 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB12 periph A GRXDV, conflicts with PWMH3 */
596 1 13 0x1 0x0 /* PB13 periph A GRXER, conflicts with PWML3 */ 603 AT91_PIOB 13 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB13 periph A GRXER, conflicts with PWML3 */
597 1 14 0x1 0x0 /* PB14 periph A GCRS, conflicts with CANRX1 */ 604 AT91_PIOB 14 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB14 periph A GCRS, conflicts with CANRX1 */
598 1 15 0x1 0x0 /* PB15 periph A GCOL, conflicts with CANTX1 */ 605 AT91_PIOB 15 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB15 periph A GCOL, conflicts with CANTX1 */
599 1 16 0x1 0x0 /* PB16 periph A GMDC */ 606 AT91_PIOB 16 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB16 periph A GMDC */
600 1 17 0x1 0x0 /* PB17 periph A GMDIO */ 607 AT91_PIOB 17 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB17 periph A GMDIO */
601 1 27 0x2 0x0>; /* PB27 periph B G125CKO */ 608 AT91_PIOB 27 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PB27 periph B G125CKO */
602 }; 609 };
603 610
604 }; 611 };
@@ -606,252 +613,251 @@
606 macb1 { 613 macb1 {
607 pinctrl_macb1_rmii: macb1_rmii-0 { 614 pinctrl_macb1_rmii: macb1_rmii-0 {
608 atmel,pins = 615 atmel,pins =
609 <2 0 0x1 0x0 /* PC0 periph A ETX0, conflicts with TIOA3 */ 616 <AT91_PIOC 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC0 periph A ETX0, conflicts with TIOA3 */
610 2 1 0x1 0x0 /* PC1 periph A ETX1, conflicts with TIOB3 */ 617 AT91_PIOC 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC1 periph A ETX1, conflicts with TIOB3 */
611 2 2 0x1 0x0 /* PC2 periph A ERX0, conflicts with TCLK3 */ 618 AT91_PIOC 2 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC2 periph A ERX0, conflicts with TCLK3 */
612 2 3 0x1 0x0 /* PC3 periph A ERX1, conflicts with TIOA4 */ 619 AT91_PIOC 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC3 periph A ERX1, conflicts with TIOA4 */
613 2 4 0x1 0x0 /* PC4 periph A ETXEN, conflicts with TIOB4 */ 620 AT91_PIOC 4 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC4 periph A ETXEN, conflicts with TIOB4 */
614 2 5 0x1 0x0 /* PC5 periph A ECRSDV,conflicts with TCLK4 */ 621 AT91_PIOC 5 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC5 periph A ECRSDV,conflicts with TCLK4 */
615 2 6 0x1 0x0 /* PC6 periph A ERXER, conflicts with TIOA5 */ 622 AT91_PIOC 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC6 periph A ERXER, conflicts with TIOA5 */
616 2 7 0x1 0x0 /* PC7 periph A EREFCK, conflicts with TIOB5 */ 623 AT91_PIOC 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC7 periph A EREFCK, conflicts with TIOB5 */
617 2 8 0x1 0x0 /* PC8 periph A EMDC, conflicts with TCLK5 */ 624 AT91_PIOC 8 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC8 periph A EMDC, conflicts with TCLK5 */
618 2 9 0x1 0x0>; /* PC9 periph A EMDIO */ 625 AT91_PIOC 9 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PC9 periph A EMDIO */
619 }; 626 };
620 }; 627 };
621 628
622 mmc0 { 629 mmc0 {
623 pinctrl_mmc0_clk_cmd_dat0: mmc0_clk_cmd_dat0 { 630 pinctrl_mmc0_clk_cmd_dat0: mmc0_clk_cmd_dat0 {
624 atmel,pins = 631 atmel,pins =
625 <3 9 0x1 0x0 /* PD9 periph A MCI0_CK */ 632 <AT91_PIOD 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD9 periph A MCI0_CK */
626 3 0 0x1 0x1 /* PD0 periph A MCI0_CDA with pullup */ 633 AT91_PIOD 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD0 periph A MCI0_CDA with pullup */
627 3 1 0x1 0x1>; /* PD1 periph A MCI0_DA0 with pullup */ 634 AT91_PIOD 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PD1 periph A MCI0_DA0 with pullup */
628 }; 635 };
629 pinctrl_mmc0_dat1_3: mmc0_dat1_3 { 636 pinctrl_mmc0_dat1_3: mmc0_dat1_3 {
630 atmel,pins = 637 atmel,pins =
631 <3 2 0x1 0x1 /* PD2 periph A MCI0_DA1 with pullup */ 638 <AT91_PIOD 2 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD2 periph A MCI0_DA1 with pullup */
632 3 3 0x1 0x1 /* PD3 periph A MCI0_DA2 with pullup */ 639 AT91_PIOD 3 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD3 periph A MCI0_DA2 with pullup */
633 3 4 0x1 0x1>; /* PD4 periph A MCI0_DA3 with pullup */ 640 AT91_PIOD 4 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PD4 periph A MCI0_DA3 with pullup */
634 }; 641 };
635 pinctrl_mmc0_dat4_7: mmc0_dat4_7 { 642 pinctrl_mmc0_dat4_7: mmc0_dat4_7 {
636 atmel,pins = 643 atmel,pins =
637 <3 5 0x1 0x1 /* PD5 periph A MCI0_DA4 with pullup, conflicts with TIOA0, PWMH2 */ 644 <AT91_PIOD 5 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD5 periph A MCI0_DA4 with pullup, conflicts with TIOA0, PWMH2 */
638 3 6 0x1 0x1 /* PD6 periph A MCI0_DA5 with pullup, conflicts with TIOB0, PWML2 */ 645 AT91_PIOD 6 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD6 periph A MCI0_DA5 with pullup, conflicts with TIOB0, PWML2 */
639 3 7 0x1 0x1 /* PD7 periph A MCI0_DA6 with pullup, conlicts with TCLK0, PWMH3 */ 646 AT91_PIOD 7 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PD7 periph A MCI0_DA6 with pullup, conlicts with TCLK0, PWMH3 */
640 3 8 0x1 0x1>; /* PD8 periph A MCI0_DA7 with pullup, conflicts with PWML3 */ 647 AT91_PIOD 8 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PD8 periph A MCI0_DA7 with pullup, conflicts with PWML3 */
641 }; 648 };
642 }; 649 };
643 650
644 mmc1 { 651 mmc1 {
645 pinctrl_mmc1_clk_cmd_dat0: mmc1_clk_cmd_dat0 { 652 pinctrl_mmc1_clk_cmd_dat0: mmc1_clk_cmd_dat0 {
646 atmel,pins = 653 atmel,pins =
647 <1 24 0x1 0x0 /* PB24 periph A MCI1_CK, conflicts with GRX5 */ 654 <AT91_PIOB 24 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB24 periph A MCI1_CK, conflicts with GRX5 */
648 1 19 0x1 0x1 /* PB19 periph A MCI1_CDA with pullup, conflicts with GTX4 */ 655 AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PB19 periph A MCI1_CDA with pullup, conflicts with GTX4 */
649 1 20 0x1 0x1>; /* PB20 periph A MCI1_DA0 with pullup, conflicts with GTX5 */ 656 AT91_PIOB 20 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PB20 periph A MCI1_DA0 with pullup, conflicts with GTX5 */
650 }; 657 };
651 pinctrl_mmc1_dat1_3: mmc1_dat1_3 { 658 pinctrl_mmc1_dat1_3: mmc1_dat1_3 {
652 atmel,pins = 659 atmel,pins =
653 <1 21 0x1 0x1 /* PB21 periph A MCI1_DA1 with pullup, conflicts with GTX6 */ 660 <AT91_PIOB 21 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PB21 periph A MCI1_DA1 with pullup, conflicts with GTX6 */
654 1 22 0x1 0x1 /* PB22 periph A MCI1_DA2 with pullup, conflicts with GTX7 */ 661 AT91_PIOB 22 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PB22 periph A MCI1_DA2 with pullup, conflicts with GTX7 */
655 1 23 0x1 0x1>; /* PB23 periph A MCI1_DA3 with pullup, conflicts with GRX4 */ 662 AT91_PIOB 23 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PB23 periph A MCI1_DA3 with pullup, conflicts with GRX4 */
656 }; 663 };
657 }; 664 };
658 665
659 mmc2 { 666 mmc2 {
660 pinctrl_mmc2_clk_cmd_dat0: mmc2_clk_cmd_dat0 { 667 pinctrl_mmc2_clk_cmd_dat0: mmc2_clk_cmd_dat0 {
661 atmel,pins = 668 atmel,pins =
662 <2 15 0x1 0x0 /* PC15 periph A MCI2_CK, conflicts with PCK2 */ 669 <AT91_PIOC 15 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC15 periph A MCI2_CK, conflicts with PCK2 */
663 2 10 0x1 0x1 /* PC10 periph A MCI2_CDA with pullup */ 670 AT91_PIOC 10 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PC10 periph A MCI2_CDA with pullup */
664 2 11 0x1 0x1>; /* PC11 periph A MCI2_DA0 with pullup */ 671 AT91_PIOC 11 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PC11 periph A MCI2_DA0 with pullup */
665 }; 672 };
666 pinctrl_mmc2_dat1_3: mmc2_dat1_3 { 673 pinctrl_mmc2_dat1_3: mmc2_dat1_3 {
667 atmel,pins = 674 atmel,pins =
668 <2 12 0x1 0x0 /* PC12 periph A MCI2_DA1 with pullup, conflicts with TIOA1 */ 675 <AT91_PIOC 12 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC12 periph A MCI2_DA1 with pullup, conflicts with TIOA1 */
669 2 13 0x1 0x0 /* PC13 periph A MCI2_DA2 with pullup, conflicts with TIOB1 */ 676 AT91_PIOC 13 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC13 periph A MCI2_DA2 with pullup, conflicts with TIOB1 */
670 2 14 0x1 0x0>; /* PC14 periph A MCI2_DA3 with pullup, conflicts with TCLK1 */ 677 AT91_PIOC 14 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PC14 periph A MCI2_DA3 with pullup, conflicts with TCLK1 */
671 }; 678 };
672 }; 679 };
673 680
674 nand0 { 681 nand0 {
675 pinctrl_nand0_ale_cle: nand0_ale_cle-0 { 682 pinctrl_nand0_ale_cle: nand0_ale_cle-0 {
676 atmel,pins = 683 atmel,pins =
677 <4 21 0x1 0x1 /* PE21 periph A with pullup */ 684 <AT91_PIOE 21 AT91_PERIPH_A AT91_PINCTRL_PULL_UP /* PE21 periph A with pullup */
678 4 22 0x1 0x1>; /* PE22 periph A with pullup */ 685 AT91_PIOE 22 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PE22 periph A with pullup */
679 }; 686 };
680 }; 687 };
681 688
682 pioA: gpio@fffff200 {
683 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
684 reg = <0xfffff200 0x100>;
685 interrupts = <6 4 1>;
686 #gpio-cells = <2>;
687 gpio-controller;
688 interrupt-controller;
689 #interrupt-cells = <2>;
690 };
691
692 pioB: gpio@fffff400 {
693 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
694 reg = <0xfffff400 0x100>;
695 interrupts = <7 4 1>;
696 #gpio-cells = <2>;
697 gpio-controller;
698 interrupt-controller;
699 #interrupt-cells = <2>;
700 };
701
702 pioC: gpio@fffff600 {
703 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
704 reg = <0xfffff600 0x100>;
705 interrupts = <8 4 1>;
706 #gpio-cells = <2>;
707 gpio-controller;
708 interrupt-controller;
709 #interrupt-cells = <2>;
710 };
711
712 pioD: gpio@fffff800 {
713 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
714 reg = <0xfffff800 0x100>;
715 interrupts = <9 4 1>;
716 #gpio-cells = <2>;
717 gpio-controller;
718 interrupt-controller;
719 #interrupt-cells = <2>;
720 };
721
722 pioE: gpio@fffffa00 {
723 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
724 reg = <0xfffffa00 0x100>;
725 interrupts = <10 4 1>;
726 #gpio-cells = <2>;
727 gpio-controller;
728 interrupt-controller;
729 #interrupt-cells = <2>;
730 };
731
732 spi0 { 689 spi0 {
733 pinctrl_spi0: spi0-0 { 690 pinctrl_spi0: spi0-0 {
734 atmel,pins = 691 atmel,pins =
735 <3 10 0x1 0x0 /* PD10 periph A SPI0_MISO pin */ 692 <AT91_PIOD 10 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD10 periph A SPI0_MISO pin */
736 3 11 0x1 0x0 /* PD11 periph A SPI0_MOSI pin */ 693 AT91_PIOD 11 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD11 periph A SPI0_MOSI pin */
737 3 12 0x1 0x0 /* PD12 periph A SPI0_SPCK pin */ 694 AT91_PIOD 12 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD12 periph A SPI0_SPCK pin */
738 3 13 0x0 0x0>; /* PD13 GPIO SPI0_NPCS0 pin */
739 }; 695 };
740 }; 696 };
741 697
742 spi1 { 698 spi1 {
743 pinctrl_spi1: spi1-0 { 699 pinctrl_spi1: spi1-0 {
744 atmel,pins = 700 atmel,pins =
745 <2 22 0x1 0x0 /* PC22 periph A SPI1_MISO pin */ 701 <AT91_PIOC 22 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC22 periph A SPI1_MISO pin */
746 2 23 0x1 0x0 /* PC23 periph A SPI1_MOSI pin */ 702 AT91_PIOC 23 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC23 periph A SPI1_MOSI pin */
747 2 24 0x1 0x0 /* PC24 periph A SPI1_SPCK pin */ 703 AT91_PIOC 24 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PC24 periph A SPI1_SPCK pin */
748 2 25 0x0 0x0>; /* PC25 GPIO SPI1_NPCS0 pin */
749 }; 704 };
750 }; 705 };
751 706
752 ssc0 { 707 ssc0 {
753 pinctrl_ssc0_tx: ssc0_tx { 708 pinctrl_ssc0_tx: ssc0_tx {
754 atmel,pins = 709 atmel,pins =
755 <2 16 0x1 0x0 /* PC16 periph A TK0 */ 710 <AT91_PIOC 16 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC16 periph A TK0 */
756 2 17 0x1 0x0 /* PC17 periph A TF0 */ 711 AT91_PIOC 17 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC17 periph A TF0 */
757 2 18 0x1 0x0>; /* PC18 periph A TD0 */ 712 AT91_PIOC 18 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PC18 periph A TD0 */
758 }; 713 };
759 714
760 pinctrl_ssc0_rx: ssc0_rx { 715 pinctrl_ssc0_rx: ssc0_rx {
761 atmel,pins = 716 atmel,pins =
762 <2 19 0x1 0x0 /* PC19 periph A RK0 */ 717 <AT91_PIOC 19 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC19 periph A RK0 */
763 2 20 0x1 0x0 /* PC20 periph A RF0 */ 718 AT91_PIOC 20 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC20 periph A RF0 */
764 2 21 0x1 0x0>; /* PC21 periph A RD0 */ 719 AT91_PIOC 21 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PC21 periph A RD0 */
765 }; 720 };
766 }; 721 };
767 722
768 ssc1 { 723 ssc1 {
769 pinctrl_ssc1_tx: ssc1_tx { 724 pinctrl_ssc1_tx: ssc1_tx {
770 atmel,pins = 725 atmel,pins =
771 <1 2 0x2 0x0 /* PB2 periph B TK1, conflicts with GTX2 */ 726 <AT91_PIOB 2 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB2 periph B TK1, conflicts with GTX2 */
772 1 3 0x2 0x0 /* PB3 periph B TF1, conflicts with GTX3 */ 727 AT91_PIOB 3 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB3 periph B TF1, conflicts with GTX3 */
773 1 6 0x2 0x0>; /* PB6 periph B TD1, conflicts with TD1 */ 728 AT91_PIOB 6 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PB6 periph B TD1, conflicts with TD1 */
774 }; 729 };
775 730
776 pinctrl_ssc1_rx: ssc1_rx { 731 pinctrl_ssc1_rx: ssc1_rx {
777 atmel,pins = 732 atmel,pins =
778 <1 7 0x2 0x0 /* PB7 periph B RK1, conflicts with EREFCK */ 733 <AT91_PIOB 7 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB7 periph B RK1, conflicts with EREFCK */
779 1 10 0x2 0x0 /* PB10 periph B RF1, conflicts with GTXER */ 734 AT91_PIOB 10 AT91_PERIPH_B AT91_PINCTRL_NONE /* PB10 periph B RF1, conflicts with GTXER */
780 1 11 0x2 0x0>; /* PB11 periph B RD1, conflicts with GRXCK */ 735 AT91_PIOB 11 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PB11 periph B RD1, conflicts with GRXCK */
781 }; 736 };
782 }; 737 };
783 738
784 uart0 { 739 uart0 {
785 pinctrl_uart0: uart0-0 { 740 pinctrl_uart0: uart0-0 {
786 atmel,pins = 741 atmel,pins =
787 <2 29 0x1 0x0 /* PC29 periph A, conflicts with PWMFI2, ISI_D8 */ 742 <AT91_PIOC 29 AT91_PERIPH_A AT91_PINCTRL_NONE /* PC29 periph A, conflicts with PWMFI2, ISI_D8 */
788 2 30 0x1 0x1>; /* PC30 periph A with pullup, conflicts with ISI_PCK */ 743 AT91_PIOC 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PC30 periph A with pullup, conflicts with ISI_PCK */
789 }; 744 };
790 }; 745 };
791 746
792 uart1 { 747 uart1 {
793 pinctrl_uart1: uart1-0 { 748 pinctrl_uart1: uart1-0 {
794 atmel,pins = 749 atmel,pins =
795 <0 30 0x2 0x0 /* PA30 periph B, conflicts with TWD0, ISI_VSYNC */ 750 <AT91_PIOA 30 AT91_PERIPH_B AT91_PINCTRL_NONE /* PA30 periph B, conflicts with TWD0, ISI_VSYNC */
796 0 31 0x2 0x1>; /* PA31 periph B with pullup, conflicts with TWCK0, ISI_HSYNC */ 751 AT91_PIOA 31 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; /* PA31 periph B with pullup, conflicts with TWCK0, ISI_HSYNC */
797 }; 752 };
798 }; 753 };
799 754
800 usart0 { 755 usart0 {
801 pinctrl_usart0: usart0-0 { 756 pinctrl_usart0: usart0-0 {
802 atmel,pins = 757 atmel,pins =
803 <3 17 0x1 0x0 /* PD17 periph A */ 758 <AT91_PIOD 17 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD17 periph A */
804 3 18 0x1 0x1>; /* PD18 periph A with pullup */ 759 AT91_PIOD 18 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PD18 periph A with pullup */
805 }; 760 };
806 761
807 pinctrl_usart0_rts_cts: usart0_rts_cts-0 { 762 pinctrl_usart0_rts_cts: usart0_rts_cts-0 {
808 atmel,pins = 763 atmel,pins =
809 <3 15 0x1 0x0 /* PD15 periph A, conflicts with SPI0_NPCS2, CANTX0 */ 764 <AT91_PIOD 15 AT91_PERIPH_A AT91_PINCTRL_NONE /* PD15 periph A, conflicts with SPI0_NPCS2, CANTX0 */
810 3 16 0x1 0x0>; /* PD16 periph A, conflicts with SPI0_NPCS3, PWMFI3 */ 765 AT91_PIOD 16 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PD16 periph A, conflicts with SPI0_NPCS3, PWMFI3 */
811 }; 766 };
812 }; 767 };
813 768
814 usart1 { 769 usart1 {
815 pinctrl_usart1: usart1-0 { 770 pinctrl_usart1: usart1-0 {
816 atmel,pins = 771 atmel,pins =
817 <1 28 0x1 0x0 /* PB28 periph A */ 772 <AT91_PIOB 28 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB28 periph A */
818 1 29 0x1 0x1>; /* PB29 periph A with pullup */ 773 AT91_PIOB 29 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>; /* PB29 periph A with pullup */
819 }; 774 };
820 775
821 pinctrl_usart1_rts_cts: usart1_rts_cts-0 { 776 pinctrl_usart1_rts_cts: usart1_rts_cts-0 {
822 atmel,pins = 777 atmel,pins =
823 <1 26 0x1 0x0 /* PB26 periph A, conflicts with GRX7 */ 778 <AT91_PIOB 26 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB26 periph A, conflicts with GRX7 */
824 1 27 0x1 0x0>; /* PB27 periph A, conflicts with G125CKO */ 779 AT91_PIOB 27 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB27 periph A, conflicts with G125CKO */
825 }; 780 };
826 }; 781 };
827 782
828 usart2 { 783 usart2 {
829 pinctrl_usart2: usart2-0 { 784 pinctrl_usart2: usart2-0 {
830 atmel,pins = 785 atmel,pins =
831 <4 25 0x2 0x0 /* PE25 periph B, conflicts with A25 */ 786 <AT91_PIOE 25 AT91_PERIPH_B AT91_PINCTRL_NONE /* PE25 periph B, conflicts with A25 */
832 4 26 0x2 0x1>; /* PE26 periph B with pullup, conflicts NCS0 */ 787 AT91_PIOE 26 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; /* PE26 periph B with pullup, conflicts NCS0 */
833 }; 788 };
834 789
835 pinctrl_usart2_rts_cts: usart2_rts_cts-0 { 790 pinctrl_usart2_rts_cts: usart2_rts_cts-0 {
836 atmel,pins = 791 atmel,pins =
837 <4 23 0x2 0x0 /* PE23 periph B, conflicts with A23 */ 792 <AT91_PIOE 23 AT91_PERIPH_B AT91_PINCTRL_NONE /* PE23 periph B, conflicts with A23 */
838 4 24 0x2 0x0>; /* PE24 periph B, conflicts with A24 */ 793 AT91_PIOE 24 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PE24 periph B, conflicts with A24 */
839 }; 794 };
840 }; 795 };
841 796
842 usart3 { 797 usart3 {
843 pinctrl_usart3: usart3-0 { 798 pinctrl_usart3: usart3-0 {
844 atmel,pins = 799 atmel,pins =
845 <4 18 0x2 0x0 /* PE18 periph B, conflicts with A18 */ 800 <AT91_PIOE 18 AT91_PERIPH_B AT91_PINCTRL_NONE /* PE18 periph B, conflicts with A18 */
846 4 19 0x2 0x1>; /* PE19 periph B with pullup, conflicts with A19 */ 801 AT91_PIOE 19 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>; /* PE19 periph B with pullup, conflicts with A19 */
847 }; 802 };
848 803
849 pinctrl_usart3_rts_cts: usart3_rts_cts-0 { 804 pinctrl_usart3_rts_cts: usart3_rts_cts-0 {
850 atmel,pins = 805 atmel,pins =
851 <4 16 0x2 0x0 /* PE16 periph B, conflicts with A16 */ 806 <AT91_PIOE 16 AT91_PERIPH_B AT91_PINCTRL_NONE /* PE16 periph B, conflicts with A16 */
852 4 17 0x2 0x0>; /* PE17 periph B, conflicts with A17 */ 807 AT91_PIOE 17 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PE17 periph B, conflicts with A17 */
853 }; 808 };
854 }; 809 };
810
811
812 pioA: gpio@fffff200 {
813 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
814 reg = <0xfffff200 0x100>;
815 interrupts = <6 IRQ_TYPE_LEVEL_HIGH 1>;
816 #gpio-cells = <2>;
817 gpio-controller;
818 interrupt-controller;
819 #interrupt-cells = <2>;
820 };
821
822 pioB: gpio@fffff400 {
823 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
824 reg = <0xfffff400 0x100>;
825 interrupts = <7 IRQ_TYPE_LEVEL_HIGH 1>;
826 #gpio-cells = <2>;
827 gpio-controller;
828 interrupt-controller;
829 #interrupt-cells = <2>;
830 };
831
832 pioC: gpio@fffff600 {
833 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
834 reg = <0xfffff600 0x100>;
835 interrupts = <8 IRQ_TYPE_LEVEL_HIGH 1>;
836 #gpio-cells = <2>;
837 gpio-controller;
838 interrupt-controller;
839 #interrupt-cells = <2>;
840 };
841
842 pioD: gpio@fffff800 {
843 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
844 reg = <0xfffff800 0x100>;
845 interrupts = <9 IRQ_TYPE_LEVEL_HIGH 1>;
846 #gpio-cells = <2>;
847 gpio-controller;
848 interrupt-controller;
849 #interrupt-cells = <2>;
850 };
851
852 pioE: gpio@fffffa00 {
853 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
854 reg = <0xfffffa00 0x100>;
855 interrupts = <10 IRQ_TYPE_LEVEL_HIGH 1>;
856 #gpio-cells = <2>;
857 gpio-controller;
858 interrupt-controller;
859 #interrupt-cells = <2>;
860 };
855 }; 861 };
856 862
857 pmc: pmc@fffffc00 { 863 pmc: pmc@fffffc00 {
@@ -867,7 +873,7 @@
867 pit: timer@fffffe30 { 873 pit: timer@fffffe30 {
868 compatible = "atmel,at91sam9260-pit"; 874 compatible = "atmel,at91sam9260-pit";
869 reg = <0xfffffe30 0xf>; 875 reg = <0xfffffe30 0xf>;
870 interrupts = <3 4 5>; 876 interrupts = <3 IRQ_TYPE_LEVEL_HIGH 5>;
871 }; 877 };
872 878
873 watchdog@fffffe40 { 879 watchdog@fffffe40 {
@@ -879,7 +885,7 @@
879 rtc@fffffeb0 { 885 rtc@fffffeb0 {
880 compatible = "atmel,at91rm9200-rtc"; 886 compatible = "atmel,at91rm9200-rtc";
881 reg = <0xfffffeb0 0x30>; 887 reg = <0xfffffeb0 0x30>;
882 interrupts = <1 4 7>; 888 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
883 }; 889 };
884 }; 890 };
885 891
@@ -889,7 +895,7 @@
889 compatible = "atmel,at91sam9rl-udc"; 895 compatible = "atmel,at91sam9rl-udc";
890 reg = <0x00500000 0x100000 896 reg = <0x00500000 0x100000
891 0xf8030000 0x4000>; 897 0xf8030000 0x4000>;
892 interrupts = <33 4 2>; 898 interrupts = <33 IRQ_TYPE_LEVEL_HIGH 2>;
893 status = "disabled"; 899 status = "disabled";
894 900
895 ep0 { 901 ep0 {
@@ -1001,14 +1007,14 @@
1001 usb1: ohci@00600000 { 1007 usb1: ohci@00600000 {
1002 compatible = "atmel,at91rm9200-ohci", "usb-ohci"; 1008 compatible = "atmel,at91rm9200-ohci", "usb-ohci";
1003 reg = <0x00600000 0x100000>; 1009 reg = <0x00600000 0x100000>;
1004 interrupts = <32 4 2>; 1010 interrupts = <32 IRQ_TYPE_LEVEL_HIGH 2>;
1005 status = "disabled"; 1011 status = "disabled";
1006 }; 1012 };
1007 1013
1008 usb2: ehci@00700000 { 1014 usb2: ehci@00700000 {
1009 compatible = "atmel,at91sam9g45-ehci", "usb-ehci"; 1015 compatible = "atmel,at91sam9g45-ehci", "usb-ehci";
1010 reg = <0x00700000 0x100000>; 1016 reg = <0x00700000 0x100000>;
1011 interrupts = <32 4 2>; 1017 interrupts = <32 IRQ_TYPE_LEVEL_HIGH 2>;
1012 status = "disabled"; 1018 status = "disabled";
1013 }; 1019 };
1014 1020
@@ -1024,7 +1030,7 @@
1024 0xffffc000 0x00000070 /* NFC HSMC regs */ 1030 0xffffc000 0x00000070 /* NFC HSMC regs */
1025 0x00200000 0x00100000 /* NFC SRAM banks */ 1031 0x00200000 0x00100000 /* NFC SRAM banks */
1026 >; 1032 >;
1027 interrupts = <5 4 6>; 1033 interrupts = <5 IRQ_TYPE_LEVEL_HIGH 6>;
1028 atmel,nand-addr-offset = <21>; 1034 atmel,nand-addr-offset = <21>;
1029 atmel,nand-cmd-offset = <22>; 1035 atmel,nand-cmd-offset = <22>;
1030 pinctrl-names = "default"; 1036 pinctrl-names = "default";
diff --git a/arch/arm/boot/dts/sama5d31ek.dts b/arch/arm/boot/dts/sama5d31ek.dts
index fa5d216f1db7..027bac7510b6 100644
--- a/arch/arm/boot/dts/sama5d31ek.dts
+++ b/arch/arm/boot/dts/sama5d31ek.dts
@@ -7,8 +7,8 @@
7 * Licensed under GPLv2 or later. 7 * Licensed under GPLv2 or later.
8 */ 8 */
9/dts-v1/; 9/dts-v1/;
10/include/ "sama5d3xmb.dtsi" 10#include "sama5d3xmb.dtsi"
11/include/ "sama5d3xdm.dtsi" 11#include "sama5d3xdm.dtsi"
12 12
13/ { 13/ {
14 model = "Atmel SAMA5D31-EK"; 14 model = "Atmel SAMA5D31-EK";
@@ -41,7 +41,7 @@
41 leds { 41 leds {
42 d3 { 42 d3 {
43 label = "d3"; 43 label = "d3";
44 gpios = <&pioE 24 0>; 44 gpios = <&pioE 24 GPIO_ACTIVE_HIGH>;
45 }; 45 };
46 }; 46 };
47 47
diff --git a/arch/arm/boot/dts/sama5d33ek.dts b/arch/arm/boot/dts/sama5d33ek.dts
index c38c9433d7a5..99bd0c8e0471 100644
--- a/arch/arm/boot/dts/sama5d33ek.dts
+++ b/arch/arm/boot/dts/sama5d33ek.dts
@@ -7,8 +7,8 @@
7 * Licensed under GPLv2 or later. 7 * Licensed under GPLv2 or later.
8 */ 8 */
9/dts-v1/; 9/dts-v1/;
10/include/ "sama5d3xmb.dtsi" 10#include "sama5d3xmb.dtsi"
11/include/ "sama5d3xdm.dtsi" 11#include "sama5d3xdm.dtsi"
12 12
13/ { 13/ {
14 model = "Atmel SAMA5D33-EK"; 14 model = "Atmel SAMA5D33-EK";
diff --git a/arch/arm/boot/dts/sama5d34ek.dts b/arch/arm/boot/dts/sama5d34ek.dts
index 6bebfcdcb1d1..fb8ee11cf282 100644
--- a/arch/arm/boot/dts/sama5d34ek.dts
+++ b/arch/arm/boot/dts/sama5d34ek.dts
@@ -7,8 +7,8 @@
7 * Licensed under GPLv2 or later. 7 * Licensed under GPLv2 or later.
8 */ 8 */
9/dts-v1/; 9/dts-v1/;
10/include/ "sama5d3xmb.dtsi" 10#include "sama5d3xmb.dtsi"
11/include/ "sama5d3xdm.dtsi" 11#include "sama5d3xdm.dtsi"
12 12
13/ { 13/ {
14 model = "Atmel SAMA5D34-EK"; 14 model = "Atmel SAMA5D34-EK";
@@ -51,7 +51,7 @@
51 leds { 51 leds {
52 d3 { 52 d3 {
53 label = "d3"; 53 label = "d3";
54 gpios = <&pioE 24 0>; 54 gpios = <&pioE 24 GPIO_ACTIVE_HIGH>;
55 }; 55 };
56 }; 56 };
57 57
diff --git a/arch/arm/boot/dts/sama5d35ek.dts b/arch/arm/boot/dts/sama5d35ek.dts
index a488fc4e9777..509a53d9cc7b 100644
--- a/arch/arm/boot/dts/sama5d35ek.dts
+++ b/arch/arm/boot/dts/sama5d35ek.dts
@@ -7,7 +7,7 @@
7 * Licensed under GPLv2 or later. 7 * Licensed under GPLv2 or later.
8 */ 8 */
9/dts-v1/; 9/dts-v1/;
10/include/ "sama5d3xmb.dtsi" 10#include "sama5d3xmb.dtsi"
11 11
12/ { 12/ {
13 model = "Atmel SAMA5D35-EK"; 13 model = "Atmel SAMA5D35-EK";
@@ -48,7 +48,7 @@
48 48
49 pb_user1 { 49 pb_user1 {
50 label = "pb_user1"; 50 label = "pb_user1";
51 gpios = <&pioE 27 0>; 51 gpios = <&pioE 27 GPIO_ACTIVE_HIGH>;
52 linux,code = <0x100>; 52 linux,code = <0x100>;
53 gpio-key,wakeup; 53 gpio-key,wakeup;
54 }; 54 };
diff --git a/arch/arm/boot/dts/sama5d3xcm.dtsi b/arch/arm/boot/dts/sama5d3xcm.dtsi
index b336e7787cb3..1f8050813a54 100644
--- a/arch/arm/boot/dts/sama5d3xcm.dtsi
+++ b/arch/arm/boot/dts/sama5d3xcm.dtsi
@@ -6,7 +6,7 @@
6 * 6 *
7 * Licensed under GPLv2 or later. 7 * Licensed under GPLv2 or later.
8 */ 8 */
9/include/ "sama5d3.dtsi" 9#include "sama5d3.dtsi"
10 10
11/ { 11/ {
12 compatible = "atmel,samad3xcm", "atmel,sama5d3", "atmel,sama5"; 12 compatible = "atmel,samad3xcm", "atmel,sama5d3", "atmel,sama5";
@@ -89,7 +89,7 @@
89 89
90 d2 { 90 d2 {
91 label = "d2"; 91 label = "d2";
92 gpios = <&pioE 25 1>; /* PE25, conflicts with A25, RXD2 */ 92 gpios = <&pioE 25 GPIO_ACTIVE_LOW>; /* PE25, conflicts with A25, RXD2 */
93 }; 93 };
94 }; 94 };
95}; 95};
diff --git a/arch/arm/boot/dts/sama5d3xdm.dtsi b/arch/arm/boot/dts/sama5d3xdm.dtsi
index 4b8830eb2060..1c296d6b2f2a 100644
--- a/arch/arm/boot/dts/sama5d3xdm.dtsi
+++ b/arch/arm/boot/dts/sama5d3xdm.dtsi
@@ -33,7 +33,7 @@
33 board { 33 board {
34 pinctrl_qt1070_irq: qt1070_irq { 34 pinctrl_qt1070_irq: qt1070_irq {
35 atmel,pins = 35 atmel,pins =
36 <4 31 0x0 0x5>; /* PE31 GPIO with pull up deglith */ 36 <AT91_PIOE 31 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; /* PE31 GPIO with pull up deglith */
37 }; 37 };
38 }; 38 };
39 }; 39 };
diff --git a/arch/arm/boot/dts/sama5d3xmb.dtsi b/arch/arm/boot/dts/sama5d3xmb.dtsi
index 661d7ca9c309..8a9e05d8a4b8 100644
--- a/arch/arm/boot/dts/sama5d3xmb.dtsi
+++ b/arch/arm/boot/dts/sama5d3xmb.dtsi
@@ -6,7 +6,7 @@
6 * 6 *
7 * Licensed under GPLv2 or later. 7 * Licensed under GPLv2 or later.
8 */ 8 */
9/include/ "sama5d3xcm.dtsi" 9#include "sama5d3xcm.dtsi"
10 10
11/ { 11/ {
12 compatible = "atmel,sama5d3xmb", "atmel,sama5d3xcm", "atmel,sama5d3", "atmel,sama5"; 12 compatible = "atmel,sama5d3xmb", "atmel,sama5d3xcm", "atmel,sama5d3", "atmel,sama5";
@@ -20,7 +20,7 @@
20 slot@0 { 20 slot@0 {
21 reg = <0>; 21 reg = <0>;
22 bus-width = <4>; 22 bus-width = <4>;
23 cd-gpios = <&pioD 17 0>; 23 cd-gpios = <&pioD 17 GPIO_ACTIVE_HIGH>;
24 }; 24 };
25 }; 25 };
26 26
@@ -62,7 +62,7 @@
62 slot@0 { 62 slot@0 {
63 reg = <0>; 63 reg = <0>;
64 bus-width = <4>; 64 bus-width = <4>;
65 cd-gpios = <&pioD 18 0>; 65 cd-gpios = <&pioD 18 GPIO_ACTIVE_HIGH>;
66 }; 66 };
67 }; 67 };
68 68
@@ -87,32 +87,32 @@
87 board { 87 board {
88 pinctrl_mmc0_cd: mmc0_cd { 88 pinctrl_mmc0_cd: mmc0_cd {
89 atmel,pins = 89 atmel,pins =
90 <3 17 0x0 0x5>; /* PD17 GPIO with pullup deglitch */ 90 <AT91_PIOD 17 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; /* PD17 GPIO with pullup deglitch */
91 }; 91 };
92 92
93 pinctrl_mmc1_cd: mmc1_cd { 93 pinctrl_mmc1_cd: mmc1_cd {
94 atmel,pins = 94 atmel,pins =
95 <3 18 0x0 0x5>; /* PD18 GPIO with pullup deglitch */ 95 <AT91_PIOD 18 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; /* PD18 GPIO with pullup deglitch */
96 }; 96 };
97 97
98 pinctrl_pck0_as_audio_mck: pck0_as_audio_mck { 98 pinctrl_pck0_as_audio_mck: pck0_as_audio_mck {
99 atmel,pins = 99 atmel,pins =
100 <3 30 0x2 0x0>; /* PD30 periph B */ 100 <AT91_PIOD 30 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PD30 periph B */
101 }; 101 };
102 102
103 pinctrl_isi_reset: isi_reset-0 { 103 pinctrl_isi_reset: isi_reset-0 {
104 atmel,pins = 104 atmel,pins =
105 <4 24 0x0 0x0>; /* PE24 gpio */ 105 <AT91_PIOE 24 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; /* PE24 gpio */
106 }; 106 };
107 107
108 pinctrl_isi_power: isi_power-0 { 108 pinctrl_isi_power: isi_power-0 {
109 atmel,pins = 109 atmel,pins =
110 <4 29 0x0 0x0>; /* PE29 gpio */ 110 <AT91_PIOE 29 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; /* PE29 gpio */
111 }; 111 };
112 112
113 pinctrl_usba_vbus: usba_vbus { 113 pinctrl_usba_vbus: usba_vbus {
114 atmel,pins = 114 atmel,pins =
115 <3 29 0x0 0x4>; /* PD29 GPIO with deglitch */ 115 <AT91_PIOD 29 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; /* PD29 GPIO with deglitch */
116 }; 116 };
117 }; 117 };
118 }; 118 };
@@ -127,7 +127,7 @@
127 }; 127 };
128 128
129 usb0: gadget@00500000 { 129 usb0: gadget@00500000 {
130 atmel,vbus-gpio = <&pioD 29 0>; 130 atmel,vbus-gpio = <&pioD 29 GPIO_ACTIVE_HIGH>;
131 pinctrl-names = "default"; 131 pinctrl-names = "default";
132 pinctrl-0 = <&pinctrl_usba_vbus>; 132 pinctrl-0 = <&pinctrl_usba_vbus>;
133 status = "okay"; 133 status = "okay";
@@ -135,9 +135,9 @@
135 135
136 usb1: ohci@00600000 { 136 usb1: ohci@00600000 {
137 num-ports = <3>; 137 num-ports = <3>;
138 atmel,vbus-gpio = <&pioD 25 0 138 atmel,vbus-gpio = <&pioD 25 GPIO_ACTIVE_HIGH
139 &pioD 26 1 139 &pioD 26 GPIO_ACTIVE_LOW
140 &pioD 27 1 140 &pioD 27 GPIO_ACTIVE_LOW
141 >; 141 >;
142 status = "okay"; 142 status = "okay";
143 }; 143 };
diff --git a/arch/arm/boot/dts/sh7372.dtsi b/arch/arm/boot/dts/sh7372.dtsi
index 677fc603f8b3..7bf020ecadf5 100644
--- a/arch/arm/boot/dts/sh7372.dtsi
+++ b/arch/arm/boot/dts/sh7372.dtsi
@@ -14,8 +14,13 @@
14 compatible = "renesas,sh7372"; 14 compatible = "renesas,sh7372";
15 15
16 cpus { 16 cpus {
17 #address-cells = <1>;
18 #size-cells = <0>;
19
17 cpu@0 { 20 cpu@0 {
18 compatible = "arm,cortex-a8"; 21 compatible = "arm,cortex-a8";
22 device_type = "cpu";
23 reg = <0x0>;
19 }; 24 };
20 }; 25 };
21}; 26};
diff --git a/arch/arm/boot/dts/sh73a0-kzm9g-reference.dts b/arch/arm/boot/dts/sh73a0-kzm9g-reference.dts
index 5972abb55f9c..b6f759e830ed 100644
--- a/arch/arm/boot/dts/sh73a0-kzm9g-reference.dts
+++ b/arch/arm/boot/dts/sh73a0-kzm9g-reference.dts
@@ -18,6 +18,19 @@
18 model = "KZM-A9-GT"; 18 model = "KZM-A9-GT";
19 compatible = "renesas,kzm9g-reference", "renesas,sh73a0"; 19 compatible = "renesas,kzm9g-reference", "renesas,sh73a0";
20 20
21 cpus {
22 cpu@0 {
23 cpu0-supply = <&vdd_dvfs>;
24 operating-points = <
25 /* kHz uV */
26 1196000 1315000
27 598000 1175000
28 398667 1065000
29 >;
30 voltage-tolerance = <1>; /* 1% */
31 };
32 };
33
21 chosen { 34 chosen {
22 bootargs = "console=tty0 console=ttySC4,115200 root=/dev/nfs ip=dhcp ignore_loglevel earlyprintk=sh-sci.4,115200"; 35 bootargs = "console=tty0 console=ttySC4,115200 root=/dev/nfs ip=dhcp ignore_loglevel earlyprintk=sh-sci.4,115200";
23 }; 36 };
@@ -59,6 +72,79 @@
59 }; 72 };
60}; 73};
61 74
75&i2c0 {
76 as3711@40 {
77 compatible = "ams,as3711";
78 reg = <0x40>;
79
80 regulators {
81 vdd_dvfs: sd1 {
82 regulator-name = "1.315V CPU";
83 regulator-min-microvolt = <1050000>;
84 regulator-max-microvolt = <1350000>;
85 regulator-always-on;
86 regulator-boot-on;
87 };
88 sd2 {
89 regulator-name = "1.8V";
90 regulator-min-microvolt = <1800000>;
91 regulator-max-microvolt = <1800000>;
92 regulator-always-on;
93 regulator-boot-on;
94 };
95 sd4 {
96 regulator-name = "1.215V";
97 regulator-min-microvolt = <1215000>;
98 regulator-max-microvolt = <1235000>;
99 regulator-always-on;
100 regulator-boot-on;
101 };
102 ldo2 {
103 regulator-name = "2.8V CPU";
104 regulator-min-microvolt = <2800000>;
105 regulator-max-microvolt = <2800000>;
106 regulator-always-on;
107 regulator-boot-on;
108 };
109 ldo3 {
110 regulator-name = "3.0V CPU";
111 regulator-min-microvolt = <3000000>;
112 regulator-max-microvolt = <3000000>;
113 regulator-always-on;
114 regulator-boot-on;
115 };
116 ldo4 {
117 regulator-name = "2.8V";
118 regulator-min-microvolt = <2800000>;
119 regulator-max-microvolt = <2800000>;
120 regulator-always-on;
121 regulator-boot-on;
122 };
123 ldo5 {
124 regulator-name = "2.8V #2";
125 regulator-min-microvolt = <2800000>;
126 regulator-max-microvolt = <2800000>;
127 regulator-always-on;
128 regulator-boot-on;
129 };
130 ldo7 {
131 regulator-name = "1.15V CPU";
132 regulator-min-microvolt = <1150000>;
133 regulator-max-microvolt = <1150000>;
134 regulator-always-on;
135 regulator-boot-on;
136 };
137 ldo8 {
138 regulator-name = "1.15V CPU #2";
139 regulator-min-microvolt = <1150000>;
140 regulator-max-microvolt = <1150000>;
141 regulator-always-on;
142 regulator-boot-on;
143 };
144 };
145 };
146};
147
62&mmcif { 148&mmcif {
63 bus-width = <8>; 149 bus-width = <8>;
64 vmmc-supply = <&reg_1p8v>; 150 vmmc-supply = <&reg_1p8v>;
diff --git a/arch/arm/boot/dts/socfpga.dtsi b/arch/arm/boot/dts/socfpga.dtsi
index 16a6e13e08b4..bee62a2cf6d6 100644
--- a/arch/arm/boot/dts/socfpga.dtsi
+++ b/arch/arm/boot/dts/socfpga.dtsi
@@ -23,6 +23,7 @@
23 23
24 aliases { 24 aliases {
25 ethernet0 = &gmac0; 25 ethernet0 = &gmac0;
26 ethernet1 = &gmac1;
26 serial0 = &uart0; 27 serial0 = &uart0;
27 serial1 = &uart1; 28 serial1 = &uart1;
28 timer0 = &timer0; 29 timer0 = &timer0;
@@ -94,6 +95,12 @@
94 compatible = "fixed-clock"; 95 compatible = "fixed-clock";
95 }; 96 };
96 97
98 f2s_periph_ref_clk: f2s_periph_ref_clk {
99 #clock-cells = <0>;
100 compatible = "fixed-clock";
101 clock-frequency = <10000000>;
102 };
103
97 main_pll: main_pll { 104 main_pll: main_pll {
98 #address-cells = <1>; 105 #address-cells = <1>;
99 #size-cells = <0>; 106 #size-cells = <0>;
@@ -235,16 +242,222 @@
235 reg = <0xD4>; 242 reg = <0xD4>;
236 }; 243 };
237 }; 244 };
245
246 mpu_periph_clk: mpu_periph_clk {
247 #clock-cells = <0>;
248 compatible = "altr,socfpga-gate-clk";
249 clocks = <&mpuclk>;
250 fixed-divider = <4>;
251 };
252
253 mpu_l2_ram_clk: mpu_l2_ram_clk {
254 #clock-cells = <0>;
255 compatible = "altr,socfpga-gate-clk";
256 clocks = <&mpuclk>;
257 fixed-divider = <2>;
258 };
259
260 l4_main_clk: l4_main_clk {
261 #clock-cells = <0>;
262 compatible = "altr,socfpga-gate-clk";
263 clocks = <&mainclk>;
264 clk-gate = <0x60 0>;
265 };
266
267 l3_main_clk: l3_main_clk {
268 #clock-cells = <0>;
269 compatible = "altr,socfpga-gate-clk";
270 clocks = <&mainclk>;
271 };
272
273 l3_mp_clk: l3_mp_clk {
274 #clock-cells = <0>;
275 compatible = "altr,socfpga-gate-clk";
276 clocks = <&mainclk>;
277 div-reg = <0x64 0 2>;
278 clk-gate = <0x60 1>;
279 };
280
281 l3_sp_clk: l3_sp_clk {
282 #clock-cells = <0>;
283 compatible = "altr,socfpga-gate-clk";
284 clocks = <&mainclk>;
285 div-reg = <0x64 2 2>;
286 };
287
288 l4_mp_clk: l4_mp_clk {
289 #clock-cells = <0>;
290 compatible = "altr,socfpga-gate-clk";
291 clocks = <&mainclk>, <&per_base_clk>;
292 div-reg = <0x64 4 3>;
293 clk-gate = <0x60 2>;
294 };
295
296 l4_sp_clk: l4_sp_clk {
297 #clock-cells = <0>;
298 compatible = "altr,socfpga-gate-clk";
299 clocks = <&mainclk>, <&per_base_clk>;
300 div-reg = <0x64 7 3>;
301 clk-gate = <0x60 3>;
302 };
303
304 dbg_at_clk: dbg_at_clk {
305 #clock-cells = <0>;
306 compatible = "altr,socfpga-gate-clk";
307 clocks = <&dbg_base_clk>;
308 div-reg = <0x68 0 2>;
309 clk-gate = <0x60 4>;
310 };
311
312 dbg_clk: dbg_clk {
313 #clock-cells = <0>;
314 compatible = "altr,socfpga-gate-clk";
315 clocks = <&dbg_base_clk>;
316 div-reg = <0x68 2 2>;
317 clk-gate = <0x60 5>;
318 };
319
320 dbg_trace_clk: dbg_trace_clk {
321 #clock-cells = <0>;
322 compatible = "altr,socfpga-gate-clk";
323 clocks = <&dbg_base_clk>;
324 div-reg = <0x6C 0 3>;
325 clk-gate = <0x60 6>;
326 };
327
328 dbg_timer_clk: dbg_timer_clk {
329 #clock-cells = <0>;
330 compatible = "altr,socfpga-gate-clk";
331 clocks = <&dbg_base_clk>;
332 clk-gate = <0x60 7>;
333 };
334
335 cfg_clk: cfg_clk {
336 #clock-cells = <0>;
337 compatible = "altr,socfpga-gate-clk";
338 clocks = <&cfg_s2f_usr0_clk>;
339 clk-gate = <0x60 8>;
340 };
341
342 s2f_user0_clk: s2f_user0_clk {
343 #clock-cells = <0>;
344 compatible = "altr,socfpga-gate-clk";
345 clocks = <&cfg_s2f_usr0_clk>;
346 clk-gate = <0x60 9>;
347 };
348
349 emac_0_clk: emac_0_clk {
350 #clock-cells = <0>;
351 compatible = "altr,socfpga-gate-clk";
352 clocks = <&emac0_clk>;
353 clk-gate = <0xa0 0>;
354 };
355
356 emac_1_clk: emac_1_clk {
357 #clock-cells = <0>;
358 compatible = "altr,socfpga-gate-clk";
359 clocks = <&emac1_clk>;
360 clk-gate = <0xa0 1>;
361 };
362
363 usb_mp_clk: usb_mp_clk {
364 #clock-cells = <0>;
365 compatible = "altr,socfpga-gate-clk";
366 clocks = <&per_base_clk>;
367 clk-gate = <0xa0 2>;
368 div-reg = <0xa4 0 3>;
369 };
370
371 spi_m_clk: spi_m_clk {
372 #clock-cells = <0>;
373 compatible = "altr,socfpga-gate-clk";
374 clocks = <&per_base_clk>;
375 clk-gate = <0xa0 3>;
376 div-reg = <0xa4 3 3>;
377 };
378
379 can0_clk: can0_clk {
380 #clock-cells = <0>;
381 compatible = "altr,socfpga-gate-clk";
382 clocks = <&per_base_clk>;
383 clk-gate = <0xa0 4>;
384 div-reg = <0xa4 6 3>;
385 };
386
387 can1_clk: can1_clk {
388 #clock-cells = <0>;
389 compatible = "altr,socfpga-gate-clk";
390 clocks = <&per_base_clk>;
391 clk-gate = <0xa0 5>;
392 div-reg = <0xa4 9 3>;
393 };
394
395 gpio_db_clk: gpio_db_clk {
396 #clock-cells = <0>;
397 compatible = "altr,socfpga-gate-clk";
398 clocks = <&per_base_clk>;
399 clk-gate = <0xa0 6>;
400 div-reg = <0xa8 0 24>;
401 };
402
403 s2f_user1_clk: s2f_user1_clk {
404 #clock-cells = <0>;
405 compatible = "altr,socfpga-gate-clk";
406 clocks = <&s2f_usr1_clk>;
407 clk-gate = <0xa0 7>;
408 };
409
410 sdmmc_clk: sdmmc_clk {
411 #clock-cells = <0>;
412 compatible = "altr,socfpga-gate-clk";
413 clocks = <&f2s_periph_ref_clk>, <&main_nand_sdmmc_clk>, <&per_nand_mmc_clk>;
414 clk-gate = <0xa0 8>;
415 };
416
417 nand_x_clk: nand_x_clk {
418 #clock-cells = <0>;
419 compatible = "altr,socfpga-gate-clk";
420 clocks = <&f2s_periph_ref_clk>, <&main_nand_sdmmc_clk>, <&per_nand_mmc_clk>;
421 clk-gate = <0xa0 9>;
422 };
423
424 nand_clk: nand_clk {
425 #clock-cells = <0>;
426 compatible = "altr,socfpga-gate-clk";
427 clocks = <&f2s_periph_ref_clk>, <&main_nand_sdmmc_clk>, <&per_nand_mmc_clk>;
428 clk-gate = <0xa0 10>;
429 fixed-divider = <4>;
430 };
431
432 qspi_clk: qspi_clk {
433 #clock-cells = <0>;
434 compatible = "altr,socfpga-gate-clk";
435 clocks = <&f2s_periph_ref_clk>, <&main_qspi_clk>, <&per_qspi_clk>;
436 clk-gate = <0xa0 11>;
437 };
238 }; 438 };
239 }; 439 };
240 440
241 gmac0: stmmac@ff700000 { 441 gmac0: ethernet@ff700000 {
242 compatible = "altr,socfpga-stmmac", "snps,dwmac-3.70a", "snps,dwmac"; 442 compatible = "altr,socfpga-stmmac", "snps,dwmac-3.70a", "snps,dwmac";
243 reg = <0xff700000 0x2000>; 443 reg = <0xff700000 0x2000>;
244 interrupts = <0 115 4>; 444 interrupts = <0 115 4>;
245 interrupt-names = "macirq"; 445 interrupt-names = "macirq";
246 mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */ 446 mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */
247 phy-mode = "gmii"; 447 clocks = <&emac0_clk>;
448 clock-names = "stmmaceth";
449 status = "disabled";
450 };
451
452 gmac1: ethernet@ff702000 {
453 compatible = "altr,socfpga-stmmac", "snps,dwmac-3.70a", "snps,dwmac";
454 reg = <0xff702000 0x2000>;
455 interrupts = <0 120 4>;
456 interrupt-names = "macirq";
457 mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */
458 clocks = <&emac1_clk>;
459 clock-names = "stmmaceth";
460 status = "disabled";
248 }; 461 };
249 462
250 L2: l2-cache@fffef000 { 463 L2: l2-cache@fffef000 {
diff --git a/arch/arm/boot/dts/socfpga_cyclone5.dts b/arch/arm/boot/dts/socfpga_cyclone5.dts
index 2495958f1016..973999d2c697 100644
--- a/arch/arm/boot/dts/socfpga_cyclone5.dts
+++ b/arch/arm/boot/dts/socfpga_cyclone5.dts
@@ -32,6 +32,13 @@
32 reg = <0x0 0x40000000>; /* 1GB */ 32 reg = <0x0 0x40000000>; /* 1GB */
33 }; 33 };
34 34
35 aliases {
36 /* this allow the ethaddr uboot environmnet variable contents
37 * to be added to the gmac1 device tree blob.
38 */
39 ethernet0 = &gmac1;
40 };
41
35 soc { 42 soc {
36 clkmgr@ffd04000 { 43 clkmgr@ffd04000 {
37 clocks { 44 clocks {
@@ -41,6 +48,12 @@
41 }; 48 };
42 }; 49 };
43 50
51 ethernet@ff702000 {
52 phy-mode = "rgmii";
53 phy-addr = <0xffffffff>; /* probe for phy addr */
54 status = "okay";
55 };
56
44 timer0@ffc08000 { 57 timer0@ffc08000 {
45 clock-frequency = <100000000>; 58 clock-frequency = <100000000>;
46 }; 59 };
diff --git a/arch/arm/boot/dts/socfpga_vt.dts b/arch/arm/boot/dts/socfpga_vt.dts
index 0bf035d607f0..d1ec0cab2dee 100644
--- a/arch/arm/boot/dts/socfpga_vt.dts
+++ b/arch/arm/boot/dts/socfpga_vt.dts
@@ -41,6 +41,11 @@
41 }; 41 };
42 }; 42 };
43 43
44 ethernet@ff700000 {
45 phy-mode = "gmii";
46 status = "okay";
47 };
48
44 timer0@ffc08000 { 49 timer0@ffc08000 {
45 clock-frequency = <7000000>; 50 clock-frequency = <7000000>;
46 }; 51 };
diff --git a/arch/arm/boot/dts/spear13xx.dtsi b/arch/arm/boot/dts/spear13xx.dtsi
index 45597fd91050..4382547df58a 100644
--- a/arch/arm/boot/dts/spear13xx.dtsi
+++ b/arch/arm/boot/dts/spear13xx.dtsi
@@ -22,12 +22,14 @@
22 22
23 cpu@0 { 23 cpu@0 {
24 compatible = "arm,cortex-a9"; 24 compatible = "arm,cortex-a9";
25 device_type = "cpu";
25 reg = <0>; 26 reg = <0>;
26 next-level-cache = <&L2>; 27 next-level-cache = <&L2>;
27 }; 28 };
28 29
29 cpu@1 { 30 cpu@1 {
30 compatible = "arm,cortex-a9"; 31 compatible = "arm,cortex-a9";
32 device_type = "cpu";
31 reg = <1>; 33 reg = <1>;
32 next-level-cache = <&L2>; 34 next-level-cache = <&L2>;
33 }; 35 };
diff --git a/arch/arm/boot/dts/spear3xx.dtsi b/arch/arm/boot/dts/spear3xx.dtsi
index c2a852d43c48..f0e3fcf8e323 100644
--- a/arch/arm/boot/dts/spear3xx.dtsi
+++ b/arch/arm/boot/dts/spear3xx.dtsi
@@ -17,8 +17,12 @@
17 interrupt-parent = <&vic>; 17 interrupt-parent = <&vic>;
18 18
19 cpus { 19 cpus {
20 cpu@0 { 20 #address-cells = <0>;
21 compatible = "arm,arm926ejs"; 21 #size-cells = <0>;
22
23 cpu {
24 compatible = "arm,arm926ej-s";
25 device_type = "cpu";
22 }; 26 };
23 }; 27 };
24 28
diff --git a/arch/arm/boot/dts/spear600.dtsi b/arch/arm/boot/dts/spear600.dtsi
index 19f99dc4115e..9f60a7b6a42b 100644
--- a/arch/arm/boot/dts/spear600.dtsi
+++ b/arch/arm/boot/dts/spear600.dtsi
@@ -15,8 +15,12 @@
15 compatible = "st,spear600"; 15 compatible = "st,spear600";
16 16
17 cpus { 17 cpus {
18 cpu@0 { 18 #address-cells = <0>;
19 compatible = "arm,arm926ejs"; 19 #size-cells = <0>;
20
21 cpu {
22 compatible = "arm,arm926ej-s";
23 device_type = "cpu";
20 }; 24 };
21 }; 25 };
22 26
diff --git a/arch/arm/boot/dts/ste-nomadik-s8815.dts b/arch/arm/boot/dts/ste-nomadik-s8815.dts
index 6f82d9368948..f4dfda7db366 100644
--- a/arch/arm/boot/dts/ste-nomadik-s8815.dts
+++ b/arch/arm/boot/dts/ste-nomadik-s8815.dts
@@ -22,6 +22,43 @@
22 }; 22 };
23 }; 23 };
24 24
25 pinctrl {
26 /* Hog CD pins */
27 pinctrl-names = "default";
28 pinctrl-0 = <&cd_default_mode>;
29
30 mmcsd-cd {
31 cd_default_mode: cd_default {
32 cd_default_cfg1 {
33 /* CD input GPIO */
34 ste,pins = "GPIO111_H21";
35 ste,input = <0>;
36 };
37 cd_default_cfg2 {
38 /* CD GPIO biasing */
39 ste,pins = "GPIO112_J21";
40 ste,output = <0>;
41 };
42 };
43 };
44 user-led {
45 user_led_default_mode: user_led_default {
46 user_led_default_cfg {
47 ste,pins = "GPIO2_C5";
48 ste,output = <1>;
49 };
50 };
51 };
52 user-button {
53 user_button_default_mode: user_button_default {
54 user_button_default_cfg {
55 ste,pins = "GPIO3_A4";
56 ste,input = <0>;
57 };
58 };
59 };
60 };
61
25 /* Custom board node with GPIO pins to active etc */ 62 /* Custom board node with GPIO pins to active etc */
26 usb-s8815 { 63 usb-s8815 {
27 /* The S8815 is using this very GPIO pin for the SMSC91x IRQs */ 64 /* The S8815 is using this very GPIO pin for the SMSC91x IRQs */
@@ -33,4 +70,30 @@
33 gpios = <&gpio3 16 0x1>; 70 gpios = <&gpio3 16 0x1>;
34 }; 71 };
35 }; 72 };
73
74 /* The user LED on the board is set up to be used for heartbeat */
75 leds {
76 compatible = "gpio-leds";
77 user-led {
78 label = "user_led";
79 gpios = <&gpio0 2 0x1>;
80 default-state = "off";
81 linux,default-trigger = "heartbeat";
82 pinctrl-names = "default";
83 pinctrl-0 = <&user_led_default_mode>;
84 };
85 };
86
87 /* User key mapped in as "escape" */
88 gpio-keys {
89 compatible = "gpio-keys";
90 user-button {
91 label = "user_button";
92 gpios = <&gpio0 3 0x1>;
93 linux,code = <1>; /* KEY_ESC */
94 gpio-key,wakeup;
95 pinctrl-names = "default";
96 pinctrl-0 = <&user_button_default_mode>;
97 };
98 };
36}; 99};
diff --git a/arch/arm/boot/dts/ste-nomadik-stn8815.dtsi b/arch/arm/boot/dts/ste-nomadik-stn8815.dtsi
index 4a4aab395141..615da8798a0d 100644
--- a/arch/arm/boot/dts/ste-nomadik-stn8815.dtsi
+++ b/arch/arm/boot/dts/ste-nomadik-stn8815.dtsi
@@ -21,18 +21,23 @@
21 cache-level = <2>; 21 cache-level = <2>;
22 }; 22 };
23 23
24 mtu0 { 24 mtu0: mtu@101e2000 {
25 /* Nomadik system timer */ 25 /* Nomadik system timer */
26 compatible = "st,nomadik-mtu";
26 reg = <0x101e2000 0x1000>; 27 reg = <0x101e2000 0x1000>;
27 interrupt-parent = <&vica>; 28 interrupt-parent = <&vica>;
28 interrupts = <4>; 29 interrupts = <4>;
30 clocks = <&timclk>, <&pclk>;
31 clock-names = "timclk", "apb_pclk";
29 }; 32 };
30 33
31 mtu1 { 34 mtu1: mtu@101e3000 {
32 /* Secondary timer */ 35 /* Secondary timer */
33 reg = <0x101e3000 0x1000>; 36 reg = <0x101e3000 0x1000>;
34 interrupt-parent = <&vica>; 37 interrupt-parent = <&vica>;
35 interrupts = <5>; 38 interrupts = <5>;
39 clocks = <&timclk>, <&pclk>;
40 clock-names = "timclk", "apb_pclk";
36 }; 41 };
37 42
38 gpio0: gpio@101e4000 { 43 gpio0: gpio@101e4000 {
@@ -45,6 +50,7 @@
45 gpio-controller; 50 gpio-controller;
46 #gpio-cells = <2>; 51 #gpio-cells = <2>;
47 gpio-bank = <0>; 52 gpio-bank = <0>;
53 clocks = <&pclk>;
48 }; 54 };
49 55
50 gpio1: gpio@101e5000 { 56 gpio1: gpio@101e5000 {
@@ -57,6 +63,7 @@
57 gpio-controller; 63 gpio-controller;
58 #gpio-cells = <2>; 64 #gpio-cells = <2>;
59 gpio-bank = <1>; 65 gpio-bank = <1>;
66 clocks = <&pclk>;
60 }; 67 };
61 68
62 gpio2: gpio@101e6000 { 69 gpio2: gpio@101e6000 {
@@ -69,6 +76,7 @@
69 gpio-controller; 76 gpio-controller;
70 #gpio-cells = <2>; 77 #gpio-cells = <2>;
71 gpio-bank = <2>; 78 gpio-bank = <2>;
79 clocks = <&pclk>;
72 }; 80 };
73 81
74 gpio3: gpio@101e7000 { 82 gpio3: gpio@101e7000 {
@@ -81,10 +89,117 @@
81 gpio-controller; 89 gpio-controller;
82 #gpio-cells = <2>; 90 #gpio-cells = <2>;
83 gpio-bank = <3>; 91 gpio-bank = <3>;
92 clocks = <&pclk>;
84 }; 93 };
85 94
86 pinctrl { 95 pinctrl {
87 compatible = "stericsson,nmk-pinctrl-stn8815"; 96 compatible = "stericsson,nmk-pinctrl-stn8815";
97 /* Pin configurations */
98 uart0 {
99 uart0_default_mux: uart0_mux {
100 u0_default_mux {
101 ste,function = "u0";
102 ste,pins = "u0_a_1";
103 };
104 };
105 };
106 uart1 {
107 uart1_default_mux: uart1_mux {
108 u1_default_mux {
109 ste,function = "u1";
110 ste,pins = "u1_a_1";
111 };
112 };
113 };
114 mmcsd {
115 mmcsd_default_mux: mmcsd_mux {
116 mmcsd_default_mux {
117 ste,function = "mmcsd";
118 ste,pins = "mmcsd_a_1";
119 };
120 };
121 mmcsd_default_mode: mmcsd_default {
122 mmcsd_default_cfg1 {
123 /* MCCLK */
124 ste,pins = "GPIO8_B10";
125 ste,output = <0>;
126 };
127 mmcsd_default_cfg2 {
128 /* MCCMDDIR, MCDAT0DIR, MCDAT31DIR */
129 ste,pins = "GPIO10_C11", "GPIO15_A12",
130 "GPIO16_C13";
131 ste,output = <1>;
132 };
133 mmcsd_default_cfg3 {
134 /* MCCMD, MCDAT3-0, MCMSFBCLK */
135 ste,pins = "GPIO9_A10", "GPIO11_B11",
136 "GPIO12_A11", "GPIO13_C12",
137 "GPIO14_B12", "GPIO24_C15";
138 ste,input = <1>;
139 };
140 };
141 };
142 i2c0 {
143 i2c0_default_mode: i2c0_default {
144 i2c0_default_cfg {
145 ste,pins = "GPIO62_D3", "GPIO63_D2";
146 ste,input = <1>;
147 };
148 };
149 };
150 i2c1 {
151 i2c1_default_mode: i2c1_default {
152 i2c1_default_cfg {
153 ste,pins = "GPIO53_L4", "GPIO54_L3";
154 ste,input = <1>;
155 };
156 };
157 };
158 i2c2 {
159 i2c2_default_mode: i2c2_default {
160 i2c2_default_cfg {
161 ste,pins = "GPIO73_C21", "GPIO74_C20";
162 ste,input = <1>;
163 };
164 };
165 };
166 };
167
168 src: src@101e0000 {
169 compatible = "stericsson,nomadik-src";
170 reg = <0x101e0000 0x1000>;
171 clocks {
172 /*
173 * Dummy clock for primecells
174 */
175 pclk: pclk@0 {
176 #clock-cells = <0>;
177 compatible = "fixed-clock";
178 clock-frequency = <0>;
179 };
180 /*
181 * The 2.4 MHz TIMCLK reference clock is active at
182 * boot time, this is actually the MXTALCLK @19.2 MHz
183 * divided by 8. This clock is used by the timers and
184 * watchdog. See page 105 ff.
185 */
186 timclk: timclk@2.4M {
187 #clock-cells = <0>;
188 compatible = "fixed-clock";
189 clock-frequency = <2400000>;
190 };
191 /*
192 * At boot time, PLL2 is set to generate a set of
193 * fixed clocks, one of them is CLK48, the 48 MHz
194 * clock, routed to the UART, MMC/SD, I2C, IrDA,
195 * USB and SSP blocks.
196 */
197 clk48: clk48@48M {
198 #clock-cells = <0>;
199 compatible = "fixed-clock";
200 clock-frequency = <48000000>;
201 };
202 };
88 }; 203 };
89 204
90 /* A NAND flash of 128 MiB */ 205 /* A NAND flash of 128 MiB */
@@ -97,6 +212,7 @@
97 <0x41000000 0x2000>, /* NAND Base ADDR */ 212 <0x41000000 0x2000>, /* NAND Base ADDR */
98 <0x40800000 0x2000>; /* NAND Base CMD */ 213 <0x40800000 0x2000>; /* NAND Base CMD */
99 reg-names = "fsmc_regs", "nand_data", "nand_addr", "nand_cmd"; 214 reg-names = "fsmc_regs", "nand_data", "nand_addr", "nand_cmd";
215 clocks = <&pclk>;
100 status = "okay"; 216 status = "okay";
101 217
102 partition@0 { 218 partition@0 {
@@ -144,6 +260,8 @@
144 <&gpio1 30 0>; /* scl */ 260 <&gpio1 30 0>; /* scl */
145 #address-cells = <1>; 261 #address-cells = <1>;
146 #size-cells = <0>; 262 #size-cells = <0>;
263 pinctrl-names = "default";
264 pinctrl-0 = <&i2c0_default_mode>;
147 265
148 stw4811@2d { 266 stw4811@2d {
149 compatible = "st,stw4811"; 267 compatible = "st,stw4811";
@@ -158,6 +276,8 @@
158 <&gpio1 21 0>; /* scl */ 276 <&gpio1 21 0>; /* scl */
159 #address-cells = <1>; 277 #address-cells = <1>;
160 #size-cells = <0>; 278 #size-cells = <0>;
279 pinctrl-names = "default";
280 pinctrl-0 = <&i2c1_default_mode>;
161 281
162 camera@2d { 282 camera@2d {
163 compatible = "st,camera"; 283 compatible = "st,camera";
@@ -180,6 +300,9 @@
180 <&gpio2 9 0>; /* scl */ 300 <&gpio2 9 0>; /* scl */
181 #address-cells = <1>; 301 #address-cells = <1>;
182 #size-cells = <0>; 302 #size-cells = <0>;
303 pinctrl-names = "default";
304 pinctrl-0 = <&i2c2_default_mode>;
305
183 stw4811@2d { 306 stw4811@2d {
184 compatible = "st,stw4811-usb"; 307 compatible = "st,stw4811-usb";
185 reg = <0x2d>; 308 reg = <0x2d>;
@@ -211,6 +334,10 @@
211 reg = <0x101fd000 0x1000>; 334 reg = <0x101fd000 0x1000>;
212 interrupt-parent = <&vica>; 335 interrupt-parent = <&vica>;
213 interrupts = <12>; 336 interrupts = <12>;
337 clocks = <&clk48>, <&pclk>;
338 clock-names = "uartclk", "apb_pclk";
339 pinctrl-names = "default";
340 pinctrl-0 = <&uart0_default_mux>;
214 }; 341 };
215 342
216 uart1: uart@101fb000 { 343 uart1: uart@101fb000 {
@@ -218,6 +345,10 @@
218 reg = <0x101fb000 0x1000>; 345 reg = <0x101fb000 0x1000>;
219 interrupt-parent = <&vica>; 346 interrupt-parent = <&vica>;
220 interrupts = <17>; 347 interrupts = <17>;
348 clocks = <&clk48>, <&pclk>;
349 clock-names = "uartclk", "apb_pclk";
350 pinctrl-names = "default";
351 pinctrl-0 = <&uart1_default_mux>;
221 }; 352 };
222 353
223 uart2: uart@101f2000 { 354 uart2: uart@101f2000 {
@@ -225,17 +356,23 @@
225 reg = <0x101f2000 0x1000>; 356 reg = <0x101f2000 0x1000>;
226 interrupt-parent = <&vica>; 357 interrupt-parent = <&vica>;
227 interrupts = <28>; 358 interrupts = <28>;
359 clocks = <&clk48>, <&pclk>;
360 clock-names = "uartclk", "apb_pclk";
228 status = "disabled"; 361 status = "disabled";
229 }; 362 };
230 363
231 rng: rng@101b0000 { 364 rng: rng@101b0000 {
232 compatible = "arm,primecell"; 365 compatible = "arm,primecell";
233 reg = <0x101b0000 0x1000>; 366 reg = <0x101b0000 0x1000>;
367 clocks = <&clk48>, <&pclk>;
368 clock-names = "rng", "apb_pclk";
234 }; 369 };
235 370
236 rtc: rtc@101e8000 { 371 rtc: rtc@101e8000 {
237 compatible = "arm,pl031", "arm,primecell"; 372 compatible = "arm,pl031", "arm,primecell";
238 reg = <0x101e8000 0x1000>; 373 reg = <0x101e8000 0x1000>;
374 clocks = <&pclk>;
375 clock-names = "apb_pclk";
239 interrupt-parent = <&vica>; 376 interrupt-parent = <&vica>;
240 interrupts = <10>; 377 interrupts = <10>;
241 }; 378 };
@@ -243,6 +380,8 @@
243 mmcsd: sdi@101f6000 { 380 mmcsd: sdi@101f6000 {
244 compatible = "arm,pl18x", "arm,primecell"; 381 compatible = "arm,pl18x", "arm,primecell";
245 reg = <0x101f6000 0x1000>; 382 reg = <0x101f6000 0x1000>;
383 clocks = <&clk48>, <&pclk>;
384 clock-names = "mclk", "apb_pclk";
246 interrupt-parent = <&vica>; 385 interrupt-parent = <&vica>;
247 interrupts = <22>; 386 interrupts = <22>;
248 max-frequency = <48000000>; 387 max-frequency = <48000000>;
@@ -251,6 +390,8 @@
251 mmc-cap-sd-highspeed; 390 mmc-cap-sd-highspeed;
252 cd-gpios = <&gpio3 15 0x1>; 391 cd-gpios = <&gpio3 15 0x1>;
253 cd-inverted; 392 cd-inverted;
393 pinctrl-names = "default";
394 pinctrl-0 = <&mmcsd_default_mux>, <&mmcsd_default_mode>;
254 }; 395 };
255 }; 396 };
256}; 397};
diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
index e7ef619a70a2..06ef8b625dba 100644
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
@@ -16,8 +16,12 @@
16 interrupt-parent = <&intc>; 16 interrupt-parent = <&intc>;
17 17
18 cpus { 18 cpus {
19 #address-cells = <1>;
20 #size-cells = <0>;
19 cpu@0 { 21 cpu@0 {
22 device_type = "cpu";
20 compatible = "arm,cortex-a8"; 23 compatible = "arm,cortex-a8";
24 reg = <0x0>;
21 }; 25 };
22 }; 26 };
23 27
diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi
index 31fa38f8cc98..d2852547b572 100644
--- a/arch/arm/boot/dts/sun5i-a13.dtsi
+++ b/arch/arm/boot/dts/sun5i-a13.dtsi
@@ -17,8 +17,12 @@
17 interrupt-parent = <&intc>; 17 interrupt-parent = <&intc>;
18 18
19 cpus { 19 cpus {
20 #address-cells = <1>;
21 #size-cells = <0>;
20 cpu@0 { 22 cpu@0 {
23 device_type = "cpu";
21 compatible = "arm,cortex-a8"; 24 compatible = "arm,cortex-a8";
25 reg = <0x0>;
22 }; 26 };
23 }; 27 };
24 28
diff --git a/arch/arm/boot/dts/tny_a9260.dts b/arch/arm/boot/dts/tny_a9260.dts
index 367a16dcd5ef..dabe232216b4 100644
--- a/arch/arm/boot/dts/tny_a9260.dts
+++ b/arch/arm/boot/dts/tny_a9260.dts
@@ -6,8 +6,8 @@
6 * Licensed under GPLv2. 6 * Licensed under GPLv2.
7 */ 7 */
8/dts-v1/; 8/dts-v1/;
9/include/ "at91sam9260.dtsi" 9#include "at91sam9260.dtsi"
10/include/ "tny_a9260_common.dtsi" 10#include "tny_a9260_common.dtsi"
11 11
12/ { 12/ {
13 model = "Calao TNY A9260"; 13 model = "Calao TNY A9260";
diff --git a/arch/arm/boot/dts/tny_a9263.dts b/arch/arm/boot/dts/tny_a9263.dts
index dee9c571306b..0751a6a979a8 100644
--- a/arch/arm/boot/dts/tny_a9263.dts
+++ b/arch/arm/boot/dts/tny_a9263.dts
@@ -6,7 +6,7 @@
6 * Licensed under GPLv2 only 6 * Licensed under GPLv2 only
7 */ 7 */
8/dts-v1/; 8/dts-v1/;
9/include/ "at91sam9263.dtsi" 9#include "at91sam9263.dtsi"
10 10
11/ { 11/ {
12 model = "Calao TNY A9263"; 12 model = "Calao TNY A9263";
@@ -38,7 +38,7 @@
38 }; 38 };
39 39
40 usb1: gadget@fff78000 { 40 usb1: gadget@fff78000 {
41 atmel,vbus-gpio = <&pioB 11 0>; 41 atmel,vbus-gpio = <&pioB 11 GPIO_ACTIVE_HIGH>;
42 status = "okay"; 42 status = "okay";
43 }; 43 };
44 }; 44 };
diff --git a/arch/arm/boot/dts/tny_a9g20.dts b/arch/arm/boot/dts/tny_a9g20.dts
index e1ab64c72dba..8456d70bb42b 100644
--- a/arch/arm/boot/dts/tny_a9g20.dts
+++ b/arch/arm/boot/dts/tny_a9g20.dts
@@ -6,8 +6,8 @@
6 * Licensed under GPLv2. 6 * Licensed under GPLv2.
7 */ 7 */
8/dts-v1/; 8/dts-v1/;
9/include/ "at91sam9g20.dtsi" 9#include "at91sam9g20.dtsi"
10/include/ "tny_a9260_common.dtsi" 10#include "tny_a9260_common.dtsi"
11 11
12/ { 12/ {
13 model = "Calao TNY A9G20"; 13 model = "Calao TNY A9G20";
diff --git a/arch/arm/boot/dts/usb_a9260.dts b/arch/arm/boot/dts/usb_a9260.dts
index 296216058c11..de0c24f5210a 100644
--- a/arch/arm/boot/dts/usb_a9260.dts
+++ b/arch/arm/boot/dts/usb_a9260.dts
@@ -6,8 +6,8 @@
6 * Licensed under GPLv2 or later. 6 * Licensed under GPLv2 or later.
7 */ 7 */
8/dts-v1/; 8/dts-v1/;
9/include/ "at91sam9260.dtsi" 9#include "at91sam9260.dtsi"
10/include/ "usb_a9260_common.dtsi" 10#include "usb_a9260_common.dtsi"
11 11
12/ { 12/ {
13 model = "Calao USB A9260"; 13 model = "Calao USB A9260";
@@ -20,4 +20,13 @@
20 memory { 20 memory {
21 reg = <0x20000000 0x4000000>; 21 reg = <0x20000000 0x4000000>;
22 }; 22 };
23
24 ahb {
25 apb {
26 shdwc@fffffd10 {
27 atmel,wakeup-counter = <10>;
28 atmel,wakeup-rtt-timer;
29 };
30 };
31 };
23}; 32};
diff --git a/arch/arm/boot/dts/usb_a9260_common.dtsi b/arch/arm/boot/dts/usb_a9260_common.dtsi
index e70d229baef5..285977682cf3 100644
--- a/arch/arm/boot/dts/usb_a9260_common.dtsi
+++ b/arch/arm/boot/dts/usb_a9260_common.dtsi
@@ -30,7 +30,7 @@
30 }; 30 };
31 31
32 usb1: gadget@fffa4000 { 32 usb1: gadget@fffa4000 {
33 atmel,vbus-gpio = <&pioC 5 0>; 33 atmel,vbus-gpio = <&pioC 5 GPIO_ACTIVE_HIGH>;
34 status = "okay"; 34 status = "okay";
35 }; 35 };
36 }; 36 };
@@ -93,7 +93,7 @@
93 93
94 user_led { 94 user_led {
95 label = "user_led"; 95 label = "user_led";
96 gpios = <&pioB 21 1>; 96 gpios = <&pioB 21 GPIO_ACTIVE_LOW>;
97 linux,default-trigger = "heartbeat"; 97 linux,default-trigger = "heartbeat";
98 }; 98 };
99 }; 99 };
@@ -105,7 +105,7 @@
105 105
106 user_pb { 106 user_pb {
107 label = "user_pb"; 107 label = "user_pb";
108 gpios = <&pioB 10 1>; 108 gpios = <&pioB 10 GPIO_ACTIVE_LOW>;
109 linux,code = <28>; 109 linux,code = <28>;
110 gpio-key,wakeup; 110 gpio-key,wakeup;
111 }; 111 };
diff --git a/arch/arm/boot/dts/usb_a9263.dts b/arch/arm/boot/dts/usb_a9263.dts
index 6fe05ccb6203..290e60383baf 100644
--- a/arch/arm/boot/dts/usb_a9263.dts
+++ b/arch/arm/boot/dts/usb_a9263.dts
@@ -6,7 +6,7 @@
6 * Licensed under GPLv2 only 6 * Licensed under GPLv2 only
7 */ 7 */
8/dts-v1/; 8/dts-v1/;
9/include/ "at91sam9263.dtsi" 9#include "at91sam9263.dtsi"
10 10
11/ { 11/ {
12 model = "Calao USB A9263"; 12 model = "Calao USB A9263";
@@ -43,10 +43,24 @@
43 }; 43 };
44 44
45 usb1: gadget@fff78000 { 45 usb1: gadget@fff78000 {
46 atmel,vbus-gpio = <&pioB 11 0>; 46 atmel,vbus-gpio = <&pioB 11 GPIO_ACTIVE_HIGH>;
47 status = "okay"; 47 status = "okay";
48 }; 48 };
49 49
50 spi0: spi@fffa4000 {
51 cs-gpios = <&pioB 15 GPIO_ACTIVE_HIGH>;
52 status = "okay";
53 mtd_dataflash@0 {
54 compatible = "atmel,at45", "atmel,dataflash";
55 reg = <0>;
56 spi-max-frequency = <15000000>;
57 };
58 };
59
60 shdwc@fffffd10 {
61 atmel,wakeup-counter = <10>;
62 atmel,wakeup-rtt-timer;
63 };
50 }; 64 };
51 65
52 nand0: nand@40000000 { 66 nand0: nand@40000000 {
@@ -107,7 +121,7 @@
107 121
108 user_led { 122 user_led {
109 label = "user_led"; 123 label = "user_led";
110 gpios = <&pioB 21 0>; 124 gpios = <&pioB 21 GPIO_ACTIVE_HIGH>;
111 linux,default-trigger = "heartbeat"; 125 linux,default-trigger = "heartbeat";
112 }; 126 };
113 }; 127 };
@@ -119,7 +133,7 @@
119 133
120 user_pb { 134 user_pb {
121 label = "user_pb"; 135 label = "user_pb";
122 gpios = <&pioB 10 1>; 136 gpios = <&pioB 10 GPIO_ACTIVE_LOW>;
123 linux,code = <28>; 137 linux,code = <28>;
124 gpio-key,wakeup; 138 gpio-key,wakeup;
125 }; 139 };
diff --git a/arch/arm/boot/dts/usb_a9g20-dab-mmx.dtsi b/arch/arm/boot/dts/usb_a9g20-dab-mmx.dtsi
index ad3eca17c436..5b0ffc1a0b24 100644
--- a/arch/arm/boot/dts/usb_a9g20-dab-mmx.dtsi
+++ b/arch/arm/boot/dts/usb_a9g20-dab-mmx.dtsi
@@ -28,39 +28,39 @@
28 28
29 user_led1 { 29 user_led1 {
30 label = "user_led1"; 30 label = "user_led1";
31 gpios = <&pioB 20 1>; 31 gpios = <&pioB 20 GPIO_ACTIVE_LOW>;
32 }; 32 };
33 33
34/* 34/*
35* led already used by mother board but active as high 35* led already used by mother board but active as high
36* user_led2 { 36* user_led2 {
37* label = "user_led2"; 37* label = "user_led2";
38* gpios = <&pioB 21 1>; 38* gpios = <&pioB 21 GPIO_ACTIVE_LOW>;
39* }; 39* };
40*/ 40*/
41 user_led3 { 41 user_led3 {
42 label = "user_led3"; 42 label = "user_led3";
43 gpios = <&pioB 22 1>; 43 gpios = <&pioB 22 GPIO_ACTIVE_LOW>;
44 }; 44 };
45 45
46 user_led4 { 46 user_led4 {
47 label = "user_led4"; 47 label = "user_led4";
48 gpios = <&pioB 23 1>; 48 gpios = <&pioB 23 GPIO_ACTIVE_LOW>;
49 }; 49 };
50 50
51 red { 51 red {
52 label = "red"; 52 label = "red";
53 gpios = <&pioB 24 1>; 53 gpios = <&pioB 24 GPIO_ACTIVE_LOW>;
54 }; 54 };
55 55
56 orange { 56 orange {
57 label = "orange"; 57 label = "orange";
58 gpios = <&pioB 30 1>; 58 gpios = <&pioB 30 GPIO_ACTIVE_LOW>;
59 }; 59 };
60 60
61 green { 61 green {
62 label = "green"; 62 label = "green";
63 gpios = <&pioB 31 1>; 63 gpios = <&pioB 31 GPIO_ACTIVE_LOW>;
64 }; 64 };
65 }; 65 };
66 66
@@ -71,25 +71,25 @@
71 71
72 user_pb1 { 72 user_pb1 {
73 label = "user_pb1"; 73 label = "user_pb1";
74 gpios = <&pioB 25 1>; 74 gpios = <&pioB 25 GPIO_ACTIVE_LOW>;
75 linux,code = <0x100>; 75 linux,code = <0x100>;
76 }; 76 };
77 77
78 user_pb2 { 78 user_pb2 {
79 label = "user_pb2"; 79 label = "user_pb2";
80 gpios = <&pioB 13 1>; 80 gpios = <&pioB 13 GPIO_ACTIVE_LOW>;
81 linux,code = <0x101>; 81 linux,code = <0x101>;
82 }; 82 };
83 83
84 user_pb3 { 84 user_pb3 {
85 label = "user_pb3"; 85 label = "user_pb3";
86 gpios = <&pioA 26 1>; 86 gpios = <&pioA 26 GPIO_ACTIVE_LOW>;
87 linux,code = <0x102>; 87 linux,code = <0x102>;
88 }; 88 };
89 89
90 user_pb4 { 90 user_pb4 {
91 label = "user_pb4"; 91 label = "user_pb4";
92 gpios = <&pioC 9 1>; 92 gpios = <&pioC 9 GPIO_ACTIVE_LOW>;
93 linux,code = <0x103>; 93 linux,code = <0x103>;
94 }; 94 };
95 }; 95 };
diff --git a/arch/arm/boot/dts/usb_a9g20.dts b/arch/arm/boot/dts/usb_a9g20.dts
index 2dacb16ce4ae..ec77cf8f9695 100644
--- a/arch/arm/boot/dts/usb_a9g20.dts
+++ b/arch/arm/boot/dts/usb_a9g20.dts
@@ -6,25 +6,9 @@
6 * Licensed under GPLv2 or later. 6 * Licensed under GPLv2 or later.
7 */ 7 */
8/dts-v1/; 8/dts-v1/;
9/include/ "at91sam9g20.dtsi" 9#include "usb_a9g20_common.dtsi"
10/include/ "usb_a9260_common.dtsi"
11 10
12/ { 11/ {
13 model = "Calao USB A9G20"; 12 model = "Calao USB A9G20";
14 compatible = "calao,usb-a9g20", "atmel,at91sam9g20", "atmel,at91sam9"; 13 compatible = "calao,usb-a9g20", "atmel,at91sam9g20", "atmel,at91sam9";
15
16 chosen {
17 bootargs = "mem=64M console=ttyS0,115200 root=/dev/mtdblock5 rw rootfstype=ubifs";
18 };
19
20 memory {
21 reg = <0x20000000 0x4000000>;
22 };
23
24 i2c@0 {
25 rv3029c2@56 {
26 compatible = "rv3029c2";
27 reg = <0x56>;
28 };
29 };
30}; 14};
diff --git a/arch/arm/boot/dts/usb_a9g20_common.dtsi b/arch/arm/boot/dts/usb_a9g20_common.dtsi
new file mode 100644
index 000000000000..0b3b36182fe5
--- /dev/null
+++ b/arch/arm/boot/dts/usb_a9g20_common.dtsi
@@ -0,0 +1,27 @@
1/*
2 * usb_a9g20.dts - Device Tree file for Caloa USB A9G20 board
3 *
4 * Copyright (C) 2011 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
5 *
6 * Licensed under GPLv2 or later.
7 */
8
9#include "at91sam9g20.dtsi"
10#include "usb_a9260_common.dtsi"
11
12/ {
13 chosen {
14 bootargs = "mem=64M console=ttyS0,115200 root=/dev/mtdblock5 rw rootfstype=ubifs";
15 };
16
17 memory {
18 reg = <0x20000000 0x4000000>;
19 };
20
21 i2c@0 {
22 rv3029c2@56 {
23 compatible = "rv3029c2";
24 reg = <0x56>;
25 };
26 };
27};
diff --git a/arch/arm/boot/dts/usb_a9g20_lpw.dts b/arch/arm/boot/dts/usb_a9g20_lpw.dts
new file mode 100644
index 000000000000..f8cb1b9a01c5
--- /dev/null
+++ b/arch/arm/boot/dts/usb_a9g20_lpw.dts
@@ -0,0 +1,31 @@
1/*
2 * usb_a9g20_lpw.dts - Device Tree file for Caloa USB A9G20 Low Power board
3 *
4 * Copyright (C) 2013 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
5 *
6 * Licensed under GPLv2 or later.
7 */
8/dts-v1/;
9#include "usb_a9g20_common.dtsi"
10
11/ {
12 model = "Calao USB A9G20 Low Power";
13 compatible = "calao,usb-a9g20-lpw", "calao,usb-a9g20", "atmel,at91sam9g20", "atmel,at91sam9";
14
15 ahb {
16 apb {
17 spi1: spi@fffcc000 {
18 cs-gpios = <&pioB 3 GPIO_ACTIVE_HIGH>;
19 status = "okay";
20 mmc-slot@0 {
21 compatible = "mmc-spi-slot";
22 reg = <0>;
23 voltage-ranges = <3200 3400>;
24 spi-max-frequency = <25000000>;
25 interrupt-parent = <&pioC>;
26 interrupts = <4 IRQ_TYPE_EDGE_BOTH>;
27 };
28 };
29 };
30 };
31};
diff --git a/arch/arm/boot/dts/vt8500-bv07.dts b/arch/arm/boot/dts/vt8500-bv07.dts
index 877b33afa7ed..87f33310e2bc 100644
--- a/arch/arm/boot/dts/vt8500-bv07.dts
+++ b/arch/arm/boot/dts/vt8500-bv07.dts
@@ -30,3 +30,7 @@
30 }; 30 };
31 }; 31 };
32}; 32};
33
34&uart0 {
35 status = "okay";
36};
diff --git a/arch/arm/boot/dts/vt8500.dtsi b/arch/arm/boot/dts/vt8500.dtsi
index 4a4b96f6827e..51d0e912c8f5 100644
--- a/arch/arm/boot/dts/vt8500.dtsi
+++ b/arch/arm/boot/dts/vt8500.dtsi
@@ -11,6 +11,23 @@
11/ { 11/ {
12 compatible = "via,vt8500"; 12 compatible = "via,vt8500";
13 13
14 cpus {
15 #address-cells = <0>;
16 #size-cells = <0>;
17
18 cpu {
19 device_type = "cpu";
20 compatible = "arm,arm926ej-s";
21 };
22 };
23
24 aliases {
25 serial0 = &uart0;
26 serial1 = &uart1;
27 serial2 = &uart2;
28 serial3 = &uart3;
29 };
30
14 soc { 31 soc {
15 #address-cells = <1>; 32 #address-cells = <1>;
16 #size-cells = <1>; 33 #size-cells = <1>;
@@ -111,32 +128,36 @@
111 reg = <0xd8050400 0x100>; 128 reg = <0xd8050400 0x100>;
112 }; 129 };
113 130
114 uart@d8200000 { 131 uart0: serial@d8200000 {
115 compatible = "via,vt8500-uart"; 132 compatible = "via,vt8500-uart";
116 reg = <0xd8200000 0x1040>; 133 reg = <0xd8200000 0x1040>;
117 interrupts = <32>; 134 interrupts = <32>;
118 clocks = <&clkuart0>; 135 clocks = <&clkuart0>;
136 status = "disabled";
119 }; 137 };
120 138
121 uart@d82b0000 { 139 uart1: serial@d82b0000 {
122 compatible = "via,vt8500-uart"; 140 compatible = "via,vt8500-uart";
123 reg = <0xd82b0000 0x1040>; 141 reg = <0xd82b0000 0x1040>;
124 interrupts = <33>; 142 interrupts = <33>;
125 clocks = <&clkuart1>; 143 clocks = <&clkuart1>;
144 status = "disabled";
126 }; 145 };
127 146
128 uart@d8210000 { 147 uart2: serial@d8210000 {
129 compatible = "via,vt8500-uart"; 148 compatible = "via,vt8500-uart";
130 reg = <0xd8210000 0x1040>; 149 reg = <0xd8210000 0x1040>;
131 interrupts = <47>; 150 interrupts = <47>;
132 clocks = <&clkuart2>; 151 clocks = <&clkuart2>;
152 status = "disabled";
133 }; 153 };
134 154
135 uart@d82c0000 { 155 uart3: serial@d82c0000 {
136 compatible = "via,vt8500-uart"; 156 compatible = "via,vt8500-uart";
137 reg = <0xd82c0000 0x1040>; 157 reg = <0xd82c0000 0x1040>;
138 interrupts = <50>; 158 interrupts = <50>;
139 clocks = <&clkuart3>; 159 clocks = <&clkuart3>;
160 status = "disabled";
140 }; 161 };
141 162
142 rtc@d8100000 { 163 rtc@d8100000 {
diff --git a/arch/arm/boot/dts/wm8505-ref.dts b/arch/arm/boot/dts/wm8505-ref.dts
index edd2cec3d37f..e3e6b9eb09d0 100644
--- a/arch/arm/boot/dts/wm8505-ref.dts
+++ b/arch/arm/boot/dts/wm8505-ref.dts
@@ -30,3 +30,7 @@
30 }; 30 };
31 }; 31 };
32}; 32};
33
34&uart0 {
35 status = "okay";
36};
diff --git a/arch/arm/boot/dts/wm8505.dtsi b/arch/arm/boot/dts/wm8505.dtsi
index b2bf359e852f..a1a854b8a454 100644
--- a/arch/arm/boot/dts/wm8505.dtsi
+++ b/arch/arm/boot/dts/wm8505.dtsi
@@ -12,11 +12,24 @@
12 compatible = "wm,wm8505"; 12 compatible = "wm,wm8505";
13 13
14 cpus { 14 cpus {
15 cpu@0 { 15 #address-cells = <0>;
16 compatible = "arm,arm926ejs"; 16 #size-cells = <0>;
17
18 cpu {
19 device_type = "cpu";
20 compatible = "arm,arm926ej-s";
17 }; 21 };
18 }; 22 };
19 23
24 aliases {
25 serial0 = &uart0;
26 serial1 = &uart1;
27 serial2 = &uart2;
28 serial3 = &uart3;
29 serial4 = &uart4;
30 serial5 = &uart5;
31 };
32
20 soc { 33 soc {
21 #address-cells = <1>; 34 #address-cells = <1>;
22 #size-cells = <1>; 35 #size-cells = <1>;
@@ -68,6 +81,13 @@
68 clock-frequency = <25000000>; 81 clock-frequency = <25000000>;
69 }; 82 };
70 83
84 plla: plla {
85 #clock-cells = <0>;
86 compatible = "via,vt8500-pll-clock";
87 clocks = <&ref25>;
88 reg = <0x200>;
89 };
90
71 pllb: pllb { 91 pllb: pllb {
72 #clock-cells = <0>; 92 #clock-cells = <0>;
73 compatible = "via,vt8500-pll-clock"; 93 compatible = "via,vt8500-pll-clock";
@@ -75,6 +95,48 @@
75 reg = <0x204>; 95 reg = <0x204>;
76 }; 96 };
77 97
98 pllc: pllc {
99 #clock-cells = <0>;
100 compatible = "via,vt8500-pll-clock";
101 clocks = <&ref25>;
102 reg = <0x208>;
103 };
104
105 plld: plld {
106 #clock-cells = <0>;
107 compatible = "via,vt8500-pll-clock";
108 clocks = <&ref25>;
109 reg = <0x20c>;
110 };
111
112 clkarm: arm {
113 #clock-cells = <0>;
114 compatible = "via,vt8500-device-clock";
115 clocks = <&plla>;
116 divisor-reg = <0x300>;
117 };
118
119 clkahb: ahb {
120 #clock-cells = <0>;
121 compatible = "via,vt8500-device-clock";
122 clocks = <&pllb>;
123 divisor-reg = <0x304>;
124 };
125
126 clkapb: apb {
127 #clock-cells = <0>;
128 compatible = "via,vt8500-device-clock";
129 clocks = <&pllb>;
130 divisor-reg = <0x350>;
131 };
132
133 clkddr: ddr {
134 #clock-cells = <0>;
135 compatible = "via,vt8500-device-clock";
136 clocks = <&plld>;
137 divisor-reg = <0x310>;
138 };
139
78 clkuart0: uart0 { 140 clkuart0: uart0 {
79 #clock-cells = <0>; 141 #clock-cells = <0>;
80 compatible = "via,vt8500-device-clock"; 142 compatible = "via,vt8500-device-clock";
@@ -163,46 +225,52 @@
163 reg = <0xd8050400 0x100>; 225 reg = <0xd8050400 0x100>;
164 }; 226 };
165 227
166 uart@d8200000 { 228 uart0: serial@d8200000 {
167 compatible = "via,vt8500-uart"; 229 compatible = "via,vt8500-uart";
168 reg = <0xd8200000 0x1040>; 230 reg = <0xd8200000 0x1040>;
169 interrupts = <32>; 231 interrupts = <32>;
170 clocks = <&clkuart0>; 232 clocks = <&clkuart0>;
233 status = "disabled";
171 }; 234 };
172 235
173 uart@d82b0000 { 236 uart1: serial@d82b0000 {
174 compatible = "via,vt8500-uart"; 237 compatible = "via,vt8500-uart";
175 reg = <0xd82b0000 0x1040>; 238 reg = <0xd82b0000 0x1040>;
176 interrupts = <33>; 239 interrupts = <33>;
177 clocks = <&clkuart1>; 240 clocks = <&clkuart1>;
241 status = "disabled";
178 }; 242 };
179 243
180 uart@d8210000 { 244 uart2: serial@d8210000 {
181 compatible = "via,vt8500-uart"; 245 compatible = "via,vt8500-uart";
182 reg = <0xd8210000 0x1040>; 246 reg = <0xd8210000 0x1040>;
183 interrupts = <47>; 247 interrupts = <47>;
184 clocks = <&clkuart2>; 248 clocks = <&clkuart2>;
249 status = "disabled";
185 }; 250 };
186 251
187 uart@d82c0000 { 252 uart3: serial@d82c0000 {
188 compatible = "via,vt8500-uart"; 253 compatible = "via,vt8500-uart";
189 reg = <0xd82c0000 0x1040>; 254 reg = <0xd82c0000 0x1040>;
190 interrupts = <50>; 255 interrupts = <50>;
191 clocks = <&clkuart3>; 256 clocks = <&clkuart3>;
257 status = "disabled";
192 }; 258 };
193 259
194 uart@d8370000 { 260 uart4: serial@d8370000 {
195 compatible = "via,vt8500-uart"; 261 compatible = "via,vt8500-uart";
196 reg = <0xd8370000 0x1040>; 262 reg = <0xd8370000 0x1040>;
197 interrupts = <31>; 263 interrupts = <31>;
198 clocks = <&clkuart4>; 264 clocks = <&clkuart4>;
265 status = "disabled";
199 }; 266 };
200 267
201 uart@d8380000 { 268 uart5: serial@d8380000 {
202 compatible = "via,vt8500-uart"; 269 compatible = "via,vt8500-uart";
203 reg = <0xd8380000 0x1040>; 270 reg = <0xd8380000 0x1040>;
204 interrupts = <30>; 271 interrupts = <30>;
205 clocks = <&clkuart5>; 272 clocks = <&clkuart5>;
273 status = "disabled";
206 }; 274 };
207 275
208 rtc@d8100000 { 276 rtc@d8100000 {
diff --git a/arch/arm/boot/dts/wm8650-mid.dts b/arch/arm/boot/dts/wm8650-mid.dts
index 61671a0d9ede..dd0d1b602388 100644
--- a/arch/arm/boot/dts/wm8650-mid.dts
+++ b/arch/arm/boot/dts/wm8650-mid.dts
@@ -32,3 +32,6 @@
32 }; 32 };
33}; 33};
34 34
35&uart0 {
36 status = "okay";
37};
diff --git a/arch/arm/boot/dts/wm8650.dtsi b/arch/arm/boot/dts/wm8650.dtsi
index dd8464eeb40d..7525982262ac 100644
--- a/arch/arm/boot/dts/wm8650.dtsi
+++ b/arch/arm/boot/dts/wm8650.dtsi
@@ -11,6 +11,21 @@
11/ { 11/ {
12 compatible = "wm,wm8650"; 12 compatible = "wm,wm8650";
13 13
14 cpus {
15 #address-cells = <0>;
16 #size-cells = <0>;
17
18 cpu {
19 device_type = "cpu";
20 compatible = "arm,arm926ej-s";
21 };
22 };
23
24 aliases {
25 serial0 = &uart0;
26 serial1 = &uart1;
27 };
28
14 soc { 29 soc {
15 #address-cells = <1>; 30 #address-cells = <1>;
16 #size-cells = <1>; 31 #size-cells = <1>;
@@ -77,6 +92,55 @@
77 reg = <0x204>; 92 reg = <0x204>;
78 }; 93 };
79 94
95 pllc: pllc {
96 #clock-cells = <0>;
97 compatible = "wm,wm8650-pll-clock";
98 clocks = <&ref25>;
99 reg = <0x208>;
100 };
101
102 plld: plld {
103 #clock-cells = <0>;
104 compatible = "wm,wm8650-pll-clock";
105 clocks = <&ref25>;
106 reg = <0x20c>;
107 };
108
109 plle: plle {
110 #clock-cells = <0>;
111 compatible = "wm,wm8650-pll-clock";
112 clocks = <&ref25>;
113 reg = <0x210>;
114 };
115
116 clkarm: arm {
117 #clock-cells = <0>;
118 compatible = "via,vt8500-device-clock";
119 clocks = <&plla>;
120 divisor-reg = <0x300>;
121 };
122
123 clkahb: ahb {
124 #clock-cells = <0>;
125 compatible = "via,vt8500-device-clock";
126 clocks = <&pllb>;
127 divisor-reg = <0x304>;
128 };
129
130 clkapb: apb {
131 #clock-cells = <0>;
132 compatible = "via,vt8500-device-clock";
133 clocks = <&pllb>;
134 divisor-reg = <0x320>;
135 };
136
137 clkddr: ddr {
138 #clock-cells = <0>;
139 compatible = "via,vt8500-device-clock";
140 clocks = <&plld>;
141 divisor-reg = <0x310>;
142 };
143
80 clkuart0: uart0 { 144 clkuart0: uart0 {
81 #clock-cells = <0>; 145 #clock-cells = <0>;
82 compatible = "via,vt8500-device-clock"; 146 compatible = "via,vt8500-device-clock";
@@ -93,14 +157,7 @@
93 enable-bit = <2>; 157 enable-bit = <2>;
94 }; 158 };
95 159
96 arm: arm { 160 clksdhc: sdhc {
97 #clock-cells = <0>;
98 compatible = "via,vt8500-device-clock";
99 clocks = <&plla>;
100 divisor-reg = <0x300>;
101 };
102
103 sdhc: sdhc {
104 #clock-cells = <0>; 161 #clock-cells = <0>;
105 compatible = "via,vt8500-device-clock"; 162 compatible = "via,vt8500-device-clock";
106 clocks = <&pllb>; 163 clocks = <&pllb>;
@@ -140,18 +197,20 @@
140 reg = <0xd8050400 0x100>; 197 reg = <0xd8050400 0x100>;
141 }; 198 };
142 199
143 uart@d8200000 { 200 uart0: serial@d8200000 {
144 compatible = "via,vt8500-uart"; 201 compatible = "via,vt8500-uart";
145 reg = <0xd8200000 0x1040>; 202 reg = <0xd8200000 0x1040>;
146 interrupts = <32>; 203 interrupts = <32>;
147 clocks = <&clkuart0>; 204 clocks = <&clkuart0>;
205 status = "disabled";
148 }; 206 };
149 207
150 uart@d82b0000 { 208 uart1: serial@d82b0000 {
151 compatible = "via,vt8500-uart"; 209 compatible = "via,vt8500-uart";
152 reg = <0xd82b0000 0x1040>; 210 reg = <0xd82b0000 0x1040>;
153 interrupts = <33>; 211 interrupts = <33>;
154 clocks = <&clkuart1>; 212 clocks = <&clkuart1>;
213 status = "disabled";
155 }; 214 };
156 215
157 rtc@d8100000 { 216 rtc@d8100000 {
diff --git a/arch/arm/boot/dts/wm8750-apc8750.dts b/arch/arm/boot/dts/wm8750-apc8750.dts
new file mode 100644
index 000000000000..37e4a408bf39
--- /dev/null
+++ b/arch/arm/boot/dts/wm8750-apc8750.dts
@@ -0,0 +1,30 @@
1/*
2 * wm8750-apc8750.dts
3 * - Device tree file for VIA APC8750
4 *
5 * Copyright (C) 2012 Tony Prisk <linux@prisktech.co.nz>
6 *
7 * Licensed under GPLv2 or later
8 */
9
10/dts-v1/;
11/include/ "wm8750.dtsi"
12
13/ {
14 model = "VIA APC8750";
15};
16
17&pinctrl {
18 pinctrl-names = "default";
19 pinctrl-0 = <&i2c>;
20
21 i2c: i2c {
22 wm,pins = <168 169 170 171>;
23 wm,function = <2>; /* alt */
24 wm,pull = <2>; /* pull-up */
25 };
26};
27
28&uart0 {
29 status = "okay";
30};
diff --git a/arch/arm/boot/dts/wm8750.dtsi b/arch/arm/boot/dts/wm8750.dtsi
new file mode 100644
index 000000000000..557a9c2ace49
--- /dev/null
+++ b/arch/arm/boot/dts/wm8750.dtsi
@@ -0,0 +1,347 @@
1/*
2 * wm8750.dtsi - Device tree file for Wondermedia WM8750 SoC
3 *
4 * Copyright (C) 2012 Tony Prisk <linux@prisktech.co.nz>
5 *
6 * Licensed under GPLv2 or later
7 */
8
9/include/ "skeleton.dtsi"
10
11/ {
12 compatible = "wm,wm8750";
13
14 cpus {
15 #address-cells = <0>;
16 #size-cells = <0>;
17
18 cpu {
19 device_type = "cpu";
20 compatible = "arm,arm1176ej-s";
21 };
22 };
23
24 aliases {
25 serial0 = &uart0;
26 serial1 = &uart1;
27 serial2 = &uart2;
28 serial3 = &uart3;
29 serial4 = &uart4;
30 serial5 = &uart5;
31 i2c0 = &i2c_0;
32 i2c1 = &i2c_1;
33 };
34
35 soc {
36 #address-cells = <1>;
37 #size-cells = <1>;
38 compatible = "simple-bus";
39 ranges;
40 interrupt-parent = <&intc0>;
41
42 intc0: interrupt-controller@d8140000 {
43 compatible = "via,vt8500-intc";
44 interrupt-controller;
45 reg = <0xd8140000 0x10000>;
46 #interrupt-cells = <1>;
47 };
48
49 /* Secondary IC cascaded to intc0 */
50 intc1: interrupt-controller@d8150000 {
51 compatible = "via,vt8500-intc";
52 interrupt-controller;
53 #interrupt-cells = <1>;
54 reg = <0xD8150000 0x10000>;
55 interrupts = <56 57 58 59 60 61 62 63>;
56 };
57
58 pinctrl: pinctrl@d8110000 {
59 compatible = "wm,wm8750-pinctrl";
60 reg = <0xd8110000 0x10000>;
61 interrupt-controller;
62 #interrupt-cells = <2>;
63 gpio-controller;
64 #gpio-cells = <2>;
65 };
66
67 pmc@d8130000 {
68 compatible = "via,vt8500-pmc";
69 reg = <0xd8130000 0x1000>;
70
71 clocks {
72 #address-cells = <1>;
73 #size-cells = <0>;
74
75 ref24: ref24M {
76 #clock-cells = <0>;
77 compatible = "fixed-clock";
78 clock-frequency = <24000000>;
79 };
80
81 ref25: ref25M {
82 #clock-cells = <0>;
83 compatible = "fixed-clock";
84 clock-frequency = <25000000>;
85 };
86
87 plla: plla {
88 #clock-cells = <0>;
89 compatible = "wm,wm8750-pll-clock";
90 clocks = <&ref25>;
91 reg = <0x200>;
92 };
93
94 pllb: pllb {
95 #clock-cells = <0>;
96 compatible = "wm,wm8750-pll-clock";
97 clocks = <&ref25>;
98 reg = <0x204>;
99 };
100
101 pllc: pllc {
102 #clock-cells = <0>;
103 compatible = "wm,wm8750-pll-clock";
104 clocks = <&ref25>;
105 reg = <0x208>;
106 };
107
108 plld: plld {
109 #clock-cells = <0>;
110 compatible = "wm,wm8750-pll-clock";
111 clocks = <&ref25>;
112 reg = <0x20C>;
113 };
114
115 plle: plle {
116 #clock-cells = <0>;
117 compatible = "wm,wm8750-pll-clock";
118 clocks = <&ref25>;
119 reg = <0x210>;
120 };
121
122 clkarm: arm {
123 #clock-cells = <0>;
124 compatible = "via,vt8500-device-clock";
125 clocks = <&plla>;
126 divisor-reg = <0x300>;
127 };
128
129 clkahb: ahb {
130 #clock-cells = <0>;
131 compatible = "via,vt8500-device-clock";
132 clocks = <&pllb>;
133 divisor-reg = <0x304>;
134 };
135
136 clkapb: apb {
137 #clock-cells = <0>;
138 compatible = "via,vt8500-device-clock";
139 clocks = <&pllb>;
140 divisor-reg = <0x320>;
141 };
142
143 clkddr: ddr {
144 #clock-cells = <0>;
145 compatible = "via,vt8500-device-clock";
146 clocks = <&plld>;
147 divisor-reg = <0x310>;
148 };
149
150 clkuart0: uart0 {
151 #clock-cells = <0>;
152 compatible = "via,vt8500-device-clock";
153 clocks = <&ref24>;
154 enable-reg = <0x254>;
155 enable-bit = <24>;
156 };
157
158 clkuart1: uart1 {
159 #clock-cells = <0>;
160 compatible = "via,vt8500-device-clock";
161 clocks = <&ref24>;
162 enable-reg = <0x254>;
163 enable-bit = <25>;
164 };
165
166 clkuart2: uart2 {
167 #clock-cells = <0>;
168 compatible = "via,vt8500-device-clock";
169 clocks = <&ref24>;
170 enable-reg = <0x254>;
171 enable-bit = <26>;
172 };
173
174 clkuart3: uart3 {
175 #clock-cells = <0>;
176 compatible = "via,vt8500-device-clock";
177 clocks = <&ref24>;
178 enable-reg = <0x254>;
179 enable-bit = <27>;
180 };
181
182 clkuart4: uart4 {
183 #clock-cells = <0>;
184 compatible = "via,vt8500-device-clock";
185 clocks = <&ref24>;
186 enable-reg = <0x254>;
187 enable-bit = <28>;
188 };
189
190 clkuart5: uart5 {
191 #clock-cells = <0>;
192 compatible = "via,vt8500-device-clock";
193 clocks = <&ref24>;
194 enable-reg = <0x254>;
195 enable-bit = <29>;
196 };
197
198 clkpwm: pwm {
199 #clock-cells = <0>;
200 compatible = "via,vt8500-device-clock";
201 clocks = <&pllb>;
202 divisor-reg = <0x350>;
203 enable-reg = <0x250>;
204 enable-bit = <17>;
205 };
206
207 clksdhc: sdhc {
208 #clock-cells = <0>;
209 compatible = "via,vt8500-device-clock";
210 clocks = <&pllb>;
211 divisor-reg = <0x330>;
212 divisor-mask = <0x3f>;
213 enable-reg = <0x250>;
214 enable-bit = <0>;
215 };
216
217 clki2c0: i2c0clk {
218 #clock-cells = <0>;
219 compatible = "via,vt8500-device-clock";
220 clocks = <&pllb>;
221 divisor-reg = <0x3A0>;
222 enable-reg = <0x250>;
223 enable-bit = <8>;
224 };
225
226 clki2c1: i2c1clk {
227 #clock-cells = <0>;
228 compatible = "via,vt8500-device-clock";
229 clocks = <&pllb>;
230 divisor-reg = <0x3A4>;
231 enable-reg = <0x250>;
232 enable-bit = <9>;
233 };
234 };
235 };
236
237 pwm: pwm@d8220000 {
238 #pwm-cells = <3>;
239 compatible = "via,vt8500-pwm";
240 reg = <0xd8220000 0x100>;
241 clocks = <&clkpwm>;
242 };
243
244 timer@d8130100 {
245 compatible = "via,vt8500-timer";
246 reg = <0xd8130100 0x28>;
247 interrupts = <36>;
248 };
249
250 ehci@d8007900 {
251 compatible = "via,vt8500-ehci";
252 reg = <0xd8007900 0x200>;
253 interrupts = <26>;
254 };
255
256 uhci@d8007b00 {
257 compatible = "platform-uhci";
258 reg = <0xd8007b00 0x200>;
259 interrupts = <26>;
260 };
261
262 uhci@d8008d00 {
263 compatible = "platform-uhci";
264 reg = <0xd8008d00 0x200>;
265 interrupts = <26>;
266 };
267
268 uart0: serial@d8200000 {
269 compatible = "via,vt8500-uart";
270 reg = <0xd8200000 0x1040>;
271 interrupts = <32>;
272 clocks = <&clkuart0>;
273 status = "disabled";
274 };
275
276 uart1: serial@d82b0000 {
277 compatible = "via,vt8500-uart";
278 reg = <0xd82b0000 0x1040>;
279 interrupts = <33>;
280 clocks = <&clkuart1>;
281 status = "disabled";
282 };
283
284 uart2: serial@d8210000 {
285 compatible = "via,vt8500-uart";
286 reg = <0xd8210000 0x1040>;
287 interrupts = <47>;
288 clocks = <&clkuart2>;
289 status = "disabled";
290 };
291
292 uart3: serial@d82c0000 {
293 compatible = "via,vt8500-uart";
294 reg = <0xd82c0000 0x1040>;
295 interrupts = <50>;
296 clocks = <&clkuart3>;
297 status = "disabled";
298 };
299
300 uart4: serial@d8370000 {
301 compatible = "via,vt8500-uart";
302 reg = <0xd8370000 0x1040>;
303 interrupts = <30>;
304 clocks = <&clkuart4>;
305 status = "disabled";
306 };
307
308 uart5: serial@d8380000 {
309 compatible = "via,vt8500-uart";
310 reg = <0xd8380000 0x1040>;
311 interrupts = <43>;
312 clocks = <&clkuart5>;
313 status = "disabled";
314 };
315
316 rtc@d8100000 {
317 compatible = "via,vt8500-rtc";
318 reg = <0xd8100000 0x10000>;
319 interrupts = <48>;
320 };
321
322 sdhc@d800a000 {
323 compatible = "wm,wm8505-sdhc";
324 reg = <0xd800a000 0x1000>;
325 interrupts = <20 21>;
326 clocks = <&clksdhc>;
327 bus-width = <4>;
328 sdon-inverted;
329 };
330
331 i2c_0: i2c@d8280000 {
332 compatible = "wm,wm8505-i2c";
333 reg = <0xd8280000 0x1000>;
334 interrupts = <19>;
335 clocks = <&clki2c0>;
336 clock-frequency = <400000>;
337 };
338
339 i2c_1: i2c@d8320000 {
340 compatible = "wm,wm8505-i2c";
341 reg = <0xd8320000 0x1000>;
342 interrupts = <18>;
343 clocks = <&clki2c1>;
344 clock-frequency = <400000>;
345 };
346 };
347};
diff --git a/arch/arm/boot/dts/wm8850-w70v2.dts b/arch/arm/boot/dts/wm8850-w70v2.dts
index 32d22532cd6c..90e913fb64be 100644
--- a/arch/arm/boot/dts/wm8850-w70v2.dts
+++ b/arch/arm/boot/dts/wm8850-w70v2.dts
@@ -41,3 +41,7 @@
41 }; 41 };
42 }; 42 };
43}; 43};
44
45&uart0 {
46 status = "okay";
47};
diff --git a/arch/arm/boot/dts/wm8850.dtsi b/arch/arm/boot/dts/wm8850.dtsi
index fc790d0aee66..d98386dd2882 100644
--- a/arch/arm/boot/dts/wm8850.dtsi
+++ b/arch/arm/boot/dts/wm8850.dtsi
@@ -11,6 +11,17 @@
11/ { 11/ {
12 compatible = "wm,wm8850"; 12 compatible = "wm,wm8850";
13 13
14 cpus {
15 #address-cells = <1>;
16 #size-cells = <0>;
17
18 cpu@0 {
19 device_type = "cpu";
20 compatible = "arm,cortex-a9";
21 reg = <0x0>;
22 };
23 };
24
14 aliases { 25 aliases {
15 serial0 = &uart0; 26 serial0 = &uart0;
16 serial1 = &uart1; 27 serial1 = &uart1;
@@ -72,18 +83,81 @@
72 83
73 plla: plla { 84 plla: plla {
74 #clock-cells = <0>; 85 #clock-cells = <0>;
75 compatible = "wm,wm8750-pll-clock"; 86 compatible = "wm,wm8850-pll-clock";
76 clocks = <&ref25>; 87 clocks = <&ref24>;
77 reg = <0x200>; 88 reg = <0x200>;
78 }; 89 };
79 90
80 pllb: pllb { 91 pllb: pllb {
81 #clock-cells = <0>; 92 #clock-cells = <0>;
82 compatible = "wm,wm8750-pll-clock"; 93 compatible = "wm,wm8850-pll-clock";
83 clocks = <&ref25>; 94 clocks = <&ref24>;
84 reg = <0x204>; 95 reg = <0x204>;
85 }; 96 };
86 97
98 pllc: pllc {
99 #clock-cells = <0>;
100 compatible = "wm,wm8850-pll-clock";
101 clocks = <&ref24>;
102 reg = <0x208>;
103 };
104
105 plld: plld {
106 #clock-cells = <0>;
107 compatible = "wm,wm8850-pll-clock";
108 clocks = <&ref24>;
109 reg = <0x20c>;
110 };
111
112 plle: plle {
113 #clock-cells = <0>;
114 compatible = "wm,wm8850-pll-clock";
115 clocks = <&ref24>;
116 reg = <0x210>;
117 };
118
119 pllf: pllf {
120 #clock-cells = <0>;
121 compatible = "wm,wm8850-pll-clock";
122 clocks = <&ref24>;
123 reg = <0x214>;
124 };
125
126 pllg: pllg {
127 #clock-cells = <0>;
128 compatible = "wm,wm8850-pll-clock";
129 clocks = <&ref24>;
130 reg = <0x218>;
131 };
132
133 clkarm: arm {
134 #clock-cells = <0>;
135 compatible = "via,vt8500-device-clock";
136 clocks = <&plla>;
137 divisor-reg = <0x300>;
138 };
139
140 clkahb: ahb {
141 #clock-cells = <0>;
142 compatible = "via,vt8500-device-clock";
143 clocks = <&pllb>;
144 divisor-reg = <0x304>;
145 };
146
147 clkapb: apb {
148 #clock-cells = <0>;
149 compatible = "via,vt8500-device-clock";
150 clocks = <&pllb>;
151 divisor-reg = <0x320>;
152 };
153
154 clkddr: ddr {
155 #clock-cells = <0>;
156 compatible = "via,vt8500-device-clock";
157 clocks = <&plld>;
158 divisor-reg = <0x310>;
159 };
160
87 clkuart0: uart0 { 161 clkuart0: uart0 {
88 #clock-cells = <0>; 162 #clock-cells = <0>;
89 compatible = "via,vt8500-device-clock"; 163 compatible = "via,vt8500-device-clock";
@@ -178,32 +252,36 @@
178 interrupts = <26>; 252 interrupts = <26>;
179 }; 253 };
180 254
181 uart0: uart@d8200000 { 255 uart0: serial@d8200000 {
182 compatible = "via,vt8500-uart"; 256 compatible = "via,vt8500-uart";
183 reg = <0xd8200000 0x1040>; 257 reg = <0xd8200000 0x1040>;
184 interrupts = <32>; 258 interrupts = <32>;
185 clocks = <&clkuart0>; 259 clocks = <&clkuart0>;
260 status = "disabled";
186 }; 261 };
187 262
188 uart1: uart@d82b0000 { 263 uart1: serial@d82b0000 {
189 compatible = "via,vt8500-uart"; 264 compatible = "via,vt8500-uart";
190 reg = <0xd82b0000 0x1040>; 265 reg = <0xd82b0000 0x1040>;
191 interrupts = <33>; 266 interrupts = <33>;
192 clocks = <&clkuart1>; 267 clocks = <&clkuart1>;
268 status = "disabled";
193 }; 269 };
194 270
195 uart2: uart@d8210000 { 271 uart2: serial@d8210000 {
196 compatible = "via,vt8500-uart"; 272 compatible = "via,vt8500-uart";
197 reg = <0xd8210000 0x1040>; 273 reg = <0xd8210000 0x1040>;
198 interrupts = <47>; 274 interrupts = <47>;
199 clocks = <&clkuart2>; 275 clocks = <&clkuart2>;
276 status = "disabled";
200 }; 277 };
201 278
202 uart3: uart@d82c0000 { 279 uart3: serial@d82c0000 {
203 compatible = "via,vt8500-uart"; 280 compatible = "via,vt8500-uart";
204 reg = <0xd82c0000 0x1040>; 281 reg = <0xd82c0000 0x1040>;
205 interrupts = <50>; 282 interrupts = <50>;
206 clocks = <&clkuart3>; 283 clocks = <&clkuart3>;
284 status = "disabled";
207 }; 285 };
208 286
209 rtc@d8100000 { 287 rtc@d8100000 {