summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/controller/dwc_otgreg.h
Commit message (Collapse)AuthorAgeFilesLines
* Multiple DWC OTG host mode related fixes and improvements:hselasky2014-05-091-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Rework how we allocate and free USB host channels, so that we only allocate a channel if there is a real packet going out on the USB cable. - Use BULK type for control data and status, due to instabilities in the HW it appears. - Split FIFO TX levels into one for the periodic FIFO and one for the non-periodic FIFO. - Use correct HFNUM mask when scheduling host transactions. The HFNUM register does not count the full 16-bit range. - Correct START/COMPLETION slot for TT transactions. For INTERRUPT and ISOCHRONOUS type transactions the hardware always respects the ODDFRM bit, which means we need to allocate multiple host channels when processing such endpoints, to not miss any so-called complete split opportunities. - When doing ISOCHRONOUS OUT transfers through a TT send all data payload in a single ALL-burst. This deacreases the likelyhood for isochronous data underruns. - Fixed unbalanced unlock in case of "dwc_otg_init_fifo()" failure. - Increase interrupt priority. MFC after: 2 weeks
* Improve DWC OTG USB host side support for isochronous FULL and HIGHhselasky2014-05-051-0/+10
| | | | | | | | | speed data traffic going directly to a USB device or through a so-called USB transaction translator. Add checks that we are not overusing the TX FIFO. MFC after: 2 weeks
* Fix LOW and FULL speed USB INTERRUPT endpoint support for thehselasky2012-11-091-1/+1
| | | | | | | | | 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 @
* Make sure we record NAK tokens in the TD structure for IN direction.hselasky2012-09-271-1/+0
| | | | | Improve host channel disabling. Wait two times 125us for channel to be disabled. The DWC OTG doesn't like when channels are re-used too early.
* DWC OTG host mode improvements. Add support for the 3-strikes and you arehselasky2012-09-231-1/+6
| | | | | | | | | | gone rule. Optimise use of channels so that when a channel is not ready another channel is used. Instead of using the SOF interrupt use the system timer to drive the host statemachine. This might give lower throughput and higher latency, but reduces the CPU usage significantly. The DWC OTG host mode support should not be considered for serious USB host controller applications. Some problems are still seen with LOW speed USB devices.
* DWC OTG improvements. Implement full support for SPLIT transactions, in otherhselasky2012-09-141-0/+2
| | | | | words FULL/LOW speed devices through HIGH speed HUBs. Improve support for suspend and resume in host mode.
* Add support for host mode to the DWC OTG controller driver.hselasky2012-09-091-4/+2
| | | | | | | The DWC OTG host mode support should still be considered experimental. Isochronous support for DWC OTG is not fully implemented. Some code added derives from Aleksandr Rybalko's dotg.c driver.
* Add more DWC OTG register definitions.hselasky2012-09-031-3/+21
| | | | Submitted by: Nick Hudson
* Preparations for adding USB HOST mode to the DWC OTG driver.hselasky2012-08-301-0/+757
Merge register file with external one and put all register definitions in a separate file. Submitted by: ray @
OpenPOWER on IntegriCloud