summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeLines
* zlib: Optimize decompressionJoakim Tjernlund2009-12-05-12/+44
| | | | | | | | | | | | | | | 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>
* add lzop decompression supportPeter Korsgaard2009-12-05-0/+115
| | | | | | | | | | | | | 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>
* Generic udelay() with watchdog supportIngo van Lil2009-12-05-62/+98
| | | | | | | | | | | | | 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>
* i386: Final RelocationGraeme Russ2009-12-05-212/+158
| | | | Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* i386: Move references to link script exportsGraeme Russ2009-12-05-17/+11
| | | | Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* i386: Remove inline asm symbols from .dynsymGraeme Russ2009-12-05-0/+80
| | | | Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* i386: Rearrange Interupt HandlingGraeme Russ2009-12-05-310/+420
| | | | | | In preperation for full relocation Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* i386: Fix race condition when using SC520 timersGraeme Russ2009-12-05-5/+6
| | | | Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* i386: Fix global label in inline asm compile errorGraeme Russ2009-12-05-2/+2
| | | | Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* i386: Reorder source objects in lib_i386 MakefileGraeme Russ2009-12-05-4/+4
| | | | Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* i386: Fix link collisions resulting from gcc4.4.1 upgradeGraeme Russ2009-12-05-0/+1
| | | | Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* i386: Fix malloc initializationGraeme Russ2009-12-05-17/+10
| | | | Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* i386: Fix dlmalloc compile warningGraeme Russ2009-12-05-0/+1
| | | | Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* crc32: Impl. linux optimized crc32()Joakim Tjernlund2009-12-02-88/+112
| | | | | | | | | | | | | | | | | | 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>
* makefiles: fixes for building build toolsScott Wood2009-12-02-123/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* exports: rewrite jump table initMike Frysinger2009-12-02-31/+27
| | | | | | | | | | | | 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>
* Merge branch 'next-sync' of git://git.denx.de/u-boot-arm into nextWolfgang Denk2009-12-01-873/+5261
|\
| * ARM Update mach-typesTom Rix2009-11-29-0/+481
| | | | | | | | | | | | | | | | | | | | 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>
| * omap3_mmc: Encapsulate twl4030 under option CONFIG_TWL4030_POWERVaibhav Hiremath2009-11-27-0/+2
| | | | | | | | | | | | | | 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>
| * TI DaVinci: Adding a README for the DaVinci series of SOC'sSandeep Paulraj2009-11-27-0/+116
| | | | | | | | | | | | Adding an initial README for the DaVinci series of SOC's Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
| * avr32/hsdramc: Move conditional compilation to MakefileJean-Christophe PLAGNIOL-VILLARD2009-11-27-4/+1
| | | | | | | | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj <at> jcrosoft.com> Cc: Haavard Skinnemoen <haavard.skinnemoen <at> atmel.com>
| * NAND: Add config option for imx27liteSandeep Paulraj2009-11-27-0/+1
| | | | | | | | | | | | | | | | 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>
| * arm: A320: Add support for Faraday A320 evaluation boardPo-Yu Chuang2009-11-27-0/+1256
| | | | | | | | | | | | | | | | 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>
| * arm: A320: driver for FTRTC010 real time clockPo-Yu Chuang2009-11-27-0/+125
| | | | | | | | | | | | This patch adds an FTRTC010 driver for Faraday A320 evaluation board. Signed-off-by: Po-Yu Chuang <ratbert@faraday-tech.com>
| * TI DaVinci DM646x: Enable NAND on DM6467 EVMSandeep Paulraj2009-11-27-0/+11
| | | | | | | | | | | | This patch enables NAND on the DM6467 EVM Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
| * OMAP3: Fix SDRC initNishanth Menon2009-11-27-1/+3
| | | | | | | | | | | | | | | | | | | | 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>
| * OMAP3:SDRC: introduce DDR typesNishanth Menon2009-11-27-19/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * OMAP3:SDRC: Cleanup references to SDPNishanth Menon2009-11-27-11/+4
| | | | | | | | | | | | Remove SDP referenced unused defines Signed-off-by: Nishanth Menon <nm@ti.com>
| * TI DA8xx: Integrate DA830 EVM support into U-BootSekhar Nori2009-11-27-0/+254
| | | | | | | | | | | | | | | | | | 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>
| * TI DA8xx: Add new directory for da830evm boardSekhar Nori2009-11-27-0/+221
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * TI DA8xx: Add DA8xx cpu functionsSekhar Nori2009-11-27-10/+83
| | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Add TI DA8xx support: DA8xx includesNick Thompson2009-11-27-0/+242
| | | | | | | | | | | | | | | | | | | | | | 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>
| * TI Davinci: add a pin multiplexer configuration APINick Thompson2009-11-27-1/+59
| | | | | | | | | | | | | | | | 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>
| * TI Davinci timer.c: Remove volatiles and memory mapped structuresNick Thompson2009-11-27-13/+15
| | | | | | | | | | | | | | Remove volatiles and memory mapped structure accesses and replace with readl and writel macro usage. Signed-off-by: Nick Thompson <nick.thompson@gefanuc.com>
| * OMAP3: pandora: fix booting without serial attachedGrazvydas Ignotas2009-11-27-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Add a unified s3c24x0 header filekevin.morfitt@fearnside-systems.co.uk2009-11-27-95/+87
| | | | | | | | | | | | | | | | | | | | 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>
| * S3C6400/SMDK6400: fix stack_setup in start.SSeunghyeon Rhee2009-11-27-8/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * s5pc1xx: serial: fix the error check logicMinkyu Kang2009-11-27-7/+17
| | | | | | | | | | | | | | 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>
| * Clean-up of s3c24x0 header fileskevin.morfitt@fearnside-systems.co.uk2009-11-27-461/+490
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * s3c64xx: move s3c64xx header files to asm-arm/arch-s3c64xxMinkyu Kang2009-11-27-11/+11
| | | | | | | | | | | | | | This patch moves the s3c64xx header files from include/ to include/asm-arm/arch-s3c64xx Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
| * Move s3c24x0 header files to asm-arm/arch-s3c24x0/kevin.morfitt@fearnside-systems.co.uk2009-11-27-31/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * ARM Update mach-typesTom Rix2009-11-27-2/+1211
| | | | | | | | | | | | | | | | | | | | 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>
| * sheevaplug: correct SDRAM address control registerMark Asselstine2009-11-27-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Fix for Void function returning value in sbc35-a9g20Sandeep Paulraj2009-11-27-1/+0
| | | | | | | | | | | | | | 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>
| * ARM Update mach-types.hTom Rix2009-11-27-19/+263
| | | | | | | | | | | | | | | | 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>
* | ppc4xx: Remove autoupdate feature from PLU405 boardMatthias Fuchs2009-11-25-19/+0
|/ | | | | | | | 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>
* Merge branch 'next' of git://www.denx.de/git/u-boot-ppc4xx into nextWolfgang Denk2009-11-24-161/+118
|\
| * ppc4xx: Cleanup PPC4xx I2C infrastructureStefan Roese2009-11-23-157/+118
| | | | | | | | | | | | | | | | | | | | | | 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>
| * ppc4xx: Remove some testing code from 4xx_pcie.cStefan Roese2009-11-23-4/+0
| | | | | | | | | | | | This code got included accidentally. Signed-off-by: Stefan Roese <sr@denx.de>
* | at91: Extended soft_i2c driver for AT91SAM9263 SoCDaniel Gorsulowski2009-11-23-0/+5
|/ | | | | | | | 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>