On 8/19/21 2:05 PM, Hans de Goede wrote: > Changes in v2: > - Rebase on asoc/for-next > - New patch: "ASoC: Intel: bytct_rt5640: Add a separate "Headset Mic 2" > DAPM pin for the mic on the 2nd jack" > - Addressed Pierre-Louis' comments about calling > acpi_dev_add_driver_gpios() twice Thanks Hans, the code in patch6 looks much simpler now. Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx> > > Original cover-letter: > > The HP Elitepad 1000 G2 tablet has 2 headset jacks: > > 1. on the dock which uses the output of the codecs built-in HP-amp + > the standard IN2 input which is always used with the headset-jack. > > 2. on the tablet itself, this uses the line-out of the codec + an external > HP-amp, which gets enabled by the ALC5642 codec's GPIO1 pin; and IN1 for > the headset-mic. > > The codec's GPIO1 is also its only IRQ output pin, so this means that > the codec's IRQ cannot be used on this tablet. Instead the jack-detect > is connected directly to GPIOs on the main SoC. The dock has a helper > chip which also detects if a headset-mic is present or not, so there > are 2 GPIOs for the jack-detect status of the dock. The tablet jack > uses a single GPIO which indicates if a jack is present or not. > > Differentiating between between headphones vs a headset on the tablet jack > is done by using the usual mic-bias over-current-detection mechanism. > > Regards, > > Hans > > > Hans de Goede (6): > ASoC: rt5640: Move rt5640_disable_jack_detect() up in the rt5640.c > file > ASoC: rt5640: Delay requesting IRQ until the machine-drv calls > set_jack > ASoC: rt5640: Add optional hp_det_gpio parameter to > rt5640_detect_headset() > ASoC: rt5640: Add rt5640_set_ovcd_params() helper > ASoC: Intel: bytct_rt5640: Add a separate "Headset Mic 2" DAPM pin for > the mic on the 2nd jack > ASoC: Intel: bytcr_rt5640: Add support for HP Elite Pad 1000G2 > jack-detect > > sound/soc/codecs/rt5640.c | 136 ++++++++++++---------- > sound/soc/codecs/rt5640.h | 6 + > sound/soc/intel/boards/bytcr_rt5640.c | 158 +++++++++++++++++++++++++- > 3 files changed, 234 insertions(+), 66 deletions(-) >