History: usbh_drv_musb_dma

This page describes all changes made to the usbh_drv_musb_dma package, the USB MUSB DMA Host Controller, since its release.


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.