2ae1824196
Clean up Makefile, and drop a lot of the config.mk files on the way. We now also automatically pick all boards that are listed in boards.cfg (and with all configurations), so we can drop the redundant entries from MAKEALL to avoid building these twice. Signed-off-by: Wolfgang Denk <wd@denx.de>
65 lines
3.4 KiB
Plaintext
65 lines
3.4 KiB
Plaintext
The Korat board has two NOR flashes, FLASH0 and FLASH1, which are connected to
|
|
chip select 0 and 1, respectively. FLASH0 contains 16 MiB, and is mapped to
|
|
addresses 0xFF000000 - 0xFFFFFFFF as U-Boot Flash Bank #2. FLASH1 contains
|
|
from 16 to 128 MiB, and is mapped to 0xF?000000 - 0xF7FFFFFF as U-Boot Flash
|
|
Bank #1 (with the starting address depending on the flash size detected at
|
|
runtime). The write-enable pin on FLASH0 is disabled, so the contents of FLASH0
|
|
cannot be modified in the field. This also prevents FLASH0 from executing
|
|
commands to return chip information, so its configuration is hard-coded in
|
|
U-Boot.
|
|
|
|
There are two versions of U-Boot for Korat: "permanent" and "upgradable". The
|
|
permanent U-Boot is pre-programmed at the top of FLASH0, e.g., at addresses
|
|
0xFFFA0000 - 0xFFFFFFFF for the current 384 KiB size. The upgradable U-Boot is
|
|
located 256 KiB from the top of FLASH1, e.g. at addresses 0xF7F6000 - 0xF7FC0000
|
|
for the current 384 KiB size. FLASH1 addresses 0xF7FE0000 - 0xF7FF0000 are
|
|
used for the U-Boot environmental parameters, and addresses 0xF7FC0000 -
|
|
0xF7FDFFFF are used for the redundant copy of the parameters. These locations
|
|
are used by both versions of U-Boot.
|
|
|
|
On booting, the permanent U-Boot in FLASH0 begins executing. After performing
|
|
minimal setup, it monitors the state of the board's Reset switch (GPIO47). If
|
|
the switch is sensed as open before a timeout period, then U-Boot branches to
|
|
address 0xF7FBFFFC. This causes the upgradable U-Boot to execute from the
|
|
beginning. If the switch remains closed thoughout the timeout period, the
|
|
permanent U-Boot activates the on-board buzzer until the switch is sensed as
|
|
opened. It then continues to execute without branching to FLASH1. The effect
|
|
of this is that normally the Korat board boots its upgradable U-Boot, but, if
|
|
this has been corrupted, the user can boot the permanent U-Boot, which can then
|
|
be used to erase and reload FLASH1 as needed.
|
|
|
|
Note that it is not necessary for the permanent U-Boot to have all the latest
|
|
features, but only that it have sufficient functionality (working "tftp",
|
|
"erase", "cp.b", etc.) to repair FLASH1. Also, the permanent U-Boot makes no
|
|
assumptions about the size of FLASH1 or the size of the upgradable U-Boot: it is
|
|
sufficient that the upgradable U-Boot can be started by a branch to 0xF7FBFFFC.
|
|
|
|
The build sequence:
|
|
|
|
make korat_perm_config
|
|
make all
|
|
|
|
builds the permanent U-Boot by selecting loader file "u-boot.lds" and defining
|
|
preprocessor symbol "CONFIG_KORAT_PERMANENT". The default build:
|
|
|
|
make korat_config
|
|
make all
|
|
|
|
creates the upgradable U-Boot by selecting loader file "u-boot-F7FC.lds" and
|
|
leaving preprocessor symbol "CONFIG_KORAT_PERMANENT" undefined.
|
|
|
|
2008-02-22, Larry Johnson <lrj@acm.org>
|
|
|
|
|
|
The CompactFlash(R) controller on the Korat board provides a hi-speed USB
|
|
interface. This may be connected to either a dedicated port on the on-board
|
|
USB controller, or to a USB port on the PowerPC 440EPx processor. The U-Boot
|
|
environment variable "korat_usbcf" can be used to specify which of these two
|
|
USB host ports is used for CompactFlash. The valid setting for the variable are
|
|
the strings "pci" and "ppc". If the variable defined and set to "ppc", then the
|
|
PowerPC USB port is used. In all other cases the on-board USB controller is
|
|
used, but if "korat_usbcf" is defined but is set to a string other than the two
|
|
valid options, a warning is also issued.
|
|
|
|
2009-01-28, Larry Johnson <lrj@acm.org>
|