[alsa-devel] [PATCH] ASoC: ts3a227e: Remap keys to match Android headset specification
Dylan Reid
dgreid at chromium.org
Fri Jan 23 00:50:20 CET 2015
On Thu, Jan 22, 2015 at 3:47 PM, Anatol Pomozov
<anatol.pomozov at gmail.com> wrote:
> ts3a227e datasheet says typical key resistance is
> key1 50 Om
> key2 135 Om
> key3 240 Om
> key4 470 Om
>
> The android headset specification expect buttons impedance:
> A (MEDIA) 0-70 Om
> D (VOICECOMMAND) 110-180 Om
> B (VOLUMEUP) 210-290 Om
> C (VOLUMEDOWN) 360-680 Om
>
> Thus key mapping should be
> key1 - MEDIA
> key2 - VOICECOMMAND
> key3 - VOLUMEUP
> key3 - VOLUMEDOWN
>
> Signed-off-by: Anatol Pomozov <anatol.pomozov at gmail.com>
Acked-by: Dylan Reid <dgreid at chromium.org>
> ---
> sound/soc/codecs/ts3a227e.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/sound/soc/codecs/ts3a227e.c b/sound/soc/codecs/ts3a227e.c
> index 9f2dced..54d431c 100644
> --- a/sound/soc/codecs/ts3a227e.c
> +++ b/sound/soc/codecs/ts3a227e.c
> @@ -221,9 +221,9 @@ int ts3a227e_enable_jack_detect(struct snd_soc_component *component,
> struct ts3a227e *ts3a227e = snd_soc_component_get_drvdata(component);
>
> snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_MEDIA);
> - snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOLUMEUP);
> - snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEDOWN);
> - snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOICECOMMAND);
> + snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND);
> + snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEUP);
> + snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN);
These are correct. The initial mapping was based on a mislabeled,
pre-production eval board. The new mapping was tested with the
reference headsets.
>
> ts3a227e->jack = jack;
> ts3a227e_jack_report(ts3a227e);
> --
> 2.2.0.rc0.207.ga3a616c
>
More information about the Alsa-devel
mailing list