public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
From: Tony Lindgren <tony@atomide.com>
To: linux-arm-kernel@lists.infradead.org
Cc: Jonas Zetterberg <jozz@jozz.se>,
	linux-omap@vger.kernel.org,
	Anders Hedlund <anders.j.hedlund@gmail.com>
Subject: [PATCH 16/23] IGEPv2: Added WIFI support
Date: Wed, 17 Feb 2010 17:32:30 -0800	[thread overview]
Message-ID: <20100218013230.32075.7435.stgit@baageli.muru.com> (raw)
In-Reply-To: <20100218013012.32075.43788.stgit@baageli.muru.com>

From: Jonas Zetterberg <jozz@jozz.se>

Enabled VMMC2 LDO voltage regulator on TWL4030.
Added GPIO's (power down and reset) for WIFI chip.

Signed-off-by: Anders Hedlund <anders.j.hedlund@gmail.com>
Signed-off-by: Jonas Zetterberg <jozz@jozz.se>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/mach-omap2/board-igep0020.c |   40 ++++++++++++++++++++++++++++++++++
 1 files changed, 40 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/board-igep0020.c b/arch/arm/mach-omap2/board-igep0020.c
index 3d1fde7..4a5d663 100644
--- a/arch/arm/mach-omap2/board-igep0020.c
+++ b/arch/arm/mach-omap2/board-igep0020.c
@@ -42,6 +42,8 @@
 #define IGEP2_GPIO_LED0_GREEN 	27
 #define IGEP2_GPIO_LED1_RED   	28
 #define IGEP2_GPIO_DVI_PUP	170
+#define IGEP2_GPIO_WIFI_NPD 	94
+#define IGEP2_GPIO_WIFI_NRESET 	95
 
 #if defined(CONFIG_MTD_ONENAND_OMAP2) || \
 	defined(CONFIG_MTD_ONENAND_OMAP2_MODULE)
@@ -209,6 +211,10 @@ static struct regulator_consumer_supply igep2_vmmc1_supply = {
 	.supply		= "vmmc",
 };
 
+static struct regulator_consumer_supply igep2_vmmc2_supply = {
+	.supply		= "vmmc",
+};
+
 /* VMMC1 for OMAP VDD_MMC1 (i/o) and MMC1 card */
 static struct regulator_init_data igep2_vmmc1 = {
 	.constraints = {
@@ -224,6 +230,21 @@ static struct regulator_init_data igep2_vmmc1 = {
 	.consumer_supplies      = &igep2_vmmc1_supply,
 };
 
+/* VMMC2 for OMAP VDD_MMC2 (i/o) and MMC2 WIFI */
+static struct regulator_init_data igep2_vmmc2 = {
+	.constraints = {
+		.min_uV			= 1850000,
+		.max_uV			= 3150000,
+		.valid_modes_mask	= REGULATOR_MODE_NORMAL
+					| REGULATOR_MODE_STANDBY,
+		.valid_ops_mask		= REGULATOR_CHANGE_VOLTAGE
+					| REGULATOR_CHANGE_MODE
+					| REGULATOR_CHANGE_STATUS,
+	},
+	.num_consumer_supplies  = 1,
+	.consumer_supplies      = &igep2_vmmc2_supply,
+};
+
 static struct omap2_hsmmc_info mmc[] = {
 	{
 		.mmc		= 1,
@@ -251,6 +272,7 @@ static int igep2_twl_gpio_setup(struct device *dev,
 	 * regulators will be set up only *after* we return.
 	*/
 	igep2_vmmc1_supply.dev = mmc[0].dev;
+	igep2_vmmc2_supply.dev = mmc[1].dev;
 
 	return 0;
 };
@@ -364,6 +386,7 @@ static struct twl4030_platform_data igep2_twldata = {
 	.codec		= &igep2_codec_data,
 	.gpio		= &igep2_gpio_data,
 	.vmmc1          = &igep2_vmmc1,
+	.vmmc2		= &igep2_vmmc2,
 	.vpll2		= &igep2_vpll2,
 
 };
@@ -440,6 +463,23 @@ static void __init igep2_init(void)
 		gpio_set_value(IGEP2_GPIO_LED1_RED, 0);
 	} else
 		pr_warning("IGEP v2: Could not obtain gpio GPIO_LED1_RED\n");
+
+	/* GPIO W-LAN + Bluetooth combo module */
+	if ((gpio_request(IGEP2_GPIO_WIFI_NPD, "GPIO_WIFI_NPD") == 0) &&
+	    (gpio_direction_output(IGEP2_GPIO_WIFI_NPD, 1) == 0)) {
+		gpio_export(IGEP2_GPIO_WIFI_NPD, 0);
+/* 		gpio_set_value(IGEP2_GPIO_WIFI_NPD, 0); */
+	} else
+		pr_warning("IGEP v2: Could not obtain gpio GPIO_WIFI_NPD\n");
+
+	if ((gpio_request(IGEP2_GPIO_WIFI_NRESET, "GPIO_WIFI_NRESET") == 0) &&
+	    (gpio_direction_output(IGEP2_GPIO_WIFI_NRESET, 1) == 0)) {
+		gpio_export(IGEP2_GPIO_WIFI_NRESET, 0);
+		gpio_set_value(IGEP2_GPIO_WIFI_NRESET, 0);
+		udelay(10);
+		gpio_set_value(IGEP2_GPIO_WIFI_NRESET, 1);
+	} else
+		pr_warning("IGEP v2: Could not obtain gpio GPIO_WIFI_NRESET\n");
 }
 
 static void __init igep2_map_io(void)


  parent reply	other threads:[~2010-02-18  1:31 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-18  1:31 [PATCH 00/23] Series short description Tony Lindgren
2010-02-18  1:31 ` [PATCH 01/23] omap: zoom3: enable ehci support Tony Lindgren
2010-02-18  1:31 ` [PATCH 02/23] omap3evm: Add mux settings for keypad Tony Lindgren
2010-02-18  1:31 ` [PATCH 03/23] omap3evm: Fixes after moving to matrix_keypad Tony Lindgren
2010-02-18  1:31 ` [PATCH 04/23] omap3evm: Configure GPIO175 for touchscreen PEN_IRQ Tony Lindgren
2010-02-18  1:32 ` [PATCH 05/23] OMAP: pandora: add DSS2 support and related regulators Tony Lindgren
2010-02-18  1:32 ` [PATCH 06/23] omap3: pandora: update regulator setup Tony Lindgren
2010-02-18  1:32 ` [PATCH 07/23] omap3: pandora: update defconfig Tony Lindgren
2010-02-18  1:32 ` [PATCH 08/23] omap3: Add platform data for the twl4030_codec MFD on IGEP v2 Tony Lindgren
2010-02-18  1:32 ` [PATCH 09/23] omap3: Fix typo on IGEP v2 board Tony Lindgren
2010-02-18  1:32 ` [PATCH 10/23] omap3: Add platform init code for EHCI driver on IGEP v2 Tony Lindgren
2010-02-18  1:32 ` [PATCH 11/23] omap3: Enable DSS2 for IGEP v2 board Tony Lindgren
2010-02-18  1:32 ` [PATCH 12/23] omap3: Add support for flash on " Tony Lindgren
2010-02-18  1:32 ` [PATCH 13/23] ARM: OMAP3: SDRC: add timing data for Numonyx M65KxxxxAM Tony Lindgren
2010-02-18  1:32 ` [PATCH 14/23] omap3: Use timing data for omap2_init_common_hw on IGEP v2 Tony Lindgren
2010-02-18  1:32 ` [PATCH 15/23] omap3: Update defconfig for IGEP v2 to allow new drivers andfeatures Tony Lindgren
2010-02-18  1:32 ` Tony Lindgren [this message]
2010-02-18  1:32 ` [PATCH 17/23] IGEPv2: Use Red Led1 as Heartbeat if configured Tony Lindgren
2010-02-18  1:32 ` [PATCH 18/23] AM3517: Enable basic I2C Support Tony Lindgren
2010-02-18  1:32 ` [PATCH 19/23] AM3517: Enable RTC driver support for AM3517EVM Tony Lindgren
2010-02-18  1:32 ` [PATCH 20/23] AM3517: Enable I2C-GPIO Expander " Tony Lindgren
2010-02-18  1:32 ` [PATCH 21/23] Add minimal support for DevKit8000 Tony Lindgren
2010-02-18  1:32 ` [PATCH 22/23] Add devkit8000_defconfig Tony Lindgren
2010-02-18  1:32 ` [PATCH 23/23] OMAP3EVM: PM: Update defconfig 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=20100218013230.32075.7435.stgit@baageli.muru.com \
    --to=tony@atomide.com \
    --cc=anders.j.hedlund@gmail.com \
    --cc=jozz@jozz.se \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    /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