srinath@xxxxxxxxxxxxxxxxxxxx writes: > From: Srinath <srinath@xxxxxxxxxxxxxxxxxxxx> > > 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@xxxxxxxxxxxxxxxxxxxx> > --- > 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 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html