1724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2724ba675SRob Herring//
3724ba675SRob Herring// Copyright 2013 Freescale Semiconductor, Inc.
4724ba675SRob Herring
5724ba675SRob Herring/dts-v1/;
6724ba675SRob Herring#include "vf610.dtsi"
7724ba675SRob Herring
8724ba675SRob Herring/ {
9724ba675SRob Herring	model = "VF610 Tower Board";
10724ba675SRob Herring	compatible = "fsl,vf610-twr", "fsl,vf610";
11724ba675SRob Herring
12724ba675SRob Herring	chosen {
13724ba675SRob Herring		bootargs = "console=ttyLP1,115200";
14724ba675SRob Herring	};
15724ba675SRob Herring
16724ba675SRob Herring	memory@80000000 {
17724ba675SRob Herring		device_type = "memory";
18724ba675SRob Herring		reg = <0x80000000 0x8000000>;
19724ba675SRob Herring	};
20724ba675SRob Herring
21724ba675SRob Herring	audio_ext: mclk_osc {
22724ba675SRob Herring		compatible = "fixed-clock";
23724ba675SRob Herring		#clock-cells = <0>;
24724ba675SRob Herring		clock-frequency = <24576000>;
25724ba675SRob Herring	};
26724ba675SRob Herring
27724ba675SRob Herring	enet_ext: eth_osc {
28724ba675SRob Herring		compatible = "fixed-clock";
29724ba675SRob Herring		#clock-cells = <0>;
30724ba675SRob Herring		clock-frequency = <50000000>;
31724ba675SRob Herring	};
32724ba675SRob Herring
33724ba675SRob Herring
34*ec20d468SFabio Estevam	reg_3p3v: regulator-3p3v {
35724ba675SRob Herring		compatible = "regulator-fixed";
36724ba675SRob Herring		regulator-name = "3P3V";
37724ba675SRob Herring		regulator-min-microvolt = <3300000>;
38724ba675SRob Herring		regulator-max-microvolt = <3300000>;
39724ba675SRob Herring		regulator-always-on;
40724ba675SRob Herring	};
41724ba675SRob Herring
42*ec20d468SFabio Estevam	reg_vcc_3v3_mcu: regulator-vcc-3v3-mcu {
43724ba675SRob Herring		compatible = "regulator-fixed";
44724ba675SRob Herring		regulator-name = "vcc_3v3_mcu";
45724ba675SRob Herring		regulator-min-microvolt = <3300000>;
46724ba675SRob Herring		regulator-max-microvolt = <3300000>;
47724ba675SRob Herring	};
48724ba675SRob Herring
49724ba675SRob Herring	sound {
50724ba675SRob Herring		compatible = "simple-audio-card";
51724ba675SRob Herring		simple-audio-card,format = "i2s";
52724ba675SRob Herring		simple-audio-card,widgets =
53724ba675SRob Herring			"Microphone", "Microphone Jack",
54724ba675SRob Herring			"Headphone", "Headphone Jack",
55724ba675SRob Herring			"Speaker", "Speaker Ext",
56724ba675SRob Herring			"Line", "Line In Jack";
57724ba675SRob Herring		simple-audio-card,routing =
58724ba675SRob Herring			"MIC_IN", "Microphone Jack",
59724ba675SRob Herring			"Microphone Jack", "Mic Bias",
60724ba675SRob Herring			"LINE_IN", "Line In Jack",
61724ba675SRob Herring			"Headphone Jack", "HP_OUT",
62724ba675SRob Herring			"Speaker Ext", "LINE_OUT";
63724ba675SRob Herring
64724ba675SRob Herring		simple-audio-card,cpu {
65724ba675SRob Herring			sound-dai = <&sai2>;
66724ba675SRob Herring			frame-master;
67724ba675SRob Herring			bitclock-master;
68724ba675SRob Herring		};
69724ba675SRob Herring
70724ba675SRob Herring		simple-audio-card,codec {
71724ba675SRob Herring			sound-dai = <&codec>;
72724ba675SRob Herring			frame-master;
73724ba675SRob Herring			bitclock-master;
74724ba675SRob Herring		};
75724ba675SRob Herring	};
76724ba675SRob Herring};
77724ba675SRob Herring
78724ba675SRob Herring&adc0 {
79724ba675SRob Herring	pinctrl-names = "default";
80724ba675SRob Herring	pinctrl-0 = <&pinctrl_adc0_ad5>;
81724ba675SRob Herring	vref-supply = <&reg_vcc_3v3_mcu>;
82724ba675SRob Herring	status = "okay";
83724ba675SRob Herring};
84724ba675SRob Herring
85724ba675SRob Herring&clks {
86724ba675SRob Herring	clocks = <&sxosc>, <&fxosc>, <&enet_ext>, <&audio_ext>;
87724ba675SRob Herring	clock-names = "sxosc", "fxosc", "enet_ext", "audio_ext";
88724ba675SRob Herring	assigned-clocks = <&clks VF610_CLK_ENET_SEL>,
89724ba675SRob Herring			  <&clks VF610_CLK_ENET_TS_SEL>;
90724ba675SRob Herring	assigned-clock-parents = <&clks VF610_CLK_ENET_EXT>,
91724ba675SRob Herring				 <&clks VF610_CLK_ENET_EXT>;
92724ba675SRob Herring};
93724ba675SRob Herring
94724ba675SRob Herring&dspi0 {
95724ba675SRob Herring	bus-num = <0>;
96724ba675SRob Herring	pinctrl-names = "default";
97724ba675SRob Herring	pinctrl-0 = <&pinctrl_dspi0>;
98724ba675SRob Herring	status = "okay";
99724ba675SRob Herring
100724ba675SRob Herring	sflash: at26df081a@0 {
101724ba675SRob Herring		#address-cells = <1>;
102724ba675SRob Herring		#size-cells = <1>;
103724ba675SRob Herring		compatible = "atmel,at26df081a";
104724ba675SRob Herring		spi-max-frequency = <16000000>;
105724ba675SRob Herring		spi-cpol;
106724ba675SRob Herring		spi-cpha;
107724ba675SRob Herring		reg = <0>;
108724ba675SRob Herring	};
109724ba675SRob Herring};
110724ba675SRob Herring
111724ba675SRob Herring&edma0 {
112724ba675SRob Herring	status = "okay";
113724ba675SRob Herring};
114724ba675SRob Herring
115724ba675SRob Herring&esdhc1 {
116724ba675SRob Herring	pinctrl-names = "default";
117724ba675SRob Herring	pinctrl-0 = <&pinctrl_esdhc1>;
118724ba675SRob Herring	bus-width = <4>;
119724ba675SRob Herring	cd-gpios = <&gpio4 6 GPIO_ACTIVE_LOW>;
120724ba675SRob Herring	status = "okay";
121724ba675SRob Herring};
122724ba675SRob Herring
123724ba675SRob Herring&fec0 {
124724ba675SRob Herring	phy-mode = "rmii";
125724ba675SRob Herring	phy-handle = <&ethphy0>;
126724ba675SRob Herring	pinctrl-names = "default";
127724ba675SRob Herring	pinctrl-0 = <&pinctrl_fec0>;
128724ba675SRob Herring	status = "okay";
129724ba675SRob Herring
130724ba675SRob Herring	mdio {
131724ba675SRob Herring		#address-cells = <1>;
132724ba675SRob Herring		#size-cells = <0>;
133724ba675SRob Herring
134724ba675SRob Herring		ethphy0: ethernet-phy@0 {
135724ba675SRob Herring			reg = <0>;
136724ba675SRob Herring		};
137724ba675SRob Herring
138724ba675SRob Herring		ethphy1: ethernet-phy@1 {
139724ba675SRob Herring			reg = <1>;
140724ba675SRob Herring		};
141724ba675SRob Herring	};
142724ba675SRob Herring};
143724ba675SRob Herring
144724ba675SRob Herring&fec1 {
145724ba675SRob Herring	phy-mode = "rmii";
146724ba675SRob Herring	phy-handle = <&ethphy1>;
147724ba675SRob Herring	pinctrl-names = "default";
148724ba675SRob Herring	pinctrl-0 = <&pinctrl_fec1>;
149724ba675SRob Herring	status = "okay";
150724ba675SRob Herring};
151724ba675SRob Herring
152724ba675SRob Herring&i2c0 {
153724ba675SRob Herring	clock-frequency = <100000>;
154724ba675SRob Herring	pinctrl-names = "default";
155724ba675SRob Herring	pinctrl-0 = <&pinctrl_i2c0>;
156724ba675SRob Herring	status = "okay";
157724ba675SRob Herring
158724ba675SRob Herring	codec: sgtl5000@a {
159724ba675SRob Herring	       #sound-dai-cells = <0>;
160724ba675SRob Herring	       compatible = "fsl,sgtl5000";
161724ba675SRob Herring	       reg = <0x0a>;
162724ba675SRob Herring	       VDDA-supply = <&reg_3p3v>;
163724ba675SRob Herring	       VDDIO-supply = <&reg_3p3v>;
164724ba675SRob Herring	       clocks = <&clks VF610_CLK_SAI2>;
165724ba675SRob Herring	};
166724ba675SRob Herring};
167724ba675SRob Herring
168724ba675SRob Herring&iomuxc {
169724ba675SRob Herring	vf610-twr {
170724ba675SRob Herring		pinctrl_adc0_ad5: adc0ad5grp {
171724ba675SRob Herring			fsl,pins = <
172724ba675SRob Herring				VF610_PAD_PTC30__ADC0_SE5		0xa1
173724ba675SRob Herring			>;
174724ba675SRob Herring		};
175724ba675SRob Herring
176724ba675SRob Herring		pinctrl_dspi0: dspi0grp {
177724ba675SRob Herring			fsl,pins = <
178724ba675SRob Herring				VF610_PAD_PTB19__DSPI0_CS0		0x1182
179724ba675SRob Herring				VF610_PAD_PTB20__DSPI0_SIN		0x1181
180724ba675SRob Herring				VF610_PAD_PTB21__DSPI0_SOUT		0x1182
181724ba675SRob Herring				VF610_PAD_PTB22__DSPI0_SCK		0x1182
182724ba675SRob Herring			>;
183724ba675SRob Herring		};
184724ba675SRob Herring
185724ba675SRob Herring		pinctrl_esdhc1: esdhc1grp {
186724ba675SRob Herring			fsl,pins = <
187724ba675SRob Herring				VF610_PAD_PTA24__ESDHC1_CLK	0x31ef
188724ba675SRob Herring				VF610_PAD_PTA25__ESDHC1_CMD	0x31ef
189724ba675SRob Herring				VF610_PAD_PTA26__ESDHC1_DAT0	0x31ef
190724ba675SRob Herring				VF610_PAD_PTA27__ESDHC1_DAT1	0x31ef
191724ba675SRob Herring				VF610_PAD_PTA28__ESDHC1_DATA2	0x31ef
192724ba675SRob Herring				VF610_PAD_PTA29__ESDHC1_DAT3	0x31ef
193724ba675SRob Herring				VF610_PAD_PTA7__GPIO_134	0x219d
194724ba675SRob Herring			>;
195724ba675SRob Herring		};
196724ba675SRob Herring
197724ba675SRob Herring		pinctrl_fec0: fec0grp {
198724ba675SRob Herring			fsl,pins = <
199724ba675SRob Herring				VF610_PAD_PTA6__RMII_CLKIN		0x30d1
200724ba675SRob Herring				VF610_PAD_PTC0__ENET_RMII0_MDC		0x30d3
201724ba675SRob Herring				VF610_PAD_PTC1__ENET_RMII0_MDIO		0x30d1
202724ba675SRob Herring				VF610_PAD_PTC2__ENET_RMII0_CRS		0x30d1
203724ba675SRob Herring				VF610_PAD_PTC3__ENET_RMII0_RXD1		0x30d1
204724ba675SRob Herring				VF610_PAD_PTC4__ENET_RMII0_RXD0		0x30d1
205724ba675SRob Herring				VF610_PAD_PTC5__ENET_RMII0_RXER		0x30d1
206724ba675SRob Herring				VF610_PAD_PTC6__ENET_RMII0_TXD1		0x30d2
207724ba675SRob Herring				VF610_PAD_PTC7__ENET_RMII0_TXD0		0x30d2
208724ba675SRob Herring				VF610_PAD_PTC8__ENET_RMII0_TXEN		0x30d2
209724ba675SRob Herring			>;
210724ba675SRob Herring		};
211724ba675SRob Herring
212724ba675SRob Herring		pinctrl_fec1: fec1grp {
213724ba675SRob Herring			fsl,pins = <
214724ba675SRob Herring				VF610_PAD_PTC9__ENET_RMII1_MDC		0x30d2
215724ba675SRob Herring				VF610_PAD_PTC10__ENET_RMII1_MDIO	0x30d3
216724ba675SRob Herring				VF610_PAD_PTC11__ENET_RMII1_CRS		0x30d1
217724ba675SRob Herring				VF610_PAD_PTC12__ENET_RMII1_RXD1	0x30d1
218724ba675SRob Herring				VF610_PAD_PTC13__ENET_RMII1_RXD0	0x30d1
219724ba675SRob Herring				VF610_PAD_PTC14__ENET_RMII1_RXER	0x30d1
220724ba675SRob Herring				VF610_PAD_PTC15__ENET_RMII1_TXD1	0x30d2
221724ba675SRob Herring				VF610_PAD_PTC16__ENET_RMII1_TXD0	0x30d2
222724ba675SRob Herring				VF610_PAD_PTC17__ENET_RMII1_TXEN	0x30d2
223724ba675SRob Herring			>;
224724ba675SRob Herring		};
225724ba675SRob Herring
226724ba675SRob Herring		pinctrl_i2c0: i2c0grp {
227724ba675SRob Herring			fsl,pins = <
228724ba675SRob Herring				VF610_PAD_PTB14__I2C0_SCL		0x30d3
229724ba675SRob Herring				VF610_PAD_PTB15__I2C0_SDA		0x30d3
230724ba675SRob Herring			>;
231724ba675SRob Herring		};
232724ba675SRob Herring
233724ba675SRob Herring		pinctrl_nfc: nfcgrp {
234724ba675SRob Herring			fsl,pins = <
235724ba675SRob Herring				VF610_PAD_PTD31__NF_IO15	0x28df
236724ba675SRob Herring				VF610_PAD_PTD30__NF_IO14	0x28df
237724ba675SRob Herring				VF610_PAD_PTD29__NF_IO13	0x28df
238724ba675SRob Herring				VF610_PAD_PTD28__NF_IO12	0x28df
239724ba675SRob Herring				VF610_PAD_PTD27__NF_IO11	0x28df
240724ba675SRob Herring				VF610_PAD_PTD26__NF_IO10	0x28df
241724ba675SRob Herring				VF610_PAD_PTD25__NF_IO9		0x28df
242724ba675SRob Herring				VF610_PAD_PTD24__NF_IO8		0x28df
243724ba675SRob Herring				VF610_PAD_PTD23__NF_IO7		0x28df
244724ba675SRob Herring				VF610_PAD_PTD22__NF_IO6		0x28df
245724ba675SRob Herring				VF610_PAD_PTD21__NF_IO5		0x28df
246724ba675SRob Herring				VF610_PAD_PTD20__NF_IO4		0x28df
247724ba675SRob Herring				VF610_PAD_PTD19__NF_IO3		0x28df
248724ba675SRob Herring				VF610_PAD_PTD18__NF_IO2		0x28df
249724ba675SRob Herring				VF610_PAD_PTD17__NF_IO1		0x28df
250724ba675SRob Herring				VF610_PAD_PTD16__NF_IO0		0x28df
251724ba675SRob Herring				VF610_PAD_PTB24__NF_WE_B	0x28c2
252724ba675SRob Herring				VF610_PAD_PTB25__NF_CE0_B	0x28c2
253724ba675SRob Herring				VF610_PAD_PTB27__NF_RE_B	0x28c2
254724ba675SRob Herring				VF610_PAD_PTC26__NF_RB_B	0x283d
255724ba675SRob Herring				VF610_PAD_PTC27__NF_ALE		0x28c2
256724ba675SRob Herring				VF610_PAD_PTC28__NF_CLE		0x28c2
257724ba675SRob Herring			>;
258724ba675SRob Herring		};
259724ba675SRob Herring
260724ba675SRob Herring		pinctrl_pwm0: pwm0grp {
261724ba675SRob Herring			fsl,pins = <
262724ba675SRob Herring				VF610_PAD_PTB0__FTM0_CH0		0x1582
263724ba675SRob Herring				VF610_PAD_PTB1__FTM0_CH1		0x1582
264724ba675SRob Herring				VF610_PAD_PTB2__FTM0_CH2		0x1582
265724ba675SRob Herring				VF610_PAD_PTB3__FTM0_CH3		0x1582
266724ba675SRob Herring			>;
267724ba675SRob Herring		};
268724ba675SRob Herring
269724ba675SRob Herring		pinctrl_sai2: sai2grp {
270724ba675SRob Herring			fsl,pins = <
271724ba675SRob Herring				VF610_PAD_PTA16__SAI2_TX_BCLK		0x02ed
272724ba675SRob Herring				VF610_PAD_PTA18__SAI2_TX_DATA		0x02ee
273724ba675SRob Herring				VF610_PAD_PTA19__SAI2_TX_SYNC		0x02ed
274724ba675SRob Herring				VF610_PAD_PTA21__SAI2_RX_BCLK		0x02ed
275724ba675SRob Herring				VF610_PAD_PTA22__SAI2_RX_DATA		0x02ed
276724ba675SRob Herring				VF610_PAD_PTA23__SAI2_RX_SYNC		0x02ed
277724ba675SRob Herring				VF610_PAD_PTB18__EXT_AUDIO_MCLK		0x02ed
278724ba675SRob Herring			>;
279724ba675SRob Herring		};
280724ba675SRob Herring
281724ba675SRob Herring		pinctrl_uart1: uart1grp {
282724ba675SRob Herring			fsl,pins = <
283724ba675SRob Herring				VF610_PAD_PTB4__UART1_TX		0x21a2
284724ba675SRob Herring				VF610_PAD_PTB5__UART1_RX		0x21a1
285724ba675SRob Herring			>;
286724ba675SRob Herring		};
287724ba675SRob Herring
288724ba675SRob Herring		pinctrl_uart2: uart2grp {
289724ba675SRob Herring			fsl,pins = <
290724ba675SRob Herring				VF610_PAD_PTB6__UART2_TX		0x21a2
291724ba675SRob Herring				VF610_PAD_PTB7__UART2_RX		0x21a1
292724ba675SRob Herring			>;
293724ba675SRob Herring		};
294724ba675SRob Herring	};
295724ba675SRob Herring};
296724ba675SRob Herring
297724ba675SRob Herring&nfc {
298724ba675SRob Herring	assigned-clocks = <&clks VF610_CLK_NFC>;
299724ba675SRob Herring	assigned-clock-rates = <33000000>;
300724ba675SRob Herring	pinctrl-names = "default";
301724ba675SRob Herring	pinctrl-0 = <&pinctrl_nfc>;
302724ba675SRob Herring	status = "okay";
303724ba675SRob Herring
304724ba675SRob Herring	nand@0 {
305724ba675SRob Herring		compatible = "fsl,vf610-nfc-nandcs";
306724ba675SRob Herring		reg = <0>;
307724ba675SRob Herring		#address-cells = <1>;
308724ba675SRob Herring		#size-cells = <1>;
309724ba675SRob Herring		nand-bus-width = <16>;
310724ba675SRob Herring		nand-ecc-mode = "hw";
311724ba675SRob Herring		nand-ecc-strength = <24>;
312724ba675SRob Herring		nand-ecc-step-size = <2048>;
313724ba675SRob Herring		nand-on-flash-bbt;
314724ba675SRob Herring	};
315724ba675SRob Herring};
316724ba675SRob Herring
317724ba675SRob Herring&pwm0 {
318724ba675SRob Herring	pinctrl-names = "default";
319724ba675SRob Herring	pinctrl-0 = <&pinctrl_pwm0>;
320724ba675SRob Herring	status = "okay";
321724ba675SRob Herring};
322724ba675SRob Herring
323724ba675SRob Herring&sai2 {
324724ba675SRob Herring	#sound-dai-cells = <0>;
325724ba675SRob Herring	pinctrl-names = "default";
326724ba675SRob Herring	pinctrl-0 = <&pinctrl_sai2>;
327724ba675SRob Herring	status = "okay";
328724ba675SRob Herring};
329724ba675SRob Herring
330724ba675SRob Herring&uart1 {
331724ba675SRob Herring	pinctrl-names = "default";
332724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart1>;
333724ba675SRob Herring	status = "okay";
334724ba675SRob Herring};
335724ba675SRob Herring
336724ba675SRob Herring&uart2 {
337724ba675SRob Herring	pinctrl-names = "default";
338724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart2>;
339724ba675SRob Herring	status = "okay";
340724ba675SRob Herring};
341724ba675SRob Herring
342724ba675SRob Herring&usbdev0 {
343724ba675SRob Herring	disable-over-current;
344724ba675SRob Herring	status = "okay";
345724ba675SRob Herring};
346724ba675SRob Herring
347724ba675SRob Herring&usbh1 {
348724ba675SRob Herring	disable-over-current;
349724ba675SRob Herring	status = "okay";
350724ba675SRob Herring};
351724ba675SRob Herring
352724ba675SRob Herring&usbmisc0 {
353724ba675SRob Herring	status = "okay";
354724ba675SRob Herring};
355724ba675SRob Herring
356724ba675SRob Herring&usbmisc1 {
357724ba675SRob Herring	status = "okay";
358724ba675SRob Herring};
359724ba675SRob Herring
360724ba675SRob Herring&usbphy0 {
361724ba675SRob Herring	status = "okay";
362724ba675SRob Herring};
363724ba675SRob Herring
364724ba675SRob Herring&usbphy1 {
365724ba675SRob Herring	status = "okay";
366724ba675SRob Herring};
367