linux/sound/soc
Mark Brown 6b050d45a6
Merge series "Tegra210 audio graph card" from Sameer Pujar <spujar@nvidia.com>:
This series adds audio graph based sound card support for Tegra210
platforms like Jetson-TX1 an Jetson-Nano. The following preparatory
audio graph enhancement series is already merged.
 * https://patchwork.kernel.org/project/alsa-devel/list/?series=375629&state=*

Following are the summary of changes:
 * Add graph/audio-graph based schemas or schema updates for Tegra210
   component and machine drivers.
 * Add Tegra audio graph machine driver.
 * Add required DT support for Jetson-TX1/Nano.

This work is based on earlier discussion of DPCM usage for Tegra
and simple card driver updates.
 * https://lkml.org/lkml/2020/4/30/519
 * https://lkml.org/lkml/2020/6/27/4

Original v6 series was sent about 6-7 weeks back. The dependency commit,
https://lore.kernel.org/alsa-devel/1610948585-16286-1-git-send-email-spujar@nvidia.com/
is now merged. Resending this now to appear in the top of the mail list.

Changelog
=========

v5 -> v6
--------
 * Added ports or port description in YAML docs for Tegra AHUB
   devices and graph card in patch 1/6 and 2/6. Reference of
   audio-graph-port.yaml is used for AHUB devices.
 * Dropped redundant NULL check return for of_device_get_match_data()
   in patch 3/6.
 * Added 'Reviewed-by' tag from Jon Hunter.
 * No changes in remaining patches.

v4 -> v5
--------
 * Audio graph related changes were sent in separate v5 series as
   mentioned above and are dropped from current series.
 * Graph and audio graph doc patches are dropped from this series
   and are sent separately as mentioned above.
 * Minor change with phandle label for TX1 and Nano platform DT files.
 * No changes in other patches.

v3 -> v4
--------
 * Added new patches to convert graph.txt and audio-graph-card.txt
   to corresponding json-schema files. Later these references
   are used in Tegra audio graph schema.

 * AHUB component binding docs are updated to reflect the usage
   of ports/port/endpoint

 * More common stuff is moved into graph_parse_of() and this is
   used by both generic and Tegra audio graph.

 * DT binding for Tegra audio graph is updated to included "ports { }"

 * As per the suggestion 'void *data' member is dropped from
   'asoc_simple_priv' and instead container method is used to
   maintain required custom data internal to Tegra audio graph.

v2 -> v3
--------
 * Dropped new compatible addition in generic graph driver
   after reviewing it with Morimoto-san. Instead added Tegra
   audio graph driver and new compatibles are added in the same.
 * Added new patches to expose new members for customization
   in audio graph driver.
 * Added new patch for Tegra audio graph driver and related
   documentation.
 * Minor change in below commit where mutex version of helper is used
   "ASoC: audio-graph: Identify 'no_pcm' DAI links for DPCM"
 * DT binding is updated to use the newly exposed compatibles
 * No changes in other patches

v1 -> v2
--------
 * Re-organized ports/endpoints description for ADMAIF and XBAR.
   Updated DT patches accordingly.
 * After above change, multiple Codec endpoint support is not
   required and hence dropped for now. This will be considered
   separately if at all required in future.
 * Re-ordered patches in the series.

Sameer Pujar (6):
  ASoC: dt-bindings: tegra: Add graph bindings
  ASoC: dt-bindings: tegra: Add json-schema for Tegra audio graph card
  ASoC: tegra: Add audio graph based card driver
  arm64: defconfig: Enable Tegra audio graph card driver
  arm64: tegra: Audio graph header for Tegra210
  arm64: tegra: Audio graph sound card for Jetson Nano and TX1

 .../sound/nvidia,tegra-audio-graph-card.yaml       | 187 +++++++++++++++
 .../bindings/sound/nvidia,tegra186-dspk.yaml       |  18 +-
 .../bindings/sound/nvidia,tegra210-admaif.yaml     |  13 +-
 .../bindings/sound/nvidia,tegra210-ahub.yaml       |  13 +-
 .../bindings/sound/nvidia,tegra210-dmic.yaml       |  18 +-
 .../bindings/sound/nvidia,tegra210-i2s.yaml        |  18 +-
 .../boot/dts/nvidia/tegra210-audio-graph.dtsi      | 153 ++++++++++++
 arch/arm64/boot/dts/nvidia/tegra210-p2371-2180.dts | 262 +++++++++++++++++++++
 arch/arm64/boot/dts/nvidia/tegra210-p3450-0000.dts | 146 ++++++++++++
 arch/arm64/configs/defconfig                       |   1 +
 sound/soc/tegra/Kconfig                            |   9 +
 sound/soc/tegra/Makefile                           |   2 +
 sound/soc/tegra/tegra_audio_graph_card.c           | 251 ++++++++++++++++++++
 13 files changed, 1085 insertions(+), 6 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra-audio-graph-card.yaml
 create mode 100644 arch/arm64/boot/dts/nvidia/tegra210-audio-graph.dtsi
 create mode 100644 sound/soc/tegra/tegra_audio_graph_card.c

--
2.7.4
2021-01-19 16:20:13 +00:00
..
adi ASoc: adi: Kconfig: Remove depends on for ADI reference designs 2020-11-17 17:08:42 +00:00
amd ASoC: rt1015: remove bclk_ratio 2021-01-05 14:34:18 +00:00
atmel ASoC: atmel-pdc: Use managed DMA buffer allocation 2021-01-13 11:36:15 +00:00
au1x ASoC: au1x: use asoc_substream_to_rtd() 2020-07-23 19:07:36 +01:00
bcm ASoC: bcm: cygnus: Use managed DMA buffer allocation 2021-01-13 11:36:16 +00:00
cirrus ASoC: cirrus: use asoc_substream_to_rtd() 2020-07-23 19:07:28 +01:00
codecs ASoC: cpcap: Implement set_tdm_slot for voice call support 2021-01-19 14:09:24 +00:00
dwc ASoC: dwc: use asoc_substream_to_rtd() 2020-07-23 19:07:34 +01:00
fsl ASoC: fsl_aud2htx: select SND_SOC_IMX_PCM_DMA 2021-01-04 14:25:00 +00:00
generic ASoC: Fix 7/8 spaces indentation in Kconfig 2020-11-17 17:08:45 +00:00
hisilicon treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
img ASoC: img-parallel-out: Fix a reference count leak 2020-06-15 20:58:35 +01:00
intel ASoC: intel: skl: Simplify with dma_set_mask_and_coherent() 2021-01-19 14:06:10 +00:00
jz4740 Merge remote-tracking branch 'asoc/for-5.11' into asoc-next 2020-12-11 17:48:04 +00:00
kirkwood ASoC: kirkwood: Use managed DMA buffer allocation 2021-01-13 11:36:16 +00:00
mediatek ASoC: rt1015: remove bclk_ratio 2021-01-05 14:34:18 +00:00
meson ASoC: meson: Use managed DMA buffer allocation 2020-12-28 12:24:46 +00:00
mxs ASoC: mxs: use asoc_substream_to_rtd() 2020-07-23 19:07:43 +01:00
pxa ASoC: mmp-sspa: set phase two word length register 2020-11-20 13:49:08 +00:00
qcom Merge series "ASoC: qcom: Minor code cleanups for lpass-cpu" from Stephen Boyd <swboyd@chromium.org>: 2021-01-15 17:13:12 +00:00
rockchip ASoC: rockchip: mark OF related data as maybe unused 2020-11-26 13:07:07 +00:00
samsung ASoC: samsung: smdk_wm8994: remove redundant of_match_ptr() 2020-11-26 13:07:33 +00:00
sh ASoC: rsnd: don't call clk_disable_unprepare() if can't use 2020-12-17 14:24:42 +00:00
sirf
sof ASoC: SOF: intel: Simplify with dma_set_mask_and_coherent() 2021-01-19 14:06:11 +00:00
spear ASoC: spear: merge .digital_mute() into .mute_stream() 2020-07-16 23:06:08 +01:00
sprd ASoC: sprd: Switch to use list_entry_is_head() helper 2020-12-28 12:24:45 +00:00
sti ASoC: sti: uniperif: fix 'defined by not used' warning 2020-07-10 15:13:44 +01:00
stm Staging / IIO driver patches for 5.11-rc1 2020-12-15 14:18:40 -08:00
sunxi ASoC: sunxi: do not select COMMON_CLK to fix builds 2020-11-19 13:00:01 +00:00
tegra Merge series "Tegra210 audio graph card" from Sameer Pujar <spujar@nvidia.com>: 2021-01-19 16:20:13 +00:00
ti ASoC: Updates for v5.11 2020-12-14 15:57:14 +01:00
uniphier ASoC: uniphier: mark OF related data as maybe unused 2020-11-26 13:07:09 +00:00
ux500 ASoC: ux500: use asoc_substream_to_rtd() 2020-07-23 19:07:20 +01:00
xilinx sound: remove duplicate "the the" phrase in Kconfig text 2020-08-18 14:52:43 +01:00
xtensa ASoC: xtensa: use asoc_substream_to_rtd() 2020-07-23 19:07:42 +01:00
zte treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
Kconfig ASoC: txx9: Remove driver 2021-01-06 13:08:00 +00:00
Makefile ASoC: txx9: Remove driver 2021-01-06 13:08:00 +00:00
soc-ac97.c ASoC: soc-ac97: fix kernel-doc 2020-07-03 17:33:46 +01:00
soc-acpi.c
soc-card.c
soc-component.c ASoC: soc-pcm: care trigger rollback 2020-12-09 12:13:38 +00:00
soc-compress.c ASoC: soc-compress: add soc_compr_clean() and call it from soc_compr_open/free() 2020-11-26 13:09:37 +00:00
soc-core.c Auxiliary Bus support tag for 5.11-rc1 2020-12-04 20:39:45 +00:00
soc-dai.c ASoC: soc-pcm: care trigger rollback 2020-12-09 12:13:38 +00:00
soc-dapm.c ASoC: dapm: remove widget from dirty list on free 2020-12-15 13:29:01 +00:00
soc-devres.c ASoC: core: Remove only the registered component in devm functions 2020-07-07 11:55:46 +01:00
soc-generic-dmaengine-pcm.c ASoC: dmaengine: Document support for TX only or RX only streams 2020-10-09 15:11:20 +01:00
soc-jack.c
soc-link.c ASoC: soc-pcm: care trigger rollback 2020-12-09 12:13:38 +00:00
soc-ops.c ASoC: soc-component: merge snd_soc_component_read() and snd_soc_component_read32() 2020-06-22 15:13:36 +01:00
soc-pcm.c ASoC: soc-pcm: cleanup soc_pcm_apply_symmetry() 2021-01-13 11:33:12 +00:00
soc-topology.c ASoC: topology: Fix wrong size check 2020-12-11 13:23:01 +00:00
soc-utils.c ASoC: soc-xxx: add asoc_substream_to_rtd() 2020-07-23 19:07:19 +01:00