summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--group/tf-l1-boot-tests-plat/stm32mp1-default:stm32mp1-sp_min.bl26
-rw-r--r--run_config/stm32mp1-sp_min.bl215
-rwxr-xr-xscript/gen_stm32mp1_test_yaml.sh38
-rw-r--r--script/lava-templates/stm32mp1-linux.yaml36
-rw-r--r--stm32mp1_utils.sh47
5 files changed, 142 insertions, 0 deletions
diff --git a/group/tf-l1-boot-tests-plat/stm32mp1-default:stm32mp1-sp_min.bl2 b/group/tf-l1-boot-tests-plat/stm32mp1-default:stm32mp1-sp_min.bl2
new file mode 100644
index 00000000..e898a585
--- /dev/null
+++ b/group/tf-l1-boot-tests-plat/stm32mp1-default:stm32mp1-sp_min.bl2
@@ -0,0 +1,6 @@
+#
+# Copyright (c) 2019-2023 Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
diff --git a/run_config/stm32mp1-sp_min.bl2 b/run_config/stm32mp1-sp_min.bl2
new file mode 100644
index 00000000..ca442266
--- /dev/null
+++ b/run_config/stm32mp1-sp_min.bl2
@@ -0,0 +1,15 @@
+#!/usr/bin/env bash
+#
+# Copyright (c) 2019-2023 Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+post_tf_archive() {
+ payload_type="sp_min_bl2" gen_sp_min_bl2_sd_layout
+}
+
+generate_lava_job() {
+ payload_type="sp_min_bl2" gen_stm32mp1_yaml
+}
+
diff --git a/script/gen_stm32mp1_test_yaml.sh b/script/gen_stm32mp1_test_yaml.sh
new file mode 100755
index 00000000..6055100c
--- /dev/null
+++ b/script/gen_stm32mp1_test_yaml.sh
@@ -0,0 +1,38 @@
+#!/usr/bin/env bash
+#
+# Copyright (c) 2019-2022 Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+# Generate a YAML file in order to dispatch Juno runs on LAVA. Note that this
+# script would produce a meaningful output when run via. Jenkins
+#
+# $bin_mode must be set. This script outputs to STDOUT
+
+ci_root="$(readlink -f "$(dirname "$0")/..")"
+source "$ci_root/utils.sh"
+source "$ci_root/stm32mp1_utils.sh"
+payload_type=${payload_type:?}
+build_mode=$(echo $bin_mode | tr '[:lower:]' '[:upper:]')
+layout_file="FlashLayout_sdcard-stm32mp15x-eval.tsv"
+
+# There will be two types of tests, SP_min BL2 and OP-TEE
+# We do SP_min BL2 first
+case "$payload_type" in
+ sp_min_bl2)
+ job_name="SP_min BL2"
+ rep_bin_file="tf-a-stm32mp157c-ev1.stm32"
+ ;;
+esac
+
+if upon "$jenkins_run"; then
+ file_url="$jenkins_url/job/$JOB_NAME/$BUILD_NUMBER/artifact/artefacts/$bin_mode"
+else
+ file_url="file://$workspace/artefacts/$bin_mode"
+fi
+
+rep_bin_url="$file_url/$rep_bin_file"
+flash_layout_url="$file_url/$layout_file"
+
+expand_template "$(dirname "$0")/lava-templates/stm32mp1-linux.yaml"
diff --git a/script/lava-templates/stm32mp1-linux.yaml b/script/lava-templates/stm32mp1-linux.yaml
new file mode 100644
index 00000000..9717084d
--- /dev/null
+++ b/script/lava-templates/stm32mp1-linux.yaml
@@ -0,0 +1,36 @@
+device_type: stm32mp15x-eval
+job_name: stm32mp15x-eval $job_name test - $build_mode
+timeouts:
+ job:
+ minutes: 35
+ action:
+ minutes: 15
+ connection:
+ minutes: 5
+priority: medium
+visibility: public
+actions:
+- deploy:
+ timeout:
+ minutes: 30
+ to: flasher
+ images:
+ tarball:
+ url: https://images.validation.linaro.org/people.linaro.org/~theodore.grey/NEWSTM/stm32mp1_ev1_tarball.tar.gz
+ layout:
+ url: $flash_layout_url
+ rep_bin:
+ url: $rep_bin_url
+ os: oe
+- boot:
+ timeout:
+ minutes: 6
+ method: minimal
+- test:
+ timeout:
+ minutes: 10
+ interactive:
+ - name: int_1
+ prompts: ["Hit any key to stop autoboot"]
+ script:
+ - command:
diff --git a/stm32mp1_utils.sh b/stm32mp1_utils.sh
new file mode 100644
index 00000000..44427f88
--- /dev/null
+++ b/stm32mp1_utils.sh
@@ -0,0 +1,47 @@
+#!/usr/bin/env bash
+#
+# Copyright (c) 2019-2023 Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+set -u
+
+gen_sp_min_bl2_sd_layout() {
+ local layout_file="FlashLayout_sdcard-stm32mp15x-eval.tsv"
+ local payload_type=${payload_type:?}
+
+ case "$payload_type" in
+ sp_min_bl2)
+ cat <<EOF > $layout_file
+#Opt Id Name Type IP Offset Binary
+- 0x01 fsbl-boot Binary none 0x0 tf-a-stm32mp157c-ev1-usb.stm32
+- 0x03 fip-boot FIP none 0x0 fip-stm32mp157c-ev1-trusted.bin
+P 0x04 fsbl1 Binary mmc0 0x00004400 tf-a-stm32mp157c-ev1.stm32
+P 0x05 fsbl2 Binary mmc0 0x00044400 tf-a-stm32mp157c-ev1.stm32
+P 0x06 metadata1 Binary mmc0 0x00084400 metadata.bin
+P 0x07 metadata2 Binary mmc0 0x000C4400 metadata.bin
+P 0x08 fip-a FIP mmc0 0x00104400 fip-stm32mp157c-ev1-trusted.bin
+PED 0x09 fip-b FIP mmc0 0x00504400 none
+PED 0x0A u-boot-env Binary mmc0 0x00904400 none
+EOF
+ ;;
+ esac
+
+ archive_file "$layout_file"
+}
+
+gen_stm32mp1_yaml() {
+ local yaml_file="$workspace/stm32mp1.yaml"
+ local job_file="$workspace/job.yaml"
+ local payload_type="${payload_type:?}"
+
+ bin_mode="$mode" payload_type="$payload_type" \
+ "$ci_root/script/gen_stm32mp1_test_yaml.sh" > "$yaml_file"
+
+ cp "$yaml_file" "$job_file"
+ archive_file "$yaml_file"
+ archive_file "$job_file"
+}
+
+set +u