ASoC: rockchip: Support headset button function on rk3399
authorCheng-Yi Chiang <cychiang@chromium.org>
Thu, 15 Sep 2016 23:10:06 +0000 (07:10 +0800)
committerMark Brown <broonie@kernel.org>
Fri, 16 Sep 2016 10:53:16 +0000 (11:53 +0100)
Set the mapping between button and media key event.

Signed-off-by: Cheng-Yi Chiang <cychiang@chromium.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/rockchip/rk3399_gru_sound.c

index 164b6da4f2cfce88910f5b471315ab3ad9c6c9e7..ee0648927afc2c5ac19c07fd0453861755142e71 100644 (file)
@@ -23,6 +23,7 @@
 #include <linux/of_gpio.h>
 #include <linux/delay.h>
 #include <linux/spi/spi.h>
+#include <linux/input.h>
 #include <sound/core.h>
 #include <sound/jack.h>
 #include <sound/pcm.h>
@@ -209,6 +210,14 @@ static int rockchip_sound_da7219_init(struct snd_soc_pcm_runtime *rtd)
                return ret;
        }
 
+       snd_jack_set_key(rockchip_sound_jack.jack, SND_JACK_BTN_0, KEY_MEDIA);
+       snd_jack_set_key(
+               rockchip_sound_jack.jack, SND_JACK_BTN_1, KEY_VOLUMEUP);
+       snd_jack_set_key(
+               rockchip_sound_jack.jack, SND_JACK_BTN_2, KEY_VOLUMEDOWN);
+       snd_jack_set_key(
+               rockchip_sound_jack.jack, SND_JACK_BTN_3, KEY_VOICECOMMAND);
+
        da7219_aad_jack_det(codec, &rockchip_sound_jack);
 
        return 0;