Linux Audio

Check our new training course

Loading...
v6.2
  1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
  2/*
  3 * Copyright (C) 2015, 2016 Zodiac Inflight Innovations
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  4 */
  5
  6/dts-v1/;
  7#include "vf610-zii-dev.dtsi"
  8
  9/ {
 10	model = "ZII VF610 Development Board, Rev B";
 11	compatible = "zii,vf610dev-b", "zii,vf610dev", "fsl,vf610";
 12
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 13	mdio-mux {
 14		compatible = "mdio-mux-gpio";
 15		pinctrl-0 = <&pinctrl_mdio_mux>;
 16		pinctrl-names = "default";
 17		gpios = <&gpio0 8  GPIO_ACTIVE_HIGH
 18			 &gpio0 9  GPIO_ACTIVE_HIGH
 19			 &gpio0 24 GPIO_ACTIVE_HIGH
 20			 &gpio0 25 GPIO_ACTIVE_HIGH>;
 21		mdio-parent-bus = <&mdio1>;
 22		#address-cells = <1>;
 23		#size-cells = <0>;
 24
 25		mdio_mux_1: mdio@1 {
 26			reg = <1>;
 27			#address-cells = <1>;
 28			#size-cells = <0>;
 29
 30			switch0: switch@0 {
 31				compatible = "marvell,mv88e6085";
 32				pinctrl-0 = <&pinctrl_gpio_switch0>;
 33				pinctrl-names = "default";
 
 
 34				reg = <0>;
 35				dsa,member = <0 0>;
 36				interrupt-parent = <&gpio0>;
 37				interrupts = <27 IRQ_TYPE_LEVEL_LOW>;
 38				interrupt-controller;
 39				#interrupt-cells = <2>;
 40				eeprom-length = <512>;
 41
 42				ports {
 43					#address-cells = <1>;
 44					#size-cells = <0>;
 45
 46					port@0 {
 47						reg = <0>;
 48						label = "lan0";
 49						phy-handle = <&switch0phy0>;
 50					};
 51
 52					port@1 {
 53						reg = <1>;
 54						label = "lan1";
 55						phy-handle = <&switch0phy1>;
 56					};
 57
 58					port@2 {
 59						reg = <2>;
 60						label = "lan2";
 61						phy-handle = <&switch0phy2>;
 62					};
 63
 64					switch0port5: port@5 {
 65						reg = <5>;
 66						label = "dsa";
 67						phy-mode = "rgmii-txid";
 68						link = <&switch1port6
 69							&switch2port9>;
 70						fixed-link {
 71							speed = <1000>;
 72							full-duplex;
 73						};
 74					};
 75
 76					port@6 {
 77						reg = <6>;
 78						label = "cpu";
 79						ethernet = <&fec1>;
 80
 81						fixed-link {
 82							speed = <100>;
 83							full-duplex;
 84						};
 85					};
 86				};
 87				mdio {
 88					#address-cells = <1>;
 89					#size-cells = <0>;
 90					switch0phy0: switch0phy0@0 {
 91						reg = <0>;
 92						interrupt-parent = <&switch0>;
 93						interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
 94					};
 95					switch0phy1: switch1phy0@1 {
 96						reg = <1>;
 97						interrupt-parent = <&switch0>;
 98						interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
 99					};
100					switch0phy2: switch1phy0@2 {
101						reg = <2>;
102						interrupt-parent = <&switch0>;
103						interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
104					};
105				};
106			};
107		};
108
109		mdio_mux_2: mdio@2 {
110			reg = <2>;
111			#address-cells = <1>;
112			#size-cells = <0>;
113
114			switch1: switch@0 {
115				compatible = "marvell,mv88e6085";
116				pinctrl-0 = <&pinctrl_gpio_switch1>;
117				pinctrl-names = "default";
 
 
118				reg = <0>;
119				dsa,member = <0 1>;
120				interrupt-parent = <&gpio0>;
121				interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
122				interrupt-controller;
123				#interrupt-cells = <2>;
124				eeprom-length = <512>;
125
126				ports {
127					#address-cells = <1>;
128					#size-cells = <0>;
129
130					port@0 {
131						reg = <0>;
132						label = "lan3";
133						phy-handle = <&switch1phy0>;
134					};
135
136					port@1 {
137						reg = <1>;
138						label = "lan4";
139						phy-handle = <&switch1phy1>;
140					};
141
142					port@2 {
143						reg = <2>;
144						label = "lan5";
145						phy-handle = <&switch1phy2>;
146					};
147
148					switch1port5: port@5 {
149						reg = <5>;
150						label = "dsa";
151						link = <&switch2port9>;
152						phy-mode = "1000base-x";
153
154						fixed-link {
155							speed = <1000>;
156							full-duplex;
157						};
158					};
159
160					switch1port6: port@6 {
161						reg = <6>;
162						label = "dsa";
163						phy-mode = "rgmii-txid";
164						link = <&switch0port5>;
165						fixed-link {
166							speed = <1000>;
167							full-duplex;
168						};
169					};
170				};
171				mdio {
172					#address-cells = <1>;
173					#size-cells = <0>;
174
175					switch1phy0: switch1phy0@0 {
176						reg = <0>;
177						interrupt-parent = <&switch1>;
178						interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
179					};
180
181					switch1phy1: switch1phy0@1 {
182						reg = <1>;
183						interrupt-parent = <&switch1>;
184						interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
185					};
186
187					switch1phy2: switch1phy0@2 {
188						reg = <2>;
189						interrupt-parent = <&switch1>;
190						interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
191					};
192				};
193			};
194		};
195
196		mdio_mux_4: mdio@4 {
197			#address-cells = <1>;
198			#size-cells = <0>;
199			reg = <4>;
200
201			switch2: switch@0 {
202				compatible = "marvell,mv88e6085";
 
 
203				reg = <0>;
204				dsa,member = <0 2>;
205
206				ports {
207					#address-cells = <1>;
208					#size-cells = <0>;
209
210					port@0 {
211						reg = <0>;
212						label = "lan6";
213						phy-handle = <&switch2phy0>;
214						phy-mode = "sgmii";
215					};
216
217					port@1 {
218						reg = <1>;
219						label = "lan7";
220						phy-handle = <&switch2phy1>;
221						phy-mode = "sgmii";
222					};
223
224					port@2 {
225						reg = <2>;
226						label = "lan8";
227						phy-handle = <&switch2phy2>;
228					};
229
230					port@3 {
231						reg = <3>;
232						label = "optical3";
233
234						fixed-link {
235							speed = <1000>;
236							full-duplex;
237							link-gpios = <&gpio6 2
238							      GPIO_ACTIVE_HIGH>;
239						};
240					};
241
242					port@4 {
243						reg = <4>;
244						label = "optical4";
245
246						fixed-link {
247							speed = <1000>;
248							full-duplex;
249							link-gpios = <&gpio6 3
250							      GPIO_ACTIVE_HIGH>;
251						};
252					};
253
254					switch2port9: port@9 {
255						reg = <9>;
256						label = "dsa";
257						phy-mode = "1000base-x";
258						link = <&switch1port5
259							&switch0port5>;
260
261						fixed-link {
262							speed = <1000>;
263							full-duplex;
264						};
265					};
266				};
267				mdio {
268					#address-cells = <1>;
269					#size-cells = <0>;
270
271					switch2phy0: phy@0 {
272						reg = <0>;
273					};
274					switch2phy1: phy@1 {
275						reg = <1>;
276					};
277					switch2phy2: phy@2 {
278						reg = <2>;
279					};
280				};
281			};
282		};
283
284		mdio_mux_8: mdio@8 {
285			reg = <8>;
286			#address-cells = <1>;
287			#size-cells = <0>;
288		};
289	};
290
291	spi-0 {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
292		compatible = "spi-gpio";
293		pinctrl-0 = <&pinctrl_gpio_spi0>;
294		pinctrl-names = "default";
295		#address-cells = <1>;
296		#size-cells = <0>;
297		gpio-sck  = <&gpio1 12 GPIO_ACTIVE_HIGH>;
298		gpio-mosi = <&gpio1 11 GPIO_ACTIVE_HIGH>;
299		gpio-miso = <&gpio1 10 GPIO_ACTIVE_HIGH>;
300		cs-gpios  = <&gpio1  9 GPIO_ACTIVE_LOW
301			     &gpio1  8 GPIO_ACTIVE_HIGH>;
302		num-chipselects = <2>;
303
304		flash@0 {
305			compatible = "m25p128", "jedec,spi-nor";
306			#address-cells = <1>;
307			#size-cells = <1>;
308			reg = <0>;
309			spi-max-frequency = <1000000>;
310		};
311
312		at93c46d@1 {
313			compatible = "atmel,at93c46d";
314			pinctrl-0 = <&pinctrl_gpio_e6185_eeprom_sel>;
315			pinctrl-names = "default";
 
 
316			reg = <1>;
317			spi-max-frequency = <500000>;
318			spi-cs-high;
319			data-size = <16>;
320			select-gpios = <&gpio4 4 GPIO_ACTIVE_HIGH>;
321		};
322	};
323};
324
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
325&i2c0 {
326	gpio5: io-expander@20 {
 
 
 
 
 
327		compatible = "nxp,pca9554";
328		reg = <0x20>;
329		gpio-controller;
330		#gpio-cells = <2>;
331
332	};
333
334	gpio6: io-expander@22 {
335		compatible = "nxp,pca9554";
336		pinctrl-names = "default";
337		pinctrl-0 = <&pinctrl_pca9554_22>;
338		reg = <0x22>;
339		gpio-controller;
340		#gpio-cells = <2>;
341		interrupt-controller;
342		interrupt-parent = <&gpio3>;
343		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
344	};
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
345};
346
347&i2c2 {
348	i2c-mux@70 {
 
 
 
 
 
349		compatible = "nxp,pca9548";
350		pinctrl-0 = <&pinctrl_i2c_mux_reset>;
351		pinctrl-names = "default";
352		#address-cells = <1>;
353		#size-cells = <0>;
354		reg = <0x70>;
355		reset-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>;
356
357		i2c@0 {
358			#address-cells = <1>;
359			#size-cells = <0>;
360			reg = <0>;
361
362			sfp1: eeprom@50 {
363				compatible = "atmel,24c02";
364				reg = <0x50>;
365			};
366		};
367
368		i2c@1 {
369			#address-cells = <1>;
370			#size-cells = <0>;
371			reg = <1>;
372
373			sfp2: eeprom@50 {
374				compatible = "atmel,24c02";
375				reg = <0x50>;
376			};
377		};
378
379		i2c@2 {
380			#address-cells = <1>;
381			#size-cells = <0>;
382			reg = <2>;
383
384			sfp3: eeprom@50 {
385				compatible = "atmel,24c02";
386				reg = <0x50>;
387			};
388		};
389
390		i2c@3 {
391			#address-cells = <1>;
392			#size-cells = <0>;
393			reg = <3>;
394
395			sfp4: eeprom@50 {
396				compatible = "atmel,24c02";
397				reg = <0x50>;
398			};
399		};
400
401		i2c@4 {
402			#address-cells = <1>;
403			#size-cells = <0>;
404			reg = <4>;
405		};
406	};
407};
408
409&mdio1 {
410	clock-frequency = <5000000>;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
411};
412
413&iomuxc {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
414	pinctrl_gpio_e6185_eeprom_sel: pinctrl-gpio-e6185-eeprom-spi0 {
415		fsl,pins = <
416			VF610_PAD_PTE27__GPIO_132	0x33e2
417		>;
418	};
419
420	pinctrl_gpio_spi0: pinctrl-gpio-spi0 {
421		fsl,pins = <
422			VF610_PAD_PTB22__GPIO_44	0x33e2
423			VF610_PAD_PTB21__GPIO_43	0x33e2
424			VF610_PAD_PTB20__GPIO_42	0x33e1
425			VF610_PAD_PTB19__GPIO_41	0x33e2
426			VF610_PAD_PTB18__GPIO_40	0x33e2
427		>;
428	};
429
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
430	pinctrl_mdio_mux: pinctrl-mdio-mux {
431		fsl,pins = <
432			VF610_PAD_PTA18__GPIO_8		0x31c2
433			VF610_PAD_PTA19__GPIO_9		0x31c2
434			VF610_PAD_PTB2__GPIO_24		0x31c2
435			VF610_PAD_PTB3__GPIO_25		0x31c2
436		>;
437	};
438
439	pinctrl_pca9554_22: pinctrl-pca95540-22 {
440		fsl,pins = <
441			VF610_PAD_PTB28__GPIO_98	0x219d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
442		>;
443	};
444};
v4.10.11
 
  1/*
  2 * Copyright (C) 2015, 2016 Zodiac Inflight Innovations
  3 *
  4 * Based on an original 'vf610-twr.dts' which is Copyright 2015,
  5 * Freescale Semiconductor, Inc.
  6 *
  7 * This file is dual-licensed: you can use it either under the terms
  8 * of the GPL or the X11 license, at your option. Note that this dual
  9 * licensing only applies to this file, and not this project as a
 10 * whole.
 11 *
 12 *  a) This file is free software; you can redistribute it and/or
 13 *     modify it under the terms of the GNU General Public License
 14 *     version 2 as published by the Free Software Foundation.
 15 *
 16 *     This file is distributed in the hope that it will be useful
 17 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
 18 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 19 *     GNU General Public License for more details.
 20 *
 21 * Or, alternatively
 22 *
 23 *  b) Permission is hereby granted, free of charge, to any person
 24 *     obtaining a copy of this software and associated documentation
 25 *     files (the "Software"), to deal in the Software without
 26 *     restriction, including without limitation the rights to use
 27 *     copy, modify, merge, publish, distribute, sublicense, and/or
 28 *     sell copies of the Software, and to permit persons to whom the
 29 *     Software is furnished to do so, subject to the following
 30 *     conditions:
 31 *
 32 *     The above copyright notice and this permission notice shall be
 33 *     included in all copies or substantial portions of the Software.
 34 *
 35 *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
 36 *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 37 *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 38 *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 39 *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
 40 *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 41 *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 42 *     OTHER DEALINGS IN THE SOFTWARE.
 43 */
 44
 45/dts-v1/;
 46#include "vf610.dtsi"
 47
 48/ {
 49	model = "ZII VF610 Development Board, Rev B";
 50	compatible = "zii,vf610dev-b", "zii,vf610dev", "fsl,vf610";
 51
 52	chosen {
 53		stdout-path = "serial0:115200n8";
 54	};
 55
 56	memory {
 57		reg = <0x80000000 0x20000000>;
 58	};
 59
 60	gpio-leds {
 61		compatible = "gpio-leds";
 62		pinctrl-0 = <&pinctrl_leds_debug>;
 63		pinctrl-names = "default";
 64
 65		debug {
 66			label = "zii:green:debug1";
 67			gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>;
 68			linux,default-trigger = "heartbeat";
 69		};
 70	};
 71
 72	mdio-mux {
 73		compatible = "mdio-mux-gpio";
 74		pinctrl-0 = <&pinctrl_mdio_mux>;
 75		pinctrl-names = "default";
 76		gpios = <&gpio0 8  GPIO_ACTIVE_HIGH
 77			 &gpio0 9  GPIO_ACTIVE_HIGH
 78			 &gpio0 24 GPIO_ACTIVE_HIGH
 79			 &gpio0 25 GPIO_ACTIVE_HIGH>;
 80		mdio-parent-bus = <&mdio1>;
 81		#address-cells = <1>;
 82		#size-cells = <0>;
 83
 84		mdio_mux_1: mdio@1 {
 85			reg = <1>;
 86			#address-cells = <1>;
 87			#size-cells = <0>;
 88
 89			switch0: switch0@0 {
 90				compatible = "marvell,mv88e6085";
 91				pinctrl-0 = <&pinctrl_gpio_switch0>;
 92				pinctrl-names = "default";
 93				#address-cells = <1>;
 94				#size-cells = <0>;
 95				reg = <0>;
 96				dsa,member = <0 0>;
 97				interrupt-parent = <&gpio0>;
 98				interrupts = <27 IRQ_TYPE_LEVEL_LOW>;
 99				interrupt-controller;
100				#interrupt-cells = <2>;
 
101
102				ports {
103					#address-cells = <1>;
104					#size-cells = <0>;
 
105					port@0 {
106						reg = <0>;
107						label = "lan0";
108						phy-handle = <&switch0phy0>;
109					};
110
111					port@1 {
112						reg = <1>;
113						label = "lan1";
114						phy-handle = <&switch0phy1>;
115					};
116
117					port@2 {
118						reg = <2>;
119						label = "lan2";
120						phy-handle = <&switch0phy2>;
121					};
122
123					switch0port5: port@5 {
124						reg = <5>;
125						label = "dsa";
126						phy-mode = "rgmii-txid";
127						link = <&switch1port6
128							&switch2port9>;
129						fixed-link {
130							speed = <1000>;
131							full-duplex;
132						};
133					};
134
135					port@6 {
136						reg = <6>;
137						label = "cpu";
138						ethernet = <&fec1>;
 
139						fixed-link {
140							speed = <100>;
141							full-duplex;
142						};
143					};
144				};
145				mdio {
146					#address-cells = <1>;
147					#size-cells = <0>;
148					switch0phy0: switch0phy0@0 {
149						reg = <0>;
150						interrupt-parent = <&switch0>;
151						interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
152					};
153					switch0phy1: switch1phy0@1 {
154						reg = <1>;
155						interrupt-parent = <&switch0>;
156						interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
157					};
158					switch0phy2: switch1phy0@2 {
159						reg = <2>;
160						interrupt-parent = <&switch0>;
161						interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
162					};
163				};
164			};
165		};
166
167		mdio_mux_2: mdio@2 {
168			reg = <2>;
169			#address-cells = <1>;
170			#size-cells = <0>;
171
172			switch1: switch1@0 {
173				compatible = "marvell,mv88e6085";
174				pinctrl-0 = <&pinctrl_gpio_switch1>;
175				pinctrl-names = "default";
176				#address-cells = <1>;
177				#size-cells = <0>;
178				reg = <0>;
179				dsa,member = <0 1>;
180				interrupt-parent = <&gpio0>;
181				interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
182				interrupt-controller;
183				#interrupt-cells = <2>;
 
184
185				ports {
186					#address-cells = <1>;
187					#size-cells = <0>;
 
188					port@0 {
189						reg = <0>;
190						label = "lan3";
191						phy-handle = <&switch1phy0>;
192					};
193
194					port@1 {
195						reg = <1>;
196						label = "lan4";
197						phy-handle = <&switch1phy1>;
198					};
199
200					port@2 {
201						reg = <2>;
202						label = "lan5";
203						phy-handle = <&switch1phy2>;
204					};
205
206					switch1port5: port@5 {
207						reg = <5>;
208						label = "dsa";
209						link = <&switch2port9>;
210						phy-mode = "rgmii-txid";
 
211						fixed-link {
212							speed = <1000>;
213							full-duplex;
214						};
215					};
216
217					switch1port6: port@6 {
218						reg = <6>;
219						label = "dsa";
220						phy-mode = "rgmii-txid";
221						link = <&switch0port5>;
222						fixed-link {
223							speed = <1000>;
224							full-duplex;
225						};
226					};
227				};
228				mdio {
229					#address-cells = <1>;
230					#size-cells = <0>;
 
231					switch1phy0: switch1phy0@0 {
232						reg = <0>;
233						interrupt-parent = <&switch1>;
234						interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
235					};
 
236					switch1phy1: switch1phy0@1 {
237						reg = <1>;
238						interrupt-parent = <&switch1>;
239						interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
240					};
 
241					switch1phy2: switch1phy0@2 {
242						reg = <2>;
243						interrupt-parent = <&switch1>;
244						interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
245					};
246				};
247			};
248		};
249
250		mdio_mux_4: mdio@4 {
251			#address-cells = <1>;
252			#size-cells = <0>;
253			reg = <4>;
254
255			switch2: switch2@0 {
256				compatible = "marvell,mv88e6085";
257				#address-cells = <1>;
258				#size-cells = <0>;
259				reg = <0>;
260				dsa,member = <0 2>;
261
262				ports {
263					#address-cells = <1>;
264					#size-cells = <0>;
 
265					port@0 {
266						reg = <0>;
267						label = "lan6";
 
 
268					};
269
270					port@1 {
271						reg = <1>;
272						label = "lan7";
 
 
273					};
274
275					port@2 {
276						reg = <2>;
277						label = "lan8";
 
278					};
279
280					port@3 {
281						reg = <3>;
282						label = "optical3";
 
283						fixed-link {
284							speed = <1000>;
285							full-duplex;
286							link-gpios = <&gpio6 2
287							      GPIO_ACTIVE_HIGH>;
288						};
289					};
290
291					port@4 {
292						reg = <4>;
293						label = "optical4";
 
294						fixed-link {
295							speed = <1000>;
296							full-duplex;
297							link-gpios = <&gpio6 3
298							      GPIO_ACTIVE_HIGH>;
299						};
300					};
301
302					switch2port9: port@9 {
303						reg = <9>;
304						label = "dsa";
305						phy-mode = "rgmii-txid";
306						link = <&switch1port5
307							&switch0port5>;
 
308						fixed-link {
309							speed = <1000>;
310							full-duplex;
311						};
312					};
313				};
 
 
 
 
 
 
 
 
 
 
 
 
 
 
314			};
315		};
316
317		mdio_mux_8: mdio@8 {
318			reg = <8>;
319			#address-cells = <1>;
320			#size-cells = <0>;
321		};
322	};
323
324	reg_vcc_3v3_mcu: regulator-vcc-3v3-mcu {
325		compatible = "regulator-fixed";
326		regulator-name = "vcc_3v3_mcu";
327		regulator-min-microvolt = <3300000>;
328		regulator-max-microvolt = <3300000>;
329	};
330
331	usb0_vbus: regulator-usb0-vbus {
332		compatible = "regulator-fixed";
333		pinctrl-0 = <&pinctrl_usb_vbus>;
334		regulator-name = "usb_vbus";
335		regulator-min-microvolt = <5000000>;
336		regulator-max-microvolt = <5000000>;
337		enable-active-high;
338		regulator-always-on;
339		regulator-boot-on;
340		gpio = <&gpio0 6 0>;
341	};
342
343	spi0 {
344		compatible = "spi-gpio";
345		pinctrl-0 = <&pinctrl_gpio_spi0>;
346		pinctrl-names = "default";
347		#address-cells = <1>;
348		#size-cells = <0>;
349		gpio-sck  = <&gpio1 12 GPIO_ACTIVE_HIGH>;
350		gpio-mosi = <&gpio1 11 GPIO_ACTIVE_HIGH>;
351		gpio-miso = <&gpio1 10 GPIO_ACTIVE_HIGH>;
352		cs-gpios  = <&gpio1  9 GPIO_ACTIVE_HIGH
353			     &gpio1  8 GPIO_ACTIVE_HIGH>;
354		num-chipselects = <2>;
355
356		m25p128@0 {
357			compatible = "m25p128", "jedec,spi-nor";
358			#address-cells = <1>;
359			#size-cells = <1>;
360			reg = <0>;
361			spi-max-frequency = <1000000>;
362		};
363
364		at93c46d@1 {
365			compatible = "atmel,at93c46d";
366			pinctrl-0 = <&pinctrl_gpio_e6185_eeprom_sel>;
367			pinctrl-names = "default";
368			#address-cells = <0>;
369			#size-cells = <0>;
370			reg = <1>;
371			spi-max-frequency = <500000>;
372			spi-cs-high;
373			data-size = <16>;
374			select-gpios = <&gpio4 4 GPIO_ACTIVE_HIGH>;
375		};
376	};
377};
378
379&adc0 {
380	pinctrl-names = "default";
381	pinctrl-0 = <&pinctrl_adc0_ad5>;
382	vref-supply = <&reg_vcc_3v3_mcu>;
383	status = "okay";
384};
385
386&edma0 {
387	status = "okay";
388};
389
390&esdhc1 {
391	pinctrl-names = "default";
392	pinctrl-0 = <&pinctrl_esdhc1>;
393	bus-width = <4>;
394	status = "okay";
395};
396
397&fec0 {
398	phy-mode = "rmii";
399	pinctrl-names = "default";
400	pinctrl-0 = <&pinctrl_fec0>;
401	status = "okay";
402};
403
404&fec1 {
405	phy-mode = "rmii";
406	pinctrl-names = "default";
407	pinctrl-0 = <&pinctrl_fec1>;
408	status = "okay";
409
410	fixed-link {
411		   speed = <100>;
412		   full-duplex;
413	};
414
415	mdio1: mdio {
416		#address-cells = <1>;
417		#size-cells = <0>;
418		status = "okay";
419	};
420};
421
422&i2c0 {
423	clock-frequency = <100000>;
424	pinctrl-names = "default";
425	pinctrl-0 = <&pinctrl_i2c0>;
426	status = "okay";
427
428	gpio5: pca9554@20 {
429		compatible = "nxp,pca9554";
430		reg = <0x20>;
431		gpio-controller;
432		#gpio-cells = <2>;
433
434	};
435
436	gpio6: pca9554@22 {
437		compatible = "nxp,pca9554";
438		pinctrl-names = "default";
439		pinctrl-0 = <&pinctrl_pca9554_22>;
440		reg = <0x22>;
441		gpio-controller;
442		#gpio-cells = <2>;
443		interrupt-parent = <&gpio2>;
 
444		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
445	};
446
447	lm75@48 {
448		compatible = "national,lm75";
449		reg = <0x48>;
450	};
451
452	at24c04@50 {
453		compatible = "atmel,24c04";
454		reg = <0x50>;
455	};
456
457	at24c04@52 {
458		compatible = "atmel,24c04";
459		reg = <0x52>;
460	};
461
462	ds1682@6b {
463		compatible = "dallas,ds1682";
464		reg = <0x6b>;
465	};
466};
467
468&i2c1 {
469	clock-frequency = <100000>;
470	pinctrl-names = "default";
471	pinctrl-0 = <&pinctrl_i2c1>;
472	status = "okay";
473};
474
475&i2c2 {
476	clock-frequency = <100000>;
477	pinctrl-names = "default";
478	pinctrl-0 = <&pinctrl_i2c2>;
479	status = "okay";
480
481	tca9548@70 {
482		compatible = "nxp,pca9548";
483		pinctrl-0 = <&pinctrl_i2c_mux_reset>;
484		pinctrl-names = "default";
485		#address-cells = <1>;
486		#size-cells = <0>;
487		reg = <0x70>;
488		reset-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>;
489
490		i2c@0 {
491			#address-cells = <1>;
492			#size-cells = <0>;
493			reg = <0>;
494
495			sfp1: at24c04@50 {
496				compatible = "atmel,24c02";
497				reg = <0x50>;
498			};
499		};
500
501		i2c@1 {
502			#address-cells = <1>;
503			#size-cells = <0>;
504			reg = <1>;
505
506			sfp2: at24c04@50 {
507				compatible = "atmel,24c02";
508				reg = <0x50>;
509			};
510		};
511
512		i2c@2 {
513			#address-cells = <1>;
514			#size-cells = <0>;
515			reg = <2>;
516
517			sfp3: at24c04@50 {
518				compatible = "atmel,24c02";
519				reg = <0x50>;
520			};
521		};
522
523		i2c@3 {
524			#address-cells = <1>;
525			#size-cells = <0>;
526			reg = <3>;
527
528			sfp4: at24c04@50 {
529				compatible = "atmel,24c02";
530				reg = <0x50>;
531			};
532		};
533
534		i2c@4 {
535			#address-cells = <1>;
536			#size-cells = <0>;
537			reg = <4>;
538		};
539	};
540};
541
542&uart0 {
543	pinctrl-names = "default";
544	pinctrl-0 = <&pinctrl_uart0>;
545	status = "okay";
546};
547
548&uart1 {
549	pinctrl-names = "default";
550	pinctrl-0 = <&pinctrl_uart1>;
551	status = "okay";
552};
553
554&uart2 {
555	pinctrl-names = "default";
556	pinctrl-0 = <&pinctrl_uart2>;
557	status = "okay";
558};
559
560&usbdev0 {
561	disable-over-current;
562	vbus-supply = <&usb0_vbus>;
563	dr_mode = "host";
564	status = "okay";
565};
566
567&usbh1 {
568	disable-over-current;
569	status = "okay";
570};
571
572&usbmisc0 {
573	status = "okay";
574};
575
576&usbmisc1 {
577	status = "okay";
578};
579
580&usbphy0 {
581	status = "okay";
582};
583
584&usbphy1 {
585	status = "okay";
586};
587
588&iomuxc {
589	pinctrl_adc0_ad5: adc0ad5grp {
590		fsl,pins = <
591			VF610_PAD_PTC30__ADC0_SE5	0x00a1
592		>;
593	};
594
595	pinctrl_dspi0: dspi0grp {
596		fsl,pins = <
597			VF610_PAD_PTB18__DSPI0_CS1	0x1182
598			VF610_PAD_PTB19__DSPI0_CS0	0x1182
599			VF610_PAD_PTB20__DSPI0_SIN	0x1181
600			VF610_PAD_PTB21__DSPI0_SOUT	0x1182
601			VF610_PAD_PTB22__DSPI0_SCK	0x1182
602		>;
603	};
604
605	pinctrl_dspi2: dspi2grp {
606		fsl,pins = <
607			VF610_PAD_PTD31__DSPI2_CS1	0x1182
608			VF610_PAD_PTD30__DSPI2_CS0	0x1182
609			VF610_PAD_PTD29__DSPI2_SIN	0x1181
610			VF610_PAD_PTD28__DSPI2_SOUT	0x1182
611			VF610_PAD_PTD27__DSPI2_SCK	0x1182
612		>;
613	};
614
615	pinctrl_esdhc1: esdhc1grp {
616		fsl,pins = <
617			VF610_PAD_PTA24__ESDHC1_CLK	0x31ef
618			VF610_PAD_PTA25__ESDHC1_CMD	0x31ef
619			VF610_PAD_PTA26__ESDHC1_DAT0	0x31ef
620			VF610_PAD_PTA27__ESDHC1_DAT1	0x31ef
621			VF610_PAD_PTA28__ESDHC1_DATA2	0x31ef
622			VF610_PAD_PTA29__ESDHC1_DAT3	0x31ef
623			VF610_PAD_PTA7__GPIO_134	0x219d
624		>;
625	};
626
627	pinctrl_fec0: fec0grp {
628		fsl,pins = <
629			VF610_PAD_PTC0__ENET_RMII0_MDC	0x30d2
630			VF610_PAD_PTC1__ENET_RMII0_MDIO	0x30d3
631			VF610_PAD_PTC2__ENET_RMII0_CRS	0x30d1
632			VF610_PAD_PTC3__ENET_RMII0_RXD1	0x30d1
633			VF610_PAD_PTC4__ENET_RMII0_RXD0	0x30d1
634			VF610_PAD_PTC5__ENET_RMII0_RXER	0x30d1
635			VF610_PAD_PTC6__ENET_RMII0_TXD1	0x30d2
636			VF610_PAD_PTC7__ENET_RMII0_TXD0	0x30d2
637			VF610_PAD_PTC8__ENET_RMII0_TXEN	0x30d2
638		>;
639	};
640
641	pinctrl_fec1: fec1grp {
642		fsl,pins = <
643			VF610_PAD_PTA6__RMII_CLKIN		0x30d1
644			VF610_PAD_PTC9__ENET_RMII1_MDC		0x30d2
645			VF610_PAD_PTC10__ENET_RMII1_MDIO	0x30d3
646			VF610_PAD_PTC11__ENET_RMII1_CRS		0x30d1
647			VF610_PAD_PTC12__ENET_RMII1_RXD1	0x30d1
648			VF610_PAD_PTC13__ENET_RMII1_RXD0	0x30d1
649			VF610_PAD_PTC14__ENET_RMII1_RXER	0x30d1
650			VF610_PAD_PTC15__ENET_RMII1_TXD1	0x30d2
651			VF610_PAD_PTC16__ENET_RMII1_TXD0	0x30d2
652			VF610_PAD_PTC17__ENET_RMII1_TXEN	0x30d2
653		>;
654	};
655
656	pinctrl_gpio_e6185_eeprom_sel: pinctrl-gpio-e6185-eeprom-spi0 {
657		fsl,pins = <
658			VF610_PAD_PTE27__GPIO_132	0x33e2
659		>;
660	};
661
662	pinctrl_gpio_spi0: pinctrl-gpio-spi0 {
663		fsl,pins = <
664			VF610_PAD_PTB22__GPIO_44	0x33e2
665			VF610_PAD_PTB21__GPIO_43	0x33e2
666			VF610_PAD_PTB20__GPIO_42	0x33e1
667			VF610_PAD_PTB19__GPIO_41	0x33e2
668			VF610_PAD_PTB18__GPIO_40	0x33e2
669		>;
670	};
671
672	pinctrl_gpio_switch0: pinctrl-gpio-switch0 {
673		fsl,pins = <
674			VF610_PAD_PTB5__GPIO_27		0x219d
675		>;
676	};
677
678	pinctrl_gpio_switch1: pinctrl-gpio-switch1 {
679		fsl,pins = <
680			VF610_PAD_PTB4__GPIO_26		0x219d
681		>;
682	};
683
684	pinctrl_i2c_mux_reset: pinctrl-i2c-mux-reset {
685		fsl,pins = <
686			 VF610_PAD_PTE14__GPIO_119	0x31c2
687			 >;
688	};
689
690	pinctrl_i2c0: i2c0grp {
691		fsl,pins = <
692			VF610_PAD_PTB14__I2C0_SCL	0x37ff
693			VF610_PAD_PTB15__I2C0_SDA	0x37ff
694		>;
695	};
696
697	pinctrl_i2c1: i2c1grp {
698		fsl,pins = <
699			VF610_PAD_PTB16__I2C1_SCL	0x37ff
700			VF610_PAD_PTB17__I2C1_SDA	0x37ff
701		>;
702	};
703
704	pinctrl_i2c2: i2c2grp {
705		fsl,pins = <
706			VF610_PAD_PTA22__I2C2_SCL	0x37ff
707			VF610_PAD_PTA23__I2C2_SDA	0x37ff
708		>;
709	};
710
711	pinctrl_leds_debug: pinctrl-leds-debug {
712		fsl,pins = <
713			 VF610_PAD_PTD20__GPIO_74	0x31c2
714			 >;
715	};
716
717	pinctrl_mdio_mux: pinctrl-mdio-mux {
718		fsl,pins = <
719			VF610_PAD_PTA18__GPIO_8		0x31c2
720			VF610_PAD_PTA19__GPIO_9		0x31c2
721			VF610_PAD_PTB2__GPIO_24		0x31c2
722			VF610_PAD_PTB3__GPIO_25		0x31c2
723		>;
724	};
725
726	pinctrl_pca9554_22: pinctrl-pca95540-22 {
727		fsl,pins = <
728			VF610_PAD_PTB28__GPIO_98	0x219d
729		>;
730	};
731
732	pinctrl_pwm0: pwm0grp {
733		fsl,pins = <
734			VF610_PAD_PTB0__FTM0_CH0	0x1582
735			VF610_PAD_PTB1__FTM0_CH1	0x1582
736			VF610_PAD_PTB2__FTM0_CH2	0x1582
737			VF610_PAD_PTB3__FTM0_CH3	0x1582
738		>;
739	};
740
741	pinctrl_qspi0: qspi0grp {
742		fsl,pins = <
743			VF610_PAD_PTD7__QSPI0_B_QSCK	0x31c3
744			VF610_PAD_PTD8__QSPI0_B_CS0	0x31ff
745			VF610_PAD_PTD9__QSPI0_B_DATA3	0x31c3
746			VF610_PAD_PTD10__QSPI0_B_DATA2	0x31c3
747			VF610_PAD_PTD11__QSPI0_B_DATA1	0x31c3
748			VF610_PAD_PTD12__QSPI0_B_DATA0	0x31c3
749		>;
750	};
751
752	pinctrl_uart0: uart0grp {
753		fsl,pins = <
754			VF610_PAD_PTB10__UART0_TX	0x21a2
755			VF610_PAD_PTB11__UART0_RX	0x21a1
756		>;
757	};
758
759	pinctrl_uart1: uart1grp {
760		fsl,pins = <
761			VF610_PAD_PTB23__UART1_TX	0x21a2
762			VF610_PAD_PTB24__UART1_RX	0x21a1
763		>;
764	};
765
766	pinctrl_uart2: uart2grp {
767		fsl,pins = <
768			VF610_PAD_PTD0__UART2_TX	0x21a2
769			VF610_PAD_PTD1__UART2_RX	0x21a1
770		>;
771	};
772
773	pinctrl_usb_vbus: pinctrl-usb-vbus {
774		fsl,pins = <
775			VF610_PAD_PTA16__GPIO_6	0x31c2
776		>;
777	};
778
779	pinctrl_usb0_host: usb0-host-grp {
780		fsl,pins = <
781			VF610_PAD_PTD6__GPIO_85		0x0062
782		>;
783	};
784};