Skip to content
Snippets Groups Projects
README 133 KiB
Newer Older
Wolfgang Denk's avatar
Wolfgang Denk committed
		CONFIG_HLD1045

			HLD1045 display, 640x480.
			Active, color, single scan.

		CONFIG_OPTREX_BW

			Optrex	 CBL50840-2 NF-FW 99 22 M5
			or
			Hitachi	 LMG6912RPFC-00T
			or
			Hitachi	 SP14Q002

			320x240. Black & white.

		Normally display is black on white background; define
		CFG_WHITE_ON_BLACK to get it inverted.

- Splash Screen Support: CONFIG_SPLASH_SCREEN
Wolfgang Denk's avatar
Wolfgang Denk committed
		If this option is set, the environment is checked for
		a variable "splashimage". If found, the usual display
		of logo, copyright and system information on the LCD
		is suppressed and the BMP image at the address
Wolfgang Denk's avatar
Wolfgang Denk committed
		specified in "splashimage" is loaded instead. The
		console is redirected to the "nulldev", too. This
		allows for a "silent" boot where a splash screen is
		loaded very quickly after power-on.
- Gzip compressed BMP image support: CONFIG_VIDEO_BMP_GZIP

		If this option is set, additionally to standard BMP
		images, gzipped BMP images can be displayed via the
		splashscreen support or the bmp command.

- Compression support:
		CONFIG_BZIP2

		If this option is set, support for bzip2 compressed
		images is included. If not, only uncompressed and gzip
		compressed images are supported.

		NOTE: the bzip2 algorithm requires a lot of RAM, so
		the malloc area (as defined by CFG_MALLOC_LEN) should
		be at least 4MB.
- MII/PHY support:
		CONFIG_PHY_ADDR

		The address of PHY on MII bus.

		CONFIG_PHY_CLOCK_FREQ (ppc4xx)

		The clock frequency of the MII bus

		CONFIG_PHY_GIGE

		If this option is set, support for speed/duplex
		detection of gigabit PHY is included.

		CONFIG_PHY_RESET_DELAY

		Some PHY like Intel LXT971A need extra delay after
		reset before any MII register access is possible.
		For such PHY, set this option to the usec delay
		required. (minimum 300usec for LXT971A)

		CONFIG_PHY_CMD_DELAY (ppc4xx)

		Some PHY like Intel LXT971A need extra delay after
		command issued before MII status register can be read

Wolfgang Denk's avatar
Wolfgang Denk committed
- Ethernet address:
		CONFIG_ETHADDR
		CONFIG_ETH2ADDR
		CONFIG_ETH3ADDR

		Define a default value for Ethernet address to use
		for the respective Ethernet interface, in case this
Wolfgang Denk's avatar
Wolfgang Denk committed
		is not determined automatically.

- IP address:
		CONFIG_IPADDR

		Define a default value for the IP address to use for
		the default Ethernet interface, in case this is not
Wolfgang Denk's avatar
Wolfgang Denk committed
		determined through e.g. bootp.

- Server IP address:
		CONFIG_SERVERIP

		Defines a default value for the IP address of a TFTP
Wolfgang Denk's avatar
Wolfgang Denk committed
		server to contact when using the "tftboot" command.

David Updegraff's avatar
David Updegraff committed
- Multicast TFTP Mode:
		CONFIG_MCAST_TFTP

		Defines whether you want to support multicast TFTP as per
		rfc-2090; for example to work with atftp.  Lets lots of targets
		tftp down the same boot image concurrently.  Note: the Ethernet
David Updegraff's avatar
David Updegraff committed
		driver in use must provide a function: mcast() to join/leave a
		multicast group.

		CONFIG_BOOTP_RANDOM_DELAY
Wolfgang Denk's avatar
Wolfgang Denk committed
- BOOTP Recovery Mode:
		CONFIG_BOOTP_RANDOM_DELAY

		If you have many targets in a network that try to
		boot using BOOTP, you may want to avoid that all
		systems send out BOOTP requests at precisely the same
		moment (which would happen for instance at recovery
		from a power failure, when all systems will try to
		boot, thus flooding the BOOTP server. Defining
		CONFIG_BOOTP_RANDOM_DELAY causes a random delay to be
		inserted before sending out BOOTP requests. The
		following delays are inserted then:
Wolfgang Denk's avatar
Wolfgang Denk committed

		1st BOOTP request:	delay 0 ... 1 sec
		2nd BOOTP request:	delay 0 ... 2 sec
		3rd BOOTP request:	delay 0 ... 4 sec
		4th and following
		BOOTP requests:		delay 0 ... 8 sec

		You can fine tune the DHCP functionality by defining
		CONFIG_BOOTP_* symbols:

		CONFIG_BOOTP_SUBNETMASK
		CONFIG_BOOTP_GATEWAY
		CONFIG_BOOTP_HOSTNAME
		CONFIG_BOOTP_NISDOMAIN
		CONFIG_BOOTP_BOOTPATH
		CONFIG_BOOTP_BOOTFILESIZE
		CONFIG_BOOTP_DNS
		CONFIG_BOOTP_DNS2
		CONFIG_BOOTP_SEND_HOSTNAME
		CONFIG_BOOTP_NTPSERVER
		CONFIG_BOOTP_TIMEOFFSET
		CONFIG_BOOTP_VENDOREX
		CONFIG_BOOTP_SERVERIP - TFTP server will be the serverip
		environment variable, not the BOOTP server.

		CONFIG_BOOTP_DNS2 - If a DHCP client requests the DNS
		serverip from a DHCP server, it is possible that more
		than one DNS serverip is offered to the client.
		If CONFIG_BOOTP_DNS2 is enabled, the secondary DNS
		serverip will be stored in the additional environment
		variable "dnsip2". The first DNS serverip is always
		stored in the variable "dnsip", when CONFIG_BOOTP_DNS

		CONFIG_BOOTP_SEND_HOSTNAME - Some DHCP servers are capable
		to do a dynamic update of a DNS server. To do this, they
		need the hostname of the DHCP requester.
		If CONFIG_BOOTP_SEND_HOSTNAME is defined, the content
		of the "hostname" environment variable is passed as
		option 12 to the DHCP server.
		CONFIG_BOOTP_DHCP_REQUEST_DELAY

		A 32bit value in microseconds for a delay between
		receiving a "DHCP Offer" and sending the "DHCP Request".
		This fixes a problem with certain DHCP servers that don't
		respond 100% of the time to a "DHCP request". E.g. On an
		AT91RM9200 processor running at 180MHz, this delay needed
		to be *at least* 15,000 usec before a Windows Server 2003
		DHCP server would reply 100% of the time. I recommend at
		least 50,000 usec to be safe. The alternative is to hope
		that one of the retries will be successful but note that
		the DHCP timeout and retry process takes a longer than
		this delay.

Wolfgang Denk's avatar
Wolfgang Denk committed
		CONFIG_CDP_DEVICE_ID

		The device id used in CDP trigger frames.

		CONFIG_CDP_DEVICE_ID_PREFIX

		A two character string which is prefixed to the MAC address
		of the device.

		CONFIG_CDP_PORT_ID

		A printf format string which contains the ascii name of
		the port. Normally is set to "eth%d" which sets
		eth0 for the first Ethernet, eth1 for the second etc.

		CONFIG_CDP_CAPABILITIES

		A 32bit integer which indicates the device capabilities;
		0x00000010 for a normal host which does not forwards.

		CONFIG_CDP_VERSION

		An ascii string containing the version of the software.

		CONFIG_CDP_PLATFORM

		An ascii string containing the name of the platform.

		CONFIG_CDP_TRIGGER

		A 32bit integer sent on the trigger.

		CONFIG_CDP_POWER_CONSUMPTION

		A 16bit integer containing the power consumption of the
		device in .1 of milliwatts.

		CONFIG_CDP_APPLIANCE_VLAN_TYPE

		A byte containing the id of the VLAN.

Wolfgang Denk's avatar
Wolfgang Denk committed
- Status LED:	CONFIG_STATUS_LED

		Several configurations allow to display the current
		status using a LED. For instance, the LED will blink
		fast while running U-Boot code, stop blinking as
		soon as a reply to a BOOTP request was received, and
		start blinking slow once the Linux kernel is running
		(supported by a status LED driver in the Linux
		kernel). Defining CONFIG_STATUS_LED enables this
		feature in U-Boot.

- CAN Support:	CONFIG_CAN_DRIVER

		Defining CONFIG_CAN_DRIVER enables CAN driver support
		on those systems that support this (optional)
		feature, like the TQM8xxL modules.

- I2C Support:	CONFIG_HARD_I2C | CONFIG_SOFT_I2C

		These enable I2C serial bus commands. Defining either of
		(but not both of) CONFIG_HARD_I2C or CONFIG_SOFT_I2C will
		include the appropriate I2C driver for the selected CPU.
Wolfgang Denk's avatar
Wolfgang Denk committed

		This will allow you to use i2c commands at the u-boot
		command line (as long as you set CONFIG_CMD_I2C in
		CONFIG_COMMANDS) and communicate with i2c based realtime
		clock chips. See common/cmd_i2c.c for a description of the
		command line interface.
Wolfgang Denk's avatar
Wolfgang Denk committed

		CONFIG_I2C_CMD_TREE is a recommended option that places
		all I2C commands under a single 'i2c' root command.  The
		older 'imm', 'imd', 'iprobe' etc. commands are considered
		deprecated and may disappear in the future.

		CONFIG_HARD_I2C selects a hardware I2C controller.
		CONFIG_SOFT_I2C configures u-boot to use a software (aka
		bit-banging) driver instead of CPM or similar hardware
		support for I2C.
Wolfgang Denk's avatar
Wolfgang Denk committed

		There are several other quantities that must also be
		defined when you define CONFIG_HARD_I2C or CONFIG_SOFT_I2C.
Wolfgang Denk's avatar
Wolfgang Denk committed

		In both cases you will need to define CFG_I2C_SPEED
		to be the frequency (in Hz) at which you wish your i2c bus
		to run and CFG_I2C_SLAVE to be the address of this node (ie
		the CPU's i2c node address).
		Now, the u-boot i2c code for the mpc8xx (cpu/mpc8xx/i2c.c)
		sets the CPU up as a master node and so its address should
		therefore be cleared to 0 (See, eg, MPC823e User's Manual
		p.16-473). So, set CFG_I2C_SLAVE to 0.
Wolfgang Denk's avatar
Wolfgang Denk committed

		That's all that's required for CONFIG_HARD_I2C.
Wolfgang Denk's avatar
Wolfgang Denk committed

		If you use the software i2c interface (CONFIG_SOFT_I2C)
		then the following macros need to be defined (examples are
		from include/configs/lwmon.h):
Wolfgang Denk's avatar
Wolfgang Denk committed

		I2C_INIT

		(Optional). Any commands necessary to enable the I2C
		controller or configure ports.
Wolfgang Denk's avatar
Wolfgang Denk committed

		eg: #define I2C_INIT (immr->im_cpm.cp_pbdir |=	PB_SCL)
Wolfgang Denk's avatar
Wolfgang Denk committed
		I2C_PORT

		(Only for MPC8260 CPU). The I/O port to use (the code
		assumes both bits are on the same port). Valid values
		are 0..3 for ports A..D.
Wolfgang Denk's avatar
Wolfgang Denk committed

		I2C_ACTIVE

		The code necessary to make the I2C data line active
		(driven).  If the data line is open collector, this
		define can be null.

		eg: #define I2C_ACTIVE (immr->im_cpm.cp_pbdir |=  PB_SDA)

Wolfgang Denk's avatar
Wolfgang Denk committed
		I2C_TRISTATE

		The code necessary to make the I2C data line tri-stated
		(inactive).  If the data line is open collector, this
		define can be null.

		eg: #define I2C_TRISTATE (immr->im_cpm.cp_pbdir &= ~PB_SDA)

Wolfgang Denk's avatar
Wolfgang Denk committed
		I2C_READ

		Code that returns TRUE if the I2C data line is high,
		FALSE if it is low.

		eg: #define I2C_READ ((immr->im_cpm.cp_pbdat & PB_SDA) != 0)

Wolfgang Denk's avatar
Wolfgang Denk committed
		I2C_SDA(bit)

		If <bit> is TRUE, sets the I2C data line high. If it
		is FALSE, it clears it (low).

		eg: #define I2C_SDA(bit) \
			if(bit) immr->im_cpm.cp_pbdat |=  PB_SDA; \
			else	immr->im_cpm.cp_pbdat &= ~PB_SDA
Wolfgang Denk's avatar
Wolfgang Denk committed
		I2C_SCL(bit)

		If <bit> is TRUE, sets the I2C clock line high. If it
		is FALSE, it clears it (low).

		eg: #define I2C_SCL(bit) \
			if(bit) immr->im_cpm.cp_pbdat |=  PB_SCL; \
			else	immr->im_cpm.cp_pbdat &= ~PB_SCL
Wolfgang Denk's avatar
Wolfgang Denk committed
		I2C_DELAY

		This delay is invoked four times per clock cycle so this
		controls the rate of data transfer.  The data rate thus
		is 1 / (I2C_DELAY * 4). Often defined to be something
		#define I2C_DELAY  udelay(2)
Wolfgang Denk's avatar
Wolfgang Denk committed

Wolfgang Denk's avatar
Wolfgang Denk committed
		When a board is reset during an i2c bus transfer
		chips might think that the current transfer is still
		in progress. On some boards it is possible to access
		the i2c SCLK line directly, either by using the
		processor pin as a GPIO or by having a second pin
		connected to the bus. If this option is defined a
		custom i2c_init_board() routine in boards/xxx/board.c
		is run early in the boot sequence.
		CONFIG_I2CFAST (PPC405GP|PPC405EP only)

		This option enables configuration of bi_iic_fast[] flags
		in u-boot bd_info structure based on u-boot environment
		variable "i2cfast". (see also i2cfast)

		CONFIG_I2C_MULTI_BUS

		This option allows the use of multiple I2C buses, each of which
		must have a controller.  At any point in time, only one bus is
		active.  To switch to a different bus, use the 'i2c dev' command.
		Note that bus numbering is zero-based.

		CFG_I2C_NOPROBES

		This option specifies a list of I2C devices that will be skipped
		when the 'i2c probe' command is issued (or 'iprobe' using the legacy
		command).  If CONFIG_I2C_MULTI_BUS is set, specify a list of bus-device
		pairs.	Otherwise, specify a 1D array of device addresses

		e.g.
			#undef	CONFIG_I2C_MULTI_BUS
			#define CFG_I2C_NOPROBES	{0x50,0x68}

		will skip addresses 0x50 and 0x68 on a board with one I2C bus

			#define	CONFIG_I2C_MULTI_BUS
			#define CFG_I2C_MULTI_NOPROBES	{{0,0x50},{0,0x68},{1,0x54}}

		will skip addresses 0x50 and 0x68 on bus 0 and address 0x54 on bus 1

		CFG_SPD_BUS_NUM

		If defined, then this indicates the I2C bus number for DDR SPD.
		If not defined, then U-Boot assumes that SPD is on I2C bus 0.

		CFG_RTC_BUS_NUM

		If defined, then this indicates the I2C bus number for the RTC.
		If not defined, then U-Boot assumes that RTC is on I2C bus 0.

		CFG_DTT_BUS_NUM

		If defined, then this indicates the I2C bus number for the DTT.
		If not defined, then U-Boot assumes that DTT is on I2C bus 0.

		CFG_I2C_DTT_ADDR:

		If defined, specifies the I2C address of the DTT device.
		If not defined, then U-Boot uses predefined value for
		specified DTT device.

		CONFIG_FSL_I2C

		Define this option if you want to use Freescale's I2C driver in
		drivers/i2c/fsl_i2c.c.
Wolfgang Denk's avatar
Wolfgang Denk committed
- SPI Support:	CONFIG_SPI

		Enables SPI driver (so far only tested with
		SPI EEPROM, also an instance works with Crystal A/D and
		D/As on the SACSng board)

		CONFIG_SPI_X

		Enables extended (16-bit) SPI EEPROM addressing.
		(symmetrical to CONFIG_I2C_X)

		CONFIG_SOFT_SPI

		Enables a software (bit-bang) SPI driver rather than
		using hardware support. This is a general purpose
		driver that only requires three general I/O port pins
		(two outputs, one input) to function. If this is
		defined, the board configuration must define several
		SPI configuration items (port pins to use, etc). For
		an example, see include/configs/sacsng.h.
Wolfgang Denk's avatar
Wolfgang Denk committed

		CONFIG_HARD_SPI

		Enables a hardware SPI driver for general-purpose reads
		and writes.  As with CONFIG_SOFT_SPI, the board configuration
		must define a list of chip-select function pointers.
		Currently supported on some MPC8xxx processors.  For an
		example, see include/configs/mpc8349emds.h.

		CONFIG_MXC_SPI

		Enables the driver for the SPI controllers on i.MX and MXC
		SoCs. Currently only i.MX31 is supported.

- FPGA Support: CONFIG_FPGA
Wolfgang Denk's avatar
Wolfgang Denk committed

		Enables FPGA subsystem.

		CONFIG_FPGA_<vendor>

		Enables support for specific chip vendors.
		(ALTERA, XILINX)
Wolfgang Denk's avatar
Wolfgang Denk committed

		CONFIG_FPGA_<family>
Wolfgang Denk's avatar
Wolfgang Denk committed

		Enables support for FPGA family.
		(SPARTAN2, SPARTAN3, VIRTEX2, CYCLONE2, ACEX1K, ACEX)

		CONFIG_FPGA_COUNT

		Specify the number of FPGA devices to support.
Wolfgang Denk's avatar
Wolfgang Denk committed

Wolfgang Denk's avatar
Wolfgang Denk committed
		CFG_FPGA_PROG_FEEDBACK
Wolfgang Denk's avatar
Wolfgang Denk committed

Wolfgang Denk's avatar
Wolfgang Denk committed
		Enable printing of hash marks during FPGA configuration.
Wolfgang Denk's avatar
Wolfgang Denk committed

		CFG_FPGA_CHECK_BUSY

		Enable checks on FPGA configuration interface busy
		status by the configuration function. This option
		will require a board or device specific function to
		be written.
Wolfgang Denk's avatar
Wolfgang Denk committed

		CONFIG_FPGA_DELAY

		If defined, a function that provides delays in the FPGA
		configuration driver.

		CFG_FPGA_CHECK_CTRLC
		Allow Control-C to interrupt FPGA configuration

		CFG_FPGA_CHECK_ERROR

		Check for configuration errors during FPGA bitfile
		loading. For example, abort during Virtex II
		configuration if the INIT_B line goes low (which
		indicated a CRC error).
Wolfgang Denk's avatar
Wolfgang Denk committed

		CFG_FPGA_WAIT_INIT

		Maximum time to wait for the INIT_B line to deassert
		after PROB_B has been deasserted during a Virtex II
		FPGA configuration sequence. The default time is 500
Wolfgang Denk's avatar
Wolfgang Denk committed

		CFG_FPGA_WAIT_BUSY

		Maximum time to wait for BUSY to deassert during
		Virtex II FPGA configuration. The default is 5 ms.
Wolfgang Denk's avatar
Wolfgang Denk committed

		CFG_FPGA_WAIT_CONFIG

		Time to wait after FPGA configuration. The default is
Wolfgang Denk's avatar
Wolfgang Denk committed

- Configuration Management:
		CONFIG_IDENT_STRING

		If defined, this string will be added to the U-Boot
		version information (U_BOOT_VERSION)
Wolfgang Denk's avatar
Wolfgang Denk committed

- Vendor Parameter Protection:

		U-Boot considers the values of the environment
		variables "serial#" (Board Serial Number) and
		"ethaddr" (Ethernet Address) to be parameters that
		are set once by the board vendor / manufacturer, and
		protects these variables from casual modification by
		the user. Once set, these variables are read-only,
		and write or delete attempts are rejected. You can
		change this behaviour:
Wolfgang Denk's avatar
Wolfgang Denk committed

		If CONFIG_ENV_OVERWRITE is #defined in your config
		file, the write protection for vendor parameters is
		completely disabled. Anybody can change or delete
Wolfgang Denk's avatar
Wolfgang Denk committed
		these parameters.

		Alternatively, if you #define _both_ CONFIG_ETHADDR
		_and_ CONFIG_OVERWRITE_ETHADDR_ONCE, a default
		Ethernet address is installed in the environment,
Wolfgang Denk's avatar
Wolfgang Denk committed
		which can be changed exactly ONCE by the user. [The
		serial# is unaffected by this, i. e. it remains
		read-only.]

- Protected RAM:
		CONFIG_PRAM

		Define this variable to enable the reservation of
		"protected RAM", i. e. RAM which is not overwritten
		by U-Boot. Define CONFIG_PRAM to hold the number of
		kB you want to reserve for pRAM. You can overwrite
		this default value by defining an environment
		variable "pram" to the number of kB you want to
		reserve. Note that the board info structure will
		still show the full amount of RAM. If pRAM is
		reserved, a new environment variable "mem" will
		automatically be defined to hold the amount of
		remaining RAM in a form that can be passed as boot
		argument to Linux, for instance like that:

			setenv bootargs ... mem=\${mem}
Wolfgang Denk's avatar
Wolfgang Denk committed
			saveenv

		This way you can tell Linux not to use this memory,
		either, which results in a memory region that will
		not be affected by reboots.

		*WARNING* If your board configuration uses automatic
		detection of the RAM size, you must make sure that
		this memory test is non-destructive. So far, the
		following board configurations are known to be
		"pRAM-clean":

			ETX094, IVMS8, IVML24, SPD8xx, TQM8xxL,
			HERMES, IP860, RPXlite, LWMON, LANTEC,
			PCU_E, FLAGADM, TQM8260

- Error Recovery:
		CONFIG_PANIC_HANG

		Define this variable to stop the system in case of a
		fatal error, so that you have to reset it manually.
		This is probably NOT a good idea for an embedded
		system where you want the system to reboot
Wolfgang Denk's avatar
Wolfgang Denk committed
		automatically as fast as possible, but it may be
		useful during development since you can try to debug
		the conditions that lead to the situation.

		CONFIG_NET_RETRY_COUNT

		This variable defines the number of retries for
		network operations like ARP, RARP, TFTP, or BOOTP
		before giving up the operation. If not defined, a
		default value of 5 is used.
Wolfgang Denk's avatar
Wolfgang Denk committed

		CONFIG_ARP_TIMEOUT

		Timeout waiting for an ARP reply in milliseconds.

Wolfgang Denk's avatar
Wolfgang Denk committed
- Command Interpreter:

		Enable auto completion of commands using TAB.

		Note that this feature has NOT been implemented yet
		for the "hush" shell.
Wolfgang Denk's avatar
Wolfgang Denk committed
		CFG_HUSH_PARSER

		Define this variable to enable the "hush" shell (from
		Busybox) as command line interpreter, thus enabling
		powerful command line syntax like
		if...then...else...fi conditionals or `&&' and '||'
		constructs ("shell scripts").

		If undefined, you get the old, much simpler behaviour
		with a somewhat smaller memory footprint.


		CFG_PROMPT_HUSH_PS2

		This defines the secondary prompt string, which is
		printed when the command interpreter needs more input
		to complete a command. Usually "> ".

	Note:

Wolfgang Denk's avatar
Wolfgang Denk committed
		In the current implementation, the local variables
		space and global environment variables space are
		separated. Local variables are those you define by
		simply typing `name=value'. To access a local
		variable later on, you have write `$name' or
		`${name}'; to execute the contents of a variable
		directly type `$name' at the command prompt.
Wolfgang Denk's avatar
Wolfgang Denk committed

		Global environment variables are those you use
		setenv/printenv to work with. To run a command stored
		in such a variable, you need to use the run command,
		and you must not use the '$' sign to access them.
Wolfgang Denk's avatar
Wolfgang Denk committed

		To store commands and special characters in a
		variable, please use double quotation marks
		surrounding the whole text of the variable, instead
		of the backslashes before semicolons and special
		symbols.

- Commandline Editing and History:
		CONFIG_CMDLINE_EDITING

		Enable editing and History functions for interactive
Wolfgang Denk's avatar
Wolfgang Denk committed
		commandline input operations
- Default Environment:
Wolfgang Denk's avatar
Wolfgang Denk committed
		CONFIG_EXTRA_ENV_SETTINGS

		Define this to contain any number of null terminated
		strings (variable = value pairs) that will be part of
		the default environment compiled into the boot image.
		For example, place something like this in your
		board's config file:
Wolfgang Denk's avatar
Wolfgang Denk committed

		#define CONFIG_EXTRA_ENV_SETTINGS \
			"myvar1=value1\0" \
			"myvar2=value2\0"

		Warning: This method is based on knowledge about the
		internal format how the environment is stored by the
		U-Boot code. This is NOT an official, exported
		interface! Although it is unlikely that this format
		will change soon, there is no guarantee either.
Wolfgang Denk's avatar
Wolfgang Denk committed
		You better know what you are doing here.

		Note: overly (ab)use of the default environment is
		discouraged. Make sure to check other ways to preset
		the environment like the autoscript function or the
		boot command first.
Wolfgang Denk's avatar
Wolfgang Denk committed

- DataFlash Support:
Wolfgang Denk's avatar
Wolfgang Denk committed
		Defining this option enables DataFlash features and
		allows to read/write in Dataflash via the standard
		commands cp, md...
Wolfgang Denk's avatar
Wolfgang Denk committed
- SystemACE Support:
		CONFIG_SYSTEMACE

		Adding this option adds support for Xilinx SystemACE
		chips attached via some sort of local bus. The address
		of the chip must also be defined in the
Wolfgang Denk's avatar
Wolfgang Denk committed
		CFG_SYSTEMACE_BASE macro. For example:

		#define CONFIG_SYSTEMACE
		#define CFG_SYSTEMACE_BASE 0xf0000000

		When SystemACE support is added, the "ace" device type
		becomes available to the fat commands, i.e. fatls.

- TFTP Fixed UDP Port:
		CONFIG_TFTP_PORT

		If this is defined, the environment variable tftpsrcp
		is used to supply the TFTP UDP source port value.
		If tftpsrcp isn't defined, the normal pseudo-random port
		number generator is used.

		Also, the environment variable tftpdstp is used to supply
		the TFTP UDP destination port value.  If tftpdstp isn't
		defined, the normal port 69 is used.

		The purpose for tftpsrcp is to allow a TFTP server to
		blindly start the TFTP transfer using the pre-configured
		target IP address and UDP port. This has the effect of
		"punching through" the (Windows XP) firewall, allowing
		the remainder of the TFTP transfer to proceed normally.
		A better solution is to properly configure the firewall,
		but sometimes that is not allowed.

- Show boot progress:
Wolfgang Denk's avatar
Wolfgang Denk committed
		CONFIG_SHOW_BOOT_PROGRESS

		Defining this option allows to add some board-
		specific code (calling a user-provided function
		"show_boot_progress(int)") that enables you to show
		the system's boot progress on some display (for
		example, some LED's) on your board. At the moment,
		the following checkpoints are implemented:
Wolfgang Denk's avatar
Wolfgang Denk committed

Wolfgang Denk's avatar
Wolfgang Denk committed
  Arg	Where			When
    1	common/cmd_bootm.c	before attempting to boot an image
   -1	common/cmd_bootm.c	Image header has bad	 magic number
Wolfgang Denk's avatar
Wolfgang Denk committed
    2	common/cmd_bootm.c	Image header has correct magic number
   -2	common/cmd_bootm.c	Image header has bad	 checksum
Wolfgang Denk's avatar
Wolfgang Denk committed
    3	common/cmd_bootm.c	Image header has correct checksum
   -3	common/cmd_bootm.c	Image data   has bad	 checksum
Wolfgang Denk's avatar
Wolfgang Denk committed
    4	common/cmd_bootm.c	Image data   has correct checksum
   -4	common/cmd_bootm.c	Image is for unsupported architecture
    5	common/cmd_bootm.c	Architecture check OK
   -5	common/cmd_bootm.c	Wrong Image Type (not kernel, multi)
Wolfgang Denk's avatar
Wolfgang Denk committed
    6	common/cmd_bootm.c	Image Type check OK
   -6	common/cmd_bootm.c	gunzip uncompression error
   -7	common/cmd_bootm.c	Unimplemented compression type
    7	common/cmd_bootm.c	Uncompression OK
    8	common/cmd_bootm.c	No uncompress/copy overwrite error
Wolfgang Denk's avatar
Wolfgang Denk committed
   -9	common/cmd_bootm.c	Unsupported OS (not Linux, BSD, VxWorks, QNX)

    9	common/image.c		Start initial ramdisk verification
  -10	common/image.c		Ramdisk header has bad	   magic number
  -11	common/image.c		Ramdisk header has bad	   checksum
   10	common/image.c		Ramdisk header is OK
  -12	common/image.c		Ramdisk data   has bad	   checksum
   11	common/image.c		Ramdisk data   has correct checksum
   12	common/image.c		Ramdisk verification complete, start loading
  -13	common/image.c		Wrong Image Type (not PPC Linux ramdisk)
   13	common/image.c		Start multifile image verification
   14	common/image.c		No initial ramdisk, no multifile, continue.

   15	lib_<arch>/bootm.c	All preparation done, transferring control to OS
Wolfgang Denk's avatar
Wolfgang Denk committed

  -30	lib_ppc/board.c		Fatal error, hang the system
  -31	post/post.c		POST test failed, detected by post_output_backlog()
  -32	post/post.c		POST test failed, detected by post_run_single()
   34	common/cmd_doc.c	before loading a Image from a DOC device
  -35	common/cmd_doc.c	Bad usage of "doc" command
   35	common/cmd_doc.c	correct usage of "doc" command
  -36	common/cmd_doc.c	No boot device
   36	common/cmd_doc.c	correct boot device
  -37	common/cmd_doc.c	Unknown Chip ID on boot device
   37	common/cmd_doc.c	correct chip ID found, device available
  -38	common/cmd_doc.c	Read Error on boot device
   38	common/cmd_doc.c	reading Image header from DOC device OK
  -39	common/cmd_doc.c	Image header has bad magic number
   39	common/cmd_doc.c	Image header has correct magic number
  -40	common/cmd_doc.c	Error reading Image from DOC device
   40	common/cmd_doc.c	Image header has correct magic number
   41	common/cmd_ide.c	before loading a Image from a IDE device
  -42	common/cmd_ide.c	Bad usage of "ide" command
   42	common/cmd_ide.c	correct usage of "ide" command
  -43	common/cmd_ide.c	No boot device
   43	common/cmd_ide.c	boot device found
  -44	common/cmd_ide.c	Device not available
   44	common/cmd_ide.c	Device available
  -45	common/cmd_ide.c	wrong partition selected
   45	common/cmd_ide.c	partition selected
  -46	common/cmd_ide.c	Unknown partition table
   46	common/cmd_ide.c	valid partition table found
  -47	common/cmd_ide.c	Invalid partition type
   47	common/cmd_ide.c	correct partition type
  -48	common/cmd_ide.c	Error reading Image Header on boot device
   48	common/cmd_ide.c	reading Image Header from IDE device OK
  -49	common/cmd_ide.c	Image header has bad magic number
   49	common/cmd_ide.c	Image header has correct magic number
  -50	common/cmd_ide.c	Image header has bad	 checksum
   50	common/cmd_ide.c	Image header has correct checksum
  -51	common/cmd_ide.c	Error reading Image from IDE device
   51	common/cmd_ide.c	reading Image from IDE device OK
   52	common/cmd_nand.c	before loading a Image from a NAND device
  -53	common/cmd_nand.c	Bad usage of "nand" command
   53	common/cmd_nand.c	correct usage of "nand" command
  -54	common/cmd_nand.c	No boot device
   54	common/cmd_nand.c	boot device found
  -55	common/cmd_nand.c	Unknown Chip ID on boot device
   55	common/cmd_nand.c	correct chip ID found, device available
  -56	common/cmd_nand.c	Error reading Image Header on boot device
   56	common/cmd_nand.c	reading Image Header from NAND device OK
  -57	common/cmd_nand.c	Image header has bad magic number
   57	common/cmd_nand.c	Image header has correct magic number
  -58	common/cmd_nand.c	Error reading Image from NAND device
   58	common/cmd_nand.c	reading Image from NAND device OK

  -60	common/env_common.c	Environment has a bad CRC, using default

   64	net/eth.c		starting with Ethernet configuration.
  -64	net/eth.c		no Ethernet found.
   65	net/eth.c		Ethernet found.

  -80	common/cmd_net.c	usage wrong
   80	common/cmd_net.c	before calling NetLoop()
  -81	common/cmd_net.c	some error in NetLoop() occurred
   81	common/cmd_net.c	NetLoop() back without error
  -82	common/cmd_net.c	size == 0 (File with size 0 loaded)
   82	common/cmd_net.c	trying automatic boot
   83	common/cmd_net.c	running autoscript
  -83	common/cmd_net.c	some error in automatic boot or autoscript
   84	common/cmd_net.c	end without errors
Wolfgang Denk's avatar
Wolfgang Denk committed

FIT uImage format:

  Arg	Where			When
  100	common/cmd_bootm.c	Kernel FIT Image has correct format
 -100	common/cmd_bootm.c	Kernel FIT Image has incorrect format
  101	common/cmd_bootm.c	No Kernel subimage unit name, using configuration
 -101	common/cmd_bootm.c	Can't get configuration for kernel subimage
  102	common/cmd_bootm.c	Kernel unit name specified
 -103	common/cmd_bootm.c	Can't get kernel subimage node offset
  103	common/cmd_bootm.c	Found configuration node
  104	common/cmd_bootm.c	Got kernel subimage node offset
 -104	common/cmd_bootm.c	Kernel subimage hash verification failed
  105	common/cmd_bootm.c	Kernel subimage hash verification OK
 -105	common/cmd_bootm.c	Kernel subimage is for unsupported architecture
  106	common/cmd_bootm.c	Architecture check OK
 -106	common/cmd_bootm.c	Kernel subimage has wrong type
  107	common/cmd_bootm.c	Kernel subimage type OK
 -107	common/cmd_bootm.c	Can't get kernel subimage data/size
  108	common/cmd_bootm.c	Got kernel subimage data/size
 -108	common/cmd_bootm.c	Wrong image type (not legacy, FIT)
 -109	common/cmd_bootm.c	Can't get kernel subimage type
 -110	common/cmd_bootm.c	Can't get kernel subimage comp
 -111	common/cmd_bootm.c	Can't get kernel subimage os
 -112	common/cmd_bootm.c	Can't get kernel subimage load address
 -113	common/cmd_bootm.c	Image uncompress/copy overwrite error

  120	common/image.c		Start initial ramdisk verification
 -120	common/image.c		Ramdisk FIT image has incorrect format
  121	common/image.c		Ramdisk FIT image has correct format
  122	common/image.c		No ramdisk subimage unit name, using configuration
 -122	common/image.c		Can't get configuration for ramdisk subimage
  123	common/image.c		Ramdisk unit name specified
 -124	common/image.c		Can't get ramdisk subimage node offset
  125	common/image.c		Got ramdisk subimage node offset
 -125	common/image.c		Ramdisk subimage hash verification failed
  126	common/image.c		Ramdisk subimage hash verification OK
 -126	common/image.c		Ramdisk subimage for unsupported architecture
  127	common/image.c		Architecture check OK
 -127	common/image.c		Can't get ramdisk subimage data/size
  128	common/image.c		Got ramdisk subimage data/size
  129	common/image.c		Can't get ramdisk load address
 -129	common/image.c		Got ramdisk load address

 -130	common/cmd_doc.c	Incorrect FIT image format
  131	common/cmd_doc.c	FIT image format OK

 -140	common/cmd_ide.c	Incorrect FIT image format
  141	common/cmd_ide.c	FIT image format OK

 -150	common/cmd_nand.c	Incorrect FIT image format
  151	common/cmd_nand.c	FIT image format OK


Wolfgang Denk's avatar
Wolfgang Denk committed
Modem Support:
--------------

[so far only for SMDK2400 and TRAB boards]
Wolfgang Denk's avatar
Wolfgang Denk committed

- Modem support enable:
Wolfgang Denk's avatar
Wolfgang Denk committed
		CONFIG_MODEM_SUPPORT

- RTS/CTS Flow control enable:
		CONFIG_HWFLOW

- Modem debug support:
		CONFIG_MODEM_SUPPORT_DEBUG

		Enables debugging stuff (char screen[1024], dbg())
		for modem support. Useful only with BDI2000.
Wolfgang Denk's avatar
Wolfgang Denk committed

- Interrupt support (PPC):

		There are common interrupt_init() and timer_interrupt()
		for all PPC archs. interrupt_init() calls interrupt_init_cpu()
		for CPU specific initialization. interrupt_init_cpu()
		should set decrementer_count to appropriate value. If
		CPU resets decrementer automatically after interrupt
		(ppc4xx) it should set decrementer_count to zero.
		timer_interrupt() calls timer_interrupt_cpu() for CPU
		specific handling. If board has watchdog / status_led
		/ other_activity_monitor it works automatically from
		general timer_interrupt().
Wolfgang Denk's avatar
Wolfgang Denk committed
- General:

		In the target system modem support is enabled when a
		specific key (key combination) is pressed during
		power-on. Otherwise U-Boot will boot normally
		(autoboot). The key_pressed() function is called from
		board_init(). Currently key_pressed() is a dummy
		function, returning 1 and thus enabling modem
		initialization.
Wolfgang Denk's avatar
Wolfgang Denk committed

		If there are no modem init strings in the
		environment, U-Boot proceed to autoboot; the
		previous output (banner, info printfs) will be
		suppressed, though.
Wolfgang Denk's avatar
Wolfgang Denk committed

		See also: doc/README.Modem


Configuration Settings:
-----------------------

- CFG_LONGHELP: Defined when you want long help messages included;
		undefine this when you're short of memory.

- CFG_PROMPT:	This is what U-Boot prints on the console to
		prompt for user input.

- CFG_CBSIZE:	Buffer size for input from the Console

- CFG_PBSIZE:	Buffer size for Console output

- CFG_MAXARGS:	max. Number of arguments accepted for monitor commands

- CFG_BARGSIZE: Buffer size for Boot Arguments which are passed to
		the application (usually a Linux kernel) when it is
		booted

- CFG_BAUDRATE_TABLE:
		List of legal baudrate settings for this board.

- CFG_CONSOLE_INFO_QUIET
Wolfgang Denk's avatar
Wolfgang Denk committed
		Suppress display of console information at boot.
Wolfgang Denk's avatar
Wolfgang Denk committed

- CFG_CONSOLE_IS_IN_ENV
Wolfgang Denk's avatar
Wolfgang Denk committed
		If the board specific function
			extern int overwrite_console (void);
		returns 1, the stdin, stderr and stdout are switched to the
Wolfgang Denk's avatar
Wolfgang Denk committed
		serial port, else the settings in the environment are used.

- CFG_CONSOLE_OVERWRITE_ROUTINE
Wolfgang Denk's avatar
Wolfgang Denk committed
		Enable the call to overwrite_console().
Wolfgang Denk's avatar
Wolfgang Denk committed

- CFG_CONSOLE_ENV_OVERWRITE
		Enable overwrite of previous console environment settings.

- CFG_MEMTEST_START, CFG_MEMTEST_END:
		Begin and End addresses of the area used by the
		simple memory test.

- CFG_ALT_MEMTEST:
Wolfgang Denk's avatar
Wolfgang Denk committed
		Enable an alternate, more extensive memory test.
Wolfgang Denk's avatar
Wolfgang Denk committed

- CFG_MEMTEST_SCRATCH:
		Scratch address used by the alternate memory test
		You only need to set this if address zero isn't writeable

- CFG_MEM_TOP_HIDE (PPC only):
		If CFG_MEM_TOP_HIDE is defined in the board config header,
		this specified memory area will get subtracted from the top
		(end) of RAM and won't get "touched" at all by U-Boot. By
		fixing up gd->ram_size the Linux kernel should gets passed
		the now "corrected" memory size and won't touch it either.
		This should work for arch/ppc and arch/powerpc. Only Linux
		board ports in arch/powerpc with bootwrapper support that
		recalculate the memory size from the SDRAM controller setup
		will have to get fixed in Linux additionally.

		This option can be used as a workaround for the 440EPx/GRx
		CHIP 11 errata where the last 256 bytes in SDRAM shouldn't
		be touched.

		WARNING: Please make sure that this value is a multiple of
		the Linux page size (normally 4k). If this is not the case,
		then the end address of the Linux memory will be located at a
		non page size aligned address and this could cause major
		problems.

Wolfgang Denk's avatar
Wolfgang Denk committed
- CFG_TFTP_LOADADDR:
		Default load address for network file downloads

- CFG_LOADS_BAUD_CHANGE:
		Enable temporary baudrate change while serial download

- CFG_SDRAM_BASE:
		Physical start address of SDRAM. _Must_ be 0 here.

- CFG_MBIO_BASE:
		Physical start address of Motherboard I/O (if using a
		Cogent motherboard)