* Sebastian Reichel sebastian.reichel@collabora.co.uk [170707 09:43]:
Motorola CPCAP is a PMIC with audio functionality, that can be found on Motorola Droid 4 and probably a few other phones from Motorola's Droid series.
The driver has been written from scratch using Motorola's Android driver, register dumps from running Android and datasheet for NXP MC13783UG (which is similar to Motorola CPCAP, but not the same).
The chip provides two audio interfaces, that can be muxed to two different audio codecs. One provides support for stereo output (named StDAC or HiFi), while the other only provides mono output (named Voice). Only the Voice codec provides a Capture interface.
I needed the patch below for modular .config. Other than that, plays music fine for me, so feel free to add:
Acked-by: Tony Lindgren tony@atomide.com
8< -----------------------
From tony Mon Sep 17 00:00:00 2001
From: Tony Lindgren tony@atomide.com Date: Sat, 8 Jul 2017 21:43:46 -0700 Subject: [PATCH] ALSA: pcm: Export soc_dpcm_runtime_update
Some drivers may need to use this from loadable modules. Otherwise we will get:
ERROR: "soc_dpcm_runtime_update" [sound/soc/codecs/snd-soc-cpcap.ko] undefined!
Signed-off-by: Tony Lindgren tony@atomide.com --- sound/soc/soc-pcm.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c --- a/sound/soc/soc-pcm.c +++ b/sound/soc/soc-pcm.c @@ -2539,6 +2539,8 @@ int soc_dpcm_runtime_update(struct snd_soc_card *card) mutex_unlock(&card->mutex); return 0; } +EXPORT_SYMBOL_GPL(soc_dpcm_runtime_update); + int soc_dpcm_be_digital_mute(struct snd_soc_pcm_runtime *fe, int mute) { struct snd_soc_dpcm *dpcm;