]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - doc/README.Purple
Patch by Mathijs Haarman, 08 May 2003:
[karo-tx-uboot.git] / doc / README.Purple
1 Installation Instructions:
2 --------------------------
3
4 1. Put the s2 switch into the following position:
5
6          1  0
7         ------
8         |x   |
9         |   x|
10         |x   |
11         |   X|
12         ------
13
14    Put the s3 switch into the following position:
15
16          1  0
17         ------
18         | x  |
19         | x  |
20         |   x|
21         |   x|
22         ------
23
24    Put the s4 switch into the following position:
25
26          1  0
27         ------
28         |x   |
29         |x   |
30         |x   |
31         |x   |
32         |x   |
33         |   x|
34         |   x|
35         |x   |
36         ------
37
38 2. Connect to the serial console and to the BDI. Power on. On the
39    serial line, you should see:
40
41         PURPLE@1.2>
42
43 3. Type '8'. No echo will be displayed. In response, you should get:
44
45         7A(pass)
46
47 4. From BDI, enter command:
48
49         mmw 0xb800d860 0x0042c7ff
50
51 5. Then, from BDI:
52
53         erase 0xB0000000
54         erase 0xB0008000
55         erase 0xB000C000
56         erase 0xB0010000
57         erase 0xB0020000
58
59         prog 0xB0000000 <u-boot.bin> bin
60
61 6. Power off. Restore the original S2 switch position:
62
63          1  0
64         ------
65         |   x|
66         |   x|
67         |x   |
68         |   X|
69         ------
70
71    Power on.  U-Boot should come up.
72
73
74
75 Implementation Notes:
76 ---------------------
77
78 Due to the RAM/flash bus arbitration problem the suggested workaround
79 had to be implemented. It works okay. On the downside is that you
80 can't really check whether 'erase' is complete by polling flash as it
81 is usually done. Instead, the flash driver simply waits for a given
82 time and assumes that erase then has passed. This behaviour is
83 identical to what the VxWorks driver does; also, the same timeout (6
84 seconds) was chosen. Note that this timeout applies for each erase
85 operation, i. e. per erased sector.