29 Nov, 2010

6 commits

  • Signed-off-by: Wolfgang Denk

    Wolfgang Denk
     
  • commit ec50a8e389863ac35bfd9d9a2e8b30187318e59e
    "cfi_flash: handle 'chip size exceeds address window' situation"
    added 3rd argument to flash_get_size() but didn't fix all the
    function calls from the board specific code. Many boards have
    their own flash_get_size() definitions in the board code and
    use them there, but some boards (e.g. tqm834x, tqm85xx, pdm360ng)
    use flash_get_size() from the cfi_flash.c driver.

    The bug shows up if the value of the "max_size" argument (which
    is not defined when calling the function with two arguments)
    happens to be less than "info->size". In this case on the
    affected boards we end up with a bank of reduced size and
    in the worst case might even be not able to update U-Boot or
    to boot the kernel from flash:

    => fli

    Bank # 1: CFI conformant FLASH (32 x 16) Size: 0 kB in 1 Sectors
    AMD Standard command set, Manufacturer ID: 0x01, Device ID: 0x227E
    Erase timeout: 4096 ms, write timeout: 1 ms
    Buffer write timeout: 3 ms, buffer size: 64 bytes

    Sector Start Addresses:
    F0000000 RO

    Bank # 2: CFI conformant FLASH (32 x 16) Size: 128 MB in 512 Sectors
    AMD Standard command set, Manufacturer ID: 0x01, Device ID: 0x227E
    Erase timeout: 4096 ms, write timeout: 1 ms
    Buffer write timeout: 3 ms, buffer size: 64 bytes

    Sector Start Addresses:
    F8000000 F8040000 F8080000 F80C0000 F8100000
    F8140000 F8180000 F81C0000 F8200000 F8240000
    ...

    E.g., updating U-Boot is not possible now:

    => protect off ${u-boot_addr} +${u-boot_size}
    Error: end address (0xf007ffff) not in flash!
    Bad address format
    => era ${u-boot_addr} +${u-boot_size}
    Error: end address (0xf007ffff) not in flash!
    Bad address format

    This patch removes the 3rd argument of flash_get_size() again
    and sets "max_size" in the function itself instead of passing
    it as a function argument.

    Signed-off-by: Anatolij Gustschin

    Anatolij Gustschin
     
  • Fix for ARM Relocation support

    Signed-off-by: Sandeep Paulraj

    Sandeep Paulraj
     
  • Fix for ARM Relocation support

    Signed-off-by: Sandeep Paulraj

    Sandeep Paulraj
     
  • Fix for ARM Relocation support

    Signed-off-by: Sandeep Paulraj

    Sandeep Paulraj
     
  • Wolfgang Denk
     

28 Nov, 2010

26 commits


27 Nov, 2010

8 commits

  • This change is needed to compile the PPC4xx NAND booting targets
    equipped with the IBM DDR2 SDRAM controller.

    Signed-off-by: Stefan Roese
    Cc: Wolfgang Denk
    Acked-by: Stefan Roese

    Stefan Roese
     
  • These boards use an embedded environment, which is not supported by the
    generic arch/powerpc/cpu/ppc4xx/u-boot.lds script.

    The breakage was introduced by commit 2cd95a2 "ppc4xx: Remove board
    specific linker scripts from most PPC4xx boards"

    Signed-off-by: Wolfgang Denk
    Cc: Stefan Roese
    Cc: Andrea Marson
    Acked-by: Stefan Roese

    Wolfgang Denk
     
  • As we try to get rid of board specific config.mk files we must
    provide a way for board specific settings of the LDSCRIPT variable
    (path to the linker script) where needed.

    We now implement the following hierarchy:

    - Highest priority has a "#define CONFIG_SYS_LDCONFIG" in the board
    config file.
    - If CONFIG_SYS_LDCONFIG is not set, and the system is booting from
    NAND (CONFIG_NAND_SPL is set), then a board specific linker
    script board/$(BOARDDIR)/u-boot-nand.lds gets used.
    - If we are not booting from NAND, we test if a processor specific
    linker script arch/powerpc/cpu/$(CPU)/u-boot.lds exists; if so we
    use that.
    - As default, arch/powerpc/config.mk gets used.

    Signed-off-by: Wolfgang Denk
    Cc: Stefan Roese
    Cc: Kim Phillips
    Cc: Kumar Gala
    Cc: Andy Fleming
    Acked-by: Stefan Roese

    Wolfgang Denk
     
  • Signed-off-by: Wolfgang Denk
    Cc: Stefan Roese
    Acked-by: Stefan Roese

    Wolfgang Denk
     
  • Some boards use an embedded environment, where env_embedded.o has to
    be linked at a special position in the U-Boot image; to make this
    possible, we do not include it into libcommon.o for such boards.

    Signed-off-by: Mike Frysinger
    Signed-off-by: Wolfgang Denk
    Acked-by: Stefan Roese

    Wolfgang Denk
     
  • Fix warnings:

    cam5200_flash.c: In function 'write_word_32':
    cam5200_flash.c:443: warning: dereferencing type-punned pointer will break strict-aliasing rules
    cam5200_flash.c: In function 'write_word_16':
    cam5200_flash.c:684: warning: dereferencing type-punned pointer will break strict-aliasing rules

    Signed-off-by: Wolfgang Denk
    Acked-by: Stefan Roese

    Wolfgang Denk
     
  • So far, only the BAB7xx board would call the initialise_w83c553f()
    function for the WINBOND 83C553 chip, even though some other boards
    (HIDDEN_DRAGON, Sandpoint8240, Sandpoint8245) enabled it in their
    board configuration. These boards were also missing other config
    settings needed for that, which resulted in build errors like this:

    drivers/pci/libpci.o:(.got2+0x84): undefined reference to `ide_bus_offset'

    Switch arch/powerpc/lib/board.c to call initialise_w83c553f() not on a
    per-board base, but when a WINBOND_83C553 in enabled in a
    configuration (like BAB7xx), and disable it in the boards that had
    this set so far.

    Signed-off-by: Wolfgang Denk
    Cc: Yusdi Santoso
    Cc: Jim Thompson
    Acked-by: Stefan Roese

    Wolfgang Denk
     
  • The IDS8247 board is configured to use the CFI flash driver, so drop
    the now redundant custom flash.c file.

    Signed-off-by: Wolfgang Denk
    Acked-by: Stefan Roese

    Wolfgang Denk