Installation Instructions:
--------------------------

1. Put the s2 switch into the following position:

	Off On
	------
	|x   |
	|   x|
	|x   |
	|   X|
	------

   Put the s3 switch into the following position:

	Off On
	------
	| x  |
	| x  |
	|   x|
	|   x|
	------

   Put the s4 switch into the following position:

	Off On
	------
	|x   |
	|x   |
	|x   |
	|x   |
	|x   |
	|   x|
	|   x|
	|x   |
	------

2. Connect to the serial console and to the BDI. Power on. On the
   serial line, you should see:

	PURPLE@1.2>

3. Type '8'. No echo will be displayed. In response, you should get:

	7A(pass)

4. From BDI, enter command:

	mmw 0xb800d860 0x0042c7ff

5. Then, from BDI:

	erase 0xB0000000
	erase 0xB0008000
	erase 0xB000C000
	erase 0xB0010000
	erase 0xB0020000

	prog 0xB0000000 <u-boot.bin> bin

6. Power off. Restore the original S2 switch position:

	Off On
	------
	|   x|
	|   x|
	|x   |
	|   X|
	------

   Power on.  U-Boot should come up.


Implementation Notes:
---------------------

Due to the RAM/flash bus arbitration problem the suggested workaround
had to be implemented. It works okay. On the downside is that you
can't really check whether 'erase' is complete by polling flash as it
is usually done. Instead, the flash driver simply waits for a given
time and assumes that erase then has passed. This behaviour is
identical to what the VxWorks driver does; also, the same timeout (6
seconds) was chosen. Note that this timeout applies for each erase
operation, i. e. per erased sector.
