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