aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/devicetree/bindings/arm/ste-nomadik.txt5
-rw-r--r--Documentation/devicetree/bindings/clock/altr_socfpga.txt7
-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
-rw-r--r--arch/arm/configs/at91_dt_defconfig57
-rw-r--r--arch/arm/configs/at91rm9200_defconfig218
-rw-r--r--arch/arm/configs/at91sam9260_9g20_defconfig (renamed from arch/arm/configs/at91sam9g20_defconfig)66
-rw-r--r--arch/arm/configs/at91sam9260_defconfig91
-rw-r--r--arch/arm/configs/at91sam9261_9g10_defconfig (renamed from arch/arm/configs/at91sam9261_defconfig)19
-rw-r--r--arch/arm/configs/at91sam9263_defconfig40
-rw-r--r--arch/arm/configs/at91sam9g45_defconfig94
-rw-r--r--arch/arm/configs/nhk8815_defconfig6
-rw-r--r--arch/arm/configs/sama5_defconfig35
-rw-r--r--arch/arm/mach-at91/Kconfig.non_dt162
-rw-r--r--arch/arm/mach-at91/Makefile5
-rw-r--r--arch/arm/mach-at91/board-sam9261ek.c28
-rw-r--r--arch/arm/mach-at91/board-usb-a926x.c384
-rw-r--r--arch/arm/mach-nomadik/Kconfig1
-rw-r--r--arch/arm/mach-nomadik/cpu-8815.c73
-rw-r--r--arch/arm/mach-s3c24xx/Kconfig12
-rw-r--r--arch/arm/mach-s3c24xx/Makefile1
-rw-r--r--arch/arm/mach-s3c24xx/mach-s3c2416-dt.c91
-rw-r--r--arch/arm/mach-shmobile/Kconfig14
-rw-r--r--arch/arm/mach-shmobile/Makefile1
-rw-r--r--arch/arm/mach-shmobile/board-armadillo800eva-reference.c213
-rw-r--r--arch/arm/mach-shmobile/include/mach/r8a7740.h3
-rw-r--r--arch/arm/mach-shmobile/intc-r8a7740.c24
-rw-r--r--arch/arm/mach-shmobile/setup-r8a7740.c54
-rw-r--r--drivers/clk/clk-nomadik.c41
-rw-r--r--drivers/clocksource/nomadik-mtu.c60
-rw-r--r--include/dt-bindings/pinctrl/at91.h35
171 files changed, 5119 insertions, 2527 deletions
diff --git a/Documentation/devicetree/bindings/arm/ste-nomadik.txt b/Documentation/devicetree/bindings/arm/ste-nomadik.txt
index 19bca04b81c9..6256ec31666d 100644
--- a/Documentation/devicetree/bindings/arm/ste-nomadik.txt
+++ b/Documentation/devicetree/bindings/arm/ste-nomadik.txt
@@ -3,6 +3,11 @@ ST-Ericsson Nomadik Device Tree Bindings
3For various board the "board" node may contain specific properties 3For various board the "board" node may contain specific properties
4that pertain to this particular board, such as board-specific GPIOs. 4that pertain to this particular board, such as board-specific GPIOs.
5 5
6Required root node property: src
7- Nomadik System and reset controller used for basic chip control, clock
8 and reset line control.
9- compatible: must be "stericsson,nomadik,src"
10
6Boards with the Nomadik SoC include: 11Boards with the Nomadik SoC include:
7 12
8S8815 "MiniKit" manufactured by Calao Systems: 13S8815 "MiniKit" manufactured by Calao Systems:
diff --git a/Documentation/devicetree/bindings/clock/altr_socfpga.txt b/Documentation/devicetree/bindings/clock/altr_socfpga.txt
index bd0c8416a5c8..0045433eae1f 100644
--- a/Documentation/devicetree/bindings/clock/altr_socfpga.txt
+++ b/Documentation/devicetree/bindings/clock/altr_socfpga.txt
@@ -9,6 +9,9 @@ Required properties:
9 "altr,socfpga-pll-clock" - for a PLL clock 9 "altr,socfpga-pll-clock" - for a PLL clock
10 "altr,socfpga-perip-clock" - The peripheral clock divided from the 10 "altr,socfpga-perip-clock" - The peripheral clock divided from the
11 PLL clock. 11 PLL clock.
12 "altr,socfpga-gate-clk" - Clocks that directly feed peripherals and
13 can get gated.
14
12- reg : shall be the control register offset from CLOCK_MANAGER's base for the clock. 15- reg : shall be the control register offset from CLOCK_MANAGER's base for the clock.
13- clocks : shall be the input parent clock phandle for the clock. This is 16- clocks : shall be the input parent clock phandle for the clock. This is
14 either an oscillator or a pll output. 17 either an oscillator or a pll output.
@@ -16,3 +19,7 @@ Required properties:
16 19
17Optional properties: 20Optional properties:
18- fixed-divider : If clocks have a fixed divider value, use this property. 21- fixed-divider : If clocks have a fixed divider value, use this property.
22- clk-gate : For "socfpga-gate-clk", clk-gate contains the gating register
23 and the bit index.
24- div-reg : For "socfpga-gate-clk", div-reg contains the divider register, bit shift,
25 and width.
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 {
diff --git a/arch/arm/configs/at91_dt_defconfig b/arch/arm/configs/at91_dt_defconfig
index 047f2a415309..75fd842d4071 100644
--- a/arch/arm/configs/at91_dt_defconfig
+++ b/arch/arm/configs/at91_dt_defconfig
@@ -1,4 +1,3 @@
1CONFIG_EXPERIMENTAL=y
2# CONFIG_LOCALVERSION_AUTO is not set 1# CONFIG_LOCALVERSION_AUTO is not set
3# CONFIG_SWAP is not set 2# CONFIG_SWAP is not set
4CONFIG_SYSVIPC=y 3CONFIG_SYSVIPC=y
@@ -25,8 +24,6 @@ CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
25CONFIG_AT91_TIMER_HZ=128 24CONFIG_AT91_TIMER_HZ=128
26CONFIG_AEABI=y 25CONFIG_AEABI=y
27# CONFIG_OABI_COMPAT is not set 26# CONFIG_OABI_COMPAT is not set
28CONFIG_LEDS=y
29CONFIG_LEDS_CPU=y
30CONFIG_UACCESS_WITH_MEMCPY=y 27CONFIG_UACCESS_WITH_MEMCPY=y
31CONFIG_ZBOOT_ROM_TEXT=0x0 28CONFIG_ZBOOT_ROM_TEXT=0x0
32CONFIG_ZBOOT_ROM_BSS=0x0 29CONFIG_ZBOOT_ROM_BSS=0x0
@@ -42,6 +39,9 @@ CONFIG_UNIX=y
42CONFIG_INET=y 39CONFIG_INET=y
43CONFIG_IP_MULTICAST=y 40CONFIG_IP_MULTICAST=y
44CONFIG_IP_PNP=y 41CONFIG_IP_PNP=y
42CONFIG_IP_PNP_DHCP=y
43CONFIG_IP_PNP_BOOTP=y
44CONFIG_IP_PNP_RARP=y
45# CONFIG_INET_XFRM_MODE_TRANSPORT is not set 45# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
46# CONFIG_INET_XFRM_MODE_TUNNEL is not set 46# CONFIG_INET_XFRM_MODE_TUNNEL is not set
47# CONFIG_INET_XFRM_MODE_BEET is not set 47# CONFIG_INET_XFRM_MODE_BEET is not set
@@ -51,7 +51,8 @@ CONFIG_IPV6=y
51# CONFIG_INET6_XFRM_MODE_TUNNEL is not set 51# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
52# CONFIG_INET6_XFRM_MODE_BEET is not set 52# CONFIG_INET6_XFRM_MODE_BEET is not set
53CONFIG_IPV6_SIT_6RD=y 53CONFIG_IPV6_SIT_6RD=y
54# CONFIG_WIRELESS is not set 54CONFIG_CFG80211=y
55CONFIG_MAC80211=y
55CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 56CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
56CONFIG_DEVTMPFS=y 57CONFIG_DEVTMPFS=y
57CONFIG_DEVTMPFS_MOUNT=y 58CONFIG_DEVTMPFS_MOUNT=y
@@ -72,7 +73,6 @@ CONFIG_BLK_DEV_RAM_COUNT=4
72CONFIG_BLK_DEV_RAM_SIZE=8192 73CONFIG_BLK_DEV_RAM_SIZE=8192
73CONFIG_ATMEL_PWM=y 74CONFIG_ATMEL_PWM=y
74CONFIG_ATMEL_TCLIB=y 75CONFIG_ATMEL_TCLIB=y
75CONFIG_EEPROM_93CX6=m
76CONFIG_SCSI=y 76CONFIG_SCSI=y
77CONFIG_BLK_DEV_SD=y 77CONFIG_BLK_DEV_SD=y
78CONFIG_SCSI_MULTI_LUN=y 78CONFIG_SCSI_MULTI_LUN=y
@@ -81,7 +81,6 @@ CONFIG_NETDEVICES=y
81CONFIG_MII=y 81CONFIG_MII=y
82CONFIG_MACB=y 82CONFIG_MACB=y
83# CONFIG_NET_VENDOR_BROADCOM is not set 83# CONFIG_NET_VENDOR_BROADCOM is not set
84# CONFIG_NET_VENDOR_CHELSIO is not set
85# CONFIG_NET_VENDOR_FARADAY is not set 84# CONFIG_NET_VENDOR_FARADAY is not set
86# CONFIG_NET_VENDOR_INTEL is not set 85# CONFIG_NET_VENDOR_INTEL is not set
87# CONFIG_NET_VENDOR_MARVELL is not set 86# CONFIG_NET_VENDOR_MARVELL is not set
@@ -92,7 +91,23 @@ CONFIG_MACB=y
92# CONFIG_NET_VENDOR_STMICRO is not set 91# CONFIG_NET_VENDOR_STMICRO is not set
93CONFIG_DAVICOM_PHY=y 92CONFIG_DAVICOM_PHY=y
94CONFIG_MICREL_PHY=y 93CONFIG_MICREL_PHY=y
95# CONFIG_WLAN is not set 94CONFIG_RTL8187=m
95CONFIG_LIBERTAS=m
96CONFIG_LIBERTAS_SDIO=m
97CONFIG_LIBERTAS_SPI=m
98CONFIG_RT2X00=m
99CONFIG_RT2500USB=m
100CONFIG_RT73USB=m
101CONFIG_RT2800USB=m
102CONFIG_RT2800USB_RT53XX=y
103CONFIG_RT2800USB_RT55XX=y
104CONFIG_RT2800USB_UNKNOWN=y
105CONFIG_RTLWIFI=m
106# CONFIG_RTLWIFI_DEBUG is not set
107CONFIG_RTL8192CU=m
108CONFIG_MWIFIEX=m
109CONFIG_MWIFIEX_SDIO=m
110CONFIG_MWIFIEX_USB=m
96CONFIG_INPUT_POLLDEV=y 111CONFIG_INPUT_POLLDEV=y
97# CONFIG_INPUT_MOUSEDEV_PSAUX is not set 112# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
98CONFIG_INPUT_MOUSEDEV_SCREEN_X=480 113CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
@@ -112,13 +127,11 @@ CONFIG_I2C=y
112CONFIG_I2C_GPIO=y 127CONFIG_I2C_GPIO=y
113CONFIG_SPI=y 128CONFIG_SPI=y
114CONFIG_SPI_ATMEL=y 129CONFIG_SPI_ATMEL=y
115CONFIG_PINCTRL_AT91=y
116# CONFIG_HWMON is not set 130# CONFIG_HWMON is not set
117CONFIG_WATCHDOG=y 131CONFIG_WATCHDOG=y
118CONFIG_AT91SAM9X_WATCHDOG=y 132CONFIG_AT91SAM9X_WATCHDOG=y
119CONFIG_SSB=m 133CONFIG_SSB=m
120CONFIG_FB=y 134CONFIG_FB=y
121CONFIG_FB_MODE_HELPERS=y
122CONFIG_FB_ATMEL=y 135CONFIG_FB_ATMEL=y
123CONFIG_BACKLIGHT_LCD_SUPPORT=y 136CONFIG_BACKLIGHT_LCD_SUPPORT=y
124# CONFIG_LCD_CLASS_DEVICE is not set 137# CONFIG_LCD_CLASS_DEVICE is not set
@@ -132,11 +145,8 @@ CONFIG_FONT_8x8=y
132CONFIG_FONT_ACORN_8x8=y 145CONFIG_FONT_ACORN_8x8=y
133CONFIG_FONT_MINI_4x6=y 146CONFIG_FONT_MINI_4x6=y
134CONFIG_LOGO=y 147CONFIG_LOGO=y
135# CONFIG_HID_SUPPORT is not set
136CONFIG_USB=y 148CONFIG_USB=y
137CONFIG_USB_ANNOUNCE_NEW_DEVICES=y 149CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
138CONFIG_USB_DEVICEFS=y
139# CONFIG_USB_DEVICE_CLASS is not set
140CONFIG_USB_EHCI_HCD=y 150CONFIG_USB_EHCI_HCD=y
141CONFIG_USB_OHCI_HCD=y 151CONFIG_USB_OHCI_HCD=y
142CONFIG_USB_ACM=y 152CONFIG_USB_ACM=y
@@ -146,16 +156,12 @@ CONFIG_USB_SERIAL_GENERIC=y
146CONFIG_USB_SERIAL_FTDI_SIO=y 156CONFIG_USB_SERIAL_FTDI_SIO=y
147CONFIG_USB_SERIAL_PL2303=y 157CONFIG_USB_SERIAL_PL2303=y
148CONFIG_USB_GADGET=y 158CONFIG_USB_GADGET=y
149CONFIG_USB_AT91=m 159CONFIG_USB_AT91=y
150CONFIG_USB_ATMEL_USBA=m 160CONFIG_USB_ATMEL_USBA=y
151CONFIG_USB_ETH=m 161CONFIG_USB_G_SERIAL=y
152CONFIG_USB_GADGETFS=m
153CONFIG_USB_CDC_COMPOSITE=m
154CONFIG_USB_G_ACM_MS=m
155CONFIG_USB_G_MULTI=m
156CONFIG_USB_G_MULTI_CDC=y
157CONFIG_MMC=y 162CONFIG_MMC=y
158CONFIG_MMC_ATMELMCI=y 163CONFIG_MMC_ATMELMCI=y
164CONFIG_MMC_SPI=y
159CONFIG_NEW_LEDS=y 165CONFIG_NEW_LEDS=y
160CONFIG_LEDS_CLASS=y 166CONFIG_LEDS_CLASS=y
161CONFIG_LEDS_GPIO=y 167CONFIG_LEDS_GPIO=y
@@ -164,20 +170,23 @@ CONFIG_LEDS_TRIGGER_TIMER=y
164CONFIG_LEDS_TRIGGER_HEARTBEAT=y 170CONFIG_LEDS_TRIGGER_HEARTBEAT=y
165CONFIG_LEDS_TRIGGER_GPIO=y 171CONFIG_LEDS_TRIGGER_GPIO=y
166CONFIG_RTC_CLASS=y 172CONFIG_RTC_CLASS=y
173CONFIG_RTC_DRV_RV3029C2=y
167CONFIG_RTC_DRV_AT91RM9200=y 174CONFIG_RTC_DRV_AT91RM9200=y
168CONFIG_RTC_DRV_AT91SAM9=y 175CONFIG_RTC_DRV_AT91SAM9=y
169CONFIG_DMADEVICES=y 176CONFIG_DMADEVICES=y
170# CONFIG_IOMMU_SUPPORT is not set 177# CONFIG_IOMMU_SUPPORT is not set
171CONFIG_EXT2_FS=y 178CONFIG_EXT4_FS=y
172CONFIG_FANOTIFY=y 179CONFIG_FANOTIFY=y
173CONFIG_VFAT_FS=y 180CONFIG_VFAT_FS=y
174CONFIG_TMPFS=y 181CONFIG_TMPFS=y
182CONFIG_UBIFS_FS=y
183CONFIG_UBIFS_FS_ADVANCED_COMPR=y
175CONFIG_NFS_FS=y 184CONFIG_NFS_FS=y
176CONFIG_NFS_V3=y
177CONFIG_ROOT_NFS=y 185CONFIG_ROOT_NFS=y
178CONFIG_NLS_CODEPAGE_437=y 186CONFIG_NLS_CODEPAGE_437=y
179CONFIG_NLS_CODEPAGE_850=y 187CONFIG_NLS_CODEPAGE_850=y
180CONFIG_NLS_ISO8859_1=y 188CONFIG_NLS_ISO8859_1=y
189CONFIG_NLS_UTF8=y
181CONFIG_STRIP_ASM_SYMS=y 190CONFIG_STRIP_ASM_SYMS=y
182CONFIG_DEBUG_FS=y 191CONFIG_DEBUG_FS=y
183# CONFIG_SCHED_DEBUG is not set 192# CONFIG_SCHED_DEBUG is not set
@@ -192,7 +201,7 @@ CONFIG_CRYPTO_ARC4=y
192CONFIG_CRYPTO_USER_API_HASH=m 201CONFIG_CRYPTO_USER_API_HASH=m
193CONFIG_CRYPTO_USER_API_SKCIPHER=m 202CONFIG_CRYPTO_USER_API_SKCIPHER=m
194# CONFIG_CRYPTO_HW is not set 203# CONFIG_CRYPTO_HW is not set
195CONFIG_CRC_CCITT=m 204CONFIG_CRC_CCITT=y
196CONFIG_CRC_ITU_T=m 205CONFIG_CRC_ITU_T=y
197CONFIG_CRC7=m 206CONFIG_CRC7=m
198CONFIG_AVERAGE=y 207CONFIG_AVERAGE=y
diff --git a/arch/arm/configs/at91rm9200_defconfig b/arch/arm/configs/at91rm9200_defconfig
index 4ae57a34a582..8b099349c4b1 100644
--- a/arch/arm/configs/at91rm9200_defconfig
+++ b/arch/arm/configs/at91rm9200_defconfig
@@ -1,10 +1,12 @@
1CONFIG_EXPERIMENTAL=y
2# CONFIG_LOCALVERSION_AUTO is not set 1# CONFIG_LOCALVERSION_AUTO is not set
3# CONFIG_SWAP is not set 2# CONFIG_SWAP is not set
4CONFIG_SYSVIPC=y 3CONFIG_SYSVIPC=y
4CONFIG_NO_HZ=y
5CONFIG_HIGH_RES_TIMERS=y
5CONFIG_IKCONFIG=y 6CONFIG_IKCONFIG=y
6CONFIG_IKCONFIG_PROC=y 7CONFIG_IKCONFIG_PROC=y
7CONFIG_LOG_BUF_SHIFT=14 8CONFIG_LOG_BUF_SHIFT=14
9CONFIG_USER_NS=y
8CONFIG_BLK_DEV_INITRD=y 10CONFIG_BLK_DEV_INITRD=y
9CONFIG_MODULES=y 11CONFIG_MODULES=y
10CONFIG_MODULE_FORCE_LOAD=y 12CONFIG_MODULE_FORCE_LOAD=y
@@ -35,49 +37,37 @@ CONFIG_AT91_TIMER_HZ=100
35# CONFIG_ARM_THUMB is not set 37# CONFIG_ARM_THUMB is not set
36CONFIG_PCCARD=y 38CONFIG_PCCARD=y
37CONFIG_AT91_CF=y 39CONFIG_AT91_CF=y
38CONFIG_NO_HZ=y
39CONFIG_HIGH_RES_TIMERS=y
40CONFIG_PREEMPT=y
41CONFIG_AEABI=y 40CONFIG_AEABI=y
42CONFIG_LEDS=y 41# CONFIG_COMPACTION is not set
43CONFIG_LEDS_CPU=y
44CONFIG_ZBOOT_ROM_TEXT=0x10000000 42CONFIG_ZBOOT_ROM_TEXT=0x10000000
45CONFIG_ZBOOT_ROM_BSS=0x20040000 43CONFIG_ZBOOT_ROM_BSS=0x20040000
46CONFIG_KEXEC=y 44CONFIG_KEXEC=y
45CONFIG_AUTO_ZRELADDR=y
47CONFIG_FPE_NWFPE=y 46CONFIG_FPE_NWFPE=y
48CONFIG_BINFMT_MISC=y 47CONFIG_BINFMT_MISC=y
49CONFIG_NET=y 48CONFIG_NET=y
50CONFIG_PACKET=y 49CONFIG_PACKET=y
51CONFIG_UNIX=y 50CONFIG_UNIX=y
52CONFIG_XFRM_USER=m
53CONFIG_INET=y 51CONFIG_INET=y
54CONFIG_IP_MULTICAST=y 52CONFIG_IP_MULTICAST=y
55CONFIG_IP_PNP=y 53CONFIG_IP_PNP=y
56CONFIG_IP_PNP_DHCP=y 54CONFIG_IP_PNP_DHCP=y
57CONFIG_IP_PNP_BOOTP=y 55CONFIG_IP_PNP_BOOTP=y
58CONFIG_NET_IPIP=m 56# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
59CONFIG_INET_AH=m 57# CONFIG_INET_XFRM_MODE_TUNNEL is not set
60CONFIG_INET_ESP=m 58# CONFIG_INET_XFRM_MODE_BEET is not set
61CONFIG_INET_IPCOMP=m 59# CONFIG_INET_DIAG is not set
62CONFIG_INET_XFRM_MODE_TRANSPORT=m 60CONFIG_IPV6=y
63CONFIG_INET_XFRM_MODE_TUNNEL=m
64CONFIG_INET_XFRM_MODE_BEET=m
65CONFIG_IPV6_PRIVACY=y 61CONFIG_IPV6_PRIVACY=y
66CONFIG_IPV6_ROUTER_PREF=y 62CONFIG_IPV6_ROUTER_PREF=y
67CONFIG_IPV6_ROUTE_INFO=y 63CONFIG_IPV6_ROUTE_INFO=y
68CONFIG_INET6_AH=m
69CONFIG_INET6_ESP=m
70CONFIG_INET6_IPCOMP=m
71CONFIG_IPV6_MIP6=m
72CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
73CONFIG_IPV6_TUNNEL=m
74CONFIG_BRIDGE=m
75CONFIG_VLAN_8021Q=m
76CONFIG_BT=m
77CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 64CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
65CONFIG_DEVTMPFS=y
66CONFIG_DEVTMPFS_MOUNT=y
67# CONFIG_STANDALONE is not set
68# CONFIG_PREVENT_FIRMWARE_BUILD is not set
78CONFIG_MTD=y 69CONFIG_MTD=y
79CONFIG_MTD_CMDLINE_PARTS=y 70CONFIG_MTD_CMDLINE_PARTS=y
80CONFIG_MTD_AFS_PARTS=y
81CONFIG_MTD_CHAR=y 71CONFIG_MTD_CHAR=y
82CONFIG_MTD_BLOCK=y 72CONFIG_MTD_BLOCK=y
83CONFIG_MTD_CFI=y 73CONFIG_MTD_CFI=y
@@ -94,55 +84,21 @@ CONFIG_MTD_NAND_PLATFORM=y
94CONFIG_MTD_UBI=y 84CONFIG_MTD_UBI=y
95CONFIG_MTD_UBI_GLUEBI=y 85CONFIG_MTD_UBI_GLUEBI=y
96CONFIG_BLK_DEV_LOOP=y 86CONFIG_BLK_DEV_LOOP=y
97CONFIG_BLK_DEV_NBD=y
98CONFIG_BLK_DEV_RAM=y 87CONFIG_BLK_DEV_RAM=y
99CONFIG_BLK_DEV_RAM_SIZE=8192 88CONFIG_BLK_DEV_RAM_SIZE=8192
100CONFIG_SCSI=y
101CONFIG_BLK_DEV_SD=y
102CONFIG_BLK_DEV_SR=m
103CONFIG_BLK_DEV_SR_VENDOR=y
104CONFIG_CHR_DEV_SG=m
105CONFIG_SCSI_MULTI_LUN=y
106# CONFIG_SCSI_LOWLEVEL is not set
107CONFIG_NETDEVICES=y 89CONFIG_NETDEVICES=y
108CONFIG_TUN=m 90CONFIG_MII=y
109CONFIG_ARM_AT91_ETHER=y 91CONFIG_ARM_AT91_ETHER=y
110CONFIG_PHYLIB=y
111CONFIG_DAVICOM_PHY=y 92CONFIG_DAVICOM_PHY=y
112CONFIG_SMSC_PHY=y 93CONFIG_SMSC_PHY=y
113CONFIG_MICREL_PHY=y 94CONFIG_MICREL_PHY=y
114CONFIG_PPP=y 95# CONFIG_WLAN is not set
115CONFIG_PPP_BSDCOMP=y 96# CONFIG_INPUT_MOUSEDEV is not set
116CONFIG_PPP_DEFLATE=y
117CONFIG_PPP_FILTER=y
118CONFIG_PPP_MPPE=m
119CONFIG_PPP_MULTILINK=y
120CONFIG_PPPOE=m
121CONFIG_PPP_ASYNC=y
122CONFIG_SLIP=m
123CONFIG_SLIP_COMPRESSED=y
124CONFIG_SLIP_SMART=y
125CONFIG_SLIP_MODE_SLIP6=y
126CONFIG_USB_CATC=m
127CONFIG_USB_KAWETH=m
128CONFIG_USB_PEGASUS=m
129CONFIG_USB_RTL8150=m
130CONFIG_USB_USBNET=m
131CONFIG_USB_NET_DM9601=m
132CONFIG_USB_NET_GL620A=m
133CONFIG_USB_NET_PLUSB=m
134CONFIG_USB_NET_RNDIS_HOST=m
135CONFIG_USB_ALI_M5632=y
136CONFIG_USB_AN2720=y
137CONFIG_USB_EPSON2888=y
138# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
139CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
140CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480
141CONFIG_INPUT_EVDEV=y 97CONFIG_INPUT_EVDEV=y
142CONFIG_KEYBOARD_GPIO=y 98CONFIG_KEYBOARD_GPIO=y
143# CONFIG_INPUT_MOUSE is not set 99# CONFIG_INPUT_MOUSE is not set
144CONFIG_INPUT_TOUCHSCREEN=y 100CONFIG_INPUT_TOUCHSCREEN=y
145CONFIG_LEGACY_PTY_COUNT=32 101# CONFIG_LEGACY_PTYS is not set
146CONFIG_SERIAL_ATMEL=y 102CONFIG_SERIAL_ATMEL=y
147CONFIG_SERIAL_ATMEL_CONSOLE=y 103CONFIG_SERIAL_ATMEL_CONSOLE=y
148CONFIG_HW_RANDOM=y 104CONFIG_HW_RANDOM=y
@@ -151,38 +107,8 @@ CONFIG_I2C_CHARDEV=y
151CONFIG_I2C_GPIO=y 107CONFIG_I2C_GPIO=y
152CONFIG_SPI=y 108CONFIG_SPI=y
153CONFIG_SPI_ATMEL=y 109CONFIG_SPI_ATMEL=y
154CONFIG_SPI_BITBANG=y
155CONFIG_GPIO_SYSFS=y 110CONFIG_GPIO_SYSFS=y
156CONFIG_HWMON=m 111# CONFIG_HWMON is not set
157CONFIG_SENSORS_ADM1021=m
158CONFIG_SENSORS_ADM1025=m
159CONFIG_SENSORS_ADM1026=m
160CONFIG_SENSORS_ADM1029=m
161CONFIG_SENSORS_ADM1031=m
162CONFIG_SENSORS_ADM9240=m
163CONFIG_SENSORS_DS1621=m
164CONFIG_SENSORS_GL518SM=m
165CONFIG_SENSORS_GL520SM=m
166CONFIG_SENSORS_IT87=m
167CONFIG_SENSORS_LM63=m
168CONFIG_SENSORS_LM73=m
169CONFIG_SENSORS_LM75=m
170CONFIG_SENSORS_LM77=m
171CONFIG_SENSORS_LM78=m
172CONFIG_SENSORS_LM80=m
173CONFIG_SENSORS_LM83=m
174CONFIG_SENSORS_LM85=m
175CONFIG_SENSORS_LM87=m
176CONFIG_SENSORS_LM90=m
177CONFIG_SENSORS_LM92=m
178CONFIG_SENSORS_MAX1619=m
179CONFIG_SENSORS_PCF8591=m
180CONFIG_SENSORS_SMSC47B397=m
181CONFIG_SENSORS_W83781D=m
182CONFIG_SENSORS_W83791D=m
183CONFIG_SENSORS_W83792D=m
184CONFIG_SENSORS_W83793=m
185CONFIG_SENSORS_W83L785TS=m
186CONFIG_WATCHDOG=y 112CONFIG_WATCHDOG=y
187CONFIG_WATCHDOG_NOWAYOUT=y 113CONFIG_WATCHDOG_NOWAYOUT=y
188CONFIG_AT91RM9200_WATCHDOG=y 114CONFIG_AT91RM9200_WATCHDOG=y
@@ -194,43 +120,14 @@ CONFIG_BACKLIGHT_LCD_SUPPORT=y
194CONFIG_LCD_CLASS_DEVICE=y 120CONFIG_LCD_CLASS_DEVICE=y
195CONFIG_BACKLIGHT_CLASS_DEVICE=y 121CONFIG_BACKLIGHT_CLASS_DEVICE=y
196# CONFIG_BACKLIGHT_GENERIC is not set 122# CONFIG_BACKLIGHT_GENERIC is not set
197CONFIG_DISPLAY_SUPPORT=y
198CONFIG_FRAMEBUFFER_CONSOLE=y 123CONFIG_FRAMEBUFFER_CONSOLE=y
199CONFIG_FONTS=y 124CONFIG_FONTS=y
200CONFIG_FONT_MINI_4x6=y
201CONFIG_LOGO=y 125CONFIG_LOGO=y
202# CONFIG_LOGO_LINUX_MONO is not set
203# CONFIG_LOGO_LINUX_VGA16 is not set
204CONFIG_USB=y 126CONFIG_USB=y
205CONFIG_USB_DEVICEFS=y
206# CONFIG_USB_DEVICE_CLASS is not set
207CONFIG_USB_MON=y
208CONFIG_USB_OHCI_HCD=y 127CONFIG_USB_OHCI_HCD=y
209CONFIG_USB_ACM=m
210CONFIG_USB_PRINTER=m
211CONFIG_USB_STORAGE=y
212CONFIG_USB_SERIAL=y
213CONFIG_USB_SERIAL_CONSOLE=y
214CONFIG_USB_SERIAL_GENERIC=y
215CONFIG_USB_SERIAL_FTDI_SIO=y
216CONFIG_USB_SERIAL_KEYSPAN=y
217CONFIG_USB_SERIAL_KEYSPAN_MPR=y
218CONFIG_USB_SERIAL_KEYSPAN_USA28=y
219CONFIG_USB_SERIAL_KEYSPAN_USA28X=y
220CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
221CONFIG_USB_SERIAL_KEYSPAN_USA28XB=y
222CONFIG_USB_SERIAL_KEYSPAN_USA19=y
223CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
224CONFIG_USB_SERIAL_KEYSPAN_USA19W=y
225CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
226CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
227CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
228CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y
229CONFIG_USB_SERIAL_MCT_U232=y
230CONFIG_USB_SERIAL_PL2303=y
231CONFIG_USB_GADGET=y 128CONFIG_USB_GADGET=y
232CONFIG_USB_ETH=m 129CONFIG_USB_AT91=y
233CONFIG_USB_MASS_STORAGE=m 130CONFIG_USB_G_SERIAL=y
234CONFIG_MMC=y 131CONFIG_MMC=y
235CONFIG_MMC_ATMELMCI=y 132CONFIG_MMC_ATMELMCI=y
236CONFIG_NEW_LEDS=y 133CONFIG_NEW_LEDS=y
@@ -240,84 +137,27 @@ CONFIG_LEDS_TRIGGERS=y
240CONFIG_LEDS_TRIGGER_TIMER=y 137CONFIG_LEDS_TRIGGER_TIMER=y
241CONFIG_LEDS_TRIGGER_HEARTBEAT=y 138CONFIG_LEDS_TRIGGER_HEARTBEAT=y
242CONFIG_LEDS_TRIGGER_GPIO=y 139CONFIG_LEDS_TRIGGER_GPIO=y
243CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
244CONFIG_RTC_CLASS=y 140CONFIG_RTC_CLASS=y
245# CONFIG_RTC_HCTOSYS is not set
246CONFIG_RTC_DRV_DS1307=y
247CONFIG_RTC_DRV_PCF8563=y
248CONFIG_RTC_DRV_AT91RM9200=y 141CONFIG_RTC_DRV_AT91RM9200=y
249CONFIG_EXT2_FS=y 142CONFIG_EXT4_FS=y
250CONFIG_EXT2_FS_XATTR=y
251CONFIG_EXT3_FS=y
252# CONFIG_EXT3_FS_XATTR is not set
253CONFIG_REISERFS_FS=y
254CONFIG_AUTOFS4_FS=y 143CONFIG_AUTOFS4_FS=y
255CONFIG_ISO9660_FS=y
256CONFIG_JOLIET=y
257CONFIG_ZISOFS=y
258CONFIG_UDF_FS=y
259CONFIG_MSDOS_FS=y
260CONFIG_VFAT_FS=y 144CONFIG_VFAT_FS=y
261CONFIG_NTFS_FS=m
262CONFIG_TMPFS=y 145CONFIG_TMPFS=y
263CONFIG_CONFIGFS_FS=y 146CONFIG_UBIFS_FS=y
264CONFIG_JFFS2_FS=y 147CONFIG_UBIFS_FS_ADVANCED_COMPR=y
265CONFIG_JFFS2_SUMMARY=y
266CONFIG_JFFS2_COMPRESSION_OPTIONS=y
267CONFIG_JFFS2_LZO=y
268CONFIG_JFFS2_RUBIN=y
269CONFIG_CRAMFS=y
270CONFIG_MINIX_FS=y
271CONFIG_NFS_FS=y 148CONFIG_NFS_FS=y
272CONFIG_NFS_V3=y
273CONFIG_NFS_V3_ACL=y
274CONFIG_NFS_V4=y
275CONFIG_ROOT_NFS=y 149CONFIG_ROOT_NFS=y
276CONFIG_NFSD=y
277CONFIG_CIFS=m
278CONFIG_PARTITION_ADVANCED=y
279CONFIG_MAC_PARTITION=y
280CONFIG_NLS_CODEPAGE_437=y 150CONFIG_NLS_CODEPAGE_437=y
281CONFIG_NLS_CODEPAGE_737=m 151CONFIG_NLS_CODEPAGE_850=y
282CONFIG_NLS_CODEPAGE_775=m
283CONFIG_NLS_CODEPAGE_850=m
284CONFIG_NLS_CODEPAGE_852=m
285CONFIG_NLS_CODEPAGE_855=m
286CONFIG_NLS_CODEPAGE_857=m
287CONFIG_NLS_CODEPAGE_860=m
288CONFIG_NLS_CODEPAGE_861=m
289CONFIG_NLS_CODEPAGE_862=m
290CONFIG_NLS_CODEPAGE_863=m
291CONFIG_NLS_CODEPAGE_864=m
292CONFIG_NLS_CODEPAGE_865=m
293CONFIG_NLS_CODEPAGE_866=m
294CONFIG_NLS_CODEPAGE_869=m
295CONFIG_NLS_CODEPAGE_936=m
296CONFIG_NLS_CODEPAGE_950=m
297CONFIG_NLS_CODEPAGE_932=m
298CONFIG_NLS_CODEPAGE_949=m
299CONFIG_NLS_CODEPAGE_874=m
300CONFIG_NLS_ISO8859_8=m
301CONFIG_NLS_CODEPAGE_1250=m
302CONFIG_NLS_CODEPAGE_1251=m
303CONFIG_NLS_ASCII=m
304CONFIG_NLS_ISO8859_1=y 152CONFIG_NLS_ISO8859_1=y
305CONFIG_NLS_ISO8859_2=m
306CONFIG_NLS_ISO8859_3=m
307CONFIG_NLS_ISO8859_4=m
308CONFIG_NLS_ISO8859_5=m
309CONFIG_NLS_ISO8859_6=m
310CONFIG_NLS_ISO8859_7=m
311CONFIG_NLS_ISO8859_9=m
312CONFIG_NLS_ISO8859_13=m
313CONFIG_NLS_ISO8859_14=m
314CONFIG_NLS_ISO8859_15=m
315CONFIG_NLS_KOI8_R=m
316CONFIG_NLS_KOI8_U=m
317CONFIG_NLS_UTF8=y 153CONFIG_NLS_UTF8=y
318CONFIG_MAGIC_SYSRQ=y 154CONFIG_MAGIC_SYSRQ=y
319CONFIG_DEBUG_FS=y 155CONFIG_DEBUG_FS=y
320CONFIG_DEBUG_KERNEL=y 156CONFIG_DEBUG_KERNEL=y
321# CONFIG_FTRACE is not set 157# CONFIG_FTRACE is not set
158CONFIG_DEBUG_USER=y
159CONFIG_DEBUG_LL=y
160CONFIG_EARLY_PRINTK=y
322CONFIG_CRYPTO_PCBC=y 161CONFIG_CRYPTO_PCBC=y
323CONFIG_CRYPTO_SHA1=y 162CONFIG_CRYPTO_SHA1=y
163CONFIG_XZ_DEC_ARMTHUMB=y
diff --git a/arch/arm/configs/at91sam9g20_defconfig b/arch/arm/configs/at91sam9260_9g20_defconfig
index 892e8287ed73..69b6928d3d9d 100644
--- a/arch/arm/configs/at91sam9g20_defconfig
+++ b/arch/arm/configs/at91sam9260_9g20_defconfig
@@ -1,4 +1,3 @@
1CONFIG_EXPERIMENTAL=y
2# CONFIG_LOCALVERSION_AUTO is not set 1# CONFIG_LOCALVERSION_AUTO is not set
3# CONFIG_SWAP is not set 2# CONFIG_SWAP is not set
4CONFIG_SYSVIPC=y 3CONFIG_SYSVIPC=y
@@ -11,7 +10,14 @@ CONFIG_MODULE_UNLOAD=y
11# CONFIG_IOSCHED_DEADLINE is not set 10# CONFIG_IOSCHED_DEADLINE is not set
12# CONFIG_IOSCHED_CFQ is not set 11# CONFIG_IOSCHED_CFQ is not set
13CONFIG_ARCH_AT91=y 12CONFIG_ARCH_AT91=y
14CONFIG_ARCH_AT91SAM9G20=y 13CONFIG_ARCH_AT91SAM9260=y
14CONFIG_MACH_AT91SAM9260EK=y
15CONFIG_MACH_CAM60=y
16CONFIG_MACH_SAM9_L9260=y
17CONFIG_MACH_AFEB9260=y
18CONFIG_MACH_QIL_A9260=y
19CONFIG_MACH_CPU9260=y
20CONFIG_MACH_FLEXIBITY=y
15CONFIG_MACH_AT91SAM9G20EK=y 21CONFIG_MACH_AT91SAM9G20EK=y
16CONFIG_MACH_AT91SAM9G20EK_2MMC=y 22CONFIG_MACH_AT91SAM9G20EK_2MMC=y
17CONFIG_MACH_CPU9G20=y 23CONFIG_MACH_CPU9G20=y
@@ -20,10 +26,10 @@ CONFIG_MACH_PORTUXG20=y
20CONFIG_MACH_STAMP9G20=y 26CONFIG_MACH_STAMP9G20=y
21CONFIG_MACH_PCONTROL_G20=y 27CONFIG_MACH_PCONTROL_G20=y
22CONFIG_MACH_GSIA18S=y 28CONFIG_MACH_GSIA18S=y
23CONFIG_MACH_USB_A9G20=y
24CONFIG_MACH_SNAPPER_9260=y 29CONFIG_MACH_SNAPPER_9260=y
25CONFIG_MACH_AT91SAM9_DT=y 30CONFIG_MACH_AT91SAM9_DT=y
26CONFIG_AT91_PROGRAMMABLE_CLOCKS=y 31CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
32CONFIG_AT91_SLOW_CLOCK=y
27# CONFIG_ARM_THUMB is not set 33# CONFIG_ARM_THUMB is not set
28CONFIG_AEABI=y 34CONFIG_AEABI=y
29CONFIG_LEDS=y 35CONFIG_LEDS=y
@@ -33,12 +39,14 @@ CONFIG_ZBOOT_ROM_BSS=0x0
33CONFIG_ARM_APPENDED_DTB=y 39CONFIG_ARM_APPENDED_DTB=y
34CONFIG_ARM_ATAG_DTB_COMPAT=y 40CONFIG_ARM_ATAG_DTB_COMPAT=y
35CONFIG_CMDLINE="mem=64M console=ttyS0,115200 initrd=0x21100000,3145728 root=/dev/ram0 rw" 41CONFIG_CMDLINE="mem=64M console=ttyS0,115200 initrd=0x21100000,3145728 root=/dev/ram0 rw"
42CONFIG_AUTO_ZRELADDR=y
36CONFIG_FPE_NWFPE=y 43CONFIG_FPE_NWFPE=y
37CONFIG_NET=y 44CONFIG_NET=y
38CONFIG_PACKET=y 45CONFIG_PACKET=y
39CONFIG_UNIX=y 46CONFIG_UNIX=y
40CONFIG_INET=y 47CONFIG_INET=y
41CONFIG_IP_PNP=y 48CONFIG_IP_PNP=y
49CONFIG_IP_PNP_DHCP=y
42CONFIG_IP_PNP_BOOTP=y 50CONFIG_IP_PNP_BOOTP=y
43# CONFIG_INET_XFRM_MODE_TRANSPORT is not set 51# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
44# CONFIG_INET_XFRM_MODE_TUNNEL is not set 52# CONFIG_INET_XFRM_MODE_TUNNEL is not set
@@ -46,8 +54,11 @@ CONFIG_IP_PNP_BOOTP=y
46# CONFIG_INET_LRO is not set 54# CONFIG_INET_LRO is not set
47# CONFIG_IPV6 is not set 55# CONFIG_IPV6 is not set
48CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 56CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
57CONFIG_DEVTMPFS=y
58CONFIG_DEVTMPFS_MOUNT=y
49CONFIG_MTD=y 59CONFIG_MTD=y
50CONFIG_MTD_CMDLINE_PARTS=y 60CONFIG_MTD_CMDLINE_PARTS=y
61CONFIG_MTD_OF_PARTS=y
51CONFIG_MTD_CHAR=y 62CONFIG_MTD_CHAR=y
52CONFIG_MTD_BLOCK=y 63CONFIG_MTD_BLOCK=y
53CONFIG_MTD_DATAFLASH=y 64CONFIG_MTD_DATAFLASH=y
@@ -56,6 +67,8 @@ CONFIG_MTD_NAND_ATMEL=y
56CONFIG_BLK_DEV_LOOP=y 67CONFIG_BLK_DEV_LOOP=y
57CONFIG_BLK_DEV_RAM=y 68CONFIG_BLK_DEV_RAM=y
58CONFIG_BLK_DEV_RAM_SIZE=8192 69CONFIG_BLK_DEV_RAM_SIZE=8192
70CONFIG_MISC_DEVICES=y
71CONFIG_EEPROM_AT25=y
59CONFIG_SCSI=y 72CONFIG_SCSI=y
60CONFIG_BLK_DEV_SD=y 73CONFIG_BLK_DEV_SD=y
61CONFIG_SCSI_MULTI_LUN=y 74CONFIG_SCSI_MULTI_LUN=y
@@ -63,23 +76,36 @@ CONFIG_SCSI_MULTI_LUN=y
63CONFIG_NETDEVICES=y 76CONFIG_NETDEVICES=y
64CONFIG_MII=y 77CONFIG_MII=y
65CONFIG_MACB=y 78CONFIG_MACB=y
79# CONFIG_NET_VENDOR_BROADCOM is not set
80# CONFIG_NET_VENDOR_CHELSIO is not set
81# CONFIG_NET_VENDOR_FARADAY is not set
82# CONFIG_NET_VENDOR_INTEL is not set
83# CONFIG_NET_VENDOR_MARVELL is not set
84# CONFIG_NET_VENDOR_MICREL is not set
85# CONFIG_NET_VENDOR_MICROCHIP is not set
86# CONFIG_NET_VENDOR_NATSEMI is not set
87# CONFIG_NET_VENDOR_SEEQ is not set
88# CONFIG_NET_VENDOR_SMSC is not set
89# CONFIG_NET_VENDOR_STMICRO is not set
90CONFIG_SMSC_PHY=y
66# CONFIG_INPUT_MOUSEDEV_PSAUX is not set 91# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
67CONFIG_INPUT_MOUSEDEV_SCREEN_X=320
68CONFIG_INPUT_MOUSEDEV_SCREEN_Y=240
69CONFIG_INPUT_EVDEV=y
70# CONFIG_KEYBOARD_ATKBD is not set
71CONFIG_KEYBOARD_GPIO=y 92CONFIG_KEYBOARD_GPIO=y
72# CONFIG_INPUT_MOUSE is not set 93# CONFIG_INPUT_MOUSE is not set
73CONFIG_LEGACY_PTY_COUNT=16 94# CONFIG_SERIO is not set
74CONFIG_SERIAL_ATMEL=y 95CONFIG_SERIAL_ATMEL=y
75CONFIG_SERIAL_ATMEL_CONSOLE=y 96CONFIG_SERIAL_ATMEL_CONSOLE=y
76CONFIG_HW_RANDOM=y 97CONFIG_HW_RANDOM=y
77CONFIG_I2C=y 98CONFIG_I2C=y
99CONFIG_I2C_CHARDEV=y
78CONFIG_I2C_GPIO=y 100CONFIG_I2C_GPIO=y
79CONFIG_SPI=y 101CONFIG_SPI=y
80CONFIG_SPI_ATMEL=y 102CONFIG_SPI_ATMEL=y
81CONFIG_SPI_SPIDEV=y 103CONFIG_SPI_SPIDEV=y
104CONFIG_GPIO_SYSFS=y
82# CONFIG_HWMON is not set 105# CONFIG_HWMON is not set
106CONFIG_WATCHDOG=y
107CONFIG_WATCHDOG_NOWAYOUT=y
108CONFIG_AT91SAM9X_WATCHDOG=y
83CONFIG_SOUND=y 109CONFIG_SOUND=y
84CONFIG_SND=y 110CONFIG_SND=y
85CONFIG_SND_SEQUENCER=y 111CONFIG_SND_SEQUENCER=y
@@ -94,12 +120,11 @@ CONFIG_USB_MON=y
94CONFIG_USB_OHCI_HCD=y 120CONFIG_USB_OHCI_HCD=y
95CONFIG_USB_STORAGE=y 121CONFIG_USB_STORAGE=y
96CONFIG_USB_GADGET=y 122CONFIG_USB_GADGET=y
97CONFIG_USB_ZERO=m 123CONFIG_USB_AT91=y
98CONFIG_USB_GADGETFS=m 124CONFIG_USB_G_SERIAL=y
99CONFIG_USB_MASS_STORAGE=m
100CONFIG_USB_G_SERIAL=m
101CONFIG_MMC=y 125CONFIG_MMC=y
102CONFIG_MMC_ATMELMCI=m 126CONFIG_MMC_ATMELMCI=y
127CONFIG_MMC_SPI=y
103CONFIG_NEW_LEDS=y 128CONFIG_NEW_LEDS=y
104CONFIG_LEDS_CLASS=y 129CONFIG_LEDS_CLASS=y
105CONFIG_LEDS_GPIO=y 130CONFIG_LEDS_GPIO=y
@@ -109,15 +134,12 @@ CONFIG_LEDS_TRIGGER_HEARTBEAT=y
109CONFIG_RTC_CLASS=y 134CONFIG_RTC_CLASS=y
110CONFIG_RTC_DRV_RV3029C2=y 135CONFIG_RTC_DRV_RV3029C2=y
111CONFIG_RTC_DRV_AT91SAM9=y 136CONFIG_RTC_DRV_AT91SAM9=y
112CONFIG_EXT2_FS=y 137CONFIG_EXT4_FS=y
113CONFIG_MSDOS_FS=y
114CONFIG_VFAT_FS=y 138CONFIG_VFAT_FS=y
115CONFIG_TMPFS=y 139CONFIG_TMPFS=y
116CONFIG_JFFS2_FS=y 140CONFIG_UBIFS_FS=y
117CONFIG_JFFS2_SUMMARY=y 141CONFIG_UBIFS_FS_ADVANCED_COMPR=y
118CONFIG_CRAMFS=y
119CONFIG_NFS_FS=y 142CONFIG_NFS_FS=y
120CONFIG_NFS_V3=y
121CONFIG_ROOT_NFS=y 143CONFIG_ROOT_NFS=y
122CONFIG_NLS_CODEPAGE_437=y 144CONFIG_NLS_CODEPAGE_437=y
123CONFIG_NLS_CODEPAGE_850=y 145CONFIG_NLS_CODEPAGE_850=y
@@ -125,3 +147,9 @@ CONFIG_NLS_ISO8859_1=y
125CONFIG_NLS_ISO8859_15=y 147CONFIG_NLS_ISO8859_15=y
126CONFIG_NLS_UTF8=y 148CONFIG_NLS_UTF8=y
127# CONFIG_ENABLE_WARN_DEPRECATED is not set 149# CONFIG_ENABLE_WARN_DEPRECATED is not set
150CONFIG_DEBUG_KERNEL=y
151CONFIG_DEBUG_INFO=y
152# CONFIG_FTRACE is not set
153CONFIG_DEBUG_LL=y
154CONFIG_AT91_DEBUG_LL_DBGU0=y
155CONFIG_EARLY_PRINTK=y
diff --git a/arch/arm/configs/at91sam9260_defconfig b/arch/arm/configs/at91sam9260_defconfig
deleted file mode 100644
index 05618eb694f8..000000000000
--- a/arch/arm/configs/at91sam9260_defconfig
+++ /dev/null
@@ -1,91 +0,0 @@
1CONFIG_EXPERIMENTAL=y
2# CONFIG_LOCALVERSION_AUTO is not set
3# CONFIG_SWAP is not set
4CONFIG_SYSVIPC=y
5CONFIG_LOG_BUF_SHIFT=14
6CONFIG_BLK_DEV_INITRD=y
7CONFIG_SLAB=y
8CONFIG_MODULES=y
9CONFIG_MODULE_UNLOAD=y
10# CONFIG_BLK_DEV_BSG is not set
11# CONFIG_IOSCHED_DEADLINE is not set
12# CONFIG_IOSCHED_CFQ is not set
13CONFIG_ARCH_AT91=y
14CONFIG_ARCH_AT91SAM9260=y
15CONFIG_ARCH_AT91SAM9260_SAM9XE=y
16CONFIG_MACH_AT91SAM9260EK=y
17CONFIG_MACH_CAM60=y
18CONFIG_MACH_SAM9_L9260=y
19CONFIG_MACH_AFEB9260=y
20CONFIG_MACH_USB_A9260=y
21CONFIG_MACH_QIL_A9260=y
22CONFIG_MACH_CPU9260=y
23CONFIG_MACH_FLEXIBITY=y
24CONFIG_MACH_SNAPPER_9260=y
25CONFIG_MACH_AT91SAM9_DT=y
26CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
27# CONFIG_ARM_THUMB is not set
28CONFIG_ZBOOT_ROM_TEXT=0x0
29CONFIG_ZBOOT_ROM_BSS=0x0
30CONFIG_ARM_APPENDED_DTB=y
31CONFIG_ARM_ATAG_DTB_COMPAT=y
32CONFIG_CMDLINE="mem=64M console=ttyS0,115200 initrd=0x21100000,3145728 root=/dev/ram0 rw"
33CONFIG_FPE_NWFPE=y
34CONFIG_NET=y
35CONFIG_PACKET=y
36CONFIG_UNIX=y
37CONFIG_INET=y
38CONFIG_IP_PNP=y
39CONFIG_IP_PNP_BOOTP=y
40# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
41# CONFIG_INET_XFRM_MODE_TUNNEL is not set
42# CONFIG_INET_XFRM_MODE_BEET is not set
43# CONFIG_INET_LRO is not set
44# CONFIG_IPV6 is not set
45CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
46CONFIG_BLK_DEV_RAM=y
47CONFIG_BLK_DEV_RAM_SIZE=8192
48CONFIG_SCSI=y
49CONFIG_BLK_DEV_SD=y
50CONFIG_SCSI_MULTI_LUN=y
51CONFIG_NETDEVICES=y
52CONFIG_MII=y
53CONFIG_MACB=y
54# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
55# CONFIG_INPUT_KEYBOARD is not set
56# CONFIG_INPUT_MOUSE is not set
57# CONFIG_SERIO is not set
58CONFIG_SERIAL_ATMEL=y
59CONFIG_SERIAL_ATMEL_CONSOLE=y
60# CONFIG_HW_RANDOM is not set
61CONFIG_I2C=y
62CONFIG_I2C_CHARDEV=y
63CONFIG_I2C_GPIO=y
64# CONFIG_HWMON is not set
65CONFIG_WATCHDOG=y
66CONFIG_WATCHDOG_NOWAYOUT=y
67CONFIG_AT91SAM9X_WATCHDOG=y
68# CONFIG_USB_HID is not set
69CONFIG_USB=y
70CONFIG_USB_DEVICEFS=y
71CONFIG_USB_MON=y
72CONFIG_USB_OHCI_HCD=y
73CONFIG_USB_STORAGE=y
74CONFIG_USB_STORAGE_DEBUG=y
75CONFIG_USB_GADGET=y
76CONFIG_USB_ZERO=m
77CONFIG_USB_GADGETFS=m
78CONFIG_USB_MASS_STORAGE=m
79CONFIG_USB_G_SERIAL=m
80CONFIG_RTC_CLASS=y
81CONFIG_RTC_DRV_AT91SAM9=y
82CONFIG_EXT2_FS=y
83CONFIG_VFAT_FS=y
84CONFIG_TMPFS=y
85CONFIG_CRAMFS=y
86CONFIG_NLS_CODEPAGE_437=y
87CONFIG_NLS_CODEPAGE_850=y
88CONFIG_NLS_ISO8859_1=y
89CONFIG_DEBUG_KERNEL=y
90CONFIG_DEBUG_USER=y
91CONFIG_DEBUG_LL=y
diff --git a/arch/arm/configs/at91sam9261_defconfig b/arch/arm/configs/at91sam9261_9g10_defconfig
index c87beb973b37..9d35cd81c611 100644
--- a/arch/arm/configs/at91sam9261_defconfig
+++ b/arch/arm/configs/at91sam9261_9g10_defconfig
@@ -17,6 +17,7 @@ CONFIG_MODULE_UNLOAD=y
17CONFIG_ARCH_AT91=y 17CONFIG_ARCH_AT91=y
18CONFIG_ARCH_AT91SAM9261=y 18CONFIG_ARCH_AT91SAM9261=y
19CONFIG_MACH_AT91SAM9261EK=y 19CONFIG_MACH_AT91SAM9261EK=y
20CONFIG_MACH_AT91SAM9G10EK=y
20CONFIG_AT91_PROGRAMMABLE_CLOCKS=y 21CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
21# CONFIG_ARM_THUMB is not set 22# CONFIG_ARM_THUMB is not set
22CONFIG_AEABI=y 23CONFIG_AEABI=y
@@ -38,11 +39,11 @@ CONFIG_IP_PNP_BOOTP=y
38# CONFIG_INET_LRO is not set 39# CONFIG_INET_LRO is not set
39# CONFIG_IPV6 is not set 40# CONFIG_IPV6 is not set
40CONFIG_CFG80211=y 41CONFIG_CFG80211=y
41CONFIG_LIB80211=y
42CONFIG_MAC80211=y 42CONFIG_MAC80211=y
43CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 43CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
44CONFIG_DEVTMPFS=y
45CONFIG_DEVTMPFS_MOUNT=y
44CONFIG_MTD=y 46CONFIG_MTD=y
45CONFIG_MTD_PARTITIONS=y
46CONFIG_MTD_CMDLINE_PARTS=y 47CONFIG_MTD_CMDLINE_PARTS=y
47CONFIG_MTD_BLOCK=y 48CONFIG_MTD_BLOCK=y
48CONFIG_MTD_NAND=y 49CONFIG_MTD_NAND=y
@@ -51,17 +52,13 @@ CONFIG_MTD_UBI=y
51CONFIG_MTD_UBI_GLUEBI=y 52CONFIG_MTD_UBI_GLUEBI=y
52CONFIG_BLK_DEV_RAM=y 53CONFIG_BLK_DEV_RAM=y
53CONFIG_BLK_DEV_RAM_SIZE=8192 54CONFIG_BLK_DEV_RAM_SIZE=8192
54CONFIG_MISC_DEVICES=y
55CONFIG_ATMEL_TCLIB=y 55CONFIG_ATMEL_TCLIB=y
56CONFIG_ATMEL_SSC=y 56CONFIG_ATMEL_SSC=y
57CONFIG_SCSI=y 57CONFIG_SCSI=y
58CONFIG_BLK_DEV_SD=y 58CONFIG_BLK_DEV_SD=y
59CONFIG_SCSI_MULTI_LUN=y 59CONFIG_SCSI_MULTI_LUN=y
60CONFIG_NETDEVICES=y 60CONFIG_NETDEVICES=y
61CONFIG_NET_ETHERNET=y
62CONFIG_DM9000=y 61CONFIG_DM9000=y
63# CONFIG_NETDEV_1000 is not set
64# CONFIG_NETDEV_10000 is not set
65CONFIG_USB_ZD1201=m 62CONFIG_USB_ZD1201=m
66CONFIG_RTL8187=m 63CONFIG_RTL8187=m
67CONFIG_LIBERTAS=m 64CONFIG_LIBERTAS=m
@@ -118,15 +115,11 @@ CONFIG_SND_AT73C213=y
118CONFIG_SND_USB_AUDIO=m 115CONFIG_SND_USB_AUDIO=m
119# CONFIG_USB_HID is not set 116# CONFIG_USB_HID is not set
120CONFIG_USB=y 117CONFIG_USB=y
121CONFIG_USB_DEVICEFS=y
122CONFIG_USB_OHCI_HCD=y 118CONFIG_USB_OHCI_HCD=y
123CONFIG_USB_STORAGE=y 119CONFIG_USB_STORAGE=y
124CONFIG_USB_GADGET=y 120CONFIG_USB_GADGET=y
125CONFIG_USB_ZERO=m 121CONFIG_USB_AT91=y
126CONFIG_USB_ETH=m 122CONFIG_USB_G_SERIAL=y
127CONFIG_USB_GADGETFS=m
128CONFIG_USB_MASS_STORAGE=m
129CONFIG_USB_G_SERIAL=m
130CONFIG_MMC=y 123CONFIG_MMC=y
131CONFIG_MMC_ATMELMCI=m 124CONFIG_MMC_ATMELMCI=m
132CONFIG_NEW_LEDS=y 125CONFIG_NEW_LEDS=y
@@ -147,12 +140,10 @@ CONFIG_SQUASHFS=y
147CONFIG_SQUASHFS_LZO=y 140CONFIG_SQUASHFS_LZO=y
148CONFIG_SQUASHFS_XZ=y 141CONFIG_SQUASHFS_XZ=y
149CONFIG_NFS_FS=y 142CONFIG_NFS_FS=y
150CONFIG_NFS_V3=y
151CONFIG_ROOT_NFS=y 143CONFIG_ROOT_NFS=y
152CONFIG_NLS_CODEPAGE_437=y 144CONFIG_NLS_CODEPAGE_437=y
153CONFIG_NLS_CODEPAGE_850=y 145CONFIG_NLS_CODEPAGE_850=y
154CONFIG_NLS_ISO8859_1=y 146CONFIG_NLS_ISO8859_1=y
155CONFIG_NLS_ISO8859_15=y 147CONFIG_NLS_ISO8859_15=y
156CONFIG_NLS_UTF8=y 148CONFIG_NLS_UTF8=y
157CONFIG_FTRACE=y
158CONFIG_CRC_CCITT=m 149CONFIG_CRC_CCITT=m
diff --git a/arch/arm/configs/at91sam9263_defconfig b/arch/arm/configs/at91sam9263_defconfig
index 36fed66bd4b5..e40026364e57 100644
--- a/arch/arm/configs/at91sam9263_defconfig
+++ b/arch/arm/configs/at91sam9263_defconfig
@@ -1,6 +1,4 @@
1CONFIG_EXPERIMENTAL=y
2# CONFIG_LOCALVERSION_AUTO is not set 1# CONFIG_LOCALVERSION_AUTO is not set
3CONFIG_KERNEL_LZMA=y
4# CONFIG_SWAP is not set 2# CONFIG_SWAP is not set
5CONFIG_SYSVIPC=y 3CONFIG_SYSVIPC=y
6CONFIG_IKCONFIG=y 4CONFIG_IKCONFIG=y
@@ -17,7 +15,6 @@ CONFIG_MODULE_UNLOAD=y
17CONFIG_ARCH_AT91=y 15CONFIG_ARCH_AT91=y
18CONFIG_ARCH_AT91SAM9263=y 16CONFIG_ARCH_AT91SAM9263=y
19CONFIG_MACH_AT91SAM9263EK=y 17CONFIG_MACH_AT91SAM9263EK=y
20CONFIG_MACH_USB_A9263=y
21CONFIG_MTD_AT91_DATAFLASH_CARD=y 18CONFIG_MTD_AT91_DATAFLASH_CARD=y
22# CONFIG_ARM_THUMB is not set 19# CONFIG_ARM_THUMB is not set
23CONFIG_AEABI=y 20CONFIG_AEABI=y
@@ -48,9 +45,11 @@ CONFIG_IP_PIMSM_V2=y
48# CONFIG_INET_LRO is not set 45# CONFIG_INET_LRO is not set
49# CONFIG_INET_DIAG is not set 46# CONFIG_INET_DIAG is not set
50CONFIG_IPV6=y 47CONFIG_IPV6=y
48# CONFIG_WIRELESS is not set
51CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 49CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
50CONFIG_DEVTMPFS=y
51CONFIG_DEVTMPFS_MOUNT=y
52CONFIG_MTD=y 52CONFIG_MTD=y
53CONFIG_MTD_PARTITIONS=y
54CONFIG_MTD_CMDLINE_PARTS=y 53CONFIG_MTD_CMDLINE_PARTS=y
55CONFIG_MTD_CHAR=y 54CONFIG_MTD_CHAR=y
56CONFIG_MTD_BLOCK=y 55CONFIG_MTD_BLOCK=y
@@ -65,7 +64,6 @@ CONFIG_MTD_UBI_GLUEBI=y
65CONFIG_BLK_DEV_LOOP=y 64CONFIG_BLK_DEV_LOOP=y
66CONFIG_BLK_DEV_RAM=y 65CONFIG_BLK_DEV_RAM=y
67CONFIG_BLK_DEV_RAM_SIZE=8192 66CONFIG_BLK_DEV_RAM_SIZE=8192
68CONFIG_MISC_DEVICES=y
69CONFIG_ATMEL_PWM=y 67CONFIG_ATMEL_PWM=y
70CONFIG_ATMEL_TCLIB=y 68CONFIG_ATMEL_TCLIB=y
71CONFIG_SCSI=y 69CONFIG_SCSI=y
@@ -73,23 +71,18 @@ CONFIG_BLK_DEV_SD=y
73CONFIG_SCSI_MULTI_LUN=y 71CONFIG_SCSI_MULTI_LUN=y
74CONFIG_NETDEVICES=y 72CONFIG_NETDEVICES=y
75CONFIG_MII=y 73CONFIG_MII=y
76CONFIG_SMSC_PHY=y
77CONFIG_NET_ETHERNET=y
78CONFIG_MACB=y 74CONFIG_MACB=y
79# CONFIG_NETDEV_1000 is not set 75CONFIG_SMSC_PHY=y
80# CONFIG_NETDEV_10000 is not set 76# CONFIG_WLAN is not set
81CONFIG_USB_ZD1201=m
82CONFIG_INPUT_POLLDEV=m 77CONFIG_INPUT_POLLDEV=m
83# CONFIG_INPUT_MOUSEDEV_PSAUX is not set 78# CONFIG_INPUT_MOUSEDEV is not set
84CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
85CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
86CONFIG_INPUT_EVDEV=y 79CONFIG_INPUT_EVDEV=y
87# CONFIG_KEYBOARD_ATKBD is not set 80# CONFIG_KEYBOARD_ATKBD is not set
88CONFIG_KEYBOARD_GPIO=y 81CONFIG_KEYBOARD_GPIO=y
89# CONFIG_INPUT_MOUSE is not set 82# CONFIG_INPUT_MOUSE is not set
90CONFIG_INPUT_TOUCHSCREEN=y 83CONFIG_INPUT_TOUCHSCREEN=y
91CONFIG_TOUCHSCREEN_ADS7846=y 84CONFIG_TOUCHSCREEN_ADS7846=y
92CONFIG_LEGACY_PTY_COUNT=4 85# CONFIG_LEGACY_PTYS is not set
93CONFIG_SERIAL_ATMEL=y 86CONFIG_SERIAL_ATMEL=y
94CONFIG_SERIAL_ATMEL_CONSOLE=y 87CONFIG_SERIAL_ATMEL_CONSOLE=y
95CONFIG_HW_RANDOM=y 88CONFIG_HW_RANDOM=y
@@ -98,6 +91,7 @@ CONFIG_I2C_CHARDEV=y
98CONFIG_I2C_GPIO=y 91CONFIG_I2C_GPIO=y
99CONFIG_SPI=y 92CONFIG_SPI=y
100CONFIG_SPI_ATMEL=y 93CONFIG_SPI_ATMEL=y
94CONFIG_GPIO_SYSFS=y
101# CONFIG_HWMON is not set 95# CONFIG_HWMON is not set
102CONFIG_WATCHDOG=y 96CONFIG_WATCHDOG=y
103CONFIG_WATCHDOG_NOWAYOUT=y 97CONFIG_WATCHDOG_NOWAYOUT=y
@@ -107,9 +101,9 @@ CONFIG_FB_ATMEL=y
107CONFIG_BACKLIGHT_LCD_SUPPORT=y 101CONFIG_BACKLIGHT_LCD_SUPPORT=y
108CONFIG_LCD_CLASS_DEVICE=y 102CONFIG_LCD_CLASS_DEVICE=y
109CONFIG_BACKLIGHT_CLASS_DEVICE=y 103CONFIG_BACKLIGHT_CLASS_DEVICE=y
110CONFIG_BACKLIGHT_ATMEL_LCDC=y
111CONFIG_FRAMEBUFFER_CONSOLE=y 104CONFIG_FRAMEBUFFER_CONSOLE=y
112CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y 105CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
106CONFIG_FONTS=y
113CONFIG_LOGO=y 107CONFIG_LOGO=y
114CONFIG_SOUND=y 108CONFIG_SOUND=y
115CONFIG_SND=y 109CONFIG_SND=y
@@ -124,16 +118,12 @@ CONFIG_SND_ATMEL_AC97C=y
124# CONFIG_SND_SPI is not set 118# CONFIG_SND_SPI is not set
125CONFIG_SND_USB_AUDIO=m 119CONFIG_SND_USB_AUDIO=m
126CONFIG_USB=y 120CONFIG_USB=y
127CONFIG_USB_DEVICEFS=y
128CONFIG_USB_MON=y 121CONFIG_USB_MON=y
129CONFIG_USB_OHCI_HCD=y 122CONFIG_USB_OHCI_HCD=y
130CONFIG_USB_STORAGE=y 123CONFIG_USB_STORAGE=y
131CONFIG_USB_GADGET=y 124CONFIG_USB_GADGET=y
132CONFIG_USB_ZERO=m 125CONFIG_USB_ATMEL_USBA=y
133CONFIG_USB_ETH=m 126CONFIG_USB_G_SERIAL=y
134CONFIG_USB_GADGETFS=m
135CONFIG_USB_MASS_STORAGE=m
136CONFIG_USB_G_SERIAL=m
137CONFIG_MMC=y 127CONFIG_MMC=y
138CONFIG_SDIO_UART=m 128CONFIG_SDIO_UART=m
139CONFIG_MMC_ATMELMCI=m 129CONFIG_MMC_ATMELMCI=m
@@ -145,22 +135,18 @@ CONFIG_LEDS_TRIGGERS=y
145CONFIG_LEDS_TRIGGER_HEARTBEAT=y 135CONFIG_LEDS_TRIGGER_HEARTBEAT=y
146CONFIG_RTC_CLASS=y 136CONFIG_RTC_CLASS=y
147CONFIG_RTC_DRV_AT91SAM9=y 137CONFIG_RTC_DRV_AT91SAM9=y
148CONFIG_EXT2_FS=y 138CONFIG_EXT4_FS=y
149CONFIG_FUSE_FS=m
150CONFIG_VFAT_FS=y 139CONFIG_VFAT_FS=y
151CONFIG_TMPFS=y 140CONFIG_TMPFS=y
152CONFIG_JFFS2_FS=y
153CONFIG_UBIFS_FS=y 141CONFIG_UBIFS_FS=y
154CONFIG_UBIFS_FS_ADVANCED_COMPR=y 142CONFIG_UBIFS_FS_ADVANCED_COMPR=y
155CONFIG_CRAMFS=y
156CONFIG_NFS_FS=y 143CONFIG_NFS_FS=y
157CONFIG_NFS_V3=y
158CONFIG_NFS_V3_ACL=y 144CONFIG_NFS_V3_ACL=y
159CONFIG_NFS_V4=y 145CONFIG_NFS_V4=y
160CONFIG_ROOT_NFS=y 146CONFIG_ROOT_NFS=y
161CONFIG_NLS_CODEPAGE_437=y 147CONFIG_NLS_CODEPAGE_437=y
162CONFIG_NLS_CODEPAGE_850=y 148CONFIG_NLS_CODEPAGE_850=y
163CONFIG_NLS_ISO8859_1=y 149CONFIG_NLS_ISO8859_1=y
164CONFIG_FTRACE=y 150CONFIG_NLS_UTF8=y
165CONFIG_DEBUG_USER=y 151CONFIG_DEBUG_USER=y
166CONFIG_XZ_DEC=y 152CONFIG_XZ_DEC=y
diff --git a/arch/arm/configs/at91sam9g45_defconfig b/arch/arm/configs/at91sam9g45_defconfig
index 18964cdacd68..08166cd4e7d6 100644
--- a/arch/arm/configs/at91sam9g45_defconfig
+++ b/arch/arm/configs/at91sam9g45_defconfig
@@ -1,4 +1,3 @@
1CONFIG_EXPERIMENTAL=y
2# CONFIG_LOCALVERSION_AUTO is not set 1# CONFIG_LOCALVERSION_AUTO is not set
3# CONFIG_SWAP is not set 2# CONFIG_SWAP is not set
4CONFIG_SYSVIPC=y 3CONFIG_SYSVIPC=y
@@ -23,8 +22,6 @@ CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
23CONFIG_AT91_SLOW_CLOCK=y 22CONFIG_AT91_SLOW_CLOCK=y
24CONFIG_AEABI=y 23CONFIG_AEABI=y
25# CONFIG_OABI_COMPAT is not set 24# CONFIG_OABI_COMPAT is not set
26CONFIG_LEDS=y
27CONFIG_LEDS_CPU=y
28CONFIG_UACCESS_WITH_MEMCPY=y 25CONFIG_UACCESS_WITH_MEMCPY=y
29CONFIG_ZBOOT_ROM_TEXT=0x0 26CONFIG_ZBOOT_ROM_TEXT=0x0
30CONFIG_ZBOOT_ROM_BSS=0x0 27CONFIG_ZBOOT_ROM_BSS=0x0
@@ -36,6 +33,9 @@ CONFIG_PACKET=y
36CONFIG_UNIX=y 33CONFIG_UNIX=y
37CONFIG_INET=y 34CONFIG_INET=y
38CONFIG_IP_MULTICAST=y 35CONFIG_IP_MULTICAST=y
36CONFIG_IP_PNP=y
37CONFIG_IP_PNP_DHCP=y
38CONFIG_IP_PNP_BOOTP=y
39# CONFIG_INET_XFRM_MODE_TRANSPORT is not set 39# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
40# CONFIG_INET_XFRM_MODE_TUNNEL is not set 40# CONFIG_INET_XFRM_MODE_TUNNEL is not set
41# CONFIG_INET_XFRM_MODE_BEET is not set 41# CONFIG_INET_XFRM_MODE_BEET is not set
@@ -45,9 +45,6 @@ CONFIG_IPV6=y
45# CONFIG_INET6_XFRM_MODE_TUNNEL is not set 45# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
46# CONFIG_INET6_XFRM_MODE_BEET is not set 46# CONFIG_INET6_XFRM_MODE_BEET is not set
47CONFIG_IPV6_SIT_6RD=y 47CONFIG_IPV6_SIT_6RD=y
48CONFIG_CFG80211=y
49CONFIG_LIB80211=y
50CONFIG_MAC80211=y
51CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 48CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
52CONFIG_DEVTMPFS=y 49CONFIG_DEVTMPFS=y
53CONFIG_DEVTMPFS_MOUNT=y 50CONFIG_DEVTMPFS_MOUNT=y
@@ -61,13 +58,14 @@ CONFIG_MTD_DATAFLASH=y
61CONFIG_MTD_NAND=y 58CONFIG_MTD_NAND=y
62CONFIG_MTD_NAND_ATMEL=y 59CONFIG_MTD_NAND_ATMEL=y
63CONFIG_MTD_UBI=y 60CONFIG_MTD_UBI=y
61CONFIG_MTD_UBI_GLUEBI=y
64CONFIG_BLK_DEV_LOOP=y 62CONFIG_BLK_DEV_LOOP=y
65CONFIG_BLK_DEV_RAM=y 63CONFIG_BLK_DEV_RAM=y
66CONFIG_BLK_DEV_RAM_COUNT=4 64CONFIG_BLK_DEV_RAM_COUNT=4
67CONFIG_BLK_DEV_RAM_SIZE=8192 65CONFIG_BLK_DEV_RAM_SIZE=8192
68CONFIG_MISC_DEVICES=y
69CONFIG_ATMEL_PWM=y 66CONFIG_ATMEL_PWM=y
70CONFIG_ATMEL_TCLIB=y 67CONFIG_ATMEL_TCLIB=y
68CONFIG_ATMEL_SSC=y
71CONFIG_SCSI=y 69CONFIG_SCSI=y
72CONFIG_BLK_DEV_SD=y 70CONFIG_BLK_DEV_SD=y
73CONFIG_SCSI_MULTI_LUN=y 71CONFIG_SCSI_MULTI_LUN=y
@@ -76,67 +74,40 @@ CONFIG_NETDEVICES=y
76CONFIG_MII=y 74CONFIG_MII=y
77CONFIG_MACB=y 75CONFIG_MACB=y
78CONFIG_DAVICOM_PHY=y 76CONFIG_DAVICOM_PHY=y
79CONFIG_LIBERTAS_THINFIRM=m 77# CONFIG_INPUT_MOUSEDEV is not set
80CONFIG_LIBERTAS_THINFIRM_USB=m
81CONFIG_AT76C50X_USB=m
82CONFIG_USB_ZD1201=m
83CONFIG_RTL8187=m
84CONFIG_ATH_COMMON=m
85CONFIG_ATH9K=m
86CONFIG_CARL9170=m
87CONFIG_B43=m
88CONFIG_B43_PHY_N=y
89CONFIG_LIBERTAS=m
90CONFIG_LIBERTAS_USB=m
91CONFIG_LIBERTAS_SDIO=m
92CONFIG_LIBERTAS_SPI=m
93CONFIG_RT2X00=m
94CONFIG_RT2500USB=m
95CONFIG_RT73USB=m
96CONFIG_RT2800USB=m
97CONFIG_RT2800USB_RT53XX=y
98CONFIG_RT2800USB_UNKNOWN=y
99CONFIG_RTL8192CU=m
100CONFIG_WL1251=m
101CONFIG_WL1251_SDIO=m
102CONFIG_WL12XX_MENU=m
103CONFIG_WL12XX=m
104CONFIG_WL12XX_SDIO=m
105CONFIG_ZD1211RW=m
106CONFIG_MWIFIEX=m
107CONFIG_MWIFIEX_SDIO=m
108CONFIG_INPUT_POLLDEV=m
109# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
110CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
111CONFIG_INPUT_MOUSEDEV_SCREEN_Y=272
112CONFIG_INPUT_JOYDEV=y 78CONFIG_INPUT_JOYDEV=y
113CONFIG_INPUT_EVDEV=y 79CONFIG_INPUT_EVDEV=y
114# CONFIG_KEYBOARD_ATKBD is not set 80# CONFIG_KEYBOARD_ATKBD is not set
115CONFIG_KEYBOARD_QT1070=m 81CONFIG_KEYBOARD_QT1070=y
116CONFIG_KEYBOARD_QT2160=m 82CONFIG_KEYBOARD_QT2160=y
117CONFIG_KEYBOARD_GPIO=y 83CONFIG_KEYBOARD_GPIO=y
118# CONFIG_INPUT_MOUSE is not set 84# CONFIG_INPUT_MOUSE is not set
119CONFIG_INPUT_TOUCHSCREEN=y 85CONFIG_INPUT_TOUCHSCREEN=y
120CONFIG_TOUCHSCREEN_ATMEL_MXT=m 86CONFIG_TOUCHSCREEN_ATMEL_MXT=m
121CONFIG_TOUCHSCREEN_ATMEL_TSADCC=y 87CONFIG_TOUCHSCREEN_ATMEL_TSADCC=y
122# CONFIG_SERIO is not set 88# CONFIG_SERIO is not set
123CONFIG_LEGACY_PTY_COUNT=4 89# CONFIG_LEGACY_PTYS is not set
124CONFIG_SERIAL_ATMEL=y 90CONFIG_SERIAL_ATMEL=y
125CONFIG_SERIAL_ATMEL_CONSOLE=y 91CONFIG_SERIAL_ATMEL_CONSOLE=y
126CONFIG_HW_RANDOM=y 92CONFIG_HW_RANDOM=y
127CONFIG_I2C=y 93CONFIG_I2C=y
94CONFIG_I2C_CHARDEV=y
128CONFIG_I2C_GPIO=y 95CONFIG_I2C_GPIO=y
129CONFIG_SPI=y 96CONFIG_SPI=y
130CONFIG_SPI_ATMEL=y 97CONFIG_SPI_ATMEL=y
131# CONFIG_HWMON is not set 98# CONFIG_HWMON is not set
132CONFIG_FB=y 99CONFIG_FB=y
133CONFIG_FB_ATMEL=y 100CONFIG_FB_ATMEL=y
134CONFIG_FB_UDL=m
135CONFIG_BACKLIGHT_LCD_SUPPORT=y 101CONFIG_BACKLIGHT_LCD_SUPPORT=y
136# CONFIG_LCD_CLASS_DEVICE is not set 102CONFIG_LCD_CLASS_DEVICE=y
137CONFIG_BACKLIGHT_CLASS_DEVICE=y 103CONFIG_BACKLIGHT_CLASS_DEVICE=y
138CONFIG_BACKLIGHT_ATMEL_LCDC=y 104CONFIG_BACKLIGHT_ATMEL_LCDC=y
105CONFIG_BACKLIGHT_ATMEL_PWM=y
139# CONFIG_BACKLIGHT_GENERIC is not set 106# CONFIG_BACKLIGHT_GENERIC is not set
107CONFIG_FRAMEBUFFER_CONSOLE=y
108CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
109CONFIG_FONTS=y
110CONFIG_LOGO=y
140CONFIG_SOUND=y 111CONFIG_SOUND=y
141CONFIG_SND=y 112CONFIG_SND=y
142CONFIG_SND_SEQUENCER=y 113CONFIG_SND_SEQUENCER=y
@@ -148,33 +119,25 @@ CONFIG_SND_PCM_OSS=y
148# CONFIG_SND_ARM is not set 119# CONFIG_SND_ARM is not set
149CONFIG_SND_ATMEL_AC97C=y 120CONFIG_SND_ATMEL_AC97C=y
150# CONFIG_SND_SPI is not set 121# CONFIG_SND_SPI is not set
151CONFIG_SND_USB_AUDIO=m 122# CONFIG_SND_USB is not set
152# CONFIG_USB_HID is not set 123# CONFIG_USB_HID is not set
153CONFIG_USB=y 124CONFIG_USB=y
154CONFIG_USB_ANNOUNCE_NEW_DEVICES=y 125CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
155CONFIG_USB_DEVICEFS=y
156# CONFIG_USB_DEVICE_CLASS is not set
157CONFIG_USB_EHCI_HCD=y 126CONFIG_USB_EHCI_HCD=y
158CONFIG_USB_OHCI_HCD=y 127CONFIG_USB_OHCI_HCD=y
159CONFIG_USB_ACM=y 128CONFIG_USB_ACM=y
160CONFIG_USB_STORAGE=y 129CONFIG_USB_STORAGE=y
161CONFIG_USB_GADGET=y 130CONFIG_USB_GADGET=y
162CONFIG_USB_ATMEL_USBA=m 131CONFIG_USB_ATMEL_USBA=y
163CONFIG_USB_ZERO=m 132CONFIG_USB_G_MULTI=y
164CONFIG_USB_AUDIO=m
165CONFIG_USB_ETH=m
166CONFIG_USB_ETH_EEM=y
167CONFIG_USB_MASS_STORAGE=m
168CONFIG_USB_G_SERIAL=m
169CONFIG_USB_CDC_COMPOSITE=m
170CONFIG_USB_G_MULTI=m
171CONFIG_USB_G_MULTI_CDC=y 133CONFIG_USB_G_MULTI_CDC=y
172CONFIG_MMC=y 134CONFIG_MMC=y
173# CONFIG_MMC_BLOCK_BOUNCE is not set 135# CONFIG_MMC_BLOCK_BOUNCE is not set
174CONFIG_SDIO_UART=m
175CONFIG_MMC_ATMELMCI=y 136CONFIG_MMC_ATMELMCI=y
176CONFIG_LEDS_ATMEL_PWM=y 137CONFIG_NEW_LEDS=y
138CONFIG_LEDS_CLASS=y
177CONFIG_LEDS_GPIO=y 139CONFIG_LEDS_GPIO=y
140CONFIG_LEDS_TRIGGERS=y
178CONFIG_LEDS_TRIGGER_TIMER=y 141CONFIG_LEDS_TRIGGER_TIMER=y
179CONFIG_LEDS_TRIGGER_HEARTBEAT=y 142CONFIG_LEDS_TRIGGER_HEARTBEAT=y
180CONFIG_LEDS_TRIGGER_GPIO=y 143CONFIG_LEDS_TRIGGER_GPIO=y
@@ -184,17 +147,14 @@ CONFIG_DMADEVICES=y
184CONFIG_AT_HDMAC=y 147CONFIG_AT_HDMAC=y
185CONFIG_DMATEST=m 148CONFIG_DMATEST=m
186# CONFIG_IOMMU_SUPPORT is not set 149# CONFIG_IOMMU_SUPPORT is not set
187CONFIG_EXT2_FS=y 150CONFIG_EXT4_FS=y
188CONFIG_FANOTIFY=y 151CONFIG_FANOTIFY=y
189CONFIG_VFAT_FS=y 152CONFIG_VFAT_FS=y
190CONFIG_TMPFS=y 153CONFIG_TMPFS=y
191CONFIG_JFFS2_FS=y 154CONFIG_UBIFS_FS=y
192CONFIG_JFFS2_SUMMARY=y 155CONFIG_UBIFS_FS_ADVANCED_COMPR=y
193CONFIG_CRAMFS=m
194CONFIG_SQUASHFS=m
195CONFIG_SQUASHFS_EMBEDDED=y
196CONFIG_NFS_FS=y 156CONFIG_NFS_FS=y
197CONFIG_NFS_V3=y 157CONFIG_ROOT_NFS=y
198CONFIG_NLS_CODEPAGE_437=y 158CONFIG_NLS_CODEPAGE_437=y
199CONFIG_NLS_CODEPAGE_850=y 159CONFIG_NLS_CODEPAGE_850=y
200CONFIG_NLS_ISO8859_1=y 160CONFIG_NLS_ISO8859_1=y
@@ -203,6 +163,8 @@ CONFIG_STRIP_ASM_SYMS=y
203CONFIG_DEBUG_MEMORY_INIT=y 163CONFIG_DEBUG_MEMORY_INIT=y
204# CONFIG_FTRACE is not set 164# CONFIG_FTRACE is not set
205CONFIG_DEBUG_USER=y 165CONFIG_DEBUG_USER=y
166CONFIG_DEBUG_LL=y
167CONFIG_EARLY_PRINTK=y
206CONFIG_CRYPTO_ECB=y 168CONFIG_CRYPTO_ECB=y
207# CONFIG_CRYPTO_ANSI_CPRNG is not set 169# CONFIG_CRYPTO_ANSI_CPRNG is not set
208CONFIG_CRYPTO_USER_API_HASH=m 170CONFIG_CRYPTO_USER_API_HASH=m
diff --git a/arch/arm/configs/nhk8815_defconfig b/arch/arm/configs/nhk8815_defconfig
index b01e7632ed2e..35f8cf299fa2 100644
--- a/arch/arm/configs/nhk8815_defconfig
+++ b/arch/arm/configs/nhk8815_defconfig
@@ -81,6 +81,7 @@ CONFIG_PPP_SYNC_TTY=m
81# CONFIG_INPUT_MOUSEDEV is not set 81# CONFIG_INPUT_MOUSEDEV is not set
82CONFIG_INPUT_EVDEV=y 82CONFIG_INPUT_EVDEV=y
83# CONFIG_KEYBOARD_ATKBD is not set 83# CONFIG_KEYBOARD_ATKBD is not set
84CONFIG_KEYBOARD_GPIO=y
84# CONFIG_MOUSE_PS2 is not set 85# CONFIG_MOUSE_PS2 is not set
85# CONFIG_SERIO is not set 86# CONFIG_SERIO is not set
86# CONFIG_LEGACY_PTYS is not set 87# CONFIG_LEGACY_PTYS is not set
@@ -96,6 +97,11 @@ CONFIG_DEBUG_GPIO=y
96CONFIG_MMC=y 97CONFIG_MMC=y
97CONFIG_MMC_CLKGATE=y 98CONFIG_MMC_CLKGATE=y
98CONFIG_MMC_ARMMMCI=y 99CONFIG_MMC_ARMMMCI=y
100CONFIG_NEW_LEDS=y
101CONFIG_LEDS_CLASS=y
102CONFIG_LEDS_GPIO=y
103CONFIG_LEDS_TRIGGERS=y
104CONFIG_LEDS_TRIGGER_HEARTBEAT=y
99CONFIG_RTC_CLASS=y 105CONFIG_RTC_CLASS=y
100CONFIG_RTC_DRV_PL031=y 106CONFIG_RTC_DRV_PL031=y
101CONFIG_DMADEVICES=y 107CONFIG_DMADEVICES=y
diff --git a/arch/arm/configs/sama5_defconfig b/arch/arm/configs/sama5_defconfig
index 4d0dc3c16063..f6e78f83c3c3 100644
--- a/arch/arm/configs/sama5_defconfig
+++ b/arch/arm/configs/sama5_defconfig
@@ -26,7 +26,9 @@ CONFIG_AEABI=y
26CONFIG_UACCESS_WITH_MEMCPY=y 26CONFIG_UACCESS_WITH_MEMCPY=y
27CONFIG_ZBOOT_ROM_TEXT=0x0 27CONFIG_ZBOOT_ROM_TEXT=0x0
28CONFIG_ZBOOT_ROM_BSS=0x0 28CONFIG_ZBOOT_ROM_BSS=0x0
29CONFIG_ARM_APPENDED_DTB=y
29CONFIG_CMDLINE="console=ttyS0,115200 initrd=0x21100000,25165824 root=/dev/ram0 rw" 30CONFIG_CMDLINE="console=ttyS0,115200 initrd=0x21100000,25165824 root=/dev/ram0 rw"
31CONFIG_KEXEC=y
30CONFIG_AUTO_ZRELADDR=y 32CONFIG_AUTO_ZRELADDR=y
31CONFIG_VFP=y 33CONFIG_VFP=y
32# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set 34# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
@@ -39,6 +41,9 @@ CONFIG_UNIX=y
39CONFIG_INET=y 41CONFIG_INET=y
40CONFIG_IP_MULTICAST=y 42CONFIG_IP_MULTICAST=y
41CONFIG_IP_PNP=y 43CONFIG_IP_PNP=y
44CONFIG_IP_PNP_DHCP=y
45CONFIG_IP_PNP_BOOTP=y
46CONFIG_IP_PNP_RARP=y
42# CONFIG_INET_XFRM_MODE_TRANSPORT is not set 47# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
43# CONFIG_INET_XFRM_MODE_TUNNEL is not set 48# CONFIG_INET_XFRM_MODE_TUNNEL is not set
44# CONFIG_INET_XFRM_MODE_BEET is not set 49# CONFIG_INET_XFRM_MODE_BEET is not set
@@ -68,6 +73,8 @@ CONFIG_MTD_M25P80=y
68CONFIG_MTD_NAND=y 73CONFIG_MTD_NAND=y
69CONFIG_MTD_NAND_ATMEL=y 74CONFIG_MTD_NAND_ATMEL=y
70CONFIG_MTD_UBI=y 75CONFIG_MTD_UBI=y
76CONFIG_MTD_UBI_GLUEBI=y
77CONFIG_PROC_DEVICETREE=y
71CONFIG_BLK_DEV_LOOP=y 78CONFIG_BLK_DEV_LOOP=y
72CONFIG_BLK_DEV_RAM=y 79CONFIG_BLK_DEV_RAM=y
73CONFIG_BLK_DEV_RAM_COUNT=4 80CONFIG_BLK_DEV_RAM_COUNT=4
@@ -95,7 +102,19 @@ CONFIG_MACB=y
95# CONFIG_NET_VENDOR_STMICRO is not set 102# CONFIG_NET_VENDOR_STMICRO is not set
96# CONFIG_NET_VENDOR_WIZNET is not set 103# CONFIG_NET_VENDOR_WIZNET is not set
97CONFIG_MICREL_PHY=y 104CONFIG_MICREL_PHY=y
98# CONFIG_WLAN is not set 105CONFIG_LIBERTAS_THINFIRM=m
106CONFIG_LIBERTAS_THINFIRM_USB=m
107CONFIG_RTL8187=m
108CONFIG_RT2X00=m
109CONFIG_RT2500USB=m
110CONFIG_RT73USB=m
111CONFIG_RT2800USB=m
112CONFIG_RT2800USB_RT53XX=y
113CONFIG_RT2800USB_RT55XX=y
114CONFIG_RT2800USB_UNKNOWN=y
115CONFIG_MWIFIEX=m
116CONFIG_MWIFIEX_SDIO=m
117CONFIG_MWIFIEX_USB=m
99# CONFIG_INPUT_MOUSEDEV is not set 118# CONFIG_INPUT_MOUSEDEV is not set
100CONFIG_INPUT_EVDEV=y 119CONFIG_INPUT_EVDEV=y
101# CONFIG_KEYBOARD_ATKBD is not set 120# CONFIG_KEYBOARD_ATKBD is not set
@@ -133,9 +152,13 @@ CONFIG_USB_EHCI_HCD=y
133CONFIG_USB_OHCI_HCD=y 152CONFIG_USB_OHCI_HCD=y
134CONFIG_USB_ACM=y 153CONFIG_USB_ACM=y
135CONFIG_USB_STORAGE=y 154CONFIG_USB_STORAGE=y
155CONFIG_USB_SERIAL=y
156CONFIG_USB_SERIAL_GENERIC=y
157CONFIG_USB_SERIAL_FTDI_SIO=y
158CONFIG_USB_SERIAL_PL2303=y
136CONFIG_USB_GADGET=y 159CONFIG_USB_GADGET=y
137CONFIG_USB_AT91=y 160CONFIG_USB_ATMEL_USBA=y
138CONFIG_USB_MASS_STORAGE=m 161CONFIG_USB_G_SERIAL=y
139CONFIG_MMC=y 162CONFIG_MMC=y
140# CONFIG_MMC_BLOCK_BOUNCE is not set 163# CONFIG_MMC_BLOCK_BOUNCE is not set
141CONFIG_MMC_ATMELMCI=y 164CONFIG_MMC_ATMELMCI=y
@@ -151,18 +174,18 @@ CONFIG_DMADEVICES=y
151# CONFIG_IOMMU_SUPPORT is not set 174# CONFIG_IOMMU_SUPPORT is not set
152CONFIG_IIO=y 175CONFIG_IIO=y
153CONFIG_AT91_ADC=y 176CONFIG_AT91_ADC=y
154CONFIG_EXT2_FS=y 177CONFIG_EXT4_FS=y
155CONFIG_FANOTIFY=y 178CONFIG_FANOTIFY=y
156CONFIG_VFAT_FS=y 179CONFIG_VFAT_FS=y
157CONFIG_TMPFS=y 180CONFIG_TMPFS=y
158CONFIG_JFFS2_FS=y
159CONFIG_JFFS2_SUMMARY=y
160CONFIG_UBIFS_FS=y 181CONFIG_UBIFS_FS=y
182CONFIG_UBIFS_FS_ADVANCED_COMPR=y
161CONFIG_NFS_FS=y 183CONFIG_NFS_FS=y
162CONFIG_ROOT_NFS=y 184CONFIG_ROOT_NFS=y
163CONFIG_NLS_CODEPAGE_437=y 185CONFIG_NLS_CODEPAGE_437=y
164CONFIG_NLS_CODEPAGE_850=y 186CONFIG_NLS_CODEPAGE_850=y
165CONFIG_NLS_ISO8859_1=y 187CONFIG_NLS_ISO8859_1=y
188CONFIG_NLS_UTF8=y
166CONFIG_STRIP_ASM_SYMS=y 189CONFIG_STRIP_ASM_SYMS=y
167CONFIG_DEBUG_FS=y 190CONFIG_DEBUG_FS=y
168# CONFIG_SCHED_DEBUG is not set 191# CONFIG_SCHED_DEBUG is not set
diff --git a/arch/arm/mach-at91/Kconfig.non_dt b/arch/arm/mach-at91/Kconfig.non_dt
index 6c24985515a2..6cd554a4e73c 100644
--- a/arch/arm/mach-at91/Kconfig.non_dt
+++ b/arch/arm/mach-at91/Kconfig.non_dt
@@ -14,15 +14,11 @@ config ARCH_AT91RM9200
14 select SOC_AT91RM9200 14 select SOC_AT91RM9200
15 15
16config ARCH_AT91SAM9260 16config ARCH_AT91SAM9260
17 bool "AT91SAM9260 or AT91SAM9XE" 17 bool "AT91SAM9260 or AT91SAM9XE or AT91SAM9G20"
18 select SOC_AT91SAM9260 18 select SOC_AT91SAM9260
19 19
20config ARCH_AT91SAM9261 20config ARCH_AT91SAM9261
21 bool "AT91SAM9261" 21 bool "AT91SAM9261 or AT91SAM9G10"
22 select SOC_AT91SAM9261
23
24config ARCH_AT91SAM9G10
25 bool "AT91SAM9G10"
26 select SOC_AT91SAM9261 22 select SOC_AT91SAM9261
27 23
28config ARCH_AT91SAM9263 24config ARCH_AT91SAM9263
@@ -33,10 +29,6 @@ config ARCH_AT91SAM9RL
33 bool "AT91SAM9RL" 29 bool "AT91SAM9RL"
34 select SOC_AT91SAM9RL 30 select SOC_AT91SAM9RL
35 31
36config ARCH_AT91SAM9G20
37 bool "AT91SAM9G20"
38 select SOC_AT91SAM9260
39
40config ARCH_AT91SAM9G45 32config ARCH_AT91SAM9G45
41 bool "AT91SAM9G45" 33 bool "AT91SAM9G45"
42 select SOC_AT91SAM9G45 34 select SOC_AT91SAM9G45
@@ -50,6 +42,14 @@ config ARCH_AT91X40
50 42
51endchoice 43endchoice
52 44
45config ARCH_AT91SAM9G20
46 bool
47 select ARCH_AT91SAM9260
48
49config ARCH_AT91SAM9G10
50 bool
51 select ARCH_AT91SAM9261
52
53# ---------------------------------------------------------- 53# ----------------------------------------------------------
54 54
55if ARCH_AT91RM9200 55if ARCH_AT91RM9200
@@ -183,12 +183,6 @@ config MACH_AFEB9260
183 <svn://194.85.238.22/home/users/george/svn/arm9eb> 183 <svn://194.85.238.22/home/users/george/svn/arm9eb>
184 <http://groups.google.com/group/arm9fpga-evolution-board> 184 <http://groups.google.com/group/arm9fpga-evolution-board>
185 185
186config MACH_USB_A9260
187 bool "CALAO USB-A9260"
188 help
189 Select this if you are using a Calao Systems USB-A9260.
190 <http://www.calao-systems.com>
191
192config MACH_QIL_A9260 186config MACH_QIL_A9260
193 bool "CALAO QIL-A9260 board" 187 bool "CALAO QIL-A9260 board"
194 help 188 help
@@ -207,76 +201,6 @@ config MACH_FLEXIBITY
207 Select this if you are using Flexibity Connect board 201 Select this if you are using Flexibity Connect board
208 <http://www.flexibity.com> 202 <http://www.flexibity.com>
209 203
210endif
211
212# ----------------------------------------------------------
213
214if ARCH_AT91SAM9261
215
216comment "AT91SAM9261 Board Type"
217
218config MACH_AT91SAM9261EK
219 bool "Atmel AT91SAM9261-EK Evaluation Kit"
220 select HAVE_AT91_DATAFLASH_CARD
221 help
222 Select this if you are using Atmel's AT91SAM9261-EK Evaluation Kit.
223 <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3820>
224
225endif
226
227# ----------------------------------------------------------
228
229if ARCH_AT91SAM9G10
230
231comment "AT91SAM9G10 Board Type"
232
233config MACH_AT91SAM9G10EK
234 bool "Atmel AT91SAM9G10-EK Evaluation Kit"
235 select HAVE_AT91_DATAFLASH_CARD
236 help
237 Select this if you are using Atmel's AT91SAM9G10-EK Evaluation Kit.
238 <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4588>
239
240endif
241
242# ----------------------------------------------------------
243
244if ARCH_AT91SAM9263
245
246comment "AT91SAM9263 Board Type"
247
248config MACH_AT91SAM9263EK
249 bool "Atmel AT91SAM9263-EK Evaluation Kit"
250 select HAVE_AT91_DATAFLASH_CARD
251 help
252 Select this if you are using Atmel's AT91SAM9263-EK Evaluation Kit.
253 <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4057>
254
255config MACH_USB_A9263
256 bool "CALAO USB-A9263"
257 help
258 Select this if you are using a Calao Systems USB-A9263.
259 <http://www.calao-systems.com>
260
261endif
262
263# ----------------------------------------------------------
264
265if ARCH_AT91SAM9RL
266
267comment "AT91SAM9RL Board Type"
268
269config MACH_AT91SAM9RLEK
270 bool "Atmel AT91SAM9RL-EK Evaluation Kit"
271 help
272 Select this if you are using Atmel's AT91SAM9RL-EK Evaluation Kit.
273
274endif
275
276# ----------------------------------------------------------
277
278if ARCH_AT91SAM9G20
279
280comment "AT91SAM9G20 Board Type" 204comment "AT91SAM9G20 Board Type"
281 205
282config MACH_AT91SAM9G20EK 206config MACH_AT91SAM9G20EK
@@ -334,24 +258,64 @@ config MACH_GSIA18S
334 produced by GeoSIG Ltd company. This is an internet accelerograph. 258 produced by GeoSIG Ltd company. This is an internet accelerograph.
335 <http://www.geosig.com> 259 <http://www.geosig.com>
336 260
337config MACH_USB_A9G20 261config MACH_SNAPPER_9260
338 bool "CALAO USB-A9G20" 262 bool "Bluewater Systems Snapper 9260/9G20 module"
339 depends on ARCH_AT91SAM9G20
340 help 263 help
341 Select this if you are using a Calao Systems USB-A9G20. 264 Select this if you are using the Bluewater Systems Snapper 9260 or
342 <http://www.calao-systems.com> 265 Snapper 9G20 modules.
266 <http://www.bluewatersys.com/>
267endif
268
269# ----------------------------------------------------------
270
271if ARCH_AT91SAM9261
272
273comment "AT91SAM9261 Board Type"
274
275config MACH_AT91SAM9261EK
276 bool "Atmel AT91SAM9261-EK Evaluation Kit"
277 select HAVE_AT91_DATAFLASH_CARD
278 help
279 Select this if you are using Atmel's AT91SAM9261-EK Evaluation Kit.
280 <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3820>
281
282comment "AT91SAM9G10 Board Type"
283
284config MACH_AT91SAM9G10EK
285 bool "Atmel AT91SAM9G10-EK Evaluation Kit"
286 select HAVE_AT91_DATAFLASH_CARD
287 help
288 Select this if you are using Atmel's AT91SAM9G10-EK Evaluation Kit.
289 <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4588>
343 290
344endif 291endif
345 292
346if (ARCH_AT91SAM9260 || ARCH_AT91SAM9G20) 293# ----------------------------------------------------------
347comment "AT91SAM9260/AT91SAM9G20 boards" 294
295if ARCH_AT91SAM9263
296
297comment "AT91SAM9263 Board Type"
298
299config MACH_AT91SAM9263EK
300 bool "Atmel AT91SAM9263-EK Evaluation Kit"
301 select HAVE_AT91_DATAFLASH_CARD
302 help
303 Select this if you are using Atmel's AT91SAM9263-EK Evaluation Kit.
304 <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4057>
305
306endif
307
308# ----------------------------------------------------------
309
310if ARCH_AT91SAM9RL
311
312comment "AT91SAM9RL Board Type"
313
314config MACH_AT91SAM9RLEK
315 bool "Atmel AT91SAM9RL-EK Evaluation Kit"
316 help
317 Select this if you are using Atmel's AT91SAM9RL-EK Evaluation Kit.
348 318
349config MACH_SNAPPER_9260
350 bool "Bluewater Systems Snapper 9260/9G20 module"
351 help
352 Select this if you are using the Bluewater Systems Snapper 9260 or
353 Snapper 9G20 modules.
354 <http://www.bluewatersys.com/>
355endif 319endif
356 320
357# ---------------------------------------------------------- 321# ----------------------------------------------------------
diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile
index 788562dccb43..d07bcfad4441 100644
--- a/arch/arm/mach-at91/Makefile
+++ b/arch/arm/mach-at91/Makefile
@@ -27,10 +27,8 @@ obj-$(CONFIG_SOC_SAMA5D3) += sama5d3.o
27obj-$(CONFIG_ARCH_AT91RM9200) += at91rm9200_devices.o 27obj-$(CONFIG_ARCH_AT91RM9200) += at91rm9200_devices.o
28obj-$(CONFIG_ARCH_AT91SAM9260) += at91sam9260_devices.o 28obj-$(CONFIG_ARCH_AT91SAM9260) += at91sam9260_devices.o
29obj-$(CONFIG_ARCH_AT91SAM9261) += at91sam9261_devices.o 29obj-$(CONFIG_ARCH_AT91SAM9261) += at91sam9261_devices.o
30obj-$(CONFIG_ARCH_AT91SAM9G10) += at91sam9261_devices.o
31obj-$(CONFIG_ARCH_AT91SAM9263) += at91sam9263_devices.o 30obj-$(CONFIG_ARCH_AT91SAM9263) += at91sam9263_devices.o
32obj-$(CONFIG_ARCH_AT91SAM9RL) += at91sam9rl_devices.o 31obj-$(CONFIG_ARCH_AT91SAM9RL) += at91sam9rl_devices.o
33obj-$(CONFIG_ARCH_AT91SAM9G20) += at91sam9260_devices.o
34obj-$(CONFIG_ARCH_AT91SAM9G45) += at91sam9g45_devices.o 32obj-$(CONFIG_ARCH_AT91SAM9G45) += at91sam9g45_devices.o
35obj-$(CONFIG_ARCH_AT91X40) += at91x40.o at91x40_time.o 33obj-$(CONFIG_ARCH_AT91X40) += at91x40.o at91x40_time.o
36 34
@@ -55,7 +53,6 @@ obj-$(CONFIG_MACH_RSI_EWS) += board-rsi-ews.o
55obj-$(CONFIG_MACH_AT91SAM9260EK) += board-sam9260ek.o 53obj-$(CONFIG_MACH_AT91SAM9260EK) += board-sam9260ek.o
56obj-$(CONFIG_MACH_CAM60) += board-cam60.o 54obj-$(CONFIG_MACH_CAM60) += board-cam60.o
57obj-$(CONFIG_MACH_SAM9_L9260) += board-sam9-l9260.o 55obj-$(CONFIG_MACH_SAM9_L9260) += board-sam9-l9260.o
58obj-$(CONFIG_MACH_USB_A9260) += board-usb-a926x.o
59obj-$(CONFIG_MACH_QIL_A9260) += board-qil-a9260.o 56obj-$(CONFIG_MACH_QIL_A9260) += board-qil-a9260.o
60obj-$(CONFIG_MACH_AFEB9260) += board-afeb-9260v1.o 57obj-$(CONFIG_MACH_AFEB9260) += board-afeb-9260v1.o
61obj-$(CONFIG_MACH_CPU9260) += board-cpu9krea.o 58obj-$(CONFIG_MACH_CPU9260) += board-cpu9krea.o
@@ -67,7 +64,6 @@ obj-$(CONFIG_MACH_AT91SAM9G10EK) += board-sam9261ek.o
67 64
68# AT91SAM9263 board-specific support 65# AT91SAM9263 board-specific support
69obj-$(CONFIG_MACH_AT91SAM9263EK) += board-sam9263ek.o 66obj-$(CONFIG_MACH_AT91SAM9263EK) += board-sam9263ek.o
70obj-$(CONFIG_MACH_USB_A9263) += board-usb-a926x.o
71 67
72# AT91SAM9RL board-specific support 68# AT91SAM9RL board-specific support
73obj-$(CONFIG_MACH_AT91SAM9RLEK) += board-sam9rlek.o 69obj-$(CONFIG_MACH_AT91SAM9RLEK) += board-sam9rlek.o
@@ -80,7 +76,6 @@ obj-$(CONFIG_MACH_STAMP9G20) += board-stamp9g20.o
80obj-$(CONFIG_MACH_PORTUXG20) += board-stamp9g20.o 76obj-$(CONFIG_MACH_PORTUXG20) += board-stamp9g20.o
81obj-$(CONFIG_MACH_PCONTROL_G20) += board-pcontrol-g20.o board-stamp9g20.o 77obj-$(CONFIG_MACH_PCONTROL_G20) += board-pcontrol-g20.o board-stamp9g20.o
82obj-$(CONFIG_MACH_GSIA18S) += board-gsia18s.o board-stamp9g20.o 78obj-$(CONFIG_MACH_GSIA18S) += board-gsia18s.o board-stamp9g20.o
83obj-$(CONFIG_MACH_USB_A9G20) += board-usb-a926x.o
84 79
85# AT91SAM9260/AT91SAM9G20 board-specific support 80# AT91SAM9260/AT91SAM9G20 board-specific support
86obj-$(CONFIG_MACH_SNAPPER_9260) += board-snapper9260.o 81obj-$(CONFIG_MACH_SNAPPER_9260) += board-snapper9260.o
diff --git a/arch/arm/mach-at91/board-sam9261ek.c b/arch/arm/mach-at91/board-sam9261ek.c
index b446645c7727..d3437624ca4e 100644
--- a/arch/arm/mach-at91/board-sam9261ek.c
+++ b/arch/arm/mach-at91/board-sam9261ek.c
@@ -264,11 +264,7 @@ static void __init ek_add_device_ts(void) {}
264 */ 264 */
265static struct at73c213_board_info at73c213_data = { 265static struct at73c213_board_info at73c213_data = {
266 .ssc_id = 1, 266 .ssc_id = 1,
267#if defined(CONFIG_MACH_AT91SAM9261EK) 267 .shortname = "AT91SAM9261/9G10-EK external DAC",
268 .shortname = "AT91SAM9261-EK external DAC",
269#else
270 .shortname = "AT91SAM9G10-EK external DAC",
271#endif
272}; 268};
273 269
274#if defined(CONFIG_SND_AT73C213) || defined(CONFIG_SND_AT73C213_MODULE) 270#if defined(CONFIG_SND_AT73C213) || defined(CONFIG_SND_AT73C213_MODULE)
@@ -412,9 +408,6 @@ static struct atmel_lcdfb_info __initdata ek_lcdc_data = {
412 .default_monspecs = &at91fb_default_stn_monspecs, 408 .default_monspecs = &at91fb_default_stn_monspecs,
413 .atmel_lcdfb_power_control = at91_lcdc_stn_power_control, 409 .atmel_lcdfb_power_control = at91_lcdc_stn_power_control,
414 .guard_time = 1, 410 .guard_time = 1,
415#if defined(CONFIG_MACH_AT91SAM9G10EK)
416 .lcd_wiring_mode = ATMEL_LCDC_WIRING_RGB,
417#endif
418}; 411};
419 412
420#else 413#else
@@ -468,9 +461,6 @@ static struct atmel_lcdfb_info __initdata ek_lcdc_data = {
468 .default_monspecs = &at91fb_default_tft_monspecs, 461 .default_monspecs = &at91fb_default_tft_monspecs,
469 .atmel_lcdfb_power_control = at91_lcdc_tft_power_control, 462 .atmel_lcdfb_power_control = at91_lcdc_tft_power_control,
470 .guard_time = 1, 463 .guard_time = 1,
471#if defined(CONFIG_MACH_AT91SAM9G10EK)
472 .lcd_wiring_mode = ATMEL_LCDC_WIRING_RGB,
473#endif
474}; 464};
475#endif 465#endif
476 466
@@ -574,6 +564,10 @@ static void __init ek_board_init(void)
574 /* DBGU on ttyS0. (Rx & Tx only) */ 564 /* DBGU on ttyS0. (Rx & Tx only) */
575 at91_register_uart(0, 0, 0); 565 at91_register_uart(0, 0, 0);
576 at91_add_device_serial(); 566 at91_add_device_serial();
567
568 if (cpu_is_at91sam9g10())
569 ek_lcdc_data.lcd_wiring_mode = ATMEL_LCDC_WIRING_RGB;
570
577 /* USB Host */ 571 /* USB Host */
578 at91_add_device_usbh(&ek_usbh_data); 572 at91_add_device_usbh(&ek_usbh_data);
579 /* USB Device */ 573 /* USB Device */
@@ -606,11 +600,17 @@ static void __init ek_board_init(void)
606 at91_gpio_leds(ek_leds, ARRAY_SIZE(ek_leds)); 600 at91_gpio_leds(ek_leds, ARRAY_SIZE(ek_leds));
607} 601}
608 602
609#if defined(CONFIG_MACH_AT91SAM9261EK)
610MACHINE_START(AT91SAM9261EK, "Atmel AT91SAM9261-EK") 603MACHINE_START(AT91SAM9261EK, "Atmel AT91SAM9261-EK")
611#else 604 /* Maintainer: Atmel */
605 .init_time = at91sam926x_pit_init,
606 .map_io = at91_map_io,
607 .handle_irq = at91_aic_handle_irq,
608 .init_early = ek_init_early,
609 .init_irq = at91_init_irq_default,
610 .init_machine = ek_board_init,
611MACHINE_END
612
612MACHINE_START(AT91SAM9G10EK, "Atmel AT91SAM9G10-EK") 613MACHINE_START(AT91SAM9G10EK, "Atmel AT91SAM9G10-EK")
613#endif
614 /* Maintainer: Atmel */ 614 /* Maintainer: Atmel */
615 .init_time = at91sam926x_pit_init, 615 .init_time = at91sam926x_pit_init,
616 .map_io = at91_map_io, 616 .map_io = at91_map_io,
diff --git a/arch/arm/mach-at91/board-usb-a926x.c b/arch/arm/mach-at91/board-usb-a926x.c
deleted file mode 100644
index 2487d944a1bc..000000000000
--- a/arch/arm/mach-at91/board-usb-a926x.c
+++ /dev/null
@@ -1,384 +0,0 @@
1/*
2 * linux/arch/arm/mach-at91/board-usb-a926x.c
3 *
4 * Copyright (C) 2005 SAN People
5 * Copyright (C) 2007 Atmel Corporation.
6 * Copyright (C) 2007 Calao-systems
7 * Copyright (C) 2011 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
8 *
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with this program; if not, write to the Free Software
21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 */
23
24#include <linux/types.h>
25#include <linux/init.h>
26#include <linux/mm.h>
27#include <linux/module.h>
28#include <linux/platform_device.h>
29#include <linux/spi/spi.h>
30#include <linux/gpio_keys.h>
31#include <linux/gpio.h>
32#include <linux/input.h>
33#include <linux/spi/mmc_spi.h>
34
35#include <asm/setup.h>
36#include <asm/mach-types.h>
37#include <asm/irq.h>
38
39#include <asm/mach/arch.h>
40#include <asm/mach/map.h>
41#include <asm/mach/irq.h>
42
43#include <mach/hardware.h>
44#include <mach/at91sam9_smc.h>
45
46#include "at91_aic.h"
47#include "at91_shdwc.h"
48#include "board.h"
49#include "sam9_smc.h"
50#include "generic.h"
51
52
53static void __init ek_init_early(void)
54{
55 /* Initialize processor: 12.00 MHz crystal */
56 at91_initialize(12000000);
57}
58
59/*
60 * USB Host port
61 */
62static struct at91_usbh_data __initdata ek_usbh_data = {
63 .ports = 2,
64 .vbus_pin = {-EINVAL, -EINVAL},
65 .overcurrent_pin= {-EINVAL, -EINVAL},
66};
67
68/*
69 * USB Device port
70 */
71static struct at91_udc_data __initdata ek_udc_data = {
72 .vbus_pin = AT91_PIN_PB11,
73 .pullup_pin = -EINVAL, /* pull-up driven by UDC */
74};
75
76static void __init ek_add_device_udc(void)
77{
78 if (machine_is_usb_a9260() || machine_is_usb_a9g20())
79 ek_udc_data.vbus_pin = AT91_PIN_PC5;
80
81 at91_add_device_udc(&ek_udc_data);
82}
83
84#if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE)
85#define MMC_SPI_CARD_DETECT_INT AT91_PIN_PC4
86static int at91_mmc_spi_init(struct device *dev,
87 irqreturn_t (*detect_int)(int, void *), void *data)
88{
89 /* Configure Interrupt pin as input, no pull-up */
90 at91_set_gpio_input(MMC_SPI_CARD_DETECT_INT, 0);
91 return request_irq(gpio_to_irq(MMC_SPI_CARD_DETECT_INT), detect_int,
92 IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING,
93 "mmc-spi-detect", data);
94}
95
96static void at91_mmc_spi_exit(struct device *dev, void *data)
97{
98 free_irq(gpio_to_irq(MMC_SPI_CARD_DETECT_INT), data);
99}
100
101static struct mmc_spi_platform_data at91_mmc_spi_pdata = {
102 .init = at91_mmc_spi_init,
103 .exit = at91_mmc_spi_exit,
104 .detect_delay = 100, /* msecs */
105};
106#endif
107
108/*
109 * SPI devices.
110 */
111static struct spi_board_info usb_a9263_spi_devices[] = {
112 { /* DataFlash chip */
113 .modalias = "mtd_dataflash",
114 .chip_select = 0,
115 .max_speed_hz = 15 * 1000 * 1000,
116 .bus_num = 0,
117 }
118};
119
120static struct spi_board_info usb_a9g20_spi_devices[] = {
121#if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE)
122 {
123 .modalias = "mmc_spi",
124 .max_speed_hz = 20000000, /* max spi clock (SCK) speed in HZ */
125 .bus_num = 1,
126 .chip_select = 0,
127 .platform_data = &at91_mmc_spi_pdata,
128 .mode = SPI_MODE_3,
129 },
130#endif
131};
132
133static void __init ek_add_device_spi(void)
134{
135 if (machine_is_usb_a9263())
136 at91_add_device_spi(usb_a9263_spi_devices, ARRAY_SIZE(usb_a9263_spi_devices));
137 else if (machine_is_usb_a9g20())
138 at91_add_device_spi(usb_a9g20_spi_devices, ARRAY_SIZE(usb_a9g20_spi_devices));
139}
140
141/*
142 * MACB Ethernet device
143 */
144static struct macb_platform_data __initdata ek_macb_data = {
145 .phy_irq_pin = AT91_PIN_PE31,
146 .is_rmii = 1,
147};
148
149static void __init ek_add_device_eth(void)
150{
151 if (machine_is_usb_a9260() || machine_is_usb_a9g20())
152 ek_macb_data.phy_irq_pin = AT91_PIN_PA31;
153
154 at91_add_device_eth(&ek_macb_data);
155}
156
157/*
158 * NAND flash
159 */
160static struct mtd_partition __initdata ek_nand_partition[] = {
161 {
162 .name = "barebox",
163 .offset = 0,
164 .size = 3 * SZ_128K,
165 }, {
166 .name = "bareboxenv",
167 .offset = MTDPART_OFS_NXTBLK,
168 .size = SZ_128K,
169 }, {
170 .name = "bareboxenv2",
171 .offset = MTDPART_OFS_NXTBLK,
172 .size = SZ_128K,
173 }, {
174 .name = "oftree",
175 .offset = MTDPART_OFS_NXTBLK,
176 .size = SZ_128K,
177 }, {
178 .name = "kernel",
179 .offset = MTDPART_OFS_NXTBLK,
180 .size = 4 * SZ_1M,
181 }, {
182 .name = "rootfs",
183 .offset = MTDPART_OFS_NXTBLK,
184 .size = 120 * SZ_1M,
185 }, {
186 .name = "data",
187 .offset = MTDPART_OFS_NXTBLK,
188 .size = MTDPART_SIZ_FULL,
189 }
190};
191
192static struct atmel_nand_data __initdata ek_nand_data = {
193 .ale = 21,
194 .cle = 22,
195 .det_pin = -EINVAL,
196 .rdy_pin = AT91_PIN_PA22,
197 .enable_pin = AT91_PIN_PD15,
198 .ecc_mode = NAND_ECC_SOFT,
199 .on_flash_bbt = 1,
200 .parts = ek_nand_partition,
201 .num_parts = ARRAY_SIZE(ek_nand_partition),
202};
203
204static struct sam9_smc_config __initdata usb_a9260_nand_smc_config = {
205 .ncs_read_setup = 0,
206 .nrd_setup = 1,
207 .ncs_write_setup = 0,
208 .nwe_setup = 1,
209
210 .ncs_read_pulse = 3,
211 .nrd_pulse = 3,
212 .ncs_write_pulse = 3,
213 .nwe_pulse = 3,
214
215 .read_cycle = 5,
216 .write_cycle = 5,
217
218 .mode = AT91_SMC_READMODE | AT91_SMC_WRITEMODE | AT91_SMC_EXNWMODE_DISABLE | AT91_SMC_DBW_8,
219 .tdf_cycles = 2,
220};
221
222static struct sam9_smc_config __initdata usb_a9g20_nand_smc_config = {
223 .ncs_read_setup = 0,
224 .nrd_setup = 2,
225 .ncs_write_setup = 0,
226 .nwe_setup = 2,
227
228 .ncs_read_pulse = 4,
229 .nrd_pulse = 4,
230 .ncs_write_pulse = 4,
231 .nwe_pulse = 4,
232
233 .read_cycle = 7,
234 .write_cycle = 7,
235
236 .mode = AT91_SMC_READMODE | AT91_SMC_WRITEMODE | AT91_SMC_EXNWMODE_DISABLE | AT91_SMC_DBW_8,
237 .tdf_cycles = 3,
238};
239
240static void __init ek_add_device_nand(void)
241{
242 if (machine_is_usb_a9260() || machine_is_usb_a9g20()) {
243 ek_nand_data.rdy_pin = AT91_PIN_PC13;
244 ek_nand_data.enable_pin = AT91_PIN_PC14;
245 }
246
247 /* configure chip-select 3 (NAND) */
248 if (machine_is_usb_a9g20())
249 sam9_smc_configure(0, 3, &usb_a9g20_nand_smc_config);
250 else
251 sam9_smc_configure(0, 3, &usb_a9260_nand_smc_config);
252
253 at91_add_device_nand(&ek_nand_data);
254}
255
256
257/*
258 * GPIO Buttons
259 */
260#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
261static struct gpio_keys_button ek_buttons[] = {
262 { /* USER PUSH BUTTON */
263 .code = KEY_ENTER,
264 .gpio = AT91_PIN_PB10,
265 .active_low = 1,
266 .desc = "user_pb",
267 .wakeup = 1,
268 }
269};
270
271static struct gpio_keys_platform_data ek_button_data = {
272 .buttons = ek_buttons,
273 .nbuttons = ARRAY_SIZE(ek_buttons),
274};
275
276static struct platform_device ek_button_device = {
277 .name = "gpio-keys",
278 .id = -1,
279 .num_resources = 0,
280 .dev = {
281 .platform_data = &ek_button_data,
282 }
283};
284
285static void __init ek_add_device_buttons(void)
286{
287 at91_set_GPIO_periph(AT91_PIN_PB10, 1); /* user push button, pull up enabled */
288 at91_set_deglitch(AT91_PIN_PB10, 1);
289
290 platform_device_register(&ek_button_device);
291}
292#else
293static void __init ek_add_device_buttons(void) {}
294#endif
295
296/*
297 * LEDs
298 */
299static struct gpio_led ek_leds[] = {
300 { /* user_led (green) */
301 .name = "user_led",
302 .gpio = AT91_PIN_PB21,
303 .active_low = 1,
304 .default_trigger = "heartbeat",
305 }
306};
307
308static struct i2c_board_info __initdata ek_i2c_devices[] = {
309 {
310 I2C_BOARD_INFO("rv3029c2", 0x56),
311 },
312};
313
314static void __init ek_add_device_leds(void)
315{
316 if (machine_is_usb_a9260() || machine_is_usb_a9g20())
317 ek_leds[0].active_low = 0;
318
319 at91_gpio_leds(ek_leds, ARRAY_SIZE(ek_leds));
320}
321
322static void __init ek_board_init(void)
323{
324 /* Serial */
325 /* DBGU on ttyS0. (Rx & Tx only) */
326 at91_register_uart(0, 0, 0);
327 at91_add_device_serial();
328 /* USB Host */
329 at91_add_device_usbh(&ek_usbh_data);
330 /* USB Device */
331 ek_add_device_udc();
332 /* SPI */
333 ek_add_device_spi();
334 /* Ethernet */
335 ek_add_device_eth();
336 /* NAND */
337 ek_add_device_nand();
338 /* Push Buttons */
339 ek_add_device_buttons();
340 /* LEDs */
341 ek_add_device_leds();
342
343 if (machine_is_usb_a9g20()) {
344 /* I2C */
345 at91_add_device_i2c(ek_i2c_devices, ARRAY_SIZE(ek_i2c_devices));
346 } else {
347 /* I2C */
348 at91_add_device_i2c(NULL, 0);
349 /* shutdown controller, wakeup button (5 msec low) */
350 at91_shdwc_write(AT91_SHDW_MR, AT91_SHDW_CPTWK0_(10)
351 | AT91_SHDW_WKMODE0_LOW
352 | AT91_SHDW_RTTWKEN);
353 }
354}
355
356MACHINE_START(USB_A9263, "CALAO USB_A9263")
357 /* Maintainer: calao-systems */
358 .init_time = at91sam926x_pit_init,
359 .map_io = at91_map_io,
360 .handle_irq = at91_aic_handle_irq,
361 .init_early = ek_init_early,
362 .init_irq = at91_init_irq_default,
363 .init_machine = ek_board_init,
364MACHINE_END
365
366MACHINE_START(USB_A9260, "CALAO USB_A9260")
367 /* Maintainer: calao-systems */
368 .init_time = at91sam926x_pit_init,
369 .map_io = at91_map_io,
370 .handle_irq = at91_aic_handle_irq,
371 .init_early = ek_init_early,
372 .init_irq = at91_init_irq_default,
373 .init_machine = ek_board_init,
374MACHINE_END
375
376MACHINE_START(USB_A9G20, "CALAO USB_A92G0")
377 /* Maintainer: Jean-Christophe PLAGNIOL-VILLARD */
378 .init_time = at91sam926x_pit_init,
379 .map_io = at91_map_io,
380 .handle_irq = at91_aic_handle_irq,
381 .init_early = ek_init_early,
382 .init_irq = at91_init_irq_default,
383 .init_machine = ek_board_init,
384MACHINE_END
diff --git a/arch/arm/mach-nomadik/Kconfig b/arch/arm/mach-nomadik/Kconfig
index 9b9d105f194c..5981c3db9b41 100644
--- a/arch/arm/mach-nomadik/Kconfig
+++ b/arch/arm/mach-nomadik/Kconfig
@@ -6,6 +6,7 @@ config ARCH_NOMADIK
6 select ARM_VIC 6 select ARM_VIC
7 select CLKSRC_NOMADIK_MTU 7 select CLKSRC_NOMADIK_MTU
8 select CLKSRC_NOMADIK_MTU_SCHED_CLOCK 8 select CLKSRC_NOMADIK_MTU_SCHED_CLOCK
9 select CLKSRC_OF
9 select COMMON_CLK 10 select COMMON_CLK
10 select CPU_ARM926T 11 select CPU_ARM926T
11 select GENERIC_CLOCKEVENTS 12 select GENERIC_CLOCKEVENTS
diff --git a/arch/arm/mach-nomadik/cpu-8815.c b/arch/arm/mach-nomadik/cpu-8815.c
index 59f6ff5c9bae..89e2c03db178 100644
--- a/arch/arm/mach-nomadik/cpu-8815.c
+++ b/arch/arm/mach-nomadik/cpu-8815.c
@@ -27,9 +27,7 @@
27#include <linux/dma-mapping.h> 27#include <linux/dma-mapping.h>
28#include <linux/irqchip.h> 28#include <linux/irqchip.h>
29#include <linux/platform_data/clk-nomadik.h> 29#include <linux/platform_data/clk-nomadik.h>
30#include <linux/platform_data/pinctrl-nomadik.h> 30#include <linux/clocksource.h>
31#include <linux/pinctrl/machine.h>
32#include <linux/platform_data/clocksource-nomadik-mtu.h>
33#include <linux/of_irq.h> 31#include <linux/of_irq.h>
34#include <linux/of_gpio.h> 32#include <linux/of_gpio.h>
35#include <linux/of_address.h> 33#include <linux/of_address.h>
@@ -91,48 +89,6 @@
91#define NOMADIK_L2CC_BASE 0x10210000 /* L2 Cache controller */ 89#define NOMADIK_L2CC_BASE 0x10210000 /* L2 Cache controller */
92#define NOMADIK_UART1_VBASE 0xF01FB000 90#define NOMADIK_UART1_VBASE 0xF01FB000
93 91
94static unsigned long out_low[] = { PIN_OUTPUT_LOW };
95static unsigned long out_high[] = { PIN_OUTPUT_HIGH };
96static unsigned long in_nopull[] = { PIN_INPUT_NOPULL };
97static unsigned long in_pullup[] = { PIN_INPUT_PULLUP };
98
99static struct pinctrl_map __initdata nhk8815_pinmap[] = {
100 PIN_MAP_MUX_GROUP_DEFAULT("uart0", "pinctrl-stn8815", "u0_a_1", "u0"),
101 PIN_MAP_MUX_GROUP_DEFAULT("uart1", "pinctrl-stn8815", "u1_a_1", "u1"),
102 /* Hog in MMC/SD card mux */
103 PIN_MAP_MUX_GROUP_HOG_DEFAULT("pinctrl-stn8815", "mmcsd_a_1", "mmcsd"),
104 /* MCCLK */
105 PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO8_B10", out_low),
106 /* MCCMD */
107 PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO9_A10", in_pullup),
108 /* MCCMDDIR */
109 PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO10_C11", out_high),
110 /* MCDAT3-0 */
111 PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO11_B11", in_pullup),
112 PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO12_A11", in_pullup),
113 PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO13_C12", in_pullup),
114 PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO14_B12", in_pullup),
115 /* MCDAT0DIR */
116 PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO15_A12", out_high),
117 /* MCDAT31DIR */
118 PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO16_C13", out_high),
119 /* MCMSFBCLK */
120 PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO24_C15", in_pullup),
121 /* CD input GPIO */
122 PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO111_H21", in_nopull),
123 /* CD bias drive */
124 PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO112_J21", out_low),
125 /* I2C0 */
126 PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO62_D3", in_pullup),
127 PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO63_D2", in_pullup),
128 /* I2C1 */
129 PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO53_L4", in_pullup),
130 PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO54_L3", in_pullup),
131 /* I2C2 */
132 PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO73_C21", in_pullup),
133 PIN_MAP_CONFIGS_PIN_HOG_DEFAULT("pinctrl-stn8815", "GPIO74_C20", in_pullup),
134};
135
136/* This is needed for LL-debug/earlyprintk/debug-macro.S */ 92/* This is needed for LL-debug/earlyprintk/debug-macro.S */
137static struct map_desc cpu8815_io_desc[] __initdata = { 93static struct map_desc cpu8815_io_desc[] __initdata = {
138 { 94 {
@@ -172,7 +128,7 @@ static void __init cpu8815_timer_init_of(void)
172 /* We need this to be up now */ 128 /* We need this to be up now */
173 nomadik_clk_init(); 129 nomadik_clk_init();
174 130
175 mtu = of_find_node_by_path("/mtu0"); 131 mtu = of_find_node_by_path("/mtu@101e2000");
176 if (!mtu) 132 if (!mtu)
177 return; 133 return;
178 base = of_iomap(mtu, 0); 134 base = of_iomap(mtu, 0);
@@ -188,7 +144,7 @@ static void __init cpu8815_timer_init_of(void)
188 src_cr |= SRC_CR_INIT_VAL; 144 src_cr |= SRC_CR_INIT_VAL;
189 writel(src_cr, base); 145 writel(src_cr, base);
190 146
191 nmdk_timer_init(base, irq); 147 clocksource_of_init();
192} 148}
193 149
194static struct fsmc_nand_timings cpu8815_nand_timings = { 150static struct fsmc_nand_timings cpu8815_nand_timings = {
@@ -280,28 +236,10 @@ device_initcall(cpu8815_mmcsd_init);
280 236
281/* These are mostly to get the right device names for the clock lookups */ 237/* These are mostly to get the right device names for the clock lookups */
282static struct of_dev_auxdata cpu8815_auxdata_lookup[] __initdata = { 238static struct of_dev_auxdata cpu8815_auxdata_lookup[] __initdata = {
283 OF_DEV_AUXDATA("st,nomadik-gpio", NOMADIK_GPIO0_BASE,
284 "gpio.0", NULL),
285 OF_DEV_AUXDATA("st,nomadik-gpio", NOMADIK_GPIO1_BASE,
286 "gpio.1", NULL),
287 OF_DEV_AUXDATA("st,nomadik-gpio", NOMADIK_GPIO2_BASE,
288 "gpio.2", NULL),
289 OF_DEV_AUXDATA("st,nomadik-gpio", NOMADIK_GPIO3_BASE,
290 "gpio.3", NULL),
291 OF_DEV_AUXDATA("stericsson,nmk-pinctrl-stn8815", 0,
292 "pinctrl-stn8815", NULL),
293 OF_DEV_AUXDATA("arm,primecell", NOMADIK_UART0_BASE,
294 "uart0", NULL),
295 OF_DEV_AUXDATA("arm,primecell", NOMADIK_UART1_BASE,
296 "uart1", NULL),
297 OF_DEV_AUXDATA("arm,primecell", NOMADIK_RNG_BASE,
298 "rng", NULL),
299 OF_DEV_AUXDATA("arm,primecell", NOMADIK_RTC_BASE,
300 "rtc-pl031", NULL),
301 OF_DEV_AUXDATA("stericsson,fsmc-nand", NOMADIK_FSMC_BASE, 239 OF_DEV_AUXDATA("stericsson,fsmc-nand", NOMADIK_FSMC_BASE,
302 "fsmc-nand", &cpu8815_nand_data), 240 NULL, &cpu8815_nand_data),
303 OF_DEV_AUXDATA("arm,primecell", NOMADIK_SDI_BASE, 241 OF_DEV_AUXDATA("arm,primecell", NOMADIK_SDI_BASE,
304 "mmci", &mmcsd_plat_data), 242 NULL, &mmcsd_plat_data),
305 { /* sentinel */ }, 243 { /* sentinel */ },
306}; 244};
307 245
@@ -311,7 +249,6 @@ static void __init cpu8815_init_of(void)
311 /* At full speed latency must be >=2, so 0x249 in low bits */ 249 /* At full speed latency must be >=2, so 0x249 in low bits */
312 l2x0_of_init(0x00730249, 0xfe000fff); 250 l2x0_of_init(0x00730249, 0xfe000fff);
313#endif 251#endif
314 pinctrl_register_mappings(nhk8815_pinmap, ARRAY_SIZE(nhk8815_pinmap));
315 of_platform_populate(NULL, of_default_bus_match_table, 252 of_platform_populate(NULL, of_default_bus_match_table,
316 cpu8815_auxdata_lookup, NULL); 253 cpu8815_auxdata_lookup, NULL);
317} 254}
diff --git a/arch/arm/mach-s3c24xx/Kconfig b/arch/arm/mach-s3c24xx/Kconfig
index f2f7088bfd22..e52d5e42af4e 100644
--- a/arch/arm/mach-s3c24xx/Kconfig
+++ b/arch/arm/mach-s3c24xx/Kconfig
@@ -490,6 +490,18 @@ config MACH_SMDK2416
490 help 490 help
491 Say Y here if you are using an SMDK2416 491 Say Y here if you are using an SMDK2416
492 492
493config MACH_S3C2416_DT
494 bool "Samsung S3C2416 machine using devicetree"
495 select CLKSRC_OF
496 select USE_OF
497 select PINCTRL
498 select PINCTRL_S3C24XX
499 help
500 Machine support for Samsung S3C2416 machines with device tree enabled.
501 Select this if a fdt blob is available for the S3C2416 SoC based board.
502 Note: This is under development and not all peripherals can be supported
503 with this machine file.
504
493endif # CPU_S3C2416 505endif # CPU_S3C2416
494 506
495if CPU_S3C2440 507if CPU_S3C2440
diff --git a/arch/arm/mach-s3c24xx/Makefile b/arch/arm/mach-s3c24xx/Makefile
index 6f46ecfc8396..6de730bada4d 100644
--- a/arch/arm/mach-s3c24xx/Makefile
+++ b/arch/arm/mach-s3c24xx/Makefile
@@ -85,6 +85,7 @@ obj-$(CONFIG_MACH_SMDK2413) += mach-smdk2413.o
85obj-$(CONFIG_MACH_VSTMS) += mach-vstms.o 85obj-$(CONFIG_MACH_VSTMS) += mach-vstms.o
86 86
87obj-$(CONFIG_MACH_SMDK2416) += mach-smdk2416.o 87obj-$(CONFIG_MACH_SMDK2416) += mach-smdk2416.o
88obj-$(CONFIG_MACH_S3C2416_DT) += mach-s3c2416-dt.o
88 89
89obj-$(CONFIG_MACH_ANUBIS) += mach-anubis.o 90obj-$(CONFIG_MACH_ANUBIS) += mach-anubis.o
90obj-$(CONFIG_MACH_AT2440EVB) += mach-at2440evb.o 91obj-$(CONFIG_MACH_AT2440EVB) += mach-at2440evb.o
diff --git a/arch/arm/mach-s3c24xx/mach-s3c2416-dt.c b/arch/arm/mach-s3c24xx/mach-s3c2416-dt.c
new file mode 100644
index 000000000000..f5c9072e1e35
--- /dev/null
+++ b/arch/arm/mach-s3c24xx/mach-s3c2416-dt.c
@@ -0,0 +1,91 @@
1/*
2 * Samsung's S3C2416 flattened device tree enabled machine
3 *
4 * Copyright (c) 2012 Heiko Stuebner <heiko@sntech.de>
5 *
6 * based on mach-exynos/mach-exynos4-dt.c
7 *
8 * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.
9 * http://www.samsung.com
10 * Copyright (c) 2010-2011 Linaro Ltd.
11 * www.linaro.org
12 *
13 * This program is free software; you can redistribute it and/or modify
14 * it under the terms of the GNU General Public License version 2 as
15 * published by the Free Software Foundation.
16*/
17
18#include <linux/clocksource.h>
19#include <linux/irqchip.h>
20#include <linux/of_platform.h>
21#include <linux/serial_core.h>
22
23#include <asm/mach/arch.h>
24#include <mach/map.h>
25
26#include <plat/cpu.h>
27#include <plat/pm.h>
28#include <plat/regs-serial.h>
29
30#include "common.h"
31
32/*
33 * The following lookup table is used to override device names when devices
34 * are registered from device tree. This is temporarily added to enable
35 * device tree support addition for the S3C2416 architecture.
36 *
37 * For drivers that require platform data to be provided from the machine
38 * file, a platform data pointer can also be supplied along with the
39 * devices names. Usually, the platform data elements that cannot be parsed
40 * from the device tree by the drivers (example: function pointers) are
41 * supplied. But it should be noted that this is a temporary mechanism and
42 * at some point, the drivers should be capable of parsing all the platform
43 * data from the device tree.
44 */
45static const struct of_dev_auxdata s3c2416_auxdata_lookup[] __initconst = {
46 OF_DEV_AUXDATA("samsung,s3c2440-uart", S3C2410_PA_UART0,
47 "s3c2440-uart.0", NULL),
48 OF_DEV_AUXDATA("samsung,s3c2440-uart", S3C2410_PA_UART1,
49 "s3c2440-uart.1", NULL),
50 OF_DEV_AUXDATA("samsung,s3c2440-uart", S3C2410_PA_UART2,
51 "s3c2440-uart.2", NULL),
52 OF_DEV_AUXDATA("samsung,s3c2440-uart", S3C2443_PA_UART3,
53 "s3c2440-uart.3", NULL),
54 OF_DEV_AUXDATA("samsung,s3c6410-sdhci", S3C_PA_HSMMC0,
55 "s3c-sdhci.0", NULL),
56 OF_DEV_AUXDATA("samsung,s3c6410-sdhci", S3C_PA_HSMMC1,
57 "s3c-sdhci.1", NULL),
58 OF_DEV_AUXDATA("samsung,s3c2440-i2c", S3C_PA_IIC,
59 "s3c2440-i2c.0", NULL),
60 {},
61};
62
63static void __init s3c2416_dt_map_io(void)
64{
65 s3c24xx_init_io(NULL, 0);
66 s3c24xx_init_clocks(12000000);
67}
68
69static void __init s3c2416_dt_machine_init(void)
70{
71 of_platform_populate(NULL, of_default_bus_match_table,
72 s3c2416_auxdata_lookup, NULL);
73
74 s3c_pm_init();
75}
76
77static char const *s3c2416_dt_compat[] __initdata = {
78 "samsung,s3c2416",
79 "samsung,s3c2450",
80 NULL
81};
82
83DT_MACHINE_START(S3C2416_DT, "Samsung S3C2416 (Flattened Device Tree)")
84 /* Maintainer: Heiko Stuebner <heiko@sntech.de> */
85 .dt_compat = s3c2416_dt_compat,
86 .map_io = s3c2416_dt_map_io,
87 .init_irq = irqchip_init,
88 .init_machine = s3c2416_dt_machine_init,
89 .init_time = clocksource_of_init,
90 .restart = s3c2416_restart,
91MACHINE_END
diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig
index 1a517e2fe449..c6fb9ec8d15b 100644
--- a/arch/arm/mach-shmobile/Kconfig
+++ b/arch/arm/mach-shmobile/Kconfig
@@ -129,6 +129,20 @@ config MACH_ARMADILLO800EVA
129 select SND_SOC_WM8978 if SND_SIMPLE_CARD 129 select SND_SOC_WM8978 if SND_SIMPLE_CARD
130 select USE_OF 130 select USE_OF
131 131
132config MACH_ARMADILLO800EVA_REFERENCE
133 bool "Armadillo-800 EVA board - Reference Device Tree Implementation"
134 depends on ARCH_R8A7740
135 select ARCH_REQUIRE_GPIOLIB
136 select REGULATOR_FIXED_VOLTAGE if REGULATOR
137 select SND_SOC_WM8978 if SND_SIMPLE_CARD
138 select USE_OF
139 ---help---
140 Use reference implementation of Aramdillo800 EVA board support
141 which makes a greater use of device tree at the expense
142 of not supporting a number of devices.
143
144 This is intended to aid developers
145
132config MACH_BOCKW 146config MACH_BOCKW
133 bool "BOCK-W platform" 147 bool "BOCK-W platform"
134 depends on ARCH_R8A7778 148 depends on ARCH_R8A7778
diff --git a/arch/arm/mach-shmobile/Makefile b/arch/arm/mach-shmobile/Makefile
index 068f1dadc46b..812de0452307 100644
--- a/arch/arm/mach-shmobile/Makefile
+++ b/arch/arm/mach-shmobile/Makefile
@@ -46,6 +46,7 @@ obj-$(CONFIG_MACH_MARZEN) += board-marzen.o
46obj-$(CONFIG_MACH_MARZEN_REFERENCE) += board-marzen-reference.o 46obj-$(CONFIG_MACH_MARZEN_REFERENCE) += board-marzen-reference.o
47obj-$(CONFIG_MACH_LAGER) += board-lager.o 47obj-$(CONFIG_MACH_LAGER) += board-lager.o
48obj-$(CONFIG_MACH_ARMADILLO800EVA) += board-armadillo800eva.o 48obj-$(CONFIG_MACH_ARMADILLO800EVA) += board-armadillo800eva.o
49obj-$(CONFIG_MACH_ARMADILLO800EVA_REFERENCE) += board-armadillo800eva-reference.o
49obj-$(CONFIG_MACH_KZM9D) += board-kzm9d.o 50obj-$(CONFIG_MACH_KZM9D) += board-kzm9d.o
50obj-$(CONFIG_MACH_KZM9G) += board-kzm9g.o 51obj-$(CONFIG_MACH_KZM9G) += board-kzm9g.o
51obj-$(CONFIG_MACH_KZM9G_REFERENCE) += board-kzm9g-reference.o 52obj-$(CONFIG_MACH_KZM9G_REFERENCE) += board-kzm9g-reference.o
diff --git a/arch/arm/mach-shmobile/board-armadillo800eva-reference.c b/arch/arm/mach-shmobile/board-armadillo800eva-reference.c
new file mode 100644
index 000000000000..03b85fec2ddb
--- /dev/null
+++ b/arch/arm/mach-shmobile/board-armadillo800eva-reference.c
@@ -0,0 +1,213 @@
1/*
2 * armadillo 800 eva board support
3 *
4 * Copyright (C) 2012 Renesas Solutions Corp.
5 * Copyright (C) 2012 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; version 2 of the License.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19 *
20 */
21
22#include <linux/clk.h>
23#include <linux/err.h>
24#include <linux/kernel.h>
25#include <linux/gpio.h>
26#include <linux/io.h>
27#include <linux/pinctrl/machine.h>
28#include <mach/common.h>
29#include <mach/r8a7740.h>
30#include <asm/mach/arch.h>
31#include <asm/hardware/cache-l2x0.h>
32
33/*
34 * CON1 Camera Module
35 * CON2 Extension Bus
36 * CON3 HDMI Output
37 * CON4 Composite Video Output
38 * CON5 H-UDI JTAG
39 * CON6 ARM JTAG
40 * CON7 SD1
41 * CON8 SD2
42 * CON9 RTC BackUp
43 * CON10 Monaural Mic Input
44 * CON11 Stereo Headphone Output
45 * CON12 Audio Line Output(L)
46 * CON13 Audio Line Output(R)
47 * CON14 AWL13 Module
48 * CON15 Extension
49 * CON16 LCD1
50 * CON17 LCD2
51 * CON19 Power Input
52 * CON20 USB1
53 * CON21 USB2
54 * CON22 Serial
55 * CON23 LAN
56 * CON24 USB3
57 * LED1 Camera LED(Yellow)
58 * LED2 Power LED (Green)
59 * ED3-LED6 User LED(Yellow)
60 * LED7 LAN link LED(Green)
61 * LED8 LAN activity LED(Yellow)
62 */
63
64/*
65 * DipSwitch
66 *
67 * SW1
68 *
69 * -12345678-+---------------+----------------------------
70 * 1 | boot | hermit
71 * 0 | boot | OS auto boot
72 * -12345678-+---------------+----------------------------
73 * 00 | boot device | eMMC
74 * 10 | boot device | SDHI0 (CON7)
75 * 01 | boot device | -
76 * 11 | boot device | Extension Buss (CS0)
77 * -12345678-+---------------+----------------------------
78 * 0 | Extension Bus | D8-D15 disable, eMMC enable
79 * 1 | Extension Bus | D8-D15 enable, eMMC disable
80 * -12345678-+---------------+----------------------------
81 * 0 | SDHI1 | COM8 disable, COM14 enable
82 * 1 | SDHI1 | COM8 enable, COM14 disable
83 * -12345678-+---------------+----------------------------
84 * 0 | USB0 | COM20 enable, COM24 disable
85 * 1 | USB0 | COM20 disable, COM24 enable
86 * -12345678-+---------------+----------------------------
87 * 00 | JTAG | SH-X2
88 * 10 | JTAG | ARM
89 * 01 | JTAG | -
90 * 11 | JTAG | Boundary Scan
91 *-----------+---------------+----------------------------
92 */
93
94/*
95 * FSI-WM8978
96 *
97 * this command is required when playback.
98 *
99 * # amixer set "Headphone" 50
100 *
101 * this command is required when capture.
102 *
103 * # amixer set "Input PGA" 15
104 * # amixer set "Left Input Mixer MicP" on
105 * # amixer set "Left Input Mixer MicN" on
106 * # amixer set "Right Input Mixer MicN" on
107 * # amixer set "Right Input Mixer MicP" on
108 */
109
110/*
111 * USB function
112 *
113 * When you use USB Function,
114 * set SW1.6 ON, and connect cable to CN24.
115 *
116 * USBF needs workaround on R8A7740 chip.
117 * These are a little bit complex.
118 * see
119 * usbhsf_power_ctrl()
120 */
121
122static const struct pinctrl_map eva_pinctrl_map[] = {
123 /* SCIFA1 */
124 PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.1", "pfc-r8a7740",
125 "scifa1_data", "scifa1"),
126};
127
128static void __init eva_clock_init(void)
129{
130 struct clk *system = clk_get(NULL, "system_clk");
131 struct clk *xtal1 = clk_get(NULL, "extal1");
132 struct clk *usb24s = clk_get(NULL, "usb24s");
133 struct clk *fsibck = clk_get(NULL, "fsibck");
134
135 if (IS_ERR(system) ||
136 IS_ERR(xtal1) ||
137 IS_ERR(usb24s) ||
138 IS_ERR(fsibck)) {
139 pr_err("armadillo800eva board clock init failed\n");
140 goto clock_error;
141 }
142
143 /* armadillo 800 eva extal1 is 24MHz */
144 clk_set_rate(xtal1, 24000000);
145
146 /* usb24s use extal1 (= system) clock (= 24MHz) */
147 clk_set_parent(usb24s, system);
148
149 /* FSIBCK is 12.288MHz, and it is parent of FSI-B */
150 clk_set_rate(fsibck, 12288000);
151
152clock_error:
153 if (!IS_ERR(system))
154 clk_put(system);
155 if (!IS_ERR(xtal1))
156 clk_put(xtal1);
157 if (!IS_ERR(usb24s))
158 clk_put(usb24s);
159 if (!IS_ERR(fsibck))
160 clk_put(fsibck);
161}
162
163/*
164 * board init
165 */
166static void __init eva_init(void)
167{
168
169 r8a7740_clock_init(MD_CK0 | MD_CK2);
170 eva_clock_init();
171
172 pinctrl_register_mappings(eva_pinctrl_map, ARRAY_SIZE(eva_pinctrl_map));
173 r8a7740_pinmux_init();
174
175 r8a7740_meram_workaround();
176
177 /*
178 * Touchscreen
179 * TODO: Move reset GPIO over to .dts when we can reference it
180 */
181 gpio_request_one(166, GPIOF_OUT_INIT_HIGH, NULL); /* TP_RST_B */
182
183#ifdef CONFIG_CACHE_L2X0
184 /* Early BRESP enable, Shared attribute override enable, 32K*8way */
185 l2x0_init(IOMEM(0xf0002000), 0x40440000, 0x82000fff);
186#endif
187
188 r8a7740_add_standard_devices_dt();
189 r8a7740_pm_init();
190}
191
192#define RESCNT2 IOMEM(0xe6188020)
193static void eva_restart(char mode, const char *cmd)
194{
195 /* Do soft power on reset */
196 writel((1 << 31), RESCNT2);
197}
198
199static const char *eva_boards_compat_dt[] __initdata = {
200 "renesas,armadillo800eva-reference",
201 NULL,
202};
203
204DT_MACHINE_START(ARMADILLO800EVA_DT, "armadillo800eva-reference")
205 .map_io = r8a7740_map_io,
206 .init_early = r8a7740_init_delay,
207 .init_irq = r8a7740_init_irq_of,
208 .init_machine = eva_init,
209 .init_time = shmobile_timer_init,
210 .init_late = shmobile_init_late,
211 .dt_compat = eva_boards_compat_dt,
212 .restart = eva_restart,
213MACHINE_END
diff --git a/arch/arm/mach-shmobile/include/mach/r8a7740.h b/arch/arm/mach-shmobile/include/mach/r8a7740.h
index abdc4d4efa28..1cf6869b656a 100644
--- a/arch/arm/mach-shmobile/include/mach/r8a7740.h
+++ b/arch/arm/mach-shmobile/include/mach/r8a7740.h
@@ -533,10 +533,13 @@ enum {
533}; 533};
534 534
535extern void r8a7740_meram_workaround(void); 535extern void r8a7740_meram_workaround(void);
536extern void r8a7740_init_delay(void);
536extern void r8a7740_init_irq(void); 537extern void r8a7740_init_irq(void);
538extern void r8a7740_init_irq_of(void);
537extern void r8a7740_map_io(void); 539extern void r8a7740_map_io(void);
538extern void r8a7740_add_early_devices(void); 540extern void r8a7740_add_early_devices(void);
539extern void r8a7740_add_standard_devices(void); 541extern void r8a7740_add_standard_devices(void);
542extern void r8a7740_add_standard_devices_dt(void);
540extern void r8a7740_clock_init(u8 md_ck); 543extern void r8a7740_clock_init(u8 md_ck);
541extern void r8a7740_pinmux_init(void); 544extern void r8a7740_pinmux_init(void);
542extern void r8a7740_pm_init(void); 545extern void r8a7740_pm_init(void);
diff --git a/arch/arm/mach-shmobile/intc-r8a7740.c b/arch/arm/mach-shmobile/intc-r8a7740.c
index b741c8409a5a..8871f7717dc8 100644
--- a/arch/arm/mach-shmobile/intc-r8a7740.c
+++ b/arch/arm/mach-shmobile/intc-r8a7740.c
@@ -20,19 +20,15 @@
20 20
21#include <linux/init.h> 21#include <linux/init.h>
22#include <linux/io.h> 22#include <linux/io.h>
23#include <linux/irqchip.h>
23#include <linux/irqchip/arm-gic.h> 24#include <linux/irqchip/arm-gic.h>
24 25
25void __init r8a7740_init_irq(void) 26static void __init r8a7740_init_irq_common(void)
26{ 27{
27 void __iomem *gic_dist_base = ioremap_nocache(0xc2800000, 0x1000);
28 void __iomem *gic_cpu_base = ioremap_nocache(0xc2000000, 0x1000);
29 void __iomem *intc_prio_base = ioremap_nocache(0xe6900010, 0x10); 28 void __iomem *intc_prio_base = ioremap_nocache(0xe6900010, 0x10);
30 void __iomem *intc_msk_base = ioremap_nocache(0xe6900040, 0x10); 29 void __iomem *intc_msk_base = ioremap_nocache(0xe6900040, 0x10);
31 void __iomem *pfc_inta_ctrl = ioremap_nocache(0xe605807c, 0x4); 30 void __iomem *pfc_inta_ctrl = ioremap_nocache(0xe605807c, 0x4);
32 31
33 /* initialize the Generic Interrupt Controller PL390 r0p0 */
34 gic_init(0, 29, gic_dist_base, gic_cpu_base);
35
36 /* route signals to GIC */ 32 /* route signals to GIC */
37 iowrite32(0x0, pfc_inta_ctrl); 33 iowrite32(0x0, pfc_inta_ctrl);
38 34
@@ -54,3 +50,19 @@ void __init r8a7740_init_irq(void)
54 iounmap(intc_msk_base); 50 iounmap(intc_msk_base);
55 iounmap(pfc_inta_ctrl); 51 iounmap(pfc_inta_ctrl);
56} 52}
53
54void __init r8a7740_init_irq_of(void)
55{
56 irqchip_init();
57 r8a7740_init_irq_common();
58}
59
60void __init r8a7740_init_irq(void)
61{
62 void __iomem *gic_dist_base = ioremap_nocache(0xc2800000, 0x1000);
63 void __iomem *gic_cpu_base = ioremap_nocache(0xc2000000, 0x1000);
64
65 /* initialize the Generic Interrupt Controller PL390 r0p0 */
66 gic_init(0, 29, gic_dist_base, gic_cpu_base);
67 r8a7740_init_irq_common();
68}
diff --git a/arch/arm/mach-shmobile/setup-r8a7740.c b/arch/arm/mach-shmobile/setup-r8a7740.c
index 326a4ab0bd5f..9284e6fdb0c8 100644
--- a/arch/arm/mach-shmobile/setup-r8a7740.c
+++ b/arch/arm/mach-shmobile/setup-r8a7740.c
@@ -531,11 +531,7 @@ static struct platform_device ipmmu_device = {
531 .num_resources = ARRAY_SIZE(ipmmu_resources), 531 .num_resources = ARRAY_SIZE(ipmmu_resources),
532}; 532};
533 533
534static struct platform_device *r8a7740_early_devices[] __initdata = { 534static struct platform_device *r8a7740_devices_dt[] __initdata = {
535 &irqpin0_device,
536 &irqpin1_device,
537 &irqpin2_device,
538 &irqpin3_device,
539 &scif0_device, 535 &scif0_device,
540 &scif1_device, 536 &scif1_device,
541 &scif2_device, 537 &scif2_device,
@@ -546,6 +542,13 @@ static struct platform_device *r8a7740_early_devices[] __initdata = {
546 &scif7_device, 542 &scif7_device,
547 &scifb_device, 543 &scifb_device,
548 &cmt10_device, 544 &cmt10_device,
545};
546
547static struct platform_device *r8a7740_early_devices[] __initdata = {
548 &irqpin0_device,
549 &irqpin1_device,
550 &irqpin2_device,
551 &irqpin3_device,
549 &tmu00_device, 552 &tmu00_device,
550 &tmu01_device, 553 &tmu01_device,
551 &tmu02_device, 554 &tmu02_device,
@@ -965,6 +968,8 @@ void __init r8a7740_add_standard_devices(void)
965 /* add devices */ 968 /* add devices */
966 platform_add_devices(r8a7740_early_devices, 969 platform_add_devices(r8a7740_early_devices,
967 ARRAY_SIZE(r8a7740_early_devices)); 970 ARRAY_SIZE(r8a7740_early_devices));
971 platform_add_devices(r8a7740_devices_dt,
972 ARRAY_SIZE(r8a7740_devices_dt));
968 platform_add_devices(r8a7740_late_devices, 973 platform_add_devices(r8a7740_late_devices,
969 ARRAY_SIZE(r8a7740_late_devices)); 974 ARRAY_SIZE(r8a7740_late_devices));
970 975
@@ -986,6 +991,8 @@ void __init r8a7740_add_early_devices(void)
986{ 991{
987 early_platform_add_devices(r8a7740_early_devices, 992 early_platform_add_devices(r8a7740_early_devices,
988 ARRAY_SIZE(r8a7740_early_devices)); 993 ARRAY_SIZE(r8a7740_early_devices));
994 early_platform_add_devices(r8a7740_devices_dt,
995 ARRAY_SIZE(r8a7740_devices_dt));
989 996
990 /* setup early console here as well */ 997 /* setup early console here as well */
991 shmobile_setup_console(); 998 shmobile_setup_console();
@@ -993,33 +1000,29 @@ void __init r8a7740_add_early_devices(void)
993 1000
994#ifdef CONFIG_USE_OF 1001#ifdef CONFIG_USE_OF
995 1002
996void __init r8a7740_add_early_devices_dt(void)
997{
998 shmobile_setup_delay(800, 1, 3); /* Cortex-A9 @ 800MHz */
999
1000 early_platform_add_devices(r8a7740_early_devices,
1001 ARRAY_SIZE(r8a7740_early_devices));
1002
1003 /* setup early console here as well */
1004 shmobile_setup_console();
1005}
1006
1007static const struct of_dev_auxdata r8a7740_auxdata_lookup[] __initconst = { 1003static const struct of_dev_auxdata r8a7740_auxdata_lookup[] __initconst = {
1008 { } 1004 { }
1009}; 1005};
1010 1006
1011void __init r8a7740_add_standard_devices_dt(void) 1007void __init r8a7740_add_standard_devices_dt(void)
1012{ 1008{
1013 /* clocks are setup late during boot in the case of DT */ 1009 platform_add_devices(r8a7740_devices_dt,
1014 r8a7740_clock_init(0); 1010 ARRAY_SIZE(r8a7740_devices_dt));
1015
1016 platform_add_devices(r8a7740_early_devices,
1017 ARRAY_SIZE(r8a7740_early_devices));
1018
1019 of_platform_populate(NULL, of_default_bus_match_table, 1011 of_platform_populate(NULL, of_default_bus_match_table,
1020 r8a7740_auxdata_lookup, NULL); 1012 r8a7740_auxdata_lookup, NULL);
1021} 1013}
1022 1014
1015void __init r8a7740_init_delay(void)
1016{
1017 shmobile_setup_delay(800, 1, 3); /* Cortex-A9 @ 800MHz */
1018};
1019
1020static void __init r8a7740_generic_init(void)
1021{
1022 r8a7740_clock_init(0);
1023 r8a7740_add_standard_devices_dt();
1024}
1025
1023static const char *r8a7740_boards_compat_dt[] __initdata = { 1026static const char *r8a7740_boards_compat_dt[] __initdata = {
1024 "renesas,r8a7740", 1027 "renesas,r8a7740",
1025 NULL, 1028 NULL,
@@ -1027,9 +1030,10 @@ static const char *r8a7740_boards_compat_dt[] __initdata = {
1027 1030
1028DT_MACHINE_START(R8A7740_DT, "Generic R8A7740 (Flattened Device Tree)") 1031DT_MACHINE_START(R8A7740_DT, "Generic R8A7740 (Flattened Device Tree)")
1029 .map_io = r8a7740_map_io, 1032 .map_io = r8a7740_map_io,
1030 .init_early = r8a7740_add_early_devices_dt, 1033 .init_early = r8a7740_init_delay,
1031 .init_irq = r8a7740_init_irq, 1034 .init_irq = r8a7740_init_irq_of,
1032 .init_machine = r8a7740_add_standard_devices_dt, 1035 .init_machine = r8a7740_generic_init,
1036 .init_time = shmobile_timer_init,
1033 .dt_compat = r8a7740_boards_compat_dt, 1037 .dt_compat = r8a7740_boards_compat_dt,
1034MACHINE_END 1038MACHINE_END
1035 1039
diff --git a/drivers/clk/clk-nomadik.c b/drivers/clk/clk-nomadik.c
index 6b4c70f7d23d..4a1ab27ee87f 100644
--- a/drivers/clk/clk-nomadik.c
+++ b/drivers/clk/clk-nomadik.c
@@ -3,46 +3,19 @@
3#include <linux/err.h> 3#include <linux/err.h>
4#include <linux/io.h> 4#include <linux/io.h>
5#include <linux/clk-provider.h> 5#include <linux/clk-provider.h>
6#include <linux/of.h>
6 7
7/* 8/*
8 * The Nomadik clock tree is described in the STN8815A12 DB V4.2 9 * The Nomadik clock tree is described in the STN8815A12 DB V4.2
9 * reference manual for the chip, page 94 ff. 10 * reference manual for the chip, page 94 ff.
10 */ 11 */
11 12
13static const __initconst struct of_device_id cpu8815_clk_match[] = {
14 { .compatible = "fixed-clock", .data = of_fixed_clk_setup, },
15 { /* sentinel */ }
16};
17
12void __init nomadik_clk_init(void) 18void __init nomadik_clk_init(void)
13{ 19{
14 struct clk *clk; 20 of_clk_init(cpu8815_clk_match);
15
16 clk = clk_register_fixed_rate(NULL, "apb_pclk", NULL, CLK_IS_ROOT, 0);
17 clk_register_clkdev(clk, "apb_pclk", NULL);
18 clk_register_clkdev(clk, NULL, "gpio.0");
19 clk_register_clkdev(clk, NULL, "gpio.1");
20 clk_register_clkdev(clk, NULL, "gpio.2");
21 clk_register_clkdev(clk, NULL, "gpio.3");
22 clk_register_clkdev(clk, NULL, "rng");
23 clk_register_clkdev(clk, NULL, "fsmc-nand");
24
25 /*
26 * The 2.4 MHz TIMCLK reference clock is active at boot time, this is
27 * actually the MXTALCLK @19.2 MHz divided by 8. This clock is used
28 * by the timers and watchdog. See page 105 ff.
29 */
30 clk = clk_register_fixed_rate(NULL, "TIMCLK", NULL, CLK_IS_ROOT,
31 2400000);
32 clk_register_clkdev(clk, NULL, "mtu0");
33 clk_register_clkdev(clk, NULL, "mtu1");
34
35 /*
36 * At boot time, PLL2 is set to generate a set of fixed clocks,
37 * one of them is CLK48, the 48 MHz clock, routed to the UART, MMC/SD
38 * I2C, IrDA, USB and SSP blocks.
39 */
40 clk = clk_register_fixed_rate(NULL, "CLK48", NULL, CLK_IS_ROOT,
41 48000000);
42 clk_register_clkdev(clk, NULL, "uart0");
43 clk_register_clkdev(clk, NULL, "uart1");
44 clk_register_clkdev(clk, NULL, "mmci");
45 clk_register_clkdev(clk, NULL, "ssp");
46 clk_register_clkdev(clk, NULL, "nmk-i2c.0");
47 clk_register_clkdev(clk, NULL, "nmk-i2c.1");
48} 21}
diff --git a/drivers/clocksource/nomadik-mtu.c b/drivers/clocksource/nomadik-mtu.c
index e405531e1cc5..b9415b622f55 100644
--- a/drivers/clocksource/nomadik-mtu.c
+++ b/drivers/clocksource/nomadik-mtu.c
@@ -13,6 +13,9 @@
13#include <linux/io.h> 13#include <linux/io.h>
14#include <linux/clockchips.h> 14#include <linux/clockchips.h>
15#include <linux/clocksource.h> 15#include <linux/clocksource.h>
16#include <linux/of_address.h>
17#include <linux/of_irq.h>
18#include <linux/of_platform.h>
16#include <linux/clk.h> 19#include <linux/clk.h>
17#include <linux/jiffies.h> 20#include <linux/jiffies.h>
18#include <linux/delay.h> 21#include <linux/delay.h>
@@ -188,22 +191,15 @@ static struct irqaction nmdk_timer_irq = {
188 .dev_id = &nmdk_clkevt, 191 .dev_id = &nmdk_clkevt,
189}; 192};
190 193
191void __init nmdk_timer_init(void __iomem *base, int irq) 194static void __init __nmdk_timer_init(void __iomem *base, int irq,
195 struct clk *pclk, struct clk *clk)
192{ 196{
193 unsigned long rate; 197 unsigned long rate;
194 struct clk *clk0, *pclk0;
195 198
196 mtu_base = base; 199 mtu_base = base;
197 200
198 pclk0 = clk_get_sys("mtu0", "apb_pclk"); 201 BUG_ON(clk_prepare_enable(pclk));
199 BUG_ON(IS_ERR(pclk0)); 202 BUG_ON(clk_prepare_enable(clk));
200 BUG_ON(clk_prepare(pclk0) < 0);
201 BUG_ON(clk_enable(pclk0) < 0);
202
203 clk0 = clk_get_sys("mtu0", NULL);
204 BUG_ON(IS_ERR(clk0));
205 BUG_ON(clk_prepare(clk0) < 0);
206 BUG_ON(clk_enable(clk0) < 0);
207 203
208 /* 204 /*
209 * Tick rate is 2.4MHz for Nomadik and 2.4Mhz, 100MHz or 133 MHz 205 * Tick rate is 2.4MHz for Nomadik and 2.4Mhz, 100MHz or 133 MHz
@@ -213,7 +209,7 @@ void __init nmdk_timer_init(void __iomem *base, int irq)
213 * to wake-up at a max 127s a head in time. Dividing a 2.4 MHz timer 209 * to wake-up at a max 127s a head in time. Dividing a 2.4 MHz timer
214 * with 16 gives too low timer resolution. 210 * with 16 gives too low timer resolution.
215 */ 211 */
216 rate = clk_get_rate(clk0); 212 rate = clk_get_rate(clk);
217 if (rate > 32000000) { 213 if (rate > 32000000) {
218 rate /= 16; 214 rate /= 16;
219 clk_prescale = MTU_CRn_PRESCALE_16; 215 clk_prescale = MTU_CRn_PRESCALE_16;
@@ -247,3 +243,43 @@ void __init nmdk_timer_init(void __iomem *base, int irq)
247 mtu_delay_timer.freq = rate; 243 mtu_delay_timer.freq = rate;
248 register_current_timer_delay(&mtu_delay_timer); 244 register_current_timer_delay(&mtu_delay_timer);
249} 245}
246
247void __init nmdk_timer_init(void __iomem *base, int irq)
248{
249 struct clk *clk0, *pclk0;
250
251 pclk0 = clk_get_sys("mtu0", "apb_pclk");
252 BUG_ON(IS_ERR(pclk0));
253 clk0 = clk_get_sys("mtu0", NULL);
254 BUG_ON(IS_ERR(clk0));
255
256 __nmdk_timer_init(base, irq, pclk0, clk0);
257}
258
259static void __init nmdk_timer_of_init(struct device_node *node)
260{
261 struct clk *pclk;
262 struct clk *clk;
263 void __iomem *base;
264 int irq;
265
266 base = of_iomap(node, 0);
267 if (!base)
268 panic("Can't remap registers");
269
270 pclk = of_clk_get_by_name(node, "apb_pclk");
271 if (IS_ERR(pclk))
272 panic("could not get apb_pclk");
273
274 clk = of_clk_get_by_name(node, "timclk");
275 if (IS_ERR(clk))
276 panic("could not get timclk");
277
278 irq = irq_of_parse_and_map(node, 0);
279 if (irq <= 0)
280 panic("Can't parse IRQ");
281
282 __nmdk_timer_init(base, irq, pclk, clk);
283}
284CLOCKSOURCE_OF_DECLARE(nomadik_mtu, "st,nomadik-mtu",
285 nmdk_timer_of_init);
diff --git a/include/dt-bindings/pinctrl/at91.h b/include/dt-bindings/pinctrl/at91.h
new file mode 100644
index 000000000000..d7988b4d8af9
--- /dev/null
+++ b/include/dt-bindings/pinctrl/at91.h
@@ -0,0 +1,35 @@
1/*
2 * This header provides constants for most at91 pinctrl bindings.
3 *
4 * Copyright (C) 2013 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
5 *
6 * GPLv2 only
7 */
8
9#ifndef __DT_BINDINGS_AT91_PINCTRL_H__
10#define __DT_BINDINGS_AT91_PINCTRL_H__
11
12#define AT91_PINCTRL_NONE (0 << 0)
13#define AT91_PINCTRL_PULL_UP (1 << 0)
14#define AT91_PINCTRL_MULTI_DRIVE (1 << 1)
15#define AT91_PINCTRL_DEGLITCH (1 << 2)
16#define AT91_PINCTRL_PULL_DOWN (1 << 3)
17#define AT91_PINCTRL_DIS_SCHMIT (1 << 4)
18#define AT91_PINCTRL_DEBOUNCE (1 << 16)
19#define AT91_PINCTRL_DEBOUNCE_VA(x) (x << 17)
20
21#define AT91_PINCTRL_PULL_UP_DEGLITCH (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DEGLITCH)
22
23#define AT91_PIOA 0
24#define AT91_PIOB 1
25#define AT91_PIOC 2
26#define AT91_PIOD 3
27#define AT91_PIOE 4
28
29#define AT91_PERIPH_GPIO 0
30#define AT91_PERIPH_A 1
31#define AT91_PERIPH_B 2
32#define AT91_PERIPH_C 3
33#define AT91_PERIPH_D 4
34
35#endif /* __DT_BINDINGS_AT91_PINCTRL_H__ */