1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
|
//###########################################################################
//
// FILE: F2837xD_ipc.h
//
// TITLE: IPC Register Definitions.
//
//###########################################################################
// $TI Release: F2837xD Support Library v3.05.00.00 $
// $Release Date: Tue Jun 26 03:15:23 CDT 2018 $
// $Copyright:
// Copyright (C) 2013-2018 Texas Instruments Incorporated - http://www.ti.com/
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
//
// Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
//
// Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the
// distribution.
//
// Neither the name of Texas Instruments Incorporated nor the names of
// its contributors may be used to endorse or promote products derived
// from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// $
//###########################################################################
#ifndef __F2837xD_IPC_H__
#define __F2837xD_IPC_H__
#ifdef __cplusplus
extern "C" {
#endif
//---------------------------------------------------------------------------
// IPC Individual Register Bit Definitions:
struct IPCACK_BITS { // bits description
Uint16 IPC0:1; // 0 Local IPC Flag 0 Acknowledgement
Uint16 IPC1:1; // 1 Local IPC Flag 1 Acknowledgement
Uint16 IPC2:1; // 2 Local IPC Flag 2 Acknowledgement
Uint16 IPC3:1; // 3 Local IPC Flag 3 Acknowledgement
Uint16 IPC4:1; // 4 Local IPC Flag 4 Acknowledgement
Uint16 IPC5:1; // 5 Local IPC Flag 5 Acknowledgement
Uint16 IPC6:1; // 6 Local IPC Flag 6 Acknowledgement
Uint16 IPC7:1; // 7 Local IPC Flag 7 Acknowledgement
Uint16 IPC8:1; // 8 Local IPC Flag 8 Acknowledgement
Uint16 IPC9:1; // 9 Local IPC Flag 9 Acknowledgement
Uint16 IPC10:1; // 10 Local IPC Flag 10 Acknowledgement
Uint16 IPC11:1; // 11 Local IPC Flag 11 Acknowledgement
Uint16 IPC12:1; // 12 Local IPC Flag 12 Acknowledgement
Uint16 IPC13:1; // 13 Local IPC Flag 13 Acknowledgement
Uint16 IPC14:1; // 14 Local IPC Flag 14 Acknowledgement
Uint16 IPC15:1; // 15 Local IPC Flag 15 Acknowledgement
Uint16 IPC16:1; // 16 Local IPC Flag 16 Acknowledgement
Uint16 IPC17:1; // 17 Local IPC Flag 17 Acknowledgement
Uint16 IPC18:1; // 18 Local IPC Flag 18 Acknowledgement
Uint16 IPC19:1; // 19 Local IPC Flag 19 Acknowledgement
Uint16 IPC20:1; // 20 Local IPC Flag 20 Acknowledgement
Uint16 IPC21:1; // 21 Local IPC Flag 21 Acknowledgement
Uint16 IPC22:1; // 22 Local IPC Flag 22 Acknowledgement
Uint16 IPC23:1; // 23 Local IPC Flag 23 Acknowledgement
Uint16 IPC24:1; // 24 Local IPC Flag 24 Acknowledgement
Uint16 IPC25:1; // 25 Local IPC Flag 25 Acknowledgement
Uint16 IPC26:1; // 26 Local IPC Flag 26 Acknowledgement
Uint16 IPC27:1; // 27 Local IPC Flag 27 Acknowledgement
Uint16 IPC28:1; // 28 Local IPC Flag 28 Acknowledgement
Uint16 IPC29:1; // 29 Local IPC Flag 29 Acknowledgement
Uint16 IPC30:1; // 30 Local IPC Flag 30 Acknowledgement
Uint16 IPC31:1; // 31 Local IPC Flag 31 Acknowledgement
};
union IPCACK_REG {
Uint32 all;
struct IPCACK_BITS bit;
};
struct IPCSTS_BITS { // bits description
Uint16 IPC0:1; // 0 Local IPC Flag 0 Status
Uint16 IPC1:1; // 1 Local IPC Flag 1 Status
Uint16 IPC2:1; // 2 Local IPC Flag 2 Status
Uint16 IPC3:1; // 3 Local IPC Flag 3 Status
Uint16 IPC4:1; // 4 Local IPC Flag 4 Status
Uint16 IPC5:1; // 5 Local IPC Flag 5 Status
Uint16 IPC6:1; // 6 Local IPC Flag 6 Status
Uint16 IPC7:1; // 7 Local IPC Flag 7 Status
Uint16 IPC8:1; // 8 Local IPC Flag 8 Status
Uint16 IPC9:1; // 9 Local IPC Flag 9 Status
Uint16 IPC10:1; // 10 Local IPC Flag 10 Status
Uint16 IPC11:1; // 11 Local IPC Flag 11 Status
Uint16 IPC12:1; // 12 Local IPC Flag 12 Status
Uint16 IPC13:1; // 13 Local IPC Flag 13 Status
Uint16 IPC14:1; // 14 Local IPC Flag 14 Status
Uint16 IPC15:1; // 15 Local IPC Flag 15 Status
Uint16 IPC16:1; // 16 Local IPC Flag 16 Status
Uint16 IPC17:1; // 17 Local IPC Flag 17 Status
Uint16 IPC18:1; // 18 Local IPC Flag 18 Status
Uint16 IPC19:1; // 19 Local IPC Flag 19 Status
Uint16 IPC20:1; // 20 Local IPC Flag 20 Status
Uint16 IPC21:1; // 21 Local IPC Flag 21 Status
Uint16 IPC22:1; // 22 Local IPC Flag 22 Status
Uint16 IPC23:1; // 23 Local IPC Flag 23 Status
Uint16 IPC24:1; // 24 Local IPC Flag 24 Status
Uint16 IPC25:1; // 25 Local IPC Flag 25 Status
Uint16 IPC26:1; // 26 Local IPC Flag 26 Status
Uint16 IPC27:1; // 27 Local IPC Flag 27 Status
Uint16 IPC28:1; // 28 Local IPC Flag 28 Status
Uint16 IPC29:1; // 29 Local IPC Flag 29 Status
Uint16 IPC30:1; // 30 Local IPC Flag 30 Status
Uint16 IPC31:1; // 31 Local IPC Flag 31 Status
};
union IPCSTS_REG {
Uint32 all;
struct IPCSTS_BITS bit;
};
struct IPCSET_BITS { // bits description
Uint16 IPC0:1; // 0 Set Remote IPC0 Flag
Uint16 IPC1:1; // 1 Set Remote IPC1 Flag
Uint16 IPC2:1; // 2 Set Remote IPC2 Flag
Uint16 IPC3:1; // 3 Set Remote IPC3 Flag
Uint16 IPC4:1; // 4 Set Remote IPC4 Flag
Uint16 IPC5:1; // 5 Set Remote IPC5 Flag
Uint16 IPC6:1; // 6 Set Remote IPC6 Flag
Uint16 IPC7:1; // 7 Set Remote IPC7 Flag
Uint16 IPC8:1; // 8 Set Remote IPC8 Flag
Uint16 IPC9:1; // 9 Set Remote IPC9 Flag
Uint16 IPC10:1; // 10 Set Remote IPC10 Flag
Uint16 IPC11:1; // 11 Set Remote IPC11 Flag
Uint16 IPC12:1; // 12 Set Remote IPC12 Flag
Uint16 IPC13:1; // 13 Set Remote IPC13 Flag
Uint16 IPC14:1; // 14 Set Remote IPC14 Flag
Uint16 IPC15:1; // 15 Set Remote IPC15 Flag
Uint16 IPC16:1; // 16 Set Remote IPC16 Flag
Uint16 IPC17:1; // 17 Set Remote IPC17 Flag
Uint16 IPC18:1; // 18 Set Remote IPC18 Flag
Uint16 IPC19:1; // 19 Set Remote IPC19 Flag
Uint16 IPC20:1; // 20 Set Remote IPC20 Flag
Uint16 IPC21:1; // 21 Set Remote IPC21 Flag
Uint16 IPC22:1; // 22 Set Remote IPC22 Flag
Uint16 IPC23:1; // 23 Set Remote IPC23 Flag
Uint16 IPC24:1; // 24 Set Remote IPC24 Flag
Uint16 IPC25:1; // 25 Set Remote IPC25 Flag
Uint16 IPC26:1; // 26 Set Remote IPC26 Flag
Uint16 IPC27:1; // 27 Set Remote IPC27 Flag
Uint16 IPC28:1; // 28 Set Remote IPC28 Flag
Uint16 IPC29:1; // 29 Set Remote IPC29 Flag
Uint16 IPC30:1; // 30 Set Remote IPC30 Flag
Uint16 IPC31:1; // 31 Set Remote IPC31 Flag
};
union IPCSET_REG {
Uint32 all;
struct IPCSET_BITS bit;
};
struct IPCCLR_BITS { // bits description
Uint16 IPC0:1; // 0 Clear Remote IPC0 Flag
Uint16 IPC1:1; // 1 Clear Remote IPC1 Flag
Uint16 IPC2:1; // 2 Clear Remote IPC2 Flag
Uint16 IPC3:1; // 3 Clear Remote IPC3 Flag
Uint16 IPC4:1; // 4 Clear Remote IPC4 Flag
Uint16 IPC5:1; // 5 Clear Remote IPC5 Flag
Uint16 IPC6:1; // 6 Clear Remote IPC6 Flag
Uint16 IPC7:1; // 7 Clear Remote IPC7 Flag
Uint16 IPC8:1; // 8 Clear Remote IPC8 Flag
Uint16 IPC9:1; // 9 Clear Remote IPC9 Flag
Uint16 IPC10:1; // 10 Clear Remote IPC10 Flag
Uint16 IPC11:1; // 11 Clear Remote IPC11 Flag
Uint16 IPC12:1; // 12 Clear Remote IPC12 Flag
Uint16 IPC13:1; // 13 Clear Remote IPC13 Flag
Uint16 IPC14:1; // 14 Clear Remote IPC14 Flag
Uint16 IPC15:1; // 15 Clear Remote IPC15 Flag
Uint16 IPC16:1; // 16 Clear Remote IPC16 Flag
Uint16 IPC17:1; // 17 Clear Remote IPC17 Flag
Uint16 IPC18:1; // 18 Clear Remote IPC18 Flag
Uint16 IPC19:1; // 19 Clear Remote IPC19 Flag
Uint16 IPC20:1; // 20 Clear Remote IPC20 Flag
Uint16 IPC21:1; // 21 Clear Remote IPC21 Flag
Uint16 IPC22:1; // 22 Clear Remote IPC22 Flag
Uint16 IPC23:1; // 23 Clear Remote IPC23 Flag
Uint16 IPC24:1; // 24 Clear Remote IPC24 Flag
Uint16 IPC25:1; // 25 Clear Remote IPC25 Flag
Uint16 IPC26:1; // 26 Clear Remote IPC26 Flag
Uint16 IPC27:1; // 27 Clear Remote IPC27 Flag
Uint16 IPC28:1; // 28 Clear Remote IPC28 Flag
Uint16 IPC29:1; // 29 Clear Remote IPC29 Flag
Uint16 IPC30:1; // 30 Clear Remote IPC30 Flag
Uint16 IPC31:1; // 31 Clear Remote IPC31 Flag
};
union IPCCLR_REG {
Uint32 all;
struct IPCCLR_BITS bit;
};
struct IPCFLG_BITS { // bits description
Uint16 IPC0:1; // 0 Remote IPC0 Flag Status
Uint16 IPC1:1; // 1 Remote IPC1 Flag Status
Uint16 IPC2:1; // 2 Remote IPC2 Flag Status
Uint16 IPC3:1; // 3 Remote IPC3 Flag Status
Uint16 IPC4:1; // 4 Remote IPC4 Flag Status
Uint16 IPC5:1; // 5 Remote IPC5 Flag Status
Uint16 IPC6:1; // 6 Remote IPC6 Flag Status
Uint16 IPC7:1; // 7 Remote IPC7 Flag Status
Uint16 IPC8:1; // 8 Remote IPC8 Flag Status
Uint16 IPC9:1; // 9 Remote IPC9 Flag Status
Uint16 IPC10:1; // 10 Remote IPC10 Flag Status
Uint16 IPC11:1; // 11 Remote IPC11 Flag Status
Uint16 IPC12:1; // 12 Remote IPC12 Flag Status
Uint16 IPC13:1; // 13 Remote IPC13 Flag Status
Uint16 IPC14:1; // 14 Remote IPC14 Flag Status
Uint16 IPC15:1; // 15 Remote IPC15 Flag Status
Uint16 IPC16:1; // 16 Remote IPC16 Flag Status
Uint16 IPC17:1; // 17 Remote IPC17 Flag Status
Uint16 IPC18:1; // 18 Remote IPC18 Flag Status
Uint16 IPC19:1; // 19 Remote IPC19 Flag Status
Uint16 IPC20:1; // 20 Remote IPC20 Flag Status
Uint16 IPC21:1; // 21 Remote IPC21 Flag Status
Uint16 IPC22:1; // 22 Remote IPC22 Flag Status
Uint16 IPC23:1; // 23 Remote IPC23 Flag Status
Uint16 IPC24:1; // 24 Remote IPC24 Flag Status
Uint16 IPC25:1; // 25 Remote IPC25 Flag Status
Uint16 IPC26:1; // 26 Remote IPC26 Flag Status
Uint16 IPC27:1; // 27 Remote IPC27 Flag Status
Uint16 IPC28:1; // 28 Remote IPC28 Flag Status
Uint16 IPC29:1; // 29 Remote IPC29 Flag Status
Uint16 IPC30:1; // 30 Remote IPC30 Flag Status
Uint16 IPC31:1; // 31 Remote IPC31 Flag Status
};
union IPCFLG_REG {
Uint32 all;
struct IPCFLG_BITS bit;
};
struct IPC_REGS_CPU1 {
union IPCACK_REG IPCACK; // IPC incoming flag clear (acknowledge) register
union IPCSTS_REG IPCSTS; // IPC incoming flag status register
union IPCSET_REG IPCSET; // IPC remote flag set register
union IPCCLR_REG IPCCLR; // IPC remote flag clear register
union IPCFLG_REG IPCFLG; // IPC remote flag status register
Uint16 rsvd1[2]; // Reserved
Uint32 IPCCOUNTERL; // IPC Counter Low Register
Uint32 IPCCOUNTERH; // IPC Counter High Register
Uint32 IPCSENDCOM; // Local to Remote IPC Command Register
Uint32 IPCSENDADDR; // Local to Remote IPC Address Register
Uint32 IPCSENDDATA; // Local to Remote IPC Data Register
Uint32 IPCREMOTEREPLY; // Remote to Local IPC Reply Data Register
Uint32 IPCRECVCOM; // Remote to Local IPC Command Register
Uint32 IPCRECVADDR; // Remote to Local IPC Address Register
Uint32 IPCRECVDATA; // Remote to Local IPC Data Register
Uint32 IPCLOCALREPLY; // Local to Remote IPC Reply Data Register
Uint32 IPCBOOTSTS; // CPU2 to CPU1 IPC Boot Status Register
Uint32 IPCBOOTMODE; // CPU1 to CPU2 IPC Boot Mode Register
};
struct IPC_REGS_CPU2 {
union IPCACK_REG IPCACK; // IPC incoming flag clear (acknowledge) register
union IPCSTS_REG IPCSTS; // IPC incoming flag status register
union IPCSET_REG IPCSET; // IPC remote flag set register
union IPCCLR_REG IPCCLR; // IPC remote flag clear register
union IPCFLG_REG IPCFLG; // IPC remote flag status register
Uint16 rsvd1[2]; // Reserved
Uint32 IPCCOUNTERL; // IPC Counter Low Register
Uint32 IPCCOUNTERH; // IPC Counter High Register
Uint32 IPCRECVCOM; // Remote to Local IPC Command Register
Uint32 IPCRECVADDR; // Remote to Local IPC Address Register
Uint32 IPCRECVDATA; // Remote to Local IPC Data Register
Uint32 IPCLOCALREPLY; // Local to Remote IPC Reply Data Register
Uint32 IPCSENDCOM; // Local to Remote IPC Command Register
Uint32 IPCSENDADDR; // Local to Remote IPC Address Register
Uint32 IPCSENDDATA; // Local to Remote IPC Data Register
Uint32 IPCREMOTEREPLY; // Remote to Local IPC Reply Data Register
Uint32 IPCBOOTSTS; // CPU2 to CPU1 IPC Boot Status Register
Uint32 IPCBOOTMODE; // CPU1 to CPU2 IPC Boot Mode Register
};
//---------------------------------------------------------------------------
// IPC External References & Function Declarations:
//
#ifdef CPU1
extern volatile struct IPC_REGS_CPU1 IpcRegs;
#endif
#ifdef CPU2
extern volatile struct IPC_REGS_CPU2 IpcRegs;
#endif
#ifdef __cplusplus
}
#endif /* extern "C" */
#endif
//===========================================================================
// End of file.
//===========================================================================
|