1 --- kernel-maemo-2.6.28.orig/arch/arm/mach-omap2/omap3-opp.h
2 +++ kernel-maemo-2.6.28/arch/arm/mach-omap2/omap3-opp.h
4 #include <mach/omap-pm.h>
7 +#define S1200M 1200000000
8 +#define S1100M 1100000000
9 +#define S1000M 1000000000
10 +#define S950M 950000000
11 +#define S900M 900000000
12 +#define S850M 850000000
13 +#define S800M 800000000
14 +#define S750M 750000000
15 +#define S700M 700000000
16 #define S600M 600000000
17 #define S550M 550000000
18 #define S500M 500000000
21 static struct omap_opp omap3_mpu_rate_table[] = {
26 - {S250M, VDD1_OPP2, 0x26},
28 - {S500M, VDD1_OPP3, 0x30},
30 - {S550M, VDD1_OPP4, 0x36},
32 - {S600M, VDD1_OPP5, 0x3C},
34 + {S125M, VDD1_OPP2, 0x1E},
36 + {S250M, VDD1_OPP3, 0x26},
37 + {S500M, VDD1_OPP4, 0x30},
38 + {S550M, VDD1_OPP5, 0x30},
51 static struct omap_opp omap3_l3_rate_table[] = {
54 static struct omap_opp omap3_dsp_rate_table[] = {
58 {S90M, VDD1_OPP1, 0x1E},
60 - {S180M, VDD1_OPP2, 0x26},
62 - {S360M, VDD1_OPP3, 0x30},
64 - {S400M, VDD1_OPP4, 0x36},
66 - {S430M, VDD1_OPP5, 0x3C},
68 + {S90M, VDD1_OPP2, 0x1E},
69 + {S180M, VDD1_OPP3, 0x26},
70 + {S360M, VDD1_OPP4, 0x30},
71 + {S400M, VDD1_OPP5, 0x36},
76 + {S430M, 9, 0x3C},/*800MHz*/
85 --- kernel-maemo-2.6.28.orig/arch/arm/plat-omap/include/mach/omap34xx.h
86 +++ kernel-maemo-2.6.28/arch/arm/plat-omap/include/mach/omap34xx.h
90 #define MIN_VDD1_OPP VDD1_OPP1
91 -#define MAX_VDD1_OPP VDD1_OPP5
92 +/*#define MAX_VDD1_OPP VDD1_OPP5*/
93 +#define MAX_VDD1_OPP 14
94 #define MIN_VDD2_OPP VDD2_OPP1
95 #define MAX_VDD2_OPP VDD2_OPP3
97 --- kernel-maemo-2.6.28.orig/arch/arm/mach-omap2/smartreflex.c
98 +++ kernel-maemo-2.6.28/arch/arm/mach-omap2/smartreflex.c
100 sr->req_opp_no = target_opp_no;
102 if (sr->srid == SR1) {
103 - switch (target_opp_no) {
104 + switch (min(target_opp_no-1,5)) {
106 nvalue_reciprocal = sr->opp5_nvalue;
109 nvalue_reciprocal = sr->opp2_nvalue;
113 nvalue_reciprocal = sr->opp1_nvalue;
116 --- kernel-maemo-2.6.28.orig/arch/arm/plat-omap/cpu-omap.c
117 +++ kernel-maemo-2.6.28/arch/arm/plat-omap/cpu-omap.c
118 @@ -148,10 +148,13 @@
119 VERY_HI_RATE) / 1000;
122 - clk_set_rate(mpu_clk, policy->cpuinfo.max_freq * 1000);
123 + /*clk_set_rate(mpu_clk, policy->cpuinfo.max_freq * 1000);*/
124 + clk_set_rate(mpu_clk, 600000 * 1000); /*N900 hack: set default max to 600MHz */
126 - policy->min = policy->cpuinfo.min_freq;
127 - policy->max = policy->cpuinfo.max_freq;
128 + /*policy->min = policy->cpuinfo.min_freq;*/
129 + /*policy->max = policy->cpuinfo.max_freq;*/
130 + policy->min = 250000;
131 + policy->max = 600000; /*N900 hack: set default to 250-600MHz */
132 policy->cur = omap_getspeed(0);
134 policy->cpuinfo.transition_latency = 300 * 1000;
135 --- kernel-maemo-2.6.28.orig/arch/arm/mach-omap2/smartreflex.h
136 +++ kernel-maemo-2.6.28/arch/arm/mach-omap2/smartreflex.h
138 /* XXX: end remove/move */
140 /* SR_MAX_LOW_OPP: the highest of the "low OPPs", 1 and 2. */
141 -#define SR_MAX_LOW_OPP 2
142 +#define SR_MAX_LOW_OPP 3
144 /* XXX: find more appropriate place for these once DVFS is in place */
145 extern u32 current_vdd1_opp;