Gyorgy Szing | db9783c | 2019-04-17 21:08:48 +0200 | [diff] [blame] | 1 | ############################### |
| 2 | Details 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 Balint | c7b1b6c | 2019-04-24 12:38:36 +0200 | [diff] [blame^] | 10 | ********************* |
| 11 | Interfacing with TF-M |
| 12 | ********************* |
Gyorgy Szing | db9783c | 2019-04-17 21:08:48 +0200 | [diff] [blame] | 13 | |
| 14 | platformext/target/tfm_peripherals_def.h |
| 15 | ======================================== |
| 16 | This file should enumerate the hardware peripherals that are available for TF-M |
| 17 | on the platform. The name of the peripheral used by a service is set in its |
| 18 | manifest file. The platform have to provide a macro for each of the provided |
| 19 | peripherals, that is substituted to a pointer to type |
| 20 | ``struct tfm_spm_partition_platform_data_t``. The memory that the pointer points |
| 21 | to is allocated by the platform code. The pointer gets stored in the partitions |
| 22 | database in SPM, and it is provided to the SPM HAL functions. |
| 23 | |
| 24 | Peripherals 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 | |
| 35 | platform/include/tfm_spm_hal.h |
| 36 | ============================== |
| 37 | This file contains the declarations of functions that a platform implementation |
Miklos Balint | c7b1b6c | 2019-04-24 12:38:36 +0200 | [diff] [blame^] | 38 | has to provide for TF-M's SPM. For details see the comments in the file. |
Gyorgy Szing | db9783c | 2019-04-17 21:08:48 +0200 | [diff] [blame] | 39 | |
| 40 | secure_fw/core/tfm_platform_core_api.h |
| 41 | ====================================== |
| 42 | This file contains declarations of functions that can be or have to be called |
| 43 | from platform implementations. For details see the comments in the file. |
| 44 | |
Miklos Balint | c7b1b6c | 2019-04-24 12:38:36 +0200 | [diff] [blame^] | 45 | platform/include/tfm_platform_system.h |
| 46 | ====================================== |
| 47 | This file contains the declarations of functions that a platform implementation |
| 48 | has to provide for TF-M's Platform Service. For details see |
| 49 | ``docs/user_guides/services/tfm_platform_integration_guide.rst`` |
| 50 | |
Gyorgy Szing | db9783c | 2019-04-17 21:08:48 +0200 | [diff] [blame] | 51 | *********** |
| 52 | Sub-folders |
| 53 | *********** |
| 54 | |
| 55 | include |
| 56 | ======= |
| 57 | This folder contains the interfaces that TF-M expects every target to provide. |
| 58 | The code in this folder is created as a part of the TF-M project therefore it |
| 59 | adheres to the BSD 3.0 license. |
| 60 | |
| 61 | ext |
| 62 | === |
| 63 | This folder contains code that has been imported from other projects so it may |
| 64 | have licenses other than the BSD 3.0 used by the TF-M project. |
| 65 | |
| 66 | Please 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.* |