Loading arch/blackfin/mach-bf533/boards/stamp.c +40 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ #include <linux/mtd/physmap.h> #include <linux/spi/spi.h> #include <linux/spi/flash.h> #include <linux/spi/mmc_spi.h> #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) #include <linux/usb/isp1362.h> #endif Loading Loading @@ -223,6 +224,34 @@ static struct bfin5xx_spi_chip spidev_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 | IRQF_TRIGGER_RISING, "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, .pio_interrupt = 0, }; #endif static struct spi_board_info bfin_spi_board_info[] __initdata = { #if defined(CONFIG_MTD_M25P80) || defined(CONFIG_MTD_M25P80_MODULE) { Loading Loading @@ -286,6 +315,17 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { .controller_data = &spidev_chip_info, }, #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_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) Loading Loading
arch/blackfin/mach-bf533/boards/stamp.c +40 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ #include <linux/mtd/physmap.h> #include <linux/spi/spi.h> #include <linux/spi/flash.h> #include <linux/spi/mmc_spi.h> #if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) #include <linux/usb/isp1362.h> #endif Loading Loading @@ -223,6 +224,34 @@ static struct bfin5xx_spi_chip spidev_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 | IRQF_TRIGGER_RISING, "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, .pio_interrupt = 0, }; #endif static struct spi_board_info bfin_spi_board_info[] __initdata = { #if defined(CONFIG_MTD_M25P80) || defined(CONFIG_MTD_M25P80_MODULE) { Loading Loading @@ -286,6 +315,17 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { .controller_data = &spidev_chip_info, }, #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_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) Loading