diff options
author | Michael Büsch <mb@bu3sch.de> | 2008-03-21 16:52:27 +0000 |
---|---|---|
committer | Michael Büsch <mb@bu3sch.de> | 2008-03-21 16:52:27 +0000 |
commit | 12b5a779b900708c9b787811c93763b9041282ad (patch) | |
tree | 3bc22bb046d842141db42a424c26a5a22d9dbeab /package/mmc_over_gpio/src/linux/spi/spi_gpio.h | |
parent | 5c58e9320930315a4670f64112c9f22149d9d9e6 (diff) | |
download | master-31e0f0ae-12b5a779b900708c9b787811c93763b9041282ad.tar.gz master-31e0f0ae-12b5a779b900708c9b787811c93763b9041282ad.tar.bz2 master-31e0f0ae-12b5a779b900708c9b787811c93763b9041282ad.zip |
linux-2.6: Add a driver to run an MMC or SD card over a GPIO based SPI interface.
SVN-Revision: 10637
Diffstat (limited to 'package/mmc_over_gpio/src/linux/spi/spi_gpio.h')
-rw-r--r-- | package/mmc_over_gpio/src/linux/spi/spi_gpio.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/package/mmc_over_gpio/src/linux/spi/spi_gpio.h b/package/mmc_over_gpio/src/linux/spi/spi_gpio.h new file mode 100644 index 0000000000..8e7d4b189d --- /dev/null +++ b/package/mmc_over_gpio/src/linux/spi/spi_gpio.h @@ -0,0 +1,53 @@ +/* + * spi_gpio interface to platform code + * + * Copyright (c) 2008 Piotr Skamruk + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ +#ifndef _LINUX_SPI_SPI_GPIO +#define _LINUX_SPI_SPI_GPIO + +#include <linux/types.h> +#include <linux/spi/spi.h> + + +/** struct spi_gpio_platform_data - Data definitions for a SPI-GPIO device. + * This structure holds information about a GPIO-based SPI device. + * + * @pin_clk: The GPIO pin number of the CLOCK pin. + * + * @pin_miso: The GPIO pin number of the MISO pin. + * + * @pin_mosi: The GPIO pin number of the MOSI pin. + * + * @pin_cs: The GPIO pin number of the CHIPSELECT pin. + * + * @cs_activelow: If true, the chip is selected when the CS line is low. + * + * @no_spi_delay: If true, no delay is done in the lowlevel bitbanging. + * Note that doing no delay is not standards compliant, + * but it might be needed to speed up transfers on some + * slow embedded machines. + * + * @boardinfo_setup: This callback is called after the + * SPI master device was registered, but before the + * device is registered. + * @boardinfo_setup_data: Data argument passed to boardinfo_setup(). + */ +struct spi_gpio_platform_data { + unsigned int pin_clk; + unsigned int pin_miso; + unsigned int pin_mosi; + unsigned int pin_cs; + bool cs_activelow; + bool no_spi_delay; + int (*boardinfo_setup)(struct spi_board_info *bi, + struct spi_master *master, + void *data); + void *boardinfo_setup_data; +}; + +#endif /* _LINUX_SPI_SPI_GPIO */ |