diff options
author | Ben Dooks <ben@simtec.co.uk> | 2009-07-30 18:23:32 -0400 |
---|---|---|
committer | Ben Dooks <ben-linux@fluff.org> | 2009-07-30 18:22:53 -0400 |
commit | baf6b281cfa7259ab2d1148b879850f699520bc6 (patch) | |
tree | b13b8a031f66c9d015c03e8fb63ecac8df3671b6 | |
parent | 0345b51c6a4bfaf6c066b8055d02116432b6a0c9 (diff) |
ARM: OSIRIS: CPUFREQ: Add CPU frequency scaling support
Add CPU frequency scalling support to the Simtec Osiris.
Signed-off-by: Ben Dooks <ben@simtec.co.uk>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
-rw-r--r-- | arch/arm/mach-s3c2440/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm/mach-s3c2440/mach-osiris.c | 9 |
2 files changed, 10 insertions, 0 deletions
diff --git a/arch/arm/mach-s3c2440/Kconfig b/arch/arm/mach-s3c2440/Kconfig index 3cb12e39e0a8..8ae1b288f7fa 100644 --- a/arch/arm/mach-s3c2440/Kconfig +++ b/arch/arm/mach-s3c2440/Kconfig | |||
@@ -46,6 +46,7 @@ config MACH_OSIRIS | |||
46 | select PM_SIMTEC if PM | 46 | select PM_SIMTEC if PM |
47 | select S3C24XX_GPIO_EXTRA128 | 47 | select S3C24XX_GPIO_EXTRA128 |
48 | select S3C2440_XTAL_12000000 | 48 | select S3C2440_XTAL_12000000 |
49 | select S3C2410_IOTIMING if S3C2440_CPUFREQ | ||
49 | select S3C_DEV_USB_HOST | 50 | select S3C_DEV_USB_HOST |
50 | help | 51 | help |
51 | Say Y here if you are using the Simtec IM2440D20 module, also | 52 | Say Y here if you are using the Simtec IM2440D20 module, also |
diff --git a/arch/arm/mach-s3c2440/mach-osiris.c b/arch/arm/mach-s3c2440/mach-osiris.c index cba064b49a64..2105a41281a4 100644 --- a/arch/arm/mach-s3c2440/mach-osiris.c +++ b/arch/arm/mach-s3c2440/mach-osiris.c | |||
@@ -34,6 +34,7 @@ | |||
34 | #include <asm/irq.h> | 34 | #include <asm/irq.h> |
35 | #include <asm/mach-types.h> | 35 | #include <asm/mach-types.h> |
36 | 36 | ||
37 | #include <plat/cpu-freq.h> | ||
37 | #include <plat/regs-serial.h> | 38 | #include <plat/regs-serial.h> |
38 | #include <mach/regs-gpio.h> | 39 | #include <mach/regs-gpio.h> |
39 | #include <mach/regs-mem.h> | 40 | #include <mach/regs-mem.h> |
@@ -351,6 +352,12 @@ static struct clk *osiris_clocks[] __initdata = { | |||
351 | &s3c24xx_uclk, | 352 | &s3c24xx_uclk, |
352 | }; | 353 | }; |
353 | 354 | ||
355 | static struct s3c_cpufreq_board __initdata osiris_cpufreq = { | ||
356 | .refresh = 7800, /* refresh period is 7.8usec */ | ||
357 | .auto_io = 1, | ||
358 | .need_io = 1, | ||
359 | }; | ||
360 | |||
354 | static void __init osiris_map_io(void) | 361 | static void __init osiris_map_io(void) |
355 | { | 362 | { |
356 | unsigned long flags; | 363 | unsigned long flags; |
@@ -402,6 +409,8 @@ static void __init osiris_init(void) | |||
402 | 409 | ||
403 | s3c_i2c0_set_platdata(NULL); | 410 | s3c_i2c0_set_platdata(NULL); |
404 | 411 | ||
412 | s3c_cpufreq_setboard(&osiris_cpufreq); | ||
413 | |||
405 | i2c_register_board_info(0, osiris_i2c_devs, | 414 | i2c_register_board_info(0, osiris_i2c_devs, |
406 | ARRAY_SIZE(osiris_i2c_devs)); | 415 | ARRAY_SIZE(osiris_i2c_devs)); |
407 | 416 | ||