diff options
author | 2023-10-10 14:33:42 +0000 | |
---|---|---|
committer | 2023-10-10 14:33:42 +0000 | |
commit | af1a266670d040d2f4083ff309d732d648afba2a (patch) | |
tree | 2fc46203448ddcc6f81546d379abfaeb323575e9 /roms/u-boot-sam460ex/doc/README.Purple | |
parent | e02cda008591317b1625707ff8e115a4841aa889 (diff) |
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'roms/u-boot-sam460ex/doc/README.Purple')
-rw-r--r-- | roms/u-boot-sam460ex/doc/README.Purple | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/roms/u-boot-sam460ex/doc/README.Purple b/roms/u-boot-sam460ex/doc/README.Purple new file mode 100644 index 000000000..0098e26c1 --- /dev/null +++ b/roms/u-boot-sam460ex/doc/README.Purple @@ -0,0 +1,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. |