u-boot/board/trab
Sebastien Carlier 6d8962e814 Switch from archive libraries to partial linking
Before this commit, weak symbols were not overridden by non-weak symbols
found in archive libraries when linking with recent versions of
binutils.  As stated in the System V ABI, "the link editor does not
extract archive members to resolve undefined weak symbols".

This commit changes all Makefiles to use partial linking (ld -r) instead
of creating library archives, which forces all symbols to participate in
linking, allowing non-weak symbols to override weak symbols as intended.
This approach is also used by Linux, from which the gmake function
cmd_link_o_target (defined in config.mk and used in all Makefiles) is
inspired.

The name of each former library archive is preserved except for
extensions which change from ".a" to ".o".  This commit updates
references accordingly where needed, in particular in some linker
scripts.

This commit reveals board configurations that exclude some features but
include source files that depend these disabled features in the build,
resulting in undefined symbols.  Known such cases include:
- disabling CMD_NET but not CMD_NFS;
- enabling CONFIG_OF_LIBFDT but not CONFIG_QE.

Signed-off-by: Sebastien Carlier <sebastien.carlier@gmail.com>
2010-11-17 21:02:18 +01:00
..
auto_update.c Fix e-mail address of Gary Jennejohn. 2009-05-15 22:11:59 +02:00
cmd_trab.c Add generic support for samsung s3c2440 2010-10-28 15:35:56 +09:00
config.mk Rename TEXT_BASE into CONFIG_SYS_TEXT_BASE 2010-10-18 22:07:10 +02:00
flash.c Redundant Environment: protect full sector size 2009-06-04 00:16:16 +02:00
lowlevel_init.S Rename TEXT_BASE into CONFIG_SYS_TEXT_BASE 2010-10-18 22:07:10 +02:00
Makefile Switch from archive libraries to partial linking 2010-11-17 21:02:18 +01:00
memory.c board/trab/memory.c: Fix compile problems. 2008-12-16 22:32:25 +01:00
Pt1000_temp_data.h * Patch by Martin Krause, 11 Sep 2003: 2003-09-11 23:06:34 +00:00
README.kbd Initial revision 2002-11-03 00:24:07 +00:00
rs485.c Add generic support for samsung s3c2440 2010-10-28 15:35:56 +09:00
rs485.h arm: Move cpu/$CPU to arch/arm/cpu/$CPU 2010-04-13 09:13:24 +02:00
trab.c Add generic support for samsung s3c2440 2010-10-28 15:35:56 +09:00
trab_fkt.c Add generic support for samsung s3c2440 2010-10-28 15:35:56 +09:00
tsc2000.c Add generic support for samsung s3c2440 2010-10-28 15:35:56 +09:00
tsc2000.h Add generic support for samsung s3c2440 2010-10-28 15:35:56 +09:00
u-boot.lds arm: Move cpu/$CPU to arch/arm/cpu/$CPU 2010-04-13 09:13:24 +02:00
vfd.c Add generic support for samsung s3c2440 2010-10-28 15:35:56 +09:00

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.