u-boot-brain/arch/arm/include/asm/mach-imx
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
..
boot_mode.h imx: boot_mode: Add FLEXSPI boot entry 2018-10-22 12:59:01 +02:00
dma.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
gpio.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
hab.h imx :hab: Add hab version command 2019-10-14 09:31:41 +02:00
imx-nandbcb.h imx: nandbcb: add support for i.MX7 2019-11-03 21:49:28 +01:00
imximage.cfg SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
iomux-v3.h imx: add i.MX8MN PE property 2019-11-05 10:27:18 +01:00
mx5_video.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
mxc_i2c.h i2c: mxc: add CONFIG_CLK support 2019-09-02 06:35:08 +02:00
rdc-sema.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
regs-apbh.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
regs-bch.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
regs-common.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
regs-gpmi.h imx: gpmi: add defines for hw randominizer 2019-11-03 21:49:10 +01:00
regs-lcdif.h imx: rename mx8m,MX8M to imx8m,IMX8M 2019-01-01 14:12:18 +01:00
regs-usbphy.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
sata.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
spi.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
sys_proto.h mach-imx: bootaux: elf firmware support 2020-01-07 10:26:56 +01:00
syscounter.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
video.h video: ipuv3: add DM_VIDEO support 2019-04-13 20:30:09 +02:00