board LR097:sync from sdk

This commit is contained in:
yxj
2013-01-09 13:51:46 +08:00
parent ba301913b0
commit d57359e6a8

View File

@@ -1513,6 +1513,84 @@ static struct i2c_board_info __initdata i2c0_info[] = {
int __sramdata g_pmic_type = 0;
#ifdef CONFIG_I2C1_RK30
#ifdef CONFIG_REGULATOR_ACT8846
#define PMU_POWER_SLEEP RK30_PIN0_PA1
#define ACT8846_HOST_IRQ RK30_PIN0_PB3
static struct pmu_info act8846_dcdc_info[] = {
{
.name = "act_dcdc1", //ddr
.min_uv = 1200000,
.max_uv = 1200000,
.suspend_vol = 1200000,
},
{
.name = "vdd_core", //logic
.min_uv = 1000000,
.max_uv = 1000000,
.suspend_vol = 900000,
},
{
.name = "vdd_cpu", //arm
.min_uv = 1000000,
.max_uv = 1000000,
.suspend_vol = 900000,
},
{
.name = "act_dcdc4", //vccio
.min_uv = 3000000,
.max_uv = 3000000,
.suspend_vol = 2800000,
},
};
static struct pmu_info act8846_ldo_info[] = {
{
.name = "act_ldo1", //vdd11
.min_uv = 1000000,
.max_uv = 1000000,
},
{
.name = "act_ldo2", //vdd12
.min_uv = 1200000,
.max_uv = 1200000,
},
{
.name = "act_ldo3", //vcc18_cif
.min_uv = 1800000,
.max_uv = 1800000,
},
{
.name = "act_ldo4", //vcca33
.min_uv = 3300000,
.max_uv = 3300000,
},
{
.name = "act_ldo5", //vcctp
.min_uv = 3300000,
.max_uv = 3300000,
},
{
.name = "act_ldo6", //vcc33
.min_uv = 3300000,
.max_uv = 3300000,
},
{
.name = "act_ldo7", //vccio_wl
.min_uv = 1800000,
.max_uv = 1800000,
},
{
.name = "act_ldo8", //vcc28_cif
.min_uv = 2800000,
.max_uv = 2800000,
},
};
#include "board-pmu-act8846.c"
#endif
#ifdef CONFIG_MFD_WM831X_I2C
#define PMU_POWER_SLEEP RK30_PIN0_PA1
@@ -1691,84 +1769,17 @@ static struct pmu_info tps65910_ldo_info[] = {
#include "board-pmu-tps65910.c"
#endif
#ifdef CONFIG_REGULATOR_ACT8846
#define PMU_POWER_SLEEP RK30_PIN0_PA1
static struct pmu_info act8846_dcdc_info[] = {
static struct i2c_board_info __initdata i2c1_info[] = {
#if defined (CONFIG_REGULATOR_ACT8846)
{
.name = "act_dcdc1", //ddr
.min_uv = 1200000,
.max_uv = 1200000,
.suspend_vol = 1200000,
.type = "act8846",
.addr = 0x5a,
.flags = 0,
.irq = ACT8846_HOST_IRQ,
.platform_data=&act8846_data,
},
/*{
.name = "vdd_core", //logic
.min_uv = 1000000,
.max_uv = 1000000,
.suspend_vol = 900000,
},*/
{
.name = "vdd_cpu", //arm
.min_uv = 1000000,
.max_uv = 1000000,
.suspend_vol = 900000,
},
{
.name = "act_dcdc4", //vccio
.min_uv = 3000000,
.max_uv = 3000000,
.suspend_vol = 2800000,
},
};
static struct pmu_info act8846_ldo_info[] = {
{
.name = "act_ldo1", //vdd11
.min_uv = 1000000,
.max_uv = 1000000,
},
{
.name = "act_ldo2", //vdd12
.min_uv = 1200000,
.max_uv = 1200000,
},
{
.name = "act_ldo3", //vcc18_cif
.min_uv = 1800000,
.max_uv = 1800000,
},
{
.name = "act_ldo4", //vcca33
.min_uv = 3300000,
.max_uv = 3300000,
},
{
.name = "act_ldo5", //vcctp
.min_uv = 3300000,
.max_uv = 3300000,
},
{
.name = "act_ldo6", //vcc33
.min_uv = 3300000,
.max_uv = 3300000,
},
{
.name = "act_ldo7", //vccio_wl
.min_uv = 1800000,
.max_uv = 1800000,
},
{
.name = "act_ldo8", //vcc28_cif
.min_uv = 2800000,
.max_uv = 2800000,
},
};
#include "board-pmu-act8846.c"
#endif
static struct i2c_board_info __initdata i2c1_info[] = {
#if defined (CONFIG_MFD_WM831X_I2C)
{
.type = "wm8326",
@@ -1788,49 +1799,44 @@ static struct i2c_board_info __initdata i2c1_info[] = {
},
#endif
#if defined (CONFIG_REGULATOR_ACT8846)
{
.type = "act8846",
.addr = 0x5a,
.flags = 0,
// .irq = ACT8846_HOST_IRQ,
.platform_data=&act8846_data,
},
#endif
};
#endif
void __sramfunc board_pmu_suspend(void)
{
#if defined (CONFIG_MFD_WM831X_I2C)
if(pmic_is_wm8326())
board_pmu_wm8326_suspend();
#endif
#if defined (CONFIG_MFD_TPS65910)
if(pmic_is_tps65910())
board_pmu_tps65910_suspend();
#endif
#if defined (CONFIG_REGULATOR_ACT8846)
if(pmic_is_act8846())
board_pmu_act8846_suspend();
#endif
#if defined (CONFIG_REGULATOR_ACT8846)
if(pmic_is_act8846())
board_pmu_act8846_suspend();
#endif
#if defined (CONFIG_MFD_WM831X_I2C)
if(pmic_is_wm8326())
board_pmu_wm8326_suspend();
#endif
#if defined (CONFIG_MFD_TPS65910)
if(pmic_is_tps65910())
board_pmu_tps65910_suspend();
#endif
}
void __sramfunc board_pmu_resume(void)
{
#if defined (CONFIG_MFD_WM831X_I2C)
if(pmic_is_wm8326())
board_pmu_wm8326_resume();
#endif
#if defined (CONFIG_MFD_TPS65910)
if(pmic_is_tps65910())
board_pmu_tps65910_resume();
#endif
#if defined (CONFIG_REGULATOR_ACT8846)
if(pmic_is_act8846())
board_pmu_act8846_resume();
#endif
{
#if defined (CONFIG_REGULATOR_ACT8846)
if(pmic_is_act8846())
board_pmu_act8846_resume();
#endif
#if defined (CONFIG_MFD_WM831X_I2C)
if(pmic_is_wm8326())
board_pmu_wm8326_resume();
#endif
#if defined (CONFIG_MFD_TPS65910)
if(pmic_is_tps65910())
board_pmu_tps65910_resume();
#endif
}
int __sramdata gpio3d6_iomux,gpio3d6_do,gpio3d6_dir,gpio3d6_en;
@@ -2130,29 +2136,29 @@ static void __init rk30_reserve(void)
* comments : min arm/logic voltage
*/
static struct dvfs_arm_table dvfs_cpu_logic_table[] = {
/* {.frequency = 312 * 1000, .cpu_volt = 850 * 1000, .logic_volt = 1000 * 1000},
{.frequency = 312 * 1000, .cpu_volt = 850 * 1000, .logic_volt = 1000 * 1000},
{.frequency = 504 * 1000, .cpu_volt = 900 * 1000, .logic_volt = 1000 * 1000},
*/ {.frequency = 816 * 1000, .cpu_volt = 1000 * 1000, .logic_volt = 1000 * 1000},
/* {.frequency = 1008 * 1000, .cpu_volt = 1025 * 1000, .logic_volt = 1000 * 1000},
{.frequency = 816 * 1000, .cpu_volt = 950 * 1000, .logic_volt = 1000 * 1000},
{.frequency = 1008 * 1000, .cpu_volt = 1025 * 1000, .logic_volt = 1000 * 1000},
{.frequency = 1200 * 1000, .cpu_volt = 1100 * 1000, .logic_volt = 1050 * 1000},
{.frequency = 1416 * 1000, .cpu_volt = 1200 * 1000, .logic_volt = 1150 * 1000},
{.frequency = 1608 * 1000, .cpu_volt = 1300 * 1000, .logic_volt = 1250 * 1000},
*/ {.frequency = CPUFREQ_TABLE_END},
//{.frequency = 1416 * 1000, .cpu_volt = 1200 * 1000, .logic_volt = 1150 * 1000},
//{.frequency = 1608 * 1000, .cpu_volt = 1300 * 1000, .logic_volt = 1250 * 1000},
{.frequency = CPUFREQ_TABLE_END},
};
static struct cpufreq_frequency_table dvfs_gpu_table[] = {
{.frequency = 100 * 1000, .index = 1000 * 1000},
{.frequency = 200 * 1000, .index = 1000 * 1000},
{.frequency = 266 * 1000, .index = 1000 * 1000},
{.frequency = 300 * 1000, .index = 1000 * 1000},
{.frequency = 400 * 1000, .index = 1000 * 1000},
{.frequency = 100 * 1000, .index = 900 * 1000},
{.frequency = 200 * 1000, .index = 900 * 1000},
{.frequency = 266 * 1000, .index = 900 * 1000},
{.frequency = 300 * 1000, .index = 900 * 1000},
{.frequency = 400 * 1000, .index = 950 * 1000},
{.frequency = 600 * 1000, .index = 1100 * 1000},
{.frequency = CPUFREQ_TABLE_END},
};
static struct cpufreq_frequency_table dvfs_ddr_table[] = {
{.frequency = 300 * 1000, .index = 1000 * 1000},
{.frequency = 400 * 1000, .index = 1000 * 1000},
{.frequency = 300 * 1000, .index = 900 * 1000},
{.frequency = 400 * 1000, .index = 950 * 1000},
{.frequency = CPUFREQ_TABLE_END},
};
#define DVFS_CPU_TABLE_SIZE (ARRAY_SIZE(dvfs_cpu_logic_table))