* [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-22 8:32 ` srinath at mistralsolutions.com
` (2 subsequent siblings)
3 siblings, 0 replies; 23+ 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] 23+ messages in thread* [Patch v1] AM35xx: Craneboard: Add USB EHCI support
@ 2010-11-19 16:07 ` srinath at mistralsolutions.com
0 siblings, 0 replies; 23+ 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] 23+ messages in thread* Re: [Patch v1] AM35xx: Craneboard: Add USB EHCI support
2010-11-19 16:07 ` srinath at mistralsolutions.com
@ 2010-11-19 16:59 ` Igor Grinberg
-1 siblings, 0 replies; 23+ 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] 23+ messages in thread* [Patch v1] AM35xx: Craneboard: Add USB EHCI support
@ 2010-11-19 16:59 ` Igor Grinberg
0 siblings, 0 replies; 23+ 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] 23+ messages in thread
* Re: [Patch v1] AM35xx: Craneboard: Add USB EHCI support
2010-11-19 16:07 ` srinath at mistralsolutions.com
@ 2010-11-20 11:39 ` Sergei Shtylyov
-1 siblings, 0 replies; 23+ 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] 23+ messages in thread* [Patch v1] AM35xx: Craneboard: Add USB EHCI support
@ 2010-11-20 11:39 ` Sergei Shtylyov
0 siblings, 0 replies; 23+ 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] 23+ 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
-1 siblings, 0 replies; 23+ 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] 23+ messages in thread* RE: [Patch v1] AM35xx: Craneboard: Add USB EHCI support
@ 2010-11-22 8:55 ` Srinath R
0 siblings, 0 replies; 23+ 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] 23+ messages in thread* [Patch v1] AM35xx: Craneboard: Add USB EHCI support
@ 2010-11-22 8:55 ` Srinath R
0 siblings, 0 replies; 23+ 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] 23+ messages in thread
* [Patch v2] AM35xx: Craneboard: Add USB EHCI support
[not found] <[PATCH] AM35xx-Craneboard-Add-USB-EHCI-support>
@ 2010-11-22 8:32 ` srinath at mistralsolutions.com
2010-11-22 8:32 ` srinath at mistralsolutions.com
` (2 subsequent siblings)
3 siblings, 0 replies; 23+ 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] 23+ messages in thread* [Patch v2] AM35xx: Craneboard: Add USB EHCI support
@ 2010-11-22 8:32 ` srinath at mistralsolutions.com
0 siblings, 0 replies; 23+ 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] 23+ messages in thread* Re: [Patch v2] AM35xx: Craneboard: Add USB EHCI support
2010-11-22 8:32 ` srinath at mistralsolutions.com
@ 2010-11-22 17:56 ` Kevin Hilman
-1 siblings, 0 replies; 23+ 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] 23+ messages in thread* [Patch v2] AM35xx: Craneboard: Add USB EHCI support
@ 2010-11-22 17:56 ` Kevin Hilman
0 siblings, 0 replies; 23+ 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] 23+ messages in thread
* [Patch v4] AM35xx: Craneboard: Add USB EHCI support
[not found] <[PATCH] AM35xx-Craneboard-Add-USB-EHCI-support>
@ 2010-12-16 15:25 ` srinath at mistralsolutions.com
2010-11-22 8:32 ` srinath at mistralsolutions.com
` (2 subsequent siblings)
3 siblings, 0 replies; 23+ 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] 23+ messages in thread* [Patch v4] AM35xx: Craneboard: Add USB EHCI support
@ 2010-12-16 15:25 ` srinath at mistralsolutions.com
0 siblings, 0 replies; 23+ 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] 23+ messages in thread* Re: [Patch v4] AM35xx: Craneboard: Add USB EHCI support
2010-12-16 15:25 ` srinath at mistralsolutions.com
@ 2010-12-17 6:22 ` Felipe Balbi
-1 siblings, 0 replies; 23+ 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] 23+ messages in thread* [Patch v4] AM35xx: Craneboard: Add USB EHCI support
@ 2010-12-17 6:22 ` Felipe Balbi
0 siblings, 0 replies; 23+ 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] 23+ messages in thread
* Re: [Patch v4] AM35xx: Craneboard: Add USB EHCI support
2010-12-16 15:25 ` srinath at mistralsolutions.com
@ 2010-12-17 12:45 ` Sergei Shtylyov
-1 siblings, 0 replies; 23+ 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] 23+ messages in thread* [Patch v4] AM35xx: Craneboard: Add USB EHCI support
@ 2010-12-17 12:45 ` Sergei Shtylyov
0 siblings, 0 replies; 23+ 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] 23+ messages in thread
* [Patch v5] AM35xx: Craneboard: Add USB EHCI support
[not found] <[PATCH] AM35xx-Craneboard-Add-USB-EHCI-support>
@ 2010-12-20 13:08 ` srinath at mistralsolutions.com
2010-11-22 8:32 ` srinath at mistralsolutions.com
` (2 subsequent siblings)
3 siblings, 0 replies; 23+ 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] 23+ messages in thread* [Patch v5] AM35xx: Craneboard: Add USB EHCI support
@ 2010-12-20 13:08 ` srinath at mistralsolutions.com
0 siblings, 0 replies; 23+ 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] 23+ messages in thread* Re: [Patch v5] AM35xx: Craneboard: Add USB EHCI support
2010-12-20 13:08 ` srinath at mistralsolutions.com
@ 2010-12-21 6:58 ` Felipe Balbi
-1 siblings, 0 replies; 23+ 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] 23+ messages in thread