This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PROCESSOR-SDK-AM64X: USB v 3, 3.1 support clarifications requested on the AM6442 , & TMDS64EVM

Part Number: PROCESSOR-SDK-AM64X
Other Parts Discussed in Thread: AM6442, TMDS64EVM, AM6422, AM2434, TMDS243EVM

All:

 I am using SDK 9.0 on the TMDS64EVM. I have 3 specific questions on USB support on AM6442 designs & the EVM

1) I saw on the AM64x academy the documented list:

Features Not Supported

  • TinyUSB Class Drivers Other Than CDC,DFU,NCM & RNDIS
  • TinyUSB Host Core Driver and Class Drivers
  • USB 3.0
  • USB 2.0 Host Mode
  • USB Dual Role Mode

Are any of these items possibly planned for upcoming support in SDK v 9.1 or SDK v 9.2? How is TI claiming USB 3.1 support?

2) If I want the option to boot the TMDS64EVM from USB, what versions of USB & features are supported?

    (I know if v 3.x is supportable, then the boot time would be less than a USB v2 implementation)

3) If my design were to be a USB "slave" per se to a PC via USB, would it be possible to update other NV memories (that would be bootable by the AM6422) on the PCB via the USB path, or do I need to utilize the JTAG and/or UART port accesses to accomplish that? I suspect the TMDS64EVM would prefer the JTAG thru XDS110 with a UART port vis a CCS path OR thru Python 3.x scripting.

thanks!

  • Hi Jim,

    Which SDK do you run on AM64x EVM? Linux or MCU+ SDK? You mentioned TinyUSB in your post, which does sound it is MCU+ SDK.

  • Brian: I have run the TMDS64EVM on MCU+ SDK to access the R5 core; I am awaiting a VMwave Player installation before I run the TMDS64EVM on the Linux SDK, Yes I will more likely run on the Linux SDK, but I also want to know on the MCU+SDK when I am debugging R5 and M4 cores (when not using IPC with the A53), Thanks again.

  • Hi Jim,

    Can you please clarify your USB questions are for Linux or MCU+ RTOS, since the USB support in both OS are different? 

  • Ok want to know first are for the Linux SDK as likely at the top level I would access USB initially via the A53 cores;

    if we need a separate e2e entry cloned for the MCU+ RTOS SDK USB issues, I do want to see that too please (there is also a possibility that I may also have a design that uses the AM2434 where everything would be RTOS on the R5s and M4 on the TMDS243EVM initially with that AM243x SDK ). By the way, I would use FreeRTOS wrt USB access to the R5 and M5 cores. 

  • Hi Jim,

    Yes please create a separate e2e post for your MCU+ RTOS USB questions so that it will be assigned to our RTOS expert for comments.

    In terms of Linux SDK, the USB support on AM64x is almost the same as of using a Linux PC, plus many USB gadgets support.

    Please let me know if you have additional questions in Linux USB support.

  • So the list as noted in the AM64X academy on USB unsupported configurations is forecasted to remain as is thru the upcoming Linux SDK versions 9.1 and 9.2?

  • Can you please share the link to the Academy page? It seems to be for MCU SDK, not applicable to Linux SDK. Linux SDK doesn't have these unsupported features.

  • Bin - I just found the USB restriction info on the MCU+ SDK at this link: https://software-dl.ti.com/mcu-plus-sdk/esd/AM64X/latest/exports/docs/api_guide_am64x/USB_DEVICE_DRIVER.html  - I was mistakenly interpreting that for the Linux SDK as well. 

    Given the intent of this e2e is meant for the Linux side, and your earlier response, should we say the A53 cores on the AM6442 when using Linux to be accessed over USB 3.0 do not have the same MCU+SDK documented restrictions for the R5 and M4 cores using FreeRTOS? That would answer question 1. I still would like responses on questions 2 & 3 if you can. Thanks!

  • Hi Jim,

    should we say the A53 cores on the AM6442 when using Linux to be accessed over USB 3.0 do not have the same MCU+SDK documented restrictions for the R5 and M4 cores using FreeRTOS?

    Yes.

    2) If I want the option to boot the TMDS64EVM from USB, what versions of USB & features are supported?

    ROM is limited to USB2.0, but U-Boot is able to run at USB3.0. Though USB3.0 device mode in U-Boot is not validated, since the TMDS64EVM USB0 port is designed to be USB2.0.

    3) If my design were to be a USB "slave" per se to a PC via USB, would it be possible to update other NV memories (that would be bootable by the AM6422) on the PCB via the USB path, or do I need to utilize the JTAG and/or UART port accesses to accomplish that?

    You don't need to use JTAG/UART if you choose to not to. AM64x supports booting from USB DFU and writing the Linux image to any flash for example, OSPI or eMMC.

  • Bin: thanks for all of your clarifications on the Linux / A53 / USB interface on the AM64x ; I have the separate e2e filed (   ) for the R5/M4/FreeRTOS  portion on future SDK 9.1/2 requests on USB interfacing for for AM64x & AM243x.