summaryrefslogtreecommitdiff
path: root/cpu/arm925t
Commit message (Collapse)AuthorAgeLines
* ARM: compiler options cleanup - improve tool chain supportWolfgang Denk2009-08-21-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* arm: remove cpu_initJean-Christophe PLAGNIOL-VILLARD2009-06-12-5/+0
| | | | | | move s3c44b0 to arch_cpu_init and as noone use cpu_init remove it Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* arm: unify interrupt initJean-Christophe PLAGNIOL-VILLARD2009-06-12-11/+0
| | | | | | | all arm init the IRQ stack the same way so unify it in lib_arm/interrupts.c and then call arch specific interrupt init Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* arm: unify linker scriptJean-Christophe PLAGNIOL-VILLARD2009-06-12-0/+59
| | | | | | | | | | | | all arm boards except a few use the same cpu linker script so move it to cpu/$(CPU) that could be overwrite in following order SOC BOARD via the corresponding config.mk Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* arm: timer and interrupt init reworkJean-Christophe PLAGNIOL-VILLARD2009-06-12-2/+5
| | | | | | | | | | | | | | actually the timer init use the interrupt_init as init callback which make the interrupt and timer implementation difficult to follow so now rename it as int timer_init(void) and use interrupt_init for interrupt btw also remane the corresponding file to the functionnality implemented as ixp arch implement two timer - one based on interrupt - so all the timer related code is moved to timer.c Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* Fix e-mail address of Gary Jennejohn.Detlev Zundel2009-05-15-4/+4
| | | | Signed-off-by: Detlev Zundel <dzu@denx.de>
* Update CHANGELOG; minor coding style cleanup.Wolfgang Denk2009-05-01-1/+0
| | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* arm925t: Fix CONFIG_SYS_HZ to 1000Ladislav Michl2009-04-29-64/+24
| | | | | | | | | | | Let CONFIG_SYS_HZ to have value of 1000 effectively fixing all users of get_timer. Changes since original version: * Set PTV=2 (divisor 8) for boards using 12MHz timer clock source to improve timer resolution. Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
* arm: unify reset commandJean-Christophe PLAGNIOL-VILLARD2009-04-05-8/+0
| | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* arm: clean cache managementJean-Christophe PLAGNIOL-VILLARD2009-04-05-34/+11
| | | | | | unify arm cache management except for non standard cache as ARM7TDMI Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* arm: update co-processor 15 accessJean-Christophe PLAGNIOL-VILLARD2009-04-05-50/+7
| | | | | | import system.h from linux Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* OMAP: use {read,write}l to access timer registersLadislav Michl2009-03-30-12/+9
| | | | Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
* OMAP: rename timer divisorLadislav Michl2009-03-30-1/+1
| | | | | | | Divisor field is called PTV not PVT. Signed-off-by: Ladislav Michl <ladis@linux-mips.org> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* OMAP: reindent timer codeLadislav Michl2009-03-30-11/+8
| | | | Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
* Remove compiler warning: target CPU does not support interworkingSergei Poselenov2008-12-13-0/+1
| | | | | | | This warning is issued by modern ARM-EABI GCC on non-thumb targets. Signed-off-by: Vladimir Panfilov <pvr@emcraft.com> Signed-off-by: Sergei Poselenov <sposelenov@emcraft.com>
* rename CFG_ macros to CONFIG_SYSJean-Christophe PLAGNIOL-VILLARD2008-10-18-16/+16
| | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* Big white-space cleanup.Wolfgang Denk2008-05-21-11/+11
| | | | | | | | | | | This commit gets rid of a huge amount of silly white-space issues. Especially, all sequences of SPACEs followed by TAB characters get removed (unless they appear in print statements). Also remove all embedded "vim:" and "vi:" statements which hide indentation problems. Signed-off-by: Wolfgang Denk <wd@denx.de>
* ARM: cleanup duplicated exception handlingcodeAndreas Engel2008-02-14-135/+0
| | | | | | Move duplicated exception handling code into lib_arm. Signed-off-by: Andreas Engel <andreas.engel@ericsson.com>
* [PATCH] omap925.c: Remove unused functionsStefan Roese2006-10-28-34/+0
| | | | | Signed-off-by: Ladislav Michl <ladis@linux-mips.org> Signed-off-by: Stefan Roese <sr@denx.de>
* Move "ar" flags to config.mk to allow for silent "make -s"Wolfgang Denk2006-10-09-1/+1
| | | | Based on patch by Mike Frysinger, 20 Jun 2006
* Add support for a saving build objects in a separate directory.Marian Balakowicz2006-09-01-7/+11
| | | | | | | | | | | | | | | | | | | | | Modifications are based on the linux kernel approach and support two use cases: 1) Add O= to the make command line 'make O=/tmp/build all' 2) Set environement variable BUILD_DIR to point to the desired location 'export BUILD_DIR=/tmp/build' 'make' The second approach can also be used with a MAKEALL script 'export BUILD_DIR=/tmp/build' './MAKEALL' Command line 'O=' setting overrides BUILD_DIR environent variable. When none of the above methods is used the local build is performed and the object files are placed in the source directory.
* GCC-4.x fixes: clean up global data pointer initialization for all boards.Wolfgang Denk2006-03-31-2/+4
|
* Update make target for ARM supported boards.Wolfgang Denk2005-10-06-1/+1
| | | | | Use lowlevel_init() instead of platformsetup() [rename]. Patch by Peter Pearse, 06 Oct 2005
* Update ARM Integrator boards:Wolfgang Denk2005-10-04-1/+0
| | | | | | | Correct addessing errors in platform files. Split off common core module data from Integrator header files to include/armcoremodule.h. Patch by Peter Pearse, 04 Oct 2005
* Make sure only supported compiler options are usedWolfgang Denk2005-10-04-2/+10
| | | | | | Import "cc-option" shell function from kernel and use it to get the correct ARM GCC options for individual CPUs Patch by Peter Pearse, 30 Jun 2005
* Patch by Steven Scholz, 4 Apr 2005:wdenk2005-04-04-1/+3
| | | | | | - remove all references to CONFIG_INIT_CRITICAL for ARM based boards - introduce two new configuration options instead: CONFIG_SKIP_LOWLEVEL_INIT and CONFIG_SKIP_RELOCATE_UBOOT
* Fix timer code for ARM systems: make sure that udelay() does notwdenk2005-04-04-5/+9
| | | | reset timers so it's save to use udelay() in timeout code.
* Patch by Steven Scholz, 25 Oct 2004:wdenk2005-04-03-3/+0
| | | | Declare reset_cpu() in include/common.h instead locally
* * Patch by Jon Loeliger, 02 Sep 2004:wdenk2005-01-09-1/+1
| | | | | | | | | | | | | | Reset monitor size back to 256 so environment can be written to flash on MPC85xx ADS and CDS releases. * Patch by Paolo Broggini, 02 Sep 2004: Make BSS clearing on ARM systems more robust * Patch by Yue Hu and Joe, 01 Sep 2004: - add PCI support for ixp425; - add EEPRO100 suppor tfor ixdp425 board. * Fix problem with protected sector detection in driver/cfi_flash.c
* Patch by Markus Pietrek, 04 May 2004:wdenk2004-06-09-1/+0
| | | | | Fix clear_bss code for ARM systems (all except s3c44b0 which doesn't clear BSS at all?)
* * Patch by Christian Hohnstaedt, 23 Apr 2004:wdenk2004-04-25-10/+2
| | | | | | | | | | | | | | | | | | | | | | JFFS2 speed enhancements: - repair header CRC calculation in jffs2_1pass.c - add eraseblock size to the partition information to skip empty eraseblocks if we find more then 4k of free space. - The JFFS2 scanner is now fast enough to remove the spinning wheel so #ifdef-ed out. - add watchdog calls in long running loops * Patch by Philippe Robin, 22 Apr 2004: Fix ethernet configuration for "versatile" board * Patch by Kshitij Gupta, 21 Apr 2004: Remove busy loop and use MPU timer fr usleep() on OMAP1510/1610 boards * Patch by Steven Scholz, 24 Feb 2004: Fix a bug in AT91RM9200 ethernet driver: The MII interface is now initialized before accessing the PHY. * Cleanup PCI ID's
* Add support for Siemens SX1 mobile phone;wdenk2004-03-12-19/+19
| | | | | add support for USB-based console (enable with "setenv stdout usbtty; setenv stdin usbtty")
* * Patch by Peter Ryser, 20 Feb 2004:wdenk2004-02-23-1/+1
| | | | | | | | | | | | | Add support for the Xilinx ML300 platform * Patch by Stephan Linz, 17 Feb 2004: Fix watchdog support for NIOS * Patch by Josh Fryman, 16 Feb 2004: Fix byte-swapping for cfi_flash.c for different bus widths * Patch by Jon Diekema, 14 Jeb 2004: Remove duplicate "FPGA Support" notes from the README file
* Patch by Anders Larsen, 09 Jan 2004:wdenk2004-02-08-17/+27
| | | | | | | | | | ARM memory layout fixes: the abort-stack is now set up in the correct RAM area, and the BSS is zeroed out as it should be. Furthermore, the magic variables 'armboot_end' and 'armboot_end_data' of the linker scripts are replaced by '__bss_start' and '_end', resp., which is a further step to eliminate unnecessary differences between the implementation of the CPU architectures.
* * Patch by Gleb Natapov, 19 Sep 2003:wdenk2003-12-06-36/+33
| | | | | | | | Move most of the timer interrupt related PPC code to ppc_lib/interrupts.c * Patch by Anders Larsen, 17 Sep 2003: Bring ARM memory layout in sync with the documentation: stack and malloc-heap are now located _below_ the U-Boot code
* * Patch by Steven Scholz, 18 Oct 2003:wdenk2003-10-19-23/+46
| | | | | | | | | | | | | | | | | | | | | Fix AT91RM9200 ethernet driver * Patch by Nye Liu, 17 Oct 2003: Fix typo in include/mpc8xx.h * Patch by Richard Woodruff, 16 Oct 03: Fixes for cpu/arm925/interrupt.c - Initialize timestamp & lastdec vars. - fix timestamp overflows. - fix lastdec overflow. - smarter normalization to allow udelay() below 1ms to work. * Patch by Scott McNutt, 16 Oct add networking support for the Altera Nios Development Kit, Cyclone Edition (DK-1C20) * Patch by Jon Diekema, 14 Oct 2003: add hint about doc/README.silent to README file
* Support new configuration of TRAB board with more memorywdenk2003-09-17-3/+0
| | | | Minor cleanup of comments
* * Patch by Scott McNutt, 21 Jul 2003:wdenk2003-07-27-4/+3
| | | | | | | | | | | | | | | | | | | | Add support for LynuxWorks Kernel Downloadable Images (KDIs). Both LynxOS and BlueCat linux KDIs are supported. * Patch by Richard Woodruff, 25 Jul 2003: use more reliable reset for OMAP/925T * Patch by Nye Liu, 25 Jul 2003: fix typo in mpc8xx.h * Patch by Richard Woodruff, 24 Jul 2003: Fixes for cmd_nand.c: - Fixed null dereferece which could result in incorrect ECC values. - Added support for devices with no Ready/Busy signal hooked up. - Added OMAP1510 read/write protect handling. - Fixed nand.h's ECCPOS. A conflict existed with POS5 and badblock for non-JFFS2. - Switched default ECC to be JFFS2.
* * Add support for IceCube board (with MGT5100 and MPC5200 CPUs)wdenk2003-07-16-11/+9
| | | | * Add support for MGT5100 and MPC5200 processors
* Patches by Kshitij, 04 Jul 2003wdenk2003-07-15-0/+1027
- added support for arm925t cpu core - added support for TI OMAP 1510 Innovator Board