From: 张晴 <zhangqing@rock-chips.com>
Date: Fri, 26 Aug 2011 03:11:20 +0000 (-0700)
Subject: A22:set VCC 2.8V when in sleep,set key gpio pullup/down disable when in sleep
X-Git-Tag: firefly_0821_release~9767^2~96
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=c4e1ccfd7d68780096334cf9b39c92d4ea9f9b1f;p=firefly-linux-kernel-4.4.55.git

A22:set VCC 2.8V when in sleep,set key gpio pullup/down disable when in sleep
---

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,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
 }