I'm trying to boot my board from USB, but it doesn't seem to be working. I'm following the instructions here: http://processors.wiki.ti.com/index.php/Linux_Core_U-Boot_User's_Guide#Booting_Linux_from_USB_storage
I have the SYSBOOT pins set as per the instructions here: http://processors.wiki.ti.com/index.php/AM335x_U-Boot_User%27s_Guide#USB
That is:
SW3:
Pin1: OFF (logic 1)
Pin2: OFF (logic 1)
Pin3: ON (logic 0)
Pin4: OFF (logic 1)
Pin5: On (logic 0)
As per the TRM Table 26-7 the boot sequence for this should be USB0 NAND SPI0 MMC0
I have flashed my NAND with the MLO and uboot so I can enter bootloader mode from the second boot option if the first should fail.
I have partitioned and loaded a uSD card with the SDK 6.0 pre-built images and I did boot the board fully from there, so I know the SD card can be read and works correctly.
I removed the uSD card and inserted it in a uSD to USB device (the same that I used to plug into my Ubuntu machine to program the uSD card).
When I attach the uSD card (in the USB reader) to the USB port on the EVM and try to boot, it fails and just boot the u-boot that's in the NAND instead.
The steps from the first link say I should run the following commands:
U-Boot# usb start (Re)start USB... USB0: scanning bus 0 for devices... 1 USB Device(s) found scanning usb for storage devices... 1 Storage Device(s) found U-Boot# setenv mmcroot /dev/sda2 ro U-Boot# run mmcargs U-Boot# run bootcmd_usb ## Error: "bootcmd_usb" not defined
Clearly, bootcmd_usb is not present, but when I printed the environment variables I found a mmcboot command:
mmcboot=echo Booting from mmc ...; run mmcargs; bootm ${kloadaddr}
Trying to run that I get:
U-Boot# run mmcboot Booting from mmc ... Wrong Image Format for bootm command ERROR: can't get kernel image!
So my questions:
1) why can't I force the boot from u-boot to occur?
2) why didn't the EVM initially boot from USB?
full boot log:
U-Boot SPL 2013.01.01 (Jun 25 2013 - 16:42:52) musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn) musb-hdrc: MHDRC RTL version 2.0 musb-hdrc: setup fifo_mode 4 musb-hdrc: 28/31 max ep, 16384/16384 memory USB Peripheral mode controller at 47401000 using PIO, IRQ 0 musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn) musb-hdrc: MHDRC RTL version 2.0 musb-hdrc: setup fifo_mode 4 musb-hdrc: 28/31 max ep, 16384/16384 memory USB Host mode controller at 47401800 using PIO, IRQ 0 U-Boot 2013.01.01 (Jun 25 2013 - 16:42:52) I2C: ready DRAM: 512 MiB WARNING: Caches not enabled NAND: 256 MiB MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1 musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn) musb-hdrc: MHDRC RTL version 2.0 musb-hdrc: setup fifo_mode 4 musb-hdrc: 28/31 max ep, 16384/16384 memory USB Peripheral mode controller at 47401000 using PIO, IRQ 0 musb-hdrc: ConfigData=0xde (UTMI-8, dyn FIFOs, bulk combine, bulk split, HB-ISO Rx, HB-ISO Tx, SoftConn) musb-hdrc: MHDRC RTL version 2.0 musb-hdrc: setup fifo_mode 4 musb-hdrc: 28/31 max ep, 16384/16384 memory USB Host mode controller at 47401800 using PIO, IRQ 0 Net: <ethaddr> not set. Validating first E-fuse MAC cpsw, usb_ether Hit any key to stop autoboot: 0 mmc_send_cmd : timeout: No status update Card did not respond to voltage select! mmc0(part 0) is current device mmc_send_cmd : timeout: No status update Card did not respond to voltage select! Booting from nand ... NAND read: device 0 offset 0x280000, size 0x500000 5242880 bytes read: OK Wrong Image Format for bootm command ERROR: can't get kernel image! U-Boot#