summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2014-08-24nios2: remove EPCS driverThomas Chou
The Altera EPCS is SPI flash. We have been using SPI flash driver to access EPCS for years. The old EPCS driver could be removed. Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
2014-08-24nios2: add generic board supportThomas Chou
This patch implements the generic board init as described in doc/README.generic-board. Signed-off-by: Thomas Chou <thomas@wytron.com.tw> Signed-off-by: Scott McNutt <smcnutt@psyent.com> Reviewed-by: Stefan Roese <sr@denx.de>
2014-08-24nios2: remove obsolete PCI5441 and PK1C20 boardsThomas Chou
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
2014-08-24nios2: Fix printf size_t format related warnings (again...)Vasili Galka
When compiling the current code on GCC 4.8.3, the following warnings appear: warning: format '%zu' expects argument of type 'size_t', but argument 2 has type 'long unsigned int' [-Wformat=] There were many mails about such warnings on different architectures. This patch limits itself to the nios2 architecture. The problem is that for the size_t (%zu, %zd, ...) arguments of printf GCC does not verify the type match to size_t type. It verifies the type match to the compiler-defined __SIZE_TYPE__ type. Thus, if size_t is defined different from __SIZE_TYPE__ - warnings inevitably appear. There is a comment by Thomas Chou to the (rejected) patch: http://patchwork.ozlabs.org/patch/272102/ which explains that the older GCC toolchains (gcc-3.4.6 and gcc-4.1.2) expect size_t to be "unsigned long" and the newer expect it to be "unsigned int". Thus, no matter how we define size_t - either way warnings appear when using some GCC version. By rejecting that patch, a choice was made to prefer older GCC versions and leave the warnings when building with the newer toolchains. Personally, I disagree with this choice... In any case, this patch proposes a way to fix the warnings for any GCC version. Just define size_t using the __SIZE_TYPE__ compiler-defined type and the type verification will pass. I tested that this fixes the warning on GCC 4.8.3. I don't have an older toolchain to test with, but __SIZE_TYPE__ was definitely defined in GCC 3.4.6, so it should work there too. Signed-off-by: Vasili Galka <vvv444@gmail.com> Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
2014-08-21powerpc: mpc8xx: remove FLAGADM board supportMasahiro Yamada
This board has been orphaned for a while and old enough. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2014-08-21powerpc: mpc8xx: remove GEN860T, GEN806T_SC board supportMasahiro Yamada
These boards have been orphaned for a while and old enough. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2014-08-21powerpc: mpc8xx: remove SXNI855T board supportMasahiro Yamada
This board has been orphaned for a while and old enough. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2014-08-21powerpc: mpc8xx: remove svm_sc8xx boardMasahiro Yamada
This board has been orphaned for a while and old enough. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2014-08-21powerpc: mpc8xx: remove stxxtc board supportMasahiro Yamada
This board has been orphaned for a while and old enough. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2014-08-21omap: remove omap5912osk board supportMasahiro Yamada
Emails to the board maintainer "Rishi Bhattacharya <rishi@ti.com>" have been bouncing. Tom suggested to remove this board. Remove also omap1510_udc.c because this is the last board to enable it. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Suggested-by: Tom Rini <trini@ti.com>
2014-08-20Merge branch 'master' of git://git.denx.de/u-boot-mpc85xxTom Rini
2014-08-20powerpc/mpc85xx: Enabling CPC conditionally based on hwconfig optionsShaveta Leekha
If hwconfig does not contains "en_cpc" then by default all cpcs are enabled If this config is defined then only those individual cpcs which are defined in the subargument of "en_cpc" will be enabled e.g en_cpc:cpc1,cpc2; (this will enable cpc1 and cpc2) or en_cpc:cpc2; (this enables just cpc2) Signed-off-by: Shaveta Leekha <shaveta@freescale.com> Signed-off-by: Sandeep Singh <Sandeep@freescale.com> Reviewed-by: York Sun <yorksun@freescale.com>
2014-08-12Merge branch 'master' of git://git.denx.de/u-boot-blackfinTom Rini
2014-08-12powerpc/t104xrdb: support deep sleep in SPI/SD bootTang Yuantian
Add deep sleep support in SPI/SD boot. The destination address second stage uboot image is loaded to is changed because currently this address will be used by kernel which means we can't reserve it for resume. Entry point to kernel is still placed in second stage uboot. Signed-off-by: Tang Yuantian <Yuantian.Tang@freescale.com> Reviewed-by: York Sun <yorksun@freescale.com>
2014-08-12powerpc/mpc85xx: Make boot flag effectiveTang Yuantian
bootflag as a parameter is passed to board_init_f(). But it is not actually used in this function. Make it effective by assigned it to gd->flags. Signed-off-by: Tang Yuantian <Yuantian.Tang@freescale.com> Reviewed-by: York Sun <yorksun@freescale.com>
2014-08-09emif.h: remove duplicated argument to |maxin.john@enea.com
Remove the duplicated argument to | in two places. Reported by Coccinelle (http://coccinelle.lip6.fr/). Signed-off-by: Maxin B. John <maxin.john@enea.com>
2014-08-07blackfin: convert blackfin board_f and board_r to use generic board init ↵Sonic Zhang
functions - move blackfin specific cpu init code from blackfin board.c to cpu.c - remove blackfin specific board init code and invoke generic board_f fron cpu init entry - rename section name bss_vma to bss_start in order to match the generic board init code - add a fake relocate_code function to set up the new stack only Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
2014-08-07blackfin: spi clock is in sysclk1 domain instead of sysclk0Scott Jiang
Signed-off-by: Scott Jiang <scott.jiang.linux@gmail.com> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
2014-08-07bfin: add register define required by core B on dual core BF609 processorAaron Wu
Add register define required by core B on dual core BF609 processor. Signed-off-by: Aaron Wu <Aaron.wu@analog.com>
2014-08-06Merge branch 'master' of git://git.denx.de/u-boot-mpc85xxTom Rini
2014-08-04Merge http://git.denx.de/u-boot-dmTom Rini
2014-08-04arm: Support pre-relocation malloc()Simon Glass
Add support for re-relocation malloc() in arm's start-up code. Signed-off-by: Simon Glass <sjg@chromium.org>
2014-08-04arm: Set up global data before board_init_f()Simon Glass
At present arm defines CONFIG_SYS_GENERIC_GLOBAL_DATA, meaning that the global_data pointer is set up in board_init_f(). However it is actually set up before this, it just isn't zeroed. If we zero the global data before calling board_init_f() then we don't need to define CONFIG_SYS_GENERIC_GLOBAL_DATA. Make this change (on arm32 only) to simplify the init process. I don't have the ability to test aarch64 yet. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Tom Rini <trini@ti.com>
2014-08-01powerpc: mpc85xx watchdog init added to init_funcBoschung, Rainer
When CONFIG_WATCHDOG is defined the board initialization just performs a WATCHDOG_RESET, an initialization of the watchdog is not done. This has been modified fot the MPC85xx, the board initialization calls its watchdog initialitzation allowing for full watchdog configuration very early in the boot phase. Signed-off-by: Rainer Boschung <rainer.boschung@keymile.com> Reviewed-by: York Sun <yorksun@freescale.com>
2014-08-01mpc85xx: watchdog initialisation addedBoschung, Rainer
Function to inititialize the cpu watchdog added. Signed-off-by: Rainer Boschung <rainer.boschung@keymile.com> [York Sun: Add prototype in watchdog.h] Reviewed-by: York Sun <yorksun@freescale.com>
2014-08-01powerpc: macros for e500mc timer regs addedBoschung, Rainer
For e500mc cores the watchdog timer period has to be set by means of a 6bit value, that defines the bit of the timebase counter used to signal a watchdog timer exception on its 0 to 1 transition. The macro used to set the watchdog period TCR_WP, was redefined for e500mc to support 6 WP setting. The parameter (x) given to the macro specifies the prescaling factor of the time base clock (fTB): watchdog_period = 1/fTB * 2^x Signed-off-by: Rainer Boschung <rainer.boschung@keymile.com> Reviewed-by: York Sun <yorksun@freescale.com>
2014-08-01mpc85xx: fix interrupt init to not affect watchdogBoschung, Rainer
TCR watchdog bit are overwritten when dec interrupt is enabled. This has been fixed with this patch. Signed-off-by: Rainer Boschung <rainer.boschung@keymile.com> Reviewed-by: York Sun <yorksun@freescale.com>
2014-08-01mmc: s3c: Add SD driverMarek Vasut
Implement SD driver for the S3C24xx family. This implementation is currently only capable of using the PIO transfers, DMA is not supported. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Kyungmin Park <kyungmin.park@samsung.com> Cc: Lukasz Majewski <l.majewski@samsung.com> Cc: Minkyu Kang <mk7.kang@samsung.com> Cc: Pantelis Antoniou <panto@antoniou-consulting.com> Cc: Vladimir Zapolskiy <vz@mleia.com> Acked-by: Pantelis Antoniou <panto@antoniou-consulting.com>
2014-08-01arm: s3c: Unify the S3C24xx SDI structureMarek Vasut
Unify the register structure so they can be easily used across all of S3C24xx lineup. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Kyungmin Park <kyungmin.park@samsung.com> Cc: Lukasz Majewski <l.majewski@samsung.com> Cc: Minkyu Kang <mk7.kang@samsung.com> Cc: Pantelis Antoniou <panto@antoniou-consulting.com> Cc: Vladimir Zapolskiy <vz@mleia.com> Acked-by: Pantelis Antoniou <panto@antoniou-consulting.com>
2014-08-01ARM: kirkwood: add mvsdio driverDrEagle
This patch add Marvell kirkwood MVSDIO/MMC driver and enable it for Sheevaplugs and OpenRD boards. Signed-off-by: Gerald Kerma <drEagle@doukki.net> Reviewed-by: Stefan Roese <sr@denx.de> Acked-by: Pantelis Antoniou <panto@antoniou-consulting.com>
2014-07-30powerpc: remove redundant CPU definitionMasahiro Yamada
CONFIG_${CPU} is defined by Kconfig. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by: Simon Glass <sjg@chromium.org> Acked-by: Stefan Roese <sr@denx.de>
2014-07-30kconfig: delete redundant CONFIG_${ARCH} definitionMasahiro Yamada
CONFIG_${ARCH} is defined by Kconfig. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2014-07-30kconfig: switch to KconfigMasahiro Yamada
This commit enables Kconfig. Going forward, we use Kconfig for the board configuration. mkconfig will never be used. Nor will include/config.mk be generated. Kconfig must be adjusted for U-Boot because our situation is a little more complicated than Linux Kernel. We have to generate multiple boot images (Normal, SPL, TPL) from one source tree. Each image needs its own configuration input. Usage: Run "make <board>_defconfig" to do the board configuration. It will create the .config file and additionally spl/.config, tpl/.config if SPL, TPL is enabled, respectively. You can use "make config", "make menuconfig" etc. to create a new .config or modify the existing one. Use "make spl/config", "make spl/menuconfig" etc. for spl/.config and do likewise for tpl/.config file. The generic syntax of configuration targets for SPL, TPL is: <target_image>/<config_command> Here, <target_image> is either 'spl' or 'tpl' <config_command> is 'config', 'menuconfig', 'xconfig', etc. When the configuration is done, run "make". (Or "make <board>_defconfig all" will do the configuration and build in one time.) For futher information of how Kconfig works in U-Boot, please read the comment block of scripts/multiconfig.py. By the way, there is another item worth remarking here: coexistence of Kconfig and board herder files. Prior to Kconfig, we used C headers to define a set of configs. We expect a very long term to migrate from C headers to Kconfig. Two different infractructure must coexist in the interim. In our former configuration scheme, include/autoconf.mk was generated for use in makefiles. It is still generated under include/, spl/include/, tpl/include/ directory for the Normal, SPL, TPL image, respectively. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by: Simon Glass <sjg@chromium.org>
2014-07-30kconfig: add basic Kconfig filesMasahiro Yamada
This commit adds more Kconfig files, which were written by hand. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by: Simon Glass <sjg@chromium.org>
2014-07-30kconfig: add board Kconfig and defconfig filesMasahiro Yamada
This commit adds: - arch/${ARCH}/Kconfig provide a menu to select target boards - board/${VENDOR}/${BOARD}/Kconfig or board/${BOARD}/Kconfig set CONFIG macros to the appropriate values for each board - configs/${TARGET_BOARD}_defconfig default setting of each board (This commit was automatically generated by a conversion script based on boards.cfg) In Linux Kernel, defconfig files are located under arch/${ARCH}/configs/ directory. It works in Linux Kernel since ARCH is always given from the command line for cross compile. But in U-Boot, ARCH is not given from the command line. Which means we cannot know ARCH until the board configuration is done. That is why all the "*_defconfig" files should be gathered into a single directory ./configs/. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by: Simon Glass <sjg@chromium.org>
2014-07-29Merge branch 'master' of git://git.denx.de/u-boot-armTom Rini
2014-07-28Merge git://www.denx.de/git/u-boot-ppc4xxTom Rini
2014-07-28Merge branch 'master' of git://git.denx.de/u-boot-mpc85xxTom Rini
2014-07-28ARM: HYP/non-sec: remove MIDR check to validate CBARMarc Zyngier
Having a form of whitelist to check if we know of a CPU core and and obtain CBAR is a bit silly. It doesn't scale (how about A12, A17, as well as other I don't know about?), and is actually a property of the SoC, not the core. So either it works and everybody is happy, or it doesn't and the u-boot port to this SoC is providing the real address via a configuration option. The result of the above is that this code doesn't need to exist, is thus forcefully removed. Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Acked-by: Ian Campbell <ijc@hellion.org.uk>
2014-07-28ARM: HYP/non-sec/PSCI: emit DT nodesMarc Zyngier
Generate the PSCI node in the device tree. Also add a reserve section for the "secure" code that lives in in normal RAM, so that the kernel knows it'd better not trip on it. Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Acked-by: Ian Campbell <ijc@hellion.org.uk>
2014-07-28ARM: convert arch_fixup_memory_node to a generic FDT fixup functionMa Haijun
Some architecture needs extra device tree setup. Instead of adding yet another hook, convert arch_fixup_memory_node to be a generic FDT fixup function. [maz: collapsed 3 patches into one, rewrote commit message] Signed-off-by: Ma Haijun <mahaijuns@gmail.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Acked-by: Ian Campbell <ijc@hellion.org.uk>
2014-07-28ARM: HYP/non-sec: add the option for a second-stage monitorMarc Zyngier
Allow the switch to a second stage secure monitor just before switching to non-secure. This allows a resident piece of firmware to be active once the kernel has been entered (the u-boot monitor is dead anyway, its pages being reused). Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Acked-by: Ian Campbell <ijc@hellion.org.uk>
2014-07-28ARM: HYP/non-sec: add generic ARMv7 PSCI codeMarc Zyngier
Implement core support for PSCI. As this is generic code, it doesn't implement anything really useful (all the functions are returning Not Implemented). Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Acked-by: Ian Campbell <ijc@hellion.org.uk>
2014-07-28ARM: HYP/non-sec: allow relocation to secure RAMMarc Zyngier
The current non-sec switching code suffers from one major issue: it cannot run in secure RAM, as a large part of u-boot still needs to be run while we're switched to non-secure. This patch reworks the whole HYP/non-secure strategy by: - making sure the secure code is the *last* thing u-boot executes before entering the payload - performing an exception return from secure mode directly into the payload - allowing the code to be dynamically relocated to secure RAM before switching to non-secure. This involves quite a bit of horrible code, specially as u-boot relocation is quite primitive. Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Acked-by: Ian Campbell <ijc@hellion.org.uk>
2014-07-28ARM: HYP/non-sec: add separate section for secure codeMarc Zyngier
In anticipation of refactoring the HYP/non-secure code to run from secure RAM, add a new linker section that will contain that code. Nothing is using it just yet. Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Acked-by: Ian Campbell <ijc@hellion.org.uk>
2014-07-28ARM: add missing HYP mode constantMarc Zyngier
In order to be able to use the various mode constants (far more readable than random hex values), add the missing HYP and A values. Also update arm/lib/interrupts.c to display HYP instead of an unknown value. Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Acked-by: Ian Campbell <ijc@hellion.org.uk>
2014-07-28ARM: non-sec: reset CNTVOFF to zeroMarc Zyngier
Before switching to non-secure, make sure that CNTVOFF is set to zero on all CPUs. Otherwise, kernel running in non-secure without HYP enabled (hence using virtual timers) may observe timers that are not synchronized, effectively seeing time going backward... Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Acked-by: Ian Campbell <ijc@hellion.org.uk>
2014-07-28ARM: HYP/non-sec: add a barrier after setting SCR.NS==1Marc Zyngier
A CP15 instruction execution can be reordered, requiring an isb to be sure it is executed in program order. Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Acked-by: Ian Campbell <ijc@hellion.org.uk>
2014-07-28ARM: HYP/non-sec: move switch to non-sec to the last boot phaseMarc Zyngier
Having the switch to non-secure in the "prep" phase is causing all kind of troubles, as that stage can be called multiple times. Instead, move the switch to non-secure to the last possible phase, when there is no turning back anymore. Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Acked-by: Ian Campbell <ijc@hellion.org.uk>
2014-07-28Merge branch 'u-boot-ti/master' into 'u-boot-arm/master'Albert ARIBAUD