Wolfgang Denk 702e6014f1 doc: cleanup - move board READMEs into respective board directories 12 years ago
..
Makefile 6d8962e814 Switch from archive libraries to partial linking 13 years ago
README 702e6014f1 doc: cleanup - move board READMEs into respective board directories 12 years ago
config.mk 14d0a02a16 Rename TEXT_BASE into CONFIG_SYS_TEXT_BASE 13 years ago
flash.c 6d0f6bcf33 rename CFG_ macros to CONFIG_SYS 15 years ago
incaip.c 6d0f6bcf33 rename CFG_ macros to CONFIG_SYS 15 years ago
lowlevel_init.S 536884f915 MIPS: Move Inca-IP targets to boards.cfg 13 years ago
u-boot.lds 660da0947a MIPS: Introduce --gc-sections for MIPS 13 years ago

README


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.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 " 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.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