mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-11-28 04:09:29 +00:00
In preparation of the IPCv4 IPC support, this patch adds support for SkyLake and KabyLake boot and descriptors used when probing the PCI driver. The work was initially contributed in 2018 by Liam Girdwood and Zhu Yingjiang, and abandoned due to firmware signature issues. With the upcoming support of IPC v4, and hence the Intel closed-source firmware, it's time to re-add this capability. The SKL ops will be added in the next patch. Tested with the IPC4 and closed-source firmware on Dell XPS 9350 and KBL NUC with HDaudio codecs. The SSP and DMIC interfaces are not supported at this time. Co-developed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Link: https://lore.kernel.org/r/20220920131700.133103-4-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
343 lines
10 KiB
Plaintext
343 lines
10 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
config SND_SOC_SOF_INTEL_TOPLEVEL
|
|
bool "SOF support for Intel audio DSPs"
|
|
depends on X86 || COMPILE_TEST
|
|
help
|
|
This adds support for Sound Open Firmware for Intel(R) platforms.
|
|
Say Y if you have such a device.
|
|
If unsure select "N".
|
|
|
|
if SND_SOC_SOF_INTEL_TOPLEVEL
|
|
|
|
config SND_SOC_SOF_INTEL_HIFI_EP_IPC
|
|
tristate
|
|
help
|
|
This option is not user-selectable but automagically handled by
|
|
'select' statements at a higher level.
|
|
|
|
config SND_SOC_SOF_INTEL_ATOM_HIFI_EP
|
|
tristate
|
|
select SND_SOC_SOF_INTEL_COMMON
|
|
select SND_SOC_SOF_INTEL_HIFI_EP_IPC
|
|
help
|
|
This option is not user-selectable but automagically handled by
|
|
'select' statements at a higher level.
|
|
|
|
config SND_SOC_SOF_INTEL_COMMON
|
|
tristate
|
|
select SND_SOC_SOF
|
|
select SND_SOC_ACPI_INTEL_MATCH
|
|
select SND_SOC_SOF_XTENSA
|
|
select SND_SOC_INTEL_MACH
|
|
select SND_SOC_ACPI if ACPI
|
|
select SND_INTEL_DSP_CONFIG
|
|
help
|
|
This option is not user-selectable but automagically handled by
|
|
'select' statements at a higher level.
|
|
|
|
if SND_SOC_SOF_ACPI
|
|
|
|
config SND_SOC_SOF_BAYTRAIL
|
|
tristate "SOF support for Baytrail, Braswell and Cherrytrail"
|
|
default SND_SOC_SOF_ACPI
|
|
select SND_SOC_SOF_IPC3
|
|
select SND_SOC_SOF_INTEL_COMMON
|
|
select SND_SOC_SOF_INTEL_ATOM_HIFI_EP
|
|
select SND_SOC_SOF_ACPI_DEV
|
|
select IOSF_MBI if X86 && PCI
|
|
help
|
|
This adds support for Sound Open Firmware for Intel(R) platforms
|
|
using the Baytrail, Braswell or Cherrytrail processors.
|
|
This option can coexist in the same build with the Atom legacy
|
|
drivers, currently the default but which will be deprecated
|
|
at some point.
|
|
Existing firmware/topology binaries and UCM configurations
|
|
typically located in the root file system are already
|
|
compatible with both SOF or Atom/SST legacy drivers.
|
|
This is a recommended option for distributions.
|
|
Say Y if you want to enable SOF on Baytrail/Cherrytrail.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_SOF_BROADWELL
|
|
tristate "SOF support for Broadwell"
|
|
default SND_SOC_SOF_ACPI
|
|
select SND_SOC_SOF_IPC3
|
|
select SND_SOC_SOF_INTEL_COMMON
|
|
select SND_SOC_SOF_INTEL_HIFI_EP_IPC
|
|
select SND_SOC_SOF_ACPI_DEV
|
|
help
|
|
This adds support for Sound Open Firmware for Intel(R) platforms
|
|
using the Broadwell processors.
|
|
This option can coexist in the same build with the default 'catpt'
|
|
driver.
|
|
Existing firmware/topology binaries and UCM configurations typically
|
|
located in the root file system are already compatible with both SOF
|
|
or catpt drivers.
|
|
SOF does not fully support Broadwell and has limitations related to
|
|
DMA and suspend-resume, this is not a recommended option for
|
|
distributions.
|
|
Say Y if you want to enable SOF on Broadwell.
|
|
If unsure select "N".
|
|
|
|
endif ## SND_SOC_SOF_ACPI
|
|
|
|
if SND_SOC_SOF_PCI
|
|
|
|
config SND_SOC_SOF_MERRIFIELD
|
|
tristate "SOF support for Tangier/Merrifield"
|
|
default SND_SOC_SOF_PCI
|
|
select SND_SOC_SOF_PCI_DEV
|
|
select SND_SOC_SOF_IPC3
|
|
select SND_SOC_SOF_INTEL_ATOM_HIFI_EP
|
|
help
|
|
This adds support for Sound Open Firmware for Intel(R) platforms
|
|
using the Tangier/Merrifield processors.
|
|
Say Y if you have such a device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_SOF_INTEL_SKL
|
|
tristate
|
|
select SND_SOC_SOF_HDA_COMMON
|
|
select SND_SOC_SOF_INTEL_IPC4
|
|
|
|
config SND_SOC_SOF_SKYLAKE
|
|
tristate "SOF support for SkyLake"
|
|
default SND_SOC_SOF_PCI
|
|
select SND_SOC_SOF_INTEL_SKL
|
|
help
|
|
This adds support for the Intel(R) platforms using the SkyLake processors.
|
|
Say Y if you have such a device.
|
|
If unsure select "N".
|
|
This is intended only for developers and not a recommend option for distros.
|
|
|
|
config SND_SOC_SOF_KABYLAKE
|
|
tristate "SOF support for KabyLake"
|
|
default SND_SOC_SOF_PCI
|
|
select SND_SOC_SOF_INTEL_SKL
|
|
help
|
|
This adds support for the Intel(R) platforms using the KabyLake processors.
|
|
Say Y if you have such a device.
|
|
If unsure select "N".
|
|
This is intended only for developers and not a recommend option for distros.
|
|
|
|
config SND_SOC_SOF_INTEL_APL
|
|
tristate
|
|
select SND_SOC_SOF_HDA_COMMON
|
|
select SND_SOC_SOF_IPC3
|
|
select SND_SOC_SOF_INTEL_IPC4
|
|
|
|
config SND_SOC_SOF_APOLLOLAKE
|
|
tristate "SOF support for Apollolake"
|
|
default SND_SOC_SOF_PCI
|
|
select SND_SOC_SOF_INTEL_APL
|
|
help
|
|
This adds support for Sound Open Firmware for Intel(R) platforms
|
|
using the Apollolake processors.
|
|
Say Y if you have such a device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_SOF_GEMINILAKE
|
|
tristate "SOF support for GeminiLake"
|
|
default SND_SOC_SOF_PCI
|
|
select SND_SOC_SOF_INTEL_APL
|
|
help
|
|
This adds support for Sound Open Firmware for Intel(R) platforms
|
|
using the Geminilake processors.
|
|
Say Y if you have such a device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_SOF_INTEL_CNL
|
|
tristate
|
|
select SND_SOC_SOF_HDA_COMMON
|
|
select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
|
|
select SND_SOC_SOF_IPC3
|
|
select SND_SOC_SOF_INTEL_IPC4
|
|
|
|
config SND_SOC_SOF_CANNONLAKE
|
|
tristate "SOF support for Cannonlake"
|
|
default SND_SOC_SOF_PCI
|
|
select SND_SOC_SOF_INTEL_CNL
|
|
help
|
|
This adds support for Sound Open Firmware for Intel(R) platforms
|
|
using the Cannonlake processors.
|
|
Say Y if you have such a device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_SOF_COFFEELAKE
|
|
tristate "SOF support for CoffeeLake"
|
|
default SND_SOC_SOF_PCI
|
|
select SND_SOC_SOF_INTEL_CNL
|
|
help
|
|
This adds support for Sound Open Firmware for Intel(R) platforms
|
|
using the Coffeelake processors.
|
|
Say Y if you have such a device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_SOF_COMETLAKE
|
|
tristate "SOF support for CometLake"
|
|
default SND_SOC_SOF_PCI
|
|
select SND_SOC_SOF_INTEL_CNL
|
|
help
|
|
This adds support for Sound Open Firmware for Intel(R) platforms
|
|
using the Cometlake processors.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_SOF_INTEL_ICL
|
|
tristate
|
|
select SND_SOC_SOF_HDA_COMMON
|
|
select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
|
|
select SND_SOC_SOF_IPC3
|
|
select SND_SOC_SOF_INTEL_IPC4
|
|
|
|
config SND_SOC_SOF_ICELAKE
|
|
tristate "SOF support for Icelake"
|
|
default SND_SOC_SOF_PCI
|
|
select SND_SOC_SOF_INTEL_ICL
|
|
help
|
|
This adds support for Sound Open Firmware for Intel(R) platforms
|
|
using the Icelake processors.
|
|
Say Y if you have such a device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_SOF_JASPERLAKE
|
|
tristate "SOF support for JasperLake"
|
|
default SND_SOC_SOF_PCI
|
|
select SND_SOC_SOF_INTEL_ICL
|
|
help
|
|
This adds support for Sound Open Firmware for Intel(R) platforms
|
|
using the JasperLake processors.
|
|
Say Y if you have such a device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_SOF_INTEL_TGL
|
|
tristate
|
|
select SND_SOC_SOF_HDA_COMMON
|
|
select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
|
|
select SND_SOC_SOF_IPC3
|
|
select SND_SOC_SOF_INTEL_IPC4
|
|
|
|
config SND_SOC_SOF_TIGERLAKE
|
|
tristate "SOF support for Tigerlake"
|
|
default SND_SOC_SOF_PCI
|
|
select SND_SOC_SOF_INTEL_TGL
|
|
help
|
|
This adds support for Sound Open Firmware for Intel(R) platforms
|
|
using the Tigerlake processors.
|
|
Say Y if you have such a device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_SOF_ELKHARTLAKE
|
|
tristate "SOF support for ElkhartLake"
|
|
default SND_SOC_SOF_PCI
|
|
select SND_SOC_SOF_INTEL_TGL
|
|
help
|
|
This adds support for Sound Open Firmware for Intel(R) platforms
|
|
using the ElkhartLake processors.
|
|
Say Y if you have such a device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_SOF_ALDERLAKE
|
|
tristate "SOF support for Alderlake"
|
|
default SND_SOC_SOF_PCI
|
|
select SND_SOC_SOF_INTEL_TGL
|
|
help
|
|
This adds support for Sound Open Firmware for Intel(R) platforms
|
|
using the Alderlake processors.
|
|
Say Y if you have such a device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_SOF_INTEL_MTL
|
|
tristate
|
|
select SND_SOC_SOF_HDA_COMMON
|
|
select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
|
|
select SND_SOC_SOF_INTEL_IPC4
|
|
|
|
config SND_SOC_SOF_METEORLAKE
|
|
tristate "SOF support for Meteorlake"
|
|
default SND_SOC_SOF_PCI
|
|
select SND_SOC_SOF_INTEL_MTL
|
|
help
|
|
This adds support for Sound Open Firmware for Intel(R) platforms
|
|
using the Meteorlake processors.
|
|
Say Y if you have such a device.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_SOF_HDA_COMMON
|
|
tristate
|
|
select SND_SOC_SOF_INTEL_COMMON
|
|
select SND_SOC_SOF_PCI_DEV
|
|
select SND_INTEL_DSP_CONFIG
|
|
select SND_SOC_SOF_HDA_LINK_BASELINE
|
|
select SND_SOC_SOF_HDA_PROBES
|
|
help
|
|
This option is not user-selectable but automagically handled by
|
|
'select' statements at a higher level.
|
|
|
|
if SND_SOC_SOF_HDA_COMMON
|
|
|
|
config SND_SOC_SOF_HDA_LINK
|
|
bool "SOF support for HDA Links(HDA/HDMI)"
|
|
depends on SND_SOC_SOF_NOCODEC=n
|
|
select SND_SOC_SOF_PROBE_WORK_QUEUE
|
|
help
|
|
This adds support for HDA links(HDA/HDMI) with Sound Open Firmware
|
|
for Intel(R) platforms.
|
|
Say Y if you want to enable HDA links with SOF.
|
|
If unsure select "N".
|
|
|
|
config SND_SOC_SOF_HDA_AUDIO_CODEC
|
|
bool "SOF support for HDAudio codecs"
|
|
depends on SND_SOC_SOF_HDA_LINK
|
|
help
|
|
This adds support for HDAudio codecs with Sound Open Firmware
|
|
for Intel(R) platforms.
|
|
Say Y if you want to enable HDAudio codecs with SOF.
|
|
If unsure select "N".
|
|
|
|
endif ## SND_SOC_SOF_HDA_COMMON
|
|
|
|
config SND_SOC_SOF_HDA_LINK_BASELINE
|
|
tristate
|
|
select SND_SOC_SOF_HDA if SND_SOC_SOF_HDA_LINK
|
|
help
|
|
This option is not user-selectable but automagically handled by
|
|
'select' statements at a higher level.
|
|
|
|
config SND_SOC_SOF_HDA
|
|
tristate
|
|
select SND_HDA_EXT_CORE if SND_SOC_SOF_HDA_LINK
|
|
select SND_SOC_HDAC_HDA if SND_SOC_SOF_HDA_AUDIO_CODEC
|
|
help
|
|
This option is not user-selectable but automagically handled by
|
|
'select' statements at a higher level.
|
|
|
|
config SND_SOC_SOF_HDA_PROBES
|
|
tristate
|
|
select SND_SOC_SOF_DEBUG_PROBES
|
|
help
|
|
The option enables the data probing for Intel(R) Skylake and newer
|
|
(HDA) platforms.
|
|
This option is not user-selectable but automagically handled by
|
|
'select' statements at a higher level.
|
|
|
|
config SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
|
|
tristate
|
|
select SOUNDWIRE_INTEL if SND_SOC_SOF_INTEL_SOUNDWIRE
|
|
select SND_INTEL_SOUNDWIRE_ACPI if SND_SOC_SOF_INTEL_SOUNDWIRE
|
|
|
|
config SND_SOC_SOF_INTEL_SOUNDWIRE
|
|
tristate "SOF support for SoundWire"
|
|
default SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
|
|
depends on SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE
|
|
depends on ACPI && SOUNDWIRE
|
|
depends on !(SOUNDWIRE=m && SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE=y)
|
|
help
|
|
This adds support for SoundWire with Sound Open Firmware
|
|
for Intel(R) platforms.
|
|
Say Y if you want to enable SoundWire links with SOF.
|
|
If unsure select "N".
|
|
|
|
endif ## SND_SOC_SOF_PCI
|
|
|
|
endif ## SND_SOC_SOF_INTEL_TOPLEVEL
|