blob: 0dac5e97918e8a63e5285f51f46322034c68544d [file] [log] [blame]
Gyorgy Szingdb9783c2019-04-17 21:08:48 +02001###############################
2Details for the platform folder
3###############################
4
5.. Warning::
6
7 This folder and subfolders, especially the target folder, are likely to be
8 refactored and updated to improve the overall structure of dependencies.
9
Miklos Balintc7b1b6c2019-04-24 12:38:36 +020010*********************
11Interfacing with TF-M
12*********************
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020013
14platformext/target/tfm_peripherals_def.h
15========================================
16This file should enumerate the hardware peripherals that are available for TF-M
17on the platform. The name of the peripheral used by a service is set in its
18manifest file. The platform have to provide a macro for each of the provided
19peripherals, that is substituted to a pointer to type
20``struct tfm_spm_partition_platform_data_t``. The memory that the pointer points
21to is allocated by the platform code. The pointer gets stored in the partitions
22database in SPM, and it is provided to the SPM HAL functions.
23
24Peripherals currently used by the services in TF-M
25--------------------------------------------------
26- ``TFM_PERIPHERAL_FPGA_IO`` - FPGA system control and I/O
27- ``TFM_PERIPHERAL_UART1``- UART1
28
29.. Note::
30
31 If a platform doesn't support a peripheral, that is used by a service, then
32 the service cannot be used on the given platform. Using a peripheral in
33 TF-M that is not supported by the platform results in compile error.
34
35platform/include/tfm_spm_hal.h
36==============================
37This file contains the declarations of functions that a platform implementation
Miklos Balintc7b1b6c2019-04-24 12:38:36 +020038has to provide for TF-M's SPM. For details see the comments in the file.
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020039
40secure_fw/core/tfm_platform_core_api.h
41======================================
42This file contains declarations of functions that can be or have to be called
43from platform implementations. For details see the comments in the file.
44
Miklos Balintc7b1b6c2019-04-24 12:38:36 +020045platform/include/tfm_platform_system.h
46======================================
47This file contains the declarations of functions that a platform implementation
48has to provide for TF-M's Platform Service. For details see
49``docs/user_guides/services/tfm_platform_integration_guide.rst``
50
Gyorgy Szingdb9783c2019-04-17 21:08:48 +020051***********
52Sub-folders
53***********
54
55include
56=======
57This folder contains the interfaces that TF-M expects every target to provide.
58The code in this folder is created as a part of the TF-M project therefore it
59adheres to the BSD 3.0 license.
60
61ext
62===
63This folder contains code that has been imported from other projects so it may
64have licenses other than the BSD 3.0 used by the TF-M project.
65
66Please see the :doc:`readme file the ext folder <ext/readme>` for details.
67
68--------------
69
70*Copyright (c) 2017-2019, Arm Limited. All rights reserved.*