xref: /linux/scripts/dtc/include-prefixes/arm/marvell/armada-385-turris-omnia.dts (revision 04515932e52cbe517cf0e933fd22b254034874c4)
1724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2724ba675SRob Herring/*
3724ba675SRob Herring * Device Tree file for the Turris Omnia
4724ba675SRob Herring *
5724ba675SRob Herring * Copyright (C) 2016 Uwe Kleine-König <uwe@kleine-koenig.org>
6724ba675SRob Herring * Copyright (C) 2016 Tomas Hlavacek <tmshlvkc@gmail.com>
7724ba675SRob Herring *
8724ba675SRob Herring * Schematic available at https://www.turris.cz/doc/_media/rtrom01-schema.pdf
9724ba675SRob Herring */
10724ba675SRob Herring
11724ba675SRob Herring/dts-v1/;
12724ba675SRob Herring
13724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
14724ba675SRob Herring#include <dt-bindings/input/input.h>
15724ba675SRob Herring#include <dt-bindings/leds/common.h>
16724ba675SRob Herring#include "armada-385.dtsi"
17724ba675SRob Herring
18724ba675SRob Herring/ {
19724ba675SRob Herring	model = "Turris Omnia";
20724ba675SRob Herring	compatible = "cznic,turris-omnia", "marvell,armada385", "marvell,armada380";
21724ba675SRob Herring
22724ba675SRob Herring	chosen {
23724ba675SRob Herring		stdout-path = &uart0;
24724ba675SRob Herring	};
25724ba675SRob Herring
26724ba675SRob Herring	aliases {
27724ba675SRob Herring		ethernet0 = &eth0;
28724ba675SRob Herring		ethernet1 = &eth1;
29724ba675SRob Herring		ethernet2 = &eth2;
30724ba675SRob Herring	};
31724ba675SRob Herring
32724ba675SRob Herring	memory {
33724ba675SRob Herring		device_type = "memory";
34724ba675SRob Herring		reg = <0x00000000 0x40000000>; /* 1024 MB */
35724ba675SRob Herring	};
36724ba675SRob Herring
37724ba675SRob Herring	soc {
38724ba675SRob Herring		ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000
39724ba675SRob Herring			  MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000
40724ba675SRob Herring			  MBUS_ID(0x09, 0x19) 0 0xf1100000 0x10000
41724ba675SRob Herring			  MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000
42724ba675SRob Herring			  MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>;
43724ba675SRob Herring
44724ba675SRob Herring		internal-regs {
45724ba675SRob Herring
46724ba675SRob Herring			/* USB part of the PCIe2/USB 2.0 port */
47724ba675SRob Herring			usb@58000 {
48724ba675SRob Herring				status = "okay";
49724ba675SRob Herring			};
50724ba675SRob Herring
51724ba675SRob Herring			sata@a8000 {
52724ba675SRob Herring				status = "okay";
53724ba675SRob Herring			};
54724ba675SRob Herring
55724ba675SRob Herring			sdhci@d8000 {
56724ba675SRob Herring				pinctrl-names = "default";
57724ba675SRob Herring				pinctrl-0 = <&sdhci_pins>;
58724ba675SRob Herring				status = "okay";
59724ba675SRob Herring
60724ba675SRob Herring				bus-width = <8>;
61724ba675SRob Herring				no-1-8-v;
62724ba675SRob Herring				non-removable;
63724ba675SRob Herring			};
64724ba675SRob Herring
65724ba675SRob Herring			usb3@f0000 {
66724ba675SRob Herring				status = "okay";
67724ba675SRob Herring			};
68724ba675SRob Herring
69724ba675SRob Herring			usb3@f8000 {
70724ba675SRob Herring				status = "okay";
71724ba675SRob Herring			};
72724ba675SRob Herring		};
73724ba675SRob Herring
74724ba675SRob Herring		pcie {
75724ba675SRob Herring			status = "okay";
76724ba675SRob Herring
77724ba675SRob Herring			pcie@1,0 {
78724ba675SRob Herring				/* Port 0, Lane 0 */
79724ba675SRob Herring				status = "okay";
80724ba675SRob Herring				slot-power-limit-milliwatt = <10000>;
81724ba675SRob Herring			};
82724ba675SRob Herring
83724ba675SRob Herring			pcie@2,0 {
84724ba675SRob Herring				/* Port 1, Lane 0 */
85724ba675SRob Herring				status = "okay";
86724ba675SRob Herring				slot-power-limit-milliwatt = <10000>;
87724ba675SRob Herring			};
88724ba675SRob Herring
89724ba675SRob Herring			pcie@3,0 {
90724ba675SRob Herring				/* Port 2, Lane 0 */
91724ba675SRob Herring				status = "okay";
92724ba675SRob Herring				slot-power-limit-milliwatt = <10000>;
93724ba675SRob Herring			};
94724ba675SRob Herring		};
95724ba675SRob Herring	};
96724ba675SRob Herring
97724ba675SRob Herring	sfp: sfp {
98724ba675SRob Herring		compatible = "sff,sfp";
99724ba675SRob Herring		i2c-bus = <&sfp_i2c>;
100724ba675SRob Herring		tx-fault-gpios = <&pcawan 0 GPIO_ACTIVE_HIGH>;
101724ba675SRob Herring		tx-disable-gpios = <&pcawan 1 GPIO_ACTIVE_HIGH>;
102724ba675SRob Herring		rate-select0-gpios = <&pcawan 2 GPIO_ACTIVE_HIGH>;
103724ba675SRob Herring		los-gpios = <&pcawan 3 GPIO_ACTIVE_HIGH>;
104724ba675SRob Herring		mod-def0-gpios = <&pcawan 4 GPIO_ACTIVE_LOW>;
105724ba675SRob Herring		maximum-power-milliwatt = <3000>;
106724ba675SRob Herring
107724ba675SRob Herring		/*
108724ba675SRob Herring		 * For now this has to be enabled at boot time by U-Boot when
109724ba675SRob Herring		 * a SFP module is present. Read more in the comment in the
110724ba675SRob Herring		 * eth2 node below.
111724ba675SRob Herring		 */
112724ba675SRob Herring		status = "disabled";
113724ba675SRob Herring	};
114724ba675SRob Herring
115724ba675SRob Herring	sound {
116724ba675SRob Herring		compatible = "simple-audio-card";
117724ba675SRob Herring		simple-audio-card,name = "SPDIF";
118724ba675SRob Herring		simple-audio-card,format = "i2s";
119724ba675SRob Herring
120724ba675SRob Herring		simple-audio-card,cpu {
121724ba675SRob Herring			sound-dai = <&audio_controller 1>;
122724ba675SRob Herring		};
123724ba675SRob Herring
124724ba675SRob Herring		simple-audio-card,codec {
125724ba675SRob Herring			sound-dai = <&spdif_out>;
126724ba675SRob Herring		};
127724ba675SRob Herring	};
128724ba675SRob Herring
129724ba675SRob Herring	spdif_out: spdif-out {
130724ba675SRob Herring		#sound-dai-cells = <0>;
131724ba675SRob Herring		compatible = "linux,spdif-dit";
132724ba675SRob Herring	};
133724ba675SRob Herring};
134724ba675SRob Herring
135724ba675SRob Herring&audio_controller {
136724ba675SRob Herring	/* Pin header U16, GPIO51 in SPDIFO mode */
137724ba675SRob Herring	pinctrl-0 = <&spdif_pins>;
138724ba675SRob Herring	pinctrl-names = "default";
139724ba675SRob Herring	spdif-mode;
140724ba675SRob Herring	status = "okay";
141724ba675SRob Herring};
142724ba675SRob Herring
143724ba675SRob Herring&bm {
144724ba675SRob Herring	status = "okay";
145724ba675SRob Herring};
146724ba675SRob Herring
147724ba675SRob Herring&bm_bppi {
148724ba675SRob Herring	status = "okay";
149724ba675SRob Herring};
150724ba675SRob Herring
151724ba675SRob Herring/* Connected to 88E6176 switch, port 6 */
152724ba675SRob Herring&eth0 {
153724ba675SRob Herring	pinctrl-names = "default";
154724ba675SRob Herring	pinctrl-0 = <&ge0_rgmii_pins>;
155724ba675SRob Herring	status = "okay";
156724ba675SRob Herring	phy-mode = "rgmii";
157724ba675SRob Herring	buffer-manager = <&bm>;
158724ba675SRob Herring	bm,pool-long = <0>;
159724ba675SRob Herring	bm,pool-short = <3>;
160724ba675SRob Herring
161724ba675SRob Herring	fixed-link {
162724ba675SRob Herring		speed = <1000>;
163724ba675SRob Herring		full-duplex;
164724ba675SRob Herring	};
165724ba675SRob Herring};
166724ba675SRob Herring
167724ba675SRob Herring/* Connected to 88E6176 switch, port 5 */
168724ba675SRob Herring&eth1 {
169724ba675SRob Herring	pinctrl-names = "default";
170724ba675SRob Herring	pinctrl-0 = <&ge1_rgmii_pins>;
171724ba675SRob Herring	status = "okay";
172724ba675SRob Herring	phy-mode = "rgmii";
173724ba675SRob Herring	buffer-manager = <&bm>;
174724ba675SRob Herring	bm,pool-long = <1>;
175724ba675SRob Herring	bm,pool-short = <3>;
176724ba675SRob Herring
177724ba675SRob Herring	fixed-link {
178724ba675SRob Herring		speed = <1000>;
179724ba675SRob Herring		full-duplex;
180724ba675SRob Herring	};
181724ba675SRob Herring};
182724ba675SRob Herring
183724ba675SRob Herring/* WAN port */
184724ba675SRob Herring&eth2 {
185724ba675SRob Herring	/*
186724ba675SRob Herring	 * eth2 is connected via a multiplexor to both the SFP cage and to
187724ba675SRob Herring	 * ethernet-phy@1. The multiplexor switches the signal to SFP cage when
188724ba675SRob Herring	 * a SFP module is present, as determined by the mode-def0 GPIO.
189724ba675SRob Herring	 *
190724ba675SRob Herring	 * Until kernel supports this configuration properly, in case SFP module
191724ba675SRob Herring	 * is present, U-Boot has to enable the sfp node above, remove phy
192724ba675SRob Herring	 * handle and add managed = "in-band-status" property.
193724ba675SRob Herring	 */
194724ba675SRob Herring	status = "okay";
195724ba675SRob Herring	phy-mode = "sgmii";
196724ba675SRob Herring	phy-handle = <&phy1>;
197724ba675SRob Herring	phys = <&comphy5 2>;
198724ba675SRob Herring	sfp = <&sfp>;
199724ba675SRob Herring	buffer-manager = <&bm>;
200724ba675SRob Herring	bm,pool-long = <2>;
201724ba675SRob Herring	bm,pool-short = <3>;
202724ba675SRob Herring	label = "wan";
203724ba675SRob Herring};
204724ba675SRob Herring
205724ba675SRob Herring&i2c0 {
206724ba675SRob Herring	pinctrl-names = "default";
207724ba675SRob Herring	pinctrl-0 = <&i2c0_pins>;
208724ba675SRob Herring	status = "okay";
209724ba675SRob Herring
210724ba675SRob Herring	i2cmux@70 {
211724ba675SRob Herring		compatible = "nxp,pca9547";
212724ba675SRob Herring		#address-cells = <1>;
213724ba675SRob Herring		#size-cells = <0>;
214724ba675SRob Herring		reg = <0x70>;
215724ba675SRob Herring
216724ba675SRob Herring		i2c@0 {
217724ba675SRob Herring			#address-cells = <1>;
218724ba675SRob Herring			#size-cells = <0>;
219724ba675SRob Herring			reg = <0>;
220724ba675SRob Herring
221*04515932SMarek Behún			mcu: system-controller@2a {
222*04515932SMarek Behún				compatible = "cznic,turris-omnia-mcu";
223*04515932SMarek Behún				reg = <0x2a>;
224*04515932SMarek Behún
225*04515932SMarek Behún				pinctrl-names = "default";
226*04515932SMarek Behún				pinctrl-0 = <&mcu_pins>;
227*04515932SMarek Behún
228*04515932SMarek Behún				interrupt-parent = <&gpio1>;
229*04515932SMarek Behún				interrupts = <11 IRQ_TYPE_NONE>;
230*04515932SMarek Behún
231*04515932SMarek Behún				gpio-controller;
232*04515932SMarek Behún				#gpio-cells = <3>;
233*04515932SMarek Behún
234*04515932SMarek Behún				interrupt-controller;
235*04515932SMarek Behún				#interrupt-cells = <2>;
236*04515932SMarek Behún			};
237724ba675SRob Herring
238724ba675SRob Herring			led-controller@2b {
239724ba675SRob Herring				compatible = "cznic,turris-omnia-leds";
240724ba675SRob Herring				reg = <0x2b>;
241724ba675SRob Herring				#address-cells = <1>;
242724ba675SRob Herring				#size-cells = <0>;
243724ba675SRob Herring				status = "okay";
244724ba675SRob Herring
245724ba675SRob Herring				/*
246724ba675SRob Herring				 * LEDs are controlled by MCU (STM32F0) at
247724ba675SRob Herring				 * address 0x2b.
248724ba675SRob Herring				 *
249724ba675SRob Herring				 * LED functions are not stable yet:
250724ba675SRob Herring				 * - there are 3 LEDs connected via MCU to PCIe
251724ba675SRob Herring				 *   ports. One of these ports supports mSATA.
252724ba675SRob Herring				 *   There is no mSATA nor PCIe function.
253724ba675SRob Herring				 *   For now we use LED_FUNCTION_WLAN, since
254724ba675SRob Herring				 *   in most cases users have wifi cards in
255724ba675SRob Herring				 *   these slots
256724ba675SRob Herring				 * - there are 2 LEDs dedicated for user: A and
257724ba675SRob Herring				 *   B. Again there is no such function defined.
258724ba675SRob Herring				 *   For now we use LED_FUNCTION_INDICATOR
259724ba675SRob Herring				 */
260724ba675SRob Herring
261724ba675SRob Herring				multi-led@0 {
262724ba675SRob Herring					reg = <0x0>;
263724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
264724ba675SRob Herring					function = LED_FUNCTION_INDICATOR;
265724ba675SRob Herring					function-enumerator = <2>;
266724ba675SRob Herring				};
267724ba675SRob Herring
268724ba675SRob Herring				multi-led@1 {
269724ba675SRob Herring					reg = <0x1>;
270724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
271724ba675SRob Herring					function = LED_FUNCTION_INDICATOR;
272724ba675SRob Herring					function-enumerator = <1>;
273724ba675SRob Herring				};
274724ba675SRob Herring
275724ba675SRob Herring				multi-led@2 {
276724ba675SRob Herring					reg = <0x2>;
277724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
278724ba675SRob Herring					function = LED_FUNCTION_WLAN;
279724ba675SRob Herring					function-enumerator = <3>;
280724ba675SRob Herring				};
281724ba675SRob Herring
282724ba675SRob Herring				multi-led@3 {
283724ba675SRob Herring					reg = <0x3>;
284724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
285724ba675SRob Herring					function = LED_FUNCTION_WLAN;
286724ba675SRob Herring					function-enumerator = <2>;
287724ba675SRob Herring				};
288724ba675SRob Herring
289724ba675SRob Herring				multi-led@4 {
290724ba675SRob Herring					reg = <0x4>;
291724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
292724ba675SRob Herring					function = LED_FUNCTION_WLAN;
293724ba675SRob Herring					function-enumerator = <1>;
294724ba675SRob Herring				};
295724ba675SRob Herring
296724ba675SRob Herring				multi-led@5 {
297724ba675SRob Herring					reg = <0x5>;
298724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
299724ba675SRob Herring					function = LED_FUNCTION_WAN;
300724ba675SRob Herring				};
301724ba675SRob Herring
302724ba675SRob Herring				multi-led@6 {
303724ba675SRob Herring					reg = <0x6>;
304724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
305724ba675SRob Herring					function = LED_FUNCTION_LAN;
306724ba675SRob Herring					function-enumerator = <4>;
307724ba675SRob Herring				};
308724ba675SRob Herring
309724ba675SRob Herring				multi-led@7 {
310724ba675SRob Herring					reg = <0x7>;
311724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
312724ba675SRob Herring					function = LED_FUNCTION_LAN;
313724ba675SRob Herring					function-enumerator = <3>;
314724ba675SRob Herring				};
315724ba675SRob Herring
316724ba675SRob Herring				multi-led@8 {
317724ba675SRob Herring					reg = <0x8>;
318724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
319724ba675SRob Herring					function = LED_FUNCTION_LAN;
320724ba675SRob Herring					function-enumerator = <2>;
321724ba675SRob Herring				};
322724ba675SRob Herring
323724ba675SRob Herring				multi-led@9 {
324724ba675SRob Herring					reg = <0x9>;
325724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
326724ba675SRob Herring					function = LED_FUNCTION_LAN;
327724ba675SRob Herring					function-enumerator = <1>;
328724ba675SRob Herring				};
329724ba675SRob Herring
330724ba675SRob Herring				multi-led@a {
331724ba675SRob Herring					reg = <0xa>;
332724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
333724ba675SRob Herring					function = LED_FUNCTION_LAN;
334724ba675SRob Herring					function-enumerator = <0>;
335724ba675SRob Herring				};
336724ba675SRob Herring
337724ba675SRob Herring				multi-led@b {
338724ba675SRob Herring					reg = <0xb>;
339724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
340724ba675SRob Herring					function = LED_FUNCTION_POWER;
341724ba675SRob Herring				};
342724ba675SRob Herring			};
343724ba675SRob Herring
344724ba675SRob Herring			eeprom@54 {
345724ba675SRob Herring				compatible = "atmel,24c64";
346724ba675SRob Herring				reg = <0x54>;
347724ba675SRob Herring
348724ba675SRob Herring				/* The EEPROM contains data for bootloader.
349724ba675SRob Herring				 * Contents:
350724ba675SRob Herring				 * 	struct omnia_eeprom {
351724ba675SRob Herring				 * 		u32 magic; (=0x0341a034 in LE)
352724ba675SRob Herring				 *		u32 ramsize; (in GiB)
353724ba675SRob Herring				 * 		char regdomain[4];
354724ba675SRob Herring				 * 		u32 crc32;
355724ba675SRob Herring				 * 	};
356724ba675SRob Herring				 */
357724ba675SRob Herring			};
358724ba675SRob Herring		};
359724ba675SRob Herring
360724ba675SRob Herring		i2c@1 {
361724ba675SRob Herring			#address-cells = <1>;
362724ba675SRob Herring			#size-cells = <0>;
363724ba675SRob Herring			reg = <1>;
364724ba675SRob Herring
365724ba675SRob Herring			/* routed to PCIe0/mSATA connector (CN7A) */
366724ba675SRob Herring		};
367724ba675SRob Herring
368724ba675SRob Herring		i2c@2 {
369724ba675SRob Herring			#address-cells = <1>;
370724ba675SRob Herring			#size-cells = <0>;
371724ba675SRob Herring			reg = <2>;
372724ba675SRob Herring
373724ba675SRob Herring			/* routed to PCIe1/USB2 connector (CN61A) */
374724ba675SRob Herring		};
375724ba675SRob Herring
376724ba675SRob Herring		i2c@3 {
377724ba675SRob Herring			#address-cells = <1>;
378724ba675SRob Herring			#size-cells = <0>;
379724ba675SRob Herring			reg = <3>;
380724ba675SRob Herring
381724ba675SRob Herring			/* routed to PCIe2 connector (CN62A) */
382724ba675SRob Herring		};
383724ba675SRob Herring
384724ba675SRob Herring		sfp_i2c: i2c@4 {
385724ba675SRob Herring			#address-cells = <1>;
386724ba675SRob Herring			#size-cells = <0>;
387724ba675SRob Herring			reg = <4>;
388724ba675SRob Herring
389724ba675SRob Herring			/* routed to SFP+ */
390724ba675SRob Herring		};
391724ba675SRob Herring
392724ba675SRob Herring		i2c@5 {
393724ba675SRob Herring			#address-cells = <1>;
394724ba675SRob Herring			#size-cells = <0>;
395724ba675SRob Herring			reg = <5>;
396724ba675SRob Herring
397724ba675SRob Herring			/* ATSHA204A-MAHDA-T crypto module */
398724ba675SRob Herring			crypto@64 {
399724ba675SRob Herring				compatible = "atmel,atsha204a";
400724ba675SRob Herring				reg = <0x64>;
401724ba675SRob Herring			};
402724ba675SRob Herring		};
403724ba675SRob Herring
404724ba675SRob Herring		i2c@6 {
405724ba675SRob Herring			#address-cells = <1>;
406724ba675SRob Herring			#size-cells = <0>;
407724ba675SRob Herring			reg = <6>;
408724ba675SRob Herring
409724ba675SRob Herring			/* exposed on pin header */
410724ba675SRob Herring		};
411724ba675SRob Herring
412724ba675SRob Herring		i2c@7 {
413724ba675SRob Herring			#address-cells = <1>;
414724ba675SRob Herring			#size-cells = <0>;
415724ba675SRob Herring			reg = <7>;
416724ba675SRob Herring
417724ba675SRob Herring			pcawan: gpio@71 {
418724ba675SRob Herring				/*
419724ba675SRob Herring				 * GPIO expander for SFP+ signals and
420724ba675SRob Herring				 * and phy irq
421724ba675SRob Herring				 */
422724ba675SRob Herring				compatible = "nxp,pca9538";
423724ba675SRob Herring				reg = <0x71>;
424724ba675SRob Herring
425724ba675SRob Herring				pinctrl-names = "default";
426724ba675SRob Herring				pinctrl-0 = <&pcawan_pins>;
427724ba675SRob Herring
428724ba675SRob Herring				interrupt-parent = <&gpio1>;
429724ba675SRob Herring				interrupts = <14 IRQ_TYPE_LEVEL_LOW>;
430724ba675SRob Herring
431724ba675SRob Herring				gpio-controller;
432724ba675SRob Herring				#gpio-cells = <2>;
433724ba675SRob Herring			};
434724ba675SRob Herring		};
435724ba675SRob Herring	};
436724ba675SRob Herring};
437724ba675SRob Herring
438724ba675SRob Herring&mdio {
439724ba675SRob Herring	pinctrl-names = "default";
440724ba675SRob Herring	pinctrl-0 = <&mdio_pins>;
441724ba675SRob Herring	status = "okay";
442724ba675SRob Herring
443724ba675SRob Herring	phy1: ethernet-phy@1 {
444724ba675SRob Herring		compatible = "ethernet-phy-ieee802.3-c22";
445724ba675SRob Herring		reg = <1>;
446724ba675SRob Herring		marvell,reg-init = <3 18 0 0x4985>,
447724ba675SRob Herring				   <3 16 0xfff0 0x0001>;
448724ba675SRob Herring
449724ba675SRob Herring		/* irq is connected to &pcawan pin 7 */
450724ba675SRob Herring	};
451724ba675SRob Herring
452724ba675SRob Herring	/* Switch MV88E6176 at address 0x10 */
4536e75ac5aSLinus Walleij	ethernet-switch@10 {
454724ba675SRob Herring		pinctrl-names = "default";
455724ba675SRob Herring		pinctrl-0 = <&swint_pins>;
456724ba675SRob Herring		compatible = "marvell,mv88e6085";
457724ba675SRob Herring
458724ba675SRob Herring		dsa,member = <0 0>;
459724ba675SRob Herring		reg = <0x10>;
460724ba675SRob Herring
461724ba675SRob Herring		interrupt-parent = <&gpio1>;
462724ba675SRob Herring		interrupts = <13 IRQ_TYPE_LEVEL_LOW>;
463724ba675SRob Herring
4646e75ac5aSLinus Walleij		ethernet-ports {
465724ba675SRob Herring			#address-cells = <1>;
466724ba675SRob Herring			#size-cells = <0>;
467724ba675SRob Herring
4686e75ac5aSLinus Walleij			ethernet-port@0 {
469724ba675SRob Herring				reg = <0>;
470724ba675SRob Herring				label = "lan0";
471724ba675SRob Herring			};
472724ba675SRob Herring
4736e75ac5aSLinus Walleij			ethernet-port@1 {
474724ba675SRob Herring				reg = <1>;
475724ba675SRob Herring				label = "lan1";
476724ba675SRob Herring			};
477724ba675SRob Herring
4786e75ac5aSLinus Walleij			ethernet-port@2 {
479724ba675SRob Herring				reg = <2>;
480724ba675SRob Herring				label = "lan2";
481724ba675SRob Herring			};
482724ba675SRob Herring
4836e75ac5aSLinus Walleij			ethernet-port@3 {
484724ba675SRob Herring				reg = <3>;
485724ba675SRob Herring				label = "lan3";
486724ba675SRob Herring			};
487724ba675SRob Herring
4886e75ac5aSLinus Walleij			ethernet-port@4 {
489724ba675SRob Herring				reg = <4>;
490724ba675SRob Herring				label = "lan4";
491724ba675SRob Herring			};
492724ba675SRob Herring
4936e75ac5aSLinus Walleij			ethernet-port@5 {
494724ba675SRob Herring				reg = <5>;
495724ba675SRob Herring				ethernet = <&eth1>;
496724ba675SRob Herring				phy-mode = "rgmii-id";
497724ba675SRob Herring
498724ba675SRob Herring				fixed-link {
499724ba675SRob Herring					speed = <1000>;
500724ba675SRob Herring					full-duplex;
501724ba675SRob Herring				};
502724ba675SRob Herring			};
503724ba675SRob Herring
5046e75ac5aSLinus Walleij			ethernet-port@6 {
505724ba675SRob Herring				reg = <6>;
506724ba675SRob Herring				ethernet = <&eth0>;
507724ba675SRob Herring				phy-mode = "rgmii-id";
508724ba675SRob Herring
509724ba675SRob Herring				fixed-link {
510724ba675SRob Herring					speed = <1000>;
511724ba675SRob Herring					full-duplex;
512724ba675SRob Herring				};
513724ba675SRob Herring			};
514724ba675SRob Herring		};
515724ba675SRob Herring	};
516724ba675SRob Herring};
517724ba675SRob Herring
518724ba675SRob Herring&pinctrl {
519*04515932SMarek Behún	mcu_pins: mcu-pins {
520*04515932SMarek Behún		marvell,pins = "mpp43";
521*04515932SMarek Behún		marvell,function = "gpio";
522*04515932SMarek Behún	};
523*04515932SMarek Behún
524724ba675SRob Herring	pcawan_pins: pcawan-pins {
525724ba675SRob Herring		marvell,pins = "mpp46";
526724ba675SRob Herring		marvell,function = "gpio";
527724ba675SRob Herring	};
528724ba675SRob Herring
529724ba675SRob Herring	swint_pins: swint-pins {
530724ba675SRob Herring		marvell,pins = "mpp45";
531724ba675SRob Herring		marvell,function = "gpio";
532724ba675SRob Herring	};
533724ba675SRob Herring
534724ba675SRob Herring	spi0cs0_pins: spi0cs0-pins {
535724ba675SRob Herring		marvell,pins = "mpp25";
536724ba675SRob Herring		marvell,function = "spi0";
537724ba675SRob Herring	};
538724ba675SRob Herring
539724ba675SRob Herring	spi0cs2_pins: spi0cs2-pins {
540724ba675SRob Herring		marvell,pins = "mpp26";
541724ba675SRob Herring		marvell,function = "spi0";
542724ba675SRob Herring	};
543724ba675SRob Herring};
544724ba675SRob Herring
545724ba675SRob Herring&spi0 {
546724ba675SRob Herring	pinctrl-names = "default";
547724ba675SRob Herring	pinctrl-0 = <&spi0_pins &spi0cs0_pins>;
548724ba675SRob Herring	status = "okay";
549724ba675SRob Herring
550724ba675SRob Herring	flash@0 {
551724ba675SRob Herring		compatible = "spansion,s25fl164k", "jedec,spi-nor";
552724ba675SRob Herring		#address-cells = <1>;
553724ba675SRob Herring		#size-cells = <1>;
554724ba675SRob Herring		reg = <0>;
555724ba675SRob Herring		spi-max-frequency = <40000000>;
556724ba675SRob Herring
557724ba675SRob Herring		partitions {
558724ba675SRob Herring			compatible = "fixed-partitions";
559724ba675SRob Herring			#address-cells = <1>;
560724ba675SRob Herring			#size-cells = <1>;
561724ba675SRob Herring
562724ba675SRob Herring			partition@0 {
563724ba675SRob Herring				reg = <0x0 0x00100000>;
564724ba675SRob Herring				label = "U-Boot";
565724ba675SRob Herring			};
566724ba675SRob Herring
567724ba675SRob Herring			partition@100000 {
568724ba675SRob Herring				reg = <0x00100000 0x00700000>;
569724ba675SRob Herring				label = "Rescue system";
570724ba675SRob Herring			};
571724ba675SRob Herring		};
572724ba675SRob Herring	};
573724ba675SRob Herring
574724ba675SRob Herring	/* MISO, MOSI, SCLK and CS2 are routed to pin header CN11 */
575724ba675SRob Herring};
576724ba675SRob Herring
577724ba675SRob Herring&uart0 {
578724ba675SRob Herring	/* Pin header CN10 */
579724ba675SRob Herring	pinctrl-names = "default";
580724ba675SRob Herring	pinctrl-0 = <&uart0_pins>;
581724ba675SRob Herring	status = "okay";
582724ba675SRob Herring};
583724ba675SRob Herring
584724ba675SRob Herring&uart1 {
585724ba675SRob Herring	/* Pin header CN11 */
586724ba675SRob Herring	pinctrl-names = "default";
587724ba675SRob Herring	pinctrl-0 = <&uart1_pins>;
588724ba675SRob Herring	status = "okay";
589724ba675SRob Herring};
590