summaryrefslogtreecommitdiffstats
path: root/sound/soc/intel/Kconfig
blob: 2fd1b61e8331dd68d0c1ffa1d81420b6a9e71d37 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
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_SST_IPC
	tristate
	# This option controls the IPC core for HiFi2 platforms

config SND_SST_IPC_PCI
	tristate
	select SND_SST_IPC
	# This option controls the PCI-based IPC for HiFi2 platforms
	#  (Medfield, Merrifield).

config SND_SST_IPC_ACPI
	tristate
	select SND_SST_IPC
	# This option controls the ACPI-based IPC for HiFi2 platforms
	# (Baytrail, Cherrytrail)

config SND_SOC_INTEL_SST_ACPI
	tristate
	# This option controls ACPI-based probing on
	# Haswell/Broadwell/Baytrail legacy and will be set
	# when these platforms are enabled

config SND_SOC_INTEL_SST
	tristate

config SND_SOC_INTEL_SST_FIRMWARE
	tristate
	select DW_DMAC_CORE
	# This option controls firmware download on
	# Haswell/Broadwell/Baytrail legacy and will be set
	# when these platforms are enabled

config SND_SOC_INTEL_HASWELL
	tristate "Haswell/Broadwell Platforms"
	depends on SND_DMA_SGBUF
	depends on DMADEVICES && ACPI
	select SND_SOC_INTEL_SST
	select SND_SOC_INTEL_SST_ACPI
	select SND_SOC_INTEL_SST_FIRMWARE
	select SND_SOC_ACPI_INTEL_MATCH
	help
	  If you have a Intel Haswell or Broadwell platform connected to
	  an I2S codec, then enable this option by saying Y or m. This is
	  typically used for Chromebooks. This is a recommended option.

config SND_SOC_INTEL_BAYTRAIL
	tristate "Baytrail (legacy) Platforms"
	depends on DMADEVICES && ACPI && SND_SST_ATOM_HIFI2_PLATFORM=n
	select SND_SOC_INTEL_SST
	select SND_SOC_INTEL_SST_ACPI
	select SND_SOC_INTEL_SST_FIRMWARE
	select SND_SOC_ACPI_INTEL_MATCH
	help
	  If you have a Intel Baytrail platform connected to an I2S codec,
	  then enable this option by saying Y or m. This was typically used
	  for Baytrail Chromebooks but this option is now deprecated and is
	  not recommended, use SND_SST_ATOM_HIFI2_PLATFORM instead.

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_IPC_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
	select SND_SST_IPC_ACPI
	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

config SND_SOC_INTEL_SKYLAKE
	tristate "All Skylake/SST Platforms"
	depends on PCI && ACPI
	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
	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
	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
	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
	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
	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
	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_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 a Intel Skylake/Broxton/ApolloLake/KabyLake/
	  GeminiLake or CannonLake platform with an HDaudio codec
	  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_HDA_INTEL_DSP_DETECTION_SKL if SND_SOC_INTEL_SKL
	select SND_HDA_INTEL_DSP_DETECTION_APL if SND_SOC_INTEL_APL
	select SND_HDA_INTEL_DSP_DETECTION_KBL if SND_SOC_INTEL_KBL
	select SND_HDA_INTEL_DSP_DETECTION_GLK if SND_SOC_INTEL_GLK
	select SND_HDA_INTEL_DSP_DETECTION_CNL if SND_SOC_INTEL_CNL
	select SND_HDA_INTEL_DSP_DETECTION_CFL if SND_SOC_INTEL_CFL
	select SND_SOC_ACPI_INTEL_MATCH
	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

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

# ASoC codec drivers
source "sound/soc/intel/boards/Kconfig"