F429 USB OTG IN endpoint 0 enable bit is read-only (ref. manual mistake?)
EPENA bit for IN endpoint 0 (OTG_FS_DIEPCTL0 register) is marked as read-only both in the reference manual and in the SVD files for F429.
I believe that is a mistake, as the EPENA bit is used to start transmission on the endpoint and both libopencm3 and STM32 LL drivers ignore the fact that the bit is marked as read-only.
HAL_StatusTypeDef USB_EP0StartXfer(USB_OTG_GlobalTypeDef *USBx , USB_OTG_EPTypeDef *ep, uint8_t dma) {
// other code
USBx_INEP(ep->num)->DIEPCTL |= (USB_OTG_DIEPCTL_CNAK | USB_OTG_DIEPCTL_EPENA);
// other code
}It's possible that the DIEPCTL0 EPENA bit was confused with the DOEPCTL0 EPENA bit, which is marked as write-only, even though it should probably be read-only.
Would someone clarify this for me?
