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.

AM4378: the third-party IP databook for USB driver

Part Number: AM4378
Other Parts Discussed in Thread: AMIC120

HI, 

We create a new driver of USB for AM4378 and read the below manual.

 "AM437x and AMIC120 ARM®Cortex-A9 Processors Technical Reference Manual   16.1 Introduction"

"For those who do wish to substantially modify the existing Linux USB
driver(s),or create new drivers, contact your TI sales representative
for more information on how to obtain the third-party IP databook
under NDA."

So, we have understood to need the third-party IP databook.

How do we do to get the third-party IP databook?



  • Hi,

    As stated in the TRM, please contact your local TI sales representative directly.
  • For what OS your company is creating a new driver?
    The purpose of this question is to understand why do you need a new driver.
  • Hi,

    We is creating a new driver for TI-RTOS and our original OS.

  • Thanks,

    and what is the original OS?

  • May I add another question regarding the RTOS?
    What features our driver for our RTOS is missing?
  • Hi,

    To know that, we know need a IP data-book.
    We are creating a xHCI driver for TI-RTOS. Has TI-RTOS already supported a xHCI driver?
    If so, can we get that?

    And, our original OS is our RTOS. Specification is our original.

  • Thanks for the information.

    We have USB driver UG here: software-dl.ti.com/.../index_device_drv.html

    Please check it.
  • Hi,

    Thank you for your information.

    We got it and research the driver. So, we think that be able to use the driver.
    And, we want to know how much OS resources that the driver consumes. Can you tell us that?
    The OS resources we mean are a semaphore, task, ram/rom, others.
  • Thanks for your reply.
    Our SW team will reply here shortly.
  • Hi,

    Sorry, we don't have those information for the USB driver. You may need to build a USB test example application for AM437x. Then look at the map file to see what semaphore, task, data and text section size for USB library. You may also use objdump (objdump.exe -x -w ***.out > ***.txt) to check this.

    Regards, Eric
  • HI,

    Thank you for your reply. We got it.

    And, we have another question.

    We looked into your USB driver in PDK and found that we did not have the following features.

    1. The USB driver doesn't support Interrupt transfer. 

    2. And, the USB driver doesn't support detach of USB device.

    We would like you to provide information if there is helpful information.

  • Hi,

    What is the Processor SDK RTOS release you looked at for USB driver? Is it latest 5.2?
    For Q1, the USB transfer uses interrupt. Can you elaborate what do you mean "USB driver doesn't support Interrupt transfer. " Or what is your usage case?
    For Q2, We tested the USB plug/unplug multiple times we didn't see any issue.

    Regards, Eric
  • Hi,

    We use the version 3.3, because this is our customer's request.

    Do you mean that latest 5.2 supports Interrupt transfer and detach a device? We tested the USB unplug, but  we seemed for your PDK's USB driver not to detect detachment.

    And you know, USB has some transfer mode. That is, Interrupt, Bulk, Isochronous, Control transfer mode. We want to develop MTP(Media Transfer Protocol) on your USB driver. MTP use Interrupt transfer. 

  • Hi,

    Rel 3.3 is too old. The plug/unplug support is fixed in Rel 5.2. The way we test it is unplug/plug multiple times to make sure the host PC can still detect the USB MSC device and R/W files to it.

    How do you test 5.2 for unplug/plug? What CCS project you used?

    For interrupt transfer support, right now the code is not done yet. We have a plan in progress for USB CDC support which uses interrupt transfer. You may need to see how that’s done in Linux driver for HID or CDC device.

    Regards, Eric
  • Hi,

    But, we have to develop the driver in Rel 3.3 for our customer's request. Is there a way to use the driver of Rel 5.2 in Rel 3.3? Or Would you please tell us where to fix the driver to support unplug?

  • Hi,

    Using USB driver from PRSDK 5.2 with other drivers from PRSDK 3.3 is not recommended, there may be compatibility issues. Also there are many fixes and new features from the past several years. It is suggested to upgrade to latest.

    If you do want to use the USB driver from 5.2, either:
    1) download the PRSDK 5.2 and put the USB driver into your 3.3 project,
    or
    2) Download the external USB GIT: git.ti.com/.../usb and the fix is

    Friday November 09 2018

    PUSH22:06avatar
    thanh-tran pushed 15 commits to keystone-rtos/usb:master. View diff

    master changed from ab94ca0 to 1e5c219

    COMMIT22:06avatar
    thanh-tran tagged keystone-rtos/usb

    DEV.USB_LLD.01.00.00.16: Created tag DEV.USB_LLD.01.00.00.16

    Regards, Eric
  • Hi,

    Thank you for your reply. We check up the information from you.