X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=README;h=668c4e0bfd4ab0a3ffa740f26dd95ff13575216a;hb=b0fce99bfc116c2ddb4506268d6e4a0a7054478d;hp=4dfb292bf5a1bcd31e3e167ce4faa5d4c1c3b7cf;hpb=1d49b1f36520616e00dcf8f22daee5a6896ca91c;p=people%2Fms%2Fu-boot.git diff --git a/README b/README index 4dfb292bf5..668c4e0bfd 100644 --- a/README +++ b/README @@ -151,6 +151,7 @@ Directory Hierarchy: - board/RPXClassic Files specific to RPXClassic boards - board/RPXlite Files specific to RPXlite boards +- board/at91rm9200dk Files specific to AT91RM9200DK boards - board/c2mon Files specific to c2mon boards - board/cmi Files specific to cmi boards - board/cogent Files specific to Cogent boards @@ -300,6 +301,7 @@ The following options need to be configured: or CONFIG_405GP or CONFIG_440 or CONFIG_MPC74xx + or CONFIG_750FX ARM based CPUs: --------------- @@ -344,7 +346,7 @@ The following options need to be configured: CONFIG_IAD210, CONFIG_RPXlite, CONFIG_sbc8260, CONFIG_EBONY, CONFIG_sacsng, CONFIG_FPS860L, CONFIG_V37, CONFIG_ELPT860, CONFIG_CMI, - CONFIG_NETVIA + CONFIG_NETVIA, CONFIG_RBC823 ARM based boards: ----------------- @@ -352,7 +354,7 @@ The following options need to be configured: CONFIG_HHP_CRADLE, CONFIG_DNP1110, CONFIG_EP7312, CONFIG_IMPA7, CONFIG_LART, CONFIG_LUBBOCK, CONFIG_SHANNON, CONFIG_SMDK2400, CONFIG_SMDK2410, - CONFIG_TRAB + CONFIG_TRAB, CONFIG_AT91RM9200DK - CPU Module Type: (if CONFIG_COGENT is defined) @@ -565,6 +567,7 @@ The following options need to be configured: CFG_CMD_ELF bootelf, bootvx CFG_CMD_ENV saveenv CFG_CMD_FDC * Floppy Disk Support + CFG_CMD_FAT FAT partition support CFG_CMD_FDOS * Dos diskette Support CFG_CMD_FLASH flinfo, erase, protect CFG_CMD_FPGA FPGA device initialization support @@ -578,6 +581,7 @@ The following options need to be configured: CFG_CMD_LOADS loads CFG_CMD_MEMORY md, mm, nm, mw, cp, cmp, crc, base, loop, mtest + CFG_CMD_MMC MMC memory mapped support CFG_CMD_MII MII utility commands CFG_CMD_NET bootp, tftpboot, rarpboot CFG_CMD_PCI * pciinfo @@ -688,6 +692,9 @@ The following options need to be configured: CFG_SCSI_SYM53C8XX_CCF to fix clock timing (80Mhz) - NETWORK Support (PCI): + CONFIG_E1000 + Support for Intel 8254x gigabit chips. + CONFIG_EEPRO100 Support for Intel 82557/82559/82559ER chips. Optional CONFIG_EEPRO100_SROM_WRITE enables eeprom @@ -727,6 +734,14 @@ The following options need to be configured: Supported are USB Keyboards and USB Floppy drives (TEAC FD-05PUB). +- MMC Support: + The MMC controller on the Intel PXA is supported. To + enable this define CONFIG_MMC. The MMC can be + accessed from the boot prompt by mapping the device + to physical memory similar to flash. Command line is + enabled with CFG_CMD_MMC. The MMC driver also works with + the FAT fs. This is enabled with CFG_CMD_FAT. + - Keyboard Support: CONFIG_ISA_KEYBOARD @@ -766,6 +781,13 @@ The following options need to be configured: and 16bpp modes defined by CONFIG_VIDEO_SED13806_8BPP or CONFIG_VIDEO_SED13806_16BPP +- Keyboard Support: + CONFIG_KEYBOARD + + Define this to enable a custom keyboard support. + This simply calls drv_keyboard_init() which must be + defined in your board-specific files. + The only board using this so far is RBC823. - LCD Support: CONFIG_LCD @@ -812,14 +834,14 @@ The following options need to be configured: - Spash Screen Support: CONFIG_SPLASH_SCREEN - 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 supressed and the BMP image at the address - 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. + 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 supressed and the BMP image at the address + 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. - Ethernet address: @@ -946,14 +968,14 @@ The following options need to be configured: CFG_I2C_INIT_BOARD - 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. + 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. - SPI Support: CONFIG_SPI @@ -984,9 +1006,9 @@ The following options need to be configured: Used to specify the types of FPGA devices. For example, - #define CONFIG_FPGA CFG_XILINX_VIRTEX2 + #define CONFIG_FPGA CFG_XILINX_VIRTEX2 - CFG_FPGA_PROG_FEEDBACK + CFG_FPGA_PROG_FEEDBACK Enable printing of hash marks during FPGA configuration. @@ -1032,16 +1054,16 @@ The following options need to be configured: - FPGA Support: CONFIG_FPGA_COUNT - Specify the number of FPGA devices to support. + Specify the number of FPGA devices to support. - CONFIG_FPGA + CONFIG_FPGA - Used to specify the types of FPGA devices. For example, - #define CONFIG_FPGA CFG_XILINX_VIRTEX2 + Used to specify the types of FPGA devices. For example, + #define CONFIG_FPGA CFG_XILINX_VIRTEX2 - CFG_FPGA_PROG_FEEDBACK + CFG_FPGA_PROG_FEEDBACK - Enable printing of hash marks during FPGA configuration. + Enable printing of hash marks during FPGA configuration. CFG_FPGA_CHECK_BUSY @@ -1186,10 +1208,10 @@ The following options need to be configured: In the current implementation, the local variables space and global environment variables space are separated. Local variables are those you define by - simply typing like `name=value'. To access a local + simply typing `name=value'. To access a local variable later on, you have write `$name' or - `${name}'; variable directly by typing say `$name' at - the command prompt. + `${name}'; to execute the contents of a variable + directly type `$name' at the command prompt. Global environment variables are those you use setenv/printenv to work with. To run a command stored @@ -1228,6 +1250,13 @@ The following options need to be configured: the environment like the autoscript function or the boot command first. +- DataFlash Support + CONFIG_HAS_DATAFLASH + + Defining this option enables DataFlash features and + allows to read/write in Dataflash via the standard + commands cp, md... + - Show boot progress CONFIG_SHOW_BOOT_PROGRESS @@ -1320,8 +1349,6 @@ Modem Support: See also: doc/README.Modem - - Configuration Settings: ----------------------- @@ -1345,16 +1372,16 @@ Configuration Settings: List of legal baudrate settings for this board. - CFG_CONSOLE_INFO_QUIET - Suppress display of console information at boot. + Suppress display of console information at boot. - CFG_CONSOLE_IS_IN_ENV - If the board specific function - extern int overwrite_console (void); - returns 1, the stdin, stderr and stdout are switched to the + If the board specific function + extern int overwrite_console (void); + returns 1, the stdin, stderr and stdout are switched to the serial port, else the settings in the environment are used. - CFG_CONSOLE_OVERWRITE_ROUTINE - Enable the call to overwrite_console(). + Enable the call to overwrite_console(). - CFG_CONSOLE_ENV_OVERWRITE Enable overwrite of previous console environment settings. @@ -1364,7 +1391,7 @@ Configuration Settings: simple memory test. - CFG_ALT_MEMTEST: - Enable an alternate, more extensive memory test. + Enable an alternate, more extensive memory test. - CFG_TFTP_LOADADDR: Default load address for network file downloads @@ -1389,7 +1416,10 @@ Configuration Settings: CFG_FLASH_BASE when booting from flash. - CFG_MONITOR_LEN: - Size of memory reserved for monitor code + Size of memory reserved for monitor code, used to + determine _at_compile_time_ (!) if the environment is + embedded within the U-Boot image, or in a separate + flash sector. - CFG_MALLOC_LEN: Size of DRAM reserved for malloc() use. @@ -1429,6 +1459,14 @@ Configuration Settings: Define if the flash driver uses extra elements in the common flash structure for storing flash geometry +- CFG_RX_ETH_BUFFER: + Defines the number of ethernet receive buffers. On some + ethernet controllers it is recommended to set this value + to 8 or even higher (EEPRO100 or 405 EMAC), since all + buffers can be full shortly after enabling the interface + on high ethernet traffic. + Defaults to 4 if not defined. + The following definitions that deal with the placement and management of environment data (variable area); in general, we support the following configurations: @@ -1770,6 +1808,7 @@ configurations; the following names are supported: GENIETV_config TQM823L_config PIP405_config GEN860T_config EBONY_config FPS860L_config ELPT860_config cmi_mpc5xx_config NETVIA_config + at91rm9200dk_config Note: for some board special configuration names may exist; check if additional information is available from the board vendor; for @@ -1801,7 +1840,6 @@ Note: for some board special configuration names may exist; check if etc. - Finally, type "make all", and you should get some working U-Boot images ready for downlod to / installation on your system: @@ -1865,7 +1903,6 @@ or to build on a native PowerPC system you can type See also "U-Boot Porting Guide" below. - Monitor Commands - Overview: ============================ @@ -1988,6 +2025,14 @@ Some configuration options can be set using Environment Variables: setenv initrd_high 00c00000 + If you set initrd_high to 0xFFFFFFFF, this is an + indication to U-Boot that all addresses are legal + for the Linux kernel, including addresses in flash + memory. In this case U-Boot will NOT COPY the + ramdisk at all. This may be useful to reduce the + boot time on your system, but requires that this + feature is supported by your Linux kernel. + ipaddr - IP address; needed for tftpboot command loadaddr - Default load address for commands like "bootp", @@ -2040,6 +2085,48 @@ Please note that changes to some configuration parameters may take only effect after the next boot (yes, that's just like Windoze :-). +Command Line Parsing: +===================== + +There are two different command line parsers available with U-Boot: +the old "simple" one, and the much more pwerful "hush" shell: + +Old, simple command line parser: +-------------------------------- + +- supports environment variables (through setenv / saveenv commands) +- several commands on one line, separated by ';' +- variable substitution using "... $(name) ..." syntax +- special characters ('$', ';') can be escaped by prefixing with '\', + for example: + setenv bootcmd bootm \$(address) +- You can also escape text by enclosing in single apostrophes, for example: + setenv addip 'setenv bootargs $bootargs ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname::off' + +Hush shell: +----------- + +- similar to Bourne shell, with control structures like + if...then...else...fi, for...do...done; while...do...done, + until...do...done, ... +- supports environment ("global") variables (through setenv / saveenv + commands) and local shell variables (through standard shell syntax + "name=value"); only environment variables can be used with "run" + command + +General rules: +-------------- + +(1) If a command line (or an environment variable executed by a "run" + command) contains several commands separated by semicolon, and + one of these commands fails, then the remaining commands will be + executed anyway. + +(2) If you execute several variables with one call to run (i. e. + calling run with a list af variables as arguments), any failing + command will cause "run" to terminate, i. e. the remaining + variables are not executed. + Note for Redundant Ethernet Interfaces: ======================================= @@ -2074,7 +2161,6 @@ o If neither SROM nor the environment contain a MAC address, an error is raised. - Image Formats: ============== @@ -2337,7 +2423,6 @@ corruption happened: Verifying Checksum ... OK - Boot Linux: ----------- @@ -2427,39 +2512,39 @@ More About U-Boot Image Types: U-Boot supports the following image types: "Standalone Programs" are directly runnable in the environment - provided by U-Boot; it is expected that (if they behave - well) you can continue to work in U-Boot after return from - the Standalone Program. + provided by U-Boot; it is expected that (if they behave + well) you can continue to work in U-Boot after return from + the Standalone Program. "OS Kernel Images" are usually images of some Embedded OS which - will take over control completely. Usually these programs - will install their own set of exception handlers, device - drivers, set up the MMU, etc. - this means, that you cannot - expect to re-enter U-Boot except by resetting the CPU. + will take over control completely. Usually these programs + will install their own set of exception handlers, device + drivers, set up the MMU, etc. - this means, that you cannot + expect to re-enter U-Boot except by resetting the CPU. "RAMDisk Images" are more or less just data blocks, and their - parameters (address, size) are passed to an OS kernel that is - being started. + parameters (address, size) are passed to an OS kernel that is + being started. "Multi-File Images" contain several images, typically an OS - (Linux) kernel image and one or more data images like - RAMDisks. This construct is useful for instance when you want - to boot over the network using BOOTP etc., where the boot - server provides just a single image file, but you want to get - for instance an OS kernel and a RAMDisk image. - - "Multi-File Images" start with a list of image sizes, each - image size (in bytes) specified by an "uint32_t" in network - byte order. This list is terminated by an "(uint32_t)0". - Immediately after the terminating 0 follow the images, one by - one, all aligned on "uint32_t" boundaries (size rounded up to - a multiple of 4 bytes). + (Linux) kernel image and one or more data images like + RAMDisks. This construct is useful for instance when you want + to boot over the network using BOOTP etc., where the boot + server provides just a single image file, but you want to get + for instance an OS kernel and a RAMDisk image. + + "Multi-File Images" start with a list of image sizes, each + image size (in bytes) specified by an "uint32_t" in network + byte order. This list is terminated by an "(uint32_t)0". + Immediately after the terminating 0 follow the images, one by + one, all aligned on "uint32_t" boundaries (size rounded up to + a multiple of 4 bytes). "Firmware Images" are binary images containing firmware (like - U-Boot or FPGA images) which usually will be programmed to - flash memory. + U-Boot or FPGA images) which usually will be programmed to + flash memory. "Script files" are command sequences that will be executed by - U-Boot's command interpreter; this feature is especially - useful when you configure U-Boot to use a real shell (hush) - as command interpreter. + U-Boot's command interpreter; this feature is especially + useful when you configure U-Boot to use a real shell (hush) + as command interpreter. Standalone HOWTO: @@ -2550,17 +2635,24 @@ Hit 'q': [q, b, e, ?] ## Application terminated, rc = 0x0 - Minicom warning: ================ Over time, many people have reported problems when trying to used the -"minicom" terminal emulation program for serial download. I (wd) -consider minicom to be broken, and recommend not to use it. Under -Unix, I recommend to use CKermit for general purpose use (and +"minicom" terminal emulation program for serial download. I (wd) +consider minicom to be broken, and recommend not to use it. Under +Unix, I recommend to use C-Kermit for general purpose use (and especially for kermit binary protocol download ("loadb" command), and use "cu" for S-Record download ("loads" command). +Nevertheless, if you absolutely want to use it try adding this +configuration to your "File transfer protocols" section: + + Name Program Name U/D FullScr IO-Red. Multi + X kermit /usr/bin/kermit -i -l %l -s Y U Y N N + Y kermit /usr/bin/kermit -i -l %l -r N D Y N N + + NetBSD Notes: ============= @@ -2714,7 +2806,6 @@ On ARM, the following registers are used: ==> U-Boot will use R8 to hold a pointer to the global data - Memory Management: ------------------ @@ -2860,7 +2951,6 @@ void no_more_time (int sig) } - Coding Standards: ----------------- @@ -2912,6 +3002,13 @@ it: We accept patches as plain text, MIME attachments or as uuencoded gzipped text. +* If one logical set of modifications affects or creates several + files, all these changes shall be submitted in a SINGLE patch file. + +* Changesets that contain different, unrelated modifications shall be + submitted as SEPARATE patches, one patch per changeset. + + Notes: * Before sending the patch, run the MAKEALL script on your patched