This is a machine driver for Aries boards which are based on Samsung's S5PV210 platform. These are the first-gen Galaxy S devices.
It consists of a WM8994 codec connected to I2S0 along with two codec-to-codec links to the modem and the bluetooth.
--------- | | Modem | | --------- | AIF2 | ---------- --------- | | AIF1 | | I2S ------- wm8994 | | | | ---------- --------- | AIF3 | --------- | | BT | | ---------
Jack detection is relatively complex with various GPIOs, an ADC, and an extcon device all involved. One oddity is that the headphone jack is shared between the mic and the analog tv-out and is controlled by a GPIO (earpath-sel) and the proper path should be selected based on the jack detection.
There is also an oddity with how the speaker is connected. It's a mono speaker and the spkmode pin is pulled up, but the connections aren't bridged so if stereo playback is attempted, only the one channel will play. Therefore, when the speaker is enabled the entire AIF should be forced into mono mode.
UCM2 config files are available at https://github.com/xc-racer99/aries-hw-files/tree/ucm2/usr/share/alsa/ucm2
Jonathan Bakker (3): dt-bindings: sound: Document wm8994 endpoints dt-bindings: sound: Add bindings for Samsung Aries audio complex ASoC: samsung: Add driver for Aries boards
.../bindings/sound/samsung,aries-wm8994.yaml | 147 ++++ .../devicetree/bindings/sound/wm8994.txt | 23 + sound/soc/samsung/Kconfig | 13 + sound/soc/samsung/Makefile | 2 + sound/soc/samsung/aries_wm8994.c | 695 ++++++++++++++++++ 5 files changed, 880 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/samsung,aries-wm8994.yaml create mode 100644 sound/soc/samsung/aries_wm8994.c