};
static struct dvfs_op dvfs_core_setpoint_1G[] = {
- {33, 14, 33, 10, 10, 0x08}, /* 1GHz*/
- {30, 12, 33, 10, 10, 0x08}, /* 800MHz */
- {28, 8, 33, 10, 10, 0x08}, /* 400MHz */
- {20, 0, 33, 20, 10, 0x08} }; /* 200MHz*/
+ {33, 14, 33, 10, 128, 0x10}, /* 1GHz*/
+ {30, 12, 33, 100, 200, 0x10}, /* 800MHz */
+ {28, 8, 33, 100, 200, 0x10}, /* 400MHz */
+ {20, 0, 33, 20, 10, 0x10} }; /* 200MHz*/
static struct dvfs_op dvfs_core_setpoint[] = {
- {33, 14, 33, 10, 10, 0x08}, /* 800MHz */
- {26, 8, 33, 10, 10, 0x08}, /* 400MHz */
+ {33, 14, 33, 10, 128, 0x08}, /* 800MHz */
+ {26, 8, 33, 100, 200, 0x08}, /* 400MHz */
{20, 0, 33, 20, 10, 0x08} }; /* 200MHz*/
static struct dvfs_op *mx6_get_dvfs_core_table(int *wp)
#include <mach/hardware.h>
#include <mach/clock.h>
+#define dprintk(msg...) cpufreq_debug_printk(CPUFREQ_DEBUG_CORE, \
+ "cpufreq-core", msg)
+
#define CLK32_FREQ 32768
#define NANOSECOND (1000 * 1000 * 1000)
return 0;
if (dvfs_core_is_active) {
- printk(KERN_DEBUG"DVFS-CORE is active, cannot change frequency using CPUFREQ\n");
+ struct cpufreq_freqs freqs;
+
+ freqs.old = policy->cur;
+ freqs.new = clk_get_rate(cpu_clk) / 1000;
+ freqs.cpu = policy->cpu;
+ freqs.flags = 0;
+ cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
+ cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);
+
+ dprintk("DVFS core is active, cannot change FREQ using CPUFREQ\n");
return ret;
}