X-Git-Url: https://git.kernelconcepts.de/?p=karo-tx-uboot.git;a=blobdiff_plain;f=README;h=fda0190d5ff99361558591d4b0ba29f56a683bda;hp=094869c10651ebdc4f7f27ba8b9c2b87ce08d33c;hb=5f3dfadc26c3d7c02e5fe16a743475328a85e891;hpb=bbb0b128c3956ac549471addc314702fbe0ace63 diff --git a/README b/README index 094869c106..fda0190d5f 100644 --- a/README +++ b/README @@ -134,7 +134,7 @@ Additional fields (if present) indicate release candidates or bug fix releases in "stable" maintenance trees. Examples: - U-Boot v2009.11 - Release November 2009 + U-Boot v2009.11 - Release November 2009 U-Boot v2009.11.1 - Release 1 in version November 2009 stable tree U-Boot v2010.09-rc1 - Release candiate 1 for September 2010 release @@ -769,7 +769,7 @@ The following options need to be configured: CONFIG_CMD_NAND * NAND support CONFIG_CMD_NET bootp, tftpboot, rarpboot CONFIG_CMD_PCA953X * PCA953x I2C gpio commands - CONFIG_CMD_PCA953X_INFO * PCA953x I2C gpio info command + CONFIG_CMD_PCA953X_INFO * PCA953x I2C gpio info command CONFIG_CMD_PCI * pciinfo CONFIG_CMD_PCMCIA * PCMCIA support CONFIG_CMD_PING * send ICMP ECHO_REQUEST to network @@ -824,8 +824,8 @@ The following options need to be configured: experimental and only available on a few boards. The device tree is available in the global data as gd->fdt_blob. - U-Boot needs to get its device tree from somewhere. At present - the only way is to embed it in the image with CONFIG_OF_EMBED. + U-Boot needs to get its device tree from somewhere. This can + be done using one of the two options below: CONFIG_OF_EMBED If this variable is defined, U-Boot will embed a device tree @@ -834,6 +834,18 @@ The following options need to be configured: is then picked up in board_init_f() and made available through the global data structure as gd->blob. + CONFIG_OF_SEPARATE + If this variable is defined, U-Boot will build a device tree + binary. It will be called u-boot.dtb. Architecture-specific + code will locate it at run-time. Generally this works by: + + cat u-boot.bin u-boot.dtb >image.bin + + and in fact, U-Boot does this for you, creating a file called + u-boot-dtb.bin which is useful in the common case. You can + still use the individual files if you need something more + exotic. + - Watchdog: CONFIG_WATCHDOG If this variable is defined, it enables watchdog @@ -864,7 +876,7 @@ The following options need to be configured: CONFIG_RTC_MPC8xx - use internal RTC of MPC8xx CONFIG_RTC_PCF8563 - use Philips PCF8563 RTC - CONFIG_RTC_MC13783 - use MC13783 RTC + CONFIG_RTC_MC13XXX - use MC13783 or MC13892 RTC CONFIG_RTC_MC146818 - use MC146818 RTC CONFIG_RTC_DS1307 - use Maxim, Inc. DS1307 RTC CONFIG_RTC_DS1337 - use Maxim, Inc. DS1337 RTC @@ -945,7 +957,20 @@ The following options need to be configured: - NETWORK Support (PCI): CONFIG_E1000 - Support for Intel 8254x gigabit chips. + Support for Intel 8254x/8257x gigabit chips. + + CONFIG_E1000_SPI + Utility code for direct access to the SPI bus on Intel 8257x. + This does not do anything useful unless you set at least one + of CONFIG_CMD_E1000 or CONFIG_E1000_SPI_GENERIC. + + CONFIG_E1000_SPI_GENERIC + Allow generic access to the SPI bus on the Intel 8257x, for + example with the "sspi" command. + + CONFIG_CMD_E1000 + Management command for E1000 devices. When used on devices + with SPI support you can reprogram the EEPROM from U-Boot. CONFIG_E1000_FALLBACK_MAC default MAC for empty EEPROM after production. @@ -1002,6 +1027,12 @@ The following options need to be configured: Define this to use i/o functions instead of macros (some hardware wont work with macros) + CONFIG_DRIVER_TI_EMAC + Support for davinci emac + + CONFIG_SYS_DAVINCI_EMAC_PHY_COUNT + Define this if you have more then 3 PHYs. + CONFIG_FTGMAC100 Support for Faraday's FTGMAC100 Gigabit SoC Ethernet @@ -1163,6 +1194,11 @@ The following options need to be configured: to disable the command chpart. This is the default when you have not defined a custom partition +- FAT(File Allocation Table) filesystem write function support: + CONFIG_FAT_WRITE + Support for saving memory data as a file + in FAT formatted partition + - Keyboard Support: CONFIG_ISA_KEYBOARD @@ -1415,18 +1451,37 @@ The following options need to be configured: Define a default value for the IP address to use for the default Ethernet interface, in case this is not determined through e.g. bootp. + (Environment variable "ipaddr") - Server IP address: CONFIG_SERVERIP Defines a default value for the IP address of a TFTP server to contact when using the "tftboot" command. + (Environment variable "serverip") CONFIG_KEEP_SERVERADDR Keeps the server's MAC address, in the env 'serveraddr' for passing to bootargs (like Linux's netconsole option) +- Gateway IP address: + CONFIG_GATEWAYIP + + Defines a default value for the IP address of the + default router where packets to other networks are + sent to. + (Environment variable "gatewayip") + +- Subnet mask: + CONFIG_NETMASK + + Defines a default value for the subnet mask (or + routing prefix) which is used to determine if an IP + address belongs to the local subnet or needs to be + forwarded through a router. + (Environment variable "netmask") + - Multicast TFTP Mode: CONFIG_MCAST_TFTP @@ -1713,24 +1768,24 @@ The following options need to be configured: 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. + 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. CONFIG_SYS_I2C_NOPROBES This option specifies a list of I2C devices that will be skipped - when the 'i2c probe' command is issued. If CONFIG_I2C_MULTI_BUS + when the 'i2c probe' command is issued. 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 CONFIG_SYS_I2C_NOPROBES {0x50,0x68} + #define CONFIG_SYS_I2C_NOPROBES {0x50,0x68} will skip addresses 0x50 and 0x68 on a board with one I2C bus - #define CONFIG_I2C_MULTI_BUS + #define CONFIG_I2C_MULTI_BUS #define CONFIG_SYS_I2C_MULTI_NOPROBES {{0,0x50},{0,0x68},{1,0x54}} will skip addresses 0x50 and 0x68 on bus 0 and address 0x54 on bus 1 @@ -1849,13 +1904,13 @@ The following options need to be configured: 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 + 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. + SoCs. Currently i.MX31/35/51 are supported. - FPGA Support: CONFIG_FPGA @@ -2164,7 +2219,7 @@ Legacy uImage format: 13 common/image.c Start multifile image verification 14 common/image.c No initial ramdisk, no multifile, continue. - 15 arch//lib/bootm.c All preparation done, transferring control to OS + 15 arch//lib/bootm.c All preparation done, transferring control to OS -30 arch/powerpc/lib/board.c Fatal error, hang the system -31 post/post.c POST test failed, detected by post_output_backlog() @@ -2411,6 +2466,20 @@ Modem Support: See also: doc/README.Modem +Board initialization settings: +------------------------------ + +During Initialization u-boot calls a number of board specific functions +to allow the preparation of board specific prerequisites, e.g. pin setup +before drivers are initialized. To enable these callbacks the +following configuration macros have to be defined. Currently this is +architecture specific, so please check arch/your_architecture/lib/board.c +typically in board_init_f() and board_init_r(). + +- CONFIG_BOARD_EARLY_INIT_F: Call board_early_init_f() +- CONFIG_BOARD_EARLY_INIT_R: Call board_early_init_r() +- CONFIG_BOARD_LATE_INIT: Call board_late_init() +- CONFIG_BOARD_POSTCLK_INIT: Call board_postclk_init() Configuration Settings: ----------------------- @@ -2528,7 +2597,7 @@ Configuration Settings: used) must be put below this limit, unless "bootm_low" enviroment variable is defined and non-zero. In such case all data for the Linux kernel must be between "bootm_low" - and "bootm_low" + CONFIG_SYS_BOOTMAPSZ. The environment + and "bootm_low" + CONFIG_SYS_BOOTMAPSZ. The environment variable "bootm_mapsize" will override the value of CONFIG_SYS_BOOTMAPSZ. If CONFIG_SYS_BOOTMAPSZ is undefined, then the value in "bootm_size" will be used instead. @@ -2818,7 +2887,7 @@ to save the current settings. This setting describes a second storage area of CONFIG_ENV_SIZE size used to hold a redundant copy of the environment data, so that there is a valid backup copy in case there is a power failure - during a "saveenv" operation. CONFIG_ENV_OFFSET_RENDUND must be + during a "saveenv" operation. CONFIG_ENV_OFFSET_RENDUND must be aligned to an erase block boundary. - CONFIG_ENV_RANGE (optional): @@ -2912,7 +2981,7 @@ Low Level (hardware related) configuration options: - CONFIG_SYS_CCSRBAR_PHYS: Physical address of CCSR. CCSR can be relocated to a new physical address, if desired. In this case, this macro should - be set to that address. Otherwise, it should be set to the + be set to that address. Otherwise, it should be set to the same value as CONFIG_SYS_CCSRBAR_DEFAULT. For example, CCSR is typically relocated on 36-bit builds. It is recommended that this macro be defined via the _HIGH and _LOW macros: @@ -3194,12 +3263,55 @@ Low Level (hardware related) configuration options: that is executed before the actual U-Boot. E.g. when compiling a NAND SPL. +- CONFIG_SYS_NAND_HW_ECC_OOBFIRST + define this, if you want to read first the oob data + and then the data. This is used for example on + davinci plattforms. + - CONFIG_USE_ARCH_MEMCPY CONFIG_USE_ARCH_MEMSET If these options are used a optimized version of memcpy/memset will be used if available. These functions may be faster under some conditions but may increase the binary size. +Freescale QE/FMAN Firmware Support: +----------------------------------- + +The Freescale QUICCEngine (QE) and Frame Manager (FMAN) both support the +loading of "firmware", which is encoded in the QE firmware binary format. +This firmware often needs to be loaded during U-Boot booting, so macros +are used to identify the storage device (NOR flash, SPI, etc) and the address +within that device. + +- CONFIG_SYS_QE_FMAN_FW_ADDR + The address in the storage device where the firmware is located. The + meaning of this address depends on which CONFIG_SYS_QE_FW_IN_xxx macro + is also specified. + +- CONFIG_SYS_QE_FMAN_FW_LENGTH + The maximum possible size of the firmware. The firmware binary format + has a field that specifies the actual size of the firmware, but it + might not be possible to read any part of the firmware unless some + local storage is allocated to hold the entire firmware first. + +- CONFIG_SYS_QE_FMAN_FW_IN_NOR + Specifies that QE/FMAN firmware is located in NOR flash, mapped as + normal addressable memory via the LBC. CONFIG_SYS_FMAN_FW_ADDR is the + virtual address in NOR flash. + +- CONFIG_SYS_QE_FMAN_FW_IN_NAND + Specifies that QE/FMAN firmware is located in NAND flash. + CONFIG_SYS_FMAN_FW_ADDR is the offset within NAND flash. + +- CONFIG_SYS_QE_FMAN_FW_IN_MMC + Specifies that QE/FMAN firmware is located on the primary SD/MMC + device. CONFIG_SYS_FMAN_FW_ADDR is the byte offset on that device. + +- CONFIG_SYS_QE_FMAN_FW_IN_SPIFLASH + Specifies that QE/FMAN firmware is located on the primary SPI + device. CONFIG_SYS_FMAN_FW_ADDR is the byte offset on that device. + + Building the Software: ====================== @@ -3444,7 +3556,7 @@ List of environment variables (most likely not complete): kernel -- see the description of CONFIG_SYS_BOOTMAPSZ and bootm_mapsize. - bootm_mapsize - Size of the initial memory mapping for the Linux kernel. + bootm_mapsize - Size of the initial memory mapping for the Linux kernel. This variable is given as a hexadecimal number and it defines the size of the memory region starting at base address bootm_low that is accessible by the Linux kernel @@ -3487,6 +3599,10 @@ List of environment variables (most likely not complete): add the information it needs into it, and the memory must be accessible by the kernel. + fdtcontroladdr- if set this is the address of the control flattened + device tree used by U-Boot when CONFIG_OF_CONTROL is + defined. + i2cfast - (PPC405GP|PPC405EP only) if set to 'y' configures Linux I2C driver for fast mode (400kHZ). This environment variable is used in @@ -3594,12 +3710,12 @@ flash or offset in NAND flash. boards currenlty use other variables for these purposes, and some boards use these variables for other purposes. -Image File Name RAM Address Flash Location ------ --------- ----------- -------------- -u-boot u-boot u-boot_addr_r u-boot_addr -Linux kernel bootfile kernel_addr_r kernel_addr -device tree blob fdtfile fdt_addr_r fdt_addr -ramdisk ramdiskfile ramdisk_addr_r ramdisk_addr +Image File Name RAM Address Flash Location +----- --------- ----------- -------------- +u-boot u-boot u-boot_addr_r u-boot_addr +Linux kernel bootfile kernel_addr_r kernel_addr +device tree blob fdtfile fdt_addr_r fdt_addr +ramdisk ramdiskfile ramdisk_addr_r ramdisk_addr The following environment variables may be used and automatically updated by the network boot commands ("bootp" and "rarpboot"), @@ -3714,7 +3830,7 @@ o If neither SROM nor the environment contain a MAC address, an error is raised. If Ethernet drivers implement the 'write_hwaddr' function, valid MAC addresses -will be programmed into hardware as part of the initialization process. This +will be programmed into hardware as part of the initialization process. This may be skipped by setting the appropriate 'ethmacskip' environment variable. The naming convention is as follows: "ethmacskip" (=>eth0), "eth1macskip" (=>eth1) etc.