summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
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-12x86: 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-09Prepare 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-07Merge branch 'avr32' of git://git.denx.de/u-boot-atmelWolfgang Denk
2010-09-07Merge branch 'at91' of git://git.denx.de/u-boot-atmelWolfgang Denk
2010-09-07Merge 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
2010-08-10Merge branch 'master' of git://git.denx.de/u-boot-marvellWolfgang Denk
2010-08-10Merge branch 'master' of git://git.denx.de/u-boot-tiWolfgang Denk
2010-08-10Merge branch 'master' of ../masterWolfgang Denk
2010-08-09Fix compile warnings for const correctnessBen Warren
Commit 6e37b1a3a25004d3df5867de49fff6b3fc9c4f04 modifies several net calls to take a (const char *) parameter instead of (char *), but in some cases the modified functions call other functions taking (char *). The end result is warnings about discarding the const qualifier. This patch fixes these other function signatures. Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2010-08-09miiphy: constify device nameMike Frysinger
The driver name does not need to be writable, so constify it. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2010-08-09net: rename "FSL UECx" net interfaces "UECx"Kim Phillips
continuation of commit 2ecc2262d66a286e3aac79005bcb5f461312dea8 "net ppc: fix ethernet device names with spaces" (currently in u-boot-net.git) for QE based parts. Signed-off-by: Kim Phillips <kim.phillips@freescale.com> Acked-by: Dave Liu <daveliu@freescale.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2010-08-09net ppc: fix ethernet device names with spacesHeiko Schocher
since commit 1384f3bb8a4f9066805b70c1418eda78ecb73fdd ethernet names with spaces drop a Warning: eth device name has a space! message. This patch fix it for: - "FEC ETHERNET" devices found on mpc512x, mpc5xxx, mpc8xx and mpc8220 boards. renamed to "FEC". - "SCC ETHERNET" devices found on mpc8xx, mpc82xx based boards. Renamed to "SCC". - "HDLC ETHERNET" devices found on mpc8xx boards Renamed to "HDLC" - "FCC ETHERNET" devices found on mpc8260 and mpc85xx based boards. Renamed to "FCC" Tested on the kup4k board. Signed-off-by: Heiko Schocher <hs@denx.de> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2010-08-09ppc4xx: Fix/Update katmai board headerStefan Roese
This patch has the following fixes/changes: - Set 'kernel_addr' and 'ramdisk_addr' to correct values and add 'fdt_addr' environment variable - Remove 'kozio' environment variable - Remove environmant variables to boot ancient arch/ppc Linux kernels - Remove CONFIG_SYS_BOOTMAPSZ definition. It's already defined to the same value in amcc-common.h Signed-off-by: Stefan Roese <sr@denx.de>