This page describes all changes made to the usbh_drv_musb_dma package, the USB MUSB DMA Host Controller, since its release.
1.14 (2021-06-11, 15:03):
- Driver stop did not work correctly (active session was not stopped).
- Fixed port suspend and resume.
- Bug fix: ISO RX and TX endpoint queues were not separated correctly. This caused mixing of IN and OUT EP transfers.
- Bug fix: Double OUT ISO packets were sent when an audio device has feedback endpoint.
- Corrected EP polling interval calculation.
1.13 (2021-02-19, 15:40):
- MCU cores without separated DMA interrupt are supported.
1.12 (2021-02-24, 17:33):
- Enumeration could fail after device reconnection.
1.11 (2021-02-16, 11:30):
- Added ISO handling.
1.10r2 (2020-09-22, 16:36):
- Added psp_template_membar dependency to the info file.
1.10 (2020-09-03, 15:30):
- DMA was able to transfer more data into the user buffer than the size of the buffer.
- Flushing the FIFO of a TX endpoint had no effect.
- Requesting IN transactions were not stopped when the RX transfer ended with timeout or error.
1.9r2 (2020-08-03, 18:46):
- Fixed configuration file in Smartfusion PSP (did not compile due to wrong version number check).
1.9 (2020-07-02, 17:32):
- After USB reset, potential interrupted transfers could be mistakenly transmitted.
- Added PSP template for ADSP-SC573 EZ-BOARD with FreeRTOS.
1.8 (2020-01-24, 12:32):
- DMA transfers might generate unnecessary copying between RAM buffers.
- Data corruption might occur when built with optimization enabled.
- Added PSP template for ADSP-SC589 EZ-BOARD with FreeRTOS.
1.7 (2018-10-04, 10:13):
- Control endpoint (Endpoint0) communication (e.g. enumeration) might have failed because of improper register access on some microcontrollers (e.g. SmartFusion2).
- Non-control endpoint communication (e.g. bulk read/write, like r/w on mass-storage devices) might have failed on some microcontrollers (e.g. SmartFusion2).
- New on Driver<->PSP interface: the driver expects HCC_MUSB_VADDR_TO_PADDR (the macro defining virtual to physical address conversion) to be defined in psp_usbh_musb_dma.h. This is because this attribute is platform-dependent.
- New on Driver<->PSP interface: depending on the MCU non-word reading from endpoint FIFO might need different handling than what the documentation says. This deviation, if present, will be in psp_usbh_musb_dma.h. PIC32MZ devices behave this way - PIC32MZ PSP updated accordingly.
- Added PSP for Microsemi SmartFusion2 (dev. board: Emcraft SOM-M2S010).
1.6r2 (2018-08-29, 18:16):
- Document HTML link added to the documentation folder.
- History and document files renamed to the package name.
- Communication to devices with slow response time might fail - fixed.
- Compiler warning eliminated.
- Transfers or enumeration cannot be started due to DMA buffers could remain locked.
- High speed mode can be enabled/disabled from configuration (MUSB_ENABLE_HS).
- Virtual address translation was added.
- Automatic session restart can be disabled from configuration (MUSB_RESTART_SESSION_AT_DISCONNECT).
- IN transfers ending with short packet could fail.
- Simultaneous transfers on different non control endpoints could cause data loss on one of the affected endpoints.
- Connecting a device could cause unnoticed VBUS loss.
- General code cleanup.
- The maximum NAK rate interval setting changed. With some bInterval settings USB host high-speed BULK OUT endpoint doesn't transfer data.
- Initial release.