|  | # 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_ACPI | 
|  | def_tristate SND_SOC_SOF_ACPI | 
|  | select SND_SOC_SOF_BAYTRAIL  if SND_SOC_SOF_BAYTRAIL_SUPPORT | 
|  | select SND_SOC_SOF_BROADWELL if SND_SOC_SOF_BROADWELL_SUPPORT | 
|  | help | 
|  | This option is not user-selectable but automagically handled by | 
|  | 'select' statements at a higher level | 
|  |  | 
|  | config SND_SOC_SOF_INTEL_PCI | 
|  | def_tristate SND_SOC_SOF_PCI | 
|  | select SND_SOC_SOF_MERRIFIELD  if SND_SOC_SOF_MERRIFIELD_SUPPORT | 
|  | select SND_SOC_SOF_APOLLOLAKE  if SND_SOC_SOF_APOLLOLAKE_SUPPORT | 
|  | select SND_SOC_SOF_GEMINILAKE  if SND_SOC_SOF_GEMINILAKE_SUPPORT | 
|  | select SND_SOC_SOF_CANNONLAKE  if SND_SOC_SOF_CANNONLAKE_SUPPORT | 
|  | select SND_SOC_SOF_COFFEELAKE  if SND_SOC_SOF_COFFEELAKE_SUPPORT | 
|  | select SND_SOC_SOF_ICELAKE     if SND_SOC_SOF_ICELAKE_SUPPORT | 
|  | select SND_SOC_SOF_COMETLAKE   if SND_SOC_SOF_COMETLAKE_SUPPORT | 
|  | select SND_SOC_SOF_TIGERLAKE   if SND_SOC_SOF_TIGERLAKE_SUPPORT | 
|  | select SND_SOC_SOF_ELKHARTLAKE if SND_SOC_SOF_ELKHARTLAKE_SUPPORT | 
|  | select SND_SOC_SOF_JASPERLAKE  if SND_SOC_SOF_JASPERLAKE_SUPPORT | 
|  | help | 
|  | This option is not user-selectable but automagically handled by | 
|  | 'select' statements at a higher level | 
|  |  | 
|  | 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_ACPI_INTEL_MATCH | 
|  | select SND_SOC_SOF_XTENSA | 
|  | select SND_SOC_INTEL_MACH | 
|  | select SND_SOC_ACPI if ACPI | 
|  | help | 
|  | This option is not user-selectable but automagically handled by | 
|  | 'select' statements at a higher level | 
|  |  | 
|  | if SND_SOC_SOF_INTEL_ACPI | 
|  |  | 
|  | config SND_SOC_SOF_BAYTRAIL_SUPPORT | 
|  | bool "SOF support for Baytrail, Braswell and Cherrytrail" | 
|  | depends on SND_SST_ATOM_HIFI2_PLATFORM_ACPI=n | 
|  | help | 
|  | This adds support for Sound Open Firmware for Intel(R) platforms | 
|  | using the Baytrail, Braswell or Cherrytrail processors. | 
|  | This option is mutually exclusive with the Atom/SST and Baytrail | 
|  | legacy drivers. If you want to enable SOF on Baytrail/Cherrytrail, | 
|  | you need to deselect those options first. | 
|  | SOF does not support Baytrail-CR for now, so this option is not | 
|  | recommended for distros. At some point all legacy drivers will be | 
|  | deprecated but not before all userspace firmware/topology/UCM files | 
|  | are made available to downstream distros. | 
|  | Say Y if you want to enable SOF on Baytrail/Cherrytrail | 
|  | If unsure select "N". | 
|  |  | 
|  | config SND_SOC_SOF_BAYTRAIL | 
|  | tristate | 
|  | select SND_SOC_SOF_INTEL_ATOM_HIFI_EP | 
|  | help | 
|  | This option is not user-selectable but automagically handled by | 
|  | 'select' statements at a higher level | 
|  |  | 
|  | config SND_SOC_SOF_BROADWELL_SUPPORT | 
|  | bool "SOF support for Broadwell" | 
|  | depends on SND_SOC_INTEL_HASWELL=n | 
|  | help | 
|  | This adds support for Sound Open Firmware for Intel(R) platforms | 
|  | using the Broadwell processors. | 
|  | This option is mutually exclusive with the Haswell/Broadwell legacy | 
|  | driver. If you want to enable SOF on Broadwell you need to deselect | 
|  | the legacy driver first. | 
|  | SOF does fully support Broadwell yet, so this option is not | 
|  | recommended for distros. At some point all legacy drivers will be | 
|  | deprecated but not before all userspace firmware/topology/UCM files | 
|  | are made available to downstream distros. | 
|  | Say Y if you want to enable SOF on Broadwell | 
|  | If unsure select "N". | 
|  |  | 
|  | config SND_SOC_SOF_BROADWELL | 
|  | 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 | 
|  |  | 
|  | endif ## SND_SOC_SOF_INTEL_ACPI | 
|  |  | 
|  | if SND_SOC_SOF_INTEL_PCI | 
|  |  | 
|  | config SND_SOC_SOF_MERRIFIELD_SUPPORT | 
|  | bool "SOF support for Tangier/Merrifield" | 
|  | 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_MERRIFIELD | 
|  | tristate | 
|  | select SND_SOC_SOF_INTEL_ATOM_HIFI_EP | 
|  | help | 
|  | This option is not user-selectable but automagically handled by | 
|  | 'select' statements at a higher level | 
|  |  | 
|  | config SND_SOC_SOF_APOLLOLAKE_SUPPORT | 
|  | bool "SOF support for Apollolake" | 
|  | 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_APOLLOLAKE | 
|  | tristate | 
|  | select SND_SOC_SOF_HDA_COMMON | 
|  | help | 
|  | This option is not user-selectable but automagically handled by | 
|  | 'select' statements at a higher level | 
|  |  | 
|  | config SND_SOC_SOF_GEMINILAKE_SUPPORT | 
|  | bool "SOF support for GeminiLake" | 
|  | 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_GEMINILAKE | 
|  | tristate | 
|  | select SND_SOC_SOF_HDA_COMMON | 
|  | help | 
|  | This option is not user-selectable but automagically handled by | 
|  | 'select' statements at a higher level | 
|  |  | 
|  | config SND_SOC_SOF_CANNONLAKE_SUPPORT | 
|  | bool "SOF support for Cannonlake" | 
|  | 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_CANNONLAKE | 
|  | tristate | 
|  | select SND_SOC_SOF_HDA_COMMON | 
|  | help | 
|  | This option is not user-selectable but automagically handled by | 
|  | 'select' statements at a higher level | 
|  |  | 
|  | config SND_SOC_SOF_COFFEELAKE_SUPPORT | 
|  | bool "SOF support for CoffeeLake" | 
|  | 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_COFFEELAKE | 
|  | tristate | 
|  | select SND_SOC_SOF_HDA_COMMON | 
|  | help | 
|  | This option is not user-selectable but automagically handled by | 
|  | 'select' statements at a higher level | 
|  |  | 
|  | config SND_SOC_SOF_ICELAKE_SUPPORT | 
|  | bool "SOF support for Icelake" | 
|  | 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_ICELAKE | 
|  | tristate | 
|  | select SND_SOC_SOF_HDA_COMMON | 
|  | help | 
|  | This option is not user-selectable but automagically handled by | 
|  | 'select' statements at a higher level | 
|  |  | 
|  | config SND_SOC_SOF_COMETLAKE | 
|  | tristate | 
|  | select SND_SOC_SOF_HDA_COMMON | 
|  | help | 
|  | This option is not user-selectable but automagically handled by | 
|  | 'select' statements at a higher level | 
|  |  | 
|  | config SND_SOC_SOF_COMETLAKE_SUPPORT | 
|  | bool | 
|  |  | 
|  | config SND_SOC_SOF_COMETLAKE_LP_SUPPORT | 
|  | bool "SOF support for CometLake" | 
|  | select SND_SOC_SOF_COMETLAKE_SUPPORT | 
|  | help | 
|  | This adds support for Sound Open Firmware for Intel(R) platforms | 
|  | using the Cometlake processors. | 
|  | If unsure select "N". | 
|  |  | 
|  | config SND_SOC_SOF_TIGERLAKE_SUPPORT | 
|  | bool "SOF support for Tigerlake" | 
|  | 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_TIGERLAKE | 
|  | tristate | 
|  | select SND_SOC_SOF_HDA_COMMON | 
|  | help | 
|  | This option is not user-selectable but automagically handled by | 
|  | 'select' statements at a higher level | 
|  |  | 
|  | config SND_SOC_SOF_ELKHARTLAKE_SUPPORT | 
|  | bool "SOF support for ElkhartLake" | 
|  | 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_ELKHARTLAKE | 
|  | tristate | 
|  | select SND_SOC_SOF_HDA_COMMON | 
|  | help | 
|  | This option is not user-selectable but automagically handled by | 
|  | 'select' statements at a higher level | 
|  |  | 
|  | config SND_SOC_SOF_JASPERLAKE_SUPPORT | 
|  | bool "SOF support for JasperLake" | 
|  | 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_JASPERLAKE | 
|  | tristate | 
|  | select SND_SOC_SOF_HDA_COMMON | 
|  | help | 
|  | This option is not user-selectable but automagically handled by | 
|  | 'select' statements at a higher level | 
|  |  | 
|  | config SND_SOC_SOF_HDA_COMMON | 
|  | tristate | 
|  | select SND_SOC_SOF_INTEL_COMMON | 
|  | select SND_SOC_SOF_HDA_LINK_BASELINE | 
|  | 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". | 
|  |  | 
|  | config SND_SOC_SOF_HDA_PROBES | 
|  | bool "SOF enable probes over HDA" | 
|  | depends on SND_SOC_SOF_DEBUG_PROBES | 
|  | help | 
|  | This option enables the data probing for Intel(R). | 
|  | Intel(R) Skylake and newer platforms. | 
|  | Say Y if you want to enable probes. | 
|  | If unsure, select "N". | 
|  |  | 
|  | config SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 | 
|  | bool "SOF enable DMI Link L1" | 
|  | help | 
|  | This option enables DMI L1 for both playback and capture | 
|  | and disables known workarounds for specific HDaudio platforms. | 
|  | Only use to look into power optimizations on platforms not | 
|  | affected by DMI L1 issues. This option is not recommended. | 
|  | Say Y if you want to enable DMI Link L1 | 
|  | 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 | 
|  | select SND_INTEL_DSP_CONFIG | 
|  | help | 
|  | This option is not user-selectable but automagically handled by | 
|  | 'select' statements at a higher level | 
|  |  | 
|  | endif ## SND_SOC_SOF_INTEL_PCI | 
|  |  | 
|  | endif ## SND_SOC_SOF_INTEL_TOPLEVEL |