da7218.h (2468B)
1/* SPDX-License-Identifier: GPL-2.0-or-later */ 2/* 3 * da7218.h - DA7218 ASoC Codec Driver Platform Data 4 * 5 * Copyright (c) 2015 Dialog Semiconductor 6 * 7 * Author: Adam Thomson <Adam.Thomson.Opensource@diasemi.com> 8 */ 9 10#ifndef _DA7218_PDATA_H 11#define _DA7218_PDATA_H 12 13/* Mic Bias */ 14enum da7218_micbias_voltage { 15 DA7218_MICBIAS_1_2V = -1, 16 DA7218_MICBIAS_1_6V, 17 DA7218_MICBIAS_1_8V, 18 DA7218_MICBIAS_2_0V, 19 DA7218_MICBIAS_2_2V, 20 DA7218_MICBIAS_2_4V, 21 DA7218_MICBIAS_2_6V, 22 DA7218_MICBIAS_2_8V, 23 DA7218_MICBIAS_3_0V, 24}; 25 26enum da7218_mic_amp_in_sel { 27 DA7218_MIC_AMP_IN_SEL_DIFF = 0, 28 DA7218_MIC_AMP_IN_SEL_SE_P, 29 DA7218_MIC_AMP_IN_SEL_SE_N, 30}; 31 32/* DMIC */ 33enum da7218_dmic_data_sel { 34 DA7218_DMIC_DATA_LRISE_RFALL = 0, 35 DA7218_DMIC_DATA_LFALL_RRISE, 36}; 37 38enum da7218_dmic_samplephase { 39 DA7218_DMIC_SAMPLE_ON_CLKEDGE = 0, 40 DA7218_DMIC_SAMPLE_BETWEEN_CLKEDGE, 41}; 42 43enum da7218_dmic_clk_rate { 44 DA7218_DMIC_CLK_3_0MHZ = 0, 45 DA7218_DMIC_CLK_1_5MHZ, 46}; 47 48/* Headphone Detect */ 49enum da7218_hpldet_jack_rate { 50 DA7218_HPLDET_JACK_RATE_5US = 0, 51 DA7218_HPLDET_JACK_RATE_10US, 52 DA7218_HPLDET_JACK_RATE_20US, 53 DA7218_HPLDET_JACK_RATE_40US, 54 DA7218_HPLDET_JACK_RATE_80US, 55 DA7218_HPLDET_JACK_RATE_160US, 56 DA7218_HPLDET_JACK_RATE_320US, 57 DA7218_HPLDET_JACK_RATE_640US, 58}; 59 60enum da7218_hpldet_jack_debounce { 61 DA7218_HPLDET_JACK_DEBOUNCE_OFF = 0, 62 DA7218_HPLDET_JACK_DEBOUNCE_2, 63 DA7218_HPLDET_JACK_DEBOUNCE_3, 64 DA7218_HPLDET_JACK_DEBOUNCE_4, 65}; 66 67enum da7218_hpldet_jack_thr { 68 DA7218_HPLDET_JACK_THR_84PCT = 0, 69 DA7218_HPLDET_JACK_THR_88PCT, 70 DA7218_HPLDET_JACK_THR_92PCT, 71 DA7218_HPLDET_JACK_THR_96PCT, 72}; 73 74struct da7218_hpldet_pdata { 75 enum da7218_hpldet_jack_rate jack_rate; 76 enum da7218_hpldet_jack_debounce jack_debounce; 77 enum da7218_hpldet_jack_thr jack_thr; 78 bool comp_inv; 79 bool hyst; 80 bool discharge; 81}; 82 83struct da7218_pdata { 84 /* Mic */ 85 enum da7218_micbias_voltage micbias1_lvl; 86 enum da7218_micbias_voltage micbias2_lvl; 87 enum da7218_mic_amp_in_sel mic1_amp_in_sel; 88 enum da7218_mic_amp_in_sel mic2_amp_in_sel; 89 90 /* DMIC */ 91 enum da7218_dmic_data_sel dmic1_data_sel; 92 enum da7218_dmic_data_sel dmic2_data_sel; 93 enum da7218_dmic_samplephase dmic1_samplephase; 94 enum da7218_dmic_samplephase dmic2_samplephase; 95 enum da7218_dmic_clk_rate dmic1_clk_rate; 96 enum da7218_dmic_clk_rate dmic2_clk_rate; 97 98 /* HP Diff Supply - DA7217 only */ 99 bool hp_diff_single_supply; 100 101 /* HP Detect - DA7218 only */ 102 struct da7218_hpldet_pdata *hpldet_pdata; 103}; 104 105#endif /* _DA7218_PDATA_H */