summaryrefslogtreecommitdiff
path: root/board/armltd
Commit message (Collapse)AuthorAgeLines
* Add board MAINTAINERS filesMasahiro Yamada2014-07-30-0/+47
| | | | | | | | | | | | | | | | | | | | We have switched to Kconfig and the boards.cfg file is going to be removed. We have to retrieve the board status and maintainers information from it. The MAINTAINERS format as in Linux Kernel would be nice because we can crib the scripts/get_maintainer.pl script. After some discussion, we chose to put a MAINTAINERS file under each board directory, not the top-level one because we want to collect relevant information for a board into a single place. TODO: Modify get_maintainer.pl to scan multiple MAINTAINERS files. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Suggested-by: Tom Rini <trini@ti.com> Acked-by: Simon Glass <sjg@chromium.org>
* kconfig: add board Kconfig and defconfig filesMasahiro Yamada2014-07-30-0/+328
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* arm: Add support for semihosting for armv8 fastmodel targets.Darwin Rambo2014-07-03-5/+96
| | | | | | | | | | | | | | | | | | | | | | The armv8 ARM Trusted Firmware (ATF) can be used to load various ATF images and u-boot, and does this for virtual platforms by using semihosting. This commit extends this idea by allowing u-boot to also use semihosting to load the kernel/ramdisk/dtb. This eliminates the need for a bootwrapper and produces a more realistic boot sequence with virtual models. Though the semihosting code is quite generic, support for armv7 in fastmodel is less useful due to the wide range of available silicon and the lack of a free armv7 fastmodel, so this change contains an untested armv7 placeholder for the service trap opcode. Please refer to doc/README.semihosting for a more detailed description of semihosting and how it is used with the armv8 virtual platforms. Signed-off-by: Darwin Rambo <drambo@broadcom.com> Cc: trini@ti.com Cc: fenghua@phytium.com.cn Cc: bhupesh.sharma@freescale.com
* arm: remove unneeded symbol offsets and _TEXT_BASEAlbert ARIBAUD2014-02-26-1/+1
| | | | | | | | Remove the last uses of symbol offsets in ARM U-Boot. Remove some needless uses of _TEXT_BASE. Remove all _TEXT_BASE definitions. Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
* Merge branch 'u-boot-arm/next' into 'u-boot-arm/master'Albert ARIBAUD2014-01-28-0/+4
|\
| * ARM: versatile: pass correct machine type for Versatile ABLinus Walleij2014-01-13-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | When U-Boot is configured for Versatile AB, it will still pass the machine ID of Versatile PB to the kernel. After this simple fix the system boots correctly. Cc: Stefano Babic <sbabic@denx.de> Cc: Marek Vasut <marex@denx.de> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Marek Vasut <marex@denx.de> Acked-by: Stefano Babic <sbabic@denx.de>
* | lib: time: add weak timer_init() functionDarwin Rambo2014-01-24-5/+0
|/ | | | | | | | | | If timer_init() is made a weak stub function, then it allows us to remove several empty timer_init functions for those boards that already have a timer initialized when u-boot starts. Architectures that use the timer framework may also remove the need for timer.c. Signed-off-by: Darwin Rambo <drambo@broadcom.com> Reviewed-by: Tim Kryger <tim.kryger@linaro.org>
* arm64: board support of vexpress_aemv8aDavid Feng2014-01-09-0/+64
| | | | | Signed-off-by: David Feng <fenghua@phytium.com.cn> Signed-off-by: Bhupesh Sharma <bhupesh.sharma@freescale.com>
* ARM: vexpress: convert to common timer codeRob Herring2013-11-04-71/+0
| | | | | | Convert vexpress to use the commmon timer code. Signed-off-by: Rob Herring <rob.herring@calxeda.com>
* board: arm: convert makefiles to Kbuild styleMasahiro Yamada2013-11-01-66/+7
| | | | | | | | | | | | Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Albert ARIBAUD <albert.u.boot@aribaud.net> Cc: Andreas Bießmann <andreas.devel@googlemail.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Prafulla Wadaskar <prafulla@marvell.com> Cc: Minkyu Kang <mk7.kang@samsung.com> Cc: Vipin Kumar <vipin.kumar@st.com> Cc: Tom Warren <twarren@nvidia.com> Cc: Tom Rini <trini@ti.com>
* Coding Style cleanup: remove trailing white spaceWolfgang Denk2013-10-14-6/+6
| | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* ARM: VExpress: enable ARMv7 virt support for VExpress A15Andre Przywara2013-10-03-0/+15
| | | | | | | | | | | | | | | To enable hypervisors utilizing the ARMv7 virtualization extension on the Versatile Express board with the A15 core tile, we add the required configuration variable. Also we define the board specific smp_set_cpu_boot_addr() function to set the start address for secondary cores in the VExpress specific manner. There is no need to provide a custom smp_waitloop() function here. This also serves as an example for what to do when adding support for new boards. Signed-off-by: Andre Przywara <andre.przywara@linaro.org>
* Add GPL-2.0+ SPDX-License-Identifier to source filesWolfgang Denk2013-07-24-217/+13
| | | | | | Signed-off-by: Wolfgang Denk <wd@denx.de> [trini: Fixup common/cmd_io.c] Signed-off-by: Tom Rini <trini@ti.com>
* ARM: vexpress: create A5 specific board configRyan Harkin2013-05-23-6/+23
| | | | | | | | | | | | This patch creates a new config for the A5 dual core tile that includes the generic config for the Versatile Express platform. The generic config has been modified to provide support for the Extended Memory Map, as used on the A5 core tile. A5 does not support the legacy memory map. Signed-off-by: Ryan Harkin <ryan.harkin@linaro.org> Signed-off-by: Andre Przywara <andre.przywara@linaro.org>
* ARM: vexpress: refactoring of Versatile Express CA9x4 supportRyan Harkin2013-05-23-4/+4
| | | | | | | | | | | | | | | The current ca9x4_ct_vxp platform contains support for a Versatile Express motherboard with a quad core A9 core tile. This patch separates the Versatile Express motherboard code and the A9 specific code, to ease supporting more core tiles in the next patches. Andre: merged the first two of Ryan's original patches and did some checkpatch fixes. Signed-off-by: Ryan Harkin <ryan.harkin@linaro.org> Signed-off-by: Andre Przywara <andre.przywara@linaro.org>
* u8500: Separating mmc config parameters from driverJohn Rigby2012-09-01-1/+20
| | | | | | | | | | Configuration in vexpress and u8500.v1 is different from what is needed in u8500.v2. As such, card configuration specifics need to reside in the board file rather than the driver. Signed-off-by: John Rigby <john.rigby@linaro.org> Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org> Signed-off-by: Tom Rini <trini@ti.com>
* doc: cleanup - move board READMEs into respective board directoriesWolfgang Denk2012-07-29-0/+110
| | | | | | | | | | | | | | | | Also drop a few files referring to no longer / not yet supported boards. Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Prafulla Wadaskar <prafulla@marvell.com> Cc: Stefan Roese <sr@denx.de> Cc: Kim Phillips <kim.phillips@freescale.com> Cc: Andy Fleming <afleming@gmail.com> Cc: Jason Jin <jason.jin@freescale.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com> Acked-by: Stefano Babic <sbabic@denx.de> Acked-by: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
* ARMV7/Vexpress: add missing get_ticks() and get_tbclk()Liming Wang2012-03-26-0/+10
| | | | | | | | | commit f31a911fe (arm, post: add missing post_time_ms for arm) enables get_ticks and get_tbclk for all arm based boards, arm/vexpress also needs these functions to work. Signed-off-by: Liming Wang <walimisdev@gmail.com> Acked-by: Matt.Waddel@linaro.org
* integrator: remove fragile delay loop from PCI codeLinus Walleij2012-03-04-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | The reference implementation of the PCI initialization code almost everywhere contain this fragile loop of "a few usecs", and its use of volatile variables to delay a number of bus cycles is indeed uncertain. Reading the manual "Integrator/AP Users Guide", page 5-15 it is clearly stated: "Wait until 230ms after the end of the reset period before accessing V360EPC internal registers. The V360EPC supports the use of a serial configuration PROM and the software must wait for the device to detect the absence of this PROM before accessing any registers. The required delay is a function of the PCI Clock, but at the lower frequency (25MHz) is 230ms". So let's simply wait 230ms per the spec. This solves the compilation error that looked like this: pci.c: In function ‘pci_init_board’: pci.c:286:18: warning: variable ‘j’ set but not used Reported-by: Wolfgang Denk <wd@denx.de> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* integrator: rewrite the AP PCI driverLinus Walleij2012-02-27-250/+532
| | | | | | | | | | | | | | | | | | | | | | | | | The PCI support for the Integrator AP has apparently never been finished and I strongly suspect that it has never worked, so let's fix it. This is a list of the more or less un-splittable changes done in this driver rewrite: - Replace the register definitions stashed into the config file (!) with a copy if the register file from the Linux kernels arch/arm/include/asm/hardware/pci_v3.h - Delete the unreadable gigantic macros that perform the config accesses and replace them with copyedited code from Linux arch/arm/mach-integrator/pci_v3.c - Rewrite the rest of the setup code to use the v3_[read|write][lwb]() accessors. - Enable PCI by default in the AP board configuration. - Fix checkpatch warnings and make code more conformant. Tested-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* integrator: stop calling pci_init() twiceLinus Walleij2012-02-27-3/+0
| | | | | | | | The U-Boot startup infrastructure already makes sure pci_init() is called at a proper time, calling it again from within the board setup code will not make things better. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* integrator: enable Vpp and disable flash protectionLinus Walleij2011-11-10-0/+20
| | | | | | | | | | This enables Vpp and disables the flash protection on the Integrator when starting U-Boot. The integrator/AP has double protection mechanisms: this one and the EBI protection bit (patch earlier), the Integrator/CP has only one line of protection in these registers. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* integrator: add system controller headerLinus Walleij2011-11-10-0/+91
| | | | | | | | Break out the AP system controller and CP "CP controller" registers into a header file, it gives better overview than hardcoding its values and other disturbing practices. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* integrator: make flash writeable on bootLinus Walleij2011-11-10-0/+77
| | | | | | | | | | | | | This reconfigures the EBI (External Bus Interface) on the integrator so that chip select 1, handling the flash memory, is set to writeable. Without this it is not possible for U-Boot to access flash memory and it crashes on startup since CFI won't work properly. Since this is the first time we use the EBI, we create a header file for its registers. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* integrator: use io-accessors for board initLinus Walleij2011-11-10-4/+5
| | | | | | | Casting around to *(volatile ulong *) doesn't look good, so include the <asm/io.h> macros and use good old readl() instead. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* integrator: move text offset to configLinus Walleij2011-11-10-5/+0
| | | | | | | Do away with the config.mk file and move the text offset to the config files to make things easier. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* integrator: do not test first part of the memoryLinus Walleij2011-11-08-4/+15
| | | | | | | | | | | When booting from Flash, the Integrator remaps its flash memory from 0x24000000 to 0x00000000, and starts executing it at 0x00000000. This ROM thus hides the RAM underneath and first 0x40000 bytes of the memory cannot be tested by get_ram_size(). So let's test from 0x40000 to the end of detected memory instead. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* punt unused clean/distclean targetsMike Frysinger2011-10-15-18/+0
| | | | | | | | | | The top level Makefile does not do any recursion into subdirs when cleaning, so these clean/distclean targets in random arch/board dirs never get used. Punt them all. MAKEALL didn't report any errors related to this that I could see. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* ARM: versatile: delete split_by_variant.shLinus Walleij2011-09-28-42/+0
| | | | | | | | | Since commit d388298a59ba375c76597b8f95b560afa971a0fb by Stefano Babic this file is no longer needed so delete it. Cc: Stefano Babic <sbabic@denx.de> Cc: Loïc Minier <loic.minier@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* ARM: versatile: drop warningsStefano Babic2011-09-04-1/+1
| | | | | | | | Drop warning: "passing argument 1 of 'get_ram_size' discards qualifiers from pointer target type" Signed-off-by: Stefano Babic <sbabic@denx.de> CC: Albert Aribaud <albert.u.boot@aribaud.net>
* integrator: convert to new build systemLinus Walleij2011-09-03-220/+0
| | | | | | | | | | | | | | | | | This deletes the integrator split_by_variant.sh script and defines a number of unique board types for the core modules that are meaningful to support for the Integrator AP/CP, i.e. the ones that did not just say "unsupported core module" in split_by_variant.sh. If more core modules need to be supported they are easy to add. We delete all the old cruft in Makefile and MAKEALL that was working around the old way of building boards. We create a unique config file per board to satisfy the build system, but they are just oneliners that include the existing integratorap.h and integratorcp.h configs. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* integratorap: support relocationLinus Walleij2011-09-03-8/+7
| | | | | | | | | | The integrator board was apparently never converted over to support relocation until now. After this the integrator u-boot both compiles and boots on the Integrator AP. This also fixes the SDRAM memory size detection. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* integratorap: make the compile work againLinus Walleij2011-09-03-1/+1
| | | | | | | | | The integratorap/cp config for u-boot was outdated and would not even compile, so fix the obvious missing bits for it to start building. After this "make ap920t_config/make all" starts working again. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* ARM: versatile: fix board supportStefano Babic2011-08-04-6/+9
| | | | | | | | | | | | | Versatile board is used as example to run u-boot under qemu. The patch fixes relocation for all versatile boards and adds a versatileqemu target to be used under qemu. Patch tested only under qemu, not on real boards. Tested with QEMU emulator version 0.14.50. Signed-off-by: Stefano Babic <sbabic@denx.de> CC: Alessandro Rubini <rubini-list@gnudd.com> CC: Loïc Minier <loic.minier@linaro.org>
* Timer: Remove reset_timer_masked()Graeme Russ2011-07-26-9/+4
| | | | | | | In some circumstances, reset_timer_masked() was called be timer_init() in order to perform architecture specific timer initialisation. In such cases, the required code in reset_timer_masked() has been moved into timer_init()
* Timer: Remove reset_timer() for non-Nios2 archesGraeme Russ2011-07-26-10/+0
|
* Timer: Remove set_timer completelyGraeme Russ2011-07-26-6/+0
|
* armv7: rename cache related CONFIG flagsAneesh V2011-07-04-4/+4
| | | | | | | | | | | | | | | | Replace the cache related CONFIG flags with more meaningful names. Following are the changes: CONFIG_L2_OFF -> CONFIG_SYS_L2CACHE_OFF CONFIG_SYS_NO_ICACHE -> CONFIG_SYS_ICACHE_OFF CONFIG_SYS_NO_DCACHE -> CONFIG_SYS_DCACHE_OFF Signed-off-by: Aneesh V <aneesh@ti.com> V2: * Changed CONFIG_L2_OFF -> CONFIG_SYS_NO_L2CACHE V4: * Changed all three flags to the final names suggested as above and accordingly changed the commit message
* ARMV7: Vexpress: Add missing MMC headerDirk Behme2011-05-31-0/+1
| | | | | | | | | | | | | | Add a header file with the missing function prototype to fix ca9x4_ct_vxp.c: In function 'cpu_mmc_init': ca9x4_ct_vxp.c:93: warning: implicit declaration of function 'arm_pl180_mmci_init' introduced by commit "ARMV7: Vexpress: Add MMC support" (f0c64526b7e51ba997a0f1baf9e74e6d497b957e) Signed-off-by: Dirk Behme <dirk.behme@googlemail.com> CC: Andy Fleming <afleming@freescale.com> CC: Matt Waddel <matt.waddel@linaro.org>
* ARMV7: Vexpress: Add MMC supportMatt Waddel2011-04-29-0/+9
| | | | | | Added the board specific definitions to use the MMCI device. Signed-off-by: Matt Waddel <matt.waddel@linaro.org>
* ARMV7: Vexpress: Remove config.mkMatt Waddel2011-04-27-22/+0
| | | | | | Remove obsolete board config.mk. Signed-off-by: Matt Waddel <matt.waddel@linaro.org>
* ARMV7: Vexpress: Fix build errorDirk Behme2010-12-08-1/+1
| | | | | | | | | | | | | | | | Fix ca9x4_ct_vxp build error Configuring for ca9x4_ct_vxp board... board/armltd/vexpress/libvexpress.o: In function `udelay': u-boot.git/board/armltd/vexpress/ca9x4_ct_vxp.c:161: multiple definition of `udelay' lib/libgeneric.o:u-boot.git/lib/time.c:34: first defined here lib/libgeneric.o: In function `udelay': zlib.c:(.text+0x1ee8): undefined reference to `__udelay' Signed-of-by: Dirk Behme <dirk.behme@googlemail.com>
* ARMV7: Vexpress: fix compile warningsMatt Waddel2010-12-08-3/+6
| | | | | | Fixed "pointer from integer without a cast" warnings in Vexpress. Signed-off-by: Matt Waddel <matt.waddel@linaro.org>
* ARMV7: Vexpress: fix build errorsMatt Waddel2010-12-08-67/+1
| | | | | | | | | 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>
* Switch from archive libraries to partial linkingSebastien Carlier2010-11-17-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Rename TEXT_BASE into CONFIG_SYS_TEXT_BASEWolfgang Denk2010-10-18-2/+2
| | | | | | | | | | | | 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>
* 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: Versatile Express Coretile CortexA9x4 supportMatt Waddel2010-10-13-0/+357
| | | | | | | | | | | | | | | 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>
* arm/integrator: Remove unneccessary CONFIG_PCI check.Detlev Zundel2010-04-04-2/+0
| | | | | | | | | | | | pci_eth_init() is already conditional to CONFIG_PCI so not every caller needs to have conditionals. This is the only place in the current code base where such a check is still at the calling site. Signed-off-by: Detlev Zundel <dzu@denx.de> CC: Ben Warren <biggerbadderben@gmail.com> CC: Peter Pearse <peter.pearse@arm.com>
* Generic udelay() with watchdog supportIngo van Lil2009-12-05-1/+1
| | | | | | | | | | | | | According to the PPC reference implementation the udelay() function is responsible for resetting the watchdog timer as frequently as needed. Most other architectures do not meet that requirement, so long-running operations might result in a watchdog reset. This patch adds a generic udelay() function which takes care of resetting the watchdog before calling an architecture-specific __udelay(). Signed-off-by: Ingo van Lil <inguin@gmx.de>