summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeLines
* arm: implement ELF relocationsAlbert Aribaud2010-10-13-290/+156
| | | | | | | | 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>
* board/armltd/integrator/split_by_variant.sh: fix 'echo -n'Andreas Bießmann2010-10-13-72/+57
| | | | | | | | | | | | | | This patch fixes an error when running MAKEALL for ARM9. On OS X /bin/sh uses builtin echo which does not utilise '-n' switch. GNU manual for builtins recomend to use here-document style to solve this portability issue. This patch removes the usage of 'echo -n' and replace by here-document style or a oneline echo command. Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com> CC: Peter Pearse <peter.pearse@arm.com>
* ARMV7: Fixed baudrate setting in pl01x driverMatt Waddel2010-10-13-55/+38
| | | | | | | | | The pl01x serial driver was lacking the code to switch baudrates from the command line. Fixed by simply saving the new baudrate and calling serial_init() again. Also fixed CamelCase variables, I/O accessors and comment style. Signed-off-by: Matt Waddel <matt.waddel@linaro.org>
* ARMV7: Versatile Express Coretile CortexA9x4 supportMatt Waddel2010-10-13-0/+734
| | | | | | | | | | | | | | | Adds support for the ARM quad-core Cortex-A9 processor This system includes a motherboard(Versatile Express), daughterboard (Coretile), and SOC(Cortex-A9 quad core). The serial port, ethernet, and flash systems work with these additions. The naming convention is: SOC -> CortexA9 quad core = ca9x4 daughterboard -> Coretile = ct motherboard -> Versatile Express = vxp This gives ca9x4_ct_vxp.c as the board support file. Signed-off-by: Matt Waddel <matt.waddel@linaro.org>
* arch/arm/include/asm/sizes.h: cleanupsAndreas Bießmann2010-10-13-209/+6
| | | | | | | | | Merge several sizes.h in asm/arch subdirectories into a single asm/sizes.h file. Fixup usage of asm/arch/sizes.h in some files to use the merged file. Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
* Merge branch 'master' of git://git.denx.de/u-boot-marvellWolfgang Denk2010-10-13-0/+0
|\
| * Kirkwood: Changes specific to ARM relocation supportPrafulla Wadaskar2010-10-12-0/+5
| | | | | | | | | | | | | | All Kirkwood based boards are supported for this new implementation ref: docs/README.arm-relocation Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>
| * kirkwood: added common config file mv-common.hPrafulla Wadaskar2010-10-12-533/+266
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is observed that, in most of the board configs the code is being duplicated, also for any common change all board files needs update This issue was under discussion from long on mailing list and we converge on introducing common config file. With this patch- 1. Total Kirkwood specific configuration code is reduced by 210 lines 2. All common configuration can be shared by multiple boards 3. Easy to manage common updates like ARM relocation changes mv-common.h file is added to include/configs/ It contains all common configuration supported for all Kirkwood boards The respective board configs are updated for its usage Build tested for guruplug, mv88f6281gtw_ge, openrd_base, rd6281a and sheevaplug Binary execution tested for sheevaplug Todo: 1. Other custom Kirkwood boards to be synced 2. The support to be extended for Orion5X based boards Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>
| * Kirkwood: dram_init is moved to dram.cPrafulla Wadaskar2010-10-12-55/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-12-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-12-11/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * mvsata_ide: adjust port init sequenceAlbert Aribaud2010-10-12-9/+33
| | | | | | | | | | | | | | | | | | | | | | mvsata_ide_initialize_port(): adjust init sequence (SStatus should be checked only after all writes to SControl) and return success/failure to ide_preinit(). Also, as some tests showed init durations in the hundreds of us, raise the time-out to 01 ms to be on the safe side. Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
* | ARM: relocation: don't undef CONFIG_SYS_ARM_WITHOUT_RELOCBen Gardiner2010-10-13-5/+0
| | | | | | | | | | | | | | | | | | There were some #undef's of CONFIG_SYS_ARM_WITHOUT_RELOC added to a few board configs as part of the arm relocation series; but these are not needed now as we do not #undef what is not #defined in the first place. Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca> CC: Heiko Schocher <hs@denx.de>
* | ARM: relocation: fix typo in commentHeiko Schocher2010-10-13-5/+5
| | | | | | | | Signed-off-by: Heiko Schocher <hs@denx.de>
* | Kirkwood: Changes specific to ARM relocation supportPrafulla Wadaskar2010-10-13-0/+5
| | | | | | | | | | | | | | All Kirkwood based boards are supported for this new implementation ref: docs/README.arm-relocation Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>
* | kirkwood: added common config file mv-common.hPrafulla Wadaskar2010-10-13-533/+266
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is observed that, in most of the board configs the code is being duplicated, also for any common change all board files needs update This issue was under discussion from long on mailing list and we converge on introducing common config file. With this patch- 1. Total Kirkwood specific configuration code is reduced by 210 lines 2. All common configuration can be shared by multiple boards 3. Easy to manage common updates like ARM relocation changes mv-common.h file is added to include/configs/ It contains all common configuration supported for all Kirkwood boards The respective board configs are updated for its usage Build tested for guruplug, mv88f6281gtw_ge, openrd_base, rd6281a and sheevaplug Binary execution tested for sheevaplug Todo: 1. Other custom Kirkwood boards to be synced 2. The support to be extended for Orion5X based boards Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com>
* | Kirkwood: dram_init is moved to dram.cPrafulla Wadaskar2010-10-13-55/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | mvsata_ide: adjust port init sequenceAlbert Aribaud2010-10-13-9/+33
|/ | | | | | | | | | | mvsata_ide_initialize_port(): adjust init sequence (SStatus should be checked only after all writes to SControl) and return success/failure to ide_preinit(). Also, as some tests showed init durations in the hundreds of us, raise the time-out to 01 ms to be on the safe side. Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
* orion5x: fix relocation-incompatible codeAlbert Aribaud2010-10-11-31/+54
| | | | 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>
* Merge branch 'at91' of git://git.denx.de/u-boot-atmelWolfgang Denk2010-10-11-74/+90
|\
| * 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>
| * atmel_usart: change register access to C structureAndreas Bießmann2010-10-05-46/+46
| | | | | | | | | | | | | | This patch introduces C structure definition for register footprint of atmel's usart. Signed-off-by: Andreas Bießmann <biessmann@corscience.de>
| * at91_emac.h: fix typo in register definitionAndreas Bießmann2010-10-05-1/+1
| | | | | | | | | | Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com> Acked-by: Jens Scharsig <js_at_ng@scharsoft.de>
| * AT91: convert cpu.c to struct SoC accessReinhard Meyer2010-10-05-20/+12
| | | | | | | | Signed-off-by: Reinhard Meyer <u-boot@emk-elektronik.de>
| * at91_emac.c: poll for IDLE when writing PHYAndreas Bießmann2010-10-05-2/+14
| | | | | | | | | | | | | | This patch replaces the unnecessary waiting in at91emac_read() and at91emac_write() by checking the IDLE flag. Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
| * at91_emac.c: fix 'Warning: eth device name has a space!'Andreas Bießmann2010-10-05-5/+1
| | | | | | | | | | | | | | This patch also removes conditional nameing of at91_emac driver whether it's connection to PHY is RMII or MII. Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
* | Merge branch 'master' of git://git.denx.de/u-boot-imxWolfgang Denk2010-10-11-153/+1510
|\ \
| * | MX51: Support for TTECH vision2 boardStefano Babic2010-10-07-0/+1212
| | | | | | | | | | | | | | | | | | | | | | | | The patch adds support for TTECH vision2 board. The board has 512MB RAM, SDHC slot and 4MB SPI device from StMicron. Signed-off-by: Stefano Babic <sbabic@denx.de>
| * | MX51: Register definitions cannot be included in board config fileStefano Babic2010-09-30-4/+6
| | | | | | | | | | | | | | | | | | | | | Due to wrong dependencies, it is not possible to include imx_regs.h inside the board configuration file. Signed-off-by: Stefano Babic <sbabic@denx.de>
| * | MXC: Fix byte-ordering in SPI driver for i.MX31/i.MX51Stefano Babic2010-09-30-41/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The actual SPI driver for i.MX31 and i.MX51 controller use a wrong byte ordering, because it is supposed to work only with Freescale's devices, as the Power Controllers (PMIC). The driver is not suitable for general purposes, because the buffers passed to spi_xfer must be 32-bit aligned, as it is used mainly to send integer to PMIC devices. The patch drops any kind of limitation and makes the driver useful with devices controlled sending commands composed by single bytes (or by a odd number of bytes), such as spi flash, sensor, etc. Because the byte ordering is changed, any current driver using this controller must be adapted, too. Signed-off-by: Stefano Babic <sbabic@denx.de>
| * | MXC: Correct SPI_CPOL setting in SPI driverStefano Babic2010-09-30-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The handling of the SPI_CPOL bit inside the SPI driver was wrong. As reported by the manual, the meaning of the SSPOL inside the configuration register is the same as reported by SPI specification (0 if low in idle, 1 is high on idle). The driver inverts this logic. Because this patch sets the logic as specified, it is required to clear the CPOL bit in the configuration file to adapt to the correct logic. Signed-off-by: Stefano Babic <sbabic@denx.de> Signed-off-by: David Jander <david.jander@protonic.nl>
| * | MX51: Drop unused header file for mx51evkStefano Babic2010-09-29-52/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | As stated in 272017853339f5b9685f9488bdaf5405812d12a4, the mx51evk has not CPLD and all references must be removed. This patch drop a .h file that still remains in board directory. Signed-off-by: Stefano Babic <sbabic@denx.de>
| * | MXC: Add watchdog support to serial driverStefano Babic2010-09-29-2/+5
| | | | | | | | | | | | | | | | | | | | | Calls WATCHDOG_RESET() inside serial driver for boards enabling watchdog. Signed-off-by: Stefano Babic <sbabic@denx.de>
| * | MX51: add structure to access System Reset ControllerStefano Babic2010-09-29-0/+10
| | | | | | | | | | | | Signed-off-by: Stefano Babic <sbabic@denx.de>
| * | MX51: Added pins definition to set up padsStefano Babic2010-09-29-0/+44
| | | | | | | | | | | | | | | | | | | | | Add pins definitions to set up RAM pads. Pins have only a pad, there is no entry in the multiplexer. Signed-off-by: Stefano Babic <sbabic@denx.de>
| * | ARM: Use syslib functions for all CORTEXA8Stefano Babic2010-09-29-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | The OMAP3 cpu directory contains a syslib file with some utilities that can be shared by all targets using arm cortexa8 processors, not only OMAP. Signed-off-by: Stefano Babic <sbabic@denx.de>
| * | Use common function to set GPIOs for MX3 and MX5Stefano Babic2010-09-29-67/+127
| | | | | | | | | | | | | | | | | | | | | | | | | | | The patch adds support for setting gpios to the MX51 processor and change name to the corresponding functions for MX31. In this way, it is possible to get rid of nasty #ifdef switches related to the processor type. Signed-off-by: Stefano Babic <sbabic@denx.de>
* | | Merge branch 'master' of git://git.denx.de/u-boot-x86Wolfgang Denk2010-10-11-702/+668
|\ \ \
| * | | x86: Implement fully relocatable imageGraeme Russ2010-10-07-24/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | u-boot.bin can be loaded at any 4-byte aligned memory location and directly 'jumped' to using the 'go' command using the load address as the start address. Doing so performs a 'warm boot' which skips memory initialisation and other low-level initialisations, relocates U-Boot to upper memory and starts U-Boot in RAM as per normal 'cold boot'
| * | | x86: Use loops instead of memcpy/memset in board_init_fGraeme Russ2010-10-07-17/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Provides a small speed increase and prepares for fully relocatable image. Downside is the TEXT_BASE, bss, load address etc must ALL be aligned on a a 4-byte boundary which is not such a terrible restriction as everything is already 4-byte aligned anyway
| * | | x86: Rearrange linker scriptGraeme Russ2010-10-07-23/+21
| | | | | | | | | | | | | | | | Tidy up the linker script and discard some sections to save space
| * | | x86: Rename linker script symbolsGraeme Russ2010-10-07-36/+33
| | | | | | | | | | | | | | | | Create more generic names for the symbols exported from the linker script
| * | | x86: Set cold/warm boot flagGraeme Russ2010-10-07-16/+13
| | | |
| * | | x86: Place global data below stack before entering CGraeme Russ2010-10-07-37/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | By reserving space for the Global Data immediately below the stack during assembly level initialisation, the C declaration of the static global data can be removed, along with the 'RAM Bootstrap' function. This results in cleaner code, and the ability to pass boot-up flags from assembler into C
| * | | x86: Dont clobber %eax after getting memory sizeGraeme Russ2010-10-07-3/+2
| | | | | | | | | | | | | | | | By using another register, reduce code size by one instruction
| * | | x86: Don't clobber %ebxGraeme Russ2010-10-07-7/+12
| | | | | | | | | | | | | | | | %ebx will hold low-level boot flags and must be preserved
| * | | x86: Remove usage of %ebp as a return pointerGraeme Russ2010-10-07-13/+12
| | | | | | | | | | | | | | | | Using %ebp as a return pointer prevents creating 'load anywhere' images