1. 31 3月, 2012 2 次提交
    • M
      BOOT: Add RAW ramdisk support to bootz · 017e1f3f
      Marek Vasut 提交于
      This patch allows loading RAW ramdisk via bootz command. The raw ramdisk is
      loaded only in case it's size is specified:
      
        bootz <kernel addr> <ramdisk addr>:<ramdisk size> <fdt addr>
      
      For example:
      
        bootz 0x42000000 0x43000000:0x12345 0x44000000
      Signed-off-by: NMarek Vasut <marex@denx.de>
      Signed-off-by: NRob Herring <rob.herring@calxeda.com>
      Cc: Tom Warren <TWarren@nvidia.com>
      Cc: albert.u.boot@aribaud.net
      Cc: afleming@gmail.com
      Cc: Simon Glass <sjg@chromium.org>
      Cc: Stephen Warren <swarren@nvidia.com>
      Cc: Nicolas Pitre <nico@fluxnic.net>
      Cc: Wolfgang Denk <wd@denx.de>
      Cc: Detlev Zundel <dzu@denx.de>
      017e1f3f
    • M
      BOOT: Add "bootz" command to boot Linux zImage on ARM · 44f074c7
      Marek Vasut 提交于
      This command boots Linux zImage from where the zImage is loaded to. Passing
      initrd and fdt is supported.
      
      Tested on i.MX28 based DENX M28EVK
      Tested on PXA270 based Voipac PXA270.
      
      NOTE: This currently only supports ARM, but other architectures can be easily
      added by defining bootz_setup().
      Signed-off-by: NMarek Vasut <marek.vasut@gmail.com>
      Cc: Tom Warren <TWarren@nvidia.com>
      Cc: albert.u.boot@aribaud.net
      Cc: afleming@gmail.com,
      Cc: Simon Glass <sjg@chromium.org>,
      Cc: Stephen Warren <swarren@nvidia.com>
      Cc: Nicolas Pitre <nico@fluxnic.net>
      Cc: Wolfgang Denk <wd@denx.de>
      Cc: Detlev Zundel <dzu@denx.de>
      44f074c7
  2. 29 3月, 2012 1 次提交
  3. 27 3月, 2012 1 次提交
  4. 26 3月, 2012 1 次提交
  5. 24 3月, 2012 1 次提交
  6. 19 3月, 2012 1 次提交
    • S
      bootstage: Implement core microsecond boot time measurement · 3a608ca0
      Simon Glass 提交于
      This defines the basics of a new boot time measurement feature. This allows
      logging of very accurate time measurements as the boot proceeds, by using
      an available microsecond counter.
      
      To enable the feature, define CONFIG_BOOTSTAGE in your board config file.
      Also available is CONFIG_BOOTSTAGE_REPORT which will cause a report to be
      printed just before handing off to the OS.
      
      Most IDs are not named at this stage. For that I would first like to
      renumber them all.
      
      Timer summary in microseconds:
             Mark    Elapsed  Stage
                0          0  reset
          205,000    205,000  board_init_f
        6,053,000  5,848,000  bootm_start
        6,053,000          0  id=1
        6,058,000      5,000  id=101
        6,058,000          0  id=100
        6,061,000      3,000  id=103
        6,064,000      3,000  id=104
        6,093,000     29,000  id=107
        6,093,000          0  id=106
        6,093,000          0  id=105
        6,093,000          0  id=108
        7,089,000    996,000  id=7
        7,089,000          0  id=15
        7,089,000          0  id=8
        7,097,000      8,000  start_kernel
      Signed-off-by: NSimon Glass <sjg@chromium.org>
      3a608ca0
  7. 28 2月, 2012 1 次提交
    • S
      common/image.c: align usage of fdt_high with initrd_high · fa34f6b2
      Shawn Guo 提交于
      The commit message of a28afca5 (Add uboot "fdt_high" enviroment variable)
      states that fdt_high behaves similarly to the existing initrd_high.
      But fdt_high actually has an outstanding difference from initrd_high.
      The former specifies the start address, while the later specifies the
      end address.
      
      As fdt_high and initrd_high will likely be used together, it'd be nice
      to have them behave same.  The patch changes the behavior of fdt_high
      to have it aligned with initrd_high.
      
      The document of fdt_high in README is updated with an example to
      demonstrate the usage of this environment variable.
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      Acked-by: NSimon Glass <sjg@chromium.org>
      fa34f6b2
  8. 13 2月, 2012 1 次提交
  9. 12 2月, 2012 1 次提交
  10. 19 1月, 2012 1 次提交
  11. 06 1月, 2012 1 次提交
  12. 18 12月, 2011 1 次提交
    • S
      Add safe vsnprintf and snprintf library functions · 046a37bd
      Sonny Rao 提交于
      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: NSonny Rao <sonnyrao@chromium.org>
      046a37bd
  13. 17 12月, 2011 1 次提交
  14. 09 12月, 2011 2 次提交
    • S
      Add board_pre_console_putc to deal with early console output · 295d3942
      Simon Glass 提交于
      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: NSimon Glass <sjg@chromium.org>
      Acked-by: NGraeme Russ <graeme.russ@gmail.com>
      295d3942
    • W
      MPC7xx: remove obsolete "BAB7xx" board · c53043b7
      Wolfgang Denk 提交于
      The BAB7xx boards are almost deceased.  They cause build warnings, an
      it's not worth the effort to fix these.  Remove the dead body.
      Signed-off-by: NWolfgang Denk <wd@denx.de>
      Cc: Frank Gottschling <fgottschling@eltec.de>
      c53043b7
  15. 07 12月, 2011 1 次提交
    • V
      Introduce generic TPM support in u-boot · 5e124724
      Vadim Bendebury 提交于
      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: NVadim Bendebury <vbendeb@chromium.org>
      CC: Wolfgang Denk <wd@denx.de>
      5e124724
  16. 29 11月, 2011 1 次提交
    • T
      powerpc/85xx: clean up and document the QE/FMAN microcode macros · f2717b47
      Timur Tabi 提交于
      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: NTimur Tabi <timur@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      f2717b47
  17. 16 11月, 2011 1 次提交
    • H
      arm, davinci_emac: fix driver bug if more then 3 PHYs are detected · dc02bada
      Heiko Schocher 提交于
      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: NHeiko 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: NSandeep Paulraj <s-paulraj@ti.com>
      dc02bada
  18. 05 11月, 2011 1 次提交
  19. 04 11月, 2011 2 次提交
  20. 28 10月, 2011 4 次提交
    • K
      e1000: Allow direct access to the E1000 SPI EEPROM device · ce5207e1
      Kyle Moffett 提交于
      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: NKyle Moffett <Kyle.D.Moffett@boeing.com>
      Cc: Ben Warren <biggerbadderben@gmail.com>
      ce5207e1
    • H
      cosmetic: s/BOARD_LATE_INIT/CONFIG_BOARD_LATE_INIT · 9660e442
      Helmut Raiger 提交于
      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: NHelmut Raiger <helmut.raiger@hale.at>
      Acked-by: NStefano Babic <sbabic@denx.de>
      9660e442
    • W
      README: improve documentation of network related CONFIG_ settings · 1ebcd654
      Wolfgang Denk 提交于
      Add documentation for CONFIG_GATEWAYIP and CONFIG_NETMASK;
      also add information which environment variables are set.
      Signed-off-by: NWolfgang Denk <wd@denx.de>
      Acked-by: NSimon Glass <sjg@chromium.org>
      1ebcd654
    • W
      README: white-space cleanup · c0f40859
      Wolfgang Denk 提交于
      Signed-off-by: NWolfgang Denk <wd@denx.de>
      c0f40859
  21. 27 10月, 2011 6 次提交
  22. 22 10月, 2011 1 次提交
  23. 18 10月, 2011 1 次提交
  24. 10 10月, 2011 5 次提交
    • X
      MIPS: Ingenic XBurst Jz4740 processor support · 80421fcc
      Xiangfu Liu 提交于
      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: NXiangfu Liu <xiangfu@openmobilefree.net>
      Acked-by: NDaniel <zpxu@ingenic.cn>
      Signed-off-by: NShinya Kuribayashi <skuribay@pobox.com>
      80421fcc
    • Y
      powerpc/8xxx: Add support for interactive DDR programming interface · 6f5e1dc5
      York Sun 提交于
      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: NYork Sun <yorksun@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      6f5e1dc5
    • C
      cmd_time: add time command · ca366d0e
      Che-liang Chiou 提交于
      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: NChe-Liang Chiou <clchiou@chromium.org>
      Acked-by: NMike Frysinger <vapier@gentoo.org>
      ca366d0e
    • W
      README: fix typos and such. · 6feff899
      Wolfgang Denk 提交于
      Reported-by: NMichael Jones <michael.jones@matrix-vision.de>
      Signed-off-by: NWolfgang Denk <wd@denx.de>
      6feff899
    • W
      README: fix documentation of CONFIG_SHOW_BOOT_PROGRESS · 4cf2609b
      Wolfgang Denk 提交于
      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: NWolfgang Denk <wd@denx.de>
      4cf2609b
  25. 06 10月, 2011 1 次提交
    • M
      net: drop !NET_MULTI code · e2a53458
      Mike Frysinger 提交于
      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: NMike Frysinger <vapier@gentoo.org>
      e2a53458