• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6.36/sound/soc/s3c24xx/

Lines Matching refs:i2s

29 #include "regs-i2s-v2.h"
30 #include "s3c-i2s-v2.h"
86 static void s3c2412_snd_txctrl(struct s3c_i2sv2_info *i2s, int on)
88 void __iomem *regs = i2s->regs;
116 dev_err(i2s->dev, "TXEN: Invalid MODE %x in IISMOD\n",
145 dev_err(i2s->dev, "TXDIS: Invalid MODE %x in IISMOD\n",
159 static void s3c2412_snd_rxctrl(struct s3c_i2sv2_info *i2s, int on)
161 void __iomem *regs = i2s->regs;
189 dev_err(i2s->dev, "RXEN: Invalid MODE %x in IISMOD\n",
214 dev_err(i2s->dev, "RXDIS: Invalid MODE %x in IISMOD\n",
232 static int s3c2412_snd_lrsync(struct s3c_i2sv2_info *i2s)
240 iiscon = readl(i2s->regs + S3C2412_IISCON);
261 struct s3c_i2sv2_info *i2s = to_info(cpu_dai);
266 iismod = readl(i2s->regs + S3C2412_IISMOD);
271 i2s->master = 0;
275 i2s->master = 1;
303 writel(iismod, i2s->regs + S3C2412_IISMOD);
314 struct s3c_i2sv2_info *i2s = to_info(dai->cpu_dai);
321 dma_data = i2s->dma_playback;
323 dma_data = i2s->dma_capture;
328 iismod = readl(i2s->regs + S3C2412_IISMOD);
344 writel(iismod, i2s->regs + S3C2412_IISMOD);
353 struct s3c_i2sv2_info *i2s = to_info(cpu_dai);
354 u32 iismod = readl(i2s->regs + S3C2412_IISMOD);
370 if (!(i2s->feature & S3C_FEATURE_CDCLKCON))
389 writel(iismod, i2s->regs + S3C2412_IISMOD);
399 struct s3c_i2sv2_info *i2s = to_info(rtd->dai->cpu_dai);
413 i2s->regs + S3C2412_IISFIC);
416 writel(0x0, i2s->regs + S3C2412_IISFIC);
420 if (!i2s->master) {
421 ret = s3c2412_snd_lrsync(i2s);
429 s3c2412_snd_rxctrl(i2s, 1);
431 s3c2412_snd_txctrl(i2s, 1);
450 s3c2412_snd_rxctrl(i2s, 0);
452 s3c2412_snd_txctrl(i2s, 0);
471 struct s3c_i2sv2_info *i2s = to_info(cpu_dai);
499 reg = readl(i2s->regs + S3C2412_IISMOD);
501 writel(reg | div, i2s->regs + S3C2412_IISMOD);
503 pr_debug("%s: MOD=%08x\n", __func__, readl(i2s->regs + S3C2412_IISMOD));
528 reg = readl(i2s->regs + S3C2412_IISMOD);
530 writel(reg | div, i2s->regs + S3C2412_IISMOD);
531 pr_debug("%s: MOD=%08x\n", __func__, readl(i2s->regs + S3C2412_IISMOD));
537 i2s->regs + S3C2412_IISPSR);
539 writel(0x0, i2s->regs + S3C2412_IISPSR);
541 pr_debug("%s: PSR=%08x\n", __func__, readl(i2s->regs + S3C2412_IISPSR));
554 struct s3c_i2sv2_info *i2s = to_info(dai);
555 u32 reg = readl(i2s->regs + S3C2412_IISFIC);
568 struct s3c_i2sv2_info *i2s = to_info(cpu_dai);
569 u32 iismod = readl(i2s->regs + S3C2412_IISMOD);
572 return i2s->iis_cclk;
574 return i2s->iis_pclk;
645 struct s3c_i2sv2_info *i2s,
651 i2s->dev = dev;
653 /* record our i2s structure for later use in the callbacks */
654 dai->private_data = i2s;
666 "s3c64xx-i2s-v4")) {
674 i2s->regs = ioremap(base, 0x100);
675 if (i2s->regs == NULL) {
680 i2s->iis_pclk = clk_get(dev, "iis");
681 if (IS_ERR(i2s->iis_pclk)) {
683 iounmap(i2s->regs);
687 clk_enable(i2s->iis_pclk);
691 iismod = readl(i2s->regs + S3C2412_IISMOD);
693 writel(iismod, i2s->regs + S3C2412_IISMOD);
694 s3c2412_snd_txctrl(i2s, 0);
695 s3c2412_snd_rxctrl(i2s, 0);
704 struct s3c_i2sv2_info *i2s = to_info(dai);
708 i2s->suspend_iismod = readl(i2s->regs + S3C2412_IISMOD);
709 i2s->suspend_iiscon = readl(i2s->regs + S3C2412_IISCON);
710 i2s->suspend_iispsr = readl(i2s->regs + S3C2412_IISPSR);
714 iismod = readl(i2s->regs + S3C2412_IISMOD);
731 struct s3c_i2sv2_info *i2s = to_info(dai);
734 dai->active, i2s->suspend_iismod, i2s->suspend_iiscon);
737 writel(i2s->suspend_iiscon, i2s->regs + S3C2412_IISCON);
738 writel(i2s->suspend_iismod, i2s->regs + S3C2412_IISMOD);
739 writel(i2s->suspend_iispsr, i2s->regs + S3C2412_IISPSR);
742 i2s->regs + S3C2412_IISFIC);
745 writel(0x0, i2s->regs + S3C2412_IISFIC);