diff options
Diffstat (limited to 'sound')
| -rw-r--r-- | sound/soc/codecs/dmic.c | 2 | ||||
| -rw-r--r-- | sound/soc/omap/omap3h1.c | 41 |
2 files changed, 22 insertions, 21 deletions
diff --git a/sound/soc/codecs/dmic.c b/sound/soc/codecs/dmic.c index 12f74fb3de7..9d1988b06dd 100644 --- a/sound/soc/codecs/dmic.c +++ b/sound/soc/codecs/dmic.c @@ -33,7 +33,7 @@ static struct snd_soc_dai_driver dmic_dai = { .stream_name = "Capture", .channels_min = 1, .channels_max = 2, - .rates = SNDRV_PCM_RATE_CONTINUOUS, + .rates = SNDRV_PCM_RATE_8000, .formats = SNDRV_PCM_FMTBIT_S32_LE | SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S16_LE, diff --git a/sound/soc/omap/omap3h1.c b/sound/soc/omap/omap3h1.c index faad74810c3..65b429b5e12 100644 --- a/sound/soc/omap/omap3h1.c +++ b/sound/soc/omap/omap3h1.c @@ -56,6 +56,7 @@ static int omap3h1_hw_in_params(struct snd_pcm_substream *substream, pr_info("ASoc OMAP3H1: in params params_periods=%d\n", params_periods(params)); pr_info("ASoc OMAP3H1: in params params_buffer_size=%d\n", params_buffer_size(params)); pr_info("ASoc OMAP3H1: in params params_buffer_bytes=%d\n", params_buffer_bytes(params)); + pr_info("ASoc OMAP3H1: clockrate = %lu\n", rate); /* Set McBSP clock to use PER_96M_FCLK */ ret = snd_soc_dai_set_sysclk(cpu_dai, OMAP_MCBSP_SYSCLK_CLKS_FCLK, @@ -90,6 +91,7 @@ static int omap3h1_hw_out_params(struct snd_pcm_substream *substream, pr_info("ASoc OMAP3H1: out params params_periods=%u\n", params_periods(params)); pr_info("ASoc OMAP3H1: out params params_buffer_size=%u\n", params_buffer_size(params)); pr_info("ASoc OMAP3H1: out params params_buffer_bytes=%u\n", params_buffer_bytes(params)); + pr_info("ASoc OMAP3H1: clockrate = %lu\n", rate); /* Set McBSP clock to use PER_96M_FCLK */ ret = snd_soc_dai_set_sysclk(cpu_dai, OMAP_MCBSP_SYSCLK_CLKS_FCLK, @@ -100,7 +102,7 @@ static int omap3h1_hw_out_params(struct snd_pcm_substream *substream, } /* The BT operates on 512K freq */ - ret = snd_soc_dai_set_clkdiv(cpu_dai, OMAP_MCBSP_CLKGDV, rate/512000); + ret = snd_soc_dai_set_clkdiv(cpu_dai, OMAP_MCBSP_CLKGDV, 32); if (ret < 0) { pr_err("ASoc OMAP3H1: can't set BT clock divider\n"); return ret; @@ -151,26 +153,26 @@ static struct snd_soc_ops omap3h1_out_ops = { /* Digital audio interface glue - connects codec <--> CPU */ static struct snd_soc_dai_link omap3h1_dai[] = { { - .name = "DMIC", - .stream_name = "DMIC Capture", - .cpu_dai_name = "omap-mcbsp.3", - .codec_dai_name = "dmic-hifi", - .platform_name = "omap-pcm-audio", - .codec_name = "dmic-codec", - .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | - SND_SOC_DAIFMT_CBS_CFS, - .ops = &omap3h1_in_ops, + .name = "DMIC", + .stream_name = "DMIC Capture", + .cpu_dai_name = "omap-mcbsp.3", + .codec_dai_name = "dmic-hifi", + .platform_name = "omap-pcm-audio", + .codec_name = "dmic-codec", + .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | + SND_SOC_DAIFMT_CBS_CFS, + .ops = &omap3h1_in_ops, }, { - .name = "BT", - .stream_name = "BT Playback", - .cpu_dai_name = "omap-mcbsp.2", - .codec_dai_name = "omap3h1_bt_sco-pcm", - .platform_name = "omap-pcm-audio", - .codec_name = "omap3h1_bt_sco", - .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | - SND_SOC_DAIFMT_CBS_CFS, - .ops = &omap3h1_out_ops, + .name = "BT", + .stream_name = "BT Playback", + .cpu_dai_name = "omap-mcbsp.2", + .codec_dai_name = "omap3h1_bt_sco-pcm", + .platform_name = "omap-pcm-audio", + .codec_name = "omap3h1_bt_sco", + .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | + SND_SOC_DAIFMT_CBS_CFS, + .ops = &omap3h1_out_ops, } }; @@ -223,7 +225,6 @@ static int omap3h1_card_probe(struct platform_device *pdev) } gpio_direction_output(gpio, 0); mic_gpio_enable = gpio; - #endif card->dev = &pdev->dev; |