summaryrefslogtreecommitdiff
path: root/tinyusb/host/ehci/ehci.h
diff options
context:
space:
mode:
Diffstat (limited to 'tinyusb/host/ehci/ehci.h')
-rw-r--r--tinyusb/host/ehci/ehci.h19
1 files changed, 8 insertions, 11 deletions
diff --git a/tinyusb/host/ehci/ehci.h b/tinyusb/host/ehci/ehci.h
index cfd37c494..290d5f088 100644
--- a/tinyusb/host/ehci/ehci.h
+++ b/tinyusb/host/ehci/ehci.h
@@ -201,10 +201,10 @@ typedef struct {
uint8_t list_index;
uint8_t reserved;
- ehci_qtd_t *p_qtd_list_head; // head of the TD list scheduled
+ ehci_qtd_t *p_qtd_list_head; // head of the scheduled TD list
+ ehci_qtd_t *p_qtd_list_tail; // tail of the scheduled TD list
+ uint32_t reserved_2;
- volatile uint32_t status; // TODO will remove volatile after remove all HcdQHD function
- uint16_t *pActualTransferCount; /* total transferred bytes of a usb request */
}ATTR_ALIGNED(32) ehci_qhd_t;
/// Highspeed Isochronous Transfer Descriptor (section 3.3)
@@ -440,8 +440,7 @@ typedef struct {
ehci_qhd_t async_head[CONTROLLER_HOST_NUMBER]; /// head qhd of async list, also is used as control endpoint for address 0
ehci_qhd_t period_head[CONTROLLER_HOST_NUMBER];
- //------------- Data for Address 0 -------------//
- // qhd: addr0 use async head (dummy) as Queue Head
+ //------------- Data for Address 0 (use async head as its queue head) -------------//
ehci_qtd_t addr0_qtd[3];
struct {
@@ -450,13 +449,11 @@ typedef struct {
ehci_qtd_t qtd[3];
}control;
- ehci_qhd_t qhd[EHCI_MAX_QHD] ; ///< Queue Head Pool
- ehci_qtd_t qtd[EHCI_MAX_QTD] ; ///< Queue Element Transfer Pool
-// ehci_itd_t itd[EHCI_MAX_ITD] ; ///< Iso Transfer Pool
-// ehci_sitd_t sitd[EHCI_MAX_SITD] ; ///< Split (FS) Isochronous Transfer Pool
+ ehci_qhd_t qhd[EHCI_MAX_QHD] ; ///< Queue Head Pool
+ ehci_qtd_t qtd[EHCI_MAX_QTD] ATTR_ALIGNED(32) ; ///< Queue Element Transfer Pool
+// ehci_itd_t itd[EHCI_MAX_ITD] ; ///< Iso Transfer Pool
+// ehci_sitd_t sitd[EHCI_MAX_SITD] ; ///< Split (FS) Isochronous Transfer Pool
}device[TUSB_CFG_HOST_DEVICE_MAX];
-
- tusb_std_request_t control_request[TUSB_CFG_HOST_DEVICE_MAX+1]; // including address zero, 32-byte alignment breaker
}ehci_data_t;
#ifdef __cplusplus