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.

USB in U-Boot on DM355

Other Parts Discussed in Thread: DA8XX, OMAP-L137

Hello

I am trying to load my uImage from a USB drive on the DVEVM355, so I am trying to remake U-Boot with USB support.

I added the following to the end of the U-Boot configurations section in the dm355_evm.h file

#define CONFIG_DOS_PARTITION 1
#define CONFIG_USB_OHCI    1
#define CONFIG_USB_STORAGE 1
#define CONFIG_USB_DA8XX   1

and have the following CONFIG_COMMANDS

#define CONFIG_COMMANDS        (CFG_CMD_DFL | CFG_CMD_ENV | CFG_CMD_NAND | CFG_CMD_LOADB | CFG_CMD_LOADS | CFG_CMD_MEMORY | CFG_CMD_ASKENV | CFG_CMD_RUN | CFG_CMD_AUTOSCRIPT | CFG_CMD_BDI | CFG_CMD_CONSOLE | CFG_CMD_IMI | CFG_CMD_BOOTD | CFG_CMD_MISC | CFG_CMD_PING | CFG_CMD_DHCP | CFG_CMD_NET | CFG_CMD_USB | CFG_CMD_FAT)

when I make U-Boot I get the following linker errors at the end of the make;

        --start-group lib_generic/libgeneric.a board/dm355_evm/libdm355_evm.a cpu/arm926ejs/libarm926ejs.a lib_arm/libarm.a fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a net/libnet.a disk/libdisk.a rtc/librtc.a dtt/libdtt.a drivers/libdrivers.a drivers/nand/libnand.a drivers/nand_legacy/libnand_legacy.a drivers/sk98lin/libsk98lin.a post/libpost.a post/cpu/libcpu.a common/libcommon.a --end-group -L /opt/mv_pro_4.0.1/montavista/pro/devkit/arm/v5t_le/bin/../lib/gcc/armv5tl-montavista-linuxeabi/3.4.3 -lgcc \
        -Map u-boot.map -o u-boot
common/libcommon.a(usb.o)(.text+0x64): In function `usb_stop':
/home/doug/dvsdk_1_30_01_41/PSP_01_20_00_014/board_utilities/u-boot-1.2.0/common/usb.c:133: undefined reference to `usb_lowlevel_stop'
common/libcommon.a(usb.o)(.text+0x88): In function `usb_submit_int_msg':
/home/doug/dvsdk_1_30_01_41/PSP_01_20_00_014/board_utilities/u-boot-1.2.0/common/usb.c:157: undefined reference to `submit_int_msg'
common/libcommon.a(usb.o)(.text+0x120): In function `usb_control_msg':
/home/doug/dvsdk_1_30_01_41/PSP_01_20_00_014/board_utilities/u-boot-1.2.0/common/usb.c:187: undefined reference to `submit_control_msg'
common/libcommon.a(usb.o)(.text+0x1a8): In function `usb_bulk_msg':
/home/doug/dvsdk_1_30_01_41/PSP_01_20_00_014/board_utilities/u-boot-1.2.0/common/usb.c:214: undefined reference to `submit_bulk_msg'
common/libcommon.a(usb.o)(.text+0x1894): In function `usb_init':
/home/doug/dvsdk_1_30_01_41/PSP_01_20_00_014/board_utilities/u-boot-1.2.0/common/usb.c:109: undefined reference to `usb_lowlevel_init'
common/libcommon.a(usb_storage.o)(.text+0x658): In function `usb_stor_CBI_get_status':

 

The libcommon.a library and the usb.o have been recompiled.  From what I can see in the usb.c file, if (CONFIG_COMMANDS & CFG_CMD_USB) then the missing references should be there.  Since U-Boot makes and works okay without the CFG_CMD_USB, I assume I need to do something different.

Any ideas on what the problem is?

Thanks,

Doug

  • I have not seen this done on DM355; however, for OMAP-L137, the following options are enough

    #define CONFIG_USB_STORAGE 1
    #define CONFIG_USB_DA8XX   1

    The second of these appears to be specific to OMAP-L137; I wonder if there is a similar one for DM355?  If not, this level of support may not be available in the u-boot source you are using. 

     

  • OMAPL137 and DM355 USB controllers are pretty similar.  One would have do put in the low level init code to get DM355 USB to work on U-Boot.

    regards

    swami

  • Thanks for the replies.

    A couple of questions.  I am using U-Boot 1.2.0.  From what I can find OMAPL137 uses U-Boot 1.3.3.  Can I use the init code out of version 1.3.3 (or some other version) in U-Boot 1.2.0?

    I only have access to the DaVinci extranet, which does not have the OMAPS.  Is there a link I  can access the OMAPL137 U-Boot source code at?

    Thanks for the help,

    Doug