blob: 96495d965163569483860930d1f3ac748936878b [file] [log] [blame]
Andrey Smirnov19fddda2018-07-19 12:57:24 -07001// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2
3/*
4 * Copyright (C) 2018 Zodiac Inflight Innovations
5 */
6
7/dts-v1/;
8#include "vf610.dtsi"
9
10/ {
11 model = "ZII VF610 CFU1 Board";
12 compatible = "zii,vf610cfu1", "zii,vf610dev", "fsl,vf610";
13
14 chosen {
15 stdout-path = &uart0;
16 };
17
18 memory@80000000 {
Fabio Estevamf535d102018-11-30 22:44:52 -020019 device_type = "memory";
Andrey Smirnov19fddda2018-07-19 12:57:24 -070020 reg = <0x80000000 0x20000000>;
21 };
22
23 gpio-leds {
24 compatible = "gpio-leds";
25 pinctrl-0 = <&pinctrl_leds_debug>;
26 pinctrl-names = "default";
27
28 led-debug {
29 label = "zii:green:debug1";
30 gpios = <&gpio2 18 GPIO_ACTIVE_HIGH>;
31 linux,default-trigger = "heartbeat";
Andrey Smirnov19fddda2018-07-19 12:57:24 -070032 };
33
34 led-fail {
35 label = "zii:red:fail";
36 gpios = <&gpio3 12 GPIO_ACTIVE_LOW>;
37 default-state = "off";
Andrey Smirnov19fddda2018-07-19 12:57:24 -070038 };
39
40 led-status {
41 label = "zii:green:status";
42 gpios = <&gpio3 13 GPIO_ACTIVE_HIGH>;
43 default-state = "off";
Andrey Smirnov19fddda2018-07-19 12:57:24 -070044 };
45
46 led-debug-a {
47 label = "zii:green:debug_a";
48 gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>;
49 default-state = "off";
Andrey Smirnov19fddda2018-07-19 12:57:24 -070050 };
51
52 led-debug-b {
53 label = "zii:green:debug_b";
54 gpios = <&gpio3 15 GPIO_ACTIVE_HIGH>;
55 default-state = "off";
Andrey Smirnov19fddda2018-07-19 12:57:24 -070056 };
57 };
58
59 reg_vcc_3v3_mcu: regulator-vcc-3v3-mcu {
60 compatible = "regulator-fixed";
61 regulator-name = "vcc_3v3_mcu";
62 regulator-min-microvolt = <3300000>;
63 regulator-max-microvolt = <3300000>;
64 };
Andrew Lunnd482cc62018-09-02 18:29:11 +020065
66 sff: sfp {
67 compatible = "sff,sff";
68 pinctrl-0 = <&pinctrl_optical>;
69 pinctrl-names = "default";
70 i2c-bus = <&i2c0>;
71 los-gpio = <&gpio4 4 GPIO_ACTIVE_HIGH>;
72 tx-disable-gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>;
73 };
Andrey Smirnov24395452020-01-14 07:19:06 -080074
75 supply-voltage-monitor {
76 compatible = "iio-hwmon";
77 io-channels = <&adc0 8>, /* 28VDC_IN */
78 <&adc0 9>, /* +3.3V */
79 <&adc1 8>, /* VCC_1V5 */
80 <&adc1 9>; /* VCC_1V2 */
81 };
Andrey Smirnov19fddda2018-07-19 12:57:24 -070082};
83
84&adc0 {
85 vref-supply = <&reg_vcc_3v3_mcu>;
86 status = "okay";
87};
88
89&adc1 {
90 vref-supply = <&reg_vcc_3v3_mcu>;
91 status = "okay";
92};
93
94&dspi1 {
95 bus-num = <1>;
96 pinctrl-names = "default";
97 pinctrl-0 = <&pinctrl_dspi1>;
Andrey Smirnov5f0a88a2019-03-25 11:30:17 -070098 /*
99 * Some CFU1s come with SPI-NOR chip DNPed, so we leave this
100 * node disabled by default and rely on bootloader to enable
101 * it when appropriate.
102 */
103 status = "disabled";
Andrey Smirnov19fddda2018-07-19 12:57:24 -0700104
Fabio Estevam00e3ff82019-04-03 09:53:14 -0300105 flash@0 {
Andrey Smirnov19fddda2018-07-19 12:57:24 -0700106 #address-cells = <1>;
107 #size-cells = <1>;
108 compatible = "m25p128", "jedec,spi-nor";
109 reg = <0>;
110 spi-max-frequency = <50000000>;
111
112 partition@0 {
113 label = "m25p128-0";
114 reg = <0x0 0x01000000>;
115 };
116 };
117};
118
119&edma0 {
120 status = "okay";
121};
122
123&edma1 {
124 status = "okay";
125};
126
127&esdhc0 {
128 pinctrl-names = "default";
129 pinctrl-0 = <&pinctrl_esdhc0>;
130 bus-width = <8>;
131 non-removable;
132 no-1-8-v;
133 keep-power-in-suspend;
Fabio Estevam466b6bd2018-09-11 17:10:46 -0300134 no-sdio;
Fabio Estevam6656c392018-09-11 17:10:47 -0300135 no-sd;
Andrey Smirnov19fddda2018-07-19 12:57:24 -0700136 status = "okay";
137};
138
139&esdhc1 {
140 pinctrl-names = "default";
141 pinctrl-0 = <&pinctrl_esdhc1>;
142 bus-width = <4>;
Fabio Estevam466b6bd2018-09-11 17:10:46 -0300143 no-sdio;
Andrey Smirnov19fddda2018-07-19 12:57:24 -0700144 status = "okay";
145};
146
147&fec1 {
148 phy-mode = "rmii";
149 pinctrl-names = "default";
150 pinctrl-0 = <&pinctrl_fec1>;
151 status = "okay";
152
153 fixed-link {
154 speed = <100>;
155 full-duplex;
156 };
157
158 mdio1: mdio {
159 #address-cells = <1>;
160 #size-cells = <0>;
Chris Healyb9553872020-07-07 18:16:27 -0700161 clock-frequency = <12500000>;
162 suppress-preamble;
Andrey Smirnov19fddda2018-07-19 12:57:24 -0700163 status = "okay";
164
165 switch0: switch0@0 {
166 compatible = "marvell,mv88e6085";
167 pinctrl-names = "default";
168 pinctrl-0 = <&pinctrl_switch>;
169 reg = <0>;
170 eeprom-length = <512>;
171 interrupt-parent = <&gpio3>;
172 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
173 interrupt-controller;
174 #interrupt-cells = <2>;
Andrey Smirnov19fddda2018-07-19 12:57:24 -0700175
176 ports {
177 #address-cells = <1>;
178 #size-cells = <0>;
179
180 port@0 {
181 reg = <0>;
182 label = "eth_cu_1000_1";
183 };
184
185 port@1 {
186 reg = <1>;
187 label = "eth_cu_1000_2";
188 };
189
190 port@2 {
191 reg = <2>;
192 label = "eth_cu_1000_3";
193 };
194
Andrew Lunnd482cc62018-09-02 18:29:11 +0200195 port@5 {
196 reg = <5>;
197 label = "eth_fc_1000_1";
198 phy-mode = "1000base-x";
199 managed = "in-band-status";
200 sfp = <&sff>;
201 };
202
Andrey Smirnov19fddda2018-07-19 12:57:24 -0700203 port@6 {
204 reg = <6>;
205 label = "cpu";
206 ethernet = <&fec1>;
207
208 fixed-link {
209 speed = <100>;
210 full-duplex;
211 };
212 };
213 };
214 };
215 };
216};
217
218&i2c0 {
Andrey Smirnov80159242019-08-20 18:39:36 -0700219 clock-frequency = <100000>;
Andrey Smirnov19fddda2018-07-19 12:57:24 -0700220 pinctrl-names = "default";
221 pinctrl-0 = <&pinctrl_i2c0>;
222 status = "okay";
223
Fabio Estevam00e3ff82019-04-03 09:53:14 -0300224 io-expander@22 {
Andrey Smirnov19fddda2018-07-19 12:57:24 -0700225 compatible = "nxp,pca9554";
226 reg = <0x22>;
227 gpio-controller;
Krzysztof Kozlowskied13ffc2020-08-29 11:40:24 +0200228 #gpio-cells = <2>;
Andrey Smirnov19fddda2018-07-19 12:57:24 -0700229 };
230
231 lm75@48 {
232 compatible = "national,lm75";
233 reg = <0x48>;
234 };
235
Fabio Estevam00e3ff82019-04-03 09:53:14 -0300236 eeprom@52 {
Andrey Smirnov19fddda2018-07-19 12:57:24 -0700237 compatible = "atmel,24c04";
238 reg = <0x52>;
239 label = "nvm";
240 };
241
Fabio Estevam00e3ff82019-04-03 09:53:14 -0300242 eeprom@54 {
Andrey Smirnov19fddda2018-07-19 12:57:24 -0700243 compatible = "atmel,24c04";
244 reg = <0x54>;
245 label = "nameplate";
246 };
247};
248
Andrey Smirnov876eb9b2019-08-14 12:35:36 -0700249&i2c1 {
250 clock-frequency = <100000>;
251 pinctrl-names = "default";
252 pinctrl-0 = <&pinctrl_i2c1>;
253 status = "okay";
254
255 watchdog@38 {
256 compatible = "zii,rave-wdt";
257 reg = <0x38>;
258 };
259};
260
Fabio Estevam8da0af52019-02-13 16:24:38 -0200261&snvsrtc {
262 status = "disabled";
263};
264
Andrey Smirnov19fddda2018-07-19 12:57:24 -0700265&uart0 {
266 pinctrl-names = "default";
267 pinctrl-0 = <&pinctrl_uart0>;
268 status = "okay";
269};
270
271&iomuxc {
272 pinctrl_dspi1: dspi1grp {
273 fsl,pins = <
274 VF610_PAD_PTD5__DSPI1_CS0 0x1182
275 VF610_PAD_PTC6__DSPI1_SIN 0x1181
276 VF610_PAD_PTC7__DSPI1_SOUT 0x1182
277 VF610_PAD_PTC8__DSPI1_SCK 0x1182
278 >;
279 };
280
281 pinctrl_esdhc0: esdhc0grp {
282 fsl,pins = <
283 VF610_PAD_PTC0__ESDHC0_CLK 0x31ef
284 VF610_PAD_PTC1__ESDHC0_CMD 0x31ef
285 VF610_PAD_PTC2__ESDHC0_DAT0 0x31ef
286 VF610_PAD_PTC3__ESDHC0_DAT1 0x31ef
287 VF610_PAD_PTC4__ESDHC0_DAT2 0x31ef
288 VF610_PAD_PTC5__ESDHC0_DAT3 0x31ef
289 VF610_PAD_PTD23__ESDHC0_DAT4 0x31ef
290 VF610_PAD_PTD22__ESDHC0_DAT5 0x31ef
291 VF610_PAD_PTD21__ESDHC0_DAT6 0x31ef
292 VF610_PAD_PTD20__ESDHC0_DAT7 0x31ef
293 >;
294 };
295
296 pinctrl_esdhc1: esdhc1grp {
297 fsl,pins = <
298 VF610_PAD_PTA24__ESDHC1_CLK 0x31ef
299 VF610_PAD_PTA25__ESDHC1_CMD 0x31ef
300 VF610_PAD_PTA26__ESDHC1_DAT0 0x31ef
301 VF610_PAD_PTA27__ESDHC1_DAT1 0x31ef
302 VF610_PAD_PTA28__ESDHC1_DATA2 0x31ef
303 VF610_PAD_PTA29__ESDHC1_DAT3 0x31ef
304 >;
305 };
306
307 pinctrl_fec1: fec1grp {
308 fsl,pins = <
309 VF610_PAD_PTA6__RMII_CLKIN 0x30d1
310 VF610_PAD_PTC9__ENET_RMII1_MDC 0x30fe
311 VF610_PAD_PTC10__ENET_RMII1_MDIO 0x30d3
312 VF610_PAD_PTC11__ENET_RMII1_CRS 0x30d1
313 VF610_PAD_PTC12__ENET_RMII1_RXD1 0x30d1
314 VF610_PAD_PTC13__ENET_RMII1_RXD0 0x30d1
315 VF610_PAD_PTC14__ENET_RMII1_RXER 0x30d1
316 VF610_PAD_PTC15__ENET_RMII1_TXD1 0x30d2
317 VF610_PAD_PTC16__ENET_RMII1_TXD0 0x30d2
318 VF610_PAD_PTC17__ENET_RMII1_TXEN 0x30d2
319 >;
320 };
321
322 pinctrl_i2c0: i2c0grp {
323 fsl,pins = <
324 VF610_PAD_PTB14__I2C0_SCL 0x37ff
325 VF610_PAD_PTB15__I2C0_SDA 0x37ff
326 >;
327 };
328
Andrey Smirnov876eb9b2019-08-14 12:35:36 -0700329 pinctrl_i2c1: i2c1grp {
330 fsl,pins = <
331 VF610_PAD_PTB16__I2C1_SCL 0x37ff
332 VF610_PAD_PTB17__I2C1_SDA 0x37ff
333 >;
334 };
335
Andrey Smirnov19fddda2018-07-19 12:57:24 -0700336 pinctrl_leds_debug: pinctrl-leds-debug {
337 fsl,pins = <
338 VF610_PAD_PTD3__GPIO_82 0x31c2
339 VF610_PAD_PTE3__GPIO_108 0x31c2
340 VF610_PAD_PTE4__GPIO_109 0x31c2
341 VF610_PAD_PTE5__GPIO_110 0x31c2
342 VF610_PAD_PTE6__GPIO_111 0x31c2
343 >;
344 };
345
Andrew Lunnd482cc62018-09-02 18:29:11 +0200346 pinctrl_optical: optical-grp {
347 fsl,pins = <
348 /* SFF SD input */
349 VF610_PAD_PTE27__GPIO_132 0x3061
350
351 /* SFF Transmit disable output */
352 VF610_PAD_PTE13__GPIO_118 0x3043
353 >;
354 };
355
Andrey Smirnov19fddda2018-07-19 12:57:24 -0700356 pinctrl_switch: switch-grp {
357 fsl,pins = <
358 VF610_PAD_PTB28__GPIO_98 0x3061
Andrey Smirnov19fddda2018-07-19 12:57:24 -0700359 >;
360 };
361
362 pinctrl_uart0: uart0grp {
363 fsl,pins = <
364 VF610_PAD_PTB10__UART0_TX 0x21a2
365 VF610_PAD_PTB11__UART0_RX 0x21a1
366 >;
367 };
368};