diff options
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.patch | 54 |
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 @@ | |||
1 | From aee147073ad84a7c81fba36dd475c6d2d17ed728 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 21/32] mfd: twl-core: enable madc clock | ||
5 | |||
6 | Now that the madc driver has been merged it is also necessary to enable the clock to the madc block | ||
7 | |||
8 | Signed-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 | |||
14 | diff --git a/drivers/mfd/twl-core.c b/drivers/mfd/twl-core.c | ||
15 | index 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 | |||
40 | diff --git a/include/linux/i2c/twl.h b/include/linux/i2c/twl.h | ||
41 | index 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 | -- | ||
53 | 1.6.6.1 | ||
54 | |||