1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
From 8c787f1c57c3b09beece662faabfab419ae5c8d6 Mon Sep 17 00:00:00 2001
From: Andy Green <andy@openmoko.com>
Date: Wed, 28 Jan 2009 09:58:59 +0000
Subject: [PATCH 5/8] debug-glamo-allow-slower-memory-bus.patch
Signed-off-by: Andy Green <andy@openmoko.com>
---
drivers/mfd/glamo/glamo-core.c | 34 +++++++++++++++++++++++++++++++++-
1 files changed, 33 insertions(+), 1 deletions(-)
diff --git a/drivers/mfd/glamo/glamo-core.c b/drivers/mfd/glamo/glamo-core.c
index b4595a8..e6253de 100644
--- a/drivers/mfd/glamo/glamo-core.c
+++ b/drivers/mfd/glamo/glamo-core.c
@@ -58,6 +58,25 @@
#define GLAMO_MEM_REFRESH_COUNT 0x100
+
+/*
+ * Glamo internal settings
+ *
+ * We run the memory interface from the faster PLLB on 2.6.28 kernels and
+ * above. Couple of GTA02 users report trouble with memory bus when they
+ * upgraded from 2.6.24. So this parameter allows reversion to 2.6.24
+ * scheme if their Glamo chip needs it.
+ *
+ * you can override the faster default on kernel commandline using
+ *
+ * glamo3362.slow_memory=1
+ *
+ * for example
+ */
+
+static int slow_memory = 0;
+module_param(slow_memory, int, 0644);
+
struct reg_range {
int start;
int count;
@@ -786,6 +805,19 @@ int glamo_run_script(struct glamo_core *glamo, struct glamo_script *script,
while ((__reg_read(glamo, GLAMO_REG_PLL_GEN5) & 3) != 3)
;
break;
+
+ /*
+ * couple of people reported artefacts with 2.6.28 changes, this
+ * allows reversion to 2.6.24 settings
+ */
+
+ case 0x200:
+ if (slow_memory)
+ __reg_write(glamo, script[i].reg, 0xef0);
+ else
+ __reg_write(glamo, script[i].reg, 0xe03);
+ break;
+
default:
__reg_write(glamo, script[i].reg, script[i].val);
break;
@@ -848,7 +880,7 @@ static struct glamo_script glamo_init_script[] = {
* b7..b4 = 0 = no wait states on read or write
* b0 = 1 select PLL2 for Host interface, b1 = enable it
*/
- { 0x200, 0x0e03 },
+ { 0x200, 0x0e03 /* this is replaced by script parser */ },
{ 0x202, 0x07ff },
{ 0x212, 0x0000 },
{ 0x214, 0x4000 },
--
1.5.2.2
|