path: root/arch/arm/mach-vexpress
Commit message (Collapse)AuthorAgeFilesLines
* ARM: vexpress: Add missing "noreturn" attribute to restart functionAlexander Shiyan2022-06-101-1/+1
| | | | | | Signed-off-by: Alexander Shiyan <> Link: Signed-off-by: Sascha Hauer <>
* treewide: add SPDX-License-Identifier for Kbuild/KconfigAhmad Fatoum2022-01-052-0/+4
| | | | | | | | | | | | | | | To verify only Kconfig/Makefile is touched: git show --numstat --format=oneline HEAD | grep -v 'Kconfig\|Makefile' will print only arch/powerpc/Kbuild. To verify nothing unexpected is added: git show -U0 | grep '^-[^-]\|^+[^+]' | sort -u Signed-off-by: Ahmad Fatoum <> Link: Signed-off-by: Sascha Hauer <>
* ARM64: qemu-virt64: migrate to generic DT imageAhmad Fatoum2021-03-171-2/+1
| | | | | | | | | | | | | | | | | | | | | | Current qemu-virt64 barebox support doesn't look much like what's offered on physical boards. It's not relocatable, lacks PBL and doesn't use device tree. As qemu-system-aarch64 -M virt -kernel already supplies an external device tree, we could just replace all existing support with BOARD_ARM_GENERIC_DT, which builds a barebox image that reuses an externally passed device tree. The 32-bit ARM VIRT support has some board code for host name setting and overlay applying to handle environment and state on flash. We could do without that, given the new virtio-blk support, but the code is already there, so reuse it and drop all current virt64-specific board code. As the barebox ELF image resulting from the build can no longer be directly booted as before and only with -kernel, not -bios, rename the Kconfig symbol, so existing users can notice this during build. Signed-off-by: Ahmad Fatoum <> Signed-off-by: Sascha Hauer <>
* ARM: qemu: support for state & env via DT overlayRouven Czerwinski2021-01-181-0/+1
| | | | | | | | | | | | | | | | Add support for state and barebox environment by applying an overlay on top of the qemu generated device tree. If qemu is used with a persistent flash partition, this allows usage of environments and state across qemu reboots. Simple testing can be performed by starting with qemu-system-arm -m 256M -M virt -kernel images/barebox-dt-2nd.img -nographic Storing data, changing into the qemu console via Ctrl-A Ctrl-C, issuing 'system_reset' and Ctrl-A Ctrl-C to get back into the barebox console. Signed-off-by: Rouven Czerwinski <> Signed-off-by: Sascha Hauer <>
* ARM: qemu: add support for qemu virt platformRouven Czerwinski2020-11-121-0/+4
| | | | | | | | | | Necessary support to boot barebox on ARM qemu virt platforms. No internal device tree, since it is passed by qemu. Therefore it employs the generic 2nd stage image as the low level code and only adds a virt specific board driver. Signed-off-by: Rouven Czerwinski <> Signed-off-by: Sascha Hauer <>
* ARM: vexpress: move Options to ARCH_VEXPRESSRouven Czerwinski2020-11-121-9/+0
| | | | | | | | | In preparation for the qemu virt image, move the KConfig options from MACH_VEXPRESS to ARCH_VEXPRESS. Also remove the choice, since we allow multiple boards to be selected with HAVE_PBL_MULTI_IMAGES. Signed-off-by: Rouven Czerwinski <> Signed-off-by: Sascha Hauer <>
* restart: give all restart handlers a descriptive nameAhmad Fatoum2020-09-151-1/+1
| | | | | | | | | | | | | With incoming changes to choose a specific reset method, give all currently unnamed "default" reset handlers a name: - soc reset via SoC-specific means - soc-wdt reset via SoC watchdog timer - vector reset via jump to reset vector - efi reset via EFI firmware Signed-off-by: Ahmad Fatoum <> Signed-off-by: Sascha Hauer <>
* debug_ll: Move pl011 header file to architecture independent placeSascha Hauer2019-03-061-1/+1
| | | | Signed-off-by: Sascha Hauer <>
* ARM: vexpress: switch to DT probe and multi-image buildLucas Stach2017-10-175-131/+3
| | | | | | | | | | This switches the VExpress support to use an internal DT, instead of probing the peripherals from a board file. It also switches to a multi-iamge build with both CA9 and CA15 variants of the VExpress board being supported. Signed-off-by: Lucas Stach <> Signed-off-by: Sascha Hauer <>
* clk: versatile: add basic clocksLucas Stach2017-10-171-0/+1
| | | | | | | | This adds the necessary basic clocks used on the ARM versatile platforms. Signed-off-by: Lucas Stach <> Signed-off-by: Sascha Hauer <>
* ARM: vexpress: always build relocatable imageLucas Stach2017-10-161-1/+2
| | | | | | | | | This allows to make more space available for the malloc area and allows us to drop the special CA9 defconfig, which had a different text base. Signed-off-by: Lucas Stach <> Signed-off-by: Sascha Hauer <>
* restart: replace reset_cpu with registered restart handlersSascha Hauer2015-08-271-3/+12
| | | | | | | | | | | | | | | | | | | | | | This replaces the reset_cpu() function which every SoC or board must provide with registered handlers. This makes it possible to have multiple reset functions for boards which have multiple ways to reset the machine. Also boards which have no way at all to reset the machine no longer have to provide a dummy reset_cpu() function. The problem this solves is that some machines have external PMICs or similar to reset the system which have to be preferred over the internal SoC reset, because the PMIC can reset not only the SoC but also the external devices. To pick the right way to reset a machine each handler has a priority. The default priority is 100 and all currently existing restart handlers are registered with this priority. of_get_restart_priority() allows to retrieve the priority from the device tree which makes it possible for boards to give certain restart handlers a higher priority in order to use this one instead of the default one. Signed-off-by: Sascha Hauer <>
* ARM: vexpress: debug_ll.h: switch to debug_ll_pl011.hAntony Pavlov2015-01-051-12/+3
| | | | | Signed-off-by: Antony Pavlov <> Signed-off-by: Sascha Hauer <>
* vexpress: mmc supportJean-Christophe PLAGNIOL-VILLARD2013-10-223-1/+17
| | | | | | | qemu-system-arm -m 1024 -smp 1 -M vexpress-a15 -monitor pty -kernel zbarebox -drive if=sd,cache=unsafe,file=sd -nographic -tftp . -net nic -net user Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <> Signed-off-by: Sascha Hauer <>
* Set model and hostname at boardlevelSascha Hauer2013-08-161-3/+0
| | | | | | | | | | | | With multiboard support the compiletime generated BOARDINFO string gets more and more meaningless. This removes it from Kconfig and replaces it with a variable that can be set at boardlevel. Also many boards have a standard setting for the hostname in the environment. This patch also moves the standard to C code by calling barebox_set_hostname(). Signed-off-by: Sascha Hauer <>
* clk: remove unused __clk_[get|put]Sascha Hauer2013-04-031-7/+0
| | | | | | | This is some unused code resulting from copying stuff from the kernel. Remove it. Signed-off-by: Sascha Hauer <>
* vexpress: detect the board periph mapping and detecting the sp804 mappingJean-Christophe PLAGNIOL-VILLARD2013-02-133-6/+6
| | | | | | | | | | | | | at 0x10011000 for a9 legacy otherwise at 0x1c110000 as the new board also support Cortex-A9 so this is working qemu/arm-softmmu/qemu-system-arm -M vexpress-a15 -m 1024 -smp 1 -kernel build/vexpress/barebox -pflash build/vexpress/flash -nographic -cpu cortex-a9 Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <> Signed-off-by: Sascha Hauer <>
* arm: add vexpress board supportJean-Christophe PLAGNIOL-VILLARD2013-02-128-0/+263
detect the cpu model to dynamise the periphs mapping currently only tested on qemu but should work on real hardware Cortex-A9 if you use 1GiB of ram you can run the same barebox on Cortex-A15 or Cortex-A9 otherwise use vexpress_ca9_defconfig where the TEXT_BASE is at 0x63f00000 when we will add the relocation support this defconfig will be drop qemu/arm-softmmu/qemu-system-arm -M vexpress-a9 -m 1024 -smp 1 -kernel build/vexpress/barebox -pflash build/vexpress/flash0 -nographic Cortex-A15 qemu/arm-softmmu/qemu-system-arm -M vexpress-a15 -m 1024 -smp 1 -kernel build/vexpress/barebox -pflash build/vexpress/flash0 -nographic Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <> Signed-off-by: Sascha Hauer <>