diff --git a/arch/arm/mach-rk29/board-rk29-a22.c b/arch/arm/mach-rk29/board-rk29-a22.c index 0bf00da5fdff..d86312438136 100755 --- a/arch/arm/mach-rk29/board-rk29-a22.c +++ b/arch/arm/mach-rk29/board-rk29-a22.c @@ -654,7 +654,7 @@ int wm831x_post_init(struct wm831x *parm) dcdc = regulator_get(NULL, "dcdc3"); // 1th IO regulator_set_voltage(dcdc,3000000,3000000); - regulator_set_suspend_voltage(dcdc, 3000000); + regulator_set_suspend_voltage(dcdc, 2800000); regulator_enable(dcdc); printk("%s set dcdc3=%dmV end\n", __FUNCTION__, regulator_get_voltage(dcdc)); regulator_put(dcdc); diff --git a/arch/arm/mach-rk29/spi_sram.c b/arch/arm/mach-rk29/spi_sram.c index 9cb8299f60ff..6805cd67267f 100755 --- a/arch/arm/mach-rk29/spi_sram.c +++ b/arch/arm/mach-rk29/spi_sram.c @@ -471,21 +471,30 @@ int __sramdata crumode; //static GRF_REG_SAVE __sramdata pm_grf; static void pm_keygpio_prepare(void) { - gpio6_pull = grf_readl(GRF_GPIO6_PULL); gpio2_pull = grf_readl(GRF_GPIO2_PULL); - } - void pm_keygpio_suspend(void) + void pm_keygpio_sdk_suspend(void) { grf_writel(gpio6_pull|0x7f,GRF_GPIO6_PULL);//key pullup/pulldown disable grf_writel(gpio2_pull|0x00000f30,GRF_GPIO2_PULL); } - void pm_keygpio_resume(void) + void pm_keygpio_sdk_resume(void) { grf_writel(gpio6_pull,GRF_GPIO6_PULL);//key pullup/pulldown enable grf_writel(gpio2_pull,GRF_GPIO2_PULL); } + void pm_keygpio_a22_suspend(void) +{ + grf_writel(gpio6_pull|0x7f,GRF_GPIO6_PULL);//key pullup/pulldown disable + grf_writel(gpio2_pull|0x00000900,GRF_GPIO2_PULL); +} + void pm_keygpio_a22_resume(void) +{ + grf_writel(gpio6_pull,GRF_GPIO6_PULL);//key pullup/pulldown enable + grf_writel(gpio2_pull,GRF_GPIO2_PULL); +} + static void pm_spi_gpio_prepare(void) { @@ -542,7 +551,11 @@ void pm_gpio_suspend(void) { pm_spi_gpio_suspend(); // spi pullup/pulldown disable.... #if defined(CONFIG_MACH_RK29_PHONESDK) - { pm_keygpio_suspend();// key pullup/pulldown disable..... + { pm_keygpio_sdk_suspend();// key pullup/pulldown disable..... + } + #endif + #if defined(CONFIG_MACH_RK29_A22) + { pm_keygpio_a22_suspend();// key pullup/pulldown disable..... } #endif } @@ -550,7 +563,11 @@ void pm_gpio_resume(void) { pm_spi_gpio_resume(); // spi pullup/pulldown enable..... #if defined(CONFIG_MACH_RK29_PHONESDK) - { pm_keygpio_resume();// key pullup/pulldown enable..... + { pm_keygpio_sdk_resume();// key pullup/pulldown enable..... + } + #endif + #if defined(CONFIG_MACH_RK29_A22) + { pm_keygpio_a22_resume();// key pullup/pulldown enable..... } #endif }