include/spi/spi_mega_xmega.h File Reference

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_masterspi_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_devicespi_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.

Detailed Description

ATmega and ATxmega SPI API.

Copyright (C) 2009 Atmel Corporation. All rights reserved.

Definition in file spi_mega_xmega.h.

Generated on Thu Apr 29 15:18:22 2010 for display-training by  doxygen 1.6.3