xref: /linux/include/linux/mfd/abx500/ab8500-codec.h (revision 75bf465f0bc33e9b776a46d6a1b9b990f5fb7c37)
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
52