oweals/u-boot.git
14 years agoat91_emac: Write MAC address automatically
Eric Bénard [Mon, 21 Jun 2010 07:41:16 +0000 (09:41 +0200)]
at91_emac: Write MAC address automatically

tested on cpuat91.

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agoAX88180: use standard I/O accessors
Mike Frysinger [Thu, 3 Jun 2010 01:03:50 +0000 (21:03 -0400)]
AX88180: use standard I/O accessors

The current dm9000x driver accesses its memory mapped registers directly
instead of using the standard I/O accessors.  This can cause problems on
Blackfin systems as the accesses can get out of order.  So convert the
direct volatile dereferences to use the normal in/out macros.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Tested-by: Hoan Hoang <hnhoan@i-syst.com>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agoAX88180: make OUTW handle 32bit/16bit defines too
Hoan Hoang [Tue, 11 May 2010 06:43:07 +0000 (02:43 -0400)]
AX88180: make OUTW handle 32bit/16bit defines too

The current OUTW function is always defined as a 16bit function, but this
doesn't work correctly when using the 32bit access mode.  So define it as
a 32bit function when in 32bit mode so things work correctly on Blackfin
32bit LE systems.

Signed-off-by: Hoan Hoang <hnhoan@i-syst.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agoAX88180: add support for the Marvell 88E1118 phy
Hoan Hoang [Tue, 11 May 2010 06:42:38 +0000 (02:42 -0400)]
AX88180: add support for the Marvell 88E1118 phy

Some places in the current code equate the Marvell 88E1111 PHY as the family
when in reality it's a subpart of the Alaska family.  So once we generalize
that, add support for the 88E1118 PHY.

Signed-off-by: Hoan Hoang <hnhoan@i-syst.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agoWrite MAC address automatically on MACB-based boards
Ben Warren [Tue, 1 Jun 2010 18:55:42 +0000 (11:55 -0700)]
Write MAC address automatically on MACB-based boards

Also, remove all calls to eth_init() in boards that use MACB

Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agosmc91xx_eeprom: Correct chip detection check.
Juergen Kilb [Sat, 12 Jun 2010 19:22:01 +0000 (21:22 +0200)]
smc91xx_eeprom: Correct chip detection check.

The smc911x_detect function in /net/driver/net/smc911x.c
returns a 0 if everything was ok (a chip was found) and -1 else.
In the standalone example 'smc911x_eeprom' the return value
of smc911x_detect is interpreted in a different way
(0 for error, !0 as OK).
This leads to the error that the chip will not be detected.

Signed-off-by: Juergen Kilb <j.kilb@phytec.de>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agotsec: fix the return value for tsec_eth_init()
Timur Tabi [Tue, 8 Jun 2010 13:21:21 +0000 (08:21 -0500)]
tsec: fix the return value for tsec_eth_init()

The Ethernet initialization functions are supposed to return the number of
devices initialized, so fix tsec_eth_init() so that they returns the number of
TSECs initialized, instead of just zero.  This is safe because the return value
is currently ignored by all callers, but now they don't have to ignore it.

In general, if an function initializes only one device, then it should return
a negative number if there's an error.  If it initializes more than one device,
then it should never return a negative number.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agouli526x: drop newlines from device name
Mike Frysinger [Thu, 10 Jun 2010 02:14:21 +0000 (22:14 -0400)]
uli526x: drop newlines from device name

Device names should not contain non-printable characters like newlines.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agonet: warn about spaces in device names
Mike Frysinger [Thu, 10 Jun 2010 02:10:48 +0000 (22:10 -0400)]
net: warn about spaces in device names

Some commands operate on eth device names (like 'mii'), but those cannot
be passed on the command line as one argument.  So detect devices like
these and warn about them so someone will fix it.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agoAX88180: switch to common mii.h header
Mike Frysinger [Mon, 10 May 2010 20:47:36 +0000 (16:47 -0400)]
AX88180: switch to common mii.h header

No compiled code change here, just drop the local PHY defines in favor of
the common standard ones.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agoAX88180: improve phy searching
Mike Frysinger [Mon, 10 May 2010 20:10:00 +0000 (16:10 -0400)]
AX88180: improve phy searching

Rather than hardcode specific phy addresses, search the possible phy
address space to find the first available phy.  Also respect the normal
CONFIG_PHY_ADDR option for board porters to pick a specific address.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agoAX88180: fix media typos
Hoan Hoang [Mon, 10 May 2010 20:09:35 +0000 (16:09 -0400)]
AX88180: fix media typos

Signed-off-by: Hoan Hoang <hnhoan@i-syst.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agoAX88180: add missing init prototype
Mike Frysinger [Mon, 10 May 2010 20:08:54 +0000 (16:08 -0400)]
AX88180: add missing init prototype

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agokirkwood_egiga: updates: fix DRAM mapping and typo
Albert Aribaud [Mon, 5 Jul 2010 18:15:25 +0000 (20:15 +0200)]
kirkwood_egiga: updates: fix DRAM mapping and typo

DRAM window mapping uses kirkwood-provided functions instead
of global gd as do other drivers--fix this.

Also, fix a typo in a comment

Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
Acked-by: Prafulla Wadaskar <prafulla@marvell.com>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agoSPEAr : Network driver support added
Vipin KUMAR [Tue, 29 Jun 2010 05:23:34 +0000 (10:53 +0530)]
SPEAr : Network driver support added

Designware network driver support added.
This is a Synopsys ethernet controller

Signed-off-by: Vipin Kumar <vipin.kumar@st.com>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agokirkwood_egiga: bugfix: add DMA sequence points
Albert Aribaud [Sat, 10 Jul 2010 13:41:29 +0000 (15:41 +0200)]
kirkwood_egiga: bugfix: add DMA sequence points

Insert isb() sequence points to ensure DMA descriptors
are filled in and set up before actual DMA occurs.

Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
Acked-by: Prafulla Wadaskar <prafulla@marvell.com>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agonet: Add option to disable fiber on M88E1111 PHY for PPC4xx
Stefan Roese [Tue, 29 Jun 2010 07:23:53 +0000 (09:23 +0200)]
net: Add option to disable fiber on M88E1111 PHY for PPC4xx

By defining CONFIG_M88E1111_DISABLE_FIBER boards can configure the
M88E1111 PYH to disable fiber. This is needed for an upcoming PPC460GT
based board, which has fiber/copper auto-selection enabled by default.
This doesn't seem to work. So we disable fiber in the PHY register.

Signed-off-by: Stefan Roese <sr@denx.de>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agonet: dm9000x: re-add casts to I/O pointers to fix gcc warnings
Mike Frysinger [Mon, 5 Jul 2010 06:29:21 +0000 (02:29 -0400)]
net: dm9000x: re-add casts to I/O pointers to fix gcc warnings

The DM9000 in/out helper functions were casting the register address when
it was accessing things directly (pre commit a45dde2293c816138e53c).  But
when it was changed to using the in/out helpers, those casts were dropped
because those functions don't take pointers.  Even more recently, those
functions were then changed to use the read/write helpers, but the casts
were not re-added.  This is necessary because the read/write helpers do
take pointers.  Otherwise we get a lot of warnings like:
dm9000x.c: In function 'dm9000_inblk_8bit':
dm9000x.c:172: warning: passing argument 1 of 'readb'
makes pointer from integer without a cast

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Tested-by: Thomas Weber <weber@corscience.de>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agotsec: add micrel ksz804 phy
Heiko Schocher [Mon, 5 Jul 2010 10:23:04 +0000 (12:23 +0200)]
tsec: add micrel ksz804 phy

Signed-off-by: Heiko Schocher <hs@denx.de>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agoMake sure that argv[] argument pointers are not modified.
Wolfgang Denk [Mon, 28 Jun 2010 20:00:46 +0000 (22:00 +0200)]
Make sure that argv[] argument pointers are not modified.

The hush shell dynamically allocates (and re-allocates) memory for the
argument strings in the "char *argv[]" argument vector passed to
commands.  Any code that modifies these pointers will cause serious
corruption of the malloc data structures and crash U-Boot, so make
sure the compiler can check that no such modifications are being done
by changing the code into "char * const argv[]".

This modification is the result of debugging a strange crash caused
after adding a new command, which used the following argument
processing code which has been working perfectly fine in all Unix
systems since version 6 - but not so in U-Boot:

int main (int argc, char **argv)
{
while (--argc > 0 && **++argv == '-') {
/* ====> */ while (*++*argv) {
switch (**argv) {
case 'd':
debug++;
break;
...
default:
usage ();
}
}
}
...
}

The line marked "====>" will corrupt the malloc data structures and
usually cause U-Boot to crash when the next command gets executed by
the shell.  With the modification, the compiler will prevent this with
an
error: increment of read-only location '*argv'

N.B.: The code above can be trivially rewritten like this:

while (--argc > 0 && **++argv == '-') {
char *arg = *argv;
while (*++arg) {
switch (*arg) {
...

Signed-off-by: Wolfgang Denk <wd@denx.de>
Acked-by: Mike Frysinger <vapier@gentoo.org>
14 years agoRedundant environment: move flag definitions to header file
Wolfgang Denk [Tue, 22 Jun 2010 13:44:16 +0000 (15:44 +0200)]
Redundant environment: move flag definitions to header file

Instead of defining the flags sevaral times in different source files
(which is error prone), move them to a central place in a header file.

Signed-off-by: Wolfgang Denk <wd@denx.de>
14 years agoMake *printf() return "int" instead of "void"
Wolfgang Denk [Sun, 20 Jun 2010 15:14:14 +0000 (17:14 +0200)]
Make *printf() return "int" instead of "void"

Change the return type of the *printf() functions to the standard
"int"; no changes are needed but returning the already available
length count.

This will save a few additional strlen() calls later...

Signed-off-by: Wolfgang Denk <wd@denx.de>
14 years agoexports.c: fix warning: 'dummy' defined but not used
Wolfgang Denk [Sun, 20 Jun 2010 21:33:02 +0000 (23:33 +0200)]
exports.c: fix warning: 'dummy' defined but not used

Also get rid of the #ifdef's while doing this.

Suggested-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Wolfgang Denk <wd@denx.de>
14 years agocmd_ide.c: fix unused variable warning for SC3 board
Wolfgang Denk [Sun, 20 Jun 2010 18:10:46 +0000 (20:10 +0200)]
cmd_ide.c: fix unused variable warning for SC3 board

Signed-off-by: Wolfgang Denk <wd@denx.de>
14 years agoshannon/INFERNO: fix special handling of environment configuration
Wolfgang Denk [Sun, 20 Jun 2010 19:26:20 +0000 (21:26 +0200)]
shannon/INFERNO: fix special handling of environment configuration

Remove some INFERNO related #ifdef's from common environment code by
fixing the board configuration settings (add CONFIG_ENV_SECT_SIZE).

While we are at it, fix comment which incorrectly talks about 4 KB
environment size, while it's actually 0x4000 = 16 KiB.

Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Rolf Offermanns <rof@sysgo.de>
14 years agoboards.cfg: fix ML2, am3517_evm and s5p_goni boards
Wolfgang Denk [Sun, 20 Jun 2010 18:10:02 +0000 (20:10 +0200)]
boards.cfg: fix ML2, am3517_evm and s5p_goni boards

Fix board directory name for ML2 board, and
add missing definitions for am3517_evm and s5p_goni boards.

Signed-off-by: Wolfgang Denk <wd@denx.de>
14 years agoMerge branch 'master' of git://git.denx.de/u-boot-ppc4xx
Wolfgang Denk [Sun, 4 Jul 2010 21:37:00 +0000 (23:37 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-ppc4xx

14 years agoMerge branch 'sf' of git://git.denx.de/u-boot-blackfin
Wolfgang Denk [Sun, 4 Jul 2010 21:36:11 +0000 (23:36 +0200)]
Merge branch 'sf' of git://git.denx.de/u-boot-blackfin

14 years agoppc4xx: Add T3COPR board support (PPC460GT based)
Stefan Roese [Wed, 19 May 2010 09:11:15 +0000 (11:11 +0200)]
ppc4xx: Add T3COPR board support (PPC460GT based)

This patch adds support for the T3CORP board, based on the
AppliedMicro (APM) PPC460GT.

Signed-off-by: Stefan Roese <sr@denx.de>
14 years agoppc4xx: Cleanup Boot/FLASH TLB reassignment for PPC440/460
Stefan Roese [Thu, 27 May 2010 14:45:20 +0000 (16:45 +0200)]
ppc4xx: Cleanup Boot/FLASH TLB reassignment for PPC440/460

Background Info:
Some PPC440/460 boards have caches enabled in the Boot/FLASH TLB (via
init.S) to speed up the boot process. In relocate_code (start.S) the
cache inhibit attribute for this TLB is set to disable cache. This is
needed for the CFI FLASH driver.

This patch now cleans this code up:
- CONFIG_SYS_TLB_FOR_BOOT_FLASH is defined to 0 (default TLB) if not
  defined in the top of this file. This way, we can remove an ugly
  #ifdef in this code.
- Replace complex "#if defined(CONFIG_440EP) || defined(CONFIG_GR)..."
  statement with "#if defined(CONFIG_440)".
- Remove unnecessary cache invalidate calls resulting in faster bootup.

Signed-off-by: Stefan Roese <sr@denx.de>
14 years agoppc4xx: Add DDR1/2 macros in ppc4xx-sdram.h for non-405EX as well
Stefan Roese [Tue, 25 May 2010 14:13:41 +0000 (16:13 +0200)]
ppc4xx: Add DDR1/2 macros in ppc4xx-sdram.h for non-405EX as well

This patch adds some DDR(2) macros to all PPC4xx's equipped with
this IBM DDR1/2 controller.

Signed-off-by: Stefan Roese <sr@denx.de>
14 years agoppc4xx: DDR2: Complete RDSS configuration on non-SPD based boards
Stefan Roese [Tue, 25 May 2010 13:33:14 +0000 (15:33 +0200)]
ppc4xx: DDR2: Complete RDSS configuration on non-SPD based boards

As described in item #10 of the SDRAM initialization (chapter 22.2.9
of the PPC460EX/EXr/GT users manual), RDSS may need to be adjusted. The
code for this is now factored out and executed for non-SPD based boards
as well.

Signed-off-by: Stefan Roese <sr@denx.de>
14 years agoppc4xx: Enable overwriting of default scan window for IBM DDR2 controller
Stefan Roese [Tue, 25 May 2010 13:23:07 +0000 (15:23 +0200)]
ppc4xx: Enable overwriting of default scan window for IBM DDR2 controller

This patch makes it possible to overwrite the default auto-calibration
scan window (SDRAM_WRDTR.[WDTR], SDRAM_CLKTR.[CKTR] values) with
board specific values. The parameters of the weak default function are
corrected as well. This way we don't need the casts any more.

This feature will be used by an upcoming PPC460GT board port.

Signed-off-by: Stefan Roese <sr@denx.de>
14 years agoppc4xx: Enable PCIe support without PCI support on PPC440/460
Stefan Roese [Fri, 21 May 2010 13:06:19 +0000 (15:06 +0200)]
ppc4xx: Enable PCIe support without PCI support on PPC440/460

By not defining CONFIG_SYS_PCI_MASTER_INIT and CONFIG_SYS_PCI_TARGET_INIT,
PCI support (host and adapter) will not be enabled. But it's still
possible to use the U-Boot PCI infrastructure for the PCIe ports.

This configuration option is needed for a new 460GT board, which uses
PCIe but has PCI disabled.

Signed-off-by: Stefan Roese <sr@denx.de>
14 years agoppc4xx: Enable booting with Option E on 460EX/EXr/GT
Stefan Roese [Wed, 19 May 2010 09:13:24 +0000 (11:13 +0200)]
ppc4xx: Enable booting with Option E on 460EX/EXr/GT

This patch enables booting with option E on the PPC460EX/EXr/GT.
When booting with Option E, the PLL is in bypass, CPR0_PLLC[ENG]=0.
The Software Boot Configuration Procedure is needed to engage the
PLL and perform a chip reset.

Signed-off-by: Stefan Roese <sr@denx.de>
14 years agosf: move useful messages from debug to printf
Mike Frysinger [Thu, 29 Apr 2010 04:35:12 +0000 (00:35 -0400)]
sf: move useful messages from debug to printf

At the moment, the default SPI flash subsystem is quite terse.  Errors and
successes both result in a generic message.  So move the useful errors and
useful successes to printf output by default.

While we're here, also convert the messages to use print_size().

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agospi_flash: support old STMicro parts with RES
Thomas Chou [Fri, 30 Apr 2010 13:11:20 +0000 (21:11 +0800)]
spi_flash: support old STMicro parts with RES

Some old STMicro parts do not support JEDEC ID (0x9f). This patch
uses RES (0xab) to get Electronic ID and translates it to JEDEC ID.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Acked-by: Mike Frysinger <vapier@gentoo.org>
14 years agoadd redundant environment for env_sf.c
Wolfgang Wegner [Fri, 23 Apr 2010 15:22:55 +0000 (17:22 +0200)]
add redundant environment for env_sf.c

This patch adds redundant environment for environment in SPI flash.
I took env_flash.c as an example and slightly modified it. Apart
from adapting things to SF, I also slightly changed the decision
logic to use area 2 as a default in case the flags are wrong because
not having a default path worried me.

I did not add a section for CONFIG_ENV_IS_IN_SPI_FLASH in environment.h
because I did not understand if this is desired and/or needed.
So to use the feature, one has to set CONFIG_ENV_OFFSET_REDUND _and_
CONFIG_SYS_REDUNDAND_ENVIRONMENT.

I checked it by powering off my board several times during flash
erase or write, because I do not know if there are other stress
test scenarios.

Signed-off-by: Wolfgang Wegner <w.wegner@astro-kom.de>
Acked-by: Mike Frysinger <vapier@gentoo.org>
14 years agodrivers/usb/host/ohci-hcd: rename readl/writel to ohci_readl/ohci_writel
Becky Bruce [Wed, 30 Jun 2010 18:05:44 +0000 (13:05 -0500)]
drivers/usb/host/ohci-hcd: rename readl/writel to ohci_readl/ohci_writel

This avoids a build warning that you see if anyone in the
header chain has included io.h (which is coming shortly).  The previous
code redefined readl/writel; this patch renames it to be specific to
ohci.  The defines are also moved from ohci-hcd.c to ohci.h.

Signed-off-by: Becky Bruce <beckyb@kernel.crashing.org>
14 years agomusb: Program extvbus for OMAP3EVM Rev >= E
Ajay Kumar Gupta [Thu, 10 Jun 2010 05:50:50 +0000 (11:20 +0530)]
musb: Program extvbus for OMAP3EVM Rev >= E

OMAP3EVM Rev >=E uses external Vbus supply so setting 'extvbus'
to '1' for OMAP3EVM Rev >=E runtime based on EVM revision.

CC: Remy Bohmer <linux@bohmer.net>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
14 years agoomap3evm: Add board revision function
Ajay Kumar Gupta [Thu, 10 Jun 2010 05:50:49 +0000 (11:20 +0530)]
omap3evm: Add board revision function

Added function to differentiate between the OMAP3EVM revisions. The
chip-id of the ethernet PHY is being used for this purpose.

Rev A to D : 0x01150000
Rev >= E   : 0x92200000

CC: Remy Bohmer <linux@bohmer.net>
Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
Signed-off-by: Sanjeev Premi <premi@ti.com>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Acked-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agomusb: Add Phy programming for using external Vbus
Ajay Kumar Gupta [Thu, 10 Jun 2010 05:50:48 +0000 (11:20 +0530)]
musb: Add Phy programming for using external Vbus

MUSB PHY on OMAP3EVM Rev >= E uses external Vbus supply to support
500mA of power.We need to program MUSB PHY to use external Vbus
for this purpose.

Adding 'extvbus' member in musb_config structure which should be set
by all the boards where MUSB interface is using external Vbus supply.

Also added ULPI bus control register read/write abstraction for
Blackfin processor as it doesn't have ULPI registers.

CC: Remy Bohmer <linux@bohmer.net>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
14 years agomusb: Use name based initialization for musb_config
Ajay Kumar Gupta [Thu, 10 Jun 2010 05:50:47 +0000 (11:20 +0530)]
musb: Use name based initialization for musb_config

Changed musb_config initialization for omap3.c, davinci.c
and da8xx.c using name of structure fields. This would cause
the uninitialized field to be null by default and thus would
help in avoiding to init some flags required to be set only
for a few selected platforms.

CC: Remy Bohmer <linux@bohmer.net>
Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
14 years agoUSB OHCI support for at91sam9g45 SoC
Sergey Matyukevich [Wed, 9 Jun 2010 19:09:06 +0000 (23:09 +0400)]
USB OHCI support for at91sam9g45 SoC

Add USB OHCI support for at91sam9g45ekes/at91sam9m10g45ek boards.

Note that according to errata from Atmel, OHCI is not operational
on the first revision of at91sam9g45 chip. So this patch enables
OHCI support for later revisions.

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
14 years agoMerge branch 'master' of ssh://gemini/home/wd/git/u-boot/master
Wolfgang Denk [Wed, 30 Jun 2010 08:10:32 +0000 (10:10 +0200)]
Merge branch 'master' of ssh://gemini/home/wd/git/u-boot/master

14 years agoMerge branch 'master' of ssh://gemini/home/wd/git/u-boot/master
Wolfgang Denk [Tue, 29 Jun 2010 23:04:48 +0000 (01:04 +0200)]
Merge branch 'master' of ssh://gemini/home/wd/git/u-boot/master

14 years agoMerge branch 'master' into next
Wolfgang Denk [Tue, 29 Jun 2010 23:02:11 +0000 (01:02 +0200)]
Merge branch 'master' into next

14 years agoMerge branch 'master' of /home/wd/git/u-boot/work
Wolfgang Denk [Tue, 29 Jun 2010 22:59:21 +0000 (00:59 +0200)]
Merge branch 'master' of /home/wd/git/u-boot/work

14 years agoPrepare 2010.06 v2010.06
Wolfgang Denk [Tue, 29 Jun 2010 21:27:35 +0000 (23:27 +0200)]
Prepare 2010.06

Update CHANGELOG

Signed-off-by: Wolfgang Denk <wd@denx.de>
14 years agopowerpc/bootcount: Add bootcount support for MPC512x
Michael Weiss [Thu, 20 May 2010 14:09:34 +0000 (16:09 +0200)]
powerpc/bootcount: Add bootcount support for MPC512x

This also uses the breadcrumb register as on MPC5200.

Signed-off-by: Michael Weiss <michael.weiss@ifm.com>
Signed-off-by: Detlev Zundel <dzu@denx.de>
14 years agoMerge branch 'master' of /home/wd/git/u-boot/work
Wolfgang Denk [Tue, 29 Jun 2010 21:03:47 +0000 (23:03 +0200)]
Merge branch 'master' of /home/wd/git/u-boot/work

14 years agopowerpc: fix wrong comment at GOT definitions
Heiko Schocher [Thu, 17 Jun 2010 05:01:40 +0000 (07:01 +0200)]
powerpc: fix wrong comment at GOT definitions

r12 is used for accessing the GOT not r14. Fix this in the
comment.

Signed-off-by: Heiko Schocher <hs@denx.de>
14 years agoMAKEALL: Add missing powerpc 36-bit targets
Becky Bruce [Thu, 17 Jun 2010 16:37:27 +0000 (11:37 -0500)]
MAKEALL: Add missing powerpc 36-bit targets

We were missing 8641HPCN_36BIT and MPC8536DS_36BIT.

Signed-off-by: Becky Bruce <beckyb@kernel.crashing.org>
14 years agoFix compiler warnings for EVB64260, P3G4 and ZUMA
Anatolij Gustschin [Fri, 25 Jun 2010 22:39:28 +0000 (00:39 +0200)]
Fix compiler warnings for EVB64260, P3G4 and ZUMA

Fix following warnings:

$ ./MAKEALL EVB64260 P3G4 ZUMA
Configuring for EVB64260 board...
mpsc.c: In function 'mpsc_putchar_early':
mpsc.c:121: warning: dereferencing type-punned pointer will break strict-aliasing rules
mpsc.c:127: warning: dereferencing type-punned pointer will break strict-aliasing rules
...

Signed-off-by: Anatolij Gustschin <agust@denx.de>
14 years agoEHCI: zero out QH transfer overlay in ehci_submit_async()
Sergei Shtylyov [Mon, 28 Jun 2010 18:44:49 +0000 (22:44 +0400)]
EHCI: zero out QH transfer overlay in ehci_submit_async()

ehci_submit_async() doesn't really zero out the QH transfer overlay (as the EHCI
specification suggests) which leads to the controller seeing the "token" field
as the previous call has left it, i.e.:
- if a timeout occured on the previous call (Active bit left as 1), controller
  incorrectly tries to complete a previous transaction on a newly programmed
  endpoint;
- if a halt occured on the previous call (Halted bit set to 1), controller just
  ignores the newly programmed TD(s) and the function then keeps returning error
  ad infinitum.

This turned out to be caused by the wrong orger of the arguments to the memset()
call in ehci_alloc(), so the allocated TDs weren't cleared either.

While at it, stop needlessly initializing the alternate next TD pointer in the
QH transfer overlay...

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Acked-by: Remy Bohmer <linux@bohmer.net>
14 years agoFix console_buffer size conflict error.
Remy Bohmer [Thu, 17 Jun 2010 19:17:08 +0000 (21:17 +0200)]
Fix console_buffer size conflict error.

The console_buffer size is declared in common/main.c as
   -- char console_buffer[CONFIG_SYS_CBSIZE + 1];
so this extern definition is wrong.

Signed-off-by: Remy Bohmer <linux@bohmer.net>
14 years ago85xx/p1_p2_rdb: Added RevD board version support
Poonam Aggrwal [Tue, 22 Jun 2010 07:20:46 +0000 (12:50 +0530)]
85xx/p1_p2_rdb: Added RevD board version support

- Also modified the code to use io accessors.

Signed-off-by: Poonam Aggrwal <poonam.aggrwal@freescale.com>
Signed-off-by: Dipen Dudhat <dipen.dudhat@freescale.com>
Acked-by: Kumar Gala <galak@kernel.crashing.org>
14 years agotsec: Fix eTSEC2 link problem on P2020RDB
Felix Radensky [Sun, 27 Jun 2010 22:57:39 +0000 (01:57 +0300)]
tsec: Fix eTSEC2 link problem on P2020RDB

On P2020RDB eTSEC2 is connected to Vitesse VSC8221 PHY via SGMII.
Current TBI PHY settings for SGMII mode cause link problems on
this platform, link never comes up.

Fix this by making TBI PHY settings configurable and add a working
configuration for P2020RDB.

Signed-off-by: Felix Radensky <felix@embedded-sol.com>
Acked-by: Andy Fleming <afleming@freescale.com>
Acked-by: Peter Tyser <ptyser@xes-inc.com>
Tested-by: Peter Tyser <ptyser@xes-inc.com>
14 years agoTools: set multiple variable with fw_setenv utility
Stefano Babic [Mon, 24 May 2010 10:08:16 +0000 (12:08 +0200)]
Tools: set multiple variable with fw_setenv utility

Add a sort of batch mode to fw_setenv, allowing to set
multiple variables in one shot, without updating the flash after
each set as now. It is added the possibility to pass
a config file with a list of pairs <variable, value> to be set,
separated by a TAB character.

Signed-off-by: Stefano Babic <sbabic@denx.de>
14 years agoavr32: add unaligned.h
Andreas Bießmann [Wed, 9 Jun 2010 08:29:00 +0000 (10:29 +0200)]
avr32: add unaligned.h

This patch fixes following error:

zlib.c:31:27: error: asm/unaligned.h: No such file or directory

Suggested-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Andreas Bießmann <biessmann@corscience.de>
14 years agoavr32: fix linking of atstk100x and favr32 boards
Andreas Bießmann [Wed, 9 Jun 2010 08:27:32 +0000 (10:27 +0200)]
avr32: fix linking of atstk100x and favr32 boards

When building some avr32 boards out of tree (e.g. O=..) the linker script could
not be found. This patch references the linker script in source tree.

Signed-off-by: Andreas Bießmann <biessmann@corscience.de>
14 years agoavr32: disable branch folding
Andreas Bießmann [Wed, 9 Jun 2010 12:13:45 +0000 (14:13 +0200)]
avr32: disable branch folding

Due to a hardware bug mentioned in latest AP7000 datasheet errata
(revision M from 09.09) branch folding is unreliable.
This patch disables CPUCR.FE bitfield as stated in datasheet.

Signed-off-by: Andreas Bießmann <biessmann@corscience.de>
14 years agoFix #if chain and added AVR32 case in cmd_bdinfo.c
Reinhard Meyer [Sun, 6 Jun 2010 17:01:59 +0000 (19:01 +0200)]
Fix #if chain and added AVR32 case in cmd_bdinfo.c

AVR32 case was missing in cmd_bdinfo, resulting in compiler warning
(bd->bi_baudrate declared unsigned int at AVR32, but printf used %d)

At the same time slightly reordered #if #elif #endif to make ARM one
of the cases and not an extra case surrounding all others

Signed-off-by: Reinhard Meyer <info@emk-elektronik.de>
Tested-by: Andreas Bießmann <biessmann@corscience.de>
14 years agoFix (null) problem for AVR32 boards
Reinhard Meyer (-VC) [Mon, 14 Jun 2010 10:14:00 +0000 (12:14 +0200)]
Fix (null) problem for AVR32 boards

Currently the U-Boot address ranges for AVR32 boards are
printed like this:
"U-Boot code: (null) -> 0001183c  data: 000188e8 -> 0004e9b0"
This patch fixes this to print:
"U-Boot code: 00000000 -> 0001183c  data: 000188f8 -> 0004e9c0"

Signed-off-by: Reinhard Meyer <info@emk-elektronik.de>
14 years agoexamples/standalone: Remove relocation compile flags for PowerPC
Peter Tyser [Tue, 15 Jun 2010 19:48:25 +0000 (21:48 +0200)]
examples/standalone: Remove relocation compile flags for PowerPC

Previously, standalone applications were compiled with gcc flags that
produced relocatable executables on the PowerPC architecture (eg with
the -mrelocatable and -fPIC flags).  There's no reason for these
applications to be fully relocatable at this time since no relocation
fixups are performed on standalone applications.

Additionally, removing the gcc relocation flags results in the entry
point of applications residing at the base of the image.  When
a standalone application was relocatable, the entry point was generally
located at an offset into the image which was confusing and prone to
errors.

This change moves the entry point of PowerPC standalone applications
from 0x40004 (usually) to 0x40000.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
Signed-off-by: Wolfgang Denk <wd@denx.de>
14 years agohwconfig: Add some unit tests
Anton Vorontsov [Fri, 18 Jun 2010 11:08:27 +0000 (15:08 +0400)]
hwconfig: Add some unit tests

I use this for testing, and I think this might be useful in the
future.

Signed-off-by: Anton Vorontsov <avorontsov@mvista.com>
14 years agohwconfig: Fix stop characters parsing for subkeys
Anton Vorontsov [Fri, 18 Jun 2010 11:08:12 +0000 (15:08 +0400)]
hwconfig: Fix stop characters parsing for subkeys

For the following hwconfig string:

  key1:subkey1=value1,subkey2=value2;key2:value3

The subkey2 cannot be extracted correctly. The parsing code looks
for comma as a stopch, but there may be two kind of stop characters:
a comma and a semicolon.

Currently the code would return "value2;key2:value3", while just
"value2" is the correct answer.

This patch fixes the issue by making the code aware of multiple
stop characters.

For old U-Boots, the issue can be workarounded by placing a comma
before a semicolon, i.e.:

  hwconfig=key1:subkey1=value1,subkey2=value2,;key2:value3

Reported-by: York Sun <yorksun@freescale.com>
Signed-off-by: Anton Vorontsov <avorontsov@mvista.com>
14 years agoMerge branch 'next' of git://git.denx.de/u-boot-ti into next
Wolfgang Denk [Tue, 29 Jun 2010 19:58:16 +0000 (21:58 +0200)]
Merge branch 'next' of git://git.denx.de/u-boot-ti into next

14 years agoimage.h: remove bogus ';' after function declarations
Wolfgang Denk [Sat, 26 Jun 2010 21:46:40 +0000 (23:46 +0200)]
image.h: remove bogus ';' after function declarations

ISO C does not allow extra ';' outside of a function

Signed-off-by: Wolfgang Denk <wd@denx.de>
14 years agoMerge branch 'master' of git://git.denx.de/u-boot-sh into next
Wolfgang Denk [Tue, 29 Jun 2010 19:37:44 +0000 (21:37 +0200)]
Merge branch 'master' of git://git.denx.de/u-boot-sh into next

14 years agoFix console_buffer size conflict error.
Remy Bohmer [Thu, 17 Jun 2010 19:17:08 +0000 (21:17 +0200)]
Fix console_buffer size conflict error.

The console_buffer size is declared in common/main.c as
   -- char console_buffer[CONFIG_SYS_CBSIZE + 1];
so this extern definition is wrong.

Signed-off-by: Remy Bohmer <linux@bohmer.net>
14 years ago85xx/p1_p2_rdb: Added RevD board version support
Poonam Aggrwal [Tue, 22 Jun 2010 07:20:46 +0000 (12:50 +0530)]
85xx/p1_p2_rdb: Added RevD board version support

- Also modified the code to use io accessors.

Signed-off-by: Poonam Aggrwal <poonam.aggrwal@freescale.com>
Signed-off-by: Dipen Dudhat <dipen.dudhat@freescale.com>
Acked-by: Kumar Gala <galak@kernel.crashing.org>
14 years agotsec: Fix eTSEC2 link problem on P2020RDB
Felix Radensky [Sun, 27 Jun 2010 22:57:39 +0000 (01:57 +0300)]
tsec: Fix eTSEC2 link problem on P2020RDB

On P2020RDB eTSEC2 is connected to Vitesse VSC8221 PHY via SGMII.
Current TBI PHY settings for SGMII mode cause link problems on
this platform, link never comes up.

Fix this by making TBI PHY settings configurable and add a working
configuration for P2020RDB.

Signed-off-by: Felix Radensky <felix@embedded-sol.com>
Acked-by: Andy Fleming <afleming@freescale.com>
14 years ago85xx/p1_p2_rdb: Modify the CLK_CTRL value for DDR at 667MHz
Poonam Aggrwal [Wed, 23 Jun 2010 14:02:28 +0000 (19:32 +0530)]
85xx/p1_p2_rdb: Modify the CLK_CTRL value for DDR at 667MHz

Use a slighly larger value of CLK_CTRL for DDR at 667MHz
which fixes random crashes while linux booting.

Applicable for both NAND and NOR boot.

Signed-off-by: Sandeep Gopalpet <sandeep.kumar@freescale.com>
Signed-off-by: Poonam Aggrwal <poonam.aggrwal@freescale.com>
Acked-by: Andy Fleming <afleming@freescale.com>
14 years ago85xx/p1_p2_rdb: not able to modify "$bootfile" environment variable
Poonam Aggrwal [Wed, 23 Jun 2010 14:12:07 +0000 (19:42 +0530)]
85xx/p1_p2_rdb: not able to modify "$bootfile" environment variable

Because the variable was getting defined twice.

Signed-off-by: Poonam Aggrwal <poonam.aggrwal@freescale.com>
Acked-by: Andy Fleming <afleming@freescale.com>
14 years agoMPC512x: workaround data corruption for unaligned local bus accesses
Wolfgang Denk [Mon, 28 Jun 2010 23:33:35 +0000 (01:33 +0200)]
MPC512x: workaround data corruption for unaligned local bus accesses

Commit 460c2ce3 "MPC5200: workaround data corruption for unaligned
local bus accesses" fixed the problem for MPC5200 only, but MPC512x is
affected as well, so apply the same fix here, too.

Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Detlev Zundel <dzu@denx.de>
Cc: Anatolij Gustschin <agust@denx.de>
Acked-by: Detlev Zundel <dzu@denx.de>
14 years agosh: Add trigger_address_error and support cpu reset
Nobuhiro Iwamatsu [Wed, 16 Jun 2010 07:55:26 +0000 (16:55 +0900)]
sh: Add trigger_address_error and support cpu reset

This add support cpu reset by trigger_address_error function.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
14 years agosh: Fix path of irqflags.h
Nobuhiro Iwamatsu [Wed, 16 Jun 2010 07:53:45 +0000 (16:53 +0900)]
sh: Fix path of irqflags.h

This changes path of irqflags.h from linux/ to asm/.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
14 years agosh: Fix overflow problem in get_ticks
Nobuhiro Iwamatsu [Tue, 15 Jun 2010 23:10:21 +0000 (08:10 +0900)]
sh: Fix overflow problem in get_ticks

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
14 years agosh: Fix build on the target
Nobuhiro Iwamatsu [Tue, 15 Jun 2010 22:59:17 +0000 (07:59 +0900)]
sh: Fix build on the target

SH fails building on the target.
This supports this.

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
14 years agoRemove AmigaOneG3SE board
Wolfgang Denk [Sun, 13 Jun 2010 16:28:54 +0000 (18:28 +0200)]
Remove AmigaOneG3SE board

The AmigaOneG3SE board has been orphaned or a very long time, and
broken for more than 12 releases resp. more than 3 years.  As nobody
seems to be interested any more in this stuff we may as well ged rid
of it, especially as it clutters many areas of the code so it is a
continuous pain for all kinds of ongoing work.

Signed-off-by: Wolfgang Denk <wd@denx.de>
14 years agoGet rid of bogus CONFIG_SYS_BUS_HZ and CONFIG_SYS_CONFIG_BUS_CLK definitions
Wolfgang Denk [Sun, 13 Jun 2010 16:38:23 +0000 (18:38 +0200)]
Get rid of bogus CONFIG_SYS_BUS_HZ and CONFIG_SYS_CONFIG_BUS_CLK definitions

CONFIG_SYS_BUS_HZ has not really been used anywhere except to be
redined as CONFIG_SYS_BUS_CLK; in addition, the mpc7448hpc2 had the
bogus CONFIG_SYS_CONFIG_BUS_CLK setting which duplicated the
funtionality.  Change all this to use CONFIG_SYS_BUS_CLK consistently.

Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Frank Gottschling <fgottschling@eltec.de>
Cc: Reinhard Arlt <reinhard.arlt@esd-electronics.com>
Cc: Eran Man <eran@nbase.co.il>
Cc: Stefan Roese <sr@denx.de>
Cc: Nye Liu <nyet@zumanetworks.com>
Cc: Roy Zang <tie-fei.zang@freescale.com>
14 years agoMerge branch 'master' into next
Wolfgang Denk [Wed, 23 Jun 2010 19:17:29 +0000 (21:17 +0200)]
Merge branch 'master' into next

14 years agoMerge branch 'master' of ssh://gemini/home/wd/git/u-boot/master
Wolfgang Denk [Wed, 23 Jun 2010 18:55:27 +0000 (20:55 +0200)]
Merge branch 'master' of ssh://gemini/home/wd/git/u-boot/master

14 years agoPrepare v2010.06-rc3 v2010.06-rc3
Wolfgang Denk [Wed, 23 Jun 2010 18:50:54 +0000 (20:50 +0200)]
Prepare v2010.06-rc3

Signed-off-by: Wolfgang Denk <wd@denx.de>
14 years agoMPC5200: workaround data corruption for unaligned local bus accesses
Wolfgang Denk [Mon, 21 Jun 2010 20:29:59 +0000 (22:29 +0200)]
MPC5200: workaround data corruption for unaligned local bus accesses

The MPC5200 has a nasty problem that will cause silent data corruption
when performing unaligned 16 or 32 byte accesses when reading from the
local bus - typically this affects reading from flash. The problem can
be easily shown:

=> md fc0c0000 10
fc0c0000323e4337 01626f6f 74636d64 3d72756e    2>C7.bootcmd=run
fc0c0010206e6574 5f6e6673 00626f6f 7464656c     net_nfs.bootdel
fc0c002061793d35 00626175 64726174 653d3131    ay=5.baudrate=11
fc0c003035323030 00707265 626f6f74 3d656368    5200.preboot=ech
=> md fc0c0001 10
fc0c000165636801 00000074 0000003d 00000020    ech....t...=...
fc0c00110000005f 00000000 00000074 00000061    ..._.......t...a
fc0c002100000000 00000064 00000065 00000035    .......d...e...5
fc0c003100000000 00000062 0000003d 0000006f    .......b...=...o
=> md.w fc0c0001 10
fc0c0001: 0000 3701 0000 6f74 0000 643d 0000 6e20    ..7...ot..d=..n
fc0c0011: 0000 745f 0000 7300 0000 6f74 0000 6c61    ..t_..s...ot..la

This commit implements a workaround at least for the most blatant
problem: using memcpy() from NOR flash. We rename the assembler
routine into __memcpy() and provide a wrapper, which will use a
byte-wise copy loop for unaligned source or target addresses when
reading from NOR flash, and branch to the optimized __memcpy()
in all other cases, thus minimizing the performance impact.

Tested on lite5200b and TQM5200S.

Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Detlev Zundel <dzu@denx.de>
14 years agoMerge branch 'master' of ssh://gemini/home/wd/git/u-boot/master
Wolfgang Denk [Tue, 22 Jun 2010 22:40:03 +0000 (00:40 +0200)]
Merge branch 'master' of ssh://gemini/home/wd/git/u-boot/master

14 years agoARM: remove unused VIDEOLFB ATAG
Minkyu Kang [Fri, 18 Jun 2010 10:31:10 +0000 (19:31 +0900)]
ARM: remove unused VIDEOLFB ATAG

ATAG_VIDEOLFB is not used anywhere.
The belowing warning is occurred due to this ATAG.

[    0.000000] Ignoring unrecognised tag 0x54410008

This patch fixed it.

Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Martin Krause <Martin.Krause@tqs.de>
14 years agoUBI: initialise update marker
Peter Horton [Sat, 12 Jun 2010 01:11:56 +0000 (10:11 +0900)]
UBI: initialise update marker

UBI: initialise update marker

The in kernel copy of a volume's update marker is not initialised from the
volume table. This means that volumes where an update was unfinnished will
not be treated as "forbidden to use". This is basically that the update
functionality was broken.

Signed-off-by: Peter Horton <zero@colonel-panic.org>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Stefan Roese <sr@denx.de>
14 years agoremove myself as a maintainer of several ARM boards
Guennadi Liakhovetski [Wed, 14 Apr 2010 13:32:06 +0000 (15:32 +0200)]
remove myself as a maintainer of several ARM boards

Since I haven't been actively maintaining these boards for a long while,
keeping myself as their maintainer makes no sense.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
14 years agoMakefile: always call date with LC_ALL=C set
Ilya Yanok [Mon, 21 Jun 2010 14:13:21 +0000 (18:13 +0400)]
Makefile: always call date with LC_ALL=C set

Ensure that date is called only with LC_ALL=C locale set to make dates
locale neutral thus preventing lurking of non-ASCII characters into
U-Boot binary.

Signed-off-by: Ilya Yanok <yanok@emcraft.com>
Changed LANG= into LC_ALL= as suggested by Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Wolfgang Denk <wd@denx.de>
14 years agoMerge branch 'master' of /home/wd/git/u-boot/custodians
Wolfgang Denk [Tue, 22 Jun 2010 20:37:16 +0000 (22:37 +0200)]
Merge branch 'master' of /home/wd/git/u-boot/custodians

14 years agoFix wrong orion5x MPP and GIPO writel arguments
Albert Aribaud [Tue, 22 Jun 2010 10:20:28 +0000 (15:50 +0530)]
Fix wrong orion5x MPP and GIPO writel arguments

Orion5x MPP and GPIO setting code had writel arguments
the wrong way around. Fixed and tested.

Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
14 years agoARM: fix bug in macro __arch_ioremap.
Terry Lv [Thu, 6 May 2010 10:30:55 +0000 (18:30 +0800)]
ARM: fix bug in macro __arch_ioremap.

Signed-off-by: Terry Lv <r65388@freescale.com>
Fix commit message and code formatting.

Signed-off-by: Wolfgang Denk <wd@denx.de>
14 years agoARM: Align stack to 8 bytes
Vitaly Kuzmichev [Tue, 15 Jun 2010 18:18:11 +0000 (22:18 +0400)]
ARM: Align stack to 8 bytes

The ARM ABI requires that the stack be aligned to 8 bytes as it is noted
in Procedure Call Standard for the ARM Architecture:
http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042d/index.html

Unaligned SP also causes the problem with variable-length arrays
allocation when VLA address becomes less than stack pointer during
aligning of this address, so the next 'push' in the stack overwrites
first 4 bytes of VLA.

Signed-off-by: Vitaly Kuzmichev <vkuzmichev@mvista.com>
Tested on tx25(mx25), imx27lite(mx27), qong(mx31) and trab(s3c2400)
Tested-by: Wolfgang Denk <wd@denx.de>
14 years agoARM: Align stack to 8 bytes
Vitaly Kuzmichev [Tue, 15 Jun 2010 18:18:11 +0000 (22:18 +0400)]
ARM: Align stack to 8 bytes

The ARM ABI requires that the stack be aligned to 8 bytes as it is noted
in Procedure Call Standard for the ARM Architecture:
http://infocenter.arm.com/help/topic/com.arm.doc.ihi0042d/index.html

Unaligned SP also causes the problem with variable-length arrays
allocation when VLA address becomes less than stack pointer during
aligning of this address, so the next 'push' in the stack overwrites
first 4 bytes of VLA.

Signed-off-by: Vitaly Kuzmichev <vkuzmichev@mvista.com>
14 years agoMerge branch 'master' of /home/wd/git/u-boot/custodians
Wolfgang Denk [Tue, 22 Jun 2010 19:30:05 +0000 (21:30 +0200)]
Merge branch 'master' of /home/wd/git/u-boot/custodians

14 years agoDavinci: SPI performance enhancements
Nick Thompson [Tue, 22 Jun 2010 15:06:01 +0000 (11:06 -0400)]
Davinci: SPI performance enhancements

The following restructuring and optimisations increase the SPI
read performance from 1.3MiB/s (on da850) to 2.87MiB/s (on da830):

Remove continual revaluation of driver state from the core of the
copy loop. State can not change during the copy loop, so it is
possible to move these evaluations to before the copy loop.

Cost is more code space as loop variants are required for each set
of possible configurations. The loops are simpler however, so the
extra is only 128bytes on da830 with CONFIG_SPI_HALF_DUPLEX
defined.

Unrolling the first copy loop iteration allows the TX buffer to be
pre-loaded reducing SPI clock starvation.

Unrolling the last copy loop iteration removes testing for the
final loop iteration every time round the loop.

Using the RX buffer empty flag as a transfer throttle allows the
assumption that it is always safe to write to the TX buffer, so
polling of TX buffer full flag can be removed.

Signed-off-by: Nick Thompson <nick.thompson@ge.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agoDaVinci: EMAC: Get EMAC_MDIO_PHY_NUM from config files
Prakash PM [Tue, 22 Jun 2010 14:24:43 +0000 (10:24 -0400)]
DaVinci: EMAC: Get EMAC_MDIO_PHY_NUM from config files

Currently EMAC_MDIO_PHY_NUM is defined as 1 in emac_defs.h.
Because of this, EMAC does not work on EVMs which do not have phy
connected at 1. Moving the macro to board config file makes this
configurable depending on where the phy is connected on the MDIO bus.

This patch fixes the board reset issue observed during network access
on DM365EVM. EMAC driver was assuming EMAC_MDIO_PHY_NUM as 1
but it is 0 on DM365EVM.

This patch is verified on da830/omap-l137, dm365 and dm644x evms.

Signed-off-by: Prakash PM <prakash.pm@ti.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agonet/eth.c: eth_mac_skip() is only needed when CONFIG_NET_MULTI is set
Wolfgang Denk [Sun, 20 Jun 2010 10:32:37 +0000 (12:32 +0200)]
net/eth.c: eth_mac_skip() is only needed when CONFIG_NET_MULTI is set

Move it inside the #ifdef CONFIG_NET_MULTI to avoid

eth.c:64: warning: 'eth_mac_skip' defined but not used

messages from a number of old, non-CONFIG_NET_MULTI boards.

Signed-off-by: Wolfgang Denk <wd@denx.de>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>