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