diff options
author | wahsu <wahsu@nvidia.com> | 2014-04-21 20:09:58 +0530 |
---|---|---|
committer | Mandar Padmawar <mpadmawar@nvidia.com> | 2014-04-23 07:54:01 -0700 |
commit | 7defa0956f380999706574d21613444f59a81a14 (patch) | |
tree | ec89955ad21addb920c3abe84419ba6e42764b6e /drivers/power | |
parent | dfc5b4a3b1e57fffcc59db8d81b837db975261c5 (diff) |
power: reset: palmas: configure system for reset before issuing reset
Configure the Palmas for SW cold reset before issuing the COLDRST_SW.
bug 1483874
Change-Id: Ic375e5225f7c88982fbaed33dfd3c3b4f24208e7
Signed-off-by: wahsu <wahsu@nvidia.com>
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/398999
(cherry picked from commit 11ed317a31f17ab28c8f3f72eb463f12cbbcbb4a)
Reviewed-on: http://git-master/r/400007
Diffstat (limited to 'drivers/power')
-rw-r--r-- | drivers/power/reset/palmas-poweroff.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/power/reset/palmas-poweroff.c b/drivers/power/reset/palmas-poweroff.c index aa55882f2d58..6108d1a72c9d 100644 --- a/drivers/power/reset/palmas-poweroff.c +++ b/drivers/power/reset/palmas-poweroff.c @@ -205,6 +205,15 @@ static void palmas_power_reset(void *drv_data) } ret = palmas_update_bits(palmas, PALMAS_PMU_CONTROL_BASE, + PALMAS_SWOFF_COLDRST, PALMAS_SWOFF_COLDRST_SW_RST, + PALMAS_SWOFF_COLDRST_SW_RST); + if (ret < 0) { + dev_err(palmas_pm->dev, + "SWOFF_COLDRST update failed: %d\n", ret); + goto reset_direct; + } + + ret = palmas_update_bits(palmas, PALMAS_PMU_CONTROL_BASE, PALMAS_DEV_CTRL, PALMAS_DEV_CTRL_SW_RST, PALMAS_DEV_CTRL_SW_RST); if (ret < 0) { @@ -218,6 +227,9 @@ static void palmas_power_reset(void *drv_data) reset_direct: dev_info(palmas_pm->dev, "Power reset the device\n"); palmas_update_bits(palmas, PALMAS_PMU_CONTROL_BASE, + PALMAS_SWOFF_COLDRST, PALMAS_SWOFF_COLDRST_SW_RST, + PALMAS_SWOFF_COLDRST_SW_RST); + palmas_update_bits(palmas, PALMAS_PMU_CONTROL_BASE, PALMAS_DEV_CTRL, 0x2, 0x2); } |