u-boot-brain/arch/arm
Igor Opaniuk c0f037f6a2 mach-imx: bootaux: elf firmware support
Currently imx-specific bootaux command doesn't support ELF format
firmware for Cortex-M4 core.

This patches introduces a PoC implementation of handling elf firmware
(load_elf_image_phdr() was copy-pasted from elf.c just for PoC).
ELF64 binaries isn't supported yet.

This has the advantage that the user does not need to know to which
address the binary has been linked to. However, in order to handle
and load the elf sections to the right address, we need to translate the
Cortex-M4 core memory addresses to primary/host CPU memory
addresses (Cortex A7/A9 cores).

This allows to boot firmwares from any location with just using
bootaux, e.g.:
> tftp ${loadaddr} hello_world.elf && bootaux ${loadaddr}

Similar translation table can be found in the Linux remoteproc
driver [1].

[1] https://elixir.bootlin.com/linux/latest/source/drivers/remoteproc/imx_rproc.c

Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Reviewed-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
2020-01-07 10:26:56 +01:00
..
cpu sunxi: psci: avoid error address-of-packed-member 2019-12-18 20:13:34 +05:30
dts ARM: dts: imx7: imx7_colibri: introduce fec node 2020-01-07 10:26:56 +01:00
include mach-imx: bootaux: elf firmware support 2020-01-07 10:26:56 +01:00
lib common: Move enable/disable_interrupts out of common.h 2019-12-02 18:25:01 -05:00
mach-aspeed
mach-at91 common: Move some cache and MMU functions out of common.h 2019-12-02 18:23:55 -05:00
mach-bcm283x common: Move ARM cache operations out of common.h 2019-12-02 18:24:58 -05:00
mach-bcmstb
mach-davinci board: omapl138_lcdk: add the mmc device to SPL 2019-12-03 08:44:14 -05:00
mach-exynos common: Move some cache and MMU functions out of common.h 2019-12-02 18:23:55 -05:00
mach-highbank
mach-imx mach-imx: bootaux: elf firmware support 2020-01-07 10:26:56 +01:00
mach-integrator
mach-k3 arm: mach-k3: Enable WA for R5F deadlock 2020-01-03 09:47:11 -05:00
mach-keystone common: Move some cache and MMU functions out of common.h 2019-12-02 18:23:55 -05:00
mach-kirkwood common: Move command functions out of common.h 2019-12-02 18:25:02 -05:00
mach-mediatek ARM: MediaTek: add basic support for MT8518 boards 2019-12-03 12:00:03 -05:00
mach-meson common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
mach-mvebu common: Move board_get_usable_ram_top() out of common.h 2019-12-02 18:25:04 -05:00
mach-omap2 ARM: DRA7: Fixup DSP OPP_HIGH clock rate on DRA76P/DRA77P SoCs 2019-12-09 14:00:24 -05:00
mach-orion5x common: Move some cache and MMU functions out of common.h 2019-12-02 18:23:55 -05:00
mach-owl
mach-qemu
mach-rmobile common: Move some cache and MMU functions out of common.h 2019-12-02 18:23:55 -05:00
mach-rockchip rockchip: add description for TPL_ROCKCHIP_COMMON_BOARD 2019-12-27 14:26:13 +08:00
mach-s5pc1xx common: Move some cache and MMU functions out of common.h 2019-12-02 18:23:55 -05:00
mach-snapdragon arm: mach-snapdragon: pinctrl: clarify gpio disable bit 2019-01-25 12:12:56 -05:00
mach-socfpga common: Move some cache and MMU functions out of common.h 2019-12-02 18:23:55 -05:00
mach-sti
mach-stm32 mach-stm32: Fix MPU region size dedicated to SDRAM for STM32F4 2019-06-28 09:45:27 +02:00
mach-stm32mp stm32mp1: remove the imply BOOTSTAGE 2019-12-18 11:58:36 +01:00
mach-sunxi common: Move some cache and MMU functions out of common.h 2019-12-02 18:23:55 -05:00
mach-tegra net: Always build the string_to_enetaddr() helper 2019-12-09 09:47:41 -06:00
mach-uniphier common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
mach-versal arm64: xilinx: Move firmware functions from platform to driver 2019-10-24 13:37:01 +02:00
mach-versatile
mach-zynq common: Move some cache and MMU functions out of common.h 2019-12-02 18:23:55 -05:00
mach-zynqmp common: Move some board functions out of common.h 2019-12-02 18:25:21 -05:00
mach-zynqmp-r5
thumb1/include/asm/proc-armv
config.mk
Kconfig arch/arm/Kconfig: typo/grammar/punctuation fixes 2020-01-02 10:27:23 -05:00
Kconfig.debug
Makefile arm: -march=armv5t for ARM11 2019-12-09 10:36:00 -05:00