123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- 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
- Ethernet autonegotiation needs some time to complete. Instead of
- delaying the boot process in all cases, we just start the
- autonegotiation process when U-Boot comes up and that is all. Most
- likely, it will complete by the time the network transfer is
- attempted for the first time. In the worst case, if a transfer is
- attempted before the autonegotiation is complete, just a single
- packet would be lost resulting in a single timeout error, and then
- the transfer would proceed normally. So the time that we would have
- lost unconditionally waiting for the autonegotiation to complete, we
- have to wait only if the file transfer is started immediately after
- reset. We've verified that this works for all the clock
- configurations.
- (C) 2003 Wolfgang Denk
|