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

Dylan Reid dgreid at chromium.org
Wed May 6 00:27:33 CEST 2015


On Tue, May 5, 2015 at 3:14 PM, Yang Fang <yang.a.fang at intel.com> wrote:
> 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 ?

That would be ideal.  The ts3a227e driver already behaves this.

>
>  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