cancel
Showing results for 
Search instead for 
Did you mean: 

Fifo settings for composite device...

rishi2
Associate III

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

2 REPLIES 2
Olivier GALLIEN
ST Employee

Hi @rishi2​ 

Do you know this page of our online documentation : https://wiki.st.com/stm32mpu/wiki/USB_overview ?

I wonder if I cannot provide hints and means to go further in investigation.

Olivier

Olivier GALLIEN
In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

Is it possible to implement 1x Rndis and 2x com ports (serial ports) with the USB Composite device gadget?

Thanks