[PATCH 00/11] allwinner: a523: Enable I2S and SPDIF TX

Chen-Yu Tsai
2025-10-20T17:11:20Z

Hi folks,

This series enables the SPDIF and I2S hardware found on the Allwinner
A523/A527/T527 family SoCs. These SoCs have one SPDIF interface and
four I2S interfaces. All of them are capable of both playback and
capture, however the SPDIF driver only supports playback.

The series is organized by subsystem, so each maintainer can find the
patches they need to take.

Patch 1 adds SoC/hardware specific compatibles for the two DMA
controllers in the A523 SoC.

Patch 2 adds an SoC specific compatible for the I2S interface
controllers in the A523 SoC.

Patch 3 adds an SoC specific compatible for the SPDIF interface
controller in the A523 SoC.

Patch 4 adds driver support for the SPDIF interface.

Patch 5 marks a clock related to the DMA controller as critical. The
docs are quite vague on how this particular clock gate ties in with
the other memory bus gate that the DMA controller needs.

Patch 6 tweaks the software lower limit of the audio PLL.

Patch 7 adds devices nodes for the DMA controllers.

Patch 8 adds a devices node for the SPDIF interface controller.

Patch 9 adds device nodes for the I2S interface controllers.

Patch 10 adds one set of pinmux settings for I2S2.

Patch 11 is what I used to test the changes, and serves as an example
for how to use these new interfaces.

Patch 1 can go through the dmaengine tree, or I can take it through the
sunxi tree.

Patches 2 through 4 should go through the ASoC tree.

The rest, except the example, will go through the sunxi tree.

Please take a look.

Thanks
ChenYu

Chen-Yu Tsai (11):
dt-bindings: dma: allwinner,sun50i-a64-dma: Add compatibles for A523
ASoC: dt-bindings: allwinner,sun4i-a10-i2s: Add compatible for A523
ASoC: dt-bindings: allwinner,sun4i-a10-spdif: Add compatible for A523
ASoC: sun4i-spdif: Support SPDIF output on A523 family
clk: sunxi-ng: sun55i-a523-r-ccu: Mark bus-r-dma as critical
clk: sunxi-ng: sun55i-a523-ccu: Lower audio0 pll minimum rate
arm64: dts: allwinner: a523: Add DMA controller device nodes
arm64: dts: allwinner: a523: Add device node for SPDIF block
arm64: dts: allwinner: a523: Add device nodes for I2S controllers
arm64: dts: allwinner: a523: Add I2S2 pins on PI pin group
[EXAMPLE] arm64: dts: allwinner: a527-cubie-a5e: Enable I2S and SPDIF
output

.../dma/allwinner,sun50i-a64-dma.yaml | 5 +-
.../sound/allwinner,sun4i-a10-i2s.yaml | 4 +-
.../sound/allwinner,sun4i-a10-spdif.yaml | 44 +++++-
.../arm64/boot/dts/allwinner/sun55i-a523.dtsi | 135 ++++++++++++++++++
.../dts/allwinner/sun55i-a527-cubie-a5e.dts | 52 +++++++
drivers/clk/sunxi-ng/ccu-sun55i-a523-r.c | 2 +-
drivers/clk/sunxi-ng/ccu-sun55i-a523.c | 2 +-
sound/soc/sunxi/sun4i-spdif.c | 28 +++-
8 files changed, 259 insertions(+), 13 deletions(-)

--
2.47.3