Lines Matching refs:i2s_reg

30 static void i2s_set_lr_framesize(struct i2s_reg *i2s_reg, unsigned int rfs)  in i2s_set_lr_framesize()  argument
32 unsigned int mod = readl(&i2s_reg->mod); in i2s_set_lr_framesize()
51 writel(mod, &i2s_reg->mod); in i2s_set_lr_framesize()
60 static void i2s_txctrl(struct i2s_reg *i2s_reg, int on) in i2s_txctrl() argument
62 unsigned int con = readl(&i2s_reg->con); in i2s_txctrl()
63 unsigned int mod = readl(&i2s_reg->mod) & ~MOD_MASK; in i2s_txctrl()
73 writel(mod, &i2s_reg->mod); in i2s_txctrl()
74 writel(con, &i2s_reg->con); in i2s_txctrl()
83 static void i2s_set_bitclk_framesize(struct i2s_reg *i2s_reg, unsigned bfs) in i2s_set_bitclk_framesize() argument
85 unsigned int mod = readl(&i2s_reg->mod); in i2s_set_bitclk_framesize()
105 writel(mod, &i2s_reg->mod); in i2s_set_bitclk_framesize()
115 static void i2s_fifo(struct i2s_reg *i2s_reg, unsigned int flush) in i2s_fifo() argument
118 setbits_le32(&i2s_reg->fic, flush); in i2s_fifo()
119 clrbits_le32(&i2s_reg->fic, flush); in i2s_fifo()
130 static int i2s_set_sysclk_dir(struct i2s_reg *i2s_reg, int dir) in i2s_set_sysclk_dir() argument
132 unsigned int mod = readl(&i2s_reg->mod); in i2s_set_sysclk_dir()
139 writel(mod, &i2s_reg->mod); in i2s_set_sysclk_dir()
152 static int i2s_set_fmt(struct i2s_reg *i2s_reg, unsigned int fmt) in i2s_set_fmt() argument
154 unsigned int mod = readl(&i2s_reg->mod); in i2s_set_fmt()
202 ret = i2s_set_sysclk_dir(i2s_reg, SND_SOC_CLOCK_OUT); in i2s_set_fmt()
216 writel(mod, &i2s_reg->mod); in i2s_set_fmt()
229 static int i2s_set_samplesize(struct i2s_reg *i2s_reg, unsigned int blc) in i2s_set_samplesize() argument
231 unsigned int mod = readl(&i2s_reg->mod); in i2s_set_samplesize()
254 writel(mod, &i2s_reg->mod); in i2s_set_samplesize()
262 struct i2s_reg *i2s_reg = (struct i2s_reg *)pi2s_tx->base_address; in i2s_transfer_tx_data() local
274 writel(*ptr++, &i2s_reg->txd); in i2s_transfer_tx_data()
277 i2s_txctrl(i2s_reg, I2S_TX_ON); in i2s_transfer_tx_data()
281 if (!(CON_TXFIFO_FULL & (readl(&i2s_reg->con)))) { in i2s_transfer_tx_data()
282 writel(*ptr++, &i2s_reg->txd); in i2s_transfer_tx_data()
286 i2s_txctrl(i2s_reg, I2S_TX_OFF); in i2s_transfer_tx_data()
292 i2s_txctrl(i2s_reg, I2S_TX_OFF); in i2s_transfer_tx_data()
300 struct i2s_reg *i2s_reg = (struct i2s_reg *)pi2s_tx->base_address; in i2s_tx_init() local
334 writel(CON_RESET, &i2s_reg->con); in i2s_tx_init()
336 writel(MOD_OP_CLK | MOD_RCLKSRC, &i2s_reg->mod); in i2s_tx_init()
338 writel(PSREN | PSVAL, &i2s_reg->psr); in i2s_tx_init()
352 ret = i2s_set_fmt(i2s_reg, SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | in i2s_tx_init()
355 i2s_set_lr_framesize(i2s_reg, pi2s_tx->rfs); in i2s_tx_init()
356 ret = i2s_set_samplesize(i2s_reg, pi2s_tx->bitspersample); in i2s_tx_init()
362 i2s_set_bitclk_framesize(i2s_reg, pi2s_tx->bfs); in i2s_tx_init()
364 i2s_txctrl(i2s_reg, I2S_TX_OFF); in i2s_tx_init()
365 i2s_fifo(i2s_reg, FIC_TXFLUSH); in i2s_tx_init()