xref: /openbmc/linux/sound/soc/intel/Kconfig (revision 4a075bd4)
1config SND_SOC_INTEL_SST_TOPLEVEL
2	bool "Intel ASoC SST drivers"
3	default y
4	depends on X86 || COMPILE_TEST
5	select SND_SOC_INTEL_MACH
6	help
7	  Intel ASoC SST Platform Drivers. If you have a Intel machine that
8	  has an audio controller with a DSP and I2S or DMIC port, then
9	  enable this option by saying Y
10
11	  Note that the answer to this question doesn't directly affect the
12	  kernel: saying N will just cause the configurator to skip all
13	  the questions about Intel SST drivers.
14
15if SND_SOC_INTEL_SST_TOPLEVEL
16
17config SND_SST_IPC
18	tristate
19	# This option controls the IPC core for HiFi2 platforms
20
21config 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
27config 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
33config 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
39config SND_SOC_INTEL_SST
40	tristate
41
42config SND_SOC_INTEL_SST_FIRMWARE
43	tristate
44	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
48
49config 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
62config 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.
74
75config SND_SST_ATOM_HIFI2_PLATFORM
76	tristate
77	select SND_SOC_COMPRESS
78
79config SND_SST_ATOM_HIFI2_PLATFORM_PCI
80	tristate "PCI HiFi2 (Merrifield) Platforms"
81	depends on X86 && PCI
82	select SND_SST_IPC_PCI
83	select SND_SST_ATOM_HIFI2_PLATFORM
84	help
85	  If you have a Intel Merrifield/Edison platform, then
86	  enable this option by saying Y or m. Distros will typically not
87	  enable this option: while Merrifield/Edison can run a mainline
88	  kernel with limited functionality it will require a firmware file
89	  which is not in the standard firmware tree
90
91config SND_SST_ATOM_HIFI2_PLATFORM_ACPI
92	tristate "ACPI HiFi2 (Baytrail, Cherrytrail) Platforms"
93	default ACPI
94	depends on X86 && ACPI && PCI
95	select SND_SST_IPC_ACPI
96	select SND_SST_ATOM_HIFI2_PLATFORM
97	select SND_SOC_ACPI_INTEL_MATCH
98	select IOSF_MBI
99	help
100	  If you have a Intel Baytrail or Cherrytrail platform with an I2S
101	  codec, then enable this option by saying Y or m. This is a
102	  recommended option
103
104config SND_SOC_INTEL_SKYLAKE
105	tristate "All Skylake/SST Platforms"
106	depends on PCI && ACPI
107	select SND_SOC_INTEL_SKL
108	select SND_SOC_INTEL_APL
109	select SND_SOC_INTEL_KBL
110	select SND_SOC_INTEL_GLK
111	select SND_SOC_INTEL_CNL
112	select SND_SOC_INTEL_CFL
113	help
114          This is a backwards-compatible option to select all devices
115	  supported by the Intel SST/Skylake driver. This option is no
116	  longer recommended and will be deprecated when the SOF
117	  driver is introduced.  Distributions should explicitly
118	  select which platform uses this driver.
119
120config SND_SOC_INTEL_SKL
121	tristate "Skylake Platforms"
122	depends on PCI && ACPI
123	select SND_SOC_INTEL_SKYLAKE_FAMILY
124	help
125	  If you have a Intel Skylake platform with the DSP enabled
126	  in the BIOS then enable this option by saying Y or m.
127
128config SND_SOC_INTEL_APL
129	tristate "Broxton/ApolloLake Platforms"
130	depends on PCI && ACPI
131	select SND_SOC_INTEL_SKYLAKE_FAMILY
132	help
133	  If you have a Intel Broxton/ApolloLake platform with the DSP
134	  enabled in the BIOS then enable this option by saying Y or m.
135
136config SND_SOC_INTEL_KBL
137	tristate "Kabylake Platforms"
138	depends on PCI && ACPI
139	select SND_SOC_INTEL_SKYLAKE_FAMILY
140	help
141	  If you have a Intel Kabylake platform with the DSP
142	  enabled in the BIOS then enable this option by saying Y or m.
143
144config SND_SOC_INTEL_GLK
145	tristate "GeminiLake Platforms"
146	depends on PCI && ACPI
147	select SND_SOC_INTEL_SKYLAKE_FAMILY
148	help
149	  If you have a Intel GeminiLake platform with the DSP
150	  enabled in the BIOS then enable this option by saying Y or m.
151
152config SND_SOC_INTEL_CNL
153	tristate "CannonLake/WhiskyLake Platforms"
154	depends on PCI && ACPI
155	select SND_SOC_INTEL_SKYLAKE_FAMILY
156	help
157	  If you have a Intel CNL/WHL platform with the DSP
158	  enabled in the BIOS then enable this option by saying Y or m.
159
160config SND_SOC_INTEL_CFL
161	tristate "CoffeeLake Platforms"
162	depends on PCI && ACPI
163	select SND_SOC_INTEL_SKYLAKE_FAMILY
164	help
165	  If you have a Intel CoffeeLake platform with the DSP
166	  enabled in the BIOS then enable this option by saying Y or m.
167
168config SND_SOC_INTEL_SKYLAKE_FAMILY
169	tristate
170	select SND_SOC_INTEL_SKYLAKE_COMMON
171
172if SND_SOC_INTEL_SKYLAKE_FAMILY
173
174config SND_SOC_INTEL_SKYLAKE_SSP_CLK
175	tristate
176
177config SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC
178	bool "HDAudio codec support"
179	help
180	  If you have a Intel Skylake/Broxton/ApolloLake/KabyLake/
181	  GeminiLake or CannonLake platform with an HDaudio codec
182	  then enable this option by saying Y
183
184config SND_SOC_INTEL_SKYLAKE_COMMON
185	tristate
186	select SND_HDA_EXT_CORE
187	select SND_HDA_DSP_LOADER
188	select SND_SOC_TOPOLOGY
189	select SND_SOC_INTEL_SST
190	select SND_SOC_HDAC_HDA if SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC
191	select SND_SOC_ACPI_INTEL_MATCH
192	help
193	  If you have a Intel Skylake/Broxton/ApolloLake/KabyLake/
194	  GeminiLake or CannonLake platform with the DSP enabled in the BIOS
195	  then enable this option by saying Y or m.
196
197endif ## SND_SOC_INTEL_SKYLAKE_FAMILY
198
199endif ## SND_SOC_INTEL_SST_TOPLEVEL
200
201if SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL
202
203config SND_SOC_ACPI_INTEL_MATCH
204	tristate
205	select SND_SOC_ACPI if ACPI
206	# this option controls the compilation of ACPI matching tables and
207	# helpers and is not meant to be selected by the user.
208
209endif ## SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL
210
211
212# ASoC codec drivers
213source "sound/soc/intel/boards/Kconfig"
214