mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 01:49:46 +00:00
ASoC: Add support for Rpi-DAC ASoC: Add prompt for ICS43432 codec Without a prompt string, a config setting can't be included in a defconfig. Give CONFIG_SND_SOC_ICS43432 a prompt so that Pi soundcards can use the driver. Signed-off-by: Phil Elwell <phil@raspberrypi.org> Add IQaudIO Sound Card support for Raspberry Pi Set a limit of 0dB on Digital Volume Control The main volume control in the PCM512x DAC has a range up to +24dB. This is dangerously loud and can potentially cause massive clipping in the output stages. Therefore this sets a sensible limit of 0dB for this control. Allow up to 24dB digital gain to be applied when using IQAudIO DAC+ 24db_digital_gain DT param can be used to specify that PCM512x codec "Digital" volume control should not be limited to 0dB gain, and if specified will allow the full 24dB gain. Modify IQAudIO DAC+ ASoC driver to set card/dai config from dt Add the ability to set the card name, dai name and dai stream name, from dt config. Signed-off-by: DigitalDreamtime <clive.messer@digitaldreamtime.co.uk> IQaudIO: auto-mute for AMP+ and DigiAMP+ IQAudIO amplifier mute via GPIO22. Add dt params for "one-shot" unmute and auto mute. Revision 2, auto mute implementing HiassofT suggestion to mute/unmute using set_bias_level, rather than startup/shutdown.... "By default DAPM waits 5 seconds (pmdown_time) before shutting down playback streams so a close/stop immediately followed by open/start doesn't trigger an amp mute+unmute." Tested on both AMP+ (via DAC+) and DigiAMP+, with both options... dtoverlay=iqaudio-dacplus,unmute_amp "one-shot" unmute when kernel module loads. dtoverlay=iqaudio-dacplus,auto_mute_amp Unmute amp when ALSA device opened by a client. Mute, with 5 second delay when ALSA device closed. (Re-opening the device within the 5 second close window, will cancel mute.) Revision 4, using gpiod. Revision 5, clean-up formatting before adding mute code. - Convert tab plus 4 space formatting to 2x tab - Remove '// NOT USED' commented code Revision 6, don't attempt to "one-shot" unmute amp, unless card is successfully registered. Signed-off-by: DigitalDreamtime <clive.messer@digitaldreamtime.co.uk> ASoC: iqaudio-dac: fix S24_LE format Remove set_bclk_ratio call so 24-bit data is transmitted in 24 bclk cycles. Signed-off-by: Matthias Reichl <hias@horus.com> ASoC: iqaudio-dac: use modern dai_link style Signed-off-by: Matthias Reichl <hias@horus.com> Added support for HiFiBerry DAC+ The driver is based on the HiFiBerry DAC driver. However HiFiBerry DAC+ uses a different codec chip (PCM5122), therefore a new driver is necessary. Add support for the HiFiBerry DAC+ Pro. The HiFiBerry DAC+ and DAC+ Pro products both use the existing bcm sound driver with the DAC+ Pro having a special clock device driver representing the two high precision oscillators. An addition bug fix is included for the PCM512x codec where by the physical size of the sample frame is used in the calculation of the LRCK divisor as it was found to be wrong when using 24-bit depth sample contained in a little endian 4-byte sample frame. Limit PCM512x "Digital" gain to 0dB by default with HiFiBerry DAC+ 24db_digital_gain DT param can be used to specify that PCM512x codec "Digital" volume control should not be limited to 0dB gain, and if specified will allow the full 24dB gain. Add dt param to force HiFiBerry DAC+ Pro into slave mode "dtoverlay=hifiberry-dacplus,slave" Add 'slave' param to use HiFiBerry DAC+ Pro in slave mode, with Pi as master for bit and frame clock. Signed-off-by: DigitalDreamtime <clive.messer@digitaldreamtime.co.uk> Fixed a bug when using 352.8kHz sample rate Signed-off-by: Daniel Matuschek <daniel@hifiberry.com> ASoC: pcm512x: revert downstream changes This partially reverts commit185ea05465which was added by https://github.com/raspberrypi/linux/pull/1152 The downstream pcm512x changes caused a regression, it broke normal use of the 24bit format with the codec, eg when using simple-audio-card. The actual bug with 24bit playback is the incorrect usage of physical_width in various drivers in the downstream tree which causes 24bit data to be transmitted with 32 clock cycles. So it's not the pcm512x that needs fixing, it's the soundcard drivers. Signed-off-by: Matthias Reichl <hias@horus.com> ASoC: hifiberry_dacplus: fix S24_LE format Remove set_bclk_ratio call so 24-bit data is transmitted in 24 bclk cycles. Signed-off-by: Matthias Reichl <hias@horus.com> ASoC: hifiberry_dacplus: transmit S24_LE with 64 BCLK cycles Signed-off-by: Matthias Reichl <hias@horus.com> hifiberry_dacplus: switch to snd_soc_dai_set_bclk_ratio Signed-off-by: Matthias Reichl <hias@horus.com> ASoC: hifiberry_dacplus: use modern dai_link style Signed-off-by: Hui Wang <hui.wang@canonical.com> Add driver for rpi-proto Forward port of 3.10.x driver from https://github.com/koalo We are using a custom board and would like to use rpi 3.18.x kernel. Patch works fine for our embedded system. URL to the audio chip: http://www.mikroe.com/add-on-boards/audio-voice/audio-codec-proto/ Playback tested with devicetree enabled. Signed-off-by: Waldemar Brodkorb <wbrodkorb@conet.de> ASoC: rpi-proto: use modern dai_link style Signed-off-by: Hui Wang <hui.wang@canonical.com> Add Support for JustBoom Audio boards justboom-dac: Adjust for ALSA API change As of 4.4, snd_soc_limit_volume now takes a struct snd_soc_card * rather than a struct snd_soc_codec *. Signed-off-by: Phil Elwell <phil@raspberrypi.org> ASoC: justboom-dac: fix S24_LE format Remove set_bclk_ratio call so 24-bit data is transmitted in 24 bclk cycles. Also remove hw_params as it's no longer needed. Signed-off-by: Matthias Reichl <hias@horus.com> ASoC: justboom-dac: use modern dai_link style Signed-off-by: Matthias Reichl <hias@horus.com> New AudioInjector.net Pi soundcard with low jitter audio in and out. Contains the sound/soc/bcm ALSA machine driver and necessary alterations to the Kconfig and Makefile. Adds the dts overlay and updates the Makefile and README. Updates the relevant defconfig files to enable building for the Raspberry Pi. Thanks to Phil Elwell (pelwell) for the review, simple-card concepts and discussion. Thanks to Clive Messer for overlay naming suggestions. Added support for headphones, microphone and bclk_ratio settings. This patch adds headphone and microphone capability to the Audio Injector sound card. The patch also sets the bit clock ratio for use in the bcm2835-i2s driver. The bcm2835-i2s can't handle an 8 kHz sample rate when the bit clock is at 12 MHz because its register is only 10 bits wide which can't represent the ch2 offset of 1508. For that reason, the rate constraint is added. ASoC: audioinjector-pi-soundcard: use modern dai_link style Signed-off-by: Hui Wang <hui.wang@canonical.com> New driver for RRA DigiDAC1 soundcard using WM8741 + WM8804 ASoC: digidac1-soundcard: use modern dai_link style Signed-off-by: Hui Wang <hui.wang@canonical.com> Add support for Dion Audio LOCO DAC-AMP HAT Using dedicated machine driver and pcm5102a codec driver. Signed-off-by: DigitalDreamtime <clive.messer@digitaldreamtime.co.uk> ASoC: dionaudio_loco: use modern dai_link style Signed-off-by: Hui Wang <hui.wang@canonical.com> Allo Piano DAC boards: Initial 2 channel (stereo) support (#1645) Add initial 2 channel (stereo) support for Allo Piano DAC (2.0/2.1) boards, using allo-piano-dac-pcm512x-audio overlay and allo-piano-dac ALSA ASoC machine driver. NB. The initial support is 2 channel (stereo) ONLY! (The Piano DAC 2.1 will only support 2 channel (stereo) left/right output, pending an update to the upstream pcm512x codec driver, which will have to be submitted via upstream. With the initial downstream support, provided by this patch, the Piano DAC 2.1 subwoofer outputs will not function.) Signed-off-by: Baswaraj K <jaikumar@cem-solutions.net> Signed-off-by: Clive Messer <clive.messer@digitaldreamtime.co.uk> Tested-by: Clive Messer <clive.messer@digitaldreamtime.co.uk> ASoC: allo-piano-dac: fix S24_LE format Remove set_bclk_ratio call so 24-bit data is transmitted in 24 bclk cycles. Also remove hw_params and ops as they are no longer needed. Signed-off-by: Matthias Reichl <hias@horus.com> ASoC: allo-piano-dac: use modern dai_link style Signed-off-by: Hui Wang <hui.wang@canonical.com> Add support for Allo Piano DAC 2.1 plus add-on board for Raspberry Pi. The Piano DAC 2.1 has support for 4 channels with subwoofer. Signed-off-by: Baswaraj K <jaikumar@cem-solutions.net> Reviewed-by: Vijay Kumar B. <vijaykumar@zilogic.com> Reviewed-by: Raashid Muhammed <raashidmuhammed@zilogic.com> Add clock changes and mute gpios (#1938) Also improve code style and adhere to ALSA coding conventions. Signed-off-by: Baswaraj K <jaikumar@cem-solutions.net> Reviewed-by: Vijay Kumar B. <vijaykumar@zilogic.com> Reviewed-by: Raashid Muhammed <raashidmuhammed@zilogic.com> PianoPlus: Dual Mono & Dual Stereo features added (#2069) allo-piano-dac-plus: Master volume added + fixes Master volume added, which controls both DACs volumes. See: https://github.com/raspberrypi/linux/pull/2149 Also fix initial max volume, default mode value, and unmute. Signed-off-by: allocom <sparky-dev@allo.com> ASoC: allo-piano-dac-plus: fix S24_LE format Remove set_bclk_ratio call so 24-bit data is transmitted in 24 bclk cycles. Signed-off-by: Matthias Reichl <hias@horus.com> sound: bcm: Fix memset dereference warning This warning appears with GCC 6.4.0 from toolchains.bootlin.com: ../sound/soc/bcm/allo-piano-dac-plus.c: In function ‘snd_allo_piano_dac_init’: ../sound/soc/bcm/allo-piano-dac-plus.c:711:30: warning: argument to ‘sizeof’ in ‘memset’ call is the same expression as the destination; did you mean to dereference it? [-Wsizeof-pointer-memaccess] memset(glb_ptr, 0x00, sizeof(glb_ptr)); ^ Suggested-by: Phil Elwell <phil@raspberrypi.org> Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> ASoC: allo-piano-dac-plus: use modern dai_link style Signed-off-by: Hui Wang <hui.wang@canonical.com> Add support for Allo Boss DAC add-on board for Raspberry Pi. (#1924) Signed-off-by: Baswaraj K <jaikumar@cem-solutions.net> Reviewed-by: Deepak <deepak@zilogic.com> Reviewed-by: BabuSubashChandar <babusubashchandar@zilogic.com> Add support for new clock rate and mute gpios. Signed-off-by: Baswaraj K <jaikumar@cem-solutions.net> Reviewed-by: Deepak <deepak@zilogic.com> Reviewed-by: BabuSubashChandar <babusubashchandar@zilogic.com> ASoC: allo-boss-dac: fix S24_LE format Remove set_bclk_ratio call so 24-bit data is transmitted in 24 bclk cycles. Signed-off-by: Matthias Reichl <hias@horus.com> ASoC: allo-boss-dac: transmit S24_LE with 64 BCLK cycles Signed-off-by: Matthias Reichl <hias@horus.com> allo-boss-dac: switch to snd_soc_dai_set_bclk_ratio Signed-off-by: Matthias Reichl <hias@horus.com> ASoC: allo-boss-dac: use modern dai_link style Signed-off-by: Hui Wang <hui.wang@canonical.com> Support for Blokas Labs pisound board Pisound dynamic overlay (#1760) Restructuring pisound-overlay.dts, so it can be loaded and unloaded dynamically using dtoverlay. Print a logline when the kernel module is removed. pisound improvements: * Added a writable sysfs object to enable scripts / user space software to blink MIDI activity LEDs for variable duration. * Improved hw_param constraints setting. * Added compatibility with S16_LE sample format. * Exposed some simple placeholder volume controls, so the card appears in volumealsa widget. Add missing SND_PISOUND selects dependency to SND_RAWMIDI Without it the Pisound module fails to compile. See https://github.com/raspberrypi/linux/issues/2366 Updates for Pisound module code: * Merged 'Fix a warning in DEBUG builds' (1c8b82b). * Updating some strings and copyright information. * Fix for handling high load of MIDI input and output. * Use dual rate oversampling ratio for 96kHz instead of single rate one. Signed-off-by: Giedrius Trainavicius <giedrius@blokas.io> Fixing memset call in pisound.c Signed-off-by: Giedrius Trainavicius <giedrius@blokas.io> Fix for Pisound's MIDI Input getting blocked for a while in rare cases. There was a possible race condition which could lead to Input's FIFO queue to be underflown, causing high amount of processing in the worker thread for some period of time. Signed-off-by: Giedrius Trainavicius <giedrius@blokas.io> Fix for Pisound kernel module in Real Time kernel configuration. When handler of data_available interrupt is fired, queue_work ends up getting called and it can block on a spin lock which is not allowed in interrupt context. The fix was to run the handler from a thread context instead. Pisound: Remove spinlock usage around spi_sync ASoC: pisound: use modern dai_link style Signed-off-by: Hui Wang <hui.wang@canonical.com> ASoC: pisound: fix the parameter for spi_device_match Signed-off-by: Hui Wang <hui.wang@canonical.com> ASoC: Add driver for Cirrus Logic Audio Card Note: due to problems with deferred probing of regulators the following softdep should be added to a modprobe.d file softdep arizona-spi pre: arizona-ldo1 Signed-off-by: Matthias Reichl <hias@horus.com> ASoC: rpi-cirrus: use modern dai_link style Signed-off-by: Matthias Reichl <hias@horus.com> sound: Support for Dion Audio LOCO-V2 DAC-AMP HAT Signed-off-by: Miquel Blauw <info@dionaudio.nl> ASoC: dionaudio_loco-v2: fix S24_LE format Remove set_bclk_ratio call so 24-bit data is transmitted in 24 bclk cycles. Also remove hw_params and ops as they are no longer needed. Signed-off-by: Matthias Reichl <hias@horus.com> ASoC: dionaudio_loco-v2: use modern dai_link style Signed-off-by: Hui Wang <hui.wang@canonical.com> Add support for Fe-Pi audio sound card. (#1867) Fe-Pi Audio Sound Card is based on NXP SGTL5000 codec. Mechanical specification of the board is the same the Raspberry Pi Zero. 3.5mm jacks for Headphone/Mic, Line In, and Line Out. Signed-off-by: Henry Kupis <fe-pi@cox.net> ASoC: fe-pi-audio: use modern dai_link style Signed-off-by: Hui Wang <hui.wang@canonical.com> Add support for the AudioInjector.net Octo sound card AudioInjector Octo: sample rates, regulators, reset This patch adds new sample rates to the Audioinjector Octo sound card. The new supported rates are (in kHz) : 96, 48, 32, 24, 16, 8, 88.2, 44.1, 29.4, 22.05, 14.7 Reference the bcm270x DT regulators in the overlay. This patch adds a reset GPIO for the AudioInjector.net octo sound card. Audioinjector octo : Make the playback and capture symmetric This patch ensures that the sample rate and channel count of the audioinjector octo sound card are symmetric. audioinjector-octo: Add continuous clock feature By user request, add a switch to prevent the clocks being stopped when the stream is paused, stopped or shutdown. Provide access to the switch by adding a 'non-stop-clocks' parameter to the audioinjector-addons overlay. See: https://github.com/raspberrypi/linux/issues/2409 Signed-off-by: Phil Elwell <phil@raspberrypi.org> sound: Fixes for audioinjector-octo under 4.19 1. Move the DT alias declaration to the I2C shim in the cases where the shim is enabled. This works around a problem caused by a 4.19 commit [1] that generates DT/OF uevents for I2C drivers. 2. Fix the diagnostics in an error path of the soundcard driver to correctly identify the reason for the failure to load. 3. Move the declaration of the clock node in the overlay outside the I2C node to avoid warnings. 4. Sort the overlay nodes so that dependencies are only to earlier fragments, in an attempt to get runtime dtoverlay application to work (it still doesn't...) See: https://github.com/Audio-Injector/Octo/issues/14 Signed-off-by: Phil Elwell <phil@raspberrypi.org> [1]af503716ac("i2c: core: report OF style module alias for devices registered via OF") ASoC: audioinjector-octo-soundcard: use modern dai_link style Signed-off-by: Hui Wang <hui.wang@canonical.com> Driver support for Google voiceHAT soundcard. ASoC: googlevoicehat-codec: Use correct device when grabbing GPIO The fixup for the VoiceHAT in 4.18 incorrectly tried to find the sdmode GPIO pin under the card device, not the codec device. This failed, and therefore caused the device probe to fail. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> ASoC: googlevoicehat-codec: Reformat for kernel coding standards Fix all whitespace, indentation, and bracing errors. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> ASoC: googlevoicehat-codec: Make driver function structure const Make voicehat_component_driver a const structure. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> ASoC: googlevoicehat-codec: Only convert from ms to jiffies once Minor optimisation and allows to become checkpatch clean. A msec value is read out of DT or from a define, and convert once to jiffies, rather than every time that it is used. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> Driver and overlay for Allo Katana DAC Allo Katana DAC: Updated default values Signed-off-by: Jaikumar <jaikumar@cem-solutions.com> Added mute stream func Signed-off-by: Jaikumar <jaikumar@cem-solutions.net> codecs: Correct Katana minimum volume Update Katana minimum volume to get the exact 0.5 dB value in each step. Signed-off-by: Sudeep Kumar <sudeepkumar@cem-solutions.net> ASoC: Add generic RPI driver for simple soundcards. The RPI simple sound card driver provides a generic ALSA SOC card driver supporting a variety of Pi HAT soundcards. The intention is to avoid the duplication of code for cards that can't be fully supported by the soc simple/graph cards but are otherwise almost identical. This initial commit adds support for the ADAU1977 ADC, Google VoiceHat, HifiBerry AMP, HifiBerry DAC and RPI DAC. Signed-off-by: Tim Gover <tim.gover@raspberrypi.org> ASoC: Use correct card name in rpi-simple driver Use the specific card name from drvdata instead of the snd_rpi_simple rpi-simple-soundcard: Use nicer driver name "RPi-simple" Rename the driver from "RPI simple soundcard" to "RPi-simple" so that the driver name won't be mangled allowing to be used unaltered as the card conf filename. ASoC: rpi-simple-soundcard: use modern dai_link style Signed-off-by: Hui Wang <hui.wang@canonical.com> ASoC: Add Kconfig and Makefile for sound/soc/bcm Signed-off-by: popcornmix <popcornmix@gmail.com> ASoC: Create a generic Pi Hat WM8804 driver Reduce the amount of duplicated code by creating a generic driver for Pi Hat digi cards using the WM8804 codec. This replaces the Allo DigiOne, Hifiberry Digi/Pro, JustBoom Digi and IQAudIO Digi dedicate soundcard drivers with a generic driver. There are no significant changes to the runtime behavior of the drivers and end users should not have to change any configuration settings after upgrading. Minor changes * Check the return value of snd_soc_component_update_bits * Added some pr_debug tracing * Various checkpatch tidyups * Updated allodigi-one to use use 128FS at > 96 Khz. This appears to be an omission in the original driver code so followed the Hifiberry DAC driver approach. ASoC: rpi-wm8804-soundcard: use modern dai_link style Signed-off-by: Matthias Reichl <hias@horus.com> rpi-wm8804-soundcard: drop PWRDN register writes Since kernel 4.0 the PWRDN register bits are under DAPM control from the wm8804 driver. Drop code that modifies that register to avoid interfering with DAPM. Signed-off-by: Matthias Reichl <hias@horus.com> rpi-wm8804-soundcard: configure wm8804 clocks only on rate change This should avoid clicks when stopping and immediately afterwards starting a stream with the same samplerate as before. Signed-off-by: Matthias Reichl <hias@horus.com> rpi-wm8804-soundcard: Fixed MCLKDIV for Allo Digione The Allo Digione board wants a fixed MCLKDIV of 256. See: https://github.com/raspberrypi/linux/issues/3296 Signed-off-by: Phil Elwell <phil@raspberrypi.org> ASoC: Add support for AudioSense-Pi add-on soundcard AudioSense-Pi is a RPi HAT based on a TI's TLV320AIC32x4 stereo codec This hardware provides multiple audio I/O capabilities to the RPi. The codec connects to the RPi's SoC through the I2S Bus. The following devices can be connected through a 3.5mm jack 1. Line-In: Plain old audio in from mobile phones, PCs, etc., 2. Mic-In: Connect a microphone 3. Line-Out: Connect the output to a speaker 4. Headphones: Connect a Headphone w or w/o microphones Multiple Inputs: It supports the following combinations 1. Two stereo Line-Inputs and a microphone 2. One stereo Line-Input and two microphones 3. Two stereo Line-Inputs, a microphone and one mono line-input (with h/w hack) 4. One stereo Line-Input, two microphones and one mono line-input (with h/w hack) Multiple Outputs: Audio output can be routed to the headphones or speakers (with additional hardware) Signed-off-by: b-ak <anur.bhargav@gmail.com> ASoC: audiosense-pi: use modern dai_link style Signed-off-by: Hui Wang <hui.wang@canonical.com> Added driver for the HiFiBerry DAC+ ADC (#2694) Signed-off-by: Daniel Matuschek <daniel@hifiberry.com> hifiberry_dacplusadc: switch to snd_soc_dai_set_bclk_ratio Signed-off-by: Matthias Reichl <hias@horus.com> ASoC: hifiberry_dacplusadc: fix DAI link setup The driver only defines a single DAI link and the code that tries to setup the second (non-existent) DAI link looks wrong - using dmic as a CPU/platform driver doesn't make any sense. The DT overlay doesn't define a dmic property, so the code was never executed (otherwise it would have resulted in a memory corruption). So drop the offending code to prevent issues if a dmic property should be added to the DT overlay. Signed-off-by: Matthias Reichl <hias@horus.com> ASoC: hifiberry_dacplusadc: use modern dai_link style Signed-off-by: Matthias Reichl <hias@horus.com> Audiophonics I-Sabre 9038Q2M DAC driver Signed-off-by: Audiophonics <contact@audiophonics.fr> ASoC: i-sabre-q2m: use modern dai_link style Signed-off-by: Hui Wang <hui.wang@canonical.com> Added IQaudIO Pi-Codec board support (#2969) Add support for the IQaudIO Pi-Codec board. Signed-off-by: Gordon <gordon@iqaudio.com> Fixed 48k timing issue ASoC: iqaudio-codec: use modern dai_link style Signed-off-by: Hui Wang <hui.wang@canonical.com> adds the Hifiberry DAC+ADC PRO version This adds the driver for the DAC+ADC PRO version of the Hifiberry soundcard with software controlled PCM1863 ADC Signed-off-by: Joerg Schambacher joerg@i2audio.com Add Hifiberry DAC+DSP soundcard driver (#3224) Adds the driver for the Hifiberry DAC+DSP. It supports capture and playback depending on the DSP firmware. Signed-off-by: Joerg Schambacher <joerg@i2audio.com> Allow simultaneous use of JustBoom DAC and Digi Signed-off-by: Johannes Krude <johannes@krude.de> Pisound: MIDI communication fixes for scaled down CPU. * Increased maximum SPI communication speed to avoid running too slow when the CPU is scaled down and losing MIDI data. * Keep track of buffer usage in millibytes for higher precision. Signed-off-by: Giedrius Trainavičius <giedrius@blokas.io> sound: Add the HiFiBerry DAC+HD version This adds the driver for the DAC+HD version supporting HiFiBerry's PCM179x based DACs. It also adds PLL control for clock generation. Signed-off-by: Joerg Schambacher <joerg@i2audio.com> Fix master mode settings of HiFiBerry DAC+ADC PRO card (#3424) This patch fixes the board DAI setting when in master-mode. Wrong setting could have caused random pop noise. Signed-off-by: Joerg Schambacher <joerg@i2audio.com> adds LED OFF feature to HiFiBerry DAC+ADC PRO sound card This adds a DT overlay parameter 'leds_off' which allows to switch off the onboard activity LEDs at all times which has been requested by some users. Signed-off-by: Joerg Schambacher <joerg@i2audio.com> adds LED OFF feature to HiFiBerry DAC+ADC sound card This adds a DT overlay parameter 'leds_off' which allows to switch off the onboard activity LEDs at all times which has been requested by some users. Signed-off-by: Joerg Schambacher <joerg@i2audio.com> adds LED OFF feature to HiFiBerry DAC+/DAC+PRO sound cards This adds a DT overlay parameter 'leds_off' which allows to switch off the onboard activity LEDs at all times which has been requested by some users. Signed-off-by: Joerg Schambacher <joerg@i2audio.com> pisound: Added reading Pisound board hardware revision and exposing it (#3425) pisound: Added reading Pisound board hardware revision and exposing it in kernel log and sysfs file: /sys/kernel/pisound/hw_version Signed-off-by: Giedrius <giedrius@blokas.io> Added driver for HiFiBerry Amp amplifier add-on board The driver contains a low-level hardware driver for the TAS5713 and the drivers for the Raspberry Pi I2S subsystem. TAS5713: return error if initialisation fails Existing TAS5713 driver logs errors during initialisation, but does not return an error code. Therefore even if initialisation fails, the driver will still be loaded, but won't work. This patch fixes this. I2C communication error will now reported correctly by a non-zero return code. HiFiBerry Amp: fix device-tree problems Some code to load the driver based on device-tree-overlays was missing. This is added by this patch. According to 5713 pdf doc CLOCK_CTRL is a readonly status register, and it behaves so. Remove useless setting sound: pcm512x-codec: Adding 352.8kHz samplerate support sound/soc: only first codec is master in multicodec setup When using multiple codecs, at most one codec should generate the master clock. All codecs except the first are therefore configured for slave mode. Signed-off-by: Johannes Krude <johannes@krude.de> ASoC: Fix snd_soc_get_pcm_runtime usage Commit [1] changed the snd_soc_get_pcm_runtime to take a dai_link pointer instead of a string. Patch up the downstream drivers to use the modified API. Signed-off-by: Phil Elwell <phil@raspberrypi.com> [1]4468189ff3("ASoC: soc-core: find rtd via dai_link pointer at snd_soc_get_pcm_runtime()") Add support for the AudioInjector.net Isolated sound card This patch adds support for the Audio Injector Isolated sound card. Signed-off-by: Matt Flax <flatmax@flatmax.org> Add support for merus-amp soundcard and ma120x0p codec Add 96KHz rate support to MA120X0P codec and make enable and mute gpio pins optional. Signed-off-by: AMuszkat <ariel.muszkat@gmail.com> Fixes a problem with clock settings of HiFiBerry DAC+ADC PRO (#3545) This patch fixes a problem of the re-calculation of i2s-clock and -parameter settings when only the ADC is activated. Signed-off-by: Joerg Schambacher <joerg@i2audio.com> configs: Enable the AD193x codecs See: https://github.com/raspberrypi/linux/issues/2850 Signed-off-by: Phil Elwell <phil@raspberrypi.org> Switch to snd_soc_dai_set_bclk_ratio Replaces obsolete function snd_soc_dai_set_tdm_slot Signed-off-by: Joerg Schambacher <joerg@i2audio.com> Enhances the DAC+ driver to control the optional headphone amplifier Probes on the I2C bus for TPA6130A2, if successful, it sets DT-parameter 'status' from 'disabled' to 'okay' using change_sets to enable the headphone control. Signed-off-by: Joerg Schambacher joerg@i2audio.com Update Allo Piano Dac Driver Add unique names to the individual dac coded drivers Remove some of the codec controls that are not used. Signed-off-by: Paul Hermann <paul@picoreplayer.org> Fixes an onboard clock detection problem of the PRO versions Increasing the sleep time after clock selection to 3-4ms allows the correct detection of all combinations of DAC+ Pro and DAC+ADC Pro sound cards and the various PI revisions. Signed-off-by: Joerg Schambacher <joerg@hifiberry.com> ASoC:ma120x0p: Increase maximum sample rate to 192KHz Change the maximum sample rate for the amplifier to 192KHz as given in the Infineon specification. Signed-off-by: Joerg Schambacher <joerg@hifiberry.com> ASoC: ma120x0p: Remove unnecessary const specifier Clang warns: sound/soc/codecs/ma120x0p.c:891:14: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier] static const SOC_VALUE_ENUM_SINGLE_DECL(pwr_mode_ctrl, ^ ./include/sound/soc.h:362:2: note: expanded from macro 'SOC_VALUE_ENUM_SINGLE_DECL' SOC_VALUE_ENUM_DOUBLE_DECL(name, xreg, xshift, xshift, xmask, xtexts, xvalues) ^ ./include/sound/soc.h:359:2: note: expanded from macro 'SOC_VALUE_ENUM_DOUBLE_DECL' const struct soc_enum name = SOC_VALUE_ENUM_DOUBLE(xreg, xshift_l, xshift_r, xmask, \ ^ 1 warning generated. SOC_VALUE_ENUM_DOUBLE_DECL already has a const specifier. Remove the duplicate const to clean up the warning. Fixes:42444979e7("Add support for all the downstream rpi sound card drivers") Signed-off-by: Nathan Chancellor <nathan@kernel.org> ASoC: bcm: allo-piano-dac-plus: Remove unnecessary const specifiers Clang warns: sound/soc/bcm/allo-piano-dac-plus.c:66:14: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier] static const SOC_ENUM_SINGLE_DECL(allo_piano_mode_enum, ^ ./include/sound/soc.h:355:2: note: expanded from macro 'SOC_ENUM_SINGLE_DECL' SOC_ENUM_DOUBLE_DECL(name, xreg, xshift, xshift, xtexts) ^ ./include/sound/soc.h:352:2: note: expanded from macro 'SOC_ENUM_DOUBLE_DECL' const struct soc_enum name = SOC_ENUM_DOUBLE(xreg, xshift_l, xshift_r, \ ^ sound/soc/bcm/allo-piano-dac-plus.c:75:14: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier] static const SOC_ENUM_SINGLE_DECL(allo_piano_dual_mode_enum, ^ ./include/sound/soc.h:355:2: note: expanded from macro 'SOC_ENUM_SINGLE_DECL' SOC_ENUM_DOUBLE_DECL(name, xreg, xshift, xshift, xtexts) ^ ./include/sound/soc.h:352:2: note: expanded from macro 'SOC_ENUM_DOUBLE_DECL' const struct soc_enum name = SOC_ENUM_DOUBLE(xreg, xshift_l, xshift_r, \ ^ sound/soc/bcm/allo-piano-dac-plus.c:96:14: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier] static const SOC_ENUM_SINGLE_DECL(allo_piano_enum, ^ ./include/sound/soc.h:355:2: note: expanded from macro 'SOC_ENUM_SINGLE_DECL' SOC_ENUM_DOUBLE_DECL(name, xreg, xshift, xshift, xtexts) ^ ./include/sound/soc.h:352:2: note: expanded from macro 'SOC_ENUM_DOUBLE_DECL' const struct soc_enum name = SOC_ENUM_DOUBLE(xreg, xshift_l, xshift_r, \ ^ 3 warnings generated. SOC_VALUE_ENUM_DOUBLE_DECL already has a const specifier. Remove the duplicate const specifiers to clean up the warnings. Fixes:42444979e7("Add support for all the downstream rpi sound card drivers") Signed-off-by: Nathan Chancellor <nathan@kernel.org> rpi-simple-soundcard: Add Dion Audio KIWI streamer Signed-off-by: Miquel Blauw <miquelblauw@hotmail.com> rpi-simple-soundcard: adds definitions for the HiFiBerry AMP3 card Uses Infineon MA120x0 amplifier and supports full sample rate of 192ksps. Signed-off-by: Joerg Schambacher <joerg@hifiberry.com> sound: soc: bcm: Added Sound card driver for Dacberry400 Audio card for Raspberry Pi 400 Added Sound card driver for DACberry400 Audio card. Signed-off-by: Ashish Vara <ashishhvara@gmail.com> ASoC:ma120x0p: Corrects the volume level display Fixes the wrongly changed 'limiter volume' display back to -50dB minimum and sets the correct minimum volume level to -144dB to be aligned with the controls and display in alsamixer etc. Signed-off-by: Joerg Schambacher <joerg@hifiberry.com> ASoC: bcm: Fix Rpi-PROTO and audioinjector.net Pi As of kernel 5.19 the WM8731 driver has separate I2C and SPI support modules. Change the Kconfig definitions for the audioinjector.net Pi and Rpi-PROTO soundcards to select SND_SOC_WM8731_I2C. See: https://github.com/raspberrypi/linux/issues/5364 Signed-off-by: Phil Elwell <phil@raspberrypi.com> ASoC: adau1977: Add correct compatible strings Signed-off-by: Phil Elwell <phil@raspberrypi.com> ASoC: bcm2835-i2s: Use phys addresses for DAI DMA Contrary to what struct snd_dmaengine_dai_dma_data suggests, the configuration of addresses of DMA slave interfaces should be done in CPU physical addresses. Signed-off-by: Phil Elwell <phil@raspberrypi.com> rpi sound cards: Fix Codec Zero rate switching The Raspberry Pi Codec Zero (and IQaudIO Codec) don't notify the DA7213 codec when it needs to change PLL frequencies. As a result, audio can be played at the wrong rate - play a 48kHz sound immediately after a 44.1kHz sound to see the effect, but in some configurations the codec can lock into the wrong state and always get some rates wrong. Add the necessary notification to fix the issue. Signed-off-by: Phil Elwell <phil@raspberrypi.com> ASoC: dwc: Support set_bclk_ratio Signed-off-by: Phil Elwell <phil@raspberrypi.com> ASoC: dwc: Add DMACR handling Add control of the DMACR register, which is required for paced DMA (i.e. DREQ) support. Signed-off-by: Phil Elwell <phil@raspberrypi.com> ASOC: dwc: Improve DMA shutdown Disabling the I2S interface with outstanding transfers prevents the DMAC from shutting down, so keep it partially active after a stop. Signed-off-by: Phil Elwell <phil@raspberrypi.com> ASOC: dwc: Fix 16-bit audio handling IMO the Synopsys datasheet could be clearer in this area, but it seems that the DMA data ports (DMATX and DMARX) expect left and right samples in alternate writes; if a stereo pair is pushed in a single 32-bit write, the upper half is ignored, leading to double speed audio with a confused stereo image. Make sure the necessary changes happen by updating the DMA configuration data in the hw_params method. The set_bclk_ratio change was made at a time when it looked like it could be causing an error, but I think the division of responsibilities is clearer this way (and the kernel log clearer without the info-level message). Signed-off-by: Phil Elwell <phil@raspberrypi.com> ASoC: bcm: Remove dependency on BCM2835 I2S These soundcard drivers don't rely on a specific I2S interface, so remove the dependency declarations. See: https://github.com/raspberrypi/linux-2712/issues/111 Signed-off-by: Phil Elwell <phil@raspberrypi.com> ASoC: bcm: audioinjector_octo: Add soundcard "owner" See: https://github.com/raspberrypi/linux/issues/5697 Signed-off-by: Phil Elwell <phil@raspberrypi.com> Pisound: Don't export the button GPIO via sysfs GPIO class. Signed-off-by: Giedrius Trainavičius <giedrius@blokas.io> Pisound: Read out the SPI speed to use from the Device Tree. Signed-off-by: Giedrius Trainavičius <giedrius@blokas.io> ASoC: DACplus - fix 16bit sample support in clock consumer mode The former code did not adjust the physical sample width when in clock consumer mode and has taken the fixed 32 bit default. This has caused the audio to be played at half its frequency due to the fixed bclk_ratio of 64. Signed-off-by: Joerg Schambacher <joerg@hifiberry.com> ASoC: adds support for AMP4 Pro to the DAC Plus driver The AMP4 Pro is a I2S master mode capable amplifier with clean onboard clock generators. We can share the card driver between TAS575x amplifiers and the PCM512x DACs as they are SW compatible. From a HW perspective though we need to limit the sample rates to the standard audio rates to avoid running the onboard clocks through the PLL. Using the PLL would require even a different HW. DAI/stream name are also set accordingly to allow the user a convenient identification of the soundcard Needs the pcm512x driver with TAS575x support (already in upstream kernel). Signed-off-by: Joerg Schambacher <joerg@hifiberry.com> ASoC: DACplusADCPro - fix 16bit sample support in clock consumer mode The former code did not adjust the physical sample width when in clock consumer mode and has taken the fixed 32 bit default. This has caused the audio to be played at half its frequency due to the fixed bclk_ratio of 64. Problem appears only on PI5 as on the former PIs the I2S module did simply run at fixed 64x rate. Signed-off-by: Joerg Schambacher <joerg@hifiberry.com> Impliment driver support for Interlude Audio Digital Hat Implementing driver support for Interlude audio's WM8805 based digital hat by leveraging existing drivers ASOc: Add HiFiBerry DAC8X to the simple card driver Defines the settings for the 8 channel version of the standard DAC by overwriting the number of channels in the DAI defs. It can run in 8ch mode only on PI5 using the 4 lane data output of the designware I2S0 module. Signed-off-by: j-schambacher <joerg@hifiberry.com> ASoC: bcm: Use the correct sample width value ALSA's concept of the physical width of a sample is how much memory it occupies, including any padding. This not the same as the count of bits of actual sample content. In particular, S24_LE has a width of 24 bits but a physical width of 32 bits because there is a byte of padding with each sample. When calculating bclk_ratio, etc., it is width that matters, not physical width. Correct the error that has been replicated across the drivers for many Raspberry Pi-compatible soundcards. Signed-off-by: Phil Elwell <phil@raspberrypi.com> ASoC: dwc: Correct channel count reporting The DWC I2S driver treats the channel count register values as if they encode a power of two (2, 4, 8, 16), but they actually encode a multiple of 2 (2, 4, 6, 8). Also improve the error message when asked for an unsupported number of channels. Signed-off-by: Phil Elwell <phil@raspberrypi.com> ASoC: Fix 16bit sample support for Hifiberry DACplusADC Same issue as #5919. 'width' needs to be set independent of clocking mode. Signed-off-by: j-schambacher <joerg@hifiberry.com> allo-boss-dac mute output when changing parameters Since I noticed that sometimes changing sample rates causes some digital quirks and noises, I've changed the function to mute the output before performing the changes and then unmute it when an error occurs or the parameters got set. Signed-off-by: Alessandro Marcon <marconalessandro04@gmail.com> ASoC: bcm: Use power-of-2 bclk_ratios The soundcard drivers originally used snd_pcm_format_physical_width, but a later commit changed that to snd_pcm_format_width because the in-memory sample storage width should not be a factor in determining the bclk_ratio. However, the physical width rounds the sample bits up to the nearest power of 2, which makes it easier to find integer clock divisors. Restore the old behaviour, but with an implementation that makes it clear what is going on. See: https://github.com/raspberrypi/linux/issues/6104 Signed-off-by: Phil Elwell <phil@raspberrypi.com> ASoC: bcm: Add "owner" info for more soundcards See: https://github.com/raspberrypi/linux/issues/5697 Signed-off-by: Phil Elwell <phil@raspberrypi.com> ASoC: da7213: Add a set_bclk_ratio method Following [1], it becomes harder for the CPU DAI to know the correct BCLK ratio. We can either bake the same knowledge into the sound card driver, or implement and use set_bclk_ratio on the codec. This commit does the latter. [1] commitc89e652e84("ASoC: da7213: Add support for mono, set frame width to 32 when possible") Signed-off-by: Phil Elwell <phil@raspberrypi.com> iqaudio-codec: Use the codec's new set_bclk_ratio To ensure that the CPU DAI and codec agree over the BCLK ratio, impose a fixed value of 64 on both of them. Signed-off-by: Phil Elwell <phil@raspberrypi.com> ASoC: add driver for new HiFiBerry ADC only board(s) Adds the driver for the soon to be released first ADC only board. It includes the same ADC controls as used by the DAC+ADC Pro driver. Signed-off-by: j-schambacher <joerg@hifiberry.com> ASoC: add HiFiBerry ADC8x 8-channel ADC to simple-card-driver Definitions for the 8 channel ADC card. The card uses only HW-controlled devices which allows the uses of the 'dummy-dai'. It will run only on a PI5 as it requires the designware I2S0 module. The necessary output lanes I2S0_DI[0..3] are claimed from within the DT overlay. Signed-off-by: j-schambacher <joerg@hifiberry.com> sound/soc: dwc-i2s: choose FIFO thresholds based on DMA burst constraints Valid ranges for the I2S peripheral's FIFO configuration include a depth of 16 - unconditionally setting the burst length to 16 with a fifo threshold of size/2 will cause under/overflows. For DMA engines with restricted capabilities the requested burst length and FIFO thresholds need to be adjusted downward accordingly. Both the RX and TX FIFOs operate on "less-than" thresholds. Setting the TX threshold to fifo_size minus burst means the FIFO is kept nearly-full. Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com> ASoC: allo-piano-dac-plus: Fix volume limit locking Calling snd_soc_limit_volume from within a kcontrol put handler seems to cause a deadlock as it attempts to claim a write lock that is already held. Call snd_soc_limit_volume from the main initialisation code instead, to avoid the recursive locking. See: https://github.com/raspberrypi/linux/issues/6527 Signed-off-by: Phil Elwell <phil@raspberrypi.com> ASoC: allo-piano-dac-plus: Suppress -517 errors Use dev_err_probe to simplify the code and suppress EPROBE_DEFER errors. Signed-off-by: Phil Elwell <phil@raspberrypi.com> soc: pcm3168a: Add DT binding to force clock consumer mode ASoC cannot configure the codec correctly when the ADC and DAC share clock lines and one of them is the clock producer. Add a DT binding that overrides ASoC and forces the component into clock consumer mode. Signed-off-by: Stephen Gordon <gordoste@iinet.net.au> ASoC: pcm512x: Demote "No SCLK" to debug level Designing a PCM512X-based soundcard with no external SCLK is a valid choice supported by the driver. Don't alarm users with messages that say "No SCLK, using BCLK: -2" - reclassify them as debug information. Signed-off-by: Phil Elwell <phil@raspberrypi.com> ASoC: allo-piano-dac-plus: Fix volume limiting Controls which only exist when snd_soc_register_card returns can't be modified before then. Move the setting of volume limits to just before the end of the probe function. Link: https://github.com/raspberrypi/linux/issues/6527 Signed-off-by: Phil Elwell <phil@raspberrypi.com> ASoC: allo-piano-dac-plus: Remove pointless code The codec control Digital Playback Volume is one of the controls deleted by the allo-piano-dac-plus driver. It is effectively replaced by the soundcard controls Master Playback Volume and Subwoofer Playback Volume. Delete the code that sets the volume limit on those codec controls - the limits on the soundcard volume controls are sufficient. Signed-off-by: Phil Elwell <phil@raspberrypi.com> ASoC: adds ADC8x support to the Hifiberry DAC8x The driver probes for the ADC8x which can be stacked on top of the DAC8x. It enables a symmetric 8 channel capture using the dummy-dai. Signed-off-by: j-schambacher <joerg@hifiberry.com> sound: soc: raspberrypi: RP1 Audio Out driver as an ASOC DAI Only 48000Hz stereo 16-bit output is currently supported. It requires some additional OF plumbing to connect it to a "dummy" codec and generic sound card. Signed-off-by: Nick Hollinghurst <nick.hollinghurst@raspberrypi.com> Adding Pimidi kernel module. Signed-off-by: Giedrius Trainavičius <giedrius@blokas.io> Adding Pisound Micro kernel module Signed-off-by: Giedrius Trainavičius <giedrius@blokas.io> Pisound Micro: Fix for MIDI output under full load. This fixes MIDI output of Pisound Micro after running for a while under full load and increases timing stability. Signed-off-by: Giedrius Trainavičius <giedrius@blokas.io> ALSA: korg1212: replace del_timer with timer_delete pisound-micro: Added pin_pull and pin_b_pull sysfs attributes for Pisound Micro. These attributes are available only for GPIO input and Encoder elements. Signed-off-by: Giedrius <giedrius@blokas.io> Pisound Micro: Workaround for snd_soc_dai_set_tdm_slot with slots=0 Even though it's documented that specifying slots=0 can be used to disable the TDM mode, error checking introduced in 6.12.31 version broke this, therefore, for the time being, a workaround is to provide a xlate_tdm_slot_mask operation implementation to return 0 instead of -EINVAL as it does in case slots argument is 0. Signed-off-by: Giedrius Trainavičius <giedrius@blokas.io>
2809 lines
65 KiB
Plaintext
2809 lines
65 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
# Helper to resolve issues with configs that have SPI enabled but I2C
|
|
# modular, meaning we can't build the codec driver in with I2C support.
|
|
# We use an ordered list of conditional defaults to pick the appropriate
|
|
# setting - SPI can't be modular so that case doesn't need to be covered.
|
|
config SND_SOC_I2C_AND_SPI
|
|
tristate
|
|
default m if I2C=m
|
|
default y if I2C=y
|
|
default y if SPI_MASTER=y
|
|
|
|
menu "CODEC drivers"
|
|
|
|
config SND_SOC_ALL_CODECS
|
|
tristate "Build all ASoC CODEC drivers"
|
|
depends on COMPILE_TEST
|
|
imply SND_SOC_88PM860X
|
|
imply SND_SOC_AB8500_CODEC
|
|
imply SND_SOC_AC97_CODEC
|
|
imply SND_SOC_AD1836
|
|
imply SND_SOC_AD193X_SPI
|
|
imply SND_SOC_AD193X_I2C
|
|
imply SND_SOC_AD1980
|
|
imply SND_SOC_AD73311
|
|
imply SND_SOC_ADAU1372_I2C
|
|
imply SND_SOC_ADAU1372_SPI
|
|
imply SND_SOC_ADAU1373
|
|
imply SND_SOC_ADAU1761_I2C
|
|
imply SND_SOC_ADAU1761_SPI
|
|
imply SND_SOC_ADAU1781_I2C
|
|
imply SND_SOC_ADAU1781_SPI
|
|
imply SND_SOC_ADAV801
|
|
imply SND_SOC_ADAV803
|
|
imply SND_SOC_ADAU1977_SPI
|
|
imply SND_SOC_ADAU1977_I2C
|
|
imply SND_SOC_ADAU1701
|
|
imply SND_SOC_ADAU7002
|
|
imply SND_SOC_ADAU7118_I2C
|
|
imply SND_SOC_ADAU7118_HW
|
|
imply SND_SOC_ADS117X
|
|
imply SND_SOC_AK4104
|
|
imply SND_SOC_AK4118
|
|
imply SND_SOC_AK4375
|
|
imply SND_SOC_AK4458
|
|
imply SND_SOC_AK4535
|
|
imply SND_SOC_AK4554
|
|
imply SND_SOC_AK4613
|
|
imply SND_SOC_AK4619
|
|
imply SND_SOC_AK4641
|
|
imply SND_SOC_AK4642
|
|
imply SND_SOC_AK4671
|
|
imply SND_SOC_AK5386
|
|
imply SND_SOC_AK5558
|
|
imply SND_SOC_ALC5623
|
|
imply SND_SOC_ALC5632
|
|
imply SND_SOC_AUDIO_IIO_AUX
|
|
imply SND_SOC_AW8738
|
|
imply SND_SOC_AW87390
|
|
imply SND_SOC_AW88395
|
|
imply SND_SOC_AW88081
|
|
imply SND_SOC_AW88166
|
|
imply SND_SOC_AW88261
|
|
imply SND_SOC_AW88399
|
|
imply SND_SOC_BT_SCO
|
|
imply SND_SOC_BD28623
|
|
imply SND_SOC_CHV3_CODEC
|
|
imply SND_SOC_CQ0093VC
|
|
imply SND_SOC_CROS_EC_CODEC
|
|
imply SND_SOC_CS35L32
|
|
imply SND_SOC_CS35L33
|
|
imply SND_SOC_CS35L34
|
|
imply SND_SOC_CS35L35
|
|
imply SND_SOC_CS35L36
|
|
imply SND_SOC_CS35L41_SPI
|
|
imply SND_SOC_CS35L41_I2C
|
|
imply SND_SOC_CS35L45_I2C
|
|
imply SND_SOC_CS35L45_SPI
|
|
imply SND_SOC_CS35L56_I2C
|
|
imply SND_SOC_CS35L56_SPI
|
|
imply SND_SOC_CS35L56_SDW
|
|
imply SND_SOC_CS40L50
|
|
imply SND_SOC_CS42L42
|
|
imply SND_SOC_CS42L42_SDW
|
|
imply SND_SOC_CS42L43
|
|
imply SND_SOC_CS42L43_SDW
|
|
imply SND_SOC_CS42L51_I2C
|
|
imply SND_SOC_CS42L52
|
|
imply SND_SOC_CS42L56
|
|
imply SND_SOC_CS42L73
|
|
imply SND_SOC_CS42L84
|
|
imply SND_SOC_CS4234
|
|
imply SND_SOC_CS4265
|
|
imply SND_SOC_CS4270
|
|
imply SND_SOC_CS4271_I2C
|
|
imply SND_SOC_CS4271_SPI
|
|
imply SND_SOC_CS42XX8_I2C
|
|
imply SND_SOC_CS43130
|
|
imply SND_SOC_CS4341
|
|
imply SND_SOC_CS4349
|
|
imply SND_SOC_CS47L15
|
|
imply SND_SOC_CS47L24
|
|
imply SND_SOC_CS47L35
|
|
imply SND_SOC_CS47L85
|
|
imply SND_SOC_CS47L90
|
|
imply SND_SOC_CS47L92
|
|
imply SND_SOC_CS48L32
|
|
imply SND_SOC_CS53L30
|
|
imply SND_SOC_CS530X_I2C
|
|
imply SND_SOC_CX20442
|
|
imply SND_SOC_CX2072X
|
|
imply SND_SOC_DA7210
|
|
imply SND_SOC_DA7213
|
|
imply SND_SOC_DA7218
|
|
imply SND_SOC_DA7219
|
|
imply SND_SOC_DA732X
|
|
imply SND_SOC_DA9055
|
|
imply SND_SOC_DMIC
|
|
imply SND_SOC_ES8316
|
|
imply SND_SOC_ES8323
|
|
imply SND_SOC_ES8326
|
|
imply SND_SOC_ES8328_SPI
|
|
imply SND_SOC_ES8328_I2C
|
|
imply SND_SOC_ES8375
|
|
imply SND_SOC_ES8389
|
|
imply SND_SOC_ES7134
|
|
imply SND_SOC_ES7241
|
|
imply SND_SOC_FRAMER
|
|
imply SND_SOC_FS210X
|
|
imply SND_SOC_GTM601
|
|
imply SND_SOC_HDAC_HDMI
|
|
imply SND_SOC_HDAC_HDA
|
|
imply SND_SOC_ICS43432
|
|
imply SND_SOC_IDT821034
|
|
imply SND_SOC_INNO_RK3036
|
|
imply SND_SOC_ISABELLE
|
|
imply SND_SOC_I_SABRE_CODEC
|
|
imply SND_SOC_JZ4740_CODEC
|
|
imply SND_SOC_JZ4725B_CODEC
|
|
imply SND_SOC_JZ4760_CODEC
|
|
imply SND_SOC_JZ4770_CODEC
|
|
imply SND_SOC_LM4857
|
|
imply SND_SOC_LM49453
|
|
imply SND_SOC_LOCHNAGAR_SC
|
|
imply SND_SOC_MA120X0P
|
|
imply SND_SOC_MAX98088
|
|
imply SND_SOC_MAX98090
|
|
imply SND_SOC_MAX98095
|
|
imply SND_SOC_MAX98357A
|
|
imply SND_SOC_MAX98371
|
|
imply SND_SOC_MAX98504
|
|
imply SND_SOC_MAX98520
|
|
imply SND_SOC_MAX9867
|
|
imply SND_SOC_MAX98925
|
|
imply SND_SOC_MAX98926
|
|
imply SND_SOC_MAX98927
|
|
imply SND_SOC_MAX98363
|
|
imply SND_SOC_MAX98373_I2C
|
|
imply SND_SOC_MAX98373_SDW
|
|
imply SND_SOC_MAX98388
|
|
imply SND_SOC_MAX98390
|
|
imply SND_SOC_MAX98396
|
|
imply SND_SOC_MAX9850
|
|
imply SND_SOC_MAX9860
|
|
imply SND_SOC_MAX9759
|
|
imply SND_SOC_MAX9768
|
|
imply SND_SOC_MAX9877
|
|
imply SND_SOC_MC13783
|
|
imply SND_SOC_ML26124
|
|
imply SND_SOC_MT6351
|
|
imply SND_SOC_MT6357
|
|
imply SND_SOC_MT6358
|
|
imply SND_SOC_MT6359
|
|
imply SND_SOC_MT6660
|
|
imply SND_SOC_NAU8315
|
|
imply SND_SOC_NAU8540
|
|
imply SND_SOC_NAU8810
|
|
imply SND_SOC_NAU8821
|
|
imply SND_SOC_NAU8822
|
|
imply SND_SOC_NAU8824
|
|
imply SND_SOC_NAU8825
|
|
imply SND_SOC_HDMI_CODEC
|
|
imply SND_SOC_PCM1681
|
|
imply SND_SOC_PCM1754
|
|
imply SND_SOC_PCM1789_I2C
|
|
imply SND_SOC_PCM179X_I2C
|
|
imply SND_SOC_PCM179X_SPI
|
|
imply SND_SOC_PCM186X_I2C
|
|
imply SND_SOC_PCM186X_SPI
|
|
imply SND_SOC_PCM1794A
|
|
imply SND_SOC_PCM3008
|
|
imply SND_SOC_PCM3060_I2C
|
|
imply SND_SOC_PCM3060_SPI
|
|
imply SND_SOC_PCM3168A_I2C
|
|
imply SND_SOC_PCM3168A_SPI
|
|
imply SND_SOC_PCM5102A
|
|
imply SND_SOC_PCM512x_I2C
|
|
imply SND_SOC_PCM512x_SPI
|
|
imply SND_SOC_PCM6240
|
|
imply SND_SOC_PEB2466
|
|
imply SND_SOC_PM4125_SDW
|
|
imply SND_SOC_RK3308
|
|
imply SND_SOC_RK3328
|
|
imply SND_SOC_RK817
|
|
imply SND_SOC_RT274
|
|
imply SND_SOC_RT286
|
|
imply SND_SOC_RT298
|
|
imply SND_SOC_RT1011
|
|
imply SND_SOC_RT1015
|
|
imply SND_SOC_RT1015P
|
|
imply SND_SOC_RT1016
|
|
imply SND_SOC_RT1017_SDCA_SDW
|
|
imply SND_SOC_RT1019
|
|
imply SND_SOC_RT1305
|
|
imply SND_SOC_RT1308
|
|
imply SND_SOC_RT5514
|
|
imply SND_SOC_RT5616
|
|
imply SND_SOC_RT5631
|
|
imply SND_SOC_RT5640
|
|
imply SND_SOC_RT5645
|
|
imply SND_SOC_RT5651
|
|
imply SND_SOC_RT5659
|
|
imply SND_SOC_RT5660
|
|
imply SND_SOC_RT5663
|
|
imply SND_SOC_RT5665
|
|
imply SND_SOC_RT5668
|
|
imply SND_SOC_RT5670
|
|
imply SND_SOC_RT5677
|
|
imply SND_SOC_RT5682_I2C
|
|
imply SND_SOC_RT5682_SDW
|
|
imply SND_SOC_RT5682S
|
|
imply SND_SOC_RT700_SDW
|
|
imply SND_SOC_RT711_SDW
|
|
imply SND_SOC_RT711_SDCA_SDW
|
|
imply SND_SOC_RT712_SDCA_SDW
|
|
imply SND_SOC_RT712_SDCA_DMIC_SDW
|
|
imply SND_SOC_RT715_SDW
|
|
imply SND_SOC_RT715_SDCA_SDW
|
|
imply SND_SOC_RT721_SDCA_SDW
|
|
imply SND_SOC_RT722_SDCA_SDW
|
|
imply SND_SOC_RT1308_SDW
|
|
imply SND_SOC_RT1316_SDW
|
|
imply SND_SOC_RT1318
|
|
imply SND_SOC_RT1318_SDW
|
|
imply SND_SOC_RT1320_SDW
|
|
imply SND_SOC_RT9120
|
|
imply SND_SOC_RT9123
|
|
imply SND_SOC_RTQ9124
|
|
imply SND_SOC_RTQ9128
|
|
imply SND_SOC_SDW_MOCKUP
|
|
imply SND_SOC_SGTL5000
|
|
imply SND_SOC_SI476X
|
|
imply SND_SOC_SIMPLE_AMPLIFIER
|
|
imply SND_SOC_SIMPLE_MUX
|
|
imply SND_SOC_SMA1303
|
|
imply SND_SOC_SMA1307
|
|
imply SND_SOC_SPDIF
|
|
imply SND_SOC_SRC4XXX_I2C
|
|
imply SND_SOC_SSM2305
|
|
imply SND_SOC_SSM2518
|
|
imply SND_SOC_SSM2602_SPI
|
|
imply SND_SOC_SSM2602_I2C
|
|
imply SND_SOC_SSM4567
|
|
imply SND_SOC_STA32X
|
|
imply SND_SOC_STA350
|
|
imply SND_SOC_STA529
|
|
imply SND_SOC_STAC9766
|
|
imply SND_SOC_STI_SAS
|
|
imply SND_SOC_TAS2552
|
|
imply SND_SOC_TAS2562
|
|
imply SND_SOC_TAS2764
|
|
imply SND_SOC_TAS2770
|
|
imply SND_SOC_TAS2780
|
|
imply SND_SOC_TAS2781_I2C
|
|
imply SND_SOC_TAS2783_SDW
|
|
imply SND_SOC_TAS5086
|
|
imply SND_SOC_TAS571X
|
|
imply SND_SOC_TAS5720
|
|
imply SND_SOC_TAS6424
|
|
imply SND_SOC_TDA7419
|
|
imply SND_SOC_TFA9879
|
|
imply SND_SOC_TFA989X
|
|
imply SND_SOC_TLV320ADC3XXX
|
|
imply SND_SOC_TLV320ADCX140
|
|
imply SND_SOC_TLV320AIC23_I2C
|
|
imply SND_SOC_TLV320AIC23_SPI
|
|
imply SND_SOC_TAS5713
|
|
imply SND_SOC_TLV320AIC26
|
|
imply SND_SOC_TLV320AIC31XX
|
|
imply SND_SOC_TLV320AIC32X4_I2C
|
|
imply SND_SOC_TLV320AIC32X4_SPI
|
|
imply SND_SOC_TLV320AIC3X_I2C
|
|
imply SND_SOC_TLV320AIC3X_SPI
|
|
imply SND_SOC_TPA6130A2
|
|
imply SND_SOC_TLV320DAC33
|
|
imply SND_SOC_TSCS42XX
|
|
imply SND_SOC_TSCS454
|
|
imply SND_SOC_TS3A227E
|
|
imply SND_SOC_TWL4030
|
|
imply SND_SOC_TWL6040
|
|
imply SND_SOC_UDA1334
|
|
imply SND_SOC_UDA1342
|
|
imply SND_SOC_UDA1380
|
|
imply SND_SOC_WCD9335
|
|
imply SND_SOC_WCD934X
|
|
imply SND_SOC_WCD937X_SDW
|
|
imply SND_SOC_WCD938X_SDW
|
|
imply SND_SOC_WCD939X_SDW
|
|
imply SND_SOC_LPASS_MACRO_COMMON
|
|
imply SND_SOC_LPASS_RX_MACRO
|
|
imply SND_SOC_LPASS_TX_MACRO
|
|
imply SND_SOC_WM0010
|
|
imply SND_SOC_WM1250_EV1
|
|
imply SND_SOC_WM2000
|
|
imply SND_SOC_WM2200
|
|
imply SND_SOC_WM5100
|
|
imply SND_SOC_WM5102
|
|
imply SND_SOC_WM5110
|
|
imply SND_SOC_WM8350
|
|
imply SND_SOC_WM8400
|
|
imply SND_SOC_WM8510
|
|
imply SND_SOC_WM8523
|
|
imply SND_SOC_WM8524
|
|
imply SND_SOC_WM8580
|
|
imply SND_SOC_WM8711
|
|
imply SND_SOC_WM8727
|
|
imply SND_SOC_WM8728
|
|
imply SND_SOC_WM8731_I2C
|
|
imply SND_SOC_WM8731_SPI
|
|
imply SND_SOC_WM8737
|
|
imply SND_SOC_WM8741
|
|
imply SND_SOC_WM8750
|
|
imply SND_SOC_WM8753
|
|
imply SND_SOC_WM8770
|
|
imply SND_SOC_WM8776
|
|
imply SND_SOC_WM8782
|
|
imply SND_SOC_WM8804_I2C
|
|
imply SND_SOC_WM8804_SPI
|
|
imply SND_SOC_WM8900
|
|
imply SND_SOC_WM8903
|
|
imply SND_SOC_WM8904
|
|
imply SND_SOC_WM8940
|
|
imply SND_SOC_WM8955
|
|
imply SND_SOC_WM8960
|
|
imply SND_SOC_WM8961
|
|
imply SND_SOC_WM8962
|
|
imply SND_SOC_WM8971
|
|
imply SND_SOC_WM8974
|
|
imply SND_SOC_WM8978
|
|
imply SND_SOC_WM8983
|
|
imply SND_SOC_WM8985
|
|
imply SND_SOC_WM8988
|
|
imply SND_SOC_WM8990
|
|
imply SND_SOC_WM8991
|
|
imply SND_SOC_WM8993
|
|
imply SND_SOC_WM8994
|
|
imply SND_SOC_WM8995
|
|
imply SND_SOC_WM8996
|
|
imply SND_SOC_WM8997
|
|
imply SND_SOC_WM8998
|
|
imply SND_SOC_WM9081
|
|
imply SND_SOC_WM9090
|
|
imply SND_SOC_WM9705
|
|
imply SND_SOC_WM9712
|
|
imply SND_SOC_WM9713
|
|
imply SND_SOC_WSA881X
|
|
imply SND_SOC_WSA883X
|
|
imply SND_SOC_WSA884X
|
|
imply SND_SOC_ZL38060
|
|
help
|
|
Normally ASoC codec drivers are only built if a machine driver which
|
|
uses them is also built since they are only usable with a machine
|
|
driver. Selecting this option will allow these drivers to be built
|
|
without an explicit machine driver for test and development purposes.
|
|
|
|
Support for the bus types used to access the codecs to be built must
|
|
be selected separately.
|
|
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_88PM860X
|
|
tristate
|
|
depends on MFD_88PM860X
|
|
|
|
config SND_SOC_ARIZONA
|
|
tristate
|
|
default y if SND_SOC_CS47L24=y
|
|
default y if SND_SOC_WM5102=y
|
|
default y if SND_SOC_WM5110=y
|
|
default y if SND_SOC_WM8997=y
|
|
default y if SND_SOC_WM8998=y
|
|
default m if SND_SOC_CS47L24=m
|
|
default m if SND_SOC_WM5102=m
|
|
default m if SND_SOC_WM5110=m
|
|
default m if SND_SOC_WM8997=m
|
|
default m if SND_SOC_WM8998=m
|
|
|
|
config SND_SOC_WM_HUBS
|
|
tristate
|
|
default y if SND_SOC_WM8993=y || SND_SOC_WM8994=y
|
|
default m if SND_SOC_WM8993=m || SND_SOC_WM8994=m
|
|
|
|
config SND_SOC_WM_ADSP
|
|
tristate
|
|
select FW_CS_DSP
|
|
select SND_SOC_COMPRESS
|
|
default y if SND_SOC_MADERA=y
|
|
default y if SND_SOC_CS47L24=y
|
|
default y if SND_SOC_WM5102=y
|
|
default y if SND_SOC_WM5110=y
|
|
default y if SND_SOC_WM2200=y
|
|
default y if SND_SOC_CS35L41_SPI=y
|
|
default y if SND_SOC_CS35L41_I2C=y
|
|
default y if SND_SOC_CS35L45_SPI=y
|
|
default y if SND_SOC_CS35L45_I2C=y
|
|
default y if SND_SOC_CS35L56=y
|
|
default y if SND_SOC_CS48L32=y
|
|
default m if SND_SOC_MADERA=m
|
|
default m if SND_SOC_CS47L24=m
|
|
default m if SND_SOC_WM5102=m
|
|
default m if SND_SOC_WM5110=m
|
|
default m if SND_SOC_WM2200=m
|
|
default m if SND_SOC_CS35L41_SPI=m
|
|
default m if SND_SOC_CS35L41_I2C=m
|
|
default m if SND_SOC_CS35L45_SPI=m
|
|
default m if SND_SOC_CS35L45_I2C=m
|
|
default m if SND_SOC_CS35L56=m
|
|
default m if SND_SOC_CS48L32=m
|
|
|
|
config SND_SOC_AB8500_CODEC
|
|
tristate
|
|
depends on ABX500_CORE
|
|
|
|
config SND_SOC_AC97_CODEC
|
|
tristate "Build generic ASoC AC97 CODEC driver"
|
|
select SND_AC97_CODEC
|
|
select SND_SOC_AC97_BUS
|
|
|
|
config SND_SOC_AD1836
|
|
tristate
|
|
depends on SPI_MASTER
|
|
|
|
config SND_SOC_AD193X
|
|
tristate
|
|
|
|
config SND_SOC_AD193X_SPI
|
|
tristate "Analog Devices AU193X CODEC - SPI"
|
|
depends on SPI_MASTER
|
|
select SND_SOC_AD193X
|
|
|
|
config SND_SOC_AD193X_I2C
|
|
tristate "Analog Devices AU193X CODEC - I2C"
|
|
depends on I2C
|
|
select SND_SOC_AD193X
|
|
|
|
config SND_SOC_AD1980
|
|
tristate
|
|
depends on SND_SOC_AC97_BUS
|
|
select REGMAP_AC97
|
|
|
|
config SND_SOC_AD73311
|
|
tristate
|
|
|
|
config SND_SOC_ADAU_UTILS
|
|
tristate
|
|
|
|
config SND_SOC_ADAU1372
|
|
tristate
|
|
select SND_SOC_ADAU_UTILS
|
|
|
|
config SND_SOC_ADAU1372_I2C
|
|
tristate "Analog Devices ADAU1372 CODEC (I2C)"
|
|
depends on I2C
|
|
select SND_SOC_ADAU1372
|
|
select REGMAP_I2C
|
|
|
|
config SND_SOC_ADAU1372_SPI
|
|
tristate "Analog Devices ADAU1372 CODEC (SPI)"
|
|
depends on SPI
|
|
select SND_SOC_ADAU1372
|
|
select REGMAP_SPI
|
|
|
|
config SND_SOC_ADAU1373
|
|
tristate "Analog Devices ADAU1373 CODEC"
|
|
depends on I2C
|
|
select SND_SOC_ADAU_UTILS
|
|
|
|
config SND_SOC_ADAU1701
|
|
tristate "Analog Devices ADAU1701 CODEC"
|
|
depends on I2C
|
|
select SND_SOC_SIGMADSP_I2C
|
|
|
|
config SND_SOC_ADAU17X1
|
|
tristate
|
|
select SND_SOC_SIGMADSP_REGMAP
|
|
select SND_SOC_ADAU_UTILS
|
|
|
|
config SND_SOC_ADAU1761
|
|
tristate
|
|
select SND_SOC_ADAU17X1
|
|
|
|
config SND_SOC_ADAU1761_I2C
|
|
tristate "Analog Devices AU1761 CODEC - I2C"
|
|
depends on I2C
|
|
select SND_SOC_ADAU1761
|
|
select REGMAP_I2C
|
|
|
|
config SND_SOC_ADAU1761_SPI
|
|
tristate "Analog Devices AU1761 CODEC - SPI"
|
|
depends on SPI
|
|
select SND_SOC_ADAU1761
|
|
select REGMAP_SPI
|
|
|
|
config SND_SOC_ADAU1781
|
|
select SND_SOC_ADAU17X1
|
|
tristate
|
|
|
|
config SND_SOC_ADAU1781_I2C
|
|
tristate
|
|
depends on I2C
|
|
select SND_SOC_ADAU1781
|
|
select REGMAP_I2C
|
|
|
|
config SND_SOC_ADAU1781_SPI
|
|
tristate
|
|
depends on SPI_MASTER
|
|
select SND_SOC_ADAU1781
|
|
select REGMAP_SPI
|
|
|
|
config SND_SOC_ADAU1977
|
|
tristate
|
|
|
|
config SND_SOC_ADAU1977_SPI
|
|
tristate
|
|
depends on SPI_MASTER
|
|
select SND_SOC_ADAU1977
|
|
select REGMAP_SPI
|
|
|
|
config SND_SOC_ADAU1977_I2C
|
|
tristate
|
|
depends on I2C
|
|
select SND_SOC_ADAU1977
|
|
select REGMAP_I2C
|
|
|
|
config SND_SOC_ADAU7002
|
|
tristate "Analog Devices ADAU7002 Stereo PDM-to-I2S/TDM Converter"
|
|
|
|
config SND_SOC_ADAU7118
|
|
tristate
|
|
|
|
config SND_SOC_ADAU7118_HW
|
|
tristate "Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM Converter - HW Mode"
|
|
select SND_SOC_ADAU7118
|
|
help
|
|
Enable support for the Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM
|
|
Converter. In this mode, the device works in standalone mode which
|
|
means that there is no bus to communicate with it. Stereo mode is not
|
|
supported in this mode.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called snd-soc-adau7118-hw.
|
|
|
|
config SND_SOC_ADAU7118_I2C
|
|
tristate "Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM Converter - I2C"
|
|
depends on I2C
|
|
select SND_SOC_ADAU7118
|
|
select REGMAP_I2C
|
|
help
|
|
Enable support for the Analog Devices ADAU7118 8 Channel PDM-to-I2S/TDM
|
|
Converter over I2C. This gives full support over the device.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called snd-soc-adau7118-i2c.
|
|
|
|
config SND_SOC_ADAV80X
|
|
tristate
|
|
|
|
config SND_SOC_ADAV801
|
|
tristate
|
|
depends on SPI_MASTER
|
|
select SND_SOC_ADAV80X
|
|
|
|
config SND_SOC_ADAV803
|
|
tristate
|
|
depends on I2C
|
|
select SND_SOC_ADAV80X
|
|
|
|
config SND_SOC_ADS117X
|
|
tristate
|
|
|
|
config SND_SOC_AK4104
|
|
tristate "AKM AK4104 CODEC"
|
|
depends on SPI_MASTER
|
|
|
|
config SND_SOC_AK4118
|
|
tristate "AKM AK4118 CODEC"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
|
|
config SND_SOC_AK4375
|
|
tristate "AKM AK4375 CODEC"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
help
|
|
Enable support for the Asahi-Kasei AK4375 codec.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called snd-soc-ak4375.
|
|
|
|
config SND_SOC_AK4458
|
|
tristate "AKM AK4458 CODEC"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
|
|
config SND_SOC_AK4535
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_AK4554
|
|
tristate "AKM AK4554 CODEC"
|
|
|
|
config SND_SOC_AK4613
|
|
tristate "AKM AK4613 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_AK4619
|
|
tristate "AKM AK4619 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_AK4641
|
|
tristate
|
|
depends on I2C
|
|
depends on GPIOLIB_LEGACY
|
|
|
|
config SND_SOC_AK4642
|
|
tristate "AKM AK4642 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_AK4671
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_AK5386
|
|
tristate "AKM AK5638 CODEC"
|
|
|
|
config SND_SOC_AK5558
|
|
tristate "AKM AK5558 CODEC"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
|
|
config SND_SOC_ALC5623
|
|
tristate "Realtek ALC5623 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_ALC5632
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_AUDIO_IIO_AUX
|
|
tristate "Audio IIO Auxiliary device"
|
|
depends on IIO
|
|
help
|
|
Enable support for Industrial I/O devices as audio auxiliary devices.
|
|
This allows to have an IIO device present in the audio path and
|
|
controlled using mixer controls.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called snd-soc-audio-iio-aux.
|
|
|
|
config SND_SOC_AW8738
|
|
tristate "Awinic AW8738 Audio Amplifier"
|
|
select GPIOLIB
|
|
help
|
|
Enable support for the Awinic AW8738 audio amplifier (or similar).
|
|
The driver supports simple audio amplifiers similar to
|
|
SND_SOC_SIMPLE_AMPLIFIER, but additionally allows setting the
|
|
operation mode using the Awinic-specific one-wire pulse control.
|
|
|
|
config SND_SOC_AW88395_LIB
|
|
select CRC8
|
|
tristate
|
|
|
|
config SND_SOC_AW88395
|
|
tristate "Soc Audio for awinic aw88395"
|
|
depends on I2C
|
|
select CRC32
|
|
select REGMAP_I2C
|
|
select GPIOLIB
|
|
select SND_SOC_AW88395_LIB
|
|
help
|
|
this option enables support for aw88395 Smart PA.
|
|
The Awinic AW88395 is an I2S/TDM input, high efficiency
|
|
digital Smart K audio amplifier with an integrated 10V
|
|
smart boost convert.
|
|
|
|
config SND_SOC_AW88166
|
|
tristate "Soc Audio for awinic aw88166"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
select GPIOLIB
|
|
select SND_SOC_AW88395_LIB
|
|
help
|
|
This option enables support for aw88166 Smart PA.
|
|
The awinic AW88166 is an I2S/TDM input, high efficiency
|
|
digital Smart K audio amplifier with sound quality
|
|
enhancement algorithms and speaker protection.
|
|
|
|
config SND_SOC_AW88261
|
|
tristate "Soc Audio for awinic aw88261"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
select GPIOLIB
|
|
select SND_SOC_AW88395_LIB
|
|
help
|
|
This option enables support for aw88261 Smart PA.
|
|
The awinic AW88261 is an I2S/TDM input, high efficiency
|
|
digital Smart K audio amplifier. The output voltage of
|
|
boost converter can be adjusted smartly according to
|
|
the input amplitude.
|
|
|
|
config SND_SOC_AW88081
|
|
tristate "Soc Audio for awinic aw88081/aw88083"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
select SND_SOC_AW88395_LIB
|
|
help
|
|
This option enables support for aw88081 Smart PA.
|
|
The awinic AW88081 is an I2S/TDM input, high efficiency
|
|
digital Smart K audio amplifier. Due to its 9uV noise
|
|
floor and ultra-low distortion, clean listening is guaranteed.
|
|
|
|
config SND_SOC_AW87390
|
|
tristate "Soc Audio for awinic aw87390"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
select SND_SOC_AW88395_LIB
|
|
help
|
|
The awinic aw87390 is specifically designed to improve
|
|
the musical output dynamic range, enhance the overall
|
|
sound quality, which is a new high efficiency, low
|
|
noise, constant large volume, 6th Smart K audio amplifier.
|
|
|
|
config SND_SOC_AW88399
|
|
tristate "Soc Audio for awinic aw88399"
|
|
depends on I2C
|
|
select CRC8
|
|
select REGMAP_I2C
|
|
select GPIOLIB
|
|
select SND_SOC_AW88395_LIB
|
|
help
|
|
This option enables support for aw88399 Smart PA.
|
|
The awinic AW88399 is an I2S/TDM input, high efficiency
|
|
digital Smart K audio amplifier and SKTune speaker
|
|
protection algorithms.
|
|
|
|
config SND_SOC_BD28623
|
|
tristate "ROHM BD28623 CODEC"
|
|
help
|
|
Enable support for ROHM BD28623MUV Class D speaker amplifier.
|
|
This codec does not have any control buses such as I2C, it
|
|
detect format of I2S automatically.
|
|
|
|
config SND_SOC_BT_SCO
|
|
tristate "Dummy BT SCO codec driver"
|
|
|
|
config SND_SOC_CHV3_CODEC
|
|
tristate "Google Chameleon v3 codec driver"
|
|
help
|
|
Enable support for the Google Chameleon v3 audio codec.
|
|
This codec does not have a control interface, it always outputs
|
|
8 channel S32_LE audio.
|
|
|
|
config SND_SOC_CPCAP
|
|
tristate "Motorola CPCAP codec"
|
|
depends on MFD_CPCAP || COMPILE_TEST
|
|
|
|
config SND_SOC_CQ0093VC
|
|
tristate
|
|
|
|
config SND_SOC_CROS_EC_CODEC
|
|
tristate "codec driver for ChromeOS EC"
|
|
depends on CROS_EC
|
|
select CRYPTO
|
|
select CRYPTO_LIB_SHA256
|
|
help
|
|
If you say yes here you will get support for the
|
|
ChromeOS Embedded Controller's Audio Codec.
|
|
|
|
config SND_SOC_CS_AMP_LIB
|
|
tristate
|
|
|
|
config SND_SOC_CS_AMP_LIB_TEST
|
|
tristate "KUnit test for Cirrus Logic cs-amp-lib" if !KUNIT_ALL_TESTS
|
|
depends on SND_SOC_CS_AMP_LIB && KUNIT
|
|
default KUNIT_ALL_TESTS
|
|
help
|
|
This builds KUnit tests for the Cirrus Logic common
|
|
amplifier library.
|
|
For more information on KUnit and unit tests in general,
|
|
please refer to the KUnit documentation in
|
|
Documentation/dev-tools/kunit/.
|
|
If in doubt, say "N".
|
|
|
|
config SND_SOC_CS35L32
|
|
tristate "Cirrus Logic CS35L32 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_CS35L33
|
|
tristate "Cirrus Logic CS35L33 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_CS35L34
|
|
tristate "Cirrus Logic CS35L34 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_CS35L35
|
|
tristate "Cirrus Logic CS35L35 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_CS35L36
|
|
tristate "Cirrus Logic CS35L36 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_CS35L41_LIB
|
|
tristate
|
|
|
|
config SND_SOC_CS35L41
|
|
tristate
|
|
|
|
config SND_SOC_CS35L41_SPI
|
|
tristate "Cirrus Logic CS35L41 CODEC (SPI)"
|
|
depends on SPI_MASTER
|
|
select SND_SOC_CS35L41_LIB
|
|
select SND_SOC_CS35L41
|
|
select REGMAP_SPI
|
|
|
|
config SND_SOC_CS35L41_I2C
|
|
tristate "Cirrus Logic CS35L41 CODEC (I2C)"
|
|
depends on I2C
|
|
select SND_SOC_CS35L41_LIB
|
|
select SND_SOC_CS35L41
|
|
select REGMAP_I2C
|
|
|
|
config SND_SOC_CS35L45
|
|
tristate
|
|
select REGMAP_IRQ
|
|
|
|
config SND_SOC_CS35L45_SPI
|
|
tristate "Cirrus Logic CS35L45 CODEC (SPI)"
|
|
depends on SPI_MASTER
|
|
select REGMAP
|
|
select REGMAP_SPI
|
|
select SND_SOC_CS35L45
|
|
help
|
|
Enable support for Cirrus Logic CS35L45 smart speaker amplifier
|
|
with SPI control.
|
|
|
|
config SND_SOC_CS35L45_I2C
|
|
tristate "Cirrus Logic CS35L45 CODEC (I2C)"
|
|
depends on I2C
|
|
select REGMAP
|
|
select REGMAP_I2C
|
|
select SND_SOC_CS35L45
|
|
help
|
|
Enable support for Cirrus Logic CS35L45 smart speaker amplifier
|
|
with I2C control.
|
|
|
|
config SND_SOC_CS35L56
|
|
tristate
|
|
|
|
config SND_SOC_CS35L56_SHARED
|
|
select SND_SOC_CS_AMP_LIB
|
|
tristate
|
|
|
|
config SND_SOC_CS35L56_I2C
|
|
tristate "Cirrus Logic CS35L56 CODEC (I2C)"
|
|
depends on I2C
|
|
depends on SOUNDWIRE || !SOUNDWIRE
|
|
select REGMAP_I2C
|
|
select SND_SOC_CS35L56
|
|
select SND_SOC_CS35L56_SHARED
|
|
help
|
|
Enable support for Cirrus Logic CS35L56 boosted amplifier with I2C control
|
|
|
|
config SND_SOC_CS35L56_SPI
|
|
tristate "Cirrus Logic CS35L56 CODEC (SPI)"
|
|
depends on SPI_MASTER
|
|
depends on SOUNDWIRE || !SOUNDWIRE
|
|
select REGMAP_SPI
|
|
select SND_SOC_CS35L56
|
|
select SND_SOC_CS35L56_SHARED
|
|
help
|
|
Enable support for Cirrus Logic CS35L56 boosted amplifier with SPI control
|
|
|
|
config SND_SOC_CS35L56_SDW
|
|
tristate "Cirrus Logic CS35L56 CODEC (SDW)"
|
|
depends on SOUNDWIRE
|
|
select REGMAP
|
|
select SND_SOC_CS35L56
|
|
select SND_SOC_CS35L56_SHARED
|
|
help
|
|
Enable support for Cirrus Logic CS35L56 boosted amplifier with SoundWire control
|
|
|
|
config SND_SOC_CS40L50
|
|
tristate "Cirrus Logic CS40L50 CODEC"
|
|
depends on MFD_CS40L50_CORE
|
|
help
|
|
This option enables support for I2S streaming to Cirrus Logic CS40L50.
|
|
|
|
CS40L50 is a haptic driver with waveform memory, an integrated
|
|
DSP, and closed-loop algorithms. If built as a module, it will be
|
|
called snd-soc-cs40l50.
|
|
|
|
config SND_SOC_CS42L42_CORE
|
|
tristate
|
|
|
|
config SND_SOC_CS42L42
|
|
tristate "Cirrus Logic CS42L42 CODEC (I2C)"
|
|
depends on I2C
|
|
select REGMAP
|
|
select REGMAP_I2C
|
|
select SND_SOC_CS42L42_CORE
|
|
|
|
config SND_SOC_CS42L42_SDW
|
|
tristate "Cirrus Logic CS42L42 CODEC on Soundwire"
|
|
depends on SOUNDWIRE
|
|
select SND_SOC_CS42L42_CORE
|
|
help
|
|
Enable support for Cirrus Logic CS42L42 codec with Soundwire control
|
|
|
|
config SND_SOC_CS42L43
|
|
tristate "Cirrus Logic CS42L43 CODEC"
|
|
depends on MFD_CS42L43
|
|
help
|
|
Select this to support the audio functions of the Cirrus Logic
|
|
CS42L43 PC CODEC.
|
|
|
|
config SND_SOC_CS42L43_SDW
|
|
tristate "Cirrus Logic CS42L43 CODEC (SoundWire)"
|
|
depends on SND_SOC_CS42L43 && MFD_CS42L43_SDW
|
|
help
|
|
Select this to support the audio functions of the Cirrus Logic
|
|
CS42L43 PC CODEC over SoundWire.
|
|
|
|
config SND_SOC_CS42L51
|
|
tristate
|
|
|
|
config SND_SOC_CS42L51_I2C
|
|
tristate "Cirrus Logic CS42L51 CODEC (I2C)"
|
|
depends on I2C
|
|
select SND_SOC_CS42L51
|
|
|
|
config SND_SOC_CS42L52
|
|
tristate "Cirrus Logic CS42L52 CODEC"
|
|
depends on I2C && INPUT
|
|
|
|
config SND_SOC_CS42L56
|
|
tristate "Cirrus Logic CS42L56 CODEC"
|
|
depends on I2C && INPUT
|
|
|
|
config SND_SOC_CS42L73
|
|
tristate "Cirrus Logic CS42L73 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_CS42L83
|
|
tristate "Cirrus Logic CS42L83 CODEC"
|
|
depends on I2C
|
|
select REGMAP
|
|
select REGMAP_I2C
|
|
select SND_SOC_CS42L42_CORE
|
|
|
|
config SND_SOC_CS42L84
|
|
tristate "Cirrus Logic CS42L84 CODEC"
|
|
depends on I2C
|
|
select REGMAP
|
|
select REGMAP_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
|
|
select REGMAP_I2C
|
|
|
|
# Cirrus Logic CS4270 Codec
|
|
config SND_SOC_CS4270
|
|
tristate "Cirrus Logic CS4270 CODEC"
|
|
depends on I2C
|
|
|
|
# Cirrus Logic CS4270 Codec VD = 3.3V Errata
|
|
# Select if you are affected by the errata where the part will not function
|
|
# if MCLK divide-by-1.5 is selected and VD is set to 3.3V. The driver will
|
|
# not select any sample rates that require MCLK to be divided by 1.5.
|
|
config SND_SOC_CS4270_VD33_ERRATA
|
|
bool
|
|
depends on SND_SOC_CS4270
|
|
|
|
config SND_SOC_CS4271
|
|
tristate
|
|
|
|
config SND_SOC_CS4271_I2C
|
|
tristate "Cirrus Logic CS4271 CODEC (I2C)"
|
|
depends on I2C
|
|
select SND_SOC_CS4271
|
|
select REGMAP_I2C
|
|
|
|
config SND_SOC_CS4271_SPI
|
|
tristate "Cirrus Logic CS4271 CODEC (SPI)"
|
|
depends on SPI_MASTER
|
|
select SND_SOC_CS4271
|
|
select REGMAP_SPI
|
|
|
|
config SND_SOC_CS42XX8
|
|
tristate
|
|
|
|
config SND_SOC_CS42XX8_I2C
|
|
tristate "Cirrus Logic CS42448/CS42888 CODEC (I2C)"
|
|
depends on I2C
|
|
select SND_SOC_CS42XX8
|
|
select REGMAP_I2C
|
|
|
|
# Cirrus Logic CS43130 HiFi DAC
|
|
config SND_SOC_CS43130
|
|
tristate "Cirrus Logic CS43130 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_CS4341
|
|
tristate "Cirrus Logic CS4341 CODEC"
|
|
depends on SND_SOC_I2C_AND_SPI
|
|
select REGMAP_I2C if I2C
|
|
select REGMAP_SPI if SPI_MASTER
|
|
|
|
# Cirrus Logic CS4349 HiFi DAC
|
|
config SND_SOC_CS4349
|
|
tristate "Cirrus Logic CS4349 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_CS47L15
|
|
tristate
|
|
depends on MFD_CS47L15
|
|
|
|
config SND_SOC_CS47L24
|
|
tristate
|
|
depends on MFD_CS47L24 && MFD_ARIZONA
|
|
|
|
config SND_SOC_CS47L35
|
|
tristate
|
|
depends on MFD_CS47L35
|
|
|
|
config SND_SOC_CS47L85
|
|
tristate
|
|
depends on MFD_CS47L85
|
|
|
|
config SND_SOC_CS47L90
|
|
tristate
|
|
depends on MFD_CS47L90
|
|
|
|
config SND_SOC_CS47L92
|
|
tristate
|
|
depends on MFD_CS47L92
|
|
|
|
config SND_SOC_CS48L32
|
|
tristate "Cirrus Logic CS48L32 audio DSP"
|
|
depends on SPI_MASTER
|
|
select REGMAP_SPI
|
|
help
|
|
Build the codec driver for the Cirrus Logic CS48L32 audio DSP.
|
|
|
|
# Cirrus Logic Quad-Channel ADC
|
|
config SND_SOC_CS53L30
|
|
tristate "Cirrus Logic CS53L30 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_CS530X
|
|
tristate
|
|
|
|
config SND_SOC_CS530X_I2C
|
|
tristate "Cirrus Logic CS530x ADCs (I2C)"
|
|
depends on I2C
|
|
select REGMAP
|
|
select REGMAP_I2C
|
|
select SND_SOC_CS530X
|
|
help
|
|
Enable support for Cirrus Logic CS530X ADCs
|
|
with I2C control.
|
|
|
|
config SND_SOC_CX20442
|
|
tristate
|
|
depends on TTY
|
|
|
|
config SND_SOC_CX2072X
|
|
tristate "Conexant CX2072X CODEC"
|
|
depends on I2C
|
|
help
|
|
Enable support for Conexant CX20721 and CX20723 codec chips.
|
|
|
|
config SND_SOC_JZ4740_CODEC
|
|
depends on MACH_INGENIC || COMPILE_TEST
|
|
depends on OF
|
|
select REGMAP_MMIO
|
|
tristate "Ingenic JZ4740 internal CODEC"
|
|
help
|
|
Enable support for the internal CODEC found in the JZ4740 SoC
|
|
from Ingenic.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called snd-soc-jz4740-codec.
|
|
|
|
config SND_SOC_JZ4725B_CODEC
|
|
depends on MACH_INGENIC || COMPILE_TEST
|
|
depends on OF
|
|
select REGMAP
|
|
tristate "Ingenic JZ4725B internal CODEC"
|
|
help
|
|
Enable support for the internal CODEC found in the JZ4725B SoC
|
|
from Ingenic.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called snd-soc-jz4725b-codec.
|
|
|
|
config SND_SOC_JZ4760_CODEC
|
|
depends on MACH_INGENIC || COMPILE_TEST
|
|
depends on OF
|
|
select REGMAP
|
|
tristate "Ingenic JZ4760 internal CODEC"
|
|
help
|
|
Enable support for the internal CODEC found in the JZ4760 SoC
|
|
from Ingenic.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called snd-soc-jz4760-codec.
|
|
|
|
config SND_SOC_JZ4770_CODEC
|
|
depends on MACH_INGENIC || COMPILE_TEST
|
|
depends on OF
|
|
select REGMAP
|
|
tristate "Ingenic JZ4770 internal CODEC"
|
|
help
|
|
Enable support for the internal CODEC found in the JZ4770 SoC
|
|
from Ingenic.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called snd-soc-jz4770-codec.
|
|
|
|
config SND_SOC_DA7210
|
|
tristate
|
|
depends on SND_SOC_I2C_AND_SPI
|
|
|
|
config SND_SOC_DA7213
|
|
tristate "Dialog DA7213 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_DA7218
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_DA7219
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_DA732X
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_DA9055
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_DMIC
|
|
tristate "Generic Digital Microphone CODEC"
|
|
help
|
|
Enable support for the Generic Digital Microphone CODEC.
|
|
Select this if your sound card has DMICs.
|
|
|
|
config SND_SOC_HDMI_CODEC
|
|
tristate
|
|
select SND_PCM_ELD
|
|
select SND_PCM_IEC958
|
|
select HDMI
|
|
|
|
config SND_SOC_ES7134
|
|
tristate "Everest Semi ES7134 CODEC"
|
|
|
|
config SND_SOC_ES7241
|
|
tristate "Everest Semi ES7241 CODEC"
|
|
|
|
config SND_SOC_ES83XX_DSM_COMMON
|
|
depends on ACPI
|
|
tristate
|
|
|
|
config SND_SOC_ES8311
|
|
tristate "Everest Semi ES8311 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_ES8316
|
|
tristate "Everest Semi ES8316 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_ES8323
|
|
tristate "Everest Semi ES8323 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_ES8326
|
|
tristate "Everest Semi ES8326 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_ES8328
|
|
tristate
|
|
|
|
config SND_SOC_ES8328_I2C
|
|
tristate "Everest Semi ES8328 CODEC (I2C)"
|
|
depends on I2C
|
|
select SND_SOC_ES8328
|
|
|
|
config SND_SOC_ES8328_SPI
|
|
tristate "Everest Semi ES8328 CODEC (SPI)"
|
|
depends on SPI_MASTER
|
|
select SND_SOC_ES8328
|
|
|
|
config SND_SOC_ES8375
|
|
tristate "Everest Semi ES8375 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_ES8389
|
|
tristate "Everest Semi ES8389 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_FRAMER
|
|
tristate "Framer codec"
|
|
depends on GENERIC_FRAMER
|
|
help
|
|
Enable support for the framer codec.
|
|
The framer codec uses the generic framer infrastructure to transport
|
|
some audio data over an analog E1/T1/J1 line.
|
|
This codec allows to use some of the time slots available on the TDM
|
|
bus on which the framer is connected to transport the audio data.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called snd-soc-framer.
|
|
|
|
config SND_SOC_FS_AMP_LIB
|
|
select CRC16
|
|
tristate
|
|
|
|
config SND_SOC_FS210X
|
|
tristate 'FourSemi FS2104/5S digital audio amplifier'
|
|
depends on I2C
|
|
select GPIOLIB
|
|
select REGMAP_I2C
|
|
select SND_SOC_FS_AMP_LIB
|
|
help
|
|
Enable support for FourSemi FS2104/5S digital audio amplifier.
|
|
The FS2104/5S are Inductor-Less, Stereo, Closed-Loop,
|
|
Digital Input Class-D Power Amplifiers with Enhanced Signal Processing.
|
|
The amplifiers support I2C and I2S/TDM.
|
|
|
|
config SND_SOC_GTM601
|
|
tristate 'GTM601 UMTS modem audio codec'
|
|
|
|
config SND_SOC_HDAC_HDMI
|
|
tristate
|
|
select SND_HDA_EXT_CORE
|
|
select SND_PCM_ELD
|
|
select HDMI
|
|
|
|
config SND_SOC_HDAC_HDA
|
|
tristate
|
|
select SND_HDA
|
|
|
|
config SND_SOC_HDA
|
|
tristate "HD-Audio codec driver"
|
|
select SND_HDA_EXT_CORE
|
|
select SND_HDA
|
|
help
|
|
This enables HD-Audio codec support in ASoC subsystem. Compared
|
|
to SND_SOC_HDAC_HDA, driver's behavior is identical to HD-Audio
|
|
legacy solution - including the dynamic resource allocation
|
|
based on actual codec capabilities.
|
|
|
|
config SND_SOC_ICS43432
|
|
tristate "ICS43423 and compatible i2s microphones"
|
|
|
|
config SND_SOC_IDT821034
|
|
tristate "Renesas IDT821034 quad PCM codec"
|
|
depends on SPI
|
|
help
|
|
Enable support for the Renesas IDT821034 quad PCM with
|
|
programmable gain codec.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called snd-soc-idt821034.
|
|
|
|
config SND_SOC_INNO_RK3036
|
|
tristate "Inno codec driver for RK3036 SoC"
|
|
depends on ARCH_ROCKCHIP || COMPILE_TEST
|
|
select REGMAP_MMIO
|
|
|
|
config SND_SOC_ISABELLE
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_LM49453
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_LOCHNAGAR_SC
|
|
tristate "Lochnagar Sound Card"
|
|
depends on MFD_LOCHNAGAR || COMPILE_TEST
|
|
help
|
|
This driver support the sound card functionality of the Cirrus
|
|
Logic Lochnagar audio development board.
|
|
|
|
config SND_SOC_MA120X0P
|
|
tristate "Infineon Merus(TM) MA120X0P Multilevel Class-D Audio amplifiers"
|
|
depends on I2C
|
|
help
|
|
Enable support for Infineon MA120X0P Multilevel Class-D audio power
|
|
amplifiers.
|
|
|
|
config SND_SOC_MADERA
|
|
tristate
|
|
default y if SND_SOC_CS47L15=y
|
|
default y if SND_SOC_CS47L35=y
|
|
default y if SND_SOC_CS47L85=y
|
|
default y if SND_SOC_CS47L90=y
|
|
default y if SND_SOC_CS47L92=y
|
|
default m if SND_SOC_CS47L15=m
|
|
default m if SND_SOC_CS47L35=m
|
|
default m if SND_SOC_CS47L85=m
|
|
default m if SND_SOC_CS47L90=m
|
|
default m if SND_SOC_CS47L92=m
|
|
|
|
config SND_SOC_MAX98088
|
|
tristate "Maxim MAX98088/9 Low-Power, Stereo Audio Codec"
|
|
depends on I2C
|
|
|
|
config SND_SOC_MAX98090
|
|
tristate "Maxim MAX98090 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_MAX98095
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_MAX98357A
|
|
tristate "Maxim MAX98357A CODEC"
|
|
|
|
config SND_SOC_MAX98371
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_MAX98504
|
|
tristate "Maxim MAX98504 speaker amplifier"
|
|
depends on I2C
|
|
|
|
config SND_SOC_MAX9867
|
|
tristate "Maxim MAX9867 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_MAX98925
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_MAX98926
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_MAX98927
|
|
tristate "Maxim Integrated MAX98927 Speaker Amplifier"
|
|
depends on I2C
|
|
|
|
config SND_SOC_MAX98520
|
|
tristate "Maxim Integrated MAX98520 Speaker Amplifier"
|
|
depends on I2C
|
|
help
|
|
Enable support for Maxim Integrated MAX98520 audio
|
|
amplifier, which implements a tripler charge pump
|
|
based boost converter and supports sample rates of
|
|
8KHz to 192KHz.
|
|
|
|
To compile this driver as a module, choose M here.
|
|
|
|
config SND_SOC_MAX98363
|
|
tristate "Analog Devices MAX98363 Soundwire Speaker Amplifier"
|
|
depends on SOUNDWIRE
|
|
select REGMAP_SOUNDWIRE
|
|
help
|
|
Enable support for Analog Devices MAX98363 Soundwire
|
|
amplifier. MAX98363 supports the MIPI SoundWire v1.2
|
|
compatible interface for audio and control data.
|
|
This amplifier does not support I2C and I2S.
|
|
|
|
config SND_SOC_MAX98373
|
|
tristate
|
|
|
|
config SND_SOC_MAX98373_I2C
|
|
tristate "Maxim Integrated MAX98373 Speaker Amplifier"
|
|
depends on I2C
|
|
select SND_SOC_MAX98373
|
|
|
|
config SND_SOC_MAX98373_SDW
|
|
tristate "Maxim Integrated MAX98373 Speaker Amplifier - SDW"
|
|
depends on SOUNDWIRE
|
|
select SND_SOC_MAX98373
|
|
select REGMAP_SOUNDWIRE
|
|
help
|
|
Enable support for Maxim Integrated MAX98373 Soundwire
|
|
amplifier. MAX98373 supports either the MIPI SoundWire
|
|
compatible interface for audio and control data, or
|
|
the PCM interface for audio data and a standard I2C
|
|
interface for control data. Select this if MAX98373 is
|
|
connected via soundwire.
|
|
|
|
config SND_SOC_MAX98388
|
|
tristate "Analog Devices MAX98388 Speaker Amplifier"
|
|
depends on I2C
|
|
help
|
|
Enable support for Analog Devices MAX98388 audio
|
|
amplifier. The device provides a PCM interface for
|
|
audio data and a standard I2C interface for control
|
|
data communication.
|
|
|
|
config SND_SOC_MAX98390
|
|
tristate "Maxim Integrated MAX98390 Speaker Amplifier"
|
|
depends on I2C
|
|
|
|
config SND_SOC_MAX98396
|
|
tristate "Analog Devices MAX98396 Speaker Amplifier"
|
|
depends on I2C
|
|
help
|
|
Enable support for Analog Devices MAX98396 audio
|
|
amplifier. The device provides a PCM interface for
|
|
audio data and a standard I2C interface for control
|
|
data communication.
|
|
|
|
config SND_SOC_MAX9850
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_MAX9860
|
|
tristate "Maxim MAX9860 Mono Audio Voice Codec"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
|
|
config SND_SOC_MSM8916_WCD_ANALOG
|
|
tristate "Qualcomm MSM8916 WCD Analog Codec"
|
|
depends on SPMI || COMPILE_TEST
|
|
|
|
config SND_SOC_MSM8916_WCD_DIGITAL
|
|
tristate "Qualcomm MSM8916 WCD DIGITAL Codec"
|
|
select REGMAP_MMIO
|
|
|
|
config SND_SOC_PCM1681
|
|
tristate "Texas Instruments PCM1681 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_PCM1754
|
|
tristate "Texas Instruments PCM1754 CODEC"
|
|
depends on GPIOLIB
|
|
|
|
config SND_SOC_PCM1789
|
|
tristate
|
|
|
|
config SND_SOC_PCM1789_I2C
|
|
tristate "Texas Instruments PCM1789 CODEC (I2C)"
|
|
depends on I2C
|
|
select SND_SOC_PCM1789
|
|
help
|
|
Enable support for Texas Instruments PCM1789 CODEC.
|
|
Select this if your PCM1789 is connected via an I2C bus.
|
|
|
|
config SND_SOC_PCM179X
|
|
tristate
|
|
|
|
config SND_SOC_PCM179X_I2C
|
|
tristate "Texas Instruments PCM179X CODEC (I2C)"
|
|
depends on I2C
|
|
select SND_SOC_PCM179X
|
|
help
|
|
Enable support for Texas Instruments PCM179x CODEC.
|
|
Select this if your PCM179x is connected via an I2C bus.
|
|
|
|
config SND_SOC_PCM179X_SPI
|
|
tristate "Texas Instruments PCM179X CODEC (SPI)"
|
|
depends on SPI_MASTER
|
|
select SND_SOC_PCM179X
|
|
help
|
|
Enable support for Texas Instruments PCM179x CODEC.
|
|
Select this if your PCM179x is connected via an SPI bus.
|
|
|
|
config SND_SOC_PCM186X
|
|
tristate
|
|
|
|
config SND_SOC_PCM186X_I2C
|
|
tristate "Texas Instruments PCM186x CODECs - I2C"
|
|
depends on I2C
|
|
select SND_SOC_PCM186X
|
|
select REGMAP_I2C
|
|
|
|
config SND_SOC_PCM186X_SPI
|
|
tristate "Texas Instruments PCM186x CODECs - SPI"
|
|
depends on SPI_MASTER
|
|
select SND_SOC_PCM186X
|
|
select REGMAP_SPI
|
|
|
|
config SND_SOC_PCM3008
|
|
tristate
|
|
|
|
config SND_SOC_PCM3060
|
|
tristate
|
|
|
|
config SND_SOC_PCM3060_I2C
|
|
tristate "Texas Instruments PCM3060 CODEC - I2C"
|
|
depends on I2C
|
|
select SND_SOC_PCM3060
|
|
select REGMAP_I2C
|
|
|
|
config SND_SOC_PCM3060_SPI
|
|
tristate "Texas Instruments PCM3060 CODEC - SPI"
|
|
depends on SPI_MASTER
|
|
select SND_SOC_PCM3060
|
|
select REGMAP_SPI
|
|
|
|
config SND_SOC_PCM3168A
|
|
tristate
|
|
|
|
config SND_SOC_PCM3168A_I2C
|
|
tristate "Texas Instruments PCM3168A CODEC - I2C"
|
|
depends on I2C
|
|
select SND_SOC_PCM3168A
|
|
select REGMAP_I2C
|
|
|
|
config SND_SOC_PCM3168A_SPI
|
|
tristate "Texas Instruments PCM3168A CODEC - SPI"
|
|
depends on SPI_MASTER
|
|
select SND_SOC_PCM3168A
|
|
select REGMAP_SPI
|
|
|
|
config SND_SOC_PCM5102A
|
|
tristate "Texas Instruments PCM5102A CODEC"
|
|
|
|
config SND_SOC_PCM512x
|
|
tristate
|
|
|
|
config SND_SOC_PCM512x_I2C
|
|
tristate "Texas Instruments PCM512x CODECs - I2C"
|
|
depends on I2C
|
|
select SND_SOC_PCM512x
|
|
select REGMAP_I2C
|
|
|
|
config SND_SOC_PCM512x_SPI
|
|
tristate "Texas Instruments PCM512x CODECs - SPI"
|
|
depends on SPI_MASTER
|
|
select SND_SOC_PCM512x
|
|
select REGMAP_SPI
|
|
|
|
config SND_SOC_PCM6240
|
|
tristate "Texas Instruments PCM6240 Family Audio chips based on I2C"
|
|
depends on I2C
|
|
help
|
|
Enable support for Texas Instruments PCM6240 Family Audio chips.
|
|
Note the PCM6240 driver implements a flexible and configurable
|
|
setting for register and filter coefficients, to one, two or
|
|
even multiple PCM6240 Family Audio chips.
|
|
|
|
config SND_SOC_PEB2466
|
|
tristate "Infineon PEB2466 quad PCM codec"
|
|
depends on SPI
|
|
select REGMAP_SPI
|
|
help
|
|
Enable support for the Infineon PEB2466 quad PCM codec,
|
|
also named SICOFI 4-uC.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called snd-soc-peb2466.
|
|
|
|
config SND_SOC_PM4125
|
|
depends on SND_SOC_PM4125_SDW
|
|
tristate
|
|
depends on SOUNDWIRE || !SOUNDWIRE
|
|
|
|
config SND_SOC_PM4125_SDW
|
|
tristate "PM4125 audio codec - SDW"
|
|
select SND_SOC_PM4125
|
|
select SND_SOC_WCD_MBHC
|
|
select REGMAP_IRQ
|
|
depends on SOUNDWIRE
|
|
select REGMAP_SOUNDWIRE
|
|
help
|
|
The PMIC PM4125 has an in-built audio codec IC used with SoCs
|
|
like QCM2290, and it is connected via soundwire and SPMI.
|
|
To compile this codec driver say Y or m.
|
|
|
|
config SND_SOC_RK3308
|
|
tristate "Rockchip RK3308 audio CODEC"
|
|
depends on ARM64 || COMPILE_TEST
|
|
depends on ARCH_ROCKCHIP || COMPILE_TEST
|
|
select REGMAP_MMIO
|
|
help
|
|
This is a device driver for the audio codec embedded in the
|
|
Rockchip RK3308 SoC.
|
|
|
|
It has 8 24-bit ADCs and 2 24-bit DACs. The maximum supported
|
|
sampling rate is 192 kHz.
|
|
|
|
config SND_SOC_RK3328
|
|
tristate "Rockchip RK3328 audio CODEC"
|
|
depends on ARCH_ROCKCHIP || COMPILE_TEST
|
|
select REGMAP_MMIO
|
|
|
|
config SND_SOC_RK817
|
|
tristate "Rockchip RK817 audio CODEC"
|
|
depends on MFD_RK8XX || COMPILE_TEST
|
|
|
|
config SND_SOC_RL6231
|
|
tristate
|
|
default y if SND_SOC_RT5514=y
|
|
default y if SND_SOC_RT5616=y
|
|
default y if SND_SOC_RT5640=y
|
|
default y if SND_SOC_RT5645=y
|
|
default y if SND_SOC_RT5651=y
|
|
default y if SND_SOC_RT5659=y
|
|
default y if SND_SOC_RT5660=y
|
|
default y if SND_SOC_RT5663=y
|
|
default y if SND_SOC_RT5665=y
|
|
default y if SND_SOC_RT5668=y
|
|
default y if SND_SOC_RT5670=y
|
|
default y if SND_SOC_RT5677=y
|
|
default y if SND_SOC_RT5682=y
|
|
default y if SND_SOC_RT1011=y
|
|
default y if SND_SOC_RT1015=y
|
|
default y if SND_SOC_RT1015P=y
|
|
default y if SND_SOC_RT1019=y
|
|
default y if SND_SOC_RT1305=y
|
|
default y if SND_SOC_RT1308=y
|
|
default m if SND_SOC_RT5514=m
|
|
default m if SND_SOC_RT5616=m
|
|
default m if SND_SOC_RT5640=m
|
|
default m if SND_SOC_RT5645=m
|
|
default m if SND_SOC_RT5651=m
|
|
default m if SND_SOC_RT5659=m
|
|
default m if SND_SOC_RT5660=m
|
|
default m if SND_SOC_RT5663=m
|
|
default m if SND_SOC_RT5665=m
|
|
default m if SND_SOC_RT5668=m
|
|
default m if SND_SOC_RT5670=m
|
|
default m if SND_SOC_RT5677=m
|
|
default m if SND_SOC_RT5682=m
|
|
default m if SND_SOC_RT1011=m
|
|
default m if SND_SOC_RT1015=m
|
|
default m if SND_SOC_RT1015P=m
|
|
default m if SND_SOC_RT1019=m
|
|
default m if SND_SOC_RT1305=m
|
|
default m if SND_SOC_RT1308=m
|
|
|
|
config SND_SOC_RT_SDW_COMMON
|
|
tristate
|
|
default y if SND_SOC_RT721_SDCA_SDW=y
|
|
default m if SND_SOC_RT721_SDCA_SDW=m
|
|
|
|
config SND_SOC_RL6347A
|
|
tristate
|
|
default y if SND_SOC_RT274=y
|
|
default y if SND_SOC_RT286=y
|
|
default y if SND_SOC_RT298=y
|
|
default m if SND_SOC_RT274=m
|
|
default m if SND_SOC_RT286=m
|
|
default m if SND_SOC_RT298=m
|
|
|
|
config SND_SOC_RT274
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_RT286
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_RT298
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_RT1011
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_RT1015
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_RT1015P
|
|
tristate
|
|
|
|
config SND_SOC_RT1016
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_RT1017_SDCA_SDW
|
|
tristate "Realtek RT1017 SDCA Codec - SDW"
|
|
depends on SOUNDWIRE
|
|
select REGMAP_SOUNDWIRE
|
|
|
|
config SND_SOC_RT1019
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_RT1305
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_RT1308
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_RT1308_SDW
|
|
tristate "Realtek RT1308 Codec - SDW"
|
|
depends on I2C && SOUNDWIRE
|
|
select REGMAP_SOUNDWIRE
|
|
|
|
config SND_SOC_RT1316_SDW
|
|
tristate "Realtek RT1316 Codec - SDW"
|
|
depends on SOUNDWIRE
|
|
select REGMAP_SOUNDWIRE
|
|
|
|
config SND_SOC_RT1318
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_RT1318_SDW
|
|
tristate "Realtek RT1318 Codec - SDW"
|
|
depends on SOUNDWIRE
|
|
select REGMAP_SOUNDWIRE
|
|
|
|
config SND_SOC_RT1320_SDW
|
|
tristate "Realtek RT1320 Codec - SDW"
|
|
depends on SOUNDWIRE
|
|
select REGMAP_SOUNDWIRE
|
|
select REGMAP_SOUNDWIRE_MBQ
|
|
|
|
config SND_SOC_RT5514
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_RT5514_SPI
|
|
tristate
|
|
depends on SPI_MASTER
|
|
|
|
config SND_SOC_RT5514_SPI_BUILTIN
|
|
bool # force RT5514_SPI to be built-in to avoid link errors
|
|
default SND_SOC_RT5514=y && SND_SOC_RT5514_SPI=m
|
|
|
|
config SND_SOC_RT5616
|
|
tristate "Realtek RT5616 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_PCM1794A
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_RT5631
|
|
tristate "Realtek ALC5631/RT5631 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_RT5640
|
|
tristate "Realtek RT5640/RT5639 Codec"
|
|
depends on I2C
|
|
|
|
config SND_SOC_RT5645
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_RT5651
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_RT5659
|
|
tristate "Realtek RT5658/RT5659 Codec"
|
|
depends on I2C
|
|
|
|
config SND_SOC_RT5660
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_RT5663
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_RT5665
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_RT5668
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_RT5670
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_RT5677
|
|
tristate
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
select REGMAP_IRQ
|
|
|
|
config SND_SOC_RT5677_SPI
|
|
tristate
|
|
default SND_SOC_RT5677 && SPI
|
|
|
|
config SND_SOC_RT5682
|
|
tristate
|
|
|
|
config SND_SOC_RT5682_I2C
|
|
tristate
|
|
depends on I2C
|
|
select SND_SOC_RT5682
|
|
|
|
config SND_SOC_RT5682_SDW
|
|
tristate "Realtek RT5682 Codec - SDW"
|
|
depends on SOUNDWIRE
|
|
select SND_SOC_RT5682
|
|
select REGMAP_SOUNDWIRE
|
|
|
|
config SND_SOC_RT5682S
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_RT700
|
|
tristate
|
|
|
|
config SND_SOC_RT700_SDW
|
|
tristate "Realtek RT700 Codec - SDW"
|
|
depends on SOUNDWIRE
|
|
select SND_SOC_RT700
|
|
select REGMAP_SOUNDWIRE
|
|
|
|
config SND_SOC_RT711
|
|
tristate
|
|
|
|
config SND_SOC_RT711_SDW
|
|
tristate "Realtek RT711 Codec - SDW"
|
|
depends on SOUNDWIRE
|
|
select SND_SOC_RT711
|
|
select REGMAP_SOUNDWIRE
|
|
|
|
config SND_SOC_RT711_SDCA_SDW
|
|
tristate "Realtek RT711 SDCA Codec - SDW"
|
|
depends on SOUNDWIRE
|
|
select REGMAP_SOUNDWIRE
|
|
select REGMAP_SOUNDWIRE_MBQ
|
|
|
|
config SND_SOC_RT712_SDCA_SDW
|
|
tristate "Realtek RT712 SDCA Codec - SDW"
|
|
depends on SOUNDWIRE
|
|
select REGMAP_SOUNDWIRE
|
|
select REGMAP_SOUNDWIRE_MBQ
|
|
|
|
config SND_SOC_RT712_SDCA_DMIC_SDW
|
|
tristate "Realtek RT712 SDCA DMIC Codec - SDW"
|
|
depends on SOUNDWIRE
|
|
select REGMAP_SOUNDWIRE
|
|
select REGMAP_SOUNDWIRE_MBQ
|
|
|
|
config SND_SOC_RT721_SDCA_SDW
|
|
tristate "Realtek RT721 SDCA Codec - SDW"
|
|
depends on SOUNDWIRE
|
|
select REGMAP_SOUNDWIRE
|
|
select REGMAP_SOUNDWIRE_MBQ
|
|
|
|
config SND_SOC_RT722_SDCA_SDW
|
|
tristate "Realtek RT722 SDCA Codec - SDW"
|
|
depends on SOUNDWIRE
|
|
select REGMAP_SOUNDWIRE
|
|
select REGMAP_SOUNDWIRE_MBQ
|
|
|
|
config SND_SOC_RT715
|
|
tristate
|
|
|
|
config SND_SOC_RT715_SDW
|
|
tristate "Realtek RT715 Codec - SDW"
|
|
depends on SOUNDWIRE
|
|
select SND_SOC_RT715
|
|
select REGMAP_SOUNDWIRE
|
|
|
|
config SND_SOC_RT715_SDCA_SDW
|
|
tristate "Realtek RT715 SDCA Codec - SDW"
|
|
depends on SOUNDWIRE
|
|
select REGMAP_SOUNDWIRE
|
|
select REGMAP_SOUNDWIRE_MBQ
|
|
|
|
config SND_SOC_RT9120
|
|
tristate "Richtek RT9120 Stereo Class-D Amplifier"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
help
|
|
Enable support for Richtek RT9120 20W, stereo, inductor-less,
|
|
high-efficiency Class-D audio amplifier.
|
|
|
|
config SND_SOC_RT9123
|
|
tristate "Richtek RT9123 Mono Class-D Amplifier"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
help
|
|
Enable support for the I2C control mode of Richtek RT9123 3.2W mono
|
|
Class-D audio amplifier.
|
|
|
|
config SND_SOC_RT9123P
|
|
tristate "Richtek RT9123P Mono Class-D Amplifier"
|
|
help
|
|
Enable support for the HW control mode of Richtek RT9123P 3.2W mono
|
|
Class-D audio amplifier.
|
|
|
|
config SND_SOC_RTQ9124
|
|
tristate "Richtek RTQ9124 Mono Class-D Amplifier"
|
|
depends on I2C
|
|
select REGMAP
|
|
help
|
|
Enable support for Richtek RTQ9124 1x30W digital input automotive
|
|
audio amplifier with current sense and real-time load diagnostics.
|
|
|
|
config SND_SOC_RTQ9128
|
|
tristate "Richtek RTQ9128 45W Digital Input Amplifier"
|
|
depends on I2C
|
|
select REGMAP
|
|
help
|
|
Enable support for Richtek RTQ9128 digital input 4-channel
|
|
automotive audio amplifier. It is a ultra-low output noise,
|
|
high-efficiency, four-channel class-D audio power amplifier
|
|
that can deliver over 87% power efficienty at 4x75W into 4Ohm,
|
|
25V supply in automotive applications.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called snd-soc-rtq9128.
|
|
|
|
config SND_SOC_SDW_MOCKUP
|
|
tristate "SoundWire mockup codec"
|
|
depends on EXPERT
|
|
depends on SOUNDWIRE
|
|
help
|
|
This option enables a SoundWire mockup codec that does not drive the
|
|
bus, take part in the command/command protocol or generate data on a
|
|
Source port.
|
|
This option is only intended to be used for tests on a device
|
|
with a connector, in combination with a bus analyzer, or to test new
|
|
topologies that differ from the actual hardware layout.
|
|
This mockup device could be totally virtual but could also be a
|
|
real physical one with one key restriction: it is not allowed by the
|
|
SoundWire specification to be configured via a sideband mechanism and
|
|
generate audio data for capture. However, nothing prevents such a
|
|
peripheral device from snooping the bus.
|
|
|
|
#Freescale sgtl5000 codec
|
|
config SND_SOC_SGTL5000
|
|
tristate "Freescale SGTL5000 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_SI476X
|
|
tristate
|
|
depends on MFD_SI476X_CORE
|
|
|
|
config SND_SOC_SIGMADSP
|
|
tristate
|
|
select CRC32
|
|
|
|
config SND_SOC_SIGMADSP_I2C
|
|
tristate
|
|
select SND_SOC_SIGMADSP
|
|
|
|
config SND_SOC_SIGMADSP_REGMAP
|
|
tristate
|
|
select SND_SOC_SIGMADSP
|
|
|
|
config SND_SOC_SIMPLE_AMPLIFIER
|
|
tristate "Simple Audio Amplifier"
|
|
|
|
config SND_SOC_SIMPLE_MUX
|
|
tristate "Simple Audio Mux"
|
|
depends on GPIOLIB
|
|
|
|
config SND_SOC_SMA1303
|
|
tristate "Iron Device SMA1303 Audio Amplifier"
|
|
depends on I2C
|
|
help
|
|
Enable support for Iron Device SMA1303 Boosted Class-D amplifier
|
|
|
|
config SND_SOC_SMA1307
|
|
tristate "Iron Device SMA1307 Audio Amplifier"
|
|
depends on I2C
|
|
help
|
|
Enable support for Iron Device SMA1307 boosted digital speaker
|
|
amplifier with feedback-loop.
|
|
If you are using a system with an SMA1307 amplifier connected
|
|
via I2C, enable this option.
|
|
|
|
config SND_SOC_SPDIF
|
|
tristate "S/PDIF CODEC"
|
|
|
|
config SND_SOC_SRC4XXX_I2C
|
|
tristate "Texas Instruments SRC4XXX DIR/DIT and SRC codecs"
|
|
depends on I2C
|
|
select SND_SOC_SRC4XXX
|
|
help
|
|
Enable support for the TI SRC4XXX family of codecs. These include the
|
|
scr4392 which has digital receivers, transmitters, and
|
|
a sample rate converter, including numerous ports.
|
|
|
|
config SND_SOC_SRC4XXX
|
|
tristate
|
|
|
|
config SND_SOC_SSM2305
|
|
tristate "Analog Devices SSM2305 Class-D Amplifier"
|
|
help
|
|
Enable support for Analog Devices SSM2305 filterless
|
|
high-efficiency mono Class-D audio power amplifiers.
|
|
|
|
config SND_SOC_SSM2518
|
|
tristate "Analog Devices SSM2518 Class-D Amplifier"
|
|
depends on I2C
|
|
|
|
config SND_SOC_SSM2602
|
|
tristate
|
|
|
|
config SND_SOC_SSM2602_SPI
|
|
tristate "Analog Devices SSM2602 CODEC - SPI"
|
|
depends on SPI_MASTER
|
|
select SND_SOC_SSM2602
|
|
select REGMAP_SPI
|
|
|
|
config SND_SOC_SSM2602_I2C
|
|
tristate "Analog Devices SSM2602 CODEC - I2C"
|
|
depends on I2C
|
|
select SND_SOC_SSM2602
|
|
select REGMAP_I2C
|
|
|
|
config SND_SOC_SSM3515
|
|
tristate "Analog Devices SSM3515 amplifier driver"
|
|
select REGMAP_I2C
|
|
depends on I2C
|
|
depends on OF
|
|
|
|
config SND_SOC_SSM4567
|
|
tristate "Analog Devices ssm4567 amplifier driver support"
|
|
depends on I2C
|
|
|
|
config SND_SOC_STA32X
|
|
tristate "STA326, STA328 and STA329 speaker amplifier"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
|
|
config SND_SOC_STA350
|
|
tristate "STA350 speaker amplifier"
|
|
depends on I2C
|
|
|
|
config SND_SOC_STA529
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_STAC9766
|
|
tristate
|
|
depends on SND_SOC_AC97_BUS
|
|
select REGMAP_AC97
|
|
|
|
config SND_SOC_STI_SAS
|
|
tristate "codec Audio support for STI SAS codec"
|
|
|
|
config SND_SOC_TAS2552
|
|
tristate "Texas Instruments TAS2552 Mono Audio amplifier"
|
|
depends on I2C
|
|
|
|
config SND_SOC_TAS2562
|
|
tristate "Texas Instruments TAS2562 Mono Audio amplifier"
|
|
depends on I2C
|
|
|
|
config SND_SOC_TAS2764
|
|
tristate "Texas Instruments TAS2764 Mono Audio amplifier"
|
|
depends on I2C
|
|
|
|
config SND_SOC_TAS2770
|
|
tristate "Texas Instruments TAS2770 speaker amplifier"
|
|
depends on I2C
|
|
|
|
config SND_SOC_TAS2780
|
|
tristate "Texas Instruments TAS2780 Mono Audio amplifier"
|
|
depends on I2C
|
|
help
|
|
Enable support for Texas Instruments TAS2780 high-efficiency
|
|
digital input mono Class-D audio power amplifiers.
|
|
|
|
config SND_SOC_TAS2781_COMLIB
|
|
tristate
|
|
|
|
config SND_SOC_TAS2781_COMLIB_I2C
|
|
depends on I2C
|
|
select CRC8
|
|
select REGMAP_I2C
|
|
tristate
|
|
|
|
config SND_SOC_TAS2781_FMWLIB
|
|
select SND_SOC_TAS2781_COMLIB
|
|
select CRC8
|
|
tristate
|
|
default n
|
|
|
|
config SND_SOC_TAS2781_I2C
|
|
tristate "Texas Instruments TAS2781 speaker amplifier based on I2C"
|
|
depends on I2C
|
|
select SND_SOC_TAS2781_COMLIB_I2C
|
|
select SND_SOC_TAS2781_FMWLIB
|
|
help
|
|
Enable support for Texas Instruments TAS2781 Smart Amplifier
|
|
Digital input mono Class-D and DSP-inside audio power amplifiers.
|
|
Note the TAS2781 driver implements a flexible and configurable
|
|
algo coefficient setting, for one, two or even multiple TAS2781
|
|
chips.
|
|
|
|
config SND_SOC_TAS2783_SDW
|
|
tristate "Texas Instruments TAS2783 speaker amplifier (sdw)"
|
|
depends on SOUNDWIRE
|
|
depends on EFI
|
|
select REGMAP_SOUNDWIRE
|
|
select REGMAP_SOUNDWIRE_MBQ
|
|
select CRC32
|
|
help
|
|
Enable support for Texas Instruments TAS2783A Digital input
|
|
mono Class-D and DSP-inside audio power amplifiers. TAS2783
|
|
driver implements a flexible and configurable algorithm
|
|
cofficient setting, for one, two or multiple TAS2783 chips.
|
|
|
|
config SND_SOC_TAS5086
|
|
tristate "Texas Instruments TAS5086 speaker amplifier"
|
|
depends on I2C
|
|
|
|
config SND_SOC_TAS571X
|
|
tristate "Texas Instruments TAS571x power amplifiers"
|
|
depends on I2C
|
|
help
|
|
Enable support for Texas Instruments TAS5707, TAS5711, TAS5717,
|
|
TAS5719 and TAS5721 power amplifiers
|
|
|
|
config SND_SOC_TAS5720
|
|
tristate "Texas Instruments TAS5720 Mono Audio amplifier"
|
|
depends on I2C
|
|
help
|
|
Enable support for Texas Instruments TAS5720L/M high-efficiency mono
|
|
Class-D audio power amplifiers.
|
|
|
|
config SND_SOC_TAS5805M
|
|
tristate "Texas Instruments TAS5805M speaker amplifier"
|
|
depends on I2C
|
|
help
|
|
Enable support for Texas Instruments TAS5805M Class-D
|
|
amplifiers. This is a speaker amplifier with an integrated
|
|
DSP. DSP configuration for each instance needs to be supplied
|
|
via a device-tree attribute.
|
|
|
|
config SND_SOC_TAS6424
|
|
tristate "Texas Instruments TAS6424 Quad-Channel Audio amplifier"
|
|
depends on I2C
|
|
help
|
|
Enable support for Texas Instruments TAS6424 high-efficiency
|
|
digital input quad-channel Class-D audio power amplifiers.
|
|
|
|
config SND_SOC_TDA7419
|
|
tristate "ST TDA7419 audio processor"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
|
|
config SND_SOC_TFA9879
|
|
tristate "NXP Semiconductors TFA9879 amplifier"
|
|
depends on I2C
|
|
|
|
config SND_SOC_TAS5713
|
|
tristate
|
|
|
|
config SND_SOC_TFA989X
|
|
tristate "NXP/Goodix TFA989X (TFA1) amplifiers"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
help
|
|
Enable support for NXP (now Goodix) TFA989X (TFA1 family) speaker
|
|
amplifiers, e.g. TFA9895.
|
|
Note that the driver currently bypasses the built-in "CoolFlux DSP"
|
|
and does not support (hardware) volume control.
|
|
|
|
config SND_SOC_TLV320ADC3XXX
|
|
tristate "Texas Instruments TLV320ADC3001/3101 audio ADC"
|
|
depends on I2C
|
|
depends on GPIOLIB
|
|
help
|
|
Enable support for Texas Instruments TLV320ADC3001 and TLV320ADC3101
|
|
ADCs.
|
|
|
|
config SND_SOC_TLV320AIC23
|
|
tristate
|
|
|
|
config SND_SOC_TLV320AIC23_I2C
|
|
tristate "Texas Instruments TLV320AIC23 audio CODEC - I2C"
|
|
depends on I2C
|
|
select SND_SOC_TLV320AIC23
|
|
|
|
config SND_SOC_TLV320AIC23_SPI
|
|
tristate "Texas Instruments TLV320AIC23 audio CODEC - SPI"
|
|
depends on SPI_MASTER
|
|
select SND_SOC_TLV320AIC23
|
|
|
|
config SND_SOC_TLV320AIC26
|
|
tristate
|
|
depends on SPI
|
|
|
|
config SND_SOC_TLV320AIC31XX
|
|
tristate "Texas Instruments TLV320AIC31xx CODECs"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
|
|
config SND_SOC_TLV320AIC32X4
|
|
tristate
|
|
depends on COMMON_CLK
|
|
|
|
config SND_SOC_TLV320AIC32X4_I2C
|
|
tristate "Texas Instruments TLV320AIC32x4 audio CODECs - I2C"
|
|
depends on I2C
|
|
depends on COMMON_CLK
|
|
select SND_SOC_TLV320AIC32X4
|
|
|
|
config SND_SOC_TLV320AIC32X4_SPI
|
|
tristate "Texas Instruments TLV320AIC32x4 audio CODECs - SPI"
|
|
depends on SPI_MASTER
|
|
depends on COMMON_CLK
|
|
select SND_SOC_TLV320AIC32X4
|
|
|
|
config SND_SOC_TLV320AIC3X
|
|
tristate
|
|
|
|
config SND_SOC_TLV320AIC3X_I2C
|
|
tristate "Texas Instruments TLV320AIC3x audio CODECs - I2C"
|
|
depends on I2C
|
|
select SND_SOC_TLV320AIC3X
|
|
select REGMAP_I2C
|
|
|
|
config SND_SOC_TLV320AIC3X_SPI
|
|
tristate "Texas Instruments TLV320AIC3x audio CODECs - SPI"
|
|
depends on SPI_MASTER
|
|
select SND_SOC_TLV320AIC3X
|
|
select REGMAP_SPI
|
|
|
|
config SND_SOC_TLV320DAC33
|
|
tristate
|
|
depends on I2C
|
|
depends on GPIOLIB_LEGACY
|
|
|
|
config SND_SOC_TLV320ADCX140
|
|
tristate "Texas Instruments TLV320ADCX140 CODEC family"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
help
|
|
Add support for Texas Instruments tlv320adc3140, tlv320adc5140 and
|
|
tlv320adc6140 quad channel ADCs.
|
|
|
|
config SND_SOC_TS3A227E
|
|
tristate "TI Headset/Mic detect and keypress chip"
|
|
depends on I2C
|
|
|
|
config SND_SOC_TSCS42XX
|
|
tristate "Tempo Semiconductor TSCS42xx CODEC"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
help
|
|
Add support for Tempo Semiconductor's TSCS42xx audio CODEC.
|
|
|
|
config SND_SOC_TSCS454
|
|
tristate "Tempo Semiconductor TSCS454 CODEC"
|
|
depends on I2C
|
|
select REGMAP_I2C
|
|
help
|
|
Add support for Tempo Semiconductor's TSCS454 audio CODEC.
|
|
|
|
config SND_SOC_TWL4030
|
|
tristate
|
|
depends on TWL4030_CORE
|
|
select MFD_TWL4030_AUDIO
|
|
|
|
config SND_SOC_TWL6040
|
|
tristate
|
|
depends on TWL6040_CORE
|
|
|
|
config SND_SOC_UDA1334
|
|
tristate "NXP UDA1334 DAC"
|
|
depends on GPIOLIB
|
|
help
|
|
The UDA1334 is an NXP audio codec, supports the I2S-bus data format
|
|
and has basic features such as de-emphasis (at 44.1 kHz sampling
|
|
rate) and mute.
|
|
|
|
config SND_SOC_UDA1342
|
|
tristate "NXP UDA1342 CODEC"
|
|
depends on I2C
|
|
help
|
|
The UDA1342 is an NXP audio codec, support 2x Stereo audio ADC (4x PGA
|
|
mic inputs), stereo audio DAC, with basic audio processing.
|
|
|
|
config SND_SOC_UDA1380
|
|
tristate
|
|
depends on I2C
|
|
depends on GPIOLIB_LEGACY
|
|
|
|
config SND_SOC_WCD_CLASSH
|
|
tristate
|
|
|
|
config SND_SOC_WCD_COMMON
|
|
tristate
|
|
|
|
config SND_SOC_WCD9335
|
|
tristate "WCD9335 Codec"
|
|
depends on SLIMBUS
|
|
select REGMAP_SLIMBUS
|
|
select REGMAP_IRQ
|
|
select SND_SOC_WCD_CLASSH
|
|
help
|
|
The WCD9335 is a standalone Hi-Fi audio CODEC IC, supports
|
|
Qualcomm Technologies, Inc. (QTI) multimedia solutions,
|
|
including the MSM8996, MSM8976, and MSM8956 chipsets.
|
|
|
|
config SND_SOC_WCD_MBHC
|
|
tristate
|
|
|
|
config SND_SOC_WCD934X
|
|
tristate "WCD9340/WCD9341 Codec"
|
|
depends on COMMON_CLK
|
|
depends on SLIMBUS
|
|
select REGMAP_IRQ
|
|
select REGMAP_SLIMBUS
|
|
select SND_SOC_WCD_CLASSH
|
|
select SND_SOC_WCD_COMMON
|
|
select SND_SOC_WCD_MBHC
|
|
depends on MFD_WCD934X || COMPILE_TEST
|
|
help
|
|
The WCD9340/9341 is a audio codec IC Integrated in
|
|
Qualcomm SoCs like SDM845.
|
|
|
|
config SND_SOC_WCD937X
|
|
depends on SND_SOC_WCD937X_SDW
|
|
tristate
|
|
depends on SOUNDWIRE || !SOUNDWIRE
|
|
select SND_SOC_WCD_CLASSH
|
|
select SND_SOC_WCD_COMMON
|
|
|
|
config SND_SOC_WCD937X_SDW
|
|
tristate "WCD9370/WCD9375 Codec - SDW"
|
|
select SND_SOC_WCD937X
|
|
select SND_SOC_WCD_MBHC
|
|
select REGMAP_IRQ
|
|
depends on SOUNDWIRE
|
|
select REGMAP_SOUNDWIRE
|
|
help
|
|
The WCD9370/9375 is an audio codec IC used with SoCs
|
|
like SC7280 or QCM6490 chipsets, and it connected
|
|
via soundwire.
|
|
To compile this codec driver say Y or m.
|
|
|
|
config SND_SOC_WCD938X
|
|
depends on SND_SOC_WCD938X_SDW
|
|
tristate
|
|
depends on SOUNDWIRE || !SOUNDWIRE
|
|
select SND_SOC_WCD_CLASSH
|
|
select SND_SOC_WCD_COMMON
|
|
select MULTIPLEXER
|
|
|
|
config SND_SOC_WCD938X_SDW
|
|
tristate "WCD9380/WCD9385 Codec - SDW"
|
|
select SND_SOC_WCD938X
|
|
select SND_SOC_WCD_MBHC
|
|
select REGMAP_IRQ
|
|
depends on SOUNDWIRE
|
|
select REGMAP_SOUNDWIRE
|
|
help
|
|
The WCD9380/9385 is a audio codec IC Integrated in
|
|
Qualcomm SoCs like SM8250.
|
|
|
|
config SND_SOC_WCD939X
|
|
depends on SND_SOC_WCD939X_SDW
|
|
tristate
|
|
depends on SOUNDWIRE || !SOUNDWIRE
|
|
depends on TYPEC || !TYPEC
|
|
select SND_SOC_WCD_CLASSH
|
|
select SND_SOC_WCD_COMMON
|
|
|
|
config SND_SOC_WCD939X_SDW
|
|
tristate "WCD9390/WCD9395 Codec - SDW"
|
|
depends on TYPEC || !TYPEC
|
|
select SND_SOC_WCD939X
|
|
select SND_SOC_WCD_MBHC
|
|
select REGMAP_IRQ
|
|
depends on SOUNDWIRE
|
|
select REGMAP_SOUNDWIRE
|
|
help
|
|
The WCD9390/9395 is a audio codec IC Integrated in
|
|
Qualcomm SoCs like SM8650.
|
|
|
|
config SND_SOC_WM0010
|
|
tristate
|
|
depends on SPI_MASTER
|
|
|
|
config SND_SOC_WM1250_EV1
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_WM2000
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_WM2200
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_WM5100
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_WM5102
|
|
tristate
|
|
depends on MFD_WM5102 && MFD_ARIZONA
|
|
|
|
config SND_SOC_WM5110
|
|
tristate
|
|
depends on MFD_WM5110 && MFD_ARIZONA
|
|
|
|
config SND_SOC_WM8350
|
|
tristate
|
|
depends on MFD_WM8350
|
|
|
|
config SND_SOC_WM8400
|
|
tristate
|
|
# FIXME nothing selects SND_SOC_WM8400??
|
|
depends on MFD_WM8400
|
|
|
|
config SND_SOC_WM8510
|
|
tristate "Wolfson Microelectronics WM8510 CODEC"
|
|
depends on SND_SOC_I2C_AND_SPI
|
|
|
|
config SND_SOC_WM8523
|
|
tristate "Wolfson Microelectronics WM8523 DAC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_WM8524
|
|
tristate "Wolfson Microelectronics WM8524 DAC"
|
|
depends on GPIOLIB
|
|
|
|
config SND_SOC_WM8580
|
|
tristate "Wolfson Microelectronics WM8580 and WM8581 CODECs"
|
|
depends on I2C
|
|
|
|
config SND_SOC_WM8711
|
|
tristate "Wolfson Microelectronics WM8711 CODEC"
|
|
depends on SND_SOC_I2C_AND_SPI
|
|
|
|
config SND_SOC_WM8727
|
|
tristate
|
|
|
|
config SND_SOC_WM8728
|
|
tristate "Wolfson Microelectronics WM8728 DAC"
|
|
depends on SND_SOC_I2C_AND_SPI
|
|
|
|
config SND_SOC_WM8731
|
|
tristate
|
|
|
|
config SND_SOC_WM8731_I2C
|
|
tristate "Wolfson Microelectronics WM8731 CODEC with I2C"
|
|
depends on I2C
|
|
select REGMAP
|
|
select SND_SOC_WM8731
|
|
|
|
config SND_SOC_WM8731_SPI
|
|
tristate "Wolfson Microelectronics WM8731 CODEC with SPI"
|
|
depends on SPI
|
|
select REGMAP
|
|
select SND_SOC_WM8731
|
|
|
|
config SND_SOC_WM8737
|
|
tristate "Wolfson Microelectronics WM8737 ADC"
|
|
depends on SND_SOC_I2C_AND_SPI
|
|
|
|
config SND_SOC_WM8741
|
|
tristate "Wolfson Microelectronics WM8741 DAC"
|
|
depends on SND_SOC_I2C_AND_SPI
|
|
|
|
config SND_SOC_WM8750
|
|
tristate "Wolfson Microelectronics WM8750 CODEC"
|
|
depends on SND_SOC_I2C_AND_SPI
|
|
|
|
config SND_SOC_WM8753
|
|
tristate "Wolfson Microelectronics WM8753 CODEC"
|
|
depends on SND_SOC_I2C_AND_SPI
|
|
|
|
config SND_SOC_WM8770
|
|
tristate "Wolfson Microelectronics WM8770 CODEC"
|
|
depends on SPI_MASTER
|
|
|
|
config SND_SOC_WM8776
|
|
tristate "Wolfson Microelectronics WM8776 CODEC"
|
|
depends on SND_SOC_I2C_AND_SPI
|
|
|
|
config SND_SOC_WM8782
|
|
tristate "Wolfson Microelectronics WM8782 ADC"
|
|
|
|
config SND_SOC_WM8804
|
|
tristate
|
|
|
|
config SND_SOC_WM8804_I2C
|
|
tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver I2C"
|
|
depends on I2C
|
|
select SND_SOC_WM8804
|
|
select REGMAP_I2C
|
|
|
|
config SND_SOC_WM8804_SPI
|
|
tristate "Wolfson Microelectronics WM8804 S/PDIF transceiver SPI"
|
|
depends on SPI_MASTER
|
|
select SND_SOC_WM8804
|
|
select REGMAP_SPI
|
|
|
|
config SND_SOC_WM8900
|
|
tristate
|
|
depends on SND_SOC_I2C_AND_SPI
|
|
|
|
config SND_SOC_WM8903
|
|
tristate "Wolfson Microelectronics WM8903 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_WM8904
|
|
tristate "Wolfson Microelectronics WM8904 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_WM8940
|
|
tristate "Wolfson Microelectronics WM8940 codec"
|
|
depends on I2C
|
|
|
|
config SND_SOC_WM8955
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_WM8960
|
|
tristate "Wolfson Microelectronics WM8960 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_WM8961
|
|
tristate "Wolfson Microelectronics WM8961 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_WM8962
|
|
tristate "Wolfson Microelectronics WM8962 CODEC"
|
|
depends on I2C && INPUT
|
|
|
|
config SND_SOC_WM8971
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_WM8974
|
|
tristate "Wolfson Microelectronics WM8974 codec"
|
|
depends on I2C
|
|
|
|
config SND_SOC_WM8978
|
|
tristate "Wolfson Microelectronics WM8978 codec"
|
|
depends on I2C
|
|
|
|
config SND_SOC_WM8983
|
|
tristate
|
|
depends on SND_SOC_I2C_AND_SPI
|
|
|
|
config SND_SOC_WM8985
|
|
tristate "Wolfson Microelectronics WM8985 and WM8758 codec driver"
|
|
depends on SND_SOC_I2C_AND_SPI
|
|
|
|
config SND_SOC_WM8988
|
|
tristate
|
|
depends on SND_SOC_I2C_AND_SPI
|
|
|
|
config SND_SOC_WM8990
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_WM8991
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_WM8993
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_WM8994
|
|
tristate
|
|
depends on MFD_WM8994
|
|
|
|
config SND_SOC_WM8995
|
|
tristate
|
|
depends on SND_SOC_I2C_AND_SPI
|
|
|
|
config SND_SOC_WM8996
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_WM8997
|
|
tristate
|
|
depends on MFD_WM8997 && MFD_ARIZONA
|
|
|
|
config SND_SOC_WM8998
|
|
tristate "Wolfson Microelectronics WM8998 codec driver"
|
|
depends on MFD_WM8998 && MFD_ARIZONA
|
|
|
|
config SND_SOC_WM9081
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_WM9090
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_WM9705
|
|
tristate
|
|
depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
|
|
select REGMAP_AC97
|
|
select AC97_BUS_COMPAT if AC97_BUS_NEW
|
|
|
|
config SND_SOC_WM9712
|
|
tristate
|
|
depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
|
|
select REGMAP_AC97
|
|
select AC97_BUS_COMPAT if AC97_BUS_NEW
|
|
|
|
config SND_SOC_WM9713
|
|
tristate
|
|
depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
|
|
select REGMAP_AC97
|
|
select AC97_BUS_COMPAT if AC97_BUS_NEW
|
|
|
|
config SND_SOC_WSA881X
|
|
tristate "WSA881X Codec"
|
|
depends on SOUNDWIRE
|
|
select REGMAP_SOUNDWIRE
|
|
help
|
|
This enables support for Qualcomm WSA8810/WSA8815 Class-D
|
|
Smart Speaker Amplifier.
|
|
|
|
config SND_SOC_WSA883X
|
|
tristate "WSA883X Codec"
|
|
depends on SOUNDWIRE
|
|
select REGMAP_SOUNDWIRE
|
|
help
|
|
This enables support for Qualcomm WSA8830/WSA8835 Class-D
|
|
Smart Speaker Amplifier.
|
|
|
|
config SND_SOC_WSA884X
|
|
tristate "WSA884X Codec"
|
|
depends on SOUNDWIRE
|
|
select REGMAP_SOUNDWIRE
|
|
help
|
|
This enables support for Qualcomm WSA8840/WSA8845/WSA8845H Class-D
|
|
Smart Speaker Amplifier.
|
|
|
|
config SND_SOC_ZL38060
|
|
tristate "Microsemi ZL38060 Connected Home Audio Processor"
|
|
depends on SPI_MASTER
|
|
depends on GPIOLIB
|
|
select REGMAP
|
|
help
|
|
Support for ZL38060 Connected Home Audio Processor from Microsemi,
|
|
which consists of a Digital Signal Processor (DSP), several Digital
|
|
Audio Interfaces (DAIs), analog outputs, and a block of 14 GPIOs.
|
|
|
|
# Amp
|
|
config SND_SOC_LM4857
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_MAX9759
|
|
tristate "Maxim MAX9759 speaker Amplifier"
|
|
depends on GPIOLIB
|
|
|
|
config SND_SOC_MAX9768
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_MAX9877
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_MC13783
|
|
tristate
|
|
depends on MFD_MC13XXX
|
|
|
|
config SND_SOC_ML26124
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_MT6351
|
|
tristate "MediaTek MT6351 Codec"
|
|
|
|
config SND_SOC_MT6357
|
|
tristate "MediaTek MT6357 Codec"
|
|
help
|
|
Enable support for the platform which uses MT6357 as
|
|
external codec device.
|
|
|
|
config SND_SOC_MT6358
|
|
tristate "MediaTek MT6358 Codec"
|
|
help
|
|
Enable support for the platform which uses MT6358 as
|
|
external codec device.
|
|
|
|
config SND_SOC_MT6359
|
|
tristate "MediaTek MT6359 Codec"
|
|
depends on MTK_PMIC_WRAP
|
|
help
|
|
Enable support for the platform which uses MT6359 as
|
|
external codec device.
|
|
|
|
config SND_SOC_MT6359_ACCDET
|
|
tristate "MediaTek MT6359 ACCDET driver"
|
|
depends on MTK_PMIC_WRAP
|
|
help
|
|
ACCDET means Accessory Detection technology, MediaTek develop it
|
|
for ASoC codec soc-jack detection mechanism.
|
|
Select N if you don't have jack on board.
|
|
|
|
config SND_SOC_MT6660
|
|
tristate "Mediatek MT6660 Speaker Amplifier"
|
|
depends on I2C
|
|
help
|
|
MediaTek MT6660 is a smart power amplifier which contain
|
|
speaker protection, multi-band DRC, equalizer functions.
|
|
Select N if you don't have MT6660 on board.
|
|
Select M to build this as module.
|
|
|
|
config SND_SOC_NAU8315
|
|
tristate "Nuvoton Technology Corporation NAU8315 CODEC"
|
|
|
|
config SND_SOC_NAU8540
|
|
tristate "Nuvoton Technology Corporation NAU85L40 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_NAU8810
|
|
tristate "Nuvoton Technology Corporation NAU88C10 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_NAU8821
|
|
tristate "Nuvoton Technology Corporation NAU88L21 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_NAU8822
|
|
tristate "Nuvoton Technology Corporation NAU88C22 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_NAU8824
|
|
tristate "Nuvoton Technology Corporation NAU88L24 CODEC"
|
|
depends on I2C
|
|
|
|
config SND_SOC_NAU8825
|
|
tristate
|
|
depends on I2C
|
|
|
|
config SND_SOC_NTPFW
|
|
tristate
|
|
|
|
config SND_SOC_NTP8918
|
|
select SND_SOC_NTPFW
|
|
tristate "NeoFidelity NTP8918 amplifier"
|
|
depends on I2C
|
|
|
|
config SND_SOC_NTP8835
|
|
select SND_SOC_NTPFW
|
|
tristate "NeoFidelity NTP8835 and NTP8835C amplifiers"
|
|
depends on I2C
|
|
|
|
config SND_SOC_TPA6130A2
|
|
tristate "Texas Instruments TPA6130A2 headphone amplifier"
|
|
depends on I2C
|
|
|
|
config SND_SOC_LPASS_MACRO_COMMON
|
|
tristate
|
|
|
|
config SND_SOC_LPASS_WSA_MACRO
|
|
depends on COMMON_CLK
|
|
select REGMAP_MMIO
|
|
select SND_SOC_LPASS_MACRO_COMMON
|
|
tristate "Qualcomm WSA Macro in LPASS(Low Power Audio SubSystem)"
|
|
|
|
config SND_SOC_LPASS_VA_MACRO
|
|
depends on COMMON_CLK
|
|
select REGMAP_MMIO
|
|
select SND_SOC_LPASS_MACRO_COMMON
|
|
tristate "Qualcomm VA Macro in LPASS(Low Power Audio SubSystem)"
|
|
|
|
config SND_SOC_LPASS_RX_MACRO
|
|
depends on COMMON_CLK
|
|
select REGMAP_MMIO
|
|
select SND_SOC_LPASS_MACRO_COMMON
|
|
tristate "Qualcomm RX Macro in LPASS(Low Power Audio SubSystem)"
|
|
|
|
config SND_SOC_LPASS_TX_MACRO
|
|
depends on COMMON_CLK
|
|
select REGMAP_MMIO
|
|
select SND_SOC_LPASS_MACRO_COMMON
|
|
tristate "Qualcomm TX Macro in LPASS(Low Power Audio SubSystem)"
|
|
|
|
config SND_SOC_I_SABRE_CODEC
|
|
tristate "Audiophonics I-SABRE Codec"
|
|
depends on I2C
|
|
|
|
endmenu
|