summaryrefslogtreecommitdiff
path: root/arch/arm/cpu
Commit message (Collapse)AuthorAgeLines
* rename _end to __bss_end__Po-Yu Chuang2011-03-27-29/+29
| | | | | | | Currently, _end is used for end of BSS section. We want _end to mean end of u-boot image, so we rename _end to __bss_end__ first. Signed-off-by: Po-Yu Chuang <ratbert@faraday-tech.com>
* arm1136 relocation: Fix calculation of board_init_rFabio Estevam2011-02-21-1/+1
| | | | Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
* arm1136: Fix NAND bootFabio Estevam2011-02-21-12/+4
| | | | | | Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Magnus Lilja <lilja.magnus@gmail.com> Tested-by: Magnus Lilja <lilja.magnus@gmail.com>
* ARM: Add Support for Marvell Pantheon Familiy SoCsLei Wen2011-02-21-0/+470
| | | | | | | | | | | | | Pantheon Family processors are highly integrated SoCs based on Sheeva_88SV331x-v5 PJ1 cpu core. Ref: http://www.marvell.com/products/processors/communications/marvell_pantheon_910_920_pb.pdf SoC versions Supported: 1) PANTHEON920 (TD) 2) PANTHEON910 (TTC) Signed-off-by: Lei Wen <leiwen@marvell.com>
* arm relocation: Fix calculation of board_init_rAlexander Stein2011-02-21-1/+1
| | | | Signed-off-by: Alexander Stein <alexander.stein@informatik.tu-chemnitz.de>
* arm: Tegra2: Add basic NVIDIA Tegra2 SoC supportTom Warren2011-02-21-0/+386
| | | | Signed-off-by: Tom Warren <twarren@nvidia.com>
* armv7: add support for S5PC210 SoCMinkyu Kang2011-02-02-0/+292
| | | | | | | S5PC210 is a 32-bit RISC and Cortex-A9 Dual Core based micro-processor. Signed-off-by: Minkyu Kang <mk7.kang@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
* arm926ejs: timer: Replace bss variable by gdrHeiko Schocher2011-02-02-16/+32
| | | | | | | | | | | | | | | | | | | | | Reuse the gd->tbl value for timestamp and add gd->lastinc for lastinc bss values in the arm926ejs timers implementation. The usage of bss values in drivers before initialisation of bss is forbidden. In that special case some data in .rel.dyn gets corrupted. This patch is similiar to the patch Dirk Behme posted for the armv7/omap-common/timer.c and added suggestions from Reinhard Meyer. Tested on the arm926ejs mx27 based magnesium board Tested on the arm926ejs kirkwood based suen3 board Signed-off-by: Heiko Schocher <hs@denx.de> cc: Albert ARIBAUD <albert.aribaud@free.fr> cc: Prafulla Wadaskar <prafulla@marvell.com> cc: Stefano Babic <sbabic@denx.de> cc: Reinhard Meyer <u-boot@emk-elektronik.de>
* remove (double) LED initialization in arm920t start.sJens Scharsig2011-02-02-3/+0
| | | | | | * remove LED initialization in front of relocation and bss init Signed-off-by: Jens Scharsig <js_at_ng@scharsoft.de>
* arm1136: timer: Replace bss variable by gdHeiko Schocher2011-02-02-20/+18
| | | | | | | | | | | | | | | | | Reuse the gd->tbl value for timestamp and add gd->lastinc for lastinc bss values in the arm1136 timer driver for mx31 and omap24xx The usage of bss values in drivers before initialisation of bss is forbidden. In that special case some data in .rel.dyn gets corrupted. This patch is similiar to the patch Dirk Behme posted for the armv7/omap-common/timer.c Tested on the mx31 based qong board Signed-off-by: Heiko Schocher <hs@denx.de> cc: Albert ARIBAUD <albert.aribaud@free.fr> Acked-by: Albert ARIBAUD <albert.aribaud@free.fr>
* ARM: */start.S: code cleanupLiu Hui-R643432011-02-02-28/+0
| | | | | | | Remove the useless code from start.S Signed-off-by: Jason Liu <r64343@freescale.com> Tested-by: Andreas Bießmann <andreas.devel@googlemail.com>
* armv7: s5pc1xx: don't use function pointer for clock functionsMinkyu Kang2011-02-02-17/+23
| | | | | | | | Because of the bss area is cleared after relocation, we've lost pointers. This patch fixed it. Signed-off-by: Minkyu Kang <mk7.kang@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
* DaVinci: Remove incorrect CONFIG optionSandeep Paulraj2011-02-02-6/+0
| | | | | | | | | The option CONFIG_SOC_DM6447 seems to have ended up in the code by mistake. It is not used anywhere and there is no chip called DM6447. Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
* DaVinci DM6467: Fix Build ErrorSandeep Paulraj2011-02-02-0/+16
| | | | | | | This commit fixes build errors on the DM6467 port. Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
* DaVinci DM6467: Added ET1011C (LSI) PHY supportSandeep Paulraj2011-02-02-1/+56
| | | | | | | | | | Added arch/arm/cpu/arm926ejs/davinci/et1011c.c for handling ET1011C gigabit phy. which overrides get_link_speed function from default implementation. This enables output of 125 MHz reference clock on SYS_CLK pin. Signed-off-by: Prakash PM <prakash.pm@ti.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
* MX5: Reuse the gd->tbl value for timestamp and add gd->lastinc for lastinc bssStefano Babic2011-02-02-2/+4
| | | | | | | | | | The usage of bss values in drivers before initialisation of bss is forbidden. In that special case some data in .rel.dyn gets corrupted. This patch is the same as recently applied for arm926js architecture. Signed-off-by: Stefano Babic <sbabic@denx.de> CC: Heiko Schocher <hs@denx.de>
* Add support for MX35 processorStefano Babic2011-02-02-0/+805
| | | | | | | | | | | The patch adds basic support for the Freescale's i.MX35 (arm1136 based) processor. The patch adds also a prototype for the initialization of the FEC(ethernet controller) to netdev.h to avoid warnings. Signed-off-by: Stefano Babic <sbabic@denx.de>
* MX5: Add initial support for MX53 processorLiu Hui-R643432011-02-02-47/+96
| | | | | | | | | | Add initial support for Freescale MX53 processor, - Add the iomux support and the pin definition, - Add the regs definition, clean up some unused def from mx51, - Add the low level init support, make use the freq input of setup_pll macro Signed-off-by: Jason Liu <r64343@freescale.com>
* miiphy: convert to linux/mii.hMike Frysinger2011-01-09-26/+26
| | | | | | | | The include/miiphy.h header duplicates a lot of things from linux/mii.h. So punt all the things that overlap to keep the API simple and to make merging between U-Boot and Linux simpler. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Merge branch 'next' of ../nextWolfgang Denk2010-12-22-0/+476
|\
| * arm: Add Support for Marvell ARMADA 100 Familiy SoCsPrafulla Wadaskar2010-12-16-0/+476
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ARMADA 100 Family processors are highly integrated SoCs based on Sheeva_88SV331x-v5 PJ1 cpu core. Ref: http://www.marvell.com/products/processors/applications/armada_100 SoC versions Supported: 1) ARMADA168/88AP168 (Aspen P) 2) ARMADA166/88AP166 (Aspen M) 3) ARMADA162/88AP162 (Aspen L) Contributors: Eric Miao <eric.y.miao@gmail.com> Lei Wen <leiwen@marvell.com> Mahavir Jain <mjain@marvell.com> Signed-off-by: Mahavir Jain <mjain@marvell.com> Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>
* | Move DECLARE_GLOBAL_DATA_PTR to file scopeJohn Rigby2010-12-21-2/+4
|/ | | | | | | | | | | | | | | It can be optimised out by the compiler otherwise resulting in obscure errors like a board not booting. This has been documented in README since 2006 when these were first fixed up for GCC 4.x. Signed-off-by: John Rigby <john.rigby@linaro.org> Fix some additional places. Signed-off-by: Wolfgang Denk <wd@denx.de> Acked-By: Albert ARIBAUD <albert.aribaud@free.fr>
* ARM: */start.S: use canonical asm syntaxWolfgang Denk2010-12-13-14/+14
| | | | | | Make code build with older tool chains. Signed-off-by: Wolfgang Denk <wd@denx.de>
* omap3: emif|sdrc: use a single global data defineNishanth Menon2010-12-11-4/+2
| | | | | | | | DECLARE_GLOBAL_DATA_PTR declarations in functions are inherently troublesome with various compilers (e.g. gcc 4.5) Signed-off-by: Nishanth Menon <nm@ti.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
* OMAP: Timer: Replace bss variable by gdDirk Behme2010-12-11-11/+11
| | | | | | | | | | | | | | | | | Reuse the gd->tbl value for timestamp and add gd->lastinc for lastinc bss values in the OMAP timer driver. The usage of bss values in drivers before initialisation of bss is forbidden. In that special case some data in .rel.dyn gets corrupted. Signed-off-by: Dirk Behme <dirk.behme@gmail.com> Tested-by: Steve Sakoman <steve.sakoman@linaro.org> Tested-by: John Rigby <john.rigby@linaro.org> Tested-by: Nishanth Menon <nm@ti.com> Acked-by: Nishanth Menon <nm@ti.com> Tested-by: Heiko Schocher <hs@denx.de> Tested-by: Sandeep Paulraj <s-paulraj@ti.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
* 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/+38
|\
| * imx: Get fec mac address from fuseLiu Hui-R643432010-11-21-0/+38
| | | | | | | | | | | | | | 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>
* | armv7: fix relocation skipAndreas Bießmann2010-12-09-2/+2
| | | | | | | | | | | | | | | | | | I doubt the stack_setup() was defective before: we load the current location of _start and compare against destination of relocate_code(). If we are already there we shoud skip the relocation and jump over to clear_bss. Before the clear_bss was also skipped. Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
* | arm: fixloop(): do not use r8 for relocationAndreas Bießmann2010-12-09-42/+42
| | | | | | | | | | | | | | | | | | 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-30/+30
| | | | | | | | | | | | | | | | | | 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-70/+70
| | | | | | | | | | | | | | | | | | 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/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | ARMV7: Vexpress: fix build errorsMatt Waddel2010-12-08-1/+0
| | | | | | | | | | | | | | | | | | This patch fixes build errors in the vexpress system: - Removed sys_proto.h requirement from syslib.c. - Switched vexpress to the default armv7 linker script. - Renamed TEXT_BASE to CONFIG_SYS_TEXT_BASE. Signed-off-by: Matt Waddel <matt.waddel@linaro.org>
* | arm920t/at91/timer: replace bss variables by gdAndreas Bießmann2010-12-07-15/+14
| | | | | | | | | | | | | | | | | | | | Reuse the gd->tbl value for timestamp and add gd->lastinc for lastinc bss values in arm920t/at91/timer driver. The usage of bss values in driver before initialisation of bss is forbidden. In that special case some data in .rel.dyn gets corrupted by the arm920t/at91/timer driver. Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
* | arm920t/at91/reset: board_reset: define weak symbolAndreas Bießmann2010-12-07-3/+5
| | | | | | | | Signed-off-by: Andreas Bießmann <biessmann@corscience.de>
* | 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>
* | Merge branch 'master' of git://git.denx.de/u-boot-samsungWolfgang Denk2010-11-30-9/+9
|\ \
| * | ARMV7: S5P: timer: get the count_value from register when call udelayMinkyu Kang2010-11-30-9/+9
| | | | | | | | | | | | | | | | | | | | | Because of count_value is set to tcnb4 register, should be get from this register when call udelay function. Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* | | AM3517:EMIF4: fix SDRAM size to 256MbVaibhav Hiremath2010-11-29-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With addition of "dram_init_banksize()" function from Heiko,Schocher (commit ID: 561142af20f1fd7b425d9425730014e656defb91), the DRAM size is getting configured wrongly to 512Mb (CS0 & CS1). So fix it to 256Mb. Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
* | | arm1176: bugfix: fix start.S for ELF relocationAlbert Aribaud2010-11-26-34/+13
| | | | | | | | | | | | | | | | | | | | | The start.S file was only half-rewritten for ELF relocations. This bugfix completes the rewrite. Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
* | | arm: add ELF relocation support to rest of cpusAlbert Aribaud2010-11-26-666/+785
| | | | | | | | | | | | | | | | | | | | | | | | bulk addition of ELF relocation support to ARM cpus arm946es, arm720t,arm920t, arm925t, arm_intcm, ixp, lh7a40x, s3c44b0, and sa1100. Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
* | | omap4: board: change global data pointer to file scopeNishanth Menon2010-11-19-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DECLARE_GLOBAL_DATA_PTR is currently defined within the scope of function while it is a global pointer. Change the scope of definition to replicate it's global scope. This seems to help gcc 4.5 optimizations as well. Signed-off-by: Nishanth Menon <nm@ti.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
* | | 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>