[PATCH 00/25] Introduce support of audio for Amlogic A1 SoC family

From: Jan Dakinevich
Date: Thu Mar 14 2024 - 19:23:50 EST


This series includes the following:

- new audio clock and reset controller data and adaptation for it of existing
code (patches 0001..0004);

- adaptation of existing audio components for A1 Soc (patches 0005..0021);

- handy cosmetics for dai-link naming (patches 0022..0023);

- integration of audio devices into common trees (patch 0024);

- audio support bring up on Amlogic ad402 reference board (patch 0025). This
patch is not actually checked on real hardware (because all ad402 that we had
were burned out). This patch is based on ad402's schematics and on experience
with our own hardware (which is very close to reference board);

Dmitry Rokosov (2):
ASoC: dt-bindings: meson: introduce link-name optional property
ASoC: meson: implement link-name optional property in meson card utils

Jan Dakinevich (23):
clk: meson: a1: restrict an amount of 'hifi_pll' params
clk: meson: axg: move reset controller's code to separate module
dt-bindings: clock: meson: add A1 audio clock and reset controller
bindings
clk: meson: a1: add the audio clock controller driver
ASoC: meson: codec-glue: add support for capture stream
ASoC: meson: g12a-toacodec: fix "Lane Select" width
ASoC: meson: g12a-toacodec: rework the definition of bits
ASoC: dt-bindings: meson: g12a-toacodec: add support for A1 SoC family
ASoC: meson: g12a-toacodec: add support for A1 SoC family
ASoC: meson: t9015: prepare to adding new platforms
ASoC: dt-bindings: meson: t9015: add support for A1 SoC family
ASoC: meson: t9015: add support for A1 SoC family
ASoC: dt-bindings: meson: axg-pdm: document 'sysrate' property
ASoC: meson: axg-pdm: introduce 'sysrate' property
pinctrl/meson: fix typo in PDM's pin name
ASoC: dt-bindings: meson: meson-axg-audio-arb: claim support of A1 SoC
family
ASoC: dt-bindings: meson: axg-fifo: claim support of A1 SoC family
ASoC: dt-bindings: meson: axg-pdm: claim support of A1 SoC family
ASoC: dt-bindings: meson: axg-sound-card: claim support of A1 SoC
family
ASoC: dt-bindings: meson: axg-tdm-formatters: claim support of A1 SoC
family
ASoC: dt-bindings: meson: axg-tdm-iface: claim support of A1 SoC
family
arm64: dts: meson: a1: add audio devices
arm64: dts: ad402: enable audio

.../bindings/clock/amlogic,a1-audio-clkc.yaml | 83 +++
.../reset/amlogic,meson-axg-audio-arb.yaml | 10 +-
.../bindings/sound/amlogic,axg-fifo.yaml | 8 +
.../bindings/sound/amlogic,axg-pdm.yaml | 5 +
.../sound/amlogic,axg-sound-card.yaml | 12 +-
.../sound/amlogic,axg-tdm-formatters.yaml | 22 +-
.../bindings/sound/amlogic,axg-tdm-iface.yaml | 6 +-
.../bindings/sound/amlogic,g12a-toacodec.yaml | 1 +
.../bindings/sound/amlogic,gx-sound-card.yaml | 6 +
.../bindings/sound/amlogic,t9015.yaml | 4 +-
.../arm64/boot/dts/amlogic/meson-a1-ad402.dts | 126 ++++
arch/arm64/boot/dts/amlogic/meson-a1.dtsi | 471 +++++++++++++++
drivers/clk/meson/Kconfig | 18 +
drivers/clk/meson/Makefile | 2 +
drivers/clk/meson/a1-audio.c | 556 ++++++++++++++++++
drivers/clk/meson/a1-audio.h | 58 ++
drivers/clk/meson/a1-pll.c | 8 +-
drivers/clk/meson/axg-audio.c | 95 +--
drivers/clk/meson/meson-audio-rstc.c | 109 ++++
drivers/clk/meson/meson-audio-rstc.h | 12 +
drivers/pinctrl/meson/pinctrl-meson-a1.c | 6 +-
.../dt-bindings/clock/amlogic,a1-audio-clkc.h | 122 ++++
.../reset/amlogic,meson-a1-audio-reset.h | 29 +
.../dt-bindings/sound/meson-g12a-toacodec.h | 5 +
sound/soc/meson/axg-pdm.c | 10 +-
sound/soc/meson/g12a-toacodec.c | 298 ++++++++--
sound/soc/meson/meson-card-utils.c | 12 +-
sound/soc/meson/meson-codec-glue.c | 174 ++++--
sound/soc/meson/meson-codec-glue.h | 23 +
sound/soc/meson/t9015.c | 326 +++++++++-
30 files changed, 2394 insertions(+), 223 deletions(-)
create mode 100644 Documentation/devicetree/bindings/clock/amlogic,a1-audio-clkc.yaml
create mode 100644 drivers/clk/meson/a1-audio.c
create mode 100644 drivers/clk/meson/a1-audio.h
create mode 100644 drivers/clk/meson/meson-audio-rstc.c
create mode 100644 drivers/clk/meson/meson-audio-rstc.h
create mode 100644 include/dt-bindings/clock/amlogic,a1-audio-clkc.h
create mode 100644 include/dt-bindings/reset/amlogic,meson-a1-audio-reset.h

--
2.34.1