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