linux/sound/soc/fsl
Mark Brown e49bcf4f55
Merge series "Add audio driver base on rpmsg on i.MX platform" from Shengjiu Wang <shengjiu.wang@nxp.com>:
On Asymmetric multiprocessor, there is Cortex-A core and Cortex-M core,
Linux is running on A core, RTOS is running on M core.
The audio hardware device can be controlled by Cortex-M device,
So audio playback/capture can be handled by M core.

Rpmsg is the interface for sending and receiving msg to and from M
core, that we can create a virtual sound on Cortex-A core side.

A core will tell the Cortex-M core sound format/rate/channel,
where is the data buffer, what is the period size, when to start,
when to stop and when suspend or resume happen, each of this behavior
there is defined rpmsg command.

Especially we designed the low power audio case, that is to
allocate a large buffer and fill the data, then Cortex-A core can go
to sleep mode, Cortex-M core continue to play the sound, when the
buffer is consumed, Cortex-M core will trigger the Cortex-A core to
wakeup to fill data.

changes in v5:
- remove unneeded property in binding doc and driver
- update binding doc according to Rob's comments.
- Fix link issue reported by kernel test robot

changes in v4:
- remove the sound card node, merge the property to cpu dai node
  according to Rob's comments.
- sound card device will be registered by cpu dai driver.
- Fix do_div issue reported by kernel test robot

changes in v3:
- add local refcount for clk enablement in hw_params()
- update the document according Rob's comments

changes in v2:
- update codes and comments according to Mark's comments

Shengjiu Wang (6):
  ASoC: soc-component: Add snd_soc_pcm_component_ack
  ASoC: fsl_rpmsg: Add CPU DAI driver for audio base on rpmsg
  ASoC: dt-bindings: fsl_rpmsg: Add binding doc for rpmsg audio device
  ASoC: imx-audio-rpmsg: Add rpmsg_driver for audio channel
  ASoC: imx-pcm-rpmsg: Add platform driver for audio base on rpmsg
  ASoC: imx-rpmsg: Add machine driver for audio base on rpmsg

 .../devicetree/bindings/sound/fsl,rpmsg.yaml  | 108 +++
 include/sound/soc-component.h                 |   3 +
 sound/soc/fsl/Kconfig                         |  30 +
 sound/soc/fsl/Makefile                        |   6 +
 sound/soc/fsl/fsl_rpmsg.c                     | 279 ++++++
 sound/soc/fsl/fsl_rpmsg.h                     |  35 +
 sound/soc/fsl/imx-audio-rpmsg.c               | 140 +++
 sound/soc/fsl/imx-pcm-rpmsg.c                 | 918 ++++++++++++++++++
 sound/soc/fsl/imx-pcm-rpmsg.h                 | 512 ++++++++++
 sound/soc/fsl/imx-rpmsg.c                     | 150 +++
 sound/soc/soc-component.c                     |  14 +
 sound/soc/soc-pcm.c                           |   2 +
 12 files changed, 2197 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/sound/fsl,rpmsg.yaml
 create mode 100644 sound/soc/fsl/fsl_rpmsg.c
 create mode 100644 sound/soc/fsl/fsl_rpmsg.h
 create mode 100644 sound/soc/fsl/imx-audio-rpmsg.c
 create mode 100644 sound/soc/fsl/imx-pcm-rpmsg.c
 create mode 100644 sound/soc/fsl/imx-pcm-rpmsg.h
 create mode 100644 sound/soc/fsl/imx-rpmsg.c

--
2.27.0
2021-03-25 17:32:00 +00:00
..
efika-audio-fabric.c ASoC: fsl: efika-audio-fabric: use modern dai_link style 2019-06-06 21:41:08 +01:00
eukrea-tlv320.c ASoC: fsl: use asoc_substream_to_rtd() 2020-07-23 19:07:31 +01:00
fsl_asrc_common.h ASoC: fsl_asrc_dma: Fix data copying speed issue with EDMA 2020-06-12 14:18:04 +01:00
fsl_asrc_dma.c ASoC: fsl_asrc_dma: request dma channel from specific controller 2021-03-12 20:48:05 +00:00
fsl_asrc.c ASoC: fsl_asrc: Don't use devm_regmap_init_mmio_clk 2021-03-24 19:49:29 +00:00
fsl_asrc.h ASoC: fsl_asrc: Move common definition to fsl_asrc_common 2020-04-21 16:34:09 +01:00
fsl_aud2htx.c ASoC: fsl_aud2htx: mark PM functions as __maybe_unused 2020-12-04 23:26:36 +00:00
fsl_aud2htx.h ASoC: fsl_aud2htx: Add aud2htx module driver 2020-11-05 17:06:16 +00:00
fsl_audmix.c ASoC: fsl_audmix: Don't use devm_regmap_init_mmio_clk 2021-03-24 19:49:31 +00:00
fsl_audmix.h ASoC: fsl_audmix: Add spin lock to protect tdms 2019-11-11 13:01:37 +00:00
fsl_dma.c ASoC: fsl: fsl_dma: remove unused variable 2021-03-10 13:06:36 +00:00
fsl_dma.h ASoC: fsl-dma: Switch to SPDX identifier 2019-04-08 13:51:01 +07:00
fsl_easrc.c ASoC: fsl_easrc: Don't use devm_regmap_init_mmio_clk 2021-03-24 19:49:30 +00:00
fsl_easrc.h ASoC: fsl_easrc: Add EASRC ASoC CPU DAI drivers 2020-04-21 16:34:11 +01:00
fsl_esai.c ASoC: fsl_esai: Don't use devm_regmap_init_mmio_clk 2021-03-24 19:49:28 +00:00
fsl_esai.h ASoC: fsl_esai: Switch to SPDX identifier 2018-05-03 10:29:05 +09:00
fsl_micfil.c ASoC: fsl_micfil: Don't use devm_regmap_init_mmio_clk 2021-03-24 19:49:32 +00:00
fsl_micfil.h ASoC: Add MICFIL SoC Digital Audio Interface driver. 2019-01-07 17:00:55 +00:00
fsl_mqs.c ASoC: fsl_mqs: Fix unchecked return value for clk_prepare_enable 2020-06-23 11:14:22 +01:00
fsl_rpmsg.c ASoC: fsl_rpmsg: Add CPU DAI driver for audio base on rpmsg 2021-03-25 13:58:07 +00:00
fsl_rpmsg.h ASoC: fsl_rpmsg: Add CPU DAI driver for audio base on rpmsg 2021-03-25 13:58:07 +00:00
fsl_sai.c ASoC: fsl_sai: Don't use devm_regmap_init_mmio_clk 2021-03-22 12:32:21 +00:00
fsl_sai.h ASoC: fsl_sai: Add pm qos cpu latency support 2021-03-10 13:07:16 +00:00
fsl_spdif.c ASoC: fsl_spdif: Don't use devm_regmap_init_mmio_clk 2021-03-24 19:49:28 +00:00
fsl_spdif.h ASoC: fsl_spdif: Add support for higher sample rates 2020-10-26 18:37:09 +00:00
fsl_ssi_dbg.c ASoC: fsl: fsl_ssi_dbg: remove spurious kernel-doc comment start 2020-07-03 16:09:24 +01:00
fsl_ssi.c ASoC: fsl: fsl_ssi: fix kernel-doc warning 2021-03-10 13:10:42 +00:00
fsl_ssi.h ASoC: fsl: no need to check return value of debugfs_create functions 2019-06-14 16:37:48 +01:00
fsl_utils.c ASoC: fsl: mpc8610_hpcd/p1022_ds/p1022_rdk: use modern dai_link style 2019-06-06 21:42:35 +01:00
fsl_utils.h ASoC: fsl_utils: Switch to SPDX identifier 2018-07-24 16:59:03 +01:00
fsl_xcvr.c ASoC: fsl_xcvr: Use devm_platform_ioremap_resource_byname() to simplify code 2021-03-10 13:13:26 +00:00
fsl_xcvr.h ASoC: fsl_xcvr: Add XCVR ASoC CPU DAI driver 2020-10-26 15:45:31 +00:00
fsl-asoc-card.c ASoC: fsl-asoc-card: Add support for WM8958 codec 2021-03-25 13:58:58 +00:00
imx-audio-rpmsg.c ASoC: imx-audio-rpmsg: Add rpmsg_driver for audio channel 2021-03-25 13:58:09 +00:00
imx-audmix.c ASoC: fsl: imx-audmix: Use devm_kcalloc() instead of devm_kzalloc() 2020-09-25 20:50:39 +01:00
imx-audmux.c ASoC: imx-audmux: Remove unused .id_table 2020-11-23 20:39:50 +00:00
imx-audmux.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
imx-es8328.c ASoC: fsl: imx-es8328: add missing put_device() call in imx_es8328_probe() 2020-09-08 15:50:12 +01:00
imx-hdmi.c ASoC: imx-hdmi: fix platform_no_drv_owner.cocci warnings 2021-03-16 13:29:38 +00:00
imx-pcm-dma.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
imx-pcm-fiq.c ASoC: fsl: Drop superfluous ioctl PCM ops 2019-12-11 15:56:42 +00:00
imx-pcm-rpmsg.c ASoC: imx-pcm-rpmsg: Add platform driver for audio base on rpmsg 2021-03-25 13:58:10 +00:00
imx-pcm-rpmsg.h ASoC: imx-pcm-rpmsg: Add platform driver for audio base on rpmsg 2021-03-25 13:58:10 +00:00
imx-pcm.h ASoC: imx-pcm: Switch to SPDX identifier 2019-04-08 13:47:44 +07:00
imx-rpmsg.c ASoC: imx-rpmsg: Add machine driver for audio base on rpmsg 2021-03-25 13:58:11 +00:00
imx-sgtl5000.c ASoC: fsl: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:36 +00:00
imx-spdif.c ASoC: fsl: imx-spdif: consider CPU-Platform possibility 2019-06-28 15:12:19 +01:00
imx-ssi.h ASoC: imx-ssi: Switch to SPDX identifier 2019-04-08 13:53:35 +07:00
Kconfig Merge series "Add audio driver base on rpmsg on i.MX platform" from Shengjiu Wang <shengjiu.wang@nxp.com>: 2021-03-25 17:32:00 +00:00
Makefile ASoC: imx-rpmsg: Add machine driver for audio base on rpmsg 2021-03-25 13:58:11 +00:00
mpc5200_dma.c ASoC: fsl: mpc5200: signed parameter in snprintf format 2021-03-10 13:06:41 +00:00
mpc5200_dma.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mpc5200_psc_ac97.c ASoC: soc-core: remove bus_control 2020-01-21 17:07:08 +00:00
mpc5200_psc_i2s.c ASoC: fsl: use asoc_substream_to_rtd() 2020-07-23 19:07:31 +01:00
mpc8610_hpcd.c ASoC: fsl: mpc8610: remove useless assignment 2021-03-10 13:06:42 +00:00
p1022_ds.c ASoC: fsl: p1022_ds: remove useless assignment 2021-03-10 13:06:43 +00:00
p1022_rdk.c ASoC: fsl: use asoc_substream_to_rtd() 2020-07-23 19:07:31 +01:00
pcm030-audio-fabric.c ASoC: fsl: pcm030-audio-fabric: use modern dai_link style 2019-06-06 21:43:43 +01:00