From c33e7700db4126ebf1ecf447d8bbd93e58814090 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E5=BC=A0=E6=99=B4?= Date: Tue, 12 Jun 2012 18:46:56 +0800 Subject: [PATCH] rk30:phone loquat:config ddr voltage --- arch/arm/mach-rk30/board-rk30-phone-loquat.c | 2 ++ arch/arm/mach-rk30/board-rk30-phone-twl60xx.c | 15 +++++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/arch/arm/mach-rk30/board-rk30-phone-loquat.c b/arch/arm/mach-rk30/board-rk30-phone-loquat.c index 0ea406d5edae..482e156d934b 100755 --- a/arch/arm/mach-rk30/board-rk30-phone-loquat.c +++ b/arch/arm/mach-rk30/board-rk30-phone-loquat.c @@ -1788,6 +1788,8 @@ static struct i2c_board_info __initdata i2c0_info[] = { #endif #ifdef CONFIG_I2C1_RK30 +#define DC3_VCC_DDR_VOL 1800000 //for vcc_lpddr2_1v8 +#define DC5_VCC_DDR_VOL 1200000 //for vcc_lpddr2_1v2 #include "board-rk30-phone-twl60xx.c" static struct i2c_board_info __initdata i2c1_info[] = { diff --git a/arch/arm/mach-rk30/board-rk30-phone-twl60xx.c b/arch/arm/mach-rk30/board-rk30-phone-twl60xx.c index 57f650be87f7..ea28129bfe28 100755 --- a/arch/arm/mach-rk30/board-rk30-phone-twl60xx.c +++ b/arch/arm/mach-rk30/board-rk30-phone-twl60xx.c @@ -54,10 +54,11 @@ int tps80032_pre_init(void){ gpio_request(PMU_POWER_SLEEP, "NULL"); gpio_direction_output(PMU_POWER_SLEEP, GPIO_LOW); - + gpio_request(PMU_CHRG_DET_N, "NULL"); gpio_direction_output(PMU_CHRG_DET_N, GPIO_HIGH); - + + twl_reg_write(0x0e,TWL_MODULE_PM_MASTER,0x5f); twl_reg_write(PREQ1_RES_ASS_A,TWL_MODULE_PM_SLAVE_RES,0x2b); twl_reg_write(PREQ1_RES_ASS_B,TWL_MODULE_PM_SLAVE_RES,0x50); twl_reg_write(PREQ1_RES_ASS_C,TWL_MODULE_PM_SLAVE_RES,0x27); @@ -143,19 +144,18 @@ int tps80032_set_init(void) udelay(100); dcdc = regulator_get(NULL, "vcc_lpddr2_1v8"); //vcc_lpddr2_1v8 - regulator_set_voltage(dcdc,1800000,1800000); + regulator_set_voltage(dcdc,DC3_VCC_DDR_VOL,DC3_VCC_DDR_VOL); regulator_enable(dcdc); // printk("%s set dcdc3 vcc_lpddr2_1v8=%dmV end\n", __func__, regulator_get_voltage(dcdc)); regulator_put(dcdc); udelay(100); - dcdc = regulator_get(NULL, "vcc_lpddr2_1v2"); - regulator_set_voltage(dcdc,1200000,1200000); + dcdc = regulator_get(NULL, "vcc_lpddr2_1v2"); //vcc_lpddr2_1v2 + regulator_set_voltage(dcdc,DC5_VCC_DDR_VOL,DC5_VCC_DDR_VOL); regulator_enable(dcdc); // printk("%s set dcdc5 vcc_lpddr2_1v2=%dmV end\n", __func__, regulator_get_voltage(dcdc)); regulator_put(dcdc); udelay(100); - ldo = regulator_get(NULL, "ldo3"); //vcc_nandflash regulator_set_voltage(ldo, 3300000, 3300000); @@ -224,6 +224,9 @@ static struct regulator_consumer_supply tps80032_smps3_supply[] = { { .supply = "vcc_lpddr2_1v8", }, + { + .supply = "vcc_ddr3", + }, }; static struct regulator_consumer_supply tps80032_smps4_supply[] = { { -- 2.34.1