From 3afa95bae047536165e99cb43232baf5cdaf49e4 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 14 Dec 2016 07:25:49 +0100 Subject: bsp/atsam: Hide details of SPI driver --- c/src/lib/libbsp/arm/atsam/include/atsam-spi.h | 36 ++++---------------------- c/src/lib/libbsp/arm/atsam/spi/atsam_spi_bus.c | 19 ++++++++++++++ 2 files changed, 24 insertions(+), 31 deletions(-) diff --git a/c/src/lib/libbsp/arm/atsam/include/atsam-spi.h b/c/src/lib/libbsp/arm/atsam/include/atsam-spi.h index e8fba58332..3d02c514c9 100644 --- a/c/src/lib/libbsp/arm/atsam/include/atsam-spi.h +++ b/c/src/lib/libbsp/arm/atsam/include/atsam-spi.h @@ -16,43 +16,17 @@ #define LIBBSP_ARM_ATSAM_ATSAM_SPI_H #include -#include - -#include -#include #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ -#define DEFAULT_SPI0_CS 0 -#define DEFAULT_SPI_CLOCK 500000 - -#define REGISTER_COMMAND_LENGTH 2 - -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; - int spi_bus_register_atsam( - const char *bus_path, - Spi *register_base, - rtems_vector_number irq, - const Pin *pins, - size_t pin_count + const char *bus_path, + Spi *register_base, + rtems_vector_number irq, + const Pin *pins, + size_t pin_count ); #ifdef __cplusplus 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 +#include + #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; -- cgit v1.2.3