1. 02 Oct, 2010 7 commits
  2. 28 Sep, 2010 3 commits
  3. 23 Sep, 2010 9 commits
    • Peter Tyser's avatar
      83xx: Remove warmboot parameter from PCI init functions · 6aa3d3bf
      Peter Tyser authored
      This change lays the groundwork for the BOOTFLAG_* flags being removed.
      
      This change has the small affect of delaying 100ms on PCI initialization
      after a warm boot as opposed to the optimal 1ms on some boards.
      Signed-off-by: default avatarPeter Tyser <ptyser@xes-inc.com>
      
      included the mpc8308_p1m board.
      Signed-off-by: default avatarKim Phillips <kim.phillips@freescale.com>
      6aa3d3bf
    • Ilya Yanok's avatar
      mpc8308_p1m: support for MPC8308 P1M board · bc8f8c26
      Ilya Yanok authored
      This patch provides support for MPC8308 P1M board with the following
      set of features:
       Dual UART is supported
       NOR flash is supported
       Both TSEC Ethernet controllers are supported
       PCI Express initialization is supported
       Both I2C controllers are supported
      Signed-off-by: default avatarIlya Yanok <yanok@emcraft.com>
      Signed-off-by: default avatarKim Phillips <kim.phillips@freescale.com>
      bc8f8c26
    • Ilya Yanok's avatar
      MPC8308RDB: various clean ups · 65ea7589
      Ilya Yanok authored
      This patch cleans up the Freescale MPC8308RDB Development board support.
      Things fixed:
       - Removed unused PCIE2 definitions from configuration
       - SICR{L,H} defines used for System I/O Configuration Registers values
         instead of hardcoding
       - CONFIG_SYS_SCCR_PCIEXP1CM used to enable PCIE clock instead of
         writing to SCCR from the board code
       - sleep mode stuff removed as MPC8308 has no support for deep sleep and
         PMCCR1 register. board_early_init_f() removed.
       - MPC8308 has no ERRATA for DDR controller so workaround removed
       - 'assignment in if statement' issues solved
       - use LBLAWAR_* defines instead of hardcoding
      Signed-off-by: default avatarIlya Yanok <yanok@emcraft.com>
      Signed-off-by: default avatarKim Phillips <kim.phillips@freescale.com>
      65ea7589
    • Stefan Roese's avatar
      ppc4xx: Use common NS16550 driver for PPC4xx UART · 550650dd
      Stefan Roese authored
      This patch removes the PPC4xx UART driver. Instead the common NS16550
      driver is used, since all PPC4xx SoC's use this peripheral device.
      
      The file 4xx_uart.c now only implements the UART clock calculation
      function which also sets the SoC internal UART divisors.
      
      All PPC4xx board config headers are changed to use this common NS16550
      driver now.
      
      Tested on these boards:
      acadia, canyonlands, katmai, kilauea, sequoia, zeus
      Signed-off-by: default avatarStefan Roese <sr@denx.de>
      550650dd
    • Stefan Roese's avatar
      ppc4xx: Big header cleanup part 2, mostly PPC405 related · afabb498
      Stefan Roese authored
      This cleanup is done by creating header files for all SoC versions and
      moving the SoC specific defines into these special headers. This way the
      common header ppc405.h and ppc440.h can be cleaned up finally.
      
      As a part from this cleanup, the GPIO definitions for PPC405EP are
      corrected. The high and low parts of the registers (for example
      CONFIG_SYS_GPIO0_OSRL vs. CONFIG_SYS_GPIO0_OSRH) have been defined in
      the wrong order. This patch now fixes this issue by switching these
      xxxH and xxxL values. This brings the GPIO 405EP port in sync with all
      other PPC4xx ports.
      Signed-off-by: default avatarStefan Roese <sr@denx.de>
      afabb498
    • Stefan Roese's avatar
      ppc4xx: Big header cleanup, mostly PPC440 related · 5e7abce9
      Stefan Roese authored
      This patch starts a bit PPC4xx header cleanup. First patch mostly
      touches PPC440 files. A later patch will touch the PPC405 files as well.
      
      This cleanup is done by creating header files for all SoC versions and
      moving the SoC specific defines into these special headers. This way the
      common header ppc405.h and ppc440.h can be cleaned up finally.
      Signed-off-by: default avatarStefan Roese <sr@denx.de>
      5e7abce9
    • Stefan Roese's avatar
      09887762
    • Stefan Roese's avatar
      ppc4xx: Move ppc4xx headers to powerpc include directory · b36df561
      Stefan Roese authored
      This patch moves some ppc4xx related headers from the common include
      directory (include/) to the powerpc specific one
      (arch/powerpc/include/asm/). This way to common include directory is not
      so cluttered with files.
      Signed-off-by: default avatarStefan Roese <sr@denx.de>
      b36df561
    • Stefan Roese's avatar
      ppc4xx/fdt/flash: Change fdt_fixup_nor_flash_node() to not rely on cs size · 8a805df1
      Stefan Roese authored
      This patch changes the behaviour of the fdt_fixup_nor_flash_node()
      function. Now it doesn't patch the size of the "reg" property with the
      chip-select size, but with the size returned from the new function
      flash_get_bank_size(). This function will return per weak default the
      flash size of the bank (bank = chip-select numer) detected by the flash
      driver. If this does not fit your needs, this function may be overridden
      by a board specific one.
      
      For this the parameters needed to be changed. So I intentionally squashed
      the PPC4xx stuff using this routine into this patch. Otherwise it would
      not be git-bisectable anymore.
      
      The board specific function for the AMCC/APM Ebony eval board is now
      included in this patch version.
      Signed-off-by: default avatarStefan Roese <sr@denx.de>
      Tested-by: default avatarDetlev Zundel <dzu@denx.de>
      Cc: Gerald Van Baren <vanbaren@cideas.com>
      Cc: Wolfgang Denk <wd@denx.de>
      8a805df1
  4. 21 Sep, 2010 4 commits
  5. 20 Sep, 2010 1 commit
    • Stefan Roese's avatar
      cfi_flash: Simplify dynamic flash bank number detection · ca5def3f
      Stefan Roese authored
      This patch simplifies the use of CONFIG_SYS_MAX_FLASH_BANKS_DETECT. By
      moving these optional variables and defines into the common code, board
      specific code is minimized. Currently only the following board use
      this feature:
      
      APC405, IDS8247, TQM834x
      
      And IDS8247 doesn't seem to really need this feature, since its not
      updating the bank number variable at all. So this patch removes the
      definition of CONFIG_SYS_MAX_FLASH_BANKS_DETECT from this board port.
      
      This new framework will be used by the upcoming lwmon5 update as well.
      Signed-off-by: default avatarStefan Roese <sr@denx.de>
      Acked-by: default avatarHeiko Schocher <hs@denx.de>
      Cc: Matthias Fuchs <matthias.fuchs@esd.eu>
      ca5def3f
  6. 19 Sep, 2010 9 commits
    • Wolfgang Denk's avatar
      Remove HMI10 board support · 77efe35f
      Wolfgang Denk authored
      Recent changes caused that the HMI10 board now is included in the
      boards built by MAKEALL, which revealed that compilation for this
      board has been broken for a long time:
      
      ps2ser.c: In function 'ps2ser_init':
      ps2ser.c:155: error: 'UART_LCR' undeclared (first use in this function)
      ps2ser.c:155: error: (Each undeclared identifier is reported only once
      ps2ser.c:155: error: for each function it appears in.)
      ps2ser.c:156: error: 'UART_DLL' undeclared (first use in this function)
      ps2ser.c:157: error: 'UART_DLM' undeclared (first use in this function)
      ps2ser.c:159: error: 'UART_IER' undeclared (first use in this function)
      ps2ser.c:160: error: 'UART_MCR' undeclared (first use in this function)
      ps2ser.c:161: error: 'UART_FCR' undeclared (first use in this function)
      ps2ser.c:162: error: 'UART_FCR_ENABLE_FIFO' undeclared (first use in this function)
      ps2ser.c:166: error: 'UART_LSR' undeclared (first use in this function)
      ps2ser.c: In function 'ps2ser_putc':
      ps2ser.c:198: error: 'UART_LSR' undeclared (first use in this function)
      ps2ser.c:200: error: 'UART_TX' undeclared (first use in this function)
      ps2ser.c: In function 'ps2ser_getc_hw':
      ps2ser.c:224: error: 'UART_LSR' undeclared (first use in this function)
      ps2ser.c:225: error: 'UART_RX' undeclared (first use in this function)
      ps2ser.c: In function 'ps2ser_interrupt':
      ps2ser.c:293: error: 'UART_IIR' undeclared (first use in this function)
      
      The board is orphaned, and AFAICT has reached EOL.
      Drop support for it.
      Signed-off-by: default avatarWolfgang Denk <wd@denx.de>
      77efe35f
    • Wolfgang Denk's avatar
      canmb board: Fix compiler warnings · ff377b1c
      Wolfgang Denk authored
      Recent changes caused thatthe aev board now is included in the boards
      built by MAKEALL, which revealed that compilation for this board
      has been broken for a long time:
      
      canmb.c: In function 'initdram':
      canmb.c:109: warning: pointer targets in passing argument 1 of 'get_ram_size' differ in signedness
      canmb.c:111: warning: pointer targets in passing argument 1 of 'get_ram_size' differ in signedness
      canmb.c:137: warning: pointer targets in passing argument 1 of 'get_ram_size' differ in signedness
      canmb.c:140: warning: pointer targets in passing argument 1 of 'get_ram_size' differ in signedness
      
      Fix these.
      Signed-off-by: default avatarWolfgang Denk <wd@denx.de>
      ff377b1c
    • Ben Gardiner's avatar
      da8xx: fixup ARM relocation support · 97003756
      Ben Gardiner authored
      Split the existing dram_init for da8xx when ARM reloc is enabled, like the
      changes to arch/arm/cpu/arm926ejs/orion5x/dram.c in
      0f234d263b17ccf1b8fd776eb8c15b7cdb27a887 by Heiko Schocher <hs@denx.de>.
      
      Without these changes gd->ram_size is '0' which leads to incorrect relocation
      when CONFIG_SYS_ARM_WITHOUT_RELOC is defined and the board does not boot.
      
      We use get_ram_size to dynamically calculate the available RAM because it runs
      on different board version with different ram, as suggested by Heiko in private
      communication.
      
      Tested on a da850evm with 128M of DDR2 installed; with both
      CONFIG_SYS_ARM_WITHOUT_RELOC defined and undefined.
      Signed-off-by: default avatarBen Gardiner <bengardiner@nanometrics.ca>
      Reviewed-by: default avatarSudhakar Rajashekhara <sudhakar.raj@ti.com>
      CC: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
      CC: Heiko Schocher <hs@denx.de>
      97003756
    • Heiko Schocher's avatar
      ARM: implement relocation for ARM926 · ab86f72c
      Heiko Schocher authored
      Change the implementation for arm926 to relocate the code to
      an arbitrary address in RAM.
      
      Adapt the TX25 (i.MX25), magnesium board to test the changes.
      
      On the tx25 board TEXT_BASE is set to the final relocation
      address to prevent one more copying of u-boot code
      when relocating. More info see:
      doc/README.arm-relocation
      
      da850 board:
      Tested-by: default avatarBen Gardiner <bengardiner@nanometrics.ca>
      
      Portions of this work were supported by funding from
      the CE Linux Forum.
      Signed-off-by: default avatarHeiko Schocher <hs@denx.de>
      Cc: Ben Gardiner <bengardiner@nanometrics.ca>
      ab86f72c
    • Heiko Schocher's avatar
      ARM: implement relocation for ARM V7 (OMAP) · 561142af
      Heiko Schocher authored
      Change the implementation for ARM V7 to relocate the code to an
      arbitrary address in RAM.
      
      Adapt the Beagle board (Cortex A8) to test the changes.
      
      Portions of this work were supported by funding from
      the CE Linux Forum.
      Signed-off-by: default avatarHeiko Schocher <hs@denx.de>
      561142af
    • Heiko Schocher's avatar
      ARM: implement relocation for ARM11 · e48b7c0a
      Heiko Schocher authored
      Change the implementation for ARM11 to relocate the code to an
      arbitrary address in RAM.
      
      Tested on the qong board.
      
      Portions of this work were supported by funding from
      the CE Linux Forum.
      Signed-off-by: default avatarHeiko Schocher <hs@denx.de>
      e48b7c0a
    • Wolfgang Denk's avatar
      New implementation for internal handling of environment variables. · ea882baf
      Wolfgang Denk authored
      Motivation:
      
      * Old environment code used a pessimizing implementation:
        - variable lookup used linear search => slow
        - changed/added variables were added at the end, i. e. most
          frequently used variables had the slowest access times => slow
        - each setenv() would calculate the CRC32 checksum over the whole
          environment block => slow
      * "redundant" envrionment was locked down to two copies
      * No easy way to implement features like "reset to factory defaults",
        or to select one out of several pre-defined (previously saved) sets
        of environment settings ("profiles")
      * No easy way to import or export environment settings
      
      ======================================================================
      
      API Changes:
      
      - Variable names starting with '#' are no longer allowed
      
        I didn't find any such variable names being used; it is highly
        recommended to follow standard conventions and start variable names
        with an alphanumeric character
      
      - "printenv" will now print a backslash at the end of all but the last
        lines of a multi-line variable value.
      
        Multi-line variables have never been formally defined, allthough
        there is no reason not to use them. Now we define rules how to deal
        with them, allowing for import and export.
      
      - Function forceenv() and the related code in saveenv() was removed.
        At the moment this is causing build problems for the only user of
        this code (schmoogie - which has no entry in MAINTAINERS); may be
        fixed later by implementing the "env set -f" feature.
      
      Inconsistencies:
      
      - "printenv" will '\\'-escape the '\n' in multi-line variables, while
        "printenv var" will not do that.
      
      ======================================================================
      
      Advantages:
      
      - "printenv" output much better readable (sorted)
      - faster!
      - extendable (additional variable properties can be added)
      - new, powerful features like "factory reset" or easy switching
        between several different environment settings ("profiles")
      
      Disadvantages:
      
      - Image size grows by typically 5...7 KiB (might shrink a bit again on
        systems with redundant environment with a following patch series)
      
      ======================================================================
      
      Implemented:
      
      - env command with subcommands:
      
        - env print [arg ...]
      
          same as "printenv": print environment
      
        - env set [-f] name [arg ...]
      
          same as "setenv": set (and delete) environment variables
      
          ["-f" - force setting even for read-only variables - not
          implemented yet.]
      
        - end delete [-f] name
      
          not implemented yet
      
          ["-f" - force delete even for read-only variables]
      
        - env save
      
          same as "saveenv": save environment
      
        - env export [-t | -b | -c] addr [size]
      
          export internal representation (hash table) in formats usable for
          persistent storage or processing:
      
      	-t:	export as text format; if size is given, data will be
      		padded with '\0' bytes; if not, one terminating '\0'
      		will be added (which is included in the "filesize"
      		setting so you can for exmple copy this to flash and
      		keep the termination).
      	-b:	export as binary format (name=value pairs separated by
      		'\0', list end marked by double "\0\0")
      	-c:	export as checksum protected environment format as
      		used for example by "saveenv" command
      	addr:	memory address where environment gets stored
      	size:	size of output buffer
      
      	With "-c" and size is NOT given, then the export command will
      	format the data as currently used for the persistent storage,
      	i. e. it will use CONFIG_ENV_SECT_SIZE as output block size and
      	prepend a valid CRC32 checksum and, in case of resundant
      	environment, a "current" redundancy flag. If size is given, this
      	value will be used instead of CONFIG_ENV_SECT_SIZE; again, CRC32
      	checksum and redundancy flag will be inserted.
      
      	With "-b" and "-t", always only the real data (including a
      	terminating '\0' byte) will be written; here the optional size
      	argument will be used to make sure not to overflow the user
      	provided buffer; the command will abort if the size is not
      	sufficient. Any remainign space will be '\0' padded.
      
              On successful return, the variable "filesize" will be set.
              Note that filesize includes the trailing/terminating '\0'
              byte(s).
      
              Usage szenario: create a text snapshot/backup of the current
      	settings:
      
      		=> env export -t 100000
      		=> era ${backup_addr} +${filesize}
      		=> cp.b 100000 ${backup_addr} ${filesize}
      
      	Re-import this snapshot, deleting all other settings:
      
      		=> env import -d -t ${backup_addr}
      
        - env import [-d] [-t | -b | -c] addr [size]
      
          import external format (text or binary) into hash table,
          optionally deleting existing values:
      
      	-d:	delete existing environment before importing;
      		otherwise overwrite / append to existion definitions
      	-t:	assume text format; either "size" must be given or the
      		text data must be '\0' terminated
      	-b:	assume binary format ('\0' separated, "\0\0" terminated)
      	-c:	assume checksum protected environment format
      	addr:	memory address to read from
      	size:	length of input data; if missing, proper '\0'
      		termination is mandatory
      
        - env default -f
      
          reset default environment: drop all environment settings and load
          default environment
      
        - env ask name [message] [size]
      
          same as "askenv": ask for environment variable
      
        - env edit name
      
          same as "editenv": edit environment variable
      
        - env run
      
          same as "run": run commands in an environment variable
      
      ======================================================================
      
      TODO:
      
      - drop default env as implemented now; provide a text file based
        initialization instead (eventually using several text files to
        incrementally build it from common blocks) and a tool to convert it
        into a binary blob / object file.
      
      - It would be nice if we could add wildcard support for environment
        variables; this is needed for variable name auto-completion,
        but it would also be nice to be able to say "printenv ip*" or
        "printenv *addr*"
      
      - Some boards don't link any more due to the grown code size:
        DU405, canyonlands, sequoia, socrates.
      
      	=> cc: Matthias Fuchs <matthias.fuchs@esd-electronics.com>,
      	       Stefan Roese <sr@denx.de>,
      	       Heiko Schocher <hs@denx.de>
      
      - Dropping forceenv() causes build problems on schmoogie
      
      	=> cc: Sergey Kubushyn <ksi@koi8.net>
      
      - Build tested on PPC and ARM only; runtime tested with NOR and NAND
        flash only => needs testing!!
      Signed-off-by: default avatarWolfgang Denk <wd@denx.de>
      Cc: Matthias Fuchs <matthias.fuchs@esd-electronics.com>,
      Cc: Stefan Roese <sr@denx.de>,
      Cc: Heiko Schocher <hs@denx.de>
      Cc: Sergey Kubushyn <ksi@koi8.net>
      ea882baf
    • Wolfgang Denk's avatar
      4xx: adjust TEXT_BASE to increase U-Boot image size · a2a649d7
      Wolfgang Denk authored
      On some boards (canyonlands, luan, sequoia) we need more room for the
      U-Boot image to allow for new features like the new environment code.
      Shift TEXT_BASE as needed.
      Signed-off-by: default avatarWolfgang Denk <wd@denx.de>
      Cc: Stefan Roese <sr@denx.de>
      Acked-by: default avatarStefan Roese <sr@denx.de>
      a2a649d7
    • Wolfgang Denk's avatar
      socrates: adjust TEXT_BASE to increase U-Boot image size · 3adfd114
      Wolfgang Denk authored
      We need more room for the U-Boot image.
      Shift TEXT_BASE as needed.
      Signed-off-by: default avatarWolfgang Denk <wd@denx.de>
      3adfd114
  7. 12 Sep, 2010 1 commit
    • Graeme Russ's avatar
      x86: Remove Unmaintained Boards · 215e1cb3
      Graeme Russ authored
      The SC520 CDP boards originally implemented by Daniel Engström are now
      very broken. Attempts to contact Daniel via the email address on the
      copyright notice have failed. Remove these boards from mainline
      215e1cb3
  8. 09 Sep, 2010 1 commit
  9. 08 Sep, 2010 5 commits