18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * da7219-aad.h - DA7322 ASoC Codec AAD Driver Platform Data
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * Copyright (c) 2015 Dialog Semiconductor Ltd.
68c2ecf20Sopenharmony_ci *
78c2ecf20Sopenharmony_ci * Author: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
88c2ecf20Sopenharmony_ci */
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ci#ifndef __DA7219_AAD_PDATA_H
118c2ecf20Sopenharmony_ci#define __DA7219_AAD_PDATA_H
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_cienum da7219_aad_micbias_pulse_lvl {
148c2ecf20Sopenharmony_ci	DA7219_AAD_MICBIAS_PULSE_LVL_OFF = 0,
158c2ecf20Sopenharmony_ci	DA7219_AAD_MICBIAS_PULSE_LVL_2_8V = 6,
168c2ecf20Sopenharmony_ci	DA7219_AAD_MICBIAS_PULSE_LVL_2_9V,
178c2ecf20Sopenharmony_ci};
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_cienum da7219_aad_btn_cfg {
208c2ecf20Sopenharmony_ci	DA7219_AAD_BTN_CFG_2MS = 1,
218c2ecf20Sopenharmony_ci	DA7219_AAD_BTN_CFG_5MS,
228c2ecf20Sopenharmony_ci	DA7219_AAD_BTN_CFG_10MS,
238c2ecf20Sopenharmony_ci	DA7219_AAD_BTN_CFG_50MS,
248c2ecf20Sopenharmony_ci	DA7219_AAD_BTN_CFG_100MS,
258c2ecf20Sopenharmony_ci	DA7219_AAD_BTN_CFG_200MS,
268c2ecf20Sopenharmony_ci	DA7219_AAD_BTN_CFG_500MS,
278c2ecf20Sopenharmony_ci};
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_cienum da7219_aad_mic_det_thr {
308c2ecf20Sopenharmony_ci	DA7219_AAD_MIC_DET_THR_200_OHMS = 0,
318c2ecf20Sopenharmony_ci	DA7219_AAD_MIC_DET_THR_500_OHMS,
328c2ecf20Sopenharmony_ci	DA7219_AAD_MIC_DET_THR_750_OHMS,
338c2ecf20Sopenharmony_ci	DA7219_AAD_MIC_DET_THR_1000_OHMS,
348c2ecf20Sopenharmony_ci};
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_cienum da7219_aad_jack_ins_deb {
378c2ecf20Sopenharmony_ci	DA7219_AAD_JACK_INS_DEB_5MS = 0,
388c2ecf20Sopenharmony_ci	DA7219_AAD_JACK_INS_DEB_10MS,
398c2ecf20Sopenharmony_ci	DA7219_AAD_JACK_INS_DEB_20MS,
408c2ecf20Sopenharmony_ci	DA7219_AAD_JACK_INS_DEB_50MS,
418c2ecf20Sopenharmony_ci	DA7219_AAD_JACK_INS_DEB_100MS,
428c2ecf20Sopenharmony_ci	DA7219_AAD_JACK_INS_DEB_200MS,
438c2ecf20Sopenharmony_ci	DA7219_AAD_JACK_INS_DEB_500MS,
448c2ecf20Sopenharmony_ci	DA7219_AAD_JACK_INS_DEB_1S,
458c2ecf20Sopenharmony_ci};
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_cienum da7219_aad_jack_det_rate {
488c2ecf20Sopenharmony_ci	DA7219_AAD_JACK_DET_RATE_32_64MS = 0,
498c2ecf20Sopenharmony_ci	DA7219_AAD_JACK_DET_RATE_64_128MS,
508c2ecf20Sopenharmony_ci	DA7219_AAD_JACK_DET_RATE_128_256MS,
518c2ecf20Sopenharmony_ci	DA7219_AAD_JACK_DET_RATE_256_512MS,
528c2ecf20Sopenharmony_ci};
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_cienum da7219_aad_jack_rem_deb {
558c2ecf20Sopenharmony_ci	DA7219_AAD_JACK_REM_DEB_1MS = 0,
568c2ecf20Sopenharmony_ci	DA7219_AAD_JACK_REM_DEB_5MS,
578c2ecf20Sopenharmony_ci	DA7219_AAD_JACK_REM_DEB_10MS,
588c2ecf20Sopenharmony_ci	DA7219_AAD_JACK_REM_DEB_20MS,
598c2ecf20Sopenharmony_ci};
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_cienum da7219_aad_btn_avg {
628c2ecf20Sopenharmony_ci	DA7219_AAD_BTN_AVG_1 = 0,
638c2ecf20Sopenharmony_ci	DA7219_AAD_BTN_AVG_2,
648c2ecf20Sopenharmony_ci	DA7219_AAD_BTN_AVG_4,
658c2ecf20Sopenharmony_ci	DA7219_AAD_BTN_AVG_8,
668c2ecf20Sopenharmony_ci};
678c2ecf20Sopenharmony_ci
688c2ecf20Sopenharmony_cienum da7219_aad_adc_1bit_rpt {
698c2ecf20Sopenharmony_ci	DA7219_AAD_ADC_1BIT_RPT_1 = 0,
708c2ecf20Sopenharmony_ci	DA7219_AAD_ADC_1BIT_RPT_2,
718c2ecf20Sopenharmony_ci	DA7219_AAD_ADC_1BIT_RPT_4,
728c2ecf20Sopenharmony_ci	DA7219_AAD_ADC_1BIT_RPT_8,
738c2ecf20Sopenharmony_ci};
748c2ecf20Sopenharmony_ci
758c2ecf20Sopenharmony_cistruct da7219_aad_pdata {
768c2ecf20Sopenharmony_ci	int irq;
778c2ecf20Sopenharmony_ci
788c2ecf20Sopenharmony_ci	enum da7219_aad_micbias_pulse_lvl micbias_pulse_lvl;
798c2ecf20Sopenharmony_ci	u32 micbias_pulse_time;
808c2ecf20Sopenharmony_ci	enum da7219_aad_btn_cfg btn_cfg;
818c2ecf20Sopenharmony_ci	enum da7219_aad_mic_det_thr mic_det_thr;
828c2ecf20Sopenharmony_ci	enum da7219_aad_jack_ins_deb jack_ins_deb;
838c2ecf20Sopenharmony_ci	enum da7219_aad_jack_det_rate jack_det_rate;
848c2ecf20Sopenharmony_ci	enum da7219_aad_jack_rem_deb jack_rem_deb;
858c2ecf20Sopenharmony_ci
868c2ecf20Sopenharmony_ci	u8 a_d_btn_thr;
878c2ecf20Sopenharmony_ci	u8 d_b_btn_thr;
888c2ecf20Sopenharmony_ci	u8 b_c_btn_thr;
898c2ecf20Sopenharmony_ci	u8 c_mic_btn_thr;
908c2ecf20Sopenharmony_ci
918c2ecf20Sopenharmony_ci	enum da7219_aad_btn_avg btn_avg;
928c2ecf20Sopenharmony_ci	enum da7219_aad_adc_1bit_rpt adc_1bit_rpt;
938c2ecf20Sopenharmony_ci};
948c2ecf20Sopenharmony_ci
958c2ecf20Sopenharmony_ci#endif /* __DA7219_AAD_PDATA_H */
96