
		     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.
