# 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_SOC_INTEL_SST 
 | 
    tristate 
 | 
  
 | 
config SND_SOC_INTEL_CATPT 
 | 
    tristate "Haswell and Broadwell" 
 | 
    depends on ACPI || COMPILE_TEST 
 | 
    depends on DMADEVICES && SND_DMA_SGBUF 
 | 
    select DW_DMAC_CORE 
 | 
    select SND_SOC_ACPI_INTEL_MATCH 
 | 
    help 
 | 
      Enable support for Intel(R) Haswell and Broadwell platforms 
 | 
      with I2S codec present. This is a recommended option. 
 | 
      Say Y or m if you have such device. 
 | 
      If unsure, say N. 
 | 
  
 | 
config SND_SOC_INTEL_HASWELL 
 | 
    tristate 
 | 
    select SND_SOC_INTEL_CATPT 
 | 
  
 | 
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_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_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 
 | 
      This option is mutually exclusive with the SOF support on 
 | 
      Baytrail/Cherrytrail. If you want to enable SOF on 
 | 
      Baytrail/Cherrytrail, you need to deselect this option first. 
 | 
  
 | 
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 Intel Skylake or Kabylake with HDAudio codec 
 | 
      and DMIC present 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_DSP_CONFIG 
 | 
    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 
 | 
  
 | 
config SND_SOC_INTEL_KEEMBAY 
 | 
    tristate "Keembay Platforms" 
 | 
    depends on ARCH_KEEMBAY || COMPILE_TEST 
 | 
    depends on COMMON_CLK 
 | 
    help 
 | 
      If you have a Intel Keembay platform then enable this option 
 | 
      by saying Y or m. 
 | 
  
 | 
# ASoC codec drivers 
 | 
source "sound/soc/intel/boards/Kconfig" 
 |