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.

AM1802 USB0 Not Working

We've got a new board and I have not been able to get USB working. I don't believe it is a hardware issue as all signals look good and the design matches the reference designs. I checked CFGCHIP2 Register and it reads 0x00309F2 which is everything I would expect. Checking the logs I find errors so I wonder if the kernel is configured correctly?

ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
ohci ohci.0: DA8xx OHCI
ohci ohci.0: new USB bus registered, assigned bus number 1
Waiting for USB PHY clock good...
ohci ohci.0: irq 59, io mem 0x01e25000
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
input: gpio-keys-polled as /devices/platform/gpio-keys-polled.0/input/input0
omap_rtc omap_rtc: rtc core: registered omap_rtc as rtc0
omap_rtc: RTC power up reset detected
i2c /dev entries driver
watchdog watchdog: heartbeat 60 sec
cpuidle: using governor ladder
cpuidle: using governor menu
davinci_mmc davinci_mmc.0: Using DMA, 4-bit mode
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
usbcore: registered new interface driver snd-usb-audio
soc-audio soc-audio.0: ASoC: Failed to create card debugfs directory
_regulator_get: 1-0018 supply IOVDD not found, using dummy regulator
_regulator_get: 1-0018 supply DVDD not found, using dummy regulator
_regulator_get: 1-0018 supply AVDD not found, using dummy regulator
_regulator_get: 1-0018 supply DRVDD not found, using dummy regulator
asoc: tlv320aic3x-hifi <-> davinci-mcasp.0 mapping ok
ALSA device list:
  #0: DA850/OMAP-L138 EVM
TCP cubic registered
NET: Registered protocol family 17
console [netcon0] enabled
mmc0: new high speed SDHC card at address b368
netconsole: network logging started
mmcblk0: mmc0:b368 SMI   7.61 GiB
omap_rtc omap_rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
 mmcblk0: p1 p2
usb 1-1: new low-speed USB device number 2 using ohci
usb 1-1: device descriptor read/64, error -62
usb 1-1: device descriptor read/64, error -62
usb 1-1: new low-speed USB device number 3 using ohci
usb 1-1: device descriptor read/64, error -62
usb 1-1: device descriptor read/64, error -62
usb 1-1: new low-speed USB device number 4 using ohci
usb 1-1: device not accepting address 4, error -62
usb 1-1: new low-speed USB device number 5 using ohci
usb 1-1: device not accepting address 5, error -62
hub 1-0:1.0: unable to enumerate USB device on port 1
EXT3-fs (mmcblk0p2): warning: maximal mount count reached, running e2fsck is recommended
kjournald starting.  Commit interval 5 seconds
EXT3-fs (mmcblk0p2): using internal journal
EXT3-fs (mmcblk0p2): recovery complete
EXT3-fs (mmcblk0p2): mounted filesystem with writeback data mode
VFS: Mounted root (ext3 filesystem) on device 179:2.
Freeing init memory: 160K
udevd (546): /proc/546/oom_adj is deprecated, please use /proc/546/oom_score_adj instead.
udev: starting version 141
NET: Registered protocol family 10

root@omapl138-lcdk:~# lsusb
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
root@omapl138-lcdk:~# uname -a
Linux omapl138-lcdk 3.3.0 #2 PREEMPT Tue Feb 11 10:02:02 CST 2014 armv5tejl unknown
root@omapl138-lcdk:~# cat /proc/version
Linux version 3.3.0 (logic@logic-desktop) (gcc version 4.5.3 20110311 (prerelease) (GCC) ) #2 PREEMPT Tue Feb 11 10:02:02 CST 2014
root@omapl138-lcdk:~#

If I insert a USB Thumb drive it doesn't get enumerated and nothing is written into dmesg,

Does anyone have any ideas what else I can check? I've attached my config file and I'm using linux-3.3-psp03.22.00.06.sdk from the mcsdk_1_01_00_02 package.

Thanks,

George

.config.zip
  • Perhaps some additional useful information:

    When nothing plugged into the USB port:

    root@omapl138-lcdk:~# cat /proc/driver/musb_hdrc.255  
    Status: MHDRC, Mode=Peripheral (Power=60, DevCtl=19)
    OTG state: a_idle; inactive
    Options: ?dma?, otg (peripheral+host), [eps=5]
    Peripheral address: 03
    Root port status: 00000000
    DaVinci: ctrl=00 stat=1 phy=b3680000
            rndis=00000 auto=0000 intsrc=01000000 intmsk=00000000
    CPPI: txcr=0 txsrc=0 txena=0; rxcr=0 rxsrc=0 rxena=0
    Gadget driver: (none)
    
    ep0 (hw0): 1buf, csr 0000 maxp 0000
            (queue empty)

    With a USB Thumb Drive Plugged in:

    root@omapl138-lcdk:~# cat /proc/driver/musb_hdrc.255
    Status: MHDRC, Mode=Peripheral (Power=60, DevCtl=5d)
    OTG state: a_idle; inactive
    Options: ?dma?, otg (peripheral+host), [eps=5]
    Peripheral address: 03
    Root port status: 00000000
    DaVinci: ctrl=00 stat=1 phy=17a0e1
            rndis=00000 auto=0000 intsrc=01000000 intmsk=00000000
    CPPI: txcr=0 txsrc=0 txena=0; rxcr=0 rxsrc=0 rxena=0
    Gadget driver: (none)
    
    ep0 (hw0): 1buf, csr 0000 maxp 0000
            (queue empty)

  • George Ioakimedes said:
    Gadget driver: (none)

    Could you please try to enable a gadget driver and built it into the kernel image?

    I am not familiar with AM18x and the psp package you referred. But I have seen in other platform with 3.2 kernel that a gadget driver is required for musb to work in host mode.