162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * da7219-aad.h - DA7322 ASoC Codec AAD Driver Platform Data
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (c) 2015 Dialog Semiconductor Ltd.
662306a36Sopenharmony_ci *
762306a36Sopenharmony_ci * Author: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
862306a36Sopenharmony_ci */
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci#ifndef __DA7219_AAD_PDATA_H
1162306a36Sopenharmony_ci#define __DA7219_AAD_PDATA_H
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_cienum da7219_aad_micbias_pulse_lvl {
1462306a36Sopenharmony_ci	DA7219_AAD_MICBIAS_PULSE_LVL_OFF = 0,
1562306a36Sopenharmony_ci	DA7219_AAD_MICBIAS_PULSE_LVL_2_8V = 6,
1662306a36Sopenharmony_ci	DA7219_AAD_MICBIAS_PULSE_LVL_2_9V,
1762306a36Sopenharmony_ci};
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_cienum da7219_aad_btn_cfg {
2062306a36Sopenharmony_ci	DA7219_AAD_BTN_CFG_2MS = 1,
2162306a36Sopenharmony_ci	DA7219_AAD_BTN_CFG_5MS,
2262306a36Sopenharmony_ci	DA7219_AAD_BTN_CFG_10MS,
2362306a36Sopenharmony_ci	DA7219_AAD_BTN_CFG_50MS,
2462306a36Sopenharmony_ci	DA7219_AAD_BTN_CFG_100MS,
2562306a36Sopenharmony_ci	DA7219_AAD_BTN_CFG_200MS,
2662306a36Sopenharmony_ci	DA7219_AAD_BTN_CFG_500MS,
2762306a36Sopenharmony_ci};
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_cienum da7219_aad_mic_det_thr {
3062306a36Sopenharmony_ci	DA7219_AAD_MIC_DET_THR_200_OHMS = 0,
3162306a36Sopenharmony_ci	DA7219_AAD_MIC_DET_THR_500_OHMS,
3262306a36Sopenharmony_ci	DA7219_AAD_MIC_DET_THR_750_OHMS,
3362306a36Sopenharmony_ci	DA7219_AAD_MIC_DET_THR_1000_OHMS,
3462306a36Sopenharmony_ci};
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_cienum da7219_aad_jack_ins_deb {
3762306a36Sopenharmony_ci	DA7219_AAD_JACK_INS_DEB_5MS = 0,
3862306a36Sopenharmony_ci	DA7219_AAD_JACK_INS_DEB_10MS,
3962306a36Sopenharmony_ci	DA7219_AAD_JACK_INS_DEB_20MS,
4062306a36Sopenharmony_ci	DA7219_AAD_JACK_INS_DEB_50MS,
4162306a36Sopenharmony_ci	DA7219_AAD_JACK_INS_DEB_100MS,
4262306a36Sopenharmony_ci	DA7219_AAD_JACK_INS_DEB_200MS,
4362306a36Sopenharmony_ci	DA7219_AAD_JACK_INS_DEB_500MS,
4462306a36Sopenharmony_ci	DA7219_AAD_JACK_INS_DEB_1S,
4562306a36Sopenharmony_ci};
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_cienum da7219_aad_jack_ins_det_pty {
4862306a36Sopenharmony_ci	DA7219_AAD_JACK_INS_DET_PTY_LOW = 0,
4962306a36Sopenharmony_ci	DA7219_AAD_JACK_INS_DET_PTY_HIGH,
5062306a36Sopenharmony_ci};
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_cienum da7219_aad_jack_det_rate {
5362306a36Sopenharmony_ci	DA7219_AAD_JACK_DET_RATE_32_64MS = 0,
5462306a36Sopenharmony_ci	DA7219_AAD_JACK_DET_RATE_64_128MS,
5562306a36Sopenharmony_ci	DA7219_AAD_JACK_DET_RATE_128_256MS,
5662306a36Sopenharmony_ci	DA7219_AAD_JACK_DET_RATE_256_512MS,
5762306a36Sopenharmony_ci};
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_cienum da7219_aad_jack_rem_deb {
6062306a36Sopenharmony_ci	DA7219_AAD_JACK_REM_DEB_1MS = 0,
6162306a36Sopenharmony_ci	DA7219_AAD_JACK_REM_DEB_5MS,
6262306a36Sopenharmony_ci	DA7219_AAD_JACK_REM_DEB_10MS,
6362306a36Sopenharmony_ci	DA7219_AAD_JACK_REM_DEB_20MS,
6462306a36Sopenharmony_ci};
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_cienum da7219_aad_btn_avg {
6762306a36Sopenharmony_ci	DA7219_AAD_BTN_AVG_1 = 0,
6862306a36Sopenharmony_ci	DA7219_AAD_BTN_AVG_2,
6962306a36Sopenharmony_ci	DA7219_AAD_BTN_AVG_4,
7062306a36Sopenharmony_ci	DA7219_AAD_BTN_AVG_8,
7162306a36Sopenharmony_ci};
7262306a36Sopenharmony_ci
7362306a36Sopenharmony_cienum da7219_aad_adc_1bit_rpt {
7462306a36Sopenharmony_ci	DA7219_AAD_ADC_1BIT_RPT_1 = 0,
7562306a36Sopenharmony_ci	DA7219_AAD_ADC_1BIT_RPT_2,
7662306a36Sopenharmony_ci	DA7219_AAD_ADC_1BIT_RPT_4,
7762306a36Sopenharmony_ci	DA7219_AAD_ADC_1BIT_RPT_8,
7862306a36Sopenharmony_ci};
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_cistruct da7219_aad_pdata {
8162306a36Sopenharmony_ci	int irq;
8262306a36Sopenharmony_ci
8362306a36Sopenharmony_ci	enum da7219_aad_micbias_pulse_lvl micbias_pulse_lvl;
8462306a36Sopenharmony_ci	u32 micbias_pulse_time;
8562306a36Sopenharmony_ci	enum da7219_aad_btn_cfg btn_cfg;
8662306a36Sopenharmony_ci	enum da7219_aad_mic_det_thr mic_det_thr;
8762306a36Sopenharmony_ci	enum da7219_aad_jack_ins_deb jack_ins_deb;
8862306a36Sopenharmony_ci	enum da7219_aad_jack_ins_det_pty jack_ins_det_pty;
8962306a36Sopenharmony_ci	enum da7219_aad_jack_det_rate jack_det_rate;
9062306a36Sopenharmony_ci	enum da7219_aad_jack_rem_deb jack_rem_deb;
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ci	u8 a_d_btn_thr;
9362306a36Sopenharmony_ci	u8 d_b_btn_thr;
9462306a36Sopenharmony_ci	u8 b_c_btn_thr;
9562306a36Sopenharmony_ci	u8 c_mic_btn_thr;
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ci	enum da7219_aad_btn_avg btn_avg;
9862306a36Sopenharmony_ci	enum da7219_aad_adc_1bit_rpt adc_1bit_rpt;
9962306a36Sopenharmony_ci};
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ci#endif /* __DA7219_AAD_PDATA_H */
102