diff options
author | Sekhar Nori <nsekhar@ti.com> | 2009-09-22 21:14:01 +0530 |
---|---|---|
committer | Kevin Hilman <khilman@deeprootsystems.com> | 2009-11-25 10:21:29 -0800 |
commit | 683b1e1f0e6f7b2690c0ce76751ba8f26f0235c6 (patch) | |
tree | 2b8c1c9cc6067ee1dfca8d9bd9af188f6dd22193 /arch/arm/mach-davinci/include/mach/da8xx.h | |
parent | 6601b8030de3e9c29930684eeac15302a59f991a (diff) | |
download | kernel_samsung_smdk4412-683b1e1f0e6f7b2690c0ce76751ba8f26f0235c6.zip kernel_samsung_smdk4412-683b1e1f0e6f7b2690c0ce76751ba8f26f0235c6.tar.gz kernel_samsung_smdk4412-683b1e1f0e6f7b2690c0ce76751ba8f26f0235c6.tar.bz2 |
davinci: DA850/OMAP-L138: add frequency scaling support
Adds basic frequency scaling support for DA850/OMAP-L138.
Currently, frequency scaling only on PLL0 is supported. No scaling of PLL1
as yet.
Peripherals like MMC/SD which have a clock input synchronous with
ARM clock will not work well since the clock will change behind their backs.
Support for notification to such devices to adjust themselves to the
new frequency will be added in later patches. Current defconfigs keep
CPUFreq disabled so it will not affect normal operation.
The OPP defintions assume clock input of 24MHz to the SoC. This is inline
with hardcoding of input frequency in the <soc>.c files. At some point
this will need to move into board dependent code as new boards appear with
a different reference clock.
Tested on OMAP-L138 EVM with ondemand governer and a shell script to
vary processor load.
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Diffstat (limited to 'arch/arm/mach-davinci/include/mach/da8xx.h')
-rw-r--r-- | arch/arm/mach-davinci/include/mach/da8xx.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/mach-davinci/include/mach/da8xx.h b/arch/arm/mach-davinci/include/mach/da8xx.h index 3b75273..401bf93 100644 --- a/arch/arm/mach-davinci/include/mach/da8xx.h +++ b/arch/arm/mach-davinci/include/mach/da8xx.h @@ -37,6 +37,7 @@ extern void __iomem *da8xx_syscfg_base; #define DA8XX_SYSCFG_BASE (IO_PHYS + 0x14000) #define DA8XX_SYSCFG_VIRT(x) (da8xx_syscfg_base + (x)) #define DA8XX_JTAG_ID_REG 0x18 +#define DA8XX_CFGCHIP0_REG 0x17c #define DA8XX_CFGCHIP2_REG 0x184 #define DA8XX_CFGCHIP3_REG 0x188 @@ -85,6 +86,7 @@ int da8xx_register_lcdc(struct da8xx_lcdc_platform_data *pdata); int da8xx_register_mmcsd0(struct davinci_mmc_config *config); void __init da8xx_register_mcasp(int id, struct snd_platform_data *pdata); int da8xx_register_rtc(void); +int da850_register_cpufreq(void); extern struct platform_device da8xx_serial_device; extern struct emac_platform_data da8xx_emac_pdata; |