mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
6748d05590
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>
232 lines
7.5 KiB
Plaintext
232 lines
7.5 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
menu "Audio support for Texas Instruments SoCs"
|
|
depends on DMA_OMAP || TI_EDMA || TI_K3_UDMA || COMPILE_TEST
|
|
|
|
config SND_SOC_TI_EDMA_PCM
|
|
tristate
|
|
select SND_SOC_GENERIC_DMAENGINE_PCM
|
|
|
|
config SND_SOC_TI_SDMA_PCM
|
|
tristate
|
|
select SND_SOC_GENERIC_DMAENGINE_PCM
|
|
|
|
config SND_SOC_TI_UDMA_PCM
|
|
tristate
|
|
select SND_SOC_GENERIC_DMAENGINE_PCM
|
|
|
|
comment "Texas Instruments DAI support for:"
|
|
config SND_SOC_DAVINCI_ASP
|
|
tristate "daVinci Audio Serial Port (ASP) or McBSP support"
|
|
depends on ARCH_DAVINCI || COMPILE_TEST
|
|
select SND_SOC_TI_EDMA_PCM
|
|
help
|
|
Say Y or M here if you want audio support via daVinci ASP or McBSP.
|
|
The driver only implements the ASP support which is a subset of
|
|
daVinci McBSP (w/o the multichannel support).
|
|
|
|
config SND_SOC_DAVINCI_MCASP
|
|
tristate "Multichannel Audio Serial Port (McASP) support"
|
|
select SND_SOC_TI_EDMA_PCM
|
|
select SND_SOC_TI_SDMA_PCM
|
|
select SND_SOC_TI_UDMA_PCM
|
|
help
|
|
Say Y or M here if you want to have support for McASP IP found in
|
|
various Texas Instruments SoCs like:
|
|
- daVinci devices
|
|
- Sitara line of SoCs (AM335x, AM438x, etc)
|
|
- DRA7x devices
|
|
- Keystone devices
|
|
- K3 devices (am654, j721e)
|
|
|
|
config SND_SOC_DAVINCI_VCIF
|
|
tristate "daVinci Voice Interface (VCIF) support"
|
|
depends on ARCH_DAVINCI || COMPILE_TEST
|
|
select SND_SOC_TI_EDMA_PCM
|
|
help
|
|
Say Y or M here if you want audio support via daVinci VCIF.
|
|
|
|
config SND_SOC_OMAP_DMIC
|
|
tristate "Digital Microphone Module (DMIC) support"
|
|
depends on ARCH_OMAP4 || SOC_OMAP5 || COMPILE_TEST
|
|
select SND_SOC_TI_SDMA_PCM
|
|
help
|
|
Say Y or M here if you want to have support for DMIC IP found in
|
|
OMAP4 and OMAP5.
|
|
|
|
config SND_SOC_OMAP_MCBSP
|
|
tristate "Multichannel Buffered Serial Port (McBSP) support"
|
|
depends on ARCH_OMAP || ARCH_OMAP1 || COMPILE_TEST
|
|
select SND_SOC_TI_SDMA_PCM
|
|
help
|
|
Say Y or M here if you want to have support for McBSP IP found in
|
|
Texas Instruments OMAP1/2/3/4/5 SoCs.
|
|
|
|
config SND_SOC_OMAP_MCPDM
|
|
tristate "Multichannel PDM Controller (McPDM) support"
|
|
depends on ARCH_OMAP4 || SOC_OMAP5 || COMPILE_TEST
|
|
select SND_SOC_TI_SDMA_PCM
|
|
help
|
|
Say Y or M here if you want to have support for McPDM IP found in
|
|
OMAP4 and OMAP5.
|
|
|
|
comment "Audio support for boards with Texas Instruments SoCs"
|
|
config SND_SOC_NOKIA_N810
|
|
tristate "SoC Audio support for Nokia N810"
|
|
depends on MACH_NOKIA_N810 && I2C
|
|
select SND_SOC_OMAP_MCBSP
|
|
select SND_SOC_TLV320AIC3X
|
|
help
|
|
Say Y or M if you want to add support for SoC audio on Nokia N810.
|
|
|
|
config SND_SOC_NOKIA_RX51
|
|
tristate "SoC Audio support for Nokia RX-51"
|
|
depends on ARCH_OMAP3 && I2C && GPIOLIB
|
|
select SND_SOC_OMAP_MCBSP
|
|
select SND_SOC_TLV320AIC3X
|
|
select SND_SOC_TPA6130A2
|
|
help
|
|
Say Y or M if you want to add support for SoC audio on Nokia RX-51
|
|
hardware. This is also known as Nokia N900 product.
|
|
|
|
config SND_SOC_OMAP3_PANDORA
|
|
tristate "SoC Audio support for OMAP3 Pandora"
|
|
depends on ARCH_OMAP3
|
|
depends on TWL4030_CORE
|
|
select SND_SOC_OMAP_MCBSP
|
|
select SND_SOC_TWL4030
|
|
help
|
|
Say Y or M if you want to add support for SoC audio on the OMAP3 Pandora.
|
|
|
|
config SND_SOC_OMAP3_TWL4030
|
|
tristate "SoC Audio support for OMAP3 based boards with twl4030 codec"
|
|
depends on ARCH_OMAP3 || COMPILE_TEST
|
|
depends on TWL4030_CORE
|
|
select SND_SOC_OMAP_MCBSP
|
|
select SND_SOC_TWL4030
|
|
help
|
|
Say Y or M if you want to add support for SoC audio on OMAP3 based
|
|
boards using twl4030 as codec. This driver currently supports:
|
|
- Beagleboard or Devkit8000
|
|
- Gumstix Overo or CompuLab CM-T35/CM-T3730
|
|
- IGEP v2
|
|
- OMAP3EVM
|
|
- SDP3430
|
|
- Zoom2
|
|
|
|
config SND_SOC_OMAP_ABE_TWL6040
|
|
tristate "SoC Audio support for OMAP boards using ABE and twl6040 codec"
|
|
depends on TWL6040_CORE && COMMON_CLK
|
|
depends on ARCH_OMAP4 || (SOC_OMAP5 && MFD_PALMAS) || COMPILE_TEST
|
|
select SND_SOC_OMAP_DMIC
|
|
select SND_SOC_OMAP_MCPDM
|
|
select SND_SOC_TWL6040
|
|
help
|
|
Say Y or M if you want to add support for SoC audio on OMAP boards
|
|
using ABE and twl6040 codec. This driver currently supports:
|
|
- SDP4430/Blaze boards
|
|
- PandaBoard (4430)
|
|
- PandaBoardES (4460)
|
|
- OMAP5 uEVM
|
|
|
|
config SND_SOC_OMAP_AMS_DELTA
|
|
tristate "SoC Audio support for Amstrad E3 (Delta) videophone"
|
|
depends on MACH_AMS_DELTA && TTY
|
|
select SND_SOC_OMAP_MCBSP
|
|
select SND_SOC_CX20442
|
|
help
|
|
Say Y or M if you want to add support for SoC audio device
|
|
connected to a handset and a speakerphone found on Amstrad E3 (Delta)
|
|
videophone.
|
|
|
|
Note that in order to get those devices fully supported, you have to
|
|
build the kernel with standard serial port driver included and
|
|
configured for at least 4 ports. Then, from userspace, you must load
|
|
a line discipline #19 on the modem (ttyS3) serial line. The simplest
|
|
way to achieve this is to install util-linux-ng and use the included
|
|
ldattach utility. This can be started automatically from udev,
|
|
a simple rule like this one should do the trick (it does for me):
|
|
ACTION=="add", KERNEL=="controlC0", \
|
|
RUN+="/usr/sbin/ldattach 19 /dev/ttyS3"
|
|
|
|
config SND_SOC_OMAP_HDMI
|
|
tristate "OMAP4/5 HDMI audio support"
|
|
depends on OMAP4_DSS_HDMI || OMAP5_DSS_HDMI || COMPILE_TEST
|
|
select SND_SOC_TI_SDMA_PCM
|
|
help
|
|
For HDMI audio to work OMAPDSS HDMI support should be
|
|
enabled.
|
|
The hdmi audio driver implements cpu-dai component using the
|
|
callbacks provided by OMAPDSS and registers the component
|
|
under DSS HDMI device. Omap-pcm is registered for platform
|
|
component also under DSS HDMI device. Dummy codec is used as
|
|
as codec component. The hdmi audio driver implements also
|
|
the card and registers it under its own platform device.
|
|
The device for the driver is registered by OMAPDSS hdmi
|
|
driver.
|
|
|
|
config SND_SOC_OMAP_OSK5912
|
|
tristate "SoC Audio support for omap osk5912"
|
|
depends on MACH_OMAP_OSK && I2C
|
|
select SND_SOC_OMAP_MCBSP
|
|
select SND_SOC_TLV320AIC23_I2C
|
|
help
|
|
Say Y or M if you want to add support for SoC audio on osk5912.
|
|
|
|
config SND_SOC_DAVINCI_EVM
|
|
tristate "SoC Audio support for DaVinci EVMs"
|
|
depends on ARCH_DAVINCI && I2C
|
|
select SND_SOC_DAVINCI_ASP if MACH_DAVINCI_DM355_EVM
|
|
select SND_SOC_DAVINCI_ASP if SND_SOC_DM365_AIC3X_CODEC
|
|
select SND_SOC_DAVINCI_VCIF if SND_SOC_DM365_VOICE_CODEC
|
|
select SND_SOC_DAVINCI_ASP if MACH_DAVINCI_EVM # DM6446
|
|
select SND_SOC_DAVINCI_MCASP if MACH_DAVINCI_DM6467_EVM
|
|
select SND_SOC_SPDIF if MACH_DAVINCI_DM6467_EVM
|
|
select SND_SOC_DAVINCI_MCASP if MACH_DAVINCI_DA830_EVM
|
|
select SND_SOC_DAVINCI_MCASP if MACH_DAVINCI_DA850_EVM
|
|
select SND_SOC_TLV320AIC3X
|
|
help
|
|
Say Y if you want to add support for SoC audio on the following TI
|
|
DaVinci EVM platforms:
|
|
- DM355
|
|
- DM365
|
|
- DM6446
|
|
- DM6447
|
|
- DM830
|
|
- DM850
|
|
|
|
choice
|
|
prompt "DM365 codec select"
|
|
depends on SND_SOC_DAVINCI_EVM
|
|
depends on MACH_DAVINCI_DM365_EVM
|
|
|
|
config SND_SOC_DM365_AIC3X_CODEC
|
|
bool "Audio Codec - AIC3101"
|
|
help
|
|
Say Y if you want to add support for AIC3101 audio codec
|
|
|
|
config SND_SOC_DM365_VOICE_CODEC
|
|
bool "Voice Codec - CQ93VC"
|
|
help
|
|
Say Y if you want to add support for SoC On-chip voice codec
|
|
endchoice
|
|
|
|
config SND_SOC_DM365_VOICE_CODEC_MODULE
|
|
def_tristate y
|
|
depends on SND_SOC_DM365_VOICE_CODEC && SND_SOC
|
|
select MFD_DAVINCI_VOICECODEC
|
|
select SND_SOC_CQ0093VC
|
|
help
|
|
The is an internal symbol needed to ensure that the codec
|
|
and MFD driver can be built as loadable modules if necessary.
|
|
|
|
config SND_SOC_J721E_EVM
|
|
tristate "SoC Audio support for j721e EVM"
|
|
depends on ARCH_K3_J721E_SOC || COMPILE_TEST
|
|
select SND_SOC_PCM3168A_I2C
|
|
select SND_SOC_DAVINCI_MCASP
|
|
help
|
|
Say Y if you want to add support for SoC audio on j721e Common
|
|
Processor Board and Infotainment expansion board.
|
|
endmenu
|
|
|