Commit db4aabcc authored by Peter Ujfalusi's avatar Peter Ujfalusi Committed by Mark Brown

ASoC: twl6040: Function to fetch the TRIM values

Provide API to fetch the TRIM values (for machine drivers)
Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent f97217f1
...@@ -1072,6 +1072,15 @@ int twl6040_get_clk_id(struct snd_soc_codec *codec) ...@@ -1072,6 +1072,15 @@ int twl6040_get_clk_id(struct snd_soc_codec *codec)
} }
EXPORT_SYMBOL_GPL(twl6040_get_clk_id); EXPORT_SYMBOL_GPL(twl6040_get_clk_id);
int twl6040_get_trim_value(struct snd_soc_codec *codec, enum twl6040_trim trim)
{
if (unlikely(trim >= TWL6040_TRIM_INVAL))
return -EINVAL;
return twl6040_read_reg_cache(codec, TWL6040_REG_TRIM1 + trim);
}
EXPORT_SYMBOL_GPL(twl6040_get_trim_value);
static const struct snd_kcontrol_new twl6040_snd_controls[] = { static const struct snd_kcontrol_new twl6040_snd_controls[] = {
/* Capture gains */ /* Capture gains */
SOC_DOUBLE_TLV("Capture Preamplifier Volume", SOC_DOUBLE_TLV("Capture Preamplifier Volume",
......
...@@ -22,8 +22,21 @@ ...@@ -22,8 +22,21 @@
#ifndef __TWL6040_H__ #ifndef __TWL6040_H__
#define __TWL6040_H__ #define __TWL6040_H__
enum twl6040_trim {
TWL6040_TRIM_TRIM1 = 0,
TWL6040_TRIM_TRIM2,
TWL6040_TRIM_TRIM3,
TWL6040_TRIM_HSOTRIM,
TWL6040_TRIM_HFOTRIM,
TWL6040_TRIM_INVAL,
};
#define TWL6040_HSF_TRIM_LEFT(x) (x & 0x0f)
#define TWL6040_HSF_TRIM_RIGHT(x) ((x >> 4) & 0x0f)
void twl6040_hs_jack_detect(struct snd_soc_codec *codec, void twl6040_hs_jack_detect(struct snd_soc_codec *codec,
struct snd_soc_jack *jack, int report); struct snd_soc_jack *jack, int report);
int twl6040_get_clk_id(struct snd_soc_codec *codec); int twl6040_get_clk_id(struct snd_soc_codec *codec);
int twl6040_get_trim_value(struct snd_soc_codec *codec, enum twl6040_trim trim);
#endif /* End of __TWL6040_H__ */ #endif /* End of __TWL6040_H__ */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment