summaryrefslogtreecommitdiffstats
path: root/extras/recipes-kernel/linux/linux-omap-2.6.39/sakoman/0021-mfd-twl-core-enable-madc-clock.patch
diff options
context:
space:
mode:
Diffstat (limited to 'extras/recipes-kernel/linux/linux-omap-2.6.39/sakoman/0021-mfd-twl-core-enable-madc-clock.patch')
-rw-r--r--extras/recipes-kernel/linux/linux-omap-2.6.39/sakoman/0021-mfd-twl-core-enable-madc-clock.patch54
1 files changed, 54 insertions, 0 deletions
diff --git a/extras/recipes-kernel/linux/linux-omap-2.6.39/sakoman/0021-mfd-twl-core-enable-madc-clock.patch b/extras/recipes-kernel/linux/linux-omap-2.6.39/sakoman/0021-mfd-twl-core-enable-madc-clock.patch
new file mode 100644
index 00000000..732d306a
--- /dev/null
+++ b/extras/recipes-kernel/linux/linux-omap-2.6.39/sakoman/0021-mfd-twl-core-enable-madc-clock.patch
@@ -0,0 +1,54 @@
1From aee147073ad84a7c81fba36dd475c6d2d17ed728 Mon Sep 17 00:00:00 2001
2From: Steve Sakoman <steve@sakoman.com>
3Date: Sat, 23 Jan 2010 06:26:54 -0800
4Subject: [PATCH 21/32] mfd: twl-core: enable madc clock
5
6Now that the madc driver has been merged it is also necessary to enable the clock to the madc block
7
8Signed-off-by: Steve Sakoman <steve@sakoman.com>
9---
10 drivers/mfd/twl-core.c | 8 ++++++++
11 include/linux/i2c/twl.h | 1 +
12 2 files changed, 9 insertions(+), 0 deletions(-)
13
14diff --git a/drivers/mfd/twl-core.c b/drivers/mfd/twl-core.c
15index d9435e4..9096d7d 100644
16--- a/drivers/mfd/twl-core.c
17+++ b/drivers/mfd/twl-core.c
18@@ -222,6 +222,11 @@
19
20 /* Few power values */
21 #define R_CFG_BOOT 0x05
22+#define R_GPBR1 0x0C
23+
24+/* MADC clock values for R_GPBR1 */
25+#define MADC_HFCLK_EN 0x80
26+#define DEFAULT_MADC_CLK_EN 0x10
27
28 /* some fields in R_CFG_BOOT */
29 #define HFCLK_FREQ_19p2_MHZ (1 << 0)
30@@ -992,6 +997,9 @@ static void clocks_init(struct device *dev,
31
32 e |= unprotect_pm_master();
33 /* effect->MADC+USB ck en */
34+ if (twl_has_madc())
35+ e |= twl_i2c_write_u8(TWL_MODULE_INTBR,
36+ MADC_HFCLK_EN | DEFAULT_MADC_CLK_EN, R_GPBR1);
37 e |= twl_i2c_write_u8(TWL_MODULE_PM_MASTER, ctrl, R_CFG_BOOT);
38 e |= protect_pm_master();
39
40diff --git a/include/linux/i2c/twl.h b/include/linux/i2c/twl.h
41index 0c0d1ae..cbbf3b3 100644
42--- a/include/linux/i2c/twl.h
43+++ b/include/linux/i2c/twl.h
44@@ -74,6 +74,7 @@
45
46 #define TWL_MODULE_USB TWL4030_MODULE_USB
47 #define TWL_MODULE_AUDIO_VOICE TWL4030_MODULE_AUDIO_VOICE
48+#define TWL_MODULE_INTBR TWL4030_MODULE_INTBR
49 #define TWL_MODULE_PIH TWL4030_MODULE_PIH
50 #define TWL_MODULE_MADC TWL4030_MODULE_MADC
51 #define TWL_MODULE_MAIN_CHARGE TWL4030_MODULE_MAIN_CHARGE
52--
531.6.6.1
54