aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/boot/dts/Makefile2
-rw-r--r--arch/arm/boot/dts/armada-370-db.dts17
-rw-r--r--arch/arm/boot/dts/armada-370-mirabox.dts64
-rw-r--r--arch/arm/boot/dts/armada-370-rd.dts11
-rw-r--r--arch/arm/boot/dts/armada-370-xp.dtsi45
-rw-r--r--arch/arm/boot/dts/armada-370.dtsi58
-rw-r--r--arch/arm/boot/dts/armada-xp-db.dts33
-rw-r--r--arch/arm/boot/dts/armada-xp-gp.dts50
-rw-r--r--arch/arm/boot/dts/armada-xp-mv78230.dtsi104
-rw-r--r--arch/arm/boot/dts/armada-xp-mv78260.dtsi122
-rw-r--r--arch/arm/boot/dts/armada-xp-mv78460.dtsi188
-rw-r--r--arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts38
-rw-r--r--arch/arm/boot/dts/armada-xp.dtsi6
-rw-r--r--arch/arm/boot/dts/at91-ariag25.dts171
-rw-r--r--arch/arm/boot/dts/at91rm9200.dtsi28
-rw-r--r--arch/arm/boot/dts/at91sam9260.dtsi19
-rw-r--r--arch/arm/boot/dts/at91sam9263ek.dts2
-rw-r--r--arch/arm/boot/dts/at91sam9g15.dtsi2
-rw-r--r--arch/arm/boot/dts/at91sam9g15ek.dts2
-rw-r--r--arch/arm/boot/dts/at91sam9g20ek_common.dtsi2
-rw-r--r--arch/arm/boot/dts/at91sam9g25.dtsi2
-rw-r--r--arch/arm/boot/dts/at91sam9g25ek.dts9
-rw-r--r--arch/arm/boot/dts/at91sam9g35.dtsi2
-rw-r--r--arch/arm/boot/dts/at91sam9g35ek.dts9
-rw-r--r--arch/arm/boot/dts/at91sam9g45.dtsi3
-rw-r--r--arch/arm/boot/dts/at91sam9m10g45ek.dts2
-rw-r--r--arch/arm/boot/dts/at91sam9n12ek.dts2
-rw-r--r--arch/arm/boot/dts/at91sam9x25.dtsi2
-rw-r--r--arch/arm/boot/dts/at91sam9x25ek.dts14
-rw-r--r--arch/arm/boot/dts/at91sam9x35.dtsi2
-rw-r--r--arch/arm/boot/dts/at91sam9x35ek.dts9
-rw-r--r--arch/arm/boot/dts/at91sam9x5.dtsi70
-rw-r--r--arch/arm/boot/dts/at91sam9x5cm.dtsi20
-rw-r--r--arch/arm/boot/dts/at91sam9x5ek.dtsi15
-rw-r--r--arch/arm/boot/dts/bcm2835.dtsi22
-rw-r--r--arch/arm/boot/dts/dove.dtsi5
-rw-r--r--arch/arm/boot/dts/kirkwood-6282.dtsi6
-rw-r--r--arch/arm/boot/dts/kirkwood-guruplug-server-plus.dts4
-rw-r--r--arch/arm/boot/dts/mpa1600.dts69
-rw-r--r--arch/arm/boot/dts/orion5x.dtsi33
-rw-r--r--arch/arm/boot/dts/skeleton64.dtsi13
-rw-r--r--arch/arm/boot/dts/sun4i-a10-cubieboard.dts32
-rw-r--r--arch/arm/boot/dts/sun4i-a10-hackberry.dts6
-rw-r--r--arch/arm/boot/dts/sun4i-a10-mini-xplus.dts32
-rw-r--r--arch/arm/boot/dts/sun4i-a10.dtsi259
-rw-r--r--arch/arm/boot/dts/sun5i-a13-olinuxino.dts24
-rw-r--r--arch/arm/boot/dts/sun5i-a13.dtsi199
-rw-r--r--arch/arm/boot/dts/sunxi.dtsi82
-rw-r--r--arch/arm/boot/dts/tegra20-colibri-512.dtsi2
-rw-r--r--arch/arm/boot/dts/tegra20-harmony.dts4
-rw-r--r--arch/arm/boot/dts/tegra20-paz00.dts2
-rw-r--r--arch/arm/boot/dts/tegra20-seaboard.dts2
-rw-r--r--arch/arm/boot/dts/tegra20-tamonten.dtsi2
-rw-r--r--arch/arm/boot/dts/tegra20-trimslice.dts2
-rw-r--r--arch/arm/boot/dts/tegra20-ventana.dts2
-rw-r--r--arch/arm/boot/dts/tegra20-whistler.dts1
-rw-r--r--arch/arm/boot/dts/tegra30-beaver.dts2
-rw-r--r--arch/arm/boot/dts/tegra30-cardhu.dtsi2
-rw-r--r--arch/arm/boot/dts/wm8505.dtsi31
-rw-r--r--arch/arm/boot/dts/zynq-7000.dtsi7
-rw-r--r--arch/arm/configs/dove_defconfig2
-rw-r--r--arch/arm/configs/kirkwood_defconfig2
-rw-r--r--arch/arm/configs/mvebu_defconfig9
-rw-r--r--arch/arm/mach-at91/at91rm9200.c1
-rw-r--r--arch/arm/mach-kirkwood/board-guruplug.c6
65 files changed, 1842 insertions, 148 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 2498cba723d4..2be254709dcb 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -3,6 +3,7 @@ ifeq ($(CONFIG_OF),y)
3# Keep at91 dtb files sorted alphabetically for each SoC 3# Keep at91 dtb files sorted alphabetically for each SoC
4# rm9200 4# rm9200
5dtb-$(CONFIG_ARCH_AT91) += at91rm9200ek.dtb 5dtb-$(CONFIG_ARCH_AT91) += at91rm9200ek.dtb
6dtb-$(CONFIG_ARCH_AT91) += mpa1600.dtb
6# sam9260 7# sam9260
7dtb-$(CONFIG_ARCH_AT91) += animeo_ip.dtb 8dtb-$(CONFIG_ARCH_AT91) += animeo_ip.dtb
8dtb-$(CONFIG_ARCH_AT91) += aks-cdu.dtb 9dtb-$(CONFIG_ARCH_AT91) += aks-cdu.dtb
@@ -26,6 +27,7 @@ dtb-$(CONFIG_ARCH_AT91) += pm9g45.dtb
26# sam9n12 27# sam9n12
27dtb-$(CONFIG_ARCH_AT91) += at91sam9n12ek.dtb 28dtb-$(CONFIG_ARCH_AT91) += at91sam9n12ek.dtb
28# sam9x5 29# sam9x5
30dtb-$(CONFIG_ARCH_AT91) += at91-ariag25.dtb
29dtb-$(CONFIG_ARCH_AT91) += at91sam9g15ek.dtb 31dtb-$(CONFIG_ARCH_AT91) += at91sam9g15ek.dtb
30dtb-$(CONFIG_ARCH_AT91) += at91sam9g25ek.dtb 32dtb-$(CONFIG_ARCH_AT91) += at91sam9g25ek.dtb
31dtb-$(CONFIG_ARCH_AT91) += at91sam9g35ek.dtb 33dtb-$(CONFIG_ARCH_AT91) += at91sam9g35ek.dtb
diff --git a/arch/arm/boot/dts/armada-370-db.dts b/arch/arm/boot/dts/armada-370-db.dts
index e34b280ce6ec..6403acdbb75f 100644
--- a/arch/arm/boot/dts/armada-370-db.dts
+++ b/arch/arm/boot/dts/armada-370-db.dts
@@ -94,5 +94,22 @@
94 spi-max-frequency = <50000000>; 94 spi-max-frequency = <50000000>;
95 }; 95 };
96 }; 96 };
97
98 pcie-controller {
99 status = "okay";
100 /*
101 * The two PCIe units are accessible through
102 * both standard PCIe slots and mini-PCIe
103 * slots on the board.
104 */
105 pcie@1,0 {
106 /* Port 0, Lane 0 */
107 status = "okay";
108 };
109 pcie@2,0 {
110 /* Port 1, Lane 0 */
111 status = "okay";
112 };
113 };
97 }; 114 };
98}; 115};
diff --git a/arch/arm/boot/dts/armada-370-mirabox.dts b/arch/arm/boot/dts/armada-370-mirabox.dts
index dd0c57dd9f30..70effc617123 100644
--- a/arch/arm/boot/dts/armada-370-mirabox.dts
+++ b/arch/arm/boot/dts/armada-370-mirabox.dts
@@ -33,6 +33,43 @@
33 clock-frequency = <600000000>; 33 clock-frequency = <600000000>;
34 status = "okay"; 34 status = "okay";
35 }; 35 };
36
37 pinctrl {
38 pwr_led_pin: pwr-led-pin {
39 marvell,pins = "mpp63";
40 marvell,function = "gpo";
41 };
42
43 stat_led_pins: stat-led-pins {
44 marvell,pins = "mpp64", "mpp65";
45 marvell,function = "gpio";
46 };
47 };
48
49 gpio_leds {
50 compatible = "gpio-leds";
51 pinctrl-names = "default";
52 pinctrl-0 = <&pwr_led_pin &stat_led_pins>;
53
54 green_pwr_led {
55 label = "mirabox:green:pwr";
56 gpios = <&gpio1 31 1>;
57 linux,default-trigger = "heartbeat";
58 };
59
60 blue_stat_led {
61 label = "mirabox:blue:stat";
62 gpios = <&gpio2 0 1>;
63 linux,default-trigger = "cpu0";
64 };
65
66 green_stat_led {
67 label = "mirabox:green:stat";
68 gpios = <&gpio2 1 1>;
69 default-state = "off";
70 };
71 };
72
36 mdio { 73 mdio {
37 phy0: ethernet-phy@0 { 74 phy0: ethernet-phy@0 {
38 reg = <0>; 75 reg = <0>;
@@ -70,5 +107,32 @@
70 usb@d0051000 { 107 usb@d0051000 {
71 status = "okay"; 108 status = "okay";
72 }; 109 };
110
111 i2c@d0011000 {
112 status = "okay";
113 clock-frequency = <100000>;
114 pca9505: pca9505@25 {
115 compatible = "nxp,pca9505";
116 gpio-controller;
117 #gpio-cells = <2>;
118 reg = <0x25>;
119 };
120 };
121
122 pcie-controller {
123 status = "okay";
124
125 /* Internal mini-PCIe connector */
126 pcie@1,0 {
127 /* Port 0, Lane 0 */
128 status = "okay";
129 };
130
131 /* Connected on the PCB to a USB 3.0 XHCI controller */
132 pcie@2,0 {
133 /* Port 1, Lane 0 */
134 status = "okay";
135 };
136 };
73 }; 137 };
74}; 138};
diff --git a/arch/arm/boot/dts/armada-370-rd.dts b/arch/arm/boot/dts/armada-370-rd.dts
index 070bba4f2585..516dec31b469 100644
--- a/arch/arm/boot/dts/armada-370-rd.dts
+++ b/arch/arm/boot/dts/armada-370-rd.dts
@@ -73,4 +73,15 @@
73 status = "okay"; 73 status = "okay";
74 }; 74 };
75 }; 75 };
76
77 gpio-keys {
78 compatible = "gpio-keys";
79 #address-cells = <1>;
80 #size-cells = <0>;
81 button@1 {
82 label = "Software Button";
83 linux,code = <116>;
84 gpios = <&gpio0 6 1>;
85 };
86 };
76}; 87};
diff --git a/arch/arm/boot/dts/armada-370-xp.dtsi b/arch/arm/boot/dts/armada-370-xp.dtsi
index 5b708208b607..758c4ea90344 100644
--- a/arch/arm/boot/dts/armada-370-xp.dtsi
+++ b/arch/arm/boot/dts/armada-370-xp.dtsi
@@ -181,6 +181,51 @@
181 clocks = <&coreclk 0>; 181 clocks = <&coreclk 0>;
182 status = "disabled"; 182 status = "disabled";
183 }; 183 };
184
185 devbus-bootcs@d0010400 {
186 compatible = "marvell,mvebu-devbus";
187 reg = <0xd0010400 0x8>;
188 #address-cells = <1>;
189 #size-cells = <1>;
190 clocks = <&coreclk 0>;
191 status = "disabled";
192 };
193
194 devbus-cs0@d0010408 {
195 compatible = "marvell,mvebu-devbus";
196 reg = <0xd0010408 0x8>;
197 #address-cells = <1>;
198 #size-cells = <1>;
199 clocks = <&coreclk 0>;
200 status = "disabled";
201 };
202
203 devbus-cs1@d0010410 {
204 compatible = "marvell,mvebu-devbus";
205 reg = <0xd0010410 0x8>;
206 #address-cells = <1>;
207 #size-cells = <1>;
208 clocks = <&coreclk 0>;
209 status = "disabled";
210 };
211
212 devbus-cs2@d0010418 {
213 compatible = "marvell,mvebu-devbus";
214 reg = <0xd0010418 0x8>;
215 #address-cells = <1>;
216 #size-cells = <1>;
217 clocks = <&coreclk 0>;
218 status = "disabled";
219 };
220
221 devbus-cs3@d0010420 {
222 compatible = "marvell,mvebu-devbus";
223 reg = <0xd0010420 0x8>;
224 #address-cells = <1>;
225 #size-cells = <1>;
226 clocks = <&coreclk 0>;
227 status = "disabled";
228 };
184 }; 229 };
185}; 230};
186 231
diff --git a/arch/arm/boot/dts/armada-370.dtsi b/arch/arm/boot/dts/armada-370.dtsi
index 8188d138020e..9cf60b2ce864 100644
--- a/arch/arm/boot/dts/armada-370.dtsi
+++ b/arch/arm/boot/dts/armada-370.dtsi
@@ -153,5 +153,63 @@
153 clocks = <&coreclk 0>; 153 clocks = <&coreclk 0>;
154 }; 154 };
155 155
156 thermal@d0018300 {
157 compatible = "marvell,armada370-thermal";
158 reg = <0xd0018300 0x4
159 0xd0018304 0x4>;
160 status = "okay";
161 };
162
163 pcie-controller {
164 compatible = "marvell,armada-370-pcie";
165 status = "disabled";
166 device_type = "pci";
167
168 #address-cells = <3>;
169 #size-cells = <2>;
170
171 bus-range = <0x00 0xff>;
172
173 reg = <0xd0040000 0x2000>, <0xd0080000 0x2000>;
174
175 reg-names = "pcie0.0", "pcie1.0";
176
177 ranges = <0x82000000 0 0xd0040000 0xd0040000 0 0x00002000 /* Port 0.0 registers */
178 0x82000000 0 0xd0080000 0xd0080000 0 0x00002000 /* Port 1.0 registers */
179 0x82000000 0 0xe0000000 0xe0000000 0 0x08000000 /* non-prefetchable memory */
180 0x81000000 0 0 0xe8000000 0 0x00100000>; /* downstream I/O */
181
182 pcie@1,0 {
183 device_type = "pci";
184 assigned-addresses = <0x82000800 0 0xd0040000 0 0x2000>;
185 reg = <0x0800 0 0 0 0>;
186 #address-cells = <3>;
187 #size-cells = <2>;
188 #interrupt-cells = <1>;
189 ranges;
190 interrupt-map-mask = <0 0 0 0>;
191 interrupt-map = <0 0 0 0 &mpic 58>;
192 marvell,pcie-port = <0>;
193 marvell,pcie-lane = <0>;
194 clocks = <&gateclk 5>;
195 status = "disabled";
196 };
197
198 pcie@2,0 {
199 device_type = "pci";
200 assigned-addresses = <0x82002800 0 0xd0080000 0 0x2000>;
201 reg = <0x1000 0 0 0 0>;
202 #address-cells = <3>;
203 #size-cells = <2>;
204 #interrupt-cells = <1>;
205 ranges;
206 interrupt-map-mask = <0 0 0 0>;
207 interrupt-map = <0 0 0 0 &mpic 62>;
208 marvell,pcie-port = <1>;
209 marvell,pcie-lane = <0>;
210 clocks = <&gateclk 9>;
211 status = "disabled";
212 };
213 };
156 }; 214 };
157}; 215};
diff --git a/arch/arm/boot/dts/armada-xp-db.dts b/arch/arm/boot/dts/armada-xp-db.dts
index e83505e4c236..54cc5bb705fb 100644
--- a/arch/arm/boot/dts/armada-xp-db.dts
+++ b/arch/arm/boot/dts/armada-xp-db.dts
@@ -121,5 +121,38 @@
121 spi-max-frequency = <20000000>; 121 spi-max-frequency = <20000000>;
122 }; 122 };
123 }; 123 };
124
125 pcie-controller {
126 status = "okay";
127
128 /*
129 * All 6 slots are physically present as
130 * standard PCIe slots on the board.
131 */
132 pcie@1,0 {
133 /* Port 0, Lane 0 */
134 status = "okay";
135 };
136 pcie@2,0 {
137 /* Port 0, Lane 1 */
138 status = "okay";
139 };
140 pcie@3,0 {
141 /* Port 0, Lane 2 */
142 status = "okay";
143 };
144 pcie@4,0 {
145 /* Port 0, Lane 3 */
146 status = "okay";
147 };
148 pcie@9,0 {
149 /* Port 2, Lane 0 */
150 status = "okay";
151 };
152 pcie@10,0 {
153 /* Port 3, Lane 0 */
154 status = "okay";
155 };
156 };
124 }; 157 };
125}; 158};
diff --git a/arch/arm/boot/dts/armada-xp-gp.dts b/arch/arm/boot/dts/armada-xp-gp.dts
index 1c8afe2ffebc..04f28a712b98 100644
--- a/arch/arm/boot/dts/armada-xp-gp.dts
+++ b/arch/arm/boot/dts/armada-xp-gp.dts
@@ -109,5 +109,55 @@
109 spi-max-frequency = <108000000>; 109 spi-max-frequency = <108000000>;
110 }; 110 };
111 }; 111 };
112
113 devbus-bootcs@d0010400 {
114 status = "okay";
115 ranges = <0 0xf0000000 0x1000000>; /* @addr 0xf000000, size 0x1000000 */
116
117 /* Device Bus parameters are required */
118
119 /* Read parameters */
120 devbus,bus-width = <8>;
121 devbus,turn-off-ps = <60000>;
122 devbus,badr-skew-ps = <0>;
123 devbus,acc-first-ps = <124000>;
124 devbus,acc-next-ps = <248000>;
125 devbus,rd-setup-ps = <0>;
126 devbus,rd-hold-ps = <0>;
127
128 /* Write parameters */
129 devbus,sync-enable = <0>;
130 devbus,wr-high-ps = <60000>;
131 devbus,wr-low-ps = <60000>;
132 devbus,ale-wr-ps = <60000>;
133
134 /* NOR 16 MiB */
135 nor@0 {
136 compatible = "cfi-flash";
137 reg = <0 0x1000000>;
138 bank-width = <2>;
139 };
140 };
141
142 pcie-controller {
143 status = "okay";
144
145 /*
146 * The 3 slots are physically present as
147 * standard PCIe slots on the board.
148 */
149 pcie@1,0 {
150 /* Port 0, Lane 0 */
151 status = "okay";
152 };
153 pcie@9,0 {
154 /* Port 2, Lane 0 */
155 status = "okay";
156 };
157 pcie@10,0 {
158 /* Port 3, Lane 0 */
159 status = "okay";
160 };
161 };
112 }; 162 };
113}; 163};
diff --git a/arch/arm/boot/dts/armada-xp-mv78230.dtsi b/arch/arm/boot/dts/armada-xp-mv78230.dtsi
index f56c40599f5b..c2c78459a4d4 100644
--- a/arch/arm/boot/dts/armada-xp-mv78230.dtsi
+++ b/arch/arm/boot/dts/armada-xp-mv78230.dtsi
@@ -76,5 +76,109 @@
76 #interrupts-cells = <2>; 76 #interrupts-cells = <2>;
77 interrupts = <87>, <88>, <89>; 77 interrupts = <87>, <88>, <89>;
78 }; 78 };
79
80 /*
81 * MV78230 has 2 PCIe units Gen2.0: One unit can be
82 * configured as x4 or quad x1 lanes. One unit is
83 * x4/x1.
84 */
85 pcie-controller {
86 compatible = "marvell,armada-xp-pcie";
87 status = "disabled";
88 device_type = "pci";
89
90 #address-cells = <3>;
91 #size-cells = <2>;
92
93 bus-range = <0x00 0xff>;
94
95 ranges = <0x82000000 0 0xd0040000 0xd0040000 0 0x00002000 /* Port 0.0 registers */
96 0x82000000 0 0xd0042000 0xd0042000 0 0x00002000 /* Port 2.0 registers */
97 0x82000000 0 0xd0044000 0xd0044000 0 0x00002000 /* Port 0.1 registers */
98 0x82000000 0 0xd0048000 0xd0048000 0 0x00002000 /* Port 0.2 registers */
99 0x82000000 0 0xd004c000 0xd004c000 0 0x00002000 /* Port 0.3 registers */
100 0x82000000 0 0xe0000000 0xe0000000 0 0x08000000 /* non-prefetchable memory */
101 0x81000000 0 0 0xe8000000 0 0x00100000>; /* downstream I/O */
102
103 pcie@1,0 {
104 device_type = "pci";
105 assigned-addresses = <0x82000800 0 0xd0040000 0 0x2000>;
106 reg = <0x0800 0 0 0 0>;
107 #address-cells = <3>;
108 #size-cells = <2>;
109 #interrupt-cells = <1>;
110 ranges;
111 interrupt-map-mask = <0 0 0 0>;
112 interrupt-map = <0 0 0 0 &mpic 58>;
113 marvell,pcie-port = <0>;
114 marvell,pcie-lane = <0>;
115 clocks = <&gateclk 5>;
116 status = "disabled";
117 };
118
119 pcie@2,0 {
120 device_type = "pci";
121 assigned-addresses = <0x82000800 0 0xd0044000 0 0x2000>;
122 reg = <0x1000 0 0 0 0>;
123 #address-cells = <3>;
124 #size-cells = <2>;
125 #interrupt-cells = <1>;
126 ranges;
127 interrupt-map-mask = <0 0 0 0>;
128 interrupt-map = <0 0 0 0 &mpic 59>;
129 marvell,pcie-port = <0>;
130 marvell,pcie-lane = <1>;
131 clocks = <&gateclk 6>;
132 status = "disabled";
133 };
134
135 pcie@3,0 {
136 device_type = "pci";
137 assigned-addresses = <0x82000800 0 0xd0048000 0 0x2000>;
138 reg = <0x1800 0 0 0 0>;
139 #address-cells = <3>;
140 #size-cells = <2>;
141 #interrupt-cells = <1>;
142 ranges;
143 interrupt-map-mask = <0 0 0 0>;
144 interrupt-map = <0 0 0 0 &mpic 60>;
145 marvell,pcie-port = <0>;
146 marvell,pcie-lane = <2>;
147 clocks = <&gateclk 7>;
148 status = "disabled";
149 };
150
151 pcie@4,0 {
152 device_type = "pci";
153 assigned-addresses = <0x82000800 0 0xd004c000 0 0x2000>;
154 reg = <0x2000 0 0 0 0>;
155 #address-cells = <3>;
156 #size-cells = <2>;
157 #interrupt-cells = <1>;
158 ranges;
159 interrupt-map-mask = <0 0 0 0>;
160 interrupt-map = <0 0 0 0 &mpic 61>;
161 marvell,pcie-port = <0>;
162 marvell,pcie-lane = <3>;
163 clocks = <&gateclk 8>;
164 status = "disabled";
165 };
166
167 pcie@9,0 {
168 device_type = "pci";
169 assigned-addresses = <0x82000800 0 0xd0042000 0 0x2000>;
170 reg = <0x4800 0 0 0 0>;
171 #address-cells = <3>;
172 #size-cells = <2>;
173 #interrupt-cells = <1>;
174 ranges;
175 interrupt-map-mask = <0 0 0 0>;
176 interrupt-map = <0 0 0 0 &mpic 99>;
177 marvell,pcie-port = <2>;
178 marvell,pcie-lane = <0>;
179 clocks = <&gateclk 26>;
180 status = "disabled";
181 };
182 };
79 }; 183 };
80}; 184};
diff --git a/arch/arm/boot/dts/armada-xp-mv78260.dtsi b/arch/arm/boot/dts/armada-xp-mv78260.dtsi
index f8f2b787d2b0..885bf229eef7 100644
--- a/arch/arm/boot/dts/armada-xp-mv78260.dtsi
+++ b/arch/arm/boot/dts/armada-xp-mv78260.dtsi
@@ -96,5 +96,127 @@
96 clocks = <&gateclk 1>; 96 clocks = <&gateclk 1>;
97 status = "disabled"; 97 status = "disabled";
98 }; 98 };
99
100 /*
101 * MV78260 has 3 PCIe units Gen2.0: Two units can be
102 * configured as x4 or quad x1 lanes. One unit is
103 * x4/x1.
104 */
105 pcie-controller {
106 compatible = "marvell,armada-xp-pcie";
107 status = "disabled";
108 device_type = "pci";
109
110 #address-cells = <3>;
111 #size-cells = <2>;
112
113 bus-range = <0x00 0xff>;
114
115 ranges = <0x82000000 0 0xd0040000 0xd0040000 0 0x00002000 /* Port 0.0 registers */
116 0x82000000 0 0xd0042000 0xd0042000 0 0x00002000 /* Port 2.0 registers */
117 0x82000000 0 0xd0044000 0xd0044000 0 0x00002000 /* Port 0.1 registers */
118 0x82000000 0 0xd0048000 0xd0048000 0 0x00002000 /* Port 0.2 registers */
119 0x82000000 0 0xd004c000 0xd004c000 0 0x00002000 /* Port 0.3 registers */
120 0x82000000 0 0xd0080000 0xd0080000 0 0x00002000 /* Port 1.0 registers */
121 0x82000000 0 0xd0082000 0xd0082000 0 0x00002000 /* Port 3.0 registers */
122 0x82000000 0 0xe0000000 0xe0000000 0 0x08000000 /* non-prefetchable memory */
123 0x81000000 0 0 0xe8000000 0 0x00100000>; /* downstream I/O */
124
125 pcie@1,0 {
126 device_type = "pci";
127 assigned-addresses = <0x82000800 0 0xd0040000 0 0x2000>;
128 reg = <0x0800 0 0 0 0>;
129 #address-cells = <3>;
130 #size-cells = <2>;
131 #interrupt-cells = <1>;
132 ranges;
133 interrupt-map-mask = <0 0 0 0>;
134 interrupt-map = <0 0 0 0 &mpic 58>;
135 marvell,pcie-port = <0>;
136 marvell,pcie-lane = <0>;
137 clocks = <&gateclk 5>;
138 status = "disabled";
139 };
140
141 pcie@2,0 {
142 device_type = "pci";
143 assigned-addresses = <0x82000800 0 0xd0044000 0 0x2000>;
144 reg = <0x1000 0 0 0 0>;
145 #address-cells = <3>;
146 #size-cells = <2>;
147 #interrupt-cells = <1>;
148 ranges;
149 interrupt-map-mask = <0 0 0 0>;
150 interrupt-map = <0 0 0 0 &mpic 59>;
151 marvell,pcie-port = <0>;
152 marvell,pcie-lane = <1>;
153 clocks = <&gateclk 6>;
154 status = "disabled";
155 };
156
157 pcie@3,0 {
158 device_type = "pci";
159 assigned-addresses = <0x82000800 0 0xd0048000 0 0x2000>;
160 reg = <0x1800 0 0 0 0>;
161 #address-cells = <3>;
162 #size-cells = <2>;
163 #interrupt-cells = <1>;
164 ranges;
165 interrupt-map-mask = <0 0 0 0>;
166 interrupt-map = <0 0 0 0 &mpic 60>;
167 marvell,pcie-port = <0>;
168 marvell,pcie-lane = <2>;
169 clocks = <&gateclk 7>;
170 status = "disabled";
171 };
172
173 pcie@4,0 {
174 device_type = "pci";
175 assigned-addresses = <0x82000800 0 0xd004c000 0 0x2000>;
176 reg = <0x2000 0 0 0 0>;
177 #address-cells = <3>;
178 #size-cells = <2>;
179 #interrupt-cells = <1>;
180 ranges;
181 interrupt-map-mask = <0 0 0 0>;
182 interrupt-map = <0 0 0 0 &mpic 61>;
183 marvell,pcie-port = <0>;
184 marvell,pcie-lane = <3>;
185 clocks = <&gateclk 8>;
186 status = "disabled";
187 };
188
189 pcie@9,0 {
190 device_type = "pci";
191 assigned-addresses = <0x82000800 0 0xd0042000 0 0x2000>;
192 reg = <0x4800 0 0 0 0>;
193 #address-cells = <3>;
194 #size-cells = <2>;
195 #interrupt-cells = <1>;
196 ranges;
197 interrupt-map-mask = <0 0 0 0>;
198 interrupt-map = <0 0 0 0 &mpic 99>;
199 marvell,pcie-port = <2>;
200 marvell,pcie-lane = <0>;
201 clocks = <&gateclk 26>;
202 status = "disabled";
203 };
204
205 pcie@10,0 {
206 device_type = "pci";
207 assigned-addresses = <0x82000800 0 0xd0082000 0 0x2000>;
208 reg = <0x5000 0 0 0 0>;
209 #address-cells = <3>;
210 #size-cells = <2>;
211 #interrupt-cells = <1>;
212 ranges;
213 interrupt-map-mask = <0 0 0 0>;
214 interrupt-map = <0 0 0 0 &mpic 103>;
215 marvell,pcie-port = <3>;
216 marvell,pcie-lane = <0>;
217 clocks = <&gateclk 27>;
218 status = "disabled";
219 };
220 };
99 }; 221 };
100}; 222};
diff --git a/arch/arm/boot/dts/armada-xp-mv78460.dtsi b/arch/arm/boot/dts/armada-xp-mv78460.dtsi
index 936c25dc32b0..23a5ac4490a8 100644
--- a/arch/arm/boot/dts/armada-xp-mv78460.dtsi
+++ b/arch/arm/boot/dts/armada-xp-mv78460.dtsi
@@ -111,5 +111,193 @@
111 clocks = <&gateclk 1>; 111 clocks = <&gateclk 1>;
112 status = "disabled"; 112 status = "disabled";
113 }; 113 };
114
115 /*
116 * MV78460 has 4 PCIe units Gen2.0: Two units can be
117 * configured as x4 or quad x1 lanes. Two units are
118 * x4/x1.
119 */
120 pcie-controller {
121 compatible = "marvell,armada-xp-pcie";
122 status = "disabled";
123 device_type = "pci";
124
125 #address-cells = <3>;
126 #size-cells = <2>;
127
128 bus-range = <0x00 0xff>;
129
130 ranges = <0x82000000 0 0xd0040000 0xd0040000 0 0x00002000 /* Port 0.0 registers */
131 0x82000000 0 0xd0042000 0xd0042000 0 0x00002000 /* Port 2.0 registers */
132 0x82000000 0 0xd0044000 0xd0044000 0 0x00002000 /* Port 0.1 registers */
133 0x82000000 0 0xd0048000 0xd0048000 0 0x00002000 /* Port 0.2 registers */
134 0x82000000 0 0xd004c000 0xd004c000 0 0x00002000 /* Port 0.3 registers */
135 0x82000000 0 0xd0080000 0xd0080000 0 0x00002000 /* Port 1.0 registers */
136 0x82000000 0 0xd0082000 0xd0082000 0 0x00002000 /* Port 3.0 registers */
137 0x82000000 0 0xd0084000 0xd0084000 0 0x00002000 /* Port 1.1 registers */
138 0x82000000 0 0xd0088000 0xd0088000 0 0x00002000 /* Port 1.2 registers */
139 0x82000000 0 0xd008c000 0xd008c000 0 0x00002000 /* Port 1.3 registers */
140 0x82000000 0 0xe0000000 0xe0000000 0 0x08000000 /* non-prefetchable memory */
141 0x81000000 0 0 0xe8000000 0 0x00100000>; /* downstream I/O */
142
143 pcie@1,0 {
144 device_type = "pci";
145 assigned-addresses = <0x82000800 0 0xd0040000 0 0x2000>;
146 reg = <0x0800 0 0 0 0>;
147 #address-cells = <3>;
148 #size-cells = <2>;
149 #interrupt-cells = <1>;
150 ranges;
151 interrupt-map-mask = <0 0 0 0>;
152 interrupt-map = <0 0 0 0 &mpic 58>;
153 marvell,pcie-port = <0>;
154 marvell,pcie-lane = <0>;
155 clocks = <&gateclk 5>;
156 status = "disabled";
157 };
158
159 pcie@2,0 {
160 device_type = "pci";
161 assigned-addresses = <0x82001000 0 0xd0044000 0 0x2000>;
162 reg = <0x1000 0 0 0 0>;
163 #address-cells = <3>;
164 #size-cells = <2>;
165 #interrupt-cells = <1>;
166 ranges;
167 interrupt-map-mask = <0 0 0 0>;
168 interrupt-map = <0 0 0 0 &mpic 59>;
169 marvell,pcie-port = <0>;
170 marvell,pcie-lane = <1>;
171 clocks = <&gateclk 6>;
172 status = "disabled";
173 };
174
175 pcie@3,0 {
176 device_type = "pci";
177 assigned-addresses = <0x82001800 0 0xd0048000 0 0x2000>;
178 reg = <0x1800 0 0 0 0>;
179 #address-cells = <3>;
180 #size-cells = <2>;
181 #interrupt-cells = <1>;
182 ranges;
183 interrupt-map-mask = <0 0 0 0>;
184 interrupt-map = <0 0 0 0 &mpic 60>;
185 marvell,pcie-port = <0>;
186 marvell,pcie-lane = <2>;
187 clocks = <&gateclk 7>;
188 status = "disabled";
189 };
190
191 pcie@4,0 {
192 device_type = "pci";
193 assigned-addresses = <0x82002000 0 0xd004c000 0 0x2000>;
194 reg = <0x2000 0 0 0 0>;
195 #address-cells = <3>;
196 #size-cells = <2>;
197 #interrupt-cells = <1>;
198 ranges;
199 interrupt-map-mask = <0 0 0 0>;
200 interrupt-map = <0 0 0 0 &mpic 61>;
201 marvell,pcie-port = <0>;
202 marvell,pcie-lane = <3>;
203 clocks = <&gateclk 8>;
204 status = "disabled";
205 };
206
207 pcie@5,0 {
208 device_type = "pci";
209 assigned-addresses = <0x82002800 0 0xd0080000 0 0x2000>;
210 reg = <0x2800 0 0 0 0>;
211 #address-cells = <3>;
212 #size-cells = <2>;
213 #interrupt-cells = <1>;
214 ranges;
215 interrupt-map-mask = <0 0 0 0>;
216 interrupt-map = <0 0 0 0 &mpic 62>;
217 marvell,pcie-port = <1>;
218 marvell,pcie-lane = <0>;
219 clocks = <&gateclk 9>;
220 status = "disabled";
221 };
222
223 pcie@6,0 {
224 device_type = "pci";
225 assigned-addresses = <0x82003000 0 0xd0084000 0 0x2000>;
226 reg = <0x3000 0 0 0 0>;
227 #address-cells = <3>;
228 #size-cells = <2>;
229 #interrupt-cells = <1>;
230 ranges;
231 interrupt-map-mask = <0 0 0 0>;
232 interrupt-map = <0 0 0 0 &mpic 63>;
233 marvell,pcie-port = <1>;
234 marvell,pcie-lane = <1>;
235 clocks = <&gateclk 10>;
236 status = "disabled";
237 };
238
239 pcie@7,0 {
240 device_type = "pci";
241 assigned-addresses = <0x82003800 0 0xd0088000 0 0x2000>;
242 reg = <0x3800 0 0 0 0>;
243 #address-cells = <3>;
244 #size-cells = <2>;
245 #interrupt-cells = <1>;
246 ranges;
247 interrupt-map-mask = <0 0 0 0>;
248 interrupt-map = <0 0 0 0 &mpic 64>;
249 marvell,pcie-port = <1>;
250 marvell,pcie-lane = <2>;
251 clocks = <&gateclk 11>;
252 status = "disabled";
253 };
254
255 pcie@8,0 {
256 device_type = "pci";
257 assigned-addresses = <0x82004000 0 0xd008c000 0 0x2000>;
258 reg = <0x4000 0 0 0 0>;
259 #address-cells = <3>;
260 #size-cells = <2>;
261 #interrupt-cells = <1>;
262 ranges;
263 interrupt-map-mask = <0 0 0 0>;
264 interrupt-map = <0 0 0 0 &mpic 65>;
265 marvell,pcie-port = <1>;
266 marvell,pcie-lane = <3>;
267 clocks = <&gateclk 12>;
268 status = "disabled";
269 };
270 pcie@9,0 {
271 device_type = "pci";
272 assigned-addresses = <0x82004800 0 0xd0042000 0 0x2000>;
273 reg = <0x4800 0 0 0 0>;
274 #address-cells = <3>;
275 #size-cells = <2>;
276 #interrupt-cells = <1>;
277 ranges;
278 interrupt-map-mask = <0 0 0 0>;
279 interrupt-map = <0 0 0 0 &mpic 99>;
280 marvell,pcie-port = <2>;
281 marvell,pcie-lane = <0>;
282 clocks = <&gateclk 26>;
283 status = "disabled";
284 };
285
286 pcie@10,0 {
287 device_type = "pci";
288 assigned-addresses = <0x82005000 0 0xd0082000 0 0x2000>;
289 reg = <0x5000 0 0 0 0>;
290 #address-cells = <3>;
291 #size-cells = <2>;
292 #interrupt-cells = <1>;
293 ranges;
294 interrupt-map-mask = <0 0 0 0>;
295 interrupt-map = <0 0 0 0 &mpic 103>;
296 marvell,pcie-port = <3>;
297 marvell,pcie-lane = <0>;
298 clocks = <&gateclk 27>;
299 status = "disabled";
300 };
301 };
114 }; 302 };
115 }; 303 };
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 3818a82176a2..9d04f04d4e39 100644
--- a/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts
+++ b/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts
@@ -139,5 +139,43 @@
139 usb@d0051000 { 139 usb@d0051000 {
140 status = "okay"; 140 status = "okay";
141 }; 141 };
142
143 devbus-bootcs@d0010400 {
144 status = "okay";
145 ranges = <0 0xf0000000 0x8000000>; /* @addr 0xf000000, size 0x8000000 */
146
147 /* Device Bus parameters are required */
148
149 /* Read parameters */
150 devbus,bus-width = <8>;
151 devbus,turn-off-ps = <60000>;
152 devbus,badr-skew-ps = <0>;
153 devbus,acc-first-ps = <124000>;
154 devbus,acc-next-ps = <248000>;
155 devbus,rd-setup-ps = <0>;
156 devbus,rd-hold-ps = <0>;
157
158 /* Write parameters */
159 devbus,sync-enable = <0>;
160 devbus,wr-high-ps = <60000>;
161 devbus,wr-low-ps = <60000>;
162 devbus,ale-wr-ps = <60000>;
163
164 /* NOR 128 MiB */
165 nor@0 {
166 compatible = "cfi-flash";
167 reg = <0 0x8000000>;
168 bank-width = <2>;
169 };
170 };
171
172 pcie-controller {
173 status = "okay";
174 /* Internal mini-PCIe connector */
175 pcie@1,0 {
176 /* Port 0, Lane 0 */
177 status = "okay";
178 };
179 };
142 }; 180 };
143}; 181};
diff --git a/arch/arm/boot/dts/armada-xp.dtsi b/arch/arm/boot/dts/armada-xp.dtsi
index ca00d8326c87..29dfeb6d4a26 100644
--- a/arch/arm/boot/dts/armada-xp.dtsi
+++ b/arch/arm/boot/dts/armada-xp.dtsi
@@ -151,5 +151,11 @@
151 status = "disabled"; 151 status = "disabled";
152 }; 152 };
153 153
154 thermal@d00182b0 {
155 compatible = "marvell,armadaxp-thermal";
156 reg = <0xd00182b0 0x4
157 0xd00184d0 0x4>;
158 status = "okay";
159 };
154 }; 160 };
155}; 161};
diff --git a/arch/arm/boot/dts/at91-ariag25.dts b/arch/arm/boot/dts/at91-ariag25.dts
new file mode 100644
index 000000000000..c7aebba4e8e7
--- /dev/null
+++ b/arch/arm/boot/dts/at91-ariag25.dts
@@ -0,0 +1,171 @@
1/*
2 * at91-ariag25.dts - Device Tree file for Acme Systems Aria G25 (AT91SAM9G25 based)
3 *
4 * Copyright (C) 2013 Douglas Gilbert <dgilbert@interlog.com>,
5 * Robert Nelson <robertcnelson@gmail.com>
6 *
7 * Licensed under GPLv2 or later.
8 */
9/dts-v1/;
10/include/ "at91sam9g25.dtsi"
11
12/ {
13 model = "Acme Systems Aria G25";
14 compatible = "acme,ariag25", "atmel,at91sam9x5ek",
15 "atmel,at91sam9x5", "atmel,at91sam9";
16
17 aliases {
18 serial0 = &dbgu;
19 serial1 = &usart0;
20 serial2 = &usart1;
21 serial3 = &usart2;
22 serial4 = &usart3;
23 serial5 = &uart0;
24 };
25
26 chosen {
27 bootargs = "console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootwait";
28 };
29
30 memory {
31 /* 128 MB, change this for 256 MB revision */
32 reg = <0x20000000 0x8000000>;
33 };
34
35 clocks {
36 #address-cells = <1>;
37 #size-cells = <1>;
38 ranges;
39
40 main_clock: clock@0 {
41 compatible = "atmel,osc", "fixed-clock";
42 clock-frequency = <12000000>;
43 };
44 };
45
46 ahb {
47 apb {
48 mmc0: mmc@f0008000 {
49 /* N.B. Aria has no SD card detect (CD), assumed present */
50
51 pinctrl-0 = <
52 &pinctrl_mmc0_slot0_clk_cmd_dat0
53 &pinctrl_mmc0_slot0_dat1_3>;
54 status = "okay";
55 slot@0 {
56 reg = <0>;
57 bus-width = <4>;
58 };
59 };
60
61 i2c0: i2c@f8010000 {
62 status = "okay";
63 };
64
65 i2c1: i2c@f8014000 {
66 status = "okay";
67 };
68
69 /* TWD2+TCLK2 hidden behind ethernet, so no i2c2 */
70
71 usart0: serial@f801c000 {
72 pinctrl-0 = <&pinctrl_usart0
73 &pinctrl_usart0_rts
74 &pinctrl_usart0_cts>;
75 status = "okay";
76 };
77
78 usart1: serial@f8020000 {
79 pinctrl-0 = <&pinctrl_usart1
80 /* &pinctrl_usart1_rts */
81 /* &pinctrl_usart1_cts */
82 >;
83 status = "okay";
84 };
85
86 usart2: serial@f8024000 {
87 /* cannot activate RTS2+CTS2, clash with
88 * ethernet on PB0 and PB1 */
89 pinctrl-0 = <&pinctrl_usart2>;
90 status = "okay";
91 };
92
93 usart3: serial@f8028000 {
94 compatible = "atmel,at91sam9260-usart";
95 reg = <0xf8028000 0x200>;
96 interrupts = <8 4 5>;
97 pinctrl-names = "default";
98 pinctrl-0 = <&pinctrl_usart3
99 /* &pinctrl_usart3_rts */
100 /* &pinctrl_usart3_cts */
101 >;
102 status = "okay";
103 };
104
105 macb0: ethernet@f802c000 {
106 phy-mode = "rmii";
107 /*
108 * following can be overwritten by bootloader:
109 * for example u-boot 'ftd set' command
110 */
111 local-mac-address = [00 00 00 00 00 00];
112 status = "okay";
113 };
114
115 uart0: serial@f8040000 {
116 compatible = "atmel,at91sam9260-usart";
117 reg = <0xf8040000 0x200>;
118 interrupts = <15 4 5>;
119 pinctrl-names = "default";
120 pinctrl-0 = <&pinctrl_uart0>;
121 status = "okay";
122 };
123
124 adc0: adc@f804c000 {
125 status = "okay";
126 atmel,adc-channels-used = <0xf>;
127 atmel,adc-num-channels = <4>;
128 };
129
130 dbgu: serial@fffff200 {
131 status = "okay";
132 };
133
134 pinctrl@fffff400 {
135 w1_0 {
136 pinctrl_w1_0: w1_0-0 {
137 atmel,pins = <0 21 0x0 0x1>; /* PA21 PIO, pull-up */
138 };
139 };
140 };
141 };
142
143 usb0: ohci@00600000 {
144 status = "okay";
145 num-ports = <3>;
146 };
147
148 usb1: ehci@00700000 {
149 status = "okay";
150 };
151 };
152
153 leds {
154 compatible = "gpio-leds";
155
156 /* little green LED in middle of Aria G25 module */
157 aria_led {
158 label = "aria_led";
159 gpios = <&pioB 8 0>; /* PB8 */
160 linux,default-trigger = "heartbeat";
161 };
162
163 };
164
165 onewire@0 {
166 compatible = "w1-gpio";
167 gpios = <&pioA 21 1>;
168 pinctrl-names = "default";
169 pinctrl-0 = <&pinctrl_w1_0>;
170 };
171};
diff --git a/arch/arm/boot/dts/at91rm9200.dtsi b/arch/arm/boot/dts/at91rm9200.dtsi
index b0268a5f4b4e..5d3ed5aafc69 100644
--- a/arch/arm/boot/dts/at91rm9200.dtsi
+++ b/arch/arm/boot/dts/at91rm9200.dtsi
@@ -29,6 +29,7 @@
29 gpio3 = &pioD; 29 gpio3 = &pioD;
30 tcb0 = &tcb0; 30 tcb0 = &tcb0;
31 tcb1 = &tcb1; 31 tcb1 = &tcb1;
32 i2c0 = &i2c0;
32 ssc0 = &ssc0; 33 ssc0 = &ssc0;
33 ssc1 = &ssc1; 34 ssc1 = &ssc1;
34 ssc2 = &ssc2; 35 ssc2 = &ssc2;
@@ -91,6 +92,17 @@
91 interrupts = <20 4 0 21 4 0 22 4 0>; 92 interrupts = <20 4 0 21 4 0 22 4 0>;
92 }; 93 };
93 94
95 i2c0: i2c@fffb8000 {
96 compatible = "atmel,at91rm9200-i2c";
97 reg = <0xfffb8000 0x4000>;
98 interrupts = <12 4 6>;
99 pinctrl-names = "default";
100 pinctrl-0 = <&pinctrl_twi>;
101 #address-cells = <1>;
102 #size-cells = <0>;
103 status = "disabled";
104 };
105
94 mmc0: mmc@fffb4000 { 106 mmc0: mmc@fffb4000 {
95 compatible = "atmel,hsmci"; 107 compatible = "atmel,hsmci";
96 reg = <0xfffb4000 0x4000>; 108 reg = <0xfffb4000 0x4000>;
@@ -365,6 +377,20 @@
365 }; 377 };
366 }; 378 };
367 379
380 twi {
381 pinctrl_twi: twi-0 {
382 atmel,pins =
383 <0 25 0x1 0x2 /* PA25 periph A with multi drive */
384 0 26 0x1 0x2>; /* PA26 periph A with multi drive */
385 };
386
387 pinctrl_twi_gpio: twi_gpio-0 {
388 atmel,pins =
389 <0 25 0x0 0x2 /* PA25 GPIO with multi drive */
390 0 26 0x0 0x2>; /* PA26 GPIO with multi drive */
391 };
392 };
393
368 pioA: gpio@fffff400 { 394 pioA: gpio@fffff400 {
369 compatible = "atmel,at91rm9200-gpio"; 395 compatible = "atmel,at91rm9200-gpio";
370 reg = <0xfffff400 0x200>; 396 reg = <0xfffff400 0x200>;
@@ -500,6 +526,8 @@
500 i2c-gpio,sda-open-drain; 526 i2c-gpio,sda-open-drain;
501 i2c-gpio,scl-open-drain; 527 i2c-gpio,scl-open-drain;
502 i2c-gpio,delay-us = <2>; /* ~100 kHz */ 528 i2c-gpio,delay-us = <2>; /* ~100 kHz */
529 pinctrl-names = "default";
530 pinctrl-0 = <&pinctrl_twi_gpio>;
503 #address-cells = <1>; 531 #address-cells = <1>;
504 #size-cells = <0>; 532 #size-cells = <0>;
505 status = "disabled"; 533 status = "disabled";
diff --git a/arch/arm/boot/dts/at91sam9260.dtsi b/arch/arm/boot/dts/at91sam9260.dtsi
index cb7bcc51608d..3e2adfbe3d20 100644
--- a/arch/arm/boot/dts/at91sam9260.dtsi
+++ b/arch/arm/boot/dts/at91sam9260.dtsi
@@ -158,8 +158,8 @@
158 usart1 { 158 usart1 {
159 pinctrl_usart1: usart1-0 { 159 pinctrl_usart1: usart1-0 {
160 atmel,pins = 160 atmel,pins =
161 <2 6 0x1 0x1 /* PB6 periph A with pullup */ 161 <1 6 0x1 0x1 /* PB6 periph A with pullup */
162 2 7 0x1 0x0>; /* PB7 periph A */ 162 1 7 0x1 0x0>; /* PB7 periph A */
163 }; 163 };
164 164
165 pinctrl_usart1_rts: usart1_rts-0 { 165 pinctrl_usart1_rts: usart1_rts-0 {
@@ -194,18 +194,18 @@
194 usart3 { 194 usart3 {
195 pinctrl_usart3: usart3-0 { 195 pinctrl_usart3: usart3-0 {
196 atmel,pins = 196 atmel,pins =
197 <2 10 0x1 0x1 /* PB10 periph A with pullup */ 197 <1 10 0x1 0x1 /* PB10 periph A with pullup */
198 2 11 0x1 0x0>; /* PB11 periph A */ 198 1 11 0x1 0x0>; /* PB11 periph A */
199 }; 199 };
200 200
201 pinctrl_usart3_rts: usart3_rts-0 { 201 pinctrl_usart3_rts: usart3_rts-0 {
202 atmel,pins = 202 atmel,pins =
203 <3 8 0x2 0x0>; /* PB8 periph B */ 203 <2 8 0x2 0x0>; /* PC8 periph B */
204 }; 204 };
205 205
206 pinctrl_usart3_cts: usart3_cts-0 { 206 pinctrl_usart3_cts: usart3_cts-0 {
207 atmel,pins = 207 atmel,pins =
208 <3 10 0x2 0x0>; /* PB10 periph B */ 208 <2 10 0x2 0x0>; /* PC10 periph B */
209 }; 209 };
210 }; 210 };
211 211
@@ -220,8 +220,8 @@
220 uart1 { 220 uart1 {
221 pinctrl_uart1: uart1-0 { 221 pinctrl_uart1: uart1-0 {
222 atmel,pins = 222 atmel,pins =
223 <2 12 0x1 0x1 /* PB12 periph A with pullup */ 223 <1 12 0x1 0x1 /* PB12 periph A with pullup */
224 2 13 0x1 0x0>; /* PB13 periph A */ 224 1 13 0x1 0x0>; /* PB13 periph A */
225 }; 225 };
226 }; 226 };
227 227
@@ -484,6 +484,9 @@
484 atmel,adc-drdy-mask = <0x10000>; 484 atmel,adc-drdy-mask = <0x10000>;
485 atmel,adc-status-register = <0x1c>; 485 atmel,adc-status-register = <0x1c>;
486 atmel,adc-trigger-register = <0x04>; 486 atmel,adc-trigger-register = <0x04>;
487 atmel,adc-res = <8 10>;
488 atmel,adc-res-names = "lowres", "highres";
489 atmel,adc-use-res = "highres";
487 490
488 trigger@0 { 491 trigger@0 {
489 trigger-name = "timer-counter-0"; 492 trigger-name = "timer-counter-0";
diff --git a/arch/arm/boot/dts/at91sam9263ek.dts b/arch/arm/boot/dts/at91sam9263ek.dts
index 1eb08728f527..aa0e184336a1 100644
--- a/arch/arm/boot/dts/at91sam9263ek.dts
+++ b/arch/arm/boot/dts/at91sam9263ek.dts
@@ -155,8 +155,6 @@
155 155
156 gpio_keys { 156 gpio_keys {
157 compatible = "gpio-keys"; 157 compatible = "gpio-keys";
158 #address-cells = <1>;
159 #size-cells = <0>;
160 158
161 left_click { 159 left_click {
162 label = "left_click"; 160 label = "left_click";
diff --git a/arch/arm/boot/dts/at91sam9g15.dtsi b/arch/arm/boot/dts/at91sam9g15.dtsi
index fbe7a7089c2a..28467fd6bf96 100644
--- a/arch/arm/boot/dts/at91sam9g15.dtsi
+++ b/arch/arm/boot/dts/at91sam9g15.dtsi
@@ -10,7 +10,7 @@
10 10
11/ { 11/ {
12 model = "Atmel AT91SAM9G15 SoC"; 12 model = "Atmel AT91SAM9G15 SoC";
13 compatible = "atmel, at91sam9g15, atmel,at91sam9x5"; 13 compatible = "atmel,at91sam9g15", "atmel,at91sam9x5";
14 14
15 ahb { 15 ahb {
16 apb { 16 apb {
diff --git a/arch/arm/boot/dts/at91sam9g15ek.dts b/arch/arm/boot/dts/at91sam9g15ek.dts
index 86dd3f6d938f..5427b2dba87e 100644
--- a/arch/arm/boot/dts/at91sam9g15ek.dts
+++ b/arch/arm/boot/dts/at91sam9g15ek.dts
@@ -11,6 +11,6 @@
11/include/ "at91sam9x5ek.dtsi" 11/include/ "at91sam9x5ek.dtsi"
12 12
13/ { 13/ {
14 model = "Atmel AT91SAM9G25-EK"; 14 model = "Atmel AT91SAM9G15-EK";
15 compatible = "atmel,at91sam9g15ek", "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9"; 15 compatible = "atmel,at91sam9g15ek", "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9";
16}; 16};
diff --git a/arch/arm/boot/dts/at91sam9g20ek_common.dtsi b/arch/arm/boot/dts/at91sam9g20ek_common.dtsi
index da15e83e7f17..e041b72216b1 100644
--- a/arch/arm/boot/dts/at91sam9g20ek_common.dtsi
+++ b/arch/arm/boot/dts/at91sam9g20ek_common.dtsi
@@ -167,8 +167,6 @@
167 167
168 gpio_keys { 168 gpio_keys {
169 compatible = "gpio-keys"; 169 compatible = "gpio-keys";
170 #address-cells = <1>;
171 #size-cells = <0>;
172 170
173 btn3 { 171 btn3 {
174 label = "Button 3"; 172 label = "Button 3";
diff --git a/arch/arm/boot/dts/at91sam9g25.dtsi b/arch/arm/boot/dts/at91sam9g25.dtsi
index 05a718fb83c4..5fd32df03f25 100644
--- a/arch/arm/boot/dts/at91sam9g25.dtsi
+++ b/arch/arm/boot/dts/at91sam9g25.dtsi
@@ -10,7 +10,7 @@
10 10
11/ { 11/ {
12 model = "Atmel AT91SAM9G25 SoC"; 12 model = "Atmel AT91SAM9G25 SoC";
13 compatible = "atmel, at91sam9g25, atmel,at91sam9x5"; 13 compatible = "atmel,at91sam9g25", "atmel,at91sam9x5";
14 14
15 ahb { 15 ahb {
16 apb { 16 apb {
diff --git a/arch/arm/boot/dts/at91sam9g25ek.dts b/arch/arm/boot/dts/at91sam9g25ek.dts
index c5ab16fba059..a1c511fecdc1 100644
--- a/arch/arm/boot/dts/at91sam9g25ek.dts
+++ b/arch/arm/boot/dts/at91sam9g25ek.dts
@@ -13,4 +13,13 @@
13/ { 13/ {
14 model = "Atmel AT91SAM9G25-EK"; 14 model = "Atmel AT91SAM9G25-EK";
15 compatible = "atmel,at91sam9g25ek", "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9"; 15 compatible = "atmel,at91sam9g25ek", "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9";
16
17 ahb {
18 apb {
19 macb0: ethernet@f802c000 {
20 phy-mode = "rmii";
21 status = "okay";
22 };
23 };
24 };
16}; 25};
diff --git a/arch/arm/boot/dts/at91sam9g35.dtsi b/arch/arm/boot/dts/at91sam9g35.dtsi
index f9d14a722794..d6fa8af50724 100644
--- a/arch/arm/boot/dts/at91sam9g35.dtsi
+++ b/arch/arm/boot/dts/at91sam9g35.dtsi
@@ -10,7 +10,7 @@
10 10
11/ { 11/ {
12 model = "Atmel AT91SAM9G35 SoC"; 12 model = "Atmel AT91SAM9G35 SoC";
13 compatible = "atmel, at91sam9g35, atmel,at91sam9x5"; 13 compatible = "atmel,at91sam9g35", "atmel,at91sam9x5";
14 14
15 ahb { 15 ahb {
16 apb { 16 apb {
diff --git a/arch/arm/boot/dts/at91sam9g35ek.dts b/arch/arm/boot/dts/at91sam9g35ek.dts
index 95944bdd798d..6f58ab8d21f5 100644
--- a/arch/arm/boot/dts/at91sam9g35ek.dts
+++ b/arch/arm/boot/dts/at91sam9g35ek.dts
@@ -13,4 +13,13 @@
13/ { 13/ {
14 model = "Atmel AT91SAM9G35-EK"; 14 model = "Atmel AT91SAM9G35-EK";
15 compatible = "atmel,at91sam9g35ek", "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9"; 15 compatible = "atmel,at91sam9g35ek", "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9";
16
17 ahb {
18 apb {
19 macb0: ethernet@f802c000 {
20 phy-mode = "rmii";
21 status = "okay";
22 };
23 };
24 };
16}; 25};
diff --git a/arch/arm/boot/dts/at91sam9g45.dtsi b/arch/arm/boot/dts/at91sam9g45.dtsi
index 6b1d4cab24c2..0fa28af229ed 100644
--- a/arch/arm/boot/dts/at91sam9g45.dtsi
+++ b/arch/arm/boot/dts/at91sam9g45.dtsi
@@ -484,6 +484,9 @@
484 atmel,adc-drdy-mask = <0x10000>; 484 atmel,adc-drdy-mask = <0x10000>;
485 atmel,adc-status-register = <0x1c>; 485 atmel,adc-status-register = <0x1c>;
486 atmel,adc-trigger-register = <0x08>; 486 atmel,adc-trigger-register = <0x08>;
487 atmel,adc-res = <8 10>;
488 atmel,adc-res-names = "lowres", "highres";
489 atmel,adc-use-res = "highres";
487 490
488 trigger@0 { 491 trigger@0 {
489 trigger-name = "external-rising"; 492 trigger-name = "external-rising";
diff --git a/arch/arm/boot/dts/at91sam9m10g45ek.dts b/arch/arm/boot/dts/at91sam9m10g45ek.dts
index 20c31913c270..c795bfbba05d 100644
--- a/arch/arm/boot/dts/at91sam9m10g45ek.dts
+++ b/arch/arm/boot/dts/at91sam9m10g45ek.dts
@@ -162,8 +162,6 @@
162 162
163 gpio_keys { 163 gpio_keys {
164 compatible = "gpio-keys"; 164 compatible = "gpio-keys";
165 #address-cells = <1>;
166 #size-cells = <0>;
167 165
168 left_click { 166 left_click {
169 label = "left_click"; 167 label = "left_click";
diff --git a/arch/arm/boot/dts/at91sam9n12ek.dts b/arch/arm/boot/dts/at91sam9n12ek.dts
index d400f8de4387..7117c057deb7 100644
--- a/arch/arm/boot/dts/at91sam9n12ek.dts
+++ b/arch/arm/boot/dts/at91sam9n12ek.dts
@@ -104,8 +104,6 @@
104 104
105 gpio_keys { 105 gpio_keys {
106 compatible = "gpio-keys"; 106 compatible = "gpio-keys";
107 #address-cells = <1>;
108 #size-cells = <0>;
109 107
110 enter { 108 enter {
111 label = "Enter"; 109 label = "Enter";
diff --git a/arch/arm/boot/dts/at91sam9x25.dtsi b/arch/arm/boot/dts/at91sam9x25.dtsi
index 54eb33ba6d22..9ac2bc2b4f07 100644
--- a/arch/arm/boot/dts/at91sam9x25.dtsi
+++ b/arch/arm/boot/dts/at91sam9x25.dtsi
@@ -10,7 +10,7 @@
10 10
11/ { 11/ {
12 model = "Atmel AT91SAM9X25 SoC"; 12 model = "Atmel AT91SAM9X25 SoC";
13 compatible = "atmel, at91sam9x25, atmel,at91sam9x5"; 13 compatible = "atmel,at91sam9x25", "atmel,at91sam9x5";
14 14
15 ahb { 15 ahb {
16 apb { 16 apb {
diff --git a/arch/arm/boot/dts/at91sam9x25ek.dts b/arch/arm/boot/dts/at91sam9x25ek.dts
index af907eaa1f25..3b40d11d65e7 100644
--- a/arch/arm/boot/dts/at91sam9x25ek.dts
+++ b/arch/arm/boot/dts/at91sam9x25ek.dts
@@ -13,4 +13,18 @@
13/ { 13/ {
14 model = "Atmel AT91SAM9G25-EK"; 14 model = "Atmel AT91SAM9G25-EK";
15 compatible = "atmel,at91sam9x25ek", "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9"; 15 compatible = "atmel,at91sam9x25ek", "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9";
16
17 ahb {
18 apb {
19 macb0: ethernet@f802c000 {
20 phy-mode = "rmii";
21 status = "okay";
22 };
23
24 macb1: ethernet@f8030000 {
25 phy-mode = "rmii";
26 status = "okay";
27 };
28 };
29 };
16}; 30};
diff --git a/arch/arm/boot/dts/at91sam9x35.dtsi b/arch/arm/boot/dts/at91sam9x35.dtsi
index fb102d6126ce..ba67d83d17ac 100644
--- a/arch/arm/boot/dts/at91sam9x35.dtsi
+++ b/arch/arm/boot/dts/at91sam9x35.dtsi
@@ -10,7 +10,7 @@
10 10
11/ { 11/ {
12 model = "Atmel AT91SAM9X35 SoC"; 12 model = "Atmel AT91SAM9X35 SoC";
13 compatible = "atmel, at91sam9x35, atmel,at91sam9x5"; 13 compatible = "atmel,at91sam9x35", "atmel,at91sam9x5";
14 14
15 ahb { 15 ahb {
16 apb { 16 apb {
diff --git a/arch/arm/boot/dts/at91sam9x35ek.dts b/arch/arm/boot/dts/at91sam9x35ek.dts
index 5ccb607b5414..6ad19a0d5424 100644
--- a/arch/arm/boot/dts/at91sam9x35ek.dts
+++ b/arch/arm/boot/dts/at91sam9x35ek.dts
@@ -13,4 +13,13 @@
13/ { 13/ {
14 model = "Atmel AT91SAM9X35-EK"; 14 model = "Atmel AT91SAM9X35-EK";
15 compatible = "atmel,at91sam9x35ek", "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9"; 15 compatible = "atmel,at91sam9x35ek", "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9";
16
17 ahb {
18 apb {
19 macb0: ethernet@f802c000 {
20 phy-mode = "rmii";
21 status = "okay";
22 };
23 };
24 };
16}; 25};
diff --git a/arch/arm/boot/dts/at91sam9x5.dtsi b/arch/arm/boot/dts/at91sam9x5.dtsi
index a98c0d50fbbe..284bf24815bb 100644
--- a/arch/arm/boot/dts/at91sam9x5.dtsi
+++ b/arch/arm/boot/dts/at91sam9x5.dtsi
@@ -343,6 +343,54 @@
343 }; 343 };
344 }; 344 };
345 345
346 i2c0 {
347 pinctrl_i2c0: i2c0-0 {
348 atmel,pins =
349 <0 30 0x1 0x0 /* PA30 periph A I2C0 data */
350 0 31 0x1 0x0>; /* PA31 periph A I2C0 clock */
351 };
352 };
353
354 i2c1 {
355 pinctrl_i2c1: i2c1-0 {
356 atmel,pins =
357 <2 0 0x3 0x0 /* PC0 periph C I2C1 data */
358 2 1 0x3 0x0>; /* PC1 periph C I2C1 clock */
359 };
360 };
361
362 i2c2 {
363 pinctrl_i2c2: i2c2-0 {
364 atmel,pins =
365 <1 4 0x2 0x0 /* PB4 periph B I2C2 data */
366 1 5 0x2 0x0>; /* PB5 periph B I2C2 clock */
367 };
368 };
369
370 i2c_gpio0 {
371 pinctrl_i2c_gpio0: i2c_gpio0-0 {
372 atmel,pins =
373 <0 30 0x0 0x2 /* PA30 gpio multidrive I2C0 data */
374 0 31 0x0 0x2>; /* PA31 gpio multidrive I2C0 clock */
375 };
376 };
377
378 i2c_gpio1 {
379 pinctrl_i2c_gpio1: i2c_gpio1-0 {
380 atmel,pins =
381 <2 0 0x0 0x2 /* PC0 gpio multidrive I2C1 data */
382 2 1 0x0 0x2>; /* PC1 gpio multidrive I2C1 clock */
383 };
384 };
385
386 i2c_gpio2 {
387 pinctrl_i2c_gpio2: i2c_gpio2-0 {
388 atmel,pins =
389 <1 4 0x0 0x2 /* PB4 gpio multidrive I2C2 data */
390 1 5 0x0 0x2>; /* PB5 gpio multidrive I2C2 clock */
391 };
392 };
393
346 pioA: gpio@fffff400 { 394 pioA: gpio@fffff400 {
347 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; 395 compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
348 reg = <0xfffff400 0x200>; 396 reg = <0xfffff400 0x200>;
@@ -471,6 +519,8 @@
471 interrupts = <9 4 6>; 519 interrupts = <9 4 6>;
472 #address-cells = <1>; 520 #address-cells = <1>;
473 #size-cells = <0>; 521 #size-cells = <0>;
522 pinctrl-names = "default";
523 pinctrl-0 = <&pinctrl_i2c0>;
474 status = "disabled"; 524 status = "disabled";
475 }; 525 };
476 526
@@ -480,6 +530,8 @@
480 interrupts = <10 4 6>; 530 interrupts = <10 4 6>;
481 #address-cells = <1>; 531 #address-cells = <1>;
482 #size-cells = <0>; 532 #size-cells = <0>;
533 pinctrl-names = "default";
534 pinctrl-0 = <&pinctrl_i2c1>;
483 status = "disabled"; 535 status = "disabled";
484 }; 536 };
485 537
@@ -489,6 +541,8 @@
489 interrupts = <11 4 6>; 541 interrupts = <11 4 6>;
490 #address-cells = <1>; 542 #address-cells = <1>;
491 #size-cells = <0>; 543 #size-cells = <0>;
544 pinctrl-names = "default";
545 pinctrl-0 = <&pinctrl_i2c2>;
492 status = "disabled"; 546 status = "disabled";
493 }; 547 };
494 548
@@ -505,6 +559,9 @@
505 atmel,adc-drdy-mask = <0x1000000>; 559 atmel,adc-drdy-mask = <0x1000000>;
506 atmel,adc-status-register = <0x30>; 560 atmel,adc-status-register = <0x30>;
507 atmel,adc-trigger-register = <0xc0>; 561 atmel,adc-trigger-register = <0xc0>;
562 atmel,adc-res = <8 10>;
563 atmel,adc-res-names = "lowres", "highres";
564 atmel,adc-use-res = "highres";
508 565
509 trigger@0 { 566 trigger@0 {
510 trigger-name = "external-rising"; 567 trigger-name = "external-rising";
@@ -529,6 +586,13 @@
529 trigger-value = <0x6>; 586 trigger-value = <0x6>;
530 }; 587 };
531 }; 588 };
589
590 rtc@fffffeb0 {
591 compatible = "atmel,at91rm9200-rtc";
592 reg = <0xfffffeb0 0x40>;
593 interrupts = <1 4 7>;
594 status = "disabled";
595 };
532 }; 596 };
533 597
534 nand0: nand@40000000 { 598 nand0: nand@40000000 {
@@ -577,6 +641,8 @@
577 i2c-gpio,delay-us = <2>; /* ~100 kHz */ 641 i2c-gpio,delay-us = <2>; /* ~100 kHz */
578 #address-cells = <1>; 642 #address-cells = <1>;
579 #size-cells = <0>; 643 #size-cells = <0>;
644 pinctrl-names = "default";
645 pinctrl-0 = <&pinctrl_i2c_gpio0>;
580 status = "disabled"; 646 status = "disabled";
581 }; 647 };
582 648
@@ -590,6 +656,8 @@
590 i2c-gpio,delay-us = <2>; /* ~100 kHz */ 656 i2c-gpio,delay-us = <2>; /* ~100 kHz */
591 #address-cells = <1>; 657 #address-cells = <1>;
592 #size-cells = <0>; 658 #size-cells = <0>;
659 pinctrl-names = "default";
660 pinctrl-0 = <&pinctrl_i2c_gpio1>;
593 status = "disabled"; 661 status = "disabled";
594 }; 662 };
595 663
@@ -603,6 +671,8 @@
603 i2c-gpio,delay-us = <2>; /* ~100 kHz */ 671 i2c-gpio,delay-us = <2>; /* ~100 kHz */
604 #address-cells = <1>; 672 #address-cells = <1>;
605 #size-cells = <0>; 673 #size-cells = <0>;
674 pinctrl-names = "default";
675 pinctrl-0 = <&pinctrl_i2c_gpio2>;
606 status = "disabled"; 676 status = "disabled";
607 }; 677 };
608}; 678};
diff --git a/arch/arm/boot/dts/at91sam9x5cm.dtsi b/arch/arm/boot/dts/at91sam9x5cm.dtsi
index 4027ac7e4502..347a74a857f6 100644
--- a/arch/arm/boot/dts/at91sam9x5cm.dtsi
+++ b/arch/arm/boot/dts/at91sam9x5cm.dtsi
@@ -24,6 +24,16 @@
24 }; 24 };
25 25
26 ahb { 26 ahb {
27 apb {
28 pinctrl@fffff400 {
29 1wire_cm {
30 pinctrl_1wire_cm: 1wire_cm-0 {
31 atmel,pins = <1 18 0x0 0x2>; /* PB18 multidrive, conflicts with led */
32 };
33 };
34 };
35 };
36
27 nand0: nand@40000000 { 37 nand0: nand@40000000 {
28 nand-bus-width = <8>; 38 nand-bus-width = <8>;
29 nand-ecc-mode = "hw"; 39 nand-ecc-mode = "hw";
@@ -74,4 +84,14 @@
74 gpios = <&pioD 21 0>; 84 gpios = <&pioD 21 0>;
75 }; 85 };
76 }; 86 };
87
88 1wire_cm {
89 compatible = "w1-gpio";
90 gpios = <&pioB 18 0>;
91 linux,open-drain;
92 pinctrl-names = "default";
93 pinctrl-0 = <&pinctrl_1wire_cm>;
94 status = "okay";
95 };
96
77}; 97};
diff --git a/arch/arm/boot/dts/at91sam9x5ek.dtsi b/arch/arm/boot/dts/at91sam9x5ek.dtsi
index 8a7cf1d9cf5d..8b5832af6d05 100644
--- a/arch/arm/boot/dts/at91sam9x5ek.dtsi
+++ b/arch/arm/boot/dts/at91sam9x5ek.dtsi
@@ -13,7 +13,7 @@
13 compatible = "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9"; 13 compatible = "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9";
14 14
15 chosen { 15 chosen {
16 bootargs = "128M console=ttyS0,115200 root=/dev/mtdblock1 rw rootfstype=ubifs ubi.mtd=1 root=ubi0:rootfs"; 16 bootargs = "console=ttyS0,115200 root=/dev/mtdblock1 rw rootfstype=ubifs ubi.mtd=1 root=ubi0:rootfs";
17 }; 17 };
18 18
19 ahb { 19 ahb {
@@ -52,23 +52,10 @@
52 status = "okay"; 52 status = "okay";
53 }; 53 };
54 54
55 macb0: ethernet@f802c000 {
56 phy-mode = "rmii";
57 status = "okay";
58 };
59
60 i2c0: i2c@f8010000 { 55 i2c0: i2c@f8010000 {
61 status = "okay"; 56 status = "okay";
62 }; 57 };
63 58
64 i2c1: i2c@f8014000 {
65 status = "okay";
66 };
67
68 i2c2: i2c@f8018000 {
69 status = "okay";
70 };
71
72 pinctrl@fffff400 { 59 pinctrl@fffff400 {
73 mmc0 { 60 mmc0 {
74 pinctrl_board_mmc0: mmc0-board { 61 pinctrl_board_mmc0: mmc0-board {
diff --git a/arch/arm/boot/dts/bcm2835.dtsi b/arch/arm/boot/dts/bcm2835.dtsi
index 7e0481e2441a..f0052dccf9a8 100644
--- a/arch/arm/boot/dts/bcm2835.dtsi
+++ b/arch/arm/boot/dts/bcm2835.dtsi
@@ -34,6 +34,11 @@
34 reg = <0x7e100000 0x28>; 34 reg = <0x7e100000 0x28>;
35 }; 35 };
36 36
37 rng {
38 compatible = "brcm,bcm2835-rng";
39 reg = <0x7e104000 0x10>;
40 };
41
37 uart@20201000 { 42 uart@20201000 {
38 compatible = "brcm,bcm2835-pl011", "arm,pl011", "arm,primecell"; 43 compatible = "brcm,bcm2835-pl011", "arm,pl011", "arm,primecell";
39 reg = <0x7e201000 0x1000>; 44 reg = <0x7e201000 0x1000>;
@@ -64,6 +69,16 @@
64 #interrupt-cells = <2>; 69 #interrupt-cells = <2>;
65 }; 70 };
66 71
72 spi: spi@20204000 {
73 compatible = "brcm,bcm2835-spi";
74 reg = <0x7e204000 0x1000>;
75 interrupts = <2 22>;
76 clocks = <&clk_spi>;
77 #address-cells = <1>;
78 #size-cells = <0>;
79 status = "disabled";
80 };
81
67 i2c0: i2c@20205000 { 82 i2c0: i2c@20205000 {
68 compatible = "brcm,bcm2835-i2c"; 83 compatible = "brcm,bcm2835-i2c";
69 reg = <0x7e205000 0x1000>; 84 reg = <0x7e205000 0x1000>;
@@ -107,5 +122,12 @@
107 #clock-cells = <0>; 122 #clock-cells = <0>;
108 clock-frequency = <250000000>; 123 clock-frequency = <250000000>;
109 }; 124 };
125
126 clk_spi: spi {
127 compatible = "fixed-clock";
128 reg = <2>;
129 #clock-cells = <0>;
130 clock-frequency = <250000000>;
131 };
110 }; 132 };
111}; 133};
diff --git a/arch/arm/boot/dts/dove.dtsi b/arch/arm/boot/dts/dove.dtsi
index f7509cafc377..6cab46849cdb 100644
--- a/arch/arm/boot/dts/dove.dtsi
+++ b/arch/arm/boot/dts/dove.dtsi
@@ -50,6 +50,11 @@
50 #clock-cells = <1>; 50 #clock-cells = <1>;
51 }; 51 };
52 52
53 thermal: thermal@d001c {
54 compatible = "marvell,dove-thermal";
55 reg = <0xd001c 0x0c>, <0xd005c 0x08>;
56 };
57
53 uart0: serial@12000 { 58 uart0: serial@12000 {
54 compatible = "ns16550a"; 59 compatible = "ns16550a";
55 reg = <0x12000 0x100>; 60 reg = <0x12000 0x100>;
diff --git a/arch/arm/boot/dts/kirkwood-6282.dtsi b/arch/arm/boot/dts/kirkwood-6282.dtsi
index 192cf76fbf93..23991e45bc55 100644
--- a/arch/arm/boot/dts/kirkwood-6282.dtsi
+++ b/arch/arm/boot/dts/kirkwood-6282.dtsi
@@ -49,6 +49,12 @@
49 }; 49 };
50 }; 50 };
51 51
52 thermal@10078 {
53 compatible = "marvell,kirkwood-thermal";
54 reg = <0x10078 0x4>;
55 status = "okay";
56 };
57
52 i2c@11100 { 58 i2c@11100 {
53 compatible = "marvell,mv64xxx-i2c"; 59 compatible = "marvell,mv64xxx-i2c";
54 reg = <0x11100 0x20>; 60 reg = <0x11100 0x20>;
diff --git a/arch/arm/boot/dts/kirkwood-guruplug-server-plus.dts b/arch/arm/boot/dts/kirkwood-guruplug-server-plus.dts
index 9555a86297c2..44fd97dfc1f3 100644
--- a/arch/arm/boot/dts/kirkwood-guruplug-server-plus.dts
+++ b/arch/arm/boot/dts/kirkwood-guruplug-server-plus.dts
@@ -69,6 +69,10 @@
69 status = "okay"; 69 status = "okay";
70 nr-ports = <1>; 70 nr-ports = <1>;
71 }; 71 };
72
73 mvsdio@90000 {
74 status = "okay";
75 };
72 }; 76 };
73 77
74 gpio-leds { 78 gpio-leds {
diff --git a/arch/arm/boot/dts/mpa1600.dts b/arch/arm/boot/dts/mpa1600.dts
new file mode 100644
index 000000000000..317300875f34
--- /dev/null
+++ b/arch/arm/boot/dts/mpa1600.dts
@@ -0,0 +1,69 @@
1/*
2 * mpa1600.dts - Device Tree file for Phontech MPA 1600
3 *
4 * Copyright (C) 2013 Joachim Eastwood <manabian@gmail.com>
5 *
6 * Licensed under GPLv2 only
7 */
8/dts-v1/;
9/include/ "at91rm9200.dtsi"
10
11/ {
12 model = "Phontech MPA 1600";
13 compatible = "phontech,mpa1600", "atmel,at91rm9200";
14
15 memory {
16 reg = <0x20000000 0x4000000>;
17 };
18
19 clocks {
20 #address-cells = <1>;
21 #size-cells = <1>;
22 ranges;
23
24 main_clock: clock@0 {
25 compatible = "atmel,osc", "fixed-clock";
26 clock-frequency = <18432000>;
27 };
28 };
29
30 ahb {
31 apb {
32 dbgu: serial@fffff200 {
33 status = "okay";
34 };
35
36 macb0: ethernet@fffbc000 {
37 phy-mode = "rmii";
38 status = "okay";
39 };
40
41 ssc0: ssc@fffd0000 {
42 status = "okay";
43 };
44
45 ssc1: ssc@fffd4000 {
46 status = "okay";
47 };
48 };
49
50 usb0: ohci@00300000 {
51 num-ports = <1>;
52 status = "okay";
53 };
54 };
55
56 i2c@0 {
57 status = "okay";
58 };
59
60 gpio_keys {
61 compatible = "gpio-keys";
62
63 monitor_mute {
64 label = "Monitor mute";
65 gpios = <&pioC 1 1>;
66 linux,code = <113>;
67 };
68 };
69};
diff --git a/arch/arm/boot/dts/orion5x.dtsi b/arch/arm/boot/dts/orion5x.dtsi
index 8aad00f81ed9..f09133fd8105 100644
--- a/arch/arm/boot/dts/orion5x.dtsi
+++ b/arch/arm/boot/dts/orion5x.dtsi
@@ -69,6 +69,20 @@
69 status = "okay"; 69 status = "okay";
70 }; 70 };
71 71
72 ehci@50000 {
73 compatible = "marvell,orion-ehci";
74 reg = <0x50000 0x1000>;
75 interrupts = <17>;
76 status = "disabled";
77 };
78
79 ehci@a0000 {
80 compatible = "marvell,orion-ehci";
81 reg = <0xa0000 0x1000>;
82 interrupts = <12>;
83 status = "disabled";
84 };
85
72 sata@80000 { 86 sata@80000 {
73 compatible = "marvell,orion-sata"; 87 compatible = "marvell,orion-sata";
74 reg = <0x80000 0x5000>; 88 reg = <0x80000 0x5000>;
@@ -86,6 +100,25 @@
86 status = "disabled"; 100 status = "disabled";
87 }; 101 };
88 102
103 xor@60900 {
104 compatible = "marvell,orion-xor";
105 reg = <0x60900 0x100
106 0x60b00 0x100>;
107 status = "okay";
108
109 xor00 {
110 interrupts = <30>;
111 dmacap,memcpy;
112 dmacap,xor;
113 };
114 xor01 {
115 interrupts = <31>;
116 dmacap,memcpy;
117 dmacap,xor;
118 dmacap,memset;
119 };
120 };
121
89 crypto@90000 { 122 crypto@90000 {
90 compatible = "marvell,orion-crypto"; 123 compatible = "marvell,orion-crypto";
91 reg = <0x90000 0x10000>, 124 reg = <0x90000 0x10000>,
diff --git a/arch/arm/boot/dts/skeleton64.dtsi b/arch/arm/boot/dts/skeleton64.dtsi
new file mode 100644
index 000000000000..15994158a998
--- /dev/null
+++ b/arch/arm/boot/dts/skeleton64.dtsi
@@ -0,0 +1,13 @@
1/*
2 * Skeleton device tree in the 64 bits version; the bare minimum
3 * needed to boot; just include and add a compatible value. The
4 * bootloader will typically populate the memory node.
5 */
6
7/ {
8 #address-cells = <2>;
9 #size-cells = <2>;
10 chosen { };
11 aliases { };
12 memory { device_type = "memory"; reg = <0 0>; };
13};
diff --git a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
index 5cab82540437..b70fe0db6bb7 100644
--- a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
+++ b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
@@ -26,13 +26,37 @@
26 bootargs = "earlyprintk console=ttyS0,115200"; 26 bootargs = "earlyprintk console=ttyS0,115200";
27 }; 27 };
28 28
29 soc { 29 soc@01c20000 {
30 uart0: uart@01c28000 { 30 pinctrl@01c20800 {
31 status = "okay"; 31 led_pins_cubieboard: led_pins@0 {
32 allwinner,pins = "PH20", "PH21";
33 allwinner,function = "gpio_out";
34 allwinner,drive = <1>;
35 allwinner,pull = <0>;
36 };
32 }; 37 };
33 38
34 uart1: uart@01c28400 { 39 uart0: serial@01c28000 {
40 pinctrl-names = "default";
41 pinctrl-0 = <&uart0_pins_a>;
35 status = "okay"; 42 status = "okay";
36 }; 43 };
37 }; 44 };
45
46 leds {
47 compatible = "gpio-leds";
48 pinctrl-names = "default";
49 pinctrl-0 = <&led_pins_cubieboard>;
50
51 blue {
52 label = "cubieboard::blue";
53 gpios = <&pio 7 21 0>; /* LED1 */
54 };
55
56 green {
57 label = "cubieboard::green";
58 gpios = <&pio 7 20 0>; /* LED2 */
59 linux,default-trigger = "heartbeat";
60 };
61 };
38}; 62};
diff --git a/arch/arm/boot/dts/sun4i-a10-hackberry.dts b/arch/arm/boot/dts/sun4i-a10-hackberry.dts
index f84549ad791e..b9efac100c85 100644
--- a/arch/arm/boot/dts/sun4i-a10-hackberry.dts
+++ b/arch/arm/boot/dts/sun4i-a10-hackberry.dts
@@ -22,8 +22,10 @@
22 bootargs = "earlyprintk console=ttyS0,115200"; 22 bootargs = "earlyprintk console=ttyS0,115200";
23 }; 23 };
24 24
25 soc { 25 soc@01c20000 {
26 uart0: uart@01c28000 { 26 uart0: serial@01c28000 {
27 pinctrl-names = "default";
28 pinctrl-0 = <&uart0_pins_a>;
27 status = "okay"; 29 status = "okay";
28 }; 30 };
29 }; 31 };
diff --git a/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts b/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts
new file mode 100644
index 000000000000..4a7c35d6726a
--- /dev/null
+++ b/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts
@@ -0,0 +1,32 @@
1/*
2 * Copyright 2012 Maxime Ripard
3 *
4 * Maxime Ripard <maxime.ripard@free-electrons.com>
5 *
6 * The code contained herein is licensed under the GNU General Public
7 * License. You may obtain a copy of the GNU General Public License
8 * Version 2 or later at the following locations:
9 *
10 * http://www.opensource.org/licenses/gpl-license.html
11 * http://www.gnu.org/copyleft/gpl.html
12 */
13
14/dts-v1/;
15/include/ "sun4i-a10.dtsi"
16
17/ {
18 model = "PineRiver Mini X-Plus";
19 compatible = "pineriver,mini-xplus", "allwinner,sun4i-a10";
20
21 chosen {
22 bootargs = "earlyprintk console=ttyS0,115200";
23 };
24
25 soc {
26 uart0: uart@01c28000 {
27 pinctrl-names = "default";
28 pinctrl-0 = <&uart0_pins_a>;
29 status = "okay";
30 };
31 };
32};
diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
index f99f60dadf5d..5619a213da99 100644
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
@@ -10,19 +10,180 @@
10 * http://www.gnu.org/copyleft/gpl.html 10 * http://www.gnu.org/copyleft/gpl.html
11 */ 11 */
12 12
13/include/ "sunxi.dtsi" 13/include/ "skeleton.dtsi"
14 14
15/ { 15/ {
16 interrupt-parent = <&intc>;
17
18 cpus {
19 cpu@0 {
20 compatible = "arm,cortex-a8";
21 };
22 };
23
16 memory { 24 memory {
17 reg = <0x40000000 0x80000000>; 25 reg = <0x40000000 0x80000000>;
18 }; 26 };
19 27
20 soc { 28 clocks {
21 pinctrl@01c20800 { 29 #address-cells = <1>;
30 #size-cells = <1>;
31 ranges;
32
33 /*
34 * This is a dummy clock, to be used as placeholder on
35 * other mux clocks when a specific parent clock is not
36 * yet implemented. It should be dropped when the driver
37 * is complete.
38 */
39 dummy: dummy {
40 #clock-cells = <0>;
41 compatible = "fixed-clock";
42 clock-frequency = <0>;
43 };
44
45 osc24M_fixed: osc24M_fixed {
46 #clock-cells = <0>;
47 compatible = "fixed-clock";
48 clock-frequency = <24000000>;
49 };
50
51 osc24M: osc24M@01c20050 {
52 #clock-cells = <0>;
53 compatible = "allwinner,sun4i-osc-clk";
54 reg = <0x01c20050 0x4>;
55 clocks = <&osc24M_fixed>;
56 };
57
58 osc32k: osc32k {
59 #clock-cells = <0>;
60 compatible = "fixed-clock";
61 clock-frequency = <32768>;
62 };
63
64 pll1: pll1@01c20000 {
65 #clock-cells = <0>;
66 compatible = "allwinner,sun4i-pll1-clk";
67 reg = <0x01c20000 0x4>;
68 clocks = <&osc24M>;
69 };
70
71 /* dummy is 200M */
72 cpu: cpu@01c20054 {
73 #clock-cells = <0>;
74 compatible = "allwinner,sun4i-cpu-clk";
75 reg = <0x01c20054 0x4>;
76 clocks = <&osc32k>, <&osc24M>, <&pll1>, <&dummy>;
77 };
78
79 axi: axi@01c20054 {
80 #clock-cells = <0>;
81 compatible = "allwinner,sun4i-axi-clk";
82 reg = <0x01c20054 0x4>;
83 clocks = <&cpu>;
84 };
85
86 axi_gates: axi_gates@01c2005c {
87 #clock-cells = <1>;
88 compatible = "allwinner,sun4i-axi-gates-clk";
89 reg = <0x01c2005c 0x4>;
90 clocks = <&axi>;
91 clock-output-names = "axi_dram";
92 };
93
94 ahb: ahb@01c20054 {
95 #clock-cells = <0>;
96 compatible = "allwinner,sun4i-ahb-clk";
97 reg = <0x01c20054 0x4>;
98 clocks = <&axi>;
99 };
100
101 ahb_gates: ahb_gates@01c20060 {
102 #clock-cells = <1>;
103 compatible = "allwinner,sun4i-ahb-gates-clk";
104 reg = <0x01c20060 0x8>;
105 clocks = <&ahb>;
106 clock-output-names = "ahb_usb0", "ahb_ehci0",
107 "ahb_ohci0", "ahb_ehci1", "ahb_ohci1", "ahb_ss",
108 "ahb_dma", "ahb_bist", "ahb_mmc0", "ahb_mmc1",
109 "ahb_mmc2", "ahb_mmc3", "ahb_ms", "ahb_nand",
110 "ahb_sdram", "ahb_ace", "ahb_emac", "ahb_ts",
111 "ahb_spi0", "ahb_spi1", "ahb_spi2", "ahb_spi3",
112 "ahb_pata", "ahb_sata", "ahb_gps", "ahb_ve",
113 "ahb_tvd", "ahb_tve0", "ahb_tve1", "ahb_lcd0",
114 "ahb_lcd1", "ahb_csi0", "ahb_csi1", "ahb_hdmi",
115 "ahb_de_be0", "ahb_de_be1", "ahb_de_fe0",
116 "ahb_de_fe1", "ahb_mp", "ahb_mali400";
117 };
118
119 apb0: apb0@01c20054 {
120 #clock-cells = <0>;
121 compatible = "allwinner,sun4i-apb0-clk";
122 reg = <0x01c20054 0x4>;
123 clocks = <&ahb>;
124 };
125
126 apb0_gates: apb0_gates@01c20068 {
127 #clock-cells = <1>;
128 compatible = "allwinner,sun4i-apb0-gates-clk";
129 reg = <0x01c20068 0x4>;
130 clocks = <&apb0>;
131 clock-output-names = "apb0_codec", "apb0_spdif",
132 "apb0_ac97", "apb0_iis", "apb0_pio", "apb0_ir0",
133 "apb0_ir1", "apb0_keypad";
134 };
135
136 /* dummy is pll62 */
137 apb1_mux: apb1_mux@01c20058 {
138 #clock-cells = <0>;
139 compatible = "allwinner,sun4i-apb1-mux-clk";
140 reg = <0x01c20058 0x4>;
141 clocks = <&osc24M>, <&dummy>, <&osc32k>;
142 };
143
144 apb1: apb1@01c20058 {
145 #clock-cells = <0>;
146 compatible = "allwinner,sun4i-apb1-clk";
147 reg = <0x01c20058 0x4>;
148 clocks = <&apb1_mux>;
149 };
150
151 apb1_gates: apb1_gates@01c2006c {
152 #clock-cells = <1>;
153 compatible = "allwinner,sun4i-apb1-gates-clk";
154 reg = <0x01c2006c 0x4>;
155 clocks = <&apb1>;
156 clock-output-names = "apb1_i2c0", "apb1_i2c1",
157 "apb1_i2c2", "apb1_can", "apb1_scr",
158 "apb1_ps20", "apb1_ps21", "apb1_uart0",
159 "apb1_uart1", "apb1_uart2", "apb1_uart3",
160 "apb1_uart4", "apb1_uart5", "apb1_uart6",
161 "apb1_uart7";
162 };
163 };
164
165 soc@01c20000 {
166 compatible = "simple-bus";
167 #address-cells = <1>;
168 #size-cells = <1>;
169 reg = <0x01c20000 0x300000>;
170 ranges;
171
172 intc: interrupt-controller@01c20400 {
173 compatible = "allwinner,sun4i-ic";
174 reg = <0x01c20400 0x400>;
175 interrupt-controller;
176 #interrupt-cells = <1>;
177 };
178
179 pio: pinctrl@01c20800 {
22 compatible = "allwinner,sun4i-a10-pinctrl"; 180 compatible = "allwinner,sun4i-a10-pinctrl";
23 reg = <0x01c20800 0x400>; 181 reg = <0x01c20800 0x400>;
182 clocks = <&apb0_gates 5>;
183 gpio-controller;
24 #address-cells = <1>; 184 #address-cells = <1>;
25 #size-cells = <0>; 185 #size-cells = <0>;
186 #gpio-cells = <3>;
26 187
27 uart0_pins_a: uart0@0 { 188 uart0_pins_a: uart0@0 {
28 allwinner,pins = "PB22", "PB23"; 189 allwinner,pins = "PB22", "PB23";
@@ -45,5 +206,97 @@
45 allwinner,pull = <0>; 206 allwinner,pull = <0>;
46 }; 207 };
47 }; 208 };
209
210 timer@01c20c00 {
211 compatible = "allwinner,sun4i-timer";
212 reg = <0x01c20c00 0x90>;
213 interrupts = <22>;
214 clocks = <&osc24M>;
215 };
216
217 wdt: watchdog@01c20c90 {
218 compatible = "allwinner,sun4i-wdt";
219 reg = <0x01c20c90 0x10>;
220 };
221
222 uart0: serial@01c28000 {
223 compatible = "snps,dw-apb-uart";
224 reg = <0x01c28000 0x400>;
225 interrupts = <1>;
226 reg-shift = <2>;
227 reg-io-width = <4>;
228 clocks = <&apb1_gates 16>;
229 status = "disabled";
230 };
231
232 uart1: serial@01c28400 {
233 compatible = "snps,dw-apb-uart";
234 reg = <0x01c28400 0x400>;
235 interrupts = <2>;
236 reg-shift = <2>;
237 reg-io-width = <4>;
238 clocks = <&apb1_gates 17>;
239 status = "disabled";
240 };
241
242 uart2: serial@01c28800 {
243 compatible = "snps,dw-apb-uart";
244 reg = <0x01c28800 0x400>;
245 interrupts = <3>;
246 reg-shift = <2>;
247 reg-io-width = <4>;
248 clocks = <&apb1_gates 18>;
249 status = "disabled";
250 };
251
252 uart3: serial@01c28c00 {
253 compatible = "snps,dw-apb-uart";
254 reg = <0x01c28c00 0x400>;
255 interrupts = <4>;
256 reg-shift = <2>;
257 reg-io-width = <4>;
258 clocks = <&apb1_gates 19>;
259 status = "disabled";
260 };
261
262 uart4: serial@01c29000 {
263 compatible = "snps,dw-apb-uart";
264 reg = <0x01c29000 0x400>;
265 interrupts = <17>;
266 reg-shift = <2>;
267 reg-io-width = <4>;
268 clocks = <&apb1_gates 20>;
269 status = "disabled";
270 };
271
272 uart5: serial@01c29400 {
273 compatible = "snps,dw-apb-uart";
274 reg = <0x01c29400 0x400>;
275 interrupts = <18>;
276 reg-shift = <2>;
277 reg-io-width = <4>;
278 clocks = <&apb1_gates 21>;
279 status = "disabled";
280 };
281
282 uart6: serial@01c29800 {
283 compatible = "snps,dw-apb-uart";
284 reg = <0x01c29800 0x400>;
285 interrupts = <19>;
286 reg-shift = <2>;
287 reg-io-width = <4>;
288 clocks = <&apb1_gates 22>;
289 status = "disabled";
290 };
291
292 uart7: serial@01c29c00 {
293 compatible = "snps,dw-apb-uart";
294 reg = <0x01c29c00 0x400>;
295 interrupts = <20>;
296 reg-shift = <2>;
297 reg-io-width = <4>;
298 clocks = <&apb1_gates 23>;
299 status = "disabled";
300 };
48 }; 301 };
49}; 302};
diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
index 4a1e45d4aace..3ca55067f868 100644
--- a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
+++ b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
@@ -22,11 +22,31 @@
22 bootargs = "earlyprintk console=ttyS0,115200"; 22 bootargs = "earlyprintk console=ttyS0,115200";
23 }; 23 };
24 24
25 soc { 25 soc@01c20000 {
26 uart1: uart@01c28400 { 26 pinctrl@01c20800 {
27 led_pins_olinuxino: led_pins@0 {
28 allwinner,pins = "PG9";
29 allwinner,function = "gpio_out";
30 allwinner,drive = <1>;
31 allwinner,pull = <0>;
32 };
33 };
34
35 uart1: serial@01c28400 {
27 pinctrl-names = "default"; 36 pinctrl-names = "default";
28 pinctrl-0 = <&uart1_pins_b>; 37 pinctrl-0 = <&uart1_pins_b>;
29 status = "okay"; 38 status = "okay";
30 }; 39 };
31 }; 40 };
41
42 leds {
43 compatible = "gpio-leds";
44 pinctrl-names = "default";
45 pinctrl-0 = <&led_pins_olinuxino>;
46
47 power {
48 gpios = <&pio 6 9 0>;
49 default-state = "on";
50 };
51 };
32}; 52};
diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi
index e1121890fb29..391bcb70858b 100644
--- a/arch/arm/boot/dts/sun5i-a13.dtsi
+++ b/arch/arm/boot/dts/sun5i-a13.dtsi
@@ -11,19 +11,180 @@
11 * http://www.gnu.org/copyleft/gpl.html 11 * http://www.gnu.org/copyleft/gpl.html
12 */ 12 */
13 13
14/include/ "sunxi.dtsi" 14/include/ "skeleton.dtsi"
15 15
16/ { 16/ {
17 interrupt-parent = <&intc>;
18
19 cpus {
20 cpu@0 {
21 compatible = "arm,cortex-a8";
22 };
23 };
24
17 memory { 25 memory {
18 reg = <0x40000000 0x20000000>; 26 reg = <0x40000000 0x20000000>;
19 }; 27 };
20 28
21 soc { 29 clocks {
22 pinctrl@01c20800 { 30 #address-cells = <1>;
31 #size-cells = <1>;
32 ranges;
33
34 /*
35 * This is a dummy clock, to be used as placeholder on
36 * other mux clocks when a specific parent clock is not
37 * yet implemented. It should be dropped when the driver
38 * is complete.
39 */
40 dummy: dummy {
41 #clock-cells = <0>;
42 compatible = "fixed-clock";
43 clock-frequency = <0>;
44 };
45
46 osc24M_fixed: osc24M_fixed {
47 #clock-cells = <0>;
48 compatible = "fixed-clock";
49 clock-frequency = <24000000>;
50 };
51
52 osc24M: osc24M@01c20050 {
53 #clock-cells = <0>;
54 compatible = "allwinner,sun4i-osc-clk";
55 reg = <0x01c20050 0x4>;
56 clocks = <&osc24M_fixed>;
57 };
58
59 osc32k: osc32k {
60 #clock-cells = <0>;
61 compatible = "fixed-clock";
62 clock-frequency = <32768>;
63 };
64
65 pll1: pll1@01c20000 {
66 #clock-cells = <0>;
67 compatible = "allwinner,sun4i-pll1-clk";
68 reg = <0x01c20000 0x4>;
69 clocks = <&osc24M>;
70 };
71
72 /* dummy is 200M */
73 cpu: cpu@01c20054 {
74 #clock-cells = <0>;
75 compatible = "allwinner,sun4i-cpu-clk";
76 reg = <0x01c20054 0x4>;
77 clocks = <&osc32k>, <&osc24M>, <&pll1>, <&dummy>;
78 };
79
80 axi: axi@01c20054 {
81 #clock-cells = <0>;
82 compatible = "allwinner,sun4i-axi-clk";
83 reg = <0x01c20054 0x4>;
84 clocks = <&cpu>;
85 };
86
87 axi_gates: axi_gates@01c2005c {
88 #clock-cells = <1>;
89 compatible = "allwinner,sun4i-axi-gates-clk";
90 reg = <0x01c2005c 0x4>;
91 clocks = <&axi>;
92 clock-output-names = "axi_dram";
93 };
94
95 ahb: ahb@01c20054 {
96 #clock-cells = <0>;
97 compatible = "allwinner,sun4i-ahb-clk";
98 reg = <0x01c20054 0x4>;
99 clocks = <&axi>;
100 };
101
102 ahb_gates: ahb_gates@01c20060 {
103 #clock-cells = <1>;
104 compatible = "allwinner,sun4i-ahb-gates-clk";
105 reg = <0x01c20060 0x8>;
106 clocks = <&ahb>;
107 clock-output-names = "ahb_usb0", "ahb_ehci0",
108 "ahb_ohci0", "ahb_ehci1", "ahb_ohci1", "ahb_ss",
109 "ahb_dma", "ahb_bist", "ahb_mmc0", "ahb_mmc1",
110 "ahb_mmc2", "ahb_mmc3", "ahb_ms", "ahb_nand",
111 "ahb_sdram", "ahb_ace", "ahb_emac", "ahb_ts",
112 "ahb_spi0", "ahb_spi1", "ahb_spi2", "ahb_spi3",
113 "ahb_pata", "ahb_sata", "ahb_gps", "ahb_ve",
114 "ahb_tvd", "ahb_tve0", "ahb_tve1", "ahb_lcd0",
115 "ahb_lcd1", "ahb_csi0", "ahb_csi1", "ahb_hdmi",
116 "ahb_de_be0", "ahb_de_be1", "ahb_de_fe0",
117 "ahb_de_fe1", "ahb_mp", "ahb_mali400";
118 };
119
120 apb0: apb0@01c20054 {
121 #clock-cells = <0>;
122 compatible = "allwinner,sun4i-apb0-clk";
123 reg = <0x01c20054 0x4>;
124 clocks = <&ahb>;
125 };
126
127 apb0_gates: apb0_gates@01c20068 {
128 #clock-cells = <1>;
129 compatible = "allwinner,sun4i-apb0-gates-clk";
130 reg = <0x01c20068 0x4>;
131 clocks = <&apb0>;
132 clock-output-names = "apb0_codec", "apb0_spdif",
133 "apb0_ac97", "apb0_iis", "apb0_pio", "apb0_ir0",
134 "apb0_ir1", "apb0_keypad";
135 };
136
137 /* dummy is pll62 */
138 apb1_mux: apb1_mux@01c20058 {
139 #clock-cells = <0>;
140 compatible = "allwinner,sun4i-apb1-mux-clk";
141 reg = <0x01c20058 0x4>;
142 clocks = <&osc24M>, <&dummy>, <&osc32k>;
143 };
144
145 apb1: apb1@01c20058 {
146 #clock-cells = <0>;
147 compatible = "allwinner,sun4i-apb1-clk";
148 reg = <0x01c20058 0x4>;
149 clocks = <&apb1_mux>;
150 };
151
152 apb1_gates: apb1_gates@01c2006c {
153 #clock-cells = <1>;
154 compatible = "allwinner,sun4i-apb1-gates-clk";
155 reg = <0x01c2006c 0x4>;
156 clocks = <&apb1>;
157 clock-output-names = "apb1_i2c0", "apb1_i2c1",
158 "apb1_i2c2", "apb1_can", "apb1_scr",
159 "apb1_ps20", "apb1_ps21", "apb1_uart0",
160 "apb1_uart1", "apb1_uart2", "apb1_uart3",
161 "apb1_uart4", "apb1_uart5", "apb1_uart6",
162 "apb1_uart7";
163 };
164 };
165
166 soc@01c20000 {
167 compatible = "simple-bus";
168 #address-cells = <1>;
169 #size-cells = <1>;
170 reg = <0x01c20000 0x300000>;
171 ranges;
172
173 intc: interrupt-controller@01c20400 {
174 compatible = "allwinner,sun4i-ic";
175 reg = <0x01c20400 0x400>;
176 interrupt-controller;
177 #interrupt-cells = <1>;
178 };
179
180 pio: pinctrl@01c20800 {
23 compatible = "allwinner,sun5i-a13-pinctrl"; 181 compatible = "allwinner,sun5i-a13-pinctrl";
24 reg = <0x01c20800 0x400>; 182 reg = <0x01c20800 0x400>;
183 clocks = <&apb0_gates 5>;
184 gpio-controller;
25 #address-cells = <1>; 185 #address-cells = <1>;
26 #size-cells = <0>; 186 #size-cells = <0>;
187 #gpio-cells = <3>;
27 188
28 uart1_pins_a: uart1@0 { 189 uart1_pins_a: uart1@0 {
29 allwinner,pins = "PE10", "PE11"; 190 allwinner,pins = "PE10", "PE11";
@@ -39,5 +200,37 @@
39 allwinner,pull = <0>; 200 allwinner,pull = <0>;
40 }; 201 };
41 }; 202 };
203
204 timer@01c20c00 {
205 compatible = "allwinner,sun4i-timer";
206 reg = <0x01c20c00 0x90>;
207 interrupts = <22>;
208 clocks = <&osc24M>;
209 };
210
211 wdt: watchdog@01c20c90 {
212 compatible = "allwinner,sun4i-wdt";
213 reg = <0x01c20c90 0x10>;
214 };
215
216 uart1: serial@01c28400 {
217 compatible = "snps,dw-apb-uart";
218 reg = <0x01c28400 0x400>;
219 interrupts = <2>;
220 reg-shift = <2>;
221 reg-io-width = <4>;
222 clocks = <&apb1_gates 17>;
223 status = "disabled";
224 };
225
226 uart3: serial@01c28c00 {
227 compatible = "snps,dw-apb-uart";
228 reg = <0x01c28c00 0x400>;
229 interrupts = <4>;
230 reg-shift = <2>;
231 reg-io-width = <4>;
232 clocks = <&apb1_gates 19>;
233 status = "disabled";
234 };
42 }; 235 };
43}; 236};
diff --git a/arch/arm/boot/dts/sunxi.dtsi b/arch/arm/boot/dts/sunxi.dtsi
deleted file mode 100644
index 8b36abea9f2e..000000000000
--- a/arch/arm/boot/dts/sunxi.dtsi
+++ /dev/null
@@ -1,82 +0,0 @@
1/*
2 * Copyright 2012 Maxime Ripard
3 *
4 * Maxime Ripard <maxime.ripard@free-electrons.com>
5 *
6 * The code contained herein is licensed under the GNU General Public
7 * License. You may obtain a copy of the GNU General Public License
8 * Version 2 or later at the following locations:
9 *
10 * http://www.opensource.org/licenses/gpl-license.html
11 * http://www.gnu.org/copyleft/gpl.html
12 */
13
14/include/ "skeleton.dtsi"
15
16/ {
17 interrupt-parent = <&intc>;
18
19 cpus {
20 cpu@0 {
21 compatible = "arm,cortex-a8";
22 };
23 };
24
25 clocks {
26 #address-cells = <1>;
27 #size-cells = <0>;
28
29 osc: oscillator {
30 #clock-cells = <0>;
31 compatible = "fixed-clock";
32 clock-frequency = <24000000>;
33 };
34 };
35
36 soc {
37 compatible = "simple-bus";
38 #address-cells = <1>;
39 #size-cells = <1>;
40 reg = <0x01c20000 0x300000>;
41 ranges;
42
43 timer@01c20c00 {
44 compatible = "allwinner,sunxi-timer";
45 reg = <0x01c20c00 0x90>;
46 interrupts = <22>;
47 clocks = <&osc>;
48 };
49
50 wdt: watchdog@01c20c90 {
51 compatible = "allwinner,sunxi-wdt";
52 reg = <0x01c20c90 0x10>;
53 };
54
55 intc: interrupt-controller@01c20400 {
56 compatible = "allwinner,sunxi-ic";
57 reg = <0x01c20400 0x400>;
58 interrupt-controller;
59 #interrupt-cells = <1>;
60 };
61
62 uart0: uart@01c28000 {
63 compatible = "snps,dw-apb-uart";
64 reg = <0x01c28000 0x400>;
65 interrupts = <1>;
66 reg-shift = <2>;
67 reg-io-width = <4>;
68 clock-frequency = <24000000>;
69 status = "disabled";
70 };
71
72 uart1: uart@01c28400 {
73 compatible = "snps,dw-apb-uart";
74 reg = <0x01c28400 0x400>;
75 interrupts = <2>;
76 reg-shift = <2>;
77 reg-io-width = <4>;
78 clock-frequency = <24000000>;
79 status = "disabled";
80 };
81 };
82};
diff --git a/arch/arm/boot/dts/tegra20-colibri-512.dtsi b/arch/arm/boot/dts/tegra20-colibri-512.dtsi
index 444162090042..cb73e62d61a9 100644
--- a/arch/arm/boot/dts/tegra20-colibri-512.dtsi
+++ b/arch/arm/boot/dts/tegra20-colibri-512.dtsi
@@ -444,7 +444,7 @@
444 }; 444 };
445 445
446 sdhci@c8000600 { 446 sdhci@c8000600 {
447 cd-gpios = <&gpio 23 0>; /* gpio PC7 */ 447 cd-gpios = <&gpio 23 1>; /* gpio PC7 */
448 }; 448 };
449 449
450 sound { 450 sound {
diff --git a/arch/arm/boot/dts/tegra20-harmony.dts b/arch/arm/boot/dts/tegra20-harmony.dts
index 61d027f03617..1f79c0debb05 100644
--- a/arch/arm/boot/dts/tegra20-harmony.dts
+++ b/arch/arm/boot/dts/tegra20-harmony.dts
@@ -437,7 +437,7 @@
437 437
438 sdhci@c8000200 { 438 sdhci@c8000200 {
439 status = "okay"; 439 status = "okay";
440 cd-gpios = <&gpio 69 0>; /* gpio PI5 */ 440 cd-gpios = <&gpio 69 1>; /* gpio PI5 */
441 wp-gpios = <&gpio 57 0>; /* gpio PH1 */ 441 wp-gpios = <&gpio 57 0>; /* gpio PH1 */
442 power-gpios = <&gpio 155 0>; /* gpio PT3 */ 442 power-gpios = <&gpio 155 0>; /* gpio PT3 */
443 bus-width = <4>; 443 bus-width = <4>;
@@ -445,7 +445,7 @@
445 445
446 sdhci@c8000600 { 446 sdhci@c8000600 {
447 status = "okay"; 447 status = "okay";
448 cd-gpios = <&gpio 58 0>; /* gpio PH2 */ 448 cd-gpios = <&gpio 58 1>; /* gpio PH2 */
449 wp-gpios = <&gpio 59 0>; /* gpio PH3 */ 449 wp-gpios = <&gpio 59 0>; /* gpio PH3 */
450 power-gpios = <&gpio 70 0>; /* gpio PI6 */ 450 power-gpios = <&gpio 70 0>; /* gpio PI6 */
451 bus-width = <8>; 451 bus-width = <8>;
diff --git a/arch/arm/boot/dts/tegra20-paz00.dts b/arch/arm/boot/dts/tegra20-paz00.dts
index 54d6fce00a59..9db36da8e023 100644
--- a/arch/arm/boot/dts/tegra20-paz00.dts
+++ b/arch/arm/boot/dts/tegra20-paz00.dts
@@ -436,7 +436,7 @@
436 436
437 sdhci@c8000000 { 437 sdhci@c8000000 {
438 status = "okay"; 438 status = "okay";
439 cd-gpios = <&gpio 173 0>; /* gpio PV5 */ 439 cd-gpios = <&gpio 173 1>; /* gpio PV5 */
440 wp-gpios = <&gpio 57 0>; /* gpio PH1 */ 440 wp-gpios = <&gpio 57 0>; /* gpio PH1 */
441 power-gpios = <&gpio 169 0>; /* gpio PV1 */ 441 power-gpios = <&gpio 169 0>; /* gpio PV1 */
442 bus-width = <4>; 442 bus-width = <4>;
diff --git a/arch/arm/boot/dts/tegra20-seaboard.dts b/arch/arm/boot/dts/tegra20-seaboard.dts
index 37b3a57ec0f1..715a8b8dd9cd 100644
--- a/arch/arm/boot/dts/tegra20-seaboard.dts
+++ b/arch/arm/boot/dts/tegra20-seaboard.dts
@@ -584,7 +584,7 @@
584 584
585 sdhci@c8000400 { 585 sdhci@c8000400 {
586 status = "okay"; 586 status = "okay";
587 cd-gpios = <&gpio 69 0>; /* gpio PI5 */ 587 cd-gpios = <&gpio 69 1>; /* gpio PI5 */
588 wp-gpios = <&gpio 57 0>; /* gpio PH1 */ 588 wp-gpios = <&gpio 57 0>; /* gpio PH1 */
589 power-gpios = <&gpio 70 0>; /* gpio PI6 */ 589 power-gpios = <&gpio 70 0>; /* gpio PI6 */
590 bus-width = <4>; 590 bus-width = <4>;
diff --git a/arch/arm/boot/dts/tegra20-tamonten.dtsi b/arch/arm/boot/dts/tegra20-tamonten.dtsi
index 4766abae7a72..6e9d91fc6195 100644
--- a/arch/arm/boot/dts/tegra20-tamonten.dtsi
+++ b/arch/arm/boot/dts/tegra20-tamonten.dtsi
@@ -465,7 +465,7 @@
465 }; 465 };
466 466
467 sdhci@c8000600 { 467 sdhci@c8000600 {
468 cd-gpios = <&gpio 58 0>; /* gpio PH2 */ 468 cd-gpios = <&gpio 58 1>; /* gpio PH2 */
469 wp-gpios = <&gpio 59 0>; /* gpio PH3 */ 469 wp-gpios = <&gpio 59 0>; /* gpio PH3 */
470 bus-width = <4>; 470 bus-width = <4>;
471 status = "okay"; 471 status = "okay";
diff --git a/arch/arm/boot/dts/tegra20-trimslice.dts b/arch/arm/boot/dts/tegra20-trimslice.dts
index 5d79e4fc49a6..98f3e44f2a51 100644
--- a/arch/arm/boot/dts/tegra20-trimslice.dts
+++ b/arch/arm/boot/dts/tegra20-trimslice.dts
@@ -325,7 +325,7 @@
325 325
326 sdhci@c8000600 { 326 sdhci@c8000600 {
327 status = "okay"; 327 status = "okay";
328 cd-gpios = <&gpio 121 0>; /* gpio PP1 */ 328 cd-gpios = <&gpio 121 1>; /* gpio PP1 */
329 wp-gpios = <&gpio 122 0>; /* gpio PP2 */ 329 wp-gpios = <&gpio 122 0>; /* gpio PP2 */
330 bus-width = <4>; 330 bus-width = <4>;
331 }; 331 };
diff --git a/arch/arm/boot/dts/tegra20-ventana.dts b/arch/arm/boot/dts/tegra20-ventana.dts
index 425c89000c20..4aef56f2d96a 100644
--- a/arch/arm/boot/dts/tegra20-ventana.dts
+++ b/arch/arm/boot/dts/tegra20-ventana.dts
@@ -520,7 +520,7 @@
520 520
521 sdhci@c8000400 { 521 sdhci@c8000400 {
522 status = "okay"; 522 status = "okay";
523 cd-gpios = <&gpio 69 0>; /* gpio PI5 */ 523 cd-gpios = <&gpio 69 1>; /* gpio PI5 */
524 wp-gpios = <&gpio 57 0>; /* gpio PH1 */ 524 wp-gpios = <&gpio 57 0>; /* gpio PH1 */
525 power-gpios = <&gpio 70 0>; /* gpio PI6 */ 525 power-gpios = <&gpio 70 0>; /* gpio PI6 */
526 bus-width = <4>; 526 bus-width = <4>;
diff --git a/arch/arm/boot/dts/tegra20-whistler.dts b/arch/arm/boot/dts/tegra20-whistler.dts
index ea57c0f6dcce..5762188c60ad 100644
--- a/arch/arm/boot/dts/tegra20-whistler.dts
+++ b/arch/arm/boot/dts/tegra20-whistler.dts
@@ -510,6 +510,7 @@
510 510
511 sdhci@c8000400 { 511 sdhci@c8000400 {
512 status = "okay"; 512 status = "okay";
513 cd-gpios = <&gpio 69 1>; /* gpio PI5 */
513 wp-gpios = <&gpio 173 0>; /* gpio PV5 */ 514 wp-gpios = <&gpio 173 0>; /* gpio PV5 */
514 bus-width = <8>; 515 bus-width = <8>;
515 }; 516 };
diff --git a/arch/arm/boot/dts/tegra30-beaver.dts b/arch/arm/boot/dts/tegra30-beaver.dts
index 8ff2ff20e4a3..0a2cd24df853 100644
--- a/arch/arm/boot/dts/tegra30-beaver.dts
+++ b/arch/arm/boot/dts/tegra30-beaver.dts
@@ -257,7 +257,7 @@
257 257
258 sdhci@78000000 { 258 sdhci@78000000 {
259 status = "okay"; 259 status = "okay";
260 cd-gpios = <&gpio 69 0>; /* gpio PI5 */ 260 cd-gpios = <&gpio 69 1>; /* gpio PI5 */
261 wp-gpios = <&gpio 155 0>; /* gpio PT3 */ 261 wp-gpios = <&gpio 155 0>; /* gpio PT3 */
262 power-gpios = <&gpio 31 0>; /* gpio PD7 */ 262 power-gpios = <&gpio 31 0>; /* gpio PD7 */
263 bus-width = <4>; 263 bus-width = <4>;
diff --git a/arch/arm/boot/dts/tegra30-cardhu.dtsi b/arch/arm/boot/dts/tegra30-cardhu.dtsi
index 17499272a4ef..3e2d21018a5b 100644
--- a/arch/arm/boot/dts/tegra30-cardhu.dtsi
+++ b/arch/arm/boot/dts/tegra30-cardhu.dtsi
@@ -311,7 +311,7 @@
311 311
312 sdhci@78000000 { 312 sdhci@78000000 {
313 status = "okay"; 313 status = "okay";
314 cd-gpios = <&gpio 69 0>; /* gpio PI5 */ 314 cd-gpios = <&gpio 69 1>; /* gpio PI5 */
315 wp-gpios = <&gpio 155 0>; /* gpio PT3 */ 315 wp-gpios = <&gpio 155 0>; /* gpio PT3 */
316 power-gpios = <&gpio 31 0>; /* gpio PD7 */ 316 power-gpios = <&gpio 31 0>; /* gpio PD7 */
317 bus-width = <4>; 317 bus-width = <4>;
diff --git a/arch/arm/boot/dts/wm8505.dtsi b/arch/arm/boot/dts/wm8505.dtsi
index e74a1c0fb9a2..388f26d0d449 100644
--- a/arch/arm/boot/dts/wm8505.dtsi
+++ b/arch/arm/boot/dts/wm8505.dtsi
@@ -60,6 +60,19 @@
60 clock-frequency = <24000000>; 60 clock-frequency = <24000000>;
61 }; 61 };
62 62
63 ref25: ref25M {
64 #clock-cells = <0>;
65 compatible = "fixed-clock";
66 clock-frequency = <25000000>;
67 };
68
69 pllb: pllb {
70 #clock-cells = <0>;
71 compatible = "via,vt8500-pll-clock";
72 clocks = <&ref25>;
73 reg = <0x204>;
74 };
75
63 clkuart0: uart0 { 76 clkuart0: uart0 {
64 #clock-cells = <0>; 77 #clock-cells = <0>;
65 compatible = "via,vt8500-device-clock"; 78 compatible = "via,vt8500-device-clock";
@@ -107,6 +120,16 @@
107 enable-reg = <0x250>; 120 enable-reg = <0x250>;
108 enable-bit = <23>; 121 enable-bit = <23>;
109 }; 122 };
123
124 clksdhc: sdhc {
125 #clock-cells = <0>;
126 compatible = "via,vt8500-device-clock";
127 clocks = <&pllb>;
128 divisor-reg = <0x328>;
129 divisor-mask = <0x3f>;
130 enable-reg = <0x254>;
131 enable-bit = <18>;
132 };
110 }; 133 };
111 }; 134 };
112 135
@@ -187,5 +210,13 @@
187 reg = <0xd8100000 0x10000>; 210 reg = <0xd8100000 0x10000>;
188 interrupts = <48>; 211 interrupts = <48>;
189 }; 212 };
213
214 sdhc@d800a000 {
215 compatible = "wm,wm8505-sdhc";
216 reg = <0xd800a000 0x1000>;
217 interrupts = <20 21>;
218 clocks = <&clksdhc>;
219 bus-width = <4>;
220 };
190 }; 221 };
191}; 222};
diff --git a/arch/arm/boot/dts/zynq-7000.dtsi b/arch/arm/boot/dts/zynq-7000.dtsi
index 5914b5654591..9e1c339c4491 100644
--- a/arch/arm/boot/dts/zynq-7000.dtsi
+++ b/arch/arm/boot/dts/zynq-7000.dtsi
@@ -15,6 +15,13 @@
15/ { 15/ {
16 compatible = "xlnx,zynq-7000"; 16 compatible = "xlnx,zynq-7000";
17 17
18 pmu {
19 compatible = "arm,cortex-a9-pmu";
20 interrupts = <0 5 4>, <0 6 4>;
21 interrupt-parent = <&intc>;
22 reg = < 0xf8891000 0x1000 0xf8893000 0x1000 >;
23 };
24
18 amba { 25 amba {
19 compatible = "simple-bus"; 26 compatible = "simple-bus";
20 #address-cells = <1>; 27 #address-cells = <1>;
diff --git a/arch/arm/configs/dove_defconfig b/arch/arm/configs/dove_defconfig
index 3fe8dae8d32d..4364eff5b01e 100644
--- a/arch/arm/configs/dove_defconfig
+++ b/arch/arm/configs/dove_defconfig
@@ -75,6 +75,8 @@ CONFIG_I2C_MV64XXX=y
75CONFIG_SPI=y 75CONFIG_SPI=y
76CONFIG_SPI_ORION=y 76CONFIG_SPI_ORION=y
77# CONFIG_HWMON is not set 77# CONFIG_HWMON is not set
78CONFIG_THERMAL=y
79CONFIG_DOVE_THERMAL=y
78CONFIG_USB=y 80CONFIG_USB=y
79CONFIG_USB_EHCI_HCD=y 81CONFIG_USB_EHCI_HCD=y
80CONFIG_USB_EHCI_ROOT_HUB_TT=y 82CONFIG_USB_EHCI_ROOT_HUB_TT=y
diff --git a/arch/arm/configs/kirkwood_defconfig b/arch/arm/configs/kirkwood_defconfig
index 13482ea58b09..8f0065bb6f39 100644
--- a/arch/arm/configs/kirkwood_defconfig
+++ b/arch/arm/configs/kirkwood_defconfig
@@ -119,6 +119,8 @@ CONFIG_SPI=y
119CONFIG_SPI_ORION=y 119CONFIG_SPI_ORION=y
120CONFIG_GPIO_SYSFS=y 120CONFIG_GPIO_SYSFS=y
121# CONFIG_HWMON is not set 121# CONFIG_HWMON is not set
122CONFIG_THERMAL=y
123CONFIG_KIRKWOOD_THERMAL=y
122CONFIG_WATCHDOG=y 124CONFIG_WATCHDOG=y
123CONFIG_ORION_WATCHDOG=y 125CONFIG_ORION_WATCHDOG=y
124CONFIG_HID_DRAGONRISE=y 126CONFIG_HID_DRAGONRISE=y
diff --git a/arch/arm/configs/mvebu_defconfig b/arch/arm/configs/mvebu_defconfig
index 2ec8119cff73..f3e8ae001ff1 100644
--- a/arch/arm/configs/mvebu_defconfig
+++ b/arch/arm/configs/mvebu_defconfig
@@ -46,9 +46,16 @@ CONFIG_I2C_MV64XXX=y
46CONFIG_MTD=y 46CONFIG_MTD=y
47CONFIG_MTD_CHAR=y 47CONFIG_MTD_CHAR=y
48CONFIG_MTD_M25P80=y 48CONFIG_MTD_M25P80=y
49CONFIG_MTD_CFI=y
50CONFIG_MTD_CFI_INTELEXT=y
51CONFIG_MTD_CFI_AMDSTD=y
52CONFIG_MTD_CFI_STAA=y
53CONFIG_MTD_PHYSMAP_OF=y
49CONFIG_SERIAL_8250_DW=y 54CONFIG_SERIAL_8250_DW=y
50CONFIG_GPIOLIB=y 55CONFIG_GPIOLIB=y
51CONFIG_GPIO_SYSFS=y 56CONFIG_GPIO_SYSFS=y
57CONFIG_THERMAL=y
58CONFIG_ARMADA_THERMAL=y
52CONFIG_USB_SUPPORT=y 59CONFIG_USB_SUPPORT=y
53CONFIG_USB=y 60CONFIG_USB=y
54CONFIG_USB_EHCI_HCD=y 61CONFIG_USB_EHCI_HCD=y
@@ -65,6 +72,8 @@ CONFIG_RTC_DRV_S35390A=y
65CONFIG_RTC_DRV_MV=y 72CONFIG_RTC_DRV_MV=y
66CONFIG_DMADEVICES=y 73CONFIG_DMADEVICES=y
67CONFIG_MV_XOR=y 74CONFIG_MV_XOR=y
75CONFIG_MEMORY=y
76CONFIG_MVEBU_DEVBUS=y
68# CONFIG_IOMMU_SUPPORT is not set 77# CONFIG_IOMMU_SUPPORT is not set
69CONFIG_EXT2_FS=y 78CONFIG_EXT2_FS=y
70CONFIG_EXT3_FS=y 79CONFIG_EXT3_FS=y
diff --git a/arch/arm/mach-at91/at91rm9200.c b/arch/arm/mach-at91/at91rm9200.c
index 9706c000f294..36b05fc28816 100644
--- a/arch/arm/mach-at91/at91rm9200.c
+++ b/arch/arm/mach-at91/at91rm9200.c
@@ -212,6 +212,7 @@ static struct clk_lookup periph_clocks_lookups[] = {
212 CLKDEV_CON_DEV_ID("t2_clk", "fffa4000.timer", &tc5_clk), 212 CLKDEV_CON_DEV_ID("t2_clk", "fffa4000.timer", &tc5_clk),
213 CLKDEV_CON_DEV_ID("mci_clk", "fffb4000.mmc", &mmc_clk), 213 CLKDEV_CON_DEV_ID("mci_clk", "fffb4000.mmc", &mmc_clk),
214 CLKDEV_CON_DEV_ID("emac_clk", "fffbc000.ethernet", &ether_clk), 214 CLKDEV_CON_DEV_ID("emac_clk", "fffbc000.ethernet", &ether_clk),
215 CLKDEV_CON_DEV_ID(NULL, "fffb8000.i2c", &twi_clk),
215 CLKDEV_CON_DEV_ID("hclk", "300000.ohci", &ohci_clk), 216 CLKDEV_CON_DEV_ID("hclk", "300000.ohci", &ohci_clk),
216 CLKDEV_CON_DEV_ID(NULL, "fffff400.gpio", &pioA_clk), 217 CLKDEV_CON_DEV_ID(NULL, "fffff400.gpio", &pioA_clk),
217 CLKDEV_CON_DEV_ID(NULL, "fffff600.gpio", &pioB_clk), 218 CLKDEV_CON_DEV_ID(NULL, "fffff600.gpio", &pioB_clk),
diff --git a/arch/arm/mach-kirkwood/board-guruplug.c b/arch/arm/mach-kirkwood/board-guruplug.c
index 0a0df4554d8b..a857163954a5 100644
--- a/arch/arm/mach-kirkwood/board-guruplug.c
+++ b/arch/arm/mach-kirkwood/board-guruplug.c
@@ -13,7 +13,6 @@
13#include <linux/init.h> 13#include <linux/init.h>
14#include <linux/mv643xx_eth.h> 14#include <linux/mv643xx_eth.h>
15#include <linux/gpio.h> 15#include <linux/gpio.h>
16#include <linux/platform_data/mmc-mvsdio.h>
17#include "common.h" 16#include "common.h"
18 17
19static struct mv643xx_eth_platform_data guruplug_ge00_data = { 18static struct mv643xx_eth_platform_data guruplug_ge00_data = {
@@ -24,10 +23,6 @@ static struct mv643xx_eth_platform_data guruplug_ge01_data = {
24 .phy_addr = MV643XX_ETH_PHY_ADDR(1), 23 .phy_addr = MV643XX_ETH_PHY_ADDR(1),
25}; 24};
26 25
27static struct mvsdio_platform_data guruplug_mvsdio_data = {
28 /* unfortunately the CD signal has not been connected */
29};
30
31void __init guruplug_dt_init(void) 26void __init guruplug_dt_init(void)
32{ 27{
33 /* 28 /*
@@ -35,5 +30,4 @@ void __init guruplug_dt_init(void)
35 */ 30 */
36 kirkwood_ge00_init(&guruplug_ge00_data); 31 kirkwood_ge00_init(&guruplug_ge00_data);
37 kirkwood_ge01_init(&guruplug_ge01_data); 32 kirkwood_ge01_init(&guruplug_ge01_data);
38 kirkwood_sdio_init(&guruplug_mvsdio_data);
39} 33}