• Resolved

OMAP-L138 & TIWI-R2 (WL1271)



I am trying to integrate the TI WL1271 Wi-Fi module with a custom OMAP-L138 SOM board. We successfully tested the system using EVM modules and Linux kernel v3.3-rc7. I am now  trying to get other subsystems running on our custom board with kernel-v3.3-rc7, but I am experiencing problems during USB device initialization. The Linux kernel is failing to enumerate the USB device and assign a user-space interface (i.e. ttyUSB0 ). When I execute "lsusb" nothing is returned. I have verified that VBUS power is applied to the device.

I was previously using kernel v2.6.32-rc6 successfully, but there was no board level support for the WL1271. This seemed to be properly added in v3.3.

Should I expect such problems with this kernel version 3.3 and OMAP-L138? Is CPPI41 DMA still supported for DA8xx devices? I can't seem to remove the MUSB_PIO_ONLY option, which I thought was the cause of this USB issue. At this point, I am curious if this is expected behavior or am I missing a configuration parameter.

Any help would be appreciated.


  • Genius 9460 points


    As you picked up non TI PSP released kernel so it doesn't have CPPI4.1 DMA support and only option is to use PIO mode. I would recommend to use TI PSP kernel for AM18x. The latest staging tree for AM18x is available at http://arago-project.org/git/projects/?p=linux-davinci.git;a=shortlog;h=refs/heads/davinci-next

    And the last released tree based on v2.6.37 available at http://arago-project.org/git/projects/?p=linux-davinci.git;a=shortlog;h=refs/heads/usb_pio_plus_dma



    If my reply answers your question then please click on the green button "Verify Answer"

  • In reply to Ajay:


    Thanks for the information. The latest staging tree is working on our platform. There were a few compiler errors that I would like to share:

    1. 'DAVINCI_SYSTEM_MODULE_BASE' undeclared in function dump_header_stats

    drivers/usb/musb/musb_procfs.c: In function 'dump_header_stats':
    drivers/usb/musb/musb_procfs.c:517: error: 'DAVINCI_SYSTEM_MODULE_BASE' undeclared (first use in this function)
    drivers/usb/musb/musb_procfs.c:517: error: (Each undeclared identifier is reported only once
    drivers/usb/musb/musb_procfs.c:517: error: for each function it appears in.)
    make[4]: *** [drivers/usb/musb/musb_procfs.o] Error 1

    My solution was to define DAVINCI_SYSTEM_MODULE_BASE in /mach/hardware.h

    2. MUSB_DA8XX_GLUE requires USB_GADGET support

    drivers/built-in.o: In function `musb_gadget_cleanup':
    clkdev.c:(.text+0x7eb9c): undefined reference to `usb_del_gadget_udc'
    drivers/built-in.o: In function `musb_gadget_setup':
    clkdev.c:(.devinit.text+0x2ecc): undefined reference to `usb_add_gadget_udc'