summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorVincent Palatin <vpalatin@chromium.org>2011-08-01 11:14:33 -0700
committerSimon Glass <sjg@chromium.org>2011-08-29 10:59:24 -0700
commit5334757c396f62eb5d01c6d15efce105dc94eec4 (patch)
tree889557bfe36a1e3f01d1d3a9523a4977a3794264 /arch
parent94e9eb775fce848a47b2e5d0b40f7f0b8c3e8f3f (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.h10
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_ */