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

1. Put the s2 switch into the following position:

	 1  0
	------
	|x   |
	|   x|
	|x   |
	|   X|
	------

   Put the s3 switch into the following position:

	 1  0
	------
	| x  |
	| x  |
	|   x|
	|   x|
	------

   Put the s4 switch into the following position:

	 1  0
	------
	|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:

	 1  0
	------
	|   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.
