Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 226679
b: refs/heads/master
c: 840b929
h: refs/heads/master
i:
  226677: 447775b
  226675: dbcd806
  226671: fbd3e04
v: v3
  • Loading branch information
Srinath authored and Tony Lindgren committed Dec 23, 2010
1 parent 5742983 commit ba292a8
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 0b50c691f93a973136dc821ef11372ffdfae9646
refs/heads/master: 840b929680c0d79f5248724d1b6b6d3f2ca3159e
48 changes: 48 additions & 0 deletions trunk/arch/arm/mach-omap2/board-am3517crane.c
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand All @@ -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 = {
Expand All @@ -52,10 +59,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")
Expand Down

0 comments on commit ba292a8

Please sign in to comment.