diff options
Diffstat (limited to 'include/linux/mfd')
| -rw-r--r-- | include/linux/mfd/abx500/ab8500-codec.h | 52 | ||||
| -rw-r--r-- | include/linux/mfd/abx500/ab8500.h | 2 | 
2 files changed, 54 insertions, 0 deletions
diff --git a/include/linux/mfd/abx500/ab8500-codec.h b/include/linux/mfd/abx500/ab8500-codec.h new file mode 100644 index 00000000000..dc6529202cd --- /dev/null +++ b/include/linux/mfd/abx500/ab8500-codec.h @@ -0,0 +1,52 @@ +/* + * Copyright (C) ST-Ericsson SA 2012 + * + * Author: Ola Lilja <ola.o.lilja@stericsson.com> + *         for ST-Ericsson. + * + * License terms: + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 as published + * by the Free Software Foundation. + */ + +#ifndef AB8500_CORE_CODEC_H +#define AB8500_CORE_CODEC_H + +/* Mic-types */ +enum amic_type { +	AMIC_TYPE_SINGLE_ENDED, +	AMIC_TYPE_DIFFERENTIAL +}; + +/* Mic-biases */ +enum amic_micbias { +	AMIC_MICBIAS_VAMIC1, +	AMIC_MICBIAS_VAMIC2 +}; + +/* Bias-voltage */ +enum ear_cm_voltage { +	EAR_CMV_0_95V, +	EAR_CMV_1_10V, +	EAR_CMV_1_27V, +	EAR_CMV_1_58V +}; + +/* Analog microphone settings */ +struct amic_settings { +	enum amic_type mic1_type; +	enum amic_type mic2_type; +	enum amic_micbias mic1a_micbias; +	enum amic_micbias mic1b_micbias; +	enum amic_micbias mic2_micbias; +}; + +/* Platform data structure for the audio-parts of the AB8500 */ +struct ab8500_codec_platform_data { +	struct amic_settings amics; +	enum ear_cm_voltage ear_cmv; +}; + +#endif diff --git a/include/linux/mfd/abx500/ab8500.h b/include/linux/mfd/abx500/ab8500.h index 91dd3ef63e9..bc9b84b60ec 100644 --- a/include/linux/mfd/abx500/ab8500.h +++ b/include/linux/mfd/abx500/ab8500.h @@ -266,6 +266,7 @@ struct ab8500 {  struct regulator_reg_init;  struct regulator_init_data;  struct ab8500_gpio_platform_data; +struct ab8500_codec_platform_data;  /**   * struct ab8500_platform_data - AB8500 platform data @@ -284,6 +285,7 @@ struct ab8500_platform_data {  	int num_regulator;  	struct regulator_init_data *regulator;  	struct ab8500_gpio_platform_data *gpio; +	struct ab8500_codec_platform_data *codec;  };  extern int __devinit ab8500_init(struct ab8500 *ab8500,  |