Skip to content
  1. Mar 30, 2021
  2. Mar 26, 2021
    • Mark Brown's avatar
      Merge series "Add audio driver base on rpmsg on i.MX platform" from Shengjiu... · e49bcf4f
      Mark Brown authored
      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
      e49bcf4f
    • Mark Brown's avatar
      Merge series "ASoC: soc.h: small cleanups" from Kuninori Morimoto... · b9af3fb7
      Mark Brown authored
      Merge series "ASoC: soc.h: small cleanups" from Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>:
      
      Hi Mark
      
      These are small cleanups for soc.h
      
      Kuninori Morimoto (3):
        ASoC: soc.h: add asoc_link_to_cpu/codec/platform() macro
        ASoC: soc.h: fixup return timing for snd_soc_fixup_dai_links_platform_name()
        ASoC: soc.h: return error if multi platform at snd_soc_fixup_dai_links_platform_name()
      
       include/sound/soc.h | 34 ++++++++++++++++++++++++++++------
       1 file changed, 28 insertions(+), 6 deletions(-)
      
      --
      2.25.1
      
      Thank you for your help !!
      
      Best regards
      ---
      Kuninori Morimoto
      b9af3fb7
  3. Mar 25, 2021
  4. Mar 24, 2021
  5. Mar 22, 2021