commit a6955fe0e2309feeab5ec71e4b0dcbe498f4f497 upstream.
Some distros select all options blindly, which leads to confusion and
bug reports. SOF does not fully support Broadwell due to firmware
dependencies, the machine drivers can only support one option, and
UCM/topology files are still being propagated to downstream distros,
so make SOF on Broadwell an opt-in option that first require distros
to opt-out of existing defaults.
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=204237
Fixes: f35bf70f61
('ASoC: Intel: Make sure BDW based machine drivers build for SOF')
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20191101173045.27099-3-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
244 lines
7.4 KiB
Plaintext
244 lines
7.4 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
config SND_SOC_INTEL_SST_TOPLEVEL
|
|
bool "Intel ASoC SST drivers"
|
|
default y
|
|
depends on X86 || COMPILE_TEST
|
|
select 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 SND_SOC_INTEL_SST_TOPLEVEL
|
|
|
|
config SND_SST_IPC
|
|
tristate
|
|
# This option controls the IPC core for HiFi2 platforms
|
|
|
|
config SND_SST_IPC_PCI
|
|
tristate
|
|
select SND_SST_IPC
|
|
# This option controls the PCI-based IPC for HiFi2 platforms
|
|
# (Medfield, Merrifield).
|
|
|
|
config SND_SST_IPC_ACPI
|
|
tristate
|
|
select SND_SST_IPC
|
|
# This option controls the ACPI-based IPC for HiFi2 platforms
|
|
# (Baytrail, Cherrytrail)
|
|
|
|
config SND_SOC_INTEL_SST_ACPI
|
|
tristate
|
|
# This option controls ACPI-based probing on
|
|
# Haswell/Broadwell/Baytrail legacy and will be set
|
|
# when these platforms are enabled
|
|
|
|
config SND_SOC_INTEL_SST
|
|
tristate
|
|
|
|
config SND_SOC_INTEL_SST_FIRMWARE
|
|
tristate
|
|
select DW_DMAC_CORE
|
|
# This option controls firmware download on
|
|
# Haswell/Broadwell/Baytrail legacy and will be set
|
|
# when these platforms are enabled
|
|
|
|
config SND_SOC_INTEL_HASWELL
|
|
tristate "Haswell/Broadwell Platforms"
|
|
depends on SND_DMA_SGBUF
|
|
depends on DMADEVICES && ACPI
|
|
select SND_SOC_INTEL_SST
|
|
select SND_SOC_INTEL_SST_ACPI
|
|
select SND_SOC_INTEL_SST_FIRMWARE
|
|
select 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.
|
|
This option is mutually exclusive with the SOF support on
|
|
Broadwell. If you want to enable SOF on Broadwell, you need to
|
|
deselect this option first.
|
|
|
|
config SND_SOC_INTEL_BAYTRAIL
|
|
tristate "Baytrail (legacy) Platforms"
|
|
depends on DMADEVICES && ACPI && SND_SST_ATOM_HIFI2_PLATFORM=n
|
|
select SND_SOC_INTEL_SST
|
|
select SND_SOC_INTEL_SST_ACPI
|
|
select SND_SOC_INTEL_SST_FIRMWARE
|
|
select 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 SND_SST_ATOM_HIFI2_PLATFORM instead.
|
|
|
|
config SND_SST_ATOM_HIFI2_PLATFORM
|
|
tristate
|
|
select SND_SOC_COMPRESS
|
|
|
|
config SND_SST_ATOM_HIFI2_PLATFORM_PCI
|
|
tristate "PCI HiFi2 (Merrifield) Platforms"
|
|
depends on X86 && PCI
|
|
select SND_SST_IPC_PCI
|
|
select 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 SND_SST_ATOM_HIFI2_PLATFORM_ACPI
|
|
tristate "ACPI HiFi2 (Baytrail, Cherrytrail) Platforms"
|
|
default ACPI
|
|
depends on X86 && ACPI && PCI
|
|
select SND_SST_IPC_ACPI
|
|
select SND_SST_ATOM_HIFI2_PLATFORM
|
|
select SND_SOC_ACPI_INTEL_MATCH
|
|
select 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 SND_SOC_INTEL_SKYLAKE
|
|
tristate "All Skylake/SST Platforms"
|
|
depends on PCI && ACPI
|
|
depends on COMMON_CLK
|
|
select SND_SOC_INTEL_SKL
|
|
select SND_SOC_INTEL_APL
|
|
select SND_SOC_INTEL_KBL
|
|
select SND_SOC_INTEL_GLK
|
|
select SND_SOC_INTEL_CNL
|
|
select 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 SND_SOC_INTEL_SKL
|
|
tristate "Skylake Platforms"
|
|
depends on PCI && ACPI
|
|
depends on COMMON_CLK
|
|
select 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 SND_SOC_INTEL_APL
|
|
tristate "Broxton/ApolloLake Platforms"
|
|
depends on PCI && ACPI
|
|
depends on COMMON_CLK
|
|
select 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 SND_SOC_INTEL_KBL
|
|
tristate "Kabylake Platforms"
|
|
depends on PCI && ACPI
|
|
depends on COMMON_CLK
|
|
select 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 SND_SOC_INTEL_GLK
|
|
tristate "GeminiLake Platforms"
|
|
depends on PCI && ACPI
|
|
depends on COMMON_CLK
|
|
select 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 SND_SOC_INTEL_CNL
|
|
tristate "CannonLake/WhiskyLake Platforms"
|
|
depends on PCI && ACPI
|
|
depends on COMMON_CLK
|
|
select 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 SND_SOC_INTEL_CFL
|
|
tristate "CoffeeLake Platforms"
|
|
depends on PCI && ACPI
|
|
depends on COMMON_CLK
|
|
select 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 SND_SOC_INTEL_CML_H
|
|
tristate "CometLake-H Platforms"
|
|
depends on PCI && ACPI
|
|
depends on COMMON_CLK
|
|
select 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 SND_SOC_INTEL_CML_LP
|
|
tristate "CometLake-LP Platforms"
|
|
depends on PCI && ACPI
|
|
depends on COMMON_CLK
|
|
select 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 SND_SOC_INTEL_SKYLAKE_FAMILY
|
|
tristate
|
|
select SND_SOC_INTEL_SKYLAKE_COMMON
|
|
|
|
if SND_SOC_INTEL_SKYLAKE_FAMILY
|
|
|
|
config SND_SOC_INTEL_SKYLAKE_SSP_CLK
|
|
tristate
|
|
|
|
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 SND_SOC_INTEL_SKYLAKE_COMMON
|
|
tristate
|
|
select SND_HDA_EXT_CORE
|
|
select SND_HDA_DSP_LOADER
|
|
select SND_SOC_TOPOLOGY
|
|
select SND_SOC_INTEL_SST
|
|
select SND_SOC_HDAC_HDA if SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC
|
|
select SND_SOC_ACPI_INTEL_MATCH
|
|
select SND_INTEL_NHLT if 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 ## SND_SOC_INTEL_SKYLAKE_FAMILY
|
|
|
|
endif ## SND_SOC_INTEL_SST_TOPLEVEL
|
|
|
|
if SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL
|
|
|
|
config SND_SOC_ACPI_INTEL_MATCH
|
|
tristate
|
|
select SND_SOC_ACPI if ACPI
|
|
# this option controls the compilation of ACPI matching tables and
|
|
# helpers and is not meant to be selected by the user.
|
|
|
|
endif ## SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL
|
|
|
|
|
|
# ASoC codec drivers
|
|
source "sound/soc/intel/boards/Kconfig"
|