AVR UC3 IISC drivers.
Copyright (c) 2010-2018 Microchip Technology Inc. and its subsidiaries.
Data Structures | |
struct | iisc_opt_t |
IISC configuration struct. More... | |
Macros | |
#define | IISC_DATALENGTH(x) |
! More... | |
#define | IISC_DATALENGTH_16 (IISC_DATALENGTH(_16) ) |
Set datalength to 16 bits compact stereo (left sample in bits 15 through 0 and right samples in bits 31 through 16 of the same word) More... | |
#define | IISC_DATALENGTH_16C (IISC_DATALENGTH(_16C)) |
Set datalength to 8 bits. More... | |
#define | IISC_DATALENGTH_18 (IISC_DATALENGTH(_18) ) |
Set datalength to 16 bits. More... | |
#define | IISC_DATALENGTH_20 (IISC_DATALENGTH(_20) ) |
Set datalength to 18 bits. More... | |
#define | IISC_DATALENGTH_24 (IISC_DATALENGTH(_24) ) |
Set datalength to 20 bits. More... | |
#define | IISC_DATALENGTH_32 (IISC_DATALENGTH(_32) ) |
Set datalength to 24 bits. More... | |
#define | IISC_DATALENGTH_8 (IISC_DATALENGTH(_8 ) ) |
Set datalength to 8 bits compact stereo (left sample in bits 7 through 0 and right samples in bits 15 through 8 of the same word) More... | |
#define | IISC_DATALENGTH_8C (IISC_DATALENGTH(_8C) ) |
#define | IISC_RETRY_VALUE 10000 |
IISC oversampling frequency | |
#define | IISC_OVERSAMPLING(x) |
#define | IISC_OVERSAMPLING_x16 (IISC_OVERSAMPLING(_16) ) |
x16 More... | |
#define | IISC_OVERSAMPLING_x32 (IISC_OVERSAMPLING(_32) ) |
x32 More... | |
#define | IISC_OVERSAMPLING_x64 (IISC_OVERSAMPLING(_64) ) |
x64 More... | |
#define | IISC_OVERSAMPLING_x128 (IISC_OVERSAMPLING(_128) ) |
x128 More... | |
#define | IISC_OVERSAMPLING_x256 (IISC_OVERSAMPLING(_256) ) |
x256 More... | |
#define | IISC_OVERSAMPLING_x384 (IISC_OVERSAMPLING(_384) ) |
x384 More... | |
#define | IISC_OVERSAMPLING_x512 (IISC_OVERSAMPLING(_512) ) |
x512 More... | |
#define | IISC_OVERSAMPLING_x768 (IISC_OVERSAMPLING(_768) ) |
x768 More... | |
#define | IISC_OVERSAMPLING_x1024 (IISC_OVERSAMPLING(_1024)) |
x1024 More... | |
IISC dma configuration | |
#define | IISC_TXDMA_MULTIPLE |
#define | IISC_TXDMA_SINGLE |
#define | IISC_RXDMA_MULTIPLE |
#define | IISC_RXDMA_SINGLE |
IISC Format Configuration | |
#define | IISC_FORMAT_LJ AVR32_IISC_MR_FORMAT_LJ |
#define | IISC_FORMAT_TDM_LJ AVR32_IISC_MR_FORMAT_TDM_LJ |
Enumerations | |
enum | iisc_mode { IISC_MODE_MASTER = 1, IISC_MODE_SLAVE, IISC_MODE_TDM_MASTER, IISC_MODE_TDM_SLAVE } |
IISC modes. More... | |
Functions | |
void | iisc_disable (volatile avr32_iisc_t *iisc) |
IISC Disable function. More... | |
static void | iisc_disable_clocks (volatile avr32_iisc_t *iisc) |
Disable the clocks for the IISC module. More... | |
void | iisc_disable_interrupts (volatile avr32_iisc_t *iisc, unsigned long int_mask) |
Disables the specified IISC interrupts. More... | |
static void | iisc_disable_reception (volatile avr32_iisc_t *iisc) |
Disable the IISC module in reception. More... | |
static void | iisc_disable_transmission (volatile avr32_iisc_t *iisc) |
Disable the IISC module in transmission. More... | |
void | iisc_enable (volatile avr32_iisc_t *iisc) |
IISC Enable function. More... | |
static void | iisc_enable_clocks (volatile avr32_iisc_t *iisc) |
Enable the clocks for the IISC module. More... | |
void | iisc_enable_interrupts (volatile avr32_iisc_t *iisc, unsigned long int_mask) |
Enables the specified IISC interrupts. More... | |
static void | iisc_enable_reception (volatile avr32_iisc_t *iisc) |
Enable the IISC module in reception. More... | |
static void | iisc_enable_transmission (volatile avr32_iisc_t *iisc) |
Enable the IISC module in transmission. More... | |
unsigned long | iisc_get_status (volatile avr32_iisc_t *iisc) |
Returns the IISC status. More... | |
status_code_t | iisc_init (volatile avr32_iisc_t *iisc, iisc_opt_t iisc_opt) |
Sets up registers and initializes IISC for use as I2S. More... | |
status_code_t | iisc_read (volatile avr32_iisc_t *iisc, uint32_t *data) |
Read a single message of data. More... | |
static void | iisc_reset (volatile avr32_iisc_t *iisc) |
Resets the IISC module. More... | |
status_code_t | iisc_write (volatile avr32_iisc_t *iisc, uint32_t data) |
Write a single message of data. More... | |