]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - processor-sdk/performance-audio-sr.git/blob - psdk_cust/pdk_k2g_1_0_1_2_eng/packages/ti/csl/csl_cpIntc.h
PASDK-319:Update PDK eng to 1.0.1.2.
[processor-sdk/performance-audio-sr.git] / psdk_cust / pdk_k2g_1_0_1_2_eng / packages / ti / csl / csl_cpIntc.h
1 /**
2  *   @file  csl_cpIntc.h
3  *
4  *   @brief   
5  *      This is the main header file for the CPINTC Module which defines
6  *      all the data structures and exported API.
7  *
8  *  \par
9  *  ============================================================================
10  *  @n   (C) Copyright 2008, 2009, Texas Instruments, Inc.
11  * 
12  *  Redistribution and use in source and binary forms, with or without 
13  *  modification, are permitted provided that the following conditions 
14  *  are met:
15  *
16  *    Redistributions of source code must retain the above copyright 
17  *    notice, this list of conditions and the following disclaimer.
18  *
19  *    Redistributions in binary form must reproduce the above copyright
20  *    notice, this list of conditions and the following disclaimer in the 
21  *    documentation and/or other materials provided with the   
22  *    distribution.
23  *
24  *    Neither the name of Texas Instruments Incorporated nor the names of
25  *    its contributors may be used to endorse or promote products derived
26  *    from this software without specific prior written permission.
27  *
28  *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
29  *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
30  *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
31  *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 
32  *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
33  *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
34  *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
35  *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
36  *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
37  *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
38  *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39  *
40 */
42 /** @defgroup CSL_CPINTC_API CPINTC
43  *
44  * @section Introduction
45  *
46  * @subsection xxx Overview
47  *  The CPINTC is the interrupt controller which handles the system interrupts
48  *  for the host, processes & prioritizes them and then is responsible for 
49  *  delivering these to the host.
50  *
51  * @subsection References
52  *   -# CPINTC Architecture Specification.
53  *
54  * @subsection Assumptions
55  *    The abbreviations CPINTC, cpintc have been used throughout this
56  *    document to refer to Interrupt Controller.
57  */
58  
59 #ifndef CSL_CPINTC_H
60 #define CSL_CPINTC_H
62 #ifdef __cplusplus
63 extern "C" {
64 #endif
66 #include <ti/csl/soc.h>
67 #include <ti/csl/csl.h>
68 #include <ti/csl/cslr_cpintc.h>
70 /**
71 @defgroup CSL_CPINTC_SYMBOL  CPINTC Symbols Defined
72 @ingroup CSL_CPINTC_API
73 */
74 /**
75 @defgroup CSL_CPINTC_DATASTRUCT  CPINTC Data Structures
76 @ingroup CSL_CPINTC_API
77 */
78 /**
79 @defgroup CSL_CPINTC_FUNCTION  CPINTC Functions
80 @ingroup CSL_CPINTC_API
81 */
83 /** @addtogroup CSL_CPINTC_DATASTRUCT
84  @{ */
85  
86 /** @brief Register Overlay Memory map for the CPINTC0 Registers. */
87 typedef volatile CSL_CPINTCRegs*  CSL_CPINTC_RegsOvly;
89 /** @brief This is the handle to the CPINTC instance */
90 typedef Uint32   CSL_CPINTC_Handle;
92 /** @brief This defines the system interrupt */
93 typedef Uint32   CSL_CPINTCSystemInterrupt;
95 /** @brief This defines the host interrupt */
96 typedef Uint32   CSL_CPINTCHostInterrupt;
98 /** @brief This defines the channels */
99 typedef Uint32   CSL_CPINTCChannel;
101 /** @brief This defines the nesting level */
102 typedef Uint16   CSL_CPINTCNestingLevel;
104 /** @brief Enumeration defines the type of Nesting Modes which is supported by the CPINTC */
105 typedef enum CSL_CPINTCNestingMode_e
107     CPINTC_NO_NESTING            = 0x0,
108     CPINTC_AUTOMATIC_GLB_NESTING = 0x1,
109     CPINTC_AUTOMATIC_IND_NESTING = 0x2,
110     CPINTC_MANUAL_NESTING        = 0x3
111 }CSL_CPINTCNestingMode;
113 /**
114 @}
115 */
117 /* Device specific API which opens the CPINTC instance and returns a handle used in all subsequent calls */
118 extern CSL_CPINTC_Handle CSL_CPINTC_open (Int32 instNum);
120 #ifdef __cplusplus
122 #endif
124 #endif /* CSL_CPINTC_H */