1. 21 3月, 2009 40 次提交
    • M
      UBIFS: Missing offset relocation for compressor 'none' · faac4fd8
      Michael Lawnick 提交于
      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: NMichael Lawnick <ml.lawnick@gmx.de>
      Acked-by: NStefan Roese <sr@denx.de>
      faac4fd8
    • S
      UBIFS: Add UBIFS commands · ce6d0c8d
      Stefan Roese 提交于
      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: NStefan Roese <sr@denx.de>
      ce6d0c8d
    • S
      UBIFS: Implement read-only UBIFS support in U-Boot · 9eefe2a2
      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: NStefan Roese <sr@denx.de>
      CC: Artem Bityutskiy <dedekind@infradead.org>
      CC: Adrian Hunter <ext-Adrian.Hunter@nokia.com>
      9eefe2a2
    • S
      Add LZO decompressor support · b1b4e89a
      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: NStefan Roese <sr@denx.de>
      b1b4e89a
    • S
      Separate mtdparts command from jffs2 · 68d7d651
      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: NStefan Roese <sr@denx.de>
      Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com>
      68d7d651
    • S
      02a301cd
    • G
      Add support for the digsy MTC board. · 5c4fa9b4
      Grzegorz Bernacki 提交于
      This is the InterControl custom device based on the MPC5200B chip.
      Signed-off-by: NGrzegorz Bernacki <gjb@semihalf.com>
      5c4fa9b4
    • S
      powerpc: Fix compilation warning in board.c · ff7dc067
      Stefan Roese 提交于
      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: NStefan Roese <sr@denx.de>
      ff7dc067
    • S
      ppc4xx: Don't write the MAC address into the internal SoC registers · 9cd69016
      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: NStefan Roese <sr@denx.de>
      9cd69016
    • M
      ppc4xx: Use correct io accessors for esd 405/440 boards · bb57ad4b
      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: NMatthias Fuchs <matthias.fuchs@esd.eu>
      Signed-off-by: NStefan Roese <sr@denx.de>
      bb57ad4b
    • M
      ppc4xx: Use correct io accessors for esd 405 boards · 049216f0
      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: NMatthias Fuchs <matthias.fuchs@esd.eu>
      Signed-off-by: NStefan Roese <sr@denx.de>
      049216f0
    • M
      ppc4xx: Cleanup linker scripts of esd 4xx boards · a59205d1
      Matthias Fuchs 提交于
      Signed-off-by: NMatthias Fuchs <matthias.fuchs@esd.eu>
      Signed-off-by: NStefan Roese <sr@denx.de>
      a59205d1
    • M
      ppc4xx: Update TEXT_BASE for DASA_SIM boards · 2f103ee2
      Matthias Fuchs 提交于
      Fix building DASA_SIM boards by increasing U-Boot's size in flash.
      Signed-off-by: NMatthias Fuchs <matthias.fuchs@esd.eu>
      Signed-off-by: NStefan Roese <sr@denx.de>
      2f103ee2
    • M
      ppc4xx: DU405 maintenance fix · 09db8f4d
      Matthias Fuchs 提交于
      -strip unused features
      -fix resetting phy
      Signed-off-by: NMatthias Fuchs <matthias.fuchs@esd.eu>
      Signed-off-by: NStefan Roese <sr@denx.de>
      09db8f4d
    • M
    • G
      Add basic relocation to i386 port · e17ee157
      Graeme Russ 提交于
      Signed-off-by: NGraeme Russ <graeme.russ@gmail.com>
      e17ee157
    • G
      Implement SC520 timers · 8c63d476
      Graeme Russ 提交于
      Signed-off-by: Graeme Russ <graeme.russ at gmail.com>
      8c63d476
    • G
      Factor out SC520 sub-features · 6d7f610b
      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 at gmail.com>
      6d7f610b
    • G
      Rewrite i386 interrupt handling · abf0cd3d
      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 at gmail.com>
      abf0cd3d
    • G
      Move ali512x.h · ece444b4
      Graeme Russ 提交于
      Moved ali512x.h from include/asm-i386/ic/ to /include
      
      Signed-off-by: Graeme Russ <graeme.russ at gmail.com>
      ece444b4
    • G
      Rename SC520 Configuration Options · 6d83e3ac
      Graeme Russ 提交于
      Options are now all uniformly CONFIG_SYS_SC520_<option>
      
      Signed-off-by: Graeme Russ <graeme.russ at gmail.com>
      6d83e3ac
    • T
      Fix all linker script to handle all rodata sections · f62fb999
      Trent Piepho 提交于
      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: NTrent Piepho <xyzzy@speakeasy.org>
      f62fb999
    • M
      remove bi_enet*addr from global data for all arches · 566b652c
      Mike Frysinger 提交于
      Signed-off-by: NMike Frysinger <vapier@gentoo.org>
      CC: Ben Warren <biggerbadderben@gmail.com>
      CC: Daniel Hellstrom <daniel@gaisler.com>
      CC: Michal Simek <monstr@seznam.cz>
      CC: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
      CC: Scott McNutt <smcnutt@psyent.com>
      CC: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
      566b652c
    • M
      ppc: mark global bi_enet*addr as legacy · eb85aa59
      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: NMike Frysinger <vapier@gentoo.org>
      CC: Ben Warren <biggerbadderben@gmail.com>
      eb85aa59
    • M
      boards: get mac address from env and move load_sernum_ethaddr() to board init · 9c150102
      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: NMike Frysinger <vapier@gentoo.org>
      CC: Ben Warren <biggerbadderben@gmail.com>
      CC: Stefan Roese <sr@denx.de>
      9c150102
    • M
      cmc_pu2: get mac address from environment · 92b50ffe
      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: NMike Frysinger <vapier@gentoo.org>
      CC: Ben Warren <biggerbadderben@gmail.com>
      92b50ffe
    • M
      boards: move board_get_enetaddr() into board-specific init · d8d21e69
      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: NMike Frysinger <vapier@gentoo.org>
      CC: Ben Warren <biggerbadderben@gmail.com>
      d8d21e69
    • M
      arm: get mac address from environment · f11e6ff5
      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: NMike Frysinger <vapier@gentoo.org>
      CC: Ben Warren <biggerbadderben@gmail.com>
      f11e6ff5
    • M
      nx823: get mac address from environment · 0107cf66
      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: NMike Frysinger <vapier@gentoo.org>
      CC: Ben Warren <biggerbadderben@gmail.com>
      0107cf66
    • M
      lib_*/board.c: do not initialize bi_enet*addr in global data · 19b5b533
      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: NMike Frysinger <vapier@gentoo.org>
      CC: Ben Warren <biggerbadderben@gmail.com>
      CC: Daniel Hellstrom <daniel@gaisler.com>
      CC: Michal Simek <monstr@seznam.cz>
      CC: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
      CC: Scott McNutt <smcnutt@psyent.com>
      CC: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
      19b5b533
    • M
      npe: get mac address from environment · 740e8ba7
      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: NMike Frysinger <vapier@gentoo.org>
      CC: Stefan Roese <sr@denx.de>
      CC: Ben Warren <biggerbadderben@gmail.com>
      740e8ba7
    • M
      cpu/: get mac address from environment · 6bacfa6a
      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: NMike Frysinger <vapier@gentoo.org>
      CC: Ben Warren <biggerbadderben@gmail.com>
      CC: John Rigby <jrigby@freescale.com>
      CC: Stefan Roese <sr@denx.de>
      6bacfa6a
    • M
      lan91c96/smc91111/smc911x: get mac address from environment · 03f3d8d3
      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: NMike Frysinger <vapier@gentoo.org>
      Signed-off-by: NWolfgang Dnek <wd@denx.de>
      CC: Ben Warren <biggerbadderben@gmail.com>
      CC: Rolf Offermanns <rof@sysgo.de>
      CC: Erik Stahlman <erik@vt.edu>
      CC: Daris A Nevil <dnevil@snmc.com>
      CC: Sascha Hauer <s.hauer@pengutronix.de>
      03f3d8d3
    • M
      sh_eth: get mac address from environment · c527ce92
      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: NMike Frysinger <vapier@gentoo.org>
      CC: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
      CC: Carlos Munoz <carlos@kenati.com>
      CC: Ben Warren <biggerbadderben@gmail.com>
      c527ce92
    • M
      cs8900: get mac address from environment · 0a5238ce
      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: NMike Frysinger <vapier@gentoo.org>
      CC: Marius Groeger <mgroeger@sysgo.de>
      CC: Ben Warren <biggerbadderben@gmail.com>
      0a5238ce
    • M
      bcm570x: get mac address from environment · c4b8762f
      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: NMike Frysinger <vapier@gentoo.org>
      CC: Ben Warren <biggerbadderben@gmail.com>
      c4b8762f
    • M
      drivers/net/: get mac address from environment · d3f87148
      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 drivers that get converted here:
      	3c589
      	4xx_enet
      	dc2114x
      	dm9000x
      	enc28j60
      	fsl_mcdmafec
      	ks8695eth
      	mcffec
      	rtl8019
      	rtl8169
      	s3c4510b_eth
      	xilinx_emac
      	xilinx_emaclite
      Signed-off-by: NMike Frysinger <vapier@gentoo.org>
      CC: Ben Warren <biggerbadderben@gmail.com>
      CC: Rolf Offermanns <rof@sysgo.de>
      CC: Stefan Roese <sr@denx.de>
      CC: Sascha Hauer <saschahauer@web.de>
      CC: TsiChung Liew <Tsi-Chung.Liew@freescale.com>
      CC: Greg Ungerer <greg.ungerer@opengear.com>
      CC: Xue Ligong <lgxue@hotmail.com>
      CC: Masami Komiya <mkomiya@sonare.it>
      CC: Curt Brune <curt@cucy.com>
      CC: Michal SIMEK <monstr@monstr.eu>
      d3f87148
    • M
      boards: get mac address from environment · b6b4625d
      Mike Frysinger 提交于
      The boards that get converted here to use the environment for the mac
      address rather than global data:
      	debris
      	mgcoge
      	mgsuvd
      	muas3001
      	netstal
      	pn62
      	sixnet
      	vcma9
      	xilinx (the ones that use xilinx_enet)
      Signed-off-by: NMike Frysinger <vapier@gentoo.org>
      CC: Ben Warren <biggerbadderben@gmail.com>
      CC: Sangmoon Kim <dogoil@etinsys.com>
      CC: Heiko Schocher <hs@denx.de>
      CC: David Mueller <d.mueller@elsoft.ch>
      CC: Niklaus Giger <niklaus.giger@netstal.com>
      CC: Wolfgang Grandegger <wg@denx.de>
      CC: Dave Ellis <DGE@sixnetio.com>
      CC: Ricardo Ribalda <ricardo.ribalda@uam.es>
      b6b4625d
    • M
      AmigaOneG3SE/enet: get mac address from environment · 06a0c438
      Mike Frysinger 提交于
      Always use the MAC address that is stored in the environment first before
      falling back to the ROM.  This also cuts out any comparison steps: if the
      mac in the env is sane, the ROM is never consulted.
      Signed-off-by: NMike Frysinger <vapier@gentoo.org>
      CC: Thomas Frieden <ThomasF@hyperion-entertainment.com>
      CC: Ben Warren <biggerbadderben@gmail.com>
      06a0c438
    • M
      nvedit: do not update global bi_enetaddr and do not call eth_set_enetaddr() · 56b555a6
      Mike Frysinger 提交于
      Since the ethernet layer handles updating of device addresses itself from
      the environment, there is no point in calling eth_set_enetaddr().
      Signed-off-by: NMike Frysinger <vapier@gentoo.org>
      CC: Ben Warren <biggerbadderben@gmail.com>
      56b555a6