README.INCA-IP 2.1 KB

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