diff options
author | Ranjani Vaidyanathan <ra5478@freescale.com> | 2011-10-07 12:35:29 -0500 |
---|---|---|
committer | Jason Liu <r64343@freescale.com> | 2012-07-20 13:16:25 +0800 |
commit | 6507aecfc987acae2c9edc70ffa1d599280ee63f (patch) | |
tree | 0c5380ddd9586263b4eabc1b2e26f1c1aa71b0b9 /arch/arm/mach-mx6/cpu_op-mx6.c | |
parent | 85b2268bac6ddccce76ca9e6cab07e814dcb6bea (diff) |
ENGR00159641: MX6-Add DVFS-CORE support
Add DVFS-CORE support for MX6 quad/dual SOC.
Signed-off-by: Ranjani Vaidyanathan <ra5478@freescale.com>
Diffstat (limited to 'arch/arm/mach-mx6/cpu_op-mx6.c')
-rw-r--r-- | arch/arm/mach-mx6/cpu_op-mx6.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/arch/arm/mach-mx6/cpu_op-mx6.c b/arch/arm/mach-mx6/cpu_op-mx6.c index ae3bff98bdde..51bc917f86cc 100644 --- a/arch/arm/mach-mx6/cpu_op-mx6.c +++ b/arch/arm/mach-mx6/cpu_op-mx6.c @@ -12,10 +12,12 @@ */ #include <linux/types.h> -#include <mach/hardware.h> #include <linux/kernel.h> +#include <mach/hardware.h> +#include <mach/mxc_dvfs.h> extern struct cpu_op *(*get_cpu_op)(int *op); +extern struct dvfs_op *(*get_dvfs_core_op)(int *wp); extern void (*set_num_cpu_op)(int num); static int num_cpu_op; @@ -51,6 +53,18 @@ static struct cpu_op mx6_cpu_op[] = { .cpu_voltage = 900000,}, }; +static struct dvfs_op dvfs_core_setpoint[] = { + {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} }; /* 167MHz*/ + +static struct dvfs_op *mx6_get_dvfs_core_table(int *wp) +{ + *wp = ARRAY_SIZE(dvfs_core_setpoint); + return dvfs_core_setpoint; +} + struct cpu_op *mx6_get_cpu_op(int *op) { *op = num_cpu_op; @@ -69,5 +83,6 @@ void mx6_cpu_op_init(void) set_num_cpu_op = mx6_set_num_cpu_op; num_cpu_op = ARRAY_SIZE(mx6_cpu_op); + get_dvfs_core_op = mx6_get_dvfs_core_table; } |