platform/kernel/u-boot.git
14 years agomtdparts: add new sub-command "spread"
Ben Gardiner [Tue, 31 Aug 2010 21:48:03 +0000 (17:48 -0400)]
mtdparts: add new sub-command "spread"

This patch introduces the 'spread' sub-command of the mtdparts command.
This command will modify the existing mtdparts variable by increasing
the size of the partitions such that 1) each partition's net size is at
least as large as the size specified in the mtdparts variable and 2)
each partition starts on a good block.

The new subcommand is implemented by iterating over the mtd device
partitions and collecting a bad blocks count in each -- including any
trailing bad blocks -- and then modifying that partitions's part_info
structure and checking if the modification affects the next partition.

This patch is based on a port of the 'dynnamic partitions' feature by
Harald Welte <laforge@gnumonks.org>; ported from commit
e05835df019027391f58f9d8ce5e1257d6924798 of
git://git.openmoko.org/u-boot.git. Whereas Harald's feature used a
compile-time array to specify partitions, the feature introduced by
this patch uses the mtdparts environment variable.

Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
Signed-off-by: Harald Welte <laforge@gnumonks.org>
CC: Wolfgang Denk <wd@denx.de>
CC: Scott Wood <scottwood@freescale.com>
14 years agomtdparts: show net size in mtdparts list
Ben Gardiner [Tue, 31 Aug 2010 21:48:02 +0000 (17:48 -0400)]
mtdparts: show net size in mtdparts list

This patch adds an additional column to the output of list_partitions. The
additional column will contain the net size and a '(!)' beside it if the net
size is not equal to the partition size.

Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
CC: Wolfgang Denk <wd@denx.de>
CC: Scott Wood <scottwood@freescale.com>
14 years agomtd: add an mtd method for get_len_incl_bad()
Ben Gardiner [Tue, 31 Aug 2010 21:48:01 +0000 (17:48 -0400)]
mtd: add an mtd method for get_len_incl_bad()

The logic to 'spread' mtd partitions needs to calculate the length in
the mtd device, including bad blocks.

This patch introduces a new function, mtd_get_len_incl_bad that can
return both the length including bad blocks and whether that length
was truncated on the device. This new function will be used by the
mtdparts spread command later in this series. The definition of the
function is #ifdef'd out in configurations that do not use the new
'mtdparts spread' command.

Signed-off-by: Ben Gardiner<bengardiner@nanometrics.ca>
CC: Scott Wood <scottwood@freescale.com>
14 years agomtdparts: regroup calls to get_mtd_device_nm
Ben Gardiner [Tue, 31 Aug 2010 21:48:00 +0000 (17:48 -0400)]
mtdparts: regroup calls to get_mtd_device_nm

The get_mtd_device_nm function is called in a couple places and the
string that is passed to it is not really used after the calls.

This patch regroups the calls to this function into a new function,
get_mtd_info.

Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
Acked-by: Stefan Roese <sr@denx.de>
CC: Wolfgang Denk <wd@denx.de>
14 years agonand: remove dead code and suspend/resume
Scott Wood [Wed, 25 Aug 2010 22:42:49 +0000 (17:42 -0500)]
nand: remove dead code and suspend/resume

Get rid of the several "#if 0" sections that were keeping around Linux
code that isn't relevant to U-Boot.  Besides cluttering the code, these
sections make tracking upstream changes harder, rather than easier.
It's easy to discard obviously irrelevant diff hunks that patch rejects,
but it's not as easy to notice hunks that apply cleanly to the #if 0
section, but *are* relevant to U-Boot and require modification elsewhere.

Also remove suspend/resume, as this is not applicable to U-Boot.  Removal
saves 232 bytes on powerpc.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Tested-by: Ben Gardiner <bengardiner@nanometrics.ca>
14 years agonand commands: make only "dump" repeatable.
Scott Wood [Wed, 25 Aug 2010 20:24:01 +0000 (15:24 -0500)]
nand commands: make only "dump" repeatable.

The dump command is made to increment its address on repeat,
as md does.  Other commands do not make sense to issue repeatedly,
and can be irritating when it happens accidentally, so don't.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Tested-by: Ben Gardiner <bengardiner@nanometrics.ca>
14 years agonand erase: .spread, .part, .chip subcommands
Scott Wood [Wed, 25 Aug 2010 19:43:29 +0000 (14:43 -0500)]
nand erase: .spread, .part, .chip subcommands

A while back, in http://lists.denx.de/pipermail/u-boot/2009-June/054428.html,
Michele De Candia posted a patch to not count bad blocks toward the
requested size to be erased.  This is desireable when you're passing in
something like $filesize, but not when you're trying to erase a partition.

Thus, a .spread subcommand (named for consistency with
http://lists.denx.de/pipermail/u-boot/2010-August/075163.html) is introduced
to make explicit the user's desire to erase for a given amount of data,
rather than to erase a specific region of the chip.

While passing $filesize to "nand erase" is useful, accidentally passing
something like $fliesize currently produces quite unpleasant results, as the
variable evaluates to nothing and U-Boot assumes that you want to erase
the entire rest of the chip/partition.  To improve the safety of the
erase command, require the user to make explicit their intentions by
using a .part or .chip subcommand.  This is an incompatible user interface
change, but keeping compatibility would eliminate the safety gain, and IMHO
it's worth it.

While touching nand_erase_opts(), make it accept 64-bit offsets and sizes,
fix the percentage display when erase length is rounded up, eliminate
an inconsistent warning about rounding up the erase length which only
happened when the length was less than one block (rounding up for $filesize
is normal operation), and add a diagnostic if there's an attempt to erase
beginning at a non-block boundary.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Tested-by: Ben Gardiner <bengardiner@nanometrics.ca>
14 years agocmd_nand: some infrastructure fixes and refactoring
Scott Wood [Mon, 2 Aug 2010 18:04:24 +0000 (13:04 -0500)]
cmd_nand: some infrastructure fixes and refactoring

- If the current device is overridden by a named partition,
  - update the caller's pointer/index, rather than copy over the
    nand_info struct, and
  - be sure to call board_nand_select_device even when the device
    is overridden by a named partition.
- Support 64-bit offsets/sizes in a few more places.
- Refactor arg_off_size for added readability and flexibility,
  and some added checks such as partition size.
- Remove redundant check for bad subcommands -- if there's no match
  it'll print usage when it gets to the end anyway.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Tested-by: Ben Gardiner <bengardiner@nanometrics.ca>
14 years agonand util: read/write: accept unaligned length
Scott Wood [Fri, 30 Jul 2010 21:11:41 +0000 (16:11 -0500)]
nand util: read/write: accept unaligned length

The underlying code in nand_base.c already supports non-page-aligned reads
and writes, but the block-skipping wrapper code did not.

With block skipping, an unaligned start address is not useful since you
really want to be starting at the beginning of a partition -- or at least
that's where you want to start checking for blocks to skip, but we don't
(yet) support that.  So we still require the start address to be aligned.

An unaligned length, though, is useful for passing $filesize to the
read/write command, and handling it does not complicate block skipping.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Tested-by: Ben Gardiner <bengardiner@nanometrics.ca>
14 years agoMerge branch 'master' of git://git.denx.de/u-boot-x86
Wolfgang Denk [Mon, 11 Oct 2010 08:00:34 +0000 (10:00 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-x86

14 years agoMerge branch 'master' of git://git.denx.de/u-boot-mpc85xx
Wolfgang Denk [Mon, 11 Oct 2010 07:56:34 +0000 (09:56 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-mpc85xx

14 years agoMerge branch 'sf' of git://git.denx.de/u-boot-blackfin
Wolfgang Denk [Mon, 11 Oct 2010 07:52:16 +0000 (09:52 +0200)]
Merge branch 'sf' of git://git.denx.de/u-boot-blackfin

14 years agofsl: add support for NXID v1 EEPROM format
Timur Tabi [Thu, 30 Sep 2010 20:36:50 +0000 (15:36 -0500)]
fsl: add support for NXID v1 EEPROM format

Freescale application note AN3638 describes an update to the NXID format,
which stores MAC addresses and related data on an on-board EEPROM.  The new
version adds support for up to 23 MAC addresses, instead of just 8.  Since
the initial implementation of NXID had a "0" in the 'version' field, this
new version is called "v1".

Boards that are shipped with EEPROMs in the NXID v1 format should define
CONFIG_SYS_I2C_EEPROM_NXID_1 instead of CONFIG_SYS_I2C_EEPROM_NXID.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
14 years agopowerpc/85xx: fix rev.2 job queue LIODN error storm
Kim Phillips [Fri, 3 Sep 2010 15:57:31 +0000 (10:57 -0500)]
powerpc/85xx: fix rev.2 job queue LIODN error storm

pumping line-rate traffic though a p4080 rev.2, which
is configured to encrypt packets prior to forwarding through
an IPsec tunnel, gets this error:

of_platform ffe302000.jq: DECO: desc idx 22: LIODN error. DECO was trying
to share from itself or from another DECO but the two Non-SEQ LIODN
values didn't match or the "shared from" DECO's Descriptor required that
the SEQ LIODNs be the same and they aren't.

Since high traffic rates cause DECOs to begin to start sharing
shared descriptors amongst themselves, and DECOs inherit job queue
LIODNs when accessing shared descriptors, and a recently discovered
rev.2 h/w erratum requires all sharing job queues in a partition
have same liodn assignment, reassign the first job queue's liodn
assignment to the rest.

Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
14 years agopowerpc/p4080: Add new CPC register - HDBCR0
Kumar Gala [Thu, 23 Sep 2010 19:50:37 +0000 (14:50 -0500)]
powerpc/p4080: Add new CPC register - HDBCR0

Manual was updated to add a new register for disabling CDQ speculation.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
14 years agopowerpc/85xx: Add support for 4th PCI controller on corenet_ds
Kumar Gala [Fri, 9 Jul 2010 14:12:18 +0000 (09:12 -0500)]
powerpc/85xx: Add support for 4th PCI controller on corenet_ds

We configure the controller but dont have virtual address space thus any
devices on the 4th controller are not accessible in u-boot.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
14 years agopowerpc/corenet_ds: Various updates to initial env cfg
Emil Medve [Wed, 1 Sep 2010 03:57:43 +0000 (22:57 -0500)]
powerpc/corenet_ds: Various updates to initial env cfg

* Make the U-Boot update command sequence conditional.  Helps prevent
  accidental erasing if an upload or previous step fails
* Make it easier to update other FLASH banks
* Enable DDR controller cache line interleaving and bank cs0/cs1 by default

Signed-off-by: Emil Medve <Emilian.Medve@Freescale.com>
Signed-off-by: York Sun <yorksun@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
14 years agofsl: verify writes to the MAC address EEPROM
Timur Tabi [Mon, 2 Aug 2010 18:03:23 +0000 (13:03 -0500)]
fsl: verify writes to the MAC address EEPROM

Update the code which writes to the on-board EEPROM so that it can detect if
the write failed because the EEPROM is write-protected.  Most of the 8xxx-class
Freescale reference boards use an AT24C02 EEPROM to store MAC addresses and
similar information.  With this patch, if the EEPROM is protected, the
"mac save" command will display an error message indicating that the write
has not succeeded.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
14 years agop1022ds: add audclk hwconfig setting to enable codec reference clock
Timur Tabi [Wed, 21 Jul 2010 21:56:19 +0000 (16:56 -0500)]
p1022ds: add audclk hwconfig setting to enable codec reference clock

The Freescale P1022DS can use either a 12.288MHz or a 11.2896MHz reference
clock for the audio codec, but by default both are disabled.  Add a 'audclk'
hwconfig option that allows the user to choose which clock he wants.

The 12.288MHz clock allows the codec to use sampling rates of 16, 24, 32, 48,
64, and 96KHz.  The 11.2896 clock allows 14700, 22050, 29400, 44100, 58800, and
88200Hz.

Also configure a pin muxing to select some SSI signals, which will disable
I2C1.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
14 years agompc8569mds: fix some ddr settings
Haiying Wang [Wed, 29 Sep 2010 17:31:36 +0000 (13:31 -0400)]
mpc8569mds: fix some ddr settings

Enable half drive strength, set RTT to 60Ohm and set write leveling override.

Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
14 years agompc8569mds: fix consuming long time while relocating code.
Haiying Wang [Wed, 29 Sep 2010 17:31:35 +0000 (13:31 -0400)]
mpc8569mds: fix consuming long time while relocating code.

The original code maps boot flash as non-cacheable region. When calling
relocate_code in flash to copy u-boot from flash to ddr, every loop copy command
is read from flash. The flash read speed will be the bottleneck, which consuming
long time to do this operation. To resovle this, map the boot flash as
write-through cache via tlb. And set tlb to remap the flash after code
executing in ddr, to confirm flash erase operation properly done.

Signed-off-by: Kai.Jiang <Kai.Jiang@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
14 years agompc8569mds: fix CONFIG_ENV_SIZE
Haiying Wang [Wed, 29 Sep 2010 17:44:14 +0000 (13:44 -0400)]
mpc8569mds: fix CONFIG_ENV_SIZE

CONFIG_ENV_SIZE of MPC8569MDS was wrongly set to CONFIG_ENV_SECT_SIZE which
is 128KB, so it took longer time to do crc32 calculation for ENV than it should
do. It causes the bootup for MPC8569MDS significantly slow. This patch fixs it
to 0x2000(8KB), also fix the comment for CONFIG_ENV_SECT_SIZE to correct size.

Signed-off-by: Kai.Jiang <Kai.Jiang@freescale.com
Signed-off-by: Haiying Wang <Haiying.Wang@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
14 years agox86: Implement fully relocatable image
Graeme Russ [Thu, 7 Oct 2010 09:03:33 +0000 (20:03 +1100)]
x86: Implement fully relocatable image

u-boot.bin can be loaded at any 4-byte aligned memory location and directly
'jumped' to using the 'go' command using the load address as the start
address. Doing so performs a 'warm boot' which skips memory initialisation
and other low-level initialisations, relocates U-Boot to upper memory and
starts U-Boot in RAM as per normal 'cold boot'

14 years agox86: Use loops instead of memcpy/memset in board_init_f
Graeme Russ [Thu, 7 Oct 2010 09:03:33 +0000 (20:03 +1100)]
x86: Use loops instead of memcpy/memset in board_init_f

Provides a small speed increase and prepares for fully relocatable image.
Downside is the TEXT_BASE, bss, load address etc must ALL be aligned on a
a 4-byte boundary which is not such a terrible restriction as everything
is already 4-byte aligned anyway

14 years agox86: Rearrange linker script
Graeme Russ [Thu, 7 Oct 2010 09:03:32 +0000 (20:03 +1100)]
x86: Rearrange linker script

Tidy up the linker script and discard some sections to save space

14 years agox86: Rename linker script symbols
Graeme Russ [Thu, 7 Oct 2010 09:03:31 +0000 (20:03 +1100)]
x86: Rename linker script symbols

Create more generic names for the symbols exported from the linker script

14 years agox86: Set cold/warm boot flag
Graeme Russ [Thu, 7 Oct 2010 09:03:30 +0000 (20:03 +1100)]
x86: Set cold/warm boot flag

14 years agox86: Place global data below stack before entering C
Graeme Russ [Thu, 7 Oct 2010 09:03:29 +0000 (20:03 +1100)]
x86: Place global data below stack before entering C

By reserving space for the Global Data immediately below the stack during
assembly level initialisation, the C declaration of the static global data
can be removed, along with the 'RAM Bootstrap' function. This results in
cleaner code, and the ability to pass boot-up flags from assembler into C

14 years agox86: Dont clobber %eax after getting memory size
Graeme Russ [Thu, 7 Oct 2010 09:03:28 +0000 (20:03 +1100)]
x86: Dont clobber %eax after getting memory size

By using another register, reduce code size by one instruction

14 years agox86: Don't clobber %ebx
Graeme Russ [Thu, 7 Oct 2010 09:03:28 +0000 (20:03 +1100)]
x86: Don't clobber %ebx

%ebx will hold low-level boot flags and must be preserved

14 years agox86: Remove usage of %ebp as a return pointer
Graeme Russ [Thu, 7 Oct 2010 09:03:27 +0000 (20:03 +1100)]
x86: Remove usage of %ebp as a return pointer

Using %ebp as a return pointer prevents creating 'load anywhere' images

14 years agox86: Move ECC initialisation outside RAM initialisation
Graeme Russ [Thu, 7 Oct 2010 09:03:26 +0000 (20:03 +1100)]
x86: Move ECC initialisation outside RAM initialisation

To allow for 'load anywhere' images, the %ebp return pointer 'hack' must
be removed, so we cannot have two 'calls' to get_mem_size

14 years agox86: Remove progress indication in low-level init
Graeme Russ [Thu, 7 Oct 2010 09:03:24 +0000 (20:03 +1100)]
x86: Remove progress indication in low-level init

Progress indication is not relocation friendly so remove it in
preperation for full relocatability support

14 years agox86: Fix %ss and %esp in register structure for interrupts
Graeme Russ [Thu, 7 Oct 2010 09:03:23 +0000 (20:03 +1100)]
x86: Fix %ss and %esp in register structure for interrupts

14 years agox86: Change compiler options
Graeme Russ [Thu, 7 Oct 2010 09:03:23 +0000 (20:03 +1100)]
x86: Change compiler options

Change to:
 - reparam=3
 - no-from-pointer
 - no-stack-protector
 - preferred-stack-boundary=2
 - no-top-level-reorder

These options make the code a little smaller and faster

14 years agox86: Coding Style Cleanup
Graeme Russ [Thu, 7 Oct 2010 09:03:21 +0000 (20:03 +1100)]
x86: Coding Style Cleanup

Perform some basic code cleanups of the x86 files

14 years agox86: Move loading of GTD to C code
Graeme Russ [Thu, 7 Oct 2010 09:03:21 +0000 (20:03 +1100)]
x86: Move loading of GTD to C code

Linux has C macros and code to load the GTD after switching to Protected
Mode. Using these greatly simplifies the assembler code

14 years agox86: use gc sections to reduce image size
Graeme Russ [Thu, 7 Oct 2010 09:03:20 +0000 (20:03 +1100)]
x86: use gc sections to reduce image size

Follow the discussion of Charles Manning and Mike Frysinger.
Using gc_sections helps reduce image size.

14 years agox86: zboot update
Graeme Russ [Thu, 7 Oct 2010 09:03:19 +0000 (20:03 +1100)]
x86: zboot update

The header of recent Linux Kernels includes the size of the image, and
therefore is not needed to be passed to zboot. Still process the third
parameter (size of image) in the event that an older kernel is being loaded

14 years agox86: Use TEXT_BASE in linker scripts
Graeme Russ [Thu, 7 Oct 2010 09:03:18 +0000 (20:03 +1100)]
x86: Use TEXT_BASE in linker scripts

Use TEXT_BASE rather than a hard-coded base address on x86 linker scripts.
This will allow any board to define its base link address without having
to modify the linker script

14 years agox86: Make CONFIG_RELOC_FIXUP_WORKS generic for all x86 boards
Graeme Russ [Thu, 7 Oct 2010 09:03:18 +0000 (20:03 +1100)]
x86: Make CONFIG_RELOC_FIXUP_WORKS generic for all x86 boards

Relocation is not board-specific for the x86 architectrure, so
CONFIG_RELOC_FIXUP_WORKS can be defined globally in the config.h

14 years agox86: Remove bi_env from do_bdinfo
Graeme Russ [Thu, 7 Oct 2010 09:03:17 +0000 (20:03 +1100)]
x86: Remove bi_env from do_bdinfo

Commit 55e97429d1e6cf0976711e4e0f29ea924b7e5917 removed the definition
from /arch/i386/include/asm/u-boot.h but not its usage in do_bdinfo()

14 years agosspi: add options to specify bus and mode
Reinhard Meyer [Thu, 26 Aug 2010 08:57:27 +0000 (10:57 +0200)]
sspi: add options to specify bus and mode

and clean up error messages and help,
removed pointless debug() call.

Signed-off-by: Reinhard Meyer <u-boot@emk-elektronik.de>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agosf: spansion: add support for S25FL032P parts
David Jander [Mon, 23 Aug 2010 13:12:16 +0000 (15:12 +0200)]
sf: spansion: add support for S25FL032P parts

This patch introduces an extra mask-field in spansion_spi_flash_params
to support flash chips with 1-byte extended ID (like the S25FL032P).

Signed-off-by: David Jander <david@protonic.nl>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agosf: spansion: fixing erasing when sector size >64KiB
Marc-André Hébert [Tue, 10 Aug 2010 13:02:09 +0000 (09:02 -0400)]
sf: spansion: fixing erasing when sector size >64KiB

The spansion_erase currently only works when the sector size is 64KB.
cmd[1] should contain the higher 8 bit of the 24 bit address of the
sector to be erased. Currently it is holding the sector index to be
erased which happens to be the same thing when the sector size is
64KB.

Signed-off-by: Marc-Andre Hebert <marc-andre.hebert@humanware.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agoinclude/compiler.h: remove uint typedef for __MACH__
Andreas Bießmann [Sat, 25 Sep 2010 15:45:59 +0000 (17:45 +0200)]
include/compiler.h: remove uint typedef for __MACH__

uint is typedefed twice if __MACH__ is defined. This generates an error
when calling MAKEALL for netstar bord on OS X.

This patch removes the typedef for __MACH__ case in favor of general
definiton some lines below.

Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
14 years agoReplace MAX_CMDBUF_SIZE references with CONFIG_SYS_CBSIZE
Peter Tyser [Wed, 29 Sep 2010 18:30:56 +0000 (13:30 -0500)]
Replace MAX_CMDBUF_SIZE references with CONFIG_SYS_CBSIZE

The MAX_CMDBUF_SIZE define is unneeded as it should always
equal CONFIG_SYS_CBSIZE.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
14 years agods1621: Fix negative temperature readings
Jeff Dischler [Wed, 29 Sep 2010 18:46:19 +0000 (13:46 -0500)]
ds1621: Fix negative temperature readings

Fix bug where signed data was processed as unsigned.  The bug previously
resulted in negative temperature readings wrapping around, eg -10 became
245.

Signed-off-by: Jeff Dischler <jdischler@xes-inc.com>
Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
14 years agods1621: Clean up coding style
Peter Tyser [Wed, 29 Sep 2010 18:46:18 +0000 (13:46 -0500)]
ds1621: Clean up coding style

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
14 years agods1621: Poll for register write completion
Peter Tyser [Wed, 29 Sep 2010 18:46:17 +0000 (13:46 -0500)]
ds1621: Poll for register write completion

Poll the ds1621 NV Memory Busy bit instead of waiting a static amount of
time for register writes.

Also add config retister bit defines.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
14 years agolib/hashtable.c: add CONFIG_ENV_MIN_ENTRIES
Andreas Bießmann [Fri, 1 Oct 2010 20:51:02 +0000 (22:51 +0200)]
lib/hashtable.c: add CONFIG_ENV_MIN_ENTRIES

This patch adds a new config parameter for adjusting the calculation of
hash table size when importing a buffer.

When importing a extremely small buffer (e.g. the default_environment)
the old calculation generated a hash table which could hold at most the
buffer content but no more entires.

The new calculation add a fixed number of entries to the result to fit
better for small import buffers. This amount may be configured by the
user in board file to adjust the behaviour.

Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
14 years agocmd_elf: add an option for loading ELFs according to PHDRs
Mike Frysinger [Sat, 2 Oct 2010 19:44:53 +0000 (15:44 -0400)]
cmd_elf: add an option for loading ELFs according to PHDRs

The current ELF loading function does a lot of work above and beyond a
simple "loading".  It ignores the real load addresses and loads things
into their virtual (runtime) address.  This is undesirable when we just
want it to load an ELF and let the ELF do the actual C runtime init.

So add a command line option to let people choose to load via either the
program or section headers.  I'd prefer to have program header loading
be the default, but this would break historical behavior, so I'll leave
section header loading as the norm.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agoPowerPC: change board specific early pci_init() into generic.
Andre Schwarz [Tue, 5 Oct 2010 09:59:31 +0000 (11:59 +0200)]
PowerPC: change board specific early pci_init() into generic.

Signed-off-by: Andre Schwarz <andre.schwarz@matrix-vision.de>
14 years agoserial.c: Fix build breakage introduced with commit e3c78c9b
Stefan Roese [Wed, 6 Oct 2010 16:50:59 +0000 (18:50 +0200)]
serial.c: Fix build breakage introduced with commit e3c78c9b

This patch fixes the compilation problem introduced with commit
e3c78c9b [ppc4xx: Remove now unused CONFIG_UART1_CONSOLE]:

-> ./MAKEALL TB5200
Configuring for TB5200 board...
serial.c: In function '__default_serial_console':
serial.c:94: warning: no return statement in function returning non-void

I accidentally removed an "#else" line. This patch adds it back.

Signed-off-by: Stefan Roese <sr@denx.de>
14 years agoenv: fix cmd_env_sub fct pointers if CONFIG_RELOC_FIXUP_WORKS is not defined
Heiko Schocher [Tue, 5 Oct 2010 12:17:00 +0000 (14:17 +0200)]
env: fix cmd_env_sub fct pointers if CONFIG_RELOC_FIXUP_WORKS is not defined

commit ea882baf9c17cd142c99e3ff640d3ab01daa5cec introduces
a command_sub_table for the "env" command. On arm, avr32, m68k,
mips and sparc architectures, relocation needs manual fixups,
so add these fixups for this sub command table too.

Tested on arm/qong board.
          mips board (Ben NanoNote) from Xiangfu Liu
          arm/AT91 board from Reinhard Meyer

Signed-off-by: Heiko Schocher <hs@denx.de>
cc: Wolfgang Denk <wd@denx.de>
cc: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
cc: Xiangfu Liu <xiangfu@openmobilefree.net>
cc: Reinhard Meyer <u-boot@emk-elektronik.de>
cc: sshtylyov@mvista.com

14 years agoboard/mpl: Remove mpl-specific memory test command
Peter Tyser [Wed, 6 Oct 2010 04:48:47 +0000 (23:48 -0500)]
board/mpl: Remove mpl-specific memory test command

The mpl-specfic memory test is only documented for one board, doesn't
compile cleanly, uses improper coding style, and overlaps functionality
with U-Boot's common 'mtest' command, so lets get rid of it.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
CC: d.peter@mpl.ch
CC: d.mueller@elsoft.ch
CC: wd@denx.de
14 years agoenv_mmc: Fix broken build due to set_default_env() change
Steve Sakoman [Tue, 5 Oct 2010 22:31:38 +0000 (15:31 -0700)]
env_mmc: Fix broken build due to set_default_env() change

Previously the function was set_default_env(void), it is now
set_default_env(const char *s). This patch adds the required
parameter. This fixes a broken build on OMAP4430 SDP.

Signed-off-by: Steve Sakoman <steve.sakoman@linaro.org>
14 years agoCCM: remove code for yet another corpse
Wolfgang Denk [Tue, 5 Oct 2010 20:54:54 +0000 (22:54 +0200)]
CCM: remove code for yet another corpse

The CCM board has long reached EOL, and support for it is no longer
relevant in current versions of U-Boot.  Remove it.

Signed-off-by: Wolfgang Denk <wd@denx.de>
14 years agoPCU_E: remove code for yet another corpse
Wolfgang Denk [Tue, 5 Oct 2010 20:54:53 +0000 (22:54 +0200)]
PCU_E: remove code for yet another corpse

The PCU_E board has long reached EOL, and support for it is no longer
relevant in current versions of U-Boot.  Remove it.

Signed-off-by: Wolfgang Denk <wd@denx.de>
14 years agopm9g45: fix compile warning
Wolfgang Denk [Tue, 5 Oct 2010 19:27:17 +0000 (21:27 +0200)]
pm9g45: fix compile warning

Fix warning:

pm9g45.c: In function 'pm9g45_macb_hw_init':
pm9g45.c:99: warning: unused variable 'pio'

Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Ilko Iliev <iliev@ronetix.at>
14 years agopm9263: fix compile warning
Wolfgang Denk [Tue, 5 Oct 2010 19:24:17 +0000 (21:24 +0200)]
pm9263: fix compile warning

Fix warning:

pm9263.c: In function 'pm9263_macb_hw_init':
pm9263.c:99: warning: unused variable 'pio'

Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Ilko Iliev <iliev@ronetix.at>
14 years agorules.mk: make sure we always create a .depend file
Wolfgang Denk [Tue, 5 Oct 2010 12:08:55 +0000 (14:08 +0200)]
rules.mk: make sure we always create a .depend file

There are some cases where "make depend" would always run when
entering a directory.  This happened when both the $(SRCS) and
$(HOSTSRCS) lists were empty (which is for example typical for the
examples/api/ directory).  Avoid this by making sure that a ".depend"
file gets always created, even if empty.

Signed-off-by: Wolfgang Denk <wd@denx.de>
Acked-by: Detlev Zundel <dzu@denx.de>
14 years agosf: winbond: add support W25Q64 parts
Graeme Smecher [Thu, 29 Jul 2010 13:00:02 +0000 (09:00 -0400)]
sf: winbond: add support W25Q64 parts

Adds support for Winbond's W25Q64 SPI flash. These devices are used on
(among others) Xilinx' SP601 and SP605 Spartan-6 evaluation boards.
Tested with "sf" commands.

Signed-off-by: Graeme Smecher <graeme.smecher@mail.mcgill.ca>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agoMerge branch 'master' of git://git.denx.de/u-boot-blackfin
Wolfgang Denk [Tue, 5 Oct 2010 12:42:32 +0000 (14:42 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-blackfin

14 years agoMerge branch 'master' of git://git.denx.de/u-boot-ppc4xx
Wolfgang Denk [Tue, 5 Oct 2010 12:37:25 +0000 (14:37 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-ppc4xx

14 years agoMerge branch 'next' of git://git.denx.de/u-boot-video
Wolfgang Denk [Tue, 5 Oct 2010 12:31:48 +0000 (14:31 +0200)]
Merge branch 'next' of git://git.denx.de/u-boot-video

14 years agoppc44x: config GPIOs for USB on canyonlands board
Rupjyoti Sarmah [Fri, 1 Oct 2010 09:01:28 +0000 (14:31 +0530)]
ppc44x: config GPIOs for USB on canyonlands board

The GPIO 16 and 19 reconfiguration should be done once USB is initialized.
So moved the reconfiguration to the USB init  function.

Signed-off-by: Rupjyoti Sarmah <rsarmah@apm.com>
Signed-off-by: Stefan Roese <sr@denx.de>
14 years agoppc4xx: Remove some testing hacks from ppc4xx.h
Stefan Roese [Wed, 29 Sep 2010 14:59:57 +0000 (16:59 +0200)]
ppc4xx: Remove some testing hacks from ppc4xx.h

I accidentally left these hacks in the code while doing the big header
cleanup. Let's remove it now.

Signed-off-by: Stefan Roese <sr@denx.de>
14 years agoppc4xx: Use common ns16550 functions in 4xx UART POST driver
Stefan Roese [Wed, 29 Sep 2010 14:58:38 +0000 (16:58 +0200)]
ppc4xx: Use common ns16550 functions in 4xx UART POST driver

This patch changes the PPC4xx POST UART driver to use the common
NS16550 functions for receiving and sending. Additionally the
local function for SoC divisor setup are removed. Instead the
functions from arch/powerpc/cpu/ppc4xx/4xx_uart.c are used. This
removes code duplication.

Also the common CONFIG_SYS_NS16550_COMx defines are now used
to describe the POST UART's.

And a compile breakage is fixed, introduced by a git merge of
the ppc4xx/next branch into master. Now "ppc4xx.h" is moved to
"asm/ppc4xx.h". Fixed as well with this patch.

Signed-off-by: Stefan Roese <sr@denx.de>
14 years agoppc4xx: Small whitespace cleanup in canyonlands.c
Stefan Roese [Tue, 28 Sep 2010 06:06:06 +0000 (08:06 +0200)]
ppc4xx: Small whitespace cleanup in canyonlands.c

Signed-off-by: Stefan Roese <sr@denx.de>
14 years agoppc4xx/fdt/flash: Fix bug in fdt_fixup_nor_flash_node()
Stefan Roese [Fri, 24 Sep 2010 11:51:50 +0000 (13:51 +0200)]
ppc4xx/fdt/flash: Fix bug in fdt_fixup_nor_flash_node()

This patch fixes a bug in fdt_fixup_nor_flash_node() when the reg
property has multiple reg tuples, like:

reg = <0 0x00000000 0x04000000
       0 0x04000000 0x04000000>;

In this case this function did not update the reg property correctly.

Signed-off-by: Stefan Roese <sr@denx.de>
14 years agoppc4xx: Add defines for COM3 & COM4 (UART2 & UART3) on 440EPx/GRx
Stefan Roese [Fri, 24 Sep 2010 09:20:41 +0000 (11:20 +0200)]
ppc4xx: Add defines for COM3 & COM4 (UART2 & UART3) on 440EPx/GRx

Signed-off-by: Stefan Roese <sr@denx.de>
14 years agoppc4xx: Big lwmon5 board support rework/update
Sascha Laue [Thu, 19 Aug 2010 07:38:56 +0000 (09:38 +0200)]
ppc4xx: Big lwmon5 board support rework/update

This patch brings the lwmon5 board support up-to-date. Here a
summary of the changes:

lwmon5 board port related:
- GPIO's changed to control the LSB transmitter
- Reset USB PHY's upon power-up
- Enable CAN upon power-up
- USB init error workaround (errata CHIP_6)
- EBC: Enable burstmode and modify the timings for the GDC memory
- EBC: Speed up NOR flash timings

lwmon5 board POST related:
- Add FPGA memory test
- Add GDC memory test
- DSP POST reworked
- SYSMON POST: Fix handling of negative temperatures
- Add output for sysmon1 POST
- HW-watchdog min. time test reworked

Additionally some coding-style changes were done.

Signed-off-by: Sascha Laue <sascha.laue@liebherr.com>
Signed-off-by: Stefan Roese <sr@denx.de>
14 years agoAPM821xx: Add bluestone board support
Tirumala Marri [Tue, 28 Sep 2010 21:15:21 +0000 (14:15 -0700)]
APM821xx: Add bluestone board support

Add support code for bluestone board wth APM821XX processor based.
This patch includes early board init, misc init, configure EBC,
initializes UIC, MAKEALL, board.cfg and MAINTAINERS file.

Signed-off-by: Tirumala R Marri <tmarri@apm.com
Signed-off-by: Stefan Roese <sr@denx.de>
14 years agoAPM821xx: Add CPU support
Tirumala Marri [Tue, 28 Sep 2010 21:15:14 +0000 (14:15 -0700)]
APM821xx: Add CPU support

APM821XX is a new line of SoCs which are derivatives of
PPC44X family of processors. This patch adds support of CPU, cache,
tlb, 32k ocm, bootstraps, PLB and AHB bus.

Signed-off-by: Tirumala R Marri <tmarri@apm.com>
Signed-off-by: Stefan Roese <sr@denx.de>
14 years agohmi1001, mucmc52, uc100, uc101: move boards to vendor directory
Wolfgang Denk [Wed, 18 Aug 2010 12:14:17 +0000 (14:14 +0200)]
hmi1001, mucmc52, uc100, uc101: move boards to vendor directory

Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Heiko Schocher <hs@denx.de>
Cc: Stefan Roese <sr@denx.de>
Cc: Roderik Wildenburg <roderik.wildenburg@manroland.com>
14 years agoCONFIG_SYS_ARM_WITHOUT_RELOC: document feature removal
Wolfgang Denk [Wed, 29 Sep 2010 09:25:55 +0000 (11:25 +0200)]
CONFIG_SYS_ARM_WITHOUT_RELOC: document feature removal

Signed-off-by: Wolfgang Denk <wd@denx.de>
14 years agoBlackfin: otp: fix build after constification of args[]
Mike Frysinger [Sat, 2 Oct 2010 18:31:32 +0000 (14:31 -0400)]
Blackfin: otp: fix build after constification of args[]

The OTP code does a little shuffling of arguments that aren't really
necessary, so use a local variable instead to fix build errors now
that the args[] parameter is const.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agoBlackfin: bf537-pnav: increase monitor len
Mike Frysinger [Fri, 1 Oct 2010 23:42:08 +0000 (19:42 -0400)]
Blackfin: bf537-pnav: increase monitor len

Building this board for parallel flash fills up the bss section and thus
fails to link, so bump up the monitor size a bit.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agoBlackfin: bf527-ad7160-eval: fix GPIO CS define
Mike Frysinger [Fri, 1 Oct 2010 20:59:19 +0000 (16:59 -0400)]
Blackfin: bf527-ad7160-eval: fix GPIO CS define

Rather than use a hardcoded "7", use the new Blackfin global define.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agoBlackfin: bf548-ezkit: bump SPI flash size up
Mike Frysinger [Wed, 29 Sep 2010 20:24:16 +0000 (20:24 +0000)]
Blackfin: bf548-ezkit: bump SPI flash size up

The current size used (256KiB) is smaller than the LDR created for
the bf548-ezkit, so 'run update' doesn't work correctly.  So bump
up the size a bit by making this flexible per-board config.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agoBlackfin: fix MMC init output alignment
Mike Frysinger [Wed, 29 Sep 2010 18:46:42 +0000 (14:46 -0400)]
Blackfin: fix MMC init output alignment

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agoBlackfin: blackvme: new board port
Wojtek Skulski [Mon, 27 Sep 2010 22:21:59 +0000 (18:21 -0400)]
Blackfin: blackvme: new board port

The board includes:
 * ADSP-BF561 rev. 0.5
 * 32-bit SDRAM (2 * MT48LC16M16A2TG or MT48LC32M16A2TG)
 * Gigabit Ether AX88180 (ASIX) + 88E1111 rev. B2 (Marvell)
 * SPI  boot flash on PF2 (M25P64 8MB, or M25P128 16 MB)
 * FPGA boot flash on PF3 (M25P64 8MB, or M25P128 16 MB)
 * Spartan6-LX150 (memory-mapped; both PPIs also connected)
 * See http://www.skutek.com/

Signed-off-by: Wojtek Skulski <skulski@pas.rochester.edu>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agoBlackfin: propagate target cpu defines when building embedded env
Mike Frysinger [Sun, 26 Sep 2010 07:00:38 +0000 (07:00 +0000)]
Blackfin: propagate target cpu defines when building embedded env

Since we're no longer extracting the env from the target ELF file (since
upstream wouldn't take that change), we're back to the problem of cpu
defines not properly propagating to the env setup stage.  So the embedded
env built by the host compiler doesn't match the one that is linked into
the u-boot env.

Reported-by: Vivi Li <vivi.li@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agoBlackfin: cmd_gpio: accept upper case pin names
Mike Frysinger [Fri, 24 Sep 2010 19:34:08 +0000 (15:34 -0400)]
Blackfin: cmd_gpio: accept upper case pin names

The intention all along was to accept pin names irrelevant of their case.
But I guess I forgot to test/implement support for that.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agoBlackfin: bf526-ezbrd: enable BootROM-OOB layout when booting from NAND
Mike Frysinger [Tue, 21 Sep 2010 23:47:27 +0000 (19:47 -0400)]
Blackfin: bf526-ezbrd: enable BootROM-OOB layout when booting from NAND

We need to use the Blackfin BootROM-specific OOB layout when we boot out
of NAND as that is what the on-chip ROM expects.

Also need to increase the monitor size a little to accommodate the extra
NAND code overhead.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agoBlackfin: adi config: enable nand lock/unlock support
Mike Frysinger [Tue, 21 Sep 2010 23:33:53 +0000 (19:33 -0400)]
Blackfin: adi config: enable nand lock/unlock support

We use the lock/unlock options in our default nand code, so enabl
support for the options.

Reported-by: Vivi Li <vivi.li@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agoBlackfin: bct-brettl2: new board port
Peter Meerwald [Mon, 20 Sep 2010 18:08:57 +0000 (14:08 -0400)]
Blackfin: bct-brettl2: new board port

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agoBlackfin: adi config: allow boards to tweak a little more
Mike Frysinger [Mon, 20 Sep 2010 19:14:58 +0000 (15:14 -0400)]
Blackfin: adi config: allow boards to tweak a little more

Let people easily override bootdelay and network settings.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agoBlackfin: cmd_gpio: return gpio value to caller
Mike Frysinger [Mon, 20 Sep 2010 17:46:29 +0000 (13:46 -0400)]
Blackfin: cmd_gpio: return gpio value to caller

Make the GPIO command usable in a scripting environment by returning
the GPIO value rather than always 0.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agoBlackfin: bf527-sdp: new board port
Mike Frysinger [Sun, 19 Sep 2010 20:28:40 +0000 (16:28 -0400)]
Blackfin: bf527-sdp: new board port

Support for the Blackfin System Development Platform (SDP) base module.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agoBlackfin: adi config: add a hook for boards to append the env
Mike Frysinger [Sun, 19 Sep 2010 20:27:24 +0000 (16:27 -0400)]
Blackfin: adi config: add a hook for boards to append the env

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agoBlackfin: adi config: add an "all spi flashes" option to unify board lists
Mike Frysinger [Sun, 19 Sep 2010 20:26:55 +0000 (16:26 -0400)]
Blackfin: adi config: add an "all spi flashes" option to unify board lists

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agoBlackfin: support a 3rd gpio cfi pin
Peter Meerwald [Fri, 17 Sep 2010 17:02:42 +0000 (13:02 -0400)]
Blackfin: support a 3rd gpio cfi pin

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agoBlackfin: cmd_gpio: document/extend input sub-option
Mike Frysinger [Fri, 13 Aug 2010 19:48:09 +0000 (15:48 -0400)]
Blackfin: cmd_gpio: document/extend input sub-option

The input sub command was missing from the help text, and it didn't show
the actual value currently read on the GPIO.  This allows people to read
the value of input pins.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agoBlackfin: move CONFIG_BFIN_CPU to board config.mk
Mike Frysinger [Mon, 9 Aug 2010 21:57:47 +0000 (17:57 -0400)]
Blackfin: move CONFIG_BFIN_CPU to board config.mk

The CONFIG_BFIN_CPU option is largely used in the build system, so move
it out of the board config.h and into the board config.mk.  It'd be nice
to keep everything in the config.h, but the patch to extract that value
early was rejected.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agoBlackfin: bf561: merge headers
Mike Frysinger [Mon, 26 Jul 2010 05:27:17 +0000 (01:27 -0400)]
Blackfin: bf561: merge headers

Only the BF561 port was using the common dual core headers, so merge them
into the BF561 specific headers.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agoBlackfin: bf533: merge headers
Mike Frysinger [Mon, 26 Jul 2010 05:06:37 +0000 (01:06 -0400)]
Blackfin: bf533: merge headers

Only the BF533 port was using the common extended headers, so merge them
into the BF533 specific headers.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agoBlackfin: unify core MMRs
Mike Frysinger [Mon, 26 Jul 2010 05:10:35 +0000 (01:10 -0400)]
Blackfin: unify core MMRs

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agoBlackfin: bf52x: unify arch header duplication
Mike Frysinger [Mon, 26 Jul 2010 05:05:41 +0000 (01:05 -0400)]
Blackfin: bf52x: unify arch header duplication

Signed-off-by: Mike Frysinger <vapier@gentoo.org>