aboutsummaryrefslogtreecommitdiff
path: root/sound/soc/pxa/pxa2xx-i2s.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/pxa/pxa2xx-i2s.c')
-rw-r--r--sound/soc/pxa/pxa2xx-i2s.c91
1 files changed, 69 insertions, 22 deletions
diff --git a/sound/soc/pxa/pxa2xx-i2s.c b/sound/soc/pxa/pxa2xx-i2s.c
index c3b7a4bb7bd..db2310f87fb 100644
--- a/sound/soc/pxa/pxa2xx-i2s.c
+++ b/sound/soc/pxa/pxa2xx-i2s.c
@@ -58,30 +58,77 @@ static struct pxa_i2s_port pxa_i2s;
/* priv is divider */
static struct snd_soc_dai_mode pxa2xx_i2s_modes[] = {
/* pxa2xx I2S frame and clock master modes */
- {PXA_I2S_DAIFMT | SND_SOC_DAIFMT_CBS_CFS, SND_SOC_DAITDM_LRDW(0,0),
- SNDRV_PCM_FMTBIT_S16_LE, SNDRV_PCM_RATE_8000, PXA_I2S_DIR,
- SND_SOC_DAI_BFS_DIV, 256, SND_SOC_FSBD(4), 0x48},
- {PXA_I2S_DAIFMT | SND_SOC_DAIFMT_CBS_CFS, SND_SOC_DAITDM_LRDW(0,0),
- SNDRV_PCM_FMTBIT_S16_LE, SNDRV_PCM_RATE_11025, PXA_I2S_DIR,
- SND_SOC_DAI_BFS_DIV, 256, SND_SOC_FSBD(4), 0x34},
- {PXA_I2S_DAIFMT | SND_SOC_DAIFMT_CBS_CFS, SND_SOC_DAITDM_LRDW(0,0),
- SNDRV_PCM_FMTBIT_S16_LE, SNDRV_PCM_RATE_16000, PXA_I2S_DIR,
- SND_SOC_DAI_BFS_DIV, 256, SND_SOC_FSBD(4), 0x24},
- {PXA_I2S_DAIFMT | SND_SOC_DAIFMT_CBS_CFS, SND_SOC_DAITDM_LRDW(0,0),
- SNDRV_PCM_FMTBIT_S16_LE, SNDRV_PCM_RATE_22050, PXA_I2S_DIR,
- SND_SOC_DAI_BFS_DIV, 256, SND_SOC_FSBD(4), 0x1a},
- {PXA_I2S_DAIFMT | SND_SOC_DAIFMT_CBS_CFS, SND_SOC_DAITDM_LRDW(0,0),
- SNDRV_PCM_FMTBIT_S16_LE, SNDRV_PCM_RATE_44100, PXA_I2S_DIR,
- SND_SOC_DAI_BFS_DIV, 256, SND_SOC_FSBD(4), 0xd},
- {PXA_I2S_DAIFMT | SND_SOC_DAIFMT_CBS_CFS, SND_SOC_DAITDM_LRDW(0,0),
- SNDRV_PCM_FMTBIT_S16_LE, SNDRV_PCM_RATE_48000, PXA_I2S_DIR,
- SND_SOC_DAI_BFS_DIV, 256, SND_SOC_FSBD(4), 0xc},
+ {
+ .fmt = PXA_I2S_DAIFMT | SND_SOC_DAIFMT_CBS_CFS,
+ .pcmfmt = SNDRV_PCM_FMTBIT_S16_LE,
+ .pcmrate = SNDRV_PCM_RATE_8000,
+ .pcmdir = PXA_I2S_DIR,
+ .flags = SND_SOC_DAI_BFS_DIV,
+ .fs = 256,
+ .bfs = SND_SOC_FSBD(4),
+ .priv = 0x48,
+ },
+ {
+ .fmt = PXA_I2S_DAIFMT | SND_SOC_DAIFMT_CBS_CFS,
+ .pcmfmt = SNDRV_PCM_FMTBIT_S16_LE,
+ .pcmrate = SNDRV_PCM_RATE_11025,
+ .pcmdir = PXA_I2S_DIR,
+ .flags = SND_SOC_DAI_BFS_DIV,
+ .fs = 256,
+ .bfs = SND_SOC_FSBD(4),
+ .priv = 0x34,
+ },
+ {
+ .fmt = PXA_I2S_DAIFMT | SND_SOC_DAIFMT_CBS_CFS,
+ .pcmfmt = SNDRV_PCM_FMTBIT_S16_LE,
+ .pcmrate = SNDRV_PCM_RATE_16000,
+ .pcmdir = PXA_I2S_DIR,
+ .flags = SND_SOC_DAI_BFS_DIV,
+ .fs = 256,
+ .bfs = SND_SOC_FSBD(4),
+ .priv = 0x24,
+ },
+ {
+ .fmt = PXA_I2S_DAIFMT | SND_SOC_DAIFMT_CBS_CFS,
+ .pcmfmt = SNDRV_PCM_FMTBIT_S16_LE,
+ .pcmrate = SNDRV_PCM_RATE_22050,
+ .pcmdir = PXA_I2S_DIR,
+ .flags = SND_SOC_DAI_BFS_DIV,
+ .fs = 256,
+ .bfs = SND_SOC_FSBD(4),
+ .priv = 0x1a,
+ },
+ {
+ .fmt = PXA_I2S_DAIFMT | SND_SOC_DAIFMT_CBS_CFS,
+ .pcmfmt = SNDRV_PCM_FMTBIT_S16_LE,
+ .pcmrate = SNDRV_PCM_RATE_44100,
+ .pcmdir = PXA_I2S_DIR,
+ .flags = SND_SOC_DAI_BFS_DIV,
+ .fs = 256,
+ .bfs = SND_SOC_FSBD(4),
+ .priv = 0xd,
+ },
+ {
+ .fmt = PXA_I2S_DAIFMT | SND_SOC_DAIFMT_CBS_CFS,
+ .pcmfmt = SNDRV_PCM_FMTBIT_S16_LE,
+ .pcmrate = SNDRV_PCM_RATE_48000,
+ .pcmdir = PXA_I2S_DIR,
+ .flags = SND_SOC_DAI_BFS_DIV,
+ .fs = 256,
+ .bfs = SND_SOC_FSBD(4),
+ .priv = 0xc,
+ },
/* pxa2xx I2S frame master and clock slave mode */
- {PXA_I2S_DAIFMT | SND_SOC_DAIFMT_CBM_CFS, SND_SOC_DAITDM_LRDW(0,0),
- SNDRV_PCM_FMTBIT_S16_LE, PXA_I2S_RATES, PXA_I2S_DIR, 0,
- SND_SOC_FS_ALL, SND_SOC_FSB(64), 0x48},
-
+ {
+ .fmt = PXA_I2S_DAIFMT | SND_SOC_DAIFMT_CBM_CFS,
+ .pcmfmt = SNDRV_PCM_FMTBIT_S16_LE,
+ .pcmrate = PXA_I2S_RATES,
+ .pcmdir = PXA_I2S_DIR,
+ .fs = SND_SOC_FS_ALL,
+ .bfs = SND_SOC_FSB(64),
+ .priv = 0x48,
+ },
};
static struct pxa2xx_pcm_dma_params pxa2xx_i2s_pcm_stereo_out = {