summaryrefslogtreecommitdiff
path: root/drivers/spi/u8500_spi.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/spi/u8500_spi.c')
-rw-r--r--drivers/spi/u8500_spi.c76
1 files changed, 2 insertions, 74 deletions
diff --git a/drivers/spi/u8500_spi.c b/drivers/spi/u8500_spi.c
index 3b1ae6a5e..a5f4422ce 100644
--- a/drivers/spi/u8500_spi.c
+++ b/drivers/spi/u8500_spi.c
@@ -13,7 +13,6 @@
#include <asm/io.h>
#include <asm/arch/clock.h>
#include <asm/arch/hardware.h>
-#include <asm/arch/gpio.h>
#include <spi.h>
@@ -357,9 +356,6 @@ int spi_claim_bus(struct spi_slave *slave)
{
struct stm_spi_slave *sss = to_stm_spi_slave(slave);
int ret = 0;
- gpio_config pin_config;
- gpio_pin clk_pin, frm_pin, txd_pin, rxd_pin;
- gpio_alt_function altfunc;
pr_dbg("slave 0x%p", slave);
@@ -372,31 +368,16 @@ int spi_claim_bus(struct spi_slave *slave)
switch (sss->slave.bus) {
#if defined(SPI_0_BASE) && defined(CONFIG_U8500)
case 0:
- altfunc = GPIO_ALT_SPI_0;
- clk_pin = GPIO_PIN_220;
- frm_pin = GPIO_PIN_223;
- txd_pin = GPIO_PIN_224;
- rxd_pin = GPIO_PIN_225;
u8500_clock_enable(2, 8, -1);
break;
#endif
#if defined(SPI_1_BASE) && defined(CONFIG_U8500)
case 1:
- altfunc = GPIO_ALT_SPI_1;
- clk_pin = GPIO_PIN_209;
- frm_pin = GPIO_PIN_212;
- txd_pin = GPIO_PIN_213;
- rxd_pin = GPIO_PIN_214;
u8500_clock_enable(2, 2, -1);
break;
#endif
#if defined(SPI_2_BASE) && defined(CONFIG_U8500)
case 2:
- altfunc = GPIO_ALT_SPI_2;
- clk_pin = GPIO_PIN_217;
- frm_pin = GPIO_PIN_216;
- txd_pin = GPIO_PIN_215;
- rxd_pin = GPIO_PIN_218;
u8500_clock_enable(2, 1, -1);
/*
@@ -412,11 +393,6 @@ int spi_claim_bus(struct spi_slave *slave)
#endif
#if defined(SPI_3_BASE) && defined(CONFIG_U8500)
case 3:
- altfunc = GPIO_ALT_SPI_3;
- clk_pin = GPIO_PIN_29;
- frm_pin = GPIO_PIN_31;
- txd_pin = GPIO_PIN_32;
- rxd_pin = GPIO_PIN_30;
u8500_clock_enable(1, 7, -1);
break;
#endif
@@ -447,57 +423,9 @@ int spi_claim_bus(struct spi_slave *slave)
/*
- * 3. Program the GPIO on which SPI port signals are attached to
- * deliver the SPI signals by setting bits alternate function
- * enable GPIO_AFSLAx = 1b in GPIO register.
- *
- * First the GPIO's are configured in software mode so
- * the pull-up/pull-down configuration is correctly applied.
- * After that pins are set to the correct alternate mode.
+ * 3. Program the GPIO on which SPI port signals are attached to.
+ * This should already be done by the Board GPIO setup
*/
- pin_config.dev_name = "SPI_CLK";
- pin_config.direction = GPIO_DIR_OUTPUT;
- pin_config.mode = GPIO_MODE_SOFTWARE;
- pin_config.trig = GPIO_TRIG_DISABLE;
- ret = gpio_setpinconfig(clk_pin, &pin_config);
- if (ret != 0) {
- pr_err("Error %i when configuring '%s' (pin %i) for '%s'",
- ret, pin_config.dev_name, clk_pin, sss->dev_name);
- return ret;
- }
-
- pin_config.dev_name = "SPI_FRM";
- ret = gpio_setpinconfig(frm_pin, &pin_config);
- if (ret != 0) {
- pr_err("Error %i when configuring '%s' (pin %i) for '%s'",
- ret, pin_config.dev_name, frm_pin, sss->dev_name);
- return ret;
- }
-
- pin_config.dev_name = "SPI_TXD";
- ret = gpio_setpinconfig(txd_pin, &pin_config);
- if (ret != 0) {
- pr_err("Error %i when configuring '%s' (pin %i) for '%s'",
- ret, pin_config.dev_name, txd_pin, sss->dev_name);
- return ret;
- }
-
- pin_config.dev_name = "SPI_RXD";
- pin_config.direction = GPIO_DIR_INPUT;
- ret = gpio_setpinconfig(rxd_pin, &pin_config);
- if (ret != 0) {
- pr_err("Error %i when configuring '%s' (pin %i) for '%s'",
- ret, pin_config.dev_name, rxd_pin, sss->dev_name);
- return ret;
- }
-
- ret = gpio_altfuncenable(altfunc, sss->dev_name);
- if (ret != 0) {
- pr_err("Error %i when configuring '%s' to %i",
- ret, sss->dev_name, altfunc);
- return ret;
- }
-
/*
* 4. Program the SPI clock prescale register, SPI_CPSR,