mbox series

[0/3] ASoC: samsung: Add machine driver for Aries boards

Message ID BN6PR04MB06600BE1873A046B15997B55A39F0@BN6PR04MB0660.namprd04.prod.outlook.com (mailing list archive)
Headers show
Series ASoC: samsung: Add machine driver for Aries boards | expand

Message

Jonathan Bakker June 14, 2020, 8:24 p.m. UTC
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