From: srinath@mistralsolutions.com To: linux-omap@vger.kernel.org Cc: jdk@ti.com, tony@atomide.com, linux-kernel@vger.kernel.org, linux@arm.linux.org.uk, linux-arm-kernel@lists.infradead.org, khilman@deeprootsystems.com, nagendra@mistralsolutions.com, umeshk@mistralsolutions.com, sshtylyov@mvista.com, manjugk@ti.com, babli@ti.com, Srinath <srinath@mistralsolutions.com> Subject: [Patch v5] AM35xx: Craneboard: Add USB EHCI support Date: Mon, 20 Dec 2010 18:38:43 +0530 [thread overview] Message-ID: <1292850523-14583-1-git-send-email-srinath@mistralsolutions.com> (raw) In-Reply-To: <[PATCH] AM35xx-Craneboard-Add-USB-EHCI-support> 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
WARNING: multiple messages have this Message-ID (diff)
From: srinath@mistralsolutions.com (srinath at mistralsolutions.com) To: linux-arm-kernel@lists.infradead.org Subject: [Patch v5] AM35xx: Craneboard: Add USB EHCI support Date: Mon, 20 Dec 2010 18:38:43 +0530 [thread overview] Message-ID: <1292850523-14583-1-git-send-email-srinath@mistralsolutions.com> (raw) In-Reply-To: <[PATCH] AM35xx-Craneboard-Add-USB-EHCI-support> 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
next prev parent reply other threads:[~2010-12-20 13:37 UTC|newest] Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top [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:07 ` srinath at mistralsolutions.com 2010-11-19 16:59 ` Igor Grinberg 2010-11-19 16:59 ` Igor Grinberg 2010-11-20 11:39 ` Sergei Shtylyov 2010-11-20 11:39 ` Sergei Shtylyov 2010-11-22 8:55 ` Srinath R 2010-11-22 8:55 ` Srinath R 2010-11-22 8:55 ` Srinath R 2010-11-22 8:32 ` [Patch v2] " srinath 2010-11-22 8:32 ` srinath at mistralsolutions.com 2010-11-22 17:56 ` Kevin Hilman 2010-11-22 17:56 ` Kevin Hilman 2010-12-16 15:25 ` [Patch v4] " srinath 2010-12-16 15:25 ` srinath at mistralsolutions.com 2010-12-17 6:22 ` Felipe Balbi 2010-12-17 6:22 ` Felipe Balbi 2010-12-17 12:45 ` Sergei Shtylyov 2010-12-17 12:45 ` Sergei Shtylyov 2010-12-20 13:08 ` srinath [this message] 2010-12-20 13:08 ` [Patch v5] " srinath at mistralsolutions.com 2010-12-21 6:58 ` Felipe Balbi 2010-12-21 6:58 ` Felipe Balbi
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1292850523-14583-1-git-send-email-srinath@mistralsolutions.com \ --to=srinath@mistralsolutions.com \ --cc=babli@ti.com \ --cc=jdk@ti.com \ --cc=khilman@deeprootsystems.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-omap@vger.kernel.org \ --cc=linux@arm.linux.org.uk \ --cc=manjugk@ti.com \ --cc=nagendra@mistralsolutions.com \ --cc=sshtylyov@mvista.com \ --cc=tony@atomide.com \ --cc=umeshk@mistralsolutions.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.