uboot/doc/README.INCA-IP
<<
>>
Prefs
   1
   2Flash programming on the INCA-IP board is complicated because of the
   3EBU swapping unit. A BDI2000 can be used for flash programming only
   4if the EBU swapping unit is enabled; otherwise it will not detect the
   5flash memory. But the EBU swapping unit is disadbled after reset, so
   6if you program some code to flash with the swapping unit on, it will
   7not be runnable with the swapping unit off.
   8
   9The consequence is that you have to write a pre-swapped image to
  10flash using the BDI2000. A simple host-side tool "inca-swap-bytes" is
  11provided in the "tools/" directory. Use it as follows:
  12
  13        bash$ ./inca-swap-bytes <u-boot.bin >u-boot.bin.swp
  14
  15Note that the current BDI config file _disables_ the EBU swapping
  16unit for the flash bank 0. To enable it, (this is required for the
  17BDI flash commands to work) uncomment the following line in the
  18config file:
  19
  20        ;WM32   0xb8000260      0x404161ff ; Swapping unit enabled
  21
  22and comment out
  23
  24        WM32    0xb8000260      0x004161ff ; Swapping unit disabled
  25
  26Alternatively, you can use "mm 0xb8000260 <value>" commands to
  27enable/disable the swapping unit manually.
  28
  29Just for reference, here is the complete sequence of actions we took
  30to install a U-Boot image into flash.
  31
  32    1. ./inca-swap-bytes <u-boot.bin >u-boot.bin.swp
  33
  34    2. From BDI:
  35
  36        mm 0xb8000260  0x404161ff
  37        erase 0xb0000000
  38        erase 0xb0010000
  39        prog 0xb0000000 /tftpboot/INCA/u-boot.bin.swp bin
  40        mm 0xb8000260 0x004161ff
  41        go 0xb0000000
  42
  43
  44Ethernet autonegotiation needs some time to complete. Instead of
  45delaying the boot process in all cases, we just start the
  46autonegotiation process when U-Boot comes up and that is all. Most
  47likely, it will complete by the time the network transfer is
  48attempted for the first time. In the worst case, if a transfer is
  49attempted before the autonegotiation is complete, just a single
  50packet would be lost resulting in a single timeout error, and then
  51the transfer would proceed normally. So the time that we would have
  52lost unconditionally waiting for the autonegotiation to complete, we
  53have to wait only if the file transfer is started immediately after
  54reset. We've verified that this works for all the clock
  55configurations.
  56
  57(C) 2003 Wolfgang Denk
  58