1. 19 Jan, 2012 1 commit
  2. 05 Jan, 2012 1 commit
  3. 17 Dec, 2011 1 commit
    • Sonny Rao's avatar
      Add safe vsnprintf and snprintf library functions · 046a37bd
      Sonny Rao authored
      From: Sonny Rao <sonnyrao@chromium.org>
      
      These functions are useful in U-Boot because they allow a graceful failure
      rather than an unpredictable stack overflow when printf() buffers are
      exceeded.
      
      Mostly copied from the Linux kernel. I copied vscnprintf and
      scnprintf so we can change printf and vprintf to use the safe
      implementation but still return the correct values.
      
      (Simon Glass <sjg@chromium.org> modified this commit a little)
      Signed-off-by: default avatarSonny Rao <sonnyrao@chromium.org>
      046a37bd
  4. 16 Dec, 2011 1 commit
  5. 09 Dec, 2011 1 commit
    • Simon Glass's avatar
      Add board_pre_console_putc to deal with early console output · 295d3942
      Simon Glass authored
      This patch adds support for console output before the console is inited.
      The main purpose of this is to deal with a very early panic() which would
      otherwise cause a silent hang.
      
      A new board_pre_console_putc() function is added to the board API. If
      provided by the board it will be called in the event of console output
      before the console is ready. This function should turn on all UARTs and
      spray the character out if it possibly can.
      
      The feature is controlled by a new CONFIG_PRE_CONSOLE_PUTC option.
      Signed-off-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      Acked-by: default avatarGraeme Russ <graeme.russ@gmail.com>
      295d3942
  6. 08 Dec, 2011 1 commit
  7. 07 Dec, 2011 1 commit
    • Vadim Bendebury's avatar
      Introduce generic TPM support in u-boot · 5e124724
      Vadim Bendebury authored
      TPM (Trusted Platform Module) is an integrated circuit and
      software platform that provides computer manufacturers with the
      core components of a subsystem used to assure authenticity,
      integrity and confidentiality.
      
      This driver supports version 1.2 of the TCG (Trusted Computing
      Group) specifications.
      
      The TCG specification defines several so called localities in a
      TPM chip, to be controlled by different software layers. When
      used on a typical x86 platform during the firmware phase, only
      locality 0 can be accessed by the CPU, so this driver even while
      supporting the locality concept presumes that only locality zero
      is used.
      
      This implementation is loosely based on the article "Writing a
      TPM Device Driver" published on http://ptgmedia.pearsoncmg.com
      
      Compiling this driver with DEBUG defined will generate trace of
      all accesses to TMP registers.
      
      This driver has been tested and is being used in three different
      functional ChromeOS machines (Pinetrail and Sandy Bridge Intel
      chipsets) all using the same Infineon SLB 9635 TT 1.2 device.
      
      A u-boot cli command allowing access to the TPM was also
      implemented and is being submitted as a second patch.
      
      Change-Id: I22a33c3e5b2e20eec9557a7621bd463b30389d73
      Signed-off-by: default avatarVadim Bendebury <vbendeb@chromium.org>
      CC: Wolfgang Denk <wd@denx.de>
      5e124724
  8. 29 Nov, 2011 1 commit
    • Timur Tabi's avatar
      powerpc/85xx: clean up and document the QE/FMAN microcode macros · f2717b47
      Timur Tabi authored
      Several macros are used to identify and locate the microcode binary image
      that U-boot needs to upload to the QE or Fman.  Both the QE and the Fman
      use the QE Firmware binary format to package their respective microcode data,
      which is why the same macros are used for both.  A given SOC will only have
      a QE or an Fman, so this is safe.
      
      Unfortunately, the current macro definition and usage has inconsistencies.
      For example, CONFIG_SYS_FMAN_FW_ADDR was used to define the address of Fman
      firmware in NOR flash, but CONFIG_SYS_QE_FW_IN_NAND contains the address
      of NAND.  There's no way to know by looking at a variable how it's supposed
      to be used.
      
      In the future, the code which uploads QE firmware and Fman firmware will
      be merged.
      Signed-off-by: default avatarTimur Tabi <timur@freescale.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      f2717b47
  9. 15 Nov, 2011 1 commit
    • Heiko Schocher's avatar
      arm, davinci_emac: fix driver bug if more then 3 PHYs are detected · dc02bada
      Heiko Schocher authored
      since commits:
      davinci: emac: add support for more than 1 PHYs
      062fe7d3
      
      davinci: remove obsolete macro CONFIG_EMAC_MDIO_PHY_NUM
      fb1d6332
      
      I get following warning on the enbw_cmc board:
      
      Err:   serial
      Net:    5 ETH PHY detected
      miiphy_register: non unique device name 'KSZ8873 @ 0x01'
      DaVinci-EMAC
      Hit any key to stop autoboot:  0
      
      Also I see some debug printfs:
      
      => run load
      + emac_close
      + emac_ch_teardown
      - emac_ch_teardown
      + emac_ch_teardown
      - emac_ch_teardown
      - emac_close
      + emac_open
      - emac_open
      Using DaVinci-EMAC device
      
      reason is 062fe7d3 new define MAX_PHY.
      This is set to 3! I get on this board 5 active phys, so
      this leads in wrong memory writes ...
      
      so I changed:
      
      - define CONFIG_SYS_DAVINCI_EMAC_PHY_COUNT to set
        the MAX_PHY value, add a description in README
        for the new CONFIG_SYS option.
      - print an error message if more then MAX_PHYs are
        detected.
      - fill the active_phy_addr array in a for loop with
        0xff
      - changed printf() in debug_emac()
      Signed-off-by: Heiko Schocher's avatarHeiko Schocher <hs@denx.de>
      Cc: Sandeep Paulraj <s-paulraj@ti.com>
      Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
      Cc: Wolfgang Denk <wd@denx.de>
      Cc: Manjunath Hadli <manjunath.hadli@ti.com>
      Cc: Prabhakar Lad <prabhakar.csengg@gmail.com>
      Cc: Mike Frysinger <vapier@gentoo.org>
      Cc: Tom Rini <tom.rini@gmail.com>
      Signed-off-by: default avatarSandeep Paulraj <s-paulraj@ti.com>
      dc02bada
  10. 04 Nov, 2011 1 commit
  11. 03 Nov, 2011 2 commits
  12. 27 Oct, 2011 4 commits
    • Kyle Moffett's avatar
      e1000: Allow direct access to the E1000 SPI EEPROM device · ce5207e1
      Kyle Moffett authored
      As a part of the manufacturing process for some of our custom hardware,
      we are programming the EEPROMs attached to our Intel 82571EB controllers
      from software using U-Boot and Linux.
      
      This code provides several conditionally-compiled features to assist in
      our manufacturing process:
      
        CONFIG_CMD_E1000:
          This is a basic "e1000" command which allows querying the controller
          and (if other config options are set) performing EEPROM programming.
          In particular, with CONFIG_E1000_SPI this allows you to display a
          hex-dump of the EEPROM, copy to/from main memory, and verify/update
          the software checksum.
      
        CONFIG_E1000_SPI_GENERIC:
          Build a generic SPI driver providing the standard U-Boot SPI driver
          interface.  This allows commands such as "sspi" to access the bus
          attached to the E1000 controller.  Additionally, some E1000 chipsets
          can support user data in a reserved space in the E1000 EEPROM which
          could be used for U-Boot environment storage.
      
        CONFIG_E1000_SPI:
          The core SPI access code used by the above interfaces.
      
      For example, the following commands allow you to program the EEPROM from
      a USB device (assumes CONFIG_E1000_SPI and CONFIG_CMD_E1000 are enabled):
        usb start
        fatload usb 0 $loadaddr 82571EB_No_Mgmt_Discrete-LOM.bin
        e1000 0 spi program $loadaddr 0 1024
        e1000 0 spi checksum update
      
      Please keep in mind that the Intel-provided .eep files are organized as
      16-bit words.  When converting them to binary form for programming you
      must byteswap each 16-bit word so that it is in little-endian form.
      
      This means that when reading and writing words to the SPI EEPROM, the
      bit ordering for each word looks like this on the wire:
      
        Time >>>
      ------------------------------------------------------------------
        ... [7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8], ...
      ------------------------------------------------------------------
        (MSB is 15, LSB is 0).
      Signed-off-by: default avatarKyle Moffett <Kyle.D.Moffett@boeing.com>
      Cc: Ben Warren <biggerbadderben@gmail.com>
      ce5207e1
    • Helmut Raiger's avatar
      cosmetic: s/BOARD_LATE_INIT/CONFIG_BOARD_LATE_INIT · 9660e442
      Helmut Raiger authored
      This renames BOARD_LATE_INIT to CONFIG_BOARD_LATE_INIT.
      Along the way it removes some leftover
      
       #define BOARD_LATE_INIT		1
      
      and adds some basic documentation for board specific
      callbacks in README.
      Signed-off-by: default avatarHelmut Raiger <helmut.raiger@hale.at>
      Acked-by: Stefano Babic's avatarStefano Babic <sbabic@denx.de>
      9660e442
    • Wolfgang Denk's avatar
      README: improve documentation of network related CONFIG_ settings · 1ebcd654
      Wolfgang Denk authored
      Add documentation for CONFIG_GATEWAYIP and CONFIG_NETMASK;
      also add information which environment variables are set.
      Signed-off-by: Wolfgang Denk's avatarWolfgang Denk <wd@denx.de>
      Acked-by: Simon Glass's avatarSimon Glass <sjg@chromium.org>
      1ebcd654
    • Wolfgang Denk's avatar
      README: white-space cleanup · c0f40859
      Wolfgang Denk authored
      Signed-off-by: Wolfgang Denk's avatarWolfgang Denk <wd@denx.de>
      c0f40859
  13. 26 Oct, 2011 6 commits
  14. 21 Oct, 2011 1 commit
  15. 17 Oct, 2011 1 commit
  16. 10 Oct, 2011 1 commit
    • Xiangfu Liu's avatar
      MIPS: Ingenic XBurst Jz4740 processor support · 80421fcc
      Xiangfu Liu authored
      Jz4740 is a multimedia application processor targeting for mobile
      devices like e-Dictionary, eBook, portable media player (PMP) and
      GPS navigator.  Jz4740 is powered by Ingenic 360 MHz XBurst CPU core
      (JzRISC), in which RISC/SIMD/DSP hybrid instruction set architecture
      provides high integration, high performance and low power consumption.
      
      JzRISC incorporated in Jz4740 is the advanced and power-efficient
      32-bit RISC core, compatible with MIPS32, with 16K I-Cache and 16K
      D-Cache, and can operate at speeds up to 400 MHz.
      
      On-chip modules such as LCD controller, embedded audio codec, multi-
      channel SAR-ADC, AC97/I2S controller and camera I/F offer a rich
      suite of peripherals for multimedia application.  NAND controller
      (SLC/MLC), USB (host 1.1 and device 2.0), UART, I2C, SPI, etc. are
      also available.
      
      For more info about Ingenic XBurst Jz4740:
        http://en.ingenic.cn/eng/
        http://www.linux-mips.org/wiki/Ingenic
      
      This patch introduces XBurst CPU support in U-Boot.  It's compatible
      with MIPS32, but requires a bit different cache maintenance, timer
      routines, and boot mechanism using USB boot tool, so XBurst support
      can go into a separate new home, cpu/xburst/.
      Signed-off-by: default avatarXiangfu Liu <xiangfu@openmobilefree.net>
      Acked-by: default avatarDaniel <zpxu@ingenic.cn>
      Signed-off-by: default avatarShinya Kuribayashi <skuribay@pobox.com>
      80421fcc
  17. 09 Oct, 2011 4 commits
    • York Sun's avatar
      powerpc/8xxx: Add support for interactive DDR programming interface · 6f5e1dc5
      York Sun authored
      Interactive DDR debugging provides a user interface to view and modify SPD,
      DIMM parameters, board options and DDR controller registers before DDR is
      initialized. With this feature, developers can fine-tune DDR for board
      bringup and other debugging without frequently having to reprogram the flash.
      
      To enable this feature, define CONFIG_FSL_DDR_INTERACTIVE in board header
      file and set an environment variable to activate it. Syntax:
      
      setenv ddr_interactive on
      
      After reset, U-boot prompts before initializing DDR controllers
      FSL DDR>
      
      The available commands are
      print      print SPD and intermediate computed data
      reset      reboot machine
      recompute  reload SPD and options to default and recompute regs
      edit       modify spd, parameter, or option
      compute    recompute registers from current next_step to end
      next_step  shows current next_step
      help       this message
      go         program the memory controller and continue with u-boot
      
      The first command should be "compute", which reads data from DIMM SPDs and
      board options, performs the calculation then stops before setting DDR
      controller. A user can use "print" and "edit" commands to view and modify
      anything. "Go" picks up from current step with any modification and
      compltes the calculation then enables the DDR controller to continue u-boot.
      "Recompute" does it over from fresh reading.
      Signed-off-by: default avatarYork Sun <yorksun@freescale.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      6f5e1dc5
    • Che-liang Chiou's avatar
      cmd_time: add time command · ca366d0e
      Che-liang Chiou authored
      The 'time' command runs and reports execution time of commands.
      
      Sample usage:
      --------------------
      u-boot# time crc 0x1000 1000
      CRC32 for 00001000 ... 00001fff ==> ae94dc4b
      
      time: 0.004 seconds, 4 ticks
      --------------------
      Signed-off-by: default avatarChe-Liang Chiou <clchiou@chromium.org>
      Acked-by: default avatarMike Frysinger <vapier@gentoo.org>
      ca366d0e
    • Wolfgang Denk's avatar
      README: fix typos and such. · 6feff899
      Wolfgang Denk authored
      Reported-by: default avatarMichael Jones <michael.jones@matrix-vision.de>
      Signed-off-by: Wolfgang Denk's avatarWolfgang Denk <wd@denx.de>
      6feff899
    • Wolfgang Denk's avatar
      README: fix documentation of CONFIG_SHOW_BOOT_PROGRESS · 4cf2609b
      Wolfgang Denk authored
      Some previous changes added code right in the middle of the
      description of CONFIG_SHOW_BOOT_PROGRESS.  Move this text down.
      Fix formatting while we are at it.
      Signed-off-by: Wolfgang Denk's avatarWolfgang Denk <wd@denx.de>
      4cf2609b
  18. 05 Oct, 2011 2 commits
    • Mike Frysinger's avatar
      net: drop !NET_MULTI code · e2a53458
      Mike Frysinger authored
      This is long over due.  All but two net drivers have been converted, but
      those have now been dropped.
      
      The only thing left to do is actually delete all references to NET_MULTI
      and code that is compiled when that is not defined.  So here we scrub the
      core code.
      Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
      e2a53458
    • Graeme Russ's avatar
      console: Implement pre-console buffer · 9558b48a
      Graeme Russ authored
      Allow redirection of console output prior to console initialisation to a
      temporary buffer.
      
      To enable this functionality, the board (or arch) must define:
       - CONFIG_PRE_CONSOLE_BUFFER - Enable pre-console buffer
       - CONFIG_PRE_CON_BUF_ADDR - Base address of pre-console buffer
       - CONFIG_PRE_CON_BUF_SZ - Size of pre-console buffer (in bytes)
      
      The pre-console buffer will buffer the last CONFIG_PRE_CON_BUF_SZ bytes
      Any earlier characters are silently dropped.
      9558b48a
  19. 30 Sep, 2011 1 commit
    • Timur Tabi's avatar
      powerpc/85xx: introduce and document CONFIG_SYS_CCSRBAR macros · e46fedfe
      Timur Tabi authored
      Introduce the CONFIG_SYS_CCSRBAR_PHYS_HIGH and CONFIG_SYS_CCSRBAR_PHYS_LOW
      macros, which contain the high and low portions of CONFIG_SYS_CCSRBAR_PHYS.
      This is necessary for the assembly-language code that relocates CCSR, since
      the assembler does not understand 64-bit constants.
      
      CONFIG_SYS_CCSRBAR_PHYS is automatically defined from the
      CONFIG_SYS_CCSRBAR_PHYS_HIGH and CONFIG_SYS_CCSRBAR_PHYS_LOW macros, so it
      should not be defined in a board header file.  Similarly,
      CONFIG_SYS_CCSRBAR_DEFAULT is defined for each SOC in config_mpc85xx.h, so
      it should also not be defined in the board header file.
      
      CONFIG_SYS_CCSR_DO_NOT_RELOCATE is a "short-cut" macro that guarantees that
      CONFIG_SYS_CCSRBAR_PHYS is set to the same value as CONFIG_SYS_CCSRBAR_DEFAULT,
      and so CCSR will not be relocated.
      
      Since CONFIG_SYS_CCSRBAR_DEFAULT is locked to a fixed value, multi-stage U-Boot
      builds (e.g. NAND) are required to relocate CCSR only during the last stage
      (i.e. the "real" U-Boot).  All other stages should define
      CONFIG_SYS_CCSR_DO_NOT_RELOCATE to ensure that CCSR is not relocated.
      
      README is updated with descriptions of all the CONFIG_SYS_CCSRBAR_xxx macros.
      Signed-off-by: default avatarTimur Tabi <timur@freescale.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      e46fedfe
  20. 11 Sep, 2011 1 commit
  21. 03 Aug, 2011 1 commit
  22. 31 Jul, 2011 1 commit
  23. 29 Jul, 2011 1 commit
  24. 28 Jul, 2011 1 commit
  25. 26 Jul, 2011 3 commits