new file mode 100644
@@ -0,0 +1,6 @@
+header:
+ version: 14
+
+local_conf_header:
+ extsys: |
+ MACHINE_FEATURES += "corstone1000-extsys"
@@ -180,6 +180,12 @@ then run:
kas build meta-arm/kas/corstone1000-fvp.yml:meta-arm/ci/debug.yml
+By default, the external system is disabled. To build the Corstone-1000 image with external system enabled, run:
+
+::
+
+ kas build meta-arm/kas/corstone1000-<fvp,mps3>.yml:meta-arm/ci/debug.yml:meta-arm/kas/corstone1000-extsys.yml
+
The initial clean build will be lengthy, given that all host utilities are to
be built as well as the target images. This includes host executables (python,
cmake, etc.) and the required toolchain(s).
@@ -1444,6 +1450,7 @@ The above commands will delete the Platform key (PK) and allow the normal system
Testing the External System
---------------------------
+Before testing the external system, please make sure to build the Corstone-1000 image with external system enabled as mentioned in section `Building the software stack`_.
During Linux boot the remoteproc subsystem automatically starts
the external system.
@@ -64,6 +64,8 @@ SRC_URI:append = " \
file://0046-Corstone1000-Change-MMCOMM-buffer-location.patch \
file://0047-corstone1000-dts-add-external-system-node.patch \
file://0048-corstone1000-Enable-UEFI-Secure-boot.patch \
+ ${@bb.utils.contains('MACHINE_FEATURES', 'corstone1000-extsys', \
+ '', 'file://0049-corstone1000-purge-remoteproc-dts-node.patch' , d)} \
"
do_configure:append() {
new file mode 100644
@@ -0,0 +1,34 @@
+From 4e0ab7af882fcf498fd8beb4024ea024e6464cef Mon Sep 17 00:00:00 2001
+From: Harsimran Singh Tungal <harsimransingh.tungal@arm.com>
+Date: Wed, 14 Aug 2024 14:33:50 +0000
+Subject: [PATCH] corstone1000: purge remoteproc DTS node
+
+Purge remoteproc DTS node
+This is done to remove the remote proc node from the DTS passed
+to Linux from U-Boot because the device tree binding for remoteproc
+has not been upstreamed yet. Existence of remoteproc DTS node in Linux
+is causing dt-schema test for SystemReady-IR v2.0 certification to fail.
+
+Upstream-Status: Pending
+Signed-off-by: Harsimran Singh Tungal <harsimransingh.tungal@arm.com>
+---
+ board/armltd/corstone1000/corstone1000.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/board/armltd/corstone1000/corstone1000.c b/board/armltd/corstone1000/corstone1000.c
+index ef74dc9032..d474fce1b2 100644
+--- a/board/armltd/corstone1000/corstone1000.c
++++ b/board/armltd/corstone1000/corstone1000.c
+@@ -30,8 +30,7 @@ DT_NON_COMPLIANT_PURGE_LIST(foo) = {
+ { .node_path = "/soc/mhu@1b010000" },
+ { .node_path = "/soc/mhu@1b020000" },
+ { .node_path = "/soc/mhu@1b030000" },
+- { .node_path = "/soc/client" },
+- { .node_path = "/soc/extsys@1A010310" },
++ { .node_path = "/soc/remoteproc@1a010310" },
+ };
+
+ #define CORSTONE1000_KERNEL_PARTS 2
+--
+2.34.1
+
@@ -36,13 +36,21 @@ SRC_URI:append:corstone1000 = " ${@bb.utils.contains('MACHINE_FEATURES', \
'file://corstone1000_kernel_debug.cfg', \
'', \
d)}"
-
SRC_URI:append:corstone1000 = " \
- file://extsys.cfg \
- file://0001-remoteproc-Add-Arm-remoteproc-driver.patch \
- file://0002-arm64-dts-Add-corstone1000-external-system-device-no.patch \
- file://0003-dt-bindings-remoteproc-Add-Arm-remoteproc.patch \
- "
+ ${@bb.utils.contains( \
+ 'MACHINE_FEATURES', \
+ 'corstone1000-extsys', \
+ ' \
+ file://extsys.cfg \
+ file://0001-remoteproc-Add-Arm-remoteproc-driver.patch \
+ file://0002-arm64-dts-Add-corstone1000-external-system-device-no.patch \
+ file://0003-dt-bindings-remoteproc-Add-Arm-remoteproc.patch \
+ ', \
+ '', \
+ d \
+ ) \
+ } \
+"
# Default kernel features not needed for corstone1000
# otherwise the extra kernel modules will increase the rootfs size