This page describes all changes made to the usbh_drv_stm32_otg package, the USB STM32 OTG Host Controller, since its release.
- Updated to work with USB host base major version 3.
- USB host lockup could occur if transfer status was polled with usbh_transfer_status() function.
- FS mode working again (if STM32UH_FS_USED is set to 1).
- Used flag never cleared for device address zero.
- INT transfer NYET/TXERR handling applied for BULK transfers as well.
- Non-periodic transfers prohibited from starting in the same frame a SPLIT transaction has started in (just like INT transfers).
- Reset USB OTG HS module in stm32uh_start() function.
- Sometimes transfers did not finish correctly in case of device removal or transfer stop in case of timeout.
- Added support for remote wakeup.
- Fixed the case when a FS/LS device behind a HS hub goes to suspend.
- Fixed the case when a HS Hub responses with a NYET to a CSPLIT-IN.
- Fixed suspend-resume issue.
- Fast connect-disconnect issue solved.
- No transfers started from transfer_start() function to avoid possible starvation of pending INT transfers.
- Added protection against the case when a device sends more data than requested (buffer overflow eliminated).
- Disconnect of device0 (directly from port) fix.
- Reorganized configuration.
- Resource deletion added to stm32uh_delete().
- Handle INT OUT endpoints as bulk.
- stm32uh_start(): the PWRDWN bit in the GCCFG register is now set only in case an internal FS transceiver is used (for the OTG_FS, or for the OTG_HS when used with internal FS PHY), PB14 and PB15 could not be used as GPIO is PWRDWN was set if used with ULPI.
- _stm32uh_schedule(): td.retry set back to original value.
- add_ep(): removed debug code setting interval to constant 1.
- stm32uh_get_frame_number(): value divided by 8 in case of a HS link.
- Periodic transfers are only allowed at the beginning of the frame and can never be executed after a non-periodic transfer (in the same frame).
- Periodic transfers are not allowed after split transactions in the same frame.
- SPLIT communication fix in case ONE_NAK_PER_FRAME = 0.
- Disconnect fix in case case ONE_NAK_PER_FRAME = 0.
- USB reset delay fix: 10ms instead of 1ms.
- Fixed USB reset.
- Several fixes regarding SPLIT transactions.
- Added support for two units (using OTG_FS and OTG_HS in parallel).
- INT endpoint interval calculation fixed for HS devices.
- Root hub disconnect issue fixed.
- driver made independent of PSP (includes psp header instead of stm32f10x/20x reg. def.)
- Hardware-specific init changed.
- Non hardware-specific init moved to stm32uh_init().
- added support to run with internal FS PHY instead of external ULPI.
- new register definition file hcc_stm32_regs.h used.
- added call to stm32uh_hw_stop() from stm32uh_stop().
- fix in add_ep() for when hub is present.
- fixed issue with fast connect/disconnect when ONE_NAK_PER_FRAME is enabled.
- _stm32uh_remove_transfer(): calls of oal_task_sleep() removed (interrupt context).
- KEIL compilation warnings eliminated.
- call of cb_fn() removed (done in the upper layer).
- corrected NP_FT_REMAIN value for OTG_FS.
- fixed problem with fast connect-disconnect.
- stm32uh.h: always used OTG_xS_IRQn; defined in config_usbh_stm32uh.h if not defined in library include file.
- _stm32uh_remove_transfer(): fixed channel halting problem.
- added version number check to stm32uh.c.
- Initial release.