[PATCH 0/2] igepv2: Enable WiFi and Heartbeat LED

2010-02-14 Thread Jonas Zetterberg


Some patches for the IGEPv2 board to enable WiFi and Heartbeat LED. 
Patches are completely contained within board configuration file.


Anders Hedlund (1):
  IGEPv2: Added WIFI support

Jonas Zetterberg (1):
  IGEPv2: Use Red Led1 as Heartbeat if configured

 arch/arm/mach-omap2/board-igep0020.c |   68 
+-

 1 files changed, 67 insertions(+), 1 deletions(-)

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 1/2] IGEPv2: Added WIFI support

2010-02-14 Thread Jonas Zetterberg


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

Signed-off-by: Anders Hedlund anders.j.hedl...@gmail.com
Signed-off-by: Jonas Zetterberg j...@jozz.se
---
 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 721a1f6..00ea2d6 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			= 185,
+		.max_uV			= 315,
+		.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,
 
 };
@@ -446,6 +469,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)



[PATCH 2/2] IGEPv2: Use Red Led1 as Heartbeat if configured

2010-02-14 Thread Jonas Zetterberg


If not configured it will be exported as normal GPIO led.

Signed-off-by: Jonas Zetterberg j...@jozz.se
---
 arch/arm/mach-omap2/board-igep0020.c |   30 --
 1 files changed, 28 insertions(+), 2 deletions(-)


diff --git a/arch/arm/mach-omap2/board-igep0020.c b/arch/arm/mach-omap2/board-igep0020.c
index 00ea2d6..9958987 100644
--- a/arch/arm/mach-omap2/board-igep0020.c
+++ b/arch/arm/mach-omap2/board-igep0020.c
@@ -16,6 +16,7 @@
 #include linux/clk.h
 #include linux/io.h
 #include linux/gpio.h
+#include linux/leds.h
 #include linux/interrupt.h
 
 #include linux/regulator/machine.h
@@ -354,9 +355,34 @@ static void __init igep2_display_init(void)
 	gpio_direction_output(IGEP2_GPIO_DVI_PUP, 1))
 		pr_err(IGEP v2: Could not obtain gpio GPIO_DVI_PUP\n);
 }
+#ifdef CONFIG_LEDS_TRIGGERS
+static struct gpio_led gpio_leds[] = {
+	{
+		.name = GPIO_LED1_RED,
+		.default_trigger = heartbeat,
+		.gpio = IGEP2_GPIO_LED1_RED,
+	},
+};
+
+static struct gpio_led_platform_data gpio_leds_info = {
+	.leds   = gpio_leds,
+	.num_leds   = ARRAY_SIZE(gpio_leds),
+};
+
+static struct platform_device leds_gpio = {
+	 .name   = leds-gpio,
+	 .id = -1,
+	 .dev= {
+		 .platform_data  =  gpio_leds_info,
+	},
+};
+#endif
 
 static struct platform_device *igep2_devices[] __initdata = {
 	igep2_dss_device,
+#ifdef CONFIG_LEDS_TRIGGERS
+	leds_gpio,
+#endif
 };
 
 static void __init igep2_init_irq(void)
@@ -462,14 +488,14 @@ static void __init igep2_init(void)
 		gpio_set_value(IGEP2_GPIO_LED0_GREEN, 0);
 	} else
 		pr_warning(IGEP v2: Could not obtain gpio GPIO_LED0_GREEN\n);
-
+#ifndef CONFIG_LEDS_TRIGGERS
 	if ((gpio_request(IGEP2_GPIO_LED1_RED, GPIO_LED1_RED) == 0) 
 	(gpio_direction_output(IGEP2_GPIO_LED1_RED, 1) == 0)) {
 		gpio_export(IGEP2_GPIO_LED1_RED, 0);
 		gpio_set_value(IGEP2_GPIO_LED1_RED, 0);
 	} else
 		pr_warning(IGEP v2: Could not obtain gpio GPIO_LED1_RED\n);
-
+#endif
 	/* 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)) {



Which ARM toolchain for OMAP35x?

2010-02-14 Thread Peter Barada
What's a known good toolcahin for linux-omap development?

I'm currently using CodeSroucery 2009q1-203 and wondering if there's a
better toolchain or if people have had problems using the the
2009q1-203 toolchain.

Thanks in advance!
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/4 RFC]OMAP:GPIO: Make GPIO an early init device

2010-02-14 Thread Paul Walmsley
On Fri, 12 Feb 2010, Paul Walmsley wrote:

 On Fri, 12 Feb 2010, Varadarajan, Charulatha wrote:
 
OMAP: Convert GPIO into a early driver
 
 The above patch appears to be missing.  Could you please re-send?

This patch was too big for the mailing list, so it's been posted here:

http://www.pwsan.com/omap/patches/gpio/0002-OMAP-GPIO-split-omap1-and-omap2.patch


- Paul
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: [PATCH 0/2 RFC]OMAP3430: hwmod FW for GPIO

2010-02-14 Thread Nayak, Rajendra

 -Original Message-
 From: linux-omap-ow...@vger.kernel.org 
 [mailto:linux-omap-ow...@vger.kernel.org] On Behalf Of Paul Walmsley
 Sent: Saturday, February 13, 2010 3:31 AM
 To: Varadarajan, Charulatha
 Cc: linux-omap@vger.kernel.org; t...@atomide.com; 
 khil...@deeprootsystems.com
 Subject: Re: [PATCH 0/2 RFC]OMAP3430: hwmod FW for GPIO
 
 By the way:
 
 On Fri, 12 Feb 2010, Varadarajan, Charulatha wrote:
 
  They are boot tested on SDP 3430 and compile tested
  for OMAP 2420 and 2430.
 
 This part is really offensively misleading.  It does not 
 matter whether 
 the code has been compile-tested on OMAP24xx if it could 
 never actually 
 run on OMAP24xx.

Charu,

You can mention explicitely in the cover letter that these patches
would break omap2 functionality, since no hwmod struct's are added
for omap2. I agree with Paul that saying they are compile tested might
mislead someone in believing that these patches are tested on omap2.

regards,
Rajendra

 
 
 - Paul
 --
 To unsubscribe from this list: send the line unsubscribe 
 linux-omap in
 the body of a message to majord...@vger.kernel.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html
 --
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: Moving board patches from DSS2 to linux-omap

2010-02-14 Thread Tomi Valkeinen
On Sat, 2010-02-13 at 11:43 +0100, ext Hiremath, Vaibhav wrote:
  -Original Message-
  From: Hiremath, Vaibhav
  Sent: Saturday, February 13, 2010 4:04 PM
  To: 'Tomi Valkeinen'; ext Tony Lindgren
  Cc: ext Mike Rapoport; linux-omap@vger.kernel.org
  Subject: RE: Moving board patches from DSS2 to linux-omap
  
  
   -Original Message-
   From: Tomi Valkeinen [mailto:tomi.valkei...@nokia.com]
   Sent: Friday, February 12, 2010 4:14 PM
   To: ext Tony Lindgren
   Cc: ext Mike Rapoport; Hiremath, Vaibhav; linux-
  o...@vger.kernel.org
   Subject: Re: Moving board patches from DSS2 to linux-omap
  
   On Thu, 2010-02-11 at 19:52 +0100, ext Tony Lindgren wrote:
* Tomi Valkeinen tomi.valkei...@nokia.com [100211 03:59]:
 On Thu, 2010-02-11 at 12:50 +0100, ext Mike Rapoport wrote:
  Tomi Valkeinen wrote:
   Hi,
  
   As discussed previously, board file changes in DSS2 tree
   cause conflicts
   with linux-omap easily. There are currently three board
  file
   patches in
   DSS2's for-next branch:
  
   722a97e4594b2041bbf18d95a913ba6dfaca87f2 omap3: cm-t35:
  add
   DSS2 display support
   7a56267e775e469c64521179ccc958c8bb661dbf OMAP: AM3517:
   Enable DSS2 for AM3517EVM board
   40e4e67c6dabcb9897b6823cce2297d6c3e78bbd OMAP: Enable DSS2
   for OMAP3EVM board
  
   The problem here is of course that DSS2 tree may contain
   unmerged panel
   drivers, and those board file changes try to use these new
   panel
   drivers.
   
OK, Tomi, can you please set up a banch against mainline -rc7
  with
whatever board-*.c dss2 patches you want me to pull? I'll pull
   them
into omap-for-linus, and rebase omap for-next on those.
  
   Here:
  
   git://gitorious.org/linux-omap-dss2/linux.git for-tony
  
   I removed the defconfig changes from the patches, and compile
   tested.
   I'll add the defconfig changes as separate patches in my tree, and
   I'll
   push them to Linus only after the board changes from Tony's tree
   have
   gone through.
  
  [Hiremath, Vaibhav] Tomi,
  
  I have pulled in for-tony branch and validated it on OAMP3EVM (with
  omap3_defconfig) and AM3517EVM without any issues.
  
 [Hiremath, Vaibhav] Missed to mention one point, 
 Tomi,
 Probably you have not merged sharp LQ043T1DG01 panel support patch required 
 for AM3517?
 
 Can you merge that patch also?

I have that patch in my tree. It's been there for some time. Perhaps I
forgot to email back about that...

  Do you need any help here? Do you want me to separate defconfig
  patches for you?

I separated the defconfig change from the board file changes, and made
separate patches from them. They are in my master branch, and they apply
cleanly, so I think everything is fine.

 Tomi


--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 00/17] OMAP DSS2 model restructuring

2010-02-14 Thread Tomi Valkeinen
On Sat, 2010-02-13 at 16:34 +0100, ext Grazvydas Ignotas wrote:
 On Mon, Feb 8, 2010 at 5:57 PM, Tomi Valkeinen tomi.valkei...@nokia.com 
 wrote:
  Here are a bunch of patches that change the DSS2 driver's driver model a 
  bit.
  This change was triggered by trying to support new hardware, and realizing 
  that
  the current model just won't work.
 
  Currently the omapdss driver is in control of most aspects of the DSS, and
  omapdss calls necessary functions in display drivers. I made it that way to
  keep the display drivers simple, and I, naively, thought that it will work
  because the display panels are using standard bus interfaces and thus will 
  be
  very similar. I was so wrong =).
 
  This patch set moves the control to the display driver. The display driver 
  then
  calls omapdss functions to perform whatever deed is needed at that time. 
  This
  will make display drivers slightly more complex, but it will be easier to
  control the hardware properly with strange or complex display devices.
 
  As a simple example, let's look at the update function.
 
  Currently user space app issues OMAPFB_UPDATE_WINDOW ioctl, and omapfb 
  driver
  then calls update() in corresponding dss device struct, which goes to 
  omapdss.
  omapdss will configure the update, calling the panel driver if needed.
 
  After these patches, omapfb will call update() in the panel driver. The 
  panel
  driver will then call functions in omapdss to setup the update, start the
  update, and the panel driver will eventually get a callback informing that 
  the
  update is done.
 
  These patches are still under work, but my basic tests on 3430SDP board 
  seems
  to work ok.
 
  The patches can also be found from
  http://gitorious.org/linux-omap-dss2/linux work branch
 
 Tested those along with the other series, seems to work fine on
 pandora too. Panel callbacks like set_mirror
 also work now, thanks.
 
 Tested-by: Grazvydas Ignotas nota...@gmail.com

Ok, thanks!

 Tomi


--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html