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.

Support of 3 USB interface on DM8148

Hi All,

We are using DM8148 and having a requirement of 3 USB interfaces of which 1 should be USB host and Two USB slave.

We have gone through DM8148 Datasheet and TRM, we found that it has two USB OTG interface.

Now, how can we add one remaining USB interface?

Is there any chip by TI which can be connected on SPI interface of DM8148 and supports linux drivers which makes it usable as a USb device in user application while appearing as a USB HOST ot USB slave interface for device connected to USB?

We are running with critical schedule  and will appreciate if any one can suggest such bridge chip which has support for linux drivers.


Regards,

shashank.

  • Shashank,

    I think you can use USB hub to get more ports available (more than 2) in the system.

    http://processors.wiki.ti.com/index.php/SAT_-_Processors_-_USB_Hub_Device

    We have USB hub support in the PSP linux kernel:

    http://processors.wiki.ti.com/index.php/TI81XX_PSP_USB_Driver_User_Guide#USB_Host_Features_.28TI816X.2FTI814X.2FTI813X.29

    Regards,
    Pavel

  • Hi Pavel,

    Thanks for the reply.

    We thought of using USB hub but that will provide us multiple USB hosts,
    but we require two USB slave ports and one USB host port.

    So is there any way to get multiple USB slave port support on DM8148?


    Thanks,

    Shashank.

  • One USB port can be configured to one instance of USB device mode or host mode. In host mode you can use hub to connect more devices.
    In DM814x if you use both ports for Device mode, then you cannot have host.
    Regards,
    Pavel
  • Hi Pavel,

    Thanks for the reply.

    If we use both USB ports for Device mode then can we connect some external SPI to USB or UART to USB bridge chip which will provide us USB host interface?

    We are thinking of using some external chip which will be having SPI interface at DM8148 side and provides USB host interface, but we are not having clarity on how this chip will appear to DM8148 or are there any drivers which can make application feel that it is using USB interface instead of the actual SPI connections?

    Can you suggest something?


    Regards,

    Shashank.

  • Shashank,

    No such things are possible.
    What is the usecase? why do you need USB device modes?
    BR
    Pavel
  • Hi Pavel,


    Our usecase is to connect a device to the host USB port of DM8148 and enumerate and use that device. Mean while we want to connect two USB hosts(i.e Desktop PC) to the two possible slave USB ports of DM8148 and make DM8148 to appear as a device to them and allow them to enumerate and use DM8148 as a device.


    Thanks,

    shashank.

  • Shashank,

    I check this with our USB team, below is the feedback:

    I am able to find USB to SPI/UART easily but unable to find the reverse.

    I understand the connectivity need for this, but did not get what is the use case scenario or product which need such use case.
     
    For this you need 3 USBIP instances, one for host mode, other two for device mode. The DM8148 has only 2 USBIP instance, so cannot support this use case.
     
    This could be possible with J6/dra7x SoC, which has 4 USB IP instances based on dwc3/xhci usb IP.

    Regards,
    Pavel

  • Hi Pavel,

    I have one question that under host/device mode, are the circuit the same?

    Does ctm need to change the USB circuit according to the host/device mode?

    I think the EVM circuit works for host but no sure if it work for device mode.

    Thanks,

    Eason

  • Eason,

    The circuit is the same, we just have jumper to control the USB_ID pin.

    The DM814x TI EVM works for both host/device mode, depends on the position of the jumper which controls the USB_ID pin. Based on the USB_ID pin on connector or cable type, the musb controller can take the role of host (if USB_ID is grounded) and device (if USB_ID is open).

    The OTG supplement feature, the support for a dynamic role change, is also supported. Each port has the support for a dual-role feature allowing for additional versatility enabling operation capability as a host or peripheral. Both ports have identical capabilities and operate independent of each other.

    For an OTG controller, the usual method followed by the controller to assume the role of a host or a device is governed by the state of the ID pin which in turn is controlled by the USB cable connector type. The DM814x device has bonded out these ID pins and allows the control to be handled directly from the connector, i.e. the USB
    controller would assume the role based on the cable end inserted to the mini A/B connector (J2 & J3) on the EVM. There is a jumper option available on the EVM to ground the USB_ID pin for USB0 & USB1.

    Regards,
    Pavel

  • Thanks Pavel,

    I am clear w/ this.

    However I also checked the USB port on DM816x, it doesnt have USB ID pin,  do you know for this device how to work on OTG?

    BR,
    Eason

  • Eason,

    For DM816x USB, it also can work in host and device mode, but USB ID is configured only through SW (not through external connector/jumper):

    http://processors.wiki.ti.com/index.php/DM81xx_AM38XX_USB_User_Guide#DM816X_USBx_ID_pin_configuration

    http://processors.wiki.ti.com/index.php/Usbgeneralpage#USB-ID_pin_configuration_selection_for_TI81XX

    Regards,
    Pavel