Skip to main content
rishi2
Associate II
Apr 23, 2021 9:19 AM UTC
Question

Fifo settings for composite device...

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

This topic has been closed for replies.

2 replies

Olivier GALLIEN
ST Technical Moderator
Apr 27, 2021 9:58 AM UTC

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

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.
ITeo.1
Associate II
Oct 28, 2021 10:22 AM UTC

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

Thanks