summaryrefslogtreecommitdiff
path: root/payloads/libpayload/include/usb
diff options
context:
space:
mode:
authorAnton Kochkov <anton.kochkov@gmail.com>2012-06-28 08:30:15 +0400
committerStefan Reinauer <stefan.reinauer@coreboot.org>2012-08-23 07:05:02 +0200
commit1c36eada27697e1feafda6db162f7d4854b64ff6 (patch)
tree7eb4e6256ef3d484dda78e28196d4ae547c149f6 /payloads/libpayload/include/usb
parent79b0574698f34abbb4a7924d4e40ea2b2b2cecf3 (diff)
libpayload: add controller type in usbdev_hc
Add controller type (UHCI, OHCI, EHCI or XHCI) into usbdev_hc (hci_t) struct, so now we know which type selected controller have. It needed to access controller specific data, if access usb tree outside of libpayload (e.g. in payload intself) Change-Id: I7df947bbb56a50d0d792ccd4d3a6b021ee95e2ea Signed-off-by: Anton Kochkov <anton.kochkov@gmail.com> Reviewed-on: http://review.coreboot.org/1145 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'payloads/libpayload/include/usb')
-rw-r--r--payloads/libpayload/include/usb/usb.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/payloads/libpayload/include/usb/usb.h b/payloads/libpayload/include/usb/usb.h
index ecfee54551..27af9bc3a0 100644
--- a/payloads/libpayload/include/usb/usb.h
+++ b/payloads/libpayload/include/usb/usb.h
@@ -111,10 +111,13 @@ struct usbdev {
void (*poll) (usbdev_t *dev);
};
+typedef enum { OHCI = 0, UHCI = 1, EHCI = 2, XHCI = 3} hc_type;
+
struct usbdev_hc {
struct usbdev_hc *next;
pcidev_t bus_address;
u32 reg_base;
+ hc_type type;
usbdev_t *devices[128]; // dev 0 is root hub, 127 is last addressable
void (*start) (hci_t *controller);
void (*stop) (hci_t *controller);