1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0+ OR MIT
2*724ba675SRob Herring/*
3*724ba675SRob Herring * Copyright 2014-2020 Toradex
4*724ba675SRob Herring *
5*724ba675SRob Herring */
6*724ba675SRob Herring
7*724ba675SRob Herring/ {
8*724ba675SRob Herring	aliases {
9*724ba675SRob Herring		ethernet0 = &fec1;
10*724ba675SRob Herring		ethernet1 = &fec0;
11*724ba675SRob Herring	};
12*724ba675SRob Herring
13*724ba675SRob Herring	bl: backlight {
14*724ba675SRob Herring		compatible = "pwm-backlight";
15*724ba675SRob Herring		pinctrl-names = "default";
16*724ba675SRob Herring		pinctrl-0 = <&pinctrl_gpio_bl_on>;
17*724ba675SRob Herring		pwms = <&pwm0 0 5000000 0>;
18*724ba675SRob Herring		enable-gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
19*724ba675SRob Herring		status = "disabled";
20*724ba675SRob Herring	};
21*724ba675SRob Herring
22*724ba675SRob Herring	reg_module_3v3: regulator-module-3v3 {
23*724ba675SRob Herring		compatible = "regulator-fixed";
24*724ba675SRob Herring		regulator-name = "+V3.3";
25*724ba675SRob Herring		regulator-min-microvolt = <3300000>;
26*724ba675SRob Herring		regulator-max-microvolt = <3300000>;
27*724ba675SRob Herring	};
28*724ba675SRob Herring
29*724ba675SRob Herring	reg_module_3v3_avdd: regulator-module-3v3-avdd {
30*724ba675SRob Herring		compatible = "regulator-fixed";
31*724ba675SRob Herring		regulator-name = "+V3.3_AVDD_AUDIO";
32*724ba675SRob Herring		regulator-min-microvolt = <3300000>;
33*724ba675SRob Herring		regulator-max-microvolt = <3300000>;
34*724ba675SRob Herring	};
35*724ba675SRob Herring};
36*724ba675SRob Herring
37*724ba675SRob Herring&adc0 {
38*724ba675SRob Herring	status = "okay";
39*724ba675SRob Herring	vref-supply = <&reg_module_3v3_avdd>;
40*724ba675SRob Herring};
41*724ba675SRob Herring
42*724ba675SRob Herring&adc1 {
43*724ba675SRob Herring	status = "okay";
44*724ba675SRob Herring	vref-supply = <&reg_module_3v3_avdd>;
45*724ba675SRob Herring};
46*724ba675SRob Herring
47*724ba675SRob Herring&can0 {
48*724ba675SRob Herring	pinctrl-names = "default";
49*724ba675SRob Herring	pinctrl-0 = <&pinctrl_flexcan0>;
50*724ba675SRob Herring	status = "disabled";
51*724ba675SRob Herring};
52*724ba675SRob Herring
53*724ba675SRob Herring&can1 {
54*724ba675SRob Herring	pinctrl-names = "default";
55*724ba675SRob Herring	pinctrl-0 = <&pinctrl_flexcan1>;
56*724ba675SRob Herring	status = "disabled";
57*724ba675SRob Herring};
58*724ba675SRob Herring
59*724ba675SRob Herring&clks {
60*724ba675SRob Herring	assigned-clocks = <&clks VF610_CLK_ENET_SEL>,
61*724ba675SRob Herring			  <&clks VF610_CLK_ENET_TS_SEL>;
62*724ba675SRob Herring	assigned-clock-parents = <&clks VF610_CLK_ENET_50M>,
63*724ba675SRob Herring				 <&clks VF610_CLK_ENET_50M>;
64*724ba675SRob Herring};
65*724ba675SRob Herring
66*724ba675SRob Herring&dspi1 {
67*724ba675SRob Herring	bus-num = <1>;
68*724ba675SRob Herring	pinctrl-names = "default";
69*724ba675SRob Herring	pinctrl-0 = <&pinctrl_dspi1>;
70*724ba675SRob Herring};
71*724ba675SRob Herring
72*724ba675SRob Herring&edma0 {
73*724ba675SRob Herring	status = "okay";
74*724ba675SRob Herring};
75*724ba675SRob Herring
76*724ba675SRob Herring&edma1 {
77*724ba675SRob Herring	status = "okay";
78*724ba675SRob Herring};
79*724ba675SRob Herring
80*724ba675SRob Herring&esdhc1 {
81*724ba675SRob Herring	pinctrl-names = "default";
82*724ba675SRob Herring	pinctrl-0 = <&pinctrl_esdhc1>;
83*724ba675SRob Herring	bus-width = <4>;
84*724ba675SRob Herring	cd-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
85*724ba675SRob Herring	disable-wp;
86*724ba675SRob Herring};
87*724ba675SRob Herring
88*724ba675SRob Herring&fec1 {
89*724ba675SRob Herring	phy-mode = "rmii";
90*724ba675SRob Herring	phy-supply = <&reg_module_3v3>;
91*724ba675SRob Herring	pinctrl-names = "default";
92*724ba675SRob Herring	pinctrl-0 = <&pinctrl_fec1>;
93*724ba675SRob Herring};
94*724ba675SRob Herring
95*724ba675SRob Herring&i2c0 {
96*724ba675SRob Herring	clock-frequency = <400000>;
97*724ba675SRob Herring	pinctrl-names = "default", "gpio";
98*724ba675SRob Herring	pinctrl-0 = <&pinctrl_i2c0>;
99*724ba675SRob Herring	pinctrl-1 = <&pinctrl_i2c0_gpio>;
100*724ba675SRob Herring	scl-gpios = <&gpio1 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
101*724ba675SRob Herring	sda-gpios = <&gpio1 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
102*724ba675SRob Herring};
103*724ba675SRob Herring
104*724ba675SRob Herring&nfc {
105*724ba675SRob Herring	pinctrl-names = "default";
106*724ba675SRob Herring	pinctrl-0 = <&pinctrl_nfc>;
107*724ba675SRob Herring	status = "okay";
108*724ba675SRob Herring
109*724ba675SRob Herring	nand@0 {
110*724ba675SRob Herring		compatible = "fsl,vf610-nfc-nandcs";
111*724ba675SRob Herring		reg = <0>;
112*724ba675SRob Herring		#address-cells = <1>;
113*724ba675SRob Herring		#size-cells = <1>;
114*724ba675SRob Herring		nand-bus-width = <8>;
115*724ba675SRob Herring		nand-ecc-mode = "hw";
116*724ba675SRob Herring		nand-ecc-strength = <32>;
117*724ba675SRob Herring		nand-ecc-step-size = <2048>;
118*724ba675SRob Herring		nand-on-flash-bbt;
119*724ba675SRob Herring	};
120*724ba675SRob Herring};
121*724ba675SRob Herring
122*724ba675SRob Herring&pwm0 {
123*724ba675SRob Herring	pinctrl-names = "default";
124*724ba675SRob Herring	pinctrl-0 = <&pinctrl_pwm0>;
125*724ba675SRob Herring};
126*724ba675SRob Herring
127*724ba675SRob Herring&pwm1 {
128*724ba675SRob Herring	pinctrl-names = "default";
129*724ba675SRob Herring	pinctrl-0 = <&pinctrl_pwm1>;
130*724ba675SRob Herring};
131*724ba675SRob Herring
132*724ba675SRob Herring&uart0 {
133*724ba675SRob Herring	pinctrl-names = "default";
134*724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart0>;
135*724ba675SRob Herring};
136*724ba675SRob Herring
137*724ba675SRob Herring&uart1 {
138*724ba675SRob Herring	pinctrl-names = "default";
139*724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart1>;
140*724ba675SRob Herring};
141*724ba675SRob Herring
142*724ba675SRob Herring&uart2 {
143*724ba675SRob Herring	pinctrl-names = "default";
144*724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart2>;
145*724ba675SRob Herring};
146*724ba675SRob Herring
147*724ba675SRob Herring&usbdev0 {
148*724ba675SRob Herring	disable-over-current;
149*724ba675SRob Herring	status = "okay";
150*724ba675SRob Herring};
151*724ba675SRob Herring
152*724ba675SRob Herring&usbh1 {
153*724ba675SRob Herring	disable-over-current;
154*724ba675SRob Herring	status = "okay";
155*724ba675SRob Herring};
156*724ba675SRob Herring
157*724ba675SRob Herring&usbmisc0 {
158*724ba675SRob Herring	status = "okay";
159*724ba675SRob Herring};
160*724ba675SRob Herring
161*724ba675SRob Herring&usbmisc1 {
162*724ba675SRob Herring	status = "okay";
163*724ba675SRob Herring};
164*724ba675SRob Herring
165*724ba675SRob Herring&usbphy0 {
166*724ba675SRob Herring	status = "okay";
167*724ba675SRob Herring};
168*724ba675SRob Herring
169*724ba675SRob Herring&usbphy1 {
170*724ba675SRob Herring	status = "okay";
171*724ba675SRob Herring};
172*724ba675SRob Herring
173*724ba675SRob Herring&iomuxc {
174*724ba675SRob Herring	vf610-colibri {
175*724ba675SRob Herring		pinctrl_flexcan0: can0grp {
176*724ba675SRob Herring			fsl,pins = <
177*724ba675SRob Herring				VF610_PAD_PTB14__CAN0_RX	0x31F1
178*724ba675SRob Herring				VF610_PAD_PTB15__CAN0_TX	0x31F2
179*724ba675SRob Herring			>;
180*724ba675SRob Herring		};
181*724ba675SRob Herring
182*724ba675SRob Herring		pinctrl_flexcan1: can1grp {
183*724ba675SRob Herring			fsl,pins = <
184*724ba675SRob Herring				VF610_PAD_PTB16__CAN1_RX	0x31F1
185*724ba675SRob Herring				VF610_PAD_PTB17__CAN1_TX	0x31F2
186*724ba675SRob Herring			>;
187*724ba675SRob Herring		};
188*724ba675SRob Herring
189*724ba675SRob Herring		pinctrl_gpio_ext: gpio_ext {
190*724ba675SRob Herring			fsl,pins = <
191*724ba675SRob Herring				VF610_PAD_PTD10__GPIO_89	0x22ed /* EXT_IO_0 */
192*724ba675SRob Herring				VF610_PAD_PTD9__GPIO_88		0x22ed /* EXT_IO_1 */
193*724ba675SRob Herring				VF610_PAD_PTD26__GPIO_68	0x22ed /* EXT_IO_2 */
194*724ba675SRob Herring			>;
195*724ba675SRob Herring		};
196*724ba675SRob Herring
197*724ba675SRob Herring		pinctrl_dcu0_1: dcu0grp_1 {
198*724ba675SRob Herring			fsl,pins = <
199*724ba675SRob Herring				VF610_PAD_PTE0__DCU0_HSYNC	0x1902
200*724ba675SRob Herring				VF610_PAD_PTE1__DCU0_VSYNC	0x1902
201*724ba675SRob Herring				VF610_PAD_PTE2__DCU0_PCLK	0x1902
202*724ba675SRob Herring				VF610_PAD_PTE4__DCU0_DE		0x1902
203*724ba675SRob Herring				VF610_PAD_PTE5__DCU0_R0		0x1902
204*724ba675SRob Herring				VF610_PAD_PTE6__DCU0_R1		0x1902
205*724ba675SRob Herring				VF610_PAD_PTE7__DCU0_R2		0x1902
206*724ba675SRob Herring				VF610_PAD_PTE8__DCU0_R3		0x1902
207*724ba675SRob Herring				VF610_PAD_PTE9__DCU0_R4		0x1902
208*724ba675SRob Herring				VF610_PAD_PTE10__DCU0_R5	0x1902
209*724ba675SRob Herring				VF610_PAD_PTE11__DCU0_R6	0x1902
210*724ba675SRob Herring				VF610_PAD_PTE12__DCU0_R7	0x1902
211*724ba675SRob Herring				VF610_PAD_PTE13__DCU0_G0	0x1902
212*724ba675SRob Herring				VF610_PAD_PTE14__DCU0_G1	0x1902
213*724ba675SRob Herring				VF610_PAD_PTE15__DCU0_G2	0x1902
214*724ba675SRob Herring				VF610_PAD_PTE16__DCU0_G3	0x1902
215*724ba675SRob Herring				VF610_PAD_PTE17__DCU0_G4	0x1902
216*724ba675SRob Herring				VF610_PAD_PTE18__DCU0_G5	0x1902
217*724ba675SRob Herring				VF610_PAD_PTE19__DCU0_G6	0x1902
218*724ba675SRob Herring				VF610_PAD_PTE20__DCU0_G7	0x1902
219*724ba675SRob Herring				VF610_PAD_PTE21__DCU0_B0	0x1902
220*724ba675SRob Herring				VF610_PAD_PTE22__DCU0_B1	0x1902
221*724ba675SRob Herring				VF610_PAD_PTE23__DCU0_B2	0x1902
222*724ba675SRob Herring				VF610_PAD_PTE24__DCU0_B3	0x1902
223*724ba675SRob Herring				VF610_PAD_PTE25__DCU0_B4	0x1902
224*724ba675SRob Herring				VF610_PAD_PTE26__DCU0_B5	0x1902
225*724ba675SRob Herring				VF610_PAD_PTE27__DCU0_B6	0x1902
226*724ba675SRob Herring				VF610_PAD_PTE28__DCU0_B7	0x1902
227*724ba675SRob Herring			>;
228*724ba675SRob Herring		};
229*724ba675SRob Herring
230*724ba675SRob Herring		pinctrl_dspi1: dspi1grp {
231*724ba675SRob Herring			fsl,pins = <
232*724ba675SRob Herring				VF610_PAD_PTD5__DSPI1_CS0		0x33e2
233*724ba675SRob Herring				VF610_PAD_PTD6__DSPI1_SIN		0x33e1
234*724ba675SRob Herring				VF610_PAD_PTD7__DSPI1_SOUT		0x33e2
235*724ba675SRob Herring				VF610_PAD_PTD8__DSPI1_SCK		0x33e2
236*724ba675SRob Herring			>;
237*724ba675SRob Herring		};
238*724ba675SRob Herring
239*724ba675SRob Herring		pinctrl_esdhc1: esdhc1grp {
240*724ba675SRob Herring			fsl,pins = <
241*724ba675SRob Herring				VF610_PAD_PTA24__ESDHC1_CLK	0x31ef
242*724ba675SRob Herring				VF610_PAD_PTA25__ESDHC1_CMD	0x31ef
243*724ba675SRob Herring				VF610_PAD_PTA26__ESDHC1_DAT0	0x31ef
244*724ba675SRob Herring				VF610_PAD_PTA27__ESDHC1_DAT1	0x31ef
245*724ba675SRob Herring				VF610_PAD_PTA28__ESDHC1_DATA2	0x31ef
246*724ba675SRob Herring				VF610_PAD_PTA29__ESDHC1_DAT3	0x31ef
247*724ba675SRob Herring				VF610_PAD_PTB20__GPIO_42	0x219d
248*724ba675SRob Herring			>;
249*724ba675SRob Herring		};
250*724ba675SRob Herring
251*724ba675SRob Herring		pinctrl_fec1: fec1grp {
252*724ba675SRob Herring			fsl,pins = <
253*724ba675SRob Herring				VF610_PAD_PTA6__RMII_CLKOUT		0x30d2
254*724ba675SRob Herring				VF610_PAD_PTC9__ENET_RMII1_MDC		0x30d2
255*724ba675SRob Herring				VF610_PAD_PTC10__ENET_RMII1_MDIO	0x30d3
256*724ba675SRob Herring				VF610_PAD_PTC11__ENET_RMII1_CRS		0x30d1
257*724ba675SRob Herring				VF610_PAD_PTC12__ENET_RMII1_RXD1	0x30d1
258*724ba675SRob Herring				VF610_PAD_PTC13__ENET_RMII1_RXD0	0x30d1
259*724ba675SRob Herring				VF610_PAD_PTC14__ENET_RMII1_RXER	0x30d1
260*724ba675SRob Herring				VF610_PAD_PTC15__ENET_RMII1_TXD1	0x30d2
261*724ba675SRob Herring				VF610_PAD_PTC16__ENET_RMII1_TXD0	0x30d2
262*724ba675SRob Herring				VF610_PAD_PTC17__ENET_RMII1_TXEN	0x30d2
263*724ba675SRob Herring			>;
264*724ba675SRob Herring		};
265*724ba675SRob Herring
266*724ba675SRob Herring		pinctrl_gpio_bl_on: gpio_bl_on {
267*724ba675SRob Herring			fsl,pins = <
268*724ba675SRob Herring				VF610_PAD_PTC0__GPIO_45		0x22ef
269*724ba675SRob Herring			>;
270*724ba675SRob Herring		};
271*724ba675SRob Herring
272*724ba675SRob Herring		pinctrl_i2c0: i2c0grp {
273*724ba675SRob Herring			fsl,pins = <
274*724ba675SRob Herring				VF610_PAD_PTB14__I2C0_SCL		0x37ff
275*724ba675SRob Herring				VF610_PAD_PTB15__I2C0_SDA		0x37ff
276*724ba675SRob Herring			>;
277*724ba675SRob Herring		};
278*724ba675SRob Herring
279*724ba675SRob Herring		pinctrl_i2c0_gpio: i2c0gpiogrp {
280*724ba675SRob Herring			fsl,pins = <
281*724ba675SRob Herring				VF610_PAD_PTB14__GPIO_36		0x37ff
282*724ba675SRob Herring				VF610_PAD_PTB15__GPIO_37		0x37ff
283*724ba675SRob Herring			>;
284*724ba675SRob Herring		};
285*724ba675SRob Herring
286*724ba675SRob Herring		pinctrl_nfc: nfcgrp {
287*724ba675SRob Herring			fsl,pins = <
288*724ba675SRob Herring				VF610_PAD_PTD23__NF_IO7		0x28df
289*724ba675SRob Herring				VF610_PAD_PTD22__NF_IO6		0x28df
290*724ba675SRob Herring				VF610_PAD_PTD21__NF_IO5		0x28df
291*724ba675SRob Herring				VF610_PAD_PTD20__NF_IO4		0x28df
292*724ba675SRob Herring				VF610_PAD_PTD19__NF_IO3		0x28df
293*724ba675SRob Herring				VF610_PAD_PTD18__NF_IO2		0x28df
294*724ba675SRob Herring				VF610_PAD_PTD17__NF_IO1		0x28df
295*724ba675SRob Herring				VF610_PAD_PTD16__NF_IO0		0x28df
296*724ba675SRob Herring				VF610_PAD_PTB24__NF_WE_B	0x28c2
297*724ba675SRob Herring				VF610_PAD_PTB25__NF_CE0_B	0x28c2
298*724ba675SRob Herring				VF610_PAD_PTB27__NF_RE_B	0x28c2
299*724ba675SRob Herring				VF610_PAD_PTC26__NF_RB_B	0x283d
300*724ba675SRob Herring				VF610_PAD_PTC27__NF_ALE		0x28c2
301*724ba675SRob Herring				VF610_PAD_PTC28__NF_CLE		0x28c2
302*724ba675SRob Herring			>;
303*724ba675SRob Herring		};
304*724ba675SRob Herring
305*724ba675SRob Herring		pinctrl_pwm0: pwm0grp {
306*724ba675SRob Herring			fsl,pins = <
307*724ba675SRob Herring				VF610_PAD_PTB0__FTM0_CH0		0x1182
308*724ba675SRob Herring				VF610_PAD_PTB1__FTM0_CH1		0x1182
309*724ba675SRob Herring			>;
310*724ba675SRob Herring		};
311*724ba675SRob Herring
312*724ba675SRob Herring		pinctrl_pwm1: pwm1grp {
313*724ba675SRob Herring			fsl,pins = <
314*724ba675SRob Herring				VF610_PAD_PTB8__FTM1_CH0		0x1182
315*724ba675SRob Herring				VF610_PAD_PTB9__FTM1_CH1		0x1182
316*724ba675SRob Herring			>;
317*724ba675SRob Herring		};
318*724ba675SRob Herring
319*724ba675SRob Herring		pinctrl_uart0: uart0grp {
320*724ba675SRob Herring			fsl,pins = <
321*724ba675SRob Herring				VF610_PAD_PTB10__UART0_TX		0x21a2
322*724ba675SRob Herring				VF610_PAD_PTB11__UART0_RX		0x21a1
323*724ba675SRob Herring				VF610_PAD_PTB12__UART0_RTS		0x21a2
324*724ba675SRob Herring				VF610_PAD_PTB13__UART0_CTS		0x21a1
325*724ba675SRob Herring			>;
326*724ba675SRob Herring		};
327*724ba675SRob Herring
328*724ba675SRob Herring		pinctrl_uart1: uart1grp {
329*724ba675SRob Herring			fsl,pins = <
330*724ba675SRob Herring				VF610_PAD_PTB4__UART1_TX		0x21a2
331*724ba675SRob Herring				VF610_PAD_PTB5__UART1_RX		0x21a1
332*724ba675SRob Herring			>;
333*724ba675SRob Herring		};
334*724ba675SRob Herring
335*724ba675SRob Herring		pinctrl_uart2: uart2grp {
336*724ba675SRob Herring			fsl,pins = <
337*724ba675SRob Herring				VF610_PAD_PTD0__UART2_TX		0x21a2
338*724ba675SRob Herring				VF610_PAD_PTD1__UART2_RX		0x21a1
339*724ba675SRob Herring				VF610_PAD_PTD2__UART2_RTS		0x21a2
340*724ba675SRob Herring				VF610_PAD_PTD3__UART2_CTS		0x21a1
341*724ba675SRob Herring			>;
342*724ba675SRob Herring		};
343*724ba675SRob Herring
344*724ba675SRob Herring		pinctrl_usbh1_reg: gpio_usb_vbus {
345*724ba675SRob Herring			fsl,pins = <
346*724ba675SRob Herring				VF610_PAD_PTD4__GPIO_83			0x22ed
347*724ba675SRob Herring			>;
348*724ba675SRob Herring		};
349*724ba675SRob Herring	};
350*724ba675SRob Herring};
351