linux/sound/soc/ti
Peter Ujfalusi 6748d05590
ASoC: ti: Add custom machine driver for j721e EVM (CPB and IVI)
The audio support on the board is using pcm3168a codec connected to McASP10
serializers in parallel setup.
The pcm3168a SCKI clock is coming via the j721e AUDIO_REFCLK2 pin.
In order to support 48KHz and 44.1KHz family of sampling rates the parent clock
for AUDIO_REFCLK2 needs to be changed between PLL4 (for 48KHz) and PLL15 (for
44.1KHz). The same PLLs are used for McASP10's AUXCLK clock via different
HSDIVIDER.

Generic card can not be used for the board as we need to switch between
clock paths for different sampling rate families and also need to change
the slot_width between 16 and 24 bit audio.

The audio support on the Infotainment Expansion Board consists of McASP0
connected to two pcm3168a codecs with dedicated set of serializers to each.
The SCKI for pcm3168a is sourced from j721e AUDIO_REFCLK0 pin.
It is extending the audio support on the CPB.

Due to the fact that the same PLL4/15 is used by both domains (CPB/IVI)
there are cross restriction on sampling rates.

The IVI side is represented as multicodec setup.

PCMs available on a plain CPB (no IVI addon):
hw:0,0 - cpb playback (8 channels)
hw:0,1 - cpb capture (6 channels)

When the IVI addon is present, additional two PCMs will be present:
hw:0,2 - ivi multicodec playback (16 channels)
hw:0,3 - ivi multicodec capture (12 channels)

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Link: https://lore.kernel.org/r/20200630125843.11561-4-peter.ujfalusi@ti.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2020-07-01 15:13:46 +01:00
..
ams-delta.c ASoC: ti: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:52 +00:00
davinci-evm.c ASoC: ti: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:52 +00:00
davinci-i2s.c Merge branch 'asoc-5.4' into asoc-next 2019-09-09 14:55:20 +01:00
davinci-i2s.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
davinci-mcasp.c ASoC: ti: davinci-mcasp: Specify stream_name for playback/capture 2020-07-01 15:13:44 +01:00
davinci-mcasp.h ASoC: ti: davinci-mcasp: Improve the sysclk selection 2019-12-09 18:35:37 +00:00
davinci-vcif.c ASoC: ti: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:52 +00:00
edma-pcm.c ASoC: ti: edma-pcm: Fix for legacy dma_slave_map based channel lookup 2019-08-30 12:22:46 +01:00
edma-pcm.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
j721e-evm.c ASoC: ti: Add custom machine driver for j721e EVM (CPB and IVI) 2020-07-01 15:13:46 +01:00
Kconfig ASoC: ti: Add custom machine driver for j721e EVM (CPB and IVI) 2020-07-01 15:13:46 +01:00
Makefile ASoC: ti: Add custom machine driver for j721e EVM (CPB and IVI) 2020-07-01 15:13:46 +01:00
n810.c ASoC: ti: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:52 +00:00
omap3pandora.c ASoC: ti: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:52 +00:00
omap-abe-twl6040.c ASoC: ti: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:52 +00:00
omap-dmic.c ASoC: ti: use snd_soc_xxx_active() 2020-05-18 16:15:13 +01:00
omap-dmic.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
omap-hdmi.c ASoC: ti: omap-hdmi: consider CPU-Platform possibility 2019-06-28 15:19:15 +01:00
omap-mcbsp-priv.h
omap-mcbsp-st.c ASoC: ti: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:52 +00:00
omap-mcbsp.c ASoC: ti: Fix runtime PM imbalance in omap2_mcbsp_set_clks_src 2020-05-26 17:20:22 +01:00
omap-mcbsp.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 2019-06-05 17:37:07 +02:00
omap-mcpdm.c ASoC: ti: use snd_soc_xxx_active() 2020-05-18 16:15:13 +01:00
omap-mcpdm.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 2019-06-05 17:37:07 +02:00
omap-twl4030.c ASoC: ti: omap-twl4030: consider CPU-Platform possibility 2019-06-28 15:19:35 +01:00
osk5912.c ASoC: ti: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:52 +00:00
rx51.c ASoC: ti: use asoc_rtd_to_cpu() / asoc_rtd_to_codec() macro for DAI pointer 2020-03-27 14:44:52 +00:00
sdma-pcm.c ASoC: ti: sdma-pcm: Add back the flags parameter for non standard dma names 2019-10-28 13:11:01 +00:00
sdma-pcm.h
udma-pcm.c ASoC: ti: Add udma-pcm platform driver for UDMA 2020-02-11 11:47:55 +00:00
udma-pcm.h ASoC: ti: Add udma-pcm platform driver for UDMA 2020-02-11 11:47:55 +00:00