Linux-libre 5.3.12-gnu
[librecmc/linux-libre.git] / include / linux / mfd / abx500 / ab8500-codec.h
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright (C) ST-Ericsson SA 2012
4  *
5  * Author: Ola Lilja <ola.o.lilja@stericsson.com>
6  *         for ST-Ericsson.
7  *
8  * License terms:
9  */
10
11 #ifndef AB8500_CORE_CODEC_H
12 #define AB8500_CORE_CODEC_H
13
14 /* Mic-types */
15 enum amic_type {
16         AMIC_TYPE_SINGLE_ENDED,
17         AMIC_TYPE_DIFFERENTIAL
18 };
19
20 /* Mic-biases */
21 enum amic_micbias {
22         AMIC_MICBIAS_VAMIC1,
23         AMIC_MICBIAS_VAMIC2,
24         AMIC_MICBIAS_UNKNOWN
25 };
26
27 /* Bias-voltage */
28 enum ear_cm_voltage {
29         EAR_CMV_0_95V,
30         EAR_CMV_1_10V,
31         EAR_CMV_1_27V,
32         EAR_CMV_1_58V,
33         EAR_CMV_UNKNOWN
34 };
35
36 /* Analog microphone settings */
37 struct amic_settings {
38         enum amic_type mic1_type;
39         enum amic_type mic2_type;
40         enum amic_micbias mic1a_micbias;
41         enum amic_micbias mic1b_micbias;
42         enum amic_micbias mic2_micbias;
43 };
44
45 /* Platform data structure for the audio-parts of the AB8500 */
46 struct ab8500_codec_platform_data {
47         struct amic_settings amics;
48         enum ear_cm_voltage ear_cmv;
49 };
50
51 #endif