1
linux/sound/soc/samsung
Artur Weber c91d0c2e19
ASoC: samsung: midas_wm1811: Add GPIO-based headset jack detection
Some Samsung devices that use the midas_wm1811 driver use a GPIO-based
method for detecting whether the headset jack is plugged in, as well as
detecting which headset buttons are pressed. There are two GPIOs:
a "headset detect" GPIO responsible for detecting jack insertion, and
a "headset key" GPIO which triggers when a button on the headset is
pressed. The plug type and the button pressed are determined based
on information from an ADC channel. The headset mic is enabled by a
headset mic bias regulator.

Add support for the GPIO-based headset jack detection mechanism,
and make it configurable from the device tree.

This implementation borrows somewhat from the aries_wm8994.c driver,
though there are a few changes to make the code cleaner, and to add
support for DT-based configuration.

Notably, a dependency on IIO is introduced, to accommodate the ADC
reading requirement.

Signed-off-by: Artur Weber <aweber.kernel@gmail.com>
Link: https://msgid.link/r/20240525-midas-wm1811-gpio-jack-v4-5-f488e03bd8c7@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-05-29 13:45:44 +01:00
..
aries_wm8994.c ASoC: Explicitly include correct DT includes 2023-10-09 13:13:56 +01:00
arndale.c ASoC: Explicitly include correct DT includes 2023-10-09 13:13:56 +01:00
bells.c ASoC: samsung: convert not to use asoc_xxx() 2023-09-25 14:16:34 +02:00
dma.h
dmaengine.c
i2s-regs.h ASoC: samsung: i2s: add support for FSD I2S 2023-01-17 13:16:04 +00:00
i2s.c ASoC: samsung: i2s: Drop unneeded MODULE_ALIAS 2024-04-15 10:17:17 +09:00
i2s.h
idma.c ASoC: samsung: remove unneeded ret variable 2022-01-24 13:31:56 +00:00
idma.h
Kconfig ASoC: samsung: midas_wm1811: Add GPIO-based headset jack detection 2024-05-29 13:45:44 +01:00
littlemill.c ASoC: samsung: convert not to use asoc_xxx() 2023-09-25 14:16:34 +02:00
lowland.c ASoC: samsung: convert not to use asoc_xxx() 2023-09-25 14:16:34 +02:00
Makefile ASoC: samsung: Use *-y instead of *-objs in Makefile 2024-05-08 11:39:28 +09:00
midas_wm1811.c ASoC: samsung: midas_wm1811: Add GPIO-based headset jack detection 2024-05-29 13:45:44 +01:00
odroid.c ASoC: samsung: odroid: don't need DUMMY Platform 2023-12-19 13:23:43 +00:00
pcm.c ASoC: samsung: convert not to use asoc_xxx() 2023-09-25 14:16:34 +02:00
pcm.h
smdk_spdif.c ASoC: samsung: convert not to use asoc_xxx() 2023-09-25 14:16:34 +02:00
smdk_wm8994.c ASoC: Use device_get_match_data() 2023-10-09 13:13:59 +01:00
smdk_wm8994pcm.c ASoC: samsung: convert not to use asoc_xxx() 2023-09-25 14:16:34 +02:00
snow.c ASoC: Explicitly include correct DT includes 2023-10-09 13:13:56 +01:00
spdif.c ASoC: samsung: convert not to use asoc_xxx() 2023-09-25 14:16:34 +02:00
spdif.h
speyside.c ASoC: samsung: speyside: Handle component name prefix 2023-10-26 12:15:53 +01:00
tm2_wm5110.c ASoC: samsung: convert not to use asoc_xxx() 2023-09-25 14:16:34 +02:00
tobermory.c ASoC: samsung: convert not to use asoc_xxx() 2023-09-25 14:16:34 +02:00