platform/kernel/u-boot.git
14 years agozlib: Optimize decompression
Joakim Tjernlund [Thu, 19 Nov 2009 12:22:44 +0000 (13:22 +0100)]
zlib: Optimize decompression

This patch optimizes the direct copy procedure.
Uses get_unaligned() but only in one place.
The copy loop just above this one can also use this
optimization, but I havn't done so as I have not tested if it
is a win there too.
On my MPC8321 this is about 17% faster on my JFFS2 root FS
than the original. No speed test has been performed in u-boot.

Size increase on ppc: 484 bytes

Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
Acked-by: Peter Korsgaard <jacmet@sunsite.dk>
14 years agoadd lzop decompression support
Peter Korsgaard [Thu, 19 Nov 2009 10:37:51 +0000 (11:37 +0100)]
add lzop decompression support

Add lzop decompression support to the existing lzo bitstream handling
(think gzip versus zlib), and support it for uImage decompression if
CONFIG_LZO is enabled.

Lzop doesn't compress as good as gzip (~10% worse), but decompression
is very fast (~0.7s faster here on a slow ppc). The lzop decompression
code is based on Albin Tonnerre's recent ARM Linux lzo support patch.

Cc: albin.tonnerre@free-electrons.com
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
14 years agoGeneric udelay() with watchdog support
Ingo van Lil [Tue, 24 Nov 2009 13:09:21 +0000 (14:09 +0100)]
Generic udelay() with watchdog support

According to the PPC reference implementation the udelay() function is
responsible for resetting the watchdog timer as frequently as needed.
Most other architectures do not meet that requirement, so long-running
operations might result in a watchdog reset.

This patch adds a generic udelay() function which takes care of
resetting the watchdog before calling an architecture-specific
__udelay().

Signed-off-by: Ingo van Lil <inguin@gmx.de>
14 years agoi386: Final Relocation
Graeme Russ [Tue, 24 Nov 2009 09:04:21 +0000 (20:04 +1100)]
i386: Final Relocation

Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
14 years agoi386: Move references to link script exports
Graeme Russ [Tue, 24 Nov 2009 09:04:20 +0000 (20:04 +1100)]
i386: Move references to link script exports

Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
14 years agoi386: Remove inline asm symbols from .dynsym
Graeme Russ [Tue, 24 Nov 2009 09:04:19 +0000 (20:04 +1100)]
i386: Remove inline asm symbols from .dynsym

Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
14 years agoi386: Rearrange Interupt Handling
Graeme Russ [Tue, 24 Nov 2009 09:04:18 +0000 (20:04 +1100)]
i386: Rearrange Interupt Handling

In preperation for full relocation

Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
14 years agoi386: Fix race condition when using SC520 timers
Graeme Russ [Tue, 24 Nov 2009 09:04:17 +0000 (20:04 +1100)]
i386: Fix race condition when using SC520 timers

Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
14 years agoi386: Fix global label in inline asm compile error
Graeme Russ [Tue, 24 Nov 2009 09:04:16 +0000 (20:04 +1100)]
i386: Fix global label in inline asm compile error

Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
14 years agoi386: Reorder source objects in lib_i386 Makefile
Graeme Russ [Tue, 24 Nov 2009 09:04:15 +0000 (20:04 +1100)]
i386: Reorder source objects in lib_i386 Makefile

Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
14 years agoi386: Fix link collisions resulting from gcc4.4.1 upgrade
Graeme Russ [Tue, 24 Nov 2009 09:04:14 +0000 (20:04 +1100)]
i386: Fix link collisions resulting from gcc4.4.1 upgrade

Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
14 years agoi386: Fix malloc initialization
Graeme Russ [Tue, 24 Nov 2009 09:04:13 +0000 (20:04 +1100)]
i386: Fix malloc initialization

Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
14 years agoi386: Fix dlmalloc compile warning
Graeme Russ [Tue, 24 Nov 2009 09:04:12 +0000 (20:04 +1100)]
i386: Fix dlmalloc compile warning

Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
14 years agocrc32: Impl. linux optimized crc32()
Joakim Tjernlund [Thu, 19 Nov 2009 12:44:16 +0000 (13:44 +0100)]
crc32: Impl. linux optimized crc32()

Ported over the more efficient linux crc32() function.
A quick comparsion on ppc:
After changing the old crc32 to do 4 bytes in the
inner loop to be able to compare with new version one can note:
- old inner loop has 61 insn, new has 19 insn.
- new crc32 does one 32 bit load of data to crc while
  the old does four 8 bits loads.
- size is bit bigger for the new crc32:
  1392(old) 1416(new) of text. The is because the new version
  shares code with crc32_no_comp() instead of duplicating code.
- about 33% faster on ppc:
  New > crc 0 0xfffffff -> 39 secs
  Old > crc 0 0xfffffff -> 60 secs

Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
14 years agomakefiles: fixes for building build tools
Scott Wood [Thu, 5 Nov 2009 00:41:41 +0000 (18:41 -0600)]
makefiles: fixes for building build tools

Currently, some of the tools instead set CC to be HOSTCC in order to re-use
some pattern rules -- but this fails when the user overrides CC on the make
command line.  Also, the HOSTCFLAGS in tools/Makefile are currently not
being used because config.mk overwrites them.

This patch adds static pattern rules for files that have been requested to
be built with the native compiler using $(HOSTSRCS) and $(HOSTOBJS), and
converts the tools to use them.

It restores easylogo to using the host compiler, which was broken by commit
38d299c2db81bd889c601b5dfc12c4e83ef83333 (if this was an intentional change,
please let me know -- but it seems to be a build tool).

It restores -pedantic and the special flags for darwin and cygwin that were
requested in tools/makefile (but keeps the flags added by config.mk) --
hopefully someone can test this on those platforms.  It no longer
conditionalizes -pedantic on not being darwin; it wasn't clear that that was
intentional, and unless there's a real problem it's just inviting people to
contribute non-pedantic patches to those files (I'm not a fan of -pedantic
personally, but if it's on for one platform it should be on for all).

HOST_LDFLAGS is renamed HOSTLDFLAGS for consistency with the previous
HOST_CFLAGS to HOSTCFLAGS rename.  A new HOSTCFLAGS_NOPED is made available
for those files which currently cannot be built with -pedantic, and replaces
the old FIT_CFLAGS.

imls now uses the cross compiler properly, rather than by trying to
reconstruct CC using the typoed $(CROSS_COMPILER).

envcrc.c is now dependency-processed unconditionally -- previously it would
be built without being on (HOST)SRCS if CONFIG_ENV_IS_EMBEDDED was not
selected.

Signed-off-by: Scott Wood <scottwood@freescale.com>
14 years agoexports: rewrite jump table init
Mike Frysinger [Wed, 4 Nov 2009 21:34:42 +0000 (16:34 -0500)]
exports: rewrite jump table init

The current jump table init fails to initialize a bunch of exported
symbols (forceenv/do_reset/etc...).  Rather than fix just these few
missing pieces, rewrite the code to utilize the existing list of
exported symbols -- _exports.h.  Since every exported symbol has to
be listed in this header, it makes sense to use it so that we only
ever have one list that needs to be updated and things can't fall
out of sync again.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agoMerge branch 'next-sync' of git://git.denx.de/u-boot-arm into next
Wolfgang Denk [Tue, 1 Dec 2009 11:10:51 +0000 (12:10 +0100)]
Merge branch 'next-sync' of git://git.denx.de/u-boot-arm into next

14 years agoARM Update mach-types
Tom Rix [Sun, 29 Nov 2009 23:56:36 +0000 (17:56 -0600)]
ARM Update mach-types

Fetched from http://www.arm.linux.org.uk/developer/machines/download.php
And built with

repo http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm
commit 3fcca9ac6cbce35b3e81e247d375534117d5f4cd

Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
14 years agoomap3_mmc: Encapsulate twl4030 under option CONFIG_TWL4030_POWER
Vaibhav Hiremath [Mon, 23 Nov 2009 11:06:05 +0000 (16:36 +0530)]
omap3_mmc: Encapsulate twl4030 under option CONFIG_TWL4030_POWER

Fixes the build/compilation error if we try to re-use the omap3_mmc code
without TWL4030_POWER.

Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
14 years agoTI DaVinci: Adding a README for the DaVinci series of SOC's
Sandeep Paulraj [Sat, 21 Nov 2009 18:13:59 +0000 (13:13 -0500)]
TI DaVinci: Adding a README for the DaVinci series of SOC's

Adding an initial README for the DaVinci series of SOC's

Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agoavr32/hsdramc: Move conditional compilation to Makefile
Jean-Christophe PLAGNIOL-VILLARD [Sat, 6 Jun 2009 10:30:58 +0000 (10:30 +0000)]
avr32/hsdramc: Move conditional compilation to Makefile

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj <at> jcrosoft.com>
Cc: Haavard Skinnemoen <haavard.skinnemoen <at> atmel.com>
14 years agoNAND: Add config option for imx27lite
Sandeep Paulraj [Sat, 21 Nov 2009 18:24:17 +0000 (13:24 -0500)]
NAND: Add config option for imx27lite

We will get compilation warnings without
"CONFIG_SYS_64BIT_VSPRINTF" being defined
in the board config.

Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agoarm: A320: Add support for Faraday A320 evaluation board
Po-Yu Chuang [Wed, 11 Nov 2009 09:27:30 +0000 (17:27 +0800)]
arm: A320: Add support for Faraday A320 evaluation board

This patch adds support for A320 evaluation board from Faraday. This board
uses FA526 processor by default and has 512kB and 32MB NOR flash, 64M RAM.
FA526 is an ARMv4 processor and uses the ARM920T source in this patch.

Signed-off-by: Po-Yu Chuang <ratbert@faraday-tech.com>
14 years agoarm: A320: driver for FTRTC010 real time clock
Po-Yu Chuang [Wed, 11 Nov 2009 09:26:00 +0000 (17:26 +0800)]
arm: A320: driver for FTRTC010 real time clock

This patch adds an FTRTC010 driver for Faraday A320 evaluation board.

Signed-off-by: Po-Yu Chuang <ratbert@faraday-tech.com>
14 years agoTI DaVinci DM646x: Enable NAND on DM6467 EVM
Sandeep Paulraj [Sat, 21 Nov 2009 23:08:49 +0000 (18:08 -0500)]
TI DaVinci DM646x: Enable NAND on DM6467 EVM

This patch enables NAND on the DM6467 EVM

Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agoOMAP3: Fix SDRC init
Nishanth Menon [Mon, 9 Nov 2009 14:29:34 +0000 (09:29 -0500)]
OMAP3: Fix SDRC init

Defaults are for Infineon DDR timings.
Since none of the supported boards currently do
XIP boot, these seem to be faulty. fix the values
as per the calculations(ACTIMA,B), conf
the sdrc power with pwdnen and wakeupproc bits

Signed-off-by: Nishanth Menon <nm@ti.com>
14 years agoOMAP3:SDRC: introduce DDR types
Nishanth Menon [Sat, 7 Nov 2009 15:51:24 +0000 (10:51 -0500)]
OMAP3:SDRC: introduce DDR types

Micron DDR timings based on:
http://www.sakoman.net/cgi-bin/gitweb.cgi?p=x-load-omap3.git;a=blob;f=include/asm/arch-omap3/mem.h;h=e6fbfe3947f5d0d85fea776e30821d4017316d86;hb=HEAD

Introduce Micron DDR timings and provide
CONFIG_OMAP3_INFINEON_DDR and CONFIG_OMAP3_MICRON_DDR config
options to allow for platform files to setup their timings as
per the type of DDR selected

Reported-by: Steve Sakoman in http://www.nabble.com/forum/Permalink.jtp?root=25779518&post=25959734&page=y
Signed-off-by: Nishanth Menon <nm@ti.com>
14 years agoOMAP3:SDRC: Cleanup references to SDP
Nishanth Menon [Sat, 7 Nov 2009 15:40:47 +0000 (10:40 -0500)]
OMAP3:SDRC: Cleanup references to SDP

Remove SDP referenced unused defines

Signed-off-by: Nishanth Menon <nm@ti.com>
14 years agoTI DA8xx: Integrate DA830 EVM support into U-Boot
Sekhar Nori [Thu, 12 Nov 2009 16:09:25 +0000 (11:09 -0500)]
TI DA8xx: Integrate DA830 EVM support into U-Boot

Integrate DA830 EVM support into U-Boot.

Provides initial support for TI OMAP-L137/DA830 SoC devices on a Spectrum
Digital EVM board. See http://www.spectrumdigital.com/

Signed-off-by: Nick Thompson <nick.thompson@gefanuc.com>
14 years agoTI DA8xx: Add new directory for da830evm board
Sekhar Nori [Thu, 12 Nov 2009 16:08:39 +0000 (11:08 -0500)]
TI DA8xx: Add new directory for da830evm board

Add new directory for da830evm board

Provides initial support for TI OMAP-L137/DA830 SoC devices on a Spectrum
Digital EVM board. See http://www.spectrumdigital.com/

Provides:
Initial boot and configuration.
Support for i2c.
UART support (console).

Signed-off-by: Nick Thompson <nick.thompson@gefanuc.com>
14 years agoTI DA8xx: Add DA8xx cpu functions
Sekhar Nori [Thu, 12 Nov 2009 16:07:22 +0000 (11:07 -0500)]
TI DA8xx: Add DA8xx cpu functions

Provides initial support for TI OMAP-L1x/DA8xx SoC devices.
See http://www.ti.com

Provides:
Low level initialisation.
System clock API.
Timer control.

Signed-off-by: Nick Thompson <nick.thompson@gefanuc.com>
14 years agoAdd TI DA8xx support: DA8xx includes
Nick Thompson [Thu, 12 Nov 2009 16:06:08 +0000 (11:06 -0500)]
Add TI DA8xx support: DA8xx includes

Provides initial support for TI OMAP-L1x/DA8xx SoC devices.
See http://www.ti.com

The DA8xx devices are similar to DaVinci devices but have a differing
memory map and updated peripheral versions.

Signed-off-by: Nick Thompson <nick.thompson@gefanuc.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
14 years agoTI Davinci: add a pin multiplexer configuration API
Nick Thompson [Thu, 12 Nov 2009 16:03:23 +0000 (11:03 -0500)]
TI Davinci: add a pin multiplexer configuration API

Creates a method allowing pin settings to be logically grouped into data
structure arrays and provides an API to configure the pinmux settings to
enable the relevant pin functions.

Signed-off-by: Nick Thompson <nick.thompson@gefanuc.com>
14 years agoTI Davinci timer.c: Remove volatiles and memory mapped structures
Nick Thompson [Thu, 12 Nov 2009 16:02:17 +0000 (11:02 -0500)]
TI Davinci timer.c: Remove volatiles and memory mapped structures

Remove volatiles and memory mapped structure accesses and replace with
readl and writel macro usage.

Signed-off-by: Nick Thompson <nick.thompson@gefanuc.com>
14 years agoOMAP3: pandora: fix booting without serial attached
Grazvydas Ignotas [Thu, 12 Nov 2009 09:46:07 +0000 (11:46 +0200)]
OMAP3: pandora: fix booting without serial attached

When the board is booted without serial cable attached (which
is how most of them will be used) UART RX is left floating and
sometimes picks noise, which interrupts countdown and enters
U-Boot prompt instead of booting the kernel.

Fix this by setting up internal pullup on UART RX pin. This
does not prevent serial from working as the internal pullup
is weak.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
14 years agoAdd a unified s3c24x0 header file
kevin.morfitt@fearnside-systems.co.uk [Tue, 17 Nov 2009 09:30:34 +0000 (18:30 +0900)]
Add a unified s3c24x0 header file

This patch adds a unified s3c24x0 cpu header file that selects the header
file for the specific s3c24x0 cpu from the SOC and CPU configs defined in
board config file. This removes the current chain of s3c24-type #ifdef's
from the s3c24x0 code.

Signed-off-by: Kevin Morfitt <kevin.morfitt@fearnside-systems.co.uk>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
14 years agoS3C6400/SMDK6400: fix stack_setup in start.S
Seunghyeon Rhee [Fri, 13 Nov 2009 07:49:41 +0000 (16:49 +0900)]
S3C6400/SMDK6400: fix stack_setup in start.S

Fix stack_setup to place the stack on the correct address in DRAM
accroding to U-Boot standard and remove conditional compilation by
CONFIG_MEMORY_UPPER_CODE macro that is not necessry. This macro
was introduced and used only by this board for some unclear reason.

The definition of this macro is also removed because it's not
referenced elsewhere.

Signed-off-by: Seunghyeon Rhee <seunghyeon@lpmtec.com>
Tested-by: Minkyu Kang <mk7.kang@samsung.com>
14 years agos5pc1xx: serial: fix the error check logic
Minkyu Kang [Tue, 10 Nov 2009 11:23:50 +0000 (20:23 +0900)]
s5pc1xx: serial: fix the error check logic

Because of Frame error, Parity error and Overrun error are occured only receive
operation, need to masking when error checking.

Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
14 years agoClean-up of s3c24x0 header files
kevin.morfitt@fearnside-systems.co.uk [Wed, 4 Nov 2009 08:49:31 +0000 (17:49 +0900)]
Clean-up of s3c24x0 header files

Cleans up the s3c24x0 header files:

s4c24x0.h: removes the use of 'volatile' from the S3C24X0_REG8,
S3C24X0_REG16 and S3C24X0_REG32 register typedef's. Registers are always
accessed using the IO accessor functions which cast the register address
as 'volatile' anyway so it isn't required here.

s3c2400.h and s3c2410.h: insert a blank line between the static inline
functions

Signed-off-by: Kevin Morfitt <kevin.morfitt@fearnside-systems.co.uk>
14 years agos3c64xx: move s3c64xx header files to asm-arm/arch-s3c64xx
Minkyu Kang [Wed, 4 Nov 2009 07:07:59 +0000 (16:07 +0900)]
s3c64xx: move s3c64xx header files to asm-arm/arch-s3c64xx

This patch moves the s3c64xx header files from include/
to include/asm-arm/arch-s3c64xx

Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
14 years agoMove s3c24x0 header files to asm-arm/arch-s3c24x0/
kevin.morfitt@fearnside-systems.co.uk [Tue, 3 Nov 2009 09:08:41 +0000 (18:08 +0900)]
Move s3c24x0 header files to asm-arm/arch-s3c24x0/

This patch moves the s3c24x0 header files from include/ to
include/asm-arm/arch-s3c24x0/.

checkpatch.pl showed 2 errors and 3 warnings. The 2 errors were both due
to a non-UTF8 character in David M?ller's name:

ERROR: Invalid UTF-8, patch and commit message should be encoded in UTF-8
#489: FILE: include/asm-arm/arch-s3c24x0/s3c2410.h:3:
+ * David M?ller ELSOFT AG Switzerland. d.mueller@elsoft.ch

As David's name correctly contains a non-UTF8 character I haven't fixed
these errors.

The 3 warnings were all because of the use of 'volatile' in s3c24x0.h:

WARNING: Use of volatile is usually wrong: see Documentation/volatile-considered-harmful.txt
#673: FILE: include/asm-arm/arch-s3c24x0/s3c24x0.h:35:
+typedef volatile u8 S3C24X0_REG8;
+typedef volatile u16 S3C24X0_REG16;
+typedef volatile u32 S3C24X0_REG32;

I'll fix these errors in another patch.

Tested by running MAKEALL for ARM8 targets and ensuring there were no new
errors or warnings.

Signed-off-by: Kevin Morfitt <kevin.morfitt@fearnside-systems.co.uk>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
14 years agoARM Update mach-types
Tom Rix [Sun, 15 Nov 2009 16:58:06 +0000 (10:58 -0600)]
ARM Update mach-types

Fetched from http://www.arm.linux.org.uk/developer/machines/download.php
And built with

repo http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm
commit 156171c71a0dc4bce12b4408bb1591f8fe32dc1a

Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
14 years agosheevaplug: correct SDRAM address control register
Mark Asselstine [Tue, 27 Oct 2009 14:10:40 +0000 (19:40 +0530)]
sheevaplug: correct SDRAM address control register

value

The SheevaPlug DevKit is shipped with 4x8 by 1Gb DDR devices in
two banks for a total of 512MB of RAM. Based on this configuration
the existing values for SDRAM address control register are incorrect
and result in random kernel oops as memory is incorrectly accessed
(while for example extracting a large tarball such as a rootfs).
Based on the hardware configuration along with the supporting
documentation from Marvell these are the correct values, as
well this change mimics values previously used in Marvell's own
u-boot git tree for the SheevaPlug.

Other variants of the hardware such as the PogoPlug and TonidoPlug
may have different memory configurations but to properly support
those additional board directories should be maintained or a better
system to support other kwb*.cfg is needed.

Tested on SheevaPlug DevKit.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
14 years agoFix for Void function returning value in sbc35-a9g20
Sandeep Paulraj [Wed, 28 Oct 2009 23:16:43 +0000 (19:16 -0400)]
Fix for Void function returning value in sbc35-a9g20

Void function was returning 0 in the m41t94 rtc driver.
This makes it similar to m41t62 rtc driver.

Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agoARM Update mach-types.h
Tom Rix [Sat, 24 Oct 2009 19:48:33 +0000 (14:48 -0500)]
ARM Update mach-types.h

From http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm

Commit id 0996391139f43d032335b5360db11da62a2cbb39

Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
14 years agoppc4xx: Remove autoupdate feature from PLU405 board
Matthias Fuchs [Thu, 22 Oct 2009 21:06:59 +0000 (23:06 +0200)]
ppc4xx: Remove autoupdate feature from PLU405 board

The autoupdate feature is not used on PLU405 boards.
So remove it.

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd.eu>
Signed-off-by: Stefan Roese <sr@denx.de>
14 years agoMerge branch 'next' of git://www.denx.de/git/u-boot-ppc4xx into next
Wolfgang Denk [Tue, 24 Nov 2009 22:13:06 +0000 (23:13 +0100)]
Merge branch 'next' of git://denx.de/git/u-boot-ppc4xx into next

14 years agoppc4xx: Cleanup PPC4xx I2C infrastructure
Stefan Roese [Thu, 19 Nov 2009 13:03:17 +0000 (14:03 +0100)]
ppc4xx: Cleanup PPC4xx I2C infrastructure

This patch cleans up the PPC4xx I2C intrastructure:

- Use C struct to describe the I2C registers instead of defines
- Coding style cleanup (braces, whitespace, comments, line length)
- Extract common code from i2c_read() and i2c_write()
- Remove unneeded IIC defines from ppc405.h & ppc440.h

Signed-off-by: Stefan Roese <sr@denx.de>
14 years agoppc4xx: Remove some testing code from 4xx_pcie.c
Stefan Roese [Thu, 19 Nov 2009 10:49:36 +0000 (11:49 +0100)]
ppc4xx: Remove some testing code from 4xx_pcie.c

This code got included accidentally.

Signed-off-by: Stefan Roese <sr@denx.de>
14 years agoat91: Extended soft_i2c driver for AT91SAM9263 SoC
Daniel Gorsulowski [Mon, 18 May 2009 11:20:54 +0000 (13:20 +0200)]
at91: Extended soft_i2c driver for AT91SAM9263 SoC

While hard_i2c support is not available
(see http://lists.denx.de/pipermail/u-boot/2009-March/049751.html),
this patch enables soft_i2c on AT91SAM9263 SoC.

Signed-off-by: Daniel Gorsulowski <Daniel.Gorsulowski@esd.eu>
14 years agoAdd 'true' and 'false' commands
Peter Tyser [Fri, 16 Oct 2009 22:36:27 +0000 (17:36 -0500)]
Add 'true' and 'false' commands

These commands are only enabled when the hush shell is enabled and can
be useful in scripts such as:

while true do
    echo "Booting OS...";
    run $bootcmd;
    echo "Booting OS failed";
    sleep 10;
done

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
14 years agocmd_help: General cleanup
Peter Tyser [Fri, 16 Oct 2009 22:36:26 +0000 (17:36 -0500)]
cmd_help: General cleanup

Shorten the overly-verbose help message of 'help' and clean up some
redundant ifdefery while we're at it.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
14 years agocommand.c: Break commands out to appropriate cmd_*.c files
Peter Tyser [Fri, 16 Oct 2009 22:36:25 +0000 (17:36 -0500)]
command.c: Break commands out to appropriate cmd_*.c files

command.c should contain common code related to commands, not
miscellaneous command implementations.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
14 years agoMerge branch 'next' of git://git.denx.de/u-boot-nand-flash into next
Wolfgang Denk [Sat, 21 Nov 2009 22:17:57 +0000 (23:17 +0100)]
Merge branch 'next' of git://git.denx.de/u-boot-nand-flash into next

14 years agoMerge branch 'next' of git://www.denx.de/git/u-boot-ppc4xx into next
Wolfgang Denk [Sat, 21 Nov 2009 22:14:58 +0000 (23:14 +0100)]
Merge branch 'next' of git://denx.de/git/u-boot-ppc4xx into next

14 years agoNAND: Add Support for 4K page size in DaVinci NAND driver
Sandeep Paulraj [Fri, 20 Nov 2009 04:04:42 +0000 (23:04 -0500)]
NAND: Add Support for 4K page size in DaVinci NAND driver

This patch adds support for NAND devices with a page size of
4K in the DaVinci NAND driver. The layout matches the layout that TI uses
for 4K page size NAND devices in the kernel NAND driver.

Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agoppc4xx: Remove unused features from PMC440 board support
Matthias Fuchs [Wed, 18 Nov 2009 15:29:29 +0000 (16:29 +0100)]
ppc4xx: Remove unused features from PMC440 board support

This patch shrinks the PMC440 u-boot binary (from next branch)
to fit into 384kB again.

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd.eu>
Signed-off-by: Stefan Roese <sr@denx.de>
14 years agoppc4xx: Remove confusing comment
Matthias Fuchs [Wed, 18 Nov 2009 15:28:42 +0000 (16:28 +0100)]
ppc4xx: Remove confusing comment

This is not the sequoia board.

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd.eu>
Signed-off-by: Stefan Roese <sr@denx.de>
14 years agoppc4xx: alpr: Remove some not needed commands to make image fit again
Stefan Roese [Tue, 17 Nov 2009 14:53:00 +0000 (15:53 +0100)]
ppc4xx: alpr: Remove some not needed commands to make image fit again

The latest changes in the u-boot/next branch increased the size of the
alpr image a bit more. Now it doesn't fit into the 256k reserved for it.
This patch now removes the commands "askenv" and "irq" which are not
needed in the production systems.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Pieter Voorthuijsen <pieter.voorthuijsen@prodrive.nl>
14 years agoppc4xx: Consolidate pci_master_init() function
Stefan Roese [Thu, 12 Nov 2009 16:19:37 +0000 (17:19 +0100)]
ppc4xx: Consolidate pci_master_init() function

This patch removes the duplicted implementations of the pci_master_init()
function by introducing a weak default function for it. It can be
overridden by a board specific version.

Signed-off-by: Stefan Roese <sr@denx.de>
14 years agoppc4xx: Consolidate pci_pre_init() function
Stefan Roese [Thu, 12 Nov 2009 15:41:09 +0000 (16:41 +0100)]
ppc4xx: Consolidate pci_pre_init() function

This patch removes the duplicted implementations of the pci_pre_init()
function by introducing a weak default function for it. This weak default
has a different implementation for some PPC variants. It can be
overridden by a board specific version.

Signed-off-by: Stefan Roese <sr@denx.de>
14 years agoppc4xx: Consolidate pci_target_init() function
Stefan Roese [Thu, 12 Nov 2009 11:00:49 +0000 (12:00 +0100)]
ppc4xx: Consolidate pci_target_init() function

This patch removes the duplicted implementations of the pci_target_init()
function by introducing a weak default function for it. This weak default
has a different implementation for 440EP(x)/GR(x) PPC's. It can be
overridden by a board specific version (e.g. PMC440, korat).

Signed-off-by: Stefan Roese <sr@denx.de>
Acked-by: Matthias Fuchs <matthias.fuchs@esd.eu>
14 years agoS3C2410 NAND Flash Add Missing Function
Hui.Tang [Wed, 18 Nov 2009 08:24:04 +0000 (16:24 +0800)]
S3C2410 NAND Flash Add Missing Function

This patch add nand_read_buf() for S3C2410 NAND SPL.
In nand_spl/nand_boot.c, nand_boot() will check nand->select_chip,
so nand->select_chip should also be initialized.

Signed-off-by: Hui.Tang <zetalabs@gmail.com>
14 years agoNAND: Update read_read_subpage API check
Sandeep Paulraj [Mon, 16 Nov 2009 18:32:01 +0000 (13:32 -0500)]
NAND: Update read_read_subpage API check

This patch updates a check condition in the NAND driver.
The check condition is similat to what is in linux/next.

Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agoNAND:Extending the nand_ecclayout structure
Sandeep Paulraj [Mon, 16 Nov 2009 18:31:47 +0000 (13:31 -0500)]
NAND:Extending the nand_ecclayout structure

NANDs with page size of lesser than and equal to 2K are
reaching EOL. They are bing replaced with NANDs of
page size 4K and above.
To support this we have to extend the eccpos field

Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agoOMAP2/3: I2C: Add support for second and third bus
Dirk Behme [Mon, 2 Nov 2009 19:36:26 +0000 (20:36 +0100)]
OMAP2/3: I2C: Add support for second and third bus

Add support to use second and third I2C bus, too.

Bus 0 is still the default, but by calling i2c_set_bus_num(1/2) before doing
I2C accesses, code can switch to bus 1 and 2, too. Don't forget to switch
back afterwards, then.

Signed-off-by: Dirk Behme <dirk.behme@googlemail.com>
14 years agoMerge branch 'master' into next
Wolfgang Denk [Sun, 15 Nov 2009 22:13:40 +0000 (23:13 +0100)]
Merge branch 'master' into next

14 years agoMerge branch 'master' of git://git.denx.de/u-boot-net
Wolfgang Denk [Sun, 15 Nov 2009 21:50:52 +0000 (22:50 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-net

14 years agoMerge branch 'master' of git://git.denx.de/u-boot-mpc85xx
Wolfgang Denk [Sun, 15 Nov 2009 21:48:02 +0000 (22:48 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-mpc85xx

14 years agoMerge branch 'master-sync' of git://git.denx.de/u-boot-arm
Wolfgang Denk [Sun, 15 Nov 2009 21:27:16 +0000 (22:27 +0100)]
Merge branch 'master-sync' of git://git.denx.de/u-boot-arm

14 years agoENV Variable support for Flex-OneNAND
Amul Kumar Saha [Wed, 4 Nov 2009 05:08:46 +0000 (10:38 +0530)]
ENV Variable support for Flex-OneNAND

Define and use CONFIG_ENV_ADDR_FLEX and CONFIG_ENV_SIZE_FLEX
for storing environment variables.

Signed-off-by: Rohit Hagargundgi <h.rohit@samsung.com>
Signed-off-by: Amul Kumar Saha <amul.saha@samsung.com>
14 years agoFlex-OneNAND driver support
Amul Kumar Saha [Fri, 6 Nov 2009 11:45:31 +0000 (17:15 +0530)]
Flex-OneNAND driver support

This patch adds support for Flex-OneNAND devices.

Signed-off-by: Rohit Hagargundgi <h.rohit@samsung.com>
Signed-off-by: Amul Kumar Saha <amul.saha@samsung.com>
14 years agofsl_elbc_nand: remove the bbt descriptors relocation fixup
Mingkai Hu [Tue, 20 Oct 2009 08:58:17 +0000 (16:58 +0800)]
fsl_elbc_nand: remove the bbt descriptors relocation fixup

The commit 66372fe2 manually relocated the bbt pattern pointer,
which can be removed by using full relocation.

Signed-off-by: Mingkai Hu <Mingkai.hu@freescale.com>
14 years agoppc/85xx: make boot from NAND full relocation to RAM
Mingkai Hu [Tue, 20 Oct 2009 08:58:16 +0000 (16:58 +0800)]
ppc/85xx: make boot from NAND full relocation to RAM

Take advantage of the latest full relocation commit of PPC platform
for boot from NAND.

Signed-off-by: Mingkai Hu <Mingkai.hu@freescale.com>
Acked-by: Kumar Gala <galak@kernel.crashing.org>
14 years agoNAND: fix "raw" reads with ECC syndrome layouts
David Brownell [Sat, 7 Nov 2009 21:27:01 +0000 (16:27 -0500)]
NAND: fix "raw" reads with ECC syndrome layouts

The syndrome based page read/write routines store ECC, and possibly other
"OOB" data, right after each chunk of ECC'd data.  With ECC chunk size of
512 bytes and a large page (2KiB) NAND, the layout is:

  data-0 OOB-0 data-1 OOB-1 data-2 OOB-2 data-3 OOB-3 OOB-leftover

Where OOBx is (prepad, ECC, postpad).  However, the current "raw" routines
use a traditional layout -- data OOB, disregarding the prepad and postpad
values -- so when they're used with that type of ECC hardware, those calls
mix up the data and OOB.  Which means, in particular, that bad block
tables won't be found on startup, with data corruption and related chaos
ensuing.

The current syndrome-based drivers in mainline all seem to use one chunk
per page; presumably they haven't noticed such bugs.

Fix this, by adding read/write page_raw_syndrome() routines as siblings of
the existing non-raw routines; "raw" just means to bypass the ECC
computations, not change data and OOB layout.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
14 years agoNAND: Don't walk past end of oobfree[]
Sandeep Paulraj [Sat, 7 Nov 2009 19:25:18 +0000 (14:25 -0500)]
NAND: Don't walk past end of oobfree[]

When computing oobavail from the list of free areas in the OOB,
don't assume there will always be an unused slot at the end.
This syncs up with the kernel NAND driver.

Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agoNAND: Update check condition for nand_read_page_hwecc API
Sandeep Paulraj [Sat, 7 Nov 2009 19:25:03 +0000 (14:25 -0500)]
NAND: Update check condition for nand_read_page_hwecc API

The patch updates the check condition for determining
whether the ECC corrections has failed.
This makes it similar to what is in the kernel NAND driver.

Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agoNAND: Updating comments/explanations in the NAND driver
Sandeep Paulraj [Sat, 7 Nov 2009 19:24:50 +0000 (14:24 -0500)]
NAND: Updating comments/explanations in the NAND driver

Patch updates the comments and explanations for
the arguments to various functions.

Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agoNAND: Subpage shift for ecc_steps equal to 16
Sandeep Paulraj [Sat, 7 Nov 2009 19:24:34 +0000 (14:24 -0500)]
NAND: Subpage shift for ecc_steps equal to 16

This was originally part of Thomas Gleixner's patch for
adding support for 4KiB pages.
This is not part of the U-Boot NAND driver so updating the
driver with this to sync up with the kernel NAND driver.

Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agoNAND: Remove commented out code
Sandeep Paulraj [Sat, 7 Nov 2009 19:24:20 +0000 (14:24 -0500)]
NAND: Remove commented out code

Patch removes already commented out dead code

Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agoNAND: Correct the "chip_shift" calculation
Sandeep Paulraj [Sat, 7 Nov 2009 19:24:06 +0000 (14:24 -0500)]
NAND: Correct the "chip_shift" calculation

This patch updates the "chip_shift" calculation in the
NAND driver. This is being done to sync up the NAND driver with
the kernel NAND driver.

Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
14 years agoNAND: Update to support 64 bit device size
Sandeep Paulraj [Fri, 30 Oct 2009 17:51:23 +0000 (13:51 -0400)]
NAND: Update to support 64 bit device size

This patch adds support for NANDs greater than 2 GB.
Patch is based on the MTD NAND driver in the kernel.

Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Signed-off-by: Scott Wood <scottwood@freescale.com>
14 years agocmd_nand: Move conditional compilation to Makefile
Peter Tyser [Thu, 15 Oct 2009 15:48:18 +0000 (10:48 -0500)]
cmd_nand: Move conditional compilation to Makefile

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
14 years agocmd_nand: Remove duplicate include
Peter Tyser [Thu, 15 Oct 2009 15:48:17 +0000 (10:48 -0500)]
cmd_nand: Remove duplicate include

Also remove vague, unnecessary comment

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
14 years agoppc/85xx: Fix how we determine the number of CAM entries
Kumar Gala [Fri, 13 Nov 2009 14:52:21 +0000 (08:52 -0600)]
ppc/85xx: Fix how we determine the number of CAM entries

We were incorrectly use the max CAM size as the number of entries in
the array for setting up the addrmap.  We should be using the NENTRY
field which is the low 12-bits of TLB1CFG.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
14 years agosmc911x: make smc911x_initialize return correct value
Mike Rapoport [Thu, 12 Nov 2009 13:35:08 +0000 (15:35 +0200)]
smc911x: make smc911x_initialize return correct value

Make smc911x_initialize return -1 on error and number of interfaces
detected otherwise.

Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Acked-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agosmc911x_eeprom: fix building after smc911x overhaul
Mike Frysinger [Fri, 13 Nov 2009 03:26:02 +0000 (22:26 -0500)]
smc911x_eeprom: fix building after smc911x overhaul

When the smc911x driver was converted to NET_MULTI, the smc911x eeprom was
missed.  The config option needed updating as well as overhauling of the
rergister read/write functions.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Tested-by: Mike Rapoport <mike.rapoport@gmail.com>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agofsl-ddr: Fix the chip-select interleaving issue
Dave Liu [Wed, 11 Nov 2009 23:26:37 +0000 (07:26 +0800)]
fsl-ddr: Fix the chip-select interleaving issue

commit 1542fbdeec0d1e2a6df13189df8dcb1ce8802be3
introduced one new bug to chip-select interleaving.

Single DDR controller also can do the chip-select
interleaving if there is dual-rank or qual-rank DIMMs.

Signed-off-by: Dave Liu <daveliu@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
14 years agoMerge branch 'master' of git://git.denx.de/u-boot-net
Wolfgang Denk [Wed, 11 Nov 2009 22:10:34 +0000 (23:10 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-net

14 years agoMerge branch 'master' of git://git.denx.de/u-boot-ppc4xx
Wolfgang Denk [Wed, 11 Nov 2009 21:58:30 +0000 (22:58 +0100)]
Merge branch 'master' of git://git.denx.de/u-boot-ppc4xx

14 years agomxc_fec: avoid free() calls to already freed pointers.
javier Martin [Thu, 29 Oct 2009 07:22:43 +0000 (08:22 +0100)]
mxc_fec: avoid free() calls to already freed pointers.

Sometimes, inside NetLoop, eth_halt() is called before eth_init() has
been called. This is harmless except for free() calls to pointers
which have not been allocated yet.

This patch initializes those pointers to NULL and allocates them only
the first time. This way we can get rid of free calls in halt callback.

This has been tested in i.MX27 Litekit board and eldk-4.2 toolchains.

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agomxc_fec: fix some erroneous PHY accesses.
javier Martin [Thu, 29 Oct 2009 07:18:34 +0000 (08:18 +0100)]
mxc_fec: fix some erroneous PHY accesses.

This patch fixes erroneous access to the ethernet PHY which broke the driver.
1. Selector field in the auto-negotiation register must be 0x00001 for
using 802.3, not 0x00000 which is reseved.
2. Access to the PHY address specified by CONFIG_FEC_MXC_PHYADDR, not
0x0 fixed address.

This has been tested in i.MX27 Litekit board and eldk-4.2 toolchains.

Now using proper defines for auto-negotiation register.

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agoARM Don't inline weak symbols
Ron Lee [Wed, 5 Aug 2009 18:14:01 +0000 (20:14 +0200)]
ARM Don't inline weak symbols

------------------------------------------------------------------------

GCC 4.4 complains about this now.

Signed-off-by: Ron Lee <ron@debian.org>
14 years agoppc4xx: Katmai: Add chip_config command
Stefan Roese [Mon, 9 Nov 2009 13:15:42 +0000 (14:15 +0100)]
ppc4xx: Katmai: Add chip_config command

This patch removes the Katmai "bootstrap" command and replaces it
with the now common command "chip_config".

Signed-off-by: Stefan Roese <sr@denx.de>
14 years agoppc4xx: Switch to I2C bus numer 0 for chip_config command
Stefan Roese [Mon, 9 Nov 2009 13:13:43 +0000 (14:13 +0100)]
ppc4xx: Switch to I2C bus numer 0 for chip_config command

All currently available 4xx derivats have the I2C bootstrap EEPROM
located on I2C bus number 0. This patch now first sets this bus number,
so that the chip_config command also works for board with multiple
I2C busses, like Katmai.

Signed-off-by: Stefan Roese <sr@denx.de>
14 years agoppc4xx: Add UBI support to PLU405 boards
Matthias Fuchs [Tue, 27 Oct 2009 11:19:11 +0000 (12:19 +0100)]
ppc4xx: Add UBI support to PLU405 boards

-add UBI support
-increase malloc'able memory size
-cleanup MONITOR|FLASH_BASE|LEN constants

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd.eu>
Signed-off-by: Stefan Roese <sr@denx.de>
14 years agoFix SMC91111 regression: lpd7a40x build failures
Ben Warren [Mon, 9 Nov 2009 21:09:57 +0000 (13:09 -0800)]
Fix SMC91111 regression: lpd7a40x build failures

Both lpd7a400 and lpd7a404 failed to compile because they had
CONFIG_SMC_USE_IOFUNCS defined:

examples/standalone/smc91111_eeprom.c:388: undefined reference to `SMC_outw'

Also removed an orphaned paren in lpd7a404.h

Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agoSMC91111: Clean up SMC_inx macros on xsengine and xaeniax
Ben Warren [Mon, 9 Nov 2009 22:01:08 +0000 (14:01 -0800)]
SMC91111: Clean up SMC_inx macros on xsengine and xaeniax

This patch fixes the following warnings:

Configuring for xaeniax board...
smc91111_eeprom.c: In function 'print_macaddr':
smc91111_eeprom.c:278: warning: suggest parentheses around + or - in operand of &
smc91111_eeprom.c:281: warning: suggest parentheses around + or - in operand of &
...
Configuring for xsengine board...
smc91111_eeprom.c: In function 'print_macaddr':
smc91111_eeprom.c:278: warning: suggest parentheses around + or - inside shift
smc91111_eeprom.c:281: warning: suggest parentheses around + or - inside shift

Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
14 years agoMerge branch 'master-sync' of git://git.denx.de/u-boot-arm
Wolfgang Denk [Mon, 9 Nov 2009 21:46:32 +0000 (22:46 +0100)]
Merge branch 'master-sync' of git://git.denx.de/u-boot-arm

14 years agoFix CS8900 regression on impa7 board
Ben Warren [Mon, 9 Nov 2009 19:43:18 +0000 (11:43 -0800)]
Fix CS8900 regression on impa7 board

The following error was seen on impa7 board, due to its use of a 32-bit bus
on CS8900.
cs8900.c:137:37: error: macro "get_reg_init_bus" passed 2 arguments, but takes just 1

This patch gives the macro the correct number of arguments

Signed-off-by: Ben Warren <biggerbadderben@gmail.com>