linux/sound/soc
Mark Brown 6e1dda5fcd
Add support for audio on SC7280 based targets
Merge series from Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com>:

This patch set is to add support for Audio over wcd codec,
digital mics, through digital codecs and without ADSP.

Changes Since V15:
    -- Bisect patches to avoid build failure in other architectures.
    -- Remove redundant variables lpass variant structure.
Changes Since V14:
    -- Split common wrapper function to separate wrapper for each handle in platform driver.
    -- Update cdc dma buffer handling with memremap with ioremap.
    -- Remove redundant error prints.
    -- Update irq flag.
Changes Since V13:
    -- Change bulk cdc clock voting to individual clock voting.
    -- Remove redundant code, conditional check and prints.
    -- Fix typo errors.
Changes Since V12:
    -- Fix arguments type mismatch.
Changes Since V11:
    -- Fix kernel robot issue on arguments type mismatch.
Changes Since V10:
    -- Split bulk clock voting to individual clock voting as per use case in cdc-dma driver.
    -- Add missing codec dma clocks.
    -- Update rxtx lpm buffer size.
Changes Since V9:
    -- Change individual clock voting to bulk clock voting of lpass-sc7280 platform driver.
    -- Remove redundant clocks in lpass variant structure.
    -- Add mclk for MI2S based headset path.
    -- Remove unused lpass variant structure members in lpass header.
Changes Since V8:
    -- Fix errors in sc7280 lpass cpu dt-bindings.
    -- Move to quicinc domain email id's.
Changes Since V7:
    -- Fix indentation errors.
    -- Bisect patches to avoid interdependency.
Changes Since V6:
    -- Split cdc dma regmap config macros.
    -- Add write dma reg fields for i2s path.
    -- Add helper function to distinguish rxtx and va dma ports.
    -- Optimizing clock and reg name in cpu dt-bindings.
    -- Update buffer management for cdc dma path.
    -- Remove Kconfig fields of machine driver.
Changes Since V5:
    -- Include MI2S primary node to snd_soc_dai_driver in lpass-sc7280 platform driver.
    -- Move dependency patch list to corresponding patch.
    -- Add support for missing cdc-dma ports.
    -- Change if/else conditional statements to switch cases.
    -- Add missing error handlings.
    -- Typo errors fix.
Changes Since V4:
    -- Remove unused variable in lpass-sc7280 platform driver.
Changes Since V3:
    -- Remove redundant power domain controls. As power domains can be configured from dtsi.
Changes Since V2:
    -- Split lpass sc7280 cpu driver patch and create regmap config patch.
    -- Create patches based on latest kernel tip.
    -- Add helper function to get dma control and lpaif handle.
    -- Remove unused variables.
Changes Since V1:
    -- Typo errors fix
    -- CPU driver readable/writable apis optimization.
    -- Add Missing config patch
    -- Add Common api for repeated dmactl initialization.
Srinivasa Rao Mandadapu (9):
  ASoC: qcom: Move lpass_pcm_data structure to lpass header
  ASoC: qcom: lpass: Add dma fields for codec dma lpass interface
  ASoC: qcom: Add helper function to get dma control and lpaif handle
  ASoC: qcom: Add register definition for codec rddma and wrdma
  ASoC: qcom: Add regmap config support for codec dma driver
  ASoC: qcom: Add support for codec dma driver
  ASoC: qcom: Add lpass CPU driver for codec dma control
  ASoC: dt-bindings: Add SC7280 lpass cpu bindings
  ASoC: qcom: lpass-sc7280: Add platform driver for lpass audio

 .../devicetree/bindings/sound/qcom,lpass-cpu.yaml  |  75 ++-
 sound/soc/qcom/Kconfig                             |  11 +
 sound/soc/qcom/Makefile                            |   4 +
 sound/soc/qcom/lpass-cdc-dma.c                     | 301 ++++++++++
 sound/soc/qcom/lpass-cpu.c                         | 253 ++++++++-
 sound/soc/qcom/lpass-lpaif-reg.h                   | 127 ++++-
 sound/soc/qcom/lpass-platform.c                    | 628 ++++++++++++++++++---
 sound/soc/qcom/lpass-sc7280.c                      | 438 ++++++++++++++
 sound/soc/qcom/lpass.h                             | 141 +++++
 9 files changed, 1890 insertions(+), 88 deletions(-)
 create mode 100644 sound/soc/qcom/lpass-cdc-dma.c
 create mode 100644 sound/soc/qcom/lpass-sc7280.c

--
2.7.4
2022-02-24 22:55:41 +00:00
..
adi
amd ASoC: amd: acp: Add DMIC machine driver ops 2022-02-24 17:44:01 +00:00
atmel ASoC: ateml: Use dev_err_probe() helper 2021-12-20 12:47:12 +00:00
au1x
bcm ASoC: bcm: Use platform_get_irq() to get the interrupt 2021-12-21 18:05:43 +00:00
cirrus ARM: SoC drivers for 5.16 2021-11-03 17:00:52 -07:00
codecs ASoC: codec: wcd938x: Update CTIA/OMTP switch control 2022-02-16 16:34:21 +00:00
dwc ASoC: dwc-i2s: Update to modern clocking terminology 2021-09-27 13:01:12 +01:00
fsl ASoC: fsl_sai: Enable combine mode soft 2022-02-08 13:38:06 +00:00
generic ASoC: simple-card-utils: Add new system-clock-fixed flag 2022-01-24 19:45:43 +00:00
hisilicon
img ASoC: img: Use dev_err_probe() helper 2021-12-20 12:47:16 +00:00
intel ASoC: Intel: sof_es8336: add quirk for Huawei D15 2021 2022-02-18 13:57:10 +00:00
jz4740
kirkwood
mediatek ASoC: mediatek: mt8195: enable apll tuner 2022-02-21 13:24:56 +00:00
meson ASoC: Merge fixes 2021-12-31 13:23:28 +00:00
mxs ASoC: mxs: Use dev_err_probe() helper 2021-12-20 12:47:18 +00:00
pxa
qcom ASoC: qcom: lpass-sc7280: Add platform driver for lpass audio 2022-02-24 20:21:48 +00:00
rockchip ASoC: rk3399_gru_sound: Wire up DP jack detection 2022-01-28 15:59:27 +00:00
samsung ASoC: samsung: Explicitly include gpiolib header 2022-02-03 11:31:00 +00:00
sh ASoC: sh: rz-ssi: Remove duplicate macros 2022-01-25 13:55:18 +00:00
sof ASoC: SOF: Declare sof_compress_ops in sof-priv.h 2022-02-24 20:21:50 +00:00
spear
sprd
sti
stm ASoC: stm: Use dev_err_probe() helper 2021-12-20 12:47:23 +00:00
sunxi ASoC: sun4i-i2s: Add support for the R329/D1 variant 2022-02-03 11:30:57 +00:00
tegra ASoC: tegra20: spdif: make const array rates static 2022-02-15 12:52:44 +00:00
ti ASoC: ti: Use dev_err_probe() helper 2021-12-20 12:47:13 +00:00
uniphier ASoC: uniphier: drop selecting non-existing SND_SOC_UNIPHIER_AIO_DMA 2021-11-25 11:54:30 +00:00
ux500 ASoC: ux500: mop500: Constify static snd_soc_ops 2021-09-29 13:06:38 +01:00
xilinx ASoC: xilinx: xlnx_i2s: Handle sysclk setting 2022-01-24 19:45:38 +00:00
xtensa
Kconfig
Makefile
soc-ac97.c
soc-acpi.c ASoC: soc-acpi: Set mach->id field on comp_ids matches 2021-11-22 15:40:01 +00:00
soc-card.c
soc-component.c ASoC: soc-component: add snd_soc_pcm_component_delay() 2021-11-29 12:19:41 +00:00
soc-compress.c
soc-core.c ASoC: soc-core: skip zero num_dai component in searching dai name 2022-02-15 12:52:45 +00:00
soc-dai.c ASoC: soc-dai: update snd_soc_dai_delay() to snd_soc_pcm_dai_delay() 2021-11-29 12:19:40 +00:00
soc-dapm.c ASoC: DAPM: Cover regression by kctl change notification fix 2021-11-05 12:58:12 +00:00
soc-devres.c
soc-generic-dmaengine-pcm.c ASoC: soc-generic-dmaengine-pcm: separate max_buffer_size assignment 2022-01-24 13:31:57 +00:00
soc-jack.c
soc-link.c
soc-ops.c
soc-pcm.c ASoC: soc-pcm: fix BE handling of PAUSE_RELEASE 2021-12-14 17:15:48 +00:00
soc-topology-test.c
soc-topology.c ASoC: topology: Optimize soc_tplg_dapm_graph_elems_load behavior 2022-01-24 13:31:23 +00:00
soc-utils.c ASoC: Stop dummy from overriding hwparams 2021-10-29 16:49:45 +01:00