mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-15 01:17:39 +00:00
83b7e2a7f2
Currently, some linker scripts are found by common code in config.mk. Some are found using CONFIG_SYS_LDSCRIPT, but the code for that is sometimes in arch config.mk and sometimes in board config.mk. Some are found using an arch-specific rule for looking in CPUDIR, etc. Further, the powerpc config.mk rule relied on CONFIG_NAND_SPL when it really wanted CONFIG_NAND_U_BOOT -- which covered up the fact that not all NAND_U_BOOT builds actually wanted CPUDIR/u-boot-nand.lds. Replace all of this -- except for a handful of boards that are actually selecting a linker script in a unique way -- with centralized ldscript finding. If board code specifies LDSCRIPT, that will be used. Otherwise, if CONFIG_SYS_LDSCRIPT is specified, that will be used. If neither of these are specified, then the central config.mk will check for the existence of the following, in order: $(TOPDIR)/board/$(BOARDDIR)/u-boot-nand.lds (only if CONFIG_NAND_U_BOOT) $(TOPDIR)/$(CPUDIR)/u-boot-nand.lds (only if CONFIG_NAND_U_BOOT) $(TOPDIR)/board/$(BOARDDIR)/u-boot.lds $(TOPDIR)/$(CPUDIR)/u-boot.lds Some boards (sc3, cm5200, munices) provided their own u-boot.lds that were dead code, because they were overridden by a CPUDIR u-boot.lds under the old powerpc rules. These boards' own u-boot.lds have bitrotted and no longer work -- these lds files have been removed. Signed-off-by: Scott Wood <scottwood@freescale.com> Tested-by: Graeme Russ <graeme.russ@gmail.com> |
||
---|---|---|
.. | ||
auto_update.c | ||
cmd_trab.c | ||
config.mk | ||
flash.c | ||
lowlevel_init.S | ||
Makefile | ||
memory.c | ||
Pt1000_temp_data.h | ||
README.kbd | ||
rs485.c | ||
rs485.h | ||
trab.c | ||
trab_fkt.c | ||
tsc2000.c | ||
tsc2000.h | ||
u-boot.lds | ||
vfd.c |
The TRAB keyboard implementation is similar to that for LWMON and R360MPI boards. The only difference concerns key naming. There are 4 keys on TRAB: 1, 2, 3, 4. 1) The "kbd" command provides information about the current state of the keys. For example, TRAB # kbd Keys: 1 0 1 0 means that keys 1 and 3 are pressed. The keyboard status is also stored in the "keybd" environment variable. In this example we get keybd=1010 2) The "preboot" variable is set according to current environment settings and keys pressed. This is an example: TRAB # setenv magic_keys XY TRAB # setenv key_magicX 12 TRAB # setenv key_cmdX echo ## Keys 1 + 2 pressed ##\;echo TRAB # setenv key_magicY 13 TRAB # setenv key_cmdY echo ## Keys 1 + 3 pressed ##\;echo Here "magic_keys=XY" means that the "key_magicX" and "key_magicY" variables will be checked for a match. Each variable "key_magic*" defines a set of keys. In the our example, if keys 1 and 3 are pressed during reset, then "key_magicY" matches, so the "preboot" variable will be set to the contents of "key_cmdY": preboot=echo ## Keys 1 + 3 pressed ##;echo 3) The TRAB board has optional modem support. When a certain key combination is pressed on the keyboard at power-on, the firmware performs the necessary initialization of the modem and allows for dial-in. The key combination is specified in the "include/configs/trab.h" file. For example: #define CONFIG_MODEM_KEY_MAGIC "23" means that modem will be initialized if and only if both keys 2, 3 are pressed. Note that the format of this string is similar to the format of "key_magic*" environment variables described above.