u-boot/arch/arm
Kristian Amlie 15e30106ce ARM: vexpress_ca9x4: Reintroduce board in order to use with QEMU.
vexpress_ca9x4 is seemingly the only board except for qemu_arm which
is able to run U-Boot correctly, using the `-M vexpress-a9` option to
QEMU. Building for qemu_arm and running qemu-system-arm with the `-M
virt` argument has a number of downsides, most importantly that it
only supports virtio storage drivers. This significantly reduces its
usefulness in testing memory card and Flash solutions, especially when
the tested images are from a third party source.

So therefore we reintroduce the vexpress_ca9x4 board in this commit,
with the explicit goal of using it with QEMU.

A number of differences to note from the original:

* Since the board was apparently unmaintained, I have now set myself
  as the maintainer.

* The board has been converted to use the driver model, which was the
  reason it was removed in the first place.

* The vexpress_ca15_tc2 and vexpress_ca5x2 boards, which were removed
  in the same commit, are not necessary for the QEMU use case, and
  have been omitted.

* An `mmc0` alias was introduced in the dts file. The mmc is not
  detected correctly without this, now that it's based on the device
  tree instead of the board's init function.

* A couple of other nodes were removed because they were problematic
  when trying to run the UEFI bootmgr. Once again, the primary use
  case here is QEMU, and these nodes are not needed for that to work.

* Unnecessary board init code has been removed, thanks to driver model
  and device tree.

* `CONFIG_OF_EMBED` has been enabled. I know this goes against
  recommended practice, but there doesn't seem to be any other way to
  pass the dtb to U-Boot in the QEMU scenario. Using the -dtb argument
  does not work, I suppose because U-Boot doesn't use the same
  mechanics as the kernel when it's booting.

* Load addresses have been changed to fit QEMU use case.

People wanting to get a more detailed, yet somewhat isolated, diff
between this and the original, can run this command:

  git diff c6c26a05b89f25a06e7562f8c2071b60fd0c9eac~1 -- \
      $( git diff-tree --diff-filter=A -r --name-only HEAD~1 HEAD)

(Make sure to either check out this commit first, or replace HEAD with
the commit ID of this commit)

Signed-off-by: Kristian Amlie <kristian.amlie@northern.tech>
2021-09-24 14:30:46 -04:00
..
cpu armv8/cache.S: Triple with single instruction 2021-09-23 08:55:06 -04:00
dts ARM: vexpress_ca9x4: Reintroduce board in order to use with QEMU. 2021-09-24 14:30:46 -04:00
include arm: use CONFIG_SUPPORT_PASSING_ATAGS 2021-09-24 14:30:46 -04:00
lib arm64: memset-arm64: Use simple memset when cache is disabled 2021-09-24 07:48:06 -04:00
mach-aspeed
mach-at91 ARM: mach-at91: armv7: fix multiple cpu_reset definition when enabling SYSRESET 2021-09-21 10:05:37 +03:00
mach-bcm283x
mach-bcmstb
mach-cortina
mach-davinci mmc: Rename MMC_SUPPORT to MMC 2021-09-04 11:42:41 -04:00
mach-exynos serial: Rename SERIAL_SUPPORT to SERIAL 2021-09-04 12:26:01 -04:00
mach-highbank
mach-imx lmb: Remove imx board_lmb_reserve() 2021-09-23 14:15:32 -04:00
mach-integrator
mach-ipq40xx
mach-k3 mmc: Rename MMC_SUPPORT to MMC 2021-09-04 11:42:41 -04:00
mach-keystone global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
mach-kirkwood Convert CONFIG_SYS_I2C_SPEED et al to Kconfig 2021-08-30 14:10:07 -04:00
mach-lpc32xx arm: lpc32xx: add EA LPC3250 DevKitv2 board support 2021-07-06 14:12:14 -04:00
mach-mediatek arm: mediatek: merge board Kconfigs into mach-mediatek 2021-09-23 14:15:32 -04:00
mach-meson Revert "ARM: meson: Add support for fastboot_set_reboot_flag()" 2021-07-30 14:54:03 +02:00
mach-mvebu Prepare v2021.10-rc4 2021-09-16 10:29:40 -04:00
mach-nexell global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
mach-octeontx
mach-octeontx2
mach-omap2 serial: Rename SERIAL_SUPPORT to SERIAL 2021-09-04 12:26:01 -04:00
mach-orion5x Convert CONFIG_SKIP_LOWLEVEL_INIT et al to Kconfig 2021-08-31 17:47:49 -04:00
mach-owl
mach-qemu
mach-rmobile serial: Rename SERIAL_SUPPORT to SERIAL 2021-09-04 12:26:01 -04:00
mach-rockchip Remove including timestamp.h in version.h 2021-09-17 12:10:44 -04:00
mach-s5pc1xx
mach-snapdragon arm: mach-snapdrgon: misc: Simplify msm_generate_mac_addr() 2021-09-02 09:48:20 -04:00
mach-socfpga Prepare v2021.10-rc4 2021-09-16 10:29:40 -04:00
mach-sti
mach-stm32 serial: Rename SERIAL_SUPPORT to SERIAL 2021-09-04 12:26:01 -04:00
mach-stm32mp Prepare v2021.10-rc4 2021-09-16 10:29:40 -04:00
mach-sunxi Kconfig: Remove all default n/no options 2021-08-31 17:47:49 -04:00
mach-tegra serial: Rename SERIAL_SUPPORT to SERIAL 2021-09-04 12:26:01 -04:00
mach-u8500 board: stemmy: Update documentation 2021-09-01 19:25:37 -04:00
mach-uniphier mmc: Rename MMC_SUPPORT to MMC 2021-09-04 11:42:41 -04:00
mach-versal arm: Migrate GICV2 / GICV3 to Kconfig 2021-08-30 14:13:26 -04:00
mach-versatile
mach-zynq spi: Rename SPI_SUPPORT to SPI 2021-09-04 12:26:02 -04:00
mach-zynqmp sata: Rename SATA_SUPPORT to SATA 2021-09-04 12:26:02 -04:00
mach-zynqmp-r5
thumb1/include/asm/proc-armv
config.mk ARM: Prevent the compiler from using NEON registers 2021-09-02 11:19:58 -04:00
Kconfig ARM: vexpress_ca9x4: Reintroduce board in order to use with QEMU. 2021-09-24 14:30:46 -04:00
Kconfig.debug
Makefile crc32: Add crc32 implementation using __builtin_aarch64_crc32b 2021-09-23 14:15:32 -04:00