summaryrefslogtreecommitdiff
path: root/doc/README.Purple
blob: 0098e26c1ddfde68d584e932b9c28afeebc35af3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
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.