History: usbh_drv_stm32_otg
This page describes all changes made to the usbh_drv_stm32_otg package, the USB STM32 OTG Host Controller, since its release.
Version
2.31:
- Updated to work with USB host base major version 3.
2.30:
- USB host lockup could occur if transfer status was polled with usbh_transfer_status() function.
2.29:
- FS mode working again (if STM32UH_FS_USED is set to 1).
2.28:
- 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).
2.27:
- Reset USB OTG HS module in stm32uh_start() function.
2.26:
- Sometimes transfers did not finish correctly in case of device removal or transfer stop in case of timeout.
2.25:
- 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.
2.24:
- Fixed suspend-resume issue.
2.23:
- Fast connect-disconnect issue solved.
2.22:
- 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).
2.21:
- Disconnect of device0 (directly from port) fix.
2.20:
- Reorganized configuration.
- Resource deletion added to stm32uh_delete().
2.19:
- Handle INT OUT endpoints as bulk.
2.18:
- 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.
2.17:
- _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.
2.16:
- SPLIT communication fix in case ONE_NAK_PER_FRAME = 0.
- Disconnect fix in case case ONE_NAK_PER_FRAME = 0.
2.15
- USB reset delay fix: 10ms instead of 1ms.
2.14
- Fixed USB reset.
2.13
- Several fixes regarding SPLIT transactions.
2.12
- Added support for two units (using OTG_FS and OTG_HS in parallell).
2.11
- INT endpoint interval calculation fixed for HS devices.
2.10
- Root hub disconnect issue fixed.
2.9
- driver made independent of PSP (includes psp header instead of stm32f10x/20x reg. def.)
.
2.8
- Hardware-specific init changed.
- Non hardware-specific init moved to stm32uh_init().
2.7
- added support to run with internal FS PHY instead of external ULPI.
2.6
- new register definition file hcc_stm32_regs.h used.
- added call to stm32uh_hw_stop() from stm32uh_stop().
2.5
- fix in add_ep() for when hub is present.
- fixed issue with fast connect/disconnect when ONE_NAK_PER_FRAME is enabled.
2.4
- _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).
2.3
- 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.
2.2
- _stm32uh_remove_transfer(): fixed channel halting problem.
- added version number check to stm32uh.c.
2.1
- Initial release.