]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - README
net: phy: ensure Gigabit features are masked off if requested
[people/ms/u-boot.git] / README
diff --git a/README b/README
index 0dc657d0a583739a817f07f52e0f9572b30c8861..5ac2d445679b90c69a88e581014e27e119394022 100644 (file)
--- a/README
+++ b/README
@@ -34,12 +34,14 @@ In general, all boards for which a configuration option exists in the
 Makefile have been tested to some extent and can be considered
 "working". In fact, many of them are used in production systems.
 
-In case of problems see the CHANGELOG and CREDITS files to find out
-who contributed the specific port. The boards.cfg file lists board
-maintainers.
+In case of problems see the CHANGELOG file to find out who contributed
+the specific port. In addition, there are various MAINTAINERS files
+scattered throughout the U-Boot source identifying the people or
+companies responsible for various boards and subsystems.
 
-Note: There is no CHANGELOG file in the actual U-Boot source tree;
-it can be created dynamically from the Git log using:
+Note: As of August, 2010, there is no longer a CHANGELOG file in the
+actual U-Boot source tree; however, it can be created dynamically
+from the Git log using:
 
        make CHANGELOG
 
@@ -48,7 +50,7 @@ Where to get help:
 ==================
 
 In case you have questions about, problems with or contributions for
-U-Boot you should send a message to the U-Boot mailing list at
+U-Boot, you should send a message to the U-Boot mailing list at
 <u-boot@lists.denx.de>. There is also an archive of previous traffic
 on the mailing list - please search the archive before asking FAQ's.
 Please see http://lists.denx.de/pipermail/u-boot and
@@ -58,7 +60,7 @@ http://dir.gmane.org/gmane.comp.boot-loaders.u-boot
 Where to get source code:
 =========================
 
-The U-Boot source code is maintained in the git repository at
+The U-Boot source code is maintained in the Git repository at
 git://www.denx.de/git/u-boot.git ; you can browse it online at
 http://www.denx.de/cgi-bin/gitweb.cgi?p=u-boot.git;a=summary
 
@@ -133,79 +135,24 @@ Directory Hierarchy:
 
 /arch                  Architecture specific files
   /arc                 Files generic to ARC architecture
-    /cpu               CPU specific files
-      /arc700          Files specific to ARC 700 CPUs
-    /lib               Architecture specific library files
   /arm                 Files generic to ARM architecture
-    /cpu               CPU specific files
-      /arm720t         Files specific to ARM 720 CPUs
-      /arm920t         Files specific to ARM 920 CPUs
-       /at91           Files specific to Atmel AT91RM9200 CPU
-       /imx            Files specific to Freescale MC9328 i.MX CPUs
-       /s3c24x0        Files specific to Samsung S3C24X0 CPUs
-      /arm926ejs       Files specific to ARM 926 CPUs
-      /arm1136         Files specific to ARM 1136 CPUs
-      /pxa             Files specific to Intel XScale PXA CPUs
-      /sa1100          Files specific to Intel StrongARM SA1100 CPUs
-    /lib               Architecture specific library files
   /avr32               Files generic to AVR32 architecture
-    /cpu               CPU specific files
-    /lib               Architecture specific library files
   /blackfin            Files generic to Analog Devices Blackfin architecture
-    /cpu               CPU specific files
-    /lib               Architecture specific library files
   /m68k                        Files generic to m68k architecture
-    /cpu               CPU specific files
-      /mcf52x2         Files specific to Freescale ColdFire MCF52x2 CPUs
-      /mcf5227x                Files specific to Freescale ColdFire MCF5227x CPUs
-      /mcf532x         Files specific to Freescale ColdFire MCF5329 CPUs
-      /mcf5445x                Files specific to Freescale ColdFire MCF5445x CPUs
-      /mcf547x_8x      Files specific to Freescale ColdFire MCF547x_8x CPUs
-    /lib               Architecture specific library files
   /microblaze          Files generic to microblaze architecture
-    /cpu               CPU specific files
-    /lib               Architecture specific library files
   /mips                        Files generic to MIPS architecture
-    /cpu               CPU specific files
-      /mips32          Files specific to MIPS32 CPUs
-      /mips64          Files specific to MIPS64 CPUs
-    /lib               Architecture specific library files
   /nds32               Files generic to NDS32 architecture
-    /cpu               CPU specific files
-      /n1213           Files specific to Andes Technology N1213 CPUs
-    /lib               Architecture specific library files
   /nios2               Files generic to Altera NIOS2 architecture
-    /cpu               CPU specific files
-    /lib               Architecture specific library files
   /openrisc            Files generic to OpenRISC architecture
-    /cpu               CPU specific files
-    /lib               Architecture specific library files
   /powerpc             Files generic to PowerPC architecture
-    /cpu               CPU specific files
-      /mpc5xx          Files specific to Freescale MPC5xx CPUs
-      /mpc5xxx         Files specific to Freescale MPC5xxx CPUs
-      /mpc8xx          Files specific to Freescale MPC8xx CPUs
-      /mpc8260         Files specific to Freescale MPC8260 CPUs
-      /mpc85xx         Files specific to Freescale MPC85xx CPUs
-      /ppc4xx          Files specific to AMCC PowerPC 4xx CPUs
-    /lib               Architecture specific library files
+  /sandbox             Files generic to HW-independent "sandbox"
   /sh                  Files generic to SH architecture
-    /cpu               CPU specific files
-      /sh2             Files specific to sh2 CPUs
-      /sh3             Files specific to sh3 CPUs
-      /sh4             Files specific to sh4 CPUs
-    /lib               Architecture specific library files
   /sparc               Files generic to SPARC architecture
-    /cpu               CPU specific files
-      /leon2           Files specific to Gaisler LEON2 SPARC CPU
-      /leon3           Files specific to Gaisler LEON3 SPARC CPU
-    /lib               Architecture specific library files
   /x86                 Files generic to x86 architecture
-    /cpu               CPU specific files
-    /lib               Architecture specific library files
 /api                   Machine/arch independent API for external apps
 /board                 Board dependent files
 /common                        Misc architecture independent functions
+/configs               Board default configuration files
 /disk                  Code for disk drive partition handling
 /doc                   Documentation (don't expect too much)
 /drivers               Commonly used device drivers
@@ -213,13 +160,12 @@ Directory Hierarchy:
 /examples              Example code for standalone applications, etc.
 /fs                    Filesystem code (cramfs, ext2, jffs2, etc.)
 /include               Header Files
-/lib                   Files generic to all architectures
-  /libfdt              Library files to support flattened device trees
-  /lzma                        Library files to support LZMA decompression
-  /lzo                 Library files to support LZO decompression
+/lib                   Library routines generic to all architectures
+/Licenses              Various license files
 /net                   Networking code
 /post                  Power On Self Test
-/spl                   Secondary Program Loader framework
+/scripts               Various build scripts and Makefiles
+/test                  Various unit test files
 /tools                 Tools to build S-Record or U-Boot images, etc.
 
 Software Configuration:
@@ -239,11 +185,11 @@ There are two classes of configuration variables:
   you don't know what you're doing; they have names beginning with
   "CONFIG_SYS_".
 
-Later we will add a configuration tool - probably similar to or even
-identical to what's used for the Linux kernel. Right now, we have to
-do the configuration by hand, which means creating some symbolic
-links and editing some configuration files. We use the TQM8xxL boards
-as an example here.
+Previously, all configuration was done by hand, which involved creating
+symbolic links and editing configuration files manually. More recently,
+U-Boot has added the Kbuild infrastructure used by the Linux kernel,
+allowing you to use the "make menuconfig" command to configure your
+build.
 
 
 Selection of Processor Architecture and Board Type:
@@ -257,10 +203,9 @@ Example: For a TQM823L module type:
        cd u-boot
        make TQM823L_defconfig
 
-For the Cogent platform, you need to specify the CPU type as well;
-e.g. "make cogent_mpc8xx_defconfig". And also configure the cogent
-directory according to the instructions in cogent/README.
-
+Note: If you're looking for the default configuration file for a board
+you're sure used to be there but is now missing, check the file
+doc/README.scrapyard for a list of no longer supported boards.
 
 Sandbox Environment:
 --------------------
@@ -277,13 +222,25 @@ Board Initialisation Flow:
 --------------------------
 
 This is the intended start-up flow for boards. This should apply for both
-SPL and U-Boot proper (i.e. they both follow the same rules). At present SPL
-mostly uses a separate code path, but the funtion names and roles of each
-function are the same. Some boards or architectures may not conform to this.
-At least most ARM boards which use CONFIG_SPL_FRAMEWORK conform to this.
+SPL and U-Boot proper (i.e. they both follow the same rules).
+
+Note: "SPL" stands for "Secondary Program Loader," which is explained in
+more detail later in this file.
+
+At present, SPL mostly uses a separate code path, but the function names
+and roles of each function are the same. Some boards or architectures
+may not conform to this.  At least most ARM boards which use
+CONFIG_SPL_FRAMEWORK conform to this.
+
+Execution typically starts with an architecture-specific (and possibly
+CPU-specific) start.S file, such as:
 
-Execution starts with start.S with three functions called during init after
-that. The purpose and limitations of each is described below.
+       - arch/arm/cpu/armv7/start.S
+       - arch/powerpc/cpu/mpc83xx/start.S
+       - arch/mips/cpu/start.S
+
+and so on. From there, three functions are called; the purpose and
+limitations of each of these functions are described below.
 
 lowlevel_init():
        - purpose: essential init to permit execution to reach board_init_f()
@@ -611,6 +568,9 @@ The following options need to be configured:
                CONFIG_SYS_FSL_OTHER_DDR_NUM_CTRLS
                Number of controllers used for other than main memory.
 
+               CONFIG_SYS_FSL_HAS_DP_DDR
+               Defines the SoC has DP-DDR used for DPAA.
+
                CONFIG_SYS_FSL_SEC_BE
                Defines the SEC controller register space as Big Endian
 
@@ -796,18 +756,10 @@ The following options need to be configured:
 - vxWorks boot parameters:
 
                bootvx constructs a valid bootline using the following
-               environments variables: bootfile, ipaddr, serverip, hostname.
+               environments variables: bootdev, bootfile, ipaddr, netmask,
+               serverip, gatewayip, hostname, othbootargs.
                It loads the vxWorks image pointed bootfile.
 
-               CONFIG_SYS_VXWORKS_BOOT_DEVICE - The vxworks device name
-               CONFIG_SYS_VXWORKS_MAC_PTR - Ethernet 6 byte MA -address
-               CONFIG_SYS_VXWORKS_SERVERNAME - Name of the server
-               CONFIG_SYS_VXWORKS_BOOT_ADDR - Address of boot parameters
-
-               CONFIG_SYS_VXWORKS_ADD_PARAMS
-
-               Add it at the end of the bootline. E.g "u=username pw=secret"
-
                Note: If a "bootargs" environment is defined, it will overwride
                the defaults discussed just above.
 
@@ -875,18 +827,11 @@ The following options need to be configured:
                                                (0-5, cf. cfb_console.c)
                        VIDEO_FB_ADRS           framebuffer address
                        VIDEO_KBD_INIT_FCT      keyboard int fct
-                                               (i.e. i8042_kbd_init())
+                                               (i.e. rx51_kp_init())
                        VIDEO_TSTC_FCT          test char fct
-                                               (i.e. i8042_tstc)
+                                               (i.e. rx51_kp_tstc)
                        VIDEO_GETC_FCT          get char fct
-                                               (i.e. i8042_getc)
-                       CONFIG_CONSOLE_CURSOR   cursor drawing on/off
-                                               (requires blink timer
-                                               cf. i8042.c)
-                       CONFIG_SYS_CONSOLE_BLINK_COUNT blink interval (cf. i8042.c)
-                       CONFIG_CONSOLE_TIME     display time/date info in
-                                               upper right corner
-                                               (requires CONFIG_CMD_DATE)
+                                               (i.e. rx51_kp_getc)
                        CONFIG_VIDEO_LOGO       display Linux logo in
                                                upper left corner
                        CONFIG_VIDEO_BMP_LOGO   use bmp_logo.h instead of
@@ -1480,8 +1425,8 @@ The following options need to be configured:
                CONFIG_TPM
                Support TPM devices.
 
-               CONFIG_TPM_TIS_I2C
-               Support for i2c bus TPM devices. Only one device
+               CONFIG_TPM_TIS_INFINEON
+               Support for Infineon i2c bus TPM devices. Only one device
                per system is supported at this time.
 
                        CONFIG_TPM_TIS_I2C_BURST_LIMITATION
@@ -1782,21 +1727,15 @@ CBFS (Coreboot Filesystem) support
                a default value of 65536 will be defined.
 
 - Keyboard Support:
-               CONFIG_ISA_KEYBOARD
-
-               Define this to enable standard (PC-Style) keyboard
-               support
+               See Kconfig help for available keyboard drivers.
 
-               CONFIG_I8042_KBD
-               Standard PC keyboard driver with US (is default) and
-               GERMAN key layout (switch via environment 'keymap=de') support.
-               Export function i8042_kbd_init, i8042_tstc and i8042_getc
-               for cfb_console. Supports cursor blinking.
+               CONFIG_KEYBOARD
 
-               CONFIG_CROS_EC_KEYB
-               Enables a Chrome OS keyboard using the CROS_EC interface.
-               This uses CROS_EC to communicate with a second microcontroller
-               which provides key scans on request.
+               Define this to enable a custom keyboard support.
+               This simply calls drv_keyboard_init() which must be
+               defined in your board-specific files. This option is deprecated
+               and is only used by novena. For new boards, use driver model
+               instead.
 
 - Video support:
                CONFIG_VIDEO
@@ -1857,15 +1796,6 @@ CBFS (Coreboot Filesystem) support
                boot.  See the documentation file README.video for a
                description of this variable.
 
-
-- 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
 
                Define this to enable LCD support (for output to LCD
@@ -2446,6 +2376,15 @@ CBFS (Coreboot Filesystem) support
                  - CONFIG_SYS_I2C_IHS_CH3 activate hardware channel 3
                  - CONFIG_SYS_I2C_IHS_SPEED_3 speed channel 3
                  - CONFIG_SYS_I2C_IHS_SLAVE_3 slave addr channel 3
+                 - activate dual channel with CONFIG_SYS_I2C_IHS_DUAL
+                 - CONFIG_SYS_I2C_IHS_SPEED_0_1 speed channel 0_1
+                 - CONFIG_SYS_I2C_IHS_SLAVE_0_1 slave addr channel 0_1
+                 - CONFIG_SYS_I2C_IHS_SPEED_1_1 speed channel 1_1
+                 - CONFIG_SYS_I2C_IHS_SLAVE_1_1 slave addr channel 1_1
+                 - CONFIG_SYS_I2C_IHS_SPEED_2_1 speed channel 2_1
+                 - CONFIG_SYS_I2C_IHS_SLAVE_2_1 slave addr channel 2_1
+                 - CONFIG_SYS_I2C_IHS_SPEED_3_1 speed channel 3_1
+                 - CONFIG_SYS_I2C_IHS_SLAVE_3_1 slave addr channel 3_1
 
                additional defines:
 
@@ -2713,11 +2652,6 @@ CBFS (Coreboot Filesystem) support
                Enables the driver for SPI controller on SuperH. Currently
                only SH7757 is supported.
 
-               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
@@ -3502,6 +3436,10 @@ FIT uImage format:
                without a fastmap.
                default: 0
 
+               CONFIG_MTD_UBI_FM_DEBUG
+               Enable UBI fastmap debug
+               default: 0
+
 - UBIFS support
                CONFIG_CMD_UBIFS
 
@@ -3572,6 +3510,9 @@ FIT uImage format:
 
                CONFIG_SYS_SPL_MALLOC_START
                Starting address of the malloc pool used in SPL.
+               When this option is set the full malloc is used in SPL and
+               it is set up by spl_init() and before that, the simple malloc()
+               can be used if CONFIG_SYS_MALLOC_F is defined.
 
                CONFIG_SYS_SPL_MALLOC_SIZE
                The size of the malloc pool used in SPL.
@@ -3885,7 +3826,15 @@ Configuration Settings:
                Scratch address used by the alternate memory test
                You only need to set this if address zero isn't writeable
 
-- CONFIG_SYS_MEM_TOP_HIDE (PPC only):
+- CONFIG_SYS_MEM_RESERVE_SECURE
+               If defined, the size of CONFIG_SYS_MEM_RESERVE_SECURE memory
+               is substracted from total RAM and won't be reported to OS.
+               This memory can be used as secure memory. A variable
+               gd->secure_ram is used to track the location. In systems
+               the RAM base is not zero, or RAM is divided into banks,
+               this variable needs to be recalcuated to get the address.
+
+- CONFIG_SYS_MEM_TOP_HIDE:
                If CONFIG_SYS_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
@@ -5064,8 +5013,8 @@ This firmware often needs to be loaded during U-Boot booting.
 - CONFIG_SYS_DEBUG_SERVER_DRAM_BLOCK_MIN_SIZE
        Define minimum DDR size required for debug server image
 
-- CONFIG_SYS_MEM_TOP_HIDE_MIN
-       Define minimum DDR size to be hided from top of the DDR memory
+- CONFIG_SYS_MC_RSV_MEM_ALIGN
+       Define alignment of reserved memory MC requires
 
 Reproducible builds
 -------------------
@@ -5458,10 +5407,10 @@ List of environment variables (most likely not complete):
                  unset, then it will be made silent if the U-Boot console
                  is silent.
 
-  tftpsrcport  - If this is set, the value is used for TFTP's
+  tftpsrcp     - If this is set, the value is used for TFTP's
                  UDP source port.
 
-  tftpdstport  - If this is set, the value is used for TFTP's UDP
+  tftpdstp     - If this is set, the value is used for TFTP's UDP
                  destination port instead of the Well Know Port 69.
 
   tftpblocksize - Block size to use for TFTP transfers; if not set,
@@ -5475,6 +5424,14 @@ List of environment variables (most likely not complete):
                  faster in networks with high packet loss rates or
                  with unreliable TFTP servers.
 
+  tftptimeoutcountmax  - maximum count of TFTP timeouts (no
+                 unit, minimum value = 0). Defines how many timeouts
+                 can happen during a single file transfer before that
+                 transfer is aborted. The default is 10, and 0 means
+                 'no timeouts allowed'. Increasing this value may help
+                 downloads succeed with high packet loss rates, or with
+                 unreliable TFTP servers or client hardware.
+
   vlan         - When set to a value < 4095 the traffic over
                  Ethernet is encapsulated/received over 802.1q
                  VLAN tagged frames.
@@ -6630,7 +6587,8 @@ it:
 
 * A CHANGELOG entry as plaintext (separate from the patch)
 
-* For major contributions, your entry to the CREDITS file
+* For major contributions, add a MAINTAINERS file with your
+  information and associated file and directory references.
 
 * When you add support for a new board, don't forget to add a
   maintainer e-mail address to the boards.cfg file, too.