xref: /linux/scripts/dtc/include-prefixes/arm/marvell/armada-385-turris-omnia.dts (revision c34e9ab9a612ee8b18273398ef75c207b01f516d)
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
115ade99061SMarek Behún	gpio-keys {
116ade99061SMarek Behún		compatible = "gpio-keys";
117ade99061SMarek Behún
118ade99061SMarek Behún		front-button {
119ade99061SMarek Behún			label = "Front Button";
120ade99061SMarek Behún			linux,code = <KEY_VENDOR>;
121ade99061SMarek Behún			linux,can-disable;
122ade99061SMarek Behún			gpios = <&mcu 0 12 GPIO_ACTIVE_HIGH>;
123ade99061SMarek Behún			/* debouncing is done by the microcontroller */
124ade99061SMarek Behún			debounce-interval = <0>;
125ade99061SMarek Behún		};
126ade99061SMarek Behún	};
127ade99061SMarek Behún
128724ba675SRob Herring	sound {
129724ba675SRob Herring		compatible = "simple-audio-card";
130724ba675SRob Herring		simple-audio-card,name = "SPDIF";
131724ba675SRob Herring		simple-audio-card,format = "i2s";
132724ba675SRob Herring
133724ba675SRob Herring		simple-audio-card,cpu {
134724ba675SRob Herring			sound-dai = <&audio_controller 1>;
135724ba675SRob Herring		};
136724ba675SRob Herring
137724ba675SRob Herring		simple-audio-card,codec {
138724ba675SRob Herring			sound-dai = <&spdif_out>;
139724ba675SRob Herring		};
140724ba675SRob Herring	};
141724ba675SRob Herring
142724ba675SRob Herring	spdif_out: spdif-out {
143724ba675SRob Herring		#sound-dai-cells = <0>;
144724ba675SRob Herring		compatible = "linux,spdif-dit";
145724ba675SRob Herring	};
146724ba675SRob Herring};
147724ba675SRob Herring
148724ba675SRob Herring&audio_controller {
149724ba675SRob Herring	/* Pin header U16, GPIO51 in SPDIFO mode */
150724ba675SRob Herring	pinctrl-0 = <&spdif_pins>;
151724ba675SRob Herring	pinctrl-names = "default";
152724ba675SRob Herring	spdif-mode;
153724ba675SRob Herring	status = "okay";
154724ba675SRob Herring};
155724ba675SRob Herring
156724ba675SRob Herring&bm {
157724ba675SRob Herring	status = "okay";
158724ba675SRob Herring};
159724ba675SRob Herring
160724ba675SRob Herring&bm_bppi {
161724ba675SRob Herring	status = "okay";
162724ba675SRob Herring};
163724ba675SRob Herring
164724ba675SRob Herring/* Connected to 88E6176 switch, port 6 */
165724ba675SRob Herring&eth0 {
166724ba675SRob Herring	pinctrl-names = "default";
167724ba675SRob Herring	pinctrl-0 = <&ge0_rgmii_pins>;
168724ba675SRob Herring	status = "okay";
169724ba675SRob Herring	phy-mode = "rgmii";
170724ba675SRob Herring	buffer-manager = <&bm>;
171724ba675SRob Herring	bm,pool-long = <0>;
172724ba675SRob Herring	bm,pool-short = <3>;
173724ba675SRob Herring
174724ba675SRob Herring	fixed-link {
175724ba675SRob Herring		speed = <1000>;
176724ba675SRob Herring		full-duplex;
177724ba675SRob Herring	};
178724ba675SRob Herring};
179724ba675SRob Herring
180724ba675SRob Herring/* Connected to 88E6176 switch, port 5 */
181724ba675SRob Herring&eth1 {
182724ba675SRob Herring	pinctrl-names = "default";
183724ba675SRob Herring	pinctrl-0 = <&ge1_rgmii_pins>;
184724ba675SRob Herring	status = "okay";
185724ba675SRob Herring	phy-mode = "rgmii";
186724ba675SRob Herring	buffer-manager = <&bm>;
187724ba675SRob Herring	bm,pool-long = <1>;
188724ba675SRob Herring	bm,pool-short = <3>;
189724ba675SRob Herring
190724ba675SRob Herring	fixed-link {
191724ba675SRob Herring		speed = <1000>;
192724ba675SRob Herring		full-duplex;
193724ba675SRob Herring	};
194724ba675SRob Herring};
195724ba675SRob Herring
196724ba675SRob Herring/* WAN port */
197724ba675SRob Herring&eth2 {
198724ba675SRob Herring	/*
199724ba675SRob Herring	 * eth2 is connected via a multiplexor to both the SFP cage and to
200724ba675SRob Herring	 * ethernet-phy@1. The multiplexor switches the signal to SFP cage when
201724ba675SRob Herring	 * a SFP module is present, as determined by the mode-def0 GPIO.
202724ba675SRob Herring	 *
203724ba675SRob Herring	 * Until kernel supports this configuration properly, in case SFP module
204724ba675SRob Herring	 * is present, U-Boot has to enable the sfp node above, remove phy
205724ba675SRob Herring	 * handle and add managed = "in-band-status" property.
206724ba675SRob Herring	 */
207724ba675SRob Herring	status = "okay";
208724ba675SRob Herring	phy-mode = "sgmii";
209724ba675SRob Herring	phy-handle = <&phy1>;
210724ba675SRob Herring	phys = <&comphy5 2>;
211724ba675SRob Herring	sfp = <&sfp>;
212724ba675SRob Herring	buffer-manager = <&bm>;
213724ba675SRob Herring	bm,pool-long = <2>;
214724ba675SRob Herring	bm,pool-short = <3>;
215724ba675SRob Herring	label = "wan";
216724ba675SRob Herring};
217724ba675SRob Herring
218724ba675SRob Herring&i2c0 {
219724ba675SRob Herring	pinctrl-names = "default";
220724ba675SRob Herring	pinctrl-0 = <&i2c0_pins>;
221724ba675SRob Herring	status = "okay";
222724ba675SRob Herring
223724ba675SRob Herring	i2cmux@70 {
224724ba675SRob Herring		compatible = "nxp,pca9547";
225724ba675SRob Herring		#address-cells = <1>;
226724ba675SRob Herring		#size-cells = <0>;
227724ba675SRob Herring		reg = <0x70>;
228724ba675SRob Herring
229724ba675SRob Herring		i2c@0 {
230724ba675SRob Herring			#address-cells = <1>;
231724ba675SRob Herring			#size-cells = <0>;
232724ba675SRob Herring			reg = <0>;
233724ba675SRob Herring
23404515932SMarek Behún			mcu: system-controller@2a {
23504515932SMarek Behún				compatible = "cznic,turris-omnia-mcu";
23604515932SMarek Behún				reg = <0x2a>;
23704515932SMarek Behún
23804515932SMarek Behún				pinctrl-names = "default";
23904515932SMarek Behún				pinctrl-0 = <&mcu_pins>;
24004515932SMarek Behún
24104515932SMarek Behún				interrupt-parent = <&gpio1>;
24204515932SMarek Behún				interrupts = <11 IRQ_TYPE_NONE>;
24304515932SMarek Behún
24404515932SMarek Behún				gpio-controller;
24504515932SMarek Behún				#gpio-cells = <3>;
24604515932SMarek Behún
24704515932SMarek Behún				interrupt-controller;
24804515932SMarek Behún				#interrupt-cells = <2>;
24904515932SMarek Behún			};
250724ba675SRob Herring
251724ba675SRob Herring			led-controller@2b {
252724ba675SRob Herring				compatible = "cznic,turris-omnia-leds";
253724ba675SRob Herring				reg = <0x2b>;
254*68bc6a71SMarek Behún				interrupts-extended = <&mcu 11 IRQ_TYPE_NONE>;
255724ba675SRob Herring				#address-cells = <1>;
256724ba675SRob Herring				#size-cells = <0>;
257724ba675SRob Herring				status = "okay";
258724ba675SRob Herring
259724ba675SRob Herring				/*
260724ba675SRob Herring				 * LEDs are controlled by MCU (STM32F0) at
261724ba675SRob Herring				 * address 0x2b.
262724ba675SRob Herring				 *
263724ba675SRob Herring				 * LED functions are not stable yet:
264724ba675SRob Herring				 * - there are 3 LEDs connected via MCU to PCIe
265724ba675SRob Herring				 *   ports. One of these ports supports mSATA.
266724ba675SRob Herring				 *   There is no mSATA nor PCIe function.
267724ba675SRob Herring				 *   For now we use LED_FUNCTION_WLAN, since
268724ba675SRob Herring				 *   in most cases users have wifi cards in
269724ba675SRob Herring				 *   these slots
270724ba675SRob Herring				 * - there are 2 LEDs dedicated for user: A and
271724ba675SRob Herring				 *   B. Again there is no such function defined.
272724ba675SRob Herring				 *   For now we use LED_FUNCTION_INDICATOR
273724ba675SRob Herring				 */
274724ba675SRob Herring
275724ba675SRob Herring				multi-led@0 {
276724ba675SRob Herring					reg = <0x0>;
277724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
278724ba675SRob Herring					function = LED_FUNCTION_INDICATOR;
279724ba675SRob Herring					function-enumerator = <2>;
280724ba675SRob Herring				};
281724ba675SRob Herring
282724ba675SRob Herring				multi-led@1 {
283724ba675SRob Herring					reg = <0x1>;
284724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
285724ba675SRob Herring					function = LED_FUNCTION_INDICATOR;
286724ba675SRob Herring					function-enumerator = <1>;
287724ba675SRob Herring				};
288724ba675SRob Herring
289724ba675SRob Herring				multi-led@2 {
290724ba675SRob Herring					reg = <0x2>;
291724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
292724ba675SRob Herring					function = LED_FUNCTION_WLAN;
293724ba675SRob Herring					function-enumerator = <3>;
294724ba675SRob Herring				};
295724ba675SRob Herring
296724ba675SRob Herring				multi-led@3 {
297724ba675SRob Herring					reg = <0x3>;
298724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
299724ba675SRob Herring					function = LED_FUNCTION_WLAN;
300724ba675SRob Herring					function-enumerator = <2>;
301724ba675SRob Herring				};
302724ba675SRob Herring
303724ba675SRob Herring				multi-led@4 {
304724ba675SRob Herring					reg = <0x4>;
305724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
306724ba675SRob Herring					function = LED_FUNCTION_WLAN;
307724ba675SRob Herring					function-enumerator = <1>;
308724ba675SRob Herring				};
309724ba675SRob Herring
310724ba675SRob Herring				multi-led@5 {
311724ba675SRob Herring					reg = <0x5>;
312724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
313724ba675SRob Herring					function = LED_FUNCTION_WAN;
314724ba675SRob Herring				};
315724ba675SRob Herring
316724ba675SRob Herring				multi-led@6 {
317724ba675SRob Herring					reg = <0x6>;
318724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
319724ba675SRob Herring					function = LED_FUNCTION_LAN;
320724ba675SRob Herring					function-enumerator = <4>;
321724ba675SRob Herring				};
322724ba675SRob Herring
323724ba675SRob Herring				multi-led@7 {
324724ba675SRob Herring					reg = <0x7>;
325724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
326724ba675SRob Herring					function = LED_FUNCTION_LAN;
327724ba675SRob Herring					function-enumerator = <3>;
328724ba675SRob Herring				};
329724ba675SRob Herring
330724ba675SRob Herring				multi-led@8 {
331724ba675SRob Herring					reg = <0x8>;
332724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
333724ba675SRob Herring					function = LED_FUNCTION_LAN;
334724ba675SRob Herring					function-enumerator = <2>;
335724ba675SRob Herring				};
336724ba675SRob Herring
337724ba675SRob Herring				multi-led@9 {
338724ba675SRob Herring					reg = <0x9>;
339724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
340724ba675SRob Herring					function = LED_FUNCTION_LAN;
341724ba675SRob Herring					function-enumerator = <1>;
342724ba675SRob Herring				};
343724ba675SRob Herring
344724ba675SRob Herring				multi-led@a {
345724ba675SRob Herring					reg = <0xa>;
346724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
347724ba675SRob Herring					function = LED_FUNCTION_LAN;
348724ba675SRob Herring					function-enumerator = <0>;
349724ba675SRob Herring				};
350724ba675SRob Herring
351724ba675SRob Herring				multi-led@b {
352724ba675SRob Herring					reg = <0xb>;
353724ba675SRob Herring					color = <LED_COLOR_ID_RGB>;
354724ba675SRob Herring					function = LED_FUNCTION_POWER;
355724ba675SRob Herring				};
356724ba675SRob Herring			};
357724ba675SRob Herring
358724ba675SRob Herring			eeprom@54 {
359724ba675SRob Herring				compatible = "atmel,24c64";
360724ba675SRob Herring				reg = <0x54>;
361724ba675SRob Herring
362724ba675SRob Herring				/* The EEPROM contains data for bootloader.
363724ba675SRob Herring				 * Contents:
364724ba675SRob Herring				 * 	struct omnia_eeprom {
365724ba675SRob Herring				 * 		u32 magic; (=0x0341a034 in LE)
366724ba675SRob Herring				 *		u32 ramsize; (in GiB)
367724ba675SRob Herring				 * 		char regdomain[4];
368724ba675SRob Herring				 * 		u32 crc32;
369724ba675SRob Herring				 * 	};
370724ba675SRob Herring				 */
371724ba675SRob Herring			};
372724ba675SRob Herring		};
373724ba675SRob Herring
374724ba675SRob Herring		i2c@1 {
375724ba675SRob Herring			#address-cells = <1>;
376724ba675SRob Herring			#size-cells = <0>;
377724ba675SRob Herring			reg = <1>;
378724ba675SRob Herring
379724ba675SRob Herring			/* routed to PCIe0/mSATA connector (CN7A) */
380724ba675SRob Herring		};
381724ba675SRob Herring
382724ba675SRob Herring		i2c@2 {
383724ba675SRob Herring			#address-cells = <1>;
384724ba675SRob Herring			#size-cells = <0>;
385724ba675SRob Herring			reg = <2>;
386724ba675SRob Herring
387724ba675SRob Herring			/* routed to PCIe1/USB2 connector (CN61A) */
388724ba675SRob Herring		};
389724ba675SRob Herring
390724ba675SRob Herring		i2c@3 {
391724ba675SRob Herring			#address-cells = <1>;
392724ba675SRob Herring			#size-cells = <0>;
393724ba675SRob Herring			reg = <3>;
394724ba675SRob Herring
395724ba675SRob Herring			/* routed to PCIe2 connector (CN62A) */
396724ba675SRob Herring		};
397724ba675SRob Herring
398724ba675SRob Herring		sfp_i2c: i2c@4 {
399724ba675SRob Herring			#address-cells = <1>;
400724ba675SRob Herring			#size-cells = <0>;
401724ba675SRob Herring			reg = <4>;
402724ba675SRob Herring
403724ba675SRob Herring			/* routed to SFP+ */
404724ba675SRob Herring		};
405724ba675SRob Herring
406724ba675SRob Herring		i2c@5 {
407724ba675SRob Herring			#address-cells = <1>;
408724ba675SRob Herring			#size-cells = <0>;
409724ba675SRob Herring			reg = <5>;
410724ba675SRob Herring
411724ba675SRob Herring			/* ATSHA204A-MAHDA-T crypto module */
412724ba675SRob Herring			crypto@64 {
413724ba675SRob Herring				compatible = "atmel,atsha204a";
414724ba675SRob Herring				reg = <0x64>;
415724ba675SRob Herring			};
416724ba675SRob Herring		};
417724ba675SRob Herring
418724ba675SRob Herring		i2c@6 {
419724ba675SRob Herring			#address-cells = <1>;
420724ba675SRob Herring			#size-cells = <0>;
421724ba675SRob Herring			reg = <6>;
422724ba675SRob Herring
423724ba675SRob Herring			/* exposed on pin header */
424724ba675SRob Herring		};
425724ba675SRob Herring
426724ba675SRob Herring		i2c@7 {
427724ba675SRob Herring			#address-cells = <1>;
428724ba675SRob Herring			#size-cells = <0>;
429724ba675SRob Herring			reg = <7>;
430724ba675SRob Herring
431724ba675SRob Herring			pcawan: gpio@71 {
432724ba675SRob Herring				/*
433724ba675SRob Herring				 * GPIO expander for SFP+ signals and
434724ba675SRob Herring				 * and phy irq
435724ba675SRob Herring				 */
436724ba675SRob Herring				compatible = "nxp,pca9538";
437724ba675SRob Herring				reg = <0x71>;
438724ba675SRob Herring
439724ba675SRob Herring				pinctrl-names = "default";
440724ba675SRob Herring				pinctrl-0 = <&pcawan_pins>;
441724ba675SRob Herring
442724ba675SRob Herring				interrupt-parent = <&gpio1>;
443724ba675SRob Herring				interrupts = <14 IRQ_TYPE_LEVEL_LOW>;
444724ba675SRob Herring
445724ba675SRob Herring				gpio-controller;
446724ba675SRob Herring				#gpio-cells = <2>;
447724ba675SRob Herring			};
448724ba675SRob Herring		};
449724ba675SRob Herring	};
450724ba675SRob Herring};
451724ba675SRob Herring
452724ba675SRob Herring&mdio {
453724ba675SRob Herring	pinctrl-names = "default";
454724ba675SRob Herring	pinctrl-0 = <&mdio_pins>;
455724ba675SRob Herring	status = "okay";
456724ba675SRob Herring
457724ba675SRob Herring	phy1: ethernet-phy@1 {
458724ba675SRob Herring		compatible = "ethernet-phy-ieee802.3-c22";
459724ba675SRob Herring		reg = <1>;
460724ba675SRob Herring		marvell,reg-init = <3 18 0 0x4985>,
461724ba675SRob Herring				   <3 16 0xfff0 0x0001>;
462724ba675SRob Herring
463724ba675SRob Herring		/* irq is connected to &pcawan pin 7 */
464724ba675SRob Herring	};
465724ba675SRob Herring
466724ba675SRob Herring	/* Switch MV88E6176 at address 0x10 */
4676e75ac5aSLinus Walleij	ethernet-switch@10 {
468724ba675SRob Herring		pinctrl-names = "default";
469724ba675SRob Herring		pinctrl-0 = <&swint_pins>;
470724ba675SRob Herring		compatible = "marvell,mv88e6085";
471724ba675SRob Herring
472724ba675SRob Herring		dsa,member = <0 0>;
473724ba675SRob Herring		reg = <0x10>;
474724ba675SRob Herring
475724ba675SRob Herring		interrupt-parent = <&gpio1>;
476724ba675SRob Herring		interrupts = <13 IRQ_TYPE_LEVEL_LOW>;
477724ba675SRob Herring
4786e75ac5aSLinus Walleij		ethernet-ports {
479724ba675SRob Herring			#address-cells = <1>;
480724ba675SRob Herring			#size-cells = <0>;
481724ba675SRob Herring
4826e75ac5aSLinus Walleij			ethernet-port@0 {
483724ba675SRob Herring				reg = <0>;
484724ba675SRob Herring				label = "lan0";
485724ba675SRob Herring			};
486724ba675SRob Herring
4876e75ac5aSLinus Walleij			ethernet-port@1 {
488724ba675SRob Herring				reg = <1>;
489724ba675SRob Herring				label = "lan1";
490724ba675SRob Herring			};
491724ba675SRob Herring
4926e75ac5aSLinus Walleij			ethernet-port@2 {
493724ba675SRob Herring				reg = <2>;
494724ba675SRob Herring				label = "lan2";
495724ba675SRob Herring			};
496724ba675SRob Herring
4976e75ac5aSLinus Walleij			ethernet-port@3 {
498724ba675SRob Herring				reg = <3>;
499724ba675SRob Herring				label = "lan3";
500724ba675SRob Herring			};
501724ba675SRob Herring
5026e75ac5aSLinus Walleij			ethernet-port@4 {
503724ba675SRob Herring				reg = <4>;
504724ba675SRob Herring				label = "lan4";
505724ba675SRob Herring			};
506724ba675SRob Herring
5076e75ac5aSLinus Walleij			ethernet-port@5 {
508724ba675SRob Herring				reg = <5>;
509724ba675SRob Herring				ethernet = <&eth1>;
510724ba675SRob Herring				phy-mode = "rgmii-id";
511724ba675SRob Herring
512724ba675SRob Herring				fixed-link {
513724ba675SRob Herring					speed = <1000>;
514724ba675SRob Herring					full-duplex;
515724ba675SRob Herring				};
516724ba675SRob Herring			};
517724ba675SRob Herring
5186e75ac5aSLinus Walleij			ethernet-port@6 {
519724ba675SRob Herring				reg = <6>;
520724ba675SRob Herring				ethernet = <&eth0>;
521724ba675SRob Herring				phy-mode = "rgmii-id";
522724ba675SRob Herring
523724ba675SRob Herring				fixed-link {
524724ba675SRob Herring					speed = <1000>;
525724ba675SRob Herring					full-duplex;
526724ba675SRob Herring				};
527724ba675SRob Herring			};
528724ba675SRob Herring		};
529724ba675SRob Herring	};
530724ba675SRob Herring};
531724ba675SRob Herring
532724ba675SRob Herring&pinctrl {
53304515932SMarek Behún	mcu_pins: mcu-pins {
53404515932SMarek Behún		marvell,pins = "mpp43";
53504515932SMarek Behún		marvell,function = "gpio";
53604515932SMarek Behún	};
53704515932SMarek Behún
538724ba675SRob Herring	pcawan_pins: pcawan-pins {
539724ba675SRob Herring		marvell,pins = "mpp46";
540724ba675SRob Herring		marvell,function = "gpio";
541724ba675SRob Herring	};
542724ba675SRob Herring
543724ba675SRob Herring	swint_pins: swint-pins {
544724ba675SRob Herring		marvell,pins = "mpp45";
545724ba675SRob Herring		marvell,function = "gpio";
546724ba675SRob Herring	};
547724ba675SRob Herring
548724ba675SRob Herring	spi0cs0_pins: spi0cs0-pins {
549724ba675SRob Herring		marvell,pins = "mpp25";
550724ba675SRob Herring		marvell,function = "spi0";
551724ba675SRob Herring	};
552724ba675SRob Herring
553724ba675SRob Herring	spi0cs2_pins: spi0cs2-pins {
554724ba675SRob Herring		marvell,pins = "mpp26";
555724ba675SRob Herring		marvell,function = "spi0";
556724ba675SRob Herring	};
557724ba675SRob Herring};
558724ba675SRob Herring
559724ba675SRob Herring&spi0 {
560724ba675SRob Herring	pinctrl-names = "default";
561724ba675SRob Herring	pinctrl-0 = <&spi0_pins &spi0cs0_pins>;
562724ba675SRob Herring	status = "okay";
563724ba675SRob Herring
564724ba675SRob Herring	flash@0 {
565724ba675SRob Herring		compatible = "spansion,s25fl164k", "jedec,spi-nor";
566724ba675SRob Herring		#address-cells = <1>;
567724ba675SRob Herring		#size-cells = <1>;
568724ba675SRob Herring		reg = <0>;
569724ba675SRob Herring		spi-max-frequency = <40000000>;
570724ba675SRob Herring
571724ba675SRob Herring		partitions {
572724ba675SRob Herring			compatible = "fixed-partitions";
573724ba675SRob Herring			#address-cells = <1>;
574724ba675SRob Herring			#size-cells = <1>;
575724ba675SRob Herring
576724ba675SRob Herring			partition@0 {
577724ba675SRob Herring				reg = <0x0 0x00100000>;
578724ba675SRob Herring				label = "U-Boot";
579724ba675SRob Herring			};
580724ba675SRob Herring
581724ba675SRob Herring			partition@100000 {
582724ba675SRob Herring				reg = <0x00100000 0x00700000>;
583724ba675SRob Herring				label = "Rescue system";
584724ba675SRob Herring			};
585724ba675SRob Herring		};
586724ba675SRob Herring	};
587724ba675SRob Herring
588724ba675SRob Herring	/* MISO, MOSI, SCLK and CS2 are routed to pin header CN11 */
589724ba675SRob Herring};
590724ba675SRob Herring
591724ba675SRob Herring&uart0 {
592724ba675SRob Herring	/* Pin header CN10 */
593724ba675SRob Herring	pinctrl-names = "default";
594724ba675SRob Herring	pinctrl-0 = <&uart0_pins>;
595724ba675SRob Herring	status = "okay";
596724ba675SRob Herring};
597724ba675SRob Herring
598724ba675SRob Herring&uart1 {
599724ba675SRob Herring	/* Pin header CN11 */
600724ba675SRob Herring	pinctrl-names = "default";
601724ba675SRob Herring	pinctrl-0 = <&uart1_pins>;
602724ba675SRob Herring	status = "okay";
603724ba675SRob Herring};
604