mbox series

[0/8] ASoC: Add common modules support for ACP hw block

Message ID 20210930132418.14077-1-AjitKumar.Pandey@amd.com (mailing list archive)
Headers show
Series ASoC: Add common modules support for ACP hw block | expand

Message

Ajit Kumar Pandey Sept. 30, 2021, 1:24 p.m. UTC
We need to support I2S audio on various different platforms SOC in near
future. At present we are creating new folder under soc/amd/ for each
platforms support with separate I2S and DMA device modules across each
SOC. Actually AMD's audio coprocessor block commonly known as ACP hw IP
block consist of I2S controllers registers configuration and registers
specs are common across all SOC. This patch series add common folder
named acp in soc/amd/ that exposes common driver modules to configure
I2S and DMA registers across different platforms. Any platforms specific
configurations and dai's will be exposed in separate platform modules. We
will use SOF based PCI driver or common PCI driver to register and probe
platform device modules.

We also add common and more generic machine driver support within this
patch chain. This machine driver can be used across different machines
on AMD SOC with just some minor tweaks related to codecs connections. 

Ajit Kumar Pandey (8):
  ASoC: amd: Add common framework to support I2S on ACP SOC
  ASoC: amd: acp: Add I2S support on Renoir platform
  ASoC: amd: acp: Add callback for machine driver on ACP
  ASoC: amd: acp: Add generic machine driver support for ACP cards
  ASoC: amd: acp: Add legacy sound card support for Guybrush board
  ASoC: amd: acp: Add SOF sound card support on Guybrush board
  ASoC: amd: acp: Add support for Maxim amplifier codec
  ASoC: amd: acp: Add support for RT5682-VS codec

 sound/soc/amd/Kconfig                |   2 +
 sound/soc/amd/Makefile               |   1 +
 sound/soc/amd/acp/Kconfig            |  49 +++
 sound/soc/amd/acp/Makefile           |  26 ++
 sound/soc/amd/acp/acp-i2s.c          | 353 +++++++++++++++++
 sound/soc/amd/acp/acp-legacy-mach.c  | 104 +++++
 sound/soc/amd/acp/acp-mach-common.c  | 557 +++++++++++++++++++++++++++
 sound/soc/amd/acp/acp-mach.h         |  57 +++
 sound/soc/amd/acp/acp-platform.c     | 325 ++++++++++++++++
 sound/soc/amd/acp/acp-renoir.c       | 144 +++++++
 sound/soc/amd/acp/acp-sof-mach.c     | 103 +++++
 sound/soc/amd/acp/amd.h              | 146 +++++++
 sound/soc/amd/acp/chip_offset_byte.h |  76 ++++
 13 files changed, 1943 insertions(+)
 create mode 100644 sound/soc/amd/acp/Kconfig
 create mode 100644 sound/soc/amd/acp/Makefile
 create mode 100644 sound/soc/amd/acp/acp-i2s.c
 create mode 100644 sound/soc/amd/acp/acp-legacy-mach.c
 create mode 100644 sound/soc/amd/acp/acp-mach-common.c
 create mode 100644 sound/soc/amd/acp/acp-mach.h
 create mode 100644 sound/soc/amd/acp/acp-platform.c
 create mode 100644 sound/soc/amd/acp/acp-renoir.c
 create mode 100644 sound/soc/amd/acp/acp-sof-mach.c
 create mode 100644 sound/soc/amd/acp/amd.h
 create mode 100644 sound/soc/amd/acp/chip_offset_byte.h

Comments

Mark Brown Oct. 8, 2021, 3:54 p.m. UTC | #1
On Thu, Sep 30, 2021 at 06:54:10PM +0530, Ajit Kumar Pandey wrote:

> We need to support I2S audio on various different platforms SOC in near
> future. At present we are creating new folder under soc/amd/ for each
> platforms support with separate I2S and DMA device modules across each
> SOC. Actually AMD's audio coprocessor block commonly known as ACP hw IP

This seems basically fine - I do think you're likely to run into
issues going forward if you get much more board/device variation
but only one trivial issue with not using a GPL symbol export
that really needs looking at now, otherwise it looks good for
merging.