1
From fad68274f08dcec7e83c47c50974037e3b069534 Mon Sep 17 00:00:00 2001
2
From: Steve Sakoman <steve@sakoman.com>
3
Date: Sat, 23 Jan 2010 06:26:54 -0800
4
Subject: [PATCH 12/31] MFD: enable madc clock
7
drivers/mfd/twl-core.c | 8 ++++++++
8
include/linux/i2c/twl.h | 1 +
9
2 files changed, 9 insertions(+), 0 deletions(-)
11
diff --git a/drivers/mfd/twl-core.c b/drivers/mfd/twl-core.c
12
index 720e099..5a67d31 100644
13
--- a/drivers/mfd/twl-core.c
14
+++ b/drivers/mfd/twl-core.c
17
/* Few power values */
18
#define R_CFG_BOOT 0x05
20
#define R_PROTECT_KEY 0x0E
22
/* access control values for R_PROTECT_KEY */
24
#define KEY_UNLOCK2 0xec
27
+/* MADC clock values for R_GPBR1 */
28
+#define MADC_HFCLK_EN 0x80
29
+#define DEFAULT_MADC_CLK_EN 0x10
31
/* some fields in R_CFG_BOOT */
32
#define HFCLK_FREQ_19p2_MHZ (1 << 0)
33
#define HFCLK_FREQ_26_MHZ (2 << 0)
34
@@ -915,6 +920,9 @@ static void clocks_init(struct device *dev,
36
e |= unprotect_pm_master();
37
/* effect->MADC+USB ck en */
39
+ e |= twl_i2c_write_u8(TWL_MODULE_INTBR,
40
+ MADC_HFCLK_EN | DEFAULT_MADC_CLK_EN, R_GPBR1);
41
e |= twl_i2c_write_u8(TWL_MODULE_PM_MASTER, ctrl, R_CFG_BOOT);
42
e |= protect_pm_master();
44
diff --git a/include/linux/i2c/twl.h b/include/linux/i2c/twl.h
45
index 6de90bf..7a5e4ab 100644
46
--- a/include/linux/i2c/twl.h
47
+++ b/include/linux/i2c/twl.h
50
#define TWL_MODULE_USB TWL4030_MODULE_USB
51
#define TWL_MODULE_AUDIO_VOICE TWL4030_MODULE_AUDIO_VOICE
52
+#define TWL_MODULE_INTBR TWL4030_MODULE_INTBR
53
#define TWL_MODULE_PIH TWL4030_MODULE_PIH
54
#define TWL_MODULE_MADC TWL4030_MODULE_MADC
55
#define TWL_MODULE_MAIN_CHARGE TWL4030_MODULE_MAIN_CHARGE