···11+/*22+ * da7218.h - DA7218 ASoC Codec Driver Platform Data33+ *44+ * Copyright (c) 2015 Dialog Semiconductor55+ *66+ * Author: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>77+ *88+ * This program is free software; you can redistribute it and/or modify it99+ * under the terms of the GNU General Public License as published by the1010+ * Free Software Foundation; either version 2 of the License, or (at your1111+ * option) any later version.1212+ */1313+1414+#ifndef _DA7218_PDATA_H1515+#define _DA7218_PDATA_H1616+1717+/* Mic Bias */1818+enum da7218_micbias_voltage {1919+ DA7218_MICBIAS_1_2V = -1,2020+ DA7218_MICBIAS_1_6V,2121+ DA7218_MICBIAS_1_8V,2222+ DA7218_MICBIAS_2_0V,2323+ DA7218_MICBIAS_2_2V,2424+ DA7218_MICBIAS_2_4V,2525+ DA7218_MICBIAS_2_6V,2626+ DA7218_MICBIAS_2_8V,2727+ DA7218_MICBIAS_3_0V,2828+};2929+3030+enum da7218_mic_amp_in_sel {3131+ DA7218_MIC_AMP_IN_SEL_DIFF = 0,3232+ DA7218_MIC_AMP_IN_SEL_SE_P,3333+ DA7218_MIC_AMP_IN_SEL_SE_N,3434+};3535+3636+/* DMIC */3737+enum da7218_dmic_data_sel {3838+ DA7218_DMIC_DATA_LRISE_RFALL = 0,3939+ DA7218_DMIC_DATA_LFALL_RRISE,4040+};4141+4242+enum da7218_dmic_samplephase {4343+ DA7218_DMIC_SAMPLE_ON_CLKEDGE = 0,4444+ DA7218_DMIC_SAMPLE_BETWEEN_CLKEDGE,4545+};4646+4747+enum da7218_dmic_clk_rate {4848+ DA7218_DMIC_CLK_3_0MHZ = 0,4949+ DA7218_DMIC_CLK_1_5MHZ,5050+};5151+5252+/* Headphone Detect */5353+enum da7218_hpldet_jack_rate {5454+ DA7218_HPLDET_JACK_RATE_5US = 0,5555+ DA7218_HPLDET_JACK_RATE_10US,5656+ DA7218_HPLDET_JACK_RATE_20US,5757+ DA7218_HPLDET_JACK_RATE_40US,5858+ DA7218_HPLDET_JACK_RATE_80US,5959+ DA7218_HPLDET_JACK_RATE_160US,6060+ DA7218_HPLDET_JACK_RATE_320US,6161+ DA7218_HPLDET_JACK_RATE_640US,6262+};6363+6464+enum da7218_hpldet_jack_debounce {6565+ DA7218_HPLDET_JACK_DEBOUNCE_OFF = 0,6666+ DA7218_HPLDET_JACK_DEBOUNCE_2,6767+ DA7218_HPLDET_JACK_DEBOUNCE_3,6868+ DA7218_HPLDET_JACK_DEBOUNCE_4,6969+};7070+7171+enum da7218_hpldet_jack_thr {7272+ DA7218_HPLDET_JACK_THR_84PCT = 0,7373+ DA7218_HPLDET_JACK_THR_88PCT,7474+ DA7218_HPLDET_JACK_THR_92PCT,7575+ DA7218_HPLDET_JACK_THR_96PCT,7676+};7777+7878+struct da7218_hpldet_pdata {7979+ enum da7218_hpldet_jack_rate jack_rate;8080+ enum da7218_hpldet_jack_debounce jack_debounce;8181+ enum da7218_hpldet_jack_thr jack_thr;8282+ bool comp_inv;8383+ bool hyst;8484+ bool discharge;8585+};8686+8787+struct da7218_pdata {8888+ /* Mic */8989+ enum da7218_micbias_voltage micbias1_lvl;9090+ enum da7218_micbias_voltage micbias2_lvl;9191+ enum da7218_mic_amp_in_sel mic1_amp_in_sel;9292+ enum da7218_mic_amp_in_sel mic2_amp_in_sel;9393+9494+ /* DMIC */9595+ enum da7218_dmic_data_sel dmic1_data_sel;9696+ enum da7218_dmic_data_sel dmic2_data_sel;9797+ enum da7218_dmic_samplephase dmic1_samplephase;9898+ enum da7218_dmic_samplephase dmic2_samplephase;9999+ enum da7218_dmic_clk_rate dmic1_clk_rate;100100+ enum da7218_dmic_clk_rate dmic2_clk_rate;101101+102102+ /* HP Diff Supply - DA7217 only */103103+ bool hp_diff_single_supply;104104+105105+ /* HP Detect - DA7218 only */106106+ struct da7218_hpldet_pdata *hpldet_pdata;107107+};108108+109109+#endif /* _DA7218_PDATA_H */
+4
sound/soc/codecs/Kconfig
···5858 select SND_SOC_CX20442 if TTY5959 select SND_SOC_DA7210 if SND_SOC_I2C_AND_SPI6060 select SND_SOC_DA7213 if I2C6161+ select SND_SOC_DA7218 if I2C6162 select SND_SOC_DA7219 if I2C6263 select SND_SOC_DA732X if I2C6364 select SND_SOC_DA9055 if I2C···439438440439config SND_SOC_DA7213441440 tristate441441+442442+config SND_SOC_DA7218443443+ tristate442444443445config SND_SOC_DA7219444446 tristate