MCUSW
Cdd_IpcCfg.h
Go to the documentation of this file.
1 /*
2 *
3 * Copyright (c) 2024 Texas Instruments Incorporated
4 *
5 * All rights reserved not granted herein.
6 *
7 * Limited License.
8 *
9 * Texas Instruments Incorporated grants a world-wide, royalty-free, non-exclusive
10 * license under copyrights and patents it now or hereafter owns or controls to make,
11 * have made, use, import, offer to sell and sell ("Utilize") this software subject to the
12 * terms herein. With respect to the foregoing patent license, such license is granted
13 * solely to the extent that any such patent is necessary to Utilize the software alone.
14 * The patent license shall not apply to any combinations which include this software,
15 * other than combinations with devices manufactured by or for TI ("TI Devices").
16 * No hardware patent is licensed hereunder.
17 *
18 * Redistributions must preserve existing copyright notices and reproduce this license
19 * (including the above copyright notice and the disclaimer and (if applicable) source
20 * code license limitations below) in the documentation and/or other materials provided
21 * with the distribution
22 *
23 * Redistribution and use in binary form, without modification, are permitted provided
24 * that the following conditions are met:
25 *
26 * * No reverse engineering, decompilation, or disassembly of this software is
27 * permitted with respect to any software provided in binary form.
28 *
29 * * any redistribution and use are licensed by TI for use only with TI Devices.
30 *
31 * * Nothing shall obligate TI to provide you with source code for the software
32 * licensed and provided to you in object code.
33 *
34 * If software source code is provided to you, modification and redistribution of the
35 * source code are permitted provided that the following conditions are met:
36 *
37 * * any redistribution and use of the source code, including any resulting derivative
38 * works, are licensed by TI for use only with TI Devices.
39 *
40 * * any redistribution and use of any object code compiled from the source code
41 * and any resulting derivative works, are licensed by TI for use only with TI Devices.
42 *
43 * Neither the name of Texas Instruments Incorporated nor the names of its suppliers
44 *
45 * may be used to endorse or promote products derived from this software without
46 * specific prior written permission.
47 *
48 * DISCLAIMER.
49 *
50 * THIS SOFTWARE IS PROVIDED BY TI AND TI'S LICENSORS "AS IS" AND ANY EXPRESS
51 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
52 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
53 * IN NO EVENT SHALL TI AND TI'S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
54 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
55 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
56 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
57 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
58 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
59 * OF THE POSSIBILITY OF SUCH DAMAGE.
60 *
61 */
62 
71 /******************************************************************************
72  Project : ipc-mem-map
73  Date : 2025-03-17 12:06:17
74  SW Ver : 11.1.0
75  Module Rele Ver : AUTOSAR 4.3.1 0
76 
77  This file is generated by EB Tresos
78  Do not modify this file,otherwise the software may behave in unexpected way.
79 ******************************************************************************/
80 
88 #ifndef CDD_IPC_CFG_H_
89 #define CDD_IPC_CFG_H_
90 /* Generic requirements covered mapping */
91 /*
92  * Design : DES_CDD_IPC_020
93  */
94 /*
95  * Requirements : MCAL-3698
96  */
97 
98 /* ========================================================================== */
99 /* Include Files */
100 /* ========================================================================== */
101 #include "Dem.h"
102 #include "Os.h"
103 #include <CddIpc/ipc_baremetal_hw/include/ipc_config.h>
104 
105 
106 #ifdef __cplusplus
107 extern "C" {
108 #endif
109 
110 /* ========================================================================== */
111 /* Macros & Typedefs */
112 /* ========================================================================== */
113 /*
114  * Design : DES_CDD_IPC_004, DES_CDD_IPC_002, DES_CDD_IPC_017
115  */
116 /*
117  * Requirements : MCAL-921, MCAL-3703
118  */
123 #define CDD_IPC_PRE_COMPILE_VARIANT (STD_ON)
132 #define CDD_IPC_ISR_VOID (0x00U)
134 #define CDD_IPC_ISR_CAT1 (0x01U)
136 #define CDD_IPC_ISR_CAT2 (0x02U)
137 
138 /*
139  * Design : DES_CDD_IPC_012
140  */
141 /*
142  * Requirements : MCAL-3693
143  */
145 #define CDD_IPC_DEV_ERROR_DETECT (STD_ON)
146 /*
147  * Design : DES_CDD_IPC_012
148  */
149 /*
150  * Requirements : MCAL-3692
151  */
153 #define CDD_IPC_ISR_TYPE (CDD_IPC_ISR_CAT1)
154 
159 /*
160  * Design : DES_CDD_IPC_012
161  */
162 /*
163  * Requirements : MCAL-3741
164  */
166 #define CDD_IPC_VERSION_INFO_API (STD_ON)
167 /*
168  * Design : DES_CDD_IPC_012
169  */
170 /*
171  * Requirements : MCAL-3688
172  */
174 #define CDD_IPC_DEINIT_API (STD_ON)
175 /*
176  * Design : DES_CDD_IPC_012
177  */
178 /*
179  * Requirements : MCAL-3689
180  */
182 #define CDD_IPC_ANNOUNCE_API (STD_ON)
183 /*
184  * Design : DES_CDD_IPC_005, DES_CDD_IPC_012
185  */
186 /*
187  * Requirements : MCAL-3687
188  */
190 #define CDD_IPC_REGISTER_READBACK_API (STD_ON)
191 /*
192  * Design :
193  */
194 /*
195  * Requirements : MCAL-8266
196  */
198 #define CDD_IPC_SAFETY_DIAGNOSTIC_API (STD_ON)
199 /*
200  * Design : DES_CDD_IPC_040
201  */
202 /*
203  * Requirements : MCAL-4452
204  */
205 
207 #define CDD_IPC_IS_INIT_DONE_API (STD_ON)
208 
209 /*
210  * Design : DES_CDD_IPC_041
211  */
212 /*
213  * Requirements : MCAL-4453
214  */
215 
217 #define CDD_IPC_GET_MAX_MSG_SIZE_API (STD_ON)
218 
219 
220 /* @} */
221 
226 /*
227  * Design : DES_CDD_IPC_012
228  */
229 /*
230  * Requirements : MCAL-3694, MCAL-3694
231  */
233 #define CDD_IPC_OS_COUNTER_ID ((CounterType)OsCounter_0)
234 
241 /*
242  * Design : DES_CDD_IPC_020
243  */
244 /*
245  * Requirements : MCAL-3693
246  */
247 
248 #ifndef CDD_IPC_E_HARDWARE_ERROR
250 #define CDD_IPC_E_HARDWARE_ERROR (DemConf_DemEventParameter_CDD_IPC_E_HARDWARE_ERROR)
251 #endif
252 /* @} */
253 
258 /*
259  * Design : DES_CDD_IPC_018
260  */
261 /*
262  * Requirements : MCAL-3699, MCAL-3700
263  */
264 #define CDD_IPC_CORE_MCU1_0 (1U)
266 #define CDD_IPC_CORE_MCU1_1 (2U)
268 #define CDD_IPC_CORE_MCU2_0 (3U)
270 #define CDD_IPC_CORE_MCU2_1 (4U)
272 #define CDD_IPC_CORE_MCU3_0 (5U)
274 #define CDD_IPC_CORE_MCU3_1 (6U)
276 #define CDD_IPC_CORE_C66X_1 (7U)
278 #define CDD_IPC_CORE_C66X_2 (8U)
280 #define CDD_IPC_CORE_C7X_1 (9U)
282 #define CDD_IPC_CORE_MAX_PROCS (11U)
286 #define CDD_IPC_OWN_CORE_ID (CDD_IPC_CORE_MCU1_0)
288 #define CDD_IPC_REMOTE_CORE_MCU2_0_USED
291 /* @} */
292 
293 
298 /*
299  * Design : DES_CDD_IPC_005, DES_CDD_IPC_016
300  */
301 /*
302  * Requirements : MCAL-3686,
303  */
304 #define CDD_IPC_VERTIO_OBJECT_SIZE (0x1000U)
305  /* @} */
306 
311 /*
312  * Design : DES_CDD_IPC_016
313  */
314 /*
315  * Requirements : MCAL-3686,
316  */
317 #define CddIpcConf_IpcComChanId_Cdd_IpcMcu20 (0U)
320 /*
321  * Design : DES_CDD_IPC_016
322  */
323 /*
324  * Requirements : MCAL-3755, MCAL-3682
325  */
326 #define CDD_IPC_RPMSG_OBJ_SIZE (256U)
328 #define CDD_IPC_CH_0_BUFF_SIZE ((256U * (496U + 32U)) + CDD_IPC_RPMSG_OBJ_SIZE)
330 #define CDD_IPC_MAX_CHANNEL_CFG (2U)
337 #define IPC_VRING_BUFFER_SIZE (0x1C00000U)
338 
340 #define IPC_MPU1_0 (0U)
341 #define IPC_MCU1_0 (1U)
342 #define IPC_MCU1_1 (2U)
343 #define IPC_MCU2_0 (3U)
344 #define IPC_MCU2_1 (4U)
345 #define IPC_MCU3_0 (5U)
346 #define IPC_MCU3_1 (6U)
347 #define IPC_C66X_1 (7U)
348 #define IPC_C66X_2 (8U)
349 #define IPC_C7X_1 (9U)
350 #define IPC_MPU1_1 (10U)
351 #define IPC_MAX_PROCS (11U)
355 #define CDD_IPC_CORE_ID_MAX (11U)
356 
357 #define CDD_IPC_CORE_USED (1U)
358 #define IPC_MAILBOX_CLUSTER_CNT (12U)
359 
360 /* @} */
361 /* ========================================================================== */
362 /* Globals Variables */
363 /* ========================================================================== */
364 /* Mailbox Cluster Base Address */
366 
370 extern Ipc_ProcInfo g_Ipc_mp_procInfo[IPC_MAX_PROCS];
371 
372 extern Ipc_MailboxInfo g_IPC_MailboxInfo[IPC_MAX_PROCS][IPC_MAX_PROCS];
373 
374 /* ========================================================================== */
375 /* Function Declarations */
376 /* ========================================================================== */
377 /*
378  * Design : DES_CDD_IPC_002, DES_CDD_IPC_017
379  */
380 /*
381  * Requirements : MCAL-3703
382  */
383 extern const struct Cdd_IpcConfigType_s CddIpcConfiguraions_PC;
384 
389 /*
390  * Design : DES_CDD_IPC_012, DES_CDD_IPC_026
391  */
392 /*
393  * Requirements : MCAL-3701, MCAL-3691
394  */
395 extern void Cdd_IpcNewMessageNotify(void);
396 
397 #define CDD_IPC_NEW_MSG_NTFY_FXN Cdd_IpcNewMessageNotify
398 
399 #if (STD_ON == CDD_IPC_ANNOUNCE_API)
400 
405 /*
406  * Design : DES_CDD_IPC_039
407  */
408 /*
409  * Requirements : MCAL-4067, MCAL-4066
410  */
411 extern void Cdd_IpcNewCtrlMessageNotify(uint32 remoteProcId);
412 
413 #define CDD_IPC_NEW_CTRL_MSG_NTFY_FXN Cdd_IpcNewCtrlMessageNotify
414 
415 #endif /* STD_ON == CDD_IPC_ANNOUNCE_API */
416 
417 /*
418  * Design : DES_CDD_IPC_013
419  */
420 /*
421  * Requirements : MCAL-3674
422  */
428 
443  FUNC(void, CDD_IPC_CODE_FAST) Cdd_IpcIrqMbxFromMcu_20(void);
444 
445 #ifdef __cplusplus
446 }
447 #endif
448 
449 #endif /* #ifndef CDD_IPC_CFG_H_ */
450 
451 /* @} */
#define IPC_MAX_PROCS
Definition: Cdd_IpcCfg.h:351
const uint32 IPC_Mailbox_BasePhyAddr[IPC_MAILBOX_CLUSTER_CNT]
#define IPC_MAILBOX_CLUSTER_CNT
Definition: Cdd_IpcCfg.h:358
void Cdd_IpcNewMessageNotify(void)
New Message notification function.
Ipc_MailboxInfo g_IPC_MailboxInfo[IPC_MAX_PROCS][IPC_MAX_PROCS]
void Cdd_IpcIrqMbxFromMcu_20(void)
A Mailbox can raise multiple interrupts. In this implementation, the Mailbox new message interrupt is...
#define CDD_IPC_VERTIO_OBJECT_SIZE
Definition: Cdd_IpcCfg.h:304
uint8 Cdd_IpcDrvVertIoObj[CDD_IPC_VERTIO_OBJECT_SIZE]
Communication Channels configured.
const struct Cdd_IpcConfigType_s CddIpcConfiguraions_PC
Ipc_ProcInfo g_Ipc_mp_procInfo[IPC_MAX_PROCS]
Processor IDs to name mapping for all processor in Jacinto7.
void Cdd_IpcNewCtrlMessageNotify(uint32 remoteProcId)
New Control Message notification function.