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.

SK-AM64B: AM64X academy - clarifications for USB 2.0 on SK-AM64B; request USB 3.0 in HOST mode on SK-AM64B

Part Number: SK-AM64B
Other Parts Discussed in Thread: TMDS64EVM, , AM6442

Tool/software:

reference Use USB in Device Mode (ti.com) on AM64x Academy 9.01.00.00 v1

1) The Use USB in Device Mode section is geared toward the TMDS64EVM (replacement of the GP version) and use of the micro-B connectors.

    We should have caveats implemented for the SK-AM64B micro-B connectors, BUT also we really could use implementation references for the SK-AM64B's Type A connector (ref des J7 on the BOM)

2) For the same SK-AM64B's Type A connector (ref des J7)

    we should add a "Use USB 3.0 in Host Mode on the AM64x Academy 9.x   for an A53 controlled HOST.

  • Hi Jim,

    We should have caveats implemented for the SK-AM64B micro-B connectors,

    Thanks for the note. We will update the Academy accordingly.

    BUT also we really could use implementation references for the SK-AM64B's Type A connector (ref des J7 on the BOM)

    Could you please elaborate what to implement?

      we should add a "Use USB 3.0 in Host Mode on the AM64x Academy 9.x   for an A53 controlled HOST.

    We didn't add this to the Academy is because unlike USB device mode, Linux doesn't really need any configuration for host mode, just plug in whatever the USB device, enumeration should just work, the rest is just applications depending what USB device is attached.

    But we'd like to know your thoughts on the USB host mode documentation, what details do you want to see?

  • Hi Bin:

    This AM6442 USB device/host firmware activity is focused on just the A53 Linux core being used with the USB interface. 

    As far as I can tell, there is no requirement imposed on even the latest USB 2.0 spec (including Type C connectors) that mandates the DEVICE interface must use the microB or microAB connector; we should be able to have a USB DEVICE use the type A connector.

    As a goal, I want to have my AM6442 based design to not only be firmware configured as a USB 2.0 DEVICE, but I also want the option to have different firmware configured as a USB 3.0 HOST.  Thus I really do want the Type A connector involved in both scenarios (although Type C in a non-USB-PD configuration might be a thought).

    I can tell from the SK-AM64B schematics how the electrical interface for the Type A USB 3.0 port is configured; it would be prudent to at least point out what care-abouts from a Linux HOST perspective need to be thought through.

    You should put disclaimers that a Linux USB 3 HOST configuration for AM64X is non-PD; I know that the later specs need to possibly auto-manage the beyond USB 3.0 data and power lines (aka power delivery , PD) for the right use.

    [BTW/FYI, I was with former TI colleague Ben Andressen in TI ASIC when in 1995 when Ben designed the IO for Compaq's USB 1.0, well before data rates & power delivery melded into the USB specs]

    thanks

    Jim Mrowca 

  • Hi Jim,

    As far as I can tell, there is no requirement imposed on even the latest USB 2.0 spec (including Type C connectors) that mandates the DEVICE interface must use the microB or microAB connector; we should be able to have a USB DEVICE use the type A connector.

    This is not true.

    USB device mode can only use microB, microAB, miniB, or type-C connector. type-A is for host port only.

  • Bin:

     I understand that the USB type A is generally for HOST port only; however (if I need to only an e2e separately on this, please advise soonest).

    On the SK-AM64B EVM, the only USB connector that is usable for user configuration is J7 (schematic page 28). One cannot use the SK-AM64B micro-B connectors (J11 on schematic page 24, for the USB/UART bridge access) ,(J12 on schematic page 21 for USB XDS110 access) as these are inherently tied to debug and/or UART activity with CCS.

    Thus in order to prototype a user definable USB DEVICE connection on the SK-AM64B, controlled by an A53 core, I am limited to using the J7 connector (schematic page 28), type A as a DEVICE -- please confirm and/or if I need to move this into a different e2e -- I still wonder if I will have device driver issues? Please reply.

    thanks

    Jim Mrowca

  • Hi Jim,

    (we can continue discussing on this thread, no need to create a new one.)

    Yes by the USB Spec, the SK-AM64B J7 port is designed for USB host only, and this is what officially supported.

    However, it is technically trivial to use the J7 port for USB device mode (USB2.0) in Linux, as long as the user knows what he/she is doing, and a USB type-A-to-type-A cable is available to connect the SK EVM to USB host.

    No hardware modification is needed on SK-AM64B, and only software change is to change &usbss0 and &usb0 nodes in kernel device tree k3-am642-sk.dts to be the same as those in k3-am642-evm.dts.

    *CAUTION* ensure the USB controller is NOT in host mode before connect the EVM J7 port to the USB host, or hardware damage could happen:

    - run lsusb command on SK to ensure no USB host entry is listed;

    - measure SK J7 port VBUS pin to ensure it is not 5V.

  • Bin,

     ok I'll summarize actions so that we are on the same page:

    from my earlier statement "We should have caveats implemented for the SK-AM64B micro-B connectors", TI should further disclaim on the SK-AM64B that the existent micro B connectors (J11 on schematic page 24, for the USB/UART bridge access) ,(J12 on schematic page 21 for USB XDS110 access) are not to be used for user defined USB transactions, and only J7 is available on the SK-AM64B or user defined USB transactions.

    Suggest TI put some commentary on using SK-AM64B J7 as a USB 3.0 HOST. Exclude any use of USB power delivery on the J7 connector. State no USB 3.0 DEVICE functionality is available on the SK-AM64B EVM.

    On the homepages for both SK-AM64B and TMDS64EVM, marketing should clarify one bullet wrt SK-AM64B

    "

    The SK-AM64B is best suited for:

    • Linux code development
    • 2-port Gigabit Ethernet with TSN support
    • USB 3.0  HOST + wireless connectivity (both hotspot and endpoint)

     "

    Thanks for the Type A USB 2.0 DEVICE VBUS pointers and driver changes you suggested. 

    As a heads up, I did uncover TI SK-AM64B BOOTMODE switch settings documentation discrepancies across 3 online artifacts as per  (+) SK-AM64B: AM64B Starter guide pictures should be clarified/replaced (and reuse photos from the SPRUIY9B) and suggested callouts - Processors forum - Processors - TI E2E support forums ongoing with (+) Kallikuppa Sreenivasa's Profile - Kallikuppa Sreenivasa - TI E2E support forums - so appropriate documentation changes/updates should be applied in concert with those hopefully before the v 10 SDKs.

    later

    Jim Mrowca

  • Hi Jim,

    Appreciate all the feedback. I will overlay this to our internal teams to address them accordingly.

    Exclude any use of USB power delivery on the J7 connector.

    Can you please elaborate on this USB Power Delivery comment? USB PD is irrelevant to USB type-A port.

  • Bin:

    Believe it or not, I know of users trying to recharge their portable devices off of any USB 3.x (whether Type A or Type C) host connectors located on production equipment regardless of whether that USB host port was never intentionally designed to recharge their devices. [I call it a misuse case.]  Maybe swap out the text "Power Delivery" for "recharging".

    thanks

    Jim

  • Using a USB port to charge a device is not an invalid use case, it is not a misuse. It won't damage anything.