1 /* 2 * ALSA SoC TWL6040 codec driver 3 * 4 * Author: Misael Lopez Cruz <x0052729@ti.com> 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License 8 * version 2 as published by the Free Software Foundation. 9 * 10 * This program is distributed in the hope that it will be useful, but 11 * WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 * General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 18 * 02110-1301 USA 19 * 20 */ 21 22 #ifndef __TWL6040_H__ 23 #define __TWL6040_H__ 24 25 enum twl6040_trim { 26 TWL6040_TRIM_TRIM1 = 0, 27 TWL6040_TRIM_TRIM2, 28 TWL6040_TRIM_TRIM3, 29 TWL6040_TRIM_HSOTRIM, 30 TWL6040_TRIM_HFOTRIM, 31 TWL6040_TRIM_INVAL, 32 }; 33 34 #define TWL6040_HSF_TRIM_LEFT(x) (x & 0x0f) 35 #define TWL6040_HSF_TRIM_RIGHT(x) ((x >> 4) & 0x0f) 36 37 int twl6040_get_dl1_gain(struct snd_soc_codec *codec); 38 void twl6040_hs_jack_detect(struct snd_soc_codec *codec, 39 struct snd_soc_jack *jack, int report); 40 int twl6040_get_clk_id(struct snd_soc_codec *codec); 41 int twl6040_get_trim_value(struct snd_soc_codec *codec, enum twl6040_trim trim); 42 int twl6040_get_hs_step_size(struct snd_soc_codec *codec); 43 44 #endif /* End of __TWL6040_H__ */ 45