2019-05-19 15:07:45 +03:00
# SPDX-License-Identifier: GPL-2.0-only
2009-01-03 13:24:41 +03:00
# 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
2014-02-07 19:40:35 +04:00
menu "CODEC drivers"
2008-07-29 14:42:35 +04:00
config SND_SOC_ALL_CODECS
tristate "Build all ASoC CODEC drivers"
2013-06-25 14:00:06 +04:00
depends on COMPILE_TEST
2020-02-07 12:13:51 +03:00
imply SND_SOC_88PM860X
imply SND_SOC_L3
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
2020-11-27 15:30:30 +03:00
imply SND_SOC_ADAU1372_I2C
imply SND_SOC_ADAU1372_SPI
2020-02-07 12:13:51 +03:00
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
2021-12-20 22:37:25 +03:00
imply SND_SOC_AK4375
2020-02-07 12:13:51 +03:00
imply SND_SOC_AK4458
imply SND_SOC_AK4535
imply SND_SOC_AK4554
imply SND_SOC_AK4613
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
2022-03-04 13:24:52 +03:00
imply SND_SOC_AW8738
2020-02-07 12:13:51 +03:00
imply SND_SOC_BT_SCO
imply SND_SOC_BD28623
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
2021-09-08 01:57:18 +03:00
imply SND_SOC_CS35L41_SPI
imply SND_SOC_CS35L41_I2C
2022-04-05 16:54:19 +03:00
imply SND_SOC_CS35L45_I2C
imply SND_SOC_CS35L45_SPI
2020-02-07 12:13:51 +03:00
imply SND_SOC_CS42L42
imply SND_SOC_CS42L51_I2C
imply SND_SOC_CS42L52
imply SND_SOC_CS42L56
imply SND_SOC_CS42L73
2020-09-28 14:18:21 +03:00
imply SND_SOC_CS4234
2020-02-07 12:13:51 +03:00
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_CS53L30
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
2022-08-16 05:44:56 +03:00
imply SND_SOC_ES8326
2020-02-07 12:13:51 +03:00
imply SND_SOC_ES8328_SPI
imply SND_SOC_ES8328_I2C
imply SND_SOC_ES7134
imply SND_SOC_ES7241
imply SND_SOC_GTM601
imply SND_SOC_HDAC_HDMI
imply SND_SOC_HDAC_HDA
imply SND_SOC_ICS43432
imply SND_SOC_INNO_RK3036
imply SND_SOC_ISABELLE
imply SND_SOC_JZ4740_CODEC
imply SND_SOC_JZ4725B_CODEC
2021-01-23 17:09:58 +03:00
imply SND_SOC_JZ4760_CODEC
2020-02-07 12:13:51 +03:00
imply SND_SOC_JZ4770_CODEC
imply SND_SOC_LM4857
imply SND_SOC_LM49453
imply SND_SOC_LOCHNAGAR_SC
imply SND_SOC_MAX98088
imply SND_SOC_MAX98090
imply SND_SOC_MAX98095
imply SND_SOC_MAX98357A
imply SND_SOC_MAX98371
imply SND_SOC_MAX98504
2021-10-27 03:14:31 +03:00
imply SND_SOC_MAX98520
2020-02-07 12:13:51 +03:00
imply SND_SOC_MAX9867
imply SND_SOC_MAX98925
imply SND_SOC_MAX98926
imply SND_SOC_MAX98927
2020-07-08 23:32:12 +03:00
imply SND_SOC_MAX98373_I2C
2020-07-08 23:32:13 +03:00
imply SND_SOC_MAX98373_SDW
2020-05-18 03:50:38 +03:00
imply SND_SOC_MAX98390
2022-04-23 05:15:58 +03:00
imply SND_SOC_MAX98396
2020-02-07 12:13:51 +03:00
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_MT6358
2020-08-20 11:51:32 +03:00
imply SND_SOC_MT6359
2020-02-07 12:13:51 +03:00
imply SND_SOC_MT6660
2020-11-02 05:32:13 +03:00
imply SND_SOC_NAU8315
2020-02-07 12:13:51 +03:00
imply SND_SOC_NAU8540
imply SND_SOC_NAU8810
2021-10-01 13:31:08 +03:00
imply SND_SOC_NAU8821
2020-02-07 12:13:51 +03:00
imply SND_SOC_NAU8822
imply SND_SOC_NAU8824
imply SND_SOC_NAU8825
imply SND_SOC_HDMI_CODEC
imply SND_SOC_PCM1681
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_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_RK3328
2021-05-19 23:37:52 +03:00
imply SND_SOC_RK817
2020-02-07 12:13:51 +03:00
imply SND_SOC_RT274
imply SND_SOC_RT286
imply SND_SOC_RT298
imply SND_SOC_RT1011
imply SND_SOC_RT1015
2020-09-10 07:29:48 +03:00
imply SND_SOC_RT1015P
2022-04-05 20:11:58 +03:00
imply SND_SOC_RT1016
2021-03-11 05:58:09 +03:00
imply SND_SOC_RT1019
2020-02-07 12:13:51 +03:00
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
2020-05-28 12:17:17 +03:00
imply SND_SOC_RT5682_I2C
2020-02-19 13:28:57 +03:00
imply SND_SOC_RT5682_SDW
2021-08-31 16:02:57 +03:00
imply SND_SOC_RT5682S
2020-02-07 12:13:51 +03:00
imply SND_SOC_RT700_SDW
imply SND_SOC_RT711_SDW
2021-03-02 12:15:06 +03:00
imply SND_SOC_RT711_SDCA_SDW
2020-02-07 12:13:51 +03:00
imply SND_SOC_RT715_SDW
2021-03-02 13:30:42 +03:00
imply SND_SOC_RT715_SDCA_SDW
2020-02-07 12:13:51 +03:00
imply SND_SOC_RT1308_SDW
2021-02-23 12:07:59 +03:00
imply SND_SOC_RT1316_SDW
2022-11-08 12:27:27 +03:00
imply SND_SOC_RT1318_SDW
2021-10-13 04:28:39 +03:00
imply SND_SOC_RT9120
2021-07-14 06:22:00 +03:00
imply SND_SOC_SDW_MOCKUP
2020-02-07 12:13:51 +03:00
imply SND_SOC_SGTL5000
imply SND_SOC_SI476X
imply SND_SOC_SIMPLE_AMPLIFIER
2020-12-05 03:15:08 +03:00
imply SND_SOC_SIMPLE_MUX
2020-02-07 12:13:51 +03:00
imply SND_SOC_SPDIF
2022-08-10 04:32:13 +03:00
imply SND_SOC_SRC4XXX_I2C
2020-02-07 12:13:51 +03:00
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
2020-10-07 18:53:41 +03:00
imply SND_SOC_TAS2764
2020-02-07 12:13:51 +03:00
imply SND_SOC_TAS2770
2022-07-07 15:33:42 +03:00
imply SND_SOC_TAS2780
2020-02-07 12:13:51 +03:00
imply SND_SOC_TAS5086
imply SND_SOC_TAS571X
imply SND_SOC_TAS5720
imply SND_SOC_TAS6424
imply SND_SOC_TDA7419
imply SND_SOC_TFA9879
ASoC: codecs: Add driver for NXP/Goodix TFA989x (TFA1) amplifiers
NXP's TFA98xx (now part of Goodix) are fairly popular speaker amplifiers
used in many smartphones and tablets. Most of them are sold as "smart
amplifiers" with built-in "CoolFlux DSP" that is used for volume control,
plus a "sophisticated speaker-boost and protection algorithm".
Unfortunately, they are also almost entirely undocumented. The short
datasheets (e.g. [1] for TFA9897) describe the available features,
but do not provide any information about the registers or how to use
the "CoolFlux DSP".
The amplifiers are most often configured through proprietary userspace
libraries. There are also some (rather complex) kernel drivers (e.g. [2])
but even those rely on obscure firmware blobs for configuration (so-called
"containers"). They seem to contain different "profiles" with tuned speaker
settings, sample rates and volume steps (which would be better exposed
as separate ALSA mixers).
The format of the firmware files seems to have changed a lot over the time,
so it's not even possible to simply re-use the firmware originally provided
by the vendor.
Overall, it seems close to impossible to develop a proper mainline driver
for these amplifiers that could make proper use of the built-in DSP.
This commit implements a compromise: At least the TFA1 family of the
TFA98xx amplifiers (usually called TFA989x) provide a way to *bypass*
the DSP using a special register sequence. The register sequence can be
found in similar variations in the kernel drivers from lots of vendors
e.g. in [3] and was probably mainly used for factory testing.
With the DSP bypassed, the amplifier acts mostly like a dumb standard
speaker amplifier, without (hardware) volume control. However, the setup
is much simpler and it works without any obscure firmware.
This driver implements the DSP bypass combined with chip-specific
initialization sequences adapted from [2]. Only TFA9895 is supported in
this initial commit. Except for the lack of volume control I can not hear
any difference with or without the DSP, it works just fine.
This driver allows the speaker to work on mainline Linux running on the
Samsung Galaxy A3/A5 (2015) [TFA9895] and Alcatel Idol 3 [TFA9897].
TFA9897 support will be added in separate patch set later.
[1]: https://product.goodix.com/en/docview/TFA9897%20SDS_Rev.3.1?objectId=47&objectType=document&version=78
[2]: https://source.codeaurora.org/external/mas/tfa98xx
[3]: https://github.com/sonyxperiadev/kernel/blob/57b5050e340f40a88e1ddb8d16fd9adb44418923/sound/soc/codecs/tfa98xx.c#L1422-L1462
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Link: https://lore.kernel.org/r/20210513104129.36583-2-stephan@gerhold.net
Signed-off-by: Mark Brown <broonie@kernel.org>
2021-05-13 13:41:29 +03:00
imply SND_SOC_TFA989X
2021-12-15 20:04:23 +03:00
imply SND_SOC_TLV320ADC3XXX
2020-02-21 00:07:59 +03:00
imply SND_SOC_TLV320ADCX140
2020-02-07 12:13:51 +03:00
imply SND_SOC_TLV320AIC23_I2C
imply SND_SOC_TLV320AIC23_SPI
imply SND_SOC_TLV320AIC26
imply SND_SOC_TLV320AIC31XX
imply SND_SOC_TLV320AIC32X4_I2C
imply SND_SOC_TLV320AIC32X4_SPI
2021-04-06 17:24:38 +03:00
imply SND_SOC_TLV320AIC3X_I2C
2021-04-06 17:24:39 +03:00
imply SND_SOC_TLV320AIC3X_SPI
2020-02-07 12:13:51 +03:00
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_UDA134X
imply SND_SOC_UDA1380
imply SND_SOC_WCD9335
imply SND_SOC_WCD934X
2021-11-25 12:51:58 +03:00
imply SND_SOC_WCD938X_SDW
2022-02-26 21:09:18 +03:00
imply SND_SOC_LPASS_MACRO_COMMON
2021-02-11 15:27:30 +03:00
imply SND_SOC_LPASS_RX_MACRO
2021-02-11 15:27:34 +03:00
imply SND_SOC_LPASS_TX_MACRO
2020-02-07 12:13:51 +03:00
imply SND_SOC_WL1273
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
2022-03-25 18:31:19 +03:00
imply SND_SOC_WM8731_I2C
imply SND_SOC_WM8731_SPI
2020-02-07 12:13:51 +03:00
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
2022-06-29 12:06:42 +03:00
imply SND_SOC_WSA883X
2020-04-18 01:13:41 +03:00
imply SND_SOC_ZL38060
2019-10-04 17:49:31 +03:00
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.
2008-07-29 14:42:35 +04:00
2008-10-23 01:41:11 +04:00
Support for the bus types used to access the codecs to be built must
be selected separately.
2019-10-04 17:49:31 +03:00
If unsure select "N".
2008-07-29 14:42:35 +04:00
2010-08-18 20:35:25 +04:00
config SND_SOC_88PM860X
tristate
2020-02-07 12:13:51 +03:00
depends on MFD_88PM860X
2010-08-18 20:35:25 +04:00
2012-06-19 00:08:44 +04:00
config SND_SOC_ARIZONA
tristate
2015-11-03 18:08:35 +03:00
default y if SND_SOC_CS47L24=y
2012-06-19 00:08:44 +04:00
default y if SND_SOC_WM5102=y
2012-07-09 22:09:41 +04:00
default y if SND_SOC_WM5110=y
2013-08-13 02:46:55 +04:00
default y if SND_SOC_WM8997=y
2015-09-28 16:01:09 +03:00
default y if SND_SOC_WM8998=y
2015-11-03 18:08:35 +03:00
default m if SND_SOC_CS47L24=m
2012-06-19 00:08:44 +04:00
default m if SND_SOC_WM5102=m
2012-07-09 22:09:41 +04:00
default m if SND_SOC_WM5110=m
2013-08-13 02:46:55 +04:00
default m if SND_SOC_WM8997=m
2015-09-28 16:01:09 +03:00
default m if SND_SOC_WM8998=m
2012-06-19 00:08:44 +04:00
2009-07-30 00:21:49 +04:00
config SND_SOC_WM_HUBS
tristate
2010-07-20 09:28:33 +04:00
default y if SND_SOC_WM8993=y || SND_SOC_WM8994=y
default m if SND_SOC_WM8993=m || SND_SOC_WM8994=m
2008-07-29 14:42:35 +04:00
2012-10-11 06:54:02 +04:00
config SND_SOC_WM_ADSP
tristate
2021-09-13 19:00:57 +03:00
select CS_DSP
2015-12-15 14:29:42 +03:00
select SND_SOC_COMPRESS
2019-06-19 16:41:56 +03:00
default y if SND_SOC_MADERA=y
2015-11-03 18:08:35 +03:00
default y if SND_SOC_CS47L24=y
2012-08-26 07:29:05 +04:00
default y if SND_SOC_WM5102=y
2013-11-19 20:04:01 +04:00
default y if SND_SOC_WM5110=y
2012-10-11 06:54:02 +04:00
default y if SND_SOC_WM2200=y
2021-10-30 00:40:28 +03:00
default y if SND_SOC_CS35L41_SPI=y
default y if SND_SOC_CS35L41_I2C=y
2019-06-19 16:41:56 +03:00
default m if SND_SOC_MADERA=m
2015-11-03 18:08:35 +03:00
default m if SND_SOC_CS47L24=m
2012-08-26 07:29:05 +04:00
default m if SND_SOC_WM5102=m
2013-11-19 20:04:01 +04:00
default m if SND_SOC_WM5110=m
2012-10-11 06:54:02 +04:00
default m if SND_SOC_WM2200=m
2021-10-30 00:40:28 +03:00
default m if SND_SOC_CS35L41_SPI=m
default m if SND_SOC_CS35L41_I2C=m
2012-10-11 06:54:02 +04:00
2012-06-07 16:00:21 +04:00
config SND_SOC_AB8500_CODEC
tristate
2020-02-12 17:56:50 +03:00
depends on ABX500_CORE
2012-06-07 16:00:21 +04:00
2006-10-06 20:38:37 +04:00
config SND_SOC_AC97_CODEC
2015-05-10 01:12:04 +03:00
tristate "Build generic ASoC AC97 CODEC driver"
2008-05-23 18:10:37 +04:00
select SND_AC97_CODEC
2015-05-10 01:12:04 +03:00
select SND_SOC_AC97_BUS
2006-10-06 20:38:37 +04:00
2009-08-13 07:59:32 +04:00
config SND_SOC_AD1836
tristate
2020-02-12 17:56:48 +03:00
depends on SPI_MASTER
2009-08-13 07:59:32 +04:00
2010-03-19 09:48:33 +03:00
config SND_SOC_AD193X
2009-07-16 12:00:05 +04:00
tristate
2014-02-17 16:16:54 +04:00
config SND_SOC_AD193X_SPI
tristate
2020-02-12 17:56:48 +03:00
depends on SPI_MASTER
2014-02-17 16:16:54 +04:00
select SND_SOC_AD193X
config SND_SOC_AD193X_I2C
tristate
2020-02-12 17:56:49 +03:00
depends on I2C
2014-02-17 16:16:54 +04:00
select SND_SOC_AD193X
2008-07-29 14:42:34 +04:00
config SND_SOC_AD1980
tristate
2020-02-12 17:56:50 +03:00
depends on SND_SOC_AC97_BUS
select REGMAP_AC97
2008-07-29 14:42:34 +04:00
2008-09-27 12:57:26 +04:00
config SND_SOC_AD73311
tristate
2011-06-13 17:26:20 +04:00
2016-06-09 20:39:06 +03:00
config SND_SOC_ADAU_UTILS
tristate
2020-11-27 15:30:30 +03:00
config SND_SOC_ADAU1372
tristate
select SND_SOC_ADAU_UTILS
config SND_SOC_ADAU1372_I2C
tristate "Analog Devices ADAU1372 CODEC (I2C)"
2020-12-01 00:56:26 +03:00
depends on I2C
2020-11-27 15:30:30 +03:00
select SND_SOC_ADAU1372
select REGMAP_I2C
config SND_SOC_ADAU1372_SPI
tristate "Analog Devices ADAU1372 CODEC (SPI)"
2020-12-01 00:56:26 +03:00
depends on SPI
2020-11-27 15:30:30 +03:00
select SND_SOC_ADAU1372
select REGMAP_SPI
2014-05-27 12:53:17 +04:00
config SND_SOC_ADAU1373
tristate
2020-02-12 17:56:49 +03:00
depends on I2C
2016-06-09 20:39:06 +03:00
select SND_SOC_ADAU_UTILS
2014-05-27 12:53:17 +04:00
2011-06-13 17:26:20 +04:00
config SND_SOC_ADAU1701
2014-01-23 16:58:16 +04:00
tristate "Analog Devices ADAU1701 CODEC"
depends on I2C
2014-06-06 16:09:17 +04:00
select SND_SOC_SIGMADSP_I2C
2011-06-13 17:26:20 +04:00
2014-05-27 12:53:17 +04:00
config SND_SOC_ADAU17X1
2011-08-15 22:15:22 +04:00
tristate
2014-06-06 16:09:17 +04:00
select SND_SOC_SIGMADSP_REGMAP
2016-06-09 20:39:06 +03:00
select SND_SOC_ADAU_UTILS
2011-08-15 22:15:22 +04:00
2014-05-27 12:53:18 +04:00
config SND_SOC_ADAU1761
tristate
select SND_SOC_ADAU17X1
config SND_SOC_ADAU1761_I2C
2017-02-27 17:17:42 +03:00
tristate "Analog Devices AU1761 CODEC - I2C"
depends on I2C
2014-05-27 12:53:18 +04:00
select SND_SOC_ADAU1761
select REGMAP_I2C
config SND_SOC_ADAU1761_SPI
2017-02-27 17:17:42 +03:00
tristate "Analog Devices AU1761 CODEC - SPI"
depends on SPI
2014-05-27 12:53:18 +04:00
select SND_SOC_ADAU1761
select REGMAP_SPI
2014-05-27 12:53:19 +04:00
config SND_SOC_ADAU1781
select SND_SOC_ADAU17X1
tristate
config SND_SOC_ADAU1781_I2C
tristate
2020-02-12 17:56:49 +03:00
depends on I2C
2014-05-27 12:53:19 +04:00
select SND_SOC_ADAU1781
select REGMAP_I2C
config SND_SOC_ADAU1781_SPI
tristate
2020-02-12 17:56:48 +03:00
depends on SPI_MASTER
2014-05-27 12:53:19 +04:00
select SND_SOC_ADAU1781
select REGMAP_SPI
2011-08-15 22:15:22 +04:00
2014-02-18 18:57:35 +04:00
config SND_SOC_ADAU1977
tristate
config SND_SOC_ADAU1977_SPI
tristate
2020-02-12 17:56:48 +03:00
depends on SPI_MASTER
2014-02-18 18:57:35 +04:00
select SND_SOC_ADAU1977
select REGMAP_SPI
config SND_SOC_ADAU1977_I2C
tristate
2020-02-12 17:56:49 +03:00
depends on I2C
2014-02-18 18:57:35 +04:00
select SND_SOC_ADAU1977
select REGMAP_I2C
2016-06-02 15:19:42 +03:00
config SND_SOC_ADAU7002
tristate "Analog Devices ADAU7002 Stereo PDM-to-I2S/TDM Converter"
2019-10-10 10:42:33 +03:00
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
2020-12-16 14:28:59 +03:00
means that there is no bus to communicate with it. Stereo mode is not
2019-10-10 10:42:33 +03:00
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"
2019-10-11 18:00:42 +03:00
depends on I2C
2019-10-10 10:42:33 +03:00
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.
2011-06-27 19:04:01 +04:00
config SND_SOC_ADAV80X
tristate
2014-02-17 16:16:56 +04:00
config SND_SOC_ADAV801
tristate
2020-02-12 17:56:48 +03:00
depends on SPI_MASTER
2014-02-17 16:16:56 +04:00
select SND_SOC_ADAV80X
config SND_SOC_ADAV803
tristate
2020-02-12 17:56:49 +03:00
depends on I2C
2014-02-17 16:16:56 +04:00
select SND_SOC_ADAV80X
2009-11-04 20:49:22 +03:00
config SND_SOC_ADS117X
tristate
2008-09-27 12:57:26 +04:00
2009-03-09 04:13:17 +03:00
config SND_SOC_AK4104
2014-01-23 16:58:16 +04:00
tristate "AKM AK4104 CODEC"
depends on SPI_MASTER
2009-03-09 04:13:17 +03:00
2018-11-14 15:16:41 +03:00
config SND_SOC_AK4118
tristate "AKM AK4118 CODEC"
depends on I2C
select REGMAP_I2C
2021-12-20 22:37:25 +03:00
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.
2018-02-14 16:21:06 +03:00
config SND_SOC_AK4458
tristate "AKM AK4458 CODEC"
depends on I2C
select REGMAP_I2C
2008-06-23 17:51:28 +04:00
config SND_SOC_AK4535
tristate
2020-02-12 17:56:49 +03:00
depends on I2C
2008-06-23 17:51:28 +04:00
2013-07-04 08:15:13 +04:00
config SND_SOC_AK4554
2014-01-23 16:58:16 +04:00
tristate "AKM AK4554 CODEC"
2013-07-04 08:15:13 +04:00
2015-09-15 11:26:36 +03:00
config SND_SOC_AK4613
tristate "AKM AK4613 CODEC"
depends on I2C
2011-05-18 19:25:09 +04:00
config SND_SOC_AK4641
tristate
2020-02-12 17:56:49 +03:00
depends on I2C
2011-05-18 19:25:09 +04:00
2009-08-21 05:23:41 +04:00
config SND_SOC_AK4642
2014-01-23 16:58:16 +04:00
tristate "AKM AK4642 CODEC"
depends on I2C
2009-08-21 05:23:41 +04:00
2009-09-09 19:12:43 +04:00
config SND_SOC_AK4671
tristate
2020-02-12 17:56:49 +03:00
depends on I2C
2009-09-09 19:12:43 +04:00
2013-03-08 15:07:28 +04:00
config SND_SOC_AK5386
2014-01-23 16:58:16 +04:00
tristate "AKM AK5638 CODEC"
2013-03-08 15:07:28 +04:00
2018-02-13 17:29:33 +03:00
config SND_SOC_AK5558
tristate "AKM AK5558 CODEC"
depends on I2C
select REGMAP_I2C
2010-10-21 21:40:02 +04:00
config SND_SOC_ALC5623
2020-11-10 20:49:04 +03:00
tristate "Realtek ALC5623 CODEC"
2014-05-26 18:08:37 +04:00
depends on I2C
2014-01-23 16:58:16 +04:00
2011-11-05 14:38:02 +04:00
config SND_SOC_ALC5632
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2010-10-21 21:40:02 +04:00
2022-03-04 13:24:52 +03:00
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.
2018-02-23 04:17:17 +03:00
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.
2016-04-22 12:09:14 +03:00
config SND_SOC_BT_SCO
2016-07-04 10:06:42 +03:00
tristate "Dummy BT SCO codec driver"
2016-04-22 12:09:14 +03:00
2018-02-23 23:02:51 +03:00
config SND_SOC_CPCAP
tristate "Motorola CPCAP codec"
2022-08-26 12:36:59 +03:00
depends on MFD_CPCAP || COMPILE_TEST
2018-02-23 23:02:51 +03:00
2010-03-11 18:32:59 +03:00
config SND_SOC_CQ0093VC
tristate
2019-01-19 14:33:33 +03:00
config SND_SOC_CROS_EC_CODEC
tristate "codec driver for ChromeOS EC"
2019-09-02 12:53:01 +03:00
depends on CROS_EC
2020-09-17 17:18:04 +03:00
select CRYPTO
2020-05-15 13:03:09 +03:00
select CRYPTO_LIB_SHA256
2019-01-19 14:33:33 +03:00
help
If you say yes here you will get support for the
ChromeOS Embedded Controller's Audio Codec.
2014-08-05 00:11:16 +04:00
config SND_SOC_CS35L32
tristate "Cirrus Logic CS35L32 CODEC"
depends on I2C
2016-06-20 19:45:18 +03:00
config SND_SOC_CS35L33
tristate "Cirrus Logic CS35L33 CODEC"
depends on I2C
2016-10-12 21:53:28 +03:00
config SND_SOC_CS35L34
tristate "Cirrus Logic CS35L34 CODEC"
depends on I2C
2017-03-06 17:07:59 +03:00
config SND_SOC_CS35L35
tristate "Cirrus Logic CS35L35 CODEC"
depends on I2C
2019-02-07 21:12:15 +03:00
config SND_SOC_CS35L36
tristate "Cirrus Logic CS35L36 CODEC"
depends on I2C
2021-12-17 14:56:59 +03:00
config SND_SOC_CS35L41_LIB
tristate
2021-11-25 17:35:01 +03:00
config SND_SOC_CS35L41
tristate
2021-09-08 01:57:18 +03:00
config SND_SOC_CS35L41_SPI
tristate "Cirrus Logic CS35L41 CODEC (SPI)"
depends on SPI_MASTER
2021-12-17 14:56:59 +03:00
select SND_SOC_CS35L41_LIB
select SND_SOC_CS35L41
2021-09-08 01:57:18 +03:00
select REGMAP_SPI
config SND_SOC_CS35L41_I2C
tristate "Cirrus Logic CS35L41 CODEC (I2C)"
depends on I2C
2021-12-17 14:56:59 +03:00
select SND_SOC_CS35L41_LIB
select SND_SOC_CS35L41
2021-09-08 01:57:18 +03:00
select REGMAP_I2C
2022-04-05 16:54:19 +03:00
config SND_SOC_CS35L45_TABLES
tristate
config SND_SOC_CS35L45
tristate
config SND_SOC_CS35L45_SPI
tristate "Cirrus Logic CS35L45 CODEC (SPI)"
depends on SPI_MASTER
select REGMAP
select REGMAP_SPI
select SND_SOC_CS35L45_TABLES
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_TABLES
select SND_SOC_CS35L45
help
Enable support for Cirrus Logic CS35L45 smart speaker amplifier
with I2C control.
2022-09-15 12:44:40 +03:00
config SND_SOC_CS42L42_CORE
tristate
2016-11-07 23:38:37 +03:00
config SND_SOC_CS42L42
2022-09-15 12:44:40 +03:00
tristate "Cirrus Logic CS42L42 CODEC (I2C)"
2016-11-07 23:38:37 +03:00
depends on I2C
2022-09-15 12:44:40 +03:00
select REGMAP
select REGMAP_I2C
select SND_SOC_CS42L42_CORE
2016-11-07 23:38:37 +03:00
2010-05-27 16:57:41 +04:00
config SND_SOC_CS42L51
tristate
2014-04-16 00:49:33 +04:00
config SND_SOC_CS42L51_I2C
2014-10-28 19:08:40 +03:00
tristate "Cirrus Logic CS42L51 CODEC (I2C)"
2014-10-31 20:54:23 +03:00
depends on I2C
2014-04-16 00:49:33 +04:00
select SND_SOC_CS42L51
2012-04-28 00:45:52 +04:00
config SND_SOC_CS42L52
2014-01-23 16:58:16 +04:00
tristate "Cirrus Logic CS42L52 CODEC"
2014-04-29 15:18:22 +04:00
depends on I2C && INPUT
2012-04-28 00:45:52 +04:00
2014-05-06 00:09:08 +04:00
config SND_SOC_CS42L56
tristate "Cirrus Logic CS42L56 CODEC"
depends on I2C && INPUT
2012-04-28 00:45:52 +04:00
2011-11-16 22:32:27 +04:00
config SND_SOC_CS42L73
2014-01-23 16:58:16 +04:00
tristate "Cirrus Logic CS42L73 CODEC"
depends on I2C
2011-11-16 22:32:27 +04:00
2022-09-15 12:44:42 +03:00
config SND_SOC_CS42L83
tristate "Cirrus Logic CS42L83 CODEC"
depends on I2C
select REGMAP
select REGMAP_I2C
select SND_SOC_CS42L42_CORE
2020-09-28 14:18:21 +03:00
config SND_SOC_CS4234
tristate "Cirrus Logic CS4234 CODEC"
depends on I2C
select REGMAP_I2C
2014-06-24 02:29:53 +04:00
config SND_SOC_CS4265
tristate "Cirrus Logic CS4265 CODEC"
depends on I2C
select REGMAP_I2C
2008-09-06 21:11:51 +04:00
# Cirrus Logic CS4270 Codec
config SND_SOC_CS4270
2014-01-23 16:58:16 +04:00
tristate "Cirrus Logic CS4270 CODEC"
depends on I2C
2008-09-06 21:11:51 +04:00
# 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
2011-01-19 21:22:06 +03:00
config SND_SOC_CS4271
2014-10-06 19:09:47 +04:00
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
2011-01-19 21:22:06 +03:00
2014-03-20 14:18:37 +04:00
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
2017-08-18 19:00:19 +03:00
# Cirrus Logic CS43130 HiFi DAC
config SND_SOC_CS43130
2019-10-04 17:49:31 +03:00
tristate "Cirrus Logic CS43130 CODEC"
depends on I2C
2017-08-18 19:00:19 +03:00
2018-12-20 10:36:12 +03:00
config SND_SOC_CS4341
tristate "Cirrus Logic CS4341 CODEC"
2019-01-14 12:55:40 +03:00
depends on SND_SOC_I2C_AND_SPI
2018-12-20 10:36:12 +03:00
select REGMAP_I2C if I2C
select REGMAP_SPI if SPI_MASTER
2015-07-16 22:51:40 +03:00
# Cirrus Logic CS4349 HiFi DAC
config SND_SOC_CS4349
tristate "Cirrus Logic CS4349 CODEC"
depends on I2C
2019-07-25 19:39:30 +03:00
config SND_SOC_CS47L15
tristate
2022-02-03 14:50:25 +03:00
depends on MFD_CS47L15
2019-07-25 19:39:30 +03:00
2015-11-03 18:08:35 +03:00
config SND_SOC_CS47L24
tristate
2021-05-21 16:50:23 +03:00
depends on MFD_CS47L24 && MFD_ARIZONA
2015-11-03 18:08:35 +03:00
2019-06-19 16:41:57 +03:00
config SND_SOC_CS47L35
tristate
2022-02-03 14:50:25 +03:00
depends on MFD_CS47L35
2019-06-19 16:41:57 +03:00
2019-06-19 16:41:58 +03:00
config SND_SOC_CS47L85
tristate
2022-02-03 14:50:25 +03:00
depends on MFD_CS47L85
2019-06-19 16:41:58 +03:00
2019-06-19 16:41:59 +03:00
config SND_SOC_CS47L90
tristate
2022-02-03 14:50:25 +03:00
depends on MFD_CS47L90
2019-06-19 16:41:59 +03:00
2019-07-25 19:39:31 +03:00
config SND_SOC_CS47L92
tristate
2022-02-03 14:50:25 +03:00
depends on MFD_CS47L92
2019-07-25 19:39:31 +03:00
2016-05-25 22:38:34 +03:00
# Cirrus Logic Quad-Channel ADC
config SND_SOC_CS53L30
tristate "Cirrus Logic CS53L30 CODEC"
depends on I2C
ASoC: Add support for Conexant CX20442-11 voice modem codec
This patch adds support for Conexant CX20442-11 voice modem codec, suitable
for use by the ASoC board driver for Amstrad E3 (Delta) videophone. Related
sound card driver will follow.
This codec is an optional part of the Conexant SmartV three chip modem design.
As such, documentation for its proprietary digital audio interface is not
available. However, on Amstrad Delta board, thanks to Mark Underwood who
created an initial, omap-alsa based sound driver a few years ago[1], the codec
has been discovered to be accessible not only from the modem side, but also
over the OMAP McBSP based CPU DAI. Thus, the driver can be used by any sound
card that can access the codec DAI directly. The DAI configuration parameters
(sample rate and format, number of channels) has been selected out empirically
for best user experience.
The codec analogue interface consists of two pairs of analogue I/O pins:
speakerphone interface or telephone handset/headset interface. Furthermore, it
seams to provide two operation modes for speakerphone I/O: standard and
advanced, with automatic gain control and echo cancelation. Even if the codec
control interface is unknown and not available, all those interfaces and modes
can be selected over the modem chip using V.253 commands. The driver is able
to issue necessary commands over a suitable hw_write function if provided by a
sound card driver. Otherwise, the codec can be controlled over the modem from
userspace while inactive.
Even if nothig is known about the codec internal power management
capabilities, DAPM widgets has been used to model the codec audio map.
Automatically performed powering up/down of those virtual widgets results in
corresponding V.253 commands being issued.
Some driver features/oddities may be board specific, but I have no way to
verify that with any board other than Amstrad Delta.
[1] http://www.earth.li/pipermail/e3-hacking/2006-April/000481.html
Created and tested against linux-2.6.31-rc3.
Applies and works with linux-omap-2.6 commit
7c5cb7862d32cb344be7831d466535d5255e35ac as well.
Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-07-22 07:22:28 +04:00
config SND_SOC_CX20442
tristate
2013-01-18 10:44:22 +04:00
depends on TTY
ASoC: Add support for Conexant CX20442-11 voice modem codec
This patch adds support for Conexant CX20442-11 voice modem codec, suitable
for use by the ASoC board driver for Amstrad E3 (Delta) videophone. Related
sound card driver will follow.
This codec is an optional part of the Conexant SmartV three chip modem design.
As such, documentation for its proprietary digital audio interface is not
available. However, on Amstrad Delta board, thanks to Mark Underwood who
created an initial, omap-alsa based sound driver a few years ago[1], the codec
has been discovered to be accessible not only from the modem side, but also
over the OMAP McBSP based CPU DAI. Thus, the driver can be used by any sound
card that can access the codec DAI directly. The DAI configuration parameters
(sample rate and format, number of channels) has been selected out empirically
for best user experience.
The codec analogue interface consists of two pairs of analogue I/O pins:
speakerphone interface or telephone handset/headset interface. Furthermore, it
seams to provide two operation modes for speakerphone I/O: standard and
advanced, with automatic gain control and echo cancelation. Even if the codec
control interface is unknown and not available, all those interfaces and modes
can be selected over the modem chip using V.253 commands. The driver is able
to issue necessary commands over a suitable hw_write function if provided by a
sound card driver. Otherwise, the codec can be controlled over the modem from
userspace while inactive.
Even if nothig is known about the codec internal power management
capabilities, DAPM widgets has been used to model the codec audio map.
Automatically performed powering up/down of those virtual widgets results in
corresponding V.253 commands being issued.
Some driver features/oddities may be board specific, but I have no way to
verify that with any board other than Amstrad Delta.
[1] http://www.earth.li/pipermail/e3-hacking/2006-April/000481.html
Created and tested against linux-2.6.31-rc3.
Applies and works with linux-omap-2.6 commit
7c5cb7862d32cb344be7831d466535d5255e35ac as well.
Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-07-22 07:22:28 +04:00
2019-05-21 09:26:52 +03:00
config SND_SOC_CX2072X
tristate "Conexant CX2072X CODEC"
depends on I2C
help
Enable support for Conexant CX20721 and CX20723 codec chips.
2010-06-22 02:46:31 +04:00
config SND_SOC_JZ4740_CODEC
2021-01-23 17:09:57 +03:00
depends on MACH_INGENIC || COMPILE_TEST
2020-05-23 15:54:55 +03:00
depends on OF
2012-10-27 19:15:08 +04:00
select REGMAP_MMIO
2019-02-07 16:31:42 +03:00
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.
2010-06-22 02:46:31 +04:00
2019-02-05 06:11:08 +03:00
config SND_SOC_JZ4725B_CODEC
2021-01-23 17:09:57 +03:00
depends on MACH_INGENIC || COMPILE_TEST
2020-05-23 15:54:55 +03:00
depends on OF
2019-02-05 06:11:08 +03:00
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.
2021-01-23 17:09:58 +03:00
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.
2019-12-24 03:27:08 +03:00
config SND_SOC_JZ4770_CODEC
2021-01-23 17:09:57 +03:00
depends on MACH_INGENIC || COMPILE_TEST
2020-05-23 15:54:55 +03:00
depends on OF
2019-12-24 03:27:08 +03:00
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.
2008-11-15 10:58:16 +03:00
config SND_SOC_L3
2020-11-10 20:49:04 +03:00
tristate
2008-11-15 10:58:16 +03:00
2010-06-20 17:05:46 +04:00
config SND_SOC_DA7210
2019-10-04 17:49:31 +03:00
tristate
2020-04-20 23:24:10 +03:00
depends on SND_SOC_I2C_AND_SPI
2010-06-20 17:05:46 +04:00
2013-02-14 16:02:51 +04:00
config SND_SOC_DA7213
2019-11-08 20:48:40 +03:00
tristate "Dialog DA7213 CODEC"
depends on I2C
2013-02-14 16:02:51 +04:00
2015-11-25 17:24:38 +03:00
config SND_SOC_DA7218
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2015-11-25 17:24:38 +03:00
2015-09-29 18:44:01 +03:00
config SND_SOC_DA7219
2019-10-04 17:49:31 +03:00
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2015-09-29 18:44:01 +03:00
2012-06-11 16:15:27 +04:00
config SND_SOC_DA732X
2019-10-04 17:49:31 +03:00
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2012-06-11 16:15:27 +04:00
2012-09-21 18:46:17 +04:00
config SND_SOC_DA9055
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2012-09-21 18:46:17 +04:00
2011-01-06 17:00:37 +03:00
config SND_SOC_DMIC
2018-08-29 18:00:48 +03:00
tristate "Generic Digital Microphone CODEC"
help
Enable support for the Generic Digital Microphone CODEC.
Select this if your sound card has DMICs.
2011-01-06 17:00:37 +03:00
2016-03-31 16:36:00 +03:00
config SND_SOC_HDMI_CODEC
2016-06-01 00:12:00 +03:00
tristate
select SND_PCM_ELD
select SND_PCM_IEC958
select HDMI
2016-03-31 16:36:00 +03:00
2017-02-27 18:47:23 +03:00
config SND_SOC_ES7134
2020-11-10 20:49:04 +03:00
tristate "Everest Semi ES7134 CODEC"
2017-02-27 18:47:23 +03:00
2018-07-03 16:28:45 +03:00
config SND_SOC_ES7241
2020-11-10 20:49:04 +03:00
tristate "Everest Semi ES7241 CODEC"
2018-07-03 16:28:45 +03:00
2017-06-12 20:01:45 +03:00
config SND_SOC_ES8316
tristate "Everest Semi ES8316 CODEC"
2017-06-22 01:09:23 +03:00
depends on I2C
2017-06-12 20:01:45 +03:00
2022-08-16 05:44:56 +03:00
config SND_SOC_ES8326
tristate "Everest Semi ES8326 CODEC"
depends on I2C
2014-07-31 06:43:36 +04:00
config SND_SOC_ES8328
2017-02-06 15:27:11 +03:00
tristate
2014-07-31 06:43:36 +04:00
config SND_SOC_ES8328_I2C
2017-02-06 15:27:11 +03:00
tristate "Everest Semi ES8328 CODEC (I2C)"
depends on I2C
2014-07-31 06:43:36 +04:00
select SND_SOC_ES8328
config SND_SOC_ES8328_SPI
2017-02-06 15:27:11 +03:00
tristate "Everest Semi ES8328 CODEC (SPI)"
depends on SPI_MASTER
2014-07-31 06:43:36 +04:00
select SND_SOC_ES8328
2015-06-20 23:47:01 +03:00
config SND_SOC_GTM601
tristate 'GTM601 UMTS modem audio codec'
2015-11-23 17:43:06 +03:00
config SND_SOC_HDAC_HDMI
tristate
select SND_HDA_EXT_CORE
2016-02-12 05:16:02 +03:00
select SND_PCM_ELD
2015-11-23 17:43:06 +03:00
select HDMI
2018-08-22 23:25:03 +03:00
config SND_SOC_HDAC_HDA
tristate
select SND_HDA
2022-05-11 19:23:51 +03:00
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.
2015-08-27 12:35:20 +03:00
config SND_SOC_ICS43432
2021-08-21 11:26:56 +03:00
tristate "ICS43423 and compatible i2s microphones"
2015-08-27 12:35:20 +03:00
2015-11-09 05:10:19 +03:00
config SND_SOC_INNO_RK3036
tristate "Inno codec driver for RK3036 SoC"
2016-01-25 20:23:30 +03:00
select REGMAP_MMIO
2015-11-09 05:10:19 +03:00
ASoC: Support TI Isabelle Audio driver
ASoC: Support TI Isabelle Audio driver
The Isabelle Audio IC is a complete low power high fidelity CODEC with integrated
ADCs, DACs, decimation and interpolation filters, PLL, and power providers. This
device supports 2 analog and 2 digital microphone channels, a mono earpiece driver,
stereo class G headphone drivers with ultra low power and best SNR in the industry,
stereo Class D speaker drivers, and 2 high performance Line drivers.
The below patch is a basic driver code for TI Isabelle audio codec. The
functionalities like headset detection, etc., will be included incrementally
in the up-coming patches.
Signed-off-by: Vishwas A Deshpande <vishwas.a.deshpande@ti.com>
Signed-off-by: M R Swami Reddy <mr.swami.reddy@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-06-01 20:51:54 +04:00
config SND_SOC_ISABELLE
2019-10-04 17:49:31 +03:00
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
ASoC: Support TI Isabelle Audio driver
ASoC: Support TI Isabelle Audio driver
The Isabelle Audio IC is a complete low power high fidelity CODEC with integrated
ADCs, DACs, decimation and interpolation filters, PLL, and power providers. This
device supports 2 analog and 2 digital microphone channels, a mono earpiece driver,
stereo class G headphone drivers with ultra low power and best SNR in the industry,
stereo Class D speaker drivers, and 2 high performance Line drivers.
The below patch is a basic driver code for TI Isabelle audio codec. The
functionalities like headset detection, etc., will be included incrementally
in the up-coming patches.
Signed-off-by: Vishwas A Deshpande <vishwas.a.deshpande@ti.com>
Signed-off-by: M R Swami Reddy <mr.swami.reddy@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-06-01 20:51:54 +04:00
2012-03-30 14:33:43 +04:00
config SND_SOC_LM49453
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2012-03-30 14:33:43 +04:00
2019-03-20 20:37:32 +03:00
config SND_SOC_LOCHNAGAR_SC
tristate "Lochnagar Sound Card"
2022-08-26 12:36:59 +03:00
depends on MFD_LOCHNAGAR || COMPILE_TEST
2019-03-20 20:37:32 +03:00
help
This driver support the sound card functionality of the Cirrus
Logic Lochnagar audio development board.
2019-06-19 16:41:56 +03:00
config SND_SOC_MADERA
tristate
2019-07-25 19:39:30 +03:00
default y if SND_SOC_CS47L15=y
2019-06-19 16:41:57 +03:00
default y if SND_SOC_CS47L35=y
2019-06-19 16:41:58 +03:00
default y if SND_SOC_CS47L85=y
2019-06-19 16:41:59 +03:00
default y if SND_SOC_CS47L90=y
2019-07-25 19:39:31 +03:00
default y if SND_SOC_CS47L92=y
2019-07-25 19:39:30 +03:00
default m if SND_SOC_CS47L15=m
2019-06-19 16:41:57 +03:00
default m if SND_SOC_CS47L35=m
2019-06-19 16:41:58 +03:00
default m if SND_SOC_CS47L85=m
2019-06-19 16:41:59 +03:00
default m if SND_SOC_CS47L90=m
2019-07-25 19:39:31 +03:00
default m if SND_SOC_CS47L92=m
2019-06-19 16:41:56 +03:00
2010-10-19 03:45:24 +04:00
config SND_SOC_MAX98088
2018-10-05 10:58:12 +03:00
tristate "Maxim MAX98088/9 Low-Power, Stereo Audio Codec"
2018-10-10 11:37:13 +03:00
depends on I2C
2010-10-19 03:45:24 +04:00
2012-11-21 08:27:10 +04:00
config SND_SOC_MAX98090
2020-02-12 17:56:48 +03:00
tristate
depends on I2C
2012-11-21 08:27:10 +04:00
2011-04-05 06:35:30 +04:00
config SND_SOC_MAX98095
2020-02-12 17:56:48 +03:00
tristate
depends on I2C
2011-04-05 06:35:30 +04:00
2015-02-05 23:53:40 +03:00
config SND_SOC_MAX98357A
2019-05-27 19:38:09 +03:00
tristate "Maxim MAX98357A CODEC"
2015-02-05 23:53:40 +03:00
2016-04-28 01:39:05 +03:00
config SND_SOC_MAX98371
2020-02-12 17:56:48 +03:00
tristate
depends on I2C
2016-04-28 01:39:05 +03:00
ASoC: max98504: Add max98504 speaker amplifier driver
This patch adds driver for the MAX98504 speaker amplifier. The MAX98504
is a high efficiency mono class D amplifier that features an integrated
boost converter with voltage and current sensing ADCs for Dynamic Speaker
Management.
This driver does not include support for the I2S DAI, as we wouldn't be
able to test such code in a hardware configuration where the amplifier
has only wired the analogue input.
Signed-off-by: Inha Song <ideal.song@samsung.com>
[k.kozlowski: rebased on 4.1]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
[s.nawrocki: removed unused macro definitions, rewrote regulator supply
related parts, rewrote regmap configuration code, added support for speaker
enable and global chip enable through DAPM, rewritten as component driver,
added PDM DAI definition and TDM callbacks for PDM channels configuration]
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
--
Changes since v2:
- added parsing of the VBAT brownout DT properties,
- removed MAX98504_REG_SPEAKER_SOURCE_SELECT register initialization,
- removed unused macro definitions.
Changes since v1:
- none.
Changes since initial version:
- added regulator supply handling,
- added DAPM widges for speaker source selection,
- added PDM DAI definition and TDM callbacks for setting up active
PDM Tx channels and I/V sense ADC data mapping,
- removed all optional DT properties, added regulator supply properties
in the DT binding.
Signed-off-by: Mark Brown <broonie@kernel.org>
2016-06-29 14:26:37 +03:00
config SND_SOC_MAX98504
tristate "Maxim MAX98504 speaker amplifier"
depends on I2C
2016-02-18 04:28:49 +03:00
config SND_SOC_MAX9867
2018-03-01 17:19:23 +03:00
tristate "Maxim MAX9867 CODEC"
depends on I2C
2016-02-18 04:28:49 +03:00
2015-03-10 01:50:34 +03:00
config SND_SOC_MAX98925
2020-02-12 17:56:48 +03:00
tristate
depends on I2C
2015-03-10 01:50:34 +03:00
2016-01-15 01:03:33 +03:00
config SND_SOC_MAX98926
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2016-01-15 01:03:33 +03:00
2017-04-03 20:23:08 +03:00
config SND_SOC_MAX98927
tristate "Maxim Integrated MAX98927 Speaker Amplifier"
depends on I2C
2021-10-27 03:14:31 +03:00
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.
2018-01-03 21:39:17 +03:00
config SND_SOC_MAX98373
2020-07-08 23:32:12 +03:00
tristate
config SND_SOC_MAX98373_I2C
2018-01-03 21:39:17 +03:00
tristate "Maxim Integrated MAX98373 Speaker Amplifier"
depends on I2C
2020-07-08 23:32:12 +03:00
select SND_SOC_MAX98373
2018-01-03 21:39:17 +03:00
2020-07-08 23:32:13 +03:00
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.
2020-05-18 03:50:38 +03:00
config SND_SOC_MAX98390
tristate "Maxim Integrated MAX98390 Speaker Amplifier"
depends on I2C
2022-04-23 05:15:58 +03:00
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.
2011-03-09 13:20:04 +03:00
config SND_SOC_MAX9850
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2011-03-09 13:20:04 +03:00
2016-05-15 00:09:39 +03:00
config SND_SOC_MAX9860
tristate "Maxim MAX9860 Mono Audio Voice Codec"
depends on I2C
select REGMAP_I2C
2016-10-20 17:20:45 +03:00
config SND_SOC_MSM8916_WCD_ANALOG
tristate "Qualcomm MSM8916 WCD Analog Codec"
depends on SPMI || COMPILE_TEST
2016-10-20 17:20:46 +03:00
config SND_SOC_MSM8916_WCD_DIGITAL
tristate "Qualcomm MSM8916 WCD DIGITAL Codec"
2019-01-11 13:20:40 +03:00
select REGMAP_MMIO
2016-10-20 17:20:46 +03:00
2013-08-01 13:14:58 +04:00
config SND_SOC_PCM1681
2014-01-23 16:58:16 +04:00
tristate "Texas Instruments PCM1681 CODEC"
depends on I2C
2013-08-01 13:14:58 +04:00
2018-03-15 19:18:24 +03:00
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.
2016-01-10 02:38:04 +03:00
config SND_SOC_PCM179X
2016-01-22 15:39:53 +03:00
tristate
2016-01-22 15:39:54 +03:00
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.
2016-01-22 15:39:53 +03:00
config SND_SOC_PCM179X_SPI
tristate "Texas Instruments PCM179X CODEC (SPI)"
2014-01-23 16:58:16 +04:00
depends on SPI_MASTER
2016-01-22 15:39:53 +03:00
select SND_SOC_PCM179X
help
Enable support for Texas Instruments PCM179x CODEC.
Select this if your PCM179x is connected via an SPI bus.
2013-08-03 18:20:43 +04:00
2017-12-05 23:52:56 +03:00
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
2008-11-19 09:37:31 +03:00
config SND_SOC_PCM3008
2020-11-10 20:49:04 +03:00
tristate
2008-11-19 09:37:31 +03:00
2018-08-21 19:52:46 +03:00
config SND_SOC_PCM3060
2020-11-10 20:49:04 +03:00
tristate
2018-08-21 19:52:46 +03:00
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
2015-12-08 18:59:00 +03:00
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
2016-05-13 12:14:12 +03:00
config SND_SOC_PCM5102A
2020-10-12 17:19:11 +03:00
tristate "Texas Instruments PCM5102A CODEC"
2016-05-13 12:14:12 +03:00
2014-02-06 16:03:27 +04:00
config SND_SOC_PCM512x
2014-03-07 07:44:08 +04:00
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
2014-02-06 16:03:27 +04:00
2018-12-20 18:36:35 +03:00
config SND_SOC_RK3328
tristate "Rockchip RK3328 audio CODEC"
select REGMAP_MMIO
2021-05-19 23:37:52 +03:00
config SND_SOC_RK817
tristate "Rockchip RK817 audio CODEC"
2022-09-01 13:14:58 +03:00
depends on MFD_RK808 || COMPILE_TEST
2021-05-19 23:37:52 +03:00
2014-05-20 11:01:53 +04:00
config SND_SOC_RL6231
tristate
2016-02-03 14:53:24 +03:00
default y if SND_SOC_RT5514=y
2015-12-15 09:57:41 +03:00
default y if SND_SOC_RT5616=y
2014-05-20 11:01:53 +04:00
default y if SND_SOC_RT5640=y
default y if SND_SOC_RT5645=y
default y if SND_SOC_RT5651=y
2015-11-09 09:47:34 +03:00
default y if SND_SOC_RT5659=y
2016-09-19 14:26:08 +03:00
default y if SND_SOC_RT5660=y
2016-09-09 05:33:10 +03:00
default y if SND_SOC_RT5663=y
2016-12-09 11:56:24 +03:00
default y if SND_SOC_RT5665=y
2018-03-22 09:12:33 +03:00
default y if SND_SOC_RT5668=y
2014-06-30 16:31:13 +04:00
default y if SND_SOC_RT5670=y
2014-06-10 04:57:36 +04:00
default y if SND_SOC_RT5677=y
2018-06-07 11:37:38 +03:00
default y if SND_SOC_RT5682=y
2019-05-28 07:30:17 +03:00
default y if SND_SOC_RT1011=y
2020-01-15 14:25:19 +03:00
default y if SND_SOC_RT1015=y
2020-09-10 07:29:48 +03:00
default y if SND_SOC_RT1015P=y
2021-03-11 05:58:09 +03:00
default y if SND_SOC_RT1019=y
2018-03-29 15:05:14 +03:00
default y if SND_SOC_RT1305=y
2019-06-28 15:51:43 +03:00
default y if SND_SOC_RT1308=y
2016-02-03 14:53:24 +03:00
default m if SND_SOC_RT5514=m
2015-12-15 09:57:41 +03:00
default m if SND_SOC_RT5616=m
2014-05-20 11:01:53 +04:00
default m if SND_SOC_RT5640=m
default m if SND_SOC_RT5645=m
default m if SND_SOC_RT5651=m
2015-11-09 09:47:34 +03:00
default m if SND_SOC_RT5659=m
2016-09-19 14:26:08 +03:00
default m if SND_SOC_RT5660=m
2016-09-09 05:33:10 +03:00
default m if SND_SOC_RT5663=m
2016-12-09 11:56:24 +03:00
default m if SND_SOC_RT5665=m
2018-03-22 09:12:33 +03:00
default m if SND_SOC_RT5668=m
2014-06-30 16:31:13 +04:00
default m if SND_SOC_RT5670=m
2014-06-10 04:57:36 +04:00
default m if SND_SOC_RT5677=m
2018-06-07 11:37:38 +03:00
default m if SND_SOC_RT5682=m
2019-05-28 07:30:17 +03:00
default m if SND_SOC_RT1011=m
2020-01-15 14:25:19 +03:00
default m if SND_SOC_RT1015=m
2020-09-10 07:29:48 +03:00
default m if SND_SOC_RT1015P=m
2021-03-11 05:58:09 +03:00
default m if SND_SOC_RT1019=m
2018-03-29 15:05:14 +03:00
default m if SND_SOC_RT1305=m
2019-06-28 15:51:43 +03:00
default m if SND_SOC_RT1308=m
2014-05-20 11:01:53 +04:00
2015-06-12 12:06:29 +03:00
config SND_SOC_RL6347A
tristate
2017-07-14 09:25:52 +03:00
default y if SND_SOC_RT274=y
2015-06-12 12:06:29 +03:00
default y if SND_SOC_RT286=y
2015-06-26 05:59:49 +03:00
default y if SND_SOC_RT298=y
2017-07-14 09:25:52 +03:00
default m if SND_SOC_RT274=m
2015-06-12 12:06:29 +03:00
default m if SND_SOC_RT286=m
2015-06-26 05:59:49 +03:00
default m if SND_SOC_RT298=m
2015-06-12 12:06:29 +03:00
2017-07-14 09:25:52 +03:00
config SND_SOC_RT274
tristate
depends on I2C
2014-06-20 10:41:13 +04:00
config SND_SOC_RT286
tristate
2014-10-03 05:55:07 +04:00
depends on I2C
2014-06-20 10:41:13 +04:00
2015-06-26 05:59:49 +03:00
config SND_SOC_RT298
tristate
depends on I2C
2019-05-28 07:30:17 +03:00
config SND_SOC_RT1011
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2019-05-28 07:30:17 +03:00
2020-01-15 14:25:19 +03:00
config SND_SOC_RT1015
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2020-01-15 14:25:19 +03:00
2020-09-10 07:29:48 +03:00
config SND_SOC_RT1015P
tristate
2022-04-05 20:11:58 +03:00
config SND_SOC_RT1016
tristate
depends on I2C
2021-03-11 05:58:09 +03:00
config SND_SOC_RT1019
tristate
depends on I2C
2018-03-29 15:05:14 +03:00
config SND_SOC_RT1305
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2018-03-29 15:05:14 +03:00
2019-06-28 15:51:43 +03:00
config SND_SOC_RT1308
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2019-06-28 15:51:43 +03:00
2020-01-10 04:46:06 +03:00
config SND_SOC_RT1308_SDW
tristate "Realtek RT1308 Codec - SDW"
2020-02-12 17:56:48 +03:00
depends on I2C && SOUNDWIRE
2020-01-10 04:46:06 +03:00
select REGMAP_SOUNDWIRE
2021-02-23 12:07:59 +03:00
config SND_SOC_RT1316_SDW
tristate "Realtek RT1316 Codec - SDW"
depends on SOUNDWIRE
select REGMAP_SOUNDWIRE
2022-11-08 12:27:27 +03:00
config SND_SOC_RT1318_SDW
tristate "Realtek RT1318 Codec - SDW"
depends on SOUNDWIRE
select REGMAP_SOUNDWIRE
2016-02-03 14:53:24 +03:00
config SND_SOC_RT5514
2015-12-15 09:57:41 +03:00
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2015-12-15 09:57:41 +03:00
2016-06-06 13:33:31 +03:00
config SND_SOC_RT5514_SPI
tristate
2020-02-12 17:56:48 +03:00
depends on SPI_MASTER
2016-06-06 13:33:31 +03:00
2017-11-10 17:54:43 +03:00
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
2015-12-15 09:57:41 +03:00
config SND_SOC_RT5616
2016-03-04 09:54:50 +03:00
tristate "Realtek RT5616 CODEC"
2016-03-16 00:42:50 +03:00
depends on I2C
2015-12-15 09:57:41 +03:00
2011-09-22 16:52:12 +04:00
config SND_SOC_RT5631
2014-11-13 15:14:23 +03:00
tristate "Realtek ALC5631/RT5631 CODEC"
depends on I2C
2011-09-22 16:52:12 +04:00
2013-06-11 09:10:16 +04:00
config SND_SOC_RT5640
2021-06-12 23:06:50 +03:00
tristate "Realtek RT5640/RT5639 Codec"
2020-02-12 17:56:48 +03:00
depends on I2C
2013-06-11 09:10:16 +04:00
2014-04-28 15:59:10 +04:00
config SND_SOC_RT5645
2019-10-04 17:49:31 +03:00
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2014-04-28 15:59:10 +04:00
2014-04-16 15:20:46 +04:00
config SND_SOC_RT5651
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2014-04-16 15:20:46 +04:00
2015-11-09 09:47:34 +03:00
config SND_SOC_RT5659
2021-01-29 21:27:41 +03:00
tristate "Realtek RT5658/RT5659 Codec"
2020-02-12 17:56:48 +03:00
depends on I2C
2015-11-09 09:47:34 +03:00
2016-09-19 14:26:08 +03:00
config SND_SOC_RT5660
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2016-09-19 14:26:08 +03:00
2016-12-09 11:56:24 +03:00
config SND_SOC_RT5663
2016-11-14 06:00:10 +03:00
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2016-11-14 06:00:10 +03:00
2016-12-09 11:56:24 +03:00
config SND_SOC_RT5665
2016-09-09 05:33:10 +03:00
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2016-09-09 05:33:10 +03:00
2018-03-22 09:12:33 +03:00
config SND_SOC_RT5668
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2018-03-22 09:12:33 +03:00
2014-06-30 16:31:13 +04:00
config SND_SOC_RT5670
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2014-06-30 16:31:13 +04:00
2014-05-26 16:32:33 +04:00
config SND_SOC_RT5677
tristate
2020-02-12 17:56:49 +03:00
depends on I2C
2014-12-11 07:15:25 +03:00
select REGMAP_I2C
select REGMAP_IRQ
2014-05-26 16:32:33 +04:00
2014-10-21 07:30:13 +04:00
config SND_SOC_RT5677_SPI
tristate
2015-01-29 00:31:30 +03:00
default SND_SOC_RT5677 && SPI
2014-10-21 07:30:13 +04:00
2018-06-07 11:37:38 +03:00
config SND_SOC_RT5682
tristate
2020-05-28 12:17:17 +03:00
config SND_SOC_RT5682_I2C
tristate
depends on I2C
select SND_SOC_RT5682
2018-06-07 11:37:38 +03:00
2020-02-19 13:28:57 +03:00
config SND_SOC_RT5682_SDW
tristate "Realtek RT5682 Codec - SDW"
depends on SOUNDWIRE
select SND_SOC_RT5682
select REGMAP_SOUNDWIRE
2021-08-31 16:02:57 +03:00
config SND_SOC_RT5682S
tristate
depends on I2C
2020-01-10 04:45:52 +03:00
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
2019-12-27 08:44:45 +03:00
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
2021-03-02 12:15:06 +03:00
config SND_SOC_RT711_SDCA_SDW
tristate "Realtek RT711 SDCA Codec - SDW"
depends on SOUNDWIRE
select REGMAP_SOUNDWIRE
select REGMAP_SOUNDWIRE_MBQ
2020-01-10 05:18:21 +03:00
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
2021-03-02 13:30:42 +03:00
config SND_SOC_RT715_SDCA_SDW
tristate "Realtek RT715 SDCA Codec - SDW"
depends on SOUNDWIRE
select REGMAP_SOUNDWIRE
select REGMAP_SOUNDWIRE_MBQ
2021-10-13 04:28:39 +03:00
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.
2021-07-14 06:22:00 +03:00
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.
2011-02-23 21:08:21 +03:00
#Freescale sgtl5000 codec
config SND_SOC_SGTL5000
2014-01-23 16:58:16 +04:00
tristate "Freescale SGTL5000 CODEC"
depends on I2C
2011-02-23 21:08:21 +03:00
2012-10-06 05:55:02 +04:00
config SND_SOC_SI476X
tristate
2011-11-28 12:44:17 +04:00
config SND_SOC_SIGMADSP
tristate
select CRC32
2014-06-06 16:09:17 +04:00
config SND_SOC_SIGMADSP_I2C
tristate
select SND_SOC_SIGMADSP
config SND_SOC_SIGMADSP_REGMAP
tristate
select SND_SOC_SIGMADSP
2018-06-26 15:11:27 +03:00
config SND_SOC_SIMPLE_AMPLIFIER
tristate "Simple Audio Amplifier"
2020-12-05 03:15:08 +03:00
config SND_SOC_SIMPLE_MUX
tristate "Simple Audio Mux"
2022-02-02 22:23:33 +03:00
depends on GPIOLIB
2020-12-05 03:15:08 +03:00
2009-05-28 13:10:50 +04:00
config SND_SOC_SPDIF
2014-01-23 16:58:16 +04:00
tristate "S/PDIF CODEC"
2009-05-28 13:10:50 +04:00
2022-08-10 04:32:13 +03:00
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
2018-05-17 16:55:18 +03:00
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.
2013-05-23 22:14:50 +04:00
config SND_SOC_SSM2518
2021-06-29 00:04:58 +03:00
tristate "Analog Devices SSM2518 Class-D Amplifier"
2020-02-12 17:56:48 +03:00
depends on I2C
2013-05-23 22:14:50 +04:00
2008-09-06 21:11:51 +04:00
config SND_SOC_SSM2602
tristate
2014-02-17 16:16:53 +04:00
config SND_SOC_SSM2602_SPI
2014-09-29 23:41:10 +04:00
tristate "Analog Devices SSM2602 CODEC - SPI"
depends on SPI_MASTER
2014-02-17 16:16:53 +04:00
select SND_SOC_SSM2602
2014-09-29 23:41:10 +04:00
select REGMAP_SPI
2014-02-17 16:16:53 +04:00
config SND_SOC_SSM2602_I2C
2014-09-29 23:41:10 +04:00
tristate "Analog Devices SSM2602 CODEC - I2C"
depends on I2C
2014-02-17 16:16:53 +04:00
select SND_SOC_SSM2602
2014-09-29 23:41:10 +04:00
select REGMAP_I2C
2014-02-17 16:16:53 +04:00
2014-09-27 00:31:06 +04:00
config SND_SOC_SSM4567
tristate "Analog Devices ssm4567 amplifier driver support"
depends on I2C
2014-02-17 16:16:53 +04:00
2011-06-22 16:59:24 +04:00
config SND_SOC_STA32X
2015-01-22 02:02:00 +03:00
tristate "STA326, STA328 and STA329 speaker amplifier"
depends on I2C
2015-01-22 02:01:53 +03:00
select REGMAP_I2C
2011-06-22 16:59:24 +04:00
2014-04-02 12:25:05 +04:00
config SND_SOC_STA350
tristate "STA350 speaker amplifier"
depends on I2C
2012-07-04 14:41:12 +04:00
config SND_SOC_STA529
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2012-07-04 14:41:12 +04:00
2009-05-24 03:13:07 +04:00
config SND_SOC_STAC9766
tristate
2020-02-12 17:56:50 +03:00
depends on SND_SOC_AC97_BUS
2009-05-24 03:13:07 +04:00
2015-06-22 17:31:11 +03:00
config SND_SOC_STI_SAS
tristate "codec Audio support for STI SAS codec"
2014-07-15 00:10:45 +04:00
config SND_SOC_TAS2552
tristate "Texas Instruments TAS2552 Mono Audio amplifier"
depends on I2C
2019-10-08 21:15:17 +03:00
config SND_SOC_TAS2562
tristate "Texas Instruments TAS2562 Mono Audio amplifier"
depends on I2C
2020-10-07 18:53:41 +03:00
config SND_SOC_TAS2764
tristate "Texas Instruments TAS2764 Mono Audio amplifier"
depends on I2C
2019-10-08 21:15:17 +03:00
2019-09-20 09:58:29 +03:00
config SND_SOC_TAS2770
tristate "Texas Instruments TAS2770 speaker amplifier"
depends on I2C
2022-07-07 15:33:42 +03:00
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.
2013-03-08 16:52:09 +04:00
config SND_SOC_TAS5086
2014-01-23 16:58:16 +04:00
tristate "Texas Instruments TAS5086 speaker amplifier"
depends on I2C
2013-03-08 16:52:09 +04:00
2015-05-04 03:00:18 +03:00
config SND_SOC_TAS571X
2018-06-27 10:39:37 +03:00
tristate "Texas Instruments TAS571x power amplifiers"
2015-05-04 03:00:18 +03:00
depends on I2C
2018-06-27 10:39:37 +03:00
help
Enable support for Texas Instruments TAS5707, TAS5711, TAS5717,
TAS5719 and TAS5721 power amplifiers
2015-05-04 03:00:18 +03:00
2016-04-27 01:15:57 +03:00
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.
2022-01-16 04:55:49 +03:00
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.
2017-12-05 18:54:12 +03:00
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.
2018-03-18 20:22:38 +03:00
config SND_SOC_TDA7419
tristate "ST TDA7419 audio processor"
depends on I2C
select REGMAP_I2C
2014-11-08 16:40:17 +03:00
config SND_SOC_TFA9879
tristate "NXP Semiconductors TFA9879 amplifier"
depends on I2C
ASoC: codecs: Add driver for NXP/Goodix TFA989x (TFA1) amplifiers
NXP's TFA98xx (now part of Goodix) are fairly popular speaker amplifiers
used in many smartphones and tablets. Most of them are sold as "smart
amplifiers" with built-in "CoolFlux DSP" that is used for volume control,
plus a "sophisticated speaker-boost and protection algorithm".
Unfortunately, they are also almost entirely undocumented. The short
datasheets (e.g. [1] for TFA9897) describe the available features,
but do not provide any information about the registers or how to use
the "CoolFlux DSP".
The amplifiers are most often configured through proprietary userspace
libraries. There are also some (rather complex) kernel drivers (e.g. [2])
but even those rely on obscure firmware blobs for configuration (so-called
"containers"). They seem to contain different "profiles" with tuned speaker
settings, sample rates and volume steps (which would be better exposed
as separate ALSA mixers).
The format of the firmware files seems to have changed a lot over the time,
so it's not even possible to simply re-use the firmware originally provided
by the vendor.
Overall, it seems close to impossible to develop a proper mainline driver
for these amplifiers that could make proper use of the built-in DSP.
This commit implements a compromise: At least the TFA1 family of the
TFA98xx amplifiers (usually called TFA989x) provide a way to *bypass*
the DSP using a special register sequence. The register sequence can be
found in similar variations in the kernel drivers from lots of vendors
e.g. in [3] and was probably mainly used for factory testing.
With the DSP bypassed, the amplifier acts mostly like a dumb standard
speaker amplifier, without (hardware) volume control. However, the setup
is much simpler and it works without any obscure firmware.
This driver implements the DSP bypass combined with chip-specific
initialization sequences adapted from [2]. Only TFA9895 is supported in
this initial commit. Except for the lack of volume control I can not hear
any difference with or without the DSP, it works just fine.
This driver allows the speaker to work on mainline Linux running on the
Samsung Galaxy A3/A5 (2015) [TFA9895] and Alcatel Idol 3 [TFA9897].
TFA9897 support will be added in separate patch set later.
[1]: https://product.goodix.com/en/docview/TFA9897%20SDS_Rev.3.1?objectId=47&objectType=document&version=78
[2]: https://source.codeaurora.org/external/mas/tfa98xx
[3]: https://github.com/sonyxperiadev/kernel/blob/57b5050e340f40a88e1ddb8d16fd9adb44418923/sound/soc/codecs/tfa98xx.c#L1422-L1462
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Link: https://lore.kernel.org/r/20210513104129.36583-2-stephan@gerhold.net
Signed-off-by: Mark Brown <broonie@kernel.org>
2021-05-13 13:41:29 +03:00
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.
2021-12-15 20:04:23 +03:00
config SND_SOC_TLV320ADC3XXX
tristate "Texas Instruments TLV320ADC3001/3101 audio ADC"
depends on I2C
2022-10-07 02:58:22 +03:00
depends on GPIOLIB
2021-12-15 20:04:23 +03:00
help
Enable support for Texas Instruments TLV320ADC3001 and TLV320ADC3101
ADCs.
2008-10-02 13:15:49 +04:00
config SND_SOC_TLV320AIC23
tristate
2014-03-06 14:04:41 +04:00
config SND_SOC_TLV320AIC23_I2C
2014-10-29 16:25:38 +03:00
tristate "Texas Instruments TLV320AIC23 audio CODEC - I2C"
2014-11-03 13:10:53 +03:00
depends on I2C
2014-03-06 14:04:41 +04:00
select SND_SOC_TLV320AIC23
config SND_SOC_TLV320AIC23_SPI
2014-10-29 16:25:38 +03:00
tristate "Texas Instruments TLV320AIC23 audio CODEC - SPI"
2014-11-03 13:10:53 +03:00
depends on SPI_MASTER
2014-03-06 14:04:41 +04:00
select SND_SOC_TLV320AIC23
2008-09-06 21:11:51 +04:00
config SND_SOC_TLV320AIC26
2013-03-13 00:08:38 +04:00
tristate
2008-10-10 10:26:57 +04:00
depends on SPI
2008-09-06 21:11:51 +04:00
2014-03-11 14:57:32 +04:00
config SND_SOC_TLV320AIC31XX
2014-07-25 16:07:48 +04:00
tristate "Texas Instruments TLV320AIC31xx CODECs"
2014-07-25 16:07:47 +04:00
depends on I2C
select REGMAP_I2C
2014-03-11 14:57:32 +04:00
2011-10-11 14:43:02 +04:00
config SND_SOC_TLV320AIC32X4
2011-03-02 16:52:32 +03:00
tristate
2019-03-22 03:58:45 +03:00
depends on COMMON_CLK
2011-03-02 16:52:32 +03:00
2016-04-19 03:24:05 +03:00
config SND_SOC_TLV320AIC32X4_I2C
2017-12-13 01:43:11 +03:00
tristate "Texas Instruments TLV320AIC32x4 audio CODECs - I2C"
2016-04-19 03:24:05 +03:00
depends on I2C
2019-03-26 16:10:13 +03:00
depends on COMMON_CLK
2016-04-19 03:24:05 +03:00
select SND_SOC_TLV320AIC32X4
2016-04-19 03:24:06 +03:00
config SND_SOC_TLV320AIC32X4_SPI
2017-12-13 01:43:11 +03:00
tristate "Texas Instruments TLV320AIC32x4 audio CODECs - SPI"
2016-04-19 03:24:06 +03:00
depends on SPI_MASTER
2019-03-26 16:10:13 +03:00
depends on COMMON_CLK
2016-04-19 03:24:06 +03:00
select SND_SOC_TLV320AIC32X4
2008-09-06 21:11:51 +04:00
config SND_SOC_TLV320AIC3X
2021-04-06 17:24:38 +03:00
tristate
config SND_SOC_TLV320AIC3X_I2C
tristate "Texas Instruments TLV320AIC3x audio CODECs - I2C"
2014-01-23 16:58:16 +04:00
depends on I2C
2021-04-06 17:24:38 +03:00
select SND_SOC_TLV320AIC3X
select REGMAP_I2C
2009-10-15 10:03:56 +04:00
2021-04-06 17:24:39 +03:00
config SND_SOC_TLV320AIC3X_SPI
tristate "Texas Instruments TLV320AIC3x audio CODECs - SPI"
depends on SPI_MASTER
select SND_SOC_TLV320AIC3X
select REGMAP_SPI
2009-10-15 10:03:56 +04:00
config SND_SOC_TLV320DAC33
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2008-09-06 21:11:51 +04:00
2020-02-21 00:07:59 +03:00
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.
2014-11-13 22:18:29 +03:00
config SND_SOC_TS3A227E
tristate "TI Headset/Mic detect and keypress chip"
depends on I2C
2017-12-19 23:54:25 +03:00
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.
2018-05-31 23:24:07 +03:00
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.
2008-10-31 07:35:26 +03:00
config SND_SOC_TWL4030
tristate
2020-02-07 12:13:51 +03:00
depends on TWL4030_CORE
select MFD_TWL4030_AUDIO
2008-10-31 07:35:26 +03:00
2010-03-19 14:25:51 +03:00
config SND_SOC_TWL6040
tristate
2020-02-07 12:13:51 +03:00
depends on TWL6040_CORE
2010-03-19 14:25:51 +03:00
2019-07-31 14:19:30 +03:00
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.
2008-11-15 10:58:16 +03:00
config SND_SOC_UDA134X
2020-11-10 20:49:04 +03:00
tristate
2008-11-15 10:58:16 +03:00
2008-05-28 20:58:06 +04:00
config SND_SOC_UDA1380
2019-10-04 17:49:31 +03:00
tristate
2016-11-17 04:12:30 +03:00
depends on I2C
2008-05-28 20:58:06 +04:00
2019-01-28 17:27:47 +03:00
config SND_SOC_WCD9335
tristate "WCD9335 Codec"
2019-01-29 15:02:29 +03:00
depends on SLIMBUS
2019-01-28 17:27:47 +03:00
select REGMAP_SLIMBUS
2019-04-10 17:23:38 +03:00
select REGMAP_IRQ
2019-01-28 17:27:47 +03:00
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.
2021-06-04 14:52:28 +03:00
config SND_SOC_WCD_MBHC
tristate
2019-12-19 13:31:45 +03:00
config SND_SOC_WCD934X
tristate "WCD9340/WCD9341 Codec"
2020-02-04 14:12:41 +03:00
depends on COMMON_CLK
2022-09-01 13:14:57 +03:00
depends on SLIMBUS
2022-09-26 10:40:42 +03:00
select REGMAP_SLIMBUS
2021-06-04 14:52:29 +03:00
select SND_SOC_WCD_MBHC
2022-08-26 12:36:59 +03:00
depends on MFD_WCD934X || COMPILE_TEST
2019-12-19 13:31:45 +03:00
help
The WCD9340/9341 is a audio codec IC Integrated in
Qualcomm SoCs like SDM845.
2021-06-09 12:09:43 +03:00
config SND_SOC_WCD938X
2021-07-13 17:04:17 +03:00
depends on SND_SOC_WCD938X_SDW
2021-06-09 12:09:43 +03:00
tristate
2021-07-21 18:04:45 +03:00
depends on SOUNDWIRE || !SOUNDWIRE
2021-06-09 12:09:43 +03:00
config SND_SOC_WCD938X_SDW
tristate "WCD9380/WCD9385 Codec - SDW"
select SND_SOC_WCD938X
2021-07-16 13:59:18 +03:00
select SND_SOC_WCD_MBHC
2021-10-07 16:51:15 +03:00
select REGMAP_IRQ
2021-06-09 12:09:43 +03:00
depends on SOUNDWIRE
select REGMAP_SOUNDWIRE
help
The WCD9380/9385 is a audio codec IC Integrated in
Qualcomm SoCs like SM8250.
2010-08-20 20:24:51 +04:00
config SND_SOC_WL1273
tristate
2012-08-23 18:59:56 +04:00
config SND_SOC_WM0010
tristate
2020-02-12 17:56:48 +03:00
depends on SPI_MASTER
2012-08-23 18:59:56 +04:00
2011-04-08 11:49:42 +04:00
config SND_SOC_WM1250_EV1
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2011-04-08 11:49:42 +04:00
2011-12-03 01:59:18 +04:00
config SND_SOC_WM2000
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2011-12-03 01:59:18 +04:00
2012-01-25 23:29:41 +04:00
config SND_SOC_WM2200
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2012-01-25 23:29:41 +04:00
2011-09-20 18:44:21 +04:00
config SND_SOC_WM5100
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2011-09-20 18:44:21 +04:00
2012-06-19 19:38:15 +04:00
config SND_SOC_WM5102
tristate
2021-05-21 16:50:23 +03:00
depends on MFD_WM5102 && MFD_ARIZONA
2012-06-19 19:38:15 +04:00
2012-07-09 22:09:41 +04:00
config SND_SOC_WM5110
tristate
2021-05-21 16:50:23 +03:00
depends on MFD_WM5110 && MFD_ARIZONA
2012-07-09 22:09:41 +04:00
2008-12-16 13:15:12 +03:00
config SND_SOC_WM8350
tristate
2020-02-07 12:13:51 +03:00
depends on MFD_WM8350
2008-12-16 13:15:12 +03:00
2009-03-10 13:55:15 +03:00
config SND_SOC_WM8400
tristate
2020-02-07 12:13:51 +03:00
# FIXME nothing selects SND_SOC_WM8400??
depends on MFD_WM8400
2009-03-10 13:55:15 +03:00
2008-06-05 16:49:32 +04:00
config SND_SOC_WM8510
2014-01-23 16:58:16 +04:00
tristate "Wolfson Microelectronics WM8510 CODEC"
depends on SND_SOC_I2C_AND_SPI
2008-06-05 16:49:32 +04:00
2009-07-01 21:28:54 +04:00
config SND_SOC_WM8523
2014-01-23 16:58:16 +04:00
tristate "Wolfson Microelectronics WM8523 DAC"
depends on I2C
2009-07-01 21:28:54 +04:00
2017-07-27 17:55:10 +03:00
config SND_SOC_WM8524
tristate "Wolfson Microelectronics WM8524 DAC"
depends on GPIOLIB
2008-08-06 16:18:26 +04:00
config SND_SOC_WM8580
2016-10-20 02:29:14 +03:00
tristate "Wolfson Microelectronics WM8580 and WM8581 CODECs"
2014-01-23 16:58:16 +04:00
depends on I2C
2008-08-06 16:18:26 +04:00
2009-08-18 23:37:49 +04:00
config SND_SOC_WM8711
2014-01-23 16:58:16 +04:00
tristate "Wolfson Microelectronics WM8711 CODEC"
depends on SND_SOC_I2C_AND_SPI
2009-08-18 23:37:49 +04:00
2009-11-02 18:14:17 +03:00
config SND_SOC_WM8727
tristate
2008-11-13 17:33:14 +03:00
config SND_SOC_WM8728
2014-01-23 16:58:16 +04:00
tristate "Wolfson Microelectronics WM8728 DAC"
depends on SND_SOC_I2C_AND_SPI
2008-11-13 17:33:14 +03:00
2006-10-06 20:38:37 +04:00
config SND_SOC_WM8731
2022-03-25 18:31:19 +03:00
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
2006-10-06 20:38:37 +04:00
2010-11-23 22:31:18 +03:00
config SND_SOC_WM8737
2014-01-23 16:58:16 +04:00
tristate "Wolfson Microelectronics WM8737 ADC"
depends on SND_SOC_I2C_AND_SPI
2010-11-23 22:31:18 +03:00
2010-07-31 03:32:11 +04:00
config SND_SOC_WM8741
2020-03-04 17:02:41 +03:00
tristate "Wolfson Microelectronics WM8741 DAC"
2014-01-23 16:58:16 +04:00
depends on SND_SOC_I2C_AND_SPI
2010-07-31 03:32:11 +04:00
2006-10-06 20:38:37 +04:00
config SND_SOC_WM8750
2014-01-23 16:58:16 +04:00
tristate "Wolfson Microelectronics WM8750 CODEC"
depends on SND_SOC_I2C_AND_SPI
2006-10-06 20:38:37 +04:00
2007-04-16 21:18:15 +04:00
config SND_SOC_WM8753
2014-01-23 16:58:16 +04:00
tristate "Wolfson Microelectronics WM8753 CODEC"
depends on SND_SOC_I2C_AND_SPI
2007-04-16 21:18:15 +04:00
2010-11-05 21:41:25 +03:00
config SND_SOC_WM8770
2014-01-23 16:58:16 +04:00
tristate "Wolfson Microelectronics WM8770 CODEC"
2014-02-07 19:57:50 +04:00
depends on SPI_MASTER
2010-11-05 21:41:25 +03:00
2009-08-05 02:50:16 +04:00
config SND_SOC_WM8776
2014-01-23 16:58:16 +04:00
tristate "Wolfson Microelectronics WM8776 CODEC"
depends on SND_SOC_I2C_AND_SPI
2009-08-05 02:50:16 +04:00
2011-06-22 16:59:25 +04:00
config SND_SOC_WM8782
2018-05-22 00:54:50 +03:00
tristate "Wolfson Microelectronics WM8782 ADC"
2011-06-22 16:59:25 +04:00
2010-09-29 14:14:56 +04:00
config SND_SOC_WM8804
2015-02-22 19:43:21 +03:00
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
2010-09-29 14:14:56 +04:00
2008-08-04 15:06:45 +04:00
config SND_SOC_WM8900
tristate
2020-04-20 23:24:09 +03:00
depends on SND_SOC_I2C_AND_SPI
2008-08-04 15:06:45 +04:00
2008-08-26 16:05:27 +04:00
config SND_SOC_WM8903
2014-01-23 16:58:16 +04:00
tristate "Wolfson Microelectronics WM8903 CODEC"
depends on I2C
2008-08-26 16:05:27 +04:00
2009-11-26 14:56:07 +03:00
config SND_SOC_WM8904
2018-12-19 23:11:15 +03:00
tristate "Wolfson Microelectronics WM8904 CODEC"
depends on I2C
2009-11-26 14:56:07 +03:00
2009-04-27 17:49:44 +04:00
config SND_SOC_WM8940
2022-05-09 15:10:55 +03:00
tristate "Wolfson Microelectronics WM8940 codec"
2020-02-12 17:56:48 +03:00
depends on I2C
2009-04-27 17:49:44 +04:00
2009-12-18 15:00:22 +03:00
config SND_SOC_WM8955
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2009-12-18 15:00:22 +03:00
2009-04-07 22:20:14 +04:00
config SND_SOC_WM8960
2016-03-28 01:06:14 +03:00
tristate "Wolfson Microelectronics WM8960 CODEC"
2016-03-30 21:02:49 +03:00
depends on I2C
2009-04-07 22:20:14 +04:00
2009-06-09 12:55:51 +04:00
config SND_SOC_WM8961
2022-10-03 06:24:14 +03:00
tristate "Wolfson Microelectronics WM8961 CODEC"
2020-02-12 17:56:48 +03:00
depends on I2C
2009-06-09 12:55:51 +04:00
2010-08-05 16:20:59 +04:00
config SND_SOC_WM8962
2014-01-23 16:58:16 +04:00
tristate "Wolfson Microelectronics WM8962 CODEC"
2014-04-29 15:18:22 +04:00
depends on I2C && INPUT
2010-08-05 16:20:59 +04:00
2008-09-10 22:33:32 +04:00
config SND_SOC_WM8971
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2008-09-10 22:33:32 +04:00
2009-05-23 14:18:41 +04:00
config SND_SOC_WM8974
2015-12-16 16:02:55 +03:00
tristate "Wolfson Microelectronics WM8974 codec"
depends on I2C
2009-05-23 14:18:41 +04:00
2010-01-27 20:56:23 +03:00
config SND_SOC_WM8978
2014-08-28 16:48:24 +04:00
tristate "Wolfson Microelectronics WM8978 codec"
depends on I2C
2010-01-27 20:56:23 +03:00
2011-07-15 16:51:30 +04:00
config SND_SOC_WM8983
tristate
2020-04-20 23:24:10 +03:00
depends on SND_SOC_I2C_AND_SPI
2011-07-15 16:51:30 +04:00
2010-09-15 18:23:20 +04:00
config SND_SOC_WM8985
2016-05-26 23:19:16 +03:00
tristate "Wolfson Microelectronics WM8985 and WM8758 codec driver"
2016-06-17 13:12:00 +03:00
depends on SND_SOC_I2C_AND_SPI
2010-09-15 18:23:20 +04:00
2009-04-07 21:45:21 +04:00
config SND_SOC_WM8988
tristate
2020-04-20 23:24:09 +03:00
depends on SND_SOC_I2C_AND_SPI
2009-04-07 21:45:21 +04:00
2008-06-05 16:49:33 +04:00
config SND_SOC_WM8990
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2008-06-05 16:49:33 +04:00
2011-01-14 18:49:40 +03:00
config SND_SOC_WM8991
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2011-01-14 18:49:40 +03:00
2009-06-05 19:32:59 +04:00
config SND_SOC_WM8993
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2009-06-05 19:32:59 +04:00
2010-01-29 20:47:12 +03:00
config SND_SOC_WM8994
tristate
2010-12-22 14:33:11 +03:00
config SND_SOC_WM8995
tristate
2020-04-20 23:24:09 +03:00
depends on SND_SOC_I2C_AND_SPI
2010-12-22 14:33:11 +03:00
2011-06-24 15:10:44 +04:00
config SND_SOC_WM8996
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2011-06-24 15:10:44 +04:00
2013-08-13 02:46:55 +04:00
config SND_SOC_WM8997
tristate
2021-05-21 16:50:23 +03:00
depends on MFD_WM8997 && MFD_ARIZONA
2013-08-13 02:46:55 +04:00
2015-09-28 16:01:09 +03:00
config SND_SOC_WM8998
tristate
2021-05-21 16:50:23 +03:00
depends on MFD_WM8998 && MFD_ARIZONA
2015-09-28 16:01:09 +03:00
2009-05-22 18:01:19 +04:00
config SND_SOC_WM9081
tristate
2016-11-17 04:13:00 +03:00
depends on I2C
2009-05-22 18:01:19 +04:00
2011-12-03 02:00:39 +04:00
config SND_SOC_WM9090
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2011-12-03 02:00:39 +04:00
2009-01-16 14:04:18 +03:00
config SND_SOC_WM9705
tristate
2020-04-29 00:26:59 +03:00
depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
2016-10-21 11:27:07 +03:00
select REGMAP_AC97
2017-09-13 22:37:22 +03:00
select AC97_BUS_COMPAT if AC97_BUS_NEW
2009-01-16 14:04:18 +03:00
2006-10-06 20:38:37 +04:00
config SND_SOC_WM9712
tristate
2020-04-29 00:26:59 +03:00
depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
2016-09-30 20:27:29 +03:00
select REGMAP_AC97
2017-09-13 22:37:20 +03:00
select AC97_BUS_COMPAT if AC97_BUS_NEW
2007-07-31 20:18:44 +04:00
2008-02-15 18:43:11 +03:00
config SND_SOC_WM9713
tristate
2020-04-29 00:26:59 +03:00
depends on SND_SOC_AC97_BUS || AC97_BUS_NEW
2015-11-01 22:23:39 +03:00
select REGMAP_AC97
2017-09-13 22:37:19 +03:00
select AC97_BUS_COMPAT if AC97_BUS_NEW
2009-07-15 15:34:00 +04:00
2020-01-07 16:59:29 +03:00
config SND_SOC_WSA881X
tristate "WSA881X Codec"
depends on SOUNDWIRE
select REGMAP_SOUNDWIRE
tristate
help
This enables support for Qualcomm WSA8810/WSA8815 Class-D
Smart Speaker Amplifier.
2022-06-29 12:06:42 +03:00
config SND_SOC_WSA883X
tristate "WSA883X Codec"
depends on SOUNDWIRE
select REGMAP_SOUNDWIRE
tristate
help
This enables support for Qualcomm WSA8830/WSA8835 Class-D
Smart Speaker Amplifier.
2020-04-18 01:13:41 +03:00
config SND_SOC_ZL38060
tristate "Microsemi ZL38060 Connected Home Audio Processor"
depends on SPI_MASTER
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.
2009-07-15 15:34:00 +04:00
# Amp
2011-03-07 10:04:55 +03:00
config SND_SOC_LM4857
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2011-03-07 10:04:55 +03:00
2018-02-19 16:45:58 +03:00
config SND_SOC_MAX9759
tristate "Maxim MAX9759 speaker Amplifier"
2022-02-02 22:23:31 +03:00
depends on GPIOLIB
2018-02-19 16:45:58 +03:00
2012-01-27 19:10:23 +04:00
config SND_SOC_MAX9768
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2012-01-27 19:10:23 +04:00
2009-07-15 15:34:00 +04:00
config SND_SOC_MAX9877
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2009-10-09 16:55:41 +04:00
2012-05-15 15:53:50 +04:00
config SND_SOC_MC13783
tristate
2020-02-12 17:56:50 +03:00
depends on MFD_MC13XXX
2012-05-15 15:53:50 +04:00
2012-03-19 15:59:28 +04:00
config SND_SOC_ML26124
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2012-03-19 15:59:28 +04:00
2018-04-26 05:41:44 +03:00
config SND_SOC_MT6351
tristate "MediaTek MT6351 Codec"
2019-01-22 09:39:10 +03:00
config SND_SOC_MT6358
tristate "MediaTek MT6358 Codec"
help
Enable support for the platform which uses MT6358 as
2019-01-28 05:24:34 +03:00
external codec device.
2019-01-22 09:39:10 +03:00
2020-08-20 11:51:32 +03:00
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.
2021-03-10 16:33:06 +03:00
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.
2020-01-16 08:46:37 +03:00
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.
2020-11-02 05:32:13 +03:00
config SND_SOC_NAU8315
tristate "Nuvoton Technology Corporation NAU8315 CODEC"
depends on GPIOLIB
2017-02-03 11:19:24 +03:00
config SND_SOC_NAU8540
2020-11-10 20:49:04 +03:00
tristate "Nuvoton Technology Corporation NAU85L40 CODEC"
depends on I2C
2017-02-03 11:19:24 +03:00
2016-08-19 12:24:52 +03:00
config SND_SOC_NAU8810
tristate "Nuvoton Technology Corporation NAU88C10 CODEC"
depends on I2C
2021-10-01 13:31:08 +03:00
config SND_SOC_NAU8821
tristate "Nuvoton Technology Corporation NAU88L21 CODEC"
depends on I2C
2018-09-28 06:10:04 +03:00
config SND_SOC_NAU8822
tristate "Nuvoton Technology Corporation NAU88C22 CODEC"
depends on I2C
2017-04-20 12:25:11 +03:00
config SND_SOC_NAU8824
tristate "Nuvoton Technology Corporation NAU88L24 CODEC"
depends on I2C
2015-10-02 19:49:14 +03:00
config SND_SOC_NAU8825
tristate
2020-02-12 17:56:48 +03:00
depends on I2C
2015-10-02 19:49:14 +03:00
2009-10-09 16:55:41 +04:00
config SND_SOC_TPA6130A2
2014-01-23 16:58:16 +04:00
tristate "Texas Instruments TPA6130A2 headphone amplifier"
depends on I2C
2014-02-07 19:40:35 +04:00
2022-02-26 21:09:18 +03:00
config SND_SOC_LPASS_MACRO_COMMON
tristate
2020-11-05 14:34:54 +03:00
config SND_SOC_LPASS_WSA_MACRO
depends on COMMON_CLK
2021-06-04 01:18:16 +03:00
select REGMAP_MMIO
2020-11-05 14:34:54 +03:00
tristate "Qualcomm WSA Macro in LPASS(Low Power Audio SubSystem)"
2020-11-05 14:34:57 +03:00
config SND_SOC_LPASS_VA_MACRO
depends on COMMON_CLK
2021-06-04 01:18:16 +03:00
select REGMAP_MMIO
2022-02-26 21:09:18 +03:00
select SND_SOC_LPASS_MACRO_COMMON
2020-11-05 14:34:57 +03:00
tristate "Qualcomm VA Macro in LPASS(Low Power Audio SubSystem)"
2021-02-11 15:27:30 +03:00
config SND_SOC_LPASS_RX_MACRO
depends on COMMON_CLK
2021-06-04 01:18:16 +03:00
select REGMAP_MMIO
2022-02-26 21:09:18 +03:00
select SND_SOC_LPASS_MACRO_COMMON
2021-02-11 15:27:30 +03:00
tristate "Qualcomm RX Macro in LPASS(Low Power Audio SubSystem)"
2021-02-11 15:27:34 +03:00
config SND_SOC_LPASS_TX_MACRO
depends on COMMON_CLK
2021-06-04 01:18:16 +03:00
select REGMAP_MMIO
2022-02-26 21:09:18 +03:00
select SND_SOC_LPASS_MACRO_COMMON
2021-02-11 15:27:34 +03:00
tristate "Qualcomm TX Macro in LPASS(Low Power Audio SubSystem)"
2014-02-07 19:40:35 +04:00
endmenu