| b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame] | 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__ */ |