aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Guittot <vincent.guittot@linaro.org>2012-02-08 17:14:19 -0800
committerVincent Guittot <vincent.guittot@linaro.org>2012-02-08 17:14:19 -0800
commitcfceb3f2542aaa09eb31a10706059a03e6021c13 (patch)
tree4d2364490ad8f206dd032e9c868800dab1ad7f6e
parentf30505763f24b0aaa3cbf0a2d1fcc6c8aa98cc13 (diff)
parent726f9810a931e562762aff257c4b3bed72bcb2a6 (diff)
Merge branch 'ux500_sched_mc' into linaro-trackingsched_mc
-rw-r--r--arch/arm/mach-ux500/board-mop500.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c
index de1f5f8f7330..397724e21e73 100644
--- a/arch/arm/mach-ux500/board-mop500.c
+++ b/arch/arm/mach-ux500/board-mop500.c
@@ -29,6 +29,7 @@
#include <linux/smsc911x.h>
#include <linux/gpio_keys.h>
#include <linux/delay.h>
+#include <linux/power/cpupower.h>
#include <linux/leds.h>
#include <asm/mach-types.h>
@@ -71,6 +72,41 @@ static struct platform_device snowball_led_dev = {
},
};
+static unsigned int table_default_power[1] = {
+ 1024
+};
+
+static struct cputopo_power default_cpu_power = {
+ .max = 1,
+ .step = 1,
+ .table = table_default_power,
+};
+
+static unsigned int table_ca9_power[10] = {
+/* freq< 200 400 600 800 1000 1200 1400 1600 1800 other*/
+ 8192, 8192, 8192, 1024, 1024, 1024, 1024, 1024, 1024, 1024, /* Power save mode CA9 MP */
+};
+
+static struct cputopo_power CA9_cpu_power = {
+ .max = 10,
+ .step = 200000,
+ .table = table_ca9_power,
+};
+
+/* This table list all possible cpu power configuration */
+static struct cputopo_power *snowball_cpupower_data[2] = {
+ &default_cpu_power,
+ &CA9_cpu_power,
+};
+
+static struct platform_device snowball_cpupower_dev = {
+ .name = "cpupower",
+ .dev = {
+ .platform_data = snowball_cpupower_data,
+ },
+};
+
+
static struct ab8500_gpio_platform_data ab8500_gpio_pdata = {
.gpio_base = MOP500_AB8500_GPIO(0),
.irq_base = MOP500_AB8500_VIR_GPIO_IRQ_BASE,
@@ -598,6 +634,7 @@ static struct platform_device *snowball_platform_devs[] __initdata = {
&snowball_led_dev,
&snowball_key_dev,
&snowball_sbnet_dev,
+ &snowball_cpupower_dev,
&ab8500_device,
};