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;  |