1 /* 2 * Copyright (c) 2018-2024, Arm Limited. All rights reserved. 3 * Copyright (c) 2022 Cypress Semiconductor Corporation (an Infineon company) 4 * or an affiliate of Cypress Semiconductor Corporation. All rights reserved. 5 * 6 * SPDX-License-Identifier: BSD-3-Clause 7 * 8 */ 9 10 #ifndef __TFM_NSPM_H__ 11 #define __TFM_NSPM_H__ 12 13 #include <stdint.h> 14 15 #define TFM_NS_CLIENT_INVALID_ID ((int32_t)0) 16 17 #ifdef CONFIG_TFM_USE_TRUSTZONE 18 19 #endif /* CONFIG_TFM_USE_TRUSTZONE */ 20 21 /** 22 * \brief initialise the NS context database 23 */ 24 void tfm_nspm_ctx_init(void); 25 26 /** 27 * \brief Get the client ID of the current NS client 28 * 29 * \return The client id of the current NS client. 0 (invalid client id) is 30 * returned in case of error. 31 */ 32 int32_t tfm_nspm_get_current_client_id(void); 33 34 /** 35 * \brief Register a non-secure client ID range. 36 * 37 * \param[in] client_id_base The minimum client ID for this client. 38 * \param[in] client_id_limit The maximum client ID for this client. 39 */ 40 void tz_ns_agent_register_client_id_range(int32_t client_id_base, 41 int32_t client_id_limit); 42 43 #endif /* __TFM_NSPM_H__ */ 44