mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 08:14:15 +08:00
9e28f6532c
MQS (medium quality sound), is used to generate medium quality audio via a standard digital output pin. It can be used to connect stereo speakers or headphones simply via power amplifier stages without an additional DAC chip. It only accepts 2-channel, LSB-valid 16bit, MSB shift-out first, frame sync asserting with the first bit of the frame, data shifted with the posedge of bit clock, 44.1 kHz or 48 kHz signals from SAI1 in left justified format; and it provides the SNR target as no more than 20dB for the signals below 10 kHz. The signals above 10 kHz will have worse THD+N values. MQS provides only simple audio reproduction. No internal pop, click or distortion artifact reduction methods are provided. The MQS receives the audio data from the SAI1 Tx section. Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> Acked-by: Nicolin Chen <nicoleotsuka@gmail.com> Link: https://lore.kernel.org/r/74dfc73a92d2df4213225abe7d2a3db82672fe0f.1568367274.git.shengjiu.wang@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org>
330 lines
9.8 KiB
Plaintext
330 lines
9.8 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
menu "SoC Audio for Freescale CPUs"
|
|
|
|
comment "Common SoC Audio options for Freescale CPUs:"
|
|
|
|
config SND_SOC_FSL_ASRC
|
|
tristate "Asynchronous Sample Rate Converter (ASRC) module support"
|
|
depends on HAS_DMA
|
|
select REGMAP_MMIO
|
|
select SND_SOC_GENERIC_DMAENGINE_PCM
|
|
help
|
|
Say Y if you want to add Asynchronous Sample Rate Converter (ASRC)
|
|
support for the Freescale CPUs.
|
|
This option is only useful for out-of-tree drivers since
|
|
in-tree drivers select it automatically.
|
|
|
|
config SND_SOC_FSL_SAI
|
|
tristate "Synchronous Audio Interface (SAI) module support"
|
|
select REGMAP_MMIO
|
|
select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
|
|
select SND_SOC_GENERIC_DMAENGINE_PCM
|
|
help
|
|
Say Y if you want to add Synchronous Audio Interface (SAI)
|
|
support for the Freescale CPUs.
|
|
This option is only useful for out-of-tree drivers since
|
|
in-tree drivers select it automatically.
|
|
|
|
config SND_SOC_FSL_MQS
|
|
tristate "Medium Quality Sound (MQS) module support"
|
|
depends on SND_SOC_FSL_SAI
|
|
select REGMAP_MMIO
|
|
help
|
|
Say Y if you want to add Medium Quality Sound (MQS)
|
|
support for the Freescale CPUs.
|
|
This option is only useful for out-of-tree drivers since
|
|
in-tree drivers select it automatically.
|
|
|
|
config SND_SOC_FSL_AUDMIX
|
|
tristate "Audio Mixer (AUDMIX) module support"
|
|
select REGMAP_MMIO
|
|
help
|
|
Say Y if you want to add Audio Mixer (AUDMIX)
|
|
support for the NXP iMX CPUs.
|
|
|
|
config SND_SOC_FSL_SSI
|
|
tristate "Synchronous Serial Interface module (SSI) support"
|
|
select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
|
|
select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_TZIC || MXC_AVIC)
|
|
select REGMAP_MMIO
|
|
help
|
|
Say Y if you want to add Synchronous Serial Interface (SSI)
|
|
support for the Freescale CPUs.
|
|
This option is only useful for out-of-tree drivers since
|
|
in-tree drivers select it automatically.
|
|
|
|
config SND_SOC_FSL_SPDIF
|
|
tristate "Sony/Philips Digital Interface (S/PDIF) module support"
|
|
select REGMAP_MMIO
|
|
select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
|
|
select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && (MXC_TZIC || MXC_AVIC)
|
|
select BITREVERSE
|
|
help
|
|
Say Y if you want to add Sony/Philips Digital Interface (SPDIF)
|
|
support for the Freescale CPUs.
|
|
This option is only useful for out-of-tree drivers since
|
|
in-tree drivers select it automatically.
|
|
|
|
config SND_SOC_FSL_ESAI
|
|
tristate "Enhanced Serial Audio Interface (ESAI) module support"
|
|
select REGMAP_MMIO
|
|
select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
|
|
help
|
|
Say Y if you want to add Enhanced Synchronous Audio Interface
|
|
(ESAI) support for the Freescale CPUs.
|
|
This option is only useful for out-of-tree drivers since
|
|
in-tree drivers select it automatically.
|
|
|
|
config SND_SOC_FSL_MICFIL
|
|
tristate "Pulse Density Modulation Microphone Interface (MICFIL) module support"
|
|
select REGMAP_MMIO
|
|
select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n
|
|
select SND_SOC_GENERIC_DMAENGINE_PCM
|
|
help
|
|
Say Y if you want to add Pulse Density Modulation microphone
|
|
interface (MICFIL) support for NXP.
|
|
|
|
config SND_SOC_FSL_UTILS
|
|
tristate
|
|
|
|
config SND_SOC_IMX_PCM_DMA
|
|
tristate
|
|
select SND_SOC_GENERIC_DMAENGINE_PCM
|
|
|
|
config SND_SOC_IMX_AUDMUX
|
|
tristate "Digital Audio Mux module support"
|
|
help
|
|
Say Y if you want to add Digital Audio Mux (AUDMUX) support
|
|
for the ARM i.MX CPUs.
|
|
This option is only useful for out-of-tree drivers since
|
|
in-tree drivers select it automatically.
|
|
|
|
config SND_POWERPC_SOC
|
|
tristate "SoC Audio for Freescale PowerPC CPUs"
|
|
depends on FSL_SOC || PPC_MPC52xx
|
|
help
|
|
Say Y or M if you want to add support for codecs attached to
|
|
the PowerPC CPUs.
|
|
|
|
config SND_IMX_SOC
|
|
tristate "SoC Audio for Freescale i.MX CPUs"
|
|
depends on ARCH_MXC || COMPILE_TEST
|
|
help
|
|
Say Y or M if you want to add support for codecs attached to
|
|
the i.MX CPUs.
|
|
|
|
if SND_POWERPC_SOC
|
|
|
|
config SND_MPC52xx_DMA
|
|
tristate
|
|
|
|
config SND_SOC_POWERPC_DMA
|
|
tristate
|
|
|
|
comment "SoC Audio support for Freescale PPC boards:"
|
|
|
|
config SND_SOC_MPC8610_HPCD
|
|
tristate "ALSA SoC support for the Freescale MPC8610 HPCD board"
|
|
# I2C is necessary for the CS4270 driver
|
|
depends on MPC8610_HPCD && I2C
|
|
select SND_SOC_FSL_SSI
|
|
select SND_SOC_FSL_UTILS
|
|
select SND_SOC_POWERPC_DMA
|
|
select SND_SOC_CS4270
|
|
select SND_SOC_CS4270_VD33_ERRATA
|
|
default y if MPC8610_HPCD
|
|
help
|
|
Say Y if you want to enable audio on the Freescale MPC8610 HPCD.
|
|
|
|
config SND_SOC_P1022_DS
|
|
tristate "ALSA SoC support for the Freescale P1022 DS board"
|
|
# I2C is necessary for the WM8776 driver
|
|
depends on P1022_DS && I2C
|
|
select SND_SOC_FSL_SSI
|
|
select SND_SOC_FSL_UTILS
|
|
select SND_SOC_POWERPC_DMA
|
|
select SND_SOC_WM8776
|
|
default y if P1022_DS
|
|
help
|
|
Say Y if you want to enable audio on the Freescale P1022 DS board.
|
|
This will also include the Wolfson Microelectronics WM8776 codec
|
|
driver.
|
|
|
|
config SND_SOC_P1022_RDK
|
|
tristate "ALSA SoC support for the Freescale / iVeia P1022 RDK board"
|
|
# I2C is necessary for the WM8960 driver
|
|
depends on P1022_RDK && I2C
|
|
select SND_SOC_FSL_SSI
|
|
select SND_SOC_FSL_UTILS
|
|
select SND_SOC_POWERPC_DMA
|
|
select SND_SOC_WM8960
|
|
default y if P1022_RDK
|
|
help
|
|
Say Y if you want to enable audio on the Freescale / iVeia
|
|
P1022 RDK board. This will also include the Wolfson
|
|
Microelectronics WM8960 codec driver.
|
|
|
|
config SND_SOC_MPC5200_I2S
|
|
tristate "Freescale MPC5200 PSC in I2S mode driver"
|
|
depends on PPC_MPC52xx && PPC_BESTCOMM
|
|
select SND_MPC52xx_DMA
|
|
select PPC_BESTCOMM_GEN_BD
|
|
help
|
|
Say Y here to support the MPC5200 PSCs in I2S mode.
|
|
|
|
config SND_SOC_MPC5200_AC97
|
|
tristate "Freescale MPC5200 PSC in AC97 mode driver"
|
|
depends on PPC_MPC52xx && PPC_BESTCOMM
|
|
select SND_SOC_AC97_BUS
|
|
select SND_MPC52xx_DMA
|
|
select PPC_BESTCOMM_GEN_BD
|
|
help
|
|
Say Y here to support the MPC5200 PSCs in AC97 mode.
|
|
|
|
config SND_MPC52xx_SOC_PCM030
|
|
tristate "SoC AC97 Audio support for Phytec pcm030 and WM9712"
|
|
depends on PPC_MPC5200_SIMPLE
|
|
select SND_SOC_MPC5200_AC97
|
|
select SND_SOC_WM9712
|
|
help
|
|
Say Y if you want to add support for sound on the Phytec pcm030
|
|
baseboard.
|
|
|
|
config SND_MPC52xx_SOC_EFIKA
|
|
tristate "SoC AC97 Audio support for bbplan Efika and STAC9766"
|
|
depends on PPC_EFIKA
|
|
select SND_SOC_MPC5200_AC97
|
|
select SND_SOC_STAC9766
|
|
help
|
|
Say Y if you want to add support for sound on the Efika.
|
|
|
|
endif # SND_POWERPC_SOC
|
|
|
|
config SND_SOC_IMX_PCM_FIQ
|
|
tristate
|
|
default y if SND_SOC_IMX_SSI=y && (SND_SOC_FSL_SSI=m || SND_SOC_FSL_SPDIF=m) && (MXC_TZIC || MXC_AVIC)
|
|
select FIQ
|
|
|
|
if SND_IMX_SOC
|
|
|
|
config SND_SOC_IMX_SSI
|
|
tristate
|
|
select SND_SOC_FSL_UTILS
|
|
|
|
comment "SoC Audio support for Freescale i.MX boards:"
|
|
|
|
config SND_MXC_SOC_WM1133_EV1
|
|
tristate "Audio on the i.MX31ADS with WM1133-EV1 fitted"
|
|
depends on MACH_MX31ADS_WM1133_EV1
|
|
select SND_SOC_WM8350
|
|
select SND_SOC_IMX_PCM_FIQ
|
|
select SND_SOC_IMX_AUDMUX
|
|
select SND_SOC_IMX_SSI
|
|
help
|
|
Enable support for audio on the i.MX31ADS with the WM1133-EV1
|
|
PMIC board with WM8835x fitted.
|
|
|
|
config SND_SOC_MX27VIS_AIC32X4
|
|
tristate "SoC audio support for Visstrim M10 boards"
|
|
depends on MACH_IMX27_VISSTRIM_M10 && I2C
|
|
select SND_SOC_TLV320AIC32X4
|
|
select SND_SOC_IMX_PCM_DMA
|
|
select SND_SOC_IMX_AUDMUX
|
|
select SND_SOC_IMX_SSI
|
|
help
|
|
Say Y if you want to add support for SoC audio on Visstrim SM10
|
|
board with TLV320AIC32X4 codec.
|
|
|
|
config SND_SOC_PHYCORE_AC97
|
|
tristate "SoC Audio support for Phytec phyCORE (and phyCARD) boards"
|
|
depends on MACH_PCM043 || MACH_PCA100
|
|
select SND_SOC_AC97_BUS
|
|
select SND_SOC_WM9712
|
|
select SND_SOC_IMX_PCM_FIQ
|
|
select SND_SOC_IMX_AUDMUX
|
|
select SND_SOC_IMX_SSI
|
|
help
|
|
Say Y if you want to add support for SoC audio on Phytec phyCORE
|
|
and phyCARD boards in AC97 mode
|
|
|
|
config SND_SOC_EUKREA_TLV320
|
|
tristate "Eukrea TLV320"
|
|
depends on ARCH_MXC && !ARM64 && I2C
|
|
select SND_SOC_TLV320AIC23_I2C
|
|
select SND_SOC_IMX_AUDMUX
|
|
select SND_SOC_IMX_SSI
|
|
select SND_SOC_FSL_SSI
|
|
select SND_SOC_IMX_PCM_DMA
|
|
help
|
|
Enable I2S based access to the TLV320AIC23B codec attached
|
|
to the SSI interface
|
|
|
|
config SND_SOC_IMX_ES8328
|
|
tristate "SoC Audio support for i.MX boards with the ES8328 codec"
|
|
depends on OF && (I2C || SPI)
|
|
select SND_SOC_ES8328_I2C if I2C
|
|
select SND_SOC_ES8328_SPI if SPI_MASTER
|
|
select SND_SOC_IMX_PCM_DMA
|
|
select SND_SOC_IMX_AUDMUX
|
|
select SND_SOC_FSL_SSI
|
|
help
|
|
Say Y if you want to add support for the ES8328 audio codec connected
|
|
via SSI/I2S over either SPI or I2C.
|
|
|
|
config SND_SOC_IMX_SGTL5000
|
|
tristate "SoC Audio support for i.MX boards with sgtl5000"
|
|
depends on OF && I2C
|
|
select SND_SOC_SGTL5000
|
|
select SND_SOC_IMX_PCM_DMA
|
|
select SND_SOC_IMX_AUDMUX
|
|
select SND_SOC_FSL_SSI
|
|
help
|
|
Say Y if you want to add support for SoC audio on an i.MX board with
|
|
a sgtl5000 codec.
|
|
|
|
config SND_SOC_IMX_SPDIF
|
|
tristate "SoC Audio support for i.MX boards with S/PDIF"
|
|
select SND_SOC_IMX_PCM_DMA
|
|
select SND_SOC_FSL_SPDIF
|
|
help
|
|
SoC Audio support for i.MX boards with S/PDIF
|
|
Say Y if you want to add support for SoC audio on an i.MX board with
|
|
a S/DPDIF.
|
|
|
|
config SND_SOC_IMX_MC13783
|
|
tristate "SoC Audio support for I.MX boards with mc13783"
|
|
depends on MFD_MC13XXX && ARM
|
|
select SND_SOC_IMX_SSI
|
|
select SND_SOC_IMX_AUDMUX
|
|
select SND_SOC_MC13783
|
|
select SND_SOC_IMX_PCM_DMA
|
|
|
|
config SND_SOC_FSL_ASOC_CARD
|
|
tristate "Generic ASoC Sound Card with ASRC support"
|
|
depends on OF && I2C
|
|
# enforce SND_SOC_FSL_ASOC_CARD=m if SND_AC97_CODEC=m:
|
|
depends on SND_AC97_CODEC || SND_AC97_CODEC=n
|
|
select SND_SOC_IMX_AUDMUX
|
|
select SND_SOC_IMX_PCM_DMA
|
|
select SND_SOC_FSL_ESAI
|
|
select SND_SOC_FSL_SAI
|
|
select SND_SOC_FSL_SSI
|
|
help
|
|
ALSA SoC Audio support with ASRC feature for Freescale SoCs that have
|
|
ESAI/SAI/SSI and connect with external CODECs such as WM8962, CS42888,
|
|
CS4271, CS4272 and SGTL5000.
|
|
Say Y if you want to add support for Freescale Generic ASoC Sound Card.
|
|
|
|
config SND_SOC_IMX_AUDMIX
|
|
tristate "SoC Audio support for i.MX boards with AUDMIX"
|
|
select SND_SOC_FSL_AUDMIX
|
|
select SND_SOC_FSL_SAI
|
|
help
|
|
SoC Audio support for i.MX boards with Audio Mixer
|
|
Say Y if you want to add support for SoC audio on an i.MX board with
|
|
an Audio Mixer.
|
|
|
|
endif # SND_IMX_SOC
|
|
|
|
endmenu
|