blob: 24ee7baa2589b6fb3fc77d0caa7981625421277a [file] [log] [blame]
Thomas Gleixner2874c5f2019-05-27 08:55:01 +02001/* SPDX-License-Identifier: GPL-2.0-or-later */
Adam Thomson6d817c02015-09-29 16:44:01 +01002/*
3 * da7219-aad.h - DA7322 ASoC Codec AAD Driver Platform Data
4 *
5 * Copyright (c) 2015 Dialog Semiconductor Ltd.
6 *
7 * Author: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
Adam Thomson6d817c02015-09-29 16:44:01 +01008 */
9
10#ifndef __DA7219_AAD_PDATA_H
11#define __DA7219_AAD_PDATA_H
12
13enum da7219_aad_micbias_pulse_lvl {
14 DA7219_AAD_MICBIAS_PULSE_LVL_OFF = 0,
15 DA7219_AAD_MICBIAS_PULSE_LVL_2_8V = 6,
16 DA7219_AAD_MICBIAS_PULSE_LVL_2_9V,
17};
18
19enum da7219_aad_btn_cfg {
20 DA7219_AAD_BTN_CFG_2MS = 1,
21 DA7219_AAD_BTN_CFG_5MS,
22 DA7219_AAD_BTN_CFG_10MS,
23 DA7219_AAD_BTN_CFG_50MS,
24 DA7219_AAD_BTN_CFG_100MS,
25 DA7219_AAD_BTN_CFG_200MS,
26 DA7219_AAD_BTN_CFG_500MS,
27};
28
29enum da7219_aad_mic_det_thr {
30 DA7219_AAD_MIC_DET_THR_200_OHMS = 0,
31 DA7219_AAD_MIC_DET_THR_500_OHMS,
32 DA7219_AAD_MIC_DET_THR_750_OHMS,
33 DA7219_AAD_MIC_DET_THR_1000_OHMS,
34};
35
36enum da7219_aad_jack_ins_deb {
37 DA7219_AAD_JACK_INS_DEB_5MS = 0,
38 DA7219_AAD_JACK_INS_DEB_10MS,
39 DA7219_AAD_JACK_INS_DEB_20MS,
40 DA7219_AAD_JACK_INS_DEB_50MS,
41 DA7219_AAD_JACK_INS_DEB_100MS,
42 DA7219_AAD_JACK_INS_DEB_200MS,
43 DA7219_AAD_JACK_INS_DEB_500MS,
44 DA7219_AAD_JACK_INS_DEB_1S,
45};
46
47enum da7219_aad_jack_det_rate {
48 DA7219_AAD_JACK_DET_RATE_32_64MS = 0,
49 DA7219_AAD_JACK_DET_RATE_64_128MS,
50 DA7219_AAD_JACK_DET_RATE_128_256MS,
51 DA7219_AAD_JACK_DET_RATE_256_512MS,
52};
53
54enum da7219_aad_jack_rem_deb {
55 DA7219_AAD_JACK_REM_DEB_1MS = 0,
56 DA7219_AAD_JACK_REM_DEB_5MS,
57 DA7219_AAD_JACK_REM_DEB_10MS,
58 DA7219_AAD_JACK_REM_DEB_20MS,
59};
60
61enum da7219_aad_btn_avg {
62 DA7219_AAD_BTN_AVG_1 = 0,
63 DA7219_AAD_BTN_AVG_2,
64 DA7219_AAD_BTN_AVG_4,
65 DA7219_AAD_BTN_AVG_8,
66};
67
68enum da7219_aad_adc_1bit_rpt {
69 DA7219_AAD_ADC_1BIT_RPT_1 = 0,
70 DA7219_AAD_ADC_1BIT_RPT_2,
71 DA7219_AAD_ADC_1BIT_RPT_4,
72 DA7219_AAD_ADC_1BIT_RPT_8,
73};
74
75struct da7219_aad_pdata {
76 int irq;
77
78 enum da7219_aad_micbias_pulse_lvl micbias_pulse_lvl;
79 u32 micbias_pulse_time;
80 enum da7219_aad_btn_cfg btn_cfg;
81 enum da7219_aad_mic_det_thr mic_det_thr;
82 enum da7219_aad_jack_ins_deb jack_ins_deb;
83 enum da7219_aad_jack_det_rate jack_det_rate;
84 enum da7219_aad_jack_rem_deb jack_rem_deb;
85
86 u8 a_d_btn_thr;
87 u8 d_b_btn_thr;
88 u8 b_c_btn_thr;
89 u8 c_mic_btn_thr;
90
91 enum da7219_aad_btn_avg btn_avg;
92 enum da7219_aad_adc_1bit_rpt adc_1bit_rpt;
93};
94
95#endif /* __DA7219_AAD_PDATA_H */