1. 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
  2. 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: default 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
  3. 04 Nov, 2011 1 commit
  4. 03 Nov, 2011 2 commits
  5. 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: default 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: default avatarWolfgang Denk <wd@denx.de>
      Acked-by: default avatarSimon Glass <sjg@chromium.org>
      1ebcd654
    • Wolfgang Denk's avatar
      README: white-space cleanup · c0f40859
      Wolfgang Denk authored
      
      Signed-off-by: default avatarWolfgang Denk <wd@denx.de>
      c0f40859
  6. 26 Oct, 2011 6 commits
  7. 21 Oct, 2011 1 commit
  8. 17 Oct, 2011 1 commit
  9. 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
  10. 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: default 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: default avatarWolfgang Denk <wd@denx.de>
      4cf2609b
  11. 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
  12. 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
  13. 11 Sep, 2011 1 commit
  14. 03 Aug, 2011 1 commit
  15. 31 Jul, 2011 1 commit
  16. 29 Jul, 2011 1 commit
  17. 28 Jul, 2011 1 commit
  18. 26 Jul, 2011 3 commits
  19. 17 Jul, 2011 1 commit
  20. 16 Jul, 2011 2 commits
  21. 11 Jul, 2011 1 commit
  22. 04 Jul, 2011 2 commits
    • Aneesh V's avatar
      armv7: add PL310 support to u-boot · 93bc2193
      Aneesh V authored
      
      
      PL310 is the L2$ controller from ARM used in many SoCs
      including the Cortex-A9 based OMAP4430
      
      Add support for some of the key PL310 operations
      	- Invalidate all
      	- Invalidate range
      	- Flush(clean & invalidate) all
      	- Flush range
      Signed-off-by: default avatarAneesh V <aneesh@ti.com>
      93bc2193
    • Aneesh V's avatar
      armv7: cache maintenance operations for armv7 · 2c451f78
      Aneesh V authored
      
      
      - Add a framework for layered cache maintenance
      	- separate out SOC specific outer cache maintenance from
      	  maintenance of caches known to CPU
      
      - Add generic ARMv7 cache maintenance operations that affect all
        caches known to ARMv7 CPUs. For instance in Cortex-A8 these
        opertions will affect both L1 and L2 caches. In Cortex-A9
        these will affect only L1 cache
      
      - D-cache operations supported:
      	- Invalidate entire D-cache
      	- Invalidate D-cache range
      	- Flush(clean & invalidate) entire D-cache
      	- Flush D-cache range
      - I-cache operations supported:
      	- Invalidate entire I-cache
      
      - Add maintenance functions for TLB, branch predictor array etc.
      
      - Enable -march=armv7-a so that armv7 assembly instructions can be
        used
      Signed-off-by: default avatarAneesh V <aneesh@ti.com>
      2c451f78
  23. 01 Jul, 2011 1 commit
    • Alex Waterman's avatar
      NAND: Add 16bit NAND support for the NDFC · eced4626
      Alex Waterman authored
      
      
      This patch adds support for 16 bit NAND devices attached to the
      NDFC on ppc4xx processors. Two config entries were added:
      
        CONFIG_SYS_NDFC_16        - Setting this tells the NDFC that a
      			      16 bit device is attached.
        CONFIG_SYS_NDFC_EBC0_CFG  - This is for the External Bus
      			      Controller configuration register.
      
      Also, a new ndfc_read_byte() function was added which does not
      first convert the data to little endian.
      
      The NAND SPL was also modified to do 16bit bad block testing
      when a 16 bit chip is being used.
      Signed-off-by: default avatarAlex Waterman <awaterman@dawning.com>
      Signed-off-by: default avatarScott Wood <scottwood@freescale.com>
      eced4626