summaryrefslogtreecommitdiff
path: root/arch/arm/cpu
Commit message (Collapse)AuthorAgeLines
* Switch from archive libraries to partial linkingSebastien Carlier2010-11-17-90/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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-121/+105
| | | | | | | | | 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>
* armv7, beagle: Second SDRAM bank don;t workHeiko Schocher2010-11-04-0/+7
| | | | | | | | | | | | | | | since commit 3667cbeed5e3c4067e624e52a916b1ebb02c8f05 on beagle board the second sdram bank didn;t longer work. Since this patch sdram settings just get copied from bank a, but CMD_NOP, CMD_PRECHARGE, CMD_AUTOREFRESH are not executed and after that mr register is also not updated. This patch adds this for the bank b. Signed-off-by: Heiko Schocher <hs@denx.de> cc: Steve Sakoman <steve@sakoman.com> cc: Sandeep Paulraj <s-paulraj@ti.com> cc: Wolfgang Denk <wd@denx.de> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
* 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-78/+5
|\ \
| * | MX51: remove warning in clock.cStefano Babic2010-10-28-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch removes the warning: clock.c:291: warning: initialization from incompatible pointer type after constification of args[] Signed-off-by: Stefano Babic <sbabic@denx.de>
| * | 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>
| * | MX5:use common u-boot.lds of cpu layerJason Liu2010-10-28-73/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove u-boot.lds from mx5 and use the common u-boot.lds of cpu layer. This patch also fix the building errors: arch/arm/cpu/armv7/start.o: In function `_rel_dyn_start_ofs': arch/arm/cpu/armv7/start.S:283: undefined reference to `__rel_dyn_start' arch/arm/cpu/armv7/start.o: In function `_rel_dyn_end_ofs': arch/arm/cpu/armv7/start.S:283: undefined reference to `__rel_dyn_end' arch/arm/cpu/armv7/start.o: In function `_dynsym_start_ofs': arch/arm/cpu/armv7/start.S:283: undefined reference to `__dynsym_start' Signed-off-by: Jason Liu <r64343@freescale.com>
* | | Merge branch 'master' of git://git.denx.de/u-boot-samsungWolfgang Denk2010-10-29-27/+48
|\ \ \
| * | | Add generic support for samsung s3c2440C Nauman2010-10-28-27/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds generic support for the Samsung s3c2440 processor. Global s3c24x0 changes to struct members converting from upper case to lower case. Signed-off-by: Craig Nauman <cnauman@diagraph.com> Cc: kevin.morfitt@fearnside-systems.co.uk Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* | | | Merge branch 'for-wd-master' of git://git.denx.de/u-boot-pxaWolfgang Denk2010-10-29-1/+0
|\ \ \ \
| * | | | arm/pxa: remove unused arch-pxa/macro.hMikhail Kshevetskiy2010-10-27-1/+0
| | |/ / | |/| | | | | | | | | | Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@gmail.com>
* | | | Drop support for CONFIG_SKIP_RELOCATE_UBOOTWolfgang Denk2010-10-29-38/+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-1673/+8
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-2/+1
| | | | | | | | | | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* | | ARM: use the same branch insn on all architecturesWolfgang Denk2010-10-26-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For the "fixloop" implementation in start.S a number of different instructions was used. Unify code so all architectures use "blo" here because it is more robust in case of incorrect alignments. Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Albert ARIBAUD <albert.aribaud@free.fr> Cc: Minkyu Kang <mk7.kang@samsung.com> Cc: Sandeep Paulraj <s-paulraj@ti.com> Cc: Prafulla Wadaskar <prafulla@marvell.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Marek Vasut <marek.vasut@gmail.com> Acked-by: Heiko Schocher <hs@denx.de>
* | | arm1176: fix relocationDarius Augulis2010-10-26-61/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix relocation code for arm1176, do it like other ARM CPU's are doing. Tested only with CONFIG_SKIP_RELOCATE_UBOOT defined and using nand_spl (booting from nand). Test done on s3c6410 based board (not yet supported in main line). Signed-off-by: Darius Augulis <augulis.darius@gmail.com>
* | | ARM: fix address setup in start.SDarius Augulis2010-10-26-8/+16
| | | | | | | | | | | | | | | | | | | | | | | | 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-53/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-15/+15
| | | | | | | | | | | | | | | Signed-off-by: Gray Remlin <g_remlin@rocketmail.com> Acked-by: Heiko Schocher <hs@denx.de>
* | | PXA: Use pxa-regs.h register definitions in start.SMarek Vasut2010-10-22-12/+8
| | | | | | | | | | | | Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
* | | PXA: Implement ELF relocationMarek Vasut2010-10-22-76/+72
| |/ |/| | | | | | | | | Based on patch by: Albert Aribaud <albert.aribaud@free.fr> Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
* | MX31: Removed warnings for iomux functionStefano Babic2010-10-20-4/+3
| | | | | | | | | | | | Removed warnings generated in the mx31_set_pad() function. Signed-off-by: Stefano Babic <sbabic@denx.de>
* | PXA: Fix reloc, Push lowlevel init into C codeMarek Vasut2010-10-19-214/+359
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Firstly, this fixes relocation issues. I had to use part of Dcache as RAM for a while. I also moved around the lowlevel init code. It turned out so most of the lowlevel init code ended in cpu.c (and eventually was rewritten into C). This will also allow easier operation with FDT, multi-CPU-model support etc. in later releases. NOTE: This breaks most of the PXA boards (actually, the reloc stuff did already, this only finishes the doom). Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
* | PXA: pxafb: Marvell Littleton LCD definitionMarek Vasut2010-10-19-0/+33
| | | | | | | | Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
* | PXA: pxafb: Add support for Sharp LQ038J7DH53Marek Vasut2010-10-19-0/+34
| | | | | | | | | | | | This LCD panel is found in Palm LifeDrive handheld Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
* | PXA: pxafb: Add ACX517AKN supportMarek Vasut2010-10-19-0/+34
| | | | | | | | | | | | ACX517AKN LCD panel is found in Palm Tungsten|C Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
* | PXA: pxa-regs.h cleanupMarek Vasut2010-10-19-106/+123
| | | | | | | | Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
* | PXA: pxafb: Fix indent problemsMarek Vasut2010-10-19-100/+100
| | | | | | | | | | | | Also change the initializer style Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
* | 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-221/+291
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | arm1136, qong: add support for ELF relocationsHeiko Schocher2010-10-13-78/+108
| | | | | | | | | | | | | | | | | | Signed-off-by: Wolfgang Denk <wd@denx.de> Signed-off-by: Heiko Schocher <hs@denx.de> cc: Albert ARIBAUD <albert.aribaud@free.fr>
| * | armv7, beagle: add support for ELF relocationsHeiko Schocher2010-10-13-53/+85
| | | | | | | | | | | | Signed-off-by: Heiko Schocher <hs@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>
* | | Merge branch 'master' of git://git.denx.de/u-boot-imxWolfgang Denk2010-10-19-51/+43
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | Conflicts: board/logicpd/imx31_litekit/config.mk boards.cfg Signed-off-by: Wolfgang Denk <wd@denx.de>
| * | MX5: Remove dead code with ENABLE_IMPRECISE_ABORTJason Liu2010-10-19-14/+0
| | | | | | | | | | | | | | | | | | | | | This code section is dead due to we never define ENABLE_IMPRECISE_ABORT for MX5 Signed-off-by: Jason Liu <r64343@freescale.com>
| * | MX5: rename mx51 to mx5Jason Liu2010-10-18-37/+43
| | | | | | | | | | | | | | | | | | | | | Rename mx51 to mx5 in order to support more mx51 like-style SOCs such as MX53 and the followings. Signed-off-by: Jason Liu <r64343@freescale.com>
* | | Rename TEXT_BASE into CONFIG_SYS_TEXT_BASEWolfgang Denk2010-10-18-26/+26
|/ / | | | | | | | | | | | | | | | | | | | | | | 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>
* | ARMV7: OMAP4: Implement relocation for Panda and OMAP4430SDPSteve Sakoman2010-10-17-0/+5
| | | | | | | | | | | | | | This patch fixes the build breakage introduced by the recent relocation changes for ARMV7 Signed-off-by: Steve Sakoman <steve@sakoman.com>
* | ARMV7: OMAP3: Fix bug in get_sdr_cs_offset()Steve Sakoman2010-10-17-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes a typo in the routine to calculate the cs offset based upon the contents of the SDRC cs_cfg register. This function mistakenly shifts the CS1STARTLOW field 17 bits right instead of 17 bits left. This hasn't been an issue to date because all OMAP3 boards currently are configured to have zeros in this field. Reported-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Steve Sakoman <steve.sakoman@linaro.org>
* | Merge branch 'master' of git://git.denx.de/u-boot-imxWolfgang Denk2010-10-17-0/+17
|\ \ | |/ |/|
| * MX31: add support for setting pin padsStefano Babic2010-10-13-0/+17
| | | | | | | | | | | | | | The patch adds a utility function and defines to set the pad as it is done in linux. Signed-off-by: Stefano Babic <sbabic@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-68/+67
| | | | | | | | | | | | | | | | | | | | | | 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>