[PATCH 0/6] ASoC: meson: gx: add base support for I2S audio input

Valerio Setti vsetti at baylibre.com
Fri Sep 11 15:14:30 PDT 2026


This series is the 2nd part of the initial RFC [1] proposed to add audio
input support to the Meson GX SoCs. After the AIU reshaping series [2] that
has recently been merged, this one adds the audio input path itself.

The biggest change from the RFC concerns the I2S data formatter. Previously
it was a DT node owning a single register, which was deemed an invalid
binding. There is now a single audin node owning the whole audio input
register range; it instantiates the widget for the I2S data formatter,
following the solution already used by AIU, and then probes its DT child
nodes implementing the FIFOs. This lets the three FIFO instances share
one driver.

Resulting capture topology is:
  pads --> AIU I2S Encoder -> AUDIN I2S Formatter -> AUDIN FIFO -> RAM

This series includes all the changes related to this work (dt-bindings,
drivers and device-tree) in order to give the full picture in one single
place.

Unfortunately, since no Meson GXBB/GXL board available in the tree feature
an I2S capture capable codec, this work cannot be directly tested out of
the box. To test it an external codec must be connected to the SoC.
When working on this series, a custom hat board with an NXP SGTL5000 codec
has been plugged on top of an Odroid-C2 (GXBB). The last commit of this
series fully details all the device-tree changes which are required to
finalize the support for this scenario.
With this hardware configuration it has been possible to succeffully
validate the implementation with:
- alsa tools (arecord)
- pcm-tests

[1]: https://lore.kernel.org/linux-sound/20260411-audin-rfc-v2-0-4c8a6ec5fcab@baylibre.com/
[2]: https://lore.kernel.org/linux-sound/20260610-reshape-aiu-as-axg-v2-0-cac3663a8b51@baylibre.com/

Signed-off-by: Valerio Setti <vsetti at baylibre.com>
---
Valerio Setti (6):
      dt-bindings: sound: amlogic: add schemas for audin components
      ASoC: meson: add audin main module and I2S formatter
      ASoC: meson: add audin FIFO driver
      ASoC: meson: aiu: add I2S Capture DAI
      ASoC: meson: gx-card: add support for audin FIFO
      arm64: dts: amlogic: gx: add nodes for audin and its FIFOs

 .../sound/amlogic,meson-gx-audin-fifo.yaml         |  52 +++
 .../bindings/sound/amlogic,meson-gx-audin.yaml     |  96 +++++
 arch/arm64/boot/dts/amlogic/meson-gx.dtsi          |  35 ++
 arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi        |  22 +
 arch/arm64/boot/dts/amlogic/meson-gxl.dtsi         |  22 +
 sound/soc/meson/Kconfig                            |  14 +
 sound/soc/meson/Makefile                           |   5 +
 sound/soc/meson/aiu.c                              |   7 +
 sound/soc/meson/audin-fifo.c                       | 466 +++++++++++++++++++++
 sound/soc/meson/audin-formatter-i2s.c              | 174 ++++++++
 sound/soc/meson/audin.c                            | 109 +++++
 sound/soc/meson/audin.h                            |  14 +
 sound/soc/meson/gx-card.c                          |  16 +-
 13 files changed, 1025 insertions(+), 7 deletions(-)
---
base-commit: cee9395acd8043be0644b25c34bfa86623f2b935
change-id: 20260831-audin-9cabb450cc94

Best regards,
--  
Valerio Setti <vsetti at baylibre.com>




More information about the linux-amlogic mailing list