]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_M4_SimpleLink_CC3220SF_CCS/ti/devices/cc32xx/driverlib/hwspinlock.h
Add SimpleLink CC3220SF demo.
[freertos] / FreeRTOS / Demo / CORTEX_M4_SimpleLink_CC3220SF_CCS / ti / devices / cc32xx / driverlib / hwspinlock.h
1 /*
2  * -------------------------------------------
3  *    CC3220 SDK - v0.10.00.00 
4  * -------------------------------------------
5  *
6  *  Copyright (C) 2015 Texas Instruments Incorporated - http://www.ti.com/ 
7  *  
8  *  Redistribution and use in source and binary forms, with or without 
9  *  modification, are permitted provided that the following conditions 
10  *  are met:
11  *
12  *    Redistributions of source code must retain the above copyright 
13  *    notice, this list of conditions and the following disclaimer.
14  *
15  *    Redistributions in binary form must reproduce the above copyright
16  *    notice, this list of conditions and the following disclaimer in the 
17  *    documentation and/or other materials provided with the   
18  *    distribution.
19  *
20  *    Neither the name of Texas Instruments Incorporated nor the names of
21  *    its contributors may be used to endorse or promote products derived
22  *    from this software without specific prior written permission.
23  *
24  *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
25  *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
26  *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
27  *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 
28  *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
29  *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
30  *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
31  *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
32  *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
33  *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
34  *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35  *  
36  */
37 //*****************************************************************************
38 //
39 //  hwspinlock.h
40 //
41 //  Prototypes for the Apps-NWP spinlock.
42 //
43 //*****************************************************************************
44
45 #ifndef __HWSPINLOCK_H__
46 #define __HWSPINLOCK_H__
47
48 //*****************************************************************************
49 //
50 // If building with a C++ compiler, make all of the definitions in this header
51 // have a C binding.
52 //
53 //*****************************************************************************
54 #ifdef __cplusplus
55 extern "C"
56 {
57 #endif
58
59 //*****************************************************************************
60 // values that can be passed to API as ui32LockID parameter
61 //*****************************************************************************
62 #define HWSPINLOCK_SSPI        0x02000000
63
64 //*****************************************************************************
65 // Values that are returned from HwSpinLockTest()
66 //*****************************************************************************
67 #define HWSPINLOCK_OWNER_APPS  0x00000001
68 #define HWSPINLOCK_OWNER_NWP   0x00000002
69 #define HWSPINLOCK_OWNER_NONE  0x00000000
70
71 //*****************************************************************************
72 //
73 // API Function prototypes
74 //
75 //*****************************************************************************
76 extern void HwSpinLockAcquire(uint32_t ui32LockID);
77 extern int32_t HwSpinLockTryAcquire(uint32_t ui32LockID, uint32_t ui32Retry);
78 extern void HwSpinLockRelease(uint32_t ui32LockID);
79 extern uint32_t HwSpinLockTest(uint32_t ui32LockID, bool bCurrentStatus);
80
81 //*****************************************************************************
82 //
83 // Mark the end of the C bindings section for C++ compilers.
84 //
85 //*****************************************************************************
86 #ifdef __cplusplus
87 }
88 #endif
89
90 #endif // __HWSPINLOCK_H__