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