diff options
author | Lucas Tanure <tanureal@opensource.cirrus.com> | 2020-09-28 12:18:21 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2020-09-28 17:59:06 +0100 |
commit | d4edae9c508c845d92bd59c60c4089c3addad6a8 (patch) | |
tree | 8fea15db469b295fd14474640e70d7f380fee3e7 /sound/soc/codecs/Kconfig | |
parent | 5ebba5e7d71c965763f722e68cc60b8a4aa9cb31 (diff) | |
download | kernel_replicant_linux-d4edae9c508c845d92bd59c60c4089c3addad6a8.tar.gz kernel_replicant_linux-d4edae9c508c845d92bd59c60c4089c3addad6a8.tar.bz2 kernel_replicant_linux-d4edae9c508c845d92bd59c60c4089c3addad6a8.zip |
ASoC: cs4234: Add support for Cirrus Logic CS4234 codec
The CS4234 is a highly versatile CODEC that combines 4 channels of
high performance analog to digital conversion, 4 channels of high
performance digital to analog conversion for audio, and 1 channel of
digital to analog conversion to provide a nondelayed audio reference
signal to an external Class H tracking power supply.
DAC5 is only supported as a 5th audio channel. Tracking Power Supply
mode is not currently supported by the driver.
In DSP_A mode the slots for DAC1-4 and optionally DAC5 can be set.
The codec always claims 4 slots for DAC1-4 and these must be in the
same nibble of the mask. The codec has a fixed mapping for ADC slots.
In I2S/LJ modes the codec has a fixed mapping for DAC1-4 and ADC1-4.
DAC5 is not available in these modes.
The MCLK source must be preset to a valid frequency before probe()
because it must be running all the time the codec is out of reset.
The VA_SEL bit will be set automatically to 3.3v or 5v during probe()
based on the reported voltage of the regulator supplying VA.
Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20200928111821.26967-2-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/codecs/Kconfig')
-rw-r--r-- | sound/soc/codecs/Kconfig | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig index af3b93cdb6c9..a62e0fb467d9 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig @@ -64,6 +64,7 @@ config SND_SOC_ALL_CODECS imply SND_SOC_CS42L52 imply SND_SOC_CS42L56 imply SND_SOC_CS42L73 + imply SND_SOC_CS4234 imply SND_SOC_CS4265 imply SND_SOC_CS4270 imply SND_SOC_CS4271_I2C @@ -592,6 +593,11 @@ config SND_SOC_CS42L73 tristate "Cirrus Logic CS42L73 CODEC" depends on I2C +config SND_SOC_CS4234 + tristate "Cirrus Logic CS4234 CODEC" + depends on I2C + select REGMAP_I2C + config SND_SOC_CS4265 tristate "Cirrus Logic CS4265 CODEC" depends on I2C |