1 /* -------------------------------------------------------------------------- */
2 /*                           Copyright 2021-2022 NXP                          */
3 /*                            All rights reserved.                            */
4 /*                    SPDX-License-Identifier: BSD-3-Clause                   */
5 /* -------------------------------------------------------------------------- */
6 
7 #ifndef _FWK_PLATFORM_COEX_H_
8 #define _FWK_PLATFORM_COEX_H_
9 
10 /* -------------------------------------------------------------------------- */
11 /*                                  Includes                                  */
12 /* -------------------------------------------------------------------------- */
13 
14 #include <stdint.h>
15 
16 /* -------------------------------------------------------------------------- */
17 /*                                Public types                                */
18 /* -------------------------------------------------------------------------- */
19 
20 #define connBle_c      (uint8_t)(1U << 0)
21 #define conn802_15_4_c (uint8_t)(1U << 1)
22 #define connWlan_c     (uint8_t)(1U << 2)
23 #define connAll_c      (connBle_c | conn802_15_4_c | connWlan_c)
24 
25 /* -------------------------------------------------------------------------- */
26 /*                              Public functions                              */
27 /* -------------------------------------------------------------------------- */
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
33 /*!
34  * \brief Initialize a single or a combination of controllers
35  *
36  * \param[in] controllersMask mask of combined controllers_t
37  * \return int >=0 for success, <0 for errors
38  */
39 int PLATFORM_InitControllers(uint8_t controllersMask);
40 
41 /*!
42  * \brief Terminate a single or a combination of controllers
43  *
44  * \param[in] controllersMask
45  * \return int >=0 for success, <0 for errors
46  */
47 int PLATFORM_TerminateControllers(uint8_t controllersMask);
48 
49 /*!
50  * \brief Returns current states of each Controller
51  *
52  * \return uint8_t mask indicating the state of each Controller
53  */
54 uint8_t PLATFORM_GetRunningControllers(void);
55 
56 #ifdef __cplusplus
57 }
58 #endif
59 
60 #endif /* _FWK_PLATFORM_COEX_H_ */