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.

DM6446: USB Host with PSP r37 branch

Hi,

 

I am not sure what I am missing, but I am trying to get USB Host up on a Rev D DM6446 EVM with the PSP r37 branch from Arago.

Having plugged in a mouse device for testing, I cannot see any enumeration happening, and "cat /proc/bus/usb/devices" does not show any additional devices. Is there an additional mod needed for the EVM to make this work? It should not be very hard. I am attaching my .config, if someone could take a look at it to see if something basic is missing. Here is what I am seeing on the terminal:

# mount -t usbfs usbfs /proc/bus/usb
# dmesg |grep usb
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
musb_hdrc: version 6.0, cppi-dma, host, debug=0
musb_hdrc: ConfigData=0x06 (UTMI-8, dyn FIFOs, SoftConn)
musb_hdrc: MHDRC RTL version 1.300
musb_hdrc: setup fifo_mode 2
musb_hdrc: 9/9 max ep, 4032/4096 memory
musb_hdrc: hw_ep 0shared, max 64
musb_hdrc: hw_ep 1tx, max 512
musb_hdrc: hw_ep 1rx, max 512
musb_hdrc: hw_ep 2tx, max 512
musb_hdrc: hw_ep 2rx, max 1024
musb_hdrc: hw_ep 3tx, max 512
musb_hdrc: hw_ep 3rx, max 512
musb_hdrc: hw_ep 4tx, max 256
musb_hdrc: hw_ep 4rx, max 128
musb_hdrc: USB Host mode controller at fec64000 using DMA, IRQ 12
musb_hdrc musb_hdrc: MUSB HDRC host driver
drivers/usb/core/inode.c: creating file 'devices'
drivers/usb/core/inode.c: creating file '001'
musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 1
usb usb1: default language 0x0409
usb usb1: udev 1, busnum 1, minor = 0
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: MUSB HDRC host driver
usb usb1: Manufacturer: Linux 2.6.32-rc2-davinci1 musb-hcd
usb usb1: SerialNumber: musb_hdrc
usb usb1: uevent
usb usb1: usb_probe_device
usb usb1: configuration #1 chosen from 1 choice
usb usb1: adding 1-0:1.0 (config #1, interface 0)
usb 1-0:1.0: uevent
hub 1-0:1.0: usb_probe_interface
hub 1-0:1.0: usb_probe_interface - got id
drivers/usb/core/inode.c: creating file '001'
Registered /proc/driver/musb_hdrc
usbcore: registered new interface driver usb-storage
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
#
#
#
# cat /proc/bus/usb/devices

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 1
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev= 2.06
S:  Manufacturer=Linux 2.6.32-rc2-davinci1 musb-hcd
S:  Product=MUSB HDRC host driver
S:  SerialNumber=musb_hdrc
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

Again when plugging in any USB device, the cat /proc/bus/usb/devices never changes.

 

Thanks for your help.

Regards,

--Gunter

  • Gunter,

    Can you please try with command "echo F > /proc/driver/musb_hdrc" . this will try to start a session.

    Regards,
    ajay

  • Ajay,

     

    I tried "echo F > /proc/driver/musb_hdrc" with either powered hub or just mouse plugged in, but nothing seems to happen

    # echo F > /proc/driver/musb_hdrc
    # cat /proc/bus/usb/devices

    T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 1
    B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
    D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
    P:  Vendor=1d6b ProdID=0002 Rev= 2.06
    S:  Manufacturer=Linux 2.6.32-rc2-davinci1 musb-hcd
    S:  Product=MUSB HDRC host driver
    S:  SerialNumber=musb_hdrc
    C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
    I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
    E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms
    # echo F > /proc/driver/musb_hdrc
    # cat /proc/bus/usb/devices

    T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 1
    B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
    D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
    P:  Vendor=1d6b ProdID=0002 Rev= 2.06
    S:  Manufacturer=Linux 2.6.32-rc2-davinci1 musb-hcd
    S:  Product=MUSB HDRC host driver
    S:  SerialNumber=musb_hdrc
    C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
    I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
    E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms
    #

     

    What else could I be missing? Could it be the RevD EVM is missing something?

     

    Thanks,

    --Gunter

     

  • Gunter,

    There would be a jumper near the musb port. Have you made sure to set it properly so that ID pin is grounded ? I think this is the one missing in your setup.

    Regards,
    Ajay

  • Ajay,

     

    thank you so much. It was the J7 jumper which was wrong. I should have seen this earlier. For Host Mode the jumper has to be across J7[2:3] to ground the ID pin. Now I see the devices enumerated.

     

    # cat /proc/bus/usb/devices

    T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 1
    B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
    D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
    P:  Vendor=1d6b ProdID=0002 Rev= 2.06
    S:  Manufacturer=Linux 2.6.32-rc2-davinci1 musb-hcd
    S:  Product=MUSB HDRC host driver
    S:  SerialNumber=musb_hdrc
    C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
    I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
    E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

    T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=1.5 MxCh= 0
    D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
    P:  Vendor=045e ProdID=007d Rev= 0.00
    S:  Manufacturer=Microsoft
    S:  Product=Microsoft 3-Button Mouse with IntelliEye��™
    C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
    I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=usbhid
    E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=10ms

     

    Regards,

    --Gunter