9 #include <linux/module.h>
29 #define PSC_I2S_RATES (SNDRV_PCM_RATE_5512 | SNDRV_PCM_RATE_8000_192000 | \
30 SNDRV_PCM_RATE_CONTINUOUS)
35 #define PSC_I2S_FORMATS (SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_BE | \
36 SNDRV_PCM_FMTBIT_S24_BE | SNDRV_PCM_FMTBIT_S32_BE)
46 dev_dbg(psc_dma->
dev,
"%s(substream=%p) p_size=%i p_bytes=%i"
47 " periods=%i buffer_size=%i buffer_bytes=%i\n",
88 static int psc_i2s_set_sysclk(
struct snd_soc_dai *cpu_dai,
89 int clk_id,
unsigned int freq,
int dir)
92 dev_dbg(psc_dma->
dev,
"psc_i2s_set_sysclk(cpu_dai=%p, dir=%i)\n",
110 struct psc_dma *psc_dma = snd_soc_dai_get_drvdata(cpu_dai);
111 dev_dbg(psc_dma->
dev,
"psc_i2s_set_fmt(cpu_dai=%p, format=%i)\n",
127 .hw_params = psc_i2s_hw_params,
128 .set_sysclk = psc_i2s_set_sysclk,
129 .set_fmt = psc_i2s_set_fmt,
133 .name =
"mpc5200-psc-i2s.0",
135 .stream_name =
"I2S Playback",
142 .stream_name =
"I2S Capture",
148 .ops = &psc_i2s_dai_ops,
159 struct psc_dma *psc_dma;
168 pr_err(
"Failed to register DAI\n");
217 { .compatible =
"fsl,mpc5200-psc-i2s", },
218 { .compatible =
"fsl,mpc5200b-psc-i2s", },
224 .probe = psc_i2s_of_probe,
227 .name =
"mpc5200-psc-i2s",
229 .of_match_table = psc_i2s_match,