1 /******************************************************************************
2 *  Filename:       hw_evtull_h
3 ******************************************************************************
4 *  Copyright (c) 2021 Texas Instruments Incorporated. All rights reserved.
5 *
6 *  Redistribution and use in source and binary forms, with or without
7 *  modification, are permitted provided that the following conditions are met:
8 *
9 *  1) Redistributions of source code must retain the above copyright notice,
10 *     this list of conditions and the following disclaimer.
11 *
12 *  2) Redistributions in binary form must reproduce the above copyright notice,
13 *     this list of conditions and the following disclaimer in the documentation
14 *     and/or other materials provided with the distribution.
15 *
16 *  3) Neither the name of the copyright holder nor the names of its contributors
17 *     may be used to endorse or promote products derived from this software
18 *     without specific prior written permission.
19 *
20 *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 *  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 *  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 *  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
24 *  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25 *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26 *  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 *  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 *  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29 *  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30 *  POSSIBILITY OF SUCH DAMAGE.
31 ******************************************************************************/
32 
33 #ifndef __HW_EVTULL_H__
34 #define __HW_EVTULL_H__
35 
36 //*****************************************************************************
37 //
38 // This section defines the register offsets of
39 // EVTULL component
40 //
41 //*****************************************************************************
42 // Description
43 #define EVTULL_O_DESC                                               0x00000000U
44 
45 // Extended Description
46 #define EVTULL_O_DESCEX                                             0x00000004U
47 
48 // Digital test bus control register
49 #define EVTULL_O_DTB                                                0x00000064U
50 
51 // Output Selection for CPU NMI Exception
52 #define EVTULL_O_NMISEL                                             0x00000400U
53 
54 // Output Selection for RTCCPT
55 #define EVTULL_O_RTCCPTSEL                                          0x00000404U
56 
57 // WAKEUP Mask
58 #define EVTULL_O_WKUPMASK                                           0x00000800U
59 
60 //*****************************************************************************
61 //
62 // Register: EVTULL_O_DESC
63 //
64 //*****************************************************************************
65 // Field: [31:16] MODID
66 //
67 // Module identifier used to uniquely identify this IP.
68 #define EVTULL_DESC_MODID_W                                                 16U
69 #define EVTULL_DESC_MODID_M                                         0xFFFF0000U
70 #define EVTULL_DESC_MODID_S                                                 16U
71 
72 // Field: [15:12] STDIPOFF
73 //
74 // Standard IP MMR block offset. Standard IP MMRs are the set of from
75 // aggregated IRQ registers till DTB.
76 // 0: Standard IP MMRs do not exist
77 // 0x1-0xF: Standard IP MMRs begin at offset of (64*STDIPOFF from the base IP
78 // address)
79 #define EVTULL_DESC_STDIPOFF_W                                               4U
80 #define EVTULL_DESC_STDIPOFF_M                                      0x0000F000U
81 #define EVTULL_DESC_STDIPOFF_S                                              12U
82 
83 // Field:  [11:8] INSTIDX
84 //
85 // IP Instance ID number. If multiple instances of IP exist in the device, this
86 // field can identify the instance number (0-15).
87 #define EVTULL_DESC_INSTIDX_W                                                4U
88 #define EVTULL_DESC_INSTIDX_M                                       0x00000F00U
89 #define EVTULL_DESC_INSTIDX_S                                                8U
90 
91 // Field:   [7:4] MAJREV
92 //
93 // Major revision of IP (0-15).
94 #define EVTULL_DESC_MAJREV_W                                                 4U
95 #define EVTULL_DESC_MAJREV_M                                        0x000000F0U
96 #define EVTULL_DESC_MAJREV_S                                                 4U
97 
98 // Field:   [3:0] MINREV
99 //
100 // Minor revision of IP (0-15).
101 #define EVTULL_DESC_MINREV_W                                                 4U
102 #define EVTULL_DESC_MINREV_M                                        0x0000000FU
103 #define EVTULL_DESC_MINREV_S                                                 0U
104 
105 //*****************************************************************************
106 //
107 // Register: EVTULL_O_DESCEX
108 //
109 //*****************************************************************************
110 // Field: [31:22] IDMA
111 //
112 // Number of DMA input channels
113 #define EVTULL_DESCEX_IDMA_W                                                10U
114 #define EVTULL_DESCEX_IDMA_M                                        0xFFC00000U
115 #define EVTULL_DESCEX_IDMA_S                                                22U
116 
117 // Field: [21:17] NDMA
118 //
119 // Number of DMA output channels
120 #define EVTULL_DESCEX_NDMA_W                                                 5U
121 #define EVTULL_DESCEX_NDMA_M                                        0x003E0000U
122 #define EVTULL_DESCEX_NDMA_S                                                17U
123 
124 // Field:    [16] PD
125 //
126 // Power Domain.
127 // 0 : SVT
128 //  1 : ULL
129 #define EVTULL_DESCEX_PD                                            0x00010000U
130 #define EVTULL_DESCEX_PD_M                                          0x00010000U
131 #define EVTULL_DESCEX_PD_S                                                  16U
132 
133 // Field:  [15:8] NSUB
134 //
135 // Number of Subscribers
136 #define EVTULL_DESCEX_NSUB_W                                                 8U
137 #define EVTULL_DESCEX_NSUB_M                                        0x0000FF00U
138 #define EVTULL_DESCEX_NSUB_S                                                 8U
139 
140 // Field:   [7:0] NPUB
141 //
142 // Number of Publishers
143 #define EVTULL_DESCEX_NPUB_W                                                 8U
144 #define EVTULL_DESCEX_NPUB_M                                        0x000000FFU
145 #define EVTULL_DESCEX_NPUB_S                                                 0U
146 
147 //*****************************************************************************
148 //
149 // Register: EVTULL_O_DTB
150 //
151 //*****************************************************************************
152 // Field:     [0] SEL
153 //
154 // Digital test bus selection mux control
155 //
156 //             Non-zero select values output a 16 bit selected group of signals
157 // per value.
158 // ENUMs:
159 // DIS                      All 16 observation signals are set to zero.
160 #define EVTULL_DTB_SEL                                              0x00000001U
161 #define EVTULL_DTB_SEL_M                                            0x00000001U
162 #define EVTULL_DTB_SEL_S                                                     0U
163 #define EVTULL_DTB_SEL_DIS                                          0x00000000U
164 
165 //*****************************************************************************
166 //
167 // Register: EVTULL_O_NMISEL
168 //
169 //*****************************************************************************
170 // Field:   [5:0] PUBID
171 //
172 // Read/write selection value.
173 // Writing any other value than values defined by a ENUM may result in
174 // undefined behavior.
175 // ENUMs:
176 // AON_IOC_COMB             IOC synchronous combined event, controlled by
177 //                          IOC:EVTCFG
178 // AON_LPMCMP_IRQ           AON LPCMP interrupt, controlled by SYS0:LPCMPCFG
179 // AON_DBG_COMB             DebugSS combined interrupt, interrupt flags can be
180 //                          found here DBGSS:MIS
181 // AON_RTC_COMB             AON_RTC event, controlled by the RTC:IMASK setting
182 // AON_CKM_COMB             CKMD combined interrupt request, interrupt flags
183 //                          can be found here CKMD:MIS
184 // AON_PMU_COMB             PMU combined interrupt request for BATMON,
185 //                          interrupt flags can be found here PMUD:EVENT
186 // NONE                     Always inactive
187 #define EVTULL_NMISEL_PUBID_W                                                6U
188 #define EVTULL_NMISEL_PUBID_M                                       0x0000003FU
189 #define EVTULL_NMISEL_PUBID_S                                                0U
190 #define EVTULL_NMISEL_PUBID_AON_IOC_COMB                            0x00000007U
191 #define EVTULL_NMISEL_PUBID_AON_LPMCMP_IRQ                          0x00000006U
192 #define EVTULL_NMISEL_PUBID_AON_DBG_COMB                            0x00000005U
193 #define EVTULL_NMISEL_PUBID_AON_RTC_COMB                            0x00000004U
194 #define EVTULL_NMISEL_PUBID_AON_CKM_COMB                            0x00000003U
195 #define EVTULL_NMISEL_PUBID_AON_PMU_COMB                            0x00000002U
196 #define EVTULL_NMISEL_PUBID_NONE                                    0x00000000U
197 
198 //*****************************************************************************
199 //
200 // Register: EVTULL_O_RTCCPTSEL
201 //
202 //*****************************************************************************
203 // Field:   [5:0] PUBID
204 //
205 // Read/write selection value.
206 // Writing any other value than values defined by a ENUM may result in
207 // undefined behavior.
208 // ENUMs:
209 // AON_IOC_COMB             IOC synchronous combined event, controlled by
210 //                          IOC:EVTCFG
211 // AON_LPMCMP_IRQ           AON LPCMP interrupt, controlled by SYS0:LPCMPCFG
212 // AON_DBG_COMB             DebugSS combined interrupt, interrupt flags can be
213 //                          found here DBGSS:MIS
214 // AON_RTC_COMB             AON_RTC event, controlled by the RTC:IMASK setting
215 // AON_CKM_COMB             CKMD combined interrupt request, interrupt flags
216 //                          can be found here CKMD:MIS
217 // AON_PMU_COMB             PMU combined interrupt request for BATMON,
218 //                          interrupt flags can be found here PMUD:EVENT
219 // NONE                     Always inactive
220 #define EVTULL_RTCCPTSEL_PUBID_W                                             6U
221 #define EVTULL_RTCCPTSEL_PUBID_M                                    0x0000003FU
222 #define EVTULL_RTCCPTSEL_PUBID_S                                             0U
223 #define EVTULL_RTCCPTSEL_PUBID_AON_IOC_COMB                         0x00000007U
224 #define EVTULL_RTCCPTSEL_PUBID_AON_LPMCMP_IRQ                       0x00000006U
225 #define EVTULL_RTCCPTSEL_PUBID_AON_DBG_COMB                         0x00000005U
226 #define EVTULL_RTCCPTSEL_PUBID_AON_RTC_COMB                         0x00000004U
227 #define EVTULL_RTCCPTSEL_PUBID_AON_CKM_COMB                         0x00000003U
228 #define EVTULL_RTCCPTSEL_PUBID_AON_PMU_COMB                         0x00000002U
229 #define EVTULL_RTCCPTSEL_PUBID_NONE                                 0x00000000U
230 
231 //*****************************************************************************
232 //
233 // Register: EVTULL_O_WKUPMASK
234 //
235 //*****************************************************************************
236 // Field:     [7] AON_IOC_COMB
237 //
238 // Wake-up mask for AON_IOC_COMB.
239 // 0 - Wakeup Disabled
240 // 1 - Wakeup Enabled
241 #define EVTULL_WKUPMASK_AON_IOC_COMB                                0x00000080U
242 #define EVTULL_WKUPMASK_AON_IOC_COMB_M                              0x00000080U
243 #define EVTULL_WKUPMASK_AON_IOC_COMB_S                                       7U
244 
245 // Field:     [6] AON_LPMCMP_IRQ
246 //
247 // Wake-up mask for AON_LPMCMP_IRQ.
248 // 0 - Wakeup Disabled
249 // 1 - Wakeup Enabled
250 #define EVTULL_WKUPMASK_AON_LPMCMP_IRQ                              0x00000040U
251 #define EVTULL_WKUPMASK_AON_LPMCMP_IRQ_M                            0x00000040U
252 #define EVTULL_WKUPMASK_AON_LPMCMP_IRQ_S                                     6U
253 
254 // Field:     [5] AON_DBG_COMB
255 //
256 // Wake-up mask for AON_DBG_COMB.
257 // 0 - Wakeup Disabled
258 // 1 - Wakeup Enabled
259 #define EVTULL_WKUPMASK_AON_DBG_COMB                                0x00000020U
260 #define EVTULL_WKUPMASK_AON_DBG_COMB_M                              0x00000020U
261 #define EVTULL_WKUPMASK_AON_DBG_COMB_S                                       5U
262 
263 // Field:     [4] AON_RTC_COMB
264 //
265 // Wake-up mask for AON_RTC_COMB.
266 // 0 - Wakeup Disabled
267 // 1 - Wakeup Enabled
268 #define EVTULL_WKUPMASK_AON_RTC_COMB                                0x00000010U
269 #define EVTULL_WKUPMASK_AON_RTC_COMB_M                              0x00000010U
270 #define EVTULL_WKUPMASK_AON_RTC_COMB_S                                       4U
271 
272 // Field:     [3] AON_CKM_COMB
273 //
274 // Wake-up mask for AON_CKM_COMB.
275 // 0 - Wakeup Disabled
276 // 1 - Wakeup Enabled
277 #define EVTULL_WKUPMASK_AON_CKM_COMB                                0x00000008U
278 #define EVTULL_WKUPMASK_AON_CKM_COMB_M                              0x00000008U
279 #define EVTULL_WKUPMASK_AON_CKM_COMB_S                                       3U
280 
281 // Field:     [2] AON_PMU_COMB
282 //
283 // Wake-up mask for AON_PMU_COMB.
284 // 0 - Wakeup Disabled
285 // 1 - Wakeup Enabled
286 #define EVTULL_WKUPMASK_AON_PMU_COMB                                0x00000004U
287 #define EVTULL_WKUPMASK_AON_PMU_COMB_M                              0x00000004U
288 #define EVTULL_WKUPMASK_AON_PMU_COMB_S                                       2U
289 
290 
291 #endif // __EVTULL__
292