linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Keerthy <j-keerthy@ti.com>
To: <tony@atomide.com>, <broonie@kernel.org>, <devicetree@vger.kernel.org>
Cc: <linux-omap@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<t-kristo@ti.com>, <russ.dill@ti.com>, <robh+dt@kernel.org>,
	<mark.rutland@arm.com>, <j-keerthy@ti.com>,
	<linux@armlinux.org.uk>, Dave Gerlach <d-gerlach@ti.com>
Subject: [PATCH 8/9] regulator: tps65218: do not disable DCDC3 during poweroff on broken PMICs
Date: Mon, 20 Jun 2016 14:13:37 +0530	[thread overview]
Message-ID: <1466412218-5906-9-git-send-email-j-keerthy@ti.com> (raw)
In-Reply-To: <1466412218-5906-1-git-send-email-j-keerthy@ti.com>

From: Tero Kristo <t-kristo@ti.com>

Some versions of tps65218 do not seem to support poweroff modes properly
if DCDC3 regulator is shut-down. Thus, keep it enabled even during
poweroff if the version info matches the broken silicon revision.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
Signed-off-by: Keerthy <j-keerthy@ti.com>
---
 drivers/regulator/tps65218-regulator.c | 8 ++++++++
 include/linux/mfd/tps65218.h           | 5 +++++
 2 files changed, 13 insertions(+)

diff --git a/drivers/regulator/tps65218-regulator.c b/drivers/regulator/tps65218-regulator.c
index d1e631d..eb0f5b1 100644
--- a/drivers/regulator/tps65218-regulator.c
+++ b/drivers/regulator/tps65218-regulator.c
@@ -180,6 +180,14 @@ static int tps65218_pmic_set_suspend_disable(struct regulator_dev *dev)
 	if (rid < TPS65218_DCDC_1 || rid > TPS65218_LDO_1)
 		return -EINVAL;
 
+	/*
+	 * Certain revisions of TPS65218 will need to have DCDC3 regulator
+	 * enabled always, otherwise an immediate system reboot will occur
+	 * during poweroff.
+	 */
+	if (rid == TPS65218_DCDC_3 && tps->rev == TPS65218_REV_2_1)
+		return 0;
+
 	if (!tps->info[rid]->strobe) {
 		if (rid == TPS65218_DCDC_3)
 			tps->info[rid]->strobe = 3;
diff --git a/include/linux/mfd/tps65218.h b/include/linux/mfd/tps65218.h
index 85e464e..d1db952 100644
--- a/include/linux/mfd/tps65218.h
+++ b/include/linux/mfd/tps65218.h
@@ -63,6 +63,11 @@
 #define TPS65218_CHIPID_CHIP_MASK	0xF8
 #define TPS65218_CHIPID_REV_MASK	0x07
 
+#define TPS65218_REV_1_0		0x0
+#define TPS65218_REV_1_1		0x1
+#define TPS65218_REV_2_0		0x2
+#define TPS65218_REV_2_1		0x3
+
 #define TPS65218_INT1_VPRG		BIT(5)
 #define TPS65218_INT1_AC		BIT(4)
 #define TPS65218_INT1_PB		BIT(3)
-- 
1.9.1

  parent reply	other threads:[~2016-06-20  8:50 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-20  8:43 [PATCH 0/9] regulator: Enable suspend configuration Keerthy
2016-06-20  8:43 ` [PATCH 1/9] regulator: tps65217: " Keerthy
2016-06-21 19:08   ` Mark Brown
2016-06-22 10:14     ` Keerthy
2016-06-22 10:16       ` Mark Brown
2016-06-22 10:26         ` Keerthy
2016-06-23 10:26           ` Mark Brown
2016-06-23 10:32             ` Keerthy
2016-06-20  8:43 ` [PATCH 2/9] regulator: of: setup initial suspend state Keerthy
2016-06-22 15:29   ` Applied "regulator: of: setup initial suspend state" to the regulator tree Mark Brown
2016-06-20  8:43 ` [PATCH 3/9] regulator: tps65218: Enable suspend configuration Keerthy
2016-06-27 17:00   ` Applied "regulator: tps65218: Enable suspend configuration" to the regulator tree Mark Brown
2016-06-20  8:43 ` [PATCH 4/9] ARM: dts: AM437X-GP-EVM: AM437X-SK-EVM: Make dcdc3 dcdc5 and dcdc6 enable during suspend Keerthy
2016-06-21 11:43   ` Tony Lindgren
2016-06-21 11:46   ` Tony Lindgren
2016-06-20  8:43 ` [PATCH 5/9] regulator: tps65218: force set power-up/down strobe to 3 for dcdc3 Keerthy
2016-06-27 17:00   ` Applied "regulator: tps65218: force set power-up/down strobe to 3 for dcdc3" to the regulator tree Mark Brown
2016-06-20  8:43 ` [PATCH 6/9] ARM: dts: am437x-gp-evm: disable DDR regulator in rtc-only/poweroff mode Keerthy
2016-06-20  8:43 ` [PATCH 7/9] mfd: tps65218: add version check to the PMIC probe Keerthy
2016-06-20  8:45   ` Keerthy
2016-08-10 20:04   ` Applied "mfd: tps65218: add version check to the PMIC probe" to the regulator tree Mark Brown
2016-08-31  8:31     ` Lee Jones
2016-08-31 11:41       ` Mark Brown
2016-08-31 14:50         ` Lee Jones
2016-08-31 16:02           ` Mark Brown
2016-09-01  8:23             ` Lee Jones
2016-09-01  8:54               ` Mark Brown
2016-09-01  9:34                 ` Lee Jones
2016-08-31 17:57       ` Russell King - ARM Linux
2016-09-01  8:18         ` Lee Jones
2016-09-01 10:17           ` Russell King - ARM Linux
2016-09-01 11:19             ` Lee Jones
2016-09-01 14:23               ` Russell King - ARM Linux
2016-09-01 14:53                 ` Lee Jones
2016-06-20  8:43 ` Keerthy [this message]
2016-08-10 20:04   ` Applied "regulator: tps65218: do not disable DCDC3 during poweroff on broken PMICs" " Mark Brown
2016-08-31 15:01     ` Lee Jones
2016-09-01 10:06       ` Mark Brown
2016-06-20  8:43 ` [PATCH 9/9] ARM: dts: am437x-sk-evm: disable DDR regulator in rtc-only/poweroff mode Keerthy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1466412218-5906-9-git-send-email-j-keerthy@ti.com \
    --to=j-keerthy@ti.com \
    --cc=broonie@kernel.org \
    --cc=d-gerlach@ti.com \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=mark.rutland@arm.com \
    --cc=robh+dt@kernel.org \
    --cc=russ.dill@ti.com \
    --cc=t-kristo@ti.com \
    --cc=tony@atomide.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).