ATmega and ATxmega SPI API. More...
#include <assert.h>#include <stdbool.h>#include <buffer.h>#include <board/spi.h>Go to the source code of this file.
Defines | |
| #define | spi_id_is_valid(spi_id) (spi_id <= SPI_ID_LAST) |
| Test if SPI Module ID is valid. | |
| #define | SPI_MASTER_TYPE_NAME(spi_id) spi_master_type##spi_id |
| Get spi_master derived type name from spi_id. | |
| #define | DECLARE_SPI_MASTER(spi_id, varname) struct SPI_MASTER_TYPE_NAME(spi_id) varname |
| Declare a spi_master derived struct for given SPI Module ID. | |
| #define | SPI_DEVICE_TYPE_NAME(spi_id) spi_device_type##spi_id |
| Get spi_device derived type name from spi_id. | |
| #define | DECLARE_SPI_DEVICE(spi_id, varname) struct SPI_DEVICE_TYPE_NAME(spi_id) varname |
| Declare a spi_device derived struct for given SPI Module ID. | |
Functions | |
| void | spi_priv_master_init (spi_id_t spi_id, struct spi_master *master) |
| Private init SPI master. | |
| void | spi_priv_master_setup_device (spi_id_t spi_id, struct spi_device *device, spi_flags_t flags, unsigned long baud_rate, board_spi_select_id_t sel_id) |
| Private setup SPI device. | |
| void | spi_priv_select_device (struct spi_master *master, struct spi_device *device) |
| Private select SPI device. | |
| void | spi_priv_deselect_device (struct spi_master *master, struct spi_device *device) |
| Private deselect SPI device. | |
| static struct spi_master * | spi_master_get_base (spi_id_t spi_id, void *priv) |
| Multiplex statements based on spi_id. | |
| static size_t | spi_master_get_size (spi_id_t spi_id) |
| Get spi_master derived struct size for the given SPI Module ID. | |
| static struct spi_device * | spi_device_get_base (spi_id_t spi_id, void *priv) |
| Get base defintion of spi_device. | |
| static size_t | spi_device_get_size (spi_id_t spi_id) |
| Get spi_device derived struct size for the given SPI Module ID. | |
| static void | spi_enable (spi_id_t spi_id) |
| Enable SPI module. | |
| static void | spi_disable (spi_id_t spi_id) |
| Disable SPI module. | |
| static bool | spi_is_enabled (spi_id_t spi_id) |
| Check if SPI module is enabled. | |
| static void | spi_master_init (spi_id_t spi_id, struct spi_master *spi_master) |
| Initialize SPI module in master mode. | |
| static void | spi_master_setup_device (spi_id_t spi_id, struct spi_master *spi_master, struct spi_device *spi_device, spi_flags_t flags, unsigned long baud_rate, board_spi_select_id_t sel_id) |
| Setup a SPI device. | |
| static void | spi_select_device (spi_id_t spi_id, struct spi_master *master, struct spi_device *device) |
| Select given device on the SPI bus. | |
| static void | spi_deselect_device (spi_id_t spi_id, struct spi_master *master, struct spi_device *device) |
| Deselect given device on the SPI bus. | |
| static void | spi_write (spi_id_t spi_id, struct spi_master *master, const uint8_t *data, size_t len) |
| Send a sequence of bytes to a SPI device. | |
| static void | spi_read (spi_id_t spi_id, struct spi_master *master, uint8_t *data, size_t len) |
| Receive a sequence of bytes from a SPI device. | |
| static void | spi_exchange (spi_id_t spi_id, struct spi_master *master, const uint8_t *write, uint8_t *read, size_t len) |
| Send/Receive a sequence of bytes to/from a SPI device. | |
| static void | spi_write_buf_list (spi_id_t spi_id, struct spi_master *master, struct slist *buf_list) |
| Send bytes from a list of buffers to a SPI device. | |
| static void | spi_read_buf_list (spi_id_t spi_id, struct spi_master *master, struct slist *buf_list) |
| Receive bytes into a list of buffers from a SPI device. | |
| static void | spi_exchange_buf_list (spi_id_t spi_id, struct spi_master *master, struct slist *write_buf_list, struct slist *read_buf_list) |
| Send/Receive a list of buffers to/from a SPI device. | |
ATmega and ATxmega SPI API.
Copyright (C) 2009 Atmel Corporation. All rights reserved.
Definition in file spi_mega_xmega.h.
1.6.3