1*724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2*724ba675SRob Herring/*
3*724ba675SRob Herring * Device Tree file for the Turris Omnia
4*724ba675SRob Herring *
5*724ba675SRob Herring * Copyright (C) 2016 Uwe Kleine-König <uwe@kleine-koenig.org>
6*724ba675SRob Herring * Copyright (C) 2016 Tomas Hlavacek <tmshlvkc@gmail.com>
7*724ba675SRob Herring *
8*724ba675SRob Herring * Schematic available at https://www.turris.cz/doc/_media/rtrom01-schema.pdf
9*724ba675SRob Herring */
10*724ba675SRob Herring
11*724ba675SRob Herring/dts-v1/;
12*724ba675SRob Herring
13*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
14*724ba675SRob Herring#include <dt-bindings/input/input.h>
15*724ba675SRob Herring#include <dt-bindings/leds/common.h>
16*724ba675SRob Herring#include "armada-385.dtsi"
17*724ba675SRob Herring
18*724ba675SRob Herring/ {
19*724ba675SRob Herring	model = "Turris Omnia";
20*724ba675SRob Herring	compatible = "cznic,turris-omnia", "marvell,armada385", "marvell,armada380";
21*724ba675SRob Herring
22*724ba675SRob Herring	chosen {
23*724ba675SRob Herring		stdout-path = &uart0;
24*724ba675SRob Herring	};
25*724ba675SRob Herring
26*724ba675SRob Herring	aliases {
27*724ba675SRob Herring		ethernet0 = &eth0;
28*724ba675SRob Herring		ethernet1 = &eth1;
29*724ba675SRob Herring		ethernet2 = &eth2;
30*724ba675SRob Herring	};
31*724ba675SRob Herring
32*724ba675SRob Herring	memory {
33*724ba675SRob Herring		device_type = "memory";
34*724ba675SRob Herring		reg = <0x00000000 0x40000000>; /* 1024 MB */
35*724ba675SRob Herring	};
36*724ba675SRob Herring
37*724ba675SRob Herring	soc {
38*724ba675SRob Herring		ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000
39*724ba675SRob Herring			  MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000
40*724ba675SRob Herring			  MBUS_ID(0x09, 0x19) 0 0xf1100000 0x10000
41*724ba675SRob Herring			  MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000
42*724ba675SRob Herring			  MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>;
43*724ba675SRob Herring
44*724ba675SRob Herring		internal-regs {
45*724ba675SRob Herring
46*724ba675SRob Herring			/* USB part of the PCIe2/USB 2.0 port */
47*724ba675SRob Herring			usb@58000 {
48*724ba675SRob Herring				status = "okay";
49*724ba675SRob Herring			};
50*724ba675SRob Herring
51*724ba675SRob Herring			sata@a8000 {
52*724ba675SRob Herring				status = "okay";
53*724ba675SRob Herring			};
54*724ba675SRob Herring
55*724ba675SRob Herring			sdhci@d8000 {
56*724ba675SRob Herring				pinctrl-names = "default";
57*724ba675SRob Herring				pinctrl-0 = <&sdhci_pins>;
58*724ba675SRob Herring				status = "okay";
59*724ba675SRob Herring
60*724ba675SRob Herring				bus-width = <8>;
61*724ba675SRob Herring				no-1-8-v;
62*724ba675SRob Herring				non-removable;
63*724ba675SRob Herring			};
64*724ba675SRob Herring
65*724ba675SRob Herring			usb3@f0000 {
66*724ba675SRob Herring				status = "okay";
67*724ba675SRob Herring			};
68*724ba675SRob Herring
69*724ba675SRob Herring			usb3@f8000 {
70*724ba675SRob Herring				status = "okay";
71*724ba675SRob Herring			};
72*724ba675SRob Herring		};
73*724ba675SRob Herring
74*724ba675SRob Herring		pcie {
75*724ba675SRob Herring			status = "okay";
76*724ba675SRob Herring
77*724ba675SRob Herring			pcie@1,0 {
78*724ba675SRob Herring				/* Port 0, Lane 0 */
79*724ba675SRob Herring				status = "okay";
80*724ba675SRob Herring				slot-power-limit-milliwatt = <10000>;
81*724ba675SRob Herring			};
82*724ba675SRob Herring
83*724ba675SRob Herring			pcie@2,0 {
84*724ba675SRob Herring				/* Port 1, Lane 0 */
85*724ba675SRob Herring				status = "okay";
86*724ba675SRob Herring				slot-power-limit-milliwatt = <10000>;
87*724ba675SRob Herring			};
88*724ba675SRob Herring
89*724ba675SRob Herring			pcie@3,0 {
90*724ba675SRob Herring				/* Port 2, Lane 0 */
91*724ba675SRob Herring				status = "okay";
92*724ba675SRob Herring				slot-power-limit-milliwatt = <10000>;
93*724ba675SRob Herring			};
94*724ba675SRob Herring		};
95*724ba675SRob Herring	};
96*724ba675SRob Herring
97*724ba675SRob Herring	sfp: sfp {
98*724ba675SRob Herring		compatible = "sff,sfp";
99*724ba675SRob Herring		i2c-bus = <&sfp_i2c>;
100*724ba675SRob Herring		tx-fault-gpios = <&pcawan 0 GPIO_ACTIVE_HIGH>;
101*724ba675SRob Herring		tx-disable-gpios = <&pcawan 1 GPIO_ACTIVE_HIGH>;
102*724ba675SRob Herring		rate-select0-gpios = <&pcawan 2 GPIO_ACTIVE_HIGH>;
103*724ba675SRob Herring		los-gpios = <&pcawan 3 GPIO_ACTIVE_HIGH>;
104*724ba675SRob Herring		mod-def0-gpios = <&pcawan 4 GPIO_ACTIVE_LOW>;
105*724ba675SRob Herring		maximum-power-milliwatt = <3000>;
106*724ba675SRob Herring
107*724ba675SRob Herring		/*
108*724ba675SRob Herring		 * For now this has to be enabled at boot time by U-Boot when
109*724ba675SRob Herring		 * a SFP module is present. Read more in the comment in the
110*724ba675SRob Herring		 * eth2 node below.
111*724ba675SRob Herring		 */
112*724ba675SRob Herring		status = "disabled";
113*724ba675SRob Herring	};
114*724ba675SRob Herring
115*724ba675SRob Herring	sound {
116*724ba675SRob Herring		compatible = "simple-audio-card";
117*724ba675SRob Herring		simple-audio-card,name = "SPDIF";
118*724ba675SRob Herring		simple-audio-card,format = "i2s";
119*724ba675SRob Herring
120*724ba675SRob Herring		simple-audio-card,cpu {
121*724ba675SRob Herring			sound-dai = <&audio_controller 1>;
122*724ba675SRob Herring		};
123*724ba675SRob Herring
124*724ba675SRob Herring		simple-audio-card,codec {
125*724ba675SRob Herring			sound-dai = <&spdif_out>;
126*724ba675SRob Herring		};
127*724ba675SRob Herring	};
128*724ba675SRob Herring
129*724ba675SRob Herring	spdif_out: spdif-out {
130*724ba675SRob Herring		#sound-dai-cells = <0>;
131*724ba675SRob Herring		compatible = "linux,spdif-dit";
132*724ba675SRob Herring	};
133*724ba675SRob Herring};
134*724ba675SRob Herring
135*724ba675SRob Herring&audio_controller {
136*724ba675SRob Herring	/* Pin header U16, GPIO51 in SPDIFO mode */
137*724ba675SRob Herring	pinctrl-0 = <&spdif_pins>;
138*724ba675SRob Herring	pinctrl-names = "default";
139*724ba675SRob Herring	spdif-mode;
140*724ba675SRob Herring	status = "okay";
141*724ba675SRob Herring};
142*724ba675SRob Herring
143*724ba675SRob Herring&bm {
144*724ba675SRob Herring	status = "okay";
145*724ba675SRob Herring};
146*724ba675SRob Herring
147*724ba675SRob Herring&bm_bppi {
148*724ba675SRob Herring	status = "okay";
149*724ba675SRob Herring};
150*724ba675SRob Herring
151*724ba675SRob Herring/* Connected to 88E6176 switch, port 6 */
152*724ba675SRob Herring&eth0 {
153*724ba675SRob Herring	pinctrl-names = "default";
154*724ba675SRob Herring	pinctrl-0 = <&ge0_rgmii_pins>;
155*724ba675SRob Herring	status = "okay";
156*724ba675SRob Herring	phy-mode = "rgmii";
157*724ba675SRob Herring	buffer-manager = <&bm>;
158*724ba675SRob Herring	bm,pool-long = <0>;
159*724ba675SRob Herring	bm,pool-short = <3>;
160*724ba675SRob Herring
161*724ba675SRob Herring	fixed-link {
162*724ba675SRob Herring		speed = <1000>;
163*724ba675SRob Herring		full-duplex;
164*724ba675SRob Herring	};
165*724ba675SRob Herring};
166*724ba675SRob Herring
167*724ba675SRob Herring/* Connected to 88E6176 switch, port 5 */
168*724ba675SRob Herring&eth1 {
169*724ba675SRob Herring	pinctrl-names = "default";
170*724ba675SRob Herring	pinctrl-0 = <&ge1_rgmii_pins>;
171*724ba675SRob Herring	status = "okay";
172*724ba675SRob Herring	phy-mode = "rgmii";
173*724ba675SRob Herring	buffer-manager = <&bm>;
174*724ba675SRob Herring	bm,pool-long = <1>;
175*724ba675SRob Herring	bm,pool-short = <3>;
176*724ba675SRob Herring
177*724ba675SRob Herring	fixed-link {
178*724ba675SRob Herring		speed = <1000>;
179*724ba675SRob Herring		full-duplex;
180*724ba675SRob Herring	};
181*724ba675SRob Herring};
182*724ba675SRob Herring
183*724ba675SRob Herring/* WAN port */
184*724ba675SRob Herring&eth2 {
185*724ba675SRob Herring	/*
186*724ba675SRob Herring	 * eth2 is connected via a multiplexor to both the SFP cage and to
187*724ba675SRob Herring	 * ethernet-phy@1. The multiplexor switches the signal to SFP cage when
188*724ba675SRob Herring	 * a SFP module is present, as determined by the mode-def0 GPIO.
189*724ba675SRob Herring	 *
190*724ba675SRob Herring	 * Until kernel supports this configuration properly, in case SFP module
191*724ba675SRob Herring	 * is present, U-Boot has to enable the sfp node above, remove phy
192*724ba675SRob Herring	 * handle and add managed = "in-band-status" property.
193*724ba675SRob Herring	 */
194*724ba675SRob Herring	status = "okay";
195*724ba675SRob Herring	phy-mode = "sgmii";
196*724ba675SRob Herring	phy-handle = <&phy1>;
197*724ba675SRob Herring	phys = <&comphy5 2>;
198*724ba675SRob Herring	sfp = <&sfp>;
199*724ba675SRob Herring	buffer-manager = <&bm>;
200*724ba675SRob Herring	bm,pool-long = <2>;
201*724ba675SRob Herring	bm,pool-short = <3>;
202*724ba675SRob Herring	label = "wan";
203*724ba675SRob Herring};
204*724ba675SRob Herring
205*724ba675SRob Herring&i2c0 {
206*724ba675SRob Herring	pinctrl-names = "default";
207*724ba675SRob Herring	pinctrl-0 = <&i2c0_pins>;
208*724ba675SRob Herring	status = "okay";
209*724ba675SRob Herring
210*724ba675SRob Herring	i2cmux@70 {
211*724ba675SRob Herring		compatible = "nxp,pca9547";
212*724ba675SRob Herring		#address-cells = <1>;
213*724ba675SRob Herring		#size-cells = <0>;
214*724ba675SRob Herring		reg = <0x70>;
215*724ba675SRob Herring
216*724ba675SRob Herring		i2c@0 {
217*724ba675SRob Herring			#address-cells = <1>;
218*724ba675SRob Herring			#size-cells = <0>;
219*724ba675SRob Herring			reg = <0>;
220*724ba675SRob Herring
221*724ba675SRob Herring			/* STM32F0 command interface at address 0x2a */
222*724ba675SRob Herring
223*724ba675SRob Herring			led-controller@2b {
224*724ba675SRob Herring				compatible = "cznic,turris-omnia-leds";
225*724ba675SRob Herring				reg = <0x2b>;
226*724ba675SRob Herring				#address-cells = <1>;
227*724ba675SRob Herring				#size-cells = <0>;
228*724ba675SRob Herring				status = "okay";
229*724ba675SRob Herring
230*724ba675SRob Herring				/*
231*724ba675SRob Herring				 * LEDs are controlled by MCU (STM32F0) at
232*724ba675SRob Herring				 * address 0x2b.
233*724ba675SRob Herring				 *
234*724ba675SRob Herring				 * LED functions are not stable yet:
235*724ba675SRob Herring				 * - there are 3 LEDs connected via MCU to PCIe
236*724ba675SRob Herring				 *   ports. One of these ports supports mSATA.
237*724ba675SRob Herring				 *   There is no mSATA nor PCIe function.
238*724ba675SRob Herring				 *   For now we use LED_FUNCTION_WLAN, since
239*724ba675SRob Herring				 *   in most cases users have wifi cards in
240*724ba675SRob Herring				 *   these slots
241*724ba675SRob Herring				 * - there are 2 LEDs dedicated for user: A and
242*724ba675SRob Herring				 *   B. Again there is no such function defined.
243*724ba675SRob Herring				 *   For now we use LED_FUNCTION_INDICATOR
244*724ba675SRob Herring				 */
245*724ba675SRob Herring
246*724ba675SRob Herring				multi-led@0 {
247*724ba675SRob Herring					reg = <0x0>;
248*724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
249*724ba675SRob Herring					function = LED_FUNCTION_INDICATOR;
250*724ba675SRob Herring					function-enumerator = <2>;
251*724ba675SRob Herring				};
252*724ba675SRob Herring
253*724ba675SRob Herring				multi-led@1 {
254*724ba675SRob Herring					reg = <0x1>;
255*724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
256*724ba675SRob Herring					function = LED_FUNCTION_INDICATOR;
257*724ba675SRob Herring					function-enumerator = <1>;
258*724ba675SRob Herring				};
259*724ba675SRob Herring
260*724ba675SRob Herring				multi-led@2 {
261*724ba675SRob Herring					reg = <0x2>;
262*724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
263*724ba675SRob Herring					function = LED_FUNCTION_WLAN;
264*724ba675SRob Herring					function-enumerator = <3>;
265*724ba675SRob Herring				};
266*724ba675SRob Herring
267*724ba675SRob Herring				multi-led@3 {
268*724ba675SRob Herring					reg = <0x3>;
269*724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
270*724ba675SRob Herring					function = LED_FUNCTION_WLAN;
271*724ba675SRob Herring					function-enumerator = <2>;
272*724ba675SRob Herring				};
273*724ba675SRob Herring
274*724ba675SRob Herring				multi-led@4 {
275*724ba675SRob Herring					reg = <0x4>;
276*724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
277*724ba675SRob Herring					function = LED_FUNCTION_WLAN;
278*724ba675SRob Herring					function-enumerator = <1>;
279*724ba675SRob Herring				};
280*724ba675SRob Herring
281*724ba675SRob Herring				multi-led@5 {
282*724ba675SRob Herring					reg = <0x5>;
283*724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
284*724ba675SRob Herring					function = LED_FUNCTION_WAN;
285*724ba675SRob Herring				};
286*724ba675SRob Herring
287*724ba675SRob Herring				multi-led@6 {
288*724ba675SRob Herring					reg = <0x6>;
289*724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
290*724ba675SRob Herring					function = LED_FUNCTION_LAN;
291*724ba675SRob Herring					function-enumerator = <4>;
292*724ba675SRob Herring				};
293*724ba675SRob Herring
294*724ba675SRob Herring				multi-led@7 {
295*724ba675SRob Herring					reg = <0x7>;
296*724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
297*724ba675SRob Herring					function = LED_FUNCTION_LAN;
298*724ba675SRob Herring					function-enumerator = <3>;
299*724ba675SRob Herring				};
300*724ba675SRob Herring
301*724ba675SRob Herring				multi-led@8 {
302*724ba675SRob Herring					reg = <0x8>;
303*724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
304*724ba675SRob Herring					function = LED_FUNCTION_LAN;
305*724ba675SRob Herring					function-enumerator = <2>;
306*724ba675SRob Herring				};
307*724ba675SRob Herring
308*724ba675SRob Herring				multi-led@9 {
309*724ba675SRob Herring					reg = <0x9>;
310*724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
311*724ba675SRob Herring					function = LED_FUNCTION_LAN;
312*724ba675SRob Herring					function-enumerator = <1>;
313*724ba675SRob Herring				};
314*724ba675SRob Herring
315*724ba675SRob Herring				multi-led@a {
316*724ba675SRob Herring					reg = <0xa>;
317*724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
318*724ba675SRob Herring					function = LED_FUNCTION_LAN;
319*724ba675SRob Herring					function-enumerator = <0>;
320*724ba675SRob Herring				};
321*724ba675SRob Herring
322*724ba675SRob Herring				multi-led@b {
323*724ba675SRob Herring					reg = <0xb>;
324*724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
325*724ba675SRob Herring					function = LED_FUNCTION_POWER;
326*724ba675SRob Herring				};
327*724ba675SRob Herring			};
328*724ba675SRob Herring
329*724ba675SRob Herring			eeprom@54 {
330*724ba675SRob Herring				compatible = "atmel,24c64";
331*724ba675SRob Herring				reg = <0x54>;
332*724ba675SRob Herring
333*724ba675SRob Herring				/* The EEPROM contains data for bootloader.
334*724ba675SRob Herring				 * Contents:
335*724ba675SRob Herring				 * 	struct omnia_eeprom {
336*724ba675SRob Herring				 * 		u32 magic; (=0x0341a034 in LE)
337*724ba675SRob Herring				 *		u32 ramsize; (in GiB)
338*724ba675SRob Herring				 * 		char regdomain[4];
339*724ba675SRob Herring				 * 		u32 crc32;
340*724ba675SRob Herring				 * 	};
341*724ba675SRob Herring				 */
342*724ba675SRob Herring			};
343*724ba675SRob Herring		};
344*724ba675SRob Herring
345*724ba675SRob Herring		i2c@1 {
346*724ba675SRob Herring			#address-cells = <1>;
347*724ba675SRob Herring			#size-cells = <0>;
348*724ba675SRob Herring			reg = <1>;
349*724ba675SRob Herring
350*724ba675SRob Herring			/* routed to PCIe0/mSATA connector (CN7A) */
351*724ba675SRob Herring		};
352*724ba675SRob Herring
353*724ba675SRob Herring		i2c@2 {
354*724ba675SRob Herring			#address-cells = <1>;
355*724ba675SRob Herring			#size-cells = <0>;
356*724ba675SRob Herring			reg = <2>;
357*724ba675SRob Herring
358*724ba675SRob Herring			/* routed to PCIe1/USB2 connector (CN61A) */
359*724ba675SRob Herring		};
360*724ba675SRob Herring
361*724ba675SRob Herring		i2c@3 {
362*724ba675SRob Herring			#address-cells = <1>;
363*724ba675SRob Herring			#size-cells = <0>;
364*724ba675SRob Herring			reg = <3>;
365*724ba675SRob Herring
366*724ba675SRob Herring			/* routed to PCIe2 connector (CN62A) */
367*724ba675SRob Herring		};
368*724ba675SRob Herring
369*724ba675SRob Herring		sfp_i2c: i2c@4 {
370*724ba675SRob Herring			#address-cells = <1>;
371*724ba675SRob Herring			#size-cells = <0>;
372*724ba675SRob Herring			reg = <4>;
373*724ba675SRob Herring
374*724ba675SRob Herring			/* routed to SFP+ */
375*724ba675SRob Herring		};
376*724ba675SRob Herring
377*724ba675SRob Herring		i2c@5 {
378*724ba675SRob Herring			#address-cells = <1>;
379*724ba675SRob Herring			#size-cells = <0>;
380*724ba675SRob Herring			reg = <5>;
381*724ba675SRob Herring
382*724ba675SRob Herring			/* ATSHA204A-MAHDA-T crypto module */
383*724ba675SRob Herring			crypto@64 {
384*724ba675SRob Herring				compatible = "atmel,atsha204a";
385*724ba675SRob Herring				reg = <0x64>;
386*724ba675SRob Herring			};
387*724ba675SRob Herring		};
388*724ba675SRob Herring
389*724ba675SRob Herring		i2c@6 {
390*724ba675SRob Herring			#address-cells = <1>;
391*724ba675SRob Herring			#size-cells = <0>;
392*724ba675SRob Herring			reg = <6>;
393*724ba675SRob Herring
394*724ba675SRob Herring			/* exposed on pin header */
395*724ba675SRob Herring		};
396*724ba675SRob Herring
397*724ba675SRob Herring		i2c@7 {
398*724ba675SRob Herring			#address-cells = <1>;
399*724ba675SRob Herring			#size-cells = <0>;
400*724ba675SRob Herring			reg = <7>;
401*724ba675SRob Herring
402*724ba675SRob Herring			pcawan: gpio@71 {
403*724ba675SRob Herring				/*
404*724ba675SRob Herring				 * GPIO expander for SFP+ signals and
405*724ba675SRob Herring				 * and phy irq
406*724ba675SRob Herring				 */
407*724ba675SRob Herring				compatible = "nxp,pca9538";
408*724ba675SRob Herring				reg = <0x71>;
409*724ba675SRob Herring
410*724ba675SRob Herring				pinctrl-names = "default";
411*724ba675SRob Herring				pinctrl-0 = <&pcawan_pins>;
412*724ba675SRob Herring
413*724ba675SRob Herring				interrupt-parent = <&gpio1>;
414*724ba675SRob Herring				interrupts = <14 IRQ_TYPE_LEVEL_LOW>;
415*724ba675SRob Herring
416*724ba675SRob Herring				gpio-controller;
417*724ba675SRob Herring				#gpio-cells = <2>;
418*724ba675SRob Herring			};
419*724ba675SRob Herring		};
420*724ba675SRob Herring	};
421*724ba675SRob Herring};
422*724ba675SRob Herring
423*724ba675SRob Herring&mdio {
424*724ba675SRob Herring	pinctrl-names = "default";
425*724ba675SRob Herring	pinctrl-0 = <&mdio_pins>;
426*724ba675SRob Herring	status = "okay";
427*724ba675SRob Herring
428*724ba675SRob Herring	phy1: ethernet-phy@1 {
429*724ba675SRob Herring		compatible = "ethernet-phy-ieee802.3-c22";
430*724ba675SRob Herring		reg = <1>;
431*724ba675SRob Herring		marvell,reg-init = <3 18 0 0x4985>,
432*724ba675SRob Herring				   <3 16 0xfff0 0x0001>;
433*724ba675SRob Herring
434*724ba675SRob Herring		/* irq is connected to &pcawan pin 7 */
435*724ba675SRob Herring	};
436*724ba675SRob Herring
437*724ba675SRob Herring	/* Switch MV88E6176 at address 0x10 */
438*724ba675SRob Herring	switch@10 {
439*724ba675SRob Herring		pinctrl-names = "default";
440*724ba675SRob Herring		pinctrl-0 = <&swint_pins>;
441*724ba675SRob Herring		compatible = "marvell,mv88e6085";
442*724ba675SRob Herring		#address-cells = <1>;
443*724ba675SRob Herring		#size-cells = <0>;
444*724ba675SRob Herring
445*724ba675SRob Herring		dsa,member = <0 0>;
446*724ba675SRob Herring		reg = <0x10>;
447*724ba675SRob Herring
448*724ba675SRob Herring		interrupt-parent = <&gpio1>;
449*724ba675SRob Herring		interrupts = <13 IRQ_TYPE_LEVEL_LOW>;
450*724ba675SRob Herring
451*724ba675SRob Herring		ports {
452*724ba675SRob Herring			#address-cells = <1>;
453*724ba675SRob Herring			#size-cells = <0>;
454*724ba675SRob Herring
455*724ba675SRob Herring			ports@0 {
456*724ba675SRob Herring				reg = <0>;
457*724ba675SRob Herring				label = "lan0";
458*724ba675SRob Herring			};
459*724ba675SRob Herring
460*724ba675SRob Herring			ports@1 {
461*724ba675SRob Herring				reg = <1>;
462*724ba675SRob Herring				label = "lan1";
463*724ba675SRob Herring			};
464*724ba675SRob Herring
465*724ba675SRob Herring			ports@2 {
466*724ba675SRob Herring				reg = <2>;
467*724ba675SRob Herring				label = "lan2";
468*724ba675SRob Herring			};
469*724ba675SRob Herring
470*724ba675SRob Herring			ports@3 {
471*724ba675SRob Herring				reg = <3>;
472*724ba675SRob Herring				label = "lan3";
473*724ba675SRob Herring			};
474*724ba675SRob Herring
475*724ba675SRob Herring			ports@4 {
476*724ba675SRob Herring				reg = <4>;
477*724ba675SRob Herring				label = "lan4";
478*724ba675SRob Herring			};
479*724ba675SRob Herring
480*724ba675SRob Herring			ports@5 {
481*724ba675SRob Herring				reg = <5>;
482*724ba675SRob Herring				ethernet = <&eth1>;
483*724ba675SRob Herring				phy-mode = "rgmii-id";
484*724ba675SRob Herring
485*724ba675SRob Herring				fixed-link {
486*724ba675SRob Herring					speed = <1000>;
487*724ba675SRob Herring					full-duplex;
488*724ba675SRob Herring				};
489*724ba675SRob Herring			};
490*724ba675SRob Herring
491*724ba675SRob Herring			ports@6 {
492*724ba675SRob Herring				reg = <6>;
493*724ba675SRob Herring				ethernet = <&eth0>;
494*724ba675SRob Herring				phy-mode = "rgmii-id";
495*724ba675SRob Herring
496*724ba675SRob Herring				fixed-link {
497*724ba675SRob Herring					speed = <1000>;
498*724ba675SRob Herring					full-duplex;
499*724ba675SRob Herring				};
500*724ba675SRob Herring			};
501*724ba675SRob Herring		};
502*724ba675SRob Herring	};
503*724ba675SRob Herring};
504*724ba675SRob Herring
505*724ba675SRob Herring&pinctrl {
506*724ba675SRob Herring	pcawan_pins: pcawan-pins {
507*724ba675SRob Herring		marvell,pins = "mpp46";
508*724ba675SRob Herring		marvell,function = "gpio";
509*724ba675SRob Herring	};
510*724ba675SRob Herring
511*724ba675SRob Herring	swint_pins: swint-pins {
512*724ba675SRob Herring		marvell,pins = "mpp45";
513*724ba675SRob Herring		marvell,function = "gpio";
514*724ba675SRob Herring	};
515*724ba675SRob Herring
516*724ba675SRob Herring	spi0cs0_pins: spi0cs0-pins {
517*724ba675SRob Herring		marvell,pins = "mpp25";
518*724ba675SRob Herring		marvell,function = "spi0";
519*724ba675SRob Herring	};
520*724ba675SRob Herring
521*724ba675SRob Herring	spi0cs2_pins: spi0cs2-pins {
522*724ba675SRob Herring		marvell,pins = "mpp26";
523*724ba675SRob Herring		marvell,function = "spi0";
524*724ba675SRob Herring	};
525*724ba675SRob Herring};
526*724ba675SRob Herring
527*724ba675SRob Herring&spi0 {
528*724ba675SRob Herring	pinctrl-names = "default";
529*724ba675SRob Herring	pinctrl-0 = <&spi0_pins &spi0cs0_pins>;
530*724ba675SRob Herring	status = "okay";
531*724ba675SRob Herring
532*724ba675SRob Herring	flash@0 {
533*724ba675SRob Herring		compatible = "spansion,s25fl164k", "jedec,spi-nor";
534*724ba675SRob Herring		#address-cells = <1>;
535*724ba675SRob Herring		#size-cells = <1>;
536*724ba675SRob Herring		reg = <0>;
537*724ba675SRob Herring		spi-max-frequency = <40000000>;
538*724ba675SRob Herring
539*724ba675SRob Herring		partitions {
540*724ba675SRob Herring			compatible = "fixed-partitions";
541*724ba675SRob Herring			#address-cells = <1>;
542*724ba675SRob Herring			#size-cells = <1>;
543*724ba675SRob Herring
544*724ba675SRob Herring			partition@0 {
545*724ba675SRob Herring				reg = <0x0 0x00100000>;
546*724ba675SRob Herring				label = "U-Boot";
547*724ba675SRob Herring			};
548*724ba675SRob Herring
549*724ba675SRob Herring			partition@100000 {
550*724ba675SRob Herring				reg = <0x00100000 0x00700000>;
551*724ba675SRob Herring				label = "Rescue system";
552*724ba675SRob Herring			};
553*724ba675SRob Herring		};
554*724ba675SRob Herring	};
555*724ba675SRob Herring
556*724ba675SRob Herring	/* MISO, MOSI, SCLK and CS2 are routed to pin header CN11 */
557*724ba675SRob Herring};
558*724ba675SRob Herring
559*724ba675SRob Herring&uart0 {
560*724ba675SRob Herring	/* Pin header CN10 */
561*724ba675SRob Herring	pinctrl-names = "default";
562*724ba675SRob Herring	pinctrl-0 = <&uart0_pins>;
563*724ba675SRob Herring	status = "okay";
564*724ba675SRob Herring};
565*724ba675SRob Herring
566*724ba675SRob Herring&uart1 {
567*724ba675SRob Herring	/* Pin header CN11 */
568*724ba675SRob Herring	pinctrl-names = "default";
569*724ba675SRob Herring	pinctrl-0 = <&uart1_pins>;
570*724ba675SRob Herring	status = "okay";
571*724ba675SRob Herring};
572