-
Notifications
You must be signed in to change notification settings - Fork 67
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
stm32u5a9xx.h USB_OTG mess #31
Comments
Hello @tdjastrzebski, Thank you for this report. We will get back to you as soon as we analyze it further. This may take some time. Thank you for your comprehension. With Regards, |
Hello @RJMSTM. I just discovered that more USB_OTG register fields definitions are missing.
See RM0456, 73.14.1 OTG control and status register (OTG_GOTGCTL) |
There are two more USB_OTG related register flags which in RM0465 are named |
Hi @tdjastrzebski, Please excuse this delayed reply. Thank you very much for this detailed report. It has been forwarded to our development teams. I will keep you informed. With regards, |
ST Internal Reference: 170735 |
ST Internal Reference: 170738 |
ST Internal Reference: 170739 |
ST Internal Reference: 171759 |
Hello @tdjastrzebski,
The issue you have raised has been fixed in commit 2e053bc. With Regards, |
Hi @tdjastrzebski, We're almost there to close this issue:
I will keep you informed once release 1.7.0 becomes available on GitHub. With regards, |
Hi @ALABSTM, thank you for the update. nice It is good to see that ST software catches up with hardware. Better late than never. Seriously. |
File stm32u5a9xx.h, line 27339:
#define USB_OTG_GCCFG_FSVMINUS_Msk 0x1U << USB_OTG_GCCFG_FSVMINUS_Pos) /*!< 0x00000004 */
has missing opening parenthesis!
GINTSTS.RSTDET register field definition (
USB_OTG_GINTSTS_RSTDET
) is missing.See: RM0456, 73.14.6 OTG core interrupt register [alternate] (OTG_GINTSTS)
Many USB_OTG register field names differ from those described in RM0456. Some of them are completely different. Examples:
GINTSTS.WKUPINT -> USB_OTG_GINTSTS_WKUINT
GINTSTS.IPXFR -> USB_OTG_GINTSTS_PXFR_INCOMPISOOUT
GINTSTS.GONAKEFF -> USB_OTG_GINTSTS_BOUTNAKEFF
GCCFG.FORCEHOSTPD -> USB_OTG_GCCFG_PULLDOWNEN
GCCFG.VBVALOVEN -> USB_OTG_GCCFG_VBVALEXTOEN
GCCFG.HVDMSRCEN -> USB_OTG_GCCFG_H_VDMSRCEN
GCCFG.HCDPDETEN -> USB_OTG_GCCFG_H_CDPDETEN
GCCFG.HCDPEN -> USB_OTG_GCCFG_H_CDPEN
It is difficult to understand why only one particular register -
OTG_HPRT
(RM0456, 73.14.30) is defined asUSBx_HPRT0
in stm32u5xx_ll_usb.h header, rather than in stm32u5a9xx.h where it belongs to.USB_OTG_HostTypeDef
might be a better place to define it. The same time, this register's fields are defined in stm32u5a9xx.h and correctly namedUSB_OTG_HPRT_PSPD
etc.Not to mention that
USBx_HPRT0
definition depends onUSBx_BASE
defined later like this. I think it is overengineered and overcomplicated. OTG host supports only one port. If one really feels like more then one USB port needs to be handled in the future, why not to simply define USB1_HPRT0? - just like e.g.UCPD1
is defined. This is just inconsistent with how other IPs' registers are defined.It is difficult to avoid impression that this STM32U5 HAL release was prepared in rush and never updated after the first RM0456 release version had been finalized.
The text was updated successfully, but these errors were encountered: