From: lw@rock-chips.com Date: Thu, 19 Apr 2012 11:46:15 +0000 (+0800) Subject: rk30_phone:add cpu_dvfs_table control,need modify hardware X-Git-Tag: firefly_0821_release~9369 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=9c719b5a39e53162f42d6848a83a4706f5cca124;p=firefly-linux-kernel-4.4.55.git rk30_phone:add cpu_dvfs_table control,need modify hardware --- diff --git a/arch/arm/configs/rk30_phone_defconfig b/arch/arm/configs/rk30_phone_defconfig index da3fb1778344..559cdca7a0b8 100755 --- a/arch/arm/configs/rk30_phone_defconfig +++ b/arch/arm/configs/rk30_phone_defconfig @@ -43,6 +43,12 @@ CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 CONFIG_ZBOOT_ROM_TEXT=0x0 CONFIG_ZBOOT_ROM_BSS=0x0 CONFIG_CMDLINE="console=ttyFIQ0 androidboot.console=ttyFIQ0 init=/init" +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_DEFAULT_GOV_INTERACTIVE=y +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y CONFIG_CPU_IDLE=y CONFIG_VFP=y CONFIG_NEON=y @@ -264,6 +270,7 @@ CONFIG_MFD_WM8994=y CONFIG_REGULATOR=y CONFIG_REGULATOR_WM831X=y CONFIG_REGULATOR_WM8994=y +CONFIG_RK30_PWM_REGULATOR=y CONFIG_MEDIA_SUPPORT=y CONFIG_VIDEO_DEV=y CONFIG_SOC_CAMERA=y diff --git a/arch/arm/mach-rk30/board-rk30-phone.c b/arch/arm/mach-rk30/board-rk30-phone.c index c7cbe28ab445..3ee16e1ebff8 100755 --- a/arch/arm/mach-rk30/board-rk30-phone.c +++ b/arch/arm/mach-rk30/board-rk30-phone.c @@ -24,6 +24,9 @@ #include #include #include +#include +#include +#include #include #include @@ -1864,9 +1867,24 @@ static void __init rk30_reserve(void) board_mem_reserved(); } +static struct cpufreq_frequency_table cpu_dvfs_table[] = { + //{.frequency = 126*1000, .index = 980*1000}, + //{.frequency = 252*1000, .index = 980*1000}, + //{.frequency = 504*1000, .index = 980*1000}, + {.frequency = 816*1000, .index = 1050*1000}, + //{.frequency = 1008*1000,.index = 1150*1000}, + //{.frequency = 1200*1000,.index = 1250*1000}, + //{.frequency = 1416*1000,.index = 1280*1000}, + //{.frequency = 1512*1000,.index = 1320*1000}, + //{.frequency = 1560*1000,.index = 1350*1000}, + //{.frequency = 1608*1000,.index = 1350*1000}, + {.frequency = CPUFREQ_TABLE_END}, +}; + void __init board_clock_init(void) { rk30_clock_data_init(periph_pll_297mhz, codec_pll_360mhz, max_i2s_12288khz); + dvfs_set_freq_volt_table(clk_get(NULL, "cpu"), cpu_dvfs_table); } MACHINE_START(RK30, "RK30board") diff --git a/drivers/regulator/rk30-pwm-regulator.c b/drivers/regulator/rk30-pwm-regulator.c index 2a7439d10d76..07129971460e 100755 --- a/drivers/regulator/rk30-pwm-regulator.c +++ b/drivers/regulator/rk30-pwm-regulator.c @@ -38,7 +38,7 @@ REVISION 0.01 #include -#if 1 +#if 0 #define DBG(x...) printk(KERN_INFO x) #else #define DBG(x...) @@ -132,7 +132,6 @@ static int pwm_set_rate(struct pwm_platform_data *pdata,int nHz,u32 rate) static int pwm_regulator_list_voltage(struct regulator_dev *dev,unsigned int index) { - DBG("Enter %s, index =%d\n",__FUNCTION__,index); if (index < sizeof(pwm_voltage_map)/sizeof(int)) return pwm_voltage_map[index]; else