Linux-libre 5.4.48-gnu
[librecmc/linux-libre.git] / sound / soc / codecs / twl6040.h
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__ */