[PATCH 00/12] ASoC: sun4i-codec: Add support for A31 Codec
From: Chen-Yu Tsai
Date: Mon Oct 03 2016 - 07:08:51 EST
This series adds support for stereo mixer controls in DAPM and uses them
to add support for Allwinner A31's internal codec. This series is for
4.10. I'm sending them out now, so if there are any issues we can discuss
them at ELCE next week.
The A31's internal codec is similar (in terms of DMA, interface and
control layouts) to the one found in the A10/A13/A20 SoCs. However
it has more external inputs and outputs, the mixer controls are now
stereo (left/right separated), and it also has some audio processing
features (not supported).
To fully support DAPM but also provide a sane interface to userspace,
the first 4 patches attempt to implement stereo support to DAPM controls.
Otherwise we end up with a bunch of mono controls labeled "X Left" and
Patches 5 through 10 add support for the A31's internal codec, one
feature per patch. Hopefully this makes it easier to review. Some
features, such as PHONE inputs/outputs, audio processing, headset
jack detection and buttons, aren't supported yet.
Patch 11 adds a device node for the codec to the A31 dtsi.
Patch 12 enables the codec for the Hummingbird A31 board.
Chen-Yu Tsai (12):
ASoC: dapm: Support second register for DAPM control updates
ASoC: dapm: Implement stereo mixer control support
ASoC: dapm: Introduce DAPM_DOUBLE dual channel control type
ASoC: dapm: Introduce DAPM_DOUBLE_R dual channel dual register control
ASoC: sun4i-codec: Add support for A31 playback through headphone
ASoC: sun4i-codec: Add support for A31 Line In playback
ASoC: sun4i-codec: Add support for A31 Line Out playback
ASoC: sun4i-codec: Add support for A31 analog microphone inputs
ASoC: sun4i-codec: Add support for A31 ADC capture path
ASoC: sun4i-codec: Add support for A31 board level audio routing
ARM: dts: sun6i: Add audio codec device node
ARM: dts: sun6i: hummingbird: Enable internal audio codec
.../devicetree/bindings/sound/sun4i-codec.txt | 41 +-
arch/arm/boot/dts/sun6i-a31-hummingbird.dts | 12 +
arch/arm/boot/dts/sun6i-a31.dtsi | 12 +
include/sound/soc-dapm.h | 14 +
sound/soc/codecs/adau17x1.c | 2 +-
sound/soc/codecs/tlv320aic3x.c | 2 +-
sound/soc/codecs/wm9712.c | 2 +-
sound/soc/codecs/wm9713.c | 2 +-
sound/soc/soc-dapm.c | 116 ++--
sound/soc/sunxi/sun4i-codec.c | 599 ++++++++++++++++++---
10 files changed, 699 insertions(+), 103 deletions(-)