[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