diff options
| author | mattis fjallstrom <mattis@acm.org> | 2015-09-22 15:53:03 -0700 |
|---|---|---|
| committer | mattis fjallstrom <mattis@acm.org> | 2015-11-20 14:24:46 -0800 |
| commit | 4f911e64b91df9adde8137cfa408639167cf250a (patch) | |
| tree | 40b1a87ec950ea9b85c8d134704df671d13f4397 /drivers/mfd/tps65910.c | |
| parent | a1d50659148c062e73d526a9230802adec2941bb (diff) | |
| download | olio-linux-3.10-4f911e64b91df9adde8137cfa408639167cf250a.tar.xz olio-linux-3.10-4f911e64b91df9adde8137cfa408639167cf250a.zip | |
First steps at making cpufreq scale properly again.
Change-Id: Ibe4a4f1440d1b7dd2de9a285d728834eb0b87e66
Diffstat (limited to 'drivers/mfd/tps65910.c')
| -rw-r--r-- | drivers/mfd/tps65910.c | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/drivers/mfd/tps65910.c b/drivers/mfd/tps65910.c index 1e7ef2a2e35..0e0412b3bfb 100644 --- a/drivers/mfd/tps65910.c +++ b/drivers/mfd/tps65910.c @@ -363,8 +363,13 @@ static int tps65910_sleepinit(struct tps65910 *tps65910, dev = tps65910->dev; - if (!pmic_pdata->en_dev_slp) - return 0; + /* set polarity of SLLEEPSIG requst ot enter OFF mode */ + ret = tps65910_reg_set_bits(tps65910, TPS65910_DEVCTRL2, + DEVCTRL2_SLEEPSIG_POL_MASK); + if (ret < 0) { + dev_err(dev, "set sleepsig_pol failed: %d\n", ret); + goto err_sleep_init; + } /* * set polarity of SLLEEPSIG requst to enter OFF mode @@ -385,6 +390,18 @@ static int tps65910_sleepinit(struct tps65910 *tps65910, goto err_sleep_init; } + ret = tps65910_reg_set_bits(tps65910, TPS65910_SLEEP_KEEP_RES_ON, + SLEEP_KEEP_RES_ON_CLKOUT32K_KEEPON_MASK); + if (ret < 0) { + dev_err(dev, "set sleep_keep_res_on failed: %d\n", ret); + goto err_sleep_init; + } + +/* Return if there is no sleep keepon data. */ +/* This can't really happen... */ +/* if (pmic_pdata.slp_keepon) */ +/* return 0; */ + if (pmic_pdata->slp_keepon.therm_keepon) { ret = tps65910_reg_set_bits(tps65910, TPS65910_SLEEP_KEEP_RES_ON, |