]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - ipc/ipcdev.git/blob - qnx/src/ipc3x_dev/ti/syslink/inc/knl/Dm8168IpcInt.h
Moved files from the ipc3x_dev branch in syslink_qnx repository into direct
[ipc/ipcdev.git] / qnx / src / ipc3x_dev / ti / syslink / inc / knl / Dm8168IpcInt.h
1 /**
2  *  @file   Dm8168IpcInt.h
3  *
4  *  @brief      Header file for OMAP3530 DSP IPC interrupts
5  *
6  *
7  */
8 /*
9  *  ============================================================================
10  *
11  *  Copyright (c) 2008-2012, Texas Instruments Incorporated
12  *
13  *  Redistribution and use in source and binary forms, with or without
14  *  modification, are permitted provided that the following conditions
15  *  are met:
16  *
17  *  *  Redistributions of source code must retain the above copyright
18  *     notice, this list of conditions and the following disclaimer.
19  *
20  *  *  Redistributions in binary form must reproduce the above copyright
21  *     notice, this list of conditions and the following disclaimer in the
22  *     documentation and/or other materials provided with the 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 "AS IS"
29  *  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
30  *  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
31  *  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
32  *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
33  *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34  *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
35  *  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
36  *  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
37  *  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
38  *  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39  *  Contact information for paper mail:
40  *  Texas Instruments
41  *  Post Office Box 655303
42  *  Dallas, Texas 75265
43  *  Contact information:
44  *  http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
45  *  DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
46  *  ============================================================================
47  *
48  */
53 #if !defined (DM8168IPCINT_H)
54 #define DM8168IPCINT_H
57 #if defined (__cplusplus)
58 extern "C" {
59 #endif /* defined (__cplusplus) */
62 /*!
63  *  @def    DM8168IPCINT_MODULEID
64  *  @brief  Module ID for Notify.
65  */
66 #define DM8168IPCINT_MODULEID           (UInt16) 0x5f85
69 /* =============================================================================
70  *  All success and failure codes for the module
71  * =============================================================================
72  */
74 /*!
75  *  @def    DM8168IPCINT_STATUSCODEBASE
76  *  @brief  Status code base for DM8168IPCINT module.
77  */
78 #define DM8168IPCINT_STATUSCODEBASE    (DM8168IPCINT_MODULEID << 12u)
80 /*!
81  *  @def    DM8168IPCINT_MAKE_FAILURE
82  *  @brief  Macro to make error code.
83  */
84 #define DM8168IPCINT_MAKE_FAILURE(x)    ((Int)(  0x80000000              \
85                                     | (DM8168IPCINT_STATUSCODEBASE + (x))))
87 /*!
88  *  @def    DM8168IPCINT_MAKE_SUCCESS
89  *
90  *  @brief  Macro to make success code.
91  */
92 #define DM8168IPCINT_MAKE_SUCCESS(x)(DM8168IPCINT_STATUSCODEBASE +(x))
94 /*!
95  *  @def    DM8168IPCINT_E_FAIL
96  *  @brief  Generic failure.
97  */
98 #define DM8168IPCINT_E_FAIL              DM8168IPCINT_MAKE_FAILURE(1)
100 /*!
101  *  @def    DM8168IPCINT_E_INVALIDSTATE
102  *  @brief  Generic failure.
103  */
104 #define DM8168IPCINT_E_INVALIDSTATE      DM8168IPCINT_MAKE_FAILURE(2)
106 /*!
107  *  @def    DM8168IPCINT_E_MEMORY
108  *  @brief  Out of memory error.
109  */
110 #define DM8168IPCINT_E_MEMORY            DM8168IPCINT_MAKE_FAILURE(3)
111 /*!
112  *  @def    DM8168IPCINT_SUCCESS
113  *  @brief  Generic failure.
114  */
115 #define DM8168IPCINT_SUCCESS             DM8168IPCINT_MAKE_SUCCESS(0)
116 /*!
117  *  @def    DM8168IPCINT_S_ALREADYSETUP
118  *  @brief  Set up already called.
119  */
120 #define DM8168IPCINT_S_ALREADYSETUP      DM8168IPCINT_MAKE_SUCCESS(1)
122 /*!
123  *  @def    DM8168IPCINT_S_ALREADYREGISTERED
124  *  @brief  ISR already registered.
125  */
126 #define DM8168IPCINT_S_ALREADYREGISTERED DM8168IPCINT_MAKE_SUCCESS(2)
127 /* =============================================================================
128  * Structures and enums
129  * =============================================================================
130  */
131 typedef struct Dm8168IpcInt_Config_tag {
132     UInt16    procId;
133     /*!< Processor id of destination processor. */
134     UInt32    recvIntId;
135     /* recevive interrupt id */
136 } Dm8168IpcInt_Config ;
139 /* =============================================================================
140  * APIs
141  * =============================================================================
142  */
143 /* Function to setup interrupts for omap3530 */
144 Void Dm8168IpcInt_setup (Dm8168IpcInt_Config * cfg);
146 /* Function to destroy interrupt setup for omap3530 */
147 Void Dm8168IpcInt_destroy (Void);
150 #if defined (__cplusplus)
152 #endif /* defined (__cplusplus) */
155 #endif  /* !defined (DM8168IPCINT_H) */