Re: [PATCH v3 9/9] omap: zoom: add mmc3/wl1271 device support

2010-08-11 Thread Roger Quadros

On 08/11/2010 01:12 AM, ext Ohad Ben-Cohen wrote:

Add MMC3 support on ZOOM, which has the wl1271 device hardwired to.

The wl1271 is a 4-wire, 1.8V, embedded SDIO WLAN device with an
external IRQ line, and power-controlled by a GPIO-based fixed regulator.

Signed-off-by: Ohad Ben-Coheno...@wizery.com
---
  arch/arm/mach-omap2/board-zoom-peripherals.c |   34 ++
  1 files changed, 34 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/board-zoom-peripherals.c 
b/arch/arm/mach-omap2/board-zoom-peripherals.c
index de88635..82776bc 100644
--- a/arch/arm/mach-omap2/board-zoom-peripherals.c
+++ b/arch/arm/mach-omap2/board-zoom-peripherals.c
@@ -17,6 +17,8 @@
  #includelinux/i2c/twl.h
  #includelinux/regulator/machine.h
  #includelinux/regulator/fixed.h
+#includelinux/mmc/host.h
+#includelinux/wl12xx.h

  #includeasm/mach-types.h
  #includeasm/mach/arch.h
@@ -29,6 +31,7 @@
  #include hsmmc.h

  #define OMAP_ZOOM_WLAN_PMENA_GPIO (101)
+#define OMAP_ZOOM_WLAN_IRQ_GPIO(162)

  /* Zoom2 has Qwerty keyboard*/
  static int board_keymap[] = {
@@ -185,6 +188,28 @@ static struct platform_device omap_vwlan_device = {
},
  };

+struct wl12xx_platform_data omap_zoom_wlan_data = {
+   /* ZOOM ref clock is 26 MHz */
+   .board_ref_clock = 1,
+};
+
+static struct resource omap_zoom_wl1271_resources[] = {
+   {
+   .start = OMAP_GPIO_IRQ(OMAP_ZOOM_WLAN_IRQ_GPIO),
+   .end = OMAP_GPIO_IRQ(OMAP_ZOOM_WLAN_IRQ_GPIO),
+   .flags = IORESOURCE_IRQ,
+   }
+};
+static struct platform_device omap_zoom_wl1271 = {
+   .name   = wl1271_plat.2,
+   .id = -1,
+   .resource   = omap_zoom_wl1271_resources,
+   .num_resources  = ARRAY_SIZE(omap_zoom_wl1271_resources),
+   .dev = {
+   .platform_data =omap_zoom_wlan_data,
+   },
+};
+
  static struct omap2_hsmmc_info mmc[] __initdata = {
{
.name   = external,
@@ -202,6 +227,14 @@ static struct omap2_hsmmc_info mmc[] __initdata = {
.nonremovable   = true,
.power_saving   = true,
},
+   {
+   .name   = wl1271,
+   .mmc= 3,
+   .wires  = 4,
+   .gpio_wp= -EINVAL,
+   .gpio_cd= -EINVAL,
+   .ocr_mask   = MMC_VDD_165_195,


Do we really need to specify ocr_mask here?
It seems to be set in omap_hsmmc_reg_get() by calling 
mmc_regulator_get_ocrmask().

This should automatically pick the right mask if you have defined the vmmc 
regulator output voltage correctly.


regards,
-roger
--
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 v3 9/9] omap: zoom: add mmc3/wl1271 device support

2010-08-11 Thread Roger Quadros

On 08/11/2010 11:37 AM, Roger Quadros wrote:

On 08/11/2010 01:12 AM, ext Ohad Ben-Cohen wrote:

Add MMC3 support on ZOOM, which has the wl1271 device hardwired to.

The wl1271 is a 4-wire, 1.8V, embedded SDIO WLAN device with an
external IRQ line, and power-controlled by a GPIO-based fixed regulator.

Signed-off-by: Ohad Ben-Coheno...@wizery.com
---
   arch/arm/mach-omap2/board-zoom-peripherals.c |   34 
++
   1 files changed, 34 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/board-zoom-peripherals.c 
b/arch/arm/mach-omap2/board-zoom-peripherals.c
index de88635..82776bc 100644
--- a/arch/arm/mach-omap2/board-zoom-peripherals.c
+++ b/arch/arm/mach-omap2/board-zoom-peripherals.c
@@ -17,6 +17,8 @@
   #includelinux/i2c/twl.h
   #includelinux/regulator/machine.h
   #includelinux/regulator/fixed.h
+#includelinux/mmc/host.h
+#includelinux/wl12xx.h

   #includeasm/mach-types.h
   #includeasm/mach/arch.h
@@ -29,6 +31,7 @@
   #include hsmmc.h

   #define OMAP_ZOOM_WLAN_PMENA_GPIO(101)
+#define OMAP_ZOOM_WLAN_IRQ_GPIO(162)

   /* Zoom2 has Qwerty keyboard*/
   static int board_keymap[] = {
@@ -185,6 +188,28 @@ static struct platform_device omap_vwlan_device = {
},
   };

+struct wl12xx_platform_data omap_zoom_wlan_data = {
+   /* ZOOM ref clock is 26 MHz */
+   .board_ref_clock = 1,
+};
+
+static struct resource omap_zoom_wl1271_resources[] = {
+   {
+   .start = OMAP_GPIO_IRQ(OMAP_ZOOM_WLAN_IRQ_GPIO),
+   .end = OMAP_GPIO_IRQ(OMAP_ZOOM_WLAN_IRQ_GPIO),
+   .flags = IORESOURCE_IRQ,
+   }
+};
+static struct platform_device omap_zoom_wl1271 = {
+   .name   = wl1271_plat.2,
+   .id = -1,
+   .resource   = omap_zoom_wl1271_resources,
+   .num_resources  = ARRAY_SIZE(omap_zoom_wl1271_resources),
+   .dev = {
+   .platform_data =omap_zoom_wlan_data,
+   },
+};
+
   static struct omap2_hsmmc_info mmc[] __initdata = {
{
.name   = external,
@@ -202,6 +227,14 @@ static struct omap2_hsmmc_info mmc[] __initdata = {
.nonremovable   = true,
.power_saving   = true,
},
+   {
+   .name   = wl1271,
+   .mmc= 3,
+   .wires  = 4,
+   .gpio_wp= -EINVAL,
+   .gpio_cd= -EINVAL,
+   .ocr_mask   = MMC_VDD_165_195,


Do we really need to specify ocr_mask here?
It seems to be set in omap_hsmmc_reg_get() by calling 
mmc_regulator_get_ocrmask().

This should automatically pick the right mask if you have defined the vmmc
regulator output voltage correctly.


Also shouldn't .nonremovable be set to true? as this is a non-removable card 
slot.

regards,
-roger
--
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 v3 9/9] omap: zoom: add mmc3/wl1271 device support

2010-08-11 Thread Ohad Ben-Cohen
On Wed, Aug 11, 2010 at 12:01 PM, Roger Quadros roger.quad...@nokia.com wrote:
 Also shouldn't .nonremovable be set to true? as this is a non-removable card
 slot.

This doesn't seem to have any effect on SDIO, but it can't hurt.

Thanks!



 regards,
 -roger

--
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 v3 9/9] omap: zoom: add mmc3/wl1271 device support

2010-08-11 Thread Ohad Ben-Cohen
On Wed, Aug 11, 2010 at 11:37 AM, Roger Quadros roger.quad...@nokia.com wrote:
 +               .ocr_mask       = MMC_VDD_165_195,

 Do we really need to specify ocr_mask here?

Removed, thanks!
--
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 v3 9/9] omap: zoom: add mmc3/wl1271 device support

2010-08-11 Thread kishore kadiyala
Ohad,

On Wed, Aug 11, 2010 at 9:08 PM, Ohad Ben-Cohen o...@wizery.com wrote:
 On Wed, Aug 11, 2010 at 11:37 AM, Roger Quadros roger.quad...@nokia.com 
 wrote:
 +               .ocr_mask       = MMC_VDD_165_195,

 Do we really need to specify ocr_mask here?

Since you specified the voltage source is fixed, and if MMC3 has any
dedicated regulator as MMC1  MMC2 you can go with
Roger's comments.
If the LDO is fixed voltage source from TWL then since regulator
framework supports only adjustable LDO's, I think you can
have ocr_mask defined as above in board file.

Regards,
Kishore

 Removed, thanks!
 --
 To unsubscribe from this list: send the line unsubscribe linux-mmc 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: [PATCH v3 9/9] omap: zoom: add mmc3/wl1271 device support

2010-08-11 Thread Ohad Ben-Cohen
Hi Kishore,

On Wed, Aug 11, 2010 at 11:09 PM, kishore kadiyala
kishorek.kadiy...@gmail.com wrote:
 Since you specified the voltage source is fixed, and if MMC3 has any
 dedicated regulator as MMC1  MMC2 you can go with
 Roger's comments.

You are reading an old batch of the patches.

Scroll down to v4 ;)

Thanks,
Ohad.

 If the LDO is fixed voltage source from TWL then since regulator
 framework supports only adjustable LDO's, I think you can
 have ocr_mask defined as above in board file.

 Regards,
 Kishore

 Removed, thanks!
 --
 To unsubscribe from this list: send the line unsubscribe linux-mmc 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: [PATCH v3 9/9] omap: zoom: add mmc3/wl1271 device support

2010-08-11 Thread kishore kadiyala
Oops didn't notice ,,,

Thanks,
Kishore

On Thu, Aug 12, 2010 at 1:42 AM, Ohad Ben-Cohen o...@wizery.com wrote:
 Hi Kishore,

 On Wed, Aug 11, 2010 at 11:09 PM, kishore kadiyala
 kishorek.kadiy...@gmail.com wrote:
 Since you specified the voltage source is fixed, and if MMC3 has any
 dedicated regulator as MMC1  MMC2 you can go with
 Roger's comments.

 You are reading an old batch of the patches.

 Scroll down to v4 ;)

 Thanks,
 Ohad.

 If the LDO is fixed voltage source from TWL then since regulator
 framework supports only adjustable LDO's, I think you can
 have ocr_mask defined as above in board file.

 Regards,
 Kishore

 Removed, thanks!
 --
 To unsubscribe from this list: send the line unsubscribe linux-mmc 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: [PATCH v3 9/9] omap: zoom: add mmc3/wl1271 device support

2010-08-11 Thread Mark Brown
On Thu, Aug 12, 2010 at 01:39:38AM +0530, kishore kadiyala wrote:

 If the LDO is fixed voltage source from TWL then since regulator
 framework supports only adjustable LDO's, I think you can

The regulator framework supports fixed voltage regulators just fine.
--
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 v3 9/9] omap: zoom: add mmc3/wl1271 device support

2010-08-10 Thread Ohad Ben-Cohen
Add MMC3 support on ZOOM, which has the wl1271 device hardwired to.

The wl1271 is a 4-wire, 1.8V, embedded SDIO WLAN device with an
external IRQ line, and power-controlled by a GPIO-based fixed regulator.

Signed-off-by: Ohad Ben-Cohen o...@wizery.com
---
 arch/arm/mach-omap2/board-zoom-peripherals.c |   34 ++
 1 files changed, 34 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/board-zoom-peripherals.c 
b/arch/arm/mach-omap2/board-zoom-peripherals.c
index de88635..82776bc 100644
--- a/arch/arm/mach-omap2/board-zoom-peripherals.c
+++ b/arch/arm/mach-omap2/board-zoom-peripherals.c
@@ -17,6 +17,8 @@
 #include linux/i2c/twl.h
 #include linux/regulator/machine.h
 #include linux/regulator/fixed.h
+#include linux/mmc/host.h
+#include linux/wl12xx.h
 
 #include asm/mach-types.h
 #include asm/mach/arch.h
@@ -29,6 +31,7 @@
 #include hsmmc.h
 
 #define OMAP_ZOOM_WLAN_PMENA_GPIO  (101)
+#define OMAP_ZOOM_WLAN_IRQ_GPIO(162)
 
 /* Zoom2 has Qwerty keyboard*/
 static int board_keymap[] = {
@@ -185,6 +188,28 @@ static struct platform_device omap_vwlan_device = {
},
 };
 
+struct wl12xx_platform_data omap_zoom_wlan_data = {
+   /* ZOOM ref clock is 26 MHz */
+   .board_ref_clock = 1,
+};
+
+static struct resource omap_zoom_wl1271_resources[] = {
+   {
+   .start = OMAP_GPIO_IRQ(OMAP_ZOOM_WLAN_IRQ_GPIO),
+   .end = OMAP_GPIO_IRQ(OMAP_ZOOM_WLAN_IRQ_GPIO),
+   .flags = IORESOURCE_IRQ,
+   }
+};
+static struct platform_device omap_zoom_wl1271 = {
+   .name   = wl1271_plat.2,
+   .id = -1,
+   .resource   = omap_zoom_wl1271_resources,
+   .num_resources  = ARRAY_SIZE(omap_zoom_wl1271_resources),
+   .dev = {
+   .platform_data = omap_zoom_wlan_data,
+   },
+};
+
 static struct omap2_hsmmc_info mmc[] __initdata = {
{
.name   = external,
@@ -202,6 +227,14 @@ static struct omap2_hsmmc_info mmc[] __initdata = {
.nonremovable   = true,
.power_saving   = true,
},
+   {
+   .name   = wl1271,
+   .mmc= 3,
+   .wires  = 4,
+   .gpio_wp= -EINVAL,
+   .gpio_cd= -EINVAL,
+   .ocr_mask   = MMC_VDD_165_195,
+   },
{}  /* Terminator */
 };
 
@@ -313,6 +346,7 @@ static void enable_board_wakeup_source(void)
 
 void __init zoom_peripherals_init(void)
 {
+   platform_device_register(omap_zoom_wl1271);
omap_i2c_init();
platform_device_register(omap_vwlan_device);
usb_musb_init(musb_board_data);
-- 
1.7.0.4

--
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