Forums › Devices › OSD32MP15x › Configuring USB FIFOs
Tagged: OSD32MP15x
Hi there,
I am struggling to understand and achieve a USB gadget with Mass Storage + Serial(cdc-acm) + 1 custom interface with one bulk in and one bulk out though functionfs. Every interface works fine when runs separately. Issue starts when i try to make a composite device because of the fifo configuration.
I understand there is total of 4KB Fifo as described in reference manual and is configurable for each endpoint as needed.
I believe in my case :
MSG = I need 1 BULK IN + 1 BULK OUT
CUSTOM = I need 1 BULK IN and 1 BULK OUT
CDC ACM = needs 1 BULK IN and i BULK OUT + 1 interrupt endpoint
so my requirement is only for np-tx-fifo, is this correct?
But alwasy in composite mode it fails with :
dwc2 49000000.usb-otg: dwc2_hsotg_ep_enable: No suitable fifo found
.. <<from stm32mp151.dtsi>> – and total of entries can be 952 dwords.
g-rx-fifo-size = <128>;
g-np-tx-fifo-size = <512>;
g-tx-fifo-size = <128 128 64 64 64 64 32 32>;
Can somebody please explain how to configure it properly to achieve a composite device ?
Thanks, Rishi
Rishi,
This question may be better suited for STM32MP1 forum as it involves core driver setup and ST’s team would be better able to answer.
From our side, we would suggest taking a look at the driver source code: https://github.com/STMicroelectronics/linux/tree/v5.10-stm32mp/drivers/usb/dwc2/, although the documentation on this driver is not great. Enabling traces would also give you more debug messaging to understand where the setup is failing: https://wiki.st.com/stm32mpu/wiki/USB_overview.
Best,
Neeraj
Octavo Systems LLC all rights reserved
OCTAVO is registered in the U.S. Patent and Trademark Office. OSD, C-SiP, and the Octavo Logo are trademarks of Octavo Systems LLC.
"*" indicates required fields
"*" indicates required fields
"*" indicates required fields
"*" indicates required fields