^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0-only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) config SND_SOC_INTEL_SST_TOPLEVEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) bool "Intel ASoC SST drivers"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) depends on X86 || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) select SND_SOC_INTEL_MACH
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) Intel ASoC SST Platform Drivers. If you have a Intel machine that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) has an audio controller with a DSP and I2S or DMIC port, then
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) enable this option by saying Y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) Note that the answer to this question doesn't directly affect the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) kernel: saying N will just cause the configurator to skip all
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) the questions about Intel SST drivers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) if SND_SOC_INTEL_SST_TOPLEVEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) config SND_SOC_INTEL_SST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) tristate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) config SND_SOC_INTEL_CATPT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) tristate "Haswell and Broadwell"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) depends on ACPI || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) depends on DMADEVICES && SND_DMA_SGBUF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) select DW_DMAC_CORE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) select SND_SOC_ACPI_INTEL_MATCH
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) Enable support for Intel(R) Haswell and Broadwell platforms
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) with I2S codec present. This is a recommended option.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) Say Y or m if you have such device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) config SND_SOC_INTEL_HASWELL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) tristate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) select SND_SOC_INTEL_CATPT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) config SND_SST_ATOM_HIFI2_PLATFORM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) tristate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) select SND_SOC_COMPRESS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) config SND_SST_ATOM_HIFI2_PLATFORM_PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) tristate "PCI HiFi2 (Merrifield) Platforms"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) depends on X86 && PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) select SND_SST_ATOM_HIFI2_PLATFORM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) If you have a Intel Merrifield/Edison platform, then
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) enable this option by saying Y or m. Distros will typically not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) enable this option: while Merrifield/Edison can run a mainline
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) kernel with limited functionality it will require a firmware file
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) which is not in the standard firmware tree
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) config SND_SST_ATOM_HIFI2_PLATFORM_ACPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) tristate "ACPI HiFi2 (Baytrail, Cherrytrail) Platforms"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) default ACPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) depends on X86 && ACPI && PCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) select SND_SST_ATOM_HIFI2_PLATFORM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) select SND_SOC_ACPI_INTEL_MATCH
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) select IOSF_MBI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) If you have a Intel Baytrail or Cherrytrail platform with an I2S
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) codec, then enable this option by saying Y or m. This is a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) recommended option
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) This option is mutually exclusive with the SOF support on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) Baytrail/Cherrytrail. If you want to enable SOF on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) Baytrail/Cherrytrail, you need to deselect this option first.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) config SND_SOC_INTEL_SKYLAKE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) tristate "All Skylake/SST Platforms"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) depends on PCI && ACPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) depends on COMMON_CLK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) select SND_SOC_INTEL_SKL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) select SND_SOC_INTEL_APL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) select SND_SOC_INTEL_KBL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) select SND_SOC_INTEL_GLK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) select SND_SOC_INTEL_CNL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) select SND_SOC_INTEL_CFL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) This is a backwards-compatible option to select all devices
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) supported by the Intel SST/Skylake driver. This option is no
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) longer recommended and will be deprecated when the SOF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) driver is introduced. Distributions should explicitly
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) select which platform uses this driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) config SND_SOC_INTEL_SKL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) tristate "Skylake Platforms"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) depends on PCI && ACPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) depends on COMMON_CLK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) select SND_SOC_INTEL_SKYLAKE_FAMILY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) If you have a Intel Skylake platform with the DSP enabled
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) in the BIOS then enable this option by saying Y or m.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) config SND_SOC_INTEL_APL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) tristate "Broxton/ApolloLake Platforms"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) depends on PCI && ACPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) depends on COMMON_CLK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) select SND_SOC_INTEL_SKYLAKE_FAMILY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) If you have a Intel Broxton/ApolloLake platform with the DSP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) enabled in the BIOS then enable this option by saying Y or m.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) config SND_SOC_INTEL_KBL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) tristate "Kabylake Platforms"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) depends on PCI && ACPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) depends on COMMON_CLK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) select SND_SOC_INTEL_SKYLAKE_FAMILY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) If you have a Intel Kabylake platform with the DSP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) enabled in the BIOS then enable this option by saying Y or m.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) config SND_SOC_INTEL_GLK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) tristate "GeminiLake Platforms"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) depends on PCI && ACPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) depends on COMMON_CLK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) select SND_SOC_INTEL_SKYLAKE_FAMILY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) If you have a Intel GeminiLake platform with the DSP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) enabled in the BIOS then enable this option by saying Y or m.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) config SND_SOC_INTEL_CNL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) tristate "CannonLake/WhiskyLake Platforms"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) depends on PCI && ACPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) depends on COMMON_CLK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) select SND_SOC_INTEL_SKYLAKE_FAMILY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) If you have a Intel CNL/WHL platform with the DSP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) enabled in the BIOS then enable this option by saying Y or m.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) config SND_SOC_INTEL_CFL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) tristate "CoffeeLake Platforms"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) depends on PCI && ACPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) depends on COMMON_CLK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) select SND_SOC_INTEL_SKYLAKE_FAMILY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) If you have a Intel CoffeeLake platform with the DSP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) enabled in the BIOS then enable this option by saying Y or m.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) config SND_SOC_INTEL_CML_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) tristate "CometLake-H Platforms"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) depends on PCI && ACPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) depends on COMMON_CLK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) select SND_SOC_INTEL_SKYLAKE_FAMILY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) If you have a Intel CometLake-H platform with the DSP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) enabled in the BIOS then enable this option by saying Y or m.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) config SND_SOC_INTEL_CML_LP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) tristate "CometLake-LP Platforms"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) depends on PCI && ACPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) depends on COMMON_CLK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) select SND_SOC_INTEL_SKYLAKE_FAMILY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) If you have a Intel CometLake-LP platform with the DSP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) enabled in the BIOS then enable this option by saying Y or m.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) config SND_SOC_INTEL_SKYLAKE_FAMILY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) tristate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) select SND_SOC_INTEL_SKYLAKE_COMMON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) if SND_SOC_INTEL_SKYLAKE_FAMILY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) config SND_SOC_INTEL_SKYLAKE_SSP_CLK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) tristate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) config SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) bool "HDAudio codec support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) If you have Intel Skylake or Kabylake with HDAudio codec
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) and DMIC present then enable this option by saying Y.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) config SND_SOC_INTEL_SKYLAKE_COMMON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) tristate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) select SND_HDA_EXT_CORE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) select SND_HDA_DSP_LOADER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) select SND_SOC_TOPOLOGY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) select SND_SOC_INTEL_SST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) select SND_SOC_HDAC_HDA if SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) select SND_SOC_ACPI_INTEL_MATCH
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) select SND_INTEL_DSP_CONFIG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) If you have a Intel Skylake/Broxton/ApolloLake/KabyLake/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) GeminiLake or CannonLake platform with the DSP enabled in the BIOS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) then enable this option by saying Y or m.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) endif ## SND_SOC_INTEL_SKYLAKE_FAMILY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) endif ## SND_SOC_INTEL_SST_TOPLEVEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) if SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) config SND_SOC_ACPI_INTEL_MATCH
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) tristate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) select SND_SOC_ACPI if ACPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) # this option controls the compilation of ACPI matching tables and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) # helpers and is not meant to be selected by the user.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) endif ## SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) config SND_SOC_INTEL_KEEMBAY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) tristate "Keembay Platforms"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) depends on ARCH_KEEMBAY || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) depends on COMMON_CLK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) If you have a Intel Keembay platform then enable this option
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) by saying Y or m.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) # ASoC codec drivers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) source "sound/soc/intel/boards/Kconfig"