23 Mar, 2009

1 commit


22 Mar, 2009

2 commits


21 Mar, 2009

37 commits

  • Signed-off-by: Vivek Kutal
    Signed-off-by: Remy Bohmer

    Vivek Kutal
     
  • On systems where U-Boot is linked to another address than it really lays
    (e.g. backup image), calls via function pointers must be fixed with a
    '+= gd->reloc_off'.
    This was not done for none_compr in ubifs_compressors_init() what leads
    to system crash on ubifsmount command.

    Signed-off-by: Michael Lawnick
    Acked-by: Stefan Roese

    Michael Lawnick
     
  • This patchset adds these UBIFS related commands:

    - ubifsmount
    Mount an UBIFS volume

    - ubifsls
    List a directory of the mounted UBIFS volume

    - ubifsload
    Load a file from the mounted UBIFS volume to memory

    Signed-off-by: Stefan Roese

    Stefan Roese
     
  • The U-Boot UBIFS implementation is largely a direct copy from the current
    Linux version (2.6.29-rc6). As already done in the UBI version we have an
    "abstraction layer" to redefine or remove some OS calls (e.g. mutex_lock()
    ...). This makes it possible to use the original Linux code with very
    little changes. And by this we can better update to later Linux versions.

    I removed some of the Linux features that are not used in the U-Boot
    version (e.g. garbage-collection, write support).

    Signed-off-by: Stefan Roese
    CC: Artem Bityutskiy
    CC: Adrian Hunter

    Stefan Roese
     
  • This patch adds LZO decompression support to U-Boot. It is needed for
    the upcoming UBIFS support, since UBIFS uses LZO as default compressor/
    decompressor. Since we only support read-only in UBIFS, only the
    decompressor is needed.

    All this is copied with minor changes from the current Linux kernel
    version (2.6.28-rc8).

    This patch only implements this LZO decompressor support for PPC.
    Other platforms using UBIFS will have to add the required
    "include/asm/unaligned.h" as well. It should be fairly easy to copy this
    from the Linux source tree as I have done it for PPC in this patch.

    Signed-off-by: Stefan Roese

    Stefan Roese
     
  • Currently the mtdparts commands are included in the jffs2 command support.
    This doesn't make sense anymore since other commands (e.g. UBI) use this
    infrastructure as well now. This patch separates the mtdparts commands from
    the jffs2 commands making it possible to only select mtdparts when no JFFS2
    support is needed.

    Signed-off-by: Stefan Roese
    Signed-off-by: Kyungmin Park

    Stefan Roese
     
  • Signed-off-by: Stefan Roese

    Stefan Roese
     
  • This is the InterControl custom device based on the MPC5200B chip.

    Signed-off-by: Grzegorz Bernacki

    Grzegorz Bernacki
     
  • Fix this warning:

    board.c: In function 'board_init_r':
    board.c:653: warning: unused variable 'i'
    board.c:651: warning: unused variable 'e'

    Signed-off-by: Stefan Roese

    Stefan Roese
     
  • Remove this code. It's not needed. The 4xx EMAC driver stores the MAC
    addresses into the SoC registers instead.

    Signed-off-by: Stefan Roese

    Stefan Roese
     
  • This patch replaces in/out8/16/32 macros by in/out_8/_be16/_be32
    macros. Also volatile pointer references are replaced by the
    new accessors.

    Signed-off-by: Matthias Fuchs
    Signed-off-by: Stefan Roese

    Matthias Fuchs
     
  • This patch replaces in/out8/16/32 macros by in/out_8/_be16/_be32
    macros. Also volatile pointer references are replaced by the
    new accessors.

    Signed-off-by: Matthias Fuchs
    Signed-off-by: Stefan Roese

    Matthias Fuchs
     
  • Signed-off-by: Matthias Fuchs
    Signed-off-by: Stefan Roese

    Matthias Fuchs
     
  • Fix building DASA_SIM boards by increasing U-Boot's size in flash.

    Signed-off-by: Matthias Fuchs
    Signed-off-by: Stefan Roese

    Matthias Fuchs
     
  • -strip unused features
    -fix resetting phy

    Signed-off-by: Matthias Fuchs
    Signed-off-by: Stefan Roese

    Matthias Fuchs
     
  • Signed-off-by: Matthias Fuchs
    Signed-off-by: Stefan Roese

    Matthias Fuchs
     
  • Signed-off-by: Graeme Russ

    Graeme Russ
     
  • Signed-off-by: Graeme Russ

    Graeme Russ
     
  • Moved sub-features of the SC520 code which is currently selectively compiled
    using #ifdef out of sc520.c into individual files selectively compiled via
    the makefile

    Signed-off-by: Graeme Russ

    Graeme Russ
     
  • Rewrite interrupt handling functionality for the i386 port. Separated
    functionality into separate CPU and Architecture components.

    It appears as if the i386 interrupt handler functionality was intended
    to allow multiple handlers to be installed for a given interrupt.
    Unfortunately, this functionality was not fully implemented and also
    had the problem that irq_free_handler() does not allow the passing
    of the handler function pointer and therefore could never be used to
    free specific handlers that had been installed for a given IRQ.

    There were also various issues with array bounds not being fully
    tested.

    I had two objectives in mind for the new implementation:

    1) Keep the implementation as similar as possible to existing
    implementations. To that end, I have used the leon2/3
    implementations as the reference

    2) Seperate CPU and Architecture specific elements. All specific i386
    interrupt functionality is now in cpu/i386/ with the high level
    API and architecture specific code in lib_i386. Functionality
    specific to the PC/AT architecture (i.e. cascaded i8259 PICs) has
    been further split out into an individual file to allow for the
    implementation of the PIC architecture of the SC520 CPU (supports
    more IRQs)

    Signed-off-by: Graeme Russ

    Graeme Russ
     
  • Moved ali512x.h from include/asm-i386/ic/ to /include

    Signed-off-by: Graeme Russ

    Graeme Russ
     
  • Options are now all uniformly CONFIG_SYS_SC520_

    Signed-off-by: Graeme Russ

    Graeme Russ
     
  • A recent gcc added a new unaligned rodata section called '.rodata.str1.1',
    which needs to be added the the linker script. Instead of just adding this
    one section, we use a wildcard ".rodata*" to get all rodata linker section
    gcc has now and might add in the future.

    However, '*(.rodata*)' by itself will result in sub-optimal section
    ordering. The sections will be sorted by object file, which causes extra
    padding between the unaligned rodata.str.1.1 of one object file and the
    aligned rodata of the next object file. This is easy to fix by using the
    SORT_BY_ALIGNMENT command.

    This patch has not be tested one most of the boards modified. Some boards
    have a linker script that looks something like this:

    *(.text)
    . = ALIGN(16);
    *(.rodata)
    *(.rodata.str1.4)
    *(.eh_frame)

    I change this to:

    *(.text)
    . = ALIGN(16);
    *(.eh_frame)
    *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))

    This means the start of rodata will no longer be 16 bytes aligned.
    However, the boundary between text and rodata/eh_frame is still aligned to
    16 bytes, which is what I think the real purpose of the ALIGN call is.

    Signed-off-by: Trent Piepho

    Trent Piepho
     
  • Signed-off-by: Mike Frysinger
    CC: Ben Warren
    CC: Daniel Hellstrom
    CC: Michal Simek
    CC: Shinya Kuribayashi
    CC: Scott McNutt
    CC: Nobuhiro Iwamatsu

    Mike Frysinger
     
  • The environment is the canonical storage location of the mac address, so
    we're killing off the global data location and moving everything to
    querying the env directly.

    In the ppc case, these things are part of the legacy ABI, so keep them
    around but mark them as legacy so no new code will touch them.

    Also stop calling load_sernum_ethaddr() since all boards now implement
    this as a stub.

    Signed-off-by: Mike Frysinger
    CC: Ben Warren

    Mike Frysinger
     
  • The environment is the canonical storage location of the mac address, so
    we're killing off the global data location and moving everything to
    querying the env directly.

    Rather than have common ppc code call a board-specific function like
    load_sernum_ethaddr(), have each board call it in its own board-specific
    misc_init_r() function.

    The boards that get converted here are:
    - kup4k/kup4x
    - pcs440ep
    - tqm8xx

    Signed-off-by: Mike Frysinger
    CC: Ben Warren
    CC: Stefan Roese

    Mike Frysinger
     
  • The environment is the canonical storage location of the mac address, so
    we're killing off the global data location and moving everything to
    querying the env directly.

    Also rename load_sernum_ethaddr() to misc_init_r() so we don't need to
    handle this board specially in common ARM code.

    Signed-off-by: Mike Frysinger
    CC: Ben Warren

    Mike Frysinger
     
  • The environment is the canonical storage location of the mac address, so
    we're killing off the global data location and moving everything to
    querying the env directly.

    Rather than have the common ppc code have board-specific hooks, move the
    board_get_enetaddr() function into the board-specific init functions.

    Signed-off-by: Mike Frysinger
    CC: Ben Warren

    Mike Frysinger
     
  • The environment is the canonical storage location of the mac address, so
    we're killing off the global data location and moving everything to
    querying the env directly.

    Some warts are remaining and should be killed off (by moving the func to
    the appropriate board init code):
    - davinci_eth_set_mac_addr
    - cs8900_get_enetaddr
    - smc_set_mac_addr

    Signed-off-by: Mike Frysinger
    CC: Ben Warren

    Mike Frysinger
     
  • The environment is the canonical storage location of the mac address, so
    we're killing off the global data location and moving everything to
    querying the env directly.

    For the nx823, the serial number is moved out of load_sernum_ethaddr() and
    into misc_init_r() as is the env setup. This lets us kill off the former
    function in the process.

    Signed-off-by: Mike Frysinger
    CC: Ben Warren

    Mike Frysinger
     
  • Since everyone is using the environment for mac address storage, there is
    no point in seeding the global data.

    The arches that are converted here:
    i386
    m68k
    microblaze
    mips
    nios
    nios2
    sh
    sparc

    Signed-off-by: Mike Frysinger
    CC: Ben Warren
    CC: Daniel Hellstrom
    CC: Michal Simek
    CC: Shinya Kuribayashi
    CC: Scott McNutt
    CC: Nobuhiro Iwamatsu

    Mike Frysinger
     
  • The environment is the canonical storage location of the mac address, so
    we're killing off the global data location and moving everything to
    querying the env directly.

    The resulting code can also be simplified even further.

    Signed-off-by: Mike Frysinger
    CC: Stefan Roese
    CC: Ben Warren

    Mike Frysinger
     
  • The environment is the canonical storage location of the mac address, so
    we're killing off the global data location and moving everything to
    querying the env directly.

    The cpus that get converted here:
    at91rm9200
    mpc512x
    mpc5xxx
    mpc8260
    mpc8xx
    ppc4xx

    Signed-off-by: Mike Frysinger
    CC: Ben Warren
    CC: John Rigby
    CC: Stefan Roese

    Mike Frysinger
     
  • The environment is the canonical storage location of the mac address, so
    we're killing off the global data location and moving everything to
    querying the env directly.

    Also, do not bother checking the EEPROM if the env is setup. This
    simplifies the code greatly.

    Signed-off-by: Mike Frysinger
    Signed-off-by: Wolfgang Dnek
    CC: Ben Warren
    CC: Rolf Offermanns
    CC: Erik Stahlman
    CC: Daris A Nevil
    CC: Sascha Hauer

    Mike Frysinger
     
  • The environment is the canonical storage location of the mac address, so
    we're killing off the global data location and moving everything to
    querying the env directly.

    The sh_eth driver can also be simplified a bit by using enetaddr member of
    the eth_device structure.

    Signed-off-by: Mike Frysinger
    CC: Nobuhiro Iwamatsu
    CC: Carlos Munoz
    CC: Ben Warren

    Mike Frysinger
     
  • The environment is the canonical storage location of the mac address, so
    we're killing off the global data location and moving everything to
    querying the env directly.

    The cs8900 driver also changes slightly in that the hardware is not
    consulted if the mac address in the env is sane.

    Signed-off-by: Mike Frysinger
    CC: Marius Groeger
    CC: Ben Warren

    Mike Frysinger
     
  • The environment is the canonical storage location of the mac address, so
    we're killing off the global data location and moving everything to
    querying the env directly.

    Since the address is in the PLM_DEVICE_BLOCK structure already, there is
    no need to pass the NodeAddress as a second parameter. So drop the second
    argument to the LM_SetMacAddress() function (and update the tigon3 driver
    accordingly).

    Signed-off-by: Mike Frysinger
    CC: Ben Warren

    Mike Frysinger