* [Patch v1] AM35xx: Craneboard: Add USB EHCI support
[not found] <[PATCH] AM35xx-Craneboard-Add-USB-EHCI-support>
@ 2010-11-19 16:07 ` srinath at mistralsolutions.com
2010-11-19 16:59 ` Igor Grinberg
2010-11-20 11:39 ` Sergei Shtylyov
2010-11-22 8:32 ` [Patch v2] " srinath at mistralsolutions.com
` (2 subsequent siblings)
3 siblings, 2 replies; 11+ messages in thread
From: srinath at mistralsolutions.com @ 2010-11-19 16:07 UTC (permalink / raw)
To: linux-arm-kernel
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
* [Patch v1] AM35xx: Craneboard: Add USB EHCI support
2010-11-19 16:07 ` [Patch v1] AM35xx: Craneboard: Add USB EHCI support srinath at mistralsolutions.com
@ 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: linux-arm-kernel
Hi Srinath,
On 11/19/10 18:07, srinath at 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
* [Patch v1] AM35xx: Craneboard: Add USB EHCI support
2010-11-19 16:07 ` [Patch v1] AM35xx: Craneboard: Add USB EHCI support srinath at mistralsolutions.com
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: linux-arm-kernel
Hello.
On 19-11-2010 19:07, srinath at 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 at mistralsolutions.com
@ 2010-11-22 8:32 ` srinath at mistralsolutions.com
2010-11-22 17:56 ` Kevin Hilman
2010-12-16 15:25 ` [Patch v4] " srinath at mistralsolutions.com
2010-12-20 13:08 ` [Patch v5] " srinath at mistralsolutions.com
3 siblings, 1 reply; 11+ messages in thread
From: srinath at mistralsolutions.com @ 2010-11-22 8:32 UTC (permalink / raw)
To: linux-arm-kernel
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
* [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: linux-arm-kernel
Hi Sergei,
Thanks for review, I will modify and resend patch.
With Regards
Srinath
-----Original Message-----
From: Sergei Shtylyov [mailto:sshtylyov at mvista.com]
Sent: Saturday, November 20, 2010 5:09 PM
To: srinath at mistralsolutions.com
Cc: linux-omap at vger.kernel.org; nm at ti.com; linux at arm.linux.org.uk;
umeshk at mistralsolutions.com; tony at atomide.com;
nagendra at mistralsolutions.com; linux-kernel at vger.kernel.org;
khilman at deeprootsystems.com; jdk at ti.com;
linux-arm-kernel at lists.infradead.org
Subject: Re: [Patch v1] AM35xx: Craneboard: Add USB EHCI support
Hello.
On 19-11-2010 19:07, srinath at 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
2010-11-22 8:32 ` [Patch v2] " srinath at mistralsolutions.com
@ 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: linux-arm-kernel
srinath at 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 at mistralsolutions.com
2010-11-22 8:32 ` [Patch v2] " srinath at mistralsolutions.com
@ 2010-12-16 15:25 ` srinath at mistralsolutions.com
2010-12-17 6:22 ` Felipe Balbi
2010-12-17 12:45 ` Sergei Shtylyov
2010-12-20 13:08 ` [Patch v5] " srinath at mistralsolutions.com
3 siblings, 2 replies; 11+ messages in thread
From: srinath at mistralsolutions.com @ 2010-12-16 15:25 UTC (permalink / raw)
To: linux-arm-kernel
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
* [Patch v4] AM35xx: Craneboard: Add USB EHCI support
2010-12-16 15:25 ` [Patch v4] " srinath at mistralsolutions.com
@ 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: linux-arm-kernel
Hi,
On Thu, Dec 16, 2010 at 08:55:12PM +0530, srinath at 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
* [Patch v4] AM35xx: Craneboard: Add USB EHCI support
2010-12-16 15:25 ` [Patch v4] " srinath at mistralsolutions.com
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: linux-arm-kernel
Hello.
On 16-12-2010 18:25, srinath at 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 at mistralsolutions.com
@ 2010-12-20 13:08 ` srinath at mistralsolutions.com
2010-12-21 6:58 ` Felipe Balbi
3 siblings, 1 reply; 11+ messages in thread
From: srinath at mistralsolutions.com @ 2010-12-20 13:08 UTC (permalink / raw)
To: linux-arm-kernel
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
* [Patch v5] AM35xx: Craneboard: Add USB EHCI support
2010-12-20 13:08 ` [Patch v5] " srinath at mistralsolutions.com
@ 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: linux-arm-kernel
On Mon, Dec 20, 2010 at 06:38:43PM +0530, srinath at 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 at mistralsolutions.com
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 at mistralsolutions.com
2010-11-22 17:56 ` Kevin Hilman
2010-12-16 15:25 ` [Patch v4] " srinath at mistralsolutions.com
2010-12-17 6:22 ` Felipe Balbi
2010-12-17 12:45 ` Sergei Shtylyov
2010-12-20 13:08 ` [Patch v5] " srinath at mistralsolutions.com
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).