aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/xhci.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/host/xhci.h')
-rw-r--r--drivers/usb/host/xhci.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
index 66be134b8921..059c659d3f39 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -35,6 +35,8 @@
35 35
36/* Max number of USB devices for any host controller - limit in section 6.1 */ 36/* Max number of USB devices for any host controller - limit in section 6.1 */
37#define MAX_HC_SLOTS 256 37#define MAX_HC_SLOTS 256
38/* Section 5.3.3 - MaxPorts */
39#define MAX_HC_PORTS 127
38 40
39/* 41/*
40 * xHCI register interface. 42 * xHCI register interface.
@@ -710,6 +712,10 @@ struct xhci_event_cmd {
710} __attribute__ ((packed)); 712} __attribute__ ((packed));
711 713
712 714
715/* Port Status Change Event TRB fields */
716/* Port ID - bits 31:24 */
717#define GET_PORT_ID(p) (((p) & (0xff << 24)) >> 24)
718
713/* Normal TRB fields */ 719/* Normal TRB fields */
714/* transfer_len bitmasks - bits 0:16 */ 720/* transfer_len bitmasks - bits 0:16 */
715#define TRB_LEN(p) ((p) & 0x1ffff) 721#define TRB_LEN(p) ((p) & 0x1ffff)
@@ -1024,4 +1030,9 @@ void *setup_one_noop(struct xhci_hcd *xhci);
1024void handle_event(struct xhci_hcd *xhci); 1030void handle_event(struct xhci_hcd *xhci);
1025void set_hc_event_deq(struct xhci_hcd *xhci); 1031void set_hc_event_deq(struct xhci_hcd *xhci);
1026 1032
1033/* xHCI roothub code */
1034int xhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue, u16 wIndex,
1035 char *buf, u16 wLength);
1036int xhci_hub_status_data(struct usb_hcd *hcd, char *buf);
1037
1027#endif /* __LINUX_XHCI_HCD_H */ 1038#endif /* __LINUX_XHCI_HCD_H */