
Flash programming on the INCA-IP board is complicated because of the
EBU swapping unit. A BDI2000 can be used for flash programming only
if the EBU swapping unit is enabled; otherwise it will not detect the
flash memory. But the EBU swapping unit is disadbled after reset, so
if you program some code to flash with the swapping unit on, it will
not be runnable with the swapping unit off.

The consequence is that you have to write a pre-swapped image to
flash using the BDI2000. A simple host-side tool "inca-swap-bytes" is
provided in the "tools/" directory. Use it as follows:

	bash$ ./inca-swap-bytes <u-boot.bin >u-boot.bin.swp

Note that the current BDI config file _disables_ the EBU swapping
unit for the flash bank 0. To enable it, (this is required for the
BDI flash commands to work) uncomment the following line in the
config file:

	;WM32   0xb8000260      0x404161ff ; Swapping unit enabled

and comment out

	WM32    0xb8000260      0x004161ff ; Swapping unit disabled

Alternatively, you can use "mm 0xb8000260 <value>" commands to
enable/disable the swapping unit manually.

Just for reference, here is the complete sequence of actions we took
to install a U-Boot image into flash.

    1. ./inca-swap-bytes <u-boot.bin >u-boot.bin.swp

    2. From BDI:

	mm 0xb8000260  0x404161ff
	erase 0xb0000000
	erase 0xb0010000
	prog 0xb0000000 /tftpboot/INCA/u-boot.bin.swp bin
	mm 0xb8000260 0x004161ff
	go 0xb0000000


(C) 2003 Wolfgang Denk
