summaryrefslogtreecommitdiff
path: root/arch/arm/cpu/arm926ejs
Commit message (Collapse)AuthorAgeLines
* ARM: */start.S: use canonical asm syntaxWolfgang Denk2010-12-13-1/+1
| | | | | | Make code build with older tool chains. Signed-off-by: Wolfgang Denk <wd@denx.de>
* davinci: Rewrite timer.c to use tbl/tbu emulation variables in gdNick Thompson2010-12-11-49/+28
| | | | | | | | | | | | | | | | | This change allows the davinci timer functions to be used before relocation since it avoids using static variables prior to BSS being made available. The code is based on that used in the at91 timers, modified to use a davinci specific hardware timer. It also maintains reset_timer() to allow deprecated timer usage to continue to work (for example, in nand_base.c) Signed-off-by: Nick Thompson <nick.thompson@ge.com> Tested-by: Ben Gardiner <bengardiner@nanometrics.ca> Tested-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com> Tested-by: Sandeep Paulraj <s-paulraj@ti.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
* Merge branch 'master' of git://git.denx.de/u-boot-imxWolfgang Denk2010-12-09-0/+24
|\
| * imx: Get fec mac address from fuseLiu Hui-R643432010-11-21-0/+24
| | | | | | | | | | | | | | The patch is to support getting FEC MAC address from fuse bank. Signed-off-by: Jason Liu <r64343@freescale.com> Tested-by: Stefano Babic <sbabic@denx.de>
* | arm: fixloop(): do not use r8 for relocationAndreas Bießmann2010-12-09-3/+3
| | | | | | | | | | | | | | | | | | r8 is used for global_data and should therefore be left alone! For C code the compiler flag --fixed-r8 does the job, but in assembler we need to be aware of that fact. Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
* | arm: relocate_code(): do not set register uselessAndreas Bießmann2010-12-09-2/+2
| | | | | | | | | | | | | | | | | | In case we are still at relocation target address before relocation we do not need to load the registers needed for relocation. We should instead skip the whole relocation part and jump over to clear_bss immediately. Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
* | arm: copy_loop(): use scratch registerAndreas Bießmann2010-12-09-5/+5
| | | | | | | | | | | | | | | | | | This patch uses r1 as scratch register for copy_loop(). Therefore we do not longer need r7 for the storage of relocate_code()'s 'addr_moni' (the destination address of relocation). Therefore r7 can be used later on for other purposes. Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
* | arm: add 8-byte alignment for ABI compliance before board_init_fHeiko Schocher2010-12-08-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | suggested from Daniel Hobi<daniel.hobi@schmid-telecom.ch> Tested on following boards: arm1136: qong armv7: omap3_beagle arm926ejs: magnesium, tx25 Signed-off-by: Heiko Schocher <hs@denx.de> cc: Daniel Hobi <daniel.hobi@schmid-telecom.ch> cc: Albert ARIBAUD <albert.aribaud@free.fr>
* | AT91: fix EMAC gpio init in at91sam9260_devices.cReinhard Meyer2010-12-07-0/+5
| | | | | | | | | | | | | | The AT91SAM9G20 BOOT ROM apparently initializes PA23 and PA24 to multi drive (open drain). Revert this, if those pins are going to be used for MII. Signed-off-by: Reinhard Meyer <u-boot@emk-elektronik.de>
* | Switch from archive libraries to partial linkingSebastien Carlier2010-11-17-24/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this commit, weak symbols were not overridden by non-weak symbols found in archive libraries when linking with recent versions of binutils. As stated in the System V ABI, "the link editor does not extract archive members to resolve undefined weak symbols". This commit changes all Makefiles to use partial linking (ld -r) instead of creating library archives, which forces all symbols to participate in linking, allowing non-weak symbols to override weak symbols as intended. This approach is also used by Linux, from which the gmake function cmd_link_o_target (defined in config.mk and used in all Makefiles) is inspired. The name of each former library archive is preserved except for extensions which change from ".a" to ".o". This commit updates references accordingly where needed, in particular in some linker scripts. This commit reveals board configurations that exclude some features but include source files that depend these disabled features in the build, resulting in undefined symbols. Known such cases include: - disabling CMD_NET but not CMD_NFS; - enabling CONFIG_OF_LIBFDT but not CONFIG_QE. Signed-off-by: Sebastien Carlier <sebastien.carlier@gmail.com>
* | ARM: fix linker file for newer ld supportAlbert Aribaud2010-11-17-12/+18
|/ | | | | | | | | older ld emitted all ELF relocations in input sections named .rel.dyn, whereas newer ld uses names of the form .rel*. The linker script only collected .rel.dyn input sections. Rewrite to collect all .rel* input sections. Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
* Merge branch 'master' of git://git.denx.de/u-boot-marvellWolfgang Denk2010-10-29-0/+10
|\ | | | | | | | | | | | | Conflicts: include/configs/km_arm.h Signed-off-by: Wolfgang Denk <wd@denx.de>
| * Kirkwood: bugfix: DRAM size initializationTanmay Upadhyay2010-10-28-0/+10
| | | | | | | | | | | | | | | | | | If start of any DRAM bank is greater than total DDR size, remaining DDR banks' start address & size were left un-initialized in dram_init function. This could break other functions who uses array 'gd->bd->bi_dram'. Kirkwood network driver is one example. This also stops Linux kernel from booting. v2 - Set start address also to 0. Without this Linux kernel couldn't boot up Signed-off-by: Tanmay Upadhyay <tanmay.upadhyay@einfochips.com>
* | Merge branch 'master' of git://git.denx.de/u-boot-imxWolfgang Denk2010-10-29-4/+4
|\ \
| * | imx25: Fix resetMatthias Weisser2010-10-28-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | This patch fixes the reset command on imx25. The watchdog registers are 16 bits in size and not 32. This patch also adds the service register codes as constants. Signed-off-by: Matthias Weisser <weisserm@arcor.de>
* | | Drop support for CONFIG_SKIP_RELOCATE_UBOOTWolfgang Denk2010-10-29-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For ARM systems, before ELF relocation was introduced, CONFIG_SKIP_RELOCATE_UBOOT coul be used to prevent *COPYING* the U-Boot image from whereever it was loaded to it's link address (CONFIG_SYS_TEXT_BASE). The name was badly chosen, as no relocation was performed at all, it was just a memcpy(). With ELF relocation, this does not work like that any more, and related boards need to be fixed anyway. So don't keep this relict any longer. Signed-off-by: Wolfgang Denk <wd@denx.de> Tested-by: Heiko Schocher <hs@denx.de> Tested-by: Reinhard Meyer <u-boot@emk-elektronik.de>
* | | Drop support for CONFIG_SYS_ARM_WITHOUT_RELOCWolfgang Denk2010-10-29-111/+0
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When this define was introduced, the idea was to provide a soft migration path for ARM boards to get adapted to the new relocation support. However, other recent changes led to a different implementation (ELF relocation), where this no longer works. By now CONFIG_SYS_ARM_WITHOUT_RELOC does not only not help any more, but it actually hurts because it obfuscates the actual code by sprinkling it with lots of dead and non-working debris. So let's make a clean cut and drop CONFIG_SYS_ARM_WITHOUT_RELOC. Signed-off-by: Wolfgang Denk <wd@denx.de> Tested-by: Heiko Schocher <hs@denx.de> Tested-by: Reinhard Meyer <u-boot@emk-elektronik.de>
* | Coding Style cleanupWolfgang Denk2010-10-27-1/+0
| | | | | | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* | ARM: fix address setup in start.SDarius Augulis2010-10-26-2/+4
| | | | | | | | | | | | | | | | Fix address setup bug for ARM. This bug stops u-boot booting if CONFIG_SKIP_RELOCATE_UBOOT is defined. Signed-off-by: Darius Augulis <augulis.darius@gmail.com>
* | Replace CONFIG_SYS_GBL_DATA_SIZE by auto-generated valueWolfgang Denk2010-10-26-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CONFIG_SYS_GBL_DATA_SIZE has always been just a bad workarond for not being able to use "sizeof(struct global_data)" in assembler files. Recent experience has shown that manual synchronization is not reliable enough. This patch renames CONFIG_SYS_GBL_DATA_SIZE into GENERATED_GBL_DATA_SIZE which gets automatically generated by the asm-offsets tool. In the result, all definitions of this value can be deleted from the board config files. We have to make sure that all files that reference such data include the new <asm-offsets.h> file. No other changes have been done yet, but it is obvious that similar changes / simplifications can be done for other, related macro definitions as well. Signed-off-by: Wolfgang Denk <wd@denx.de> Acked-by: Kumar Gala <galak@kernel.crashing.org>
* | ARM: Use consistent assembler syntaxGray Remlin2010-10-26-5/+5
|/ | | | | Signed-off-by: Gray Remlin <g_remlin@rocketmail.com> Acked-by: Heiko Schocher <hs@denx.de>
* Merge branch 'at91' of git://git.denx.de/u-boot-atmelWolfgang Denk2010-10-19-71/+69
|\
| * AT91 clock/timer: move static data to global_data structReinhard Meyer2010-10-19-71/+69
| | | | | | | | | | | | | | | | clock.c / timer.c used static data and are called before relocation. Move all static variables into global_data structure. Also cleanup timer.c from unused stubs and make it truly use 64 bit tick values. Signed-off-by: Reinhard Meyer <u-boot@emk-elektronik.de>
* | Merge branch 'elf_reloc'Wolfgang Denk2010-10-19-90/+98
|\ \ | |/ |/| | | | | | | | | | | | | | | | | Conflicts: arch/arm/include/asm/config.h board/LaCie/edminiv2/config.mk board/karo/tx25/config.mk board/logicpd/imx27lite/config.mk doc/README.arm-relocation Signed-off-by: Wolfgang Denk <wd@denx.de>
| * arm926ejs, tx25: add support for ELF relocationsHeiko Schocher2010-10-13-4/+4
| | | | | | | | Signed-off-by: Heiko Schocher <hs@denx.de>
| * arm: implement ELF relocationsAlbert Aribaud2010-10-13-91/+99
| | | | | | | | | | | | | | | | ELF relocation tables generated with linker option -pie can be used to fixup code and data in a single loop at relocation, removing the need for manual fixups anywhere else in the code. Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
* | Rename TEXT_BASE into CONFIG_SYS_TEXT_BASEWolfgang Denk2010-10-18-3/+3
|/ | | | | | | | | | | | The change is currently needed to be able to remove the board configuration scripting from the top level Makefile and replace it by a simple, table driven script. Moving this configuration setting into the "CONFIG_*" name space is also desirable because it is needed if we ever should move forward to a Kconfig driven configuration system. Signed-off-by: Wolfgang Denk <wd@denx.de>
* Kirkwood: dram_init is moved to dram.cPrafulla Wadaskar2010-10-13-0/+38
| | | | | | | | | | | | | | For all Kirkwood boards so far dram_init function is duplicated dram_init function is moved to dram.c and relevant code from all board specific files removed If any board needs specific dram init handling than standard one, then, a macro CONFIG_SYS_BOARD_DRAM_INIT should be defined in board config header file and the dram_init function can be put in board specific source file For ex. keymile boards Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>
* orion5x: optimize window size computationAlbert Aribaud2010-10-13-11/+21
| | | | | Signed-off-by: Chris Moore <moore@free.fr> Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
* Kirkwood: print_cpuinfo fixed for valid devid revidPrafulla Wadaskar2010-10-13-11/+23
| | | | | | | | | | | | | Earlier Device Identification register was used to detect the type for SoC, considering 88F6282 support to be added, It is not possible to detect the same using current algorithm. With this patch, device ID is being read using PCIE devid register, also valid chip revision ID will also be read and displayed Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>
* orion5x: fix relocation-incompatible codeAlbert Aribaud2010-10-11-31/+53
| | | | Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
* arm: bugfix: replace ble with blo in start.S filesAlbert Aribaud2010-10-11-5/+5
| | | | | | | | | | | Generalized misuse of ble within relocation and bss initialization loops caused one iteration too many. Instead of ble ('branch if lower or equal'), use blo ('branch if lower'). While we're at it, fix all 'addreee' typos. Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
* at91: Add arch_preboot_os which disables PIT in a faster wayAlexander Stein2010-10-05-0/+16
| | | | | | | | | | | | When disabled the PIT runs until it reaches the CPIV value. The Linux PIT driver stops the PIT and waits until it stopped. This can take over 100ms. Simply stopping in u-boot isn't sufficient as the PIT will still be running when Linux is waiting until it stopped. So, we stop it in u-boot by setting the compare value to a value slightly greater than the current running counter to make the PIT stopped in short time. Signed-off-by: Alexander Stein <alexander.stein@systec-electronic.com>
* AT91: convert cpu.c to struct SoC accessReinhard Meyer2010-10-05-20/+12
| | | | Signed-off-by: Reinhard Meyer <u-boot@emk-elektronik.de>
* ARM: implement relocation for ARM926Heiko Schocher2010-09-19-4/+206
| | | | | | | | | | | | | | | | | | | | | Change the implementation for arm926 to relocate the code to an arbitrary address in RAM. Adapt the TX25 (i.MX25), magnesium board to test the changes. On the tx25 board TEXT_BASE is set to the final relocation address to prevent one more copying of u-boot code when relocating. More info see: doc/README.arm-relocation da850 board: Tested-by: Ben Gardiner <bengardiner@nanometrics.ca> Portions of this work were supported by funding from the CE Linux Forum. Signed-off-by: Heiko Schocher <hs@denx.de> Cc: Ben Gardiner <bengardiner@nanometrics.ca>
* Prepare v2010.09-rc1v2010.09-rc1Wolfgang Denk2010-09-10-2/+0
| | | | | | Coding style cleanup. Signed-off-by: Wolfgang Denk <wd@denx.de>
* Merge branch 'at91' of git://git.denx.de/u-boot-atmelWolfgang Denk2010-09-08-24/+330
|\
| * AT91: add option to enable pullups in at91sam9260_devices.cReinhard Meyer2010-09-03-10/+25
| | | | | | | | Signed-off-by: Reinhard Meyer <u-boot@emk-elektronik.de>
| * AT91: reset.c: fix comments, add optionReinhard Meyer2010-09-03-10/+11
| | | | | | | | Signed-off-by: Reinhard Meyer <u-boot@emk-elektronik.de>
| * AT91SAM9XE: add embedded flash supportReinhard Meyer2010-09-03-0/+272
| | | | | | | | Signed-off-by: Reinhard Meyer <u-boot@emk-elektronik.de>
| * AT91: MCI: add SD/MMC driver using mmc frameworkReinhard Meyer2010-09-03-0/+21
| | | | | | | | Signed-off-by: Reinhard Meyer <u-boot@emk-elektronik.de>
| * AT91 Fix: return value of get_tbclkJens Scharsig2010-08-31-4/+1
| | | | | | | | | | | | | | * Fix: return value of get_tbclk * this fixes issue with prematurely restart/retry, if BOOT_RETRY_TIMEOUT is used Signed-off-by: Jens Scharsig <js_at_ng@scharsoft.de>
* | Kirkwood: bugfix: window size (mis)calculationPrafulla Wadaskar2010-08-26-1/+1
| | | | | | | | | | | | | | | | Fixed kw_winctrl_calcsize() off-by-1 bug which caused mapping windows size to be cut by half. This corrected all windows address configuration Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>
* | Orion5x: bugfix: window size (mis)calculationAlbert Aribaud2010-08-26-1/+1
| | | | | | | | | | | | | | | | | | Fix orion5x_winctrl_calcsize() off-by-1 bug which caused mapping windows to be cut by half. This afected all windows including NOR flash (causing half the flash to be unaccessible) but DRAM was and still is fine as its size is determined otherwise. Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
* | ARM: Add support for MB86R0x SoCsMatthias Weisser2010-08-10-0/+272
|/ | | | Signed-off-by: Matthias Weisser <weisserm@arcor.de>
* orion5x: allow overriding default mappings windowsAlbert Aribaud2010-08-10-20/+20
| | | | | | | | | | Turn all ORION5X_DEF{ADR,SZ}_xxx macros into ORION5X_{ADR,SZ}_xxx and allow defining them from board code to override defaults. This is particularly useful for defining board-specific FLASH address and size in board header file rather than having to tweak orion5x code. Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
* mvgbe: add support for orion5x GbE controllerAlbert Aribaud2010-07-12-0/+8
| | | | | | | | | Add definitions and initialization in orion5x for mvgbe. Add orion5x in mvgbe SoC includes. Signed-off-by: Albert Aribaud <albert.aribaud@free.fr> Acked-by: Prafulla Wadaskar <prafulla@marvell.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* mvgbe: support SoCs other than kirkwoodAlbert Aribaud2010-07-12-2/+2
| | | | | | | | | Rename all references to kirkwood in mvgbe symbols throughout the whole codebase. Signed-off-by: Albert Aribaud <albert.aribaud@free.fr> Acked-by: Prafulla Wadaskar <prafulla@marvell.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* Prepare v2010.06-rc3v2010.06-rc3Wolfgang Denk2010-06-23-70/+70
| | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* Merge branch 'master' of /home/wd/git/u-boot/custodiansWolfgang Denk2010-06-22-4/+4
|\