extmod/modopenamp_remoteproc: Add new OpenAMP RemoteProc class.

RemoteProc provides an API to load firmware and control remote processors.

Note: port-specific operations must be implemented to support this class.

Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
This commit is contained in:
iabdalkader
2024-02-20 14:09:42 +01:00
committed by Damien George
parent 14dae42fe7
commit 81aba8253a
6 changed files with 402 additions and 0 deletions

View File

@@ -32,6 +32,8 @@ SRC_EXTMOD_C += \
extmod/modnetwork.c \
extmod/modonewire.c \
extmod/modopenamp.c \
extmod/modopenamp_remoteproc.c \
extmod/modopenamp_remoteproc_store.c \
extmod/modos.c \
extmod/modplatform.c\
extmod/modrandom.c \
@@ -529,6 +531,10 @@ include $(TOP)/extmod/libmetal/libmetal.mk
INC += -I$(TOP)/$(OPENAMP_DIR)
CFLAGS += -DMICROPY_PY_OPENAMP=1
ifeq ($(MICROPY_PY_OPENAMP_REMOTEPROC),1)
CFLAGS += -DMICROPY_PY_OPENAMP_REMOTEPROC=1
endif
CFLAGS_THIRDPARTY += \
-I$(BUILD)/openamp \
-I$(TOP)/$(OPENAMP_DIR) \
@@ -547,6 +553,16 @@ SRC_OPENAMP_C += $(addprefix $(OPENAMP_DIR)/lib/,\
virtio_mmio/virtio_mmio_drv.c \
)
# OpenAMP's remoteproc source files.
ifeq ($(MICROPY_PY_OPENAMP_REMOTEPROC),1)
SRC_OPENAMP_C += $(addprefix $(OPENAMP_DIR)/lib/remoteproc/,\
elf_loader.c \
remoteproc.c \
remoteproc_virtio.c \
rsc_table_parser.c \
)
endif # MICROPY_PY_OPENAMP_REMOTEPROC
# Disable compiler warnings in OpenAMP (variables used only for assert).
$(BUILD)/$(OPENAMP_DIR)/lib/rpmsg/rpmsg_virtio.o: CFLAGS += -Wno-unused-but-set-variable
$(BUILD)/$(OPENAMP_DIR)/lib/virtio_mmio/virtio_mmio_drv.o: CFLAGS += -Wno-unused-but-set-variable