A22:set VCC 2.8V when in sleep,set key gpio pullup/down disable when in sleep
author张晴 <zhangqing@rock-chips.com>
Fri, 26 Aug 2011 03:11:20 +0000 (20:11 -0700)
committerroot <root@lw.(none)>
Fri, 26 Aug 2011 03:44:22 +0000 (11:44 +0800)
arch/arm/mach-rk29/board-rk29-a22.c
arch/arm/mach-rk29/spi_sram.c

index 0bf00da5fdff2eeb6ca350b8a5d642976ba9cb9e..d863124381367e9c81596b88c0b00d3349b24b6e 100755 (executable)
@@ -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);
index 9cb8299f60ff4b4d2f69f893a08f39b1da17325e..6805cd67267fd1827f47ca3375eea86c52032182 100755 (executable)
@@ -471,22 +471,31 @@ 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)
 {
        pm_grf.GRF_GPIO_IOMUX[1].GPIOL_IOMUX = grf_readl(GRF_GPIO1L_IOMUX);
@@ -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
 }