diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-12-14 07:25:49 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-12-14 13:09:28 +0100 |
commit | 3afa95bae047536165e99cb43232baf5cdaf49e4 (patch) | |
tree | 156d88b04222015244eb7e5809228239b8c23e1c /c/src/lib/libbsp/arm/atsam/spi/atsam_spi_bus.c | |
parent | bsp/atsam: Align SPI API with PIO_Configure() (diff) | |
download | rtems-3afa95bae047536165e99cb43232baf5cdaf49e4.tar.bz2 |
bsp/atsam: Hide details of SPI driver
Diffstat (limited to 'c/src/lib/libbsp/arm/atsam/spi/atsam_spi_bus.c')
-rw-r--r-- | c/src/lib/libbsp/arm/atsam/spi/atsam_spi_bus.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/arm/atsam/spi/atsam_spi_bus.c b/c/src/lib/libbsp/arm/atsam/spi/atsam_spi_bus.c index 00f5d33696..468e4eca9a 100644 --- a/c/src/lib/libbsp/arm/atsam/spi/atsam_spi_bus.c +++ b/c/src/lib/libbsp/arm/atsam/spi/atsam_spi_bus.c @@ -32,8 +32,27 @@ #include <rtems/irq-extension.h> +#include <dev/spi/spi.h> + #define MAX_SPI_FREQUENCY 50000000 +typedef struct { + spi_bus base; + Spi *regs; + rtems_vector_number irq; + uint32_t board_id; + uint32_t msg_todo; + const spi_ioc_transfer *msgs; + rtems_id task_id; + sXdmad Dma; + Spid SpiDma; + uint32_t dma_tx_channel; + uint32_t dma_rx_channel; + bool rx_transfer_done; + bool tx_transfer_done; + bool chip_select_active; +} atsam_spi_bus; + static void atsam_interrupt_handler(void *arg) { atsam_spi_bus *bus = (atsam_spi_bus *)arg; |