Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git...
[firefly-linux-kernel-4.4.55.git] / arch / arm / boot / dts / imx28-tx28.dts
index e14bd86f3e9999a50e0f60a7b443ed2b06ecbd07..a5b27c85a91c8b14464feabd30d2af7ec03b9d8c 100644 (file)
        aliases {
                can0 = &can0;
                can1 = &can1;
-               display = &display;
+               display = &display0;
                ds1339 = &ds1339;
                gpio5 = &gpio5;
                lcdif = &lcdif;
                lcdif_23bit_pins = &tx28_lcdif_23bit_pins;
                lcdif_24bit_pins = &lcdif_24bit_pins_a;
+               reg_can_xcvr = &reg_can_xcvr;
+               spi_gpio = &spi_gpio;
+               spi_mxs = &ssp3;
                stk5led = &user_led;
                usbotg = &usb0;
        };
@@ -37,7 +40,7 @@
 
        onewire {
                compatible = "w1-gpio";
-               gpios = <&gpio2 7 0>;
+               gpios = <&gpio2 7 GPIO_ACTIVE_HIGH>;
                status = "disabled";
        };
 
@@ -52,7 +55,7 @@
                        regulator-name = "usb0_vbus";
                        regulator-min-microvolt = <5000000>;
                        regulator-max-microvolt = <5000000>;
-                       gpio = <&gpio0 18 0>;
+                       gpio = <&gpio0 18 GPIO_ACTIVE_HIGH>;
                        enable-active-high;
                };
 
@@ -62,7 +65,7 @@
                        regulator-name = "usb1_vbus";
                        regulator-min-microvolt = <5000000>;
                        regulator-max-microvolt = <5000000>;
-                       gpio = <&gpio3 27 0>;
+                       gpio = <&gpio3 27 GPIO_ACTIVE_HIGH>;
                        enable-active-high;
                };
 
@@ -90,7 +93,7 @@
                        regulator-name = "CAN XCVR";
                        regulator-min-microvolt = <3300000>;
                        regulator-max-microvolt = <3300000>;
-                       gpio = <&gpio1 0 0>;
+                       gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&tx28_flexcan_xcvr_pins>;
                };
                        regulator-name = "LCD POWER";
                        regulator-min-microvolt = <3300000>;
                        regulator-max-microvolt = <3300000>;
-                       gpio = <&gpio1 31 0>;
+                       gpio = <&gpio1 31 GPIO_ACTIVE_HIGH>;
                        enable-active-high;
                };
 
                        regulator-name = "LCD RESET";
                        regulator-min-microvolt = <3300000>;
                        regulator-max-microvolt = <3300000>;
-                       gpio = <&gpio3 30 0>;
+                       gpio = <&gpio3 30 GPIO_ACTIVE_HIGH>;
                        startup-delay-us = <300000>;
                        enable-active-high;
                        regulator-always-on;
 
                user_led: user {
                        label = "Heartbeat";
-                       gpios = <&gpio4 10 0>;
+                       gpios = <&gpio4 10 GPIO_ACTIVE_HIGH>;
                        linux,default-trigger = "heartbeat";
                };
        };
        matrix_keypad: matrix-keypad@0 {
                compatible = "gpio-matrix-keypad";
                col-gpios = <
-                       &gpio5 0 0
-                       &gpio5 1 0
-                       &gpio5 2 0
-                       &gpio5 3 0
+                       &gpio5 0 GPIO_ACTIVE_HIGH
+                       &gpio5 1 GPIO_ACTIVE_HIGH
+                       &gpio5 2 GPIO_ACTIVE_HIGH
+                       &gpio5 3 GPIO_ACTIVE_HIGH
                >;
                row-gpios = <
-                       &gpio5 4 0
-                       &gpio5 5 0
-                       &gpio5 6 0
-                       &gpio5 7 0
+                       &gpio5 4 GPIO_ACTIVE_HIGH
+                       &gpio5 5 GPIO_ACTIVE_HIGH
+                       &gpio5 6 GPIO_ACTIVE_HIGH
+                       &gpio5 7 GPIO_ACTIVE_HIGH
                >;
                /* sample keymap */
                linux,keymap = <
                col-scan-delay-us = <5000>;
                linux,no-autorepeat;
        };
+
+       spi_gpio: spi-gpio {
+               compatible = "spi-gpio";
+               #address-cells = <1>;
+               #size-cells = <0>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&tx28_spi_gpio_pins>;
+
+               gpio-sck = <&gpio2 24 GPIO_ACTIVE_HIGH>;
+               gpio-mosi = <&gpio2 25 GPIO_ACTIVE_HIGH>;
+               gpio-miso = <&gpio2 26 GPIO_ACTIVE_HIGH>;
+               num-chipselects = <3>;
+               cs-gpios = <
+                       &gpio2 27 GPIO_ACTIVE_LOW
+                       &gpio3 8 GPIO_ACTIVE_LOW
+                       &gpio3 9 GPIO_ACTIVE_LOW
+               >;
+               /* enable this and disable ssp3 below, if you need full duplex SPI transfer */
+               status = "disabled";
+
+               spi@0 {
+                       compatible = "spidev";
+                       reg = <0>;
+                       spi-max-frequency = <57600000>;
+               };
+
+               spi@1 {
+                       compatible = "spidev";
+                       reg = <1>;
+                       spi-max-frequency = <57600000>;
+               };
+
+               spi@2 {
+                       compatible = "spidev";
+                       reg = <2>;
+                       spi-max-frequency = <57600000>;
+               };
+       };
 };
 
 /* 2nd TX-Std UART - (A)UART1  */
                pinctrl-0 = <&tx28_edt_ft5x06_pins>;
                interrupt-parent = <&gpio2>;
                interrupts = <5 0>;
-               reset-gpios = <&gpio2 6 1>;
-               wake-gpios = <&gpio4 9 0>;
+               reset-gpios = <&gpio2 6 GPIO_ACTIVE_LOW>;
+               wake-gpios = <&gpio4 9 GPIO_ACTIVE_HIGH>;
        };
 
        touchscreen: tsc2007@48 {
                pinctrl-0 = <&tx28_tsc2007_pins>;
                interrupt-parent = <&gpio3>;
                interrupts = <20 0>;
-               pendown-gpio = <&gpio3 20 1>;
+               pendown-gpio = <&gpio3 20 GPIO_ACTIVE_LOW>;
                ti,x-plate-ohms = /bits/ 16 <660>;
        };
 
        pinctrl-names = "default";
        pinctrl-0 = <&lcdif_24bit_pins_a &lcdif_sync_pins_a &tx28_lcdif_ctrl_pins>;
        lcd-supply = <&reg_lcd>;
-       display = <&display>;
+       display = <&display0>;
        status = "okay";
 
-       display: display@0 {
+       display0: display0 {
                bits-per-pixel = <32>;
                bus-width = <24>;
                display-timings {
                fsl,pull-up = <MXS_PULL_DISABLE>;
        };
 
+       tx28_spi_gpio_pins: spi-gpiogrp {
+               fsl,pinmux-ids = <
+                       MX28_PAD_AUART2_RX__GPIO_3_8
+                       MX28_PAD_AUART2_TX__GPIO_3_9
+                       MX28_PAD_SSP3_SCK__GPIO_2_24
+                       MX28_PAD_SSP3_MOSI__GPIO_2_25
+                       MX28_PAD_SSP3_MISO__GPIO_2_26
+                       MX28_PAD_SSP3_SS0__GPIO_2_27
+               >;
+               fsl,drive-strength = <MXS_DRIVE_8mA>;
+               fsl,voltage = <MXS_VOLTAGE_HIGH>;
+               fsl,pull-up = <MXS_PULL_DISABLE>;
+       };
+
        tx28_tsc2007_pins: tx28-tsc2007-pins {
                fsl,pinmux-ids = <
                        MX28_PAD_SAIF0_MCLK__GPIO_3_20 /* TSC2007 IRQ */
        clock-frequency = <57600000>;
        status = "okay";
 
-       spidev0: spi@0 {
+       spi@0 {
                compatible = "spidev";
                reg = <0>;
                spi-max-frequency = <57600000>;
        };
 
-       spidev1: spi@1 {
+       spi@1 {
                compatible = "spidev";
                reg = <1>;
                spi-max-frequency = <57600000>;
        };
+
+       spi@2 {
+               compatible = "spidev";
+               reg = <2>;
+               spi-max-frequency = <57600000>;
+       };
 };
 
 &usb0 {