1. 22 Mar, 2013 1 commit
  2. 15 Mar, 2013 2 commits
    • Simon Glass's avatar
      Add CONFIG_SYS_SYM_OFFSETS to support offset symbols · 632efa74
      Simon Glass authored
      
      
      Link symbols as created by the link script can either be absolute or
      relative to the text start. This option switches between the two options
      so that we can support both.
      
      As we convert architectures over to generic board, we can see if this
      option is actually needed, or whether it is possible to unify this feature
      also.
      Signed-off-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      632efa74
    • Simon Glass's avatar
      __HAVE_ARCH_GENERIC_BOARD controls availabilty of generic board · 5c1a7ea6
      Simon Glass authored
      
      
      We are introducing a new unified board setup. Add a check to make sure that
      board config files do not define CONFIG_SYS_GENERIC_BOARD unless their
      architecture defines __HAVE_ARCH_GENERIC_BOARD
      
      __HAVE_ARCH_GENERIC_BOARD will currently not be the default setting, but
      we can switch this later when most architecture support generic board.
      Signed-off-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      5c1a7ea6
  3. 13 Mar, 2013 1 commit
    • Stephen Warren's avatar
      ARM: implement some Cortex-A9 errata workarounds · 0678587f
      Stephen Warren authored
      
      
      Various errata exist in the Cortex-A9 CPU, and may be worked around by
      setting some bits in a CP15 diagnostic register. Add code to implement
      the workarounds, enabled by new CONFIG_ options.
      
      This code was taken from the Linux kernel, v3.8, arch/arm/mm/proc-v7.S,
      and modified to remove the logic to conditionally apply the WAR (since we
      know exactly which CPU we're running on given the U-Boot configuration),
      and use r0 instead of r10 for consistency with the rest of U-Boot's
      cpu_init_cp15().
      Signed-off-by: Stephen Warren's avatarStephen Warren <swarren@nvidia.com>
      Acked-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      0678587f
  4. 11 Mar, 2013 2 commits
    • Wolfgang Denk's avatar
      Feature Removal: disable "mtest" command by default · a2681707
      Wolfgang Denk authored
      
      
      The "mtest" command is of little practical use (if any), and
      experience has shown that a large number of board configurations
      define useless or even dangerous start and end addresses.  If not even
      the board maintainers are able to figure out which memory range can be
      reliably tested, how can we expect such from the end users?  As this
      problem comes up repeatedly, we rather do not enable this command by
      default, so only people who know what they are doing will be
      confronted with it.
      
      As this changes the user interface, we allow for a grace period
      before this change takes effect. For now, we make "mtest"
      configurable through the CONFIG_CMD_MEMTEST variable, which is defined
      in include/config_cmd_default.h;  we also add an entry to
      doc/feature-removal-schedule.txt which announces the removal of this
      default setting in two releases from now, i. e. with v2013.07.
      Signed-off-by: Wolfgang Denk's avatarWolfgang Denk <wd@denx.de>
      Cc: Tom Rini <trini@ti.com>
      a2681707
    • Nikita Kiryanov's avatar
      lcd: implement a callback for splashimage · c0880485
      Nikita Kiryanov authored
      
      
      On some architectures certain values of splashimage will lead to
      a data abort exception.
      
      Document the problem, and implement a callback for splashimage to
      reject such values.
      
      Cc: Anatolij Gustschin <agust@denx.de>
      Cc: Wolfgang Denk <wd@denx.de>
      Signed-off-by: default avatarNikita Kiryanov <nikita@compulab.co.il>
      Acked-by: default avatarIgor Grinberg <grinberg@compulab.co.il>
      c0880485
  5. 08 Mar, 2013 1 commit
    • Nikita Kiryanov's avatar
      lcd: add option for board specific splash screen preparation · 581bb419
      Nikita Kiryanov authored
      
      
      Currently there is no logical place to put the code that prepares the
      splash image data. The splash image data should be ready in memory
      before bmp_display() is called, and after the environment is ready
      (since lcd.c looks for the splash image in an address specified by
      the environment variable "splashimage").
      
      Our window of opportunity in board_init_r() is therefore: between
      env_relocate() and bmp_display(), and from the available options
      only the lcd related functions in drv_lcd_init() seem appropriate
      for such lcd oriented code.
      
      Add the option to prepare the splash image data in lcd_logo() right
      before it is sent to be displayed.
      
      Cc: Anatolij Gustschin <agust@denx.de>
      Cc: Jeroen Hofstee <jeroen@myspectrum.nl>
      Signed-off-by: default avatarNikita Kiryanov <nikita@compulab.co.il>
      Signed-off-by: default avatarIgor Grinberg <grinberg@compulab.co.il>
      581bb419
  6. 04 Mar, 2013 1 commit
  7. 01 Mar, 2013 1 commit
    • Simon Glass's avatar
      sandbox: Add un/map_sysmen() to deal with sandbox's ram_buf · 4213fc29
      Simon Glass authored
      
      
      Sandbox doesn't actually provide U-Boot access to the machine's physical
      memory. Instead it provides a RAM buffer of configurable size, and all
      memory accesses are within that buffer. Sandbox memory starts at 0 and
      is CONFIG_DRAM_SIZE bytes in size. Allowing access outside this buffer
      might produce unpredictable results in the event of an error, and would
      expose the host machine's memory architecture to the sandbox U-Boot.
      
      Most U-Boot functions assume that they can just access memory at given
      address. For sandbox this is not true.
      
      Add a map_sysmem() call which converts a U-Boot address to a system
      address. In most cases this is a NOP, but for sandbox it returns a
      pointer to that memory inside the RAM buffer.
      
      To get a U-Boot feature to work correctly within sandbox, you should call
      map_sysmem() to get a pointer to the address, and then use that address for
      any U-Boot memory accesses.
      Signed-off-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      4213fc29
  8. 22 Feb, 2013 1 commit
  9. 15 Feb, 2013 2 commits
  10. 14 Jan, 2013 1 commit
  11. 10 Jan, 2013 5 commits
    • Javier Martinez Canillas's avatar
      serial/ns16550: add an option to avoid hanging on broken platforms · 7de0fe1a
      Javier Martinez Canillas authored
      
      
      Some platforms (e.g. IGEPv2 board) has a broken ns16550 UART that
      does not set the TEMT bit when the transmitter is empty in SPL.
      This makes U-Boot to hang while waiting for TEMT to be set.
      
      Add a new option to avoid this:
      
      CONFIG_SYS_NS16550_BROKEN_TEMT
      
      16550 UART set the Transmitter Empty (TEMT) Bit when all output
      has finished and the transmitter is totally empty. U-Boot waits
      for this bit to be set to initialize the serial console. On some
      broken platforms this bit is not set in SPL making U-Boot to
      hang while waiting for TEMT. Define this option to avoid it.
      Signed-off-by: default avatarJavier Martinez Canillas <javier.martinez@collabora.co.uk>
      7de0fe1a
    • Simon Glass's avatar
      Add option to display customised memory information · 15a33e49
      Simon Glass authored
      
      
      Some boards want to report more than just memory size. For example, it
      might be useful to display the memory type (DDR2, DDR3) or manufacturer.
      
      Add a weak function to support this requirement, accessed through a new
      'meminfo' command.
      
      Any example of the DRAM: output is below, just for illustration:
      
      SMDK5250 # meminfo
      DRAM:  2 GiB Elpida DDR3 @ 800MHz
      Signed-off-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      15a33e49
    • Simon Glass's avatar
      arm: Add CONFIG_DISPLAY_BOARDINFO_LATE to display board info on LCD · e2e3e2b1
      Simon Glass authored
      
      
      This option displays board info after stdio is running, so that it will
      appear on the LCD. If it is displayed earlier, the board info will appear
      on the serial console but not on the LCD.
      
      Here follows a blow-by-blow description.
      
      1a. Without CONFIG_DISPLAY_BOARDINFO_LATE, on serial:
      
      U-Boot 2011.12-02550-g037e1c5-dirty (Nov 15 2012 - 14:29:42) for SMDK5250
      
      CPU:   S5PC520 @ 1700MHz
      
      Board: Google Snow, rev 0
      I2C:   ready
      DRAM:  2 GiB Elpida DDR3 @ 800MHz
      MMC:   S5P MSHC0: 0, S5P MSHC1: 1
      SF: Detected W25Q32 with page size 4 KiB, total 4 MiB
      *** Warning - bad CRC, using default environment
      
      In:    mkbp-keyb
      Out:   lcd
      Err:   lcd
      Net:   No ethernet found.
      Hit any key to stop autoboot:  0
      SMDK5250 #
      
      1b. Without CONFIG_DISPLAY_BOARDINFO_LATE, on LCD (note machine info
      is missing):
      
      In:    mkbp-keyb
      Out:   lcd
      Err:   lcd
      Net:   No ethernet found.
      Hit any key to stop autoboot:  0
      SMDK5250 #
      
      2a. With CONFIG_DISPLAY_BOARDINFO_LATE, on serial:
      
      U-Boot 2011.12-02550-g037e1c5 (Nov 15 2012 - 14:27:40) for SMDK5250
      
      CPU:   S5PC520 @ 1700MHz
      I2C:   ready
      DRAM:  2 GiB Elpida DDR3 @ 800MHz
      MMC:   S5P MSHC0: 0, S5P MSHC1: 1
      SF: Detected W25Q32 with page size 4 KiB, total 4 MiB
      *** Warning - bad CRC, using default environment
      
      Model: Google Snow
      In:    mkbp-keyb
      Out:   lcd
      Err:   lcd
      Net:   No ethernet found.
      Hit any key to stop autoboot:  0
      SMDK5250 #
      
      2b. With CONFIG_DISPLAY_BOARDINFO_LATE, on LCD (note machine info is present):
      
      Model: Google Snow
      In:    mkbp-keyb
      Out:   lcd
      Err:   lcd
      Net:   No ethernet found.
      Hit any key to stop autoboot:  0
      SMDK5250 #
      
      Since the LCD is all that a typical user sees, it is useful to display
      the model there.
      
      We may be able to rearrange things some other way one day, but at
      present this seems like a convenient way of getting the required
      behaviour.
      Signed-off-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      e2e3e2b1
    • Simon Glass's avatar
      Document the CONFIG_DISPLAY_BOARDINFO option · b2b92f53
      Simon Glass authored
      
      
      Add a short note about this in the README.
      Signed-off-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      b2b92f53
    • Simon Glass's avatar
      arm: Add CONFIG_DELAY_ENVIRONMENT to delay environment loading · 06fd8538
      Simon Glass authored
      This option delays loading of the environment until later, so that only the
      default environment will be available to U-Boot.
      
      This can address the security risk of untrusted data being used during boot.
      
      Any time you load untrusted data you expose yourself to a bug in the
      code. The attacker gets to choose the data so can sometimes carefully
      craft it to exploit a bug. We try to avoid touching user-controlled
      data during a verified boot unless strictly necessary. Since the
      default environment is good enough in this case (or you would just
      change it), this gets around the problem by just not loading the
      environment.
      
      When CONFIG_DELAY_ENVIRONMENT is defined, it is convenient to have a
      run-time way of enabling loading of the environment. Add this to the
      fdt as /config/delay-environment.
      
      Note: This patch depends on http://patchwork.ozlabs.org/patch/194342/
      
      Signed-off-by: default avatarDoug Anderson <dianders@chromium.org>
      Signed-off-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      Reviewed-by: default avatarDoug Anderson <dianders@chromium.org>
      06fd8538
  12. 19 Dec, 2012 3 commits
  13. 15 Dec, 2012 1 commit
  14. 13 Dec, 2012 5 commits
  15. 11 Dec, 2012 4 commits
    • Tom Wai-Hong Tam's avatar
      edid: Add I2C command for printing the EDID · 735987c5
      Tom Wai-Hong Tam authored
      
      
      Add a single command to read the EDID information over I2C.
      
      For example:
      
      SMDK5250 # i2c dev 7
      Setting bus to 7
      SMDK5250 # i2c edid 50
      EDID version: 1.4
      Product ID code: 305c
      Manufacturer: AUO
      Serial number: 00000000
      Manufactured in week: 0 year: 2011
      Video input definition: digital signal, voltage level 0, blank to black
      Monitor is non-RGB
      Maximum visible display size: 26 cm x 14 cm
      Power management features: no active off, no suspend, no standby
      Estabilished timings:
      Standard timings:
              1366x768        60 Hz (detailed)
              1366x768        60 Hz (detailed)
      Monitor ID: 2VD2K.B116XW
      Signed-off-by: default avatarTom Wai-Hong Tam <waihong@chromium.org>
      Signed-off-by: default avatarSean Paul <seanpaul@chromium.org>
      Signed-off-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      735987c5
    • Simon Glass's avatar
      Add hash command to perform hashing using various algorithms · bf36c5d5
      Simon Glass authored
      
      
      This new command supports hashing SHA1 and SHA256. It could be extended
      to others such as MD5 and the CRC algorithms. The syntax is modeled on
      those:
      
         hash <algorithm> <address> <length> [*<dest_addr> | <dest_envvar>]
      
      to calculate a hash, and:
      
         hash -v <algorithm> <address> <length> [*<verify_addr> | <verify_envvar>]
      
      to verify a hash.
      
      Use CONFIG_CMD_HASH to enable the command, CONFIG_SHA1 to enable SHA1 and
      CONFIG_SHA256 to enable SHA256.
      
      The existing sha1sum command remains.
      Signed-off-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      bf36c5d5
    • Kenneth Waters's avatar
      Add a command to read raw blocks from a partition · ff048ea9
      Kenneth Waters authored
      
      
      Sometimes data is on a block device and within a partition, but not in a
      particular filesystem.
      
      This commands permits reading raw data from a partition.
      Signed-off-by: default avatarKenneth Waters <kwaters@chromium.org>
      Signed-off-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      ff048ea9
    • Anton Staaf's avatar
      Add gettime command · 53fdc7ef
      Anton Staaf authored
      
      
      Gettime returns the current timer value.  If CONFIG_SYS_HZ is defined
      then the timer value is also converted to seconds.
      
      Tegra20 (SeaBoard) # gettime
      Timer val: 7754
      Seconds : 7
      Remainder : 754
      sys_hz = 1000
      
      There has been some discussion about whether this is useful enough to
      be included in U-Boot. The following boards do not have CONFIG_SYS_HZ
      defined:
      
      M52277EVB
      M52277EVB_stmicro
      M53017EVB
      M54418TWR
      M54418TWR_nand_mii
      M54418TWR_nand_rmii
      M54418TWR_nand_rmii_lowfreq
      M54418TWR_serial_mii
      M54418TWR_serial_rmii
      Signed-off-by: default avatarAnton Staaf <robotboy@chromium.org>
      Signed-off-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      53fdc7ef
  16. 06 Dec, 2012 3 commits
  17. 30 Nov, 2012 1 commit
  18. 28 Nov, 2012 1 commit
  19. 26 Nov, 2012 4 commits