1 # SPDX-License-Identifier: GPL-2.0-only
2 menuconfig SND_SOC_INTEL_MACH
3 bool "Intel Machine drivers"
4 depends on SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL
6 Intel ASoC Machine Drivers. If you have a Intel machine that
7 has an audio controller with a DSP and I2S or DMIC port, then
8 enable this option by saying Y
10 Note that the answer to this question doesn't directly affect the
11 kernel: saying N will just cause the configurator to skip all
12 the questions about Intel ASoC machine drivers.
16 config SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES
17 bool "Use more user friendly long card names"
19 Some drivers report the I/O configuration to userspace through the
20 soundcard's long card name in the control user space AP. An unfortunate
21 side effect is that this long name may also be used by the GUI,
22 confusing users with information they don't need.
23 This option prevents the long name from being modified, and the I/O
24 configuration will be provided through a different component interface.
25 Select Y if userspace like UCM (Use Case Manager) uses the component
29 if SND_SOC_INTEL_HASWELL
31 config SND_SOC_INTEL_HASWELL_MACH
32 tristate "Haswell Lynxpoint"
34 depends on I2C_DESIGNWARE_PLATFORM || COMPILE_TEST
35 depends on X86_INTEL_LPSS || COMPILE_TEST
38 This adds support for the Lynxpoint Audio DSP on Intel(R) Haswell
39 Ultrabook platforms. This is a recommended option.
40 Say Y or m if you have such a device.
43 endif ## SND_SOC_INTEL_HASWELL
45 if SND_SOC_INTEL_HASWELL || SND_SOC_SOF_BROADWELL
47 config SND_SOC_INTEL_BDW_RT5650_MACH
48 tristate "Broadwell with RT5650 codec"
50 depends on I2C_DESIGNWARE_PLATFORM || COMPILE_TEST
51 depends on X86_INTEL_LPSS || COMPILE_TEST
54 This adds the ASoC machine driver for Intel Broadwell platforms with
56 Say Y if you have such a device.
59 config SND_SOC_INTEL_BDW_RT5677_MACH
60 tristate "Broadwell with RT5677 codec"
62 depends on I2C_DESIGNWARE_PLATFORM || COMPILE_TEST
63 depends on GPIOLIB || COMPILE_TEST
64 depends on X86_INTEL_LPSS || COMPILE_TEST
67 select SND_SOC_RT5677_SPI
70 This adds support for Intel Broadwell platform based boards with
71 the RT5677 audio codec. This is a recommended option.
72 Say Y or m if you have such a device.
75 config SND_SOC_INTEL_BROADWELL_MACH
76 tristate "Broadwell Wildcatpoint"
78 depends on I2C_DESIGNWARE_PLATFORM || COMPILE_TEST
79 depends on X86_INTEL_LPSS || COMPILE_TEST
82 This adds support for the Wilcatpoint Audio DSP on Intel(R) Broadwell
84 Say Y or m if you have such a device. This is a recommended option.
86 endif ## SND_SOC_INTEL_HASWELL || SND_SOC_SOF_BROADWELL
88 if SND_SOC_INTEL_BAYTRAIL
90 config SND_SOC_INTEL_BYT_MAX98090_MACH
91 tristate "Baytrail with MAX98090 codec"
93 depends on X86_INTEL_LPSS || COMPILE_TEST
94 select SND_SOC_MAX98090
96 This adds audio driver for Intel Baytrail platform based boards
97 with the MAX98090 audio codec. This driver is deprecated, use
98 SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH instead for better
101 config SND_SOC_INTEL_BYT_RT5640_MACH
102 tristate "Baytrail with RT5640 codec"
104 depends on X86_INTEL_LPSS || COMPILE_TEST
105 select SND_SOC_RT5640
107 This adds audio driver for Intel Baytrail platform based boards
108 with the RT5640 audio codec. This driver is deprecated, use
109 SND_SOC_INTEL_BYTCR_RT5640_MACH instead for better functionality.
111 endif ## SND_SOC_INTEL_BAYTRAIL
113 if SND_SST_ATOM_HIFI2_PLATFORM || SND_SOC_SOF_BAYTRAIL
115 config SND_SOC_INTEL_BYTCR_RT5640_MACH
116 tristate "Baytrail and Baytrail-CR with RT5640 codec"
117 depends on I2C && ACPI
118 depends on X86_INTEL_LPSS || COMPILE_TEST
120 select SND_SOC_RT5640
122 This adds support for ASoC machine driver for Intel(R) Baytrail and Baytrail-CR
123 platforms with RT5640 audio codec.
124 Say Y or m if you have such a device. This is a recommended option.
125 If unsure select "N".
127 config SND_SOC_INTEL_BYTCR_RT5651_MACH
128 tristate "Baytrail and Baytrail-CR with RT5651 codec"
129 depends on I2C && ACPI
130 depends on X86_INTEL_LPSS || COMPILE_TEST
132 select SND_SOC_RT5651
134 This adds support for ASoC machine driver for Intel(R) Baytrail and Baytrail-CR
135 platforms with RT5651 audio codec.
136 Say Y or m if you have such a device. This is a recommended option.
137 If unsure select "N".
139 config SND_SOC_INTEL_CHT_BSW_RT5672_MACH
140 tristate "Cherrytrail & Braswell with RT5672 codec"
141 depends on I2C && ACPI
142 depends on X86_INTEL_LPSS || COMPILE_TEST
144 select SND_SOC_RT5670
146 This adds support for ASoC machine driver for Intel(R) Cherrytrail & Braswell
147 platforms with RT5672 audio codec.
148 Say Y or m if you have such a device. This is a recommended option.
149 If unsure select "N".
151 config SND_SOC_INTEL_CHT_BSW_RT5645_MACH
152 tristate "Cherrytrail & Braswell with RT5645/5650 codec"
153 depends on I2C && ACPI
154 depends on X86_INTEL_LPSS || COMPILE_TEST
156 select SND_SOC_RT5645
158 This adds support for ASoC machine driver for Intel(R) Cherrytrail & Braswell
159 platforms with RT5645/5650 audio codec.
160 Say Y or m if you have such a device. This is a recommended option.
161 If unsure select "N".
163 config SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH
164 tristate "Cherrytrail & Braswell with MAX98090 & TI codec"
165 depends on I2C && ACPI
166 depends on X86_INTEL_LPSS || COMPILE_TEST
167 select SND_SOC_MAX98090
168 select SND_SOC_TS3A227E
170 This adds support for ASoC machine driver for Intel(R) Cherrytrail & Braswell
171 platforms with MAX98090 audio codec it also can support TI jack chip as aux device.
172 Say Y or m if you have such a device. This is a recommended option.
173 If unsure select "N".
175 config SND_SOC_INTEL_CHT_BSW_NAU8824_MACH
176 tristate "Cherrytrail & Braswell with NAU88L24 codec"
177 depends on I2C && ACPI
178 depends on X86_INTEL_LPSS || COMPILE_TEST
180 select SND_SOC_NAU8824
182 This adds support for ASoC machine driver for Intel(R) Cherrytrail & Braswell
183 platforms with NAU88L24 audio codec.
184 Say Y or m if you have such a device. This is a recommended option.
185 If unsure select "N".
187 config SND_SOC_INTEL_BYT_CHT_CX2072X_MACH
188 tristate "Baytrail & Cherrytrail with CX2072X codec"
189 depends on I2C && ACPI
190 depends on X86_INTEL_LPSS || COMPILE_TEST
192 select SND_SOC_CX2072X
194 This adds support for ASoC machine driver for Intel(R) Baytrail &
195 Cherrytrail platforms with Conexant CX2072X audio codec.
196 Say Y or m if you have such a device. This is a recommended option.
197 If unsure select "N".
199 config SND_SOC_INTEL_BYT_CHT_DA7213_MACH
200 tristate "Baytrail & Cherrytrail with DA7212/7213 codec"
201 depends on I2C && ACPI
202 depends on X86_INTEL_LPSS || COMPILE_TEST
204 select SND_SOC_DA7213
206 This adds support for ASoC machine driver for Intel(R) Baytrail & CherryTrail
207 platforms with DA7212/7213 audio codec.
208 Say Y or m if you have such a device. This is a recommended option.
209 If unsure select "N".
211 config SND_SOC_INTEL_BYT_CHT_ES8316_MACH
212 tristate "Baytrail & Cherrytrail with ES8316 codec"
213 depends on I2C && ACPI
214 depends on X86_INTEL_LPSS || COMPILE_TEST
216 select SND_SOC_ES8316
218 This adds support for ASoC machine driver for Intel(R) Baytrail &
219 Cherrytrail platforms with ES8316 audio codec.
220 Say Y or m if you have such a device. This is a recommended option.
221 If unsure select "N".
223 endif ## SND_SST_ATOM_HIFI2_PLATFORM || SND_SOC_SOF_BAYTRAIL
225 if SND_SST_ATOM_HIFI2_PLATFORM
227 config SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH
228 tristate "Baytrail & Cherrytrail platform with no codec (MinnowBoard MAX, Up)"
229 depends on I2C && ACPI
230 depends on X86_INTEL_LPSS || COMPILE_TEST
232 This adds support for ASoC machine driver for the MinnowBoard Max or
233 Up boards and provides access to I2S signals on the Low-Speed
234 connector. This is not a recommended option outside of these cases.
235 It is not intended to be enabled by distros by default.
236 Say Y or m if you have such a device.
238 If unsure select "N".
240 endif ## SND_SST_ATOM_HIFI2_PLATFORM
244 config SND_SOC_INTEL_SKL_RT286_MACH
245 tristate "SKL with RT286 I2S mode"
246 depends on I2C && ACPI && GPIOLIB
247 depends on MFD_INTEL_LPSS || COMPILE_TEST
250 select SND_SOC_HDAC_HDMI
252 This adds support for ASoC machine driver for Skylake platforms
253 with RT286 I2S audio codec.
254 Say Y or m if you have such a device.
255 If unsure select "N".
257 config SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH
258 tristate "SKL with NAU88L25 and SSM4567 in I2S Mode"
259 depends on I2C && ACPI && GPIOLIB
260 depends on MFD_INTEL_LPSS || COMPILE_TEST
261 select SND_SOC_NAU8825
262 select SND_SOC_SSM4567
264 select SND_SOC_HDAC_HDMI
266 This adds support for ASoC Onboard Codec I2S machine driver. This will
267 create an alsa sound card for NAU88L25 + SSM4567.
268 Say Y or m if you have such a device. This is a recommended option.
269 If unsure select "N".
271 config SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH
272 tristate "SKL with NAU88L25 and MAX98357A in I2S Mode"
273 depends on I2C && ACPI && GPIOLIB
274 depends on MFD_INTEL_LPSS || COMPILE_TEST
275 select SND_SOC_NAU8825
276 select SND_SOC_MAX98357A
278 select SND_SOC_HDAC_HDMI
280 This adds support for ASoC Onboard Codec I2S machine driver. This will
281 create an alsa sound card for NAU88L25 + MAX98357A.
282 Say Y or m if you have such a device. This is a recommended option.
283 If unsure select "N".
285 endif ## SND_SOC_INTEL_SKL
287 config SND_SOC_INTEL_DA7219_MAX98357A_GENERIC
289 select SND_SOC_DA7219
290 select SND_SOC_MAX98357A
292 select SND_SOC_HDAC_HDMI
294 config SND_SOC_INTEL_BXT_DA7219_MAX98357A_COMMON
296 select SND_SOC_INTEL_DA7219_MAX98357A_GENERIC
300 config SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH
301 tristate "Broxton with DA7219 and MAX98357A in I2S Mode"
302 depends on I2C && ACPI && GPIOLIB
303 depends on MFD_INTEL_LPSS || COMPILE_TEST
304 depends on SND_HDA_CODEC_HDMI
305 select SND_SOC_INTEL_BXT_DA7219_MAX98357A_COMMON
307 This adds support for ASoC machine driver for Broxton-P platforms
308 with DA7219 + MAX98357A I2S audio codec.
309 Say Y or m if you have such a device. This is a recommended option.
310 If unsure select "N".
312 config SND_SOC_INTEL_BXT_RT298_MACH
313 tristate "Broxton with RT298 I2S mode"
314 depends on I2C && ACPI && GPIOLIB
315 depends on MFD_INTEL_LPSS || COMPILE_TEST
318 select SND_SOC_HDAC_HDMI
320 This adds support for ASoC machine driver for Broxton platforms
321 with RT286 I2S audio codec.
322 Say Y or m if you have such a device. This is a recommended option.
323 If unsure select "N".
325 endif ## SND_SOC_INTEL_APL
327 if SND_SOC_SOF_APOLLOLAKE
329 config SND_SOC_INTEL_SOF_WM8804_MACH
330 tristate "SOF with Wolfson/Cirrus WM8804 codec"
331 depends on I2C && ACPI
332 depends on MFD_INTEL_LPSS || COMPILE_TEST
333 select SND_SOC_WM8804_I2C
335 This adds support for ASoC machine driver for Intel platforms
336 with the Wolfson/Cirrus WM8804 I2S audio codec.
337 Say Y or m if you have such a device. This is a recommended option.
338 If unsure select "N".
340 endif ## SND_SOC_SOF_APOLLOLAKE
344 config SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH
345 tristate "KBL with RT5663 and MAX98927 in I2S Mode"
346 depends on I2C && ACPI && GPIOLIB
347 depends on MFD_INTEL_LPSS || COMPILE_TEST
348 select SND_SOC_RT5663
349 select SND_SOC_MAX98927
351 select SND_SOC_HDAC_HDMI
352 select SND_SOC_INTEL_SKYLAKE_SSP_CLK
354 This adds support for ASoC Onboard Codec I2S machine driver. This will
355 create an alsa sound card for RT5663 + MAX98927.
356 Say Y or m if you have such a device. This is a recommended option.
357 If unsure select "N".
359 config SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH
360 tristate "KBL with RT5663, RT5514 and MAX98927 in I2S Mode"
361 depends on I2C && ACPI
362 depends on MFD_INTEL_LPSS || COMPILE_TEST
364 select SND_SOC_RT5663
365 select SND_SOC_RT5514
366 select SND_SOC_RT5514_SPI
367 select SND_SOC_MAX98927
368 select SND_SOC_HDAC_HDMI
369 select SND_SOC_INTEL_SKYLAKE_SSP_CLK
371 This adds support for ASoC Onboard Codec I2S machine driver. This will
372 create an alsa sound card for RT5663 + RT5514 + MAX98927.
373 Say Y or m if you have such a device. This is a recommended option.
374 If unsure select "N".
376 config SND_SOC_INTEL_KBL_DA7219_MAX98357A_MACH
377 tristate "KBL with DA7219 and MAX98357A in I2S Mode"
378 depends on I2C && ACPI
379 depends on MFD_INTEL_LPSS || COMPILE_TEST
380 select SND_SOC_INTEL_DA7219_MAX98357A_GENERIC
382 This adds support for ASoC Onboard Codec I2S machine driver. This will
383 create an alsa sound card for DA7219 + MAX98357A I2S audio codec.
384 Say Y if you have such a device.
386 config SND_SOC_INTEL_KBL_DA7219_MAX98927_MACH
387 tristate "KBL with DA7219 and MAX98927 in I2S Mode"
388 depends on I2C && ACPI && GPIOLIB
389 depends on MFD_INTEL_LPSS || COMPILE_TEST
390 select SND_SOC_DA7219
391 select SND_SOC_MAX98927
392 select SND_SOC_MAX98373
394 select SND_SOC_HDAC_HDMI
396 This adds support for ASoC Onboard Codec I2S machine driver. This will
397 create an alsa sound card for DA7219 + MAX98927 I2S audio codec.
398 Say Y if you have such a device.
399 If unsure select "N".
401 config SND_SOC_INTEL_KBL_RT5660_MACH
402 tristate "KBL with RT5660 in I2S Mode"
403 depends on I2C && ACPI
404 depends on MFD_INTEL_LPSS || COMPILE_TEST
405 select SND_SOC_RT5660
406 select SND_SOC_HDAC_HDMI
408 This adds support for ASoC Onboard Codec I2S machine driver. This will
409 create an alsa sound card for RT5660 I2S audio codec.
410 Say Y if you have such a device.
412 endif ## SND_SOC_INTEL_KBL
414 if SND_SOC_SOF_GEMINILAKE
416 config SND_SOC_INTEL_GLK_DA7219_MAX98357A_MACH
417 tristate "GLK with DA7219 and MAX98357A in I2S Mode"
418 depends on I2C && ACPI && GPIOLIB
419 depends on MFD_INTEL_LPSS || COMPILE_TEST
420 depends on SND_HDA_CODEC_HDMI && SND_SOC_SOF_HDA_AUDIO_CODEC
421 select SND_SOC_INTEL_BXT_DA7219_MAX98357A_COMMON
423 This adds support for ASoC machine driver for Geminilake platforms
424 with DA7219 + MAX98357A I2S audio codec.
425 Say Y or m if you have such a device. This is a recommended option.
426 If unsure select "N".
428 config SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH
429 tristate "GLK with RT5682 and MAX98357A in I2S Mode"
430 depends on I2C && ACPI && GPIOLIB
431 depends on MFD_INTEL_LPSS || COMPILE_TEST
432 depends on SND_HDA_CODEC_HDMI && SND_SOC_SOF_HDA_AUDIO_CODEC
433 select SND_SOC_RT5682_I2C
434 select SND_SOC_MAX98357A
436 select SND_SOC_HDAC_HDMI
438 This adds support for ASoC machine driver for Geminilake platforms
439 with RT5682 + MAX98357A I2S audio codec.
440 Say Y if you have such a device.
441 If unsure select "N".
443 endif ## SND_SOC_SOF_GEMINILAKE
445 if SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC || SND_SOC_SOF_HDA_AUDIO_CODEC
447 config SND_SOC_INTEL_SKL_HDA_DSP_GENERIC_MACH
448 tristate "SKL/KBL/BXT/APL with HDA Codecs"
449 depends on SND_HDA_CODEC_HDMI
451 select SND_SOC_HDAC_HDMI
453 # SND_SOC_HDAC_HDA is already selected
455 This adds support for ASoC machine driver for Intel platforms
456 SKL/KBL/BXT/APL with iDisp, HDA audio codecs.
457 Say Y or m if you have such a device. This is a recommended option.
458 If unsure select "N".
460 endif ## SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC || SND_SOC_SOF_HDA_AUDIO_CODEC
462 if SND_SOC_SOF_HDA_LINK || SND_SOC_SOF_BAYTRAIL
463 config SND_SOC_INTEL_SOF_RT5682_MACH
464 tristate "SOF with rt5682 codec in I2S Mode"
465 depends on I2C && ACPI && GPIOLIB
466 depends on ((SND_HDA_CODEC_HDMI && SND_SOC_SOF_HDA_AUDIO_CODEC) &&\
467 (MFD_INTEL_LPSS || COMPILE_TEST)) ||\
468 (SND_SOC_SOF_BAYTRAIL && (X86_INTEL_LPSS || COMPILE_TEST))
469 select SND_SOC_MAX98373
470 select SND_SOC_RT1015
471 select SND_SOC_RT5682_I2C
473 select SND_SOC_HDAC_HDMI
475 This adds support for ASoC machine driver for SOF platforms
477 Say Y if you have such a device.
478 If unsure select "N".
480 config SND_SOC_INTEL_SOF_PCM512x_MACH
481 tristate "SOF with TI PCM512x codec"
482 depends on I2C && ACPI
483 depends on (SND_SOC_SOF_HDA_AUDIO_CODEC && (MFD_INTEL_LPSS || COMPILE_TEST)) ||\
484 (SND_SOC_SOF_BAYTRAIL && (X86_INTEL_LPSS || COMPILE_TEST))
485 depends on SND_HDA_CODEC_HDMI
486 select SND_SOC_PCM512x_I2C
488 This adds support for ASoC machine driver for SOF platforms
489 with TI PCM512x I2S audio codec.
490 Say Y or m if you have such a device.
491 If unsure select "N".
493 endif ## SND_SOC_SOF_HDA_LINK || SND_SOC_SOF_BAYTRAIL
495 if (SND_SOC_SOF_COMETLAKE_LP && SND_SOC_SOF_HDA_LINK)
497 config SND_SOC_INTEL_CML_LP_DA7219_MAX98357A_MACH
498 tristate "CML_LP with DA7219 and MAX98357A in I2S Mode"
499 depends on I2C && ACPI && GPIOLIB
500 depends on MFD_INTEL_LPSS || COMPILE_TEST
501 select SND_SOC_INTEL_BXT_DA7219_MAX98357A_COMMON
503 This adds support for ASoC machine driver for Cometlake platforms
504 with DA7219 + MAX98357A I2S audio codec.
505 Say Y or m if you have such a device. This is a recommended option.
506 If unsure select "N".
508 config SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH
509 tristate "CML with RT1011 and RT5682 in I2S Mode"
510 depends on I2C && ACPI && GPIOLIB
511 depends on MFD_INTEL_LPSS || COMPILE_TEST
512 depends on SND_HDA_CODEC_HDMI && SND_SOC_SOF_HDA_AUDIO_CODEC
513 select SND_SOC_RT1011
514 select SND_SOC_RT5682_I2C
516 select SND_SOC_HDAC_HDMI
518 This adds support for ASoC machine driver for SOF platform with
519 RT1011 + RT5682 I2S codec.
520 Say Y if you have such a device.
521 If unsure select "N".
523 endif ## SND_SOC_SOF_COMETLAKE_LP && SND_SOC_SOF_HDA_LINK
525 if SND_SOC_SOF_JASPERLAKE
527 config SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH
528 tristate "SOF with DA7219 and MAX98373/MAX98360A in I2S Mode"
529 depends on I2C && ACPI && GPIOLIB
530 depends on MFD_INTEL_LPSS || COMPILE_TEST
531 depends on SND_HDA_CODEC_HDMI && SND_SOC_SOF_HDA_AUDIO_CODEC
532 select SND_SOC_DA7219
533 select SND_SOC_MAX98373
536 This adds support for ASoC machine driver for SOF platforms
537 with DA7219 + MAX98373/MAX98360A I2S audio codec.
538 Say Y if you have such a device.
539 If unsure select "N".
541 endif ## SND_SOC_SOF_JASPERLAKE
543 if SND_SOC_SOF_ELKHARTLAKE
545 config SND_SOC_INTEL_EHL_RT5660_MACH
546 tristate "EHL with RT5660 in I2S mode"
547 depends on I2C && ACPI && GPIOLIB
548 depends on MFD_INTEL_LPSS || COMPILE_TEST
549 depends on SND_HDA_CODEC_HDMI && SND_SOC_SOF_HDA_AUDIO_CODEC
550 select SND_SOC_RT5660
553 This adds support for ASoC machine driver for Elkhart Lake
554 platform with RT5660 I2S audio codec.
556 endif ## SND_SOC_SOF_ELKHARTLAKE
558 if SND_SOC_SOF_INTEL_SOUNDWIRE
560 config SND_SOC_INTEL_SOUNDWIRE_SOF_MACH
561 tristate "SoundWire generic machine driver"
562 depends on I2C && ACPI && GPIOLIB
563 depends on MFD_INTEL_LPSS || COMPILE_TEST
564 depends on SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES || COMPILE_TEST
566 depends on SND_HDA_CODEC_HDMI && SND_SOC_SOF_HDA_AUDIO_CODEC
567 select SND_SOC_RT700_SDW
568 select SND_SOC_RT711_SDW
569 select SND_SOC_RT1308_SDW
570 select SND_SOC_RT1308
571 select SND_SOC_RT715_SDW
572 select SND_SOC_RT5682_SDW
575 Add support for Intel SoundWire-based platforms connected to
576 RT700, RT711, RT1308 and RT715
577 If unsure select "N".
582 endif ## SND_SOC_INTEL_MACH