65 lines
2.3 KiB
ReStructuredText
65 lines
2.3 KiB
ReStructuredText
###############################
|
|
Details for the platform folder
|
|
###############################
|
|
|
|
.. Warning::
|
|
|
|
This folder and subfolders, especially the target folder, are likely to be
|
|
refactored and updated to improve the overall structure of dependencies.
|
|
|
|
**************************
|
|
Interfacing with TF-M core
|
|
**************************
|
|
|
|
platformext/target/tfm_peripherals_def.h
|
|
========================================
|
|
This file should enumerate the hardware peripherals that are available for TF-M
|
|
on the platform. The name of the peripheral used by a service is set in its
|
|
manifest file. The platform have to provide a macro for each of the provided
|
|
peripherals, that is substituted to a pointer to type
|
|
``struct tfm_spm_partition_platform_data_t``. The memory that the pointer points
|
|
to is allocated by the platform code. The pointer gets stored in the partitions
|
|
database in SPM, and it is provided to the SPM HAL functions.
|
|
|
|
Peripherals currently used by the services in TF-M
|
|
--------------------------------------------------
|
|
- ``TFM_PERIPHERAL_FPGA_IO`` - FPGA system control and I/O
|
|
- ``TFM_PERIPHERAL_UART1``- UART1
|
|
|
|
.. Note::
|
|
|
|
If a platform doesn't support a peripheral, that is used by a service, then
|
|
the service cannot be used on the given platform. Using a peripheral in
|
|
TF-M that is not supported by the platform results in compile error.
|
|
|
|
platform/include/tfm_spm_hal.h
|
|
==============================
|
|
This file contains the declarations of functions that a platform implementation
|
|
has to provide for TF-M. For details see the comments in the file.
|
|
|
|
secure_fw/core/tfm_platform_core_api.h
|
|
======================================
|
|
This file contains declarations of functions that can be or have to be called
|
|
from platform implementations. For details see the comments in the file.
|
|
|
|
***********
|
|
Sub-folders
|
|
***********
|
|
|
|
include
|
|
=======
|
|
This folder contains the interfaces that TF-M expects every target to provide.
|
|
The code in this folder is created as a part of the TF-M project therefore it
|
|
adheres to the BSD 3.0 license.
|
|
|
|
ext
|
|
===
|
|
This folder contains code that has been imported from other projects so it may
|
|
have licenses other than the BSD 3.0 used by the TF-M project.
|
|
|
|
Please see the :doc:`readme file the ext folder <ext/readme>` for details.
|
|
|
|
--------------
|
|
|
|
*Copyright (c) 2017-2019, Arm Limited. All rights reserved.*
|