1 /*
2  * Copyright (c) 2001-2019, Arm Limited and Contributors. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 /*!
8  @addtogroup cc_pal_apbc
9  @{
10  */
11 
12 /*!
13  @file
14  @brief This file contains the definitions and APIs for APB-C implementation.
15 
16  This is a placeholder for platform-specific APB-C implementation.
17 */
18 
19 #ifndef _CC_PAL_APBC_H
20 #define _CC_PAL_APBC_H
21 
22 /*!
23  @brief This function initiates an atomic counter.
24 
25  @return Void.
26  */
27 void CC_PalApbcCntrInit(void);
28 
29 /*!
30  @brief This function returns the number of APB-C access operations.
31 
32  @return The value of the atomic counter.
33  */
34 int32_t CC_PalApbcCntrValue(void);
35 
36 /*!
37  @brief This function updates the atomic counter on each call to APB-C access.
38 
39  On each call to APB-C access, the counter is increased. At the end of each
40  operation, the counter is decreased.
41 
42  @return \c 0 on success.
43  @return A non-zero value on failure.
44  */
45 CCError_t CC_PalApbcModeSelect(
46                /*! [in] Determines the APB-C mode: TRUE (APB-C start access).
47                FALSE (APB-C finish access). */
48                CCBool isApbcInc
49                );
50 
51 
52 /*!
53  @}
54  */
55 #endif
56