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.

OMAP3530 EVM EHCI Driver missing?

Other Parts Discussed in Thread: OMAP3530, TPS65930

Hi,

Looking at the platform.bib, my project should generate an EHCI driver ( either ehcihcd.dll or ehcihcd_omap35xx_tps659xx_ti_V1.dll ) but I do not see it anywhere, including the release directory.

In the evmbsp.bat, I have

set BSP_EVM2_HSUSB_HOST=1

set BSP_HSUSB2_SERIAL=

set BSP_HSUSB2_12PIN=

set BSP_NOUSBTLL2=1

REM set BSP_NOUSBEHCI=1

Do I need this driver to read my USB stick attached to the EHCI HOST connector on the EVM?

Would anyone please tell me if I am actually missing the driver and how to have it built?

Thanks,

Luan

  • Luan,

    EHCI driver is required to use EHCI Host function.

    If the driver is built correctly, you should see ehcihcd_omap35xx_tps659xx_ti_V1.dll under FLAT release directory.

    The driver is under directory OMAP35XX_TPS659XX_TI_V1\omap35xx\USB\EHCIPDD. You can manually compiled the driver to see if the DLL file is generated properly.

    Regards,

    Tao

     

  • Hi Tao,

    The EHCI driver is missing from my FLAT release directory.  As you suggested, I build it manually, the file ehcihcd_omap35xx_tps659xx_ti_V1.dll then appears under the FLAT release directory.  However, the file is not part of NK.bin.  When I download my build to the device, I do not see the driver ehcihcd.dll get loaded.

    If I rebuild the BSP by selecting Build | Advanced Build Commands | Build Current BSP and Subprojects, the EHCI driver disappears from the FLAT directory.

    I am not sure what is going on.  I appreciate very much any advice that you can give me in the debugging process.

    Thanks,

    Luan

  • Luan,

    To answer your question about "ehcihcd.dll is not part of NK.bin":

    In platform.bib file, BSP_NOUSBEHCI determines if ehcihcd.dll will be built into NK.bin or not.

    Please check ce.bib under FLAT release directory to see if ehcihcd.dll is included.

    Did you see the problem in 6.14.x BSP?

    thanks,

    Tao

     

  • Hello Tao,

    I am not clear about BSP_NOUSBEHCI determining whether ehcihcd.dll will be built into NK.bin or not.  So if BSP_NOUSBEHCI is not set, ehcihcd.dll will not be in NK.bin and vice versa otherwise?

    I checked ce.bib and did not see ehcihcd.dll is included.

    I went back to my previous project which I had built with BSP 6.12.03 and I also do not see the file ehci_omap35xx_tsp659xx_ti_v1.dll.

    I rebuild my BSP and see two following warnings:

    BUILD: [00:0000000151:WARNN ] File: C:\WINCE600\platform\common\lib\ARMV4I\retail\ehcihcd_omap35xx_tps659xx_ti_v1.exp does not exist (2).

    BUILD: [00:0000000152:WARNN ] File: C:\WINCE600\platform\common\lib\ARMV4I\retail\ehcihcd_omap35xx_tps659xx_ti_v1.lib does not exist (2).

    When I build it manually I got the following on the output window:

    BUILD: [00:0000000008:PROGC ] Scan C:\WINCE600\PLATFORM\COMMON\src\soc\OMAP35XX_TPS659XX_TI_V1\OMAP35XX\usb\EHCIPDD\

    BUILD: [00:0000000009:PROGC ] Saving C:\WINCE600\PLATFORM\COMMON\Build.dat.

    BUILD: [00:0000000015:PROGC ] Building LIB Pass in C:\WINCE600\PLATFORM\COMMON\src\soc\OMAP35XX_TPS659XX_TI_V1\OMAP35XX\usb\EHCIPDD\ directory.

    BUILD: [01:0000000025:PROGC ] Linking C:\WINCE600\platform\common\lib\ARMV4I\retail\ehcihcd_omap35xx_tps659xx_ti_v1.lib

    BUILD: [00:0000000043:PROGC ] Building LINK Pass in C:\WINCE600\PLATFORM\COMMON\src\soc\OMAP35XX_TPS659XX_TI_V1\OMAP35XX\usb\EHCIPDD\ directory.

    BUILD: [01:0000000054:PROGC ] Linking C:\WINCE600\platform\common\target\ARMV4I\retail\ehcihcd_omap35xx_tps659xx_ti_v1.dll

    BUILD: [01:0000000074:WARNN ] system.obj : warning LNK4204: 'c:\wince600\platform\common\target\armv4i\retail\ehcihcd_omap35xx_tps659xx_ti_v1.pdb' is missing debugging information for referencing module; linking object as if no debug info

    BUILD: [00:0000000084:PROGC ] Saving C:\WINCE600\PLATFORM\COMMON\Build.dat.

    BUILD: [00:0000000086:PROGC ] Done.

     

     

    Are you able to do a build yourself to see if you have the same problem?

    Thanks for all your help,

    Luan

  • Luan,

    When BSP_NOUSBEHCI is set to 1, USBEHCI will not be included in the build.

    My build is based on 6.14.01, BSP_NOUSBEHCI is not set, so EHCI driver is compiled and included in the build.

    As for 6.12.03, could you please check setting for BSP_NOUSBEHCI in  ti_evm_3530.bat? It is possible BSP_NOUSBEHCI is set to 1 by default in that release.

    To find out why in your project EHCI is not compiled, you can check dirs and sources files under OMAP35XX_TPS659XX_TI_V1\OMAP35XX\usb.

    Tao


  • Hi Tao,

    I have been away from the OMAP3530 project for a month and just back to work on it today.

    I updated my BSP to 6.14.01 to see if it resolves my EHCI driver problem but I found out that it behaves exactly as before.  When I rebuild the BSP, nothing under the USB directly is getting built and I do not get the file ehci_omap35xx_tsp659xx_ti_v1.dll under the release directory.  Outputs from the build shows that it does not scan the USB directory but it scans most (if not all) other directories under C:\WINCE600\PLATFORM\COMMON\SRC\SOC\OMAP35XX_TPS659XX_TI_V1\omap35xx.  Examining the dirs and sources files, I do not see anything unusual.

    I wonder what is the difference between your setup and mine.  I do not have a complete understanding about the build process.  What do you think could cause it to skip building the EHCI USB driver?

    There is a comment in the header of the sources file under ehcipdd directory about a LIB being created instead of a DLL or EXE.  Would you please take a look to see if you can help me solve this issue?

    Thanks,

    Luan

  • Hi, Luan,

     

    To further assist you, could you provide the following information:

    1. OSdesign, Are you using the sample Osdesign from 6.14.01 release? If not, could you please share it?
    2. Do you have ehcdmdd.lib and hcd2lib.lib under Platform/common/lib/armv4i/retail?

     

    Thanks,

    Tao

  • Hi Tao,

    I do not use the sample Osdesign from 6.14.01 release.  I clone the TI_EVM_3530 BSP and use it for MyOsDesign.  Below are what I select during the Design Wizard:

    Design Templates:                    PDA Device

    Design Template Variants:      Mobile Handheld

    Application Media:                      ActiveSync, Internet Browser

    Networking Communication:    LAN

    Added Catalog Items:                 Internet Explorer 6.0 Sample Browser, Network Utilities, CAB File Installer/Uninstaller, OS Dependencies for .NET Compact Framework 2.0

    After the OS design build is completed, I check the directories under USB and see that none of them are getting built.  The files ehcdmdd.lib and hcd2lib.lib are NOT under Platform/common/lib/armv4i/retail.  However, two files with the same names but old date (02/17/2010) are under C:\WINCE600\OSDesigns\MyOsDesign\Wince600\MyOsDesign_ARMV4I\cesysgen\oak\lib\ARMV4I\retail.

    Please let me know if you have any other questions. 

    Thanks,

    Luan 

  • Luan,

    I recommend we start from the sample OSdesign and BSP code with no changes. This way we will have a baseline to compare.

    The sample OSdesign has the necessary modules enabled for drivers to work properly. For example, to have EHCI  driver working properly, USB host support etc.  need to be enabled from Core OS.

    Tao

  • Hi Tao,

    Thank you for your patience with me.  I got the driver ehci.dll as part on nk.bin now by following your suggestion in your last post.  I am also able to read the SD card.  However, my build only works on the EVM but not on my custom board.  I do not see the icons for USB stick and SD card on My Device.  The difference between the EVM and my custom board as fas as USB port is concerned it that the EVM uses a separate USB transceiver while our board uses the one on the TPS65930.

    Do you have any suggestion for me on how to debug this issue?  The SD card on our board is also connect to MMC1 port, the same as that on the EVM.

    Thanks,

    Luan

  • Luan,

     

    Do you know what have been changed for MMC1 Port on your custom board? For example, what GPIO lines are assigned for SDHC card detection and write protection? If these are changed, you need to modify SDHC driver registry and configure the GPIO lines properly.

     

    As for USB transceiver, in TI_EVM_3530.bat file, the default transceiver is set to ISP1504. You need to change it to TPS659XX.

     

    Thanks,

    Tao

  • Hi Tao,

    For MMC1, the SDHC card detection is the same as EVM; however, the write protection line is changed from GPIO_63 to GPIO_163.  I changed the registry but I still do not see the "Mass Storage" icon.  In the original BSP code, I only see the WP pin configured to output but not driven.  It is probably low by default and it does not matter.

    Would you please tell me which piece of code in the BSP detects the presence of the SD card so I can put a break point to see if the detection is beind done?

    As for the OTG USB, you are right that the EVM uses the transceiver ISP1504 as the OTG.  We uses one of the transceiver on the TPS65930 for RNDIS and I am able to download the OS to the target through this port without changing the flag from BSP_USBHSOTG_ISP1504 to BSP_USBHSOTG_TPS659XX in TI_EVM_3530.bat file.  I also do not see this flag is used anywhere.  Please point me to that place if you see it being used.

    As for the EHCI USB, the EVM uses the transceiver USB3320C-EZK while our custom board uses another transceiver on the TPS65930.  This is where my problem is.  I do not see USB stick plugged in the EHCI HOST port.

    Please give me idea on how to debug this.

    Thanks for your great support,

    Luan