add wm831x shutdown support for phonesdk

This commit is contained in:
luowei
2011-04-27 17:27:29 +08:00
parent 5a42c704dc
commit 4b4674fad1
2 changed files with 11 additions and 7 deletions

View File

@@ -547,12 +547,12 @@ struct rk29_gpio_expander_info wm831x_gpio_settinginfo[] = {
#if defined(CONFIG_MFD_WM831X)
static struct wm831x *gWm831x;
int wm831x_pre_init(struct wm831x *parm)
{
int ret;
printk("%s\n", __FUNCTION__);
gWm831x = parm;
//ILIM = 900ma
ret = wm831x_reg_read(parm, WM831X_POWER_STATE) & 0xffff;
wm831x_reg_write(parm, WM831X_POWER_STATE, (ret&0xfff8) | 0x04);
@@ -568,7 +568,6 @@ int wm831x_post_init(struct wm831x *parm)
struct regulator *dcdc;
struct regulator *ldo;
dcdc = regulator_get(NULL, "dcdc3"); // 1th IO
regulator_set_voltage(dcdc,3000000,3000000);
regulator_enable(dcdc);
@@ -3030,6 +3029,9 @@ static void rk29_pm_power_off(void)
{
printk(KERN_ERR "rk29_pm_power_off start...\n");
gpio_direction_output(POWER_ON_PIN, GPIO_LOW);
#if defined(CONFIG_MFD_WM831X)
wm831x_device_shutdown(gWm831x);
#endif
while (1);
}

View File

@@ -1796,17 +1796,19 @@ int wm831x_device_shutdown(struct wm831x *wm831x)
//goto err_irq;
}
}
#if 0
if(0 == reboot_cmd_get())
//if(0 == reboot_cmd_get())
{
if(wm831x_set_bits(wm831x, WM831X_POWER_STATE, WM831X_CHIP_ON_MASK, 0) < 0)
printk("%s wm831x_set_bits err\n", __FUNCTION__);
printk("post WM831X_POWER_STATE = 0x%x\n", wm831x_reg_read(wm831x, WM831X_POWER_STATE));
//printk("post WM831X_POWER_STATE = 0x%x\n", wm831x_reg_read(wm831x, WM831X_POWER_STATE));
}
#endif
return 0;
}
EXPORT_SYMBOL_GPL(wm831x_device_shutdown);
MODULE_DESCRIPTION("Core support for the WM831X AudioPlus PMIC");
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Mark Brown");