u-boot-brain/common
Nishanth Menon ddf56bc7e3 drivers: Introduce a simplified remoteproc framework
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: Simon Glass <sjg@chromium.org>
Signed-off-by: Nishanth Menon <nm@ti.com>
Acked-by: Simon Glass <sjg@chromium.org>
2015-10-22 14:18:38 -04:00
..
spl malloc_simple: Add support for switching to DRAM heap 2015-10-20 18:40:27 +02:00
aboot.c aboot: fix block addressing for don't care chunk type 2014-10-27 17:54:09 -04:00
autoboot.c autoboot.c: Add feature to stop autobooting via SHA256 encrypted password 2015-06-08 17:32:40 -04:00
bedbug.c Consolidate bool type 2013-04-01 16:33:52 -04:00
board_f.c NDS32: Generic Board Support and Unsupport 2015-08-28 11:46:35 -04:00
board_info.c generic-board: allow showing custom board info 2015-08-13 07:19:36 -04:00
board_r.c NDS32: Generic Board Support and Unsupport 2015-08-28 11:46:35 -04:00
bootm_os.c image: bootm: Add OpenRTOS image type 2015-01-14 11:37:39 -05:00
bootm.c Add support for LZ4 decompression algorithm 2015-10-11 17:12:10 -04:00
bootretry.c Rename bootretry functions and remove #ifdefs 2014-05-29 17:49:00 -04:00
bootstage.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
bouncebuf.c Fix a few printf argument verification warnings 2014-09-15 13:32:55 -04:00
cli_hush.c Revert "hush: fix segfault on syntax error" 2014-11-24 12:06:06 -05:00
cli_readline.c spl, common, serial: build SPL without serial support 2015-08-12 20:47:13 -04:00
cli_simple.c cli_simple.c: fix possible overflow when copying the string 2015-09-15 15:04:53 -04:00
cli.c of: clean up OF_CONTROL ifdef conditionals 2015-08-18 13:46:05 -04:00
cmd_aes.c aes: Add 'aes' command to access AES-128-CBC 2014-03-21 16:43:58 -04:00
cmd_ambapp.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
cmd_armflash.c common/armflash: load_image returns success or failure 2015-10-11 17:12:04 -04:00
cmd_bdinfo.c common/cmd_bdinfo: show gd->board_type 2015-06-11 08:29:14 -04:00
cmd_bedbug.c Use run_command_repeatable() 2014-06-11 16:25:47 -04:00
cmd_blob.c crypto/fsl: Make function names consistent for blob encapsulation/decapsulation. 2015-02-25 13:19:48 -08:00
cmd_bmp.c Remove typedefs from bmp_layout.h 2015-06-10 19:26:54 -06:00
cmd_boot.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
cmd_bootldr.c Blackfin: bootldr: use common defines 2011-04-08 00:44:27 -04:00
cmd_bootm.c Combine bootm_find_<thing> functions together 2015-05-28 08:18:21 -04:00
cmd_bootmenu.c Remove unnecessary use of hush header file 2014-05-29 17:45:31 -04:00
cmd_bootstage.c Kconfig: Move CONFIG_BOOTSTAGE to Kconfig 2015-04-18 11:11:37 -06:00
cmd_cache.c common: commands: make commands static 2014-07-18 17:53:23 -04:00
cmd_cbfs.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
cmd_clk.c common: Add new clk command 2014-02-04 16:32:20 +01:00
cmd_console.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
cmd_cplbinfo.c various cmd_* files: fixed layout a little bit 2010-08-09 01:07:37 +02:00
cmd_cpu.c dm: cpu: Fix undefined ENOSYS build error 2015-07-14 18:03:15 -06:00
cmd_cramfs.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
cmd_dataflash_mmc_mux.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
cmd_date.c cmd: date: Change to use CONFIG_DM_RTC instead of CONFIG_DM_I2C 2015-07-14 18:03:16 -06:00
cmd_dcr.c Add cli_ prefix to readline functions 2014-05-29 17:45:31 -04:00
cmd_demo.c common: Make sure arch-specific map_sysmem() is defined 2015-04-18 11:11:09 -06:00
cmd_dfu.c dfu: command: Extend "dfu" command to handle receiving data via TFTP 2015-09-07 13:41:05 +02:00
cmd_diag.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
cmd_disk.c bootm: make use of legacy image format configurable 2014-06-05 14:44:56 -04:00
cmd_display.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
cmd_dtt.c Coding Style cleanup: remove trailing white space 2013-10-14 16:06:53 -04:00
cmd_echo.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
cmd_eeprom.c cmd_eeprom: make it possible to define the used i2c bus 2015-02-17 10:42:53 +01:00
cmd_efi.c efi: Add a command to display the memory map 2015-08-05 08:44:07 -06:00
cmd_elf.c cmd: bootvx: Add asmlinkage to the VxWorks x86 entry 2015-10-21 07:46:26 -06:00
cmd_ethsw.c drivers/net/vsc9953: Add commands for VLAN ingress filtering 2015-09-21 08:29:48 -07:00
cmd_exit.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
cmd_ext2.c Fix help text of ext2load and fatload. 2014-07-22 07:44:25 -04:00
cmd_ext4.c ext4: Prepare API change for files greater than 2GB 2014-11-23 06:49:04 -05:00
cmd_fastboot.c fastboot: Dynamic controller index for usb_gadget_handle_interrupts 2015-07-22 08:57:53 +02:00
cmd_fat.c common: Make sure arch-specific map_sysmem() is defined 2015-04-18 11:11:09 -06:00
cmd_fdc.c bootm: make use of legacy image format configurable 2014-06-05 14:44:56 -04:00
cmd_fdt.c cmd_fdt: save fdtaddr in hex format 2015-07-20 07:21:47 -06:00
cmd_fitupd.c update: tftp: dfu: Extend update_tftp() function to support DFU 2015-09-07 13:41:05 +02:00
cmd_flash.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
cmd_fpga.c fpga: Extend dump description 2015-01-30 09:19:17 -05:00
cmd_fpgad.c common: Fix cmd_fpgad addressing 2014-11-19 08:48:41 +01:00
cmd_fs_uuid.c fs: make it possible to read the filesystem UUID 2014-11-23 06:49:01 -05:00
cmd_fs.c fs: Add command to retrieve the filesystem type 2015-01-29 13:36:54 -05:00
cmd_fuse.c cmd_fuse: return CMD_RET_FAILURE on error 2014-12-08 09:35:43 -05:00
cmd_gettime.c cmd: Fix gettime command help 2015-01-30 09:19:16 -05:00
cmd_gpio.c Merge git://git.denx.de/u-boot-dm 2014-10-26 14:03:08 -04:00
cmd_gpt.c gpt: support random UUIDs without setting environment variables 2015-03-05 11:17:53 -05:00
cmd_hash.c Fix hash verification 2014-12-29 16:31:24 -05:00
cmd_help.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
cmd_host.c sandbox: Implement host dev [device] 2015-04-19 14:45:57 -06:00
cmd_i2c.c dm: i2c: Add a command to adjust the offset length 2015-08-31 07:57:28 -06:00
cmd_ide.c cmd_ide: Eliminate build warnings in atapi_inquiry() 2015-06-04 02:39:39 -06:00
cmd_immap.c powerpc: mpc8260: consolidate CONFIG_MPC8260 and CONFIG_8260 2014-03-07 10:59:06 -05:00
cmd_ini.c SPDX-License-Identifier: convert BSD-3-Clause files 2013-08-19 15:45:35 -04:00
cmd_io.c common/cmd_io.c: Fix incorrect help for iod/iow 2014-10-27 17:54:09 -04:00
cmd_iotrace.c Add an I/O tracing feature 2014-06-20 11:54:29 -06:00
cmd_irq.c Coding Style cleanup: remove trailing white space 2013-10-14 16:06:53 -04:00
cmd_itest.c Fix itest mask overflow 2014-06-05 14:38:38 -04:00
cmd_jffs2.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
cmd_ldrinfo.c Blackfin: ldrinfo: new command 2011-04-08 00:44:27 -04:00
cmd_led.c cmd_led: Extend led command to support blinking and more leds 2015-04-23 09:43:08 -04:00
cmd_license.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
cmd_load.c Export redesign 2015-01-29 17:09:57 -07:00
cmd_log.c stdio: Pass device pointer to stdio methods 2014-07-23 14:07:23 +01:00
cmd_lzmadec.c common: Make sure arch-specific map_sysmem() is defined 2015-04-18 11:11:09 -06:00
cmd_mac.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
cmd_md5sum.c common: Make sure arch-specific map_sysmem() is defined 2015-04-18 11:11:09 -06:00
cmd_mdio.c net: add support for extended registers to mdio command 2013-11-22 16:50:52 -06:00
cmd_mem.c meminfo cmd: Enable printing >=4GiB SDRAM sizes 2015-05-28 08:18:21 -04:00
cmd_mfsl.c common: fsl: Fix broken SPDX-License-Identifier change 2013-10-16 09:24:38 -04:00
cmd_mii.c mii: add read-modify-write option to mii command 2015-04-20 17:57:12 -05:00
cmd_misc.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
cmd_mmc_spi.c mmc: Split mmc struct, rework mmc initialization (v2) 2014-03-24 12:58:56 +02:00
cmd_mmc.c mmc: Implement SD/MMC versioning properly 2015-02-23 19:34:29 +02:00
cmd_mp.c cmd_mp: Add support for showing all CPU status by one command 2015-07-28 11:56:29 +02:00
cmd_mtdparts.c Fix a few printf argument verification warnings 2014-09-15 13:32:55 -04:00
cmd_nand.c mtd, nand: Move common functions from cmd_nand.c to common place 2015-06-30 00:40:11 +05:30
cmd_net.c net: cosmetic: Fix checkpatch.pl failures in net.c 2015-04-18 11:11:35 -06:00
cmd_nvedit.c env: Distinguish finer between source of env change 2015-05-21 09:13:19 -04:00
cmd_onenand.c mtd, nand: Move common functions from cmd_nand.c to common place 2015-06-30 00:40:11 +05:30
cmd_otp.c Add the function 'confirm_yesno' for interactive 2014-05-23 11:53:05 +03:00
cmd_part.c common: cmd_part: start and size sub-commands introduction 2015-06-19 16:46:47 -04:00
cmd_pci.c dm: pci: Add a uclass for PCI 2015-04-16 19:27:43 -06:00
cmd_pcmcia.c powerpc: mpc824x: remove MPC824X cpu support 2015-01-05 12:08:55 -05:00
cmd_pmic.c common: cmd pmic: command cleanup 2015-05-14 19:58:34 -06:00
cmd_portio.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
cmd_pxe.c pxe: add AArch64 image support 2015-07-27 15:53:48 -07:00
cmd_read.c Add a command to read raw blocks from a partition 2012-12-11 13:17:33 -07:00
cmd_reginfo.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
cmd_regulator.c dm: pmic: Display the regulator limits on error 2015-08-05 21:06:13 -06:00
cmd_reiser.c cmd_reiser: normalize 'file not found' errors 2013-11-08 15:25:13 -05:00
cmd_remoteproc.c drivers: Introduce a simplified remoteproc framework 2015-10-22 14:18:38 -04:00
cmd_sata.c cmd_sata: implement sata stop command 2014-11-24 12:00:00 +01:00
cmd_scsi.c scsi: fix compiler warning with DEBUG and 48bit LBAs 2015-07-11 08:01:54 -04:00
cmd_setexpr.c Use map_sysmem when accessing memory in setexpr 2015-05-14 07:03:15 -04:00
cmd_sf.c sf: allocate cache aligned buffers to copy from flash 2015-08-17 23:29:14 +05:30
cmd_sha1sum.c includes: move openssl headers to include/u-boot 2014-06-19 11:19:04 -04:00
cmd_softswitch.c blackfin: bf609: add softswitch config command 2013-05-13 16:26:12 +08:00
cmd_sound.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
cmd_source.c common/cmd_source.c: Fix the source command failure under 64-bit platform 2015-08-12 20:47:56 -04:00
cmd_spi.c dm: spi: Adjust cmd_spi to work with driver model 2014-10-22 10:36:47 -06:00
cmd_spibootldr.c various cmd_* files: fixed layout a little bit 2010-08-09 01:07:37 +02:00
cmd_spl.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
cmd_strings.c Convert cmd_usage() calls in common to use a return value 2012-03-06 21:09:46 +01:00
cmd_terminal.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
cmd_test.c mtd, nand: Move common functions from cmd_nand.c to common place 2015-06-30 00:40:11 +05:30
cmd_thordown.c usb: gadget: thor: Invoke board specific USB cleanup interface 2015-04-14 05:48:11 +02:00
cmd_time.c cmd_time: do not show ticks 2014-05-12 15:19:46 -04:00
cmd_tpm_test.c dm: tpm: Add a 'tpmtest' command 2015-08-31 07:57:29 -06:00
cmd_tpm.c tpm: Add a 'tpm info' command 2015-08-31 07:57:29 -06:00
cmd_trace.c common: Make sure arch-specific map_sysmem() is defined 2015-04-18 11:11:09 -06:00
cmd_tsi148.c dm: pci: Add support for PCI driver matching 2015-07-21 17:39:38 -06:00
cmd_ubi.c Move malloc_cache_aligned() to its own header 2015-09-11 17:15:16 -04:00
cmd_ubifs.c mtd, ubi, ubifs: resync with Linux-3.14 2014-08-25 19:25:55 -04:00
cmd_universe.c Coding Style cleanup: remove trailing white space 2013-10-14 16:06:53 -04:00
cmd_unzip.c unzip: add gzwrite command to write compressed image to block device 2015-04-22 12:14:55 -04:00
cmd_usb_mass_storage.c cmd_usb_mass_storage: Use 'USB Mass Storage' in the help text 2015-04-14 09:50:47 +02:00
cmd_usb.c Move ALLOC_CACHE_ALIGN_BUFFER() to the new memalign.h header 2015-09-11 17:15:20 -04:00
cmd_version.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
cmd_ximg.c common: Make sure arch-specific map_sysmem() is defined 2015-04-18 11:11:09 -06:00
cmd_yaffs2.c cmd_yaffs: Clean up command usage messages 2015-03-05 20:13:20 -05:00
cmd_zfs.c cmd_zfs: normalize 'file not found' errors 2013-11-08 15:25:13 -05:00
cmd_zip.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
command.c NDS32: Generic Board Support and Unsupport 2015-08-28 11:46:35 -04:00
console.c sandbox: Drop special-case sandbox console code 2015-07-21 17:39:22 -06:00
cros_ec.c cros_ec: Remove unused cros_ec_board_init() function 2015-04-18 11:11:16 -06:00
ddr_spd.c driver/ddr/fsl: Add DDR4 support to Freescale DDR driver 2014-04-22 17:58:48 -07:00
dlmalloc.c Move initf_malloc() to a common place 2015-04-23 09:05:53 -06:00
dlmalloc.src Consolidate bool type 2013-04-01 16:33:52 -04:00
edid.c edid: Add a function to read detailed monitor timings 2015-05-13 09:24:10 -07:00
env_attr.c env: Add regex support to env_attrs 2015-05-21 09:13:19 -04:00
env_callback.c env: Allow env_attr_walk to pass a priv * to callback 2015-05-21 09:13:19 -04:00
env_common.c Add option -r to env import to allow import of text files with CRLF as line endings 2014-07-22 07:44:26 -04:00
env_dataflash.c env: Add env_export() wrapper 2014-03-21 16:43:59 -04:00
env_eeprom.c env_eeprom.c: Correct using saved environment 2015-10-12 10:33:31 -04:00
env_embedded.c nand_spl: remove nand_spl infrastructure 2014-06-05 17:01:59 -04:00
env_fat.c Move ALLOC_CACHE_ALIGN_BUFFER() to the new memalign.h header 2015-09-11 17:15:20 -04:00
env_flags.c common/env_flags.c: Add function to validate a MAC address 2015-09-21 08:29:47 -07:00
env_flash.c env_flash.c: Drop unused variables 2014-04-17 17:44:36 -04:00
env_mmc.c Move ALLOC_CACHE_ALIGN_BUFFER() to the new memalign.h header 2015-09-11 17:15:20 -04:00
env_nand.c Move ALLOC_CACHE_ALIGN_BUFFER() to the new memalign.h header 2015-09-11 17:15:20 -04:00
env_nowhere.c Coding Style cleanup: remove trailing white space 2013-10-14 16:06:53 -04:00
env_nvram.c env: Add env_export() wrapper 2014-03-21 16:43:59 -04:00
env_onenand.c env: Add env_export() wrapper 2014-03-21 16:43:59 -04:00
env_remote.c Coding Style cleanup: remove trailing white space 2013-10-14 16:06:53 -04:00
env_sf.c env: use cache line aligned memory for flash read 2015-08-17 23:29:14 +05:30
env_ubi.c Move ALLOC_CACHE_ALIGN_BUFFER() to the new memalign.h header 2015-09-11 17:15:20 -04:00
exports.c board/ls2085rdb: Export functions for standalone AQ FW load apps 2015-07-20 11:44:37 -07:00
fb_mmc.c fastboot: check for alias when looking up partition by name 2015-04-14 10:19:04 +02:00
fdt_support.c fdt: prevent clearing memory node if there are no banks 2015-07-20 07:21:47 -06:00
flash.c mpc8xx: remove SPD823TS board support 2015-01-05 12:08:51 -05:00
hash.c autoboot.c: Add feature to stop autobooting via SHA256 encrypted password 2015-06-08 17:32:40 -04:00
hwconfig.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
image-android.c image: fix support for Android boot images with no ramdisk 2015-10-11 17:12:10 -04:00
image-fdt.c image-fdt.c: store returned error value 2015-08-13 07:19:37 -04:00
image-fit.c image-fit: Fix signature checking 2015-10-19 17:06:16 -04:00
image-sig.c image: Convert to use fdt_for_each_subnode macro 2015-02-16 12:41:41 -05:00
image.c common/image.c: Make boot_get_ramdisk() perform a check for Android images 2015-10-11 17:12:12 -04:00
iomux.c Coding Style cleanup: remove trailing white space 2013-10-14 16:06:53 -04:00
iotrace.c common: Make sure arch-specific map_sysmem() is defined 2015-04-18 11:11:09 -06:00
kallsyms.c Add support for Linux-like kallsysms 2009-06-12 20:45:48 +02:00
Kconfig drivers: Introduce a simplified remoteproc framework 2015-10-22 14:18:38 -04:00
kgdb_stubs.c kgdb: add default generic stubs 2010-01-18 00:23:00 +01:00
kgdb.c kgdb: Remove first_entry for kgdb 2014-09-16 12:23:56 -04:00
lcd_console_rotation.c common/lcd_console: introduce display/framebuffer rotation 2015-04-18 17:40:37 +02:00
lcd_console.c common/lcd_console: introduce display/framebuffer rotation 2015-04-18 17:40:37 +02:00
lcd_simplefb.c common/lcd_simplefb: Add support for 32bit organized framebuffers 2015-07-23 18:10:58 +02:00
lcd.c common/lcd_console: fix console/logo regression 2015-08-13 07:19:34 -04:00
lynxkdi.c checkpatch whitespace cleanups 2011-10-22 01:13:35 +02:00
main.c update: tftp: dfu: Extend update_tftp() function to support DFU 2015-09-07 13:41:05 +02:00
Makefile drivers: Introduce a simplified remoteproc framework 2015-10-22 14:18:38 -04:00
malloc_simple.c Merge git://git.denx.de/u-boot-x86 2015-10-21 20:47:40 -04:00
memsize.c common/memsize.c: Coding style cleanup 2015-01-14 11:35:43 -05:00
menu.c menu: Return an error code if Ctrl-C is pressed 2015-05-27 13:35:54 -04:00
miiphyutil.c dm: net: Adjust PHY interface to work with CONFIG_DM_ETH 2015-04-18 11:11:36 -06:00
modem.c modem.c: Switch to debug() from dbg found in common/console.c 2014-10-25 07:27:37 -04:00
s_record.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
splash_source.c common: convert compulab splash load code to common code 2015-01-29 17:44:08 +01:00
splash.c lcd: split splash code into its own function 2015-02-10 13:31:58 +01:00
stdio.c stdio: Fix memleak on stdio_deregister 2014-11-04 06:04:00 +01:00
system_map.c Add support for Linux-like kallsysms 2009-06-12 20:45:48 +02:00
update.c update: tftp: dfu: Extend update_tftp() function to support DFU 2015-09-07 13:41:05 +02:00
usb_hub.c Move ALLOC_CACHE_ALIGN_BUFFER() to the new memalign.h header 2015-09-11 17:15:20 -04:00
usb_kbd.c Move ALLOC_CACHE_ALIGN_BUFFER() to the new memalign.h header 2015-09-11 17:15:20 -04:00
usb_storage.c Move ALLOC_CACHE_ALIGN_BUFFER() to the new memalign.h header 2015-09-11 17:15:20 -04:00
usb.c Move ALLOC_CACHE_ALIGN_BUFFER() to the new memalign.h header 2015-09-11 17:15:20 -04:00
xyzModem.c common/xyzModem.c: move empty statements to newline 2014-06-11 16:27:06 -04:00