0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef _DA7218_PDATA_H
0011 #define _DA7218_PDATA_H
0012
0013
0014 enum da7218_micbias_voltage {
0015 DA7218_MICBIAS_1_2V = -1,
0016 DA7218_MICBIAS_1_6V,
0017 DA7218_MICBIAS_1_8V,
0018 DA7218_MICBIAS_2_0V,
0019 DA7218_MICBIAS_2_2V,
0020 DA7218_MICBIAS_2_4V,
0021 DA7218_MICBIAS_2_6V,
0022 DA7218_MICBIAS_2_8V,
0023 DA7218_MICBIAS_3_0V,
0024 };
0025
0026 enum da7218_mic_amp_in_sel {
0027 DA7218_MIC_AMP_IN_SEL_DIFF = 0,
0028 DA7218_MIC_AMP_IN_SEL_SE_P,
0029 DA7218_MIC_AMP_IN_SEL_SE_N,
0030 };
0031
0032
0033 enum da7218_dmic_data_sel {
0034 DA7218_DMIC_DATA_LRISE_RFALL = 0,
0035 DA7218_DMIC_DATA_LFALL_RRISE,
0036 };
0037
0038 enum da7218_dmic_samplephase {
0039 DA7218_DMIC_SAMPLE_ON_CLKEDGE = 0,
0040 DA7218_DMIC_SAMPLE_BETWEEN_CLKEDGE,
0041 };
0042
0043 enum da7218_dmic_clk_rate {
0044 DA7218_DMIC_CLK_3_0MHZ = 0,
0045 DA7218_DMIC_CLK_1_5MHZ,
0046 };
0047
0048
0049 enum da7218_hpldet_jack_rate {
0050 DA7218_HPLDET_JACK_RATE_5US = 0,
0051 DA7218_HPLDET_JACK_RATE_10US,
0052 DA7218_HPLDET_JACK_RATE_20US,
0053 DA7218_HPLDET_JACK_RATE_40US,
0054 DA7218_HPLDET_JACK_RATE_80US,
0055 DA7218_HPLDET_JACK_RATE_160US,
0056 DA7218_HPLDET_JACK_RATE_320US,
0057 DA7218_HPLDET_JACK_RATE_640US,
0058 };
0059
0060 enum da7218_hpldet_jack_debounce {
0061 DA7218_HPLDET_JACK_DEBOUNCE_OFF = 0,
0062 DA7218_HPLDET_JACK_DEBOUNCE_2,
0063 DA7218_HPLDET_JACK_DEBOUNCE_3,
0064 DA7218_HPLDET_JACK_DEBOUNCE_4,
0065 };
0066
0067 enum da7218_hpldet_jack_thr {
0068 DA7218_HPLDET_JACK_THR_84PCT = 0,
0069 DA7218_HPLDET_JACK_THR_88PCT,
0070 DA7218_HPLDET_JACK_THR_92PCT,
0071 DA7218_HPLDET_JACK_THR_96PCT,
0072 };
0073
0074 struct da7218_hpldet_pdata {
0075 enum da7218_hpldet_jack_rate jack_rate;
0076 enum da7218_hpldet_jack_debounce jack_debounce;
0077 enum da7218_hpldet_jack_thr jack_thr;
0078 bool comp_inv;
0079 bool hyst;
0080 bool discharge;
0081 };
0082
0083 struct da7218_pdata {
0084
0085 enum da7218_micbias_voltage micbias1_lvl;
0086 enum da7218_micbias_voltage micbias2_lvl;
0087 enum da7218_mic_amp_in_sel mic1_amp_in_sel;
0088 enum da7218_mic_amp_in_sel mic2_amp_in_sel;
0089
0090
0091 enum da7218_dmic_data_sel dmic1_data_sel;
0092 enum da7218_dmic_data_sel dmic2_data_sel;
0093 enum da7218_dmic_samplephase dmic1_samplephase;
0094 enum da7218_dmic_samplephase dmic2_samplephase;
0095 enum da7218_dmic_clk_rate dmic1_clk_rate;
0096 enum da7218_dmic_clk_rate dmic2_clk_rate;
0097
0098
0099 bool hp_diff_single_supply;
0100
0101
0102 struct da7218_hpldet_pdata *hpldet_pdata;
0103 };
0104
0105 #endif