]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - README
arm: mx6: fix NFC clock get/set routines for i.MX6QP,i.MX6UL
[karo-tx-uboot.git] / README
diff --git a/README b/README
index 09a1cba50d2958f629869468c7a0d1b47385e75f..de436ce786f020ece8904a74f0b2383b36f0e136 100644 (file)
--- a/README
+++ b/README
@@ -690,10 +690,22 @@ The following options need to be configured:
                exists, unlike the similar options in the Linux kernel. Do not
                set these options unless they apply!
 
                exists, unlike the similar options in the Linux kernel. Do not
                set these options unless they apply!
 
+               COUNTER_FREQUENCY
+               Generic timer clock source frequency.
+
+               COUNTER_FREQUENCY_REAL
+               Generic timer clock source frequency if the real clock is
+               different from COUNTER_FREQUENCY, and can only be determined
+               at run time.
+
                NOTE: The following can be machine specific errata. These
                do have ability to provide rudimentary version and machine
                specific checks, but expect no product checks.
                NOTE: The following can be machine specific errata. These
                do have ability to provide rudimentary version and machine
                specific checks, but expect no product checks.
+               CONFIG_ARM_ERRATA_430973
+               CONFIG_ARM_ERRATA_454179
+               CONFIG_ARM_ERRATA_621766
                CONFIG_ARM_ERRATA_798870
                CONFIG_ARM_ERRATA_798870
+               CONFIG_ARM_ERRATA_801819
 
 - Tegra SoC options:
                CONFIG_TEGRA_SUPPORT_NON_SECURE
 
 - Tegra SoC options:
                CONFIG_TEGRA_SUPPORT_NON_SECURE
@@ -702,119 +714,6 @@ The following options need to be configured:
                impossible actions will be skipped if the CPU is in NS mode,
                such as ARM architectural timer initialization.
 
                impossible actions will be skipped if the CPU is in NS mode,
                such as ARM architectural timer initialization.
 
-- 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.
-
 - Linux Kernel Interface:
                CONFIG_CLOCKS_IN_MHZ
 
 - Linux Kernel Interface:
                CONFIG_CLOCKS_IN_MHZ
 
@@ -1050,6 +949,9 @@ The following options need to be configured:
                bytes are output before the console is initialised, the
                earlier bytes are discarded.
 
                bytes are output before the console is initialised, the
                earlier bytes are discarded.
 
+               Note that when printing the buffer a copy is made on the
+               stack so CONFIG_PRE_CON_BUF_SZ must fit on the stack.
+
                'Sane' compilers will generate smaller code if
                CONFIG_PRE_CON_BUF_SZ is a power of 2
 
                'Sane' compilers will generate smaller code if
                CONFIG_PRE_CON_BUF_SZ is a power of 2
 
@@ -1076,8 +978,6 @@ The following options need to be configured:
                CONFIG_AUTOBOOT_PROMPT
                CONFIG_AUTOBOOT_DELAY_STR
                CONFIG_AUTOBOOT_STOP_STR
                CONFIG_AUTOBOOT_PROMPT
                CONFIG_AUTOBOOT_DELAY_STR
                CONFIG_AUTOBOOT_STOP_STR
-               CONFIG_AUTOBOOT_DELAY_STR2
-               CONFIG_AUTOBOOT_STOP_STR2
                CONFIG_ZERO_BOOTDELAY_CHECK
                CONFIG_RESET_TO_RETRY
 
                CONFIG_ZERO_BOOTDELAY_CHECK
                CONFIG_RESET_TO_RETRY
 
@@ -1149,9 +1049,7 @@ The following options need to be configured:
                Monitor commands can be included or excluded
                from the build by using the #include files
                <config_cmd_all.h> and #undef'ing unwanted
                Monitor commands can be included or excluded
                from the build by using the #include files
                <config_cmd_all.h> and #undef'ing unwanted
-               commands, or using <config_cmd_default.h>
-               and augmenting with additional #define's
-               for wanted commands.
+               commands, or adding #define's for wanted commands.
 
                The default command configuration includes all commands
                except those marked below with a "*".
 
                The default command configuration includes all commands
                except those marked below with a "*".
@@ -1484,9 +1382,6 @@ The following options need to be configured:
                Management command for E1000 devices.  When used on devices
                with SPI support you can reprogram the EEPROM from U-Boot.
 
                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.
-
                CONFIG_EEPRO100
                Support for Intel 82557/82559/82559ER chips.
                Optional CONFIG_EEPRO100_SROM_WRITE enables EEPROM
                CONFIG_EEPRO100
                Support for Intel 82557/82559/82559ER chips.
                Optional CONFIG_EEPRO100_SROM_WRITE enables EEPROM
@@ -1599,12 +1494,6 @@ The following options need to be configured:
                Support for i2c bus TPM devices. Only one device
                per system is supported at this time.
 
                Support for i2c bus TPM devices. Only one device
                per system is supported at this time.
 
-                       CONFIG_TPM_TIS_I2C_BUS_NUMBER
-                       Define the the i2c bus number for the TPM device
-
-                       CONFIG_TPM_TIS_I2C_SLAVE_ADDRESS
-                       Define the TPM's address on the i2c bus
-
                        CONFIG_TPM_TIS_I2C_BURST_LIMITATION
                        Define the burst count bytes upper limit
 
                        CONFIG_TPM_TIS_I2C_BURST_LIMITATION
                        Define the burst count bytes upper limit
 
@@ -1774,7 +1663,7 @@ The following options need to be configured:
                key for the Replay Protection Memory Block partition in eMMC.
 
 - USB Device Firmware Update (DFU) class support:
                key for the Replay Protection Memory Block partition in eMMC.
 
 - USB Device Firmware Update (DFU) class support:
-               CONFIG_DFU_FUNCTION
+               CONFIG_USB_FUNCTION_DFU
                This enables the USB portion of the DFU USB class
 
                CONFIG_CMD_DFU
                This enables the USB portion of the DFU USB class
 
                CONFIG_CMD_DFU
@@ -1819,6 +1708,9 @@ The following options need to be configured:
                sending again an USB request to the device.
 
 - USB Device Android Fastboot support:
                sending again an USB request to the device.
 
 - USB Device Android Fastboot support:
+               CONFIG_USB_FUNCTION_FASTBOOT
+               This enables the USB part of the fastboot gadget
+
                CONFIG_CMD_FASTBOOT
                This enables the command "fastboot" which enables the Android
                fastboot mode for the platform's USB device. Fastboot is a USB
                CONFIG_CMD_FASTBOOT
                This enables the command "fastboot" which enables the Android
                fastboot mode for the platform's USB device. Fastboot is a USB
@@ -1830,12 +1722,12 @@ The following options need to be configured:
                This enables support for booting images which use the Android
                image format header.
 
                This enables support for booting images which use the Android
                image format header.
 
-               CONFIG_USB_FASTBOOT_BUF_ADDR
+               CONFIG_FASTBOOT_BUF_ADDR
                The fastboot protocol requires a large memory buffer for
                downloads. Define this to the starting RAM address to use for
                downloaded images.
 
                The fastboot protocol requires a large memory buffer for
                downloads. Define this to the starting RAM address to use for
                downloaded images.
 
-               CONFIG_USB_FASTBOOT_BUF_SIZE
+               CONFIG_FASTBOOT_BUF_SIZE
                The fastboot protocol requires a large memory buffer for
                downloads. This buffer should be as large as possible for a
                platform. Define this to the size available RAM for fastboot.
                The fastboot protocol requires a large memory buffer for
                downloads. This buffer should be as large as possible for a
                platform. Define this to the size available RAM for fastboot.
@@ -1975,12 +1867,6 @@ CBFS (Coreboot Filesystem) support
                boot.  See the documentation file README.video for a
                description of this variable.
 
                boot.  See the documentation file README.video for a
                description of this variable.
 
-               CONFIG_VIDEO_VGA
-
-               Enable the VGA video / BIOS for x86. The alternative if you
-               are using coreboot is to use the coreboot frame buffer
-               driver.
-
 
 - Keyboard Support:
                CONFIG_KEYBOARD
 
 - Keyboard Support:
                CONFIG_KEYBOARD
@@ -2215,18 +2101,6 @@ CBFS (Coreboot Filesystem) support
                Some PHY like Intel LXT971A need extra delay after
                command issued before MII status register can be read
 
                Some PHY like Intel LXT971A need extra delay after
                command issued before MII status register can be read
 
-- Ethernet address:
-               CONFIG_ETHADDR
-               CONFIG_ETH1ADDR
-               CONFIG_ETH2ADDR
-               CONFIG_ETH3ADDR
-               CONFIG_ETH4ADDR
-               CONFIG_ETH5ADDR
-
-               Define a default value for Ethernet address to use
-               for the respective Ethernet interface, in case this
-               is not determined automatically.
-
 - IP address:
                CONFIG_IPADDR
 
 - IP address:
                CONFIG_IPADDR
 
@@ -2516,6 +2390,8 @@ CBFS (Coreboot Filesystem) support
                  - define slave for bus 3 with CONFIG_SYS_MXC_I2C3_SLAVE
                If those defines are not set, default value is 100000
                for speed, and 0 for slave.
                  - define slave for bus 3 with CONFIG_SYS_MXC_I2C3_SLAVE
                If those defines are not set, default value is 100000
                for speed, and 0 for slave.
+                 - enable bus 3 with CONFIG_SYS_I2C_MXC_I2C3
+                 - enable bus 4 with CONFIG_SYS_I2C_MXC_I2C4
 
                - drivers/i2c/rcar_i2c.c:
                  - activate this driver with CONFIG_SYS_I2C_RCAR
 
                - drivers/i2c/rcar_i2c.c:
                  - activate this driver with CONFIG_SYS_I2C_RCAR
@@ -2990,8 +2866,8 @@ CBFS (Coreboot Filesystem) support
                completely disabled. Anybody can change or delete
                these parameters.
 
                completely disabled. Anybody can change or delete
                these parameters.
 
-               Alternatively, if you #define _both_ CONFIG_ETHADDR
-               _and_ CONFIG_OVERWRITE_ETHADDR_ONCE, a default
+               Alternatively, if you define _both_ an ethaddr in the
+               default env _and_ CONFIG_OVERWRITE_ETHADDR_ONCE, a default
                Ethernet address is installed in the environment,
                which can be changed exactly ONCE by the user. [The
                serial# is unaffected by this, i. e. it remains
                Ethernet address is installed in the environment,
                which can be changed exactly ONCE by the user. [The
                serial# is unaffected by this, i. e. it remains
@@ -3165,6 +3041,19 @@ CBFS (Coreboot Filesystem) support
                this is instead controlled by the value of
                /config/load-environment.
 
                this is instead controlled by the value of
                /config/load-environment.
 
+- Parallel Flash support:
+               CONFIG_SYS_NO_FLASH
+
+               Traditionally U-boot was run on systems with parallel NOR
+               flash. This option is used to disable support for parallel NOR
+               flash. This option should be defined if the board does not have
+               parallel flash.
+
+               If this option is not defined one of the generic flash drivers
+               (e.g.  CONFIG_FLASH_CFI_DRIVER or CONFIG_ST_SMI) must be
+               selected or the board must provide an implementation of the
+               flash API (see include/flash.h).
+
 - DataFlash Support:
                CONFIG_HAS_DATAFLASH
 
 - DataFlash Support:
                CONFIG_HAS_DATAFLASH
 
@@ -3196,11 +3085,6 @@ CBFS (Coreboot Filesystem) support
                Define this option to include a destructive SPI flash
                test ('sf test').
 
                Define this option to include a destructive SPI flash
                test ('sf test').
 
-               CONFIG_SPI_FLASH_BAR            Ban/Extended Addr Reg
-
-               Define this option to use the Bank addr/Extended addr
-               support on SPI flashes which has size > 16Mbytes.
-
                CONFIG_SF_DUAL_FLASH            Dual flash memories
 
                Define this option to use dual flash support where two flash
                CONFIG_SF_DUAL_FLASH            Dual flash memories
 
                Define this option to use dual flash support where two flash
@@ -4268,6 +4152,10 @@ Configuration Settings:
                list, simply add an entry for the same variable name to the
                ".flags" variable.
 
                list, simply add an entry for the same variable name to the
                ".flags" variable.
 
+       If CONFIG_REGEX is defined, the variable_name above is evaluated as a
+       regular expression. This allows multiple variables to define the same
+       flags without explicitly listing them for each variable.
+
 - CONFIG_ENV_ACCESS_IGNORE_FORCE
        If defined, don't allow the -f switch to env set override variable
        access flags.
 - CONFIG_ENV_ACCESS_IGNORE_FORCE
        If defined, don't allow the -f switch to env set override variable
        access flags.
@@ -4992,6 +4880,9 @@ Low Level (hardware related) configuration options:
 - CONFIG_FSL_DDR_SYNC_REFRESH
                Enable sync of refresh for multiple controllers.
 
 - CONFIG_FSL_DDR_SYNC_REFRESH
                Enable sync of refresh for multiple controllers.
 
+- CONFIG_FSL_DDR_BIST
+               Enable built-in memory test for Freescale DDR controllers.
+
 - CONFIG_SYS_83XX_DDR_USES_CS0
                Only for 83xx systems. If specified, then DDR should
                be configured using CS0 and CS1 instead of CS2 and CS3.
 - CONFIG_SYS_83XX_DDR_USES_CS0
                Only for 83xx systems. If specified, then DDR should
                be configured using CS0 and CS1 instead of CS2 and CS3.
@@ -5178,6 +5069,33 @@ within that device.
        normal addressable memory via the LBC. CONFIG_SYS_LS_MC_FW_ADDR is the
        virtual address in NOR flash.
 
        normal addressable memory via the LBC. CONFIG_SYS_LS_MC_FW_ADDR is the
        virtual address in NOR flash.
 
+Freescale Layerscape Debug Server Support:
+-------------------------------------------
+The Freescale Layerscape Debug Server Support supports the loading of
+"Debug Server firmware" and triggering SP boot-rom.
+This firmware often needs to be loaded during U-Boot booting.
+
+- CONFIG_FSL_DEBUG_SERVER
+       Enable the Debug Server for Layerscape SoCs.
+
+- 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
+
+Reproducible builds
+-------------------
+
+In order to achieve reproducible builds, timestamps used in the U-Boot build
+process have to be set to a fixed value.
+
+This is done using the SOURCE_DATE_EPOCH environment variable.
+SOURCE_DATE_EPOCH is to be set on the build host's shell, not as a configuration
+option for U-Boot or an environment variable in U-Boot.
+
+SOURCE_DATE_EPOCH should be set to a number of seconds since the epoch, in UTC.
+
 Building the Software:
 ======================
 
 Building the Software:
 ======================
 
@@ -5587,7 +5505,7 @@ loaded to, and "Flash Location" gives the image's address in NOR
 flash or offset in NAND flash.
 
 *Note* - these variables don't have to be defined for all boards, some
 flash or offset in NAND flash.
 
 *Note* - these variables don't have to be defined for all boards, some
-boards currenlty use other variables for these purposes, and some
+boards currently use other variables for these purposes, and some
 boards use these variables for other purposes.
 
 Image              File Name        RAM Address       Flash Location
 boards use these variables for other purposes.
 
 Image              File Name        RAM Address       Flash Location
@@ -5663,6 +5581,10 @@ override any association in the static list. You can define
 CONFIG_ENV_CALLBACK_LIST_DEFAULT to a list (string) to define the
 ".callbacks" environment variable in the default or embedded environment.
 
 CONFIG_ENV_CALLBACK_LIST_DEFAULT to a list (string) to define the
 ".callbacks" environment variable in the default or embedded environment.
 
+If CONFIG_REGEX is defined, the variable_name above is evaluated as a
+regular expression. This allows multiple variables to be connected to
+the same callback without explicitly listing them all out.
+
 
 Command Line Parsing:
 =====================
 
 Command Line Parsing:
 =====================
@@ -5737,7 +5659,8 @@ o If both the SROM and the environment contain a MAC address, and the
   warning is printed.
 
 o If neither SROM nor the environment contain a MAC address, an error
   warning is printed.
 
 o If neither SROM nor the environment contain a MAC address, an error
-  is raised.
+  is raised. If CONFIG_NET_RANDOM_ETHADDR is defined, then in this case
+  a random, locally-assigned MAC is used.
 
 If Ethernet drivers implement the 'write_hwaddr' function, valid MAC addresses
 will be programmed into hardware as part of the initialization process.         This
 
 If Ethernet drivers implement the 'write_hwaddr' function, valid MAC addresses
 will be programmed into hardware as part of the initialization process.         This