]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - README
Merge branch 'master' of git://git.denx.de/u-boot-usb
[karo-tx-uboot.git] / README
diff --git a/README b/README
index 766e9e0ebd88f05741ea6cf34657ace277dd75d6..4ca04d0489ed3dcd3f04f403cc527f633746f1c2 100644 (file)
--- a/README
+++ b/README
@@ -409,6 +409,10 @@ The following options need to be configured:
                Enables a workaround for IFC erratum A003399. It is only
                requred during NOR boot.
 
+               CONFIG_A008044_WORKAROUND
+               Enables a workaround for T1040/T1042 erratum A008044. It is only
+               requred during NAND boot and valid for Rev 1.0 SoC revision
+
                CONFIG_SYS_FSL_CORENET_SNOOPVEC_COREONLY
 
                This is the value to write into CCSR offset 0x18600
@@ -538,6 +542,18 @@ The following options need to be configured:
                interleaving mode, handled by Dickens for Freescale layerscape
                SoCs with ARM core.
 
+               CONFIG_SYS_FSL_DDR_MAIN_NUM_CTRLS
+               Number of controllers used as main memory.
+
+               CONFIG_SYS_FSL_OTHER_DDR_NUM_CTRLS
+               Number of controllers used for other than main memory.
+
+               CONFIG_SYS_FSL_SEC_BE
+               Defines the SEC controller register space as Big Endian
+
+               CONFIG_SYS_FSL_SEC_LE
+               Defines the SEC controller register space as Little Endian
+
 - Intel Monahans options:
                CONFIG_SYS_MONAHANS_RUN_MODE_OSC_RATIO
 
@@ -611,12 +627,119 @@ The following options need to be configured:
                exists, unlike the similar options in the Linux kernel. Do not
                set these options unless they apply!
 
-- CPU timer options:
-               CONFIG_SYS_HZ
+- Driver Model
+               Driver model is a new framework for devices in U-Boot
+               introduced in early 2014. U-Boot is being progressively
+               moved over to this. It offers a consistent device structure,
+               supports grouping devices into classes and has built-in
+               handling of platform data and device tree.
+
+               To enable transition to driver model in a relatively
+               painful fashion, each subsystem can be independently
+               switched between the legacy/ad-hoc approach and the new
+               driver model using the options below. Also, many uclass
+               interfaces include compatibility features which may be
+               removed once the conversion of that subsystem is complete.
+               As a result, the API provided by the subsystem may in fact
+               not change with driver model.
+
+               See doc/driver-model/README.txt for more information.
+
+               CONFIG_DM
+
+               Enable driver model. This brings in the core support,
+               including scanning of platform data on start-up. If
+               CONFIG_OF_CONTROL is enabled, the device tree will be
+               scanned also when available.
+
+               CONFIG_CMD_DM
+
+               Enable driver model test commands. These allow you to print
+               out the driver model tree and the uclasses.
+
+               CONFIG_DM_DEMO
+
+               Enable some demo devices and the 'demo' command. These are
+               really only useful for playing around while trying to
+               understand driver model in sandbox.
+
+               CONFIG_SPL_DM
+
+               Enable driver model in SPL. You will need to provide a
+               suitable malloc() implementation. If you are not using the
+               full malloc() enabled by CONFIG_SYS_SPL_MALLOC_START,
+               consider using CONFIG_SYS_MALLOC_SIMPLE. In that case you
+               must provide CONFIG_SYS_MALLOC_F_LEN to set the size.
+               In most cases driver model will only allocate a few uclasses
+               and devices in SPL, so 1KB should be enable. See
+               CONFIG_SYS_MALLOC_F_LEN for more details on how to enable
+               it.
+
+               CONFIG_DM_SERIAL
+
+               Enable driver model for serial. This replaces
+               drivers/serial/serial.c with the serial uclass, which
+               implements serial_putc() etc. The uclass interface is
+               defined in include/serial.h.
+
+               CONFIG_DM_GPIO
+
+               Enable driver model for GPIO access. The standard GPIO
+               interface (gpio_get_value(), etc.) is then implemented by
+               the GPIO uclass. Drivers provide methods to query the
+               particular GPIOs that they provide. The uclass interface
+               is defined in include/asm-generic/gpio.h.
+
+               CONFIG_DM_SPI
+
+               Enable driver model for SPI. The SPI slave interface
+               (spi_setup_slave(), spi_xfer(), etc.) is then implemented by
+               the SPI uclass. Drivers provide methods to access the SPI
+               buses that they control. The uclass interface is defined in
+               include/spi.h. The existing spi_slave structure is attached
+               as 'parent data' to every slave on each bus. Slaves
+               typically use driver-private data instead of extending the
+               spi_slave structure.
+
+               CONFIG_DM_SPI_FLASH
+
+               Enable driver model for SPI flash. This SPI flash interface
+               (spi_flash_probe(), spi_flash_write(), etc.) is then
+               implemented by the SPI flash uclass. There is one standard
+               SPI flash driver which knows how to probe most chips
+               supported by U-Boot. The uclass interface is defined in
+               include/spi_flash.h, but is currently fully compatible
+               with the old interface to avoid confusion and duplication
+               during the transition parent. SPI and SPI flash must be
+               enabled together (it is not possible to use driver model
+               for one and not the other).
+
+               CONFIG_DM_CROS_EC
+
+               Enable driver model for the Chrome OS EC interface. This
+               allows the cros_ec SPI driver to operate with CONFIG_DM_SPI
+               but otherwise makes few changes. Since cros_ec also supports
+               I2C and LPC (which don't support driver model yet), a full
+               conversion is not yet possible.
+
+
+               ** Code size options: The following options are enabled by
+               default except in SPL. Enable them explicitly to get these
+               features in SPL.
+
+               CONFIG_DM_WARN
+
+               Enable the dm_warn() function. This can use up quite a bit
+               of space for its strings.
+
+               CONFIG_DM_STDIO
+
+               Enable registering a serial device with the stdio library.
+
+               CONFIG_DM_DEVICE_REMOVE
+
+               Enable removing of devices.
 
-               The frequency of the timer returned by get_timer().
-               get_timer() must operate in milliseconds and this CONFIG
-               option must be set to 1000.
 
 - Linux Kernel Interface:
                CONFIG_CLOCKS_IN_MHZ
@@ -664,6 +787,13 @@ The following options need to be configured:
                Board code has addition modification that it wants to make
                to the flat device tree before handing it off to the kernel
 
+               CONFIG_OF_SYSTEM_SETUP
+
+               Other code has addition modification that it wants to make
+               to the flat device tree before handing it off to the kernel.
+               This causes ft_system_setup() to be called before booting
+               the kernel.
+
                CONFIG_OF_BOOT_CPU
 
                This define fills in the correct boot CPU in the boot
@@ -984,6 +1114,7 @@ The following options need to be configured:
                CONFIG_CMD_EXT4         * ext4 command support
                CONFIG_CMD_FS_GENERIC   * filesystem commands (e.g. load, ls)
                                          that work for multiple fs types
+               CONFIG_CMD_FS_UUID      * Look up a filesystem UUID
                CONFIG_CMD_SAVEENV        saveenv
                CONFIG_CMD_FDC          * Floppy Disk Support
                CONFIG_CMD_FAT          * FAT command support
@@ -1453,6 +1584,9 @@ The following options need to be configured:
                CONFIG_USB_EHCI_TXFIFO_THRESH enables setting of the
                txfilltuning field in the EHCI controller on reset.
 
+               CONFIG_USB_DWC2_REG_ADDR the physical CPU address of the DWC2
+               HW module registers.
+
 - USB Device:
                Define the below if you wish to use the USB console.
                Once firmware is rebuilt from a serial console issue the
@@ -2710,6 +2844,14 @@ CBFS (Coreboot Filesystem) support
                200 ms.
 
 - Configuration Management:
+               CONFIG_BUILD_TARGET
+
+               Some SoCs need special image types (e.g. U-Boot binary
+               with a special header) as build targets. By defining
+               CONFIG_BUILD_TARGET in the SoC / board header, this
+               special image will be automatically built upon calling
+               make / MAKEALL.
+
                CONFIG_IDENT_STRING
 
                If defined, this string will be added to the U-Boot
@@ -2818,22 +2960,6 @@ CBFS (Coreboot Filesystem) support
 
                Enable auto completion of commands using TAB.
 
-               Note that this feature has NOT been implemented yet
-               for the "hush" shell.
-
-
-               CONFIG_SYS_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.
-
-
                CONFIG_SYS_PROMPT_HUSH_PS2
 
                This defines the secondary prompt string, which is
@@ -3395,7 +3521,7 @@ FIT uImage format:
                to 128 or 256, although it does not have to be power of 2).
 
                default: 4096
-               
+
                CONFIG_MTD_UBI_BEB_LIMIT
                This option specifies the maximum bad physical eraseblocks UBI
                expects on the MTD device (per 1024 eraseblocks). If the
@@ -3535,10 +3661,13 @@ FIT uImage format:
 
                CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR,
                CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS,
-               CONFIG_SYS_MMC_SD_FAT_BOOT_PARTITION
-               Address, size and partition on the MMC to load U-Boot from
+               Address and partition on the MMC to load U-Boot from
                when the MMC is being used in raw mode.
 
+               CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION
+               Partition on the MMC to load U-Boot from when the MMC is being
+               used in raw mode
+
                CONFIG_SYS_MMCSD_RAW_MODE_KERNEL_SECTOR
                Sector to load kernel uImage from when MMC is being
                used in raw mode (for Falcon mode)
@@ -3549,19 +3678,26 @@ FIT uImage format:
                parameters from when MMC is being used in raw mode
                (for falcon mode)
 
+               CONFIG_SYS_MMCSD_FS_BOOT_PARTITION
+               Partition on the MMC to load U-Boot from when the MMC is being
+               used in fs mode
+
                CONFIG_SPL_FAT_SUPPORT
                Support for fs/fat/libfat.o in SPL binary
 
-               CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME
-               Filename to read to load U-Boot when reading from FAT
+               CONFIG_SPL_EXT_SUPPORT
+               Support for EXT filesystem in SPL binary
+
+               CONFIG_SPL_FS_LOAD_PAYLOAD_NAME
+               Filename to read to load U-Boot when reading from filesystem
 
-               CONFIG_SPL_FAT_LOAD_KERNEL_NAME
+               CONFIG_SPL_FS_LOAD_KERNEL_NAME
                Filename to read to load kernel uImage when reading
-               from FAT (for Falcon mode)
+               from filesystem (for Falcon mode)
 
-               CONFIG_SPL_FAT_LOAD_ARGS_NAME
+               CONFIG_SPL_FS_LOAD_ARGS_NAME
                Filename to read to load kernel argument parameters
-               when reading from FAT (for Falcon mode)
+               when reading from filesystem (for Falcon mode)
 
                CONFIG_SPL_MPC83XX_WAIT_FOR_NAND
                Set this for NAND SPL on PPC mpc83xx targets, so that
@@ -3590,6 +3726,10 @@ FIT uImage format:
                Support for the MTD subsystem within SPL.  Useful for
                environment on NAND support within SPL.
 
+               CONFIG_SPL_NAND_RAW_ONLY
+               Support to boot only raw u-boot.bin images. Use this only
+               if you need to save space.
+
                CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
                Set for the SPL on PPC mpc8xxx targets, support for
                drivers/ddr/fsl/libddr.o in SPL binary.
@@ -3862,6 +4002,11 @@ Configuration Settings:
                Pre-relocation malloc() is only supported on ARM and sandbox
                at present but is fairly easy to enable for other archs.
 
+- CONFIG_SYS_MALLOC_SIMPLE
+               Provides a simple and small malloc() and calloc() for those
+               boards which do not use the full malloc in SPL (which is
+               enabled with CONFIG_SYS_SPL_MALLOC_START).
+
 - CONFIG_SYS_BOOTM_LEN:
                Normally compressed uImages are limited to an
                uncompressed size of 8 MBytes. If this is not enough,
@@ -4042,6 +4187,11 @@ Configuration Settings:
        be asserted. See doc/README.omap-reset-time for details on how
        the value can be calulated on a given board.
 
+- CONFIG_USE_STDINT
+       If stdint.h is available with your toolchain you can define this
+       option to enable it. You can provide option 'USE_STDINT=1' when
+       building U-Boot to enable this.
+
 The following definitions that deal with the placement and management
 of environment data (variable area); in general, we support the
 following configurations:
@@ -4992,14 +5142,14 @@ this behavior and build U-Boot to some external directory:
        make O=/tmp/build NAME_defconfig
        make O=/tmp/build all
 
-2. Set environment variable BUILD_DIR to point to the desired location:
+2. Set environment variable KBUILD_OUTPUT to point to the desired location:
 
-       export BUILD_DIR=/tmp/build
+       export KBUILD_OUTPUT=/tmp/build
        make distclean
        make NAME_defconfig
        make all
 
-Note that the command line "O=" setting overrides the BUILD_DIR environment
+Note that the command line "O=" setting overrides the KBUILD_OUTPUT environment
 variable.