aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/at91/at91rm9200-i2s.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/at91/at91rm9200-i2s.c')
-rw-r--r--sound/soc/at91/at91rm9200-i2s.c52
1 files changed, 40 insertions, 12 deletions
diff --git a/sound/soc/at91/at91rm9200-i2s.c b/sound/soc/at91/at91rm9200-i2s.c
index 044a774b4301..91f1daa44f19 100644
--- a/sound/soc/at91/at91rm9200-i2s.c
+++ b/sound/soc/at91/at91rm9200-i2s.c
@@ -51,24 +51,52 @@
51static struct snd_soc_dai_mode at91rm9200_i2s[] = { 51static struct snd_soc_dai_mode at91rm9200_i2s[] = {
52 52
53 /* 8k: BCLK = (MCLK/10) = (60MHz/50) = 1.2MHz */ 53 /* 8k: BCLK = (MCLK/10) = (60MHz/50) = 1.2MHz */
54 { AT91RM9200_I2S_DAIFMT, SND_SOC_DAITDM_LRDW(0,0), 54 {
55 SNDRV_PCM_FMTBIT_S16_LE, SNDRV_PCM_RATE_8000, AT91RM9200_I2S_DIR, 55 .fmt = AT91RM9200_I2S_DAIFMT,
56 SND_SOC_DAI_BFS_DIV, 1500, SND_SOC_FSBD(10), (25 << 16 | 74) }, 56 .pcmfmt = SNDRV_PCM_FMTBIT_S16_LE,
57 .pcmrate = SNDRV_PCM_RATE_8000,
58 .pcmdir = AT91RM9200_I2S_DIR,
59 .flags = SND_SOC_DAI_BFS_DIV,
60 .fs = 1500,
61 .bfs = SND_SOC_FSBD(10),
62 .priv = (25 << 16 | 74),
63 },
57 64
58 /* 16k: BCLK = (MCLK/3) ~= (60MHz/14) = 4.285714MHz */ 65 /* 16k: BCLK = (MCLK/3) ~= (60MHz/14) = 4.285714MHz */
59 { AT91RM9200_I2S_DAIFMT, SND_SOC_DAITDM_LRDW(0,0), 66 {
60 SNDRV_PCM_FMTBIT_S16_LE, SNDRV_PCM_RATE_16000, AT91RM9200_I2S_DIR, 67 .fmt = AT91RM9200_I2S_DAIFMT,
61 SND_SOC_DAI_BFS_DIV, 750, SND_SOC_FSBD(3) , (7 << 16 | 133) }, 68 .pcmfmt = SNDRV_PCM_FMTBIT_S16_LE,
69 .pcmrate = SNDRV_PCM_RATE_16000,
70 .pcmdir = AT91RM9200_I2S_DIR,
71 .flags = SND_SOC_DAI_BFS_DIV,
72 .fs = 750,
73 .bfs = SND_SOC_FSBD(3),
74 .flags (7 << 16 | 133),
75 },
62 76
63 /* 24k: BCLK = (MCLK/10) = (60MHz/50) = 1.2MHz */ 77 /* 24k: BCLK = (MCLK/10) = (60MHz/50) = 1.2MHz */
64 { AT91RM9200_I2S_DAIFMT, SND_SOC_DAITDM_LRDW(0,0), 78 {
65 SNDRV_PCM_FMTBIT_S16_LE, SNDRV_PCM_RATE_22050, AT91RM9200_I2S_DIR, 79 .fmt = AT91RM9200_I2S_DAIFMT,
66 SND_SOC_DAI_BFS_DIV, 500, SND_SOC_FSBD(10), (25 << 16 | 24) }, 80 .pcmfmt = SNDRV_PCM_FMTBIT_S16_LE,
81 .pcmrate = SNDRV_PCM_RATE_22050,
82 .pcmdir = AT91RM9200_I2S_DIR,
83 .flags = SND_SOC_DAI_BFS_DIV,
84 .fs = 500,
85 .bfs = SND_SOC_FSBD(10),
86 .priv = (25 << 16 | 24),
87 },
67 88
68 /* 48kHz: BCLK = (MCLK/5) ~= (60MHz/26) = 2.3076923MHz */ 89 /* 48kHz: BCLK = (MCLK/5) ~= (60MHz/26) = 2.3076923MHz */
69 { AT91RM9200_I2S_DAIFMT, SND_SOC_DAITDM_LRDW(0,0), 90 {
70 SNDRV_PCM_FMTBIT_S16_LE, SNDRV_PCM_RATE_48000, AT91RM9200_I2S_DIR, 91 .fmt = AT91RM9200_I2S_DAIFMT,
71 SND_SOC_DAI_BFS_DIV, 250, SND_SOC_FSBD(5), (13 << 16 | 23) }, 92 .pcmfmt = SNDRV_PCM_FMTBIT_S16_LE,
93 .pcmrate = SNDRV_PCM_RATE_48000,
94 .pcmdir = AT91RM9200_I2S_DIR,
95 .flags = SND_SOC_DAI_BFS_DIV,
96 .fs = 250,
97 .bfs SND_SOC_FSBD(5),
98 .priv = (13 << 16 | 23),
99 },
72}; 100};
73 101
74 102