aboutsummaryrefslogtreecommitdiff
path: root/payloads/libpayload/drivers/usb/uhci.h
diff options
context:
space:
mode:
authorPatrick Georgi <patrick.georgi@coresystems.de>2010-06-07 13:58:17 +0000
committerPatrick Georgi <patrick.georgi@coresystems.de>2010-06-07 13:58:17 +0000
commitd78691d49db4efb03c1466f9a02c590df1f5efc1 (patch)
treed3381d14d72586bbed660287d2ccba27328378bb /payloads/libpayload/drivers/usb/uhci.h
parentaed992054f3af248e12ec88de4c047456fe9b104 (diff)
Avoid using the name "pid_t", which is used on unixoid systems.
Move controller specific data structures into private headers, to avoid conflicts between controller drivers. Factor out the USB PID ids, which are only exposed on UHCI. It's of not much use on the other controllers. Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5616 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'payloads/libpayload/drivers/usb/uhci.h')
-rw-r--r--payloads/libpayload/drivers/usb/uhci.h84
1 files changed, 0 insertions, 84 deletions
diff --git a/payloads/libpayload/drivers/usb/uhci.h b/payloads/libpayload/drivers/usb/uhci.h
index b46068bb40..2ef3f0b499 100644
--- a/payloads/libpayload/drivers/usb/uhci.h
+++ b/payloads/libpayload/drivers/usb/uhci.h
@@ -33,90 +33,6 @@
#include <pci.h>
#include <usb/usb.h>
-typedef union {
- struct {
- unsigned long terminate:1;
- unsigned long queue_head:1;
- unsigned long:2;
- unsigned long ptr_part:28;
- };
- u32 ptr;
-} __attribute__ ((packed)) flistp_t;
-
-typedef struct {
- union {
- struct {
- unsigned long terminate:1;
- unsigned long queue_head:1;
- unsigned long depth_first:1;
- unsigned long:29;
- } __attribute__ ((packed));
- u32 ptr;
- } __attribute__ ((packed));
-
- volatile unsigned long actlen:11;
- volatile unsigned long:5;
- union {
- struct {
- unsigned long:1; // bit 0
- unsigned long status_bitstuff_err:1;
- unsigned long status_crc_err:1;
- unsigned long status_nakrcvd:1;
- unsigned long status_babble:1;
- unsigned long status_databuf_err:1;
- unsigned long status_stalled:1;
- unsigned long status_active:1; // bit 7
- } __attribute__ ((packed));
- unsigned char status;
- } __attribute__ ((packed));
- volatile unsigned long ioc:1; /* interrupt on complete */
- volatile unsigned long isochronous:1;
- volatile unsigned long lowspeed:1;
- volatile unsigned long counter:2;
- volatile unsigned long shortpck:1;
- volatile unsigned long:2;
-
- unsigned long pid:8;
- unsigned long dev_addr:7;
- unsigned long endp:4;
- unsigned long data_toggle:1;
- unsigned long:1;
- unsigned long maxlen:11;
-
- u32 bufptr;
-
-} __attribute__ ((packed))
- td_t;
-
- typedef struct {
- flistp_t headlinkptr;
- volatile flistp_t elementlinkptr;
- } __attribute__ ((packed))
- qh_t;
-
- typedef enum { USBCMD = 0, USBSTS = 2, USBINTR = 4, FRNUM =
- 6, FLBASEADD = 8, SOFMOD = 0xc, PORTSC1 = 0x10, PORTSC2 =
- 0x12
- } usbreg;
-
- void uhci_reg_write32 (hci_t *ctrl, usbreg reg, u32 value);
- u32 uhci_reg_read32 (hci_t *ctrl, usbreg reg);
- void uhci_reg_write16 (hci_t *ctrl, usbreg reg, u16 value);
- u16 uhci_reg_read16 (hci_t *ctrl, usbreg reg);
- void uhci_reg_write8 (hci_t *ctrl, usbreg reg, u8 value);
- u8 uhci_reg_read8 (hci_t *ctrl, usbreg reg);
- void uhci_reg_mask32 (hci_t *ctrl, usbreg reg, u32 andmask, u32 ormask);
- void uhci_reg_mask16 (hci_t *ctrl, usbreg reg, u16 andmask, u16 ormask);
- void uhci_reg_mask8 (hci_t *ctrl, usbreg reg, u8 andmask, u8 ormask);
-
- typedef struct uhci {
- flistp_t *framelistptr;
- qh_t *qh_prei, *qh_intr, *qh_data, *qh_last;
- usbdev_t *roothub;
- } uhci_t;
-
-#define UHCI_INST(controller) ((uhci_t*)((controller)->instance))
-
hci_t *uhci_init (pcidev_t addr);
void uhci_rh_init (usbdev_t *dev);