From: Pavel Machek <pavel@ucw.cz>
To: Tony Lindgren <tony@atomide.com>
Cc: devicetree@vger.kernel.org, alsa-devel@alsa-project.org,
kernel@collabora.com, Dan Williams <dcbw@redhat.com>,
linux-kernel@vger.kernel.org, Takashi Iwai <tiwai@suse.com>,
Liam Girdwood <lgirdwood@gmail.com>,
Rob Herring <robh+dt@kernel.org>, Mark Brown <broonie@kernel.org>,
Sebastian Reichel <sebastian.reichel@collabora.co.uk>,
linux-omap@vger.kernel.org, Lee Jones <lee.jones@linaro.org>
Subject: Re: call/normal switch was Re: omap4-droid4: voice call support was
Date: Wed, 4 Apr 2018 00:11:13 +0200 [thread overview]
Message-ID: <20180403221113.GA9463@amd> (raw)
In-Reply-To: <20180401153631.GA5700@atomide.com>
[-- Attachment #1.1: Type: text/plain, Size: 4035 bytes --]
Hi!
> > If you had a register dump from android with mics working, preferably
> > not in speaker mode, perhaps I could try to figure it out?
>
> OK here are four diffs against starting the phone app for regular
> call, speaker call, and muted versions of them:
>
> http://muru.com/linux/d4/cpcap/
>
> Also, I'm connected over cdma right now, not 3g, but I doubt
> that makes a difference for the microphone.
Thanks!
When I apply register settings directly, I indeed get working "normal"
call working. Good. Diff for illustration is below. Clearly needs some
improvements.
And it shows that alsa mixers are expected to be simple and obvious on
D4 -- they just do not work.
Current version of phone gui is at
https://github.com/pavelmachek/unicsy_demo
- ofono interface should be usable
- AT commands need a lot more work, and they'll probably never work
nicely in this design. They are just a temporary hack.
(ouch, and it should be rewritten, in Vala or better Rust...)
Pavel
commit 06acc26c318558ed6a50b5a22afffeb9abbe7553
Author: Pavel <pavel@ucw.cz>
Date: Wed Apr 4 00:04:34 2018 +0200
Add support for "normal" (not handsfree) call.
diff --git a/sound/soc/codecs/cpcap.c b/sound/soc/codecs/cpcap.c
index 7aaa4db..59c02b7 100644
--- a/sound/soc/codecs/cpcap.c
+++ b/sound/soc/codecs/cpcap.c
@@ -331,7 +331,7 @@ static const char * const cpcap_in_left_mux_texts[] = {
};
static const char * const cpcap_mode_texts[] = {
- "Normal", "Call"
+ "Normal", "Handsfree", "Call",
};
@@ -464,25 +464,11 @@ static int cpcap_mode_get_enum(struct snd_kcontrol *kcontrol,
return 0;
}
-static int cpcap_mode_put_enum(struct snd_kcontrol *kcontrol,
- struct snd_ctl_elem_value *ucontrol)
+static int enable_call(struct cpcap_audio *cpcap, int on)
{
- struct snd_soc_codec *codec = snd_soc_dapm_kcontrol_codec(kcontrol);
- struct cpcap_audio *cpcap = snd_soc_codec_get_drvdata(codec);
- struct snd_soc_dapm_context *dapm =
- snd_soc_dapm_kcontrol_dapm(kcontrol);
- struct soc_enum *e = (struct soc_enum *)kcontrol->private_value;
- unsigned int muxval = ucontrol->value.enumerated.item[0];
- unsigned int mask = BIT(e->shift_l);
int err;
-
- printk("Requested mode %d\n", muxval);
-
- mode = muxval;
-
- switch (muxval) {
- case 1:
-
+ unsigned long mask;
+
err = regmap_update_bits(cpcap->regmap, CPCAP_REG_VAUDIOC,
0xffff, 0x0025); // OK
if (err)
@@ -516,6 +502,56 @@ static int cpcap_mode_put_enum(struct snd_kcontrol *kcontrol,
0x0400, 0x0400);
if (err)
printk("error #1\n");
+
+ return 0;
+out:
+ printk("Error!\n");
+ return -EIO;
+}
+
+static int cpcap_mode_put_enum(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
+{
+ struct snd_soc_codec *codec = snd_soc_dapm_kcontrol_codec(kcontrol);
+ struct cpcap_audio *cpcap = snd_soc_codec_get_drvdata(codec);
+ struct snd_soc_dapm_context *dapm =
+ snd_soc_dapm_kcontrol_dapm(kcontrol);
+ struct soc_enum *e = (struct soc_enum *)kcontrol->private_value;
+ unsigned int muxval = ucontrol->value.enumerated.item[0];
+ unsigned int mask = BIT(e->shift_l);
+ int err;
+
+ printk("Requested mode %d\n", muxval);
+
+ mode = muxval;
+
+ switch (muxval) {
+ case 1:
+ enable_call(cpcap, 1);
+ break;
+ case 2:
+ enable_call(cpcap, 1);
+
+ err = regmap_update_bits(cpcap->regmap, CPCAP_REG_TXI,
+ 0xffff, 0x0cc6);
+ if (err)
+ goto out;
+
+ err = regmap_update_bits(cpcap->regmap, CPCAP_REG_TXMP,
+ 0xffff, 0x0673);
+ if (err)
+ goto out;
+
+
+ err = regmap_update_bits(cpcap->regmap, CPCAP_REG_RXOA,
+ 0xffff, 0x0001);
+ if (err)
+ goto out;
+
+ err = regmap_update_bits(cpcap->regmap, CPCAP_REG_RXCOA,
+ 0xffff, 0x0601);
+ if (err)
+ goto out;
default:
break;
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]
[-- Attachment #2: Type: text/plain, Size: 0 bytes --]
next prev parent reply other threads:[~2018-04-03 22:11 UTC|newest]
Thread overview: 111+ 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 ` [PATCHv5 1/5] dt-bindings: mfd: motorola-cpcap: document audio-codec Sebastian Reichel
2018-02-26 10:08 ` Mark Brown
2018-03-02 19:07 ` Rob Herring
2018-03-07 16:30 ` Lee Jones
2018-02-23 20:02 ` [PATCHv5 2/5] ASoC: codec: cpcap: new codec Sebastian Reichel
2018-02-26 1:36 ` [alsa-devel] " 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-23 20:02 ` [PATCHv5 3/5] mfd: motorola-cpcap: Add audio-codec support Sebastian Reichel
2018-03-07 16:32 ` Lee Jones
2018-03-08 9:46 ` Sebastian Reichel
2018-03-08 9:53 ` Lee Jones
2018-03-08 10:27 ` Sebastian Reichel
2018-03-08 10:48 ` Lee Jones
2018-03-08 11:25 ` Mark Brown
2018-03-09 8:34 ` Lee Jones
2018-03-09 11:19 ` Sebastian Reichel
2018-03-09 12:40 ` Mark Brown
2018-03-09 15:11 ` Tony Lindgren
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-02-23 20:02 ` [PATCHv5 4/5] ARM: dts: motorola-cpcap-mapphone: add audio-codec Sebastian Reichel
2018-02-23 20:02 ` [PATCHv5 5/5] ARM: dts: omap4-droid4: add soundcard Sebastian Reichel
2018-03-22 20:48 ` [PATCHv5, " Pavel Machek
2018-03-22 23:48 ` [PATCHv5,5/5] " Sebastian Reichel
2018-03-23 10:09 ` [PATCHv5, 5/5] " Pavel Machek
2018-03-23 10:30 ` Sebastian Reichel
2018-03-23 11:06 ` Pavel Machek
2018-03-23 11:08 ` Pavel Machek
2018-03-23 14:09 ` [PATCHv5,5/5] " Pavel Machek
2018-03-23 14:11 ` [PATCHv5, 5/5] " Pavel Machek
2018-03-26 14:16 ` omap4-droid4: voice call support was Re: [PATCHv5,5/5] " Pavel Machek
2018-03-26 15:58 ` 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:51 ` omap4-droid4: voice call support was Re: [PATCHv5,5/5] " Tony Lindgren
2018-03-27 12:14 ` omap4-droid4: voice call support was Re: [PATCHv5, 5/5] " Mark Brown
2018-03-27 22:22 ` Sebastian Reichel
2018-03-28 2:29 ` Mark Brown
2018-03-28 14:02 ` Sebastian Reichel
2018-03-29 1:45 ` omap4-droid4: voice call support was Re: [PATCHv5,5/5] " 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 22:31 ` omap4-droid4: voice call support was Re: [PATCHv5,5/5] " 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 21:56 ` omap4-droid4: voice call support was Re: [PATCHv5,5/5] " 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 17:46 ` [alsa-devel] " Tony Lindgren
2018-03-30 15:34 ` Pavel Machek
2018-03-30 17:50 ` 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 ` omap4-droid4: voice call support was Re: [PATCHv5,5/5] " 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:34 ` Tony Lindgren
2018-03-29 18:05 ` Pavel Machek
2018-03-29 21:58 ` Tony Lindgren
2018-04-01 23:17 ` Tony Lindgren
2018-03-31 14:55 ` call/normal switch was Re: omap4-droid4: voice call support was Pavel Machek
2018-03-31 18:19 ` Tony Lindgren
2018-03-31 19:19 ` Pavel Machek
2018-03-31 19:46 ` 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 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:50 ` Pavel Machek
2018-04-03 19:44 ` Tony Lindgren
2018-04-06 12:04 ` Pavel Machek
2018-04-06 12:23 ` Merlijn Wajer
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 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-10 10:58 ` Pavel Machek
2018-04-10 13:50 ` Tony Lindgren
2018-04-11 11:43 ` Pavel Machek
2018-04-03 22:11 ` Pavel Machek [this message]
2018-03-31 19:46 ` call/normal switch was Re: omap4-droid4: voice call support was 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-03-28 9:00 ` 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 ` [PATCHv5,5/5] " Pavel Machek
2018-02-23 22:24 ` [PATCHv5 0/5] Motorola Droid 4 Audio Support 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=20180403221113.GA9463@amd \
--to=pavel@ucw.cz \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=dcbw@redhat.com \
--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=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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).