All of lore.kernel.org
 help / color / mirror / Atom feed
From: Adrian Hunter <adrian.hunter@nokia.com>
To: Tony Lindgren <tony@atomide.com>
Cc: Jarkko Lavinen <jarkko.lavinen@nokia.com>,
	David Brownell <david-b@pacbell.net>,
	Adrian Hunter <adrian.hunter@nokia.com>,
	linux-omap Mailing List <linux-omap@vger.kernel.org>
Subject: [PATCH 2/6] OMAP: mmc-twl4030 support VSIM is VMMC2_IO
Date: Tue, 10 Mar 2009 11:33:09 +0200	[thread overview]
Message-ID: <20090310093309.16889.79381.sendpatchset@ahunter-laptop> (raw)
In-Reply-To: <20090310093255.16889.30509.sendpatchset@ahunter-laptop>

>From 2f6a22e9091a09fb3cbb720356116035611636b2 Mon Sep 17 00:00:00 2001
From: Adrian Hunter <adrian.hunter@nokia.com>
Date: Fri, 23 Jan 2009 11:45:49 +0200
Subject: [PATCH] OMAP: mmc-twl4030 support VSIM is VMMC2_IO

eMMC has two voltage lines, one for I/O and one for the
NAND core.  This patch allows VSIM and VMMC2 respectively,
to be used for those two.

Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com>
---
 arch/arm/mach-omap2/mmc-twl4030.c |   25 ++++++++++++++++++++++++-
 arch/arm/mach-omap2/mmc-twl4030.h |    1 +
 2 files changed, 25 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-omap2/mmc-twl4030.c b/arch/arm/mach-omap2/mmc-twl4030.c
index aeaab5a..736b039 100644
--- a/arch/arm/mach-omap2/mmc-twl4030.c
+++ b/arch/arm/mach-omap2/mmc-twl4030.c
@@ -52,6 +52,10 @@
 
 #define VMMC_DEV_GRP_P1		0x20
 
+#define VSIM_DEV_GRP		0x37
+#define VSIM_18V		0x03
+#define VSIM_DEDICATED		0x3A
+
 static u16 control_pbias_offset;
 static u16 control_devconf1_offset;
 
@@ -61,6 +65,7 @@ static struct twl_mmc_controller {
 	struct omap_mmc_platform_data	*mmc;
 	u8		twl_vmmc_dev_grp;
 	u8		twl_mmc_dedicated;
+	bool		vsim_18v;
 	char		name[HSMMC_NAME_LEN + 1];
 } hsmmc[OMAP34XX_NR_MMC] = {
 	{
@@ -251,6 +256,19 @@ doit:
 
 	ret = twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
 					vmmc, c->twl_mmc_dedicated);
+	if (ret)
+		return ret;
+
+	if (c->vsim_18v) {
+		u8 vsim = vmmc ? VSIM_18V : 0;
+
+		ret = twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
+					   dev_grp_val, VSIM_DEV_GRP);
+		if (ret)
+			return ret;
+		ret = twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
+					   vsim, VSIM_DEDICATED);
+	}
 
 	return ret;
 }
@@ -437,7 +455,12 @@ void __init twl4030_mmc_init(struct twl4030_hsmmc_info *controllers)
 			mmc->slots[0].set_power = twl_mmc2_set_power;
 			if (c->transceiver)
 				mmc->slots[0].ocr_mask = MMC2_OCR;
-			else
+			else if (c->vsim_18v) {
+				mmc->slots[0].ocr_mask = MMC_VDD_27_28 |
+					MMC_VDD_28_29 | MMC_VDD_29_30 |
+					MMC_VDD_30_31 | MMC_VDD_31_32;
+				twl->vsim_18v = true;
+			} else
 				mmc->slots[0].ocr_mask = MMC_VDD_165_195;
 			break;
 		case 3:
diff --git a/arch/arm/mach-omap2/mmc-twl4030.h b/arch/arm/mach-omap2/mmc-twl4030.h
index 21d3572..087a969 100644
--- a/arch/arm/mach-omap2/mmc-twl4030.h
+++ b/arch/arm/mach-omap2/mmc-twl4030.h
@@ -11,6 +11,7 @@ struct twl4030_hsmmc_info {
 	u8	wires;		/* 1/4/8 wires */
 	bool	transceiver;	/* MMC-2 option */
 	bool	ext_clock;	/* use external pin for input clock */
+	bool	vsim_18v;	/* MMC-2 option */
 	int	gpio_cd;	/* or -EINVAL */
 	int	gpio_wp;	/* or -EINVAL */
 	struct device *dev;	/* returned: pointer to mmc adapter */
-- 
1.5.6.3


  parent reply	other threads:[~2009-03-10  9:33 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-10  9:32 [PATCH 0/6] mmc-twl4030 patches for RX51 Adrian Hunter
2009-03-10  9:33 ` [PATCH 1/6] OMAP: mmc-twl4030 fix name buffer length Adrian Hunter
2009-03-10 17:28   ` David Brownell
2009-03-10 19:17   ` [APPLIED] <span class="quote">> [PATCH] OMAP: mmc-twl4030 fix name buffer length</span> Tony Lindgren
2009-03-10  9:33 ` Adrian Hunter [this message]
2009-03-10 17:46   ` [PATCH 2/6] OMAP: mmc-twl4030 support VSIM is VMMC2_IO David Brownell
2009-03-10  9:33 ` [PATCH 3/6] OMAP: mmc-twl4030 add cover switch Adrian Hunter
2009-03-10 17:50   ` David Brownell
2009-03-10 19:29     ` Tony Lindgren
2009-03-10  9:33 ` [PATCH 4/6] OMAP: mmc-twl4030 allow arbitrary slot names Adrian Hunter
2009-03-10 17:56   ` David Brownell
2009-03-10 19:22   ` [APPLIED] <span class="quote">> [PATCH] OMAP: mmc-twl4030 allow arbitrary slot names</span> Tony Lindgren
2009-03-10  9:33 ` [PATCH 6/6] OMAP: mmc-twl4030: Add VAUX3 support Adrian Hunter
     [not found] ` <20090310093329.16889.76098.sendpatchset@ahunter-laptop>
2009-03-10 17:58   ` [PATCH 5/6] RX51: adjust hsmmc info David Brownell
2009-03-10 19:30     ` Tony Lindgren

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=20090310093309.16889.79381.sendpatchset@ahunter-laptop \
    --to=adrian.hunter@nokia.com \
    --cc=david-b@pacbell.net \
    --cc=jarkko.lavinen@nokia.com \
    --cc=linux-omap@vger.kernel.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.