X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FModules%2FUSB%2FUHCI%2Fuhci.h;h=fbbeba32b1dca62894285e21494e183750147b54;hb=f0b5018caef356cda6afa147ddb6917068c62dd7;hp=090b6fcaa416cf3d793b30b1e38b5d6331ee9350;hpb=fa8a440a927e1a31c5cd1a82df05a7052da8c536;p=tpg%2Facess2.git diff --git a/KernelLand/Modules/USB/UHCI/uhci.h b/KernelLand/Modules/USB/UHCI/uhci.h index 090b6fca..fbbeba32 100644 --- a/KernelLand/Modules/USB/UHCI/uhci.h +++ b/KernelLand/Modules/USB/UHCI/uhci.h @@ -8,6 +8,7 @@ // === TYPES === typedef struct sUHCI_Controller tUHCI_Controller; +typedef struct sUHCI_EndpointInfo tUHCI_EndpointInfo; typedef struct sUHCI_ExtraTDInfo tUHCI_ExtraTDInfo; typedef struct sUHCI_TD tUHCI_TD; @@ -24,6 +25,23 @@ struct sUHCI_ExtraTDInfo void *CallbackPtr; }; +struct sUHCI_EndpointInfo +{ + unsigned MaxPacketSize : 12; + unsigned Type : 3; + unsigned Tgl : 1; +}; + +#define TD_CTL_IOC (1 << 24) +#define TD_CTL_ACTIVE (1 << 23) +#define TD_CTL_STALLED (1 << 22) +#define TD_CTL_DATABUFERR (1 << 21) +#define TD_CTL_BABBLE (1 << 20) +#define TD_CTL_NAK (1 << 19) +#define TD_CTL_CRCERR (1 << 18) +#define TD_CTL_BITSTUFF (1 << 17) +#define TD_CTL_RESERVED (1 << 16) + struct sUHCI_TD { /** @@ -102,7 +120,6 @@ struct sUHCI_QH */ Uint32 Next; - /** * \brief Next Entry in list * @@ -165,8 +182,9 @@ struct sUHCI_Controller tUSBHub *RootHub; /** + * \brief Load in bytes on each interrupt queue */ -// int FrameLoads[1024]; + int InterruptLoad[128]; tPAddr PhysTDQHPage; struct @@ -188,6 +206,10 @@ struct sUHCI_Controller tUHCI_TD LocalTDPool[ (4096-(128+2)*sizeof(tUHCI_QH)) / sizeof(tUHCI_TD) ]; } *TDQHPage; + + struct { + tUHCI_EndpointInfo EndpointInfo[16]; + } *DevInfo[256]; }; // === ENUMERATIONS ===