summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2010-09-19common: move TOTAL_MALLOC_LEN to include/common.hHeiko Schocher
Portions of this work were supported by funding from the CE Linux Forum. Signed-off-by: Heiko Schocher <hs@denx.de>
2010-09-19relocation: fixup cmdtableHeiko Schocher
fixup_cmdtable() did all work for fixing up the cmdtable, if CONFIG_RELOC_FIXUP_WORKS is not defined. CONFIG_RELOC_FIXUP_WORKS is missing for i386! I talked with Graeme Russ, and he will fix this soon. Portions of this work were supported by funding from the CE Linux Forum. Signed-off-by: Heiko Schocher <hs@denx.de>
2010-09-19ARM (ARM11): add data cache support, test on Qong boardHeiko Schocher
Add data cache support for arm1136 systems. Enable "cache" command on Qong board and test performance. Test 1: Loading 127 MB of data from NAND flash into RAM: Instr. Cache off on on Data Cache off off on -------------------------------------------------- QONG (ARM11) 177s 95s 43s = x 4.1 Test 2: uncompressing a gzipped image from RAM to RAM (size compressed: 6.5 MiB, uncompressed: 35 MiB): Instr. Cache off on on Data Cache off off on -------------------------------------------------- QONG (ARM11) 1.54s 0.95s 0.18s = x 8.6 Portions of this work were supported by funding from the CE Linux Forum. Signed-off-by: Heiko Schocher <hs@denx.de>
2010-09-19ARM V7 (OMAP): add data cache support, test on Beagle boardHeiko Schocher
Add data cache support for ARM V7 systems. Used cache flush functions from linux:arch/arm/mm/cache-v7.S developed from Catalin Marinas. Enable "cache" command on Beagle board and test performance. Test 1: Loading 127 MB of data from NAND flash into RAM: Instr. Cache off on on Data Cache off off on -------------------------------------------------- Beagle (Cortex A8) 116s 106s 30.3s = x 3.8 Test 2: uncompressing a gzipped image from RAM to RAM (size compressed: 6.5 MiB, uncompressed: 35 MiB): Instr. Cache off on on Data Cache off off on -------------------------------------------------- Beagle (Cortex A8) 1.84s 1.64s 0.12s = x 15.3 Portions of this work were supported by funding from the CE Linux Forum. Signed-off-by: Heiko Schocher <hs@denx.de> Reviewed-by: Ben Gardiner<bengardiner@nanometrics.ca>
2010-09-19ARM (ARM926ejs): add data cache support, tested on magnesium and tx25 boardHeiko Schocher
Enable "cache" command on tx25 and magnesium board and test performance. Test 1: Loading 127 MB of data from NAND flash into RAM: Instr. Cache off on on Data Cache off off on -------------------------------------------------- magnesium 32,6s 22,5s 30s = x 1,09 tx25 (29MB only) 9,69s 5,05s 8,16s = x 1,19 Test 2: uncompressing a gzipped image from RAM to RAM (size compressed: 6.5 MiB, uncompressed: 35 MiB): Instr. Cache off on on Data Cache off off on -------------------------------------------------- magnesium 4,25s 2,08s 1,72s = x 2,47 tx25 4,82s 2,04s 1,84s = x 2,62 Portions of this work were supported by funding from the CE Linux Forum. Signed-off-by: Alessandro Rubini <rubini@gnudd.com> Signed-off-by: Heiko Schocher <hs@denx.de> Cc: Alessandro Rubini <rubini@gnudd.com>
2010-09-19mpc52xx: Cleanup use of CONFIG_SYS_SRAM_BASE and CONFIG_SYS_SRAM_SIZEHeiko Schocher
cleanup for the uc101 and the mucmc52 board. Signed-off-by: Heiko Schocher <hs@denx.de>
2010-09-19New implementation for internal handling of environment variables.Wolfgang Denk
Motivation: * Old environment code used a pessimizing implementation: - variable lookup used linear search => slow - changed/added variables were added at the end, i. e. most frequently used variables had the slowest access times => slow - each setenv() would calculate the CRC32 checksum over the whole environment block => slow * "redundant" envrionment was locked down to two copies * No easy way to implement features like "reset to factory defaults", or to select one out of several pre-defined (previously saved) sets of environment settings ("profiles") * No easy way to import or export environment settings ====================================================================== API Changes: - Variable names starting with '#' are no longer allowed I didn't find any such variable names being used; it is highly recommended to follow standard conventions and start variable names with an alphanumeric character - "printenv" will now print a backslash at the end of all but the last lines of a multi-line variable value. Multi-line variables have never been formally defined, allthough there is no reason not to use them. Now we define rules how to deal with them, allowing for import and export. - Function forceenv() and the related code in saveenv() was removed. At the moment this is causing build problems for the only user of this code (schmoogie - which has no entry in MAINTAINERS); may be fixed later by implementing the "env set -f" feature. Inconsistencies: - "printenv" will '\\'-escape the '\n' in multi-line variables, while "printenv var" will not do that. ====================================================================== Advantages: - "printenv" output much better readable (sorted) - faster! - extendable (additional variable properties can be added) - new, powerful features like "factory reset" or easy switching between several different environment settings ("profiles") Disadvantages: - Image size grows by typically 5...7 KiB (might shrink a bit again on systems with redundant environment with a following patch series) ====================================================================== Implemented: - env command with subcommands: - env print [arg ...] same as "printenv": print environment - env set [-f] name [arg ...] same as "setenv": set (and delete) environment variables ["-f" - force setting even for read-only variables - not implemented yet.] - end delete [-f] name not implemented yet ["-f" - force delete even for read-only variables] - env save same as "saveenv": save environment - env export [-t | -b | -c] addr [size] export internal representation (hash table) in formats usable for persistent storage or processing: -t: export as text format; if size is given, data will be padded with '\0' bytes; if not, one terminating '\0' will be added (which is included in the "filesize" setting so you can for exmple copy this to flash and keep the termination). -b: export as binary format (name=value pairs separated by '\0', list end marked by double "\0\0") -c: export as checksum protected environment format as used for example by "saveenv" command addr: memory address where environment gets stored size: size of output buffer With "-c" and size is NOT given, then the export command will format the data as currently used for the persistent storage, i. e. it will use CONFIG_ENV_SECT_SIZE as output block size and prepend a valid CRC32 checksum and, in case of resundant environment, a "current" redundancy flag. If size is given, this value will be used instead of CONFIG_ENV_SECT_SIZE; again, CRC32 checksum and redundancy flag will be inserted. With "-b" and "-t", always only the real data (including a terminating '\0' byte) will be written; here the optional size argument will be used to make sure not to overflow the user provided buffer; the command will abort if the size is not sufficient. Any remainign space will be '\0' padded. On successful return, the variable "filesize" will be set. Note that filesize includes the trailing/terminating '\0' byte(s). Usage szenario: create a text snapshot/backup of the current settings: => env export -t 100000 => era ${backup_addr} +${filesize} => cp.b 100000 ${backup_addr} ${filesize} Re-import this snapshot, deleting all other settings: => env import -d -t ${backup_addr} - env import [-d] [-t | -b | -c] addr [size] import external format (text or binary) into hash table, optionally deleting existing values: -d: delete existing environment before importing; otherwise overwrite / append to existion definitions -t: assume text format; either "size" must be given or the text data must be '\0' terminated -b: assume binary format ('\0' separated, "\0\0" terminated) -c: assume checksum protected environment format addr: memory address to read from size: length of input data; if missing, proper '\0' termination is mandatory - env default -f reset default environment: drop all environment settings and load default environment - env ask name [message] [size] same as "askenv": ask for environment variable - env edit name same as "editenv": edit environment variable - env run same as "run": run commands in an environment variable ====================================================================== TODO: - drop default env as implemented now; provide a text file based initialization instead (eventually using several text files to incrementally build it from common blocks) and a tool to convert it into a binary blob / object file. - It would be nice if we could add wildcard support for environment variables; this is needed for variable name auto-completion, but it would also be nice to be able to say "printenv ip*" or "printenv *addr*" - Some boards don't link any more due to the grown code size: DU405, canyonlands, sequoia, socrates. => cc: Matthias Fuchs <matthias.fuchs@esd-electronics.com>, Stefan Roese <sr@denx.de>, Heiko Schocher <hs@denx.de> - Dropping forceenv() causes build problems on schmoogie => cc: Sergey Kubushyn <ksi@koi8.net> - Build tested on PPC and ARM only; runtime tested with NOR and NAND flash only => needs testing!! Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Matthias Fuchs <matthias.fuchs@esd-electronics.com>, Cc: Stefan Roese <sr@denx.de>, Cc: Heiko Schocher <hs@denx.de> Cc: Sergey Kubushyn <ksi@koi8.net>
2010-09-19Remove support for CONFIG_HAS_UID and "forceenv" commandWolfgang Denk
This (undocumented) concept was only in use for the MVSMR and davinci_schmoogie Sergey Kubushyn <ksi@koi8.net> boards. Drop it for now. If really needed, it should be reimplemented later in the context of the new environment command set. Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Andre Schwarz <andre.schwarz@matrix-vision.de> Cc: Sergey Kubushyn <ksi@koi8.net> Acked-by: Sergey Kubushyn <ksi@koi8.net>
2010-09-19Add hash table support as base for new environment codeWolfgang Denk
This implementation is based on code from uClibc-0.9.30.3 but was modified and extended for use within U-Boot. Major modifications and extensions: * hsearch() [modified / extended]: - While the standard version does not make any assumptions about the type of the stored data objects at all, this implementation works with NUL terminated strings only. - Instead of storing just pointers to the original objects, we create local copies so the caller does not need to care about the data any more. - The standard implementation does not provide a way to update an existing entry. This version will create a new entry or update an existing one when both "action == ENTER" and "item.data != NULL". - hsearch_r(): Instead of returning 1 on success, we return the index into the internal hash table, which is also guaranteed to be positive. This allows us direct access to the found hash table slot for example for functions like hdelete(). * hdelete() [added]: - The standard implementation of hsearch(3) does not provide any way to delete any entries from the hash table. We extend the code to do that. * hexport() [added]: - Export the data stored in the hash table in linearized form: Entries are exported as "name=value" strings, separated by an arbitrary (non-NUL, of course) separator character. This allows to use this function both when formatting the U-Boot environment for external storage (using '\0' as separator), but also when using it for the "printenv" command to print all variables, simply by using as '\n" as separator. This can also be used for new features like exporting the environment data as text file, including the option for later re-import. - The entries in the result list will be sorted by ascending key values. * himport() [added]: - Import linearized data into hash table. This is the inverse function to hexport(): it takes a linear list of "name=value" pairs and creates hash table entries from it. - Entries without "value", i. e. consisting of only "name" or "name=", will cause this entry to be deleted from the hash table. - The "flag" argument can be used to control the behaviour: when the H_NOCLEAR bit is set, then an existing hash table will kept, i. e. new data will be added to an existing hash table; otherwise, old data will be discarded and a new hash table will be created. - The separator character for the "name=value" pairs can be selected, so we both support importing from externally stored environment data (separated by NUL characters) and from plain text files (entries separated by newline characters). - To allow for nicely formatted text input, leading white space (sequences of SPACE and TAB chars) is ignored, and entries starting (after removal of any leading white space) with a '#' character are considered comments and ignored. - NOTE: this means that a variable name cannot start with a '#' character. - When using a non-NUL separator character, backslash is used as escape character in the value part, allowing for example fo multi-line values. - In theory, arbitrary separator characters can be used, but only '\0' and '\n' have really been tested. Signed-off-by: Wolfgang Denk <wd@denx.de>
2010-09-19Add qsort - add support for sorting data arraysWolfgang Denk
Code adapted from uClibc-0.9.30.3 Signed-off-by: Wolfgang Denk <wd@denx.de>
2010-09-19Add basic errno support.Wolfgang Denk
Needed for hash table support; probably useful in a lot of other places as well. Signed-off-by: Wolfgang Denk <wd@denx.de>
2010-09-19IceCube.h: update configurationWolfgang Denk
Increase malloc size, enable command line editing and history, enable hush shell. Signed-off-by: Wolfgang Denk <wd@denx.de>
2010-09-19Cleanup use of CONFIG_SYS_SRAM_BASE and CONFIG_SYS_SRAM_SIZEWolfgang Denk
Traditionally many boards used local definitions for SRAM base address and size (like SRAM_BASE, SRAM_LEN and/or SRAM_SIZE), while the (now) "official" names are CONFIG_SYS_SRAM_BASE and CONFIG_SYS_SRAM_SIZE. The corresponding code in arch/powerpc/lib/board.c was board specific, and has never actually been maintained well. Replace this by feature- specific code and adapt the boards that actually use this. NOTE: there is still a ton of boards using the old #defines, which therefor contain incorrect values in bi_sramstart and bi_sramsize. All respective board maintainers are requested to clean up their respective configurations. Thanks. Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Josef Wagner <Wagner@Microsys.de> Cc: Stefan Roese <sr@denx.de> Cc: Heiko Schocher <hs@denx.de> Cc: Wolfgang Denk <wd@denx.de>
2010-09-194xx: add missing CONFIG_SYS_SRAM_SIZE definitionWolfgang Denk
A number of boards define CONFIG_SYS_SRAM_BASE but fail to define CONFIG_SYS_SRAM_SIZE which is needed when cleaning up the code that prints this information with the bdinfo command. Add the missing deinitions. Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Stefan Roese <sr@denx.de> Acked-by: Stefan Roese <sr@denx.de>
2010-09-13x86: Remove Unmaintained BoardsGraeme Russ
The SC520 CDP boards originally implemented by Daniel Engström are now very broken. Attempts to contact Daniel via the email address on the copyright notice have failed. Remove these boards from mainline
2010-09-10Prepare v2010.09-rc1Wolfgang Denk
Coding style cleanup. Signed-off-by: Wolfgang Denk <wd@denx.de>
2010-09-09Merge branch 'master' of git://git.denx.de/u-boot-tiWolfgang Denk
2010-09-08ARMV7: OMAP3: Add CONFIG_SYS_NAND_QUIET_TEST to Beagle and Overo configsSteve Sakoman
Future versions of these boards have options for POP memory with no NAND. This option prevents display of error messages when no NAND is detected. Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2010-09-08ARMV7: OMAP: Add mpurate boot arg for Overo and BeagleSteve Sakoman
Allows one to set the processor clock rate via "setenv mpurate 720" for example Default is set to a "safe" 500 Mhz. Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2010-09-08ARMV7: OMAP: add convenience function to set TWL4030 regulator voltagesSteve Sakoman
This patch adds a function to allow one to easily set the target voltage for the TWL4030 regulators. It also modifies the existing code to use this new function. Applicable definitions are moved out of the driver file and into the header file so that they are generally accessible Signed-off-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
2010-09-08Merge branch 'avr32' of git://git.denx.de/u-boot-atmelWolfgang Denk
2010-09-08Merge branch 'at91' of git://git.denx.de/u-boot-atmelWolfgang Denk
2010-09-08Merge branch 'master' of git://git.denx.de/u-boot-samsungWolfgang Denk
2010-09-07Merge branch 'master' of /home/wd/git/u-boot/masterWolfgang Denk
2010-09-07Merge branch 'master' of git://git.denx.de/u-boot-ppc4xxWolfgang Denk
2010-09-07Merge branch 'master' of git://git.denx.de/u-boot-i2cWolfgang Denk
2010-09-03avr32: Add simple paging supportHaavard Skinnemoen
Use the MMU hardware to set up 1:1 mappings between physical and virtual addresses. This allows us to bypass the cache when accessing the flash without having to do any physical-to-virtual address mapping in the CFI driver. The virtual memory mappings are defined at compile time through a sorted array of virtual memory range objects. When a TLB miss exception happens, the exception handler does a binary search through the array until it finds a matching entry and loads it into the TLB. The u-boot image itself is covered by a fixed TLB entry which is never replaced. This makes the 'saveenv' command work again on ATNGW100 and other boards using the CFI driver, hopefully without breaking any rules. Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
2010-09-03AT91: MCI: add SD/MMC driver using mmc frameworkReinhard Meyer
Signed-off-by: Reinhard Meyer <u-boot@emk-elektronik.de>
2010-09-03ppc4xx: Fix 440EPx bug in reconfigure_pll()Stefan Roese
This patch fixes a bug in reconfigure_pll(), where the detection of the current bootstrap option is wrong. The ICS bits where incorrectly shifted. This bug was found on the lwmon5 board, which uses bootstrap option H (I2C bootstrap EEPROM). Additionally a bit of code was moved into the if statement, since its only used after later on. No need to run this code all the time. Also, a few empty lines are added to make the code better readable. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Rupjyoti Sarmah <rsarmah@amcc.com> Cc: Victor Gallardo <vgallardo@appliedmicro.com>
2010-09-03ppc4xx: Fix APC405 board supportMatthias Fuchs
Opps, after a long time I tested recent u-boot on our APC405 board. This simple fix makes networking work again. Signed-off-by: Matthias Fuchs <matthias.fuchs@esd.eu> Signed-off-by: Stefan Roese <sr@denx.de>
2010-08-30edminiv2: add I2C support using mvtwsi driverAlbert Aribaud
Signed-off-by: Albert Aribaud <albert.aribaud@free.fr> Acked-by: Prafulla Wadaskar<prafulla@marvell.com> Acked-by: Heiko Schocher<hs@denx.de>
2010-08-30suen3: remove CONFIG_HARD_I2C and related definesAlbert Aribaud
These are not used on this board, which uses soft I2C instead. Signed-off-by: Albert Aribaud <albert.aribaud@free.fr> Acked-by: Prafulla Wadaskar<prafulla@marvell.com> Acked-by: Heiko Schocher<hs@denx.de>
2010-08-26ARMV7: S5P: rename from CONFIG_S5PC1XX to CONFIG_S5PMinkyu Kang
Use the same configuration around S5P SoCs. (s5pc100, s5pc110, s5pc210 and so on) Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
2010-08-20cpuat91: update defaut environementEric Bénard
Signed-off-by: Eric Bénard <eric@eukrea.com> Signed-off-by: Reinhard Meyer <u-boot@emk-elektronik.de>
2010-08-20cpuat91: convert to new at91 soc architectureEric Bénard
convert the board to the new soc architecture update default config i2c upgrade taken from eb_cpux9k2.h & board/BuS/eb_cpux9k2/cpux9k2.c Signed-off-by: Eric Bénard <eric@eukrea.com> Signed-off-by: Reinhard Meyer <u-boot@emk-elektronik.de>
2010-08-20at91: Enabeling USB host on meesc boardDaniel Gorsulowski
There was an redesign, so USB is available now. Signed-off-by: Daniel Gorsulowski <Daniel.Gorsulowski@esd.eu> Signed-off-by: Reinhard Meyer <u-boot@emk-elektronik.de>
2010-08-20at91: Update meesc board to new SoC accessDaniel Gorsulowski
* convert meesc board to use c stucture SoC access * change gpio access to at91_gpio syntax * moved CONFIG_SYS_HZ below board and cpu defines (purely cosmetic) Signed-off-by: Daniel Gorsulowski <Daniel.Gorsulowski@esd.eu> Signed-off-by: Reinhard Meyer <u-boot@emk-elektronik.de>
2010-08-20at91: Defined main clock frequency on esd at91 boardsDaniel Gorsulowski
Autodetection is undesired now Signed-off-by: Daniel Gorsulowski <Daniel.Gorsulowski@esd.eu> Signed-off-by: Reinhard Meyer <u-boot@emk-elektronik.de>
2010-08-19powerpc/83xx: Fix build issue with ve8313 board due to lbus changesKumar Gala
We get two build errors: fsl_elbc_nand.c: In function 'fsl_elbc_run_command': fsl_elbc_nand.c:231: error: 'fsl_lbc_t' has no member named 'lsor' make[1]: *** [/work/wd/tmp-ppc/drivers/mtd/nand/fsl_elbc_nand.o] Error 1 and ve8313.c: In function 'initdram': ve8313.c:104: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token ve8313.c:104: error: 'lbc' undeclared (first use in this function) ve8313.c:104: error: (Each undeclared identifier is reported only once ve8313.c:104: error: for each function it appears in.) ve8313.c:104: error: 'immap_t' has no member named 'lbus' make[1]: *** [ve8313.o] Error 1 make: *** [board/ve8313/libve8313.a] Error 2 Due to changes to unifiy local bus struct definitions. Reported-by: Wolfgang Denk <wd@denx.de> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2010-08-19powerpc/8xxx: Fix quad-rank DIMMs support on corenet_ds board.york
The board specific parameters associated with quad rank dimms where missing. This fixes it so the board will function if quad rank dimms are placed in it. Signed-off-by: York Sun <yorksun@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2010-08-18Merge branch 'master' of /home/wd/git/u-boot/masterWolfgang Denk
2010-08-12Merge branch 'master' of git://git.denx.de/u-boot-tiWolfgang Denk
2010-08-12Merge branch 'master' of git://git.denx.de/u-boot-usbWolfgang Denk
2010-08-12AM3517EVM: musb: add usb configAjay Kumar Gupta
Enabling USB HOST in defconfig. Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
2010-08-12musb: MSC host support for AM35xAjay Kumar Gupta
Tested MSC Host on AM3517EVM. Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
2010-08-11Blackfin: cm-bf548: increase monitor lenMike Frysinger
Recent features enabled by default require a larger monitor size for the cm-bf548 port, so bump it up a bit. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-08-10ARM: Add support for jadecpu board based on MB86R01 SoCMatthias Weisser
This patch adds support for the jadecpu board using the MB86R01 'Jade' SoC from Fujitsu. Signed-off-by: Matthias Weisser <weisserm@arcor.de>
2010-08-10ARM: Add support for MB86R0x SoCsMatthias Weisser
Signed-off-by: Matthias Weisser <weisserm@arcor.de>
2010-08-10Merge branch 'master' of git://git.denx.de/u-boot-armWolfgang Denk
2010-08-10Merge branch 'master' of git://git.denx.de/u-boot-netWolfgang Denk