mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-26 22:52:18 +00:00
45 lines
1.4 KiB
Text
45 lines
1.4 KiB
Text
|
|
||
|
Flash programming on the INCA-IP board is complicated because of the
|
||
|
EBU swapping unit. A BDI2000 can be used for flash programming only
|
||
|
if the EBU swapping unit is enabled; otherwise it will not detect the
|
||
|
flash memory. But the EBU swapping unit is disadbled after reset, so
|
||
|
if you program some code to flash with the swapping unit on, it will
|
||
|
not be runnable with the swapping unit off.
|
||
|
|
||
|
The consequence is that you have to write a pre-swapped image to
|
||
|
flash using the BDI2000. A simple host-side tool "inca-swap-bytes" is
|
||
|
provided in the "tools/" directory. Use it as follows:
|
||
|
|
||
|
bash$ ./inca-swap-bytes <u-boot.bin >u-boot.bin.swp
|
||
|
|
||
|
Note that the current BDI config file _disables_ the EBU swapping
|
||
|
unit for the flash bank 0. To enable it, (this is required for the
|
||
|
BDI flash commands to work) uncomment the following line in the
|
||
|
config file:
|
||
|
|
||
|
;WM32 0xb8000260 0x404161ff ; Swapping unit enabled
|
||
|
|
||
|
and comment out
|
||
|
|
||
|
WM32 0xb8000260 0x004161ff ; Swapping unit disabled
|
||
|
|
||
|
Alternatively, you can use "mm 0xb8000260 <value>" commands to
|
||
|
enable/disable the swapping unit manually.
|
||
|
|
||
|
Just for reference, here is the complete sequence of actions we took
|
||
|
to install a U-Boot image into flash.
|
||
|
|
||
|
1. ./inca-swap-bytes <u-boot.bin >u-boot.bin.swp
|
||
|
|
||
|
2. From BDI:
|
||
|
|
||
|
mm 0xb8000260 0x404161ff
|
||
|
erase 0xb0000000
|
||
|
erase 0xb0010000
|
||
|
prog 0xb0000000 /tftpboot/INCA/u-boot.bin.swp bin
|
||
|
mm 0xb8000260 0x004161ff
|
||
|
go 0xb0000000
|
||
|
|
||
|
|
||
|
(C) 2003 Wolfgang Denk
|