summaryrefslogtreecommitdiff
path: root/arch
Commit message (Collapse)AuthorAgeLines
* ARM: add flat device tree supportJohn Rigby2010-10-18-16/+123
| | | | | | | | | Based on other architectures already supported. Tested on OMAP3 Beagle board and another unnamed ARM platform. Signed-off-by: John Rigby <john.rigby@linaro.org> Tested-by: Rob Herring <rob.herring@smooth-stone.com> Acked-by: Wolfgang Denk <wd@denx.de>
* boot: change some arch ifdefs to feature ifdefsJohn Rigby2010-10-18-0/+7
| | | | | | | | | | | | | | | | | The routines boot_ramdisk_high, boot_get_cmdline and boot_get_kbd are currently enabled by various combinations of CONFIG_M68K, CONFIG_POWERPC and CONFIG_SPARC. Use CONFIG_SYS_BOOT_<FEATURE> defines instead. CONFIG_SYS_BOOT_RAMDISK_HIGH CONFIG_SYS_BOOT_GET_CMDLINE CONFIG_SYS_BOOT_GET_KBD Define these as appropriate in arch/include/asm/config.h files. Signed-off-by: John Rigby <john.rigby@linaro.org> Acked-by: Wolfgang Denk <wd@denx.de>
* FDT: only call boot_get_fdt from generic codeJohn Rigby2010-10-18-14/+8
| | | | | | | | | | | | | | | | | | | | | | | | All arches except nios2 and microblaze call boot_get_fdt from bootm_start in common/cmd_bootm.c. Having nios2 and microblaze do so as well removes code from their respective do_bootm_linux routines and allows removal of a nasty ifdef from bootm_start. In the case where boot_get_fdt returns an error bootm_start returns and the platform specific do_bootm_linux routines will never get called. Also only check argv[3] for an fdt addr if argc > 3 first. This is already the case for nios2. Signed-off-by: John Rigby <john.rigby@linaro.org> CC: Scott McNutt <smcnutt@psyent.com> CC: Michal Simek <monstr@monstr.eu> CC: Thomas Chou <thomas@wytron.com.tw> Acked-by: Wolfgang Denk <wd@denx.de> Acked-by: Michal Simek <monstr@monstr.eu> Tested-by: Thomas Chou <thomas@wytron.com.tw>
* powerpc: do not fixup NULL ptrsJoakim Tjernlund2010-10-18-12/+36
| | | | | | | | | | | | | | The fixup routine must not fixup NULL pointers. Problem can be seen by char *testfun(void) __attribute__((weak)); char *(*myfun)(void) = testfun; Then add printf("myfun:%p, &myfun:%p\n", myfun, &myfun); before relocation and after relocation. myfun should be NULL in both cases but it is not. Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
* powerpc: Cleanup BOOTFLAG_* referencesPeter Tyser2010-10-18-3/+11
| | | | | | | | | | | | Now that warm booting is not supported, there isn't a need for the BOOTFLAG_COLD and BOOTFLAG_WARM defines, so remove them. Note that this change makes the board info bd_bootflags field useless. It will always be set to 0, but we leave it around so that we don't break the board info structure that some OSes are expecting to be passed from U-Boot. Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
* MPC5121: Add USB EHCI supportDamien Dusha2010-10-18-0/+4
| | | | | | | | | | Signed-off-by: Francesco Rendine <francesco.rendine@valueteam.com> Signed-off-by: Damien Dusha <d.dusha@gmail.com> Signed-off-by: Anatolij Gustschin <agust@denx.de> Coding style cleanup; slight file restructuring. Signed-off-by: Wolfgang Denk <wd@denx.de> Acked-by: Remy Bohmer <linux@bohmer.net>
* Rename TEXT_BASE into CONFIG_SYS_TEXT_BASEWolfgang Denk2010-10-18-75/+77
| | | | | | | | | | | | 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>
* Merge branch 'master' of git://git.denx.de/u-boot-armWolfgang Denk2010-10-17-6/+502
|\
| * OMAP3: SDRC: Introduce Numonyx DDR typeEnric Balletbo i Serra2010-10-17-0/+43
| | | | | | | | | | | | | | | | | | | | Introduce Numonyx DDR timings and provide CONFIG_OMAP3_NUMONYX_DDR config options to allow for platform files to setup their timings. Signed-off-by: Enric Balletbo i Serra <eballetbo@gmail.com> Acked-by: Steve Sakoman <steve.sakoman@linaro.org> Tested-by: Steve Sakoman <steve.sakoman@linaro.org> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
| * 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>
| * ARMV7: OMAP: Add new mmc driver compatible with CONFIG_GENERIC_MMCSukumar Ghorai2010-10-17-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | OMAP boards currently use a legacy mmc driver. This patch adds a new mmc driver which will work with the generic mmc driver in u-boot. This new driver will work with both OMAP3 and OMAP4 boards. This patch does not remove the old driver. It should remain in the tree until all boards that use it switch to the new driver. Signed-off-by: Sukumar Ghorai <s-ghorai@ti.com> Tested-by: Steve Sakoman <steve@sakoman.com>
| * Merge branch 'master' of git://git.denx.de/u-boot-imxWolfgang Denk2010-10-17-0/+428
| |\
| | * MX31: add support for setting pin padsStefano Babic2010-10-13-0/+421
| | | | | | | | | | | | | | | | | | | | | 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>
| | * MX31: Adding missing iomux pin to MX.31 registersStefano Babic2010-10-13-0/+7
| | | | | | | | | | | | Signed-off-by: Stefano Babic <sbabic@denx.de>
| * | env_mmc: Fix crashing bug encountered after enabling ARM relocationSteve Sakoman2010-10-13-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The crash was occuring in env_relocate because it was being called prior to mmc_initialize. This patch moves the MMC initialization earlier in the init process. This patch also cleans up the env_relocate_spec code in env_mmc.c Signed-off-by: Steve Sakoman <steve.sakoman@linaro.org> Acked-by: Stefano Babic <sbabic@denx.de>
* | | Blackfin: workaround anomaly 05000440Mike Frysinger2010-10-14-1/+5
| | | | | | | | | | | | | | | | | | | | | We cannot rely on the syscontrol rom func to program PLL_DIV with anomaly 05000440 is in effect, so manually program the MMR when necessary. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* | | Blackfin: update anomaly lists to latest sheetsMike Frysinger2010-10-14-10/+35
| | | | | | | | | | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* | | ppc: Conditionally compile bat_rw.cPeter Tyser2010-10-13-1/+1
|/ / | | | | | | | | | | | | Only a few PPC boards actually use the common BAT manipulation functions, so only compile it for them. Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
* | Merge branch 'master' of git://git.denx.de/u-boot-armWolfgang Denk2010-10-13-383/+493
|\ \
| * | ARMV7: Versatile Express Coretile CortexA9x4 supportMatt Waddel2010-10-13-0/+175
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-206/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | 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/+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>
| * | 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-21/+29
| |\ \
| | * | 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_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>
| * | | Merge branch 'master' of git://git.denx.de/u-boot-imxWolfgang Denk2010-10-11-34/+80
| |\ \ \ | | | |/ | | |/|
| | * | 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>
| | * | 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-28/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | powerpc: Remove warm reset entry pointPeter Tyser2010-10-12-137/+25
| | | | | | | | | | | | | | | | | | | | | | | | No boards utilize the warm reset entry point, so remove it. Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
* | | | powerpc: Zero out board info struct on bootupPeter Tyser2010-10-12-16/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This puts the board info struct in a known state and allows the removal of other code which initialized board info fields to 0. Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
* | | | Merge branch 'master' of git://git.denx.de/u-boot-microblazeWolfgang Denk2010-10-12-11/+65
|\ \ \ \
| * | | | microblaze: Support little-endian microblaze targetMichal Simek2010-10-12-9/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Microblaze little-endian toolchain should export __MICROBLAZEEL__. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * | | | microblaze: Add support for NET_MULTI apiMichal Simek2010-10-12-2/+10
| |/ / / | | | | | | | | | | | | | | | | | | | | Microblaze hasn't supported NET_MULTI support. Signed-off-by: Michal Simek <monstr@monstr.eu>
* | | | davinci_emac: davinci_eth_set_mac_addr to ->write_hwaddrBen Gardiner2010-10-11-20/+0
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch proposes to migrate the davinci_emac driver to using the eth_device->write_hwaddr function pointer as suggested by Ben Warren. All the davinci boards had the behaviour, prior to this patch, of sync'ing the environment variable enetaddr with the MAC address read from non-volatile storage on boot -- when the two locations disagreed, the environment variable value took precendence. This patch keeps the same behaviour but lets eth_initialize take care of it. This patch refactors davinci_emac setup in the boards so that the MAC address is read from non-volatile storage into the environment variable and then the environment variable value is use in eth_intialize. The only exception is the direct call to davinci_eth_set_mac_addr made by the da830evm board init which was changed into an assignment of the enetaddr field. Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca> Tested-by: Nick Thompson <nick.thompson@ge.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* | | Merge branch 'master' of git://git.denx.de/u-boot-x86Wolfgang Denk2010-10-11-648/+635
|\ \ \
| * | | 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-16/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-2/+3
| | | | | | | | | | | | | | | | Tidy up the linker script and discard some sections to save space
| * | | x86: Rename linker script symbolsGraeme Russ2010-10-07-24/+24
| | | | | | | | | | | | | | | | 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