summaryrefslogtreecommitdiff
path: root/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0002-Platform-corstone1000-Add-IO-test-in-ci_regressions.patch
diff options
context:
space:
mode:
authorPatrick Williams <patrick@stwcx.xyz>2023-05-01 20:32:19 +0300
committerPatrick Williams <patrick@stwcx.xyz>2023-05-02 23:13:23 +0300
commit3f0e7fe608d732627279de0f7ad503a1cf43f701 (patch)
tree225b4c7889fa920dff3f12bc70948a00b690e294 /meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0002-Platform-corstone1000-Add-IO-test-in-ci_regressions.patch
parent59d1e4b3d5bdba3f4432efe41e3665e154da6804 (diff)
downloadopenbmc-3f0e7fe608d732627279de0f7ad503a1cf43f701.tar.xz
subtree updates2.14.0-rc1
meta-arm: 9b6c8c95e4..c60d7865dd: Adam Johnston (3): arm-bsp/optee: Update OP-TEE TA devkit to 3.20 for N1SDP CI: Remove ts-smm-gateway from N1SDP arm-bsp/trusted-firmware-a: Update N1SDP to v2.8.0 Denys Dmytriyenko (4): optee-os-tadevkit: remove old unused patches optee-client: add 3.20.0 version optee-test: add 3.20.0 version optee-examples: add 3.20.0 version Emekcan Aras (4): arm-bsp/trusted-firmware-m: apply patches correctly from external repos arm-bsp/trusted-firmware-m: Switch to TF-M BL1 in Corstone1000 arm-bsp/corstone1000: add OTP config for fvp arm-bsp/trusted-firmware-m: Increase assets number for corstone1000 Jon Mason (8): CI: dev kernel allow failure arm/linux-yocto: remove IP_VS config fragment CI: update to the latest kas version CI: track mickledore branch arm-bsp/tc1: Fix signed u-boot arm-bsp/tc1: Add FVP support arm/trusted-firmware-m-scripts: relocate to tfm directory arm-bsp/tc1: disable signed kernel image Peter Hoyes (1): arm/scp-firmware: Add support for components other than SCP, MCP Ross Burton (8): arm/scp-firmware: add recipe for 2.11 arm-bsp/scp-firmware: move all machines to SCP 2.11 arm/scp-firmware: remove 2.10 recipe arm/trusted-firmware-m: add the tf-m-extras repository that some machines need arm/trusted-firmware-m: clean up environment flags arm/trusted-firmware-m: package .elf files in PN-dbg arm-bsp/trusted-firmware-m: enable for Total Compute on RSS CI: add TF-M to TC build Rui Miguel Silva (1): arm-bsp/corstone1000: tf-m set/get fwu, private metadata using gpt Xueliang Zhong (3): arm-bsp/n1sdp-board-firmware: update to newer SHA arm-bsp/optee-os: N1SDP support for optee-os 3.20 arm-bsp/n1sdp: use edk2-firmware 202211 version meta-raspberrypi: 3afdbbf782..bf948e0aa8: Jesse Visser (2): recipe-bsp: Add support for Raspberry Pi Camera Module v3 docs: Update extra build config Raspberry Pi Camera Module section Rodrigo M. Duarte (1): python3-adafruit-blinka: Fix the correct python recipes path in dynamic-layer sub-dir poky: 0907793d5e..878271e1a1: Alex Kiernan (1): cargo_common.bbclass: Support local github repos Alexander Kanavin (3): rust: do not run separate build/install steps rust: install llvm item only once rust: update 1.67.1 -> 1.68.1 Bruce Ashfield (6): linux-yocto/6.1: update to v6.1.23 linux-yocto/5.15: update to v5.15.106 linux-yocto/6.1: update to v6.1.24 linux-yocto/5.15: update to v5.15.107 linux-yocto/6.1: update to v6.1.25 linux-yocto/5.15: update to v5.15.108 Chen Qi (1): bitbake: runqueue: fix PSI check calculation Chris Elledge (1): busybox: move hwclock init earlier in startup Denys Dmytriyenko (2): xz: upgrade 5.4.1 -> 5.4.2 grep: upgrade 3.9 -> 3.10 Enrico Jörns (10): oeqa/selftest/cases/runqemu: update imports oeqa/targetcontrol: fix misspelled RuntimeError oeqa/targetcontrol: do not set dump_host_cmds redundantly oeqa/targetcontrol: remove unused imports oeqa/utils/commands: fix usage of undefined EPIPE oeqa/utils/commands: remove unused imports oeqa/utils/qemurunner: replace hard-coded user 'root' in debug output oeqa/utils/qemurunner: limit precision of timing debugging output oeqa/utils/qemurunner: fix undefined TimeoutExpired oeqa: whitespace and indentation cleanups Enrico Scholz (2): bitbake: fetch2/crate: create versioned 'name' entries bitbake: cooker: do not abort on single ctrl-c Frederic Martinsons (6): cargo_common.bbclass: add support of user in url for patch devtool: add support for multiple git url inside a cargo based recipe patch: support of git patches when the source uri contained subpath parameter meta-selftest: provide a recipe for zvariant cargo-update-recipe-crates: force name overrides bitbake: fetch2: Display all missing checksum at once Geoffrey GIRY (1): cve-extra-exclusions: ignore inapplicable linux-yocto CVEs Kai Kang (1): bitbake: bitbake: ConfHandler: Allow variable flag name with a single character Lee Chee Yang (2): migration-guides: add release-notes for 4.0.9 release-notes-4.2: update RC3 changes Luca Ceresoli (1): devicetree.bbclass: fix typo Marek Vasut (1): cpio: Fix wrong CRC with ASCII CRC for large files Mark Asselstine (1): oeqa/selftest/bblogging: uncomment python stdout checks Mark Hatle (1): sanity.bbclass: Update minimum gcc version to 8.0 Marta Rybczynska (1): cve-update-nvd2-native: new CVE database fetcher Martin Jansa (7): selftest: imagefeatures.py: don't mix tabs and spaces for indentation selftest: runqemu: better check for ROOTFS: in the log selftest: runqemu: use better error message when asserts fail runqemu: respect IMAGE_LINK_NAME python3-cryptography-crates.inc: regenerate with updated bbclass python3-bcrypt-crates.inc: regenerate with updated bbclass selftest: efibootpartition.py: fix QEMU_USE_KVM usage Michael Opdenacker (8): manuals: update disk space requirements manuals: add rm_work disk space data manuals: add minimum RAM requirements ref-manual: release-process.rst: update testing section ref-manual: release-process.rst: major updates manuals: add "LTS" term manuals: improve and fix target for supported distros migration-guides: update 4.2 migration and release notes Mikko Rapeli (2): oeqa ping.py: avoid busylooping failing ping command oeqa ping.py: fail test if target IP address has not been set Mingli Yu (2): report-error: catch Nothing PROVIDES error bitbake: event: add bb.event.ParseError Paul Eggleton (20): bitbake: bitbake-user-manual: document BB_CACHEDIR bitbake: bitbake-user-manual: add addpylib and BB_GLOBAL_PYMODULES bitbake: bitbake-user-manual: add BB_HASH_CODEPARSER_VALS ref-manual: add new SDK_ZIP_OPTIONS variable ref-manual: Add new RUST_CHANNEL variable ref-manual: update for IMAGE_MACHINE_SUFFIX addition dev/ref-manual: Remove references to INC_PR ref-manual: add BB_CACHEDIR migration-guides: Add coverage of addpylib directive ref-manual: Remove references to package_tar class ref-manual: add missing QA checks from previous releases ref-manual: document new patch-status-* QA checks ref-manual: add FIT_CONF_DEFAULT_DTB ref-manual: add section link also to buildtools-extended entry ref-manual: add SDK_ARCHIVE_TYPE ref-manual: move Initramfs entry from variables to terms dev/ref-manual: Document INIT_MANAGER migration-guides: extend migration guide for 4.2 release-notes-4.1: fix some CVE links release-notes-4.2: add release notes Peter Kjellerstedt (1): cargo-update-recipe-crates.bbclass: Do not add name= to crate:// URIs Petr Kubizňák (11): harfbuzz: depend on glib-2.0-native json-glib: depend on glib-2.0-native libgudev: depend on glib-2.0-native at-spi2-core: depend on glib-2.0-native avahi: add missing dependencies graphene: add gobject-types PACKAGECONFIG python3-pygobject: depend on gobject-introspection gconf: add missing dependencies webkitgtk: add missing dependencies libnotify: depend on glib-2.0-native vte: depend on glib-2.0-native Richard Purdie (14): oeqa/loader: Ensure module names don't contain uppercase characters zvariant: Exclude from world for now to avoid reproducibility issues xdg-utils: Add a patch for CVE-2020-27748 cve-extra-exclusions.inc: Exclude some issues not present in linux-yocto xdg-utils: Fix CVE number bitbake: bitbake: Bump to version 2.4.0 build-appliance-image: Update to master head revision poky.conf: Bump version for 4.2 mickledore release build-appliance-image: Update to master head revision build-appliance-image: Update to master head revision cve-exclusions: Document some further linux-yocto CVE statuses build-appliance-image: Update to mickledore head revision build-appliance-image: Update to mickledore head revision build-appliance-image: Update to mickledore head revision Ross Burton (11): llvm: remove redundant CMake variables libgit2: clean up CMake variables webkitgtk: clean up Python variables oeqa/runtime: clean up deprecated backslash expansion classes-recipe/setuptools3-base: clean up FILES assignments bind: don't package non-existant .la files into -staticdev gstreamer1.0-plugins: package the internal libraries explicitly Increase minimum GCC version to 8.0 xserver-xorg: backport fix for CVE-2023-1393 screen: backport fix for CVE-2023-24626 go: backport fix for CVE-2023-24537 Soumya (1): shadow: Fix can not print full login timeout message Svend Meyland Nicolaisen (1): bitbake: npmsw fetcher: Avoid instantiating Fetch class if url list is empty Thomas De Schampheleire (3): qemu: make tracetool-generated output reproducible qemu: retain default trace backend if 'ust' is not enabled qemu: rename deprecated --enable-trace-backend configure option Tobias Hagelborn (1): lib/oe/gpg_sign.py: Avoid race when creating .sig files in detach_sign Ulrich Ölmann (2): kernel-dev: fix typos ref-manual: classes.rst: fix typo Wentao Zhang (1): python3: Fix failing sysconfig.py test on x86(64 bit) using lib64 as baselib by updating test_sysconfig for posix_user purelib Xiangyu Chen (1): shadow: backport patch to fix CVE-2023-29383 Yoann Congal (3): cve-extra-exclusions: ignore inapplicable linux-yocto CVEs cve-exclusions_6.1: ignore patched CVE-2022-38457 & CVE-2022-40133 cve-extra-exclusion: ignore disputed CVE-2023-23005 meta-openembedded: 17243e70c8..2d89a469e5: Armin Kuster (1): meta-openemnedded: Add myself as mickledore maintainer Bartosz Golaszewski (1): reboot-mode: put the build artifacts in ${B} Chen Qi (1): android-tools: fix systemd service setting Enrico Scholz (1): sox: remove ffmpeg dependency Etienne Cordonnier (4): uutils-coreutils: Add crates checksum uutils-coreutils: remove obsolete comment uutils-coreutils: upgrade 0.0.17 -> 0.0.18 uutils-coreutils: disable musl support Ever ATILANO (4): meta-python: python3-path: Add ptest meta-python: python3-lorem: Add ptest meta-oe: recipes-support: dc: Add ptest meta-oe: recipes-extended: bitwise: Add ptest Johannes Kirchmair (1): redirect unwanted error message in nginx install Kai Kang (5): xfce4-taskmanager: 1.5.2 -> 1.5.5 xfce4-terminal: 1.0.0 -> 1.0.4 syslog-ng: not deliver syslog-ng-update-virtualenv xfce4-notifyd: 0.6.3 -> 0.8.2 xfce4-screenshooter: 1.9.10 -> 1.10.3 Khem Raj (28): krb5: Fix build with autoconf 2.72 cyrus-sasl: Fix autoconf patch to work with new autoconf 2.72 gmime: Update to 3.2.13 imagemagick: Update to 7.1.1 mpv: Upgrade to 0.35.1 fwknop: Use pkg-config instead of gpgme-config fwknop: Fix AS_IF configure syntax libstemmer: Update to 2.2.0 libidn: Update largefile m4 macros emacs: Fix build with autconf 2.72+ ptest-packagelists-meta-oe: Remove minicoredumper from PTESTS_FAST_META_OE on musl poco: Remove pushd/popd from run-ptest surf: Fix build with gtkwebkit 2.40 libio-pty-perl: Fix build with musl/clang meta-gnome: Update patch status for several recipes libnet-ssleay-perl: Fix patch upstream status meta-xfce: Fix missing upstream status in patches meta-multimedia: Fix missing upstream status in several patches meta-webserver: Fix missing upstream status on patches babl: Drop clang10 workaround for mips/rv64 babl: Package /usr/lib/babl-0.1/ directory libtinyxml2: Add ptest support ptest-packagelists-meta-oe: Add libtinyxml2 minifi-cpp: Always use stat on 64bit linux libdnet: Upgrade to 1.16.3 python3-pyruvate: regenerate with updated bbclass monkey,webmin: Fix upstream patch status python3-pyruvate: Upgrade to 1.2.1 Leon Anavi (2): libpcsc-perl: Add recipe pcsc-tools: Add runtime dependencies Markus Volk (29): nv-codec-headers: add clean target to Makefile flatpak: update 1.15.3 -> 1.15.4 libcamera: re-introduce fix for gcc-13 polkit-gnome: add recipe eog: update 43.2 -> 44.0 evince: update 43.1 -> 44.0 gdm: update 43.0 -> 44.0 gnome-calculator: update 43.0.1 -> 44.0 gnome-calendar: update 43.1 -> 44.0 gnome-desktop: update 43 -> 44.0 gnome-disk-utility: update 43.0 -> 44.0 gnome-font-viewer: update 43.0 -> 44.0 gnome-online-accounts: update 3.46.0 -> 3.48.0 gnome-photos: update 43.0 -> 44.0 gnome-session: update 43.0 -> 44.0 gnome-settings-daemon: update 43.0 -> 44.0 gnome-shell-extensions: update 43.1 -> 44.0 gnome-software: update 43.4 -> 44.0 gnome-terminal: update 3.46.7 -> 3.48.0 gnome-text-editor: update 43.1 -> 44.0 tracker-miners: update 3.4.2 -> 3.5.0 zenity: update 3.43.0 -> 3.44.0 xdg-desktop-portal-gnome: update 43.1 -> 44.0 gedit: update 43.2 -> 44.2 evolution-data-server: build oauth with gtk+3 file-roller: set cpio path manually libdecor: update 1.1.0 -> 1.1.99 freerdp: set PROXY_PLUGINDIR libnfs: add recipe Martin Jansa (5): zsh: fix installed-vs-shipped with multilib restinio: fix S variable in multilib builds mongodb: fix chown user for multilib builds pahole: respect libdir lvgl,lv-lib-png,lv-drivers: fix installed-vs-shipped QA issue with multilib Mingli Yu (1): mcelog: improve the ptest output Peter Johennecken (1): nginx: added packagegroup for webdav module Peter Kjellerstedt (5): python3-crc32c: Correct the license information paho-mqtt-cpp: Improve the license information autossh: Correct the license information paho-mqtt-c: Improve the license information recipes: Remove double protocol= from SRC_URIs Tim Orling (11): cli11: do not inherit ptest span-lite: do not inherit ptest ptest-packagelists-meta-oe.inc: add ptest recipes meta-oe-ptest*-image: enable BBCLASSEXTEND parallel execution ptest-packagelists-meta-python.inc: add ptest recipes meta-python-ptest*-image: enable BBCLASSEXTEND parallel execution python3-aspectlib: fix ptest ptest-packagelists-meta-perl.inc: add ptest recipes recipes-perl/packagegroups: move to recipes-core/ recipes-perl/images: move to recipes-core meta-perl-ptest*-image: enable BBCLASSEXTEND parallel execution Ulrich Ölmann (1): jwt-cpp: enable usage in an SDK Wang Mingyu (40): abseil-cpp: upgrade 20230125.1 -> 20230125.2 libbytesize: upgrade 2.7 -> 2.8 gegl: upgrade 0.4.42 -> 0.4.44 ctags: upgrade 6.0.20230319.0 -> 6.0.20230402.0 libdeflate: upgrade 1.17 -> 1.18 libldb: upgrade 2.7.1 -> 2.7.2 ndisc6: upgrade 1.0.6 -> 1.0.7 libpfm4: upgrade 4.12.0 -> 4.13.0 libtraceevent: upgrade 1.7.1 -> 1.7.2 nginx: upgrade 1.23.3 -> 1.23.4 links: upgrade 2.28 -> 2.29 python3-pyproj: upgrade 3.4.1 -> 3.5.0 ostree: upgrade 2023.1 -> 2023.2 openvpn: upgrade 2.6.1 -> 2.6.2 python3-aenum: upgrade 3.1.11 -> 3.1.12 python3-argcomplete: upgrade 3.0.0 -> 3.0.5 python3-cassandra-driver: upgrade 3.25.0 -> 3.26.0 python3-astroid: upgrade 2.15.0 -> 2.15.1 python3-cmake: upgrade 3.26.0 -> 3.26.1 python3-dateparser: upgrade 1.1.7 -> 1.1.8 python3-google-api-python-client: upgrade 2.81.0 -> 2.83.0 python3-elementpath: upgrade 4.0.1 -> 4.1.0 python3-googleapis-common-protos: upgrade 1.58.0 -> 1.59.0 python3-httplib2: upgrade 0.21.0 -> 0.22.0 python3-google-auth: upgrade 2.16.2 -> 2.17.1 python3-ipython: upgrade 8.11.0 -> 8.12.0 python3-imageio: upgrade 2.26.0 -> 2.27.0 python3-pychromecast: upgrade 13.0.4 -> 13.0.6 python3-jdatetime: upgrade 4.1.0 -> 4.1.1 python3-luma-oled: upgrade 3.11.0 -> 3.12.0 python3-pydantic: upgrade 1.10.6 -> 1.10.7 python3-pymodbus: upgrade 3.2.1 -> 3.2.2 python3-pymisp: upgrade 2.4.169.2 -> 2.4.169.3 python3-pywbemtools: upgrade 1.1.1 -> 1.2.0 python3-redis: upgrade 4.5.1 -> 4.5.4 python3-regex: upgrade 2022.10.31 -> 2023.3.23 python3-typeguard: upgrade 3.0.1 -> 3.0.2 python3-sentry-sdk: upgrade 1.17.0 -> 1.18.0 python3-rich: upgrade 13.3.2 -> 13.3.3 python3-watchdog: upgrade 2.3.1 -> 3.0.0 Wentao Zhang (1): jemalloc: include the missing shell scripts and source the corresponds shell scripts for some test cases. Yi Zhao (1): samba: upgrade 4.18.0 -> 4.18.1 Zoltán Böszörményi (2): hplip: Fix installation and QA libgusb: Allow building in native mode meta-security: a397a38ed9..53c5cc794f: Anton Antonov (2): Fix PACKAGECONFIG check in Parsec OEQA tests Flush caches after OEQA tests Armin Kuster (6): checksecurity: update to 2.0.16 krill: forced to inclued fetch hashes. suricata: Fixup to work within the recent crate changes. suricata: Missed on crate depends parsec-tool: update SRC_URI hash parsec-service: fix SRC_URI hash Gowtham Suresh Kumar (2): meta-parsec: Disable RSA-OAEP OEQA tests for Parsec PKCS11 backend parsec-service: Update parsec recipes to 1.2.0 and parsec-tool to 0.6.0 Patrick Williams (1): libwhisker2-perl: adjust perl-version variable Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ifa3e92c95982d5d6c51f02a02237ad5820694569
Diffstat (limited to 'meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0002-Platform-corstone1000-Add-IO-test-in-ci_regressions.patch')
-rw-r--r--meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0002-Platform-corstone1000-Add-IO-test-in-ci_regressions.patch646
1 files changed, 0 insertions, 646 deletions
diff --git a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0002-Platform-corstone1000-Add-IO-test-in-ci_regressions.patch b/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0002-Platform-corstone1000-Add-IO-test-in-ci_regressions.patch
deleted file mode 100644
index a4da13ecfc..0000000000
--- a/meta-arm/meta-arm-bsp/recipes-bsp/trusted-firmware-m/files/corstone1000/0002-Platform-corstone1000-Add-IO-test-in-ci_regressions.patch
+++ /dev/null
@@ -1,646 +0,0 @@
-From 3bca7e6bae9a5017fff83b0a7d2d0d78b422a741 Mon Sep 17 00:00:00 2001
-From: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>
-Date: Mon, 7 Nov 2022 12:51:58 +0000
-Subject: [PATCH 02/10] Platform: corstone1000: Add IO test in ci_regressions
-
-The test is simply writing data on the edge of a block
-then reading back again.
-this test is preformed on two flash devices:
-- Nor Flash
-- Flash emu in the SRAM for testing
-
-Signed-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>
-Change-Id: I4950086e9e3dcbde29ab5b4ed5fe61fec7ebec86
-Upstream-Status: Accepted [TF-Mv1.8.0]
----
- .../ci_regression_tests/CMakeLists.txt | 10 +
- .../Driver_Flash_SRAM_Emu.c | 327 ++++++++++++++++++
- .../ci_regression_tests/s_io_storage_test.c | 147 ++++++++
- .../ci_regression_tests/s_io_storage_test.h | 15 +
- .../corstone1000/ci_regression_tests/s_test.c | 5 +
- .../ci_regression_tests/s_test_config.cmake | 5 +
- .../ci_regression_tests/test_flash.h | 25 ++
- 7 files changed, 534 insertions(+)
- create mode 100644 platform/ext/target/arm/corstone1000/ci_regression_tests/Driver_Flash_SRAM_Emu.c
- create mode 100644 platform/ext/target/arm/corstone1000/ci_regression_tests/s_io_storage_test.c
- create mode 100644 platform/ext/target/arm/corstone1000/ci_regression_tests/s_io_storage_test.h
- create mode 100644 platform/ext/target/arm/corstone1000/ci_regression_tests/test_flash.h
-
-diff --git a/platform/ext/target/arm/corstone1000/ci_regression_tests/CMakeLists.txt b/platform/ext/target/arm/corstone1000/ci_regression_tests/CMakeLists.txt
-index 9543e29e55..405b2b3702 100644
---- a/platform/ext/target/arm/corstone1000/ci_regression_tests/CMakeLists.txt
-+++ b/platform/ext/target/arm/corstone1000/ci_regression_tests/CMakeLists.txt
-@@ -17,12 +17,18 @@ target_sources(tfm_test_suite_extra_s
- PRIVATE
- ${CMAKE_CURRENT_SOURCE_DIR}/s_test.c
- ../Native_Driver/firewall.c
-+ ../io/io_storage.c
-+ ../io/io_block.c
-+ ../io/io_flash.c
-+ Driver_Flash_SRAM_Emu.c
-+ s_io_storage_test.c
- )
-
- target_include_directories(tfm_test_suite_extra_s
- PRIVATE
- ../Device/Include
- ../Native_Driver
-+ ../io
- )
-
- target_link_libraries(tfm_test_suite_extra_s
-@@ -33,4 +39,8 @@ target_link_libraries(tfm_test_suite_extra_s
- target_compile_definitions(tfm_test_suite_extra_s
- PRIVATE
- $<$<BOOL:${PLATFORM_IS_FVP}>:PLATFORM_IS_FVP>
-+ TEST_FLASH_SIZE_IN_BYTES=${TEST_FLASH_SIZE_IN_BYTES}
-+ TEST_FLASH_SECTOR_SIZE_IN_BYTES=${TEST_FLASH_SECTOR_SIZE_IN_BYTES}
-+ TEST_FLASH_PAGE_SIZE=${TEST_FLASH_PAGE_SIZE}
-+ TEST_FLASH_PROGRAM_UNIT=${TEST_FLASH_PROGRAM_UNIT}
- )
-diff --git a/platform/ext/target/arm/corstone1000/ci_regression_tests/Driver_Flash_SRAM_Emu.c b/platform/ext/target/arm/corstone1000/ci_regression_tests/Driver_Flash_SRAM_Emu.c
-new file mode 100644
-index 0000000000..06b6b51c09
---- /dev/null
-+++ b/platform/ext/target/arm/corstone1000/ci_regression_tests/Driver_Flash_SRAM_Emu.c
-@@ -0,0 +1,327 @@
-+/*
-+ * Copyright (c) 2013-2022 ARM Limited. All rights reserved.
-+ *
-+ * SPDX-License-Identifier: Apache-2.0
-+ *
-+ * Licensed under the Apache License, Version 2.0 (the License); you may
-+ * not use this file except in compliance with the License.
-+ * You may obtain a copy of the License at
-+ *
-+ * www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * Unless required by applicable law or agreed to in writing, software
-+ * distributed under the License is distributed on an AS IS BASIS, WITHOUT
-+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-+ * See the License for the specific language governing permissions and
-+ * limitations under the License.
-+ */
-+
-+#include <string.h>
-+#include <stdint.h>
-+#include "Driver_Flash.h"
-+#include "test_flash.h"
-+#include "tfm_sp_log.h"
-+
-+#ifndef ARG_UNUSED
-+#define ARG_UNUSED(arg) ((void)arg)
-+#endif
-+
-+/* Driver version */
-+#define ARM_FLASH_DRV_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(1, 1)
-+#define ARM_FLASH_DRV_ERASE_VALUE 0xFF
-+
-+
-+/**
-+ * There is no real flash memory. This driver just emulates a flash
-+ * interface and behaviour on top of the SRAM memory.
-+ */
-+
-+/**
-+ * Data width values for ARM_FLASH_CAPABILITIES::data_width
-+ * \ref ARM_FLASH_CAPABILITIES
-+ */
-+ enum {
-+ DATA_WIDTH_8BIT = 0u,
-+ DATA_WIDTH_16BIT,
-+ DATA_WIDTH_32BIT,
-+ DATA_WIDTH_ENUM_SIZE
-+};
-+
-+static const uint32_t data_width_byte[DATA_WIDTH_ENUM_SIZE] = {
-+ sizeof(uint8_t),
-+ sizeof(uint16_t),
-+ sizeof(uint32_t),
-+};
-+
-+
-+/*
-+ * ARM FLASH device structure
-+ *
-+ */
-+struct arm_flash_dev_t {
-+ const uint8_t* memory_base; /*!< FLASH memory base address */
-+ ARM_FLASH_INFO *data; /*!< FLASH data */
-+};
-+
-+/* Flash emulated memory */
-+static uint8_t flash_memory[TEST_FLASH_SIZE_IN_BYTES]
-+ __attribute__((aligned(TEST_FLASH_SECTOR_SIZE_IN_BYTES)));
-+
-+/* Flash Status */
-+static ARM_FLASH_STATUS FlashStatus = {0, 0, 0};
-+
-+/* Driver Version */
-+static const ARM_DRIVER_VERSION DriverVersion = {
-+ ARM_FLASH_API_VERSION,
-+ ARM_FLASH_DRV_VERSION
-+};
-+
-+/* Driver Capabilities */
-+static const ARM_FLASH_CAPABILITIES DriverCapabilities = {
-+ 0, /* event_ready */
-+ 0, /* data_width = 0:8-bit, 1:16-bit, 2:32-bit */
-+ 1 /* erase_chip */
-+};
-+
-+static int32_t is_range_valid(struct arm_flash_dev_t *flash_dev,
-+ uint32_t offset)
-+{
-+ uint32_t flash_limit = 0;
-+ int32_t rc = 0;
-+
-+ flash_limit = (flash_dev->data->sector_count * flash_dev->data->sector_size);
-+ if (offset > flash_limit) {
-+ rc = -1;
-+ }
-+ return rc;
-+}
-+
-+static int32_t is_write_aligned(struct arm_flash_dev_t *flash_dev,
-+ uint32_t param)
-+{
-+ int32_t rc = 0;
-+
-+ if ((param % flash_dev->data->program_unit) != 0) {
-+ rc = -1;
-+ }
-+ return rc;
-+}
-+
-+static int32_t is_sector_aligned(struct arm_flash_dev_t *flash_dev,
-+ uint32_t offset)
-+{
-+ int32_t rc = 0;
-+
-+ if ((offset % flash_dev->data->sector_size) != 0) {
-+ rc = -1;
-+ }
-+ return rc;
-+}
-+
-+static int32_t is_flash_ready_to_write(const uint8_t *start_addr, uint32_t cnt)
-+{
-+ int32_t rc = 0;
-+ uint32_t i;
-+
-+ for (i = 0; i < cnt; i++) {
-+ if(start_addr[i] != ARM_FLASH_DRV_ERASE_VALUE) {
-+ rc = -1;
-+ break;
-+ }
-+ }
-+
-+ return rc;
-+}
-+
-+static ARM_FLASH_INFO ARM_TEST_FLASH_DEV_DATA = {
-+ .sector_info = NULL,/* Uniform sector layout */
-+ .sector_count = TEST_FLASH_SIZE_IN_BYTES / TEST_FLASH_SECTOR_SIZE_IN_BYTES,
-+ .sector_size = TEST_FLASH_SECTOR_SIZE_IN_BYTES,
-+ .page_size = TEST_FLASH_PAGE_SIZE,
-+ .program_unit = TEST_FLASH_PROGRAM_UNIT,
-+ .erased_value = ARM_FLASH_DRV_ERASE_VALUE};
-+
-+static struct arm_flash_dev_t ARM_TEST_FLASH_DEV = {
-+ .memory_base = flash_memory,
-+ .data = &(ARM_TEST_FLASH_DEV_DATA)};
-+
-+static struct arm_flash_dev_t *TEST_FLASH_DEV = &ARM_TEST_FLASH_DEV;
-+
-+/*
-+ * Functions
-+ */
-+
-+static ARM_DRIVER_VERSION ARM_Flash_GetVersion(void)
-+{
-+ return DriverVersion;
-+}
-+
-+static ARM_FLASH_CAPABILITIES ARM_Flash_GetCapabilities(void)
-+{
-+ return DriverCapabilities;
-+}
-+
-+static int32_t ARM_Flash_Initialize(ARM_Flash_SignalEvent_t cb_event)
-+{
-+ ARG_UNUSED(cb_event);
-+
-+ if (DriverCapabilities.data_width >= DATA_WIDTH_ENUM_SIZE) {
-+ return ARM_DRIVER_ERROR;
-+ }
-+
-+ /* Nothing to be done */
-+ return ARM_DRIVER_OK;
-+}
-+
-+static int32_t ARM_Flash_Uninitialize(void)
-+{
-+ /* Nothing to be done */
-+ return ARM_DRIVER_OK;
-+}
-+
-+static int32_t ARM_Flash_PowerControl(ARM_POWER_STATE state)
-+{
-+ switch (state) {
-+ case ARM_POWER_FULL:
-+ /* Nothing to be done */
-+ return ARM_DRIVER_OK;
-+ break;
-+
-+ case ARM_POWER_OFF:
-+ case ARM_POWER_LOW:
-+ default:
-+ return ARM_DRIVER_ERROR_UNSUPPORTED;
-+ }
-+}
-+
-+static int32_t ARM_Flash_ReadData(uint32_t addr, void *data, uint32_t cnt)
-+{
-+ int32_t rc = 0;
-+
-+ /* The addr given is a relative address*/
-+ uint32_t offset = addr;
-+ addr += (uint32_t)(TEST_FLASH_DEV->memory_base);
-+
-+ /* Conversion between data items and bytes */
-+ cnt *= data_width_byte[DriverCapabilities.data_width];
-+
-+ /* Check flash memory boundaries */
-+ rc = is_range_valid(TEST_FLASH_DEV, offset + cnt);
-+ if (rc != 0) {
-+ return ARM_DRIVER_ERROR_PARAMETER;
-+ }
-+
-+ /* Flash interface just emulated over SRAM, use memcpy */
-+ memcpy(data, (void *)addr, cnt);
-+
-+ /* Conversion between bytes and data items */
-+ cnt /= data_width_byte[DriverCapabilities.data_width];
-+
-+ return cnt;
-+}
-+
-+static int32_t ARM_Flash_ProgramData(uint32_t addr, const void *data,
-+ uint32_t cnt)
-+{
-+ int32_t rc = 0;
-+
-+ /* The addr given is a relative address*/
-+ uint32_t offset = addr;
-+ addr += (uint32_t)(TEST_FLASH_DEV->memory_base);
-+
-+ /* Conversion between data items and bytes */
-+ cnt *= data_width_byte[DriverCapabilities.data_width];
-+
-+ /* Check flash memory boundaries and alignment with minimal write size */
-+ rc = is_range_valid(TEST_FLASH_DEV, offset + cnt);
-+ rc |= is_write_aligned(TEST_FLASH_DEV, offset);
-+ rc |= is_write_aligned(TEST_FLASH_DEV, cnt);
-+ if (rc != 0) {
-+ return ARM_DRIVER_ERROR_PARAMETER;
-+ }
-+
-+ /* Check if the flash area to write the data was erased previously */
-+ rc = is_flash_ready_to_write((const uint8_t*)addr, cnt);
-+ if (rc != 0) {
-+ return ARM_DRIVER_ERROR;
-+ }
-+
-+ /* Flash interface just emulated over SRAM, use memcpy */
-+ memcpy((void *)addr, data, cnt);
-+
-+ /* Conversion between bytes and data items */
-+ cnt /= data_width_byte[DriverCapabilities.data_width];
-+
-+ return cnt;
-+}
-+
-+static int32_t ARM_Flash_EraseSector(uint32_t addr)
-+{
-+ uint32_t rc = 0;
-+
-+ /* The addr given is a relative address*/
-+ uint32_t offset = addr;
-+ addr += (uint32_t)(TEST_FLASH_DEV->memory_base);
-+
-+ rc = is_range_valid(TEST_FLASH_DEV, offset);
-+ rc |= is_sector_aligned(TEST_FLASH_DEV, offset);
-+ if (rc != 0) {
-+ return ARM_DRIVER_ERROR_PARAMETER;
-+ }
-+
-+ /* Flash interface just emulated over SRAM, use memset */
-+ memset((void *)addr,
-+ TEST_FLASH_DEV->data->erased_value,
-+ TEST_FLASH_DEV->data->sector_size);
-+ return ARM_DRIVER_OK;
-+}
-+
-+static int32_t ARM_Flash_EraseChip(void)
-+{
-+ uint32_t i;
-+ uint32_t addr = TEST_FLASH_DEV->memory_base;
-+ int32_t rc = ARM_DRIVER_ERROR_UNSUPPORTED;
-+
-+ /* Check driver capability erase_chip bit */
-+ if (DriverCapabilities.erase_chip == 1) {
-+ for (i = 0; i < TEST_FLASH_DEV->data->sector_count; i++) {
-+ /* Flash interface just emulated over SRAM, use memset */
-+ memset((void *)addr,
-+ TEST_FLASH_DEV->data->erased_value,
-+ TEST_FLASH_DEV->data->sector_size);
-+
-+ addr += TEST_FLASH_DEV->data->sector_size;
-+ rc = ARM_DRIVER_OK;
-+ }
-+ }
-+ return rc;
-+}
-+
-+static ARM_FLASH_STATUS ARM_Flash_GetStatus(void)
-+{
-+ return FlashStatus;
-+}
-+
-+static ARM_FLASH_INFO * ARM_Flash_GetInfo(void)
-+{
-+ return TEST_FLASH_DEV->data;
-+}
-+
-+
-+/* Global Variables */
-+
-+ARM_DRIVER_FLASH Driver_TEST_FLASH = {
-+ ARM_Flash_GetVersion,
-+ ARM_Flash_GetCapabilities,
-+ ARM_Flash_Initialize,
-+ ARM_Flash_Uninitialize,
-+ ARM_Flash_PowerControl,
-+ ARM_Flash_ReadData,
-+ ARM_Flash_ProgramData,
-+ ARM_Flash_EraseSector,
-+ ARM_Flash_EraseChip,
-+ ARM_Flash_GetStatus,
-+ ARM_Flash_GetInfo
-+};
-+
-+uintptr_t flash_base_address = flash_memory;
-diff --git a/platform/ext/target/arm/corstone1000/ci_regression_tests/s_io_storage_test.c b/platform/ext/target/arm/corstone1000/ci_regression_tests/s_io_storage_test.c
-new file mode 100644
-index 0000000000..f8be384a74
---- /dev/null
-+++ b/platform/ext/target/arm/corstone1000/ci_regression_tests/s_io_storage_test.c
-@@ -0,0 +1,147 @@
-+/*
-+ * Copyright (c) 2022, Arm Limited. All rights reserved.
-+ *
-+ * SPDX-License-Identifier: BSD-3-Clause
-+ *
-+ */
-+
-+#include "s_io_storage_test.h"
-+
-+#include "Driver_Flash.h"
-+#include "flash_layout.h"
-+#include "io_block.h"
-+#include "io_driver.h"
-+#include "io_flash.h"
-+#include "tfm_sp_log.h"
-+
-+#define ARRAY_LENGTH(array) (sizeof(array) / sizeof(*(array)))
-+
-+extern ARM_DRIVER_FLASH Driver_FLASH0;
-+extern ARM_DRIVER_FLASH Driver_TEST_FLASH;
-+extern uintptr_t flash_base_address;
-+
-+void s_test_io_storage_multiple_flash_simultaneous(struct test_result_t *ret) {
-+ /* FLASH0 */
-+ static io_dev_connector_t* flash0_dev_con;
-+ static uint8_t local_block_flash0[FLASH_SECTOR_SIZE];
-+ ARM_FLASH_INFO* flash0_info = Driver_FLASH0.GetInfo();
-+ size_t flash0_block_size = flash0_info->sector_size;
-+ io_flash_dev_spec_t flash0_dev_spec = {
-+ .buffer = local_block_flash0,
-+ .bufferlen = flash0_block_size,
-+ .base_addr = FLASH_BASE_ADDRESS,
-+ .flash_driver = &Driver_FLASH0,
-+ };
-+ io_block_spec_t flash0_spec = {
-+ .offset = FLASH_BASE_ADDRESS,
-+ .length = flash0_info->sector_count * flash0_info->sector_size};
-+ uintptr_t flash0_dev_handle = NULL;
-+ uintptr_t flash0_handle = NULL;
-+
-+ /* EMU TEST FLASH */
-+ static io_dev_connector_t* flash_emu_dev_con;
-+ static uint8_t local_block_flash_emu[TEST_FLASH_SECTOR_SIZE_IN_BYTES]
-+ __attribute__((aligned(TEST_FLASH_SECTOR_SIZE_IN_BYTES)));
-+ ARM_FLASH_INFO* flash_emu_info = Driver_TEST_FLASH.GetInfo();
-+ size_t flash_emu_block_size = flash_emu_info->sector_size;
-+ io_flash_dev_spec_t flash_emu_dev_spec = {
-+ .buffer = local_block_flash_emu,
-+ .bufferlen = flash_emu_block_size,
-+ .base_addr = flash_base_address,
-+ .flash_driver = &Driver_TEST_FLASH,
-+ };
-+ io_block_spec_t flash_emu_spec = {
-+ .offset = flash_base_address,
-+ .length = flash_emu_info->sector_count * flash_emu_info->sector_size};
-+ uintptr_t flash_emu_dev_handle = NULL;
-+ uintptr_t flash_emu_handle = NULL;
-+
-+ /* Common */
-+ int rc = -1;
-+ static uint8_t test_data[] = {0xEE, 0xDD, 0xCC, 0xBB, 0xAA,
-+ 0x10, 0x50, 0xA0, 0xD0, 0x51,
-+ 0x55, 0x44, 0x33, 0x22, 0x11};
-+ static uint8_t actual_data[15];
-+ size_t bytes_written_count = 0;
-+ size_t bytes_read_count = 0;
-+
-+ memset(local_block_flash0, -1, sizeof(local_block_flash0));
-+ memset(local_block_flash_emu, -1, sizeof(local_block_flash_emu));
-+
-+ /* Register */
-+ register_io_dev_flash(&flash0_dev_con);
-+ register_io_dev_flash(&flash_emu_dev_con);
-+
-+ io_dev_open(flash0_dev_con, &flash0_dev_spec, &flash0_dev_handle);
-+ io_dev_open(flash_emu_dev_con, &flash_emu_dev_spec, &flash_emu_dev_handle);
-+
-+ /* Write Data */
-+ io_open(flash0_dev_handle, &flash0_spec, &flash0_handle);
-+ io_open(flash_emu_dev_handle, &flash_emu_spec, &flash_emu_handle);
-+
-+ io_seek(flash0_handle, IO_SEEK_SET,
-+ BANK_1_PARTITION_OFFSET + flash0_info->sector_size - 7);
-+ io_seek(flash_emu_handle, IO_SEEK_SET, flash_emu_info->sector_size - 7);
-+
-+ io_write(flash0_handle, test_data, ARRAY_LENGTH(test_data),
-+ &bytes_written_count);
-+ if (bytes_written_count != ARRAY_LENGTH(test_data)) {
-+ LOG_ERRFMT("io_write failed to write %d bytes for flash0",
-+ ARRAY_LENGTH(test_data));
-+ LOG_ERRFMT("bytes_written_count %d for flash0", bytes_written_count);
-+ ret->val = TEST_FAILED;
-+ }
-+ io_write(flash_emu_handle, test_data, ARRAY_LENGTH(test_data),
-+ &bytes_written_count);
-+ if (bytes_written_count != ARRAY_LENGTH(test_data)) {
-+ LOG_ERRFMT("io_write failed to write %d bytes for flash emu",
-+ ARRAY_LENGTH(test_data));
-+ LOG_ERRFMT("bytes_written_count %d for flash emu", bytes_written_count);
-+ ret->val = TEST_FAILED;
-+ }
-+ io_close(flash0_handle);
-+ io_close(flash_emu_handle);
-+
-+ /* Read Data */
-+ io_open(flash0_dev_handle, &flash0_spec, &flash0_handle);
-+ io_open(flash_emu_dev_handle, &flash_emu_spec, &flash_emu_handle);
-+
-+ io_seek(flash0_handle, IO_SEEK_SET,
-+ BANK_1_PARTITION_OFFSET + flash0_info->sector_size - 7);
-+ io_seek(flash_emu_handle, IO_SEEK_SET, flash_emu_info->sector_size - 7);
-+
-+ /* Flash0 */
-+ io_read(flash0_handle, actual_data, ARRAY_LENGTH(actual_data),
-+ &bytes_read_count);
-+ if (bytes_read_count != ARRAY_LENGTH(test_data)) {
-+ LOG_ERRFMT("io_read failed to read %d bytes for flash0",
-+ ARRAY_LENGTH(test_data));
-+ LOG_ERRFMT("bytes_read_count %d for flash0", bytes_read_count);
-+ ret->val = TEST_FAILED;
-+ }
-+ if (memcmp((uint8_t*)test_data, actual_data, ARRAY_LENGTH(actual_data)) !=
-+ 0) {
-+ LOG_ERRFMT("Data written != Data read\r\n");
-+ ret->val = TEST_FAILED;
-+ }
-+
-+ memset(actual_data, -1, sizeof(actual_data));
-+
-+ /* Flash Emu */
-+ io_read(flash_emu_handle, actual_data, ARRAY_LENGTH(actual_data),
-+ &bytes_read_count);
-+ if (bytes_read_count != ARRAY_LENGTH(test_data)) {
-+ LOG_ERRFMT("io_read failed to read %d bytes for flash emu",
-+ ARRAY_LENGTH(test_data));
-+ LOG_ERRFMT("bytes_read_count %d for flash emu", bytes_read_count);
-+ ret->val = TEST_FAILED;
-+ }
-+ if (memcmp((uint8_t*)test_data, actual_data, ARRAY_LENGTH(actual_data)) !=
-+ 0) {
-+ LOG_ERRFMT("Data written != Data read\r\n");
-+ ret->val = TEST_FAILED;
-+ }
-+
-+ LOG_INFFMT("PASS: %s\n\r", __func__);
-+ ret->val = TEST_PASSED;
-+}
-\ No newline at end of file
-diff --git a/platform/ext/target/arm/corstone1000/ci_regression_tests/s_io_storage_test.h b/platform/ext/target/arm/corstone1000/ci_regression_tests/s_io_storage_test.h
-new file mode 100644
-index 0000000000..fa9012776f
---- /dev/null
-+++ b/platform/ext/target/arm/corstone1000/ci_regression_tests/s_io_storage_test.h
-@@ -0,0 +1,15 @@
-+/*
-+ * Copyright (c) 2022, Arm Limited. All rights reserved.
-+ *
-+ * SPDX-License-Identifier: BSD-3-Clause
-+ *
-+ */
-+
-+#ifndef __S_IO_STORAGE_TEST_H__
-+#define __S_IO_STORAGE_TEST_H__
-+
-+#include "extra_s_tests.h"
-+
-+void s_test_io_storage_multiple_flash_simultaneous(struct test_result_t *ret);
-+
-+#endif /* __S_IO_STORAGE_TEST_H__ */
-\ No newline at end of file
-diff --git a/platform/ext/target/arm/corstone1000/ci_regression_tests/s_test.c b/platform/ext/target/arm/corstone1000/ci_regression_tests/s_test.c
-index a0bf47a04b..9a8453ff57 100644
---- a/platform/ext/target/arm/corstone1000/ci_regression_tests/s_test.c
-+++ b/platform/ext/target/arm/corstone1000/ci_regression_tests/s_test.c
-@@ -11,6 +11,7 @@
- #include "platform_base_address.h"
- #include "firewall.h"
- #include "tfm_sp_log.h"
-+#include "s_io_storage_test.h"
-
- /* TODO: if needed each test function can be made as a separate test case, in
- * such case EXTRA_TEST_XX definitions can be removed */
-@@ -19,6 +20,8 @@
-
- #define DISABLED_TEST 0
-
-+int test_io_storage_multiple_flash_simultaneous(void);
-+
- enum host_firewall_host_comp_id_t {
- HOST_FCTRL = (0x00u),
- COMP_SYSPERIPH,
-@@ -184,6 +187,8 @@ void s_test(struct test_result_t *ret)
- static struct test_t plat_s_t[] = {
- {&s_test, "TFM_S_EXTRA_TEST_1001",
- "Extra Secure test"},
-+ {&s_test_io_storage_multiple_flash_simultaneous, "TFM_S_EXTRA_TEST_1002",
-+ "Extra Secure test: io storage access multiple flash simultaneous"},
- };
-
- void register_testsuite_extra_s_interface(struct test_suite_t *p_test_suite)
-diff --git a/platform/ext/target/arm/corstone1000/ci_regression_tests/s_test_config.cmake b/platform/ext/target/arm/corstone1000/ci_regression_tests/s_test_config.cmake
-index bb8d26bf1c..05b7cd7852 100644
---- a/platform/ext/target/arm/corstone1000/ci_regression_tests/s_test_config.cmake
-+++ b/platform/ext/target/arm/corstone1000/ci_regression_tests/s_test_config.cmake
-@@ -6,3 +6,8 @@
- #-------------------------------------------------------------------------------
-
- ############ Define secure test specific cmake configurations here #############
-+
-+set (TEST_FLASH_SIZE_IN_BYTES 48U CACHE STRING "The size of the emulated flash used in io tests")
-+set (TEST_FLASH_SECTOR_SIZE_IN_BYTES 16U CACHE STRING "The sector size of the emulated flash used in io tests")
-+set (TEST_FLASH_PAGE_SIZE 8U CACHE STRING "The page size of the emulated flash used in io tests")
-+set (TEST_FLASH_PROGRAM_UNIT 1U CACHE STRING "The program unit of the emulated flash used in io tests")
-diff --git a/platform/ext/target/arm/corstone1000/ci_regression_tests/test_flash.h b/platform/ext/target/arm/corstone1000/ci_regression_tests/test_flash.h
-new file mode 100644
-index 0000000000..4d073a1d71
---- /dev/null
-+++ b/platform/ext/target/arm/corstone1000/ci_regression_tests/test_flash.h
-@@ -0,0 +1,25 @@
-+/*
-+ * Copyright (c) 2017-2022 Arm Limited. All rights reserved.
-+ *
-+ * Licensed under the Apache License, Version 2.0 (the "License");
-+ * you may not use this file except in compliance with the License.
-+ * You may obtain a copy of the License at
-+ *
-+ * http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * Unless required by applicable law or agreed to in writing, software
-+ * distributed under the License is distributed on an "AS IS" BASIS,
-+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-+ * See the License for the specific language governing permissions and
-+ * limitations under the License.
-+ */
-+
-+#ifndef __TEST_FLASH_H__
-+#define __TEST_FLASH_H__
-+
-+#define TEST_FLASH_SIZE_IN_BYTES (48) // 48 bytes
-+#define TEST_FLASH_SECTOR_SIZE_IN_BYTES (16) // 16 bytes
-+#define TEST_FLASH_PAGE_SIZE (8U) // 8 bytes
-+#define TEST_FLASH_PROGRAM_UNIT (1U) /* 1 B */
-+
-+#endif /* __TEST_FLASH_H__ */
---
-2.25.1
-