From: Pavel Machek <pavel@ucw.cz>
To: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Cc: Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>, Rob Herring <robh+dt@kernel.org>,
Tony Lindgren <tony@atomide.com>,
Lee Jones <lee.jones@linaro.org>,
Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>,
alsa-devel@alsa-project.org, linux-omap@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
kernel@collabora.com
Subject: omap4-droid4: voice call support was Re: [PATCHv5,5/5] ARM: dts: omap4-droid4: add soundcard
Date: Mon, 26 Mar 2018 16:16:38 +0200 [thread overview]
Message-ID: <20180326141638.GB1450@amd> (raw)
In-Reply-To: <20180323103006.alymgb3ywftb4gek@earth.universe>
[-- Attachment #1: Type: text/plain, Size: 3870 bytes --]
Hi!
Do you have any ideas what needs to be done for voice calls support? I
can talk to the modem and start a call.
Then something like this (untested!) is certainly needed. Probably
more...
Thanks,
Pavel
diff --git a/sound/soc/codecs/cpcap.c b/sound/soc/codecs/cpcap.c
index aedb267..7646f68 100644
--- a/sound/soc/codecs/cpcap.c
+++ b/sound/soc/codecs/cpcap.c
@@ -1280,6 +1280,60 @@ static int cpcap_voice_hw_params(struct snd_pcm_substream *substream,
return 0;
}
+static int cpcap_incall_hw_params(struct snd_pcm_substream *substream,
+ struct snd_pcm_hw_params *params,
+ struct snd_soc_dai *dai)
+{
+ struct snd_soc_codec *codec = dai->codec;
+ struct device *dev = codec->dev;
+ struct cpcap_audio *cpcap = snd_soc_codec_get_drvdata(codec);
+ static const u16 reg_cdi = CPCAP_REG_CDI;
+ int rate = params_rate(params);
+ int channels = params_channels(params);
+ int direction = substream->stream;
+ u16 val, mask;
+ int err;
+
+ dev_dbg(dev, "Incall setup HW params: rate=%d, direction=%d, chan=%d",
+ rate, direction, channels);
+
+ /* codec, 1 in original code is CPCAP_REG_CC
+ codec, 2 is CPCAP_REG_CDI
+ codec, 5 is CPCAP_REG_TXI */
+
+ if (/* cpcap->codec_strm_cnt == */ 1) {
+ /*
+ if (pdata->voice_type != VOICE_TYPE_QC)
+ printk("FIXME: Only MDM6600 support is implemented here.\n");
+ */
+
+ err = regmap_update_bits(cpcap->regmap, CPCAP_REG_CDI, 0xffff, 0xAE02);
+ if (err) printk("cpcap error %d\n", __LINE__);
+
+ err = regmap_update_bits(cpcap->regmap, CPCAP_REG_CC, 0xffff, 0x6120);
+ if (err) printk("cpcap error %d\n", __LINE__);
+
+ err = cpcap_set_samprate(cpcap, CPCAP_DAI_VOICE, rate);
+ printk("Configured stream\n");
+ }
+
+ /* (direction == SNDRV_PCM_STREAM_CAPTURE) ?? */
+ if (substream->stream) { /* up link */
+ unsigned int set = CPCAP_BIT_AUDIHPF_1 | CPCAP_BIT_AUDIHPF_0;
+ err = regmap_update_bits(cpcap->regmap, CPCAP_REG_CC, set, set);
+ if (err) printk("cpcap error %d\n", __LINE__);
+
+ set = CPCAP_BIT_MB_ON1L | CPCAP_BIT_MB_ON1R;
+ err = regmap_update_bits(cpcap->regmap, CPCAP_REG_TXI, set, set);
+ } else { /* down link */
+ unsigned int set = CPCAP_BIT_AUDOHPF_1 | CPCAP_BIT_AUDOHPF_0;
+ err = regmap_update_bits(cpcap->regmap, CPCAP_REG_CC, set, set);
+ if (err) printk("cpcap error %d\n", __LINE__);
+ }
+
+ return err;
+}
+
static int cpcap_voice_set_dai_sysclk(struct snd_soc_dai *codec_dai, int clk_id,
unsigned int freq, int dir)
{
@@ -1394,6 +1448,14 @@ static const struct snd_soc_dai_ops cpcap_dai_voice_ops = {
.digital_mute = cpcap_voice_set_mute,
};
+static const struct snd_soc_dai_ops cpcap_dai_incall_ops = {
+ /* FIXME */
+ .hw_params = cpcap_incall_hw_params,
+ .set_sysclk = cpcap_voice_set_dai_sysclk,
+ .set_fmt = cpcap_voice_set_dai_fmt,
+ .digital_mute = cpcap_voice_set_mute,
+};
+
static struct snd_soc_dai_driver cpcap_dai[] = {
{
.id = 0,
@@ -1426,6 +1488,26 @@ static struct snd_soc_dai_driver cpcap_dai[] = {
},
.ops = &cpcap_dai_voice_ops,
},
+{
+ .id = 2,
+ .name = "cpcap in-call",
+ .playback = {
+ .stream_name = "InCall DL",
+ .channels_min = 1,
+ .channels_max = 2,
+ .rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000,
+ .formats = SNDRV_PCM_FMTBIT_S16_LE,
+ },
+ .capture = {
+ .stream_name = "Capture",
+ .channels_min = 1,
+ .channels_max = 2,
+ .rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000,
+ .formats = SNDRV_PCM_FMTBIT_S16_LE,
+ },
+ .ops = &cpcap_dai_incall_ops,
+},
+/* FIXME: this misses bt-call, cpcap bt, BPvoice, FM */
};
static int cpcap_dai_mux(struct cpcap_audio *cpcap, bool swap_dai_configuration)
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]
next prev parent reply other threads:[~2018-03-26 14:16 UTC|newest]
Thread overview: 173+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-23 20:02 [PATCHv5 0/5] Motorola Droid 4 Audio Support Sebastian Reichel
2018-02-23 20:02 ` Sebastian Reichel
2018-02-23 20:02 ` [PATCHv5 1/5] dt-bindings: mfd: motorola-cpcap: document audio-codec Sebastian Reichel
2018-02-23 20:02 ` Sebastian Reichel
2018-02-26 10:08 ` Mark Brown
2018-02-26 10:08 ` Mark Brown
2018-03-02 19:07 ` Rob Herring
2018-03-02 19:07 ` Rob Herring
2018-03-07 16:30 ` Lee Jones
2018-03-07 16:30 ` Lee Jones
2018-02-23 20:02 ` [PATCHv5 2/5] ASoC: codec: cpcap: new codec Sebastian Reichel
2018-02-23 20:02 ` Sebastian Reichel
2018-02-26 1:36 ` [alsa-devel] " kbuild test robot
2018-02-26 1:36 ` kbuild test robot
2018-02-27 11:03 ` Mark Brown
2018-02-28 11:06 ` Applied "ASoC: cpcap: new codec" to the asoc tree Mark Brown
2018-02-28 11:06 ` Mark Brown
2018-02-23 20:02 ` [PATCHv5 3/5] mfd: motorola-cpcap: Add audio-codec support Sebastian Reichel
2018-02-23 20:02 ` Sebastian Reichel
2018-03-07 16:32 ` Lee Jones
2018-03-07 16:32 ` Lee Jones
2018-03-08 9:46 ` Sebastian Reichel
2018-03-08 9:53 ` Lee Jones
2018-03-08 9:53 ` Lee Jones
2018-03-08 10:27 ` Sebastian Reichel
2018-03-08 10:48 ` Lee Jones
2018-03-08 10:48 ` Lee Jones
2018-03-08 11:25 ` Mark Brown
2018-03-08 11:25 ` Mark Brown
2018-03-09 8:34 ` Lee Jones
2018-03-09 11:19 ` Sebastian Reichel
2018-03-09 11:19 ` Sebastian Reichel
2018-03-09 12:40 ` Mark Brown
2018-03-09 12:40 ` Mark Brown
2018-03-09 15:11 ` Tony Lindgren
2018-03-09 16:48 ` Sebastian Reichel
2018-03-09 16:48 ` Sebastian Reichel
2018-03-08 12:54 ` Sebastian Reichel
2018-03-08 17:07 ` Tony Lindgren
2018-03-09 11:29 ` Sebastian Reichel
2018-03-12 9:08 ` Lee Jones
2018-03-12 9:08 ` Lee Jones
2018-02-23 20:02 ` [PATCHv5 4/5] ARM: dts: motorola-cpcap-mapphone: add audio-codec Sebastian Reichel
2018-02-23 20:02 ` Sebastian Reichel
2018-02-23 20:02 ` [PATCHv5 5/5] ARM: dts: omap4-droid4: add soundcard Sebastian Reichel
2018-02-23 20:02 ` Sebastian Reichel
2018-03-22 20:48 ` [PATCHv5, " Pavel Machek
2018-03-22 20:48 ` [PATCHv5,5/5] " Pavel Machek
2018-03-22 23:48 ` Sebastian Reichel
2018-03-23 10:09 ` [PATCHv5, 5/5] " Pavel Machek
2018-03-23 10:09 ` [PATCHv5,5/5] " Pavel Machek
2018-03-23 10:30 ` [PATCHv5, 5/5] " Sebastian Reichel
2018-03-23 10:30 ` [PATCHv5,5/5] " Sebastian Reichel
2018-03-23 11:06 ` [PATCHv5, 5/5] " Pavel Machek
2018-03-23 11:06 ` [PATCHv5,5/5] " Pavel Machek
2018-03-23 11:08 ` [PATCHv5, 5/5] " Pavel Machek
2018-03-23 11:08 ` [PATCHv5,5/5] " Pavel Machek
2018-03-23 14:09 ` Pavel Machek
2018-03-23 14:11 ` [PATCHv5, 5/5] " Pavel Machek
2018-03-23 14:11 ` [PATCHv5,5/5] " Pavel Machek
2018-03-26 14:16 ` Pavel Machek [this message]
2018-03-26 15:58 ` omap4-droid4: voice call support was " Sebastian Reichel
2018-03-26 20:31 ` Pavel Machek
2018-03-26 23:10 ` Sebastian Reichel
2018-03-27 20:41 ` omap4-droid4: voice call support was Re: [PATCHv5, 5/5] " Pavel Machek
2018-03-27 20:41 ` omap4-droid4: voice call support was Re: [PATCHv5,5/5] " Pavel Machek
2018-03-27 20:51 ` Tony Lindgren
2018-03-27 12:14 ` omap4-droid4: voice call support was Re: [PATCHv5, 5/5] " Mark Brown
2018-03-27 12:14 ` omap4-droid4: voice call support was Re: [PATCHv5,5/5] " Mark Brown
2018-03-27 22:22 ` omap4-droid4: voice call support was Re: [PATCHv5, 5/5] " Sebastian Reichel
2018-03-27 22:22 ` omap4-droid4: voice call support was Re: [PATCHv5,5/5] " Sebastian Reichel
2018-03-28 2:29 ` omap4-droid4: voice call support was Re: [PATCHv5, 5/5] " Mark Brown
2018-03-28 2:29 ` omap4-droid4: voice call support was Re: [PATCHv5,5/5] " Mark Brown
2018-03-28 14:02 ` omap4-droid4: voice call support was Re: [PATCHv5, 5/5] " Sebastian Reichel
2018-03-28 14:02 ` omap4-droid4: voice call support was Re: [PATCHv5,5/5] " Sebastian Reichel
2018-03-29 1:45 ` Tony Lindgren
2018-03-29 13:36 ` Sebastian Reichel
2018-03-29 13:59 ` Tony Lindgren
2018-03-29 15:46 ` Sebastian Reichel
2018-03-29 16:06 ` Tony Lindgren
2018-03-30 10:57 ` omap4-droid4: voice call support was Re: [PATCHv5, 5/5] " Sebastian Reichel
2018-03-30 10:57 ` omap4-droid4: voice call support was Re: [PATCHv5,5/5] " Sebastian Reichel
2018-03-30 22:31 ` Pavel Machek
2018-03-29 16:37 ` Pavel Machek
2018-03-29 16:41 ` Tony Lindgren
2018-03-29 18:40 ` omap4-droid4: voice call support was Re: [PATCHv5, 5/5] " Pavel Machek
2018-03-29 18:40 ` omap4-droid4: voice call support was Re: [PATCHv5,5/5] " Pavel Machek
2018-03-29 21:56 ` Tony Lindgren
2018-03-30 10:37 ` Pavel Machek
2018-03-30 13:07 ` Merlijn Wajer
2018-03-30 15:22 ` Tony Lindgren
2018-03-30 15:25 ` omap4-droid4: voice call support was Re: [PATCHv5, 5/5] " Michael Nazzareno Trimarchi
2018-03-30 15:44 ` Tony Lindgren
2018-03-30 15:44 ` [alsa-devel] " Tony Lindgren
2018-03-30 17:46 ` Tony Lindgren
2018-03-30 15:34 ` Pavel Machek
2018-03-30 15:34 ` omap4-droid4: voice call support was Re: [PATCHv5,5/5] " Pavel Machek
2018-03-30 17:50 ` Pavel Machek
2018-03-30 18:01 ` omap4-droid4: voice call support was Re: [PATCHv5, 5/5] " Pavel Machek
2018-03-30 18:01 ` omap4-droid4: voice call support was Re: [PATCHv5,5/5] " Pavel Machek
2018-03-30 20:46 ` Pavel Machek
2018-03-29 14:09 ` Pavel Machek
2018-03-29 14:21 ` Tony Lindgren
2018-03-29 16:08 ` omap4-droid4: voice call support was Re: [PATCHv5, 5/5] " Pavel Machek
2018-03-29 16:08 ` omap4-droid4: voice call support was Re: [PATCHv5,5/5] " Pavel Machek
2018-03-29 16:34 ` omap4-droid4: voice call support was Re: [PATCHv5, 5/5] " Tony Lindgren
2018-03-29 16:34 ` omap4-droid4: voice call support was Re: [PATCHv5,5/5] " Tony Lindgren
2018-03-29 18:05 ` omap4-droid4: voice call support was Re: [PATCHv5, 5/5] " Pavel Machek
2018-03-29 18:05 ` omap4-droid4: voice call support was Re: [PATCHv5,5/5] " Pavel Machek
2018-03-29 21:58 ` omap4-droid4: voice call support was Re: [PATCHv5, 5/5] " Tony Lindgren
2018-03-29 21:58 ` omap4-droid4: voice call support was Re: [PATCHv5,5/5] " Tony Lindgren
2018-04-01 23:17 ` omap4-droid4: voice call support was Re: [PATCHv5, 5/5] " Tony Lindgren
2018-04-01 23:17 ` omap4-droid4: voice call support was Re: [PATCHv5,5/5] " Tony Lindgren
2018-03-31 14:55 ` call/normal switch was Re: omap4-droid4: voice call support was Pavel Machek
2018-03-31 14:55 ` Pavel Machek
2018-03-31 18:19 ` Tony Lindgren
2018-03-31 19:19 ` Pavel Machek
2018-03-31 19:19 ` Pavel Machek
2018-03-31 19:46 ` Pavel Machek
2018-03-31 19:46 ` Pavel Machek
2018-03-31 19:55 ` Pavel Machek
2018-03-31 19:55 ` Pavel Machek
2018-03-31 23:43 ` Tony Lindgren
2018-04-01 6:48 ` Pavel Machek
2018-04-01 13:18 ` Pavel Machek
2018-04-01 13:18 ` Pavel Machek
2018-04-01 15:36 ` Tony Lindgren
2018-04-01 15:36 ` Tony Lindgren
2018-04-01 17:30 ` Tony Lindgren
2018-04-02 15:50 ` Dan Williams
2018-04-02 15:57 ` Tony Lindgren
2018-04-03 15:04 ` Tony Lindgren
2018-04-03 15:04 ` Tony Lindgren
2018-04-03 15:50 ` Pavel Machek
2018-04-03 15:50 ` Pavel Machek
2018-04-03 19:44 ` Tony Lindgren
2018-04-06 12:04 ` Pavel Machek
2018-04-06 12:04 ` Pavel Machek
2018-04-06 12:23 ` Merlijn Wajer
2018-04-06 12:23 ` Merlijn Wajer
2018-04-06 12:45 ` Pavel Machek
2018-04-06 12:45 ` Pavel Machek
2018-04-06 22:02 ` Pavel Machek
2018-04-07 8:10 ` simultaneous voice/data works (was Re: call/normal switch was Re: omap4-droid4: voice call support was) Pavel Machek
2018-04-07 8:10 ` Pavel Machek
2018-04-07 12:22 ` Pavel Machek
2018-04-07 12:22 ` Pavel Machek
2018-04-08 2:44 ` Dan Williams
2018-04-08 7:41 ` Pavel Machek
2018-04-09 3:15 ` Dan Williams
2018-04-09 14:08 ` Tony Lindgren
2018-04-09 15:53 ` Dan Williams
2018-04-09 20:21 ` Pavel Machek
2018-04-09 20:21 ` Pavel Machek
2018-04-10 10:58 ` Pavel Machek
2018-04-10 10:58 ` Pavel Machek
2018-04-10 13:50 ` Tony Lindgren
2018-04-10 13:50 ` Tony Lindgren
2018-04-11 11:43 ` Pavel Machek
2018-04-11 11:43 ` Pavel Machek
2018-04-03 22:11 ` call/normal switch was Re: omap4-droid4: voice call support was Pavel Machek
2018-04-03 22:11 ` Pavel Machek
2018-03-31 19:46 ` Tony Lindgren
2018-03-31 19:46 ` Tony Lindgren
2018-04-02 15:06 ` omap4-droid4: voice call support was Re: [PATCHv5, 5/5] ARM: dts: omap4-droid4: add soundcard Mark Brown
2018-04-02 15:06 ` omap4-droid4: voice call support was Re: [PATCHv5,5/5] " Mark Brown
2018-03-28 9:00 ` Pavel Machek
2018-03-28 9:36 ` omap4-droid4: voice call support was Re: [PATCHv5, 5/5] " Pavel Machek
2018-03-28 9:36 ` omap4-droid4: voice call support was Re: [PATCHv5,5/5] " Pavel Machek
2018-04-03 8:52 ` Pavel Machek
2018-02-23 22:24 ` [PATCHv5 0/5] Motorola Droid 4 Audio Support Tony Lindgren
2018-02-23 22:24 ` Tony Lindgren
2018-03-02 20:57 ` Tony Lindgren
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180326141638.GB1450@amd \
--to=pavel@ucw.cz \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=kernel@collabora.com \
--cc=lee.jones@linaro.org \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=perex@perex.cz \
--cc=robh+dt@kernel.org \
--cc=sebastian.reichel@collabora.co.uk \
--cc=tiwai@suse.com \
--cc=tony@atomide.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.