u-boot for the TI OMAP730 Perseus2 Dave Peverley, MPC-Data Limited http://www.mpc-data.co.uk Overview : As the OMAP730 is similar to the OMAP1610 in many ways, this port was based on the u-boot port to the OMAP1610 Innovator. Supported features are : - Serial terminal support - Onboard NOR Flash - Ethernet via the seperate debug board - Tested on Rev4 and Rev5 boards It has also been tested to work correctly when built with a 'standard' GCC 3.2.1 cross-compiler as well as Montavista Linux CEE 3.1's toolchain. Hardware Configuration : The main dips on the P2 board should be set to 2,3,7 and 9 on with all others off. On the debug board, dips 1 and 7 should be on with the rest off. The serial console has been set up to run from the DB9 connector on the P2 board at 115200 baud, 8 data bits, no stop bits, 1 parity bit. It should be noted that the P2 board has NOR flash that is addressable via either CS0 or CS3. This mode can be changed via DIP9 on the P2 board. Installing u-boot for the P2 : You can simply build u-boot for the Perseus by following the instructions in the main readme file. The target configuration is "omap730p2_config". Once u-boot has been built, you should strip the executable so it can be loaded via CCS (which cant cope with the symbols in the ELF binary) : $ cp u-boot u-boot.out $ arm-linux-strip u-boot.out The method we've used for installing u-boot the first time on a P2 is as follows : 1) Configure TI Code Composer Studio to connect to the P2 board via JTAG as described in the Users Guide. 2) Set up the P2 to boot from CS3, and connect with CCS. Reset the CPU and run the "init_mmu" GEL script. 3) Use the "Load Program" option to send the u-boot.out file to the P2 and run. At this point, u-boot should run and you will see the boot menu on your serial terminal. You can then load the u-boot image to memory : # loadb 0x10000000 Send the "u-boot.bin" binary via the serial using Kermit. Once loaded you can self-flash u-boot : # protect off 1:0 # erase 1:0 # cp.b 0x10000000 0x0 0x20000 You should now be able to reset the board and run u-boot from flash. Alternative flash option : Sometimes, if you've been silly, you can get the board into a state where whats in flash has upset the board so much that you can no longer connect to the P2 via JTAG. However, you can set DIP9 to off to swap the boot mode of the P2 so that you boot from RAM instead of NOR flash. This moves NOR flash up to 0x0C000000. You can build a special version of u-boot to utilise this by the following config : $ make omap730p2_cs0boot_config If you load this up via CCS it will detect flash at its alternate location and allow you to programme your u-boot image (which, remember must be built for CS3 boot!) Once you do this, you can revert to CS3 boot and it will work fine again. Errata : 1) It's been observed that sometimes the tftp transfer of kernels to the board can have checksum errors or stall. This appears to be an issue with the lan91c96.c driver, and can normally be worked around by resetting the board and trying again.