From 583e89c074aee23885ae5b2faa1f7c6bdfc12b1f Mon Sep 17 00:00:00 2001 From: Yi Li Date: Wed, 7 Jan 2009 23:14:38 +0800 Subject: [PATCH] --- yaml --- r: 127087 b: refs/heads/master c: f79ea4cba00e2c2f5ffde9007e7ba0fe992b2e18 h: refs/heads/master i: 127085: 012444e39709bc3ce8edac142db5af0684ed7148 127083: cbfb2e1361b621f05966c9aeddc01f7b6a9c8816 127079: 8303f9e06a41fc78643a6463f9407c453f1cff75 127071: 83486833a4188e9e90cf33d6bb8292825e542627 v: v3 --- [refs] | 2 +- trunk/arch/blackfin/mach-bf537/boards/stamp.c | 39 +++++++++++++++++++ 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 6ced71d15d86..01b685fe25ca 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 211daf9d7252288ad88ab6b97268a8d828e6b696 +refs/heads/master: f79ea4cba00e2c2f5ffde9007e7ba0fe992b2e18 diff --git a/trunk/arch/blackfin/mach-bf537/boards/stamp.c b/trunk/arch/blackfin/mach-bf537/boards/stamp.c index 9b7b9f34767f..a5e8e5bc6496 100644 --- a/trunk/arch/blackfin/mach-bf537/boards/stamp.c +++ b/trunk/arch/blackfin/mach-bf537/boards/stamp.c @@ -46,6 +46,7 @@ #include #include #include +#include #include #include #include @@ -533,6 +534,33 @@ static struct bfin5xx_spi_chip spi_mmc_chip_info = { }; #endif +#if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) +#define MMC_SPI_CARD_DETECT_INT IRQ_PF5 + +static int bfin_mmc_spi_init(struct device *dev, + irqreturn_t (*detect_int)(int, void *), void *data) +{ + return request_irq(MMC_SPI_CARD_DETECT_INT, detect_int, + IRQF_TRIGGER_FALLING, "mmc-spi-detect", data); +} + +static void bfin_mmc_spi_exit(struct device *dev, void *data) +{ + free_irq(MMC_SPI_CARD_DETECT_INT, data); +} + +static struct mmc_spi_platform_data bfin_mmc_spi_pdata = { + .init = bfin_mmc_spi_init, + .exit = bfin_mmc_spi_exit, + .detect_delay = 100, /* msecs */ +}; + +static struct bfin5xx_spi_chip mmc_spi_chip_info = { + .enable_dma = 0, + .bits_per_word = 8, +}; +#endif + #if defined(CONFIG_PBX) static struct bfin5xx_spi_chip spi_si3xxx_chip_info = { .ctl_reg = 0x4, /* send zero */ @@ -712,6 +740,17 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { .mode = SPI_MODE_3, }, #endif +#if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) + { + .modalias = "mmc_spi", + .max_speed_hz = 20000000, /* max spi clock (SCK) speed in HZ */ + .bus_num = 0, + .chip_select = 4, + .platform_data = &bfin_mmc_spi_pdata, + .controller_data = &mmc_spi_chip_info, + .mode = SPI_MODE_3, + }, +#endif #if defined(CONFIG_PBX) { .modalias = "fxs-spi",