aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/boot/dts/imx28-tx28.dts
diff options
context:
space:
mode:
authorLothar Waßmann <LW@KARO-electronics.de>2014-09-09 07:26:02 -0400
committerShawn Guo <shawn.guo@freescale.com>2014-09-15 22:27:18 -0400
commitd7dbe2c78f74f1d6514b2ea4fc3f4740f01f70c5 (patch)
treec08eb85085cc41cddcf415bc5157e1d56eb6493a /arch/arm/boot/dts/imx28-tx28.dts
parent4d6480ac8c063e270e5edb63b8cf721a6e01f1e6 (diff)
ARM: dts: imx28-tx28: add spi-gpio as alternative for spi-mxs
The spi-mxs driver does not allow full duplex SPI transfers. The spi-gpio driver may be used as an alternative if this is required. Make the choice between those drivers easier for the end user by providing settings for both drivers. Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de> Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
Diffstat (limited to 'arch/arm/boot/dts/imx28-tx28.dts')
-rw-r--r--arch/arm/boot/dts/imx28-tx28.dts54
1 files changed, 54 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/imx28-tx28.dts b/arch/arm/boot/dts/imx28-tx28.dts
index cfe6b3148dcc..81d4eb4220a5 100644
--- a/arch/arm/boot/dts/imx28-tx28.dts
+++ b/arch/arm/boot/dts/imx28-tx28.dts
@@ -27,6 +27,8 @@
27 lcdif = &lcdif; 27 lcdif = &lcdif;
28 lcdif_23bit_pins = &tx28_lcdif_23bit_pins; 28 lcdif_23bit_pins = &tx28_lcdif_23bit_pins;
29 lcdif_24bit_pins = &lcdif_24bit_pins_a; 29 lcdif_24bit_pins = &lcdif_24bit_pins_a;
30 spi_gpio = &spi_gpio;
31 spi_mxs = &ssp3;
30 stk5led = &user_led; 32 stk5led = &user_led;
31 usbotg = &usb0; 33 usbotg = &usb0;
32 }; 34 };
@@ -203,6 +205,44 @@
203 col-scan-delay-us = <5000>; 205 col-scan-delay-us = <5000>;
204 linux,no-autorepeat; 206 linux,no-autorepeat;
205 }; 207 };
208
209 spi_gpio: spi-gpio {
210 compatible = "spi-gpio";
211 #address-cells = <1>;
212 #size-cells = <0>;
213 pinctrl-names = "default";
214 pinctrl-0 = <&tx28_spi_gpio_pins>;
215
216 gpio-sck = <&gpio2 24 GPIO_ACTIVE_HIGH>;
217 gpio-mosi = <&gpio2 25 GPIO_ACTIVE_HIGH>;
218 gpio-miso = <&gpio2 26 GPIO_ACTIVE_HIGH>;
219 num-chipselects = <3>;
220 cs-gpios = <
221 &gpio2 27 GPIO_ACTIVE_LOW
222 &gpio3 8 GPIO_ACTIVE_LOW
223 &gpio3 9 GPIO_ACTIVE_LOW
224 >;
225 /* enable this and disable ssp3 below, if you need full duplex SPI transfer */
226 status = "disabled";
227
228 spi@0 {
229 compatible = "spidev";
230 reg = <0>;
231 spi-max-frequency = <57600000>;
232 };
233
234 spi@1 {
235 compatible = "spidev";
236 reg = <1>;
237 spi-max-frequency = <57600000>;
238 };
239
240 spi@2 {
241 compatible = "spidev";
242 reg = <2>;
243 spi-max-frequency = <57600000>;
244 };
245 };
206}; 246};
207 247
208/* 2nd TX-Std UART - (A)UART1 */ 248/* 2nd TX-Std UART - (A)UART1 */
@@ -558,6 +598,20 @@
558 fsl,pull-up = <MXS_PULL_DISABLE>; 598 fsl,pull-up = <MXS_PULL_DISABLE>;
559 }; 599 };
560 600
601 tx28_spi_gpio_pins: spi-gpiogrp {
602 fsl,pinmux-ids = <
603 MX28_PAD_AUART2_RX__GPIO_3_8
604 MX28_PAD_AUART2_TX__GPIO_3_9
605 MX28_PAD_SSP3_SCK__GPIO_2_24
606 MX28_PAD_SSP3_MOSI__GPIO_2_25
607 MX28_PAD_SSP3_MISO__GPIO_2_26
608 MX28_PAD_SSP3_SS0__GPIO_2_27
609 >;
610 fsl,drive-strength = <MXS_DRIVE_8mA>;
611 fsl,voltage = <MXS_VOLTAGE_HIGH>;
612 fsl,pull-up = <MXS_PULL_DISABLE>;
613 };
614
561 tx28_tsc2007_pins: tx28-tsc2007-pins { 615 tx28_tsc2007_pins: tx28-tsc2007-pins {
562 fsl,pinmux-ids = < 616 fsl,pinmux-ids = <
563 MX28_PAD_SAIF0_MCLK__GPIO_3_20 /* TSC2007 IRQ */ 617 MX28_PAD_SAIF0_MCLK__GPIO_3_20 /* TSC2007 IRQ */