![Mika Westerberg](/assets/img/avatar_default.png)
This patch adds DMA support for the EP93xx SPI driver. By default the DMA is not enabled but it can be enabled by setting ep93xx_spi_info.use_dma to true in board configuration file. Note that the SPI driver still uses PIO for small transfers (<= 8 bytes) for performance reasons. Signed-off-by: Mika Westerberg <mika.westerberg@iki.fi> Acked-by: H Hartley Sweeten <hsweeten@visionengravers.com> Acked-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
30 lines
780 B
C
30 lines
780 B
C
#ifndef __ASM_MACH_EP93XX_SPI_H
|
|
#define __ASM_MACH_EP93XX_SPI_H
|
|
|
|
struct spi_device;
|
|
|
|
/**
|
|
* struct ep93xx_spi_info - EP93xx specific SPI descriptor
|
|
* @num_chipselect: number of chip selects on this board, must be
|
|
* at least one
|
|
* @use_dma: use DMA for the transfers
|
|
*/
|
|
struct ep93xx_spi_info {
|
|
int num_chipselect;
|
|
bool use_dma;
|
|
};
|
|
|
|
/**
|
|
* struct ep93xx_spi_chip_ops - operation callbacks for SPI slave device
|
|
* @setup: setup the chip select mechanism
|
|
* @cleanup: cleanup the chip select mechanism
|
|
* @cs_control: control the device chip select
|
|
*/
|
|
struct ep93xx_spi_chip_ops {
|
|
int (*setup)(struct spi_device *spi);
|
|
void (*cleanup)(struct spi_device *spi);
|
|
void (*cs_control)(struct spi_device *spi, int value);
|
|
};
|
|
|
|
#endif /* __ASM_MACH_EP93XX_SPI_H */
|