[alsa-devel] [PATCH 2/2] ASoC: pcm1792a: Add DAPM support

Michael Trimarchi michael at amarulasolutions.com
Fri Aug 23 17:16:48 CEST 2013


Hi Mark

On Tue, Aug 13, 2013 at 06:30:48PM +0100, Mark Brown wrote:
> From: Mark Brown <broonie at linaro.org>
> 
> Provide DAPM for the device, ensuring operation with DAPM required by the
> core and making it easier to hook up external hardware to it.
> 
> Signed-off-by: Mark Brown <broonie at linaro.org>
> ---
>  sound/soc/codecs/pcm1792a.c | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/sound/soc/codecs/pcm1792a.c b/sound/soc/codecs/pcm1792a.c
> index c57d3a5..2a8eccf 100644
> --- a/sound/soc/codecs/pcm1792a.c
> +++ b/sound/soc/codecs/pcm1792a.c
> @@ -154,6 +154,20 @@ static const struct snd_kcontrol_new pcm1792a_controls[] = {
>  			 pcm1792a_dac_tlv),
>  };
>  
> +static const struct snd_soc_dapm_widget pcm1792a_dapm_widgets[] = {
> +SND_SOC_DAPM_OUTPUT("IOUTL+"),
> +SND_SOC_DAPM_OUTPUT("IOUTL-"),
> +SND_SOC_DAPM_OUTPUT("IOUTR+"),
> +SND_SOC_DAPM_OUTPUT("IOUTR-"),
> +};
> +

I'm working on support pcm1795 and pcm1796 too. They are registers compatible
but different sample rate support. So the idea is three patches?

- rename pcm1792a to pcm179x (is it possible?)
- add three different dai for pcm1792a, pcm1795 and pcm1796
- use of_device_id data pointer to select the correct dai

Michael

> +static const struct snd_soc_dapm_route pcm1792a_dapm_routes[] = {
> +	{ "IOUTL+", NULL, "Playback" },
> +	{ "IOUTL-", NULL, "Playback" },
> +	{ "IOUTR+", NULL, "Playback" },
> +	{ "IOUTR-", NULL, "Playback" },
> +};
> +
>  static struct snd_soc_dai_driver pcm1792a_dai = {
>  	.name = "pcm1792a-hifi",
>  	.playback = {
> @@ -184,6 +198,10 @@ static const struct regmap_config pcm1792a_regmap = {
>  static struct snd_soc_codec_driver soc_codec_dev_pcm1792a = {
>  	.controls		= pcm1792a_controls,
>  	.num_controls		= ARRAY_SIZE(pcm1792a_controls),
> +	.dapm_widgets		= pcm1792a_dapm_widgets,
> +	.num_dapm_widgets	= ARRAY_SIZE(pcm1792a_dapm_widgets),
> +	.dapm_routes		= pcm1792a_dapm_routes,
> +	.num_dapm_routes	= ARRAY_SIZE(pcm1792a_dapm_routes),
>  };
>  
>  static int pcm1792a_spi_probe(struct spi_device *spi)
> -- 
> 1.8.4.rc2
> 



More information about the Alsa-devel mailing list