~beagleboard-kernel/+junk/2.6-stable

« back to all changes in this revision

Viewing changes to patches/sakoman/2.6.35/0012-MFD-enable-madc-clock.patch

  • Committer: Robert Nelson
  • Date: 2011-05-30 18:22:18 UTC
  • Revision ID: robertcnelson@gmail.com-20110530182218-kl9c2elev8wckknd
Tags: 2.6.39-x0
2.6.39-x0 release

Show diffs side-by-side

added added

removed removed

Lines of Context:
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
5
 
 
6
 
---
7
 
 drivers/mfd/twl-core.c  |    8 ++++++++
8
 
 include/linux/i2c/twl.h |    1 +
9
 
 2 files changed, 9 insertions(+), 0 deletions(-)
10
 
 
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
15
 
@@ -202,6 +202,7 @@
16
 
 
17
 
 /* Few power values */
18
 
 #define R_CFG_BOOT                     0x05
19
 
+#define R_GPBR1                                0x0C
20
 
 #define R_PROTECT_KEY                  0x0E
21
 
 
22
 
 /* access control values for R_PROTECT_KEY */
23
 
@@ -209,6 +210,10 @@
24
 
 #define KEY_UNLOCK2                    0xec
25
 
 #define KEY_LOCK                       0x00
26
 
 
27
 
+/* MADC clock values for R_GPBR1 */
28
 
+#define MADC_HFCLK_EN                  0x80
29
 
+#define DEFAULT_MADC_CLK_EN            0x10
30
 
+
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,
35
 
 
36
 
        e |= unprotect_pm_master();
37
 
        /* effect->MADC+USB ck en */
38
 
+       if (twl_has_madc())
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();
43
 
 
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
48
 
@@ -74,6 +74,7 @@
49
 
 
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
56
 
1.7.1
57