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