[alsa-devel] [PATCH] ASoC: Intel: Enabled button jack for BSW platform with rt5650 codec

Yang Fang yang.a.fang at intel.com
Wed May 6 00:14:15 CEST 2015


On Tue, May 05, 2015 at 03:02:01PM -0700, Dylan Reid wrote:
> On Tue, May 5, 2015 at 2:49 PM, Mark Brown <broonie at kernel.org> wrote:
> > On Mon, May 04, 2015 at 05:19:20PM -0700, yang.a.fang at intel.com wrote:
> >> From: "Fang, Yang A" <yang.a.fang at intel.com>
> >>
> >> rt5650 codec supports 4 buttons detections so enabled it
> >
> >> @@ -43,6 +43,7 @@ struct cht_acpi_card {
> >>  struct cht_mc_private {
> >>       struct snd_soc_jack hp_jack;
> >>       struct snd_soc_jack mic_jack;
> >> +     struct snd_soc_jack btn_jack;
> >>       struct cht_acpi_card *acpi_card;
> >
> > This is a bit weird - why are we adding an additional jack here, surely
> > the button is attached to the mic jack here?  The jacks should
> > correspond to the physical jacks on the system rather than the function
> > so that users and applications can tie the jacks that we have in
> > software to those physically on the system.
> >
> > Now I'm wondering if the headphone and microphone are expected to be a
> > single jack here?
> 
> At least the Chromebook version will have a single combo jack.  I
> would expect there to be a single jack created that reports all of hp,
> mic, and buttons.
I recalled in Baytrail cras required hp and mic to be separated jack.
I beleived it is changed afterwards.

now rt5645_set_jack_detect in rt5645.c aleady split jack into 3 like
below. maybe we need Bard to combine them ?

 int rt5645_set_jack_detect(struct snd_soc_codec *codec,
     struct snd_soc_jack *hp_jack, struct snd_soc_jack *mic_jack,
     struct snd_soc_jack *btn_jack)
 {
     struct rt5645_priv *rt5645 = snd_soc_codec_get_drvdata(codec);

     rt5645->hp_jack = hp_jack;
     rt5645->mic_jack = mic_jack;
     rt5645->btn_jack = btn_jack;
     if (rt5645->btn_jack && rt5645->codec_type ==
CODEC_TYPE_RT5650) {
         rt5645->en_button_func = true;
         regmap_update_bits(rt5645->regmap, RT5645_GPIO_CTRL1,
                 RT5645_GP1_PIN_IRQ, RT5645_GP1_PIN_IRQ);
         regmap_update_bits(rt5645->regmap, RT5645_DEPOP_M1,
                 RT5645_HP_CB_MASK, RT5645_HP_CB_PU);
         regmap_update_bits(rt5645->regmap, RT5645_GEN_CTRL1,
                 RT5645_DIG_GATE_CTRL, RT5645_DIG_GATE_CTRL);
     }
     rt5645_irq_detection(rt5645);

     return 0;
 }

Yang

> 
> >
> > _______________________________________________
> > Alsa-devel mailing list
> > Alsa-devel at alsa-project.org
> > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
> >


More information about the Alsa-devel mailing list