summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/controller/dwc_otg.h
diff options
context:
space:
mode:
authorhselasky <hselasky@FreeBSD.org>2012-11-09 16:28:58 +0000
committerhselasky <hselasky@FreeBSD.org>2012-11-09 16:28:58 +0000
commit6bb0563ddc5399b84698522a5b9d850038a38f31 (patch)
treeb7e9ff31da54035528790fb1c17faed7fab2f980 /sys/dev/usb/controller/dwc_otg.h
parent3c8fa044cf34a658663e823843f0141de113049b (diff)
downloadFreeBSD-src-6bb0563ddc5399b84698522a5b9d850038a38f31.zip
FreeBSD-src-6bb0563ddc5399b84698522a5b9d850038a38f31.tar.gz
Fix LOW and FULL speed USB INTERRUPT endpoint support for the
DWC OTG driver. Fix a hang issue when using LOW and FULL speed BULK traffic. Make sure we don't ask for data in the last microframe. This allows using devices like USB mice and USB keyboards connected to the RPI-B. Suggested by: gonzo @
Diffstat (limited to 'sys/dev/usb/controller/dwc_otg.h')
-rw-r--r--sys/dev/usb/controller/dwc_otg.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/dev/usb/controller/dwc_otg.h b/sys/dev/usb/controller/dwc_otg.h
index 1ff2583..a301698 100644
--- a/sys/dev/usb/controller/dwc_otg.h
+++ b/sys/dev/usb/controller/dwc_otg.h
@@ -60,6 +60,7 @@ struct dwc_otg_td {
uint8_t errcnt;
uint8_t tmr_res;
uint8_t tmr_val;
+ uint8_t curr_frame;
uint8_t ep_no;
uint8_t channel;
uint8_t state;
@@ -69,8 +70,10 @@ struct dwc_otg_td {
#define DWC_CHAN_ST_WAIT_C_ANE 3
#define DWC_CHAN_ST_RX_PKT 4
#define DWC_CHAN_ST_RX_SPKT 5
+#define DWC_CHAN_ST_RX_SPKT_SYNC 6
#define DWC_CHAN_ST_TX_PKT 4
#define DWC_CHAN_ST_TX_CPKT 5
+#define DWC_CHAN_ST_TX_PKT_SYNC 6
uint8_t error:1;
uint8_t error_any:1;
uint8_t error_stall:1;
OpenPOWER on IntegriCloud