xref: /openbmc/linux/arch/arm/boot/dts/nxp/vf/vf610-zii-dev-rev-b.dts (revision 5ee9cd065836e5934710ca35653bce7905add20b)
1724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2724ba675SRob Herring/*
3724ba675SRob Herring * Copyright (C) 2015, 2016 Zodiac Inflight Innovations
4724ba675SRob Herring */
5724ba675SRob Herring
6724ba675SRob Herring/dts-v1/;
7724ba675SRob Herring#include "vf610-zii-dev.dtsi"
8724ba675SRob Herring
9724ba675SRob Herring/ {
10724ba675SRob Herring	model = "ZII VF610 Development Board, Rev B";
11724ba675SRob Herring	compatible = "zii,vf610dev-b", "zii,vf610dev", "fsl,vf610";
12724ba675SRob Herring
13724ba675SRob Herring	mdio-mux {
14724ba675SRob Herring		compatible = "mdio-mux-gpio";
15724ba675SRob Herring		pinctrl-0 = <&pinctrl_mdio_mux>;
16724ba675SRob Herring		pinctrl-names = "default";
17724ba675SRob Herring		gpios = <&gpio0 8  GPIO_ACTIVE_HIGH
18724ba675SRob Herring			 &gpio0 9  GPIO_ACTIVE_HIGH
19724ba675SRob Herring			 &gpio0 24 GPIO_ACTIVE_HIGH
20724ba675SRob Herring			 &gpio0 25 GPIO_ACTIVE_HIGH>;
21724ba675SRob Herring		mdio-parent-bus = <&mdio1>;
22724ba675SRob Herring		#address-cells = <1>;
23724ba675SRob Herring		#size-cells = <0>;
24724ba675SRob Herring
25724ba675SRob Herring		mdio_mux_1: mdio@1 {
26724ba675SRob Herring			reg = <1>;
27724ba675SRob Herring			#address-cells = <1>;
28724ba675SRob Herring			#size-cells = <0>;
29724ba675SRob Herring
30724ba675SRob Herring			switch0: switch@0 {
31724ba675SRob Herring				compatible = "marvell,mv88e6085";
32724ba675SRob Herring				pinctrl-0 = <&pinctrl_gpio_switch0>;
33724ba675SRob Herring				pinctrl-names = "default";
34724ba675SRob Herring				reg = <0>;
35724ba675SRob Herring				dsa,member = <0 0>;
36724ba675SRob Herring				interrupt-parent = <&gpio0>;
37724ba675SRob Herring				interrupts = <27 IRQ_TYPE_LEVEL_LOW>;
38724ba675SRob Herring				interrupt-controller;
39724ba675SRob Herring				#interrupt-cells = <2>;
40724ba675SRob Herring				eeprom-length = <512>;
41724ba675SRob Herring
42724ba675SRob Herring				ports {
43724ba675SRob Herring					#address-cells = <1>;
44724ba675SRob Herring					#size-cells = <0>;
45724ba675SRob Herring
46724ba675SRob Herring					port@0 {
47724ba675SRob Herring						reg = <0>;
48724ba675SRob Herring						label = "lan0";
49724ba675SRob Herring						phy-handle = <&switch0phy0>;
50724ba675SRob Herring					};
51724ba675SRob Herring
52724ba675SRob Herring					port@1 {
53724ba675SRob Herring						reg = <1>;
54724ba675SRob Herring						label = "lan1";
55724ba675SRob Herring						phy-handle = <&switch0phy1>;
56724ba675SRob Herring					};
57724ba675SRob Herring
58724ba675SRob Herring					port@2 {
59724ba675SRob Herring						reg = <2>;
60724ba675SRob Herring						label = "lan2";
61724ba675SRob Herring						phy-handle = <&switch0phy2>;
62724ba675SRob Herring					};
63724ba675SRob Herring
64724ba675SRob Herring					switch0port5: port@5 {
65724ba675SRob Herring						reg = <5>;
66724ba675SRob Herring						label = "dsa";
67724ba675SRob Herring						phy-mode = "rgmii-txid";
68724ba675SRob Herring						link = <&switch1port6
69724ba675SRob Herring							&switch2port9>;
70724ba675SRob Herring						fixed-link {
71724ba675SRob Herring							speed = <1000>;
72724ba675SRob Herring							full-duplex;
73724ba675SRob Herring						};
74724ba675SRob Herring					};
75724ba675SRob Herring
76724ba675SRob Herring					port@6 {
77724ba675SRob Herring						reg = <6>;
78724ba675SRob Herring						phy-mode = "rmii";
79724ba675SRob Herring						ethernet = <&fec1>;
80724ba675SRob Herring
81724ba675SRob Herring						fixed-link {
82724ba675SRob Herring							speed = <100>;
83724ba675SRob Herring							full-duplex;
84724ba675SRob Herring						};
85724ba675SRob Herring					};
86724ba675SRob Herring				};
87724ba675SRob Herring				mdio {
88724ba675SRob Herring					#address-cells = <1>;
89724ba675SRob Herring					#size-cells = <0>;
90724ba675SRob Herring					switch0phy0: switch0phy0@0 {
91724ba675SRob Herring						reg = <0>;
92724ba675SRob Herring						interrupt-parent = <&switch0>;
93724ba675SRob Herring						interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
94724ba675SRob Herring					};
95724ba675SRob Herring					switch0phy1: switch1phy0@1 {
96724ba675SRob Herring						reg = <1>;
97724ba675SRob Herring						interrupt-parent = <&switch0>;
98724ba675SRob Herring						interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
99724ba675SRob Herring					};
100724ba675SRob Herring					switch0phy2: switch1phy0@2 {
101724ba675SRob Herring						reg = <2>;
102724ba675SRob Herring						interrupt-parent = <&switch0>;
103724ba675SRob Herring						interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
104724ba675SRob Herring					};
105724ba675SRob Herring				};
106724ba675SRob Herring			};
107724ba675SRob Herring		};
108724ba675SRob Herring
109724ba675SRob Herring		mdio_mux_2: mdio@2 {
110724ba675SRob Herring			reg = <2>;
111724ba675SRob Herring			#address-cells = <1>;
112724ba675SRob Herring			#size-cells = <0>;
113724ba675SRob Herring
114724ba675SRob Herring			switch1: switch@0 {
115724ba675SRob Herring				compatible = "marvell,mv88e6085";
116724ba675SRob Herring				pinctrl-0 = <&pinctrl_gpio_switch1>;
117724ba675SRob Herring				pinctrl-names = "default";
118724ba675SRob Herring				reg = <0>;
119724ba675SRob Herring				dsa,member = <0 1>;
120724ba675SRob Herring				interrupt-parent = <&gpio0>;
121724ba675SRob Herring				interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
122724ba675SRob Herring				interrupt-controller;
123724ba675SRob Herring				#interrupt-cells = <2>;
124724ba675SRob Herring				eeprom-length = <512>;
125724ba675SRob Herring
126724ba675SRob Herring				ports {
127724ba675SRob Herring					#address-cells = <1>;
128724ba675SRob Herring					#size-cells = <0>;
129724ba675SRob Herring
130724ba675SRob Herring					port@0 {
131724ba675SRob Herring						reg = <0>;
132724ba675SRob Herring						label = "lan3";
133724ba675SRob Herring						phy-handle = <&switch1phy0>;
134724ba675SRob Herring					};
135724ba675SRob Herring
136724ba675SRob Herring					port@1 {
137724ba675SRob Herring						reg = <1>;
138724ba675SRob Herring						label = "lan4";
139724ba675SRob Herring						phy-handle = <&switch1phy1>;
140724ba675SRob Herring					};
141724ba675SRob Herring
142724ba675SRob Herring					port@2 {
143724ba675SRob Herring						reg = <2>;
144724ba675SRob Herring						label = "lan5";
145724ba675SRob Herring						phy-handle = <&switch1phy2>;
146724ba675SRob Herring					};
147724ba675SRob Herring
148724ba675SRob Herring					switch1port5: port@5 {
149724ba675SRob Herring						reg = <5>;
150724ba675SRob Herring						label = "dsa";
151724ba675SRob Herring						link = <&switch2port9>;
152724ba675SRob Herring						phy-mode = "1000base-x";
153724ba675SRob Herring
154724ba675SRob Herring						fixed-link {
155724ba675SRob Herring							speed = <1000>;
156724ba675SRob Herring							full-duplex;
157724ba675SRob Herring						};
158724ba675SRob Herring					};
159724ba675SRob Herring
160724ba675SRob Herring					switch1port6: port@6 {
161724ba675SRob Herring						reg = <6>;
162724ba675SRob Herring						label = "dsa";
163724ba675SRob Herring						phy-mode = "rgmii-txid";
164724ba675SRob Herring						link = <&switch0port5>;
165724ba675SRob Herring						fixed-link {
166724ba675SRob Herring							speed = <1000>;
167724ba675SRob Herring							full-duplex;
168724ba675SRob Herring						};
169724ba675SRob Herring					};
170724ba675SRob Herring				};
171724ba675SRob Herring				mdio {
172724ba675SRob Herring					#address-cells = <1>;
173724ba675SRob Herring					#size-cells = <0>;
174724ba675SRob Herring
175724ba675SRob Herring					switch1phy0: switch1phy0@0 {
176724ba675SRob Herring						reg = <0>;
177724ba675SRob Herring						interrupt-parent = <&switch1>;
178724ba675SRob Herring						interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
179724ba675SRob Herring					};
180724ba675SRob Herring
181724ba675SRob Herring					switch1phy1: switch1phy0@1 {
182724ba675SRob Herring						reg = <1>;
183724ba675SRob Herring						interrupt-parent = <&switch1>;
184724ba675SRob Herring						interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
185724ba675SRob Herring					};
186724ba675SRob Herring
187724ba675SRob Herring					switch1phy2: switch1phy0@2 {
188724ba675SRob Herring						reg = <2>;
189724ba675SRob Herring						interrupt-parent = <&switch1>;
190724ba675SRob Herring						interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
191724ba675SRob Herring					};
192724ba675SRob Herring				};
193724ba675SRob Herring			};
194724ba675SRob Herring		};
195724ba675SRob Herring
196724ba675SRob Herring		mdio_mux_4: mdio@4 {
197724ba675SRob Herring			#address-cells = <1>;
198724ba675SRob Herring			#size-cells = <0>;
199724ba675SRob Herring			reg = <4>;
200724ba675SRob Herring
201724ba675SRob Herring			switch2: switch@0 {
202724ba675SRob Herring				compatible = "marvell,mv88e6085";
203724ba675SRob Herring				reg = <0>;
204724ba675SRob Herring				dsa,member = <0 2>;
205724ba675SRob Herring
206724ba675SRob Herring				ports {
207724ba675SRob Herring					#address-cells = <1>;
208724ba675SRob Herring					#size-cells = <0>;
209724ba675SRob Herring
210724ba675SRob Herring					port@0 {
211724ba675SRob Herring						reg = <0>;
212724ba675SRob Herring						label = "lan6";
213724ba675SRob Herring						phy-handle = <&switch2phy0>;
214724ba675SRob Herring						phy-mode = "sgmii";
215724ba675SRob Herring					};
216724ba675SRob Herring
217724ba675SRob Herring					port@1 {
218724ba675SRob Herring						reg = <1>;
219724ba675SRob Herring						label = "lan7";
220724ba675SRob Herring						phy-handle = <&switch2phy1>;
221724ba675SRob Herring						phy-mode = "sgmii";
222724ba675SRob Herring					};
223724ba675SRob Herring
224724ba675SRob Herring					port@2 {
225724ba675SRob Herring						reg = <2>;
226724ba675SRob Herring						label = "lan8";
227724ba675SRob Herring						phy-handle = <&switch2phy2>;
228724ba675SRob Herring					};
229724ba675SRob Herring
230724ba675SRob Herring					port@3 {
231724ba675SRob Herring						reg = <3>;
232724ba675SRob Herring						label = "optical3";
233724ba675SRob Herring
234724ba675SRob Herring						fixed-link {
235724ba675SRob Herring							speed = <1000>;
236724ba675SRob Herring							full-duplex;
237724ba675SRob Herring							link-gpios = <&gpio6 2
238724ba675SRob Herring							      GPIO_ACTIVE_HIGH>;
239724ba675SRob Herring						};
240724ba675SRob Herring					};
241724ba675SRob Herring
242724ba675SRob Herring					port@4 {
243724ba675SRob Herring						reg = <4>;
244724ba675SRob Herring						label = "optical4";
245724ba675SRob Herring
246724ba675SRob Herring						fixed-link {
247724ba675SRob Herring							speed = <1000>;
248724ba675SRob Herring							full-duplex;
249724ba675SRob Herring							link-gpios = <&gpio6 3
250724ba675SRob Herring							      GPIO_ACTIVE_HIGH>;
251724ba675SRob Herring						};
252724ba675SRob Herring					};
253724ba675SRob Herring
254724ba675SRob Herring					switch2port9: port@9 {
255724ba675SRob Herring						reg = <9>;
256724ba675SRob Herring						label = "dsa";
257724ba675SRob Herring						phy-mode = "1000base-x";
258724ba675SRob Herring						link = <&switch1port5
259724ba675SRob Herring							&switch0port5>;
260724ba675SRob Herring
261724ba675SRob Herring						fixed-link {
262724ba675SRob Herring							speed = <1000>;
263724ba675SRob Herring							full-duplex;
264724ba675SRob Herring						};
265724ba675SRob Herring					};
266724ba675SRob Herring				};
267724ba675SRob Herring				mdio {
268724ba675SRob Herring					#address-cells = <1>;
269724ba675SRob Herring					#size-cells = <0>;
270724ba675SRob Herring
271724ba675SRob Herring					switch2phy0: phy@0 {
272724ba675SRob Herring						reg = <0>;
273724ba675SRob Herring					};
274724ba675SRob Herring					switch2phy1: phy@1 {
275724ba675SRob Herring						reg = <1>;
276724ba675SRob Herring					};
277724ba675SRob Herring					switch2phy2: phy@2 {
278724ba675SRob Herring						reg = <2>;
279724ba675SRob Herring					};
280724ba675SRob Herring				};
281724ba675SRob Herring			};
282724ba675SRob Herring		};
283724ba675SRob Herring
284724ba675SRob Herring		mdio_mux_8: mdio@8 {
285724ba675SRob Herring			reg = <8>;
286724ba675SRob Herring			#address-cells = <1>;
287724ba675SRob Herring			#size-cells = <0>;
288724ba675SRob Herring		};
289724ba675SRob Herring	};
290724ba675SRob Herring
291724ba675SRob Herring	spi-0 {
292724ba675SRob Herring		compatible = "spi-gpio";
293724ba675SRob Herring		pinctrl-0 = <&pinctrl_gpio_spi0>;
294724ba675SRob Herring		pinctrl-names = "default";
295724ba675SRob Herring		#address-cells = <1>;
296724ba675SRob Herring		#size-cells = <0>;
297724ba675SRob Herring		sck-gpios  = <&gpio1 12 GPIO_ACTIVE_HIGH>;
298724ba675SRob Herring		mosi-gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>;
299724ba675SRob Herring		miso-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
300724ba675SRob Herring		cs-gpios  = <&gpio1  9 GPIO_ACTIVE_LOW
301724ba675SRob Herring			     &gpio1  8 GPIO_ACTIVE_HIGH>;
302724ba675SRob Herring		num-chipselects = <2>;
303724ba675SRob Herring
304724ba675SRob Herring		flash@0 {
305724ba675SRob Herring			compatible = "m25p128", "jedec,spi-nor";
306724ba675SRob Herring			#address-cells = <1>;
307724ba675SRob Herring			#size-cells = <1>;
308724ba675SRob Herring			reg = <0>;
309724ba675SRob Herring			spi-max-frequency = <1000000>;
310724ba675SRob Herring		};
311724ba675SRob Herring
312724ba675SRob Herring		at93c46d@1 {
313724ba675SRob Herring			compatible = "atmel,at93c46d";
314724ba675SRob Herring			pinctrl-0 = <&pinctrl_gpio_e6185_eeprom_sel>;
315724ba675SRob Herring			pinctrl-names = "default";
316724ba675SRob Herring			reg = <1>;
317724ba675SRob Herring			spi-max-frequency = <500000>;
318724ba675SRob Herring			spi-cs-high;
319724ba675SRob Herring			data-size = <16>;
320724ba675SRob Herring			select-gpios = <&gpio4 4 GPIO_ACTIVE_HIGH>;
321724ba675SRob Herring		};
322724ba675SRob Herring	};
323724ba675SRob Herring};
324724ba675SRob Herring
325724ba675SRob Herring&i2c0 {
326724ba675SRob Herring	gpio5: io-expander@20 {
327724ba675SRob Herring		compatible = "nxp,pca9554";
328724ba675SRob Herring		reg = <0x20>;
329724ba675SRob Herring		gpio-controller;
330724ba675SRob Herring		#gpio-cells = <2>;
331724ba675SRob Herring
332724ba675SRob Herring	};
333724ba675SRob Herring
334724ba675SRob Herring	gpio6: io-expander@22 {
335724ba675SRob Herring		compatible = "nxp,pca9554";
336724ba675SRob Herring		pinctrl-names = "default";
337724ba675SRob Herring		pinctrl-0 = <&pinctrl_pca9554_22>;
338724ba675SRob Herring		reg = <0x22>;
339724ba675SRob Herring		gpio-controller;
340724ba675SRob Herring		#gpio-cells = <2>;
341*ab7e3fe1SRob Herring		#interrupt-cells = <2>;
342724ba675SRob Herring		interrupt-controller;
343724ba675SRob Herring		interrupt-parent = <&gpio3>;
344724ba675SRob Herring		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
345724ba675SRob Herring	};
346724ba675SRob Herring};
347724ba675SRob Herring
348724ba675SRob Herring&i2c2 {
349724ba675SRob Herring	i2c-mux@70 {
350724ba675SRob Herring		compatible = "nxp,pca9548";
351724ba675SRob Herring		pinctrl-0 = <&pinctrl_i2c_mux_reset>;
352724ba675SRob Herring		pinctrl-names = "default";
353724ba675SRob Herring		#address-cells = <1>;
354724ba675SRob Herring		#size-cells = <0>;
355724ba675SRob Herring		reg = <0x70>;
356724ba675SRob Herring		reset-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>;
357724ba675SRob Herring
358724ba675SRob Herring		i2c@0 {
359724ba675SRob Herring			#address-cells = <1>;
360724ba675SRob Herring			#size-cells = <0>;
361724ba675SRob Herring			reg = <0>;
362724ba675SRob Herring
363724ba675SRob Herring			sfp1: eeprom@50 {
364724ba675SRob Herring				compatible = "atmel,24c02";
365724ba675SRob Herring				reg = <0x50>;
366724ba675SRob Herring			};
367724ba675SRob Herring		};
368724ba675SRob Herring
369724ba675SRob Herring		i2c@1 {
370724ba675SRob Herring			#address-cells = <1>;
371724ba675SRob Herring			#size-cells = <0>;
372724ba675SRob Herring			reg = <1>;
373724ba675SRob Herring
374724ba675SRob Herring			sfp2: eeprom@50 {
375724ba675SRob Herring				compatible = "atmel,24c02";
376724ba675SRob Herring				reg = <0x50>;
377724ba675SRob Herring			};
378724ba675SRob Herring		};
379724ba675SRob Herring
380724ba675SRob Herring		i2c@2 {
381724ba675SRob Herring			#address-cells = <1>;
382724ba675SRob Herring			#size-cells = <0>;
383724ba675SRob Herring			reg = <2>;
384724ba675SRob Herring
385724ba675SRob Herring			sfp3: eeprom@50 {
386724ba675SRob Herring				compatible = "atmel,24c02";
387724ba675SRob Herring				reg = <0x50>;
388724ba675SRob Herring			};
389724ba675SRob Herring		};
390724ba675SRob Herring
391724ba675SRob Herring		i2c@3 {
392724ba675SRob Herring			#address-cells = <1>;
393724ba675SRob Herring			#size-cells = <0>;
394724ba675SRob Herring			reg = <3>;
395724ba675SRob Herring
396724ba675SRob Herring			sfp4: eeprom@50 {
397724ba675SRob Herring				compatible = "atmel,24c02";
398724ba675SRob Herring				reg = <0x50>;
399724ba675SRob Herring			};
400724ba675SRob Herring		};
401724ba675SRob Herring
402724ba675SRob Herring		i2c@4 {
403724ba675SRob Herring			#address-cells = <1>;
404724ba675SRob Herring			#size-cells = <0>;
405724ba675SRob Herring			reg = <4>;
406724ba675SRob Herring		};
407724ba675SRob Herring	};
408724ba675SRob Herring};
409724ba675SRob Herring
410724ba675SRob Herring&mdio1 {
411724ba675SRob Herring	clock-frequency = <5000000>;
412724ba675SRob Herring};
413724ba675SRob Herring
414724ba675SRob Herring&iomuxc {
415724ba675SRob Herring	pinctrl_gpio_e6185_eeprom_sel: pinctrl-gpio-e6185-eeprom-spi0 {
416724ba675SRob Herring		fsl,pins = <
417724ba675SRob Herring			VF610_PAD_PTE27__GPIO_132	0x33e2
418724ba675SRob Herring		>;
419724ba675SRob Herring	};
420724ba675SRob Herring
421724ba675SRob Herring	pinctrl_gpio_spi0: pinctrl-gpio-spi0 {
422724ba675SRob Herring		fsl,pins = <
423724ba675SRob Herring			VF610_PAD_PTB22__GPIO_44	0x33e2
424724ba675SRob Herring			VF610_PAD_PTB21__GPIO_43	0x33e2
425724ba675SRob Herring			VF610_PAD_PTB20__GPIO_42	0x33e1
426724ba675SRob Herring			VF610_PAD_PTB19__GPIO_41	0x33e2
427724ba675SRob Herring			VF610_PAD_PTB18__GPIO_40	0x33e2
428724ba675SRob Herring		>;
429724ba675SRob Herring	};
430724ba675SRob Herring
431724ba675SRob Herring	pinctrl_mdio_mux: pinctrl-mdio-mux {
432724ba675SRob Herring		fsl,pins = <
433724ba675SRob Herring			VF610_PAD_PTA18__GPIO_8		0x31c2
434724ba675SRob Herring			VF610_PAD_PTA19__GPIO_9		0x31c2
435724ba675SRob Herring			VF610_PAD_PTB2__GPIO_24		0x31c2
436724ba675SRob Herring			VF610_PAD_PTB3__GPIO_25		0x31c2
437724ba675SRob Herring		>;
438724ba675SRob Herring	};
439724ba675SRob Herring
440724ba675SRob Herring	pinctrl_pca9554_22: pinctrl-pca95540-22 {
441724ba675SRob Herring		fsl,pins = <
442724ba675SRob Herring			VF610_PAD_PTB28__GPIO_98	0x219d
443724ba675SRob Herring		>;
444724ba675SRob Herring	};
445724ba675SRob Herring};
446