diff options
author | Vincent Palatin <vpalatin@chromium.org> | 2011-08-01 11:14:33 -0700 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2011-08-29 10:59:24 -0700 |
commit | 5334757c396f62eb5d01c6d15efce105dc94eec4 (patch) | |
tree | 889557bfe36a1e3f01d1d3a9523a4977a3794264 /arch | |
parent | 94e9eb775fce848a47b2e5d0b40f7f0b8c3e8f3f (diff) |
usb: add multiple controllers support for EHCI
Add the ability to have several active EHCI controller on a system
and implement it for Tegra EHCI controllers.
BUG=chrome-os-partner:5043
TEST=boot an Aebl with USB key on USB3 port, boot a Kaen with USB key on
USB1 port, boot a Kaen with USB key on USB3 port.
Change-Id: Id37a9a4f92b986505fd6f8778d6f7964890d46b4
Reviewed-on: http://gerrit.chromium.org/gerrit/4981
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
Tested-by: Vincent Palatin <vpalatin@chromium.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/include/asm/arch-tegra2/usb.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/arch/arm/include/asm/arch-tegra2/usb.h b/arch/arm/include/asm/arch-tegra2/usb.h index bbbe3c70dd..02c2576813 100644 --- a/arch/arm/include/asm/arch-tegra2/usb.h +++ b/arch/arm/include/asm/arch-tegra2/usb.h @@ -207,6 +207,8 @@ struct usb_ctlr { /* USB3_IF_USB_PHY_VBUS_SENSORS_0 */ #define VBUS_VLD_STS_RANGE 26:26 +struct ehci_hccr; +struct ehci_hcor; /* Change the USB host port into host mode */ void usb_set_host_mode(void); @@ -224,13 +226,15 @@ int board_usb_init(const void *blob); * @param hcor returns start address of EHCI HCOR registers * @return 0 if ok, -1 on error (generally invalid port number) */ -int tegrausb_start_port(unsigned portnum, u32 *hccr, u32 *hcor); +int tegrausb_start_port(unsigned portnum, struct ehci_hccr **hccr, + struct ehci_hcor **hcor); /** - * Stop the current port + * Stop the selected port * + * @param portnum port number to stop * @return 0 if ok, -1 if no port was active */ -int tegrausb_stop_port(void); +int tegrausb_stop_port(unsigned portnum); #endif /* _TEGRA_USB_H_ */ |