Platform: Corstone310 directory reorg
Signed-off-by: Dávid Házi <david.hazi@arm.com>
Change-Id: I38e27c6d9b4dc68a9b15cbf3f0fe8d99b9608efc
diff --git a/docs/platform/arm/index.rst b/docs/platform/arm/index.rst
index 436518c..46fe123 100755
--- a/docs/platform/arm/index.rst
+++ b/docs/platform/arm/index.rst
@@ -8,7 +8,7 @@
Corstone-1000 <corstone1000/readme.rst>
Corstone-300 FPGA (AN547) <mps3/an547/README.rst>
Corstone-300 FPGA and FVP (AN552) <mps3/an552/README.rst>
- Corstone-310 FVP <mps3/corstone310_fvp/README.rst>
+ Corstone-310 FVP <mps3/corstone310/README.rst>
Musca-B1 <musca_b1/readme.rst>
Musca-S1 <musca_s1/readme.rst>
Runtime Security Subsystem <rss/readme.rst>
diff --git a/docs/platform/arm/mps3/corstone310_fvp/README.rst b/docs/platform/arm/mps3/corstone310/README.rst
similarity index 97%
rename from docs/platform/arm/mps3/corstone310_fvp/README.rst
rename to docs/platform/arm/mps3/corstone310/README.rst
index 7b9f268..3ed9a52 100644
--- a/docs/platform/arm/mps3/corstone310_fvp/README.rst
+++ b/docs/platform/arm/mps3/corstone310/README.rst
@@ -16,14 +16,9 @@
-------------
Follow the instructions in :doc:`Building instructions </building/tfm_build_instruction>`.
-Build instructions with platform name: arm/mps3/corstone310_fvp
+Build instructions with platform name: arm/mps3/corstone310/fvp
-``-DTFM_PLATFORM=arm/mps3/corstone310_fvp``
-
-.. note::
-
- This platform support does not provide software for Ethos-U55 IP, only
- contains base address and interrupt number for it.
+``-DTFM_PLATFORM=arm/mps3/corstone310/fvp``
.. note::
@@ -32,6 +27,11 @@
.. note::
+ This platform support does not provide software for Ethos-U55 IP, only
+ contains base address and interrupt number for it.
+
+.. note::
+
For Armclang compiler v6.18 or later version is required.
To run the example code on Corstone-310 Ethos-U55 Arm Virtual Hardware
@@ -97,6 +97,6 @@
Some of the messages above are only visible when ``CMAKE_BUILD_TYPE`` is set
to ``Debug``.
--------------
+--------------
*Copyright (c) 2021-2022, Arm Limited. All rights reserved.*
diff --git a/docs/releases/1.5.0.rst b/docs/releases/1.5.0.rst
index 06580b9..062bac9 100644
--- a/docs/releases/1.5.0.rst
+++ b/docs/releases/1.5.0.rst
@@ -43,7 +43,7 @@
- :doc:`Corstone-1000 </platform/arm/corstone1000/readme>`
- - :doc:`Corstone-Polaris </platform/arm/mps3/corstone310_fvp/README>`
+ - :doc:`Corstone-Polaris </platform/arm/mps3/corstone310/README>`
- :doc:`B-U585I-IOT02A </platform/stm/b_u585i_iot02a/readme>`
@@ -122,4 +122,4 @@
--------------
-*Copyright (c) 2021, Arm Limited. All rights reserved.*
+*Copyright (c) 2021-2022, Arm Limited. All rights reserved.*
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/check_config.cmake b/platform/ext/target/arm/mps3/corstone310/common/check_config.cmake
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/check_config.cmake
rename to platform/ext/target/arm/mps3/corstone310/common/check_config.cmake
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/cmsis_drivers/Driver_Flash.c b/platform/ext/target/arm/mps3/corstone310/common/cmsis_drivers/Driver_Flash.c
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/cmsis_drivers/Driver_Flash.c
rename to platform/ext/target/arm/mps3/corstone310/common/cmsis_drivers/Driver_Flash.c
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/cmsis_drivers/Driver_MPC.c b/platform/ext/target/arm/mps3/corstone310/common/cmsis_drivers/Driver_MPC.c
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/cmsis_drivers/Driver_MPC.c
rename to platform/ext/target/arm/mps3/corstone310/common/cmsis_drivers/Driver_MPC.c
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/cmsis_drivers/Driver_MPC_Common.h b/platform/ext/target/arm/mps3/corstone310/common/cmsis_drivers/Driver_MPC_Common.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/cmsis_drivers/Driver_MPC_Common.h
rename to platform/ext/target/arm/mps3/corstone310/common/cmsis_drivers/Driver_MPC_Common.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/cmsis_drivers/Driver_PPC.c b/platform/ext/target/arm/mps3/corstone310/common/cmsis_drivers/Driver_PPC.c
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/cmsis_drivers/Driver_PPC.c
rename to platform/ext/target/arm/mps3/corstone310/common/cmsis_drivers/Driver_PPC.c
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/cmsis_drivers/Driver_PPC.h b/platform/ext/target/arm/mps3/corstone310/common/cmsis_drivers/Driver_PPC.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/cmsis_drivers/Driver_PPC.h
rename to platform/ext/target/arm/mps3/corstone310/common/cmsis_drivers/Driver_PPC.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/cmsis_drivers/Driver_PPC_Common.h b/platform/ext/target/arm/mps3/corstone310/common/cmsis_drivers/Driver_PPC_Common.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/cmsis_drivers/Driver_PPC_Common.h
rename to platform/ext/target/arm/mps3/corstone310/common/cmsis_drivers/Driver_PPC_Common.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/cmsis_drivers/Driver_TGU.c b/platform/ext/target/arm/mps3/corstone310/common/cmsis_drivers/Driver_TGU.c
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/cmsis_drivers/Driver_TGU.c
rename to platform/ext/target/arm/mps3/corstone310/common/cmsis_drivers/Driver_TGU.c
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/cmsis_drivers/Driver_TGU_Common.h b/platform/ext/target/arm/mps3/corstone310/common/cmsis_drivers/Driver_TGU_Common.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/cmsis_drivers/Driver_TGU_Common.h
rename to platform/ext/target/arm/mps3/corstone310/common/cmsis_drivers/Driver_TGU_Common.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/cmsis_drivers/Driver_USART.c b/platform/ext/target/arm/mps3/corstone310/common/cmsis_drivers/Driver_USART.c
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/cmsis_drivers/Driver_USART.c
rename to platform/ext/target/arm/mps3/corstone310/common/cmsis_drivers/Driver_USART.c
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/cmsis_drivers/config/non_secure/RTE_Device.h b/platform/ext/target/arm/mps3/corstone310/common/cmsis_drivers/config/non_secure/RTE_Device.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/cmsis_drivers/config/non_secure/RTE_Device.h
rename to platform/ext/target/arm/mps3/corstone310/common/cmsis_drivers/config/non_secure/RTE_Device.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/cmsis_drivers/config/non_secure/cmsis_driver_config.h b/platform/ext/target/arm/mps3/corstone310/common/cmsis_drivers/config/non_secure/cmsis_driver_config.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/cmsis_drivers/config/non_secure/cmsis_driver_config.h
rename to platform/ext/target/arm/mps3/corstone310/common/cmsis_drivers/config/non_secure/cmsis_driver_config.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/cmsis_drivers/config/secure/RTE_Device.h b/platform/ext/target/arm/mps3/corstone310/common/cmsis_drivers/config/secure/RTE_Device.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/cmsis_drivers/config/secure/RTE_Device.h
rename to platform/ext/target/arm/mps3/corstone310/common/cmsis_drivers/config/secure/RTE_Device.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/cmsis_drivers/config/secure/cmsis_driver_config.h b/platform/ext/target/arm/mps3/corstone310/common/cmsis_drivers/config/secure/cmsis_driver_config.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/cmsis_drivers/config/secure/cmsis_driver_config.h
rename to platform/ext/target/arm/mps3/corstone310/common/cmsis_drivers/config/secure/cmsis_driver_config.h
diff --git a/platform/ext/target/arm/mps3/corstone310/common/common.cmake b/platform/ext/target/arm/mps3/corstone310/common/common.cmake
new file mode 100644
index 0000000..10bbad0
--- /dev/null
+++ b/platform/ext/target/arm/mps3/corstone310/common/common.cmake
@@ -0,0 +1,179 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2020-2022, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+cmake_policy(SET CMP0076 NEW)
+
+#========================= Platform region defs ===============================#
+
+target_include_directories(platform_region_defs
+ INTERFACE
+ ${CORSTONE310_COMMON_DIR}/partition
+)
+
+#========================= Platform common defs ===============================#
+
+# Specify the location of platform specific build dependencies.
+target_sources(tfm_s
+ PRIVATE
+ ${CORSTONE310_COMMON_DIR}/device/source/startup_corstone310.c
+)
+target_add_scatter_file(tfm_s
+ $<$<C_COMPILER_ID:ARMClang>:${PLATFORM_DIR}/ext/common/armclang/tfm_common_s.sct>
+ $<$<C_COMPILER_ID:GNU>:${PLATFORM_DIR}/ext/common/gcc/tfm_common_s.ld>
+ $<$<C_COMPILER_ID:IAR>:${PLATFORM_DIR}/ext/common/iar/tfm_common_s.icf>
+)
+
+if(NS)
+ target_sources(tfm_ns
+ PRIVATE
+ ${CORSTONE310_COMMON_DIR}/device/source/startup_corstone310.c
+ )
+ if(DEFAULT_NS_SCATTER)
+ target_add_scatter_file(tfm_ns
+ $<$<C_COMPILER_ID:ARMClang>:${PLATFORM_DIR}/ext/common/armclang/tfm_common_ns.sct>
+ $<$<C_COMPILER_ID:GNU>:${PLATFORM_DIR}/ext/common/gcc/tfm_common_ns.ld>
+ $<$<C_COMPILER_ID:IAR>:${PLATFORM_DIR}/ext/common/iar/tfm_common_ns.icf>
+ )
+ endif()
+ target_link_libraries(CMSIS_5_tfm_ns
+ INTERFACE
+ $<$<C_COMPILER_ID:ARMClang>:CMSIS_5_RTX_V8MMN>
+ $<$<C_COMPILER_ID:GNU>:CMSIS_5_RTX_V8MMN>
+ $<$<C_COMPILER_ID:IAR>:CMSIS_5_RTX_V81MMN>
+ )
+endif()
+
+if(BL2)
+ target_sources(bl2
+ PRIVATE
+ ${CORSTONE310_COMMON_DIR}/device/source/startup_corstone310.c
+ )
+ target_add_scatter_file(bl2
+ $<$<C_COMPILER_ID:ARMClang>:${PLATFORM_DIR}/ext/common/armclang/tfm_common_bl2.sct>
+ $<$<C_COMPILER_ID:GNU>:${PLATFORM_DIR}/ext/common/gcc/tfm_common_bl2.ld>
+ $<$<C_COMPILER_ID:IAR>:${PLATFORM_DIR}/ext/common/iar/tfm_common_bl2.icf>
+ )
+endif()
+
+#========================= Platform Secure ====================================#
+
+target_include_directories(platform_s
+ PUBLIC
+ ${CORSTONE310_COMMON_DIR}
+ ../common
+ ${CORSTONE310_COMMON_DIR}/cmsis_drivers
+ ${CORSTONE310_COMMON_DIR}/cmsis_drivers/config/secure
+ ${CORSTONE310_COMMON_DIR}/device
+ ${CORSTONE310_COMMON_DIR}/device/config
+ ${CORSTONE310_COMMON_DIR}/device/include
+ ${CORSTONE310_COMMON_DIR}/device/source/armclang
+ ${CORSTONE310_COMMON_DIR}/native_drivers
+ ${CORSTONE310_COMMON_DIR}/partition
+ ${CORSTONE310_COMMON_DIR}/services/src
+ ${PLATFORM_DIR}/..
+ ${CMAKE_CURRENT_SOURCE_DIR}/device/config
+)
+
+target_sources(platform_s
+ PRIVATE
+ ${CORSTONE310_COMMON_DIR}/cmsis_drivers/Driver_Flash.c
+ ${CORSTONE310_COMMON_DIR}/cmsis_drivers/Driver_MPC.c
+ ${CORSTONE310_COMMON_DIR}/cmsis_drivers/Driver_TGU.c
+ ${CORSTONE310_COMMON_DIR}/cmsis_drivers/Driver_PPC.c
+ ${CORSTONE310_COMMON_DIR}/cmsis_drivers/Driver_USART.c
+ ${CORSTONE310_COMMON_DIR}/device/source/platform_s_device_definition.c
+ ${CORSTONE310_COMMON_DIR}/device/source/system_core_init.c
+ ${CORSTONE310_COMMON_DIR}/native_drivers/mpc_sie_drv.c
+ ${CORSTONE310_COMMON_DIR}/native_drivers/mpu_armv8m_drv.c
+ ${CORSTONE310_COMMON_DIR}/native_drivers/ppc_corstone310_drv.c
+ ${CORSTONE310_COMMON_DIR}/native_drivers/syscounter_armv8-m_cntrl_drv.c
+ ${CORSTONE310_COMMON_DIR}/native_drivers/uart_cmsdk_drv.c
+ $<$<OR:$<BOOL:${TEST_NS_SLIH_IRQ}>,$<BOOL:${TEST_NS_FLIH_IRQ}>>:${CORSTONE310_COMMON_DIR}/plat_test.c>
+ $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CORSTONE310_COMMON_DIR}/services/src/tfm_platform_system.c>
+)
+
+target_sources(tfm_sprt
+ PRIVATE
+ # SLIH test Partition and FLIH test Partition access the timer as ARoT Partitions.
+ # Put the driver to SPRT so that both SLIH and FLIH tests can access it.
+ $<$<OR:$<BOOL:${TEST_NS_SLIH_IRQ}>,$<BOOL:${TEST_NS_FLIH_IRQ}>>:${CORSTONE310_COMMON_DIR}/native_drivers/systimer_armv8-m_drv.c>
+)
+
+target_compile_options(platform_s
+ PUBLIC
+ ${COMPILER_CMSE_FLAG}
+)
+
+#========================= Platform Non-Secure ================================#
+
+target_sources(platform_ns
+ PRIVATE
+ ${CORSTONE310_COMMON_DIR}/cmsis_drivers/Driver_Flash.c
+ ${CORSTONE310_COMMON_DIR}/cmsis_drivers/Driver_USART.c
+ ${CORSTONE310_COMMON_DIR}/device/source/platform_ns_device_definition.c
+ ${CORSTONE310_COMMON_DIR}/device/source/system_core_init.c
+ ${CORSTONE310_COMMON_DIR}/native_drivers/uart_cmsdk_drv.c
+)
+
+target_include_directories(platform_ns
+ PUBLIC
+ ${CORSTONE310_COMMON_DIR}
+ ../common
+ ${PLATFORM_DIR}/..
+ ${CORSTONE310_COMMON_DIR}/cmsis_drivers
+ ${CORSTONE310_COMMON_DIR}/cmsis_drivers/config/non_secure
+ ${CORSTONE310_COMMON_DIR}/device
+ ${CORSTONE310_COMMON_DIR}/device/config
+ ${CORSTONE310_COMMON_DIR}/device/include
+ ${CORSTONE310_COMMON_DIR}/device/source/armclang
+ ${CORSTONE310_COMMON_DIR}/native_drivers
+ ${CORSTONE310_COMMON_DIR}/partition
+ ${CMAKE_CURRENT_SOURCE_DIR}/device/config
+)
+
+#========================= Platform BL2 =======================================#
+
+if(BL2)
+ target_sources(platform_bl2
+ PRIVATE
+ ${CORSTONE310_COMMON_DIR}/cmsis_drivers/Driver_Flash.c
+ ${CORSTONE310_COMMON_DIR}/cmsis_drivers/Driver_USART.c
+ ${CORSTONE310_COMMON_DIR}/device/source/platform_s_device_definition.c
+ ${CORSTONE310_COMMON_DIR}/device/source/system_core_init.c
+ ${CORSTONE310_COMMON_DIR}/native_drivers/uart_cmsdk_drv.c
+ )
+
+ target_include_directories(platform_bl2
+ PUBLIC
+ ${CORSTONE310_COMMON_DIR}/cmsis_drivers
+ ${CORSTONE310_COMMON_DIR}/cmsis_drivers/config/secure
+ ${CORSTONE310_COMMON_DIR}/device
+ ${CORSTONE310_COMMON_DIR}/device/config
+ ${CORSTONE310_COMMON_DIR}/device/include
+ ${CORSTONE310_COMMON_DIR}/device/source/armclang
+ ${CORSTONE310_COMMON_DIR}/native_drivers
+ ${CORSTONE310_COMMON_DIR}/partition
+ ${CORSTONE310_COMMON_DIR}/services/src
+ ${CMAKE_CURRENT_SOURCE_DIR}/device/config
+
+ PRIVATE
+ ${CORSTONE310_COMMON_DIR}
+ ${PLATFORM_DIR}/..
+ ${CORSTONE310_COMMON_DIR}/native_drivers
+ )
+endif()
+
+#========================= tfm_spm ============================================#
+
+target_sources(tfm_spm
+ PRIVATE
+ ${CORSTONE310_COMMON_DIR}/target_cfg.c
+ ${CORSTONE310_COMMON_DIR}/tfm_hal_isolation.c
+ ${CORSTONE310_COMMON_DIR}/tfm_hal_platform.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/dma_init.c
+ $<$<OR:$<BOOL:${CONFIG_TFM_FLIH_API}>,$<BOOL:${CONFIG_TFM_SLIH_API}>>:${CORSTONE310_COMMON_DIR}/tfm_interrupts.c>
+)
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/config.cmake b/platform/ext/target/arm/mps3/corstone310/common/config.cmake
similarity index 93%
rename from platform/ext/target/arm/mps3/corstone310_fvp/config.cmake
rename to platform/ext/target/arm/mps3/corstone310/common/config.cmake
index 111e002..6e04c45 100644
--- a/platform/ext/target/arm/mps3/corstone310_fvp/config.cmake
+++ b/platform/ext/target/arm/mps3/corstone310/common/config.cmake
@@ -12,7 +12,6 @@
set(PLATFORM_SLIH_IRQ_TEST_SUPPORT ON CACHE BOOL "Platform supports SLIH IRQ tests")
set(PLATFORM_FLIH_IRQ_TEST_SUPPORT ON CACHE BOOL "Platform supports FLIH IRQ tests")
-set(PLATFORM_SVC_HANDLERS ON CACHE BOOL "Platform specific SVC handlers")
set(DEFAULT_NS_SCATTER ON CACHE BOOL "Use default NS scatter files for target")
# Make FLIH IRQ test as the default IRQ test on Corstone-310
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/device/config/device_cfg.h b/platform/ext/target/arm/mps3/corstone310/common/device/config/device_cfg.h
similarity index 97%
rename from platform/ext/target/arm/mps3/corstone310_fvp/device/config/device_cfg.h
rename to platform/ext/target/arm/mps3/corstone310/common/device/config/device_cfg.h
index 9cbd274..ea31a05 100644
--- a/platform/ext/target/arm/mps3/corstone310_fvp/device/config/device_cfg.h
+++ b/platform/ext/target/arm/mps3/corstone310/common/device/config/device_cfg.h
@@ -17,6 +17,8 @@
#ifndef __DEVICE_CFG_H__
#define __DEVICE_CFG_H__
+#include "device_cfg_platform.h"
+
/**
* \file device_cfg.h
* \brief Configurations for peripherals defined in
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/device/include/cmsis.h b/platform/ext/target/arm/mps3/corstone310/common/device/include/cmsis.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/device/include/cmsis.h
rename to platform/ext/target/arm/mps3/corstone310/common/device/include/cmsis.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/device/include/corstone310.h b/platform/ext/target/arm/mps3/corstone310/common/device/include/corstone310.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/device/include/corstone310.h
rename to platform/ext/target/arm/mps3/corstone310/common/device/include/corstone310.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/device/include/platform_description.h b/platform/ext/target/arm/mps3/corstone310/common/device/include/platform_description.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/device/include/platform_description.h
rename to platform/ext/target/arm/mps3/corstone310/common/device/include/platform_description.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/device/include/platform_irq.h b/platform/ext/target/arm/mps3/corstone310/common/device/include/platform_irq.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/device/include/platform_irq.h
rename to platform/ext/target/arm/mps3/corstone310/common/device/include/platform_irq.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/device/include/platform_ns_device_definition.h b/platform/ext/target/arm/mps3/corstone310/common/device/include/platform_ns_device_definition.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/device/include/platform_ns_device_definition.h
rename to platform/ext/target/arm/mps3/corstone310/common/device/include/platform_ns_device_definition.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/device/include/platform_pins.h b/platform/ext/target/arm/mps3/corstone310/common/device/include/platform_pins.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/device/include/platform_pins.h
rename to platform/ext/target/arm/mps3/corstone310/common/device/include/platform_pins.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/device/include/platform_regs.h b/platform/ext/target/arm/mps3/corstone310/common/device/include/platform_regs.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/device/include/platform_regs.h
rename to platform/ext/target/arm/mps3/corstone310/common/device/include/platform_regs.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/device/include/platform_s_device_definition.h b/platform/ext/target/arm/mps3/corstone310/common/device/include/platform_s_device_definition.h
similarity index 98%
rename from platform/ext/target/arm/mps3/corstone310_fvp/device/include/platform_s_device_definition.h
rename to platform/ext/target/arm/mps3/corstone310/common/device/include/platform_s_device_definition.h
index b4f4078..b35bc48 100644
--- a/platform/ext/target/arm/mps3/corstone310_fvp/device/include/platform_s_device_definition.h
+++ b/platform/ext/target/arm/mps3/corstone310/common/device/include/platform_s_device_definition.h
@@ -67,6 +67,7 @@
extern struct mpc_sie_dev_t MPC_ISRAM0_DEV_S;
extern struct mpc_sie_dev_t MPC_ISRAM1_DEV_S;
+#ifdef CORSTONE310_FVP
/* DMA350 driver structures */
#include "dma350_drv.h"
extern struct dma350_dev_t DMA350_DMA0_DEV_S;
@@ -84,6 +85,7 @@
#include "dma350_lib.h"
extern const struct dma350_remap_list_t dma350_address_remap;
#endif /* PLATFORM_SVC_HANDLERS */
+#endif /* CORSTONE310_FVP */
/* TGU driver structure */
#include "tgu_armv8_m_drv.h"
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/device/include/power_control.h b/platform/ext/target/arm/mps3/corstone310/common/device/include/power_control.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/device/include/power_control.h
rename to platform/ext/target/arm/mps3/corstone310/common/device/include/power_control.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/device/include/system_core_init.h b/platform/ext/target/arm/mps3/corstone310/common/device/include/system_core_init.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/device/include/system_core_init.h
rename to platform/ext/target/arm/mps3/corstone310/common/device/include/system_core_init.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/device/source/platform_ns_device_definition.c b/platform/ext/target/arm/mps3/corstone310/common/device/source/platform_ns_device_definition.c
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/device/source/platform_ns_device_definition.c
rename to platform/ext/target/arm/mps3/corstone310/common/device/source/platform_ns_device_definition.c
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/device/source/platform_s_device_definition.c b/platform/ext/target/arm/mps3/corstone310/common/device/source/platform_s_device_definition.c
similarity index 99%
rename from platform/ext/target/arm/mps3/corstone310_fvp/device/source/platform_s_device_definition.c
rename to platform/ext/target/arm/mps3/corstone310/common/device/source/platform_s_device_definition.c
index 3d8ed53..7db4a0f 100644
--- a/platform/ext/target/arm/mps3/corstone310_fvp/device/source/platform_s_device_definition.c
+++ b/platform/ext/target/arm/mps3/corstone310/common/device/source/platform_s_device_definition.c
@@ -390,6 +390,7 @@
&(MPC_ISRAM1_DEV_CFG_S),
&(MPC_ISRAM1_DEV_DATA_S)};
+#ifdef CORSTONE310_FVP
/* DMA350 driver structures */
static const struct dma350_dev_cfg_t DMA350_DMA0_DEV_CFG_S = {
.dma_sec_cfg = (DMASECCFG_TypeDef*) (DMA_350_BASE_S + 0x0UL),
@@ -416,6 +417,7 @@
.channel = 1},
.data = {0}};
#endif /* PLATFORM_SVC_HANDLERS */
+#endif /* CORSTONE310_FVP */
/* TGU driver structures */
static const struct tgu_armv8_m_mem_range_t TGU_ITCM_RANGE_S = {
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/device/source/startup_corstone310.c b/platform/ext/target/arm/mps3/corstone310/common/device/source/startup_corstone310.c
similarity index 98%
rename from platform/ext/target/arm/mps3/corstone310_fvp/device/source/startup_corstone310.c
rename to platform/ext/target/arm/mps3/corstone310/common/device/source/startup_corstone310.c
index 8bd2ac1..29d29bd 100644
--- a/platform/ext/target/arm/mps3/corstone310_fvp/device/source/startup_corstone310.c
+++ b/platform/ext/target/arm/mps3/corstone310/common/device/source/startup_corstone310.c
@@ -100,8 +100,10 @@
DEFAULT_IRQ_HANDLER(SPI_ADC_Handler)
DEFAULT_IRQ_HANDLER(SPI_SHIELD0_Handler)
DEFAULT_IRQ_HANDLER(SPI_SHIELD1_Handler)
+#ifdef CORSTONE310_FVP
DEFAULT_IRQ_HANDLER(DMA_Channel_0_Handler)
DEFAULT_IRQ_HANDLER(DMA_Channel_1_Handler)
+#endif
DEFAULT_IRQ_HANDLER(ETHOS_U55_Handler)
DEFAULT_IRQ_HANDLER(GPIO0_Combined_Handler)
DEFAULT_IRQ_HANDLER(GPIO1_Combined_Handler)
@@ -250,8 +252,13 @@
SPI_SHIELD0_Handler, /* 54: SPI (Shield 0) Handler */
SPI_SHIELD1_Handler, /* 55: SPI (Shield 0) Handler */
0, /* 56: Reserved */
+#ifdef CORSTONE310_FVP
DMA_Channel_0_Handler, /* 57: DMA (DMA350) Channel 0 Handler */
DMA_Channel_1_Handler, /* 58: DMA (DMA350) Channel 1 Handler */
+#else
+ 0, /* 57: Reserved */
+ 0, /* 58: Reserved */
+#endif
0, /* 59: Reserved */
0, /* 60: Reserved */
0, /* 61: Reserved */
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/device/source/system_core_init.c b/platform/ext/target/arm/mps3/corstone310/common/device/source/system_core_init.c
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/device/source/system_core_init.c
rename to platform/ext/target/arm/mps3/corstone310/common/device/source/system_core_init.c
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/faults.c b/platform/ext/target/arm/mps3/corstone310/common/faults.c
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/faults.c
rename to platform/ext/target/arm/mps3/corstone310/common/faults.c
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/mmio_defs.h b/platform/ext/target/arm/mps3/corstone310/common/mmio_defs.h
similarity index 96%
rename from platform/ext/target/arm/mps3/corstone310_fvp/mmio_defs.h
rename to platform/ext/target/arm/mps3/corstone310/common/mmio_defs.h
index 46219e9..f217cf9 100644
--- a/platform/ext/target/arm/mps3/corstone310_fvp/mmio_defs.h
+++ b/platform/ext/target/arm/mps3/corstone310/common/mmio_defs.h
@@ -25,8 +25,10 @@
const uintptr_t partition_named_mmio_list[] = {
(uintptr_t)TFM_PERIPHERAL_TIMER0,
(uintptr_t)TFM_PERIPHERAL_STD_UART,
+#if defined(CORSTONE310_FVP)
(uintptr_t)TFM_PERIPHERAL_DMA0_CH0,
(uintptr_t)TFM_PERIPHERAL_DMA0_CH1
+#endif
};
/*
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/mpc_sie_drv.c b/platform/ext/target/arm/mps3/corstone310/common/native_drivers/mpc_sie_drv.c
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/mpc_sie_drv.c
rename to platform/ext/target/arm/mps3/corstone310/common/native_drivers/mpc_sie_drv.c
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/mpc_sie_drv.h b/platform/ext/target/arm/mps3/corstone310/common/native_drivers/mpc_sie_drv.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/mpc_sie_drv.h
rename to platform/ext/target/arm/mps3/corstone310/common/native_drivers/mpc_sie_drv.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/mpc_sie_reg_map.h b/platform/ext/target/arm/mps3/corstone310/common/native_drivers/mpc_sie_reg_map.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/mpc_sie_reg_map.h
rename to platform/ext/target/arm/mps3/corstone310/common/native_drivers/mpc_sie_reg_map.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/mpu_armv8m_drv.c b/platform/ext/target/arm/mps3/corstone310/common/native_drivers/mpu_armv8m_drv.c
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/mpu_armv8m_drv.c
rename to platform/ext/target/arm/mps3/corstone310/common/native_drivers/mpu_armv8m_drv.c
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/mpu_armv8m_drv.h b/platform/ext/target/arm/mps3/corstone310/common/native_drivers/mpu_armv8m_drv.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/mpu_armv8m_drv.h
rename to platform/ext/target/arm/mps3/corstone310/common/native_drivers/mpu_armv8m_drv.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/ppc_corstone310_drv.c b/platform/ext/target/arm/mps3/corstone310/common/native_drivers/ppc_corstone310_drv.c
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/ppc_corstone310_drv.c
rename to platform/ext/target/arm/mps3/corstone310/common/native_drivers/ppc_corstone310_drv.c
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/ppc_corstone310_drv.h b/platform/ext/target/arm/mps3/corstone310/common/native_drivers/ppc_corstone310_drv.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/ppc_corstone310_drv.h
rename to platform/ext/target/arm/mps3/corstone310/common/native_drivers/ppc_corstone310_drv.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/ppc_corstone310_reg_map.h b/platform/ext/target/arm/mps3/corstone310/common/native_drivers/ppc_corstone310_reg_map.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/ppc_corstone310_reg_map.h
rename to platform/ext/target/arm/mps3/corstone310/common/native_drivers/ppc_corstone310_reg_map.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/syscounter_armv8-m_cntrl_drv.c b/platform/ext/target/arm/mps3/corstone310/common/native_drivers/syscounter_armv8-m_cntrl_drv.c
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/syscounter_armv8-m_cntrl_drv.c
rename to platform/ext/target/arm/mps3/corstone310/common/native_drivers/syscounter_armv8-m_cntrl_drv.c
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/syscounter_armv8-m_cntrl_drv.h b/platform/ext/target/arm/mps3/corstone310/common/native_drivers/syscounter_armv8-m_cntrl_drv.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/syscounter_armv8-m_cntrl_drv.h
rename to platform/ext/target/arm/mps3/corstone310/common/native_drivers/syscounter_armv8-m_cntrl_drv.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/syscounter_armv8-m_cntrl_reg_map.h b/platform/ext/target/arm/mps3/corstone310/common/native_drivers/syscounter_armv8-m_cntrl_reg_map.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/syscounter_armv8-m_cntrl_reg_map.h
rename to platform/ext/target/arm/mps3/corstone310/common/native_drivers/syscounter_armv8-m_cntrl_reg_map.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/systimer_armv8-m_drv.c b/platform/ext/target/arm/mps3/corstone310/common/native_drivers/systimer_armv8-m_drv.c
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/systimer_armv8-m_drv.c
rename to platform/ext/target/arm/mps3/corstone310/common/native_drivers/systimer_armv8-m_drv.c
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/systimer_armv8-m_drv.h b/platform/ext/target/arm/mps3/corstone310/common/native_drivers/systimer_armv8-m_drv.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/systimer_armv8-m_drv.h
rename to platform/ext/target/arm/mps3/corstone310/common/native_drivers/systimer_armv8-m_drv.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/systimer_armv8-m_reg_map.h b/platform/ext/target/arm/mps3/corstone310/common/native_drivers/systimer_armv8-m_reg_map.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/systimer_armv8-m_reg_map.h
rename to platform/ext/target/arm/mps3/corstone310/common/native_drivers/systimer_armv8-m_reg_map.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/tgu_armv8_m_drv.c b/platform/ext/target/arm/mps3/corstone310/common/native_drivers/tgu_armv8_m_drv.c
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/tgu_armv8_m_drv.c
rename to platform/ext/target/arm/mps3/corstone310/common/native_drivers/tgu_armv8_m_drv.c
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/tgu_armv8_m_drv.h b/platform/ext/target/arm/mps3/corstone310/common/native_drivers/tgu_armv8_m_drv.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/tgu_armv8_m_drv.h
rename to platform/ext/target/arm/mps3/corstone310/common/native_drivers/tgu_armv8_m_drv.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/uart_cmsdk_drv.c b/platform/ext/target/arm/mps3/corstone310/common/native_drivers/uart_cmsdk_drv.c
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/uart_cmsdk_drv.c
rename to platform/ext/target/arm/mps3/corstone310/common/native_drivers/uart_cmsdk_drv.c
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/uart_cmsdk_drv.h b/platform/ext/target/arm/mps3/corstone310/common/native_drivers/uart_cmsdk_drv.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/uart_cmsdk_drv.h
rename to platform/ext/target/arm/mps3/corstone310/common/native_drivers/uart_cmsdk_drv.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/uart_cmsdk_reg_map.h b/platform/ext/target/arm/mps3/corstone310/common/native_drivers/uart_cmsdk_reg_map.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/uart_cmsdk_reg_map.h
rename to platform/ext/target/arm/mps3/corstone310/common/native_drivers/uart_cmsdk_reg_map.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/partition/flash_layout.h b/platform/ext/target/arm/mps3/corstone310/common/partition/flash_layout.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/partition/flash_layout.h
rename to platform/ext/target/arm/mps3/corstone310/common/partition/flash_layout.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/partition/platform_base_address.h b/platform/ext/target/arm/mps3/corstone310/common/partition/platform_base_address.h
similarity index 99%
rename from platform/ext/target/arm/mps3/corstone310_fvp/partition/platform_base_address.h
rename to platform/ext/target/arm/mps3/corstone310/common/partition/platform_base_address.h
index c2c9116..6575454 100644
--- a/platform/ext/target/arm/mps3/corstone310_fvp/partition/platform_base_address.h
+++ b/platform/ext/target/arm/mps3/corstone310/common/partition/platform_base_address.h
@@ -34,7 +34,9 @@
#define ISRAM1_BASE_NS 0x21200000 /* Internal SRAM Area Non-Secure base address */
#define QSPI_SRAM_BASE_NS 0x28000000 /* QSPI SRAM Non-Secure base address */
/* Non-Secure Subsystem peripheral region */
+#ifdef CORSTONE310_FVP
#define DMA_350_BASE_NS 0x40002000 /* DMA350 register block Non-Secure base address */
+#endif
#define ETHOS_U55_APB_BASE_NS 0x40004000 /* Ethos-U55 APB Non-Secure base address */
#define CPU0_PWRCTRL_BASE_NS 0x40012000 /* CPU 0 Power Control Block Non-Secure base address */
#define CPU0_IDENTITY_BASE_NS 0x4001F000 /* CPU 0 Identity Block Non-Secure base address */
@@ -105,7 +107,9 @@
#define ISRAM1_BASE_S 0x31200000 /* Internal SRAM Area Secure base address */
#define QSPI_SRAM_BASE_S 0x38000000 /* QSPI SRAM Secure base address */
/* Secure Subsystem peripheral region */
+#ifdef CORSTONE310_FVP
#define DMA_350_BASE_S 0x50002000 /* DMA350 register block Secure base address */
+#endif
#define ETHOS_U55_APB_BASE_S 0x50004000 /* Ethos-U55 APB Secure base address */
#define CPU0_SECCTRL_BASE_S 0x50011000 /* CPU 0 Local Security Control Block Secure base address */
#define CPU0_PWRCTRL_BASE_S 0x50012000 /* CPU 0 Power Control Block Secure base address */
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/partition/region_defs.h b/platform/ext/target/arm/mps3/corstone310/common/partition/region_defs.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/partition/region_defs.h
rename to platform/ext/target/arm/mps3/corstone310/common/partition/region_defs.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/plat_test.c b/platform/ext/target/arm/mps3/corstone310/common/plat_test.c
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/plat_test.c
rename to platform/ext/target/arm/mps3/corstone310/common/plat_test.c
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/preload.cmake b/platform/ext/target/arm/mps3/corstone310/common/preload.cmake
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/preload.cmake
rename to platform/ext/target/arm/mps3/corstone310/common/preload.cmake
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/services/src/tfm_platform_system.c b/platform/ext/target/arm/mps3/corstone310/common/services/src/tfm_platform_system.c
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/services/src/tfm_platform_system.c
rename to platform/ext/target/arm/mps3/corstone310/common/services/src/tfm_platform_system.c
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/target_cfg.c b/platform/ext/target/arm/mps3/corstone310/common/target_cfg.c
similarity index 90%
rename from platform/ext/target/arm/mps3/corstone310_fvp/target_cfg.c
rename to platform/ext/target/arm/mps3/corstone310/common/target_cfg.c
index 252dc2f..1b8d388 100644
--- a/platform/ext/target/arm/mps3/corstone310_fvp/target_cfg.c
+++ b/platform/ext/target/arm/mps3/corstone310/common/target_cfg.c
@@ -25,7 +25,6 @@
#include "platform_s_device_definition.h"
#include "syscounter_armv8-m_cntrl_drv.h"
#include "uart_stdout.h"
-#include "dma350_ch_drv.h"
/* Throw out bus error when an access causes security violation */
#define CMSDK_SECRESPCFG_BUS_ERR_MASK (1UL << 0)
@@ -114,20 +113,6 @@
SYSTEM_TIMER0_PERIPH_PPC0_POS_MASK
};
-struct platform_data_t tfm_peripheral_dma0_ch0 = {
- DMA_350_BASE_S + 0x1000,
- DMA_350_BASE_S + 0x10FF,
- PPC_SP_DO_NOT_CONFIGURE,
- 0
-};
-
-struct platform_data_t tfm_peripheral_dma0_ch1 = {
- DMA_350_BASE_S + 0x1100,
- DMA_350_BASE_S + 0x11FF,
- PPC_SP_DO_NOT_CONFIGURE,
- 0
-};
-
static ARM_DRIVER_PPC_CORSTONE310 *const ppc_bank_drivers[] = {
&Driver_MAIN0_PPC_CORSTONE310,
&Driver_MAIN_EXP0_PPC_CORSTONE310,
@@ -553,57 +538,3 @@
ppc_bank_drivers[i]->ClearInterrupt();
}
}
-
-/*------------------- DMA configuration functions -------------------------*/
-enum tfm_plat_err_t dma_init_cfg(void)
-{
- uint32_t i = 0;
- enum dma350_error_t dma_err;
-
- dma_err = dma350_init(&DMA350_DMA0_DEV_S);
- if(dma_err != DMA350_ERR_NONE) {
- ERROR_MSG("DMA350_DMA0_DEV_S init failed!");
- return TFM_PLAT_ERR_SYSTEM_ERR;
- }
-
- /* Configure Channel 0 */
- dma_err = dma350_set_ch_secure(&DMA350_DMA0_DEV_S, 0);
- if(dma_err != DMA350_ERR_NONE)
- {
- ERROR_MSG("Failed to set DMA350_DMA0_DEV_S, channel 0 secure!");
- return TFM_PLAT_ERR_SYSTEM_ERR;
- }
- dma_err = dma350_set_ch_privileged(&DMA350_DMA0_DEV_S, 0);
- if(dma_err != DMA350_ERR_NONE)
- {
- ERROR_MSG("Failed to set DMA350_DMA0_DEV_S, channel 0 privileged!");
- return TFM_PLAT_ERR_SYSTEM_ERR;
- }
-
- /* Configure Channel 1 */
- dma_err = dma350_set_ch_nonsecure(&DMA350_DMA0_DEV_S, 1);
- if(dma_err != DMA350_ERR_NONE)
- {
- ERROR_MSG("Failed to set DMA350_DMA0_DEV_S, channel 1 nonsecure!");
- return TFM_PLAT_ERR_SYSTEM_ERR;
- }
- dma_err = dma350_set_ch_privileged(&DMA350_DMA0_DEV_S, 1);
- if(dma_err != DMA350_ERR_NONE)
- {
- ERROR_MSG("Failed to set DMA350_DMA0_DEV_S, channel 1 privileged!");
- return TFM_PLAT_ERR_SYSTEM_ERR;
- }
-
- /* Configure every Trigger input to NS by default */
- for(i = 0; i < DMA350_TRIGIN_NUMBER; i++)
- {
- dma_err = dma350_set_trigin_nonsecure(&DMA350_DMA0_DEV_S, i);
- if(dma_err != DMA350_ERR_NONE)
- {
- SPMLOG_ERRMSGVAL("Failed to set the following Trigger input of DMA350_DMA0_DEV_S to NS: ", i);
- return TFM_PLAT_ERR_SYSTEM_ERR;
- }
- }
-
- return TFM_PLAT_ERR_SUCCESS;
-}
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/target_cfg.h b/platform/ext/target/arm/mps3/corstone310/common/target_cfg.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/target_cfg.h
rename to platform/ext/target/arm/mps3/corstone310/common/target_cfg.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/tfm_hal_isolation.c b/platform/ext/target/arm/mps3/corstone310/common/tfm_hal_isolation.c
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/tfm_hal_isolation.c
rename to platform/ext/target/arm/mps3/corstone310/common/tfm_hal_isolation.c
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/tfm_hal_platform.c b/platform/ext/target/arm/mps3/corstone310/common/tfm_hal_platform.c
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/tfm_hal_platform.c
rename to platform/ext/target/arm/mps3/corstone310/common/tfm_hal_platform.c
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/tfm_interrupts.c b/platform/ext/target/arm/mps3/corstone310/common/tfm_interrupts.c
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/tfm_interrupts.c
rename to platform/ext/target/arm/mps3/corstone310/common/tfm_interrupts.c
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/tfm_peripherals_def.h b/platform/ext/target/arm/mps3/corstone310/common/tfm_peripherals_def.h
similarity index 96%
rename from platform/ext/target/arm/mps3/corstone310_fvp/tfm_peripherals_def.h
rename to platform/ext/target/arm/mps3/corstone310/common/tfm_peripherals_def.h
index 0f2557d..1084eb3 100644
--- a/platform/ext/target/arm/mps3/corstone310_fvp/tfm_peripherals_def.h
+++ b/platform/ext/target/arm/mps3/corstone310/common/tfm_peripherals_def.h
@@ -28,13 +28,17 @@
extern struct platform_data_t tfm_peripheral_std_uart;
extern struct platform_data_t tfm_peripheral_timer0;
-extern struct platform_data_t tfm_peripheral_dma0_ch0;
-extern struct platform_data_t tfm_peripheral_dma0_ch1;
#define TFM_PERIPHERAL_STD_UART (&tfm_peripheral_std_uart)
#define TFM_PERIPHERAL_TIMER0 (&tfm_peripheral_timer0)
+
+#if defined(CORSTONE310_FVP)
+extern struct platform_data_t tfm_peripheral_dma0_ch0;
+extern struct platform_data_t tfm_peripheral_dma0_ch1;
+
#define TFM_PERIPHERAL_DMA0_CH0 (&tfm_peripheral_dma0_ch0)
#define TFM_PERIPHERAL_DMA0_CH1 (&tfm_peripheral_dma0_ch1)
+#endif
#ifdef __cplusplus
}
diff --git a/platform/ext/target/arm/mps3/corstone310/fvp/CMakeLists.txt b/platform/ext/target/arm/mps3/corstone310/fvp/CMakeLists.txt
new file mode 100644
index 0000000..dd8a0bc
--- /dev/null
+++ b/platform/ext/target/arm/mps3/corstone310/fvp/CMakeLists.txt
@@ -0,0 +1,63 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2022, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+cmake_policy(SET CMP0076 NEW)
+
+include(${CORSTONE310_COMMON_DIR}/common.cmake)
+
+add_library(platform_fvp)
+
+target_sources(platform_fvp
+ PRIVATE
+ native_drivers/dma350_ch_drv.c
+ native_drivers/dma350_drv.c
+ libraries/dma350_lib.c
+ $<$<BOOL:${PLATFORM_SVC_HANDLERS}>:${CMAKE_CURRENT_SOURCE_DIR}/libraries/dma350_checker_layer.c>
+ $<$<BOOL:${PLATFORM_SVC_HANDLERS}>:${CMAKE_CURRENT_SOURCE_DIR}/device/source/dma350_checker_device_defs.c>
+ $<$<BOOL:${PLATFORM_SVC_HANDLERS}>:${CMAKE_CURRENT_SOURCE_DIR}/device/source/dma350_address_remap.c>
+)
+
+target_compile_definitions(platform_fvp
+ PRIVATE
+ # Needed for DMA-350 library
+ CMSIS_device_header=<corstone310.h>
+ $<$<BOOL:${PLATFORM_SVC_HANDLERS}>:PLATFORM_SVC_HANDLERS>
+)
+
+target_include_directories(platform_fvp
+ PUBLIC
+ ${CMAKE_SOURCE_DIR}
+ native_drivers
+ libraries
+ device/config
+ ${PLATFORM_DIR}/ext/cmsis
+ ${PLATFORM_DIR}/ext/driver
+ ${CORSTONE310_COMMON_DIR}/device/include
+ ${CORSTONE310_COMMON_DIR}/partition
+ ${CORSTONE310_COMMON_DIR}/device/config
+ ${CORSTONE310_COMMON_DIR}/native_drivers
+)
+
+target_link_libraries(platform_bl2
+ PUBLIC
+ platform_fvp
+)
+
+target_link_libraries(platform_s
+ PUBLIC
+ platform_fvp
+)
+
+target_sources(platform_s
+ PRIVATE
+ $<$<BOOL:${PLATFORM_SVC_HANDLERS}>:${CMAKE_CURRENT_SOURCE_DIR}/platform_svc_handler.c>
+)
+
+target_compile_definitions(platform_s
+ PRIVATE
+ $<$<BOOL:${PLATFORM_SVC_HANDLERS}>:PLATFORM_SVC_HANDLERS>
+)
diff --git a/platform/ext/target/arm/mps3/corstone310/fvp/check_config.cmake b/platform/ext/target/arm/mps3/corstone310/fvp/check_config.cmake
new file mode 100644
index 0000000..f497046
--- /dev/null
+++ b/platform/ext/target/arm/mps3/corstone310/fvp/check_config.cmake
@@ -0,0 +1,8 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2022, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+include(${CORSTONE310_COMMON_DIR}/check_config.cmake)
diff --git a/platform/ext/target/arm/mps3/corstone310/fvp/config.cmake b/platform/ext/target/arm/mps3/corstone310/fvp/config.cmake
new file mode 100644
index 0000000..686ac09
--- /dev/null
+++ b/platform/ext/target/arm/mps3/corstone310/fvp/config.cmake
@@ -0,0 +1,10 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2022, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+include(${CORSTONE310_COMMON_DIR}/config.cmake)
+
+set(PLATFORM_SVC_HANDLERS ON CACHE BOOL "Platform specific SVC handlers")
diff --git a/platform/ext/target/arm/mps3/corstone310/fvp/device/config/device_cfg_platform.h b/platform/ext/target/arm/mps3/corstone310/fvp/device/config/device_cfg_platform.h
new file mode 100644
index 0000000..806ab67
--- /dev/null
+++ b/platform/ext/target/arm/mps3/corstone310/fvp/device/config/device_cfg_platform.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 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 __DEVICE_CFG_PLATFORM_H__
+#define __DEVICE_CFG_PLATFORM_H__
+
+/* DMA350 */
+#define DMA350_DMA0_S
+#define DMA350_DMA0_DEV DMA350_DMA0_DEV_S
+
+#define DMA350_DMA0_CH0_S
+
+#ifdef PLATFORM_SVC_HANDLERS
+/* Required for DMA350 checker layer even if some channels are configured NS by
+ * default
+ */
+#define DMA350_DMA0_CH1_S
+#endif /* PLATFORM_SVC_HANDLERS */
+
+#endif /* __DEVICE_CFG_PLATFORM_H__ */
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/device/source/dma350_address_remap.c b/platform/ext/target/arm/mps3/corstone310/fvp/device/source/dma350_address_remap.c
similarity index 95%
rename from platform/ext/target/arm/mps3/corstone310_fvp/device/source/dma350_address_remap.c
rename to platform/ext/target/arm/mps3/corstone310/fvp/device/source/dma350_address_remap.c
index a91defa..205b1d5 100644
--- a/platform/ext/target/arm/mps3/corstone310_fvp/device/source/dma350_address_remap.c
+++ b/platform/ext/target/arm/mps3/corstone310/fvp/device/source/dma350_address_remap.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2019-2022 Arm Limited. All rights reserved.
+ * Copyright (c) 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.
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/device/source/dma350_checker_device_defs.c b/platform/ext/target/arm/mps3/corstone310/fvp/device/source/dma350_checker_device_defs.c
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/device/source/dma350_checker_device_defs.c
rename to platform/ext/target/arm/mps3/corstone310/fvp/device/source/dma350_checker_device_defs.c
diff --git a/platform/ext/target/arm/mps3/corstone310/fvp/dma_init.c b/platform/ext/target/arm/mps3/corstone310/fvp/dma_init.c
new file mode 100644
index 0000000..31e4554
--- /dev/null
+++ b/platform/ext/target/arm/mps3/corstone310/fvp/dma_init.c
@@ -0,0 +1,77 @@
+/*
+ * Copyright (c) 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.
+ */
+
+#include "utilities.h"
+#include "platform_s_device_definition.h"
+#include "platform_base_address.h"
+#include "dma350_drv.h"
+#include "target_cfg.h"
+
+struct platform_data_t tfm_peripheral_dma0_ch0 = {
+ DMA_350_BASE_S + 0x1000,
+ DMA_350_BASE_S + 0x10FF,
+ PPC_SP_DO_NOT_CONFIGURE,
+ 0
+};
+
+struct platform_data_t tfm_peripheral_dma0_ch1 = {
+ DMA_350_BASE_S + 0x1100,
+ DMA_350_BASE_S + 0x11FF,
+ PPC_SP_DO_NOT_CONFIGURE,
+ 0
+};
+
+/*------------------- DMA configuration functions -------------------------*/
+enum tfm_plat_err_t dma_init_cfg(void)
+{
+ enum dma350_error_t dma_err;
+
+ dma_err = dma350_init(&DMA350_DMA0_DEV_S);
+ if(dma_err != DMA350_ERR_NONE) {
+ ERROR_MSG("DMA350_DMA0_DEV_S init failed!");
+ return TFM_PLAT_ERR_SYSTEM_ERR;
+ }
+
+ /* Configure Channel 0 */
+ dma_err = dma350_set_ch_secure(&DMA350_DMA0_DEV_S, 0);
+ if(dma_err != DMA350_ERR_NONE)
+ {
+ ERROR_MSG("Failed to set DMA350_DMA0_DEV_S, channel 0 secure!");
+ return TFM_PLAT_ERR_SYSTEM_ERR;
+ }
+ dma_err = dma350_set_ch_privileged(&DMA350_DMA0_DEV_S, 0);
+ if(dma_err != DMA350_ERR_NONE)
+ {
+ ERROR_MSG("Failed to set DMA350_DMA0_DEV_S, channel 0 privileged!");
+ return TFM_PLAT_ERR_SYSTEM_ERR;
+ }
+
+ /* Configure Channel 1 */
+ dma_err = dma350_set_ch_nonsecure(&DMA350_DMA0_DEV_S, 1);
+ if(dma_err != DMA350_ERR_NONE)
+ {
+ ERROR_MSG("Failed to set DMA350_DMA0_DEV_S, channel 1 nonsecure!");
+ return TFM_PLAT_ERR_SYSTEM_ERR;
+ }
+ dma_err = dma350_set_ch_privileged(&DMA350_DMA0_DEV_S, 1);
+ if(dma_err != DMA350_ERR_NONE)
+ {
+ ERROR_MSG("Failed to set DMA350_DMA0_DEV_S, channel 1 privileged!");
+ return TFM_PLAT_ERR_SYSTEM_ERR;
+ }
+
+ return TFM_PLAT_ERR_SUCCESS;
+}
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/libraries/dma350_checker_layer.c b/platform/ext/target/arm/mps3/corstone310/fvp/libraries/dma350_checker_layer.c
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/libraries/dma350_checker_layer.c
rename to platform/ext/target/arm/mps3/corstone310/fvp/libraries/dma350_checker_layer.c
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/libraries/dma350_checker_layer.h b/platform/ext/target/arm/mps3/corstone310/fvp/libraries/dma350_checker_layer.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/libraries/dma350_checker_layer.h
rename to platform/ext/target/arm/mps3/corstone310/fvp/libraries/dma350_checker_layer.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/libraries/dma350_lib.c b/platform/ext/target/arm/mps3/corstone310/fvp/libraries/dma350_lib.c
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/libraries/dma350_lib.c
rename to platform/ext/target/arm/mps3/corstone310/fvp/libraries/dma350_lib.c
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/libraries/dma350_lib.h b/platform/ext/target/arm/mps3/corstone310/fvp/libraries/dma350_lib.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/libraries/dma350_lib.h
rename to platform/ext/target/arm/mps3/corstone310/fvp/libraries/dma350_lib.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/libraries/dma350_privileged_config.h b/platform/ext/target/arm/mps3/corstone310/fvp/libraries/dma350_privileged_config.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/libraries/dma350_privileged_config.h
rename to platform/ext/target/arm/mps3/corstone310/fvp/libraries/dma350_privileged_config.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/dma350_ch_drv.c b/platform/ext/target/arm/mps3/corstone310/fvp/native_drivers/dma350_ch_drv.c
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/dma350_ch_drv.c
rename to platform/ext/target/arm/mps3/corstone310/fvp/native_drivers/dma350_ch_drv.c
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/dma350_ch_drv.h b/platform/ext/target/arm/mps3/corstone310/fvp/native_drivers/dma350_ch_drv.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/dma350_ch_drv.h
rename to platform/ext/target/arm/mps3/corstone310/fvp/native_drivers/dma350_ch_drv.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/dma350_drv.c b/platform/ext/target/arm/mps3/corstone310/fvp/native_drivers/dma350_drv.c
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/dma350_drv.c
rename to platform/ext/target/arm/mps3/corstone310/fvp/native_drivers/dma350_drv.c
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/dma350_drv.h b/platform/ext/target/arm/mps3/corstone310/fvp/native_drivers/dma350_drv.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/dma350_drv.h
rename to platform/ext/target/arm/mps3/corstone310/fvp/native_drivers/dma350_drv.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/dma350_regdef.h b/platform/ext/target/arm/mps3/corstone310/fvp/native_drivers/dma350_regdef.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/native_drivers/dma350_regdef.h
rename to platform/ext/target/arm/mps3/corstone310/fvp/native_drivers/dma350_regdef.h
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/platform_svc_handler.c b/platform/ext/target/arm/mps3/corstone310/fvp/platform_svc_handler.c
similarity index 99%
rename from platform/ext/target/arm/mps3/corstone310_fvp/platform_svc_handler.c
rename to platform/ext/target/arm/mps3/corstone310/fvp/platform_svc_handler.c
index 4f4a344..da55fd7 100644
--- a/platform/ext/target/arm/mps3/corstone310_fvp/platform_svc_handler.c
+++ b/platform/ext/target/arm/mps3/corstone310/fvp/platform_svc_handler.c
@@ -25,7 +25,6 @@
(enum dma350_config_type_t)svc_args[0], (uint8_t)svc_args[1],
(void *)svc_args[2]);
break;
-
default:
retval = PSA_ERROR_GENERIC_ERROR;
break;
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/platform_svc_numbers.h b/platform/ext/target/arm/mps3/corstone310/fvp/platform_svc_numbers.h
similarity index 100%
rename from platform/ext/target/arm/mps3/corstone310_fvp/platform_svc_numbers.h
rename to platform/ext/target/arm/mps3/corstone310/fvp/platform_svc_numbers.h
diff --git a/platform/ext/target/arm/mps3/corstone310/fvp/preload.cmake b/platform/ext/target/arm/mps3/corstone310/fvp/preload.cmake
new file mode 100644
index 0000000..df76a39
--- /dev/null
+++ b/platform/ext/target/arm/mps3/corstone310/fvp/preload.cmake
@@ -0,0 +1,14 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2022, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+add_definitions(
+ -DCORSTONE310_FVP
+)
+
+set(CORSTONE310_COMMON_DIR "${CMAKE_CURRENT_LIST_DIR}/../common")
+
+include(${CORSTONE310_COMMON_DIR}/preload.cmake)
diff --git a/platform/ext/target/arm/mps3/corstone310_fvp/CMakeLists.txt b/platform/ext/target/arm/mps3/corstone310_fvp/CMakeLists.txt
deleted file mode 100644
index e8653cf..0000000
--- a/platform/ext/target/arm/mps3/corstone310_fvp/CMakeLists.txt
+++ /dev/null
@@ -1,200 +0,0 @@
-#-------------------------------------------------------------------------------
-# Copyright (c) 2020-2022, Arm Limited. All rights reserved.
-#
-# SPDX-License-Identifier: BSD-3-Clause
-#
-#-------------------------------------------------------------------------------
-
-cmake_policy(SET CMP0076 NEW)
-set(CMAKE_CURRENT_SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR})
-
-#========================= Platform region defs ===============================#
-
-target_include_directories(platform_region_defs
- INTERFACE
- partition
-)
-
-#========================= Platform common defs ===============================#
-if (${CMAKE_C_COMPILER_ID} STREQUAL ARMClang)
- if (${CMAKE_C_COMPILER_VERSION} VERSION_LESS "6.14")
- message(FATAL_ERROR "Architecture (Armv8.1-M) is only supported in ARMCLANG version 6.14 or newer.")
- endif()
-endif()
-
-# Specify the location of platform specific build dependencies.
-target_sources(tfm_s
- PRIVATE
- ${CMAKE_CURRENT_SOURCE_DIR}/device/source/startup_corstone310.c
-)
-target_add_scatter_file(tfm_s
- $<$<C_COMPILER_ID:ARMClang>:${CMAKE_SOURCE_DIR}/platform/ext/common/armclang/tfm_common_s.sct>
- $<$<C_COMPILER_ID:GNU>:${CMAKE_SOURCE_DIR}/platform/ext/common/gcc/tfm_common_s.ld>
- $<$<C_COMPILER_ID:IAR>:${CMAKE_SOURCE_DIR}/platform/ext/common/iar/tfm_common_s.icf>
-)
-
-if(NS)
- target_sources(tfm_ns
- PRIVATE
- ${CMAKE_CURRENT_SOURCE_DIR}/device/source/startup_corstone310.c
- )
- if(DEFAULT_NS_SCATTER)
- target_add_scatter_file(tfm_ns
- $<$<C_COMPILER_ID:ARMClang>:${CMAKE_SOURCE_DIR}/platform/ext/common/armclang/tfm_common_ns.sct>
- $<$<C_COMPILER_ID:GNU>:${CMAKE_SOURCE_DIR}/platform/ext/common/gcc/tfm_common_ns.ld>
- $<$<C_COMPILER_ID:IAR>:${CMAKE_SOURCE_DIR}/platform/ext/common/iar/tfm_common_ns.icf>
- )
- endif()
- target_link_libraries(CMSIS_5_tfm_ns
- INTERFACE
- $<$<C_COMPILER_ID:ARMClang>:CMSIS_5_RTX_V8MMN>
- $<$<C_COMPILER_ID:GNU>:CMSIS_5_RTX_V8MMN>
- $<$<C_COMPILER_ID:IAR>:CMSIS_5_RTX_V81MMN>
- )
-endif()
-
-if(BL2)
- target_sources(bl2
- PRIVATE
- ${CMAKE_CURRENT_SOURCE_DIR}/device/source/startup_corstone310.c
- )
- target_add_scatter_file(bl2
- $<$<C_COMPILER_ID:ARMClang>:${CMAKE_SOURCE_DIR}/platform/ext/common/armclang/tfm_common_bl2.sct>
- $<$<C_COMPILER_ID:GNU>:${CMAKE_SOURCE_DIR}/platform/ext/common/gcc/tfm_common_bl2.ld>
- $<$<C_COMPILER_ID:IAR>:${CMAKE_SOURCE_DIR}/platform/ext/common/iar/tfm_common_bl2.icf>
- )
-endif()
-
-#========================= Platform Secure ====================================#
-
-target_include_directories(platform_s
- PUBLIC
- .
- ../common
- cmsis_drivers
- cmsis_drivers/config/secure
- device
- device/config
- device/include
- device/source/armclang
- libraries
- native_drivers
- partition
- services/src
- ${PLATFORM_DIR}/..
-)
-
-target_sources(platform_s
- PRIVATE
- cmsis_drivers/Driver_Flash.c
- cmsis_drivers/Driver_MPC.c
- cmsis_drivers/Driver_TGU.c
- cmsis_drivers/Driver_PPC.c
- cmsis_drivers/Driver_USART.c
- $<$<BOOL:${PLATFORM_SVC_HANDLERS}>:${CMAKE_CURRENT_SOURCE_DIR}/device/source/dma350_address_remap.c>
- device/source/platform_s_device_definition.c
- device/source/system_core_init.c
- native_drivers/mpc_sie_drv.c
- native_drivers/mpu_armv8m_drv.c
- native_drivers/ppc_corstone310_drv.c
- native_drivers/syscounter_armv8-m_cntrl_drv.c
- native_drivers/uart_cmsdk_drv.c
- native_drivers/dma350_ch_drv.c
- native_drivers/dma350_drv.c
- libraries/dma350_lib.c
- $<$<OR:$<BOOL:${TEST_NS_SLIH_IRQ}>,$<BOOL:${TEST_NS_FLIH_IRQ}>>:${CMAKE_CURRENT_SOURCE_DIR}/plat_test.c>
- $<$<BOOL:${TFM_PARTITION_PLATFORM}>:${CMAKE_CURRENT_SOURCE_DIR}/services/src/tfm_platform_system.c>
- $<$<BOOL:${PLATFORM_SVC_HANDLERS}>:${CMAKE_CURRENT_SOURCE_DIR}/platform_svc_handler.c>
- $<$<BOOL:${PLATFORM_SVC_HANDLERS}>:${CMAKE_CURRENT_SOURCE_DIR}/libraries/dma350_checker_layer.c>
- $<$<BOOL:${PLATFORM_SVC_HANDLERS}>:${CMAKE_CURRENT_SOURCE_DIR}/device/source/dma350_checker_device_defs.c>
- )
-
-target_compile_definitions(platform_s
- PRIVATE
- # Needed for DMA-350 library
- CMSIS_device_header=<corstone310.h>
-
- $<$<BOOL:${PLATFORM_SVC_HANDLERS}>:PLATFORM_SVC_HANDLERS>
-)
-
-target_sources(tfm_sprt
- PRIVATE
- # SLIH test Partition and FLIH test Partition access the timer as ARoT Partitions.
- # Put the driver to SPRT so that both SLIH and FLIH tests can access it.
- $<$<OR:$<BOOL:${TEST_NS_SLIH_IRQ}>,$<BOOL:${TEST_NS_FLIH_IRQ}>>:${CMAKE_CURRENT_SOURCE_DIR}/native_drivers/systimer_armv8-m_drv.c>
-)
-
-target_compile_options(platform_s
- PUBLIC
- ${COMPILER_CMSE_FLAG}
-)
-
-#========================= Platform Non-Secure ================================#
-
-target_sources(platform_ns
- PRIVATE
- cmsis_drivers/Driver_Flash.c
- cmsis_drivers/Driver_USART.c
- device/source/platform_ns_device_definition.c
- device/source/system_core_init.c
- native_drivers/uart_cmsdk_drv.c
-)
-
-target_include_directories(platform_ns
- PUBLIC
- .
- ../common
- ${PLATFORM_DIR}/..
- cmsis_drivers
- cmsis_drivers/config/non_secure
- device
- device/config
- device/include
- device/source/armclang
- libraries
- native_drivers
- partition
-)
-
-#========================= Platform BL2 =======================================#
-
-if(BL2)
- target_sources(platform_bl2
- PRIVATE
- cmsis_drivers/Driver_Flash.c
- cmsis_drivers/Driver_USART.c
- device/source/platform_s_device_definition.c
- device/source/system_core_init.c
- native_drivers/uart_cmsdk_drv.c
- )
-
- target_include_directories(platform_bl2
- PUBLIC
- cmsis_drivers
- cmsis_drivers/config/secure
- device
- device/config
- device/include
- device/source/armclang
- libraries
- native_drivers
- partition
- services/src
-
- PRIVATE
- .
- ${PLATFORM_DIR}/..
- native_drivers
- )
-endif()
-
-#========================= tfm_spm ============================================#
-
-target_sources(tfm_spm
- PRIVATE
- target_cfg.c
- tfm_hal_isolation.c
- tfm_hal_platform.c
- faults.c
- $<$<OR:$<BOOL:${CONFIG_TFM_FLIH_API}>,$<BOOL:${CONFIG_TFM_SLIH_API}>>:${CMAKE_CURRENT_SOURCE_DIR}/tfm_interrupts.c>
-)