162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ciconfig SND_SOC_INTEL_SST_TOPLEVEL
362306a36Sopenharmony_ci	bool "Intel ASoC SST drivers"
462306a36Sopenharmony_ci	default y
562306a36Sopenharmony_ci	depends on X86 || COMPILE_TEST
662306a36Sopenharmony_ci	select SND_SOC_INTEL_MACH
762306a36Sopenharmony_ci	help
862306a36Sopenharmony_ci	  Intel ASoC SST Platform Drivers. If you have a Intel machine that
962306a36Sopenharmony_ci	  has an audio controller with a DSP and I2S or DMIC port, then
1062306a36Sopenharmony_ci	  enable this option by saying Y
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci	  Note that the answer to this question doesn't directly affect the
1362306a36Sopenharmony_ci	  kernel: saying N will just cause the configurator to skip all
1462306a36Sopenharmony_ci	  the questions about Intel SST drivers.
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ciif SND_SOC_INTEL_SST_TOPLEVEL
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ciconfig SND_SOC_INTEL_SST
1962306a36Sopenharmony_ci	tristate
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ciconfig SND_SOC_INTEL_CATPT
2262306a36Sopenharmony_ci	tristate "Haswell and Broadwell"
2362306a36Sopenharmony_ci	depends on ACPI || COMPILE_TEST
2462306a36Sopenharmony_ci	depends on DMADEVICES && SND_DMA_SGBUF
2562306a36Sopenharmony_ci	select DW_DMAC_CORE
2662306a36Sopenharmony_ci	select SND_SOC_ACPI if ACPI
2762306a36Sopenharmony_ci	select WANT_DEV_COREDUMP
2862306a36Sopenharmony_ci	select SND_INTEL_DSP_CONFIG
2962306a36Sopenharmony_ci	help
3062306a36Sopenharmony_ci	  Enable support for Intel(R) Haswell and Broadwell platforms
3162306a36Sopenharmony_ci	  with I2S codec present. This is a recommended option.
3262306a36Sopenharmony_ci	  Say Y or m if you have such device.
3362306a36Sopenharmony_ci	  If unsure, say N.
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ciconfig SND_SOC_INTEL_HASWELL
3662306a36Sopenharmony_ci	tristate
3762306a36Sopenharmony_ci	select SND_SOC_INTEL_CATPT
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ciconfig SND_SST_ATOM_HIFI2_PLATFORM
4062306a36Sopenharmony_ci	tristate
4162306a36Sopenharmony_ci	select SND_SOC_COMPRESS
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ciconfig SND_SST_ATOM_HIFI2_PLATFORM_PCI
4462306a36Sopenharmony_ci	tristate "PCI HiFi2 (Merrifield) Platforms"
4562306a36Sopenharmony_ci	depends on X86 && PCI
4662306a36Sopenharmony_ci	select SND_SST_ATOM_HIFI2_PLATFORM
4762306a36Sopenharmony_ci	help
4862306a36Sopenharmony_ci	  If you have a Intel Merrifield/Edison platform, then
4962306a36Sopenharmony_ci	  enable this option by saying Y or m. Distros will typically not
5062306a36Sopenharmony_ci	  enable this option: while Merrifield/Edison can run a mainline
5162306a36Sopenharmony_ci	  kernel with limited functionality it will require a firmware file
5262306a36Sopenharmony_ci	  which is not in the standard firmware tree
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ciconfig SND_SST_ATOM_HIFI2_PLATFORM_ACPI
5562306a36Sopenharmony_ci	tristate "ACPI HiFi2 (Baytrail, Cherrytrail) Platforms"
5662306a36Sopenharmony_ci	default ACPI
5762306a36Sopenharmony_ci	depends on X86 && ACPI && PCI
5862306a36Sopenharmony_ci	select SND_SST_ATOM_HIFI2_PLATFORM
5962306a36Sopenharmony_ci	select SND_SOC_ACPI_INTEL_MATCH
6062306a36Sopenharmony_ci	select SND_INTEL_DSP_CONFIG
6162306a36Sopenharmony_ci	select IOSF_MBI
6262306a36Sopenharmony_ci	help
6362306a36Sopenharmony_ci	  If you have a Intel Baytrail or Cherrytrail platform with an I2S
6462306a36Sopenharmony_ci	  codec, then enable this option by saying Y or m. This is a
6562306a36Sopenharmony_ci	  recommended option
6662306a36Sopenharmony_ci	  This option is mutually exclusive with the SOF support on
6762306a36Sopenharmony_ci	  Baytrail/Cherrytrail. If you want to enable SOF on
6862306a36Sopenharmony_ci	  Baytrail/Cherrytrail, you need to deselect this option first.
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ciconfig SND_SOC_INTEL_SKYLAKE
7162306a36Sopenharmony_ci	tristate "All Skylake/SST Platforms"
7262306a36Sopenharmony_ci	depends on PCI && ACPI
7362306a36Sopenharmony_ci	depends on COMMON_CLK
7462306a36Sopenharmony_ci	select SND_SOC_INTEL_SKL
7562306a36Sopenharmony_ci	select SND_SOC_INTEL_APL
7662306a36Sopenharmony_ci	select SND_SOC_INTEL_KBL
7762306a36Sopenharmony_ci	select SND_SOC_INTEL_GLK
7862306a36Sopenharmony_ci	select SND_SOC_INTEL_CNL
7962306a36Sopenharmony_ci	select SND_SOC_INTEL_CFL
8062306a36Sopenharmony_ci	help
8162306a36Sopenharmony_ci	  This is a backwards-compatible option to select all devices
8262306a36Sopenharmony_ci	  supported by the Intel SST/Skylake driver. This option is no
8362306a36Sopenharmony_ci	  longer recommended and will be deprecated when the SOF
8462306a36Sopenharmony_ci	  driver is introduced.  Distributions should explicitly
8562306a36Sopenharmony_ci	  select which platform uses this driver.
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ciconfig SND_SOC_INTEL_SKL
8862306a36Sopenharmony_ci	tristate "Skylake Platforms"
8962306a36Sopenharmony_ci	depends on PCI && ACPI
9062306a36Sopenharmony_ci	depends on COMMON_CLK
9162306a36Sopenharmony_ci	select SND_SOC_INTEL_SKYLAKE_FAMILY
9262306a36Sopenharmony_ci	help
9362306a36Sopenharmony_ci	  If you have a Intel Skylake platform with the DSP enabled
9462306a36Sopenharmony_ci	  in the BIOS then enable this option by saying Y or m.
9562306a36Sopenharmony_ci
9662306a36Sopenharmony_ciconfig SND_SOC_INTEL_APL
9762306a36Sopenharmony_ci	tristate "Broxton/ApolloLake Platforms"
9862306a36Sopenharmony_ci	depends on PCI && ACPI
9962306a36Sopenharmony_ci	depends on COMMON_CLK
10062306a36Sopenharmony_ci	select SND_SOC_INTEL_SKYLAKE_FAMILY
10162306a36Sopenharmony_ci	help
10262306a36Sopenharmony_ci	  If you have a Intel Broxton/ApolloLake platform with the DSP
10362306a36Sopenharmony_ci	  enabled in the BIOS then enable this option by saying Y or m.
10462306a36Sopenharmony_ci
10562306a36Sopenharmony_ciconfig SND_SOC_INTEL_KBL
10662306a36Sopenharmony_ci	tristate "Kabylake Platforms"
10762306a36Sopenharmony_ci	depends on PCI && ACPI
10862306a36Sopenharmony_ci	depends on COMMON_CLK
10962306a36Sopenharmony_ci	select SND_SOC_INTEL_SKYLAKE_FAMILY
11062306a36Sopenharmony_ci	help
11162306a36Sopenharmony_ci	  If you have a Intel Kabylake platform with the DSP
11262306a36Sopenharmony_ci	  enabled in the BIOS then enable this option by saying Y or m.
11362306a36Sopenharmony_ci
11462306a36Sopenharmony_ciconfig SND_SOC_INTEL_GLK
11562306a36Sopenharmony_ci	tristate "GeminiLake Platforms"
11662306a36Sopenharmony_ci	depends on PCI && ACPI
11762306a36Sopenharmony_ci	depends on COMMON_CLK
11862306a36Sopenharmony_ci	select SND_SOC_INTEL_SKYLAKE_FAMILY
11962306a36Sopenharmony_ci	help
12062306a36Sopenharmony_ci	  If you have a Intel GeminiLake platform with the DSP
12162306a36Sopenharmony_ci	  enabled in the BIOS then enable this option by saying Y or m.
12262306a36Sopenharmony_ci
12362306a36Sopenharmony_ciconfig SND_SOC_INTEL_CNL
12462306a36Sopenharmony_ci	tristate "CannonLake/WhiskyLake Platforms"
12562306a36Sopenharmony_ci	depends on PCI && ACPI
12662306a36Sopenharmony_ci	depends on COMMON_CLK
12762306a36Sopenharmony_ci	select SND_SOC_INTEL_SKYLAKE_FAMILY
12862306a36Sopenharmony_ci	help
12962306a36Sopenharmony_ci	  If you have a Intel CNL/WHL platform with the DSP
13062306a36Sopenharmony_ci	  enabled in the BIOS then enable this option by saying Y or m.
13162306a36Sopenharmony_ci
13262306a36Sopenharmony_ciconfig SND_SOC_INTEL_CFL
13362306a36Sopenharmony_ci	tristate "CoffeeLake Platforms"
13462306a36Sopenharmony_ci	depends on PCI && ACPI
13562306a36Sopenharmony_ci	depends on COMMON_CLK
13662306a36Sopenharmony_ci	select SND_SOC_INTEL_SKYLAKE_FAMILY
13762306a36Sopenharmony_ci	help
13862306a36Sopenharmony_ci	  If you have a Intel CoffeeLake platform with the DSP
13962306a36Sopenharmony_ci	  enabled in the BIOS then enable this option by saying Y or m.
14062306a36Sopenharmony_ci
14162306a36Sopenharmony_ciconfig SND_SOC_INTEL_CML_H
14262306a36Sopenharmony_ci	tristate "CometLake-H Platforms"
14362306a36Sopenharmony_ci	depends on PCI && ACPI
14462306a36Sopenharmony_ci	depends on COMMON_CLK
14562306a36Sopenharmony_ci	select SND_SOC_INTEL_SKYLAKE_FAMILY
14662306a36Sopenharmony_ci	help
14762306a36Sopenharmony_ci	  If you have a Intel CometLake-H platform with the DSP
14862306a36Sopenharmony_ci	  enabled in the BIOS then enable this option by saying Y or m.
14962306a36Sopenharmony_ci
15062306a36Sopenharmony_ciconfig SND_SOC_INTEL_CML_LP
15162306a36Sopenharmony_ci	tristate "CometLake-LP Platforms"
15262306a36Sopenharmony_ci	depends on PCI && ACPI
15362306a36Sopenharmony_ci	depends on COMMON_CLK
15462306a36Sopenharmony_ci	select SND_SOC_INTEL_SKYLAKE_FAMILY
15562306a36Sopenharmony_ci	help
15662306a36Sopenharmony_ci	  If you have a Intel CometLake-LP platform with the DSP
15762306a36Sopenharmony_ci	  enabled in the BIOS then enable this option by saying Y or m.
15862306a36Sopenharmony_ci
15962306a36Sopenharmony_ciconfig SND_SOC_INTEL_SKYLAKE_FAMILY
16062306a36Sopenharmony_ci	tristate
16162306a36Sopenharmony_ci	select SND_SOC_INTEL_SKYLAKE_COMMON
16262306a36Sopenharmony_ci
16362306a36Sopenharmony_ciif SND_SOC_INTEL_SKYLAKE_FAMILY
16462306a36Sopenharmony_ci
16562306a36Sopenharmony_ciconfig SND_SOC_INTEL_SKYLAKE_SSP_CLK
16662306a36Sopenharmony_ci	tristate
16762306a36Sopenharmony_ci
16862306a36Sopenharmony_ciconfig SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC
16962306a36Sopenharmony_ci	bool "HDAudio codec support"
17062306a36Sopenharmony_ci	help
17162306a36Sopenharmony_ci	  If you have Intel Skylake or Kabylake with HDAudio codec
17262306a36Sopenharmony_ci	  and DMIC present then enable this option by saying Y.
17362306a36Sopenharmony_ci
17462306a36Sopenharmony_ciconfig SND_SOC_INTEL_SKYLAKE_COMMON
17562306a36Sopenharmony_ci	tristate
17662306a36Sopenharmony_ci	select SND_HDA_EXT_CORE
17762306a36Sopenharmony_ci	select SND_HDA_DSP_LOADER
17862306a36Sopenharmony_ci	select SND_SOC_TOPOLOGY
17962306a36Sopenharmony_ci	select SND_SOC_INTEL_SST
18062306a36Sopenharmony_ci	select SND_SOC_HDAC_HDA
18162306a36Sopenharmony_ci	select SND_SOC_ACPI_INTEL_MATCH
18262306a36Sopenharmony_ci	select SND_INTEL_DSP_CONFIG
18362306a36Sopenharmony_ci	help
18462306a36Sopenharmony_ci	  If you have a Intel Skylake/Broxton/ApolloLake/KabyLake/
18562306a36Sopenharmony_ci	  GeminiLake or CannonLake platform with the DSP enabled in the BIOS
18662306a36Sopenharmony_ci	  then enable this option by saying Y or m.
18762306a36Sopenharmony_ci
18862306a36Sopenharmony_ciendif ## SND_SOC_INTEL_SKYLAKE_FAMILY
18962306a36Sopenharmony_ci
19062306a36Sopenharmony_ciendif ## SND_SOC_INTEL_SST_TOPLEVEL
19162306a36Sopenharmony_ci
19262306a36Sopenharmony_ciif SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL
19362306a36Sopenharmony_ci
19462306a36Sopenharmony_ciconfig SND_SOC_ACPI_INTEL_MATCH
19562306a36Sopenharmony_ci	tristate
19662306a36Sopenharmony_ci	select SND_SOC_ACPI if ACPI
19762306a36Sopenharmony_ci	# this option controls the compilation of ACPI matching tables and
19862306a36Sopenharmony_ci	# helpers and is not meant to be selected by the user.
19962306a36Sopenharmony_ci
20062306a36Sopenharmony_ciendif ## SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL
20162306a36Sopenharmony_ci
20262306a36Sopenharmony_ciconfig SND_SOC_INTEL_KEEMBAY
20362306a36Sopenharmony_ci	tristate "Keembay Platforms"
20462306a36Sopenharmony_ci	depends on ARCH_KEEMBAY || COMPILE_TEST
20562306a36Sopenharmony_ci	depends on COMMON_CLK
20662306a36Sopenharmony_ci	select SND_DMAENGINE_PCM
20762306a36Sopenharmony_ci	select SND_SOC_GENERIC_DMAENGINE_PCM
20862306a36Sopenharmony_ci	help
20962306a36Sopenharmony_ci	  If you have a Intel Keembay platform then enable this option
21062306a36Sopenharmony_ci	  by saying Y or m.
21162306a36Sopenharmony_ci
21262306a36Sopenharmony_ciconfig SND_SOC_INTEL_AVS
21362306a36Sopenharmony_ci	tristate "Intel AVS driver"
21462306a36Sopenharmony_ci	depends on X86 || COMPILE_TEST
21562306a36Sopenharmony_ci	depends on PCI
21662306a36Sopenharmony_ci	depends on COMMON_CLK
21762306a36Sopenharmony_ci	select SND_SOC_ACPI if ACPI
21862306a36Sopenharmony_ci	select SND_SOC_TOPOLOGY
21962306a36Sopenharmony_ci	select SND_SOC_HDA
22062306a36Sopenharmony_ci	select SND_SOC_COMPRESS if DEBUG_FS
22162306a36Sopenharmony_ci	select SND_HDA_EXT_CORE
22262306a36Sopenharmony_ci	select SND_HDA_DSP_LOADER
22362306a36Sopenharmony_ci	select SND_INTEL_DSP_CONFIG
22462306a36Sopenharmony_ci	select WANT_DEV_COREDUMP
22562306a36Sopenharmony_ci	help
22662306a36Sopenharmony_ci	  Enable support for Intel(R) cAVS 1.5 platforms with DSP
22762306a36Sopenharmony_ci	  capabilities. This includes Skylake, Kabylake, Amberlake and
22862306a36Sopenharmony_ci	  Apollolake.
22962306a36Sopenharmony_ci
23062306a36Sopenharmony_ci# Machine board drivers
23162306a36Sopenharmony_cisource "sound/soc/intel/avs/boards/Kconfig"
23262306a36Sopenharmony_ci
23362306a36Sopenharmony_ci# ASoC codec drivers
23462306a36Sopenharmony_cisource "sound/soc/intel/boards/Kconfig"
235