Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
mxs-saif.h File Reference
#include "mxs-pcm.h"

Go to the source code of this file.

Data Structures

struct  mxs_saif
 

Macros

#define SAIF_CTRL   0x0
 
#define SAIF_STAT   0x10
 
#define SAIF_DATA   0x20
 
#define SAIF_VERSION   0X30
 
#define BM_SAIF_CTRL_SFTRST   0x80000000
 
#define BM_SAIF_CTRL_CLKGATE   0x40000000
 
#define BP_SAIF_CTRL_BITCLK_MULT_RATE   27
 
#define BM_SAIF_CTRL_BITCLK_MULT_RATE   0x38000000
 
#define BF_SAIF_CTRL_BITCLK_MULT_RATE(v)   (((v) << 27) & BM_SAIF_CTRL_BITCLK_MULT_RATE)
 
#define BM_SAIF_CTRL_BITCLK_BASE_RATE   0x04000000
 
#define BM_SAIF_CTRL_FIFO_ERROR_IRQ_EN   0x02000000
 
#define BM_SAIF_CTRL_FIFO_SERVICE_IRQ_EN   0x01000000
 
#define BP_SAIF_CTRL_RSRVD2   21
 
#define BM_SAIF_CTRL_RSRVD2   0x00E00000
 
#define BP_SAIF_CTRL_DMAWAIT_COUNT   16
 
#define BM_SAIF_CTRL_DMAWAIT_COUNT   0x001F0000
 
#define BF_SAIF_CTRL_DMAWAIT_COUNT(v)   (((v) << 16) & BM_SAIF_CTRL_DMAWAIT_COUNT)
 
#define BP_SAIF_CTRL_CHANNEL_NUM_SELECT   14
 
#define BM_SAIF_CTRL_CHANNEL_NUM_SELECT   0x0000C000
 
#define BF_SAIF_CTRL_CHANNEL_NUM_SELECT(v)   (((v) << 14) & BM_SAIF_CTRL_CHANNEL_NUM_SELECT)
 
#define BM_SAIF_CTRL_LRCLK_PULSE   0x00002000
 
#define BM_SAIF_CTRL_BIT_ORDER   0x00001000
 
#define BM_SAIF_CTRL_DELAY   0x00000800
 
#define BM_SAIF_CTRL_JUSTIFY   0x00000400
 
#define BM_SAIF_CTRL_LRCLK_POLARITY   0x00000200
 
#define BM_SAIF_CTRL_BITCLK_EDGE   0x00000100
 
#define BP_SAIF_CTRL_WORD_LENGTH   4
 
#define BM_SAIF_CTRL_WORD_LENGTH   0x000000F0
 
#define BF_SAIF_CTRL_WORD_LENGTH(v)   (((v) << 4) & BM_SAIF_CTRL_WORD_LENGTH)
 
#define BM_SAIF_CTRL_BITCLK_48XFS_ENABLE   0x00000008
 
#define BM_SAIF_CTRL_SLAVE_MODE   0x00000004
 
#define BM_SAIF_CTRL_READ_MODE   0x00000002
 
#define BM_SAIF_CTRL_RUN   0x00000001
 
#define BM_SAIF_STAT_PRESENT   0x80000000
 
#define BP_SAIF_STAT_RSRVD2   17
 
#define BM_SAIF_STAT_RSRVD2   0x7FFE0000
 
#define BF_SAIF_STAT_RSRVD2(v)   (((v) << 17) & BM_SAIF_STAT_RSRVD2)
 
#define BM_SAIF_STAT_DMA_PREQ   0x00010000
 
#define BP_SAIF_STAT_RSRVD1   7
 
#define BM_SAIF_STAT_RSRVD1   0x0000FF80
 
#define BF_SAIF_STAT_RSRVD1(v)   (((v) << 7) & BM_SAIF_STAT_RSRVD1)
 
#define BM_SAIF_STAT_FIFO_UNDERFLOW_IRQ   0x00000040
 
#define BM_SAIF_STAT_FIFO_OVERFLOW_IRQ   0x00000020
 
#define BM_SAIF_STAT_FIFO_SERVICE_IRQ   0x00000010
 
#define BP_SAIF_STAT_RSRVD0   1
 
#define BM_SAIF_STAT_RSRVD0   0x0000000E
 
#define BF_SAIF_STAT_RSRVD0(v)   (((v) << 1) & BM_SAIF_STAT_RSRVD0)
 
#define BM_SAIF_STAT_BUSY   0x00000001
 
#define BP_SAIF_DATA_PCM_RIGHT   16
 
#define BM_SAIF_DATA_PCM_RIGHT   0xFFFF0000
 
#define BF_SAIF_DATA_PCM_RIGHT(v)   (((v) << 16) & BM_SAIF_DATA_PCM_RIGHT)
 
#define BP_SAIF_DATA_PCM_LEFT   0
 
#define BM_SAIF_DATA_PCM_LEFT   0x0000FFFF
 
#define BF_SAIF_DATA_PCM_LEFT(v)   (((v) << 0) & BM_SAIF_DATA_PCM_LEFT)
 
#define BP_SAIF_VERSION_MAJOR   24
 
#define BM_SAIF_VERSION_MAJOR   0xFF000000
 
#define BF_SAIF_VERSION_MAJOR(v)   (((v) << 24) & BM_SAIF_VERSION_MAJOR)
 
#define BP_SAIF_VERSION_MINOR   16
 
#define BM_SAIF_VERSION_MINOR   0x00FF0000
 
#define BF_SAIF_VERSION_MINOR(v)   (((v) << 16) & BM_SAIF_VERSION_MINOR)
 
#define BP_SAIF_VERSION_STEP   0
 
#define BM_SAIF_VERSION_STEP   0x0000FFFF
 
#define BF_SAIF_VERSION_STEP(v)   (((v) << 0) & BM_SAIF_VERSION_STEP)
 
#define MXS_SAIF_MCLK   0
 

Functions

int mxs_saif_put_mclk (unsigned int saif_id)
 
int mxs_saif_get_mclk (unsigned int saif_id, unsigned int mclk, unsigned int rate)
 

Macro Definition Documentation

#define BF_SAIF_CTRL_BITCLK_MULT_RATE (   v)    (((v) << 27) & BM_SAIF_CTRL_BITCLK_MULT_RATE)

Definition at line 33 of file mxs-saif.h.

#define BF_SAIF_CTRL_CHANNEL_NUM_SELECT (   v)    (((v) << 14) & BM_SAIF_CTRL_CHANNEL_NUM_SELECT)

Definition at line 47 of file mxs-saif.h.

#define BF_SAIF_CTRL_DMAWAIT_COUNT (   v)    (((v) << 16) & BM_SAIF_CTRL_DMAWAIT_COUNT)

Definition at line 43 of file mxs-saif.h.

#define BF_SAIF_CTRL_WORD_LENGTH (   v)    (((v) << 4) & BM_SAIF_CTRL_WORD_LENGTH)

Definition at line 57 of file mxs-saif.h.

#define BF_SAIF_DATA_PCM_LEFT (   v)    (((v) << 0) & BM_SAIF_DATA_PCM_LEFT)

Definition at line 92 of file mxs-saif.h.

#define BF_SAIF_DATA_PCM_RIGHT (   v)    (((v) << 16) & BM_SAIF_DATA_PCM_RIGHT)

Definition at line 88 of file mxs-saif.h.

#define BF_SAIF_STAT_RSRVD0 (   v)    (((v) << 1) & BM_SAIF_STAT_RSRVD0)

Definition at line 81 of file mxs-saif.h.

#define BF_SAIF_STAT_RSRVD1 (   v)    (((v) << 7) & BM_SAIF_STAT_RSRVD1)

Definition at line 73 of file mxs-saif.h.

#define BF_SAIF_STAT_RSRVD2 (   v)    (((v) << 17) & BM_SAIF_STAT_RSRVD2)

Definition at line 68 of file mxs-saif.h.

#define BF_SAIF_VERSION_MAJOR (   v)    (((v) << 24) & BM_SAIF_VERSION_MAJOR)

Definition at line 98 of file mxs-saif.h.

#define BF_SAIF_VERSION_MINOR (   v)    (((v) << 16) & BM_SAIF_VERSION_MINOR)

Definition at line 102 of file mxs-saif.h.

#define BF_SAIF_VERSION_STEP (   v)    (((v) << 0) & BM_SAIF_VERSION_STEP)

Definition at line 106 of file mxs-saif.h.

#define BM_SAIF_CTRL_BIT_ORDER   0x00001000

Definition at line 50 of file mxs-saif.h.

#define BM_SAIF_CTRL_BITCLK_48XFS_ENABLE   0x00000008

Definition at line 59 of file mxs-saif.h.

#define BM_SAIF_CTRL_BITCLK_BASE_RATE   0x04000000

Definition at line 35 of file mxs-saif.h.

#define BM_SAIF_CTRL_BITCLK_EDGE   0x00000100

Definition at line 54 of file mxs-saif.h.

#define BM_SAIF_CTRL_BITCLK_MULT_RATE   0x38000000

Definition at line 32 of file mxs-saif.h.

#define BM_SAIF_CTRL_CHANNEL_NUM_SELECT   0x0000C000

Definition at line 46 of file mxs-saif.h.

#define BM_SAIF_CTRL_CLKGATE   0x40000000

Definition at line 30 of file mxs-saif.h.

#define BM_SAIF_CTRL_DELAY   0x00000800

Definition at line 51 of file mxs-saif.h.

#define BM_SAIF_CTRL_DMAWAIT_COUNT   0x001F0000

Definition at line 42 of file mxs-saif.h.

#define BM_SAIF_CTRL_FIFO_ERROR_IRQ_EN   0x02000000

Definition at line 36 of file mxs-saif.h.

#define BM_SAIF_CTRL_FIFO_SERVICE_IRQ_EN   0x01000000

Definition at line 37 of file mxs-saif.h.

#define BM_SAIF_CTRL_JUSTIFY   0x00000400

Definition at line 52 of file mxs-saif.h.

#define BM_SAIF_CTRL_LRCLK_POLARITY   0x00000200

Definition at line 53 of file mxs-saif.h.

#define BM_SAIF_CTRL_LRCLK_PULSE   0x00002000

Definition at line 49 of file mxs-saif.h.

#define BM_SAIF_CTRL_READ_MODE   0x00000002

Definition at line 61 of file mxs-saif.h.

#define BM_SAIF_CTRL_RSRVD2   0x00E00000

Definition at line 39 of file mxs-saif.h.

#define BM_SAIF_CTRL_RUN   0x00000001

Definition at line 62 of file mxs-saif.h.

#define BM_SAIF_CTRL_SFTRST   0x80000000

Definition at line 29 of file mxs-saif.h.

#define BM_SAIF_CTRL_SLAVE_MODE   0x00000004

Definition at line 60 of file mxs-saif.h.

#define BM_SAIF_CTRL_WORD_LENGTH   0x000000F0

Definition at line 56 of file mxs-saif.h.

#define BM_SAIF_DATA_PCM_LEFT   0x0000FFFF

Definition at line 91 of file mxs-saif.h.

#define BM_SAIF_DATA_PCM_RIGHT   0xFFFF0000

Definition at line 87 of file mxs-saif.h.

#define BM_SAIF_STAT_BUSY   0x00000001

Definition at line 83 of file mxs-saif.h.

#define BM_SAIF_STAT_DMA_PREQ   0x00010000

Definition at line 70 of file mxs-saif.h.

#define BM_SAIF_STAT_FIFO_OVERFLOW_IRQ   0x00000020

Definition at line 77 of file mxs-saif.h.

#define BM_SAIF_STAT_FIFO_SERVICE_IRQ   0x00000010

Definition at line 78 of file mxs-saif.h.

#define BM_SAIF_STAT_FIFO_UNDERFLOW_IRQ   0x00000040

Definition at line 76 of file mxs-saif.h.

#define BM_SAIF_STAT_PRESENT   0x80000000

Definition at line 65 of file mxs-saif.h.

#define BM_SAIF_STAT_RSRVD0   0x0000000E

Definition at line 80 of file mxs-saif.h.

#define BM_SAIF_STAT_RSRVD1   0x0000FF80

Definition at line 72 of file mxs-saif.h.

#define BM_SAIF_STAT_RSRVD2   0x7FFE0000

Definition at line 67 of file mxs-saif.h.

#define BM_SAIF_VERSION_MAJOR   0xFF000000

Definition at line 97 of file mxs-saif.h.

#define BM_SAIF_VERSION_MINOR   0x00FF0000

Definition at line 101 of file mxs-saif.h.

#define BM_SAIF_VERSION_STEP   0x0000FFFF

Definition at line 105 of file mxs-saif.h.

#define BP_SAIF_CTRL_BITCLK_MULT_RATE   27

Definition at line 31 of file mxs-saif.h.

#define BP_SAIF_CTRL_CHANNEL_NUM_SELECT   14

Definition at line 45 of file mxs-saif.h.

#define BP_SAIF_CTRL_DMAWAIT_COUNT   16

Definition at line 41 of file mxs-saif.h.

#define BP_SAIF_CTRL_RSRVD2   21

Definition at line 38 of file mxs-saif.h.

#define BP_SAIF_CTRL_WORD_LENGTH   4

Definition at line 55 of file mxs-saif.h.

#define BP_SAIF_DATA_PCM_LEFT   0

Definition at line 90 of file mxs-saif.h.

#define BP_SAIF_DATA_PCM_RIGHT   16

Definition at line 86 of file mxs-saif.h.

#define BP_SAIF_STAT_RSRVD0   1

Definition at line 79 of file mxs-saif.h.

#define BP_SAIF_STAT_RSRVD1   7

Definition at line 71 of file mxs-saif.h.

#define BP_SAIF_STAT_RSRVD2   17

Definition at line 66 of file mxs-saif.h.

#define BP_SAIF_VERSION_MAJOR   24

Definition at line 96 of file mxs-saif.h.

#define BP_SAIF_VERSION_MINOR   16

Definition at line 100 of file mxs-saif.h.

#define BP_SAIF_VERSION_STEP   0

Definition at line 104 of file mxs-saif.h.

#define MXS_SAIF_MCLK   0

Definition at line 109 of file mxs-saif.h.

#define SAIF_CTRL   0x0

Definition at line 23 of file mxs-saif.h.

#define SAIF_DATA   0x20

Definition at line 25 of file mxs-saif.h.

#define SAIF_STAT   0x10

Definition at line 24 of file mxs-saif.h.

#define SAIF_VERSION   0X30

Definition at line 26 of file mxs-saif.h.

Function Documentation

int mxs_saif_get_mclk ( unsigned int  saif_id,
unsigned int  mclk,
unsigned int  rate 
)

Definition at line 239 of file mxs-saif.c.

int mxs_saif_put_mclk ( unsigned int  saif_id)

Definition at line 207 of file mxs-saif.c.