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.

DM365 USB host mode interface to ISP1520 hub

Hi,

In my custom board I am operating the DM365 USB in host mode (ID pin to ground thru 1k5 resistor) and connecting to an ISP1520 hub ic.  When the kernel boots I get the following message:

...

Initializing USB Mass Storage driver...
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.6:USB HID core driver
musb_hdrc: version 6.0, cppi-dma, host, debug=0
MUX: initialized GPIO33
musb_hdrc musb_hdrc: No DMA interrupt line
musb_hdrc: USB Host mode controller at c5074000 using DMA, IRQ 12
musb_hdrc musb_hdrc: MUSB HDRC host driver
musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 1
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected

....

usb 1-1: new full speed USB device using musb_hdrc and address 2
usb 1-1: not running at top speed; connect to a high speed hub
usb 1-1: configuration #1 chosen from 1 choice
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 3 ports detected

 

From the above there already seems to be an issue as the ISP1520 is a hi-speed hub, but it registering it as a full speed device and informing that 'usb 1-1: not running at top speed; connect to a high speed hub'.  This would suggest to me that the DM365 usb port is not configuring itself as a hi-speed port.  Is there some option that needs to be set in the linux kernel or driver that will remedy this?  I am using the EVM setup that comes with the Spectrum Digital EVM. My knowledge of linux is beginner at best.

 

When I plug a mouse into the hub I get:

Welcome to MontaVista(R) Linux(R) Professional Edition 5.0.0 (0801921).

root@192.168.102.250:~# lsusb
Bus 001 Device 002: ID 04cc:1520 Philips Semiconductors
Bus 001 Device 001: ID 0000:0000
root@192.168.102.250:~# usb 1-1.1: new low speed USB device using musb_hdrc and
address 3
hub 1-1:1.0: Cannot enable port 1.  Maybe the USB cable is bad?
hub 1-1:1.0: Cannot enable port 1.  Maybe the USB cable is bad?
hub 1-1:1.0: Cannot enable port 1.  Maybe the USB cable is bad?
hub 1-1:1.0: Cannot enable port 1.  Maybe the USB cable is bad?
usb 1-1.1: new low speed USB device using musb_hdrc and address 7
hub 1-1:1.0: Cannot enable port 1.  Maybe the USB cable is bad?

---

When I plug a memory stick device in I get:

root@192.168.102.250:~# usb 1-1.2: new full speed USB device using musb_hdrc and
 address 24
usb 1-1.2: not running at top speed; connect to a high speed hub
usb 1-1.2: configuration #1 chosen from 1 choice
scsi0 : SCSI emulation for USB Mass Storage devices
  Vendor: Kingston  Model: DataTraveler 2.0  Rev: 1.00
  Type:   Direct-Access                      ANSI SCSI revision: 02
SCSI device sda: 3905407 512-byte hdwr sectors (2000 MB)
sda: Write Protect is off
sda: assuming drive cache: write through
SCSI device sda: 3905407 512-byte hdwr sectors (2000 MB)
sda: Write Protect is off
sda: assuming drive cache: write through
 sda: sda1
sd 0:0:0:0: Attached scsi removable disk sda
sd 0:0:0:0: Attached scsi generic sg0 type 0

-- and I am able to mount and read & write to it.

Any suggestions as to where the problem may lie would be appreciated?

  • Could you connect a high speed device (say a usb stick) directly to the 365 usb port (instead of connecting it to the ispxxx ports).

    By default the DM365 usb root port is configured for high speed operation.  The message on hub enumeration and the subsequent error messages during mouse enumeration seems to indicate that there could be issues with either the usb line layout on the board or with the isp part itself.

    regards

    swami

  • Thanks Swami, isolating the ISP1520 and connecting directly worked in high speed mode, so it must be with the layout to the isp or the isp itself.

    sb 1-1: configuration #1 chosen from 1 choice
    hub 1-1:1.0: USB hub found
    hub 1-1:1.0: 4 ports detected
    root@192.168.102.250:~# lsusb
    Bus 001 Device 019: ID 05e3:0608 Genesys Logic, Inc.
    Bus 001 Device 001: ID 0000:0000
    root@192.168.102.250:~# usb 1-1.1: new high speed USB device using musb_hdrc and
     address 20
    usb 1-1.1: configuration #1 chosen from 1 choice
    scsi0 : SCSI emulation for USB Mass Storage devices
      Vendor: Kingston  Model: DataTraveler 2.0  Rev: 1.00
      Type:   Direct-Access                      ANSI SCSI revision: 02
    SCSI device sda: 3905407 512-byte hdwr sectors (2000 MB)
    sda: Write Protect is off
    sda: assuming drive cache: write through
    SCSI device sda: 3905407 512-byte hdwr sectors (2000 MB)
    sda: Write Protect is off
    sda: assuming drive cache: write through
     sda: sda1
    sd 0:0:0:0: Attached scsi removable disk sda
    sd 0:0:0:0: Attached scsi generic sg0 type 0

    usb 1-1.2: configuration #1 chosen from 1 choice
    input: Microsoft  Microsoft Basic Optical Mouse v2.0  as /class/input/input0
    input: USB HID v1.11 Mouse [Microsoft  Microsoft Basic Optical Mouse v2.0 ] on u
    sb-musb_hdrc-1.2

    root@192.168.102.250:~# lsusb
    Bus 001 Device 021: ID 045e:00cb Microsoft Corp.
    Bus 001 Device 020: ID 0951:160b Kingston Technology
    Bus 001 Device 019: ID 05e3:0608 Genesys Logic, Inc.
    Bus 001 Device 001: ID 0000:0000

  • Hi Clint,

    We are using the same IC ISP1520 with DM6446  and we are also getting the same low speed device registration.

    Are you bringing up ISP1520 in default configuration or through I2C interface ?

    The register inside the ISP1520 configures itself as low speed device only by default on enumeration.

    We are facing an issue of not able to detect two out of four ports. Is it something related to layout ?

    Your advice will be helpful for us.

    Regards,

    Saurabh Sukwaria


  • Hi Saurabh,

    In our case the connection of RREF to ground via the 12k1 resistor was floating due to the connection with the ground plane not being made.  This resulted in the ISP1520 only operating in a full speed mode for some reason.


    We were using the default ROM configuration.

    The device has the ability to disable ports 3 & 4 by taking the DPn & DMn lines high.  I would suspect something was holding those lines high on ports 3 & 4.

    Regards,

    Clint

     


  • Hi Clint,

     

    We have used the suggested reference design and customized it for our requirement.

    Would it be possible to share your usb section schematics.

    Or i can send across mine , if its possible to advice on the same.

    Please let me know if you can spare some time.

     

    Thanks and Regards,

    Saurabh

     

  • Hi Saurabh,

    Have you put a scope on pins 43 & 44 (DM3 & DP3) to determine if the are high or low?  If they are high, thats your problem and you need to determine if it is due to a design error or board fault.  If you followed the reference design there are two potential places where a design error could occur.

    1) You inserted the jumpers J5 & J6.

    2) You have taken the 15K pull down resistors (R22 & R23) to supply instead of ground.

    If you manage to post a pdf of that part of the schematic somewhere I will take a quick look at some point.

    Regards,

    Clint

  • Hi Clint,

    Pull down are properly provided on the interface DP/DM lines.

    The USB hub is showing different behaviour on two boards.

    Board 1 # All 4 Ports are stable and working fine with USB mouse.But when i connect a high speed device then the port gets disabled.

    Board 2 # Two ports 2 and 4 are not responding in similar configuration.

    Would it be possible to advice any reference document for more detailed IC boot configuration and default lines status that helped you to bring all four ports up in High Speed mode.

    If yes , would it be possible to share the link.

    Sorry for the inconvenience caused to you, I need to clear out that there are no limitation on IC default boot mode related to port operations.

    Thanks for the guidance extended.

    Regards,

    Saurabh

  • Hi Saurabh,

    I am sorry I can not be of much more help to you from the downstream port side of the hub.  In my case I designed a DM365 based module to plug into a base board that has the ISP1520 hub chip on and was approaching it from the upstream side.  I have a socket which connects directly to the DM365 USB port (by passing ISP1520), and when I plug an external high speed hub in I am able to plug High and low speed devices in.  When my module was plugged into the base board with the hub chip on, the ISP1520 would only enumerate as a full speed device, which after some investigation led me to the disconnected net described earlier, which solved the problem and enabled the DM365 to recognise the hub as a high speed device.

    However, we may still be experiencing similar problems to you with regards to plugging in high speed devices into the downstream ports, of which we only use 2. While plugging in low speed devices work fine when we plug in a high speed device on the base board via the ISP hub chip we get errors such as:

    root@~# usb 1-1.2: new high speed USB device using musb_hdrc and address 8
    usb 1-1.2: device descriptor read/64, error -71
    usb 1-1.2: device descriptor read/64, error -71
    usb 1-1.2: new high speed USB device using musb_hdrc and address 9
    usb 1-1.2: device descriptor read/64, error -71
    usb 1-1.2: device descriptor read/64, error -71
    ...

    I am sorry I can not be of more help at this stage as we may be experiencing similar issues. But my suspicion is the tracking on the base board. See

    http://www.ti.com/litv/pdf/spraar7

    Regards,
    Clint