xref: /openbmc/linux/sound/soc/intel/Kconfig (revision 1802d0be)
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
63config SND_SOC_INTEL_BAYTRAIL
64	tristate "Baytrail (legacy) Platforms"
65	depends on DMADEVICES && ACPI && SND_SST_ATOM_HIFI2_PLATFORM=n
66	select SND_SOC_INTEL_SST
67	select SND_SOC_INTEL_SST_ACPI
68	select SND_SOC_INTEL_SST_FIRMWARE
69	select SND_SOC_ACPI_INTEL_MATCH
70	help
71	  If you have a Intel Baytrail platform connected to an I2S codec,
72	  then enable this option by saying Y or m. This was typically used
73	  for Baytrail Chromebooks but this option is now deprecated and is
74	  not recommended, use SND_SST_ATOM_HIFI2_PLATFORM instead.
75
76config SND_SST_ATOM_HIFI2_PLATFORM
77	tristate
78	select SND_SOC_COMPRESS
79
80config SND_SST_ATOM_HIFI2_PLATFORM_PCI
81	tristate "PCI HiFi2 (Merrifield) Platforms"
82	depends on X86 && PCI
83	select SND_SST_IPC_PCI
84	select SND_SST_ATOM_HIFI2_PLATFORM
85	help
86	  If you have a Intel Merrifield/Edison platform, then
87	  enable this option by saying Y or m. Distros will typically not
88	  enable this option: while Merrifield/Edison can run a mainline
89	  kernel with limited functionality it will require a firmware file
90	  which is not in the standard firmware tree
91
92config SND_SST_ATOM_HIFI2_PLATFORM_ACPI
93	tristate "ACPI HiFi2 (Baytrail, Cherrytrail) Platforms"
94	default ACPI
95	depends on X86 && ACPI && PCI
96	select SND_SST_IPC_ACPI
97	select SND_SST_ATOM_HIFI2_PLATFORM
98	select SND_SOC_ACPI_INTEL_MATCH
99	select IOSF_MBI
100	help
101	  If you have a Intel Baytrail or Cherrytrail platform with an I2S
102	  codec, then enable this option by saying Y or m. This is a
103	  recommended option
104
105config SND_SOC_INTEL_SKYLAKE
106	tristate "All Skylake/SST Platforms"
107	depends on PCI && ACPI
108	select SND_SOC_INTEL_SKL
109	select SND_SOC_INTEL_APL
110	select SND_SOC_INTEL_KBL
111	select SND_SOC_INTEL_GLK
112	select SND_SOC_INTEL_CNL
113	select SND_SOC_INTEL_CFL
114	help
115          This is a backwards-compatible option to select all devices
116	  supported by the Intel SST/Skylake driver. This option is no
117	  longer recommended and will be deprecated when the SOF
118	  driver is introduced.  Distributions should explicitly
119	  select which platform uses this driver.
120
121config SND_SOC_INTEL_SKL
122	tristate "Skylake Platforms"
123	depends on PCI && ACPI
124	select SND_SOC_INTEL_SKYLAKE_FAMILY
125	help
126	  If you have a Intel Skylake platform with the DSP enabled
127	  in the BIOS then enable this option by saying Y or m.
128
129config SND_SOC_INTEL_APL
130	tristate "Broxton/ApolloLake Platforms"
131	depends on PCI && ACPI
132	select SND_SOC_INTEL_SKYLAKE_FAMILY
133	help
134	  If you have a Intel Broxton/ApolloLake platform with the DSP
135	  enabled in the BIOS then enable this option by saying Y or m.
136
137config SND_SOC_INTEL_KBL
138	tristate "Kabylake Platforms"
139	depends on PCI && ACPI
140	select SND_SOC_INTEL_SKYLAKE_FAMILY
141	help
142	  If you have a Intel Kabylake platform with the DSP
143	  enabled in the BIOS then enable this option by saying Y or m.
144
145config SND_SOC_INTEL_GLK
146	tristate "GeminiLake Platforms"
147	depends on PCI && ACPI
148	select SND_SOC_INTEL_SKYLAKE_FAMILY
149	help
150	  If you have a Intel GeminiLake platform with the DSP
151	  enabled in the BIOS then enable this option by saying Y or m.
152
153config SND_SOC_INTEL_CNL
154	tristate "CannonLake/WhiskyLake Platforms"
155	depends on PCI && ACPI
156	select SND_SOC_INTEL_SKYLAKE_FAMILY
157	help
158	  If you have a Intel CNL/WHL platform with the DSP
159	  enabled in the BIOS then enable this option by saying Y or m.
160
161config SND_SOC_INTEL_CFL
162	tristate "CoffeeLake Platforms"
163	depends on PCI && ACPI
164	select SND_SOC_INTEL_SKYLAKE_FAMILY
165	help
166	  If you have a Intel CoffeeLake platform with the DSP
167	  enabled in the BIOS then enable this option by saying Y or m.
168
169config SND_SOC_INTEL_SKYLAKE_FAMILY
170	tristate
171	select SND_SOC_INTEL_SKYLAKE_COMMON
172
173if SND_SOC_INTEL_SKYLAKE_FAMILY
174
175config SND_SOC_INTEL_SKYLAKE_SSP_CLK
176	tristate
177
178config SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC
179	bool "HDAudio codec support"
180	help
181	  If you have a Intel Skylake/Broxton/ApolloLake/KabyLake/
182	  GeminiLake or CannonLake platform with an HDaudio codec
183	  then enable this option by saying Y
184
185config SND_SOC_INTEL_SKYLAKE_COMMON
186	tristate
187	select SND_HDA_EXT_CORE
188	select SND_HDA_DSP_LOADER
189	select SND_SOC_TOPOLOGY
190	select SND_SOC_INTEL_SST
191	select SND_SOC_HDAC_HDA if SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC
192	select SND_SOC_ACPI_INTEL_MATCH
193	help
194	  If you have a Intel Skylake/Broxton/ApolloLake/KabyLake/
195	  GeminiLake or CannonLake platform with the DSP enabled in the BIOS
196	  then enable this option by saying Y or m.
197
198endif ## SND_SOC_INTEL_SKYLAKE_FAMILY
199
200endif ## SND_SOC_INTEL_SST_TOPLEVEL
201
202if SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL
203
204config SND_SOC_ACPI_INTEL_MATCH
205	tristate
206	select SND_SOC_ACPI if ACPI
207	# this option controls the compilation of ACPI matching tables and
208	# helpers and is not meant to be selected by the user.
209
210endif ## SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL
211
212
213# ASoC codec drivers
214source "sound/soc/intel/boards/Kconfig"
215