Serial Peripheral Interface (SPI) driver for SAM.
Copyright (c) 2011-2018 Microchip Technology Inc. and its subsidiaries.
|
int16_t | spi_calc_baudrate_div (const uint32_t baudrate, uint32_t mck) |
| Calculate the baudrate divider. More...
|
|
void | spi_configure_cs_behavior (Spi *p_spi, uint32_t ul_pcs_ch, uint32_t ul_cs_behavior) |
| Configure CS behavior for SPI transfer (spi_cs_behavior_t). More...
|
|
static void | spi_disable (Spi *p_spi) |
| Disable SPI. More...
|
|
void | spi_disable_clock (Spi *p_spi) |
| Disable SPI clock. More...
|
|
static void | spi_disable_interrupt (Spi *p_spi, uint32_t ul_sources) |
| Disable SPI interrupts. More...
|
|
static void | spi_disable_loopback (Spi *p_spi) |
| Disable loopback mode. More...
|
|
static void | spi_disable_mode_fault_detect (Spi *p_spi) |
| Disable Mode Fault Detection. More...
|
|
static void | spi_disable_peripheral_select_decode (Spi *p_spi) |
| Disable Peripheral Select Decode. More...
|
|
static void | spi_disable_tx_on_rx_empty (Spi *p_spi) |
| Disable waiting RX_EMPTY before transfer starts. More...
|
|
static void | spi_enable (Spi *p_spi) |
| Enable SPI. More...
|
|
void | spi_enable_clock (Spi *p_spi) |
| Enable SPI clock. More...
|
|
static void | spi_enable_interrupt (Spi *p_spi, uint32_t ul_sources) |
| Enable SPI interrupts. More...
|
|
static void | spi_enable_loopback (Spi *p_spi) |
| Enable loopback mode. More...
|
|
static void | spi_enable_mode_fault_detect (Spi *p_spi) |
| Enable Mode Fault Detection. More...
|
|
static void | spi_enable_peripheral_select_decode (Spi *p_spi) |
| Enable Peripheral Select Decode. More...
|
|
static void | spi_enable_tx_on_rx_empty (Spi *p_spi) |
| Enable waiting RX_EMPTY before transfer starts. More...
|
|
static uint16_t | spi_get (Spi *p_spi) |
| Get one data to a SPI peripheral. More...
|
|
static uint32_t | spi_get_mode (Spi *p_spi) |
| Get SPI work mode. More...
|
|
static uint32_t | spi_get_mode_fault_detect_setting (Spi *p_spi) |
| Check if mode fault detection is enabled. More...
|
|
static Pdc * | spi_get_pdc_base (Spi *p_spi) |
| Get PDC registers base address. More...
|
|
static uint32_t | spi_get_peripheral_select_decode_setting (Spi *p_spi) |
| Get Peripheral Select Decode mode. More...
|
|
static uint32_t | spi_get_peripheral_select_mode (Spi *p_spi) |
| Get Peripheral Select mode. More...
|
|
static void * | spi_get_rx_access (Spi *p_spi) |
| Get receive data register address for DMA operation. More...
|
|
static void * | spi_get_tx_access (Spi *p_spi) |
| Get transmit data register address for DMA operation. More...
|
|
static uint32_t | spi_get_tx_on_rx_empty_setting (Spi *p_spi) |
| Check if SPI waits RX_EMPTY before transfer starts. More...
|
|
uint32_t | spi_get_writeprotect_status (Spi *p_spi) |
| Indicate write protect status. More...
|
|
static uint32_t | spi_is_enabled (Spi *p_spi) |
| Test if the SPI is enabled. More...
|
|
static uint32_t | spi_is_rx_full (Spi *p_spi) |
| Check if the SPI contains a received character. More...
|
|
static uint32_t | spi_is_rx_ready (Spi *p_spi) |
| Check if all receptions are ready. More...
|
|
static uint32_t | spi_is_tx_empty (Spi *p_spi) |
| Check if all transmissions are complete. More...
|
|
static uint32_t | spi_is_tx_ready (Spi *p_spi) |
| Check if all transmissions are ready. More...
|
|
static void | spi_put (Spi *p_spi, uint16_t data) |
| Put one data to a SPI peripheral. More...
|
|
spi_status_t | spi_read (Spi *p_spi, uint16_t *us_data, uint8_t *p_pcs) |
| Read the received data and it's peripheral chip select value. More...
|
|
static uint32_t | spi_read_interrupt_mask (Spi *p_spi) |
| Read SPI interrupt mask. More...
|
|
static uint32_t | spi_read_status (Spi *p_spi) |
| Read status register. More...
|
|
static void | spi_reset (Spi *p_spi) |
| Reset SPI and set it to Slave mode. More...
|
|
int16_t | spi_set_baudrate_div (Spi *p_spi, uint32_t ul_pcs_ch, uint8_t uc_baudrate_divider) |
| Set Serial Clock Baud Rate divider value (SCBR). More...
|
|
void | spi_set_bits_per_transfer (Spi *p_spi, uint32_t ul_pcs_ch, uint32_t ul_bits) |
| Set number of bits per transfer. More...
|
|
void | spi_set_clock_phase (Spi *p_spi, uint32_t ul_pcs_ch, uint32_t ul_phase) |
| Set Data Capture Phase. More...
|
|
void | spi_set_clock_polarity (Spi *p_spi, uint32_t ul_pcs_ch, uint32_t ul_polarity) |
| Set clock default state. More...
|
|
void | spi_set_delay_between_chip_select (Spi *p_spi, uint32_t ul_delay) |
| Set delay between chip selects (in number of MCK clocks). More...
|
|
static void | spi_set_fixed_peripheral_select (Spi *p_spi) |
| Set Fixed Peripheral Select. More...
|
|
static void | spi_set_lastxfer (Spi *p_spi) |
| Issue a LASTXFER command. More...
|
|
static void | spi_set_master_mode (Spi *p_spi) |
| Set SPI to Master mode. More...
|
|
void | spi_set_peripheral_chip_select_value (Spi *p_spi, uint32_t ul_value) |
| Set Peripheral Chip Select (PCS) value. More...
|
|
static void | spi_set_slave_mode (Spi *p_spi) |
| Set SPI to Slave mode. More...
|
|
void | spi_set_transfer_delay (Spi *p_spi, uint32_t ul_pcs_ch, uint8_t uc_dlybs, uint8_t uc_dlybct) |
| Configure timing for SPI transfer. More...
|
|
static void | spi_set_variable_peripheral_select (Spi *p_spi) |
| Set Variable Peripheral Select. More...
|
|
void | spi_set_writeprotect (Spi *p_spi, uint32_t ul_enable) |
| Enable or disable write protection of SPI registers. More...
|
|
spi_status_t | spi_write (Spi *p_spi, uint16_t us_data, uint8_t uc_pcs, uint8_t uc_last) |
| Write the transmitted data with specified peripheral chip select value. More...
|
|