All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 0/3] imx: bootaux elf firmware support
@ 2017-03-29 19:58 Stefan Agner
  2017-03-29 19:58 ` [U-Boot] [PATCH 1/3] imx: imx-common: move aux core image parsing to common code Stefan Agner
                   ` (3 more replies)
  0 siblings, 4 replies; 25+ messages in thread
From: Stefan Agner @ 2017-03-29 19:58 UTC (permalink / raw)
  To: u-boot

From: Stefan Agner <stefan.agner@toradex.com>

This patchset enables to boot elf binaries on secondary Cortex-M
class cores available on i.MX 6SoloX/7Solo/7Dual. This makes
handling and loading firmwares much more convinient since all
information where the firmware has to be loaded to is contained in
the elf headers. A typical usage looks like this:

  Colibri iMX7 # tftp ${loadaddr} firmware.elf && bootaux ${loadaddr}
  Using FEC0 device
  TFTP from server 192.168.10.1; our IP address is 192.168.10.2
  Filename 'firmware.elf'.
  Load address: 0x80800000
  Loading: ##################################################  88.3 KiB
           5.4 MiB/s
  done
  Bytes transferred = 90424 (16138 hex)
  ## Starting auxiliary core at 0x1FFF8311 ...
  Colibri iMX7 #

Note that the bootaux command retrieved the entry point (PC) from
the elf binary. Also all sections are translated to A7 addresses
in order to properly load the firmware sections into the appropriate
locations. Also cache flushes is taken care of, so that there is no
manual dcache flush necessary anymore.

The NXP FreeRTOS BSP already generates elf binaries which can be
directly used with this elf binary support.

The last patch adds bootaux support for Vybrid.


Stefan Agner (3):
  imx: imx-common: move aux core image parsing to common code
  imx: imx-common: add elf firmware support
  ARM: vf610: add auxiliary core boot support

 arch/arm/cpu/armv7/mx6/soc.c                |  30 +++++---
 arch/arm/cpu/armv7/mx7/soc.c                |  34 ++++++---
 arch/arm/cpu/armv7/vf610/generic.c          |  42 +++++++++++
 arch/arm/imx-common/Kconfig                 |   2 +-
 arch/arm/imx-common/Makefile                |   4 +-
 arch/arm/imx-common/imx_bootaux.c           | 105 +++++++++++++++++++++++-----
 arch/arm/include/asm/arch-vf610/sys_proto.h |   8 +++
 arch/arm/include/asm/imx-common/sys_proto.h |   6 ++
 configs/colibri_vf_defconfig                |   1 +
 9 files changed, 198 insertions(+), 34 deletions(-)
 create mode 100644 arch/arm/include/asm/arch-vf610/sys_proto.h

-- 
2.12.1

^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2017-04-05 19:56 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-29 19:58 [U-Boot] [PATCH 0/3] imx: bootaux elf firmware support Stefan Agner
2017-03-29 19:58 ` [U-Boot] [PATCH 1/3] imx: imx-common: move aux core image parsing to common code Stefan Agner
2017-03-29 19:58 ` [U-Boot] [PATCH 2/3] imx: imx-common: add elf firmware support Stefan Agner
2017-03-29 19:58 ` [U-Boot] [PATCH 3/3] ARM: vf610: add auxiliary core boot support Stefan Agner
2017-04-03 11:20 ` [U-Boot] [PATCH 0/3] imx: bootaux elf firmware support Lukasz Majewski
2017-04-03 21:36   ` Stefan Agner
2017-04-03 22:07     ` Marek Vasut
2017-04-03 22:42       ` Stefan Agner
2017-04-03 23:34         ` Marek Vasut
2017-04-04  0:02           ` Stefan Agner
2017-04-04  8:46             ` Lukasz Majewski
2017-04-04  9:22             ` Marek Vasut
2017-04-04 17:57               ` Stefan Agner
2017-04-04 18:38                 ` Marek Vasut
2017-04-04 19:45                   ` Stefan Agner
2017-04-04 20:17                     ` Marek Vasut
2017-04-04 21:39                       ` Stefan Agner
2017-04-04  8:25       ` Lukasz Majewski
2017-04-04  8:23     ` Lukasz Majewski
2017-04-04 18:59       ` Stefan Agner
2017-04-05 15:15         ` Lukasz Majewski
2017-04-05 18:20           ` Stefan Agner
2017-04-05 19:10             ` Tom Rini
2017-04-05 19:54               ` Lukasz Majewski
2017-04-05 19:56               ` Stefan Agner

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.