linux/sound/soc
Sameer Pujar 202e2f7745
ASoC: tegra: Add audio graph based card driver
Add Tegra audio machine driver which is based on generic audio graph card
driver. It re-uses most of the common stuff from audio graph driver and
uses the same DT binding. Required Tegra specific customizations are done
in the driver and additional DT bindings are required for clock handling.

Details on the customizations done:

 - Update PLL rates at runtime: Tegra HW supports multiple sample rates
   (multiples of 8x and 11.025x) and both of these groups require different
   PLL rates. Hence there is a requirement to update this at runtime.
   This is achieved by providing a custom 'snd_soc_ops' and in hw_param()
   callback PLL rate is updated as per the sample rate.

 - Internal structure 'tegra_audio_graph_data' is used to maintain clock
   handles of PLL.

 - The 'force_dpcm' flag is set to use DPCM for all DAI links.

 - The 'component_chaining' flag is set to use DPCM with component model.

Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Link: https://lore.kernel.org/r/1611048496-24650-4-git-send-email-spujar@nvidia.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2021-01-19 14:09:21 +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: codecs: soundwire: increase resume timeout 2021-01-15 14:15:29 +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 Merge series "ASoC: Intel: bytcr_rt5640: Add support for devices with only a headphone jack (no speakers/mic)" from Hans de Goede <hdegoede@redhat.com>: 2021-01-12 16:40:28 +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: initial support to AlderLake-P 2021-01-18 14:02:51 +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 ASoC: tegra: Add audio graph based card driver 2021-01-19 14:09:21 +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