summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeLines
* ARM: compiler options cleanup - improve tool chain supportWolfgang Denk2009-08-21-40/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For some time there have been repeated reports about build problems with some ARM (cross) tool chains. Especially issues about (in)compatibility with the tool chain provided runtime support library libgcc.a caused to add and support a private implementation of such runtime support code in U-Boot. A closer look at the code indicated that some of these issues are actually home-made. This patch attempts to clean up some of the most obvious problems and make building of U-Boot with different tool chains easier: - Even though all ARM systems basicy used the same compiler options to select a specific ABI from the tool chain, the code for this was distributed over all cpu/*/config.mk files. We move this one level up into lib_arm/config.mk instead. - So far, we only checked if "-mapcs-32" was supported by the tool chain; if yes, this was used, if not, "-mabi=apcs-gnu" was selected, no matter if the tool chain actually understood this option. There was no support for EABI conformant tool chains. This patch implements the following logic: 1) If the tool chain supports "-mabi=aapcs-linux -mno-thumb-interwork" we use these options (EABI conformant tool chain). 2) Otherwise, we check first if "-mapcs-32" is supported, and then check for "-mabi=apcs-gnu" If one test succeeds, we use the first found option. 3) In case 2), we also test if "-mno-thumb-interwork", and use this if the test succeeds. [For "-mabi=aapcs-linux" we set "-mno-thumb-interwork" mandatorily.] This way we use a similar logic for the compile options as the Linux kernel does. - Some EABI conformant tool chains cause external references to utility functions like raise(); such functions are provided in the new file lib_arm/eabi_compat.c Note that lib_arm/config.mk gets parsed several times, so we must make sure to add eabi_compat.o only once to the linker list. Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Cc: Dirk Behme <dirk.behme@googlemail.com> Cc: Magnus Lilja <lilja.magnus@gmail.com> Cc: Tom Rix <Tom.Rix@windriver.com> Cc: Prafulla Wadaskar <prafulla@marvell.com> Acked-by: Sergey Kubushyn <ksi@koi8.net> Tested-by: Magnus Lilja <lilja.magnus@gmail.com> Tested-by: Andrzej Wolski <awolski@poczta.fm> Tested-by: Gaye Abdoulaye Walsimou <walsimou@walsimou.com> Tested-by: Tom Rix <Tom.Rix@windriver.com> Tested-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* Merge branch 'master' of /home/wd/git/u-boot/custodiansWolfgang Denk2009-08-21-30/+58
|\
| * Merge branch 'master' of git://git.denx.de/u-boot-netWolfgang Denk2009-08-21-30/+58
| |\
| | * tsec: Wait for auto-negotiation to complete without linkPeter Tyser2009-08-21-10/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, waiting for auto-negotiation would only occur if a valid link had been detected. Problems arose when attempting to use a tsec immediately after bootup but before link was achieved, eg: => dhcp Auto-neg error, defaulting to 10BT/HD eTSEC1: No link. Auto-neg error, defaulting to 10BT/HD eTSEC2: No link. => With this patch applied the same operation as above resulted in: => dhcp Waiting for PHY auto negotiation to complete. done Enet starting in 1000BT/FD Speed: 1000, full duplex Signed-off-by: Peter Tyser <ptyser@xes-inc.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
| | * arm: kirkwood: See to it that sent data is 8-byte alignedSimon Kagstrom2009-08-21-4/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | U-boot might use non-8-byte-aligned addresses for sending data, which the kwgbe_send doesn't accept (bootp does this for me). This patch copies the data to be sent to a malloced temporary buffer if it is non-aligned. Signed-off-by: Simon Kagstrom <simon.kagstrom@netinsight.net> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
| | * Wait for the link to come up on kirkwood network initSimon Kagstrom2009-08-21-6/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch makes the device wait for up to 5 seconds for the link to come up, similar to what many of the other network drivers do. This avoids confusing situations where, e.g., a tftp fails when initiated early after U-boot has started (before the link has come up). Signed-off-by: Simon Kagstrom <simon.kagstrom@netinsight.net> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
| | * arm:kirkwood Define kirkwood phy address magic numberSimon Kagstrom2009-08-21-4/+10
| | | | | | | | | | | | | | | Signed-off-by: Simon Kagstrom <simon.kagstrom@netinsight.net> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
| | * e1000: fix PCI memory addressingTimur Tabi2009-08-21-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Intel E1000 driver was making assumptions about the relationship between some virtual, physical, and PCI addresses. Also fix some bad usage of the DEBUGOUT macro Signed-off-by: Timur Tabi <timur@freescale.com> Acked-by: Kumar Gala <galak@kernel.crashing.org> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* | | Merge branch 'master' of /home/wd/git/u-boot/custodiansWolfgang Denk2009-08-21-1/+5
|\ \ \ | |/ /
| * | NAND boot: fix nand_load overlap issueMingkai Hu2009-08-21-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The code copy data from NAND flash block by block, so when the data length isn't a whole-number multiple of the block size, it will overlap the rest space. Signed-off-by: Mingkai Hu <Mingkai.hu@freescale.com> Signed-off-by: Scott Wood <scottwood@freescale.com>
| * | add WATCHDOG_RESET() on nand write and readGiulio Benetti2009-08-21-0/+4
| |/ | | | | | | | | | | Signed-off-by: giulio.benetti@micronovasrl.com Acked-by: Wolfgang Denk <wd@denx.de> Signed-off-by: Scott Wood <scottwood@freescale.com>
* | jffs2: clean the cache in case of malloc fails in build_listsIlya Yanok2009-08-18-3/+14
| | | | | | | | | | | | | | | | We should call jffs2_clean_cache() if we return from jffs2_build_lists() with an error to prevent usage of incomplete lists. Also we should free() a local buffer to prevent memory leaks. Signed-off-by: Ilya Yanok <yanok@emcraft.com>
* | ppc: trigger WDT before starting LinuxHeiko Schocher2009-08-18-0/+2
|/ | | | Signed-off-by: Heiko Schocher <hs@denx.de>
* Merge branch 'master' of git://git.denx.de/u-boot-mpc85xxWolfgang Denk2009-08-18-6/+22
|\
| * 85xx: Fix addrmap to include memoryKumar Gala2009-08-14-6/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When we init the addrmap based on the TLB we will not end up getting the TLB that covers memory if we are using SPD. The reason is we haven't relocated at the point that we setup the memory TLB and thus it will not get setup in the addrmap. Instead we can just walk over the TLB array after we've relocated and see all the TLBs that have been set and use that information to populate the initial addrmap. By doing this we insure that we get the TLB entries that cover memory. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | Merge branch 'master' of git://git.denx.de/u-boot-ppc4xxWolfgang Denk2009-08-18-16/+22
|\ \
| * | ppc4xx: Fix "chip_config" command for AMCC ArchesStefan Roese2009-08-18-16/+22
| |/ | | | | | | | | | | | | | | | | | | This patch fixes the "chip_config" command for I2C bootstrap EEPROM configuration. First it changes the I2C bootstrap EEPROM address to 0x54 as this is used on Arches (instead of 0x52 on Canyonlands/ Glacier). Additionally, the NAND bootstrap settings are removed for Arches since Arches doesn't support NAND-booting. Signed-off-by: Stefan Roese <sr@denx.de>
* | Update the mtd driver name in bootargs for at91-based boardsAlbin Tonnerre2009-08-18-18/+18
| | | | | | | | | | | | | | | | The name of the atmel nand driver in the kernel changed from at91_nand to atmel_nand back in June 2008, but the at91-based boards config files still refer to at91_nand. This patch updates them with the new name Signed-off-by: Albin Tonnerre <albin.tonnerre@free-electrons.com>
* | omap3: Fixed a problem with hweccBen Goska2009-08-18-2/+2
| | | | | | | | | | | | | | | | In commit 187af954cf7958c24efcf0fd62289bbdb4f1f24e there was a typo that offset all the ecc registers by 4 bytes, fixed that. Signed-off-by: Ben Goska <goskab@onid.oregonstate.edu> Acked-by: Dirk Behme <dirk.behme@googlemail.com>
* | Monahans: avoid floating point calculationsWolfgang Denk2009-08-17-7/+11
|/ | | | | | | | | | | Current code for the Monahans CPU defined OSCR_CLK_FREQ as 3.250 (MHz) which caused floating point operations to be used. This resulted in unresolved references to some FP related libgcc functions when using U-Boot's private libgcc functions. Change the code to use fixed point math only. Signed-off-by: Wolfgang Denk <wd@denx.de>
* flash: Fix CFI buffer size bugJohn Schmoller2009-08-13-1/+1
| | | | | | | | | | | | Fix bug introduced by 9c048b523413ae5f3ff34e00cf57569c3368ab51. The cfi_flash.c driver cast the flash buffer size to a uchar in flash_write_cfibuffer(). On some flash parts, (tested on Numonyx part PC32F512M29EWH), the buffer size is 1KB. Remove the cast to uchar to enable buffer sizes to be larger. Signed-off-by: John Schmoller <jschmoller@xes-inc.com> Signed-off-by: Stefan Roese <sr@denx.de>
* trab: rename spi_init()Mike Frysinger2009-08-13-7/+7
| | | | | | | The local board-specific spi_init() function conflicts with the common SPI layer, so rename it to something board-specific. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* zlib: add watchdog reset callGiuseppe CONDORELLI2009-08-11-1/+7
| | | | | | | | | | | This patch adds watchdog reset call to allow its invokation during decompression phase. This control was present on old zlib version and here it is backported for those relevant routines. This patch is sent as a zlib separate one beacuse it was not tested due to specific board lack. zlib patches will be unified just in one when this will be validated through tests. Signed-off-by: Giuseppe Condorelli <giuseppe.condorelli@st.com>
* zlib: updated to v.1.2.3Giuseppe CONDORELLI2009-08-11-2185/+2466
| | | | | | | | | | | | | This patch updates zlib to the latest stable version. Only relevant zlib parts were ported to u-boot tree, as already did for the current zlib (0.95). New zlib guarantees a faster inflate performances other then others improvements as explained at www.zlib.net. It also includes Alessandro Rubini's patches to allow 0 as destination pointer and to call watchdog reset if required by architecture. Signed-off-by: Giuseppe Condorelli <giuseppe.condorelli@st.com> Reviewed-by: Angelo Castello <angelo.castello@st.com> Reviewed-by: Alessandro Rubini <rubini-list@gnudd.com>
* dtt, lm81: move unneccessary printf into a debug printfHeiko Schocher2009-08-11-1/+1
| | | | Signed-off-by: Heiko Schocher <hs@denx.de>
* Merge branch 'master' of git://git.denx.de/u-boot-mpc83xxWolfgang Denk2009-08-11-0/+1
|\
| * 83xx, kmeter1, fix: update in the DTS the correct size for the first flashHeiko Schocher2009-07-29-0/+1
| | | | | | | | | | | | | | | | | | When updating the "reg" in the "/localbus/flash@f0000000,0" node size was wrong updated for the first flash, because the total size was filled in, instead of the right size for it. Signed-off-by: Heiko Schocher <hs@denx.de> Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
* | Merge branch 'master' of git://git.denx.de/u-boot-videoWolfgang Denk2009-08-11-1/+1
|\ \
| * | MIMC200: reduce LCD pixclockMark Jackson2009-08-11-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The initial pixclock for the MIMC200 board is wrong (and causes screen corruption due to DMA underruns). This patch simply reduces the pixel clock to fix the problem. Signed-off-by: Mark Jackson <mpfj@mimc.co.uk>
* | | Merge branch 'master' of git://git.denx.de/u-boot-netWolfgang Denk2009-08-11-85/+538
|\ \ \
| * | | UEC FIXED PHY: Determine fixed-phy port using UEC interface name.Richard Retanubun2009-08-10-17/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed a misunderstanding in the original implementation, 'devnum' that was used in the cpu/ppc4xx/4xx_enet.c implementation was NOT the PHY's SMI address, rather it was the number of the MAC interface on the CPU. The equivalent of this for uec_phy will be the UEC number stored in mii_info->dev->name. Usage example is updated for uec. Signed-off-by: Richard Retanubun <RichardRetanubun@RuggedCom.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
| * | | Assigned a static SMI address to all UECs TBIPA address.Richard Retanubun2009-08-10-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is set to 0x1F by default and can be overwritten on the board header file by defining CONFIG_UTBIPAR_INIT_TBIPA. This allows the CPU to simply "reserve" one SMI address instead of using a different one for each UEC. Signed-off-by: Richard Retanubun <RichardRetanubun@RuggedCom.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
| * | | net: kirkwood: updates: used eth_setenv_enetaddr apiPrafulla Wadaskar2009-08-10-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | eth_setenv_enetaddr is avaible by upper layer using this saves 204 bytes on total image size used Local OUI instead of Marvell OUI for random MAC address generation logic Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
| * | | Fix E1000 build warning on AP1000 boardRoy Zang2009-08-10-44/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix E1000 build warning on AP1000 board Fix the build warning on AP1000 board: e1000.c:131: warning: 'e1000_read_eeprom' used but never defined e1000.c:2012: warning: 'e1000_set_phy_mode' defined but not used Signed-off-by: Roy Zang <tie-fei.zang@freescale.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
| * | | ARM: Davinci DM355: Enabling DM9000 on DM355 EVMSandeep Paulraj2009-08-10-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to recent changes to the NET support on U-boot, DM9000 is no longer detected on the DM355 EVM. This minor update enables DM9000 on the DM355 EVM. Tested on the DM355 EVM Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
| * | | net: phy: bugfixes: mv88E61xx compiler warnings fixedPrafulla Wadaskar2009-08-10-9/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. mv88E61xx driver compiler warnings fixed 2. idstr if-else statements changed to switch() construct and added default case too. This fixed idstr may be uninitialized warning Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
| * | | arm: A320: driver for FTMAC100 ethernet controllerPo-Yu Chuang2009-08-10-0/+434
| |/ / | | | | | | | | | | | | | | | | | | This patch adds an FTMAC100 ethernet driver for Faraday A320 evaluation board. Signed-off-by: Po-Yu Chuang <ratbert@faraday-tech.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* | | 85xx: Removed BEDBUG support from FSL 85xx boardsKumar Gala2009-08-10-4/+0
|/ / | | | | | | | | | | | | | | | | For some reason the MPC8544 enabled BEDBUG if PCI was enabled and that got copied int the MPC8536, MPC8572 and P2020 DS boards. The BEDBUG support has never been made to work completely on e500/85xx so we just disable it to save space and match the other FSL 85xx boards. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | Prepare 2009.08-rc2v2009.08-rc2Wolfgang Denk2009-08-10-1/+1021
| | | | | | | | | | | | Update CHANGELOG Signed-off-by: Wolfgang Denk <wd@denx.de>
* | Minor coding style cleanup.Wolfgang Denk2009-08-10-4/+0
| | | | | | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* | net/tftp.c: fix warning: pointer targets differ in signednessWolfgang Denk2009-08-10-1/+3
| | | | | | | | | | | | | | | | | | | | tftp.c:294: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness This was only visible for the utx8245 board which seems to have DEBUG enabled. Signed-off-by: Wolfgang Denk <wd@denx.de>
* | ARM Cortex A8: Remove bogus config.mk entriesDirk Behme2009-08-10-38/+1
| | | | | | | | | | | | | | Remove bogus config.mk entry, fix newline and remove redundant omap3/config.mk Signed-off-by: Dirk Behme <dirk.behme@googlemail.com>
* | OMAP3: Fix missing GPMC_CONFIG_CS0_BASEDirk Behme2009-08-10-0/+1
| | | | | | | | | | | | | | | | | | | | Applying two indepenent OMAP3 patches resulted in missing GPMC_CONFIG_CS0_BASE. Patch "omap3: embedd gpmc_cs into gpmc config struct" removes GPMC_CONFIG_CS0_BASE, independent patch "omap3: bug fix for NOR boot support" introduces it's usage. Re-introduce GPMC_CONFIG_CS0_BASE. Signed-off-by: Dirk Behme <dirk.behme@googlemail.com>
* | mxc-mmc: sdhc host driver for MX2 and MX3 proccessorIlya Yanok2009-08-09-0/+565
| | | | | | | | | | | | | | | | | | | | This is a port of Linux driver for SDHC host controller hardware found on Freescale's MX2 and MX3 processors. Uses new generic MMC framework (CONFIG_GENERIC_MMC) and it looks like there are some problems with a framework (at least on LE cpus). Some of these problems are addressed in the following patches. Signed-off-by: Ilya Yanok <yanok@emcraft.com>
* | kirkwood/gpio.h: remove duplicate definitionAlessandro Rubini2009-08-09-2/+0
| | | | | | | | Signed-off-by: Alessandro Rubini <rubini@gnudd.com>
* | Add driver for the ST M95xxx SPI EEPROMAlbin Tonnerre2009-08-09-0/+118
| | | | | | | | | | | | | | | | This chip is used in a number of boards manufactured by Calao-Systems which should be supported soon. This driver provides the necessary spi_read and spi_write functions necessary to communicate with the chip. Signed-off-by: Albin Tonnerre <albin.tonnerre@free-electrons.com>
* | arm: Sheevaplug: Fixed NAND specific warningPrafulla Wadaskar2009-08-09-0/+1
| | | | | | | | | | | | | | It is recommended to define the macro CONFIG_SYS_64BIT_VSPRINTF for NAND specific warning removal, same is done in this patch Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>
* | Dual-license IBM code contributionsJosh Boyer2009-08-09-0/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | It was brought to our attention that U-Boot contains code derived from the IBM OpenBIOS source code originally provided with some of the older PowerPC 4xx development boards. As a result, the original license of this code has been carried in the various files for a number of years in the U-Boot project. IBM is dual-licensing the IBM code contributions already present in U-Boot under either the terms of the GNU General Public License version 2, or the original code license already present. Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
* | fdt: Fix fdt_pci_dma_ranges handling of 64-bit rangesKumar Gala2009-08-09-2/+2
| | | | | | | | | | | | | | | | | | | | If the size of a region equal to 4G it can't be represnted in a 32-bit BAR so we should have marked that case as MEM64. Additionally bump the number of inbound windows up to 4 to handle the fact that Freescale PPCs that have an implicit window for CCSRBAR. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | ARM EABI: add new helper functions resp. function namesWolfgang Denk2009-08-09-9/+33
| | | | | | | | | | | | | | | | | | | | | | The ARM EABI defines new names for GCC helper functions, and GCC seems to need some new functions as well. This patch is a minimal-invasive approach to fix problems with EABI conformant tool chains (to be used with "USE_PRIVATE_LIBGCC=yes"). Signed-off-by: Wolfgang Denk <wd@denx.de> Tested-by: Dirk Behme <dirk.behme@googlemail.com>