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