linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [Patch v1] AM35xx: Craneboard: Add USB EHCI support
       [not found] <[PATCH] AM35xx-Craneboard-Add-USB-EHCI-support>
@ 2010-11-19 16:07 ` srinath
  2010-11-19 16:59   ` Igor Grinberg
  2010-11-20 11:39   ` Sergei Shtylyov
  2010-11-22  8:32 ` [Patch v2] " srinath
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 11+ messages in thread
From: srinath @ 2010-11-19 16:07 UTC (permalink / raw)
  To: linux-omap
  Cc: jdk, tony, linux-kernel, linux, linux-arm-kernel, khilman, nm,
	nagendra, umeshk, Srinath

From: Srinath <srinath@mistralsolutions.com>

AM3517/05 Craneboard has one EHCI interface on board using port1.

GPIO35 is used as power enable.
GPIO38 is used as port1 PHY reset.

Signed-off-by: Srinath <srinath@mistralsolutions.com>
---
 arch/arm/mach-omap2/board-am3517crane.c |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/board-am3517crane.c b/arch/arm/mach-omap2/board-am3517crane.c
index 13ead33..0e1a806 100644
--- a/arch/arm/mach-omap2/board-am3517crane.c
+++ b/arch/arm/mach-omap2/board-am3517crane.c
@@ -28,8 +28,10 @@
 
 #include <plat/board.h>
 #include <plat/common.h>
+#include <plat/usb.h>
 
 #include "mux.h"
+#include "control.h"
 
 /* Board initialization */
 static struct omap_board_config_kernel am3517_crane_config[] __initdata = {
@@ -53,10 +55,29 @@ static void __init am3517_crane_init_irq(void)
 	omap_gpio_init();
 }
 
+static struct ehci_hcd_omap_platform_data ehci_pdata __initdata = {
+	.port_mode[0] = EHCI_HCD_OMAP_MODE_PHY,
+	.port_mode[1] = EHCI_HCD_OMAP_MODE_UNKNOWN,
+	.port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN,
+
+	.phy_reset  = true,
+	.reset_gpio_port[0]  = 38,
+	.reset_gpio_port[1]  = -EINVAL,
+	.reset_gpio_port[2]  = -EINVAL
+};
+
 static void __init am3517_crane_init(void)
 {
 	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
 	omap_serial_init();
+
+	/* Configure GPIO for EHCI port */
+	omap_mux_init_gpio(35, OMAP_PIN_OUTPUT);
+	gpio_request(35, "usb_ehci_enable");
+	gpio_direction_output(35, 1);
+	gpio_set_value(35, 1);
+	omap_mux_init_gpio(38, OMAP_PIN_OUTPUT);
+	usb_ehci_init(&ehci_pdata);
 }
 
 MACHINE_START(CRANEBOARD, "AM3517/05 CRANEBOARD")
-- 
1.7.1.226.g770c5


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [Patch v1] AM35xx: Craneboard: Add USB EHCI support
  2010-11-19 16:07 ` [Patch v1] AM35xx: Craneboard: Add USB EHCI support srinath
@ 2010-11-19 16:59   ` Igor Grinberg
  2010-11-20 11:39   ` Sergei Shtylyov
  1 sibling, 0 replies; 11+ messages in thread
From: Igor Grinberg @ 2010-11-19 16:59 UTC (permalink / raw)
  To: srinath
  Cc: linux-omap, jdk, tony, linux-kernel, linux, linux-arm-kernel,
	khilman, nm, nagendra, umeshk

 Hi Srinath,

On 11/19/10 18:07, srinath@mistralsolutions.com wrote:
> From: Srinath <srinath@mistralsolutions.com>
>
> AM3517/05 Craneboard has one EHCI interface on board using port1.
>
> GPIO35 is used as power enable.
> GPIO38 is used as port1 PHY reset.
>
> Signed-off-by: Srinath <srinath@mistralsolutions.com>
> ---
>  arch/arm/mach-omap2/board-am3517crane.c |   21 +++++++++++++++++++++
>  1 files changed, 21 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/board-am3517crane.c b/arch/arm/mach-omap2/board-am3517crane.c
> index 13ead33..0e1a806 100644
> --- a/arch/arm/mach-omap2/board-am3517crane.c
> +++ b/arch/arm/mach-omap2/board-am3517crane.c
> @@ -28,8 +28,10 @@
>  
>  #include <plat/board.h>
>  #include <plat/common.h>
> +#include <plat/usb.h>
>  
>  #include "mux.h"
> +#include "control.h"
>  
>  /* Board initialization */
>  static struct omap_board_config_kernel am3517_crane_config[] __initdata = {
> @@ -53,10 +55,29 @@ static void __init am3517_crane_init_irq(void)
>  	omap_gpio_init();
>  }
>  
> +static struct ehci_hcd_omap_platform_data ehci_pdata __initdata = {
> +	.port_mode[0] = EHCI_HCD_OMAP_MODE_PHY,
> +	.port_mode[1] = EHCI_HCD_OMAP_MODE_UNKNOWN,
> +	.port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN,
> +
> +	.phy_reset  = true,
> +	.reset_gpio_port[0]  = 38,
> +	.reset_gpio_port[1]  = -EINVAL,
> +	.reset_gpio_port[2]  = -EINVAL
> +};
> +
>  static void __init am3517_crane_init(void)
>  {
>  	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
>  	omap_serial_init();
> +
> +	/* Configure GPIO for EHCI port */
> +	omap_mux_init_gpio(35, OMAP_PIN_OUTPUT);
> +	gpio_request(35, "usb_ehci_enable");

gpio_request() can fail, you should check this
and you should not use this gpio if the request fails.
Also, may be the regulators framework is more appropriate
for power enable line, but I'm not sure...

> +	gpio_direction_output(35, 1);
> +	gpio_set_value(35, 1);
> +	omap_mux_init_gpio(38, OMAP_PIN_OUTPUT);

Shouldn't the omap_mux_init_gpio() be called before you request the gpio?

> +	usb_ehci_init(&ehci_pdata);
>  }
>  
>  MACHINE_START(CRANEBOARD, "AM3517/05 CRANEBOARD")

-- 
Regards,
Igor.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Patch v1] AM35xx: Craneboard: Add USB EHCI support
  2010-11-19 16:07 ` [Patch v1] AM35xx: Craneboard: Add USB EHCI support srinath
  2010-11-19 16:59   ` Igor Grinberg
@ 2010-11-20 11:39   ` Sergei Shtylyov
  2010-11-22  8:55     ` Srinath R
  1 sibling, 1 reply; 11+ messages in thread
From: Sergei Shtylyov @ 2010-11-20 11:39 UTC (permalink / raw)
  To: srinath
  Cc: linux-omap, nm, linux, umeshk, tony, nagendra, linux-kernel,
	khilman, jdk, linux-arm-kernel

Hello.

On 19-11-2010 19:07, srinath@mistralsolutions.com wrote:

> From: Srinath<srinath@mistralsolutions.com>

> AM3517/05 Craneboard has one EHCI interface on board using port1.

> GPIO35 is used as power enable.
> GPIO38 is used as port1 PHY reset.

> Signed-off-by: Srinath<srinath@mistralsolutions.com>
> ---
>   arch/arm/mach-omap2/board-am3517crane.c |   21 +++++++++++++++++++++
>   1 files changed, 21 insertions(+), 0 deletions(-)

> diff --git a/arch/arm/mach-omap2/board-am3517crane.c b/arch/arm/mach-omap2/board-am3517crane.c
> index 13ead33..0e1a806 100644
> --- a/arch/arm/mach-omap2/board-am3517crane.c
> +++ b/arch/arm/mach-omap2/board-am3517crane.c
[...]
> @@ -53,10 +55,29 @@ static void __init am3517_crane_init_irq(void)
>   	omap_gpio_init();
>   }
>
> +static struct ehci_hcd_omap_platform_data ehci_pdata __initdata = {
> +	.port_mode[0] = EHCI_HCD_OMAP_MODE_PHY,
> +	.port_mode[1] = EHCI_HCD_OMAP_MODE_UNKNOWN,
> +	.port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN,
> +
> +	.phy_reset  = true,
> +	.reset_gpio_port[0]  = 38,
> +	.reset_gpio_port[1]  = -EINVAL,
> +	.reset_gpio_port[2]  = -EINVAL
> +};
> +
>   static void __init am3517_crane_init(void)
>   {
>   	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
>   	omap_serial_init();
> +
> +	/* Configure GPIO for EHCI port */
> +	omap_mux_init_gpio(35, OMAP_PIN_OUTPUT);
> +	gpio_request(35, "usb_ehci_enable");
> +	gpio_direction_output(35, 1);
> +	gpio_set_value(35, 1);

    There's no need to call gpio_set_value(), as gpio_direction_output() has 
already set the GPIO's value.

WBR, Sergei

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Patch v2] AM35xx: Craneboard: Add USB EHCI support
       [not found] <[PATCH] AM35xx-Craneboard-Add-USB-EHCI-support>
  2010-11-19 16:07 ` [Patch v1] AM35xx: Craneboard: Add USB EHCI support srinath
@ 2010-11-22  8:32 ` srinath
  2010-11-22 17:56   ` Kevin Hilman
  2010-12-16 15:25 ` [Patch v4] " srinath
  2010-12-20 13:08 ` [Patch v5] " srinath
  3 siblings, 1 reply; 11+ messages in thread
From: srinath @ 2010-11-22  8:32 UTC (permalink / raw)
  To: linux-omap
  Cc: jdk, tony, linux-kernel, linux, linux-arm-kernel, khilman, nm,
	nagendra, umeshk, sshtylyov, Srinath

From: Srinath <srinath@mistralsolutions.com>

AM3517/05 Craneboard has one EHCI interface on board using port1.

GPIO35 is used as power enable.
GPIO38 is used as port1 PHY reset.

Signed-off-by: Srinath <srinath@mistralsolutions.com>
---
 arch/arm/mach-omap2/board-am3517crane.c |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/board-am3517crane.c b/arch/arm/mach-omap2/board-am3517crane.c
index 13ead33..91791bc 100644
--- a/arch/arm/mach-omap2/board-am3517crane.c
+++ b/arch/arm/mach-omap2/board-am3517crane.c
@@ -28,8 +28,10 @@
 
 #include <plat/board.h>
 #include <plat/common.h>
+#include <plat/usb.h>
 
 #include "mux.h"
+#include "control.h"
 
 /* Board initialization */
 static struct omap_board_config_kernel am3517_crane_config[] __initdata = {
@@ -53,10 +55,28 @@ static void __init am3517_crane_init_irq(void)
 	omap_gpio_init();
 }
 
+static struct ehci_hcd_omap_platform_data ehci_pdata __initdata = {
+	.port_mode[0] = EHCI_HCD_OMAP_MODE_PHY,
+	.port_mode[1] = EHCI_HCD_OMAP_MODE_UNKNOWN,
+	.port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN,
+
+	.phy_reset  = true,
+	.reset_gpio_port[0]  = 38,
+	.reset_gpio_port[1]  = -EINVAL,
+	.reset_gpio_port[2]  = -EINVAL
+};
+
 static void __init am3517_crane_init(void)
 {
 	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
 	omap_serial_init();
+
+	/* Configure GPIO for EHCI port */
+	omap_mux_init_gpio(35, OMAP_PIN_OUTPUT);
+	gpio_request(35, "usb_ehci_enable");
+	gpio_direction_output(35, 1);
+	omap_mux_init_gpio(38, OMAP_PIN_OUTPUT);
+	usb_ehci_init(&ehci_pdata);
 }
 
 MACHINE_START(CRANEBOARD, "AM3517/05 CRANEBOARD")
-- 
1.7.1.226.g770c5


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* RE: [Patch v1] AM35xx: Craneboard: Add USB EHCI support
  2010-11-20 11:39   ` Sergei Shtylyov
@ 2010-11-22  8:55     ` Srinath R
  0 siblings, 0 replies; 11+ messages in thread
From: Srinath R @ 2010-11-22  8:55 UTC (permalink / raw)
  To: 'Sergei Shtylyov'
  Cc: linux-omap, nm, linux, umeshk, tony, nagendra, linux-kernel,
	khilman, jdk, linux-arm-kernel

Hi Sergei,

Thanks for review, I will modify and resend patch.

With Regards
Srinath

-----Original Message-----
From: Sergei Shtylyov [mailto:sshtylyov@mvista.com] 
Sent: Saturday, November 20, 2010 5:09 PM
To: srinath@mistralsolutions.com
Cc: linux-omap@vger.kernel.org; nm@ti.com; linux@arm.linux.org.uk;
umeshk@mistralsolutions.com; tony@atomide.com;
nagendra@mistralsolutions.com; linux-kernel@vger.kernel.org;
khilman@deeprootsystems.com; jdk@ti.com;
linux-arm-kernel@lists.infradead.org
Subject: Re: [Patch v1] AM35xx: Craneboard: Add USB EHCI support

Hello.

On 19-11-2010 19:07, srinath@mistralsolutions.com wrote:

> From: Srinath<srinath@mistralsolutions.com>

> AM3517/05 Craneboard has one EHCI interface on board using port1.

> GPIO35 is used as power enable.
> GPIO38 is used as port1 PHY reset.

> Signed-off-by: Srinath<srinath@mistralsolutions.com>
> ---
>   arch/arm/mach-omap2/board-am3517crane.c |   21 +++++++++++++++++++++
>   1 files changed, 21 insertions(+), 0 deletions(-)

> diff --git a/arch/arm/mach-omap2/board-am3517crane.c
b/arch/arm/mach-omap2/board-am3517crane.c
> index 13ead33..0e1a806 100644
> --- a/arch/arm/mach-omap2/board-am3517crane.c
> +++ b/arch/arm/mach-omap2/board-am3517crane.c
[...]
> @@ -53,10 +55,29 @@ static void __init am3517_crane_init_irq(void)
>   	omap_gpio_init();
>   }
>
> +static struct ehci_hcd_omap_platform_data ehci_pdata __initdata = {
> +	.port_mode[0] = EHCI_HCD_OMAP_MODE_PHY,
> +	.port_mode[1] = EHCI_HCD_OMAP_MODE_UNKNOWN,
> +	.port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN,
> +
> +	.phy_reset  = true,
> +	.reset_gpio_port[0]  = 38,
> +	.reset_gpio_port[1]  = -EINVAL,
> +	.reset_gpio_port[2]  = -EINVAL
> +};
> +
>   static void __init am3517_crane_init(void)
>   {
>   	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
>   	omap_serial_init();
> +
> +	/* Configure GPIO for EHCI port */
> +	omap_mux_init_gpio(35, OMAP_PIN_OUTPUT);
> +	gpio_request(35, "usb_ehci_enable");
> +	gpio_direction_output(35, 1);
> +	gpio_set_value(35, 1);

    There's no need to call gpio_set_value(), as gpio_direction_output() has

already set the GPIO's value.

WBR, Sergei


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Patch v2] AM35xx: Craneboard: Add USB EHCI support
  2010-11-22  8:32 ` [Patch v2] " srinath
@ 2010-11-22 17:56   ` Kevin Hilman
  0 siblings, 0 replies; 11+ messages in thread
From: Kevin Hilman @ 2010-11-22 17:56 UTC (permalink / raw)
  To: srinath
  Cc: linux-omap, jdk, tony, linux-kernel, linux, linux-arm-kernel, nm,
	nagendra, umeshk, sshtylyov

srinath@mistralsolutions.com writes:

> From: Srinath <srinath@mistralsolutions.com>
>
> AM3517/05 Craneboard has one EHCI interface on board using port1.
>
> GPIO35 is used as power enable.
> GPIO38 is used as port1 PHY reset.
>
> Signed-off-by: Srinath <srinath@mistralsolutions.com>
> ---
>  arch/arm/mach-omap2/board-am3517crane.c |   20 ++++++++++++++++++++
>  1 files changed, 20 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/board-am3517crane.c b/arch/arm/mach-omap2/board-am3517crane.c
> index 13ead33..91791bc 100644
> --- a/arch/arm/mach-omap2/board-am3517crane.c
> +++ b/arch/arm/mach-omap2/board-am3517crane.c
> @@ -28,8 +28,10 @@
>  
>  #include <plat/board.h>
>  #include <plat/common.h>
> +#include <plat/usb.h>
>  
>  #include "mux.h"
> +#include "control.h"
>  
>  /* Board initialization */
>  static struct omap_board_config_kernel am3517_crane_config[] __initdata = {
> @@ -53,10 +55,28 @@ static void __init am3517_crane_init_irq(void)
>  	omap_gpio_init();
>  }
>>  
> +static struct ehci_hcd_omap_platform_data ehci_pdata __initdata = {
> +	.port_mode[0] = EHCI_HCD_OMAP_MODE_PHY,
> +	.port_mode[1] = EHCI_HCD_OMAP_MODE_UNKNOWN,
> +	.port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN,
> +
> +	.phy_reset  = true,
> +	.reset_gpio_port[0]  = 38,
> +	.reset_gpio_port[1]  = -EINVAL,
> +	.reset_gpio_port[2]  = -EINVAL
> +};
> +
>  static void __init am3517_crane_init(void)
>  {
>  	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
>  	omap_serial_init();
> +
> +	/* Configure GPIO for EHCI port */
> +	omap_mux_init_gpio(35, OMAP_PIN_OUTPUT);

Please define a symbolic constant for these GPIO numbers instead of using
hard-coded constants.

> +	gpio_request(35, "usb_ehci_enable");

GPIO APIs can fail.  Please check return value and act accordingly.

> +	gpio_direction_output(35, 1);
> +	omap_mux_init_gpio(38, OMAP_PIN_OUTPUT);
> +	usb_ehci_init(&ehci_pdata);
>  }
>  
>  MACHINE_START(CRANEBOARD, "AM3517/05 CRANEBOARD")

Kevin

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Patch v4] AM35xx: Craneboard: Add USB EHCI support
       [not found] <[PATCH] AM35xx-Craneboard-Add-USB-EHCI-support>
  2010-11-19 16:07 ` [Patch v1] AM35xx: Craneboard: Add USB EHCI support srinath
  2010-11-22  8:32 ` [Patch v2] " srinath
@ 2010-12-16 15:25 ` srinath
  2010-12-17  6:22   ` Felipe Balbi
  2010-12-17 12:45   ` Sergei Shtylyov
  2010-12-20 13:08 ` [Patch v5] " srinath
  3 siblings, 2 replies; 11+ messages in thread
From: srinath @ 2010-12-16 15:25 UTC (permalink / raw)
  To: linux-omap
  Cc: jdk, tony, linux-kernel, linux, linux-arm-kernel, khilman, nm,
	nagendra, umeshk, sshtylyov, manjugk, Srinath

From: Srinath <srinath@mistralsolutions.com>

AM3517/05 Craneboard has one EHCI interface on board using port1.

GPIO35 is used as power enable.
GPIO38 is used as port1 PHY reset.

History:
http://marc.info/?l=linux-omap&w=2&r=1&s=Craneboard%3A+Add+USB+EHCI+support&q=t

Signed-off-by: Srinath <srinath@mistralsolutions.com>
---
 arch/arm/mach-omap2/board-am3517crane.c |   53 +++++++++++++++++++++++++++++++
 1 files changed, 53 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/board-am3517crane.c b/arch/arm/mach-omap2/board-am3517crane.c
index 8ba4047..1a80175 100644
--- a/arch/arm/mach-omap2/board-am3517crane.c
+++ b/arch/arm/mach-omap2/board-am3517crane.c
@@ -19,6 +19,7 @@
 
 #include <linux/kernel.h>
 #include <linux/init.h>
+#include <linux/gpio.h>
 
 #include <mach/hardware.h>
 #include <asm/mach-types.h>
@@ -27,8 +28,14 @@
 
 #include <plat/board.h>
 #include <plat/common.h>
+#include <plat/usb.h>
 
 #include "mux.h"
+#include "control.h"
+
+#define GPIO_USB_POWER		35
+#define GPIO_USB_NRESET		38
+
 
 /* Board initialization */
 static struct omap_board_config_kernel am3517_crane_config[] __initdata = {
@@ -51,10 +58,56 @@ static void __init am3517_crane_init_irq(void)
 	omap_init_irq();
 }
 
+static struct ehci_hcd_omap_platform_data ehci_pdata __initdata = {
+	.port_mode[0] = EHCI_HCD_OMAP_MODE_PHY,
+	.port_mode[1] = EHCI_HCD_OMAP_MODE_UNKNOWN,
+	.port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN,
+
+	.phy_reset  = true,
+	.reset_gpio_port[0]  = GPIO_USB_NRESET,
+	.reset_gpio_port[1]  = -EINVAL,
+	.reset_gpio_port[2]  = -EINVAL
+};
+
 static void __init am3517_crane_init(void)
 {
+	int ret;
+
 	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
 	omap_serial_init();
+
+	/* Configure GPIO for EHCI port */
+	if (omap_mux_init_gpio(GPIO_USB_NRESET, OMAP_PIN_OUTPUT)) {
+		pr_err("Can not cofigure mux for GPIO_USB_NRESET %d\n",
+			GPIO_USB_NRESET);
+		return;
+	}
+
+	if (omap_mux_init_gpio(GPIO_USB_POWER, OMAP_PIN_OUTPUT)) {
+		pr_err("Can not cofigure mux for GPIO_USB_POWER %d\n",
+
+			GPIO_USB_POWER);
+		return;
+	}
+
+	ret = gpio_request(GPIO_USB_POWER, "usb_ehci_enable");
+	if (ret < 0) {
+		pr_err("Cannot request GPIO %d\n", GPIO_USB_POWER);
+		return;
+	}
+
+	ret = gpio_direction_output(GPIO_USB_POWER, 1);
+	if (ret < 0)
+		goto err;
+
+
+	usb_ehci_init(&ehci_pdata);
+	return;
+
+err:
+	gpio_free(GPIO_USB_POWER);
+	pr_err("Unable to initialize EHCI power\n");
+	return;
 }
 
 MACHINE_START(CRANEBOARD, "AM3517/05 CRANEBOARD")
-- 
1.7.1.226.g770c5


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [Patch v4] AM35xx: Craneboard: Add USB EHCI support
  2010-12-16 15:25 ` [Patch v4] " srinath
@ 2010-12-17  6:22   ` Felipe Balbi
  2010-12-17 12:45   ` Sergei Shtylyov
  1 sibling, 0 replies; 11+ messages in thread
From: Felipe Balbi @ 2010-12-17  6:22 UTC (permalink / raw)
  To: srinath
  Cc: linux-omap, jdk, tony, linux-kernel, linux, linux-arm-kernel,
	khilman, nm, nagendra, umeshk, sshtylyov, manjugk

Hi,

On Thu, Dec 16, 2010 at 08:55:12PM +0530, srinath@mistralsolutions.com wrote:
> static void __init am3517_crane_init(void)
> {
>+	int ret;
>+
> 	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
> 	omap_serial_init();
>+
>+	/* Configure GPIO for EHCI port */
>+	if (omap_mux_init_gpio(GPIO_USB_NRESET, OMAP_PIN_OUTPUT)) {
>+		pr_err("Can not cofigure mux for GPIO_USB_NRESET %d\n",

typo: configure

>+			GPIO_USB_NRESET);
>+		return;
>+	}
>+
>+	if (omap_mux_init_gpio(GPIO_USB_POWER, OMAP_PIN_OUTPUT)) {
>+		pr_err("Can not cofigure mux for GPIO_USB_POWER %d\n",

typo: configure

>+			GPIO_USB_POWER);
>+		return;
>+	}
>+
>+	ret = gpio_request(GPIO_USB_POWER, "usb_ehci_enable");
>+	if (ret < 0) {
>+		pr_err("Cannot request GPIO %d\n", GPIO_USB_POWER);

Keep consistency, either use Can not or Cannot.

>+		return;
>+	}
>+
>+	ret = gpio_direction_output(GPIO_USB_POWER, 1);
>+	if (ret < 0)
>+		goto err;
>+
>+
>+	usb_ehci_init(&ehci_pdata);
>+	return;
>+
>+err:
>+	gpio_free(GPIO_USB_POWER);
>+	pr_err("Unable to initialize EHCI power\n");
>+	return;

this return is unnecessary

-- 
balbi

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Patch v4] AM35xx: Craneboard: Add USB EHCI support
  2010-12-16 15:25 ` [Patch v4] " srinath
  2010-12-17  6:22   ` Felipe Balbi
@ 2010-12-17 12:45   ` Sergei Shtylyov
  1 sibling, 0 replies; 11+ messages in thread
From: Sergei Shtylyov @ 2010-12-17 12:45 UTC (permalink / raw)
  To: srinath
  Cc: linux-omap, jdk, tony, linux-kernel, linux, linux-arm-kernel,
	khilman, nm, nagendra, umeshk, sshtylyov, manjugk

Hello.

On 16-12-2010 18:25, srinath@mistralsolutions.com wrote:

> From: Srinath <srinath@mistralsolutions.com>

> AM3517/05 Craneboard has one EHCI interface on board using port1.

> GPIO35 is used as power enable.
> GPIO38 is used as port1 PHY reset.

> History:
> http://marc.info/?l=linux-omap&w=2&r=1&s=Craneboard%3A+Add+USB+EHCI+support&q=t

> Signed-off-by: Srinath <srinath@mistralsolutions.com>
> ---
>   arch/arm/mach-omap2/board-am3517crane.c |   53 +++++++++++++++++++++++++++++++
>   1 files changed, 53 insertions(+), 0 deletions(-)

> diff --git a/arch/arm/mach-omap2/board-am3517crane.c b/arch/arm/mach-omap2/board-am3517crane.c
> index 8ba4047..1a80175 100644
> --- a/arch/arm/mach-omap2/board-am3517crane.c
> +++ b/arch/arm/mach-omap2/board-am3517crane.c
[...]
> @@ -51,10 +58,56 @@ static void __init am3517_crane_init_irq(void)
[...]
>   static void __init am3517_crane_init(void)
>   {
> +	int ret;
> +
>   	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
>   	omap_serial_init();
> +
> +	/* Configure GPIO for EHCI port */
> +	if (omap_mux_init_gpio(GPIO_USB_NRESET, OMAP_PIN_OUTPUT)) {
> +		pr_err("Can not cofigure mux for GPIO_USB_NRESET %d\n",
> +			GPIO_USB_NRESET);
> +		return;
> +	}
> +
> +	if (omap_mux_init_gpio(GPIO_USB_POWER, OMAP_PIN_OUTPUT)) {
> +		pr_err("Can not cofigure mux for GPIO_USB_POWER %d\n",
> +

    Empty line not needed here...

> +			GPIO_USB_POWER);
> +		return;
> +	}
> +
> +	ret = gpio_request(GPIO_USB_POWER, "usb_ehci_enable");
> +	if (ret < 0) {
> +		pr_err("Cannot request GPIO %d\n", GPIO_USB_POWER);
> +		return;
> +	}
> +
> +	ret = gpio_direction_output(GPIO_USB_POWER, 1);
> +	if (ret < 0)
> +		goto err;
> +
> +

    Too  many empty lines here...

> +	usb_ehci_init(&ehci_pdata);
> +	return;
> +
> +err:

    There's no need for *goto* and label.

> +	gpio_free(GPIO_USB_POWER);
> +	pr_err("Unable to initialize EHCI power\n");
> +	return;
>   }

WBR, Sergei

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Patch v5] AM35xx: Craneboard: Add USB EHCI support
       [not found] <[PATCH] AM35xx-Craneboard-Add-USB-EHCI-support>
                   ` (2 preceding siblings ...)
  2010-12-16 15:25 ` [Patch v4] " srinath
@ 2010-12-20 13:08 ` srinath
  2010-12-21  6:58   ` Felipe Balbi
  3 siblings, 1 reply; 11+ messages in thread
From: srinath @ 2010-12-20 13:08 UTC (permalink / raw)
  To: linux-omap
  Cc: jdk, tony, linux-kernel, linux, linux-arm-kernel, khilman,
	nagendra, umeshk, sshtylyov, manjugk, babli, Srinath

From: Srinath <srinath@mistralsolutions.com>

AM3517/05 Craneboard has one EHCI interface on board using port1.

GPIO35 is used as power enable.
GPIO38 is used as port1 PHY reset.

History:
http://marc.info/?l=linux-omap&w=2&r=1&s=Craneboard%253A%2BAdd%2BUSB%2BEHCI%2Bsupport&q=b

Signed-off-by: Srinath <srinath@mistralsolutions.com>
---
 arch/arm/mach-omap2/board-am3517crane.c |   48 +++++++++++++++++++++++++++++++
 1 files changed, 48 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/board-am3517crane.c b/arch/arm/mach-omap2/board-am3517crane.c
index 8ba4047..e56900f 100644
--- a/arch/arm/mach-omap2/board-am3517crane.c
+++ b/arch/arm/mach-omap2/board-am3517crane.c
@@ -19,6 +19,7 @@
 
 #include <linux/kernel.h>
 #include <linux/init.h>
+#include <linux/gpio.h>
 
 #include <mach/hardware.h>
 #include <asm/mach-types.h>
@@ -27,8 +28,14 @@
 
 #include <plat/board.h>
 #include <plat/common.h>
+#include <plat/usb.h>
 
 #include "mux.h"
+#include "control.h"
+
+#define GPIO_USB_POWER		35
+#define GPIO_USB_NRESET		38
+
 
 /* Board initialization */
 static struct omap_board_config_kernel am3517_crane_config[] __initdata = {
@@ -51,10 +58,51 @@ static void __init am3517_crane_init_irq(void)
 	omap_init_irq();
 }
 
+static struct ehci_hcd_omap_platform_data ehci_pdata __initdata = {
+	.port_mode[0] = EHCI_HCD_OMAP_MODE_PHY,
+	.port_mode[1] = EHCI_HCD_OMAP_MODE_UNKNOWN,
+	.port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN,
+
+	.phy_reset  = true,
+	.reset_gpio_port[0]  = GPIO_USB_NRESET,
+	.reset_gpio_port[1]  = -EINVAL,
+	.reset_gpio_port[2]  = -EINVAL
+};
+
 static void __init am3517_crane_init(void)
 {
+	int ret;
+
 	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
 	omap_serial_init();
+
+	/* Configure GPIO for EHCI port */
+	if (omap_mux_init_gpio(GPIO_USB_NRESET, OMAP_PIN_OUTPUT)) {
+		pr_err("Can not configure mux for GPIO_USB_NRESET %d\n",
+			GPIO_USB_NRESET);
+		return;
+	}
+
+	if (omap_mux_init_gpio(GPIO_USB_POWER, OMAP_PIN_OUTPUT)) {
+		pr_err("Can not configure mux for GPIO_USB_POWER %d\n",
+			GPIO_USB_POWER);
+		return;
+	}
+
+	ret = gpio_request(GPIO_USB_POWER, "usb_ehci_enable");
+	if (ret < 0) {
+		pr_err("Can not request GPIO %d\n", GPIO_USB_POWER);
+		return;
+	}
+
+	ret = gpio_direction_output(GPIO_USB_POWER, 1);
+	if (ret < 0) {
+		gpio_free(GPIO_USB_POWER);
+		pr_err("Unable to initialize EHCI power\n");
+		return;
+	}
+
+	usb_ehci_init(&ehci_pdata);
 }
 
 MACHINE_START(CRANEBOARD, "AM3517/05 CRANEBOARD")
-- 
1.7.1.226.g770c5


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [Patch v5] AM35xx: Craneboard: Add USB EHCI support
  2010-12-20 13:08 ` [Patch v5] " srinath
@ 2010-12-21  6:58   ` Felipe Balbi
  0 siblings, 0 replies; 11+ messages in thread
From: Felipe Balbi @ 2010-12-21  6:58 UTC (permalink / raw)
  To: srinath
  Cc: linux-omap, jdk, tony, linux-kernel, linux, linux-arm-kernel,
	khilman, nagendra, umeshk, sshtylyov, manjugk, babli

On Mon, Dec 20, 2010 at 06:38:43PM +0530, srinath@mistralsolutions.com wrote:
>From: Srinath <srinath@mistralsolutions.com>
>
>AM3517/05 Craneboard has one EHCI interface on board using port1.
>
>GPIO35 is used as power enable.
>GPIO38 is used as port1 PHY reset.
>
>History:
>http://marc.info/?l=linux-omap&w=2&r=1&s=Craneboard%253A%2BAdd%2BUSB%2BEHCI%2Bsupport&q=b
>
>Signed-off-by: Srinath <srinath@mistralsolutions.com>

Tony, do you want to make a pull request for you ? I guess this would
only go on next merge window.

If you want to take yourself, here's my acked-by:

Acked-by: Felipe Balbi <balbi@ti.com>

-- 
balbi

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2010-12-21  6:58 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <[PATCH] AM35xx-Craneboard-Add-USB-EHCI-support>
2010-11-19 16:07 ` [Patch v1] AM35xx: Craneboard: Add USB EHCI support srinath
2010-11-19 16:59   ` Igor Grinberg
2010-11-20 11:39   ` Sergei Shtylyov
2010-11-22  8:55     ` Srinath R
2010-11-22  8:32 ` [Patch v2] " srinath
2010-11-22 17:56   ` Kevin Hilman
2010-12-16 15:25 ` [Patch v4] " srinath
2010-12-17  6:22   ` Felipe Balbi
2010-12-17 12:45   ` Sergei Shtylyov
2010-12-20 13:08 ` [Patch v5] " srinath
2010-12-21  6:58   ` Felipe Balbi

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