blob: fe496f220871869d647c8ea12fa53e4be2f72756 [file] [log] [blame]
Lukasz Majewskia67d2c52018-10-09 12:50:28 +02001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright 2018
4 * Lukasz Majewski, DENX Software Engineering, lukma@denx.de
5 */
6
7/dts-v1/;
8#include "vf610.dtsi"
9
10/ {
11 model = "Liebherr BK4 controller";
12 compatible = "lwn,bk4", "fsl,vf610";
13
14 chosen {
15 stdout-path = &uart1;
16 };
17
18 memory@80000000 {
Fabio Estevamf535d102018-11-30 22:44:52 -020019 device_type = "memory";
Lukasz Majewskia67d2c52018-10-09 12:50:28 +020020 reg = <0x80000000 0x8000000>;
21 };
22
23 audio_ext: oscillator-audio {
24 compatible = "fixed-clock";
25 #clock-cells = <0>;
26 clock-frequency = <24576000>;
27 };
28
29 enet_ext: oscillator-ethernet {
30 compatible = "fixed-clock";
31 #clock-cells = <0>;
32 clock-frequency = <50000000>;
33 };
34
35 leds {
36 compatible = "gpio-leds";
37 pinctrl-names = "default";
38 pinctrl-0 = <&pinctrl_gpio_leds>;
39
40 /* LED D5 */
41 led0: heartbeat {
42 label = "heartbeat";
43 gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
44 default-state = "on";
45 linux,default-trigger = "heartbeat";
46 };
47 };
48
49 reg_3p3v: regulator-3p3v {
50 compatible = "regulator-fixed";
51 regulator-name = "3P3V";
52 regulator-min-microvolt = <3300000>;
53 regulator-max-microvolt = <3300000>;
54 regulator-always-on;
55 };
56
57 reg_vcc_3v3_mcu: regulator-vcc3v3mcu {
58 compatible = "regulator-fixed";
59 regulator-name = "vcc_3v3_mcu";
60 regulator-min-microvolt = <3300000>;
61 regulator-max-microvolt = <3300000>;
62 };
Lukasz Majewskicf91ce92018-12-09 22:50:56 +010063
64 spi-gpio {
65 compatible = "spi-gpio";
66 pinctrl-0 = <&pinctrl_gpio_spi>;
67 pinctrl-names = "default";
68 #address-cells = <1>;
69 #size-cells = <0>;
70 /* PTD12 ->RPIO[91] */
71 sck-gpios = <&gpio2 27 GPIO_ACTIVE_LOW>;
72 /* PTD10 ->RPIO[89] */
73 miso-gpios = <&gpio2 25 GPIO_ACTIVE_HIGH>;
74 num-chipselects = <0>;
75
76 gpio@0 {
77 compatible = "pisosr-gpio";
78 reg = <0>;
79 gpio-controller;
80 #gpio-cells = <2>;
81 /* PTB18 -> RGPIO[40] */
82 load-gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
83 spi-max-frequency = <100000>;
84 };
85 };
Lukasz Majewskia67d2c52018-10-09 12:50:28 +020086};
87
88&adc0 {
89 vref-supply = <&reg_vcc_3v3_mcu>;
90 status = "okay";
91};
92
93&adc1 {
94 vref-supply = <&reg_vcc_3v3_mcu>;
95 status = "okay";
96};
97
98&can0 {
99 pinctrl-names = "default";
100 pinctrl-0 = <&pinctrl_can0>;
101 status = "okay";
102};
103
104&can1 {
105 pinctrl-names = "default";
106 pinctrl-0 = <&pinctrl_can1>;
107 status = "okay";
108};
109
110&clks {
111 clocks = <&sxosc>, <&fxosc>, <&enet_ext>, <&audio_ext>;
112 clock-names = "sxosc", "fxosc", "enet_ext", "audio_ext";
113};
114
115&dspi0 {
116 pinctrl-names = "default";
117 pinctrl-0 = <&pinctrl_dspi0>;
118 bus-num = <0>;
119 status = "okay";
120
121 spidev0@0 {
122 compatible = "lwn,bk4";
123 spi-max-frequency = <30000000>;
124 reg = <0>;
125 fsl,spi-cs-sck-delay = <200>;
126 fsl,spi-sck-cs-delay = <400>;
127 };
128};
129
130&dspi3 {
131 pinctrl-names = "default";
132 pinctrl-0 = <&pinctrl_dspi3>;
133 bus-num = <3>;
134 status = "okay";
135 spi-slave;
136
137 slave@0 {
138 compatible = "lwn,bk4";
139 spi-max-frequency = <30000000>;
140 reg = <0>;
141 };
142};
143
144&edma0 {
145 status = "okay";
146};
147
148&edma1 {
149 status = "okay";
150};
151
152&esdhc1 {
153 pinctrl-names = "default";
154 pinctrl-0 = <&pinctrl_esdhc1>;
155 bus-width = <4>;
156 cd-gpios = <&gpio3 2 GPIO_ACTIVE_LOW>;
157 status = "okay";
158};
159
160&fec0 {
161 phy-mode = "rmii";
162 phy-handle = <&ethphy0>;
163 pinctrl-names = "default";
164 pinctrl-0 = <&pinctrl_fec0>;
165 status = "okay";
166
167 mdio {
168 #address-cells = <1>;
169 #size-cells = <0>;
170
171 ethphy0: ethernet-phy@1 {
172 reg = <1>;
173 clocks = <&clks VF610_CLK_ENET_50M>;
174 clock-names = "rmii-ref";
175 };
176 };
177};
178
179&fec1 {
180 phy-mode = "rmii";
181 phy-handle = <&ethphy1>;
182 pinctrl-names = "default";
183 pinctrl-0 = <&pinctrl_fec1>;
184 status = "okay";
185
186 mdio {
187 #address-cells = <1>;
188 #size-cells = <0>;
189
190 ethphy1: ethernet-phy@1 {
191 reg = <1>;
192 clocks = <&clks VF610_CLK_ENET_50M>;
193 clock-names = "rmii-ref";
194 };
195 };
196};
197
198&i2c2 {
199 clock-frequency = <400000>;
200 pinctrl-names = "default";
201 pinctrl-0 = <&pinctrl_i2c2>;
202 status = "okay";
203
204 at24c256: eeprom@50 {
205 compatible = "atmel,24c256";
206 reg = <0x50>;
207 };
208
209 m41t62: rtc@68 {
210 compatible = "st,m41t62";
211 reg = <0x68>;
212 };
213};
214
215&nfc {
216 assigned-clocks = <&clks VF610_CLK_NFC>;
217 assigned-clock-rates = <33000000>;
218 pinctrl-names = "default";
219 pinctrl-0 = <&pinctrl_nfc>;
220 status = "okay";
221
222 nand@0 {
223 compatible = "fsl,vf610-nfc-nandcs";
224 reg = <0>;
225 #address-cells = <1>;
226 #size-cells = <1>;
227 nand-bus-width = <16>;
228 nand-ecc-mode = "hw";
229 nand-ecc-strength = <24>;
230 nand-ecc-step-size = <2048>;
231 nand-on-flash-bbt;
232 };
233};
234
235&qspi0 {
236 pinctrl-names = "default";
237 pinctrl-0 = <&pinctrl_qspi0>;
238 status = "okay";
239
240 n25q128a13_4: flash@0 {
241 compatible = "n25q128a13", "jedec,spi-nor";
242 #address-cells = <1>;
243 #size-cells = <1>;
244 spi-max-frequency = <66000000>;
245 spi-rx-bus-width = <4>;
246 reg = <0>;
247 };
248
249 n25q128a13_2: flash@1 {
250 compatible = "n25q128a13", "jedec,spi-nor";
251 #address-cells = <1>;
252 #size-cells = <1>;
253 spi-max-frequency = <66000000>;
254 spi-rx-bus-width = <2>;
255 reg = <1>;
256 };
257};
258
259&uart0 {
260 pinctrl-names = "default";
261 pinctrl-0 = <&pinctrl_uart0>;
262 status = "okay";
263};
264
265&uart1 {
266 pinctrl-names = "default";
267 pinctrl-0 = <&pinctrl_uart1>;
268 status = "okay";
269};
270
271&uart2 {
272 pinctrl-names = "default";
273 pinctrl-0 = <&pinctrl_uart2>;
274 status = "okay";
275};
276
277&uart3 {
278 pinctrl-names = "default";
279 pinctrl-0 = <&pinctrl_uart3>;
280 status = "okay";
281};
282
283&usbdev0 {
284 disable-over-current;
285 status = "okay";
286};
287
288&usbh1 {
289 disable-over-current;
290 status = "okay";
291};
292
293&usbmisc0 {
294 status = "okay";
295};
296
297&usbmisc1 {
298 status = "okay";
299};
300
301&usbphy0 {
302 status = "okay";
303};
304
305&usbphy1 {
306 status = "okay";
307};
308
309&iomuxc {
310 pinctrl-names = "default";
311 pinctrl-0 = <&pinctrl_hog>;
312
313 pinctrl_hog: hoggrp {
314 fsl,pins = <
315 /* One_Wire_PSU_EN */
316 VF610_PAD_PTC29__GPIO_102 0x1183
317 /* SPI ENABLE */
318 VF610_PAD_PTB26__GPIO_96 0x1183
319 /* EB control */
320 VF610_PAD_PTE14__GPIO_119 0x1183
321 VF610_PAD_PTE4__GPIO_109 0x1181
322 /* Feedback_Lines */
323 VF610_PAD_PTC31__GPIO_104 0x1181
324 VF610_PAD_PTA7__GPIO_134 0x1181
325 VF610_PAD_PTD9__GPIO_88 0x1181
326 VF610_PAD_PTE1__GPIO_106 0x1183
327 VF610_PAD_PTB2__GPIO_24 0x1181
328 VF610_PAD_PTB3__GPIO_25 0x1181
329 VF610_PAD_PTB1__GPIO_23 0x1181
330 /* SDHC Enable */
331 VF610_PAD_PTE19__GPIO_124 0x1183
332 /* SDHC Overcurrent */
333 VF610_PAD_PTB23__GPIO_93 0x1181
334 /* GPI */
335 VF610_PAD_PTE2__GPIO_107 0x1181
336 VF610_PAD_PTE3__GPIO_108 0x1181
337 VF610_PAD_PTE5__GPIO_110 0x1181
338 VF610_PAD_PTE6__GPIO_111 0x1181
339 /* GPO */
340 VF610_PAD_PTE0__GPIO_105 0x1183
341 VF610_PAD_PTE7__GPIO_112 0x1183
342 /* RS485 Control */
343 VF610_PAD_PTB8__GPIO_30 0x1183
344 VF610_PAD_PTB9__GPIO_31 0x1183
345 VF610_PAD_PTE8__GPIO_113 0x1183
346 /* MPBUS MPB_EN */
347 VF610_PAD_PTE28__GPIO_133 0x1183
348 /* MISC */
349 VF610_PAD_PTE10__GPIO_115 0x1183
350 VF610_PAD_PTE11__GPIO_116 0x1183
351 VF610_PAD_PTE17__GPIO_122 0x1183
352 VF610_PAD_PTC30__GPIO_103 0x1183
353 VF610_PAD_PTB0__GPIO_22 0x1181
354 /* RESETINFO */
355 VF610_PAD_PTE26__GPIO_131 0x1183
356 VF610_PAD_PTD6__GPIO_85 0x1181
357 VF610_PAD_PTE27__GPIO_132 0x1181
358 VF610_PAD_PTE13__GPIO_118 0x1181
359 VF610_PAD_PTE21__GPIO_126 0x1181
360 VF610_PAD_PTE22__GPIO_127 0x1181
361 /* EE_5V_EN */
362 VF610_PAD_PTE18__GPIO_123 0x1183
363 /* EE_5V_OC_N */
364 VF610_PAD_PTE25__GPIO_130 0x1181
365 >;
366 };
367
368 pinctrl_can0: can0grp {
369 fsl,pins = <
370 VF610_PAD_PTB14__CAN0_RX 0x1181
371 VF610_PAD_PTB15__CAN0_TX 0x1182
372 >;
373 };
374
375 pinctrl_can1: can1grp {
376 fsl,pins = <
377 VF610_PAD_PTB16__CAN1_RX 0x1181
378 VF610_PAD_PTB17__CAN1_TX 0x1182
379 >;
380 };
381
382 pinctrl_dspi0: dspi0grp {
383 fsl,pins = <
384 VF610_PAD_PTB18__DSPI0_CS1 0x1182
385 VF610_PAD_PTB19__DSPI0_CS0 0x1182
386 VF610_PAD_PTB20__DSPI0_SIN 0x1181
387 VF610_PAD_PTB21__DSPI0_SOUT 0x1182
388 VF610_PAD_PTB22__DSPI0_SCK 0x1182
389 >;
390 };
391
392 pinctrl_dspi3: dspi3grp {
393 fsl,pins = <
394 VF610_PAD_PTD10__DSPI3_CS0 0x1181
395 VF610_PAD_PTD11__DSPI3_SIN 0x1181
396 VF610_PAD_PTD12__DSPI3_SOUT 0x1182
397 VF610_PAD_PTD13__DSPI3_SCK 0x1181
398 >;
399 };
400
401 pinctrl_esdhc1: esdhc1grp {
402 fsl,pins = <
403 VF610_PAD_PTA24__ESDHC1_CLK 0x31ef
404 VF610_PAD_PTA25__ESDHC1_CMD 0x31ef
405 VF610_PAD_PTA26__ESDHC1_DAT0 0x31ef
406 VF610_PAD_PTA27__ESDHC1_DAT1 0x31ef
407 VF610_PAD_PTA28__ESDHC1_DATA2 0x31ef
408 VF610_PAD_PTA29__ESDHC1_DAT3 0x31ef
409 VF610_PAD_PTB28__GPIO_98 0x219d
410 >;
411 };
412
413 pinctrl_fec0: fec0grp {
414 fsl,pins = <
415 VF610_PAD_PTA6__RMII_CLKIN 0x30dd
416 VF610_PAD_PTC0__ENET_RMII0_MDC 0x30de
417 VF610_PAD_PTC1__ENET_RMII0_MDIO 0x30df
418 VF610_PAD_PTC2__ENET_RMII0_CRS 0x30dd
419 VF610_PAD_PTC3__ENET_RMII0_RXD1 0x30dd
420 VF610_PAD_PTC4__ENET_RMII0_RXD0 0x30dd
421 VF610_PAD_PTC5__ENET_RMII0_RXER 0x30dd
422 VF610_PAD_PTC6__ENET_RMII0_TXD1 0x30de
423 VF610_PAD_PTC7__ENET_RMII0_TXD0 0x30de
424 VF610_PAD_PTC8__ENET_RMII0_TXEN 0x30de
425 >;
426 };
427
428 pinctrl_fec1: fec1grp {
429 fsl,pins = <
430 VF610_PAD_PTC9__ENET_RMII1_MDC 0x30de
431 VF610_PAD_PTC10__ENET_RMII1_MDIO 0x30df
432 VF610_PAD_PTC11__ENET_RMII1_CRS 0x30dd
433 VF610_PAD_PTC12__ENET_RMII1_RXD1 0x30dd
434 VF610_PAD_PTC13__ENET_RMII1_RXD0 0x30dd
435 VF610_PAD_PTC14__ENET_RMII1_RXER 0x30dd
436 VF610_PAD_PTC15__ENET_RMII1_TXD1 0x30de
437 VF610_PAD_PTC16__ENET_RMII1_TXD0 0x30de
438 VF610_PAD_PTC17__ENET_RMII1_TXEN 0x30de
439 >;
440 };
441
442 pinctrl_gpio_leds: gpioledsgrp {
443 fsl,pins = <
444 /* Heart bit LED */
445 VF610_PAD_PTE12__GPIO_117 0x1183
446 /* LEDS */
447 VF610_PAD_PTE15__GPIO_120 0x1183
448 VF610_PAD_PTA12__GPIO_5 0x1183
449 VF610_PAD_PTA16__GPIO_6 0x1183
450 VF610_PAD_PTE9__GPIO_114 0x1183
451 VF610_PAD_PTE20__GPIO_125 0x1183
452 VF610_PAD_PTE23__GPIO_128 0x1183
453 VF610_PAD_PTE16__GPIO_121 0x1183
454 >;
455 };
456
Lukasz Majewskicf91ce92018-12-09 22:50:56 +0100457 pinctrl_gpio_spi: pinctrl-gpio-spi {
458 fsl,pins = <
459 VF610_PAD_PTB18__GPIO_40 0x1183
460 VF610_PAD_PTD10__GPIO_89 0x1183
461 VF610_PAD_PTD12__GPIO_91 0x1183
462 >;
463 };
464
Lukasz Majewskia67d2c52018-10-09 12:50:28 +0200465 pinctrl_i2c2: i2c2grp {
466 fsl,pins = <
467 VF610_PAD_PTA22__I2C2_SCL 0x34df
468 VF610_PAD_PTA23__I2C2_SDA 0x34df
469 >;
470 };
471
472 pinctrl_nfc: nfcgrp {
473 fsl,pins = <
474 VF610_PAD_PTD23__NF_IO7 0x28df
475 VF610_PAD_PTD22__NF_IO6 0x28df
476 VF610_PAD_PTD21__NF_IO5 0x28df
477 VF610_PAD_PTD20__NF_IO4 0x28df
478 VF610_PAD_PTD19__NF_IO3 0x28df
479 VF610_PAD_PTD18__NF_IO2 0x28df
480 VF610_PAD_PTD17__NF_IO1 0x28df
481 VF610_PAD_PTD16__NF_IO0 0x28df
482 VF610_PAD_PTB24__NF_WE_B 0x28c2
483 VF610_PAD_PTB25__NF_CE0_B 0x28c2
484 VF610_PAD_PTB27__NF_RE_B 0x28c2
485 VF610_PAD_PTC26__NF_RB_B 0x283d
486 VF610_PAD_PTC27__NF_ALE 0x28c2
487 VF610_PAD_PTC28__NF_CLE 0x28c2
488 >;
489 };
490
491 pinctrl_qspi0: qspi0grp {
492 fsl,pins = <
493 VF610_PAD_PTD0__QSPI0_A_QSCK 0x397f
494 VF610_PAD_PTD1__QSPI0_A_CS0 0x397f
495 VF610_PAD_PTD2__QSPI0_A_DATA3 0x397f
496 VF610_PAD_PTD3__QSPI0_A_DATA2 0x397f
497 VF610_PAD_PTD4__QSPI0_A_DATA1 0x397f
498 VF610_PAD_PTD5__QSPI0_A_DATA0 0x397f
499 VF610_PAD_PTD7__QSPI0_B_QSCK 0x397f
500 VF610_PAD_PTD8__QSPI0_B_CS0 0x397f
501 VF610_PAD_PTD11__QSPI0_B_DATA1 0x397f
502 VF610_PAD_PTD12__QSPI0_B_DATA0 0x397f
503 >;
504 };
505
506 pinctrl_uart0: uart0grp {
507 fsl,pins = <
508 VF610_PAD_PTB10__UART0_TX 0x21a2
509 VF610_PAD_PTB11__UART0_RX 0x21a1
510 >;
511 };
512
513 pinctrl_uart1: uart1grp {
514 fsl,pins = <
515 VF610_PAD_PTB4__UART1_TX 0x21a2
516 VF610_PAD_PTB5__UART1_RX 0x21a1
517 >;
518 };
519
520 pinctrl_uart2: uart2grp {
521 fsl,pins = <
522 VF610_PAD_PTB6__UART2_TX 0x21a2
523 VF610_PAD_PTB7__UART2_RX 0x21a1
524 >;
525 };
526
527 pinctrl_uart3: uart3grp {
528 fsl,pins = <
529 VF610_PAD_PTA20__UART3_TX 0x21a2
530 VF610_PAD_PTA21__UART3_RX 0x21a1
531 >;
532 };
533};