xref: /openbmc/linux/sound/soc/codecs/twl6040.h (revision 2b27bdcc)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * ALSA SoC TWL6040 codec driver
4  *
5  * Author:	Misael Lopez Cruz <x0052729@ti.com>
6  */
7 
8 #ifndef __TWL6040_H__
9 #define __TWL6040_H__
10 
11 enum twl6040_trim {
12 	TWL6040_TRIM_TRIM1 = 0,
13 	TWL6040_TRIM_TRIM2,
14 	TWL6040_TRIM_TRIM3,
15 	TWL6040_TRIM_HSOTRIM,
16 	TWL6040_TRIM_HFOTRIM,
17 	TWL6040_TRIM_INVAL,
18 };
19 
20 #define TWL6040_HSF_TRIM_LEFT(x)	(x & 0x0f)
21 #define TWL6040_HSF_TRIM_RIGHT(x)	((x >> 4) & 0x0f)
22 
23 int twl6040_get_dl1_gain(struct snd_soc_component *component);
24 void twl6040_hs_jack_detect(struct snd_soc_component *component,
25 			    struct snd_soc_jack *jack, int report);
26 int twl6040_get_clk_id(struct snd_soc_component *component);
27 int twl6040_get_trim_value(struct snd_soc_component *component, enum twl6040_trim trim);
28 int twl6040_get_hs_step_size(struct snd_soc_component *component);
29 
30 #endif /* End of __TWL6040_H__ */
31