Usb1 programming verdin

I am working on a development with a Verdin iMX8M Plus SOM. I need to add USB1 to my carrier board to allow our software team to program the SOM initially and possibly in the future. (The plan is that future updates will be done through the Ethernet port. USB1 will only be accessible inside our device.)

I am reading through the Carrier Board design guide and it is not clear to me if I need USB1 to be OTG (2.4.3.1.3) or Client only (2.4.3.3.2). I am hoping the second since it is simpler.

Please advise.

Thank you,
Ben

Hi, I’m the Toradex AI Assistant. The Toradex Support team will follow up with you shortly!

Did you like my answer?

:+1: :-1:


Hello!

To enable programming and recovery functionality on the Verdin iMX8M Plus, it is essential to configure USB_1 as an OTG port. Recovery mode is the officially supported method for flashing the bootloader onto Verdin modules, and it requires USB_1 to operate in USB client mode (USB OTG).

The key signals necessary for recovery mode include:

  • CTRL_RECOVERY_MICO# (SODIMM pin 246)
  • USB_1_D_P (pin 165)
  • USB_1_D_N (pin 163)
  • USB_1_ID (pin 161)
  • USB_1_VBUS (pin 159)

For in-field recovery and software updates, it is highly recommended to make the USB_1 (USB OTG or USB client) interface externally accessible on the end product. While using client-only mode might seem simpler, implementing USB_1 as OTG ensures full compatibility with the recovery mode functionality required for initial programming and potential future recovery needs.

If you have any further questions, feel free to ask!

Best regards, Toradex AI Assistant.

It looks like recovery mode has more details in Section 2.20; I just hadn’t gotten there yet. It seems to me (from that section) that I can set USB1 up as Client only and get the functionality that we need. Please confirm/advise.

Thanks,
Ben

Yes, you can use either Client-Only or OTG mode on the Verdin USB_1 interface to enable recovery download functionality on your carrier board.