Loading...
Note: File does not exist in v3.15.
1/*
2 * Copyright (C) 2016 Christoph Fritz <chf.fritz@googlemail.com>
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8
9/dts-v1/;
10
11#include <dt-bindings/gpio/gpio.h>
12#include <dt-bindings/input/input.h>
13#include "imx6sx.dtsi"
14
15/ {
16 model = "Softing VIN|ING 2000";
17 compatible = "samtec,imx6sx-vining-2000", "fsl,imx6sx";
18
19 chosen {
20 stdout-path = &uart1;
21 };
22
23 memory@80000000 {
24 reg = <0x80000000 0x40000000>;
25 };
26
27 reg_usb_otg1_vbus: regulator-usb_otg1_vbus {
28 compatible = "regulator-fixed";
29 regulator-name = "usb_otg1_vbus";
30 pinctrl-names = "default";
31 pinctrl-0 = <&pinctrl_usb_otg1>;
32 regulator-min-microvolt = <5000000>;
33 regulator-max-microvolt = <5000000>;
34 gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>;
35 enable-active-high;
36 };
37
38 reg_peri_3v3: regulator-peri_3v3 {
39 compatible = "regulator-fixed";
40 regulator-name = "peri_3v3";
41 regulator-min-microvolt = <3300000>;
42 regulator-max-microvolt = <3300000>;
43 };
44
45 pwmleds {
46 compatible = "pwm-leds";
47
48 red {
49 label = "red";
50 max-brightness = <255>;
51 pwms = <&pwm6 0 50000>;
52 };
53
54 green {
55 label = "green";
56 max-brightness = <255>;
57 pwms = <&pwm2 0 50000>;
58 };
59
60 blue {
61 label = "blue";
62 max-brightness = <255>;
63 pwms = <&pwm1 0 50000>;
64 };
65 };
66};
67
68&adc1 {
69 vref-supply = <®_peri_3v3>;
70 status = "okay";
71};
72
73&cpu0 {
74 /*
75 * This board has a shared rail of reg_arm and reg_soc (supplied by
76 * sw1a_reg) which is modeled below, but still this module behaves
77 * unstable without higher voltages. Hence, set higher voltages here.
78 */
79 operating-points = <
80 /* kHz uV */
81 996000 1250000
82 792000 1175000
83 396000 1175000
84 198000 1175000
85 >;
86 fsl,soc-operating-points = <
87 /* ARM kHz SOC uV */
88 996000 1250000
89 792000 1175000
90 396000 1175000
91 198000 1175000
92 >;
93};
94
95&ecspi4 {
96 pinctrl-names = "default";
97 pinctrl-0 = <&pinctrl_ecspi4>;
98 cs-gpios = <&gpio7 4 GPIO_ACTIVE_HIGH>;
99 status = "okay";
100};
101
102&fec1 {
103 pinctrl-names = "default";
104 pinctrl-0 = <&pinctrl_enet1>;
105 phy-supply = <®_peri_3v3>;
106 phy-reset-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
107 phy-reset-duration = <5>;
108 phy-mode = "rmii";
109 phy-handle = <ðphy0>;
110 status = "okay";
111
112 mdio {
113 #address-cells = <1>;
114 #size-cells = <0>;
115
116 ethphy0: ethernet0-phy@0 {
117 reg = <0>;
118 max-speed = <100>;
119 interrupt-parent = <&gpio2>;
120 interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
121 };
122 };
123};
124
125&fec2 {
126 pinctrl-names = "default";
127 pinctrl-0 = <&pinctrl_enet2>;
128 phy-supply = <®_peri_3v3>;
129 phy-reset-gpios = <&gpio5 21 GPIO_ACTIVE_LOW>;
130 phy-reset-duration = <5>;
131 phy-mode = "rmii";
132 phy-handle = <ðphy1>;
133 status = "okay";
134
135 mdio {
136 #address-cells = <1>;
137 #size-cells = <0>;
138
139 ethphy1: ethernet1-phy@0 {
140 reg = <0>;
141 max-speed = <100>;
142 interrupt-parent = <&gpio2>;
143 interrupts = <19 IRQ_TYPE_LEVEL_LOW>;
144 };
145 };
146};
147
148&flexcan1 {
149 pinctrl-names = "default";
150 pinctrl-0 = <&pinctrl_flexcan1>;
151 status = "okay";
152};
153
154&flexcan2 {
155 pinctrl-names = "default";
156 pinctrl-0 = <&pinctrl_flexcan2>;
157 status = "okay";
158};
159
160&i2c1 {
161 clock-frequency = <100000>;
162 pinctrl-names = "default";
163 pinctrl-0 = <&pinctrl_i2c1>;
164 status = "okay";
165
166 proximity: sx9500@28 {
167 compatible = "semtech,sx9500";
168 reg = <0x28>;
169 pinctrl-names = "default";
170 pinctrl-0 = <&pinctrl_sx9500>;
171 interrupt-parent = <&gpio2>;
172 interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
173 reset-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>;
174 };
175
176 pmic: pfuze100@8 {
177 compatible = "fsl,pfuze200";
178 reg = <0x08>;
179
180 regulators {
181 sw1a_reg: sw1ab {
182 regulator-min-microvolt = <300000>;
183 regulator-max-microvolt = <1875000>;
184 regulator-boot-on;
185 regulator-always-on;
186 regulator-ramp-delay = <6250>;
187 };
188
189 sw2_reg: sw2 {
190 regulator-min-microvolt = <800000>;
191 regulator-max-microvolt = <3300000>;
192 regulator-boot-on;
193 regulator-always-on;
194 };
195
196 sw3a_reg: sw3a {
197 regulator-min-microvolt = <400000>;
198 regulator-max-microvolt = <1975000>;
199 regulator-boot-on;
200 regulator-always-on;
201 };
202
203 sw3b_reg: sw3b {
204 regulator-min-microvolt = <400000>;
205 regulator-max-microvolt = <1975000>;
206 regulator-boot-on;
207 regulator-always-on;
208 };
209
210 snvs_reg: vsnvs {
211 regulator-min-microvolt = <1000000>;
212 regulator-max-microvolt = <3000000>;
213 regulator-boot-on;
214 regulator-always-on;
215 };
216
217 vref_reg: vrefddr {
218 regulator-boot-on;
219 regulator-always-on;
220 };
221
222 vgen1_reg: vgen1 {
223 regulator-min-microvolt = <800000>;
224 regulator-max-microvolt = <1550000>;
225 regulator-always-on;
226 };
227
228 vgen2_reg: vgen2 {
229 regulator-min-microvolt = <800000>;
230 regulator-max-microvolt = <1550000>;
231 };
232
233 vgen3_reg: vgen3 {
234 regulator-min-microvolt = <1800000>;
235 regulator-max-microvolt = <3300000>;
236 regulator-always-on;
237 };
238
239 vgen4_reg: vgen4 {
240 regulator-min-microvolt = <1800000>;
241 regulator-max-microvolt = <3300000>;
242 regulator-always-on;
243 };
244
245 vgen5_reg: vgen5 {
246 regulator-min-microvolt = <1800000>;
247 regulator-max-microvolt = <3300000>;
248 regulator-always-on;
249 };
250
251 vgen6_reg: vgen6 {
252 regulator-min-microvolt = <1800000>;
253 regulator-max-microvolt = <3300000>;
254 regulator-always-on;
255 };
256 };
257 };
258};
259
260&i2c3 {
261 clock-frequency = <100000>;
262 pinctrl-names = "default";
263 pinctrl-0 = <&pinctrl_i2c3>;
264 status = "okay";
265};
266
267&iomuxc {
268 pinctrl-names = "default";
269 pinctrl-0 = <&pinctrl_gpios>;
270
271 pinctrl_ecspi4: ecspi4grp {
272 fsl,pins = <
273 MX6SX_PAD_SD3_CLK__ECSPI4_SCLK 0x130b1
274 MX6SX_PAD_SD3_DATA3__ECSPI4_MISO 0x130b1
275 MX6SX_PAD_SD3_CMD__ECSPI4_MOSI 0x130b1
276 MX6SX_PAD_SD3_DATA2__GPIO7_IO_4 0x30b0
277 >;
278 };
279
280 pinctrl_enet1: enet1grp {
281 fsl,pins = <
282 MX6SX_PAD_RGMII1_RD0__ENET1_RX_DATA_0 0x30c1
283 MX6SX_PAD_RGMII1_RD1__ENET1_RX_DATA_1 0x30c1
284 MX6SX_PAD_RGMII1_TD0__ENET1_TX_DATA_0 0xa0f9
285 MX6SX_PAD_RGMII1_TD1__ENET1_TX_DATA_1 0xa0f9
286 MX6SX_PAD_RGMII1_RX_CTL__ENET1_RX_EN 0x30c1
287 MX6SX_PAD_RGMII1_TX_CTL__ENET1_TX_EN 0xa0f9
288 MX6SX_PAD_ENET1_TX_CLK__ENET1_REF_CLK1 0x4000a038
289 /* LAN8720 PHY Reset */
290 MX6SX_PAD_RGMII1_TD3__GPIO5_IO_9 0x10b0
291 /* MDIO */
292 MX6SX_PAD_ENET1_MDC__ENET1_MDC 0xa0f9
293 MX6SX_PAD_ENET1_MDIO__ENET1_MDIO 0xa0f9
294 /* IRQ from PHY */
295 MX6SX_PAD_KEY_ROW2__GPIO2_IO_17 0x10b0
296 >;
297 };
298
299 pinctrl_enet2: enet2grp {
300 fsl,pins = <
301 MX6SX_PAD_RGMII2_TD0__ENET2_TX_DATA_0 0x1b0b0
302 MX6SX_PAD_RGMII2_TD1__ENET2_TX_DATA_1 0x1b0b0
303 MX6SX_PAD_RGMII2_RD0__ENET2_RX_DATA_0 0x1b0b0
304 MX6SX_PAD_RGMII2_RD1__ENET2_RX_DATA_1 0x1b0b0
305 MX6SX_PAD_RGMII2_RX_CTL__ENET2_RX_EN 0x1b0b0
306 MX6SX_PAD_RGMII2_TX_CTL__ENET2_TX_EN 0x1b0b0
307 MX6SX_PAD_ENET2_TX_CLK__ENET2_REF_CLK2 0x4000a038
308 /* LAN8720 PHY Reset */
309 MX6SX_PAD_RGMII2_TD3__GPIO5_IO_21 0x10b0
310 /* MDIO */
311 MX6SX_PAD_ENET1_COL__ENET2_MDC 0xa0f9
312 MX6SX_PAD_ENET1_CRS__ENET2_MDIO 0xa0f9
313 /* IRQ from PHY */
314 MX6SX_PAD_KEY_ROW4__GPIO2_IO_19 0x10b0
315 >;
316 };
317
318 pinctrl_flexcan1: flexcan1grp {
319 fsl,pins = <
320 MX6SX_PAD_QSPI1B_DQS__CAN1_TX 0x1b0b0
321 MX6SX_PAD_QSPI1A_SS1_B__CAN1_RX 0x1b0b0
322 >;
323 };
324
325 pinctrl_flexcan2: flexcan2grp {
326 fsl,pins = <
327 MX6SX_PAD_QSPI1B_SS1_B__CAN2_RX 0x1b0b0
328 MX6SX_PAD_QSPI1A_DQS__CAN2_TX 0x1b0b0
329 >;
330 };
331
332 pinctrl_gpios: gpiosgrp {
333 fsl,pins = <
334 /* reset external uC */
335 MX6SX_PAD_QSPI1A_DATA3__GPIO4_IO_19 0x10b0
336 /* IRQ from external uC */
337 MX6SX_PAD_KEY_ROW0__GPIO2_IO_15 0x10b0
338 /* overcurrent detection */
339 MX6SX_PAD_GPIO1_IO08__GPIO1_IO_8 0x10b0
340 >;
341 };
342
343 pinctrl_i2c1: i2c1grp {
344 fsl,pins = <
345 MX6SX_PAD_GPIO1_IO01__I2C1_SDA 0x4001b8b1
346 MX6SX_PAD_GPIO1_IO00__I2C1_SCL 0x4001b8b1
347 >;
348 };
349
350 pinctrl_i2c3: i2c3grp {
351 fsl,pins = <
352 MX6SX_PAD_NAND_ALE__I2C3_SDA 0x4001b8b1
353 MX6SX_PAD_NAND_CLE__I2C3_SCL 0x4001b8b1
354 >;
355 };
356
357 pinctrl_pwm1: pwm1grp-1 {
358 fsl,pins = <
359 /* blue LED */
360 MX6SX_PAD_RGMII2_RD3__PWM1_OUT 0x1b0b1
361 >;
362 };
363
364 pinctrl_pwm2: pwm2grp-1 {
365 fsl,pins = <
366 /* green LED */
367 MX6SX_PAD_RGMII2_RD2__PWM2_OUT 0x1b0b1
368 >;
369 };
370
371 pinctrl_pwm6: pwm6grp-1 {
372 fsl,pins = <
373 /* red LED */
374 MX6SX_PAD_RGMII2_TD2__PWM6_OUT 0x1b0b1
375 >;
376 };
377
378 pinctrl_sx9500: sx9500grp {
379 fsl,pins = <
380 /* Reset */
381 MX6SX_PAD_KEY_COL0__GPIO2_IO_10 0x838
382 /* IRQ */
383 MX6SX_PAD_KEY_ROW1__GPIO2_IO_16 0x70e0
384 >;
385 };
386
387 pinctrl_uart1: uart1grp {
388 fsl,pins = <
389 MX6SX_PAD_GPIO1_IO04__UART1_TX 0x1b0b1
390 MX6SX_PAD_GPIO1_IO05__UART1_RX 0x1b0b1
391 >;
392 };
393
394 pinctrl_uart2: uart2grp {
395 fsl,pins = <
396 MX6SX_PAD_GPIO1_IO06__UART2_TX 0x1b0b1
397 MX6SX_PAD_GPIO1_IO07__UART2_RX 0x1b0b1
398 >;
399 };
400
401 pinctrl_usb_otg1: usbotg1grp {
402 fsl,pins = <
403 MX6SX_PAD_GPIO1_IO09__GPIO1_IO_9 0x10b0
404 >;
405 };
406
407 pinctrl_usb_otg1_id: usbotg1idgrp {
408 fsl,pins = <
409 MX6SX_PAD_GPIO1_IO10__ANATOP_OTG1_ID 0x17059
410 >;
411 };
412
413 pinctrl_usdhc2_50mhz: usdhc2grp-50mhz {
414 fsl,pins = <
415 MX6SX_PAD_SD2_CLK__USDHC2_CLK 0x10059
416 MX6SX_PAD_SD2_CMD__USDHC2_CMD 0x17059
417 MX6SX_PAD_SD2_DATA0__USDHC2_DATA0 0x17059
418 MX6SX_PAD_SD2_DATA1__USDHC2_DATA1 0x17059
419 MX6SX_PAD_SD2_DATA2__USDHC2_DATA2 0x17059
420 MX6SX_PAD_SD2_DATA3__USDHC2_DATA3 0x17059
421 MX6SX_PAD_LCD1_VSYNC__GPIO3_IO_28 0x1b000
422 MX6SX_PAD_LCD1_HSYNC__GPIO3_IO_26 0x10b0
423 >;
424 };
425
426 pinctrl_usdhc2_100mhz: usdhc2grp-100mhz {
427 fsl,pins = <
428 MX6SX_PAD_SD2_CLK__USDHC2_CLK 0x100b9
429 MX6SX_PAD_SD2_CMD__USDHC2_CMD 0x170b9
430 MX6SX_PAD_SD2_DATA0__USDHC2_DATA0 0x170b9
431 MX6SX_PAD_SD2_DATA1__USDHC2_DATA1 0x170b9
432 MX6SX_PAD_SD2_DATA2__USDHC2_DATA2 0x170b9
433 MX6SX_PAD_SD2_DATA3__USDHC2_DATA3 0x170b9
434 >;
435 };
436
437 pinctrl_usdhc2_200mhz: usdhc2grp-200mhz {
438 fsl,pins = <
439 MX6SX_PAD_SD2_CLK__USDHC2_CLK 0x100f9
440 MX6SX_PAD_SD2_CMD__USDHC2_CMD 0x170f9
441 MX6SX_PAD_SD2_DATA0__USDHC2_DATA0 0x170f9
442 MX6SX_PAD_SD2_DATA1__USDHC2_DATA1 0x170f9
443 MX6SX_PAD_SD2_DATA2__USDHC2_DATA2 0x170f9
444 MX6SX_PAD_SD2_DATA3__USDHC2_DATA3 0x170f9
445 >;
446 };
447
448 pinctrl_usdhc4_50mhz: usdhc4grp-50mhz {
449 fsl,pins = <
450 MX6SX_PAD_SD4_CLK__USDHC4_CLK 0x10059
451 MX6SX_PAD_SD4_CMD__USDHC4_CMD 0x17059
452 MX6SX_PAD_SD4_DATA0__USDHC4_DATA0 0x17059
453 MX6SX_PAD_SD4_DATA1__USDHC4_DATA1 0x17059
454 MX6SX_PAD_SD4_DATA2__USDHC4_DATA2 0x17059
455 MX6SX_PAD_SD4_DATA3__USDHC4_DATA3 0x17059
456 MX6SX_PAD_SD4_DATA4__USDHC4_DATA4 0x17059
457 MX6SX_PAD_SD4_DATA5__USDHC4_DATA5 0x17059
458 MX6SX_PAD_SD4_DATA6__USDHC4_DATA6 0x17059
459 MX6SX_PAD_SD4_DATA7__USDHC4_DATA7 0x17059
460 MX6SX_PAD_SD4_RESET_B__USDHC4_RESET_B 0x17068
461 >;
462 };
463
464 pinctrl_usdhc4_100mhz: usdhc4-100mhz {
465 fsl,pins = <
466 MX6SX_PAD_SD4_CLK__USDHC4_CLK 0x100b9
467 MX6SX_PAD_SD4_CMD__USDHC4_CMD 0x170b9
468 MX6SX_PAD_SD4_DATA0__USDHC4_DATA0 0x170b9
469 MX6SX_PAD_SD4_DATA1__USDHC4_DATA1 0x170b9
470 MX6SX_PAD_SD4_DATA2__USDHC4_DATA2 0x170b9
471 MX6SX_PAD_SD4_DATA3__USDHC4_DATA3 0x170b9
472 MX6SX_PAD_SD4_DATA4__USDHC4_DATA4 0x170b9
473 MX6SX_PAD_SD4_DATA5__USDHC4_DATA5 0x170b9
474 MX6SX_PAD_SD4_DATA6__USDHC4_DATA6 0x170b9
475 MX6SX_PAD_SD4_DATA7__USDHC4_DATA7 0x170b9
476 >;
477 };
478
479 pinctrl_usdhc4_200mhz: usdhc4-200mhz {
480 fsl,pins = <
481 MX6SX_PAD_SD4_CLK__USDHC4_CLK 0x100f9
482 MX6SX_PAD_SD4_CMD__USDHC4_CMD 0x170f9
483 MX6SX_PAD_SD4_DATA0__USDHC4_DATA0 0x170f9
484 MX6SX_PAD_SD4_DATA1__USDHC4_DATA1 0x170f9
485 MX6SX_PAD_SD4_DATA2__USDHC4_DATA2 0x170f9
486 MX6SX_PAD_SD4_DATA3__USDHC4_DATA3 0x170f9
487 MX6SX_PAD_SD4_DATA4__USDHC4_DATA4 0x170f9
488 MX6SX_PAD_SD4_DATA5__USDHC4_DATA5 0x170f9
489 MX6SX_PAD_SD4_DATA6__USDHC4_DATA6 0x170f9
490 MX6SX_PAD_SD4_DATA7__USDHC4_DATA7 0x170f9
491 >;
492 };
493};
494
495&pwm1 {
496 pinctrl-names = "default";
497 pinctrl-0 = <&pinctrl_pwm1>;
498 status = "okay";
499};
500
501&pwm2 {
502 pinctrl-names = "default";
503 pinctrl-0 = <&pinctrl_pwm2>;
504 status = "okay";
505};
506
507&pwm6 {
508 pinctrl-names = "default";
509 pinctrl-0 = <&pinctrl_pwm6>;
510 status = "okay";
511};
512
513®_arm {
514 vin-supply = <&sw1a_reg>;
515};
516
517®_soc {
518 vin-supply = <&sw1a_reg>;
519};
520
521&snvs_poweroff {
522 status = "okay";
523};
524
525&uart1 {
526 pinctrl-names = "default";
527 pinctrl-0 = <&pinctrl_uart1>;
528 status = "okay";
529};
530
531&uart2 {
532 pinctrl-names = "default";
533 pinctrl-0 = <&pinctrl_uart2>;
534 status = "okay";
535};
536
537&usbotg1 {
538 vbus-supply = <®_usb_otg1_vbus>;
539 pinctrl-names = "default";
540 pinctrl-0 = <&pinctrl_usb_otg1_id>;
541 status = "okay";
542};
543
544&usbotg2 {
545 dr_mode = "host";
546 status = "okay";
547};
548
549&usdhc2 {
550 pinctrl-names = "default", "state_100mhz", "state_200mhz";
551 pinctrl-0 = <&pinctrl_usdhc2_50mhz>;
552 pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
553 pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
554 cd-gpios = <&gpio3 28 GPIO_ACTIVE_LOW>;
555 keep-power-in-suspend;
556 status = "okay";
557};
558
559&usdhc4 {
560 /* hs200-mode is currently unsupported because Vccq is on 3.1V, but
561 * not on necessary 1.8V.
562 */
563 pinctrl-names = "default", "state_100mhz", "state_200mhz";
564 pinctrl-0 = <&pinctrl_usdhc4_50mhz>;
565 pinctrl-1 = <&pinctrl_usdhc4_100mhz>;
566 pinctrl-2 = <&pinctrl_usdhc4_200mhz>;
567 bus-width = <8>;
568 keep-power-in-suspend;
569 non-removable;
570 cap-mmc-hw-reset;
571 status = "okay";
572};