Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

# SPDX-License-Identifier: GPL-2.0-only
config CONFIG_SND_SOC_INTEL_SST_TOPLEVEL
	bool "Intel ASoC SST drivers"
	default y
	depends on CONFIG_X86 || CONFIG_COMPILE_TEST
	select CONFIG_SND_SOC_INTEL_MACH
	help
	  Intel ASoC SST Platform Drivers. If you have a Intel machine that
	  has an audio controller with a DSP and I2S or DMIC port, then
	  enable this option by saying Y

	  Note that the answer to this question doesn't directly affect the
	  kernel: saying N will just cause the configurator to skip all
	  the questions about Intel SST drivers.

if CONFIG_SND_SOC_INTEL_SST_TOPLEVEL

config CONFIG_SND_SST_IPC
	tristate
	# This option controls the IPC core for HiFi2 platforms

config CONFIG_SND_SST_IPC_PCI
	tristate
	select CONFIG_SND_SST_IPC
	# This option controls the CONFIG_PCI-based IPC for HiFi2 platforms
	#  (Medfield, Merrifield).

config CONFIG_SND_SST_IPC_ACPI
	tristate
	select CONFIG_SND_SST_IPC
	# This option controls the CONFIG_ACPI-based IPC for HiFi2 platforms
	# (Baytrail, Cherrytrail)

config CONFIG_SND_SOC_INTEL_SST_ACPI
	tristate
	# This option controls CONFIG_ACPI-based probing on
	# Haswell/Broadwell/Baytrail legacy and will be set
	# when these platforms are enabled

config CONFIG_SND_SOC_INTEL_SST
	tristate

config CONFIG_SND_SOC_INTEL_SST_FIRMWARE
	tristate
	select CONFIG_DW_DMAC_CORE
	# This option controls firmware download on
	# Haswell/Broadwell/Baytrail legacy and will be set
	# when these platforms are enabled

config CONFIG_SND_SOC_INTEL_HASWELL
	tristate "Haswell/Broadwell Platforms"
	depends on CONFIG_SND_DMA_SGBUF
	depends on CONFIG_DMADEVICES && CONFIG_ACPI
	select CONFIG_SND_SOC_INTEL_SST
	select CONFIG_SND_SOC_INTEL_SST_ACPI
	select CONFIG_SND_SOC_INTEL_SST_FIRMWARE
	select CONFIG_SND_SOC_ACPI_INTEL_MATCH
	help
	  If you have a Intel Haswell or Broadwell platform connected to
	  an I2S codec, then enable this option by saying Y or m. This is
	  typically used for Chromebooks. This is a recommended option.

config CONFIG_SND_SOC_INTEL_BAYTRAIL
	tristate "Baytrail (legacy) Platforms"
	depends on CONFIG_DMADEVICES && CONFIG_ACPI && CONFIG_SND_SST_ATOM_HIFI2_PLATFORM=n
	select CONFIG_SND_SOC_INTEL_SST
	select CONFIG_SND_SOC_INTEL_SST_ACPI
	select CONFIG_SND_SOC_INTEL_SST_FIRMWARE
	select CONFIG_SND_SOC_ACPI_INTEL_MATCH
	help
	  If you have a Intel Baytrail platform connected to an I2S codec,
	  then enable this option by saying Y or m. This was typically used
	  for Baytrail Chromebooks but this option is now deprecated and is
	  not recommended, use CONFIG_SND_SST_ATOM_HIFI2_PLATFORM instead.

config CONFIG_SND_SST_ATOM_HIFI2_PLATFORM
	tristate
	select CONFIG_SND_SOC_COMPRESS

config CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI
	tristate "PCI HiFi2 (Merrifield) Platforms"
	depends on CONFIG_X86 && CONFIG_PCI
	select CONFIG_SND_SST_IPC_PCI
	select CONFIG_SND_SST_ATOM_HIFI2_PLATFORM
	help
	  If you have a Intel Merrifield/Edison platform, then
	  enable this option by saying Y or m. Distros will typically not
	  enable this option: while Merrifield/Edison can run a mainline
	  kernel with limited functionality it will require a firmware file
	  which is not in the standard firmware tree

config CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_ACPI
	tristate "ACPI HiFi2 (Baytrail, Cherrytrail) Platforms"
	default CONFIG_ACPI
	depends on CONFIG_X86 && CONFIG_ACPI && CONFIG_PCI
	select CONFIG_SND_SST_IPC_ACPI
	select CONFIG_SND_SST_ATOM_HIFI2_PLATFORM
	select CONFIG_SND_SOC_ACPI_INTEL_MATCH
	select CONFIG_IOSF_MBI
	help
	  If you have a Intel Baytrail or Cherrytrail platform with an I2S
	  codec, then enable this option by saying Y or m. This is a
	  recommended option

config CONFIG_SND_SOC_INTEL_SKYLAKE
	tristate "All Skylake/SST Platforms"
	depends on CONFIG_PCI && CONFIG_ACPI
	depends on CONFIG_COMMON_CLK
	select CONFIG_SND_SOC_INTEL_SKL
	select CONFIG_SND_SOC_INTEL_APL
	select CONFIG_SND_SOC_INTEL_KBL
	select CONFIG_SND_SOC_INTEL_GLK
	select CONFIG_SND_SOC_INTEL_CNL
	select CONFIG_SND_SOC_INTEL_CFL
	help
          This is a backwards-compatible option to select all devices
	  supported by the Intel SST/Skylake driver. This option is no
	  longer recommended and will be deprecated when the SOF
	  driver is introduced.  Distributions should explicitly
	  select which platform uses this driver.

config CONFIG_SND_SOC_INTEL_SKL
	tristate "Skylake Platforms"
	depends on CONFIG_PCI && CONFIG_ACPI
	depends on CONFIG_COMMON_CLK
	select CONFIG_SND_SOC_INTEL_SKYLAKE_FAMILY
	help
	  If you have a Intel Skylake platform with the DSP enabled
	  in the BIOS then enable this option by saying Y or m.

config CONFIG_SND_SOC_INTEL_APL
	tristate "Broxton/ApolloLake Platforms"
	depends on CONFIG_PCI && CONFIG_ACPI
	depends on CONFIG_COMMON_CLK
	select CONFIG_SND_SOC_INTEL_SKYLAKE_FAMILY
	help
	  If you have a Intel Broxton/ApolloLake platform with the DSP
	  enabled in the BIOS then enable this option by saying Y or m.

config CONFIG_SND_SOC_INTEL_KBL
	tristate "Kabylake Platforms"
	depends on CONFIG_PCI && CONFIG_ACPI
	depends on CONFIG_COMMON_CLK
	select CONFIG_SND_SOC_INTEL_SKYLAKE_FAMILY
	help
	  If you have a Intel Kabylake platform with the DSP
	  enabled in the BIOS then enable this option by saying Y or m.

config CONFIG_SND_SOC_INTEL_GLK
	tristate "GeminiLake Platforms"
	depends on CONFIG_PCI && CONFIG_ACPI
	depends on CONFIG_COMMON_CLK
	select CONFIG_SND_SOC_INTEL_SKYLAKE_FAMILY
	help
	  If you have a Intel GeminiLake platform with the DSP
	  enabled in the BIOS then enable this option by saying Y or m.

config CONFIG_SND_SOC_INTEL_CNL
	tristate "CannonLake/WhiskyLake Platforms"
	depends on CONFIG_PCI && CONFIG_ACPI
	depends on CONFIG_COMMON_CLK
	select CONFIG_SND_SOC_INTEL_SKYLAKE_FAMILY
	help
	  If you have a Intel CNL/WHL platform with the DSP
	  enabled in the BIOS then enable this option by saying Y or m.

config CONFIG_SND_SOC_INTEL_CFL
	tristate "CoffeeLake Platforms"
	depends on CONFIG_PCI && CONFIG_ACPI
	depends on CONFIG_COMMON_CLK
	select CONFIG_SND_SOC_INTEL_SKYLAKE_FAMILY
	help
	  If you have a Intel CoffeeLake platform with the DSP
	  enabled in the BIOS then enable this option by saying Y or m.

config CONFIG_SND_SOC_INTEL_CML_H
	tristate "CometLake-H Platforms"
	depends on CONFIG_PCI && CONFIG_ACPI
	depends on CONFIG_COMMON_CLK
	select CONFIG_SND_SOC_INTEL_SKYLAKE_FAMILY
	help
	  If you have a Intel CometLake-H platform with the DSP
	  enabled in the BIOS then enable this option by saying Y or m.

config CONFIG_SND_SOC_INTEL_CML_LP
	tristate "CometLake-LP Platforms"
	depends on CONFIG_PCI && CONFIG_ACPI
	depends on CONFIG_COMMON_CLK
	select CONFIG_SND_SOC_INTEL_SKYLAKE_FAMILY
	help
	  If you have a Intel CometLake-LP platform with the DSP
	  enabled in the BIOS then enable this option by saying Y or m.

config CONFIG_SND_SOC_INTEL_SKYLAKE_FAMILY
	tristate
	select CONFIG_SND_SOC_INTEL_SKYLAKE_COMMON

if CONFIG_SND_SOC_INTEL_SKYLAKE_FAMILY

config CONFIG_SND_SOC_INTEL_SKYLAKE_SSP_CLK
	tristate

config CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC
	bool "HDAudio codec support"
	help
	  If you have a Intel Skylake/Broxton/ApolloLake/KabyLake/
	  GeminiLake or CannonLake platform with an HDaudio codec
	  then enable this option by saying Y

config CONFIG_SND_SOC_INTEL_SKYLAKE_COMMON
	tristate
	select CONFIG_SND_HDA_EXT_CORE
	select CONFIG_SND_HDA_DSP_LOADER
	select CONFIG_SND_SOC_TOPOLOGY
	select CONFIG_SND_SOC_INTEL_SST
	select CONFIG_SND_SOC_HDAC_HDA if CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC
	select CONFIG_SND_SOC_ACPI_INTEL_MATCH
	select CONFIG_SND_INTEL_NHLT if CONFIG_ACPI
	help
	  If you have a Intel Skylake/Broxton/ApolloLake/KabyLake/
	  GeminiLake or CannonLake platform with the DSP enabled in the BIOS
	  then enable this option by saying Y or m.

endif ## CONFIG_SND_SOC_INTEL_SKYLAKE_FAMILY

endif ## CONFIG_SND_SOC_INTEL_SST_TOPLEVEL

if CONFIG_SND_SOC_INTEL_SST_TOPLEVEL || CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL

config CONFIG_SND_SOC_ACPI_INTEL_MATCH
	tristate
	select CONFIG_SND_SOC_ACPI if CONFIG_ACPI
	# this option controls the compilation of CONFIG_ACPI matching tables and
	# helpers and is not meant to be selected by the user.

endif ## CONFIG_SND_SOC_INTEL_SST_TOPLEVEL || CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL


# ASoC codec drivers
source "sound/soc/intel/boards/Kconfig"