aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/tlv320aic3x.h
diff options
context:
space:
mode:
authorDaniel Mack <daniel@caiaq.de>2008-04-30 16:20:19 +0200
committerJaroslav Kysela <perex@perex.cz>2008-05-19 13:19:13 +0200
commit4f9c16ccfa26691dbb9a5d9e7d5098eb934ccdbe (patch)
tree9d1d3124b3b6d9d8dd474d3642b492dc16403113 /sound/soc/codecs/tlv320aic3x.h
parentbce7f793daec3e65ec5c5705d2457b81fe7b5725 (diff)
downloadkernel_samsung_smdk4412-4f9c16ccfa26691dbb9a5d9e7d5098eb934ccdbe.zip
kernel_samsung_smdk4412-4f9c16ccfa26691dbb9a5d9e7d5098eb934ccdbe.tar.gz
kernel_samsung_smdk4412-4f9c16ccfa26691dbb9a5d9e7d5098eb934ccdbe.tar.bz2
[ALSA] soc - tlv320aic3x - revisit clock setup
This patch cleans up the clocking setup for aic3x codecs. It drops the dividers table and determines the PLL control values programatically. Under certain conditions, the PLL is disabled entirely which could save some power. Signed-off-by: Daniel Mack <daniel@caiaq.de> Acked-by: Jarkko Nikula <jarkko.nikula@nokia.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Diffstat (limited to 'sound/soc/codecs/tlv320aic3x.h')
-rw-r--r--sound/soc/codecs/tlv320aic3x.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/soc/codecs/tlv320aic3x.h b/sound/soc/codecs/tlv320aic3x.h
index d0cdeeb..d49d001 100644
--- a/sound/soc/codecs/tlv320aic3x.h
+++ b/sound/soc/codecs/tlv320aic3x.h
@@ -109,6 +109,7 @@
#define LLOPM_CTRL 86
#define RLOPM_CTRL 93
/* Clock generation control register */
+#define AIC3X_GPIOB_REG 101
#define AIC3X_CLKGEN_CTRL_REG 102
/* Page select register bits */
@@ -128,12 +129,15 @@
/* PLL registers bitfields */
#define PLLP_SHIFT 0
+#define PLLQ_SHIFT 3
#define PLLR_SHIFT 0
#define PLLJ_SHIFT 2
#define PLLD_MSB_SHIFT 0
#define PLLD_LSB_SHIFT 2
/* Clock generation register bits */
+#define CODEC_CLKIN_PLLDIV 0
+#define CODEC_CLKIN_CLKDIV 1
#define PLL_CLKIN_SHIFT 4
#define MCLK_SOURCE 0x0
#define PLL_CLKDIV_SHIFT 0