Re: [PATCH RFC v2 00/11] Add support for AUDIN driver in Amlogic GXBB

From: Jerome Brunet

Date: Wed Apr 15 2026 - 10:52:16 EST


On sam. 11 avril 2026 at 16:57, Valerio Setti <vsetti@xxxxxxxxxxxx> wrote:

> This series adds support for I2S audio input (AUDIN) on the Amlogic GXBB
> platform.
>
> It has been largely reshaped compared to what proposed in v1. Instead of
> adding an HACK commit to allow AIU to export its clock so that also
> AUDIN can control it, now the design closely follows what was implemented
> in the Meson AXG platform. "aiu-encoder-i2s" becomes the shared interface
> for playback/capture and it controls pins and clocks; data formatting
> is implemented in formatters which are named "aiu-formatter-i2s" and
> "audin-decoder-i2s" [1].
> Formatters are DAPM widgets which are dynamically attached/detached to
> the streams when the latters starts/stop, respectively.
>
> As of now only I2S input is supported, because it's the only one
> I could physically test in my setup, but other input sources (ex: SPDIF)
> are also allowed according to the SOC's manual and can be added in the
> future.
> This series was tested on an OdroidC2 board (Amlogic S905 SOC) with an
> NXP SGTL5000 codec connected to its I2S input port.
>
> Since this work brings GX platform very close to the AXG one, once this
> series is accepted, follow up work will be done in order to unify
> GX and AXG formatters so as to minimize the number of implementations.
>
> The series a bit long and it includes changes to drivers, dt-bindings and
> device-tree. Of course this only happens because this is an RFC and I
> wanted to give a full overview of what will be the final design. If no
> objection is raised, this patch series will be split into 3: one for
> reshaping AIU and introducing formatters, one to add AUDIN driver and its
> dt-bindings, one for the device-tree changes.
>
> [1]: Different naming for the aiu part is related to the fact that
> "aiu-encoder-i2s" is already used for the interface and the goal
> of this series was to introduce the minimum amount of changes that allow
> I2S capture to work. Renaming can be implemented in the future as follow up
> activity.

Thanks a lot for this awesome work Valerio. I know this was a lot of
effort. With Mark and Krzysztof comments addressed

Reviewed-by: Jerome Brunet <jbrunet@xxxxxxxxxxxx>

For the next revision, I think you can drop the RFC tag and split the
series.

You have spent a lot of time studying the existing amlogic audio driver
support. If you feel like it, you could add yourself as a reviewer or
maintainer of the Amlogic audio drivers. :)

>
> v1 -> v2:
> - Reshaped design so that GX platforms will use the same design
> pattern of AXG ones. This helped removing the need for an HACK commit.
>
> --
> 2.39.5
>
> ---
> Valerio Setti (11):
> ASoC: meson: gx: add gx-formatter and gx-interface
> ASoC: meson: aiu-encoder-i2s: use gx_iface and gx_stream structures
> ASoC: meson: aiu: introduce I2S output formatter
> ASoC: meson: aiu: use aiu-formatter-i2s to format I2S output data
> ASoC: dt-bindings: amlogic: add schema for audin-formatter and audin-toddr
> ASoC: meson: gx: add AUDIN I2S Decoder driver
> ASoC: meson: gx: 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 decoder and FIFO
> arm64: dts: amlogic: odroid-c2: add support for I2S audio input
>
> .../sound/amlogic,meson-gx-audin-decoder-i2s.yaml | 49 +++
> .../sound/amlogic,meson-gx-audin-fifo.yaml | 63 +++
> arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 32 ++
> .../arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts | 34 ++
> arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 26 ++
> sound/soc/meson/Kconfig | 17 +
> sound/soc/meson/Makefile | 6 +
> sound/soc/meson/aiu-encoder-i2s.c | 219 +++++++----
> sound/soc/meson/aiu-formatter-i2s.c | 106 +++++
> sound/soc/meson/aiu.c | 37 +-
> sound/soc/meson/aiu.h | 4 +
> sound/soc/meson/audin-decoder-i2s.c | 218 +++++++++++
> sound/soc/meson/audin-fifo.c | 432 +++++++++++++++++++++
> sound/soc/meson/gx-card.c | 14 +-
> sound/soc/meson/gx-formatter.c | 304 +++++++++++++++
> sound/soc/meson/gx-formatter.h | 47 +++
> sound/soc/meson/gx-interface.h | 50 +++
> 17 files changed, 1567 insertions(+), 91 deletions(-)
> ---
> base-commit: 6de23f81a5e08be8fbf5e8d7e9febc72a5b5f27f
> change-id: 20260410-audin-rfc-243bcbf95e43
>
> Best regards,

--
Jerome