| FORUM

FEDEVEL
Platform forum

BOOT FAILURE iMX6 - USB NOT DETECTED

Harkirat S Virk , 05-29-2020, 03:38 AM
I have designed and built a custom imx6 board. Design is similar to the reference diagram. The power supply is running off a NXP PF1510. The device is driven of the USB power rail (5.0V, stable supply). USB_OTG1 is connected to USB TypeA connector.
  • All the power rail voltages from PMIC on power up are good (+/- 2%).
  • RESETMCU on the PMIC is good (3.3V)
  • POR_B either connected to PMIC RESETMCU or left floating is good (3.3V)
  • SI analysis of the board done on altium doesn't indicate too much overshoot or undershoot.
  • XTALs are ABS07-32.768KHZ-9-T and ASDMB-24.000MHZ-XY-T

Only OTG1 being used



Connected to USB Type A



BOOT MODE Selector switch, ONOFF Left floating. POR with two option - driven by PMIC / Left floating



XTAL connected



THE PROBLEM STATEMENT

When connected to the PC (MAC/Linux/Windows) the device is not detected (should come up as HID).
  • Tried do raw packet collection using wireshark, nothing there either.
  • I do not think it is a Signal Integrity issue (impedance matching has been done, differential pair lengths checked, reference plane is good).
  • Board quality looks good too, i have multiple prototypes but dosnt work on any - likely not a quality issue.
  • Checked with different boot modes (serial connect BOOTMODE[1:0] = 01, boot from fuses BOOTMODE[1:0] = 00).
  • I think either the imx6 is not booting or USB is not working - left floating POR_B is high (so that's good)and the USB differential is a straight circuit untouched and well shielded (i think).
  • Since it is not detected as HID can't use Mfgtool2 for booting, so no UART.

Despite everything cannot get the device to be detected on USB. I would appreciated any ideas anyone can give.

Thank you (Do not have an oscilloscope)
Harkirat S Virk , 05-30-2020, 05:24 PM
In continuation ...

The voltage rails are
VBUS - 5.145V (PMIC supply)
SW1 - 1.389V
SW2 - 1.355V
SW3 - 3.340V
VLDO1 - 1.802V
VLDO2 - Unconnected
VLDO3 - 3.296
VSNVS - 3.041V
DDR_VREF - 0.676V

on power on with POR_B floating POR_B - 3.309V

Tried powering up the board with POR_B pulled down released after > 5 sec - No detection
Tried pulling down POR_B after 10 sec of PMIC power on (initially with POR_B floating) - no detection



XTAL



ABS07-32.768kHZ-9-T
ESR - 70kOhm
Load Cap - 9pF and board cap is 9pF +/- 0.1pF



ASDMB-24.000MHZ-XY-T
Stability +/- 10ppm (not checked)
Output load 10kOhm
Load Cap - 15pF
Board Cap 15pF (1%)
Deviation - 2.2M registor to GND for XTALI bias not externally adjustable

Q: Based on the schematic i have shared, are the board caps correct?


Hardware Development Guide for the i.MX 6UltraLite Applications Processor

Done that.the only deviations are

Since BOOT_MODE[1:0] have an on chip pulldown (Page 12) are not connected externally to GND at 00
Kept Floating
USB_OTG1_ID - Type A connector not microusb - Grounded on chip
USB_OTG1_OC
USB_OTG_PWR


I am severely hampered due to lack of oscilloscope, short of that is there anything else i can try?

Again, any ideas & help is appreciated.

Regards,
robertferanec , 06-01-2020, 02:15 AM
When connected to the PC (MAC/Linux/Windows) the device is not detected (should come up as HID).
- could you clarify, are you connecting your iMX6 board to PC?
Harkirat S Virk , 06-01-2020, 02:18 AM
Hi Robert,

Yes connecting the iMX6 board using the USB interface to the computer

Regards
robertferanec , 06-01-2020, 02:42 AM
Yes connecting the iMX6 board using the USB interface to the computer
- in this case, you can not have USB A on iMX6 board (USB A is for host). You will need to connect iMX6 Board as a slave/device (you need to have OTG support on the iMX6 USB connector).
Harkirat S Virk , 06-01-2020, 03:10 AM
Robert,

I did not under clearly understand your instruction.
Want to clarify that the product itself behaves as a USB Device (Type A)





The circuity to the USB is in the first post

Regards,
Harkirat
robertferanec , 06-06-2020, 01:42 AM
Ah, I didn't know you are pluging the board directly into PC (I thought you are using a cable). Still, your board USB has to run in device mode ... means, is your USB ID pin configured correctly (I can't see it in schematic)? Did you add OTG & device support into software?
Harkirat S Virk , 06-06-2020, 02:21 AM
Hi Robert,

The USB_OTG1_ID is currently is grounded
Didn't reach the OTG&Device Support in Software - Device is not detected on computer on connect at all to do anything else.


I understand that for USB_OTG1_ID
Host - Grounded
Client - Floating
Negotiated - Pulled up using 10K to VCC_3V3 (requires type B connector)


For it to be detected as HID (OTG) enabled on the computer (for mgf2tool) but only using Type-A connector How should i leave the ID pin? as floating, or grounded?

Thanks
robertferanec , 06-08-2020, 02:57 AM
In your case, PC is a host, your board needs to be a client.
Harkirat S Virk , 06-08-2020, 03:01 AM
You are suggesting that the pin (USB_OTG1_ID) be left floated. On a prepared board i am not sure how to do that but can try. Maybe remove the IC, reball it less that pin.
But want to understand where I went wrong. Technically the pin would have terminated on the USB Type B port with has the id pin grounded anyway - so how is it different from grounding it at the pin or why would i keep it floating?
robertferanec , 06-12-2020, 12:01 AM
I believe, you may be able to map USB_OTG function on several pins - maybe what could be possible is to map it to an unconnected pin .... maybe ? Still I am not sure if I would leave it unconnected.

Driver is checking OTG pin and based on that it will behave as host or device. E.g. if driver notice, that OTG pin says the USB should behave as a device, it will load storage driver and your board will then behave as storage when connected to PC. At least, that is how I imagine it.
Use our interactive Discord forum to reply or ask new questions.
Discord invite
Discord forum link (after invitation)

Didn't find what you were looking for?