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);
//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);
{
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
}
{
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
}