2 * @brief Vectored Interrupt Module Header File
\r
6 * This file contains:
\r
7 * - VIM Type Definitions
\r
8 * - VIM General Definitions
\r
10 * which are relevant for Vectored Interrupt Controller.
\r
13 /* (c) Texas Instruments 2009-2012, All rights reserved. */
\r
15 #ifndef __SYS_VIM_H__
\r
16 #define __SYS_VIM_H__
\r
18 #include "sys_common.h"
\r
20 /* USER CODE BEGIN (0) */
\r
24 /* VIM Type Definitions */
\r
26 /** @typedef t_isrFuncPTR
\r
27 * @brief ISR Function Pointer Type Definition
\r
29 * This type is used to access the ISR handler.
\r
31 typedef void (*t_isrFuncPTR)();
\r
33 /* USER CODE BEGIN (1) */
\r
37 /* VIM General Configuration */
\r
39 #define VIM_CHANNELS 96U
\r
41 /* Interrupt Handlers */
\r
43 extern void phantomInterrupt(void);
\r
44 extern void esmHighInterrupt(void);
\r
45 extern void phantomInterrupt(void);
\r
46 extern void vPreemptiveTick(void);
\r
47 extern void linHighLevelInterrupt(void);
\r
48 extern void mibspi1HighLevelInterrupt(void);
\r
49 extern void adc1Group1Interrupt(void);
\r
50 extern void can1HighLevelInterrupt(void);
\r
51 extern void spi2HighLevelInterrupt(void);
\r
52 extern void mibspi1LowLevelInterrupt(void);
\r
53 extern void spi2LowLevelInterrupt(void);
\r
54 extern void can2HighLevelInterrupt(void);
\r
55 extern void mibspi3HighInterruptLevel(void);
\r
56 extern void mibspi3LowLevelInterrupt(void);
\r
57 extern void can3HighLevelInterrupt(void);
\r
58 extern void spi4HighLevelInterrupt(void);
\r
59 extern void adc2Group1Interrupt(void);
\r
60 extern void spi4LowLevelInterrupt(void);
\r
61 extern void sciHighLevelInterrupt(void);
\r
62 extern void EMACCore0RxIsr(void);
\r
63 extern void EMACCore0TxIsr(void);
\r
66 /* Vim Register Frame Definition */
\r
68 * @brief Vim Register Frame Definition
\r
70 * This type is used to access the Vim Registers.
\r
72 /** @typedef vimBASE_t
\r
73 * @brief VIM Register Frame Type Definition
\r
75 * This type is used to access the VIM Registers.
\r
77 typedef volatile struct vimBase
\r
79 #if ((__little_endian__ == 1) || (__LITTLE_ENDIAN__ == 1))
\r
80 uint32_t IRQIVEC : 8U; /* 0x0000 */
\r
81 uint32_t : 24U; /* 0x0000 */
\r
82 uint32_t FIQIVEC : 8U; /* 0x0004 */
\r
83 uint32_t : 24U; /* 0x0004 */
\r
85 uint32_t : 24U; /* 0x0000 */
\r
86 uint32_t IRQIVEC : 8U; /* 0x0000 */
\r
87 uint32_t : 24U; /* 0x0004 */
\r
88 uint32_t FIQIVEC : 8U; /* 0x0004 */
\r
90 uint32_t : 32U; /* 0x0008 */
\r
91 uint32_t : 32U; /* 0x000C */
\r
92 uint32_t FIRQPR0; /* 0x0010 */
\r
93 uint32_t FIRQPR1; /* 0x0014 */
\r
94 uint32_t FIRQPR2; /* 0x0018 */
\r
95 uint32_t FIRQPR3; /* 0x001C */
\r
96 uint32_t INTREQ0; /* 0x0020 */
\r
97 uint32_t INTREQ1; /* 0x0024 */
\r
98 uint32_t INTREQ2; /* 0x0028 */
\r
99 uint32_t INTREQ3; /* 0x002C */
\r
100 uint32_t REQMASKSET0; /* 0x0030 */
\r
101 uint32_t REQMASKSET1; /* 0x0034 */
\r
102 uint32_t REQMASKSET2; /* 0x0038 */
\r
103 uint32_t REQMASKSET3; /* 0x003C */
\r
104 uint32_t REQMASKCLR0; /* 0x0040 */
\r
105 uint32_t REQMASKCLR1; /* 0x0044 */
\r
106 uint32_t REQMASKCLR2; /* 0x0048 */
\r
107 uint32_t REQMASKCLR3; /* 0x004C */
\r
108 uint32_t WAKEMASKSET0; /* 0x0050 */
\r
109 uint32_t WAKEMASKSET1; /* 0x0054 */
\r
110 uint32_t WAKEMASKSET2; /* 0x0058 */
\r
111 uint32_t WAKEMASKSET3; /* 0x005C */
\r
112 uint32_t WAKEMASKCLR0; /* 0x0060 */
\r
113 uint32_t WAKEMASKCLR1; /* 0x0064 */
\r
114 uint32_t WAKEMASKCLR2; /* 0x0068 */
\r
115 uint32_t WAKEMASKCLR3; /* 0x006C */
\r
116 uint32_t IRQVECREG; /* 0x0070 */
\r
117 uint32_t FIQVECREQ; /* 0x0074 */
\r
118 #if ((__little_endian__ == 1) || (__LITTLE_ENDIAN__ == 1))
\r
119 uint32_t CAPEVTSRC0 : 7U; /* 0x0078 */
\r
120 uint32_t : 9U; /* 0x0078 */
\r
121 uint32_t CAPEVTSRC1 : 7U; /* 0x0078 */
\r
122 uint32_t : 9U; /* 0x0078 */
\r
124 uint32_t : 9U; /* 0x0078 */
\r
125 uint32_t CAPEVTSRC1 : 7U; /* 0x0078 */
\r
126 uint32_t : 9U; /* 0x0078 */
\r
127 uint32_t CAPEVTSRC0 : 7U; /* 0x0078 */
\r
129 uint32_t : 32U; /* 0x007C */
\r
130 uint8_t CHANMAP[64U]; /* 0x0080-0x017C */
\r
133 #define vimREG ((vimBASE_t *)0xFFFFFE00U)
\r
135 /* USER CODE BEGIN (3) */
\r
136 /* USER CODE END */
\r
138 #define VIM_PARFLG (*(unsigned int *)0xFFFFFDECU)
\r
139 #define VIM_PARCTL (*(unsigned int *)0xFFFFFDF0U)
\r
140 #define VIM_ADDERR (*(unsigned int *)0xFFFFFDF4U)
\r
141 #define VIM_FBPARERR (*(unsigned int *)0xFFFFFDF8U)
\r
143 #define VIMRAMPARLOC (*(unsigned int *)0xFFF82400U)
\r
144 #define VIMRAMLOC (*(unsigned int *)0xFFF82000U)
\r