1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
4 * Lukasz Majewski, DENX Software Engineering, lukma@denx.de
11 model = "Liebherr BK4 controller";
12 compatible = "lwn,bk4", "fsl,vf610";
19 reg = <0x80000000 0x8000000>;
22 audio_ext: oscillator-audio {
23 compatible = "fixed-clock";
25 clock-frequency = <24576000>;
28 enet_ext: oscillator-ethernet {
29 compatible = "fixed-clock";
31 clock-frequency = <50000000>;
35 compatible = "gpio-leds";
36 pinctrl-names = "default";
37 pinctrl-0 = <&pinctrl_gpio_leds>;
42 gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
44 linux,default-trigger = "heartbeat";
48 reg_3p3v: regulator-3p3v {
49 compatible = "regulator-fixed";
50 regulator-name = "3P3V";
51 regulator-min-microvolt = <3300000>;
52 regulator-max-microvolt = <3300000>;
56 reg_vcc_3v3_mcu: regulator-vcc3v3mcu {
57 compatible = "regulator-fixed";
58 regulator-name = "vcc_3v3_mcu";
59 regulator-min-microvolt = <3300000>;
60 regulator-max-microvolt = <3300000>;
65 vref-supply = <®_vcc_3v3_mcu>;
70 vref-supply = <®_vcc_3v3_mcu>;
75 pinctrl-names = "default";
76 pinctrl-0 = <&pinctrl_can0>;
81 pinctrl-names = "default";
82 pinctrl-0 = <&pinctrl_can1>;
87 clocks = <&sxosc>, <&fxosc>, <&enet_ext>, <&audio_ext>;
88 clock-names = "sxosc", "fxosc", "enet_ext", "audio_ext";
92 pinctrl-names = "default";
93 pinctrl-0 = <&pinctrl_dspi0>;
98 compatible = "lwn,bk4";
99 spi-max-frequency = <30000000>;
101 fsl,spi-cs-sck-delay = <200>;
102 fsl,spi-sck-cs-delay = <400>;
107 pinctrl-names = "default";
108 pinctrl-0 = <&pinctrl_dspi3>;
114 compatible = "lwn,bk4";
115 spi-max-frequency = <30000000>;
129 pinctrl-names = "default";
130 pinctrl-0 = <&pinctrl_esdhc1>;
132 cd-gpios = <&gpio3 2 GPIO_ACTIVE_LOW>;
138 phy-handle = <ðphy0>;
139 pinctrl-names = "default";
140 pinctrl-0 = <&pinctrl_fec0>;
144 #address-cells = <1>;
147 ethphy0: ethernet-phy@1 {
149 clocks = <&clks VF610_CLK_ENET_50M>;
150 clock-names = "rmii-ref";
157 phy-handle = <ðphy1>;
158 pinctrl-names = "default";
159 pinctrl-0 = <&pinctrl_fec1>;
163 #address-cells = <1>;
166 ethphy1: ethernet-phy@1 {
168 clocks = <&clks VF610_CLK_ENET_50M>;
169 clock-names = "rmii-ref";
175 clock-frequency = <400000>;
176 pinctrl-names = "default";
177 pinctrl-0 = <&pinctrl_i2c2>;
180 at24c256: eeprom@50 {
181 compatible = "atmel,24c256";
186 compatible = "st,m41t62";
192 assigned-clocks = <&clks VF610_CLK_NFC>;
193 assigned-clock-rates = <33000000>;
194 pinctrl-names = "default";
195 pinctrl-0 = <&pinctrl_nfc>;
199 compatible = "fsl,vf610-nfc-nandcs";
201 #address-cells = <1>;
203 nand-bus-width = <16>;
204 nand-ecc-mode = "hw";
205 nand-ecc-strength = <24>;
206 nand-ecc-step-size = <2048>;
212 pinctrl-names = "default";
213 pinctrl-0 = <&pinctrl_qspi0>;
216 n25q128a13_4: flash@0 {
217 compatible = "n25q128a13", "jedec,spi-nor";
218 #address-cells = <1>;
220 spi-max-frequency = <66000000>;
221 spi-rx-bus-width = <4>;
225 n25q128a13_2: flash@1 {
226 compatible = "n25q128a13", "jedec,spi-nor";
227 #address-cells = <1>;
229 spi-max-frequency = <66000000>;
230 spi-rx-bus-width = <2>;
236 pinctrl-names = "default";
237 pinctrl-0 = <&pinctrl_uart0>;
242 pinctrl-names = "default";
243 pinctrl-0 = <&pinctrl_uart1>;
248 pinctrl-names = "default";
249 pinctrl-0 = <&pinctrl_uart2>;
254 pinctrl-names = "default";
255 pinctrl-0 = <&pinctrl_uart3>;
260 disable-over-current;
265 disable-over-current;
286 pinctrl-names = "default";
287 pinctrl-0 = <&pinctrl_hog>;
289 pinctrl_hog: hoggrp {
291 /* One_Wire_PSU_EN */
292 VF610_PAD_PTC29__GPIO_102 0x1183
294 VF610_PAD_PTB26__GPIO_96 0x1183
296 VF610_PAD_PTE14__GPIO_119 0x1183
297 VF610_PAD_PTE4__GPIO_109 0x1181
299 VF610_PAD_PTC31__GPIO_104 0x1181
300 VF610_PAD_PTA7__GPIO_134 0x1181
301 VF610_PAD_PTD9__GPIO_88 0x1181
302 VF610_PAD_PTE1__GPIO_106 0x1183
303 VF610_PAD_PTB2__GPIO_24 0x1181
304 VF610_PAD_PTB3__GPIO_25 0x1181
305 VF610_PAD_PTB1__GPIO_23 0x1181
307 VF610_PAD_PTE19__GPIO_124 0x1183
308 /* SDHC Overcurrent */
309 VF610_PAD_PTB23__GPIO_93 0x1181
311 VF610_PAD_PTE2__GPIO_107 0x1181
312 VF610_PAD_PTE3__GPIO_108 0x1181
313 VF610_PAD_PTE5__GPIO_110 0x1181
314 VF610_PAD_PTE6__GPIO_111 0x1181
316 VF610_PAD_PTE0__GPIO_105 0x1183
317 VF610_PAD_PTE7__GPIO_112 0x1183
319 VF610_PAD_PTB8__GPIO_30 0x1183
320 VF610_PAD_PTB9__GPIO_31 0x1183
321 VF610_PAD_PTE8__GPIO_113 0x1183
323 VF610_PAD_PTE28__GPIO_133 0x1183
325 VF610_PAD_PTE10__GPIO_115 0x1183
326 VF610_PAD_PTE11__GPIO_116 0x1183
327 VF610_PAD_PTE17__GPIO_122 0x1183
328 VF610_PAD_PTC30__GPIO_103 0x1183
329 VF610_PAD_PTB0__GPIO_22 0x1181
331 VF610_PAD_PTE26__GPIO_131 0x1183
332 VF610_PAD_PTD6__GPIO_85 0x1181
333 VF610_PAD_PTE27__GPIO_132 0x1181
334 VF610_PAD_PTE13__GPIO_118 0x1181
335 VF610_PAD_PTE21__GPIO_126 0x1181
336 VF610_PAD_PTE22__GPIO_127 0x1181
338 VF610_PAD_PTE18__GPIO_123 0x1183
340 VF610_PAD_PTE25__GPIO_130 0x1181
344 pinctrl_can0: can0grp {
346 VF610_PAD_PTB14__CAN0_RX 0x1181
347 VF610_PAD_PTB15__CAN0_TX 0x1182
351 pinctrl_can1: can1grp {
353 VF610_PAD_PTB16__CAN1_RX 0x1181
354 VF610_PAD_PTB17__CAN1_TX 0x1182
358 pinctrl_dspi0: dspi0grp {
360 VF610_PAD_PTB18__DSPI0_CS1 0x1182
361 VF610_PAD_PTB19__DSPI0_CS0 0x1182
362 VF610_PAD_PTB20__DSPI0_SIN 0x1181
363 VF610_PAD_PTB21__DSPI0_SOUT 0x1182
364 VF610_PAD_PTB22__DSPI0_SCK 0x1182
368 pinctrl_dspi3: dspi3grp {
370 VF610_PAD_PTD10__DSPI3_CS0 0x1181
371 VF610_PAD_PTD11__DSPI3_SIN 0x1181
372 VF610_PAD_PTD12__DSPI3_SOUT 0x1182
373 VF610_PAD_PTD13__DSPI3_SCK 0x1181
377 pinctrl_esdhc1: esdhc1grp {
379 VF610_PAD_PTA24__ESDHC1_CLK 0x31ef
380 VF610_PAD_PTA25__ESDHC1_CMD 0x31ef
381 VF610_PAD_PTA26__ESDHC1_DAT0 0x31ef
382 VF610_PAD_PTA27__ESDHC1_DAT1 0x31ef
383 VF610_PAD_PTA28__ESDHC1_DATA2 0x31ef
384 VF610_PAD_PTA29__ESDHC1_DAT3 0x31ef
385 VF610_PAD_PTB28__GPIO_98 0x219d
389 pinctrl_fec0: fec0grp {
391 VF610_PAD_PTA6__RMII_CLKIN 0x30dd
392 VF610_PAD_PTC0__ENET_RMII0_MDC 0x30de
393 VF610_PAD_PTC1__ENET_RMII0_MDIO 0x30df
394 VF610_PAD_PTC2__ENET_RMII0_CRS 0x30dd
395 VF610_PAD_PTC3__ENET_RMII0_RXD1 0x30dd
396 VF610_PAD_PTC4__ENET_RMII0_RXD0 0x30dd
397 VF610_PAD_PTC5__ENET_RMII0_RXER 0x30dd
398 VF610_PAD_PTC6__ENET_RMII0_TXD1 0x30de
399 VF610_PAD_PTC7__ENET_RMII0_TXD0 0x30de
400 VF610_PAD_PTC8__ENET_RMII0_TXEN 0x30de
404 pinctrl_fec1: fec1grp {
406 VF610_PAD_PTC9__ENET_RMII1_MDC 0x30de
407 VF610_PAD_PTC10__ENET_RMII1_MDIO 0x30df
408 VF610_PAD_PTC11__ENET_RMII1_CRS 0x30dd
409 VF610_PAD_PTC12__ENET_RMII1_RXD1 0x30dd
410 VF610_PAD_PTC13__ENET_RMII1_RXD0 0x30dd
411 VF610_PAD_PTC14__ENET_RMII1_RXER 0x30dd
412 VF610_PAD_PTC15__ENET_RMII1_TXD1 0x30de
413 VF610_PAD_PTC16__ENET_RMII1_TXD0 0x30de
414 VF610_PAD_PTC17__ENET_RMII1_TXEN 0x30de
418 pinctrl_gpio_leds: gpioledsgrp {
421 VF610_PAD_PTE12__GPIO_117 0x1183
423 VF610_PAD_PTE15__GPIO_120 0x1183
424 VF610_PAD_PTA12__GPIO_5 0x1183
425 VF610_PAD_PTA16__GPIO_6 0x1183
426 VF610_PAD_PTE9__GPIO_114 0x1183
427 VF610_PAD_PTE20__GPIO_125 0x1183
428 VF610_PAD_PTE23__GPIO_128 0x1183
429 VF610_PAD_PTE16__GPIO_121 0x1183
433 pinctrl_i2c2: i2c2grp {
435 VF610_PAD_PTA22__I2C2_SCL 0x34df
436 VF610_PAD_PTA23__I2C2_SDA 0x34df
440 pinctrl_nfc: nfcgrp {
442 VF610_PAD_PTD23__NF_IO7 0x28df
443 VF610_PAD_PTD22__NF_IO6 0x28df
444 VF610_PAD_PTD21__NF_IO5 0x28df
445 VF610_PAD_PTD20__NF_IO4 0x28df
446 VF610_PAD_PTD19__NF_IO3 0x28df
447 VF610_PAD_PTD18__NF_IO2 0x28df
448 VF610_PAD_PTD17__NF_IO1 0x28df
449 VF610_PAD_PTD16__NF_IO0 0x28df
450 VF610_PAD_PTB24__NF_WE_B 0x28c2
451 VF610_PAD_PTB25__NF_CE0_B 0x28c2
452 VF610_PAD_PTB27__NF_RE_B 0x28c2
453 VF610_PAD_PTC26__NF_RB_B 0x283d
454 VF610_PAD_PTC27__NF_ALE 0x28c2
455 VF610_PAD_PTC28__NF_CLE 0x28c2
459 pinctrl_qspi0: qspi0grp {
461 VF610_PAD_PTD0__QSPI0_A_QSCK 0x397f
462 VF610_PAD_PTD1__QSPI0_A_CS0 0x397f
463 VF610_PAD_PTD2__QSPI0_A_DATA3 0x397f
464 VF610_PAD_PTD3__QSPI0_A_DATA2 0x397f
465 VF610_PAD_PTD4__QSPI0_A_DATA1 0x397f
466 VF610_PAD_PTD5__QSPI0_A_DATA0 0x397f
467 VF610_PAD_PTD7__QSPI0_B_QSCK 0x397f
468 VF610_PAD_PTD8__QSPI0_B_CS0 0x397f
469 VF610_PAD_PTD11__QSPI0_B_DATA1 0x397f
470 VF610_PAD_PTD12__QSPI0_B_DATA0 0x397f
474 pinctrl_uart0: uart0grp {
476 VF610_PAD_PTB10__UART0_TX 0x21a2
477 VF610_PAD_PTB11__UART0_RX 0x21a1
481 pinctrl_uart1: uart1grp {
483 VF610_PAD_PTB4__UART1_TX 0x21a2
484 VF610_PAD_PTB5__UART1_RX 0x21a1
488 pinctrl_uart2: uart2grp {
490 VF610_PAD_PTB6__UART2_TX 0x21a2
491 VF610_PAD_PTB7__UART2_RX 0x21a1
495 pinctrl_uart3: uart3grp {
497 VF610_PAD_PTA20__UART3_TX 0x21a2
498 VF610_PAD_PTA21__UART3_RX 0x21a1