STM32H743 USB Host FIFOs problem
Hello,
I'm currently developing a USB Host library with support for multiple interfaces on the same device. To be more clear, I have one device connected with 3 different CDC interfaces available and i need to use all of them simultaneously.
At the moment I'm facing a problem with the FIFOs that the USB scheduler uses. When I have all the interfaces open, I get an incorrect value in OTG_HS_HNPTXSTS, precisely the value of the space available in the non periodic TX FIFO (NPTXFSAV) exceed the acceptable value. It's a Read-Only register and i can't find any hint of how it breaks. I already checked twice mi FIFO dimensions settings and they seems to be good.
USBx->GRXFSIZ = 0x180U;
USBx->DIEPTXF0_HNPTXFSIZ = (uint32_t)(((0x1A0U << 16) & USB_OTG_NPTXFD) | 0x180U);
USBx->HPTXFSIZ = (uint32_t)(((0xE0U << 16) & USB_OTG_HPTXFSIZ_PTXFD) | 0x320U);
Any idea is welcome!
