OTG port not recognized

We have a problem that on our carrier board that is based on Mallow the OTG port does not get recognized when entering recovery mode. When we test the OTG with Yavia board a device appears into windows device manager that looks like that:
image
But doing everything the same way and with same Verdin am62 module on our carrier board no new devices are detected.
Here is the schematics of our boards OTG port
image


The Verdin module itself seems to be entering into the recovery mode because the current from 24V power supply is about 36 mA instead of the usual 90 mA.
When we connect a phone with this OTG port in normal mode it lets us choose between file transfer and other options that would indicate that the communication lines of this port work correctly.
What could be wrong with our carrier board or are there additional requirements for this?
For example we do not have HDMI port on our carrier board.

Hi @SmartStuff, the absence of an HDMI port on your board should not impact recovery mode USB downloads. However, the USB port in recovery mode is highly susceptible to signal integrity issues, making it critical for successful operation. Please double-check that your PCB design adheres to our recommendations listed in the Carrier Board Layout Guide. I would also like to review the USB section of your carrier board design, but the schematic snippets you provided are of low resolution and not searchable. Could you please share your schematic as a searchable PDF file? If you prefer to keep it private, you can email the PDF attachment to support@toradex.com. Be sure to include a link to this topic in your email.

@SmartStuff,

If you use Altium 365 you could also share the design with us to look at the PCB layout.
Like @alex.tx mentioned the right impedance-matched routing is required for USB.
Also on our website, you can book a free 30-minute carrier design training session.

Best Regards,’

Matthias

We found the problem. We have a RC filter on recovery button and with 10k resistor the signal does not get pulled all the way down to zero. Instead there is about 0.9 V on the CTRL_RECOVERY_MICO# pin. I guess there is a 10k pullup resistor on this pin. Funny thing is that some part of the recovery functionality seams to think that the button was pressed and some other part that is responsible for making a USB device does not.

@SmartStuff,

What is about your PCB Layout. What layer stack do you use? Are your USB data have the right impedance? Do you have vias in the USB data lines? What is about the current return path?

Can you share the layout of the USB ?

Matthias