The speed of USB drd in device (gadget) mode is generally much slower than that of host mode. This statement is appropriate for all Sitara MPUs, as seen in documents from Sitara Processor Linux SDK.
I am not sure what is the topmost reason behind this. Perhaps it is a limitation in hareware IP. Or the hardware is not optimally used by linux gadget driver. Or it is limited by CPU speed (but I didn't see AM54x performs far better than AM335x). Or it is due to the bad design of some transmission protocol, such as packets too small? I don't know.
But for AM24x, the processor is advertised as more "real-time”. The pcie performance is unbelievably superior, several hundreds of metabytes per second (for a MCU). Is the high performance related with the real-time hardware and rtos? If so, would those real-time features substantially improve the usb device/gadget performance too? Shed me some hints please. We are looking for some good USB peripheral solutions other than FX3 series from Cypress.