aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/boot/dts
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/boot/dts')
-rw-r--r--arch/arm/boot/dts/Makefile2
-rw-r--r--arch/arm/boot/dts/dove-cubox.dts37
-rw-r--r--arch/arm/boot/dts/dove-d2plug.dts69
-rw-r--r--arch/arm/boot/dts/dove.dtsi285
-rw-r--r--arch/arm/boot/dts/kirkwood-cloudbox.dts16
-rw-r--r--arch/arm/boot/dts/kirkwood-db.dtsi16
-rw-r--r--arch/arm/boot/dts/kirkwood-dnskw.dtsi16
-rw-r--r--arch/arm/boot/dts/kirkwood-dockstar.dts17
-rw-r--r--arch/arm/boot/dts/kirkwood-dreamplug.dts28
-rw-r--r--arch/arm/boot/dts/kirkwood-goflexnet.dts16
-rw-r--r--arch/arm/boot/dts/kirkwood-guruplug-server-plus.dts30
-rw-r--r--arch/arm/boot/dts/kirkwood-ib62x0.dts16
-rw-r--r--arch/arm/boot/dts/kirkwood-iconnect.dts16
-rw-r--r--arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts24
-rw-r--r--arch/arm/boot/dts/kirkwood-is2.dts2
-rw-r--r--arch/arm/boot/dts/kirkwood-km_kirkwood.dts16
-rw-r--r--arch/arm/boot/dts/kirkwood-lsxl.dtsi28
-rw-r--r--arch/arm/boot/dts/kirkwood-mplcec4.dts27
-rw-r--r--arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts125
-rw-r--r--arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts16
-rw-r--r--arch/arm/boot/dts/kirkwood-ns2-common.dtsi16
-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-openblocks_a6.dts16
-rw-r--r--arch/arm/boot/dts/kirkwood-sheevaplug-common.dtsi16
-rw-r--r--arch/arm/boot/dts/kirkwood-topkick.dts16
-rw-r--r--arch/arm/boot/dts/kirkwood-ts219-6281.dts4
-rw-r--r--arch/arm/boot/dts/kirkwood-ts219-6282.dts4
-rw-r--r--arch/arm/boot/dts/kirkwood-ts219.dtsi16
-rw-r--r--arch/arm/boot/dts/kirkwood.dtsi87
-rw-r--r--arch/arm/boot/dts/orion5x-lacie-ethernet-disk-mini-v2.dts17
-rw-r--r--arch/arm/boot/dts/orion5x.dtsi34
34 files changed, 985 insertions, 51 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index f9f4c4d9c704..000cf7628e6e 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -48,6 +48,7 @@ dtb-$(CONFIG_ARCH_DAVINCI) += da850-enbw-cmc.dtb \
48 da850-evm.dtb 48 da850-evm.dtb
49dtb-$(CONFIG_ARCH_DOVE) += dove-cm-a510.dtb \ 49dtb-$(CONFIG_ARCH_DOVE) += dove-cm-a510.dtb \
50 dove-cubox.dtb \ 50 dove-cubox.dtb \
51 dove-d2plug.dtb \
51 dove-dove-db.dtb 52 dove-dove-db.dtb
52dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \ 53dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \
53 exynos4210-smdkv310.dtb \ 54 exynos4210-smdkv310.dtb \
@@ -85,6 +86,7 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-cloudbox.dtb \
85 kirkwood-lschlv2.dtb \ 86 kirkwood-lschlv2.dtb \
86 kirkwood-lsxhl.dtb \ 87 kirkwood-lsxhl.dtb \
87 kirkwood-mplcec4.dtb \ 88 kirkwood-mplcec4.dtb \
89 kirkwood-mv88f6281gtw-ge.dtb \
88 kirkwood-netgear_readynas_duo_v2.dtb \ 90 kirkwood-netgear_readynas_duo_v2.dtb \
89 kirkwood-ns2.dtb \ 91 kirkwood-ns2.dtb \
90 kirkwood-ns2lite.dtb \ 92 kirkwood-ns2lite.dtb \
diff --git a/arch/arm/boot/dts/dove-cubox.dts b/arch/arm/boot/dts/dove-cubox.dts
index 5cae2ab69762..022646ef4b38 100644
--- a/arch/arm/boot/dts/dove-cubox.dts
+++ b/arch/arm/boot/dts/dove-cubox.dts
@@ -42,6 +42,8 @@
42 regulator-always-on; 42 regulator-always-on;
43 regulator-boot-on; 43 regulator-boot-on;
44 gpio = <&gpio0 1 0>; 44 gpio = <&gpio0 1 0>;
45 pinctrl-0 = <&pmx_gpio_1>;
46 pinctrl-names = "default";
45 }; 47 };
46 }; 48 };
47 49
@@ -53,10 +55,24 @@
53 clock-frequency = <25000000>; 55 clock-frequency = <25000000>;
54 }; 56 };
55 }; 57 };
58
59 ir_recv: ir-receiver {
60 compatible = "gpio-ir-receiver";
61 gpios = <&gpio0 19 1>;
62 pinctrl-0 = <&pmx_gpio_19>;
63 pinctrl-names = "default";
64 };
56}; 65};
57 66
58&uart0 { status = "okay"; }; 67&uart0 { status = "okay"; };
59&sata0 { status = "okay"; }; 68&sata0 { status = "okay"; };
69&mdio { status = "okay"; };
70&eth { status = "okay"; };
71
72&ethphy {
73 compatible = "marvell,88e1310";
74 reg = <1>;
75};
60 76
61&i2c0 { 77&i2c0 {
62 status = "okay"; 78 status = "okay";
@@ -103,6 +119,7 @@
103 status = "okay"; 119 status = "okay";
104 /* sdio0 card detect is connected to wrong pin on CuBox */ 120 /* sdio0 card detect is connected to wrong pin on CuBox */
105 cd-gpios = <&gpio0 12 1>; 121 cd-gpios = <&gpio0 12 1>;
122 pinctrl-0 = <&pmx_sdio0 &pmx_gpio_12>;
106}; 123};
107 124
108&spi0 { 125&spi0 {
@@ -115,23 +132,3 @@
115 reg = <0>; 132 reg = <0>;
116 }; 133 };
117}; 134};
118
119&pinctrl {
120 pinctrl-0 = <&pmx_gpio_1 &pmx_gpio_12>;
121 pinctrl-names = "default";
122
123 pmx_gpio_1: pmx-gpio-1 {
124 marvell,pins = "mpp1";
125 marvell,function = "gpio";
126 };
127
128 pmx_gpio_12: pmx-gpio-12 {
129 marvell,pins = "mpp12";
130 marvell,function = "gpio";
131 };
132
133 pmx_gpio_18: pmx-gpio-18 {
134 marvell,pins = "mpp18";
135 marvell,function = "gpio";
136 };
137};
diff --git a/arch/arm/boot/dts/dove-d2plug.dts b/arch/arm/boot/dts/dove-d2plug.dts
new file mode 100644
index 000000000000..e2222ce94f2f
--- /dev/null
+++ b/arch/arm/boot/dts/dove-d2plug.dts
@@ -0,0 +1,69 @@
1/dts-v1/;
2
3/include/ "dove.dtsi"
4
5/ {
6 model = "Globalscale D2Plug";
7 compatible = "globalscale,d2plug", "marvell,dove";
8
9 memory {
10 device_type = "memory";
11 reg = <0x00000000 0x40000000>;
12 };
13
14 chosen {
15 bootargs = "console=ttyS0,115200n8 earlyprintk";
16 };
17
18 leds {
19 compatible = "gpio-leds";
20 pinctrl-0 = <&pmx_gpio_0 &pmx_gpio_1 &pmx_gpio_2>;
21 pinctrl-names = "default";
22
23 wlan-ap {
24 label = "wlan-ap";
25 gpios = <&gpio0 0 1>;
26 };
27
28 wlan-act {
29 label = "wlan-act";
30 gpios = <&gpio0 1 1>;
31 };
32
33 bluetooth-act {
34 label = "bt-act";
35 gpios = <&gpio0 2 1>;
36 };
37 };
38};
39
40&uart0 { status = "okay"; };
41&sata0 { status = "okay"; };
42&i2c0 { status = "okay"; };
43&mdio { status = "okay"; };
44&eth { status = "okay"; };
45
46/* Samsung M8G2F eMMC */
47&sdio0 {
48 status = "okay";
49 non-removable;
50 bus-width = <4>;
51};
52
53/* Marvell SD8787 WLAN/BT */
54&sdio1 {
55 status = "okay";
56 non-removable;
57 bus-width = <4>;
58};
59
60&spi0 {
61 status = "okay";
62
63 /* spi0.0: 4M Flash Macronix MX25L3205D */
64 spi-flash@0 {
65 compatible = "st,m25l3205d";
66 spi-max-frequency = <20000000>;
67 reg = <0>;
68 };
69};
diff --git a/arch/arm/boot/dts/dove.dtsi b/arch/arm/boot/dts/dove.dtsi
index 6cab46849cdb..cc279166646f 100644
--- a/arch/arm/boot/dts/dove.dtsi
+++ b/arch/arm/boot/dts/dove.dtsi
@@ -10,6 +10,23 @@
10 gpio2 = &gpio2; 10 gpio2 = &gpio2;
11 }; 11 };
12 12
13 cpus {
14 #address-cells = <1>;
15 #size-cells = <0>;
16
17 cpu0: cpu@0 {
18 compatible = "marvell,pj4a", "marvell,sheeva-v7";
19 device_type = "cpu";
20 next-level-cache = <&l2>;
21 reg = <0>;
22 };
23 };
24
25 l2: l2-cache {
26 compatible = "marvell,tauros2-cache";
27 marvell,tauros2-cache-features = <0>;
28 };
29
13 soc@f1000000 { 30 soc@f1000000 {
14 compatible = "simple-bus"; 31 compatible = "simple-bus";
15 #address-cells = <1>; 32 #address-cells = <1>;
@@ -25,16 +42,28 @@
25 0xf2100000 0xf2100000 0x0100000 /* PCIe0 I/O 1M */ 42 0xf2100000 0xf2100000 0x0100000 /* PCIe0 I/O 1M */
26 0xf8000000 0xf8000000 0x8000000>; /* BootROM 128M */ 43 0xf8000000 0xf8000000 0x8000000>; /* BootROM 128M */
27 44
28 l2: l2-cache { 45 timer: timer@20300 {
29 compatible = "marvell,tauros2-cache"; 46 compatible = "marvell,orion-timer";
30 marvell,tauros2-cache-features = <0>; 47 reg = <0x20300 0x20>;
48 interrupt-parent = <&bridge_intc>;
49 interrupts = <1>, <2>;
50 clocks = <&core_clk 0>;
31 }; 51 };
32 52
33 intc: interrupt-controller { 53 intc: main-interrupt-ctrl@20200 {
34 compatible = "marvell,orion-intc"; 54 compatible = "marvell,orion-intc";
35 interrupt-controller; 55 interrupt-controller;
36 #interrupt-cells = <1>; 56 #interrupt-cells = <1>;
37 reg = <0x20204 0x04>, <0x20214 0x04>; 57 reg = <0x20200 0x10>, <0x20210 0x10>;
58 };
59
60 bridge_intc: bridge-interrupt-ctrl@20110 {
61 compatible = "marvell,orion-bridge-intc";
62 interrupt-controller;
63 #interrupt-cells = <1>;
64 reg = <0x20110 0x8>;
65 interrupts = <0>;
66 marvell,#interrupts = <5>;
38 }; 67 };
39 68
40 core_clk: core-clocks@d0214 { 69 core_clk: core-clocks@d0214 {
@@ -43,14 +72,14 @@
43 #clock-cells = <1>; 72 #clock-cells = <1>;
44 }; 73 };
45 74
46 gate_clk: clock-gating-control@d0038 { 75 gate_clk: clock-gating-ctrl@d0038 {
47 compatible = "marvell,dove-gating-clock"; 76 compatible = "marvell,dove-gating-clock";
48 reg = <0xd0038 0x4>; 77 reg = <0xd0038 0x4>;
49 clocks = <&core_clk 0>; 78 clocks = <&core_clk 0>;
50 #clock-cells = <1>; 79 #clock-cells = <1>;
51 }; 80 };
52 81
53 thermal: thermal@d001c { 82 thermal: thermal-diode@d001c {
54 compatible = "marvell,dove-thermal"; 83 compatible = "marvell,dove-thermal";
55 reg = <0xd001c 0x0c>, <0xd005c 0x08>; 84 reg = <0xd001c 0x0c>, <0xd005c 0x08>;
56 }; 85 };
@@ -70,6 +99,8 @@
70 reg-shift = <2>; 99 reg-shift = <2>;
71 interrupts = <8>; 100 interrupts = <8>;
72 clocks = <&core_clk 0>; 101 clocks = <&core_clk 0>;
102 pinctrl-0 = <&pmx_uart1>;
103 pinctrl-names = "default";
73 status = "disabled"; 104 status = "disabled";
74 }; 105 };
75 106
@@ -91,7 +122,7 @@
91 status = "disabled"; 122 status = "disabled";
92 }; 123 };
93 124
94 gpio0: gpio@d0400 { 125 gpio0: gpio-ctrl@d0400 {
95 compatible = "marvell,orion-gpio"; 126 compatible = "marvell,orion-gpio";
96 #gpio-cells = <2>; 127 #gpio-cells = <2>;
97 gpio-controller; 128 gpio-controller;
@@ -102,7 +133,7 @@
102 interrupts = <12>, <13>, <14>, <60>; 133 interrupts = <12>, <13>, <14>, <60>;
103 }; 134 };
104 135
105 gpio1: gpio@d0420 { 136 gpio1: gpio-ctrl@d0420 {
106 compatible = "marvell,orion-gpio"; 137 compatible = "marvell,orion-gpio";
107 #gpio-cells = <2>; 138 #gpio-cells = <2>;
108 gpio-controller; 139 gpio-controller;
@@ -113,7 +144,7 @@
113 interrupts = <61>; 144 interrupts = <61>;
114 }; 145 };
115 146
116 gpio2: gpio@e8400 { 147 gpio2: gpio-ctrl@e8400 {
117 compatible = "marvell,orion-gpio"; 148 compatible = "marvell,orion-gpio";
118 #gpio-cells = <2>; 149 #gpio-cells = <2>;
119 gpio-controller; 150 gpio-controller;
@@ -121,13 +152,188 @@
121 ngpios = <8>; 152 ngpios = <8>;
122 }; 153 };
123 154
124 pinctrl: pinctrl@d0200 { 155 pinctrl: pin-ctrl@d0200 {
125 compatible = "marvell,dove-pinctrl"; 156 compatible = "marvell,dove-pinctrl";
126 reg = <0xd0200 0x10>; 157 reg = <0xd0200 0x10>;
127 clocks = <&gate_clk 22>; 158 clocks = <&gate_clk 22>;
159
160 pmx_gpio_0: pmx-gpio-0 {
161 marvell,pins = "mpp0";
162 marvell,function = "gpio";
163 };
164
165 pmx_gpio_1: pmx-gpio-1 {
166 marvell,pins = "mpp1";
167 marvell,function = "gpio";
168 };
169
170 pmx_gpio_2: pmx-gpio-2 {
171 marvell,pins = "mpp2";
172 marvell,function = "gpio";
173 };
174
175 pmx_gpio_3: pmx-gpio-3 {
176 marvell,pins = "mpp3";
177 marvell,function = "gpio";
178 };
179
180 pmx_gpio_4: pmx-gpio-4 {
181 marvell,pins = "mpp4";
182 marvell,function = "gpio";
183 };
184
185 pmx_gpio_5: pmx-gpio-5 {
186 marvell,pins = "mpp5";
187 marvell,function = "gpio";
188 };
189
190 pmx_gpio_6: pmx-gpio-6 {
191 marvell,pins = "mpp6";
192 marvell,function = "gpio";
193 };
194
195 pmx_gpio_7: pmx-gpio-7 {
196 marvell,pins = "mpp7";
197 marvell,function = "gpio";
198 };
199
200 pmx_gpio_8: pmx-gpio-8 {
201 marvell,pins = "mpp8";
202 marvell,function = "gpio";
203 };
204
205 pmx_gpio_9: pmx-gpio-9 {
206 marvell,pins = "mpp9";
207 marvell,function = "gpio";
208 };
209
210 pmx_gpio_10: pmx-gpio-10 {
211 marvell,pins = "mpp10";
212 marvell,function = "gpio";
213 };
214
215 pmx_gpio_11: pmx-gpio-11 {
216 marvell,pins = "mpp11";
217 marvell,function = "gpio";
218 };
219
220 pmx_gpio_12: pmx-gpio-12 {
221 marvell,pins = "mpp12";
222 marvell,function = "gpio";
223 };
224
225 pmx_gpio_13: pmx-gpio-13 {
226 marvell,pins = "mpp13";
227 marvell,function = "gpio";
228 };
229
230 pmx_gpio_14: pmx-gpio-14 {
231 marvell,pins = "mpp14";
232 marvell,function = "gpio";
233 };
234
235 pmx_gpio_15: pmx-gpio-15 {
236 marvell,pins = "mpp15";
237 marvell,function = "gpio";
238 };
239
240 pmx_gpio_16: pmx-gpio-16 {
241 marvell,pins = "mpp16";
242 marvell,function = "gpio";
243 };
244
245 pmx_gpio_17: pmx-gpio-17 {
246 marvell,pins = "mpp17";
247 marvell,function = "gpio";
248 };
249
250 pmx_gpio_18: pmx-gpio-18 {
251 marvell,pins = "mpp18";
252 marvell,function = "gpio";
253 };
254
255 pmx_gpio_19: pmx-gpio-19 {
256 marvell,pins = "mpp19";
257 marvell,function = "gpio";
258 };
259
260 pmx_gpio_20: pmx-gpio-20 {
261 marvell,pins = "mpp20";
262 marvell,function = "gpio";
263 };
264
265 pmx_gpio_21: pmx-gpio-21 {
266 marvell,pins = "mpp21";
267 marvell,function = "gpio";
268 };
269
270 pmx_camera: pmx-camera {
271 marvell,pins = "mpp_camera";
272 marvell,function = "camera";
273 };
274
275 pmx_camera_gpio: pmx-camera-gpio {
276 marvell,pins = "mpp_camera";
277 marvell,function = "gpio";
278 };
279
280 pmx_sdio0: pmx-sdio0 {
281 marvell,pins = "mpp_sdio0";
282 marvell,function = "sdio0";
283 };
284
285 pmx_sdio0_gpio: pmx-sdio0-gpio {
286 marvell,pins = "mpp_sdio0";
287 marvell,function = "gpio";
288 };
289
290 pmx_sdio1: pmx-sdio1 {
291 marvell,pins = "mpp_sdio1";
292 marvell,function = "sdio1";
293 };
294
295 pmx_sdio1_gpio: pmx-sdio1-gpio {
296 marvell,pins = "mpp_sdio1";
297 marvell,function = "gpio";
298 };
299
300 pmx_audio1_gpio: pmx-audio1-gpio {
301 marvell,pins = "mpp_audio1";
302 marvell,function = "gpio";
303 };
304
305 pmx_spi0: pmx-spi0 {
306 marvell,pins = "mpp_spi0";
307 marvell,function = "spi0";
308 };
309
310 pmx_spi0_gpio: pmx-spi0-gpio {
311 marvell,pins = "mpp_spi0";
312 marvell,function = "gpio";
313 };
314
315 pmx_uart1: pmx-uart1 {
316 marvell,pins = "mpp_uart1";
317 marvell,function = "uart1";
318 };
319
320 pmx_uart1_gpio: pmx-uart1-gpio {
321 marvell,pins = "mpp_uart1";
322 marvell,function = "gpio";
323 };
324
325 pmx_nand: pmx-nand {
326 marvell,pins = "mpp_nand";
327 marvell,function = "nand";
328 };
329
330 pmx_nand_gpo: pmx-nand-gpo {
331 marvell,pins = "mpp_nand";
332 marvell,function = "gpo";
333 };
128 }; 334 };
129 335
130 spi0: spi@10600 { 336 spi0: spi-ctrl@10600 {
131 compatible = "marvell,orion-spi"; 337 compatible = "marvell,orion-spi";
132 #address-cells = <1>; 338 #address-cells = <1>;
133 #size-cells = <0>; 339 #size-cells = <0>;
@@ -135,10 +341,12 @@
135 interrupts = <6>; 341 interrupts = <6>;
136 reg = <0x10600 0x28>; 342 reg = <0x10600 0x28>;
137 clocks = <&core_clk 0>; 343 clocks = <&core_clk 0>;
344 pinctrl-0 = <&pmx_spi0>;
345 pinctrl-names = "default";
138 status = "disabled"; 346 status = "disabled";
139 }; 347 };
140 348
141 spi1: spi@14600 { 349 spi1: spi-ctrl@14600 {
142 compatible = "marvell,orion-spi"; 350 compatible = "marvell,orion-spi";
143 #address-cells = <1>; 351 #address-cells = <1>;
144 #size-cells = <0>; 352 #size-cells = <0>;
@@ -149,7 +357,7 @@
149 status = "disabled"; 357 status = "disabled";
150 }; 358 };
151 359
152 i2c0: i2c@11000 { 360 i2c0: i2c-ctrl@11000 {
153 compatible = "marvell,mv64xxx-i2c"; 361 compatible = "marvell,mv64xxx-i2c";
154 reg = <0x11000 0x20>; 362 reg = <0x11000 0x20>;
155 #address-cells = <1>; 363 #address-cells = <1>;
@@ -177,23 +385,27 @@
177 status = "okay"; 385 status = "okay";
178 }; 386 };
179 387
180 sdio0: sdio@92000 { 388 sdio0: sdio-host@92000 {
181 compatible = "marvell,dove-sdhci"; 389 compatible = "marvell,dove-sdhci";
182 reg = <0x92000 0x100>; 390 reg = <0x92000 0x100>;
183 interrupts = <35>, <37>; 391 interrupts = <35>, <37>;
184 clocks = <&gate_clk 8>; 392 clocks = <&gate_clk 8>;
393 pinctrl-0 = <&pmx_sdio0>;
394 pinctrl-names = "default";
185 status = "disabled"; 395 status = "disabled";
186 }; 396 };
187 397
188 sdio1: sdio@90000 { 398 sdio1: sdio-host@90000 {
189 compatible = "marvell,dove-sdhci"; 399 compatible = "marvell,dove-sdhci";
190 reg = <0x90000 0x100>; 400 reg = <0x90000 0x100>;
191 interrupts = <36>, <38>; 401 interrupts = <36>, <38>;
192 clocks = <&gate_clk 9>; 402 clocks = <&gate_clk 9>;
403 pinctrl-0 = <&pmx_sdio1>;
404 pinctrl-names = "default";
193 status = "disabled"; 405 status = "disabled";
194 }; 406 };
195 407
196 sata0: sata@a0000 { 408 sata0: sata-host@a0000 {
197 compatible = "marvell,orion-sata"; 409 compatible = "marvell,orion-sata";
198 reg = <0xa0000 0x2400>; 410 reg = <0xa0000 0x2400>;
199 interrupts = <62>; 411 interrupts = <62>;
@@ -202,12 +414,12 @@
202 status = "disabled"; 414 status = "disabled";
203 }; 415 };
204 416
205 rtc@d8500 { 417 rtc: real-time-clock@d8500 {
206 compatible = "marvell,orion-rtc"; 418 compatible = "marvell,orion-rtc";
207 reg = <0xd8500 0x20>; 419 reg = <0xd8500 0x20>;
208 }; 420 };
209 421
210 crypto: crypto@30000 { 422 crypto: crypto-engine@30000 {
211 compatible = "marvell,orion-crypto"; 423 compatible = "marvell,orion-crypto";
212 reg = <0x30000 0x10000>, 424 reg = <0x30000 0x10000>,
213 <0xc8000000 0x800>; 425 <0xc8000000 0x800>;
@@ -258,5 +470,40 @@
258 dmacap,xor; 470 dmacap,xor;
259 }; 471 };
260 }; 472 };
473
474 mdio: mdio-bus@72004 {
475 compatible = "marvell,orion-mdio";
476 #address-cells = <1>;
477 #size-cells = <0>;
478 reg = <0x72004 0x84>;
479 interrupts = <30>;
480 clocks = <&gate_clk 2>;
481 status = "disabled";
482
483 ethphy: ethernet-phy {
484 device-type = "ethernet-phy";
485 /* set phy address in board file */
486 };
487 };
488
489 eth: ethernet-controller@72000 {
490 compatible = "marvell,orion-eth";
491 #address-cells = <1>;
492 #size-cells = <0>;
493 reg = <0x72000 0x4000>;
494 clocks = <&gate_clk 2>;
495 marvell,tx-checksum-limit = <1600>;
496 status = "disabled";
497
498 ethernet-port@0 {
499 device_type = "network";
500 compatible = "marvell,orion-eth-port";
501 reg = <0>;
502 interrupts = <29>;
503 /* overwrite MAC address in bootloader */
504 local-mac-address = [00 00 00 00 00 00];
505 phy-handle = <&ethphy>;
506 };
507 };
261 }; 508 };
262}; 509};
diff --git a/arch/arm/boot/dts/kirkwood-cloudbox.dts b/arch/arm/boot/dts/kirkwood-cloudbox.dts
index 9bf139c5a34d..142b9cd3b454 100644
--- a/arch/arm/boot/dts/kirkwood-cloudbox.dts
+++ b/arch/arm/boot/dts/kirkwood-cloudbox.dts
@@ -89,3 +89,19 @@
89 gpios = <&gpio0 17 0>; 89 gpios = <&gpio0 17 0>;
90 }; 90 };
91}; 91};
92
93&mdio {
94 status = "okay";
95
96 ethphy0: ethernet-phy@0 {
97 device_type = "ethernet-phy";
98 reg = <0>;
99 };
100};
101
102&eth0 {
103 status = "okay";
104 ethernet0-port@0 {
105 phy-handle = <&ethphy0>;
106 };
107};
diff --git a/arch/arm/boot/dts/kirkwood-db.dtsi b/arch/arm/boot/dts/kirkwood-db.dtsi
index 45c1bf74ac00..c0e2a5879174 100644
--- a/arch/arm/boot/dts/kirkwood-db.dtsi
+++ b/arch/arm/boot/dts/kirkwood-db.dtsi
@@ -79,3 +79,19 @@
79 }; 79 };
80 }; 80 };
81}; 81};
82
83&mdio {
84 status = "okay";
85
86 ethphy0: ethernet-phy@8 {
87 device_type = "ethernet-phy";
88 reg = <8>;
89 };
90};
91
92&eth0 {
93 status = "okay";
94 ethernet0-port@0 {
95 phy-handle = <&ethphy0>;
96 };
97};
diff --git a/arch/arm/boot/dts/kirkwood-dnskw.dtsi b/arch/arm/boot/dts/kirkwood-dnskw.dtsi
index 2e04284846a0..d544f77a4ca4 100644
--- a/arch/arm/boot/dts/kirkwood-dnskw.dtsi
+++ b/arch/arm/boot/dts/kirkwood-dnskw.dtsi
@@ -219,3 +219,19 @@
219 }; 219 };
220 }; 220 };
221}; 221};
222
223&mdio {
224 status = "okay";
225
226 ethphy0: ethernet-phy@8 {
227 device_type = "ethernet-phy";
228 reg = <8>;
229 };
230};
231
232&eth0 {
233 status = "okay";
234 ethernet0-port@0 {
235 phy-handle = <&ethphy0>;
236 };
237};
diff --git a/arch/arm/boot/dts/kirkwood-dockstar.dts b/arch/arm/boot/dts/kirkwood-dockstar.dts
index 4387ae8e93fe..59a2117c35a7 100644
--- a/arch/arm/boot/dts/kirkwood-dockstar.dts
+++ b/arch/arm/boot/dts/kirkwood-dockstar.dts
@@ -90,3 +90,20 @@
90 }; 90 };
91 }; 91 };
92}; 92};
93
94&mdio {
95 status = "okay";
96
97 ethphy0: ethernet-phy@0 {
98 device_type = "ethernet-phy";
99 compatible = "marvell,88e1116";
100 reg = <0>;
101 };
102};
103
104&eth0 {
105 status = "okay";
106 ethernet0-port@0 {
107 phy-handle = <&ethphy0>;
108 };
109};
diff --git a/arch/arm/boot/dts/kirkwood-dreamplug.dts b/arch/arm/boot/dts/kirkwood-dreamplug.dts
index c62837837246..6f62af99c9cb 100644
--- a/arch/arm/boot/dts/kirkwood-dreamplug.dts
+++ b/arch/arm/boot/dts/kirkwood-dreamplug.dts
@@ -99,3 +99,31 @@
99 }; 99 };
100 }; 100 };
101}; 101};
102
103&mdio {
104 status = "okay";
105
106 ethphy0: ethernet-phy@0 {
107 device_type = "ethernet-phy";
108 reg = <0>;
109 };
110
111 ethphy1: ethernet-phy@1 {
112 device_type = "ethernet-phy";
113 reg = <1>;
114 };
115};
116
117&eth0 {
118 status = "okay";
119 ethernet0-port@0 {
120 phy-handle = <&ethphy0>;
121 };
122};
123
124&eth1 {
125 status = "okay";
126 ethernet1-port@0 {
127 phy-handle = <&ethphy1>;
128 };
129};
diff --git a/arch/arm/boot/dts/kirkwood-goflexnet.dts b/arch/arm/boot/dts/kirkwood-goflexnet.dts
index e57118039277..6f7c7d7ecf2a 100644
--- a/arch/arm/boot/dts/kirkwood-goflexnet.dts
+++ b/arch/arm/boot/dts/kirkwood-goflexnet.dts
@@ -170,3 +170,19 @@
170 }; 170 };
171 }; 171 };
172}; 172};
173
174&mdio {
175 status = "okay";
176
177 ethphy0: ethernet-phy@0 {
178 device_type = "ethernet-phy";
179 reg = <0>;
180 };
181};
182
183&eth0 {
184 status = "okay";
185 ethernet0-port@0 {
186 phy-handle = <&ethphy0>;
187 };
188};
diff --git a/arch/arm/boot/dts/kirkwood-guruplug-server-plus.dts b/arch/arm/boot/dts/kirkwood-guruplug-server-plus.dts
index 2c5673adb4bd..6548b9dc6855 100644
--- a/arch/arm/boot/dts/kirkwood-guruplug-server-plus.dts
+++ b/arch/arm/boot/dts/kirkwood-guruplug-server-plus.dts
@@ -96,3 +96,33 @@
96 }; 96 };
97 }; 97 };
98}; 98};
99
100&mdio {
101 status = "okay";
102
103 ethphy0: ethernet-phy@0 {
104 device_type = "ethernet-phy";
105 compatible = "marvell,88e1121";
106 reg = <0>;
107 };
108
109 ethphy1: ethernet-phy@1 {
110 device_type = "ethernet-phy";
111 compatible = "marvell,88e1121";
112 reg = <1>;
113 };
114};
115
116&eth0 {
117 status = "okay";
118 ethernet0-port@0 {
119 phy-handle = <&ethphy0>;
120 };
121};
122
123&eth1 {
124 status = "okay";
125 ethernet1-port@0 {
126 phy-handle = <&ethphy1>;
127 };
128};
diff --git a/arch/arm/boot/dts/kirkwood-ib62x0.dts b/arch/arm/boot/dts/kirkwood-ib62x0.dts
index 158161ff6826..cb711a3bd983 100644
--- a/arch/arm/boot/dts/kirkwood-ib62x0.dts
+++ b/arch/arm/boot/dts/kirkwood-ib62x0.dts
@@ -122,3 +122,19 @@
122 122
123 123
124}; 124};
125
126&mdio {
127 status = "okay";
128
129 ethphy0: ethernet-phy@8 {
130 device_type = "ethernet-phy";
131 reg = <8>;
132 };
133};
134
135&eth0 {
136 status = "okay";
137 ethernet0-port@0 {
138 phy-handle = <&ethphy0>;
139 };
140};
diff --git a/arch/arm/boot/dts/kirkwood-iconnect.dts b/arch/arm/boot/dts/kirkwood-iconnect.dts
index 8314118b6b8a..0323f017eeed 100644
--- a/arch/arm/boot/dts/kirkwood-iconnect.dts
+++ b/arch/arm/boot/dts/kirkwood-iconnect.dts
@@ -179,3 +179,19 @@
179 }; 179 };
180 }; 180 };
181}; 181};
182
183&mdio {
184 status = "okay";
185
186 ethphy0: ethernet-phy@11 {
187 device_type = "ethernet-phy";
188 reg = <11>;
189 };
190};
191
192&eth0 {
193 status = "okay";
194 ethernet0-port@0 {
195 phy-handle = <&ethphy0>;
196 };
197};
diff --git a/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts b/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts
index fd7f053e9c96..df8447442b37 100644
--- a/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts
+++ b/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts
@@ -194,3 +194,27 @@
194 }; 194 };
195 }; 195 };
196}; 196};
197
198&mdio {
199 status = "okay";
200
201 ethphy1: ethernet-phy@11 {
202 device_type = "ethernet-phy";
203 reg = <11>;
204 };
205};
206
207&eth0 {
208 status = "okay";
209 ethernet0-port@0 {
210 speed = <1000>;
211 duplex = <1>;
212 };
213};
214
215&eth1 {
216 status = "okay";
217 ethernet1-port@0 {
218 phy-handle = <&ethphy1>;
219 };
220};
diff --git a/arch/arm/boot/dts/kirkwood-is2.dts b/arch/arm/boot/dts/kirkwood-is2.dts
index bd88a236f729..da674bbd49a8 100644
--- a/arch/arm/boot/dts/kirkwood-is2.dts
+++ b/arch/arm/boot/dts/kirkwood-is2.dts
@@ -30,3 +30,5 @@
30 }; 30 };
31 }; 31 };
32}; 32};
33
34&ethphy0 { reg = <8>; };
diff --git a/arch/arm/boot/dts/kirkwood-km_kirkwood.dts b/arch/arm/boot/dts/kirkwood-km_kirkwood.dts
index b071d37cc291..6899408482d2 100644
--- a/arch/arm/boot/dts/kirkwood-km_kirkwood.dts
+++ b/arch/arm/boot/dts/kirkwood-km_kirkwood.dts
@@ -50,3 +50,19 @@
50 i2c-gpio,delay-us = <2>; /* ~100 kHz */ 50 i2c-gpio,delay-us = <2>; /* ~100 kHz */
51 }; 51 };
52}; 52};
53
54&mdio {
55 status = "okay";
56
57 ethphy0: ethernet-phy@0 {
58 device_type = "ethernet-phy";
59 reg = <0>;
60 };
61};
62
63&eth0 {
64 status = "okay";
65 ethernet0-port@0 {
66 phy-handle = <&ethphy0>;
67 };
68};
diff --git a/arch/arm/boot/dts/kirkwood-lsxl.dtsi b/arch/arm/boot/dts/kirkwood-lsxl.dtsi
index f7e247cc925a..4e8f9e42c592 100644
--- a/arch/arm/boot/dts/kirkwood-lsxl.dtsi
+++ b/arch/arm/boot/dts/kirkwood-lsxl.dtsi
@@ -207,3 +207,31 @@
207 }; 207 };
208 }; 208 };
209}; 209};
210
211&mdio {
212 status = "okay";
213
214 ethphy0: ethernet-phy@0 {
215 device_type = "ethernet-phy";
216 reg = <0>;
217 };
218
219 ethphy1: ethernet-phy@8 {
220 device_type = "ethernet-phy";
221 reg = <8>;
222 };
223};
224
225&eth0 {
226 status = "okay";
227 ethernet0-port@0 {
228 phy-handle = <&ethphy0>;
229 };
230};
231
232&eth1 {
233 status = "okay";
234 ethernet1-port@0 {
235 phy-handle = <&ethphy1>;
236 };
237};
diff --git a/arch/arm/boot/dts/kirkwood-mplcec4.dts b/arch/arm/boot/dts/kirkwood-mplcec4.dts
index 21f1954c9e54..ce2b94b513db 100644
--- a/arch/arm/boot/dts/kirkwood-mplcec4.dts
+++ b/arch/arm/boot/dts/kirkwood-mplcec4.dts
@@ -194,3 +194,30 @@
194 }; 194 };
195}; 195};
196 196
197&mdio {
198 status = "okay";
199
200 ethphy0: ethernet-phy@1 {
201 device_type = "ethernet-phy";
202 reg = <1>;
203 };
204
205 ethphy1: ethernet-phy@2 {
206 device_type = "ethernet-phy";
207 reg = <2>;
208 };
209};
210
211&eth0 {
212 status = "okay";
213 ethernet0-port@0 {
214 phy-handle = <&ethphy0>;
215 };
216};
217
218&eth1 {
219 status = "okay";
220 ethernet1-port@0 {
221 phy-handle = <&ethphy1>;
222 };
223};
diff --git a/arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts b/arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts
new file mode 100644
index 000000000000..6317e1d088b3
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-mv88f6281gtw-ge.dts
@@ -0,0 +1,125 @@
1/*
2 * Marvell 88F6281 GTW GE Board
3 *
4 * Lennert Buytenhek <buytenh@marvell.com>
5 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
6 *
7 * This file is licensed under the terms of the GNU General Public
8 * License version 2. This program is licensed "as is" without any
9 * warranty of any kind, whether express or implied.
10 *
11 * This file contains the definitions that are common between the 6281
12 * and 6282 variants of the Marvell Kirkwood Development Board.
13 */
14
15/dts-v1/;
16
17#include "kirkwood.dtsi"
18#include "kirkwood-6281.dtsi"
19
20/ {
21 model = "Marvell 88F6281 GTW GE Board";
22 compatible = "marvell,mv88f6281gtw-ge", "marvell,kirkwood-88f6281", "marvell,kirkwood";
23
24 memory {
25 device_type = "memory";
26 reg = <0x00000000 0x20000000>; /* 512 MB */
27 };
28
29 chosen {
30 bootargs = "console=ttyS0,115200n8 earlyprintk";
31 };
32
33 ocp@f1000000 {
34 pinctrl@10000 {
35 pmx_usb_led: pmx-usb-led {
36 marvell,pins = "mpp12";
37 marvell,function = "gpo";
38 };
39
40 pmx_leds: pmx-leds {
41 marvell,pins = "mpp20", "mpp21";
42 marvell,function = "gpio";
43 };
44
45 pmx_keys: pmx-keys {
46 marvell,pins = "mpp46", "mpp47";
47 marvell,function = "gpio";
48 };
49 };
50
51 spi@10600 {
52 pinctrl-0 = <&pmx_spi>;
53 pinctrl-names = "default";
54 status = "okay";
55
56 flash@0 {
57 #address-cells = <1>;
58 #size-cells = <1>;
59 compatible = "mx25l12805d";
60 reg = <0>;
61 spi-max-frequency = <50000000>;
62 mode = <0>;
63 };
64 };
65
66 serial@12000 {
67 pinctrl-0 = <&pmx_uart0>;
68 pinctrl-names = "default";
69 clock-frequency = <200000000>;
70 status = "ok";
71 };
72
73 ehci@50000 {
74 status = "okay";
75 };
76
77 pcie-controller {
78 status = "okay";
79
80 pcie@1,0 {
81 status = "okay";
82 };
83 };
84 };
85
86 gpio-leds {
87 compatible = "gpio-leds";
88 pinctrl-0 = <&pmx_leds &pmx_usb_led>;
89 pinctrl-names = "default";
90
91 green-status {
92 label = "gtw:green:Status";
93 gpios = <&gpio0 20 0>;
94 };
95
96 red-status {
97 label = "gtw:red:Status";
98 gpios = <&gpio0 21 0>;
99 };
100
101 green-usb {
102 label = "gtw:green:USB";
103 gpios = <&gpio0 12 0>;
104 };
105 };
106
107 gpio_keys {
108 compatible = "gpio-keys";
109 #address-cells = <1>;
110 #size-cells = <0>;
111 pinctrl-0 = <&pmx_keys>;
112 pinctrl-names = "default";
113
114 button@1 {
115 label = "SWR Button";
116 linux,code = <0x198>; /* KEY_RESTART */
117 gpios = <&gpio1 15 1>;
118 };
119 button@2 {
120 label = "WPS Button";
121 linux,code = <0x211>; /* KEY_WPS_BUTTON */
122 gpios = <&gpio1 14 1>;
123 };
124 };
125};
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 cc40f19ae3fc..874857ea9cb8 100644
--- a/arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts
+++ b/arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts
@@ -207,3 +207,19 @@
207 }; 207 };
208 }; 208 };
209}; 209};
210
211&mdio {
212 status = "okay";
213
214 ethphy0: ethernet-phy@0 {
215 device_type = "ethernet-phy";
216 reg = <0>;
217 };
218};
219
220&eth0 {
221 status = "okay";
222 ethernet0-port@0 {
223 phy-handle = <&ethphy0>;
224 };
225};
diff --git a/arch/arm/boot/dts/kirkwood-ns2-common.dtsi b/arch/arm/boot/dts/kirkwood-ns2-common.dtsi
index d0fb34dc1667..2fcb82e20828 100644
--- a/arch/arm/boot/dts/kirkwood-ns2-common.dtsi
+++ b/arch/arm/boot/dts/kirkwood-ns2-common.dtsi
@@ -84,3 +84,19 @@
84 }; 84 };
85 85
86}; 86};
87
88&mdio {
89 status = "okay";
90
91 ethphy0: ethernet-phy {
92 device_type = "ethernet-phy";
93 /* overwrite reg property in board file */
94 };
95};
96
97&eth0 {
98 status = "okay";
99 ethernet0-port@0 {
100 phy-handle = <&ethphy0>;
101 };
102};
diff --git a/arch/arm/boot/dts/kirkwood-ns2.dts b/arch/arm/boot/dts/kirkwood-ns2.dts
index 0599f3cb844e..53368d1022cc 100644
--- a/arch/arm/boot/dts/kirkwood-ns2.dts
+++ b/arch/arm/boot/dts/kirkwood-ns2.dts
@@ -30,3 +30,5 @@
30 }; 30 };
31 }; 31 };
32}; 32};
33
34&ethphy0 { reg = <8>; };
diff --git a/arch/arm/boot/dts/kirkwood-ns2lite.dts b/arch/arm/boot/dts/kirkwood-ns2lite.dts
index b0e17984aea0..279607093cdb 100644
--- a/arch/arm/boot/dts/kirkwood-ns2lite.dts
+++ b/arch/arm/boot/dts/kirkwood-ns2lite.dts
@@ -30,3 +30,5 @@
30 }; 30 };
31 }; 31 };
32}; 32};
33
34&ethphy0 { reg = <0>; };
diff --git a/arch/arm/boot/dts/kirkwood-ns2max.dts b/arch/arm/boot/dts/kirkwood-ns2max.dts
index d4f6a586d553..defdc77fb550 100644
--- a/arch/arm/boot/dts/kirkwood-ns2max.dts
+++ b/arch/arm/boot/dts/kirkwood-ns2max.dts
@@ -49,3 +49,5 @@
49 }; 49 };
50 }; 50 };
51}; 51};
52
53&ethphy0 { reg = <8>; };
diff --git a/arch/arm/boot/dts/kirkwood-ns2mini.dts b/arch/arm/boot/dts/kirkwood-ns2mini.dts
index f30e05af6473..adbafdd90991 100644
--- a/arch/arm/boot/dts/kirkwood-ns2mini.dts
+++ b/arch/arm/boot/dts/kirkwood-ns2mini.dts
@@ -50,3 +50,5 @@
50 }; 50 };
51 }; 51 };
52}; 52};
53
54&ethphy0 { reg = <0>; };
diff --git a/arch/arm/boot/dts/kirkwood-openblocks_a6.dts b/arch/arm/boot/dts/kirkwood-openblocks_a6.dts
index 365b792b23a7..85ccf8d8abb1 100644
--- a/arch/arm/boot/dts/kirkwood-openblocks_a6.dts
+++ b/arch/arm/boot/dts/kirkwood-openblocks_a6.dts
@@ -166,3 +166,19 @@
166 }; 166 };
167 }; 167 };
168}; 168};
169
170&mdio {
171 status = "okay";
172
173 ethphy0: ethernet-phy@0 {
174 device_type = "ethernet-phy";
175 reg = <0>;
176 };
177};
178
179&eth0 {
180 status = "okay";
181 ethernet0-port@0 {
182 phy-handle = <&ethphy0>;
183 };
184};
diff --git a/arch/arm/boot/dts/kirkwood-sheevaplug-common.dtsi b/arch/arm/boot/dts/kirkwood-sheevaplug-common.dtsi
index 0cc5f26bbbb6..5696b630b70b 100644
--- a/arch/arm/boot/dts/kirkwood-sheevaplug-common.dtsi
+++ b/arch/arm/boot/dts/kirkwood-sheevaplug-common.dtsi
@@ -91,3 +91,19 @@
91 }; 91 };
92 }; 92 };
93}; 93};
94
95&mdio {
96 status = "okay";
97
98 ethphy0: ethernet-phy@0 {
99 device_type = "ethernet-phy";
100 reg = <0>;
101 };
102};
103
104&eth0 {
105 status = "okay";
106 ethernet0-port@0 {
107 phy-handle = <&ethphy0>;
108 };
109};
diff --git a/arch/arm/boot/dts/kirkwood-topkick.dts b/arch/arm/boot/dts/kirkwood-topkick.dts
index 974f1e0f09b2..30842b4ff293 100644
--- a/arch/arm/boot/dts/kirkwood-topkick.dts
+++ b/arch/arm/boot/dts/kirkwood-topkick.dts
@@ -203,3 +203,19 @@
203 }; 203 };
204 }; 204 };
205}; 205};
206
207&mdio {
208 status = "okay";
209
210 ethphy0: ethernet-phy@0 {
211 device_type = "ethernet-phy";
212 reg = <0>;
213 };
214};
215
216&eth0 {
217 status = "okay";
218 ethernet0-port@0 {
219 phy-handle = <&ethphy0>;
220 };
221};
diff --git a/arch/arm/boot/dts/kirkwood-ts219-6281.dts b/arch/arm/boot/dts/kirkwood-ts219-6281.dts
index 3867ae3030be..f755bc1dc604 100644
--- a/arch/arm/boot/dts/kirkwood-ts219-6281.dts
+++ b/arch/arm/boot/dts/kirkwood-ts219-6281.dts
@@ -50,4 +50,6 @@
50 gpios = <&gpio0 16 1>; 50 gpios = <&gpio0 16 1>;
51 }; 51 };
52 }; 52 };
53}; \ No newline at end of file 53};
54
55&ethphy0 { reg = <8>; };
diff --git a/arch/arm/boot/dts/kirkwood-ts219-6282.dts b/arch/arm/boot/dts/kirkwood-ts219-6282.dts
index 04f6fe106bb5..9efcd2dc79d3 100644
--- a/arch/arm/boot/dts/kirkwood-ts219-6282.dts
+++ b/arch/arm/boot/dts/kirkwood-ts219-6282.dts
@@ -61,4 +61,6 @@
61 gpios = <&gpio1 5 1>; 61 gpios = <&gpio1 5 1>;
62 }; 62 };
63 }; 63 };
64}; \ No newline at end of file 64};
65
66&ethphy0 { reg = <0>; };
diff --git a/arch/arm/boot/dts/kirkwood-ts219.dtsi b/arch/arm/boot/dts/kirkwood-ts219.dtsi
index 7019cf675df2..39158cf16258 100644
--- a/arch/arm/boot/dts/kirkwood-ts219.dtsi
+++ b/arch/arm/boot/dts/kirkwood-ts219.dtsi
@@ -99,3 +99,19 @@
99 }; 99 };
100 }; 100 };
101}; 101};
102
103&mdio {
104 status = "okay";
105
106 ethphy0: ethernet-phy {
107 device_type = "ethernet-phy";
108 /* overwrite reg property in board file */
109 };
110};
111
112&eth0 {
113 status = "okay";
114 ethernet0-port@0 {
115 phy-handle = <&ethphy0>;
116 };
117};
diff --git a/arch/arm/boot/dts/kirkwood.dtsi b/arch/arm/boot/dts/kirkwood.dtsi
index 70f414d9bd9a..cf7aeaf89e9c 100644
--- a/arch/arm/boot/dts/kirkwood.dtsi
+++ b/arch/arm/boot/dts/kirkwood.dtsi
@@ -22,13 +22,6 @@
22 gpio0 = &gpio0; 22 gpio0 = &gpio0;
23 gpio1 = &gpio1; 23 gpio1 = &gpio1;
24 }; 24 };
25 intc: interrupt-controller {
26 compatible = "marvell,orion-intc", "marvell,intc";
27 interrupt-controller;
28 #interrupt-cells = <1>;
29 reg = <0xf1020204 0x04>,
30 <0xf1020214 0x04>;
31 };
32 25
33 mbus { 26 mbus {
34 compatible = "marvell,kirkwood-mbus", "simple-bus"; 27 compatible = "marvell,kirkwood-mbus", "simple-bus";
@@ -52,6 +45,30 @@
52 reg = <0x20000 0x80>, <0x1500 0x20>; 45 reg = <0x20000 0x80>, <0x1500 0x20>;
53 }; 46 };
54 47
48 timer: timer@20300 {
49 compatible = "marvell,orion-timer";
50 reg = <0x20300 0x20>;
51 interrupt-parent = <&bridge_intc>;
52 interrupts = <1>, <2>;
53 clocks = <&core_clk 0>;
54 };
55
56 intc: main-interrupt-ctrl@20200 {
57 compatible = "marvell,orion-intc";
58 interrupt-controller;
59 #interrupt-cells = <1>;
60 reg = <0x20200 0x10>, <0x20210 0x10>;
61 };
62
63 bridge_intc: bridge-interrupt-ctrl@20110 {
64 compatible = "marvell,orion-bridge-intc";
65 interrupt-controller;
66 #interrupt-cells = <1>;
67 reg = <0x20110 0x8>;
68 interrupts = <1>;
69 marvell,#interrupts = <6>;
70 };
71
55 core_clk: core-clocks@10030 { 72 core_clk: core-clocks@10030 {
56 compatible = "marvell,kirkwood-core-clock"; 73 compatible = "marvell,kirkwood-core-clock";
57 reg = <0x10030 0x4>; 74 reg = <0x10030 0x4>;
@@ -118,9 +135,11 @@
118 #clock-cells = <1>; 135 #clock-cells = <1>;
119 }; 136 };
120 137
121 wdt@20300 { 138 wdt: watchdog-timer@20300 {
122 compatible = "marvell,orion-wdt"; 139 compatible = "marvell,orion-wdt";
123 reg = <0x20300 0x28>; 140 reg = <0x20300 0x28>;
141 interrupt-parent = <&bridge_intc>;
142 interrupts = <3>;
124 clocks = <&gate_clk 7>; 143 clocks = <&gate_clk 7>;
125 status = "okay"; 144 status = "okay";
126 }; 145 };
@@ -207,5 +226,57 @@
207 clocks = <&gate_clk 17>; 226 clocks = <&gate_clk 17>;
208 status = "okay"; 227 status = "okay";
209 }; 228 };
229
230 mdio: mdio-bus@72004 {
231 compatible = "marvell,orion-mdio";
232 #address-cells = <1>;
233 #size-cells = <0>;
234 reg = <0x72004 0x84>;
235 interrupts = <46>;
236 clocks = <&gate_clk 0>;
237 status = "disabled";
238
239 /* add phy nodes in board file */
240 };
241
242 eth0: ethernet-controller@72000 {
243 compatible = "marvell,kirkwood-eth";
244 #address-cells = <1>;
245 #size-cells = <0>;
246 reg = <0x72000 0x4000>;
247 clocks = <&gate_clk 0>;
248 marvell,tx-checksum-limit = <1600>;
249 status = "disabled";
250
251 ethernet0-port@0 {
252 device_type = "network";
253 compatible = "marvell,kirkwood-eth-port";
254 reg = <0>;
255 interrupts = <11>;
256 /* overwrite MAC address in bootloader */
257 local-mac-address = [00 00 00 00 00 00];
258 /* set phy-handle property in board file */
259 };
260 };
261
262 eth1: ethernet-controller@76000 {
263 compatible = "marvell,kirkwood-eth";
264 #address-cells = <1>;
265 #size-cells = <0>;
266 reg = <0x76000 0x4000>;
267 clocks = <&gate_clk 19>;
268 marvell,tx-checksum-limit = <1600>;
269 status = "disabled";
270
271 ethernet1-port@0 {
272 device_type = "network";
273 compatible = "marvell,kirkwood-eth-port";
274 reg = <0>;
275 interrupts = <15>;
276 /* overwrite MAC address in bootloader */
277 local-mac-address = [00 00 00 00 00 00];
278 /* set phy-handle property in board file */
279 };
280 };
210 }; 281 };
211}; 282};
diff --git a/arch/arm/boot/dts/orion5x-lacie-ethernet-disk-mini-v2.dts b/arch/arm/boot/dts/orion5x-lacie-ethernet-disk-mini-v2.dts
index 0077fc8510b7..aed83deaa991 100644
--- a/arch/arm/boot/dts/orion5x-lacie-ethernet-disk-mini-v2.dts
+++ b/arch/arm/boot/dts/orion5x-lacie-ethernet-disk-mini-v2.dts
@@ -53,3 +53,20 @@
53 }; 53 };
54 }; 54 };
55}; 55};
56
57&mdio {
58 status = "okay";
59
60 ethphy: ethernet-phy {
61 device-type = "ethernet-phy";
62 reg = <8>;
63 };
64};
65
66&eth {
67 status = "okay";
68
69 ethernet-port@0 {
70 phy-handle = <&ethphy>;
71 };
72};
diff --git a/arch/arm/boot/dts/orion5x.dtsi b/arch/arm/boot/dts/orion5x.dtsi
index 892c64e3f1e1..e06c37e91ac6 100644
--- a/arch/arm/boot/dts/orion5x.dtsi
+++ b/arch/arm/boot/dts/orion5x.dtsi
@@ -16,11 +16,12 @@
16 aliases { 16 aliases {
17 gpio0 = &gpio0; 17 gpio0 = &gpio0;
18 }; 18 };
19
19 intc: interrupt-controller { 20 intc: interrupt-controller {
20 compatible = "marvell,orion-intc", "marvell,intc"; 21 compatible = "marvell,orion-intc";
21 interrupt-controller; 22 interrupt-controller;
22 #interrupt-cells = <1>; 23 #interrupt-cells = <1>;
23 reg = <0xf1020204 0x04>; 24 reg = <0xf1020200 0x08>;
24 }; 25 };
25 26
26 ocp@f1000000 { 27 ocp@f1000000 {
@@ -132,5 +133,34 @@
132 interrupts = <28>; 133 interrupts = <28>;
133 status = "okay"; 134 status = "okay";
134 }; 135 };
136
137 mdio: mdio-bus@72004 {
138 compatible = "marvell,orion-mdio";
139 #address-cells = <1>;
140 #size-cells = <0>;
141 reg = <0x72004 0x84>;
142 interrupts = <22>;
143 status = "disabled";
144
145 /* add phy nodes in board file */
146 };
147
148 eth: ethernet-controller@72000 {
149 compatible = "marvell,orion-eth";
150 #address-cells = <1>;
151 #size-cells = <0>;
152 reg = <0x72000 0x4000>;
153 marvell,tx-checksum-limit = <1600>;
154 status = "disabled";
155
156 ethernet-port@0 {
157 device_type = "network";
158 compatible = "marvell,orion-eth-port";
159 reg = <0>;
160 /* overwrite MAC address in bootloader */
161 local-mac-address = [00 00 00 00 00 00];
162 /* set phy-handle property in board file */
163 };
164 };
135 }; 165 };
136}; 166};