123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- #ifndef __I2S_H__
- #define __I2S_H__
- #define SND_SOC_DAIFMT_I2S 1
- #define SND_SOC_DAIFMT_RIGHT_J 2
- #define SND_SOC_DAIFMT_LEFT_J 3
- #define SND_SOC_DAIFMT_DSP_A 4
- #define SND_SOC_DAIFMT_DSP_B 5
- #define SND_SOC_DAIFMT_AC97 6
- #define SND_SOC_DAIFMT_PDM 7
- #define SND_SOC_DAIFMT_MSB SND_SOC_DAIFMT_LEFT_J
- #define SND_SOC_DAIFMT_LSB SND_SOC_DAIFMT_RIGHT_J
- #define SND_SOC_DAIFMT_NB_NF (1 << 8)
- #define SND_SOC_DAIFMT_NB_IF (2 << 8)
- #define SND_SOC_DAIFMT_IB_NF (3 << 8)
- #define SND_SOC_DAIFMT_IB_IF (4 << 8)
- #define SND_SOC_DAIFMT_CBM_CFM (1 << 12)
- #define SND_SOC_DAIFMT_CBS_CFM (2 << 12)
- #define SND_SOC_DAIFMT_CBM_CFS (3 << 12)
- #define SND_SOC_DAIFMT_CBS_CFS (4 << 12)
- #define SND_SOC_DAIFMT_FORMAT_MASK 0x000f
- #define SND_SOC_DAIFMT_CLOCK_MASK 0x00f0
- #define SND_SOC_DAIFMT_INV_MASK 0x0f00
- #define SND_SOC_DAIFMT_MASTER_MASK 0xf000
- #define SND_SOC_CLOCK_IN 0
- #define SND_SOC_CLOCK_OUT 1
- #define I2S_TX_ON 1
- #define I2S_TX_OFF 0
- #define FIFO_LENGTH 64
- struct i2s_reg {
- unsigned int con;
- unsigned int mod;
- unsigned int fic;
- unsigned int psr;
- unsigned int txd;
- unsigned int rxd;
- };
- struct i2stx_info {
- unsigned int rfs;
- unsigned int bfs;
- unsigned int audio_pll_clk;
- unsigned int samplingrate;
- unsigned int bitspersample;
- unsigned int channels;
- unsigned int base_address;
- unsigned int id;
- };
- int i2s_transfer_tx_data(struct i2stx_info *pi2s_tx, unsigned *data,
- unsigned long data_size);
- int i2s_tx_init(struct i2stx_info *pi2s_tx);
- #endif
|