[PATCH 0/9] ASoC: meson: gx: add audio output support

From: Jerome Brunet
Date: Thu Feb 13 2020 - 10:52:11 EST


This patchset adds support for the i2s and spdif audio outputs of the
amlogic GX SoC family, such the S905, S905X/D, S912 and S805X. These SoCs
are used by a fair amount of boards actively maintained upstream.

This was tested on:
* amlogic s912 q200
* libretech s805x-ac (frite)
* libretech s905x-cc (potato)
* libretech s905d-pc (tartiflette)

This could also possibly support meson8 32bits SoCs but I have not tested
it myself and it could require some further tweaks.

The audio subsystem found on these SoCs has now been dropped in the newer
designs. All recent SoCs families (like g12a and sm1) derive from the AXG
audio architecture.

Jerome Brunet (9):
ASoC: core: allow a dt node to provide several components
ASoC: meson: g12a: extract codec-to-codec utils
ASoC: meson: aiu: add audio output dt-bindings
ASoC: meson: aiu: add i2s and spdif support
ASoC: meson: aiu: add hdmi codec control support
ASoC: meson: aiu: add internal dac codec control support
ASoC: meson: axg: extract sound card utils
ASoC: meson: gx: add sound card dt-binding documentation
ASoC: meson: gx: add sound card support

.../bindings/sound/amlogic,aiu.yaml | 111 +++++
.../bindings/sound/amlogic,gx-sound-card.yaml | 113 +++++
include/dt-bindings/sound/meson-aiu.h | 18 +
sound/soc/meson/Kconfig | 24 ++
sound/soc/meson/Makefile | 15 +
sound/soc/meson/aiu-acodec-ctrl.c | 205 +++++++++
sound/soc/meson/aiu-codec-ctrl.c | 152 +++++++
sound/soc/meson/aiu-encoder-i2s.c | 324 ++++++++++++++
sound/soc/meson/aiu-encoder-spdif.c | 209 +++++++++
sound/soc/meson/aiu-fifo-i2s.c | 153 +++++++
sound/soc/meson/aiu-fifo-spdif.c | 186 ++++++++
sound/soc/meson/aiu-fifo.c | 223 ++++++++++
sound/soc/meson/aiu-fifo.h | 50 +++
sound/soc/meson/aiu.c | 390 +++++++++++++++++
sound/soc/meson/aiu.h | 91 ++++
sound/soc/meson/axg-card.c | 403 ++----------------
sound/soc/meson/g12a-tohdmitx.c | 219 ++--------
sound/soc/meson/gx-card.c | 141 ++++++
sound/soc/meson/meson-card-utils.c | 385 +++++++++++++++++
sound/soc/meson/meson-card.h | 55 +++
sound/soc/meson/meson-codec-glue.c | 149 +++++++
sound/soc/meson/meson-codec-glue.h | 32 ++
sound/soc/soc-core.c | 8 +
23 files changed, 3104 insertions(+), 552 deletions(-)
create mode 100644 Documentation/devicetree/bindings/sound/amlogic,aiu.yaml
create mode 100644 Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml
create mode 100644 include/dt-bindings/sound/meson-aiu.h
create mode 100644 sound/soc/meson/aiu-acodec-ctrl.c
create mode 100644 sound/soc/meson/aiu-codec-ctrl.c
create mode 100644 sound/soc/meson/aiu-encoder-i2s.c
create mode 100644 sound/soc/meson/aiu-encoder-spdif.c
create mode 100644 sound/soc/meson/aiu-fifo-i2s.c
create mode 100644 sound/soc/meson/aiu-fifo-spdif.c
create mode 100644 sound/soc/meson/aiu-fifo.c
create mode 100644 sound/soc/meson/aiu-fifo.h
create mode 100644 sound/soc/meson/aiu.c
create mode 100644 sound/soc/meson/aiu.h
create mode 100644 sound/soc/meson/gx-card.c
create mode 100644 sound/soc/meson/meson-card-utils.c
create mode 100644 sound/soc/meson/meson-card.h
create mode 100644 sound/soc/meson/meson-codec-glue.c
create mode 100644 sound/soc/meson/meson-codec-glue.h

--
2.24.1