Skip to content
Snippets Groups Projects
user avatar
Nishanth Menon authored
Many System on Chip(SoC) solutions are complex with multiple processors
on the same die dedicated to either general purpose of specialized
functions. Many examples do exist in today's SoCs from various vendors.
Typical examples are micro controllers such as an ARM M3/M0 doing a
offload of specific function such as event integration or power
management or controlling camera etc.

Traditionally, the responsibility of loading up such a processor with a
firmware and communication has been with a High Level Operating
System(HLOS) such as Linux. However, there exists classes of products
where Linux would need to expect services from such a processor or the
delay of Linux and operating system being able to load up such a
firmware is unacceptable.

To address these needs, we need some minimal capability to load such a
system and ensure it is started prior to an Operating System(Linux or
any other) is started up.

NOTE: This is NOT meant to be a solve-all solution, instead, it tries to
address certain class of SoCs and products that need such a solution.

A very simple model is introduced here as part of the initial support
that supports microcontrollers with internal memory (no MMU, no
execution from external memory, or specific image format needs). This
basic framework can then (hopefully) be extensible to other complex SoC
processor support as need be.

Reviewed-by: default avatarSimon Glass <sjg@chromium.org>
Signed-off-by: default avatarNishanth Menon <nm@ti.com>
Acked-by: default avatarSimon Glass <sjg@chromium.org>
ddf56bc7
History
Name Last commit Last update
..
DocBook
SPI
SPL
device-tree-bindings
driver-model
uImage.FIT
I2C_Edge_Conditions
README.440-DDR-performance
README.AMCC-eval-boards-cleanup
README.ARC
README.ARM-memory-map
README.AVR32
README.AVR32-port-muxing
README.Heterogeneous-SoCs
README.JFFS2
README.JFFS2_NAND
README.LED
README.LED_display
README.MPC866
README.Modem
README.N1213
README.NDS32
README.NetConsole
README.OFT
README.POST
README.SNTP
README.SPL
README.TPL
README.VLAN
README.VSC3316-3308
README.ag101p
README.android-fastboot
README.android-fastboot-protocol
README.arm-caches
README.arm-relocation
README.arm64
README.at91
README.at91-soc
README.atmel_mci
README.atmel_pmecc
README.autoboot
README.b4860qds
README.bedbug
README.bitbangMII
README.blackfin
README.bootmenu
README.bus_vcxk
README.cfi
README.clang
README.commands
README.commands.itest
README.commands.spl
README.console
README.davinci
README.davinci.nand_spl
README.dfutftp
README.displaying-bmps
README.distro
README.dns
README.drivers.eth
README.efi
README.enetaddr
README.esbc_validate
README.ext4
README.falcon
README.fdt-control
README.fec_mxc
README.fsl-ddr
README.fsl-dpaa
README.fsl-esdhc
README.fsl-hwconfig
README.fsl-trustzone-components
README.fsl_iim
README.fuse
README.generic-board
README.generic_usb_ohci
README.gpt
README.hwconfig
README.i2c
README.idma2intr
README.imx25
README.imx27
README.imx31
README.imx5
README.imx6
README.imximage
README.iomux
README.kconfig
README.kwbimage
README.link-local
README.lynxkdi
README.m54418twr
README.m68k
README.malta
README.marubun-pcmcia
README.memory-test
README.menu
README.mips
README.mpc5xx
README.mpc74xx