project/bcm63xx/u-boot.git
14 years agoarm: implement ELF relocations
Albert Aribaud [Mon, 11 Oct 2010 11:13:28 +0000 (13:13 +0200)]
arm: implement ELF relocations

ELF relocation tables generated with linker option -pie can
be used to fixup code and data in a single loop at relocation,
removing the need for manual fixups anywhere else in the code.

Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
14 years agoboard/armltd/integrator/split_by_variant.sh: fix 'echo -n'
Andreas Bießmann [Fri, 24 Sep 2010 19:20:40 +0000 (21:20 +0200)]
board/armltd/integrator/split_by_variant.sh: fix 'echo -n'

This patch fixes an error when running MAKEALL for ARM9.

On OS X /bin/sh uses builtin echo which does not utilise '-n' switch.
GNU manual for builtins recomend to use here-document style to solve
this portability issue.

This patch removes the usage of 'echo -n' and replace by here-document
style or a oneline echo command.

Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
CC: Peter Pearse <peter.pearse@arm.com>
14 years agoARMV7: Fixed baudrate setting in pl01x driver
Matt Waddel [Thu, 7 Oct 2010 21:48:46 +0000 (15:48 -0600)]
ARMV7: Fixed baudrate setting in pl01x driver

The pl01x serial driver was lacking the code to switch baudrates from the
command line.  Fixed by simply saving the new baudrate and calling
serial_init() again.  Also fixed CamelCase variables, I/O accessors and
comment style.

Signed-off-by: Matt Waddel <matt.waddel@linaro.org>
14 years agoARMV7: Versatile Express Coretile CortexA9x4 support
Matt Waddel [Thu, 7 Oct 2010 21:48:45 +0000 (15:48 -0600)]
ARMV7: Versatile Express Coretile CortexA9x4 support

Adds support for the ARM quad-core Cortex-A9 processor

This system includes a motherboard(Versatile Express), daughterboard
(Coretile), and SOC(Cortex-A9 quad core).  The serial port, ethernet,
and flash systems work with these additions.  The naming convention
is:
   SOC -> CortexA9 quad core = ca9x4
   daughterboard -> Coretile = ct
   motherboard -> Versatile Express = vxp
This gives ca9x4_ct_vxp.c as the board support file.

Signed-off-by: Matt Waddel <matt.waddel@linaro.org>
14 years agoarch/arm/include/asm/sizes.h: cleanups
Andreas Bießmann [Fri, 24 Sep 2010 21:31:43 +0000 (23:31 +0200)]
arch/arm/include/asm/sizes.h: cleanups

Merge several sizes.h in asm/arch subdirectories into a single
asm/sizes.h file.

Fixup usage of asm/arch/sizes.h in some files to use the merged file.

Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
14 years agoMerge branch 'master' of git://git.denx.de/u-boot-marvell
Wolfgang Denk [Wed, 13 Oct 2010 07:59:13 +0000 (09:59 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-marvell

14 years agoARM: relocation: don't undef CONFIG_SYS_ARM_WITHOUT_RELOC
Ben Gardiner [Wed, 22 Sep 2010 21:32:49 +0000 (17:32 -0400)]
ARM: relocation: don't undef CONFIG_SYS_ARM_WITHOUT_RELOC

There were some #undef's of CONFIG_SYS_ARM_WITHOUT_RELOC added to a few board
configs as part of the arm relocation series; but these are not needed now as we
do not #undef what is not #defined in the first place.

Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
CC: Heiko Schocher <hs@denx.de>
14 years agoARM: relocation: fix typo in comment
Heiko Schocher [Wed, 22 Sep 2010 12:06:33 +0000 (14:06 +0200)]
ARM: relocation: fix typo in comment

Signed-off-by: Heiko Schocher <hs@denx.de>
14 years agoKirkwood: Changes specific to ARM relocation support
Prafulla Wadaskar [Thu, 30 Sep 2010 17:27:02 +0000 (22:57 +0530)]
Kirkwood: Changes specific to ARM relocation support

All Kirkwood based boards are supported for this new implementation
ref: docs/README.arm-relocation

Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>
14 years agokirkwood: added common config file mv-common.h
Prafulla Wadaskar [Thu, 30 Sep 2010 17:23:43 +0000 (22:53 +0530)]
kirkwood: added common config file mv-common.h

It is observed that, in most of the board configs the code is being
duplicated, also for any common change all board files needs update
This issue was under discussion from long on mailing list and we
converge on introducing common config file.

With this patch-
1. Total Kirkwood specific configuration code is reduced by 210 lines
2. All common configuration can be shared by multiple boards
3. Easy to manage common updates like ARM relocation changes

mv-common.h file is added to include/configs/
It contains all common configuration supported for all Kirkwood boards
The respective board configs are updated for its usage

Build tested for guruplug, mv88f6281gtw_ge, openrd_base,
rd6281a and sheevaplug
Binary execution tested for sheevaplug

Todo:
1. Other custom Kirkwood boards to be synced
2. The support to be extended for Orion5X based boards

Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>
14 years agoKirkwood: dram_init is moved to dram.c
Prafulla Wadaskar [Thu, 30 Sep 2010 14:03:19 +0000 (19:33 +0530)]
Kirkwood: dram_init is moved to dram.c

For all Kirkwood boards so far dram_init function is duplicated
dram_init function is moved to dram.c and relevant code from all
board specific files removed

If any board needs specific dram init handling than standard one,
then, a macro CONFIG_SYS_BOARD_DRAM_INIT should be defined in
board config header file and the dram_init function can be put
in board specific source file
For ex. keymile boards

Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>
14 years agoorion5x: optimize window size computation
Albert Aribaud [Thu, 7 Oct 2010 14:49:53 +0000 (20:19 +0530)]
orion5x: optimize window size computation

Signed-off-by: Chris Moore <moore@free.fr>
Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
14 years agoKirkwood: print_cpuinfo fixed for valid devid revid
Prafulla Wadaskar [Mon, 20 Sep 2010 11:49:42 +0000 (17:19 +0530)]
Kirkwood: print_cpuinfo fixed for valid devid revid

Earlier Device Identification register was used to detect
the type for SoC, considering 88F6282 support to be added,
It is not possible to detect the same using current
algorithm.

With this patch, device ID is being read using PCIE devid
register, also valid chip revision ID will also be read and
displayed

Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>
14 years agomvsata_ide: adjust port init sequence
Albert Aribaud [Thu, 16 Sep 2010 15:00:30 +0000 (20:30 +0530)]
mvsata_ide: adjust port init sequence

mvsata_ide_initialize_port(): adjust init sequence (SStatus
should be checked only after all writes to SControl) and
return success/failure to ide_preinit().

Also, as some tests showed init durations in the hundreds
of us, raise the time-out to 01 ms to be on the safe side.

Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
14 years agoKirkwood: Changes specific to ARM relocation support
Prafulla Wadaskar [Thu, 30 Sep 2010 17:27:02 +0000 (22:57 +0530)]
Kirkwood: Changes specific to ARM relocation support

All Kirkwood based boards are supported for this new implementation
ref: docs/README.arm-relocation

Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>
14 years agokirkwood: added common config file mv-common.h
Prafulla Wadaskar [Thu, 30 Sep 2010 17:23:43 +0000 (22:53 +0530)]
kirkwood: added common config file mv-common.h

It is observed that, in most of the board configs the code is being
duplicated, also for any common change all board files needs update
This issue was under discussion from long on mailing list and we
converge on introducing common config file.

With this patch-
1. Total Kirkwood specific configuration code is reduced by 210 lines
2. All common configuration can be shared by multiple boards
3. Easy to manage common updates like ARM relocation changes

mv-common.h file is added to include/configs/
It contains all common configuration supported for all Kirkwood boards
The respective board configs are updated for its usage

Build tested for guruplug, mv88f6281gtw_ge, openrd_base,
rd6281a and sheevaplug
Binary execution tested for sheevaplug

Todo:
1. Other custom Kirkwood boards to be synced
2. The support to be extended for Orion5X based boards

Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>
14 years agoKirkwood: dram_init is moved to dram.c
Prafulla Wadaskar [Thu, 30 Sep 2010 14:03:19 +0000 (19:33 +0530)]
Kirkwood: dram_init is moved to dram.c

For all Kirkwood boards so far dram_init function is duplicated
dram_init function is moved to dram.c and relevant code from all
board specific files removed

If any board needs specific dram init handling than standard one,
then, a macro CONFIG_SYS_BOARD_DRAM_INIT should be defined in
board config header file and the dram_init function can be put
in board specific source file
For ex. keymile boards

Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>
14 years agoorion5x: optimize window size computation
Albert Aribaud [Thu, 7 Oct 2010 14:49:53 +0000 (20:19 +0530)]
orion5x: optimize window size computation

Signed-off-by: Chris Moore <moore@free.fr>
Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
14 years agoKirkwood: print_cpuinfo fixed for valid devid revid
Prafulla Wadaskar [Mon, 20 Sep 2010 11:49:42 +0000 (17:19 +0530)]
Kirkwood: print_cpuinfo fixed for valid devid revid

Earlier Device Identification register was used to detect
the type for SoC, considering 88F6282 support to be added,
It is not possible to detect the same using current
algorithm.

With this patch, device ID is being read using PCIE devid
register, also valid chip revision ID will also be read and
displayed

Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>
14 years agomvsata_ide: adjust port init sequence
Albert Aribaud [Thu, 16 Sep 2010 15:00:30 +0000 (20:30 +0530)]
mvsata_ide: adjust port init sequence

mvsata_ide_initialize_port(): adjust init sequence (SStatus
should be checked only after all writes to SControl) and
return success/failure to ide_preinit().

Also, as some tests showed init durations in the hundreds
of us, raise the time-out to 01 ms to be on the safe side.

Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
14 years agoorion5x: fix relocation-incompatible code
Albert Aribaud [Thu, 23 Sep 2010 19:49:23 +0000 (21:49 +0200)]
orion5x: fix relocation-incompatible code

Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
14 years agoarm: bugfix: replace ble with blo in start.S files
Albert Aribaud [Tue, 5 Oct 2010 14:06:39 +0000 (16:06 +0200)]
arm: bugfix: replace ble with blo in start.S files

Generalized misuse of ble within relocation and bss
initialization loops caused one iteration too many.
Instead of ble ('branch if lower or equal'), use
blo ('branch if lower').

While we're at it, fix all 'addreee' typos.

Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
14 years agoMerge branch 'at91' of git://git.denx.de/u-boot-atmel
Wolfgang Denk [Mon, 11 Oct 2010 08:24:22 +0000 (10:24 +0200)]
Merge branch 'at91' of git://git.denx.de/u-boot-atmel

14 years agoMerge branch 'master' of git://git.denx.de/u-boot-imx
Wolfgang Denk [Mon, 11 Oct 2010 08:19:04 +0000 (10:19 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-imx

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 agoMX51: Support for TTECH vision2 board
Stefano Babic [Tue, 6 Jul 2010 17:32:09 +0000 (19:32 +0200)]
MX51: Support for TTECH vision2 board

The patch adds support for TTECH vision2 board.
The board has 512MB RAM, SDHC slot and 4MB SPI
device from StMicron.

Signed-off-by: Stefano Babic <sbabic@denx.de>
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 agoat91: Add arch_preboot_os which disables PIT in a faster way
Alexander Stein [Mon, 13 Sep 2010 06:26:39 +0000 (08:26 +0200)]
at91: Add arch_preboot_os which disables PIT in a faster way

When disabled the PIT runs until it reaches the CPIV value.
The Linux PIT driver stops the PIT and waits until it stopped. This can
take over 100ms. Simply stopping in u-boot isn't sufficient as the PIT
will still be running when Linux is waiting until it stopped.
So, we stop it in u-boot by setting the compare value to a value slightly
greater than the current running counter to make the PIT stopped in short
time.

Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com>
14 years agoatmel_usart: change register access to C structure
Andreas Bießmann [Fri, 3 Sep 2010 08:28:05 +0000 (10:28 +0200)]
atmel_usart: change register access to C structure

 This patch introduces C structure definition for register footprint of atmel's
 usart.

Signed-off-by: Andreas Bießmann <biessmann@corscience.de>
14 years agoat91_emac.h: fix typo in register definition
Andreas Bießmann [Tue, 7 Sep 2010 17:10:32 +0000 (19:10 +0200)]
at91_emac.h: fix typo in register definition

Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
Acked-by: Jens Scharsig <js_at_ng@scharsoft.de>
14 years agoAT91: convert cpu.c to struct SoC access
Reinhard Meyer [Tue, 14 Sep 2010 14:38:57 +0000 (16:38 +0200)]
AT91: convert cpu.c to struct SoC access

Signed-off-by: Reinhard Meyer <u-boot@emk-elektronik.de>
14 years agoat91_emac.c: poll for IDLE when writing PHY
Andreas Bießmann [Tue, 7 Sep 2010 17:10:34 +0000 (19:10 +0200)]
at91_emac.c: poll for IDLE when writing PHY

This patch replaces the unnecessary waiting in at91emac_read() and
at91emac_write() by checking the IDLE flag.

Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
14 years agoat91_emac.c: fix 'Warning: eth device name has a space!'
Andreas Bießmann [Tue, 7 Sep 2010 17:10:33 +0000 (19:10 +0200)]
at91_emac.c: fix 'Warning: eth device name has a space!'

This patch also removes conditional nameing of at91_emac driver whether it's
connection to PHY is RMII or MII.

Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
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>