xref: /openbmc/linux/include/sound/da7213.h (revision ef5c2eba)
1ef5c2ebaSAdam Thomson /*
2ef5c2ebaSAdam Thomson  * da7213.h - DA7213 ASoC Codec Driver Platform Data
3ef5c2ebaSAdam Thomson  *
4ef5c2ebaSAdam Thomson  * Copyright (c) 2013 Dialog Semiconductor
5ef5c2ebaSAdam Thomson  *
6ef5c2ebaSAdam Thomson  * Author: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
7ef5c2ebaSAdam Thomson  *
8ef5c2ebaSAdam Thomson  * This program is free software; you can redistribute it and/or modify
9ef5c2ebaSAdam Thomson  * it under the terms of the GNU General Public License version 2 as
10ef5c2ebaSAdam Thomson  * published by the Free Software Foundation.
11ef5c2ebaSAdam Thomson  */
12ef5c2ebaSAdam Thomson 
13ef5c2ebaSAdam Thomson #ifndef _DA7213_PDATA_H
14ef5c2ebaSAdam Thomson #define _DA7213_PDATA_H
15ef5c2ebaSAdam Thomson 
16ef5c2ebaSAdam Thomson enum da7213_micbias_voltage {
17ef5c2ebaSAdam Thomson 	DA7213_MICBIAS_1_6V = 0,
18ef5c2ebaSAdam Thomson 	DA7213_MICBIAS_2_2V = 1,
19ef5c2ebaSAdam Thomson 	DA7213_MICBIAS_2_5V = 2,
20ef5c2ebaSAdam Thomson 	DA7213_MICBIAS_3_0V = 3,
21ef5c2ebaSAdam Thomson };
22ef5c2ebaSAdam Thomson 
23ef5c2ebaSAdam Thomson enum da7213_dmic_data_sel {
24ef5c2ebaSAdam Thomson 	DA7213_DMIC_DATA_LRISE_RFALL = 0,
25ef5c2ebaSAdam Thomson 	DA7213_DMIC_DATA_LFALL_RRISE = 1,
26ef5c2ebaSAdam Thomson };
27ef5c2ebaSAdam Thomson 
28ef5c2ebaSAdam Thomson enum da7213_dmic_samplephase {
29ef5c2ebaSAdam Thomson 	DA7213_DMIC_SAMPLE_ON_CLKEDGE = 0,
30ef5c2ebaSAdam Thomson 	DA7213_DMIC_SAMPLE_BETWEEN_CLKEDGE = 1,
31ef5c2ebaSAdam Thomson };
32ef5c2ebaSAdam Thomson 
33ef5c2ebaSAdam Thomson enum da7213_dmic_clk_rate {
34ef5c2ebaSAdam Thomson 	DA7213_DMIC_CLK_3_0MHZ = 0,
35ef5c2ebaSAdam Thomson 	DA7213_DMIC_CLK_1_5MHZ = 1,
36ef5c2ebaSAdam Thomson };
37ef5c2ebaSAdam Thomson 
38ef5c2ebaSAdam Thomson struct da7213_platform_data {
39ef5c2ebaSAdam Thomson 	/* Mic Bias voltage */
40ef5c2ebaSAdam Thomson 	enum da7213_micbias_voltage micbias1_lvl;
41ef5c2ebaSAdam Thomson 	enum da7213_micbias_voltage micbias2_lvl;
42ef5c2ebaSAdam Thomson 
43ef5c2ebaSAdam Thomson 	/* DMIC config */
44ef5c2ebaSAdam Thomson 	enum da7213_dmic_data_sel dmic_data_sel;
45ef5c2ebaSAdam Thomson 	enum da7213_dmic_samplephase dmic_samplephase;
46ef5c2ebaSAdam Thomson 	enum da7213_dmic_clk_rate dmic_clk_rate;
47ef5c2ebaSAdam Thomson 
48ef5c2ebaSAdam Thomson 	/* MCLK squaring config */
49ef5c2ebaSAdam Thomson 	bool mclk_squaring;
50ef5c2ebaSAdam Thomson };
51ef5c2ebaSAdam Thomson 
52ef5c2ebaSAdam Thomson #endif /* _DA7213_PDATA_H */
53