Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
interface.h File Reference

Go to the source code of this file.

Data Structures

struct  i2s_interface_regs
 

Macros

#define __PAD(m, n)   u8 __pad##m[n]
 
#define _PAD(line, n)   __PAD(line, n)
 
#define PAD(n)   _PAD(__LINE__, (n))
 
#define I2S_REG_INTR_CTL   0x00
 
#define I2S_INT_FRAME_COUNT   (1<<31)
 
#define I2S_PENDING_FRAME_COUNT   (1<<30)
 
#define I2S_INT_MESSAGE_FLAG   (1<<29)
 
#define I2S_PENDING_MESSAGE_FLAG   (1<<28)
 
#define I2S_INT_NEW_PEAK   (1<<27)
 
#define I2S_PENDING_NEW_PEAK   (1<<26)
 
#define I2S_INT_CLOCKS_STOPPED   (1<<25)
 
#define I2S_PENDING_CLOCKS_STOPPED   (1<<24)
 
#define I2S_INT_EXTERNAL_SYNC_ERROR   (1<<23)
 
#define I2S_PENDING_EXTERNAL_SYNC_ERROR   (1<<22)
 
#define I2S_INT_EXTERNAL_SYNC_OK   (1<<21)
 
#define I2S_PENDING_EXTERNAL_SYNC_OK   (1<<20)
 
#define I2S_INT_NEW_SAMPLE_RATE   (1<<19)
 
#define I2S_PENDING_NEW_SAMPLE_RATE   (1<<18)
 
#define I2S_INT_STATUS_FLAG   (1<<17)
 
#define I2S_PENDING_STATUS_FLAG   (1<<16)
 
#define I2S_REG_SERIAL_FORMAT   0x10
 
#define I2S_SF_CLOCK_SOURCE_SHIFT   30
 
#define I2S_SF_CLOCK_SOURCE_MASK   (3<<I2S_SF_CLOCK_SOURCE_SHIFT)
 
#define I2S_SF_CLOCK_SOURCE_18MHz   (0<<I2S_SF_CLOCK_SOURCE_SHIFT)
 
#define I2S_SF_CLOCK_SOURCE_45MHz   (1<<I2S_SF_CLOCK_SOURCE_SHIFT)
 
#define I2S_SF_CLOCK_SOURCE_49MHz   (2<<I2S_SF_CLOCK_SOURCE_SHIFT)
 
#define I2S_CLOCK_SPEED_18MHz   18432000
 
#define I2S_CLOCK_SPEED_45MHz   45158400
 
#define I2S_CLOCK_SPEED_49MHz   49152000
 
#define I2S_SF_MCLKDIV_SHIFT   24
 
#define I2S_SF_MCLKDIV_MASK   (0x1F<<I2S_SF_MCLKDIV_SHIFT)
 
#define I2S_SF_MCLKDIV_1   (0x14<<I2S_SF_MCLKDIV_SHIFT)
 
#define I2S_SF_MCLKDIV_3   (0x13<<I2S_SF_MCLKDIV_SHIFT)
 
#define I2S_SF_MCLKDIV_5   (0x12<<I2S_SF_MCLKDIV_SHIFT)
 
#define I2S_SF_MCLKDIV_14   (0x0E<<I2S_SF_MCLKDIV_SHIFT)
 
#define I2S_SF_MCLKDIV_OTHER(div)   (((div/2-1)<<I2S_SF_MCLKDIV_SHIFT)&I2S_SF_MCLKDIV_MASK)
 
#define I2S_SF_SCLKDIV_SHIFT   20
 
#define I2S_SF_SCLKDIV_MASK   (0xF<<I2S_SF_SCLKDIV_SHIFT)
 
#define I2S_SF_SCLKDIV_1   (8<<I2S_SF_SCLKDIV_SHIFT)
 
#define I2S_SF_SCLKDIV_3   (9<<I2S_SF_SCLKDIV_SHIFT)
 
#define I2S_SF_SCLKDIV_OTHER(div)   (((div/2-1)<<I2S_SF_SCLKDIV_SHIFT)&I2S_SF_SCLKDIV_MASK)
 
#define I2S_SF_SCLK_MASTER   (1<<19)
 
#define I2S_SF_SERIAL_FORMAT_SHIFT   16
 
#define I2S_SF_SERIAL_FORMAT_MASK   (7<<I2S_SF_SERIAL_FORMAT_SHIFT)
 
#define I2S_SF_SERIAL_FORMAT_SONY   (0<<I2S_SF_SERIAL_FORMAT_SHIFT)
 
#define I2S_SF_SERIAL_FORMAT_I2S_64X   (1<<I2S_SF_SERIAL_FORMAT_SHIFT)
 
#define I2S_SF_SERIAL_FORMAT_I2S_32X   (2<<I2S_SF_SERIAL_FORMAT_SHIFT)
 
#define I2S_SF_SERIAL_FORMAT_I2S_DAV   (4<<I2S_SF_SERIAL_FORMAT_SHIFT)
 
#define I2S_SF_SERIAL_FORMAT_I2S_SILABS   (5<<I2S_SF_SERIAL_FORMAT_SHIFT)
 
#define I2S_SF_EXT_SAMPLE_FREQ_INT_SHIFT   12
 
#define I2S_SF_EXT_SAMPLE_FREQ_INT_MASK   (0xF<<I2S_SF_SAMPLE_FREQ_INT_SHIFT)
 
#define I2S_SF_EXT_SAMPLE_FREQ_MASK   0xFFF
 
#define I2S_REG_CODEC_MSG_OUT   0x20
 
#define I2S_REG_CODEC_MSG_IN   0x30
 
#define I2S_REG_FRAME_COUNT   0x40
 
#define I2S_REG_FRAME_MATCH   0x50
 
#define I2S_REG_DATA_WORD_SIZES   0x60
 
#define I2S_DWS_NUM_CHANNELS_IN_SHIFT   24
 
#define I2S_DWS_NUM_CHANNELS_IN_MASK   (0x1F<<I2S_DWS_NUM_CHANNELS_IN_SHIFT)
 
#define I2S_DWS_DATA_IN_SIZE_SHIFT   16
 
#define I2S_DWS_DATA_IN_16BIT   (0<<I2S_DWS_DATA_IN_SIZE_SHIFT)
 
#define I2S_DWS_DATA_IN_24BIT   (3<<I2S_DWS_DATA_IN_SIZE_SHIFT)
 
#define I2S_DWS_NUM_CHANNELS_OUT_SHIFT   8
 
#define I2S_DWS_NUM_CHANNELS_OUT_MASK   (0x1F<<I2S_DWS_NUM_CHANNELS_OUT_SHIFT)
 
#define I2S_DWS_DATA_OUT_SIZE_SHIFT   0
 
#define I2S_DWS_DATA_OUT_16BIT   (0<<I2S_DWS_DATA_OUT_SIZE_SHIFT)
 
#define I2S_DWS_DATA_OUT_24BIT   (3<<I2S_DWS_DATA_OUT_SIZE_SHIFT)
 
#define I2S_REG_PEAK_LEVEL_SEL   0x70
 
#define I2S_REG_PEAK_LEVEL_IN0   0x80
 
#define I2S_REG_PEAK_LEVEL_IN1   0x90
 

Functions

struct i2s_interface_regs __attribute__ ((__packed__))
 
 PAD (12)
 

Variables

__le32 intr_ctl
 
__le32 serial_format
 
__le32 codec_msg_out
 
__le32 codec_msg_in
 
__le32 frame_count
 
__le32 frame_match
 
__le32 data_word_sizes
 
__le32 peak_level_sel
 
__le32 peak_level_in0
 
__le32 peak_level_in1
 

Macro Definition Documentation

#define __PAD (   m,
  n 
)    u8 __pad##m[n]

Definition at line 13 of file interface.h.

#define _PAD (   line,
  n 
)    __PAD(line, n)

Definition at line 14 of file interface.h.

#define I2S_CLOCK_SPEED_18MHz   18432000

Definition at line 78 of file interface.h.

#define I2S_CLOCK_SPEED_45MHz   45158400

Definition at line 79 of file interface.h.

#define I2S_CLOCK_SPEED_49MHz   49152000

Definition at line 80 of file interface.h.

#define I2S_DWS_DATA_IN_16BIT   (0<<I2S_DWS_DATA_IN_SIZE_SHIFT)

Definition at line 167 of file interface.h.

#define I2S_DWS_DATA_IN_24BIT   (3<<I2S_DWS_DATA_IN_SIZE_SHIFT)

Definition at line 168 of file interface.h.

#define I2S_DWS_DATA_IN_SIZE_SHIFT   16

Definition at line 166 of file interface.h.

#define I2S_DWS_DATA_OUT_16BIT   (0<<I2S_DWS_DATA_OUT_SIZE_SHIFT)

Definition at line 174 of file interface.h.

#define I2S_DWS_DATA_OUT_24BIT   (3<<I2S_DWS_DATA_OUT_SIZE_SHIFT)

Definition at line 175 of file interface.h.

#define I2S_DWS_DATA_OUT_SIZE_SHIFT   0

Definition at line 173 of file interface.h.

#define I2S_DWS_NUM_CHANNELS_IN_MASK   (0x1F<<I2S_DWS_NUM_CHANNELS_IN_SHIFT)

Definition at line 164 of file interface.h.

#define I2S_DWS_NUM_CHANNELS_IN_SHIFT   24

Definition at line 163 of file interface.h.

#define I2S_DWS_NUM_CHANNELS_OUT_MASK   (0x1F<<I2S_DWS_NUM_CHANNELS_OUT_SHIFT)

Definition at line 171 of file interface.h.

#define I2S_DWS_NUM_CHANNELS_OUT_SHIFT   8

Definition at line 170 of file interface.h.

#define I2S_INT_CLOCKS_STOPPED   (1<<25)

Definition at line 49 of file interface.h.

#define I2S_INT_EXTERNAL_SYNC_ERROR   (1<<23)

Definition at line 51 of file interface.h.

#define I2S_INT_EXTERNAL_SYNC_OK   (1<<21)

Definition at line 53 of file interface.h.

#define I2S_INT_FRAME_COUNT   (1<<31)

Definition at line 43 of file interface.h.

#define I2S_INT_MESSAGE_FLAG   (1<<29)

Definition at line 45 of file interface.h.

#define I2S_INT_NEW_PEAK   (1<<27)

Definition at line 47 of file interface.h.

#define I2S_INT_NEW_SAMPLE_RATE   (1<<19)

Definition at line 55 of file interface.h.

#define I2S_INT_STATUS_FLAG   (1<<17)

Definition at line 57 of file interface.h.

#define I2S_PENDING_CLOCKS_STOPPED   (1<<24)

Definition at line 50 of file interface.h.

#define I2S_PENDING_EXTERNAL_SYNC_ERROR   (1<<22)

Definition at line 52 of file interface.h.

#define I2S_PENDING_EXTERNAL_SYNC_OK   (1<<20)

Definition at line 54 of file interface.h.

#define I2S_PENDING_FRAME_COUNT   (1<<30)

Definition at line 44 of file interface.h.

#define I2S_PENDING_MESSAGE_FLAG   (1<<28)

Definition at line 46 of file interface.h.

#define I2S_PENDING_NEW_PEAK   (1<<26)

Definition at line 48 of file interface.h.

#define I2S_PENDING_NEW_SAMPLE_RATE   (1<<18)

Definition at line 56 of file interface.h.

#define I2S_PENDING_STATUS_FLAG   (1<<16)

Definition at line 58 of file interface.h.

#define I2S_REG_CODEC_MSG_IN   0x30

Definition at line 152 of file interface.h.

#define I2S_REG_CODEC_MSG_OUT   0x20

Definition at line 149 of file interface.h.

#define I2S_REG_DATA_WORD_SIZES   0x60

Definition at line 161 of file interface.h.

#define I2S_REG_FRAME_COUNT   0x40

Definition at line 155 of file interface.h.

#define I2S_REG_FRAME_MATCH   0x50

Definition at line 158 of file interface.h.

#define I2S_REG_INTR_CTL   0x00

Definition at line 42 of file interface.h.

#define I2S_REG_PEAK_LEVEL_IN0   0x80

Definition at line 182 of file interface.h.

#define I2S_REG_PEAK_LEVEL_IN1   0x90

Definition at line 185 of file interface.h.

#define I2S_REG_PEAK_LEVEL_SEL   0x70

Definition at line 179 of file interface.h.

#define I2S_REG_SERIAL_FORMAT   0x10

Definition at line 70 of file interface.h.

#define I2S_SF_CLOCK_SOURCE_18MHz   (0<<I2S_SF_CLOCK_SOURCE_SHIFT)

Definition at line 74 of file interface.h.

#define I2S_SF_CLOCK_SOURCE_45MHz   (1<<I2S_SF_CLOCK_SOURCE_SHIFT)

Definition at line 75 of file interface.h.

#define I2S_SF_CLOCK_SOURCE_49MHz   (2<<I2S_SF_CLOCK_SOURCE_SHIFT)

Definition at line 76 of file interface.h.

#define I2S_SF_CLOCK_SOURCE_MASK   (3<<I2S_SF_CLOCK_SOURCE_SHIFT)

Definition at line 73 of file interface.h.

#define I2S_SF_CLOCK_SOURCE_SHIFT   30

Definition at line 72 of file interface.h.

#define I2S_SF_EXT_SAMPLE_FREQ_INT_MASK   (0xF<<I2S_SF_SAMPLE_FREQ_INT_SHIFT)

Definition at line 144 of file interface.h.

#define I2S_SF_EXT_SAMPLE_FREQ_INT_SHIFT   12

Definition at line 143 of file interface.h.

#define I2S_SF_EXT_SAMPLE_FREQ_MASK   0xFFF

Definition at line 146 of file interface.h.

#define I2S_SF_MCLKDIV_1   (0x14<<I2S_SF_MCLKDIV_SHIFT)

Definition at line 86 of file interface.h.

#define I2S_SF_MCLKDIV_14   (0x0E<<I2S_SF_MCLKDIV_SHIFT)

Definition at line 89 of file interface.h.

#define I2S_SF_MCLKDIV_3   (0x13<<I2S_SF_MCLKDIV_SHIFT)

Definition at line 87 of file interface.h.

#define I2S_SF_MCLKDIV_5   (0x12<<I2S_SF_MCLKDIV_SHIFT)

Definition at line 88 of file interface.h.

#define I2S_SF_MCLKDIV_MASK   (0x1F<<I2S_SF_MCLKDIV_SHIFT)

Definition at line 85 of file interface.h.

#define I2S_SF_MCLKDIV_OTHER (   div)    (((div/2-1)<<I2S_SF_MCLKDIV_SHIFT)&I2S_SF_MCLKDIV_MASK)

Definition at line 90 of file interface.h.

#define I2S_SF_MCLKDIV_SHIFT   24

Definition at line 84 of file interface.h.

#define I2S_SF_SCLK_MASTER   (1<<19)

Definition at line 133 of file interface.h.

#define I2S_SF_SCLKDIV_1   (8<<I2S_SF_SCLKDIV_SHIFT)

Definition at line 115 of file interface.h.

#define I2S_SF_SCLKDIV_3   (9<<I2S_SF_SCLKDIV_SHIFT)

Definition at line 116 of file interface.h.

#define I2S_SF_SCLKDIV_MASK   (0xF<<I2S_SF_SCLKDIV_SHIFT)

Definition at line 114 of file interface.h.

#define I2S_SF_SCLKDIV_OTHER (   div)    (((div/2-1)<<I2S_SF_SCLKDIV_SHIFT)&I2S_SF_SCLKDIV_MASK)

Definition at line 117 of file interface.h.

#define I2S_SF_SCLKDIV_SHIFT   20

Definition at line 113 of file interface.h.

#define I2S_SF_SERIAL_FORMAT_I2S_32X   (2<<I2S_SF_SERIAL_FORMAT_SHIFT)

Definition at line 139 of file interface.h.

#define I2S_SF_SERIAL_FORMAT_I2S_64X   (1<<I2S_SF_SERIAL_FORMAT_SHIFT)

Definition at line 138 of file interface.h.

#define I2S_SF_SERIAL_FORMAT_I2S_DAV   (4<<I2S_SF_SERIAL_FORMAT_SHIFT)

Definition at line 140 of file interface.h.

#define I2S_SF_SERIAL_FORMAT_I2S_SILABS   (5<<I2S_SF_SERIAL_FORMAT_SHIFT)

Definition at line 141 of file interface.h.

#define I2S_SF_SERIAL_FORMAT_MASK   (7<<I2S_SF_SERIAL_FORMAT_SHIFT)

Definition at line 136 of file interface.h.

#define I2S_SF_SERIAL_FORMAT_SHIFT   16

Definition at line 135 of file interface.h.

#define I2S_SF_SERIAL_FORMAT_SONY   (0<<I2S_SF_SERIAL_FORMAT_SHIFT)

Definition at line 137 of file interface.h.

#define PAD (   n)    _PAD(__LINE__, (n))

Definition at line 15 of file interface.h.

Function Documentation

struct i2s_interface_regs __attribute__ ( (__packed__)  )
read

Definition at line 85 of file mpc512x_dma.c.

PAD ( 12  )

Variable Documentation

__le32 codec_msg_in

Definition at line 45 of file interface.h.

__le32 codec_msg_out

Definition at line 43 of file interface.h.

__le32 data_word_sizes

Definition at line 51 of file interface.h.

__le32 frame_count

Definition at line 47 of file interface.h.

__le32 frame_match

Definition at line 49 of file interface.h.

__le32 intr_ctl

Definition at line 39 of file interface.h.

__le32 peak_level_in0

Definition at line 55 of file interface.h.

__le32 peak_level_in1

Definition at line 57 of file interface.h.

__le32 peak_level_sel

Definition at line 53 of file interface.h.

__le32 serial_format

Definition at line 41 of file interface.h.