2 * Copyright (C) 2016 Christoph Fritz <chf.fritz@googlemail.com>
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.
11 #include <dt-bindings/gpio/gpio.h>
12 #include <dt-bindings/input/input.h>
13 #include "imx6sx.dtsi"
16 model = "Softing VIN|ING 2000";
17 compatible = "samtec,imx6sx-vining-2000", "fsl,imx6sx";
29 device_type = "memory";
30 reg = <0x80000000 0x40000000>;
33 reg_usb_otg1_vbus: regulator-usb_otg1_vbus {
34 compatible = "regulator-fixed";
35 regulator-name = "usb_otg1_vbus";
36 pinctrl-names = "default";
37 pinctrl-0 = <&pinctrl_usb_otg1>;
38 regulator-min-microvolt = <5000000>;
39 regulator-max-microvolt = <5000000>;
40 gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>;
44 reg_peri_3v3: regulator-peri_3v3 {
45 compatible = "regulator-fixed";
46 regulator-name = "peri_3v3";
47 regulator-min-microvolt = <3300000>;
48 regulator-max-microvolt = <3300000>;
52 compatible = "pwm-leds";
56 max-brightness = <255>;
57 pwms = <&pwm6 0 50000>;
62 max-brightness = <255>;
63 pwms = <&pwm2 0 50000>;
68 max-brightness = <255>;
69 pwms = <&pwm1 0 50000>;
75 vref-supply = <®_peri_3v3>;
81 * This board has a shared rail of reg_arm and reg_soc (supplied by
82 * sw1a_reg) which is modeled below, but still this module behaves
83 * unstable without higher voltages. Hence, set higher voltages here.
92 fsl,soc-operating-points = <
102 pinctrl-names = "default";
103 pinctrl-0 = <&pinctrl_ecspi4>;
104 cs-gpios = <&gpio7 4 GPIO_ACTIVE_HIGH>;
109 pinctrl-names = "default";
110 pinctrl-0 = <&pinctrl_enet1>;
111 phy-supply = <®_peri_3v3>;
112 phy-reset-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
113 phy-reset-duration = <5>;
115 phy-handle = <ðphy0>;
119 #address-cells = <1>;
122 ethphy0: ethernet0-phy@0 {
125 interrupt-parent = <&gpio2>;
126 interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
132 pinctrl-names = "default";
133 pinctrl-0 = <&pinctrl_enet2>;
134 phy-supply = <®_peri_3v3>;
135 phy-reset-gpios = <&gpio5 21 GPIO_ACTIVE_LOW>;
136 phy-reset-duration = <5>;
138 phy-handle = <ðphy1>;
142 #address-cells = <1>;
145 ethphy1: ethernet1-phy@0 {
148 interrupt-parent = <&gpio2>;
149 interrupts = <19 IRQ_TYPE_LEVEL_LOW>;
155 pinctrl-names = "default";
156 pinctrl-0 = <&pinctrl_flexcan1>;
161 pinctrl-names = "default";
162 pinctrl-0 = <&pinctrl_flexcan2>;
167 clock-frequency = <100000>;
168 pinctrl-names = "default";
169 pinctrl-0 = <&pinctrl_i2c1>;
172 proximity: sx9500@28 {
173 compatible = "semtech,sx9500";
175 pinctrl-names = "default";
176 pinctrl-0 = <&pinctrl_sx9500>;
177 interrupt-parent = <&gpio2>;
178 interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
179 reset-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>;
183 compatible = "fsl,pfuze200";
188 regulator-min-microvolt = <300000>;
189 regulator-max-microvolt = <1875000>;
192 regulator-ramp-delay = <6250>;
196 regulator-min-microvolt = <800000>;
197 regulator-max-microvolt = <3300000>;
203 regulator-min-microvolt = <400000>;
204 regulator-max-microvolt = <1975000>;
210 regulator-min-microvolt = <400000>;
211 regulator-max-microvolt = <1975000>;
217 regulator-min-microvolt = <1000000>;
218 regulator-max-microvolt = <3000000>;
229 regulator-min-microvolt = <800000>;
230 regulator-max-microvolt = <1550000>;
235 regulator-min-microvolt = <800000>;
236 regulator-max-microvolt = <1550000>;
240 regulator-min-microvolt = <1800000>;
241 regulator-max-microvolt = <3300000>;
246 regulator-min-microvolt = <1800000>;
247 regulator-max-microvolt = <3300000>;
252 regulator-min-microvolt = <1800000>;
253 regulator-max-microvolt = <3300000>;
258 regulator-min-microvolt = <1800000>;
259 regulator-max-microvolt = <3300000>;
267 clock-frequency = <100000>;
268 pinctrl-names = "default";
269 pinctrl-0 = <&pinctrl_i2c3>;
274 pinctrl-names = "default";
275 pinctrl-0 = <&pinctrl_gpios>;
277 pinctrl_ecspi4: ecspi4grp {
279 MX6SX_PAD_SD3_CLK__ECSPI4_SCLK 0x130b1
280 MX6SX_PAD_SD3_DATA3__ECSPI4_MISO 0x130b1
281 MX6SX_PAD_SD3_CMD__ECSPI4_MOSI 0x130b1
282 MX6SX_PAD_SD3_DATA2__GPIO7_IO_4 0x30b0
286 pinctrl_enet1: enet1grp {
288 MX6SX_PAD_RGMII1_RD0__ENET1_RX_DATA_0 0x30c1
289 MX6SX_PAD_RGMII1_RD1__ENET1_RX_DATA_1 0x30c1
290 MX6SX_PAD_RGMII1_TD0__ENET1_TX_DATA_0 0xa0f9
291 MX6SX_PAD_RGMII1_TD1__ENET1_TX_DATA_1 0xa0f9
292 MX6SX_PAD_RGMII1_RX_CTL__ENET1_RX_EN 0x30c1
293 MX6SX_PAD_RGMII1_TX_CTL__ENET1_TX_EN 0xa0f9
294 MX6SX_PAD_ENET1_TX_CLK__ENET1_REF_CLK1 0x4000a038
295 /* LAN8720 PHY Reset */
296 MX6SX_PAD_RGMII1_TD3__GPIO5_IO_9 0x10b0
298 MX6SX_PAD_ENET1_MDC__ENET1_MDC 0xa0f9
299 MX6SX_PAD_ENET1_MDIO__ENET1_MDIO 0xa0f9
301 MX6SX_PAD_KEY_ROW2__GPIO2_IO_17 0x10b0
305 pinctrl_enet2: enet2grp {
307 MX6SX_PAD_RGMII2_TD0__ENET2_TX_DATA_0 0x1b0b0
308 MX6SX_PAD_RGMII2_TD1__ENET2_TX_DATA_1 0x1b0b0
309 MX6SX_PAD_RGMII2_RD0__ENET2_RX_DATA_0 0x1b0b0
310 MX6SX_PAD_RGMII2_RD1__ENET2_RX_DATA_1 0x1b0b0
311 MX6SX_PAD_RGMII2_RX_CTL__ENET2_RX_EN 0x1b0b0
312 MX6SX_PAD_RGMII2_TX_CTL__ENET2_TX_EN 0x1b0b0
313 MX6SX_PAD_ENET2_TX_CLK__ENET2_REF_CLK2 0x4000a038
314 /* LAN8720 PHY Reset */
315 MX6SX_PAD_RGMII2_TD3__GPIO5_IO_21 0x10b0
317 MX6SX_PAD_ENET1_COL__ENET2_MDC 0xa0f9
318 MX6SX_PAD_ENET1_CRS__ENET2_MDIO 0xa0f9
320 MX6SX_PAD_KEY_ROW4__GPIO2_IO_19 0x10b0
324 pinctrl_flexcan1: flexcan1grp {
326 MX6SX_PAD_QSPI1B_DQS__CAN1_TX 0x1b0b0
327 MX6SX_PAD_QSPI1A_SS1_B__CAN1_RX 0x1b0b0
331 pinctrl_flexcan2: flexcan2grp {
333 MX6SX_PAD_QSPI1B_SS1_B__CAN2_RX 0x1b0b0
334 MX6SX_PAD_QSPI1A_DQS__CAN2_TX 0x1b0b0
338 pinctrl_gpios: gpiosgrp {
340 /* reset external uC */
341 MX6SX_PAD_QSPI1A_DATA3__GPIO4_IO_19 0x10b0
342 /* IRQ from external uC */
343 MX6SX_PAD_KEY_ROW0__GPIO2_IO_15 0x10b0
344 /* overcurrent detection */
345 MX6SX_PAD_GPIO1_IO08__GPIO1_IO_8 0x10b0
349 pinctrl_i2c1: i2c1grp {
351 MX6SX_PAD_GPIO1_IO01__I2C1_SDA 0x4001b8b1
352 MX6SX_PAD_GPIO1_IO00__I2C1_SCL 0x4001b8b1
356 pinctrl_i2c3: i2c3grp {
358 MX6SX_PAD_NAND_ALE__I2C3_SDA 0x4001b8b1
359 MX6SX_PAD_NAND_CLE__I2C3_SCL 0x4001b8b1
363 pinctrl_pwm1: pwm1grp-1 {
366 MX6SX_PAD_RGMII2_RD3__PWM1_OUT 0x1b0b1
370 pinctrl_pwm2: pwm2grp-1 {
373 MX6SX_PAD_RGMII2_RD2__PWM2_OUT 0x1b0b1
377 pinctrl_pwm6: pwm6grp-1 {
380 MX6SX_PAD_RGMII2_TD2__PWM6_OUT 0x1b0b1
384 pinctrl_sx9500: sx9500grp {
387 MX6SX_PAD_KEY_COL0__GPIO2_IO_10 0x838
389 MX6SX_PAD_KEY_ROW1__GPIO2_IO_16 0x70e0
393 pinctrl_uart1: uart1grp {
395 MX6SX_PAD_GPIO1_IO04__UART1_TX 0x1b0b1
396 MX6SX_PAD_GPIO1_IO05__UART1_RX 0x1b0b1
400 pinctrl_uart2: uart2grp {
402 MX6SX_PAD_GPIO1_IO06__UART2_TX 0x1b0b1
403 MX6SX_PAD_GPIO1_IO07__UART2_RX 0x1b0b1
407 pinctrl_usb_otg1: usbotg1grp {
409 MX6SX_PAD_GPIO1_IO09__GPIO1_IO_9 0x10b0
413 pinctrl_usb_otg1_id: usbotg1idgrp {
415 MX6SX_PAD_GPIO1_IO10__ANATOP_OTG1_ID 0x17059
419 pinctrl_usdhc2_50mhz: usdhc2grp-50mhz {
421 MX6SX_PAD_SD2_CLK__USDHC2_CLK 0x10059
422 MX6SX_PAD_SD2_CMD__USDHC2_CMD 0x17059
423 MX6SX_PAD_SD2_DATA0__USDHC2_DATA0 0x17059
424 MX6SX_PAD_SD2_DATA1__USDHC2_DATA1 0x17059
425 MX6SX_PAD_SD2_DATA2__USDHC2_DATA2 0x17059
426 MX6SX_PAD_SD2_DATA3__USDHC2_DATA3 0x17059
427 MX6SX_PAD_LCD1_VSYNC__GPIO3_IO_28 0x1b000
428 MX6SX_PAD_LCD1_HSYNC__GPIO3_IO_26 0x10b0
432 pinctrl_usdhc2_100mhz: usdhc2grp-100mhz {
434 MX6SX_PAD_SD2_CLK__USDHC2_CLK 0x100b9
435 MX6SX_PAD_SD2_CMD__USDHC2_CMD 0x170b9
436 MX6SX_PAD_SD2_DATA0__USDHC2_DATA0 0x170b9
437 MX6SX_PAD_SD2_DATA1__USDHC2_DATA1 0x170b9
438 MX6SX_PAD_SD2_DATA2__USDHC2_DATA2 0x170b9
439 MX6SX_PAD_SD2_DATA3__USDHC2_DATA3 0x170b9
443 pinctrl_usdhc2_200mhz: usdhc2grp-200mhz {
445 MX6SX_PAD_SD2_CLK__USDHC2_CLK 0x100f9
446 MX6SX_PAD_SD2_CMD__USDHC2_CMD 0x170f9
447 MX6SX_PAD_SD2_DATA0__USDHC2_DATA0 0x170f9
448 MX6SX_PAD_SD2_DATA1__USDHC2_DATA1 0x170f9
449 MX6SX_PAD_SD2_DATA2__USDHC2_DATA2 0x170f9
450 MX6SX_PAD_SD2_DATA3__USDHC2_DATA3 0x170f9
454 pinctrl_usdhc4_50mhz: usdhc4grp-50mhz {
456 MX6SX_PAD_SD4_CLK__USDHC4_CLK 0x10059
457 MX6SX_PAD_SD4_CMD__USDHC4_CMD 0x17059
458 MX6SX_PAD_SD4_DATA0__USDHC4_DATA0 0x17059
459 MX6SX_PAD_SD4_DATA1__USDHC4_DATA1 0x17059
460 MX6SX_PAD_SD4_DATA2__USDHC4_DATA2 0x17059
461 MX6SX_PAD_SD4_DATA3__USDHC4_DATA3 0x17059
462 MX6SX_PAD_SD4_DATA4__USDHC4_DATA4 0x17059
463 MX6SX_PAD_SD4_DATA5__USDHC4_DATA5 0x17059
464 MX6SX_PAD_SD4_DATA6__USDHC4_DATA6 0x17059
465 MX6SX_PAD_SD4_DATA7__USDHC4_DATA7 0x17059
466 MX6SX_PAD_SD4_RESET_B__USDHC4_RESET_B 0x17068
470 pinctrl_usdhc4_100mhz: usdhc4-100mhz {
472 MX6SX_PAD_SD4_CLK__USDHC4_CLK 0x100b9
473 MX6SX_PAD_SD4_CMD__USDHC4_CMD 0x170b9
474 MX6SX_PAD_SD4_DATA0__USDHC4_DATA0 0x170b9
475 MX6SX_PAD_SD4_DATA1__USDHC4_DATA1 0x170b9
476 MX6SX_PAD_SD4_DATA2__USDHC4_DATA2 0x170b9
477 MX6SX_PAD_SD4_DATA3__USDHC4_DATA3 0x170b9
478 MX6SX_PAD_SD4_DATA4__USDHC4_DATA4 0x170b9
479 MX6SX_PAD_SD4_DATA5__USDHC4_DATA5 0x170b9
480 MX6SX_PAD_SD4_DATA6__USDHC4_DATA6 0x170b9
481 MX6SX_PAD_SD4_DATA7__USDHC4_DATA7 0x170b9
485 pinctrl_usdhc4_200mhz: usdhc4-200mhz {
487 MX6SX_PAD_SD4_CLK__USDHC4_CLK 0x100f9
488 MX6SX_PAD_SD4_CMD__USDHC4_CMD 0x170f9
489 MX6SX_PAD_SD4_DATA0__USDHC4_DATA0 0x170f9
490 MX6SX_PAD_SD4_DATA1__USDHC4_DATA1 0x170f9
491 MX6SX_PAD_SD4_DATA2__USDHC4_DATA2 0x170f9
492 MX6SX_PAD_SD4_DATA3__USDHC4_DATA3 0x170f9
493 MX6SX_PAD_SD4_DATA4__USDHC4_DATA4 0x170f9
494 MX6SX_PAD_SD4_DATA5__USDHC4_DATA5 0x170f9
495 MX6SX_PAD_SD4_DATA6__USDHC4_DATA6 0x170f9
496 MX6SX_PAD_SD4_DATA7__USDHC4_DATA7 0x170f9
502 pinctrl-names = "default";
503 pinctrl-0 = <&pinctrl_pwm1>;
508 pinctrl-names = "default";
509 pinctrl-0 = <&pinctrl_pwm2>;
514 pinctrl-names = "default";
515 pinctrl-0 = <&pinctrl_pwm6>;
520 vin-supply = <&sw1a_reg>;
524 vin-supply = <&sw1a_reg>;
532 pinctrl-names = "default";
533 pinctrl-0 = <&pinctrl_uart1>;
538 pinctrl-names = "default";
539 pinctrl-0 = <&pinctrl_uart2>;
544 vbus-supply = <®_usb_otg1_vbus>;
545 pinctrl-names = "default";
546 pinctrl-0 = <&pinctrl_usb_otg1_id>;
556 pinctrl-names = "default", "state_100mhz", "state_200mhz";
557 pinctrl-0 = <&pinctrl_usdhc2_50mhz>;
558 pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
559 pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
560 cd-gpios = <&gpio3 28 GPIO_ACTIVE_LOW>;
561 keep-power-in-suspend;
566 /* hs200-mode is currently unsupported because Vccq is on 3.1V, but
567 * not on necessary 1.8V.
569 pinctrl-names = "default", "state_100mhz", "state_200mhz";
570 pinctrl-0 = <&pinctrl_usdhc4_50mhz>;
571 pinctrl-1 = <&pinctrl_usdhc4_100mhz>;
572 pinctrl-2 = <&pinctrl_usdhc4_200mhz>;
574 keep-power-in-suspend;