SDL API Guide for J721E
sdl_ecc.h
Go to the documentation of this file.
1 /*
2  * SDL ECC
3  *
4  * Software Diagnostics Library module for ECC
5  *
6  * Copyright (c) Texas Instruments Incorporated 2018-2025
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  *
12  * Redistributions of source code must retain the above copyright
13  * notice, this list of conditions and the following disclaimer.
14  *
15  * Redistributions in binary form must reproduce the above copyright
16  * notice, this list of conditions and the following disclaimer in the
17  * documentation and/or other materials provided with the
18  * distribution.
19  *
20  * Neither the name of Texas Instruments Incorporated nor the names of
21  * its contributors may be used to endorse or promote products derived
22  * from this software without specific prior written permission.
23  *
24  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
25  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
26  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
27  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
28  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
29  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
30  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
31  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
32  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
33  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35  *
36  */
37 
47 #ifndef INCLUDE_SDL_ECC_H_
48 #define INCLUDE_SDL_ECC_H_
49 
50 #include <stdint.h>
51 #include <stdbool.h>
52 
53 #include "sdl_common.h"
54 #include <src/ip/sdl_ip_ecc.h>
55 #include <src/ip/sdl_esm.h>
56 
57 #if defined (SOC_J721E)
58 #define SDL_MCU_R5F0_SUB_MEMORY SDL_MCU_R5FSS0_CORE0_ECC_AGGR_KSBUS_VBUSM2AXI0_EDC_CTRL_RAM_ID
59 #endif /* SOC_J721E */
60 
61 #if defined (SOC_J7200)
62 #define SDL_MCU_R5F0_SUB_MEMORY SDL_MCU_R5FSS0_PULSAR_SL_KSBUS_VBUSM2AXI0_EDC_CTRL_0_RAM_ID
63 #endif /* SOC_J7200 */
64 
65 #if defined (SOC_J721S2)
66 #define SDL_MCU_R5F0_SUB_MEMORY SDL_MCU_R5FSS0_PULSAR_SL_CPU0_ECC_AGGR_PULSAR_SL_KSBUS_VBUSM2AXI0_EDC_CTRL_0_RAM_ID
67 #endif /* SOC_J721S2 */
68 
69 #if defined (SOC_J784S4)
70 #define SDL_MCU_R5F0_SUB_MEMORY SDL_MCU_R5FSS0_PULSAR_SL_CPU0_ECC_AGGR_PULSAR_SL_KSBUS_VBUSM2AXI0_EDC_CTRL_0_RAM_ID
71 #endif /* SOC_J784S4 */
72 
73 #ifdef __cplusplus
74 extern "C" {
75 #endif
76 
112 typedef enum {
118 
119 
124 typedef enum {
144 
145 
150 typedef enum {
156 
169 typedef uint32_t SDL_ECC_MemType;
170 
171 #if defined (SOC_J721E)
172 
173  #define SDL_ECC_MEMTYPE_MCU_R5F0_CORE (0u)
174  #define SDL_ECC_MEMTYPE_MCU_R5F1_CORE (1u)
175  #define SDL_ECC_MEMTYPE_MCU_ADC0 (2u)
176  #define SDL_ECC_MEMTYPE_MCU_ADC1 (3u)
177  #define SDL_ECC_MEMTYPE_MCU_CPSW0 (4u)
178  #define SDL_ECC_MEMTYPE_MCU_FSS0_HPB0 (5u)
179  #define SDL_ECC_MEMTYPE_MCU_FSS0_OSPI0 (6u)
180  #define SDL_ECC_MEMTYPE_MCU_FSS0_OSPI1 (7u)
181 
182  #define SDL_ECC_MEMTYPE_MCU_MCAN0 (8u)
183  #define SDL_ECC_MEMTYPE_MCU_MCAN1 (9u)
184  #define SDL_ECC_MEMTYPE_MCU_MSRAM0 (10u)
185  #define SDL_ECC_MEMTYPE_MCU_NAVSS0 (11u)
186 
187  #define SDL_ECC_MEMTYPE_MCU_PSRAM0 (12u)
188  #define SDL_ECC_MEMTYPE_MCU_CBASS_ECC_AGGR0 (13u)
189 
190  #define SDL_MCAN0_MCANSS_MSGMEM_WRAP_ECC_AGGR (14u)
191  #define SDL_MCAN1_MCANSS_MSGMEM_WRAP_ECC_AGGR (15u)
192  #define SDL_MCAN2_MCANSS_MSGMEM_WRAP_ECC_AGGR (16u)
193  #define SDL_MCAN3_MCANSS_MSGMEM_WRAP_ECC_AGGR (17u)
194  #define SDL_MCAN4_MCANSS_MSGMEM_WRAP_ECC_AGGR (18u)
195  #define SDL_MCAN5_MCANSS_MSGMEM_WRAP_ECC_AGGR (19u)
196  #define SDL_MCAN6_MCANSS_MSGMEM_WRAP_ECC_AGGR (20u)
197  #define SDL_MCAN7_MCANSS_MSGMEM_WRAP_ECC_AGGR (21u)
198  #define SDL_MCAN8_MCANSS_MSGMEM_WRAP_ECC_AGGR (22u)
199  #define SDL_MCAN9_MCANSS_MSGMEM_WRAP_ECC_AGGR (23u)
200  #define SDL_MCAN10_MCANSS_MSGMEM_WRAP_ECC_AGGR (24u)
201  #define SDL_MCAN11_MCANSS_MSGMEM_WRAP_ECC_AGGR (25u)
202  #define SDL_MCAN12_MCANSS_MSGMEM_WRAP_ECC_AGGR (26u)
203  #define SDL_MCAN13_MCANSS_MSGMEM_WRAP_ECC_AGGR (27u)
204 
205  #define SDL_MSRAM_512K0_MSRAM16KX256E_ECC_AGGR (28u)
206  #define SDL_PCIE0_ECC_AGGR_CORE_AXI_0 (29u)
207  #define SDL_PCIE0_ECC_AGGR_CORE_0 (30u)
208  #define SDL_PCIE1_ECC_AGGR_CORE_AXI_0 (31u)
209  #define SDL_PCIE1_ECC_AGGR_CORE_0 (32u)
210  #define SDL_PCIE2_ECC_AGGR_CORE_AXI_0 (33u)
211  #define SDL_PCIE2_ECC_AGGR_CORE_0 (34u)
212  #define SDL_PCIE3_ECC_AGGR_CORE_AXI_0 (35u)
213  #define SDL_PCIE3_ECC_AGGR_CORE_0 (36u)
214 
215  #define SDL_I3C0_I3C_S_ECC_AGGR (37u)
216  #define SDL_I3C0_I3C_P_ECC_AGGR (38u)
217  #define SDL_MCU_I3C0_I3C_P_ECC_AGGR (39u)
218  #define SDL_MCU_I3C0_I3C_S_ECC_AGGR (40u)
219  #define SDL_MCU_I3C1_I3C_P_ECC_AGGR (41u)
220  #define SDL_MCU_I3C1_I3C_S_ECC_AGGR (42u)
221  #define SDL_PRU_ICSSG0_ICSS_G_CORE_BORG_ECC_AGGR (43u)
222  #define SDL_PRU_ICSSG1_ICSS_G_CORE_BORG_ECC_AGGR (44u)
223 
224  #define SDL_CBASS_ECC_AGGR0 (45u)
225  #define SDL_MAIN_RC_ECC_AGGR0 (46u)
226 
227 
228  #define SDL_NAVSS_NBSS_ECC_AGGR0_NAVSS512L_NBSS_PHYS_ECC_AGGR (47u)
229  #define SDL_DMPAC0_ECC_AGGR (48u)
230  #define SDL_MAIN_HC_ECC_AGGR0 (49u)
231  #define SDL_VPAC0_ECC_AGGR (50u)
232  #define SDL_VPAC0_VISS_ECC_AGGR (51u)
233  #define SDL_VPAC0_LDC_ECC_AGGR (52u)
234  #define SDL_R5FSS0_CORE0_ECC_AGGR (53u)
235  #define SDL_R5FSS1_CORE0_ECC_AGGR (54u)
236  #define SDL_R5FSS0_CORE1_ECC_AGGR (55u)
237  #define SDL_R5FSS1_CORE1_ECC_AGGR (56u)
238  #define SDL_NAVSS_VIRTSS_ECC_AGGR0 (57u)
239 
240  #define SDL_MCU_SA2_UL0_SA2_UL_SA2_UL_ECC_AGGR (58u)
241  #define SDL_SA2_UL0_SA2_UL_SA2_UL_ECC_AGGR (59u)
242 
243  #define SDL_MLB0_MLBSS2P0_MLBDIM_WRAP_ECC_AGGR (60u)
244  #define SDL_MAIN_AC_ECC_AGGR0 (61u)
245 
246  #define SDL_WKUP_VTM0_K3VTM_NC_ECCAGGR (62u)
247  #define SDL_MMCSD0_EMMC8SSC_ECC_AGGR_RXMEM (63u)
248  #define SDL_MMCSD0_EMMC8SSC_ECC_AGGR_TXMEM (64u)
249  #define SDL_MMCSD1_EMMCSD4SS_ECC_AGGR_RXMEM (65u)
250  #define SDL_MMCSD1_EMMCSD4SS_ECC_AGGR_TXMEM (66u)
251  #define SDL_MMCSD2_EMMCSD4SS_ECC_AGGR_RXMEM (67u)
252  #define SDL_MMCSD2_EMMCSD4SS_ECC_AGGR_TXMEM (68u)
253  #define SDL_DSS_EDP0_K3_DSS_EDP_MHDPTX_WRAPPER_ECC_AGGR_CORE (69u)
254  #define SDL_DSS_EDP0_K3_DSS_EDP_MHDPTX_WRAPPER_ECC_AGGR_PHY (70u)
255  #define SDL_DSS_EDP0_K3_DSS_EDP_MHDPTX_WRAPPER_ECC_AGGR_DSC (71u)
256  #define SDL_UFS0_UFSHCI2P1SSC_HCLK_ECC_AGGR (72u)
257  #define SDL_CSI_RX_IF0_ECC_AGGR_0 (73u)
258  #define SDL_CSI_RX_IF1_ECC_AGGR_0 (74u)
259  #define SDL_NAVSS0_MODSS_ECC_AGGR0 (75u)
260  #define SDL_USB0_USB3P0SSC_USB3P0SS_CORE_A_ECC_AGGR (76u)
261  #define SDL_USB1_USB3P0SSC_USB3P0SS_CORE_A_ECC_AGGR (77u)
262  #define SDL_NAVSS0_VIRTSS_ECC_AGGR0 (78u)
263  #define SDL_NAVSS0_NBSS_ECC_AGGR0 (79u)
264  #define SDL_IDOM1_ECC_AGGR0 (80u)
265  #define SDL_IDOM1_ECC_AGGR1 (81u)
266  #define SDL_IDOM0_ECC_AGGR0_IDOM0_ECC_AGGR (82u)
267  #define SDL_IDOM0_ECC_AGGR1_IDOM0_ECC_AGGR (83u)
268  #define SDL_CSI_TX_IF0_CSI_TX_IF_ECC_AGGR (84u)
269  #define SDL_CSI_TX_IF0_CSI_TX_IF_ECC_AGGR_BYTE (85u)
270  #define SDL_WKUP_CBASS_ECC_AGGR0_WAKEUP_ECC_AGGR (86u)
271  #define SDL_DSS_DSI0_K3_DSS_DSI_TOP_ECC_AGGR_SYS (87u)
272  #define SDL_MCU_NAVSS0_UDMASS_ECC_AGGR0 (88u)
273  #define SDL_PDMA5_PDMA_MAIN_MCAN_ECCAGGR (89u)
274  #define SDL_PSRAMECC0_PSRAM256X32EC_ECC_AGGR (90u)
275  #define SDL_NAVSS0_UDMASS_ECC_AGGR0 (91u)
276  #define SDL_CPSW0_0_ECC_AGGR (92u)
277 
278 
279  #define SDL_ECC_MEMTYPE_MAIN_MSMC_AGGR0 (93u)
280  #define SDL_ECC_MEMTYPE_MAIN_MSMC_AGGR1 (94u)
281  #define SDL_ECC_MEMTYPE_MAIN_MSMC_AGGR2 (95u)
282  #define SDL_COMPUTE_CLUSTER0_A72SS0_COMMON_ECC_AGGR (96u)
283  #define SDL_COMPUTE_CLUSTER0_A72SS0_CORE0_ECC_AGGR (97u)
284  #define SDL_COMPUTE_CLUSTER0_A72SS0_CORE1_ECC_AGGR (98u)
285  #define SDL_COMPUTE_CLUSTER0_DDR32SSC_EW_BRCTL_SC_ECC_AGGR_VBUS (99u)
286  #define SDL_COMPUTE_CLUSTER0_DDR32SSC_EW_BRCTL_SC_ECC_AGGR_CTL (100u)
287  #define SDL_COMPUTE_CLUSTER0_DDR32SSC_EW_BRCTL_SC_ECC_AGGR_CFG (101u)
288  #define SDL_COMPUTE_CLUSTER0_C71SS0_ECC_AGGR (102u)
289 
290 #define SDL_ECC_MEMTYPE_MAX (SDL_COMPUTE_CLUSTER0_C71SS0_ECC_AGGR + 1U)
291 
292 
293 #endif
294 
295 #if defined (SOC_J7200)
296 
297 #define SDL_ECC_MEMTYPE_MCU_R5F0_CORE (0u)
298 #define SDL_ECC_MEMTYPE_MCU_R5F1_CORE (1u)
299 #define SDL_ECC_PDMA10_ECC_AGGR (2u)
300 #define SDL_ECC_PCIE1_1_ECC_AGGR (3u)
301 #define SDL_ECC_MCU_NAVSS0_0_ECC_AGGR (4u)
302 #define SDL_ECC_MCU_NAVSS0_1_ECC_AGGR (5u)
303 #define SDL_ECC_PCIE1_0_ECC_AGGR (6u)
304 #define SDL_ECC_USB0_ECC_AGGR (7u)
305 #define SDL_ECC_CPSW0_ECC_AGGR (8u)
306 #define SDL_ECC_MMCSD0_1_ECC_AGGR (9u)
307 #define SDL_ECC_MMCSD0_0_ECC_AGGR (10u)
308 #define SDL_ECC_MMCSD1_0_ECC_AGGR (11u)
309 #define SDL_ECC_MMCSD1_1_ECC_AGGR (12u)
310 #define SDL_ECC_MSRAM_512K0_ECC_AGGR (13u)
311 #define SDL_ECC_MCAN8_ECC_AGGR (14u)
312 #define SDL_ECC_MCAN9_ECC_AGGR (15u)
313 #define SDL_ECC_MCAN10_ECC_AGGR (16u)
314 #define SDL_ECC_MCAN11_ECC_AGGR (17u)
315 #define SDL_ECC_MCAN12_ECC_AGGR (18u)
316 #define SDL_ECC_MCAN13_ECC_AGGR (19u)
317 #define SDL_ECC_MCAN14_ECC_AGGR (20u)
318 #define SDL_ECC_MCAN15_ECC_AGGR (21u)
319 #define SDL_ECC_MCAN16_ECC_AGGR (22u)
320 #define SDL_ECC_MCAN17_ECC_AGGR (23u)
321 #define SDL_R5FSS0_CORE0_ECC_AGGR (24u)
322 #define SDL_ECC_I3C0_1_ECC_AGGR (25u)
323 #define SDL_ECC_I3C0_0_ECC_AGGR (26u)
324 #define SDL_ECC_MCAN0_ECC_AGGR (27u)
325 #define SDL_ECC_MCAN1_ECC_AGGR (28u)
326 #define SDL_ECC_MCAN2_ECC_AGGR (29u)
327 #define SDL_ECC_MCAN3_ECC_AGGR (30u)
328 #define SDL_ECC_MCAN4_ECC_AGGR (31u)
329 #define SDL_ECC_MCAN5_ECC_AGGR (32u)
330 #define SDL_ECC_MCAN6_ECC_AGGR (33u)
331 #define SDL_ECC_MCAN7_ECC_AGGR (34u)
332 #define SDL_ECC_IDOM0_ECC_AGGR16 (35u)
333 #define SDL_ECC_IDOM1_ECC_AGGR17 (36u)
334 #define SDL_ECC_VC_MAIN_RC_ECC_AGGR4_ECC_AGGR (37u)
335 #define SDL_ECC_VC_MAIN_HC_ECC_AGGR5_ECC_AGGR (38u)
336 #define SDL_ECC_VC_MAIN_SPI_G0_MAIN_0_ECCAGGR6 (39u)
337 #define SDL_ECC_VCL_NAVSS256_VIRTSS_PHYS_ECC_AGGR10_ECC_AGGR (40u)
338 #define SDL_ECC_VC_NAVSS256_NBSS_PHYS_ECC_AGGR11_ECC_AGGR (41u)
339 #define SDL_ECC_NAVSS0_0_ECC_AGGR (42u)
340 #define SDL_ECC_NAVSS0_1_ECC_AGGR (43u)
341 #define SDL_ECC_NAVSS0_3_ECC_AGGR (44u)
342 #define SDL_ECC_NAVSS0_2_ECC_AGGR (45u)
343 #define SDL_ECC_PDMA5_ECC_AGGR (46u)
344 #define SDL_ECC_PDMA9_ECC_AGGR (47u)
345 #define SDL_ECC_MCU_MCAN0_ECC_AGGR (48u)
346 #define SDL_ECC_MCU_MCAN1_ECC_AGGR (49u)
347 #define SDL_ECC_MCU_ADC0_ECC_AGGR (50u)
348 #define SDL_ECC_MCU_CPSW0_ECC_AGGR (51u)
349 #define SDL_ECC_MCU_MSRAM_1MB0_ECC_AGGR (52u)
350 #define SDL_ECC_MCU_SA2_UL0_ECC_AGGR (53u)
351 #define SDL_ECC_MCU_I3C0_1_ECC_AGGR (54u)
352 #define SDL_ECC_MCU_I3C0_0_ECC_AGGR (55u)
353 #define SDL_ECC_WKUP_VTM0_ECC_AGGR (56u)
354 #define SDL_ECC_MCU_FSS0_0_ECC_AGGR (57u)
355 #define SDL_ECC_MCU_FSS0_1_ECC_AGGR (58u)
356 #define SDL_ECC_MCU_VC_MCU_ECC_AGGR0 (59u)
357 #define SDL_R5FSS0_CORE1_ECC_AGGR (60u)
358 #define SDL_ECC_PSRAMECC0_ECC_AGGR (61u)
359 #define SDL_ECC_PSRAM2KECC0_ECC_AGGR (62u)
360 #define SDL_ECC_VCL_MAIN_INFRA_ECC_AGGR0_0_ECC_AGGR (63u)
361 #define SDL_ECC_MEMTYPE_MAIN_MSMC_AGGR0 (64u)
362 #define SDL_ECC_COMPUTE_CLUSTER0_2_ECC_AGGR (65u)
363 #define SDL_ECC_COMPUTE_CLUSTER0_4_ECC_AGGR (66u)
364 #define SDL_ECC_COMPUTE_CLUSTER0_5_ECC_AGGR (67u)
365 #define SDL_ECC_COMPUTE_CLUSTER0_1_ECC_AGGR (68u)
366 #define SDL_ECC_COMPUTE_CLUSTER0_0_ECC_AGGR (69u)
367 #define SDL_DDR0_0_ECC_AGGR (70u)
368 #define SDL_DDR0_1_ECC_AGGR (71u)
369 #define SDL_DDR0_2_ECC_AGGR (72u)
370 #define SDL_ECC_COMPUTE_CLUSTER0_6_ECC_AGGR (73u)
371 #define SDL_ECC_MEMTYPE_MAX (SDL_ECC_COMPUTE_CLUSTER0_6_ECC_AGGR + 1U)
372 
373 
374 /* Max entries based on max mem type */
375 #define SDL_ECC_AGGREGATOR_MAX_LOW_ENTRIES (SDL_ECC_VCL_MAIN_INFRA_ECC_AGGR0_0_ECC_AGGR+1U)
376 
377 #define SDL_ECC_AGGREGATOR_MAX_HIGH_ENTRIES (SDL_ECC_COMPUTE_CLUSTER0_6_ECC_AGGR - \
378  SDL_ECC_MEMTYPE_MAIN_MSMC_AGGR0 + 1u)
379 
380 #endif
381 
382 #if defined (SOC_J721S2)
383 
384 #define SDL_ECC_MEMTYPE_MCU_R5F0_CORE (0U)
385 #define SDL_ECC_MEMTYPE_MCU_R5F1_CORE (1U)
386 #define SDL_IVC_DOM1_ECC_AGGR17_ECC_AGGR (2U)
387 #define SDL_WKUP_VTM0_ECC_AGGR (3U)
388 #define SDL_MSRAM_512K0_ECC_AGGR (4U)
389 #define SDL_MSRAM_512K1_ECC_AGGR (5U)
390 #define SDL_PSRAMECC0_ECC_AGGR (6U)
391 #define SDL_MCU_MSRAM_1MB0_ECC_AGGR (7U)
392 #define SDL_ECC_AGGR4_ECC_AGGR (8U)
393 #define SDL_USB0_ECC_AGGR (9U)
394 #define SDL_VPAC0_0_ECC_AGGR (10U)
395 #define SDL_VPAC0_1_ECC_AGGR (11U)
396 #define SDL_VPAC0_ECC_AGGR (12U)
397 #define SDL_MCAN16_ECC_AGGR (13U)
398 #define SDL_PCIE1_0_ECC_AGGR (14U)
399 #define SDL_PCIE1_1_ECC_AGGR (15U)
400 #define SDL_IVC_DOM0_ECC_AGGR16_ECC_AGGR (16U)
401 #define SDL_PDMA6_ECC_AGGR (17U)
402 #define SDL_ECC_AGGR5_ECC_AGGR (18U)
403 #define SDL_DSS_DSI0_ECC_AGGR (19U)
404 #define SDL_ECC_AGGR0_ECC_AGGR (20U)
405 #define SDL_CSI_RX_IF0_ECC_AGGR (21U)
406 #define SDL_MCAN5_ECC_AGGR (22U)
407 #define SDL_PSRAM2KECC0_ECC_AGGR (23U)
408 #define SDL_PDMA7_ECC_AGGR (24U)
409 #define SDL_IVC_DOM0_ECC_AGGR18_ECC_AGGR (25U)
410 #define SDL_MCU_NAVSS0_0_ECC_AGGR (26U)
411 #define SDL_MCU_NAVSS0_1_ECC_AGGR (27U)
412 #define SDL_DSS_EDP0_2_ECC_AGGR (28U)
413 #define SDL_DSS_EDP0_0_ECC_AGGR (29U)
414 #define SDL_DSS_EDP0_1_ECC_AGGR (30U)
415 #define SDL_MCAN10_ECC_AGGR (31U)
416 #define SDL_SA2_UL0_ECC_AGGR (32U)
417 #define SDL_MMCSD0_0_ECC_AGGR (33U)
418 #define SDL_MMCSD0_1_ECC_AGGR (34U)
419 #define SDL_ECC_AGGR10_ECC_AGGR (35U)
420 #define SDL_CSI_TX_IF_V2_1_0_ECC_AGGR (36U)
421 #define SDL_CSI_TX_IF_V2_1_1_ECC_AGGR (37U)
422 #define SDL_CSI_TX_IF_V2_0_0_ECC_AGGR (38U)
423 #define SDL_CSI_TX_IF_V2_0_1_ECC_AGGR (39U)
424 #define SDL_MCU_MCAN0_ECC_AGGR (40U)
425 #define SDL_MCU_ADC12FCC1_ECC_AGGR (41U)
426 #define SDL_MCU_ADC12FCC0_ECC_AGGR (42U)
427 #define SDL_CSI_RX_IF1_ECC_AGGR (43U)
428 #define SDL_NAVSS0_0_ECC_AGGR (44U)
429 #define SDL_NAVSS0_1_ECC_AGGR (45U)
430 #define SDL_NAVSS0_2_ECC_AGGR (46U)
431 #define SDL_NAVSS0_3_ECC_AGGR (47U)
432 #define SDL_MAIN_IP_ECC_AGGR0_ECC_AGGR (48U)
433 #define SDL_MCU_MCAN1_ECC_AGGR (49U)
434 #define SDL_CPSW1_ECC_AGGR (50U)
435 #define SDL_MMCSD1_0_ECC_AGGR (51U)
436 #define SDL_MMCSD1_1_ECC_AGGR (52U)
437 #define SDL_MCUM_MCU_ECC_AGGR0_ECC_AGGR (53U)
438 #define SDL_MCU_FSS0_0_ECC_AGGR (54U)
439 #define SDL_MCU_FSS0_1_ECC_AGGR (55U)
440 #define SDL_MCU_FSS0_2_ECC_AGGR (56U)
441 #define SDL_WKUP_SMS0_TIFS_ECC_AGGR_0_ECC_AGGR (57U)
442 #define SDL_MCU_CPSW0_ECC_AGGR (58U)
443 #define SDL_MCU_I3C0_0_ECC_AGGR (59U)
444 #define SDL_MCU_I3C0_1_ECC_AGGR (60U)
445 #define SDL_R5FSS0_0_ECC_AGGR (61U)
446 #define SDL_R5FSS0_1_ECC_AGGR (62U)
447 #define SDL_R5FSS1_0_ECC_AGGR (63U)
448 #define SDL_R5FSS1_1_ECC_AGGR (64U)
449 #define SDL_DMPAC0_ECC_AGGR (65U)
450 #define SDL_ECC_AGGR9_ECC_AGGR (66U)
451 #define SDL_ECC_AGGR6_ECC_AGGR (67U)
452 #define SDL_MCAN9_ECC_AGGR (68U)
453 #define SDL_MCAN8_ECC_AGGR (69U)
454 #define SDL_MCAN1_ECC_AGGR (70U)
455 #define SDL_MCAN3_ECC_AGGR (71U)
456 #define SDL_MCAN2_ECC_AGGR (72U)
457 #define SDL_MCAN7_ECC_AGGR (73U)
458 #define SDL_MCAN6_ECC_AGGR (74U)
459 #define SDL_DSS_DSI1_ECC_AGGR (75U)
460 #define SDL_IVC_DOM1_ECC_AGGR19_ECC_AGGR (76U)
461 #define SDL_WKUP_SMS0_HSM_ECC_AGGR_0_ECC_AGGR (77U)
462 #define SDL_PDMA5_ECC_AGGR (78U)
463 #define SDL_MCAN11_ECC_AGGR (79U)
464 #define SDL_MCAN13_ECC_AGGR (80U)
465 #define SDL_MCAN12_ECC_AGGR (81U)
466 #define SDL_MCAN15_ECC_AGGR (82U)
467 #define SDL_MCAN14_ECC_AGGR (83U)
468 #define SDL_MCAN17_ECC_AGGR (84U)
469 #define SDL_MCAN0_ECC_AGGR (85U)
470 #define SDL_ECC_AGGR11_ECC_AGGR (86U)
471 #define SDL_MCAN4_ECC_AGGR (87U)
472 #define SDL_WKUP_ECC_AGGR0_ECC_AGGR (88U)
473 #define SDL_MCU_SA3_SS0_1_ECC_AGGR (89U)
474 
475 #define SDL_ECC_MEMTYPE_MAIN_MSMC_AGGR0 (90U)
476 #define SDL_ECC_MEMTYPE_MAIN_MSMC_AGGR1 (91U)
477 #define SDL_ECC_MEMTYPE_MAIN_MSMC_AGGR2 (92U)
478 #define SDL_ECC_MEMTYPE_A72_COREPAC (93U)
479 #define SDL_ECC_MEMTYPE_A72_1 (94U)
480 #define SDL_ECC_MEMTYPE_C7X_1 (95U)
481 #define SDL_DDR0_0_ECC_AGGR (96U)
482 #define SDL_DDR1_0_ECC_AGGR (97U)
483 #define SDL_DDR0_1_ECC_AGGR (98U)
484 #define SDL_DDR1_1_ECC_AGGR (99U)
485 #define SDL_DDR0_2_ECC_AGGR (100U)
486 #define SDL_DDR1_2_ECC_AGGR (101U)
487 #define SDL_ECC_MEMTYPE_C7X_0 (102U)
488 #define SDL_ECC_MEMTYPE_A72_0 (103U)
489 #define SDL_ECC_MEMTYPE_GIC (104U)
490 #define SDL_ECC_MEMTYPE_MAIN_MSMC_AGGR3 (105U)
491 
492 #define SDL_ECC_MEMTYPE_MAX (SDL_ECC_MEMTYPE_MAIN_MSMC_AGGR3 + 1U)
493 
494 /* Max entries based on max mem type */
495 #define SDL_ECC_AGGREGATOR_MAX_LOW_ENTRIES (SDL_MCU_SA3_SS0_1_ECC_AGGR+1U)
496 
497 #define SDL_ECC_AGGREGATOR_MAX_HIGH_ENTRIES (SDL_ECC_MEMTYPE_MAIN_MSMC_AGGR3 - \
498  SDL_ECC_MEMTYPE_MAIN_MSMC_AGGR0 + 1u)
499 
500 #endif
501 
502 #if defined (SOC_J784S4)
503 
504 #define SDL_ECC_MEMTYPE_MCU_R5F0_CORE (0U) /* MCU_R5FSS0_0 */
505 #define SDL_ECC_MEMTYPE_MCU_R5F1_CORE (1U) /* MCU_R5FSS0_1 */
506 #define SDL_PCIE0_0_ECC_AGGR (2U)
507 #define SDL_PCIE0_1_ECC_AGGR (3U)
508 #define SDL_PCIE3_0_ECC_AGGR (4U)
509 #define SDL_PCIE3_1_ECC_AGGR (5U)
510 #define SDL_PCIE2_0_ECC_AGGR (6U)
511 #define SDL_PCIE2_1_ECC_AGGR (7U)
512 #define SDL_MCU_CPSW0_ECC_AGGR (8U)
513 #define SDL_WKUP_SMS0_TIFS_ECC_AGGR_0_ECC_AGGR (9U)
514 #define SDL_WKUP_SMS0_HSM_ECC_AGGR_0_ECC_AGGR (10U)
515 #define SDL_MSRAM_512K1_ECC_AGGR (11U)
516 #define SDL_MSRAM_512K2_ECC_AGGR (12U)
517 #define SDL_PDMA6_ECC_AGGR (13U)
518 #define SDL_DSS_DSI0_ECC_AGGR (14U)
519 #define SDL_MCU_MSRAM_1MB0_ECC_AGGR (15U)
520 #define SDL_ECC_AGGR4_ECC_AGGR (16U)
521 #define SDL_USB0_ECC_AGGR (17U)
522 #define SDL_VPAC1_0_ECC_AGGR (18U)
523 #define SDL_VPAC1_1_ECC_AGGR (19U)
524 #define SDL_VPAC1_2_ECC_AGGR (20U)
525 #define SDL_ECC_AGGR6_ECC_AGGR (21U)
526 #define SDL_MCAN16_ECC_AGGR (22U)
527 #define SDL_UFS0_ECC_AGGR (23U)
528 #define SDL_IVC_DOM0_ECC_AGGR20_ECC_AGGR (24U)
529 #define SDL_PCIE1_0_ECC_AGGR (25U)
530 #define SDL_PCIE1_1_ECC_AGGR (26U)
531 #define SDL_ECC_AGGR5_ECC_AGGR (27U)
532 #define SDL_IVC_DOM0_ECC_AGGR16_ECC_AGGR (28U)
533 #define SDL_VPAC0_0_ECC_AGGR (29U)
534 #define SDL_VPAC0_1_ECC_AGGR (30U)
535 #define SDL_VPAC0_2_ECC_AGGR (31U)
536 #define SDL_MCU_MCAN0_ECC_AGGR (32U)
537 #define SDL_PSRAMECC0_ECC_AGGR (33U)
538 #define SDL_MCU_MCAN1_ECC_AGGR (34U)
539 #define SDL_MCU_SA3_SS0_0_ECC_AGGR (35U)
540 #define SDL_MCU_SA3_SS0_1_ECC_AGGR (36U)
541 #define SDL_MMCSD1_0_ECC_AGGR (37U)
542 #define SDL_MMCSD1_1_ECC_AGGR (38U)
543 #define SDL_MCAN4_ECC_AGGR (39U)
544 #define SDL_IVC_DOM1_ECC_AGGR21_ECC_AGGR (40U)
545 #define SDL_IVC_DOM1_ECC_AGGR17_ECC_AGGR (41U)
546 #define SDL_ECC_AGGR0_ECC_AGGR (42U)
547 #define SDL_CSI_RX_IF2_ECC_AGGR (43U)
548 #define SDL_CSI_RX_IF1_ECC_AGGR (44U)
549 #define SDL_CSI_RX_IF0_ECC_AGGR (45U)
550 #define SDL_PSRAM2KECC0_ECC_AGGR (46U)
551 #define SDL_PDMA7_ECC_AGGR (47U)
552 #define SDL_ECC_AGGR11_ECC_AGGR (48U)
553 #define SDL_IVC_DOM0_ECC_AGGR18_ECC_AGGR (49U)
554 #define SDL_MCU_NAVSS0_0_ECC_AGGR (50U)
555 #define SDL_MCU_NAVSS0_1_ECC_AGGR (51U)
556 #define SDL_DSS_EDP0_0_ECC_AGGR (52U)
557 #define SDL_DSS_EDP0_1_ECC_AGGR (53U)
558 #define SDL_DSS_EDP0_2_ECC_AGGR (54U)
559 #define SDL_MCAN10_ECC_AGGR (55U)
560 #define SDL_SA2_UL0_ECC_AGGR (56U)
561 #define SDL_MMCSD0_0_ECC_AGGR (57U)
562 #define SDL_MMCSD0_1_ECC_AGGR (58U)
563 #define SDL_ECC_AGGR10_ECC_AGGR (59U)
564 #define SDL_CSI_TX_IF_V2_1_0_ECC_AGGR (60U)
565 #define SDL_CSI_TX_IF_V2_1_1_ECC_AGGR (61U)
566 #define SDL_CSI_TX_IF_V2_0_0_ECC_AGGR (62U)
567 #define SDL_CSI_TX_IF_V2_0_1_ECC_AGGR (63U)
568 #define SDL_NAVSS0_0_ECC_AGGR (64U)
569 #define SDL_NAVSS0_1_ECC_AGGR (65U)
570 #define SDL_NAVSS0_2_ECC_AGGR (66U)
571 #define SDL_NAVSS0_3_ECC_AGGR (67U)
572 #define SDL_MCU_ADC12FCC1_ECC_AGGR (68U)
573 #define SDL_MCU_ADC12FCC0_ECC_AGGR (69U)
574 #define SDL_MCAN14_ECC_AGGR (70U)
575 #define SDL_MAIN_IP_ECC_AGGR0_ECC_AGGR (71U)
576 #define SDL_WKUP_VTM0_ECC_AGGR (72U)
577 #define SDL_MSRAM_512K0_ECC_AGGR (73U)
578 #define SDL_CPSW1_ECC_AGGR (74U)
579 #define SDL_MCUM_MCU_ECC_AGGR0_ECC_AGGR (75U)
580 #define SDL_MCU_FSS0_0_ECC_AGGR (76U)
581 #define SDL_MCU_FSS0_1_ECC_AGGR (77U)
582 #define SDL_MCU_FSS0_2_ECC_AGGR (78U)
583 #define SDL_MCU_I3C0_0_ECC_AGGR (79U)
584 #define SDL_MCU_I3C0_1_ECC_AGGR (80U)
585 #define SDL_R5FSS0_0_ECC_AGGR (81U)
586 #define SDL_R5FSS0_1_ECC_AGGR (82U)
587 #define SDL_R5FSS1_0_ECC_AGGR (83U)
588 #define SDL_R5FSS1_1_ECC_AGGR (84U)
589 #define SDL_R5FSS2_0_ECC_AGGR (85U)
590 #define SDL_R5FSS2_1_ECC_AGGR (86U)
591 #define SDL_PDMA5_ECC_AGGR (87U)
592 #define SDL_MCAN5_ECC_AGGR (88U)
593 #define SDL_MCAN9_ECC_AGGR (89U)
594 #define SDL_MCAN8_ECC_AGGR (90U)
595 #define SDL_MCAN1_ECC_AGGR (91U)
596 #define SDL_MCAN3_ECC_AGGR (92U)
597 #define SDL_MCAN2_ECC_AGGR (93U)
598 #define SDL_MCAN7_ECC_AGGR (94U)
599 #define SDL_MCAN6_ECC_AGGR (95U)
600 #define SDL_DSS_DSI1_ECC_AGGR (96U)
601 #define SDL_IVC_DOM1_ECC_AGGR19_ECC_AGGR (97U)
602 #define SDL_MCAN11_ECC_AGGR (98U)
603 #define SDL_MCAN13_ECC_AGGR (99U)
604 #define SDL_MCAN12_ECC_AGGR (100U)
605 #define SDL_MCAN15_ECC_AGGR (101U)
606 #define SDL_MCAN17_ECC_AGGR (102U)
607 #define SDL_ECC_AGGR9_ECC_AGGR (103U)
608 #define SDL_MCAN0_ECC_AGGR (104U)
609 #define SDL_WKUP_ECC_AGGR0_ECC_AGGR (105U)
610 #define SDL_DMPAC0_ECC_AGGR (106U)
611 #define SDL_CPSW_9XUSSM0_ECC_AGGR (107U)
612 
613 #define SDL_ECC_MEMTYPE_MAIN_MSMC_AGGR0 (108U)
614 #define SDL_ECC_MEMTYPE_MAIN_MSMC_AGGR1 (109U)
615 #define SDL_COMPUTE_CLUSTER0_MSMC_ECC_AGGR2 (110U)
616 #define SDL_COMPUTE_CLUSTER0_MSMC_ECC_AGGR3 (111U)
617 #define SDL_COMPUTE_CLUSTER0_MSMC_ECC_AGGR4 (112U)
618 #define SDL_COMPUTE_CLUSTER0_MSMC_ECC_AGGR5 (113U)
619 #define SDL_COMPUTE_CLUSTER0_GICSS_ECC_AGGR (114U)
620 #define SDL_COMPUTE_CLUSTER0_AW4_ECC0_AGGR (115U)
621 #define SDL_COMPUTE_CLUSTER0_AW4_ECC1_AGGR (116U)
622 #define SDL_COMPUTE_CLUSTER0_DSP0_ECC_AGGR (117U)
623 #define SDL_DDR0_0_ECC_AGGR (118U)
624 #define SDL_DDR0_1_ECC_AGGR (119U)
625 #define SDL_DDR0_2_ECC_AGGR (120U)
626 #define SDL_DDR1_0_ECC_AGGR (121U)
627 #define SDL_DDR1_1_ECC_AGGR (122U)
628 #define SDL_DDR1_2_ECC_AGGR (123U)
629 #define SDL_DDR2_0_ECC_AGGR (124U)
630 #define SDL_DDR2_1_ECC_AGGR (125U)
631 #define SDL_DDR2_2_ECC_AGGR (126U)
632 #define SDL_DDR3_0_ECC_AGGR (127U)
633 #define SDL_DDR3_1_ECC_AGGR (128U)
634 #define SDL_DDR3_2_ECC_AGGR (129U)
635 #define SDL_COMPUTE_CLUSTER0_AW5_ECC0_AGGR (130U)
636 #define SDL_COMPUTE_CLUSTER0_AW5_ECC1_AGGR (131U)
637 #define SDL_COMPUTE_CLUSTER0_DSP1_ECC_AGGR (132U)
638 #define SDL_COMPUTE_CLUSTER0_AW6_ECC0_AGGR (133U)
639 #define SDL_COMPUTE_CLUSTER0_AW6_ECC1_AGGR (134U)
640 #define SDL_COMPUTE_CLUSTER0_DSP2_ECC_AGGR (135U)
641 #define SDL_COMPUTE_CLUSTER0_AW7_ECC0_AGGR (136U)
642 #define SDL_COMPUTE_CLUSTER0_AW7_ECC1_AGGR (137U)
643 #define SDL_COMPUTE_CLUSTER0_DSP3_ECC_AGGR (138U)
644 #define SDL_COMPUTE_CLUSTER0_MSMC2_ECC_AGGR0_AGGR (139U)
645 #define SDL_COMPUTE_CLUSTER0_MSMC2_ECC_AGGR1_AGGR (140U)
646 #define SDL_COMPUTE_CLUSTER0_CFG0_ARM_COREPAC_ECC_AGGR (141U)
647 #define SDL_COMPUTE_CLUSTER0_CFG0_ARM_CORE0_ECC_AGGR (142U)
648 #define SDL_COMPUTE_CLUSTER0_CFG0_ARM_CORE1_ECC_AGGR (143U)
649 #define SDL_COMPUTE_CLUSTER0_CFG0_ARM_CORE2_ECC_AGGR (144U)
650 #define SDL_COMPUTE_CLUSTER0_CFG0_ARM_CORE3_ECC_AGGR (145U)
651 #define SDL_COMPUTE_CLUSTER0_CFG1_ARM_COREPAC_ECC_AGGR (146U)
652 #define SDL_COMPUTE_CLUSTER0_CFG1_ARM_CORE0_ECC_AGGR (147U)
653 #define SDL_COMPUTE_CLUSTER0_CFG1_ARM_CORE1_ECC_AGGR (148U)
654 #define SDL_COMPUTE_CLUSTER0_CFG1_ARM_CORE2_ECC_AGGR (149U)
655 #define SDL_COMPUTE_CLUSTER0_CFG1_ARM_CORE3_ECC_AGGR (150U)
656 
657 #define SDL_ECC_MEMTYPE_MAX (SDL_COMPUTE_CLUSTER0_CFG1_ARM_CORE3_ECC_AGGR + 1U)
658 
659 /* Max entries based on max mem type */
660 #define SDL_ECC_AGGREGATOR_MAX_LOW_ENTRIES (SDL_CPSW_9XUSSM0_ECC_AGGR+1U)
661 
662 #define SDL_ECC_AGGREGATOR_MAX_HIGH_ENTRIES (SDL_COMPUTE_CLUSTER0_CFG1_ARM_CORE3_ECC_AGGR - \
663  SDL_ECC_MEMTYPE_MAIN_MSMC_AGGR0 + 1u)
664 
665 #endif
666 
671 typedef uint32_t SDL_ECC_MemSubType;
672 
673 #if defined (SOC_J721E)
674 
675 /* The following are the memory sub type for Memory type
676  SDL_ECC_MEMTYPE_MCU_R5F0_CORE & SDL_ECC_MEMTYPE_MCU_R5F1_CORE */
677 /* Keeping for backward-compatibility. Recommend to use RAM_ID directly from sdlr_soc_ecc_aggr.h file */
678 
680 #define SDL_ECC_R5F_MEM_SUBTYPE_ATCM0_BANK0_VECTOR_ID (SDL_MCU_R5FSS0_CORE0_ECC_AGGR_PULSAR_SL_ATCM0_BANK0_RAM_ID)
681 
682 #define SDL_ECC_R5F_MEM_SUBTYPE_ATCM0_BANK1_VECTOR_ID (SDL_MCU_R5FSS0_CORE0_ECC_AGGR_PULSAR_SL_ATCM0_BANK1_RAM_ID)
683 
684 #define SDL_ECC_R5F_MEM_SUBTYPE_B0TCM0_BANK0_VECTOR_ID (SDL_MCU_R5FSS0_CORE0_ECC_AGGR_PULSAR_SL_B0TCM0_BANK0_RAM_ID)
685 
686 #define SDL_ECC_R5F_MEM_SUBTYPE_B0TCM0_BANK1_VECTOR_ID (SDL_MCU_R5FSS0_CORE0_ECC_AGGR_PULSAR_SL_B0TCM0_BANK1_RAM_ID)
687 
688 #define SDL_ECC_R5F_MEM_SUBTYPE_B1TCM0_BANK0_VECTOR_ID (SDL_MCU_R5FSS0_CORE0_ECC_AGGR_PULSAR_SL_B1TCM0_BANK0_RAM_ID)
689 
690 #define SDL_ECC_R5F_MEM_SUBTYPE_B1TCM0_BANK1_VECTOR_ID (SDL_MCU_R5FSS0_CORE0_ECC_AGGR_PULSAR_SL_B1TCM0_BANK1_RAM_ID)
691 
692 #define SDL_ECC_R5F_MEM_SUBTYPE_KS_VIM_RAM_VECTOR_ID (SDL_MCU_R5FSS0_CORE0_ECC_AGGR_CPU0_KS_VIM_RAMECC_RAM_ID)
693 
694 #define SDL_ECC_R5F_MEM_SUBTYPE_ITAG_RAM0_VECTOR_ID (SDL_MCU_R5FSS0_CORE0_ECC_AGGR_CPU0_ITAG_RAM0_RAM_ID)
695 
696 #define SDL_ECC_R5F_MEM_SUBTYPE_ITAG_RAM1_VECTOR_ID (SDL_MCU_R5FSS0_CORE0_ECC_AGGR_CPU0_ITAG_RAM1_RAM_ID)
697 
698 #define SDL_ECC_R5F_MEM_SUBTYPE_ITAG_RAM2_VECTOR_ID (SDL_MCU_R5FSS0_CORE0_ECC_AGGR_CPU0_ITAG_RAM2_RAM_ID)
699 
700 #define SDL_ECC_R5F_MEM_SUBTYPE_ITAG_RAM3_VECTOR_ID (SDL_MCU_R5FSS0_CORE0_ECC_AGGR_CPU0_ITAG_RAM3_RAM_ID)
701 
702 #define SDL_ECC_R5F_MEM_SUBTYPE_IDATA_BANK0_VECTOR_ID (SDL_MCU_R5FSS0_CORE0_ECC_AGGR_CPU0_IDATA_BANK0_RAM_ID)
703 
704 #define SDL_ECC_R5F_MEM_SUBTYPE_IDATA_BANK1_VECTOR_ID (SDL_MCU_R5FSS0_CORE0_ECC_AGGR_CPU0_IDATA_BANK1_RAM_ID)
705 
706 #define SDL_ECC_R5F_MEM_SUBTYPE_IDATA_BANK2_VECTOR_ID (SDL_MCU_R5FSS0_CORE0_ECC_AGGR_CPU0_IDATA_BANK2_RAM_ID)
707 
708 #define SDL_ECC_R5F_MEM_SUBTYPE_IDATA_BANK3_VECTOR_ID (SDL_MCU_R5FSS0_CORE0_ECC_AGGR_CPU0_IDATA_BANK3_RAM_ID)
709 
710 #define SDL_ECC_R5F_MEM_SUBTYPE_DTAG_RAM0_VECTOR_ID (SDL_MCU_R5FSS0_CORE0_ECC_AGGR_CPU0_DTAG_RAM0_RAM_ID)
711 
712 #define SDL_ECC_R5F_MEM_SUBTYPE_DTAG_RAM1_VECTOR_ID (SDL_MCU_R5FSS0_CORE0_ECC_AGGR_CPU0_DTAG_RAM1_RAM_ID)
713 
714 #define SDL_ECC_R5F_MEM_SUBTYPE_DTAG_RAM2_VECTOR_ID (SDL_MCU_R5FSS0_CORE0_ECC_AGGR_CPU0_DTAG_RAM2_RAM_ID)
715 
716 #define SDL_ECC_R5F_MEM_SUBTYPE_DTAG_RAM3_VECTOR_ID (SDL_MCU_R5FSS0_CORE0_ECC_AGGR_CPU0_DTAG_RAM3_RAM_ID)
717 
718 #define SDL_ECC_R5F_MEM_SUBTYPE_DDIRTY_RAM_VECTOR_ID (SDL_MCU_R5FSS0_CORE0_ECC_AGGR_CPU0_DDIRTY_RAM_RAM_ID)
719 
720 #define SDL_ECC_R5F_MEM_SUBTYPE_DDATA_RAM0_VECTOR_ID (SDL_MCU_R5FSS0_CORE0_ECC_AGGR_CPU0_DDATA_RAM0_RAM_ID)
721 
722 #define SDL_ECC_R5F_MEM_SUBTYPE_DDATA_RAM1_VECTOR_ID (SDL_MCU_R5FSS0_CORE0_ECC_AGGR_CPU0_DDATA_RAM1_RAM_ID)
723 
724 #define SDL_ECC_R5F_MEM_SUBTYPE_DDATA_RAM2_VECTOR_ID (SDL_MCU_R5FSS0_CORE0_ECC_AGGR_CPU0_DDATA_RAM2_RAM_ID)
725 
726 #define SDL_ECC_R5F_MEM_SUBTYPE_DDATA_RAM3_VECTOR_ID (SDL_MCU_R5FSS0_CORE0_ECC_AGGR_CPU0_DDATA_RAM3_RAM_ID)
727 
728 #define SDL_ECC_R5F_MEM_SUBTYPE_DDATA_RAM4_VECTOR_ID (SDL_MCU_R5FSS0_CORE0_ECC_AGGR_CPU0_DDATA_RAM4_RAM_ID)
729 
730 #define SDL_ECC_R5F_MEM_SUBTYPE_DDATA_RAM5_VECTOR_ID (SDL_MCU_R5FSS0_CORE0_ECC_AGGR_CPU0_DDATA_RAM5_RAM_ID)
731 
732 #define SDL_ECC_R5F_MEM_SUBTYPE_DDATA_RAM6_VECTOR_ID (SDL_MCU_R5FSS0_CORE0_ECC_AGGR_CPU0_DDATA_RAM6_RAM_ID)
733 
734 #define SDL_ECC_R5F_MEM_SUBTYPE_DDATA_RAM7_VECTOR_ID (SDL_MCU_R5FSS0_CORE0_ECC_AGGR_CPU0_DDATA_RAM7_RAM_ID)
735 
736 #endif
737 
738 #if defined (SOC_J7200)
739 
740 /* The following are the memory sub type for Memory type
741  SDL_ECC_MEMTYPE_MCU_R5F0_CORE & SDL_ECC_MEMTYPE_MCU_R5F1_CORE */
742 /* Keeping for backward-compatibility. Recommend to use RAM_ID directly from sdlr_soc_ecc_aggr.h file */
743 
745 #define SDL_ECC_R5F_MEM_SUBTYPE_ATCM0_BANK0_VECTOR_ID (SDL_MCU_R5FSS0_PULSAR_SL_ATCM0_BANK0_RAM_ID)
746 
747 #define SDL_ECC_R5F_MEM_SUBTYPE_ATCM0_BANK1_VECTOR_ID (SDL_MCU_R5FSS0_PULSAR_SL_ATCM0_BANK1_RAM_ID)
748 
749 #define SDL_ECC_R5F_MEM_SUBTYPE_B0TCM0_BANK0_VECTOR_ID (SDL_MCU_R5FSS0_PULSAR_SL_B0TCM0_BANK0_RAM_ID)
750 
751 #define SDL_ECC_R5F_MEM_SUBTYPE_B0TCM0_BANK1_VECTOR_ID (SDL_MCU_R5FSS0_PULSAR_SL_B0TCM0_BANK1_RAM_ID)
752 
753 #define SDL_ECC_R5F_MEM_SUBTYPE_B1TCM0_BANK0_VECTOR_ID (SDL_MCU_R5FSS0_PULSAR_SL_B1TCM0_BANK0_RAM_ID)
754 
755 #define SDL_ECC_R5F_MEM_SUBTYPE_B1TCM0_BANK1_VECTOR_ID (SDL_MCU_R5FSS0_PULSAR_SL_B1TCM0_BANK1_RAM_ID)
756 
757 #define SDL_ECC_R5F_MEM_SUBTYPE_KS_VIM_RAM_VECTOR_ID (SDL_MCU_R5FSS0_CPU0_KS_VIM_RAMECC_RAM_ID)
758 
759 #define SDL_ECC_R5F_MEM_SUBTYPE_ITAG_RAM0_VECTOR_ID (SDL_MCU_R5FSS0_CPU0_ITAG_RAM0_RAM_ID)
760 
761 #define SDL_ECC_R5F_MEM_SUBTYPE_ITAG_RAM1_VECTOR_ID (SDL_MCU_R5FSS0_CPU0_ITAG_RAM1_RAM_ID)
762 
763 #define SDL_ECC_R5F_MEM_SUBTYPE_ITAG_RAM2_VECTOR_ID (SDL_MCU_R5FSS0_CPU0_ITAG_RAM2_RAM_ID)
764 
765 #define SDL_ECC_R5F_MEM_SUBTYPE_ITAG_RAM3_VECTOR_ID (SDL_MCU_R5FSS0_CPU0_ITAG_RAM3_RAM_ID)
766 
767 #define SDL_ECC_R5F_MEM_SUBTYPE_IDATA_BANK0_VECTOR_ID (SDL_MCU_R5FSS0_CPU0_IDATA_BANK0_RAM_ID)
768 
769 #define SDL_ECC_R5F_MEM_SUBTYPE_IDATA_BANK1_VECTOR_ID (SDL_MCU_R5FSS0_CPU0_IDATA_BANK1_RAM_ID)
770 
771 #define SDL_ECC_R5F_MEM_SUBTYPE_IDATA_BANK2_VECTOR_ID (SDL_MCU_R5FSS0_CPU0_IDATA_BANK2_RAM_ID)
772 
773 #define SDL_ECC_R5F_MEM_SUBTYPE_IDATA_BANK3_VECTOR_ID (SDL_MCU_R5FSS0_CPU0_IDATA_BANK3_RAM_ID)
774 
775 #define SDL_ECC_R5F_MEM_SUBTYPE_DTAG_RAM0_VECTOR_ID (SDL_MCU_R5FSS0_CPU0_DTAG_RAM0_RAM_ID)
776 
777 #define SDL_ECC_R5F_MEM_SUBTYPE_DTAG_RAM1_VECTOR_ID (SDL_MCU_R5FSS0_CPU0_DTAG_RAM1_RAM_ID)
778 
779 #define SDL_ECC_R5F_MEM_SUBTYPE_DTAG_RAM2_VECTOR_ID (SDL_MCU_R5FSS0_CPU0_DTAG_RAM2_RAM_ID)
780 
781 #define SDL_ECC_R5F_MEM_SUBTYPE_DTAG_RAM3_VECTOR_ID (SDL_MCU_R5FSS0_CPU0_DTAG_RAM3_RAM_ID)
782 
783 #define SDL_ECC_R5F_MEM_SUBTYPE_DDIRTY_RAM_VECTOR_ID (SDL_MCU_R5FSS0_CPU0_DDIRTY_RAM_RAM_ID)
784 
785 #define SDL_ECC_R5F_MEM_SUBTYPE_DDATA_RAM0_VECTOR_ID (SDL_MCU_R5FSS0_CPU0_DDATA_RAM0_RAM_ID)
786 
787 #define SDL_ECC_R5F_MEM_SUBTYPE_DDATA_RAM1_VECTOR_ID (SDL_MCU_R5FSS0_CPU0_DDATA_RAM1_RAM_ID)
788 
789 #define SDL_ECC_R5F_MEM_SUBTYPE_DDATA_RAM2_VECTOR_ID (SDL_MCU_R5FSS0_CPU0_DDATA_RAM2_RAM_ID)
790 
791 #define SDL_ECC_R5F_MEM_SUBTYPE_DDATA_RAM3_VECTOR_ID (SDL_MCU_R5FSS0_CPU0_DDATA_RAM3_RAM_ID)
792 
793 #define SDL_ECC_R5F_MEM_SUBTYPE_DDATA_RAM4_VECTOR_ID (SDL_MCU_R5FSS0_CPU0_DDATA_RAM4_RAM_ID)
794 
795 #define SDL_ECC_R5F_MEM_SUBTYPE_DDATA_RAM5_VECTOR_ID (SDL_MCU_R5FSS0_CPU0_DDATA_RAM5_RAM_ID)
796 
797 #define SDL_ECC_R5F_MEM_SUBTYPE_DDATA_RAM6_VECTOR_ID (SDL_MCU_R5FSS0_CPU0_DDATA_RAM6_RAM_ID)
798 
799 #define SDL_ECC_R5F_MEM_SUBTYPE_DDATA_RAM7_VECTOR_ID (SDL_MCU_R5FSS0_CPU0_DDATA_RAM7_RAM_ID)
800 
801 #endif
802 
803 #if defined (SOC_J721S2) || defined (SOC_J784S4)
804 
805 /* The following are the memory sub type for Memory type
806  SDL_ECC_MEMTYPE_MCU_R5F0_CORE & SDL_ECC_MEMTYPE_MCU_R5F1_CORE */
807 /* Keeping for backward-compatibility. Recommend to use RAM_ID directly from sdlr_soc_ecc_aggr.h file */
808 
810 #define SDL_ECC_R5F_MEM_SUBTYPE_ATCM0_BANK0_VECTOR_ID (SDL_MCU_R5FSS0_PULSAR_SL_CPU0_ECC_AGGR_PULSAR_SL_ATCM0_BANK0_RAM_ID)
811 
812 #define SDL_ECC_R5F_MEM_SUBTYPE_ATCM0_BANK1_VECTOR_ID (SDL_MCU_R5FSS0_PULSAR_SL_CPU0_ECC_AGGR_PULSAR_SL_ATCM0_BANK1_RAM_ID)
813 
814 #define SDL_ECC_R5F_MEM_SUBTYPE_B0TCM0_BANK0_VECTOR_ID (SDL_MCU_R5FSS0_PULSAR_SL_CPU0_ECC_AGGR_PULSAR_SL_B0TCM0_BANK0_RAM_ID)
815 
816 #define SDL_ECC_R5F_MEM_SUBTYPE_B0TCM0_BANK1_VECTOR_ID (SDL_MCU_R5FSS0_PULSAR_SL_CPU0_ECC_AGGR_PULSAR_SL_B0TCM0_BANK1_RAM_ID)
817 
818 #define SDL_ECC_R5F_MEM_SUBTYPE_B1TCM0_BANK0_VECTOR_ID (SDL_MCU_R5FSS0_PULSAR_SL_CPU0_ECC_AGGR_PULSAR_SL_B1TCM0_BANK0_RAM_ID)
819 
820 #define SDL_ECC_R5F_MEM_SUBTYPE_B1TCM0_BANK1_VECTOR_ID (SDL_MCU_R5FSS0_PULSAR_SL_CPU0_ECC_AGGR_PULSAR_SL_B1TCM0_BANK1_RAM_ID)
821 
822 #define SDL_ECC_R5F_MEM_SUBTYPE_KS_VIM_RAM_VECTOR_ID (SDL_MCU_R5FSS0_PULSAR_SL_CPU0_ECC_AGGR_CPU0_KS_VIM_RAMECC_RAM_ID)
823 
824 #define SDL_ECC_R5F_MEM_SUBTYPE_ITAG_RAM0_VECTOR_ID (SDL_MCU_R5FSS0_PULSAR_SL_CPU0_ECC_AGGR_CPU0_ITAG_RAM0_RAM_ID)
825 
826 #define SDL_ECC_R5F_MEM_SUBTYPE_ITAG_RAM1_VECTOR_ID (SDL_MCU_R5FSS0_PULSAR_SL_CPU0_ECC_AGGR_CPU0_ITAG_RAM1_RAM_ID)
827 
828 #define SDL_ECC_R5F_MEM_SUBTYPE_ITAG_RAM2_VECTOR_ID (SDL_MCU_R5FSS0_PULSAR_SL_CPU0_ECC_AGGR_CPU0_ITAG_RAM2_RAM_ID)
829 
830 #define SDL_ECC_R5F_MEM_SUBTYPE_ITAG_RAM3_VECTOR_ID (SDL_MCU_R5FSS0_PULSAR_SL_CPU0_ECC_AGGR_CPU0_ITAG_RAM3_RAM_ID)
831 
832 #define SDL_ECC_R5F_MEM_SUBTYPE_IDATA_BANK0_VECTOR_ID (SDL_MCU_R5FSS0_PULSAR_SL_CPU0_ECC_AGGR_CPU0_IDATA_BANK0_RAM_ID)
833 
834 #define SDL_ECC_R5F_MEM_SUBTYPE_IDATA_BANK1_VECTOR_ID (SDL_MCU_R5FSS0_PULSAR_SL_CPU0_ECC_AGGR_CPU0_IDATA_BANK1_RAM_ID)
835 
836 #define SDL_ECC_R5F_MEM_SUBTYPE_IDATA_BANK2_VECTOR_ID (SDL_MCU_R5FSS0_PULSAR_SL_CPU0_ECC_AGGR_CPU0_IDATA_BANK2_RAM_ID)
837 
838 #define SDL_ECC_R5F_MEM_SUBTYPE_IDATA_BANK3_VECTOR_ID (SDL_MCU_R5FSS0_PULSAR_SL_CPU0_ECC_AGGR_CPU0_IDATA_BANK3_RAM_ID)
839 
840 #define SDL_ECC_R5F_MEM_SUBTYPE_DTAG_RAM0_VECTOR_ID (SDL_MCU_R5FSS0_PULSAR_SL_CPU0_ECC_AGGR_CPU0_DTAG_RAM0_RAM_ID)
841 
842 #define SDL_ECC_R5F_MEM_SUBTYPE_DTAG_RAM1_VECTOR_ID (SDL_MCU_R5FSS0_PULSAR_SL_CPU0_ECC_AGGR_CPU0_DTAG_RAM1_RAM_ID)
843 
844 #define SDL_ECC_R5F_MEM_SUBTYPE_DTAG_RAM2_VECTOR_ID (SDL_MCU_R5FSS0_PULSAR_SL_CPU0_ECC_AGGR_CPU0_DTAG_RAM2_RAM_ID)
845 
846 #define SDL_ECC_R5F_MEM_SUBTYPE_DTAG_RAM3_VECTOR_ID (SDL_MCU_R5FSS0_PULSAR_SL_CPU0_ECC_AGGR_CPU0_DTAG_RAM3_RAM_ID)
847 
848 #define SDL_ECC_R5F_MEM_SUBTYPE_DDIRTY_RAM_VECTOR_ID (SDL_MCU_R5FSS0_PULSAR_SL_CPU0_ECC_AGGR_CPU0_DDIRTY_RAM_RAM_ID)
849 
850 #define SDL_ECC_R5F_MEM_SUBTYPE_DDATA_RAM0_VECTOR_ID (SDL_MCU_R5FSS0_PULSAR_SL_CPU0_ECC_AGGR_CPU0_DDATA_RAM0_RAM_ID)
851 
852 #define SDL_ECC_R5F_MEM_SUBTYPE_DDATA_RAM1_VECTOR_ID (SDL_MCU_R5FSS0_PULSAR_SL_CPU0_ECC_AGGR_CPU0_DDATA_RAM1_RAM_ID)
853 
854 #define SDL_ECC_R5F_MEM_SUBTYPE_DDATA_RAM2_VECTOR_ID (SDL_MCU_R5FSS0_PULSAR_SL_CPU0_ECC_AGGR_CPU0_DDATA_RAM2_RAM_ID)
855 
856 #define SDL_ECC_R5F_MEM_SUBTYPE_DDATA_RAM3_VECTOR_ID (SDL_MCU_R5FSS0_PULSAR_SL_CPU0_ECC_AGGR_CPU0_DDATA_RAM3_RAM_ID)
857 
858 #define SDL_ECC_R5F_MEM_SUBTYPE_DDATA_RAM4_VECTOR_ID (SDL_MCU_R5FSS0_PULSAR_SL_CPU0_ECC_AGGR_CPU0_DDATA_RAM4_RAM_ID)
859 
860 #define SDL_ECC_R5F_MEM_SUBTYPE_DDATA_RAM5_VECTOR_ID (SDL_MCU_R5FSS0_PULSAR_SL_CPU0_ECC_AGGR_CPU0_DDATA_RAM5_RAM_ID)
861 
862 #define SDL_ECC_R5F_MEM_SUBTYPE_DDATA_RAM6_VECTOR_ID (SDL_MCU_R5FSS0_PULSAR_SL_CPU0_ECC_AGGR_CPU0_DDATA_RAM6_RAM_ID)
863 
864 #define SDL_ECC_R5F_MEM_SUBTYPE_DDATA_RAM7_VECTOR_ID (SDL_MCU_R5FSS0_PULSAR_SL_CPU0_ECC_AGGR_CPU0_DDATA_RAM7_RAM_ID)
865 
866 #endif
867 
869 typedef void (*SDL_ECC_ErrorCallback_t) (uint32_t errorSrc, uint32_t address);
870 
872 typedef void (*SDL_ECC_VIMDEDVector_t) (void);
873 
885 typedef struct SDL_ECC_InitConfig_s
886 {
887  uint32_t numRams;
893 
898 typedef struct SDL_ECC_InjectErrorConfig_s
899 {
900  uint32_t *pErrMem;
902  uint64_t errMem64;
904  uint32_t flipBitMask;
909  uint32_t chkGrp;
911  uint16_t bit1;
916  uint16_t bit2;
923 
928 typedef struct SDL_ECC_ErrorInfo_s
929 {
936  uint32_t bitErrCnt;
938  uint32_t injectBitErrCnt;
940  uint32_t bitErrorGroup;
942  uint64_t bitErrorOffset;
949  uint32_t errRow;
951  uint32_t errBit1;
954 
970 int32_t SDL_ECC_initEsm (const SDL_ESM_Inst esmInstType);
971 
981 int32_t SDL_ECC_init (SDL_ECC_MemType eccMemType,
982  const SDL_ECC_InitConfig_t *pECCInitConfig);
983 
994 int32_t SDL_ECC_initMemory (SDL_ECC_MemType eccMemType,
995  SDL_ECC_MemSubType memSubType);
996 
1010 int32_t SDL_ECC_selfTest(SDL_ECC_MemType eccMemType,
1011  SDL_ECC_MemSubType memSubType,
1012  SDL_ECC_InjectErrorType errorType,
1013  const SDL_ECC_InjectErrorConfig_t *pECCErrorConfig,
1014  uint32_t selfTestTimeOut);
1015 
1028 int32_t SDL_ECC_injectError(SDL_ECC_MemType eccMemType,
1029  SDL_ECC_MemSubType memSubType,
1030  SDL_ECC_InjectErrorType errorType,
1031  const SDL_ECC_InjectErrorConfig_t *pECCErrorConfig);
1032 
1042 int32_t SDL_ECC_getStaticRegisters(SDL_ECC_MemType eccMemType,
1043  SDL_ECC_staticRegs *pStaticRegs);
1044 
1056 int32_t SDL_ECC_getErrorInfo(SDL_ECC_MemType eccMemType,
1057  SDL_Ecc_AggrIntrSrc intrSrc,
1058  SDL_ECC_ErrorInfo_t *pErrorInfo);
1059 
1069 int32_t SDL_ECC_ackIntr(SDL_ECC_MemType eccMemType,
1070  SDL_Ecc_AggrIntrSrc intrSrc);
1071 
1085 int32_t SDL_ECC_getESMErrorInfo(SDL_ESM_Inst instance, uint32_t intSrc,
1086  SDL_ECC_MemType *eccMemType, SDL_Ecc_AggrIntrSrc *intrSrcType);
1087 
1101 int32_t SDL_ECC_clearNIntrPending(SDL_ECC_MemType eccMemType, SDL_ECC_MemSubType memSubType,
1102  SDL_Ecc_AggrIntrSrc intrSrc,
1103  SDL_Ecc_AggrEDCErrorSubType subType, uint32_t numEvents);
1104 
1116 
1135  uint32_t errorSrc,
1136  uint32_t address,
1137  uint32_t ramId,
1138  uint64_t bitErrorOffset,
1139  uint32_t bitErrorGroup);
1140 
1143 #ifdef __cplusplus
1144 }
1145 #endif /* extern "C" */
1146 
1147 #endif /* INCLUDE_SDL_ECC_H_ */
SDL_ECC_AggregatorType
This enumerator defines the different ECC aggregator types.
Definition: sdl_ecc.h:112
int32_t SDL_ECC_init(SDL_ECC_MemType eccMemType, const SDL_ECC_InitConfig_t *pECCInitConfig)
Initializes ECC module for ECC detection.
SDL_ESM_Inst
Defines the different ESM instance types.
Definition: ip/sdl_esm.h:169
int32_t SDL_ECC_initMemory(SDL_ECC_MemType eccMemType, SDL_ECC_MemSubType memSubType)
Initializes Memory to be ready for ECC error detection. Assumes ECC is already enabled.
uint32_t SDL_Ecc_AggrEDCErrorSubType
This enumerator defines the types of possible EDC errors.
Definition: sdl_ip_ecc.h:198
uint32_t errBit1
Definition: sdl_ecc.h:951
int32_t SDL_ECC_getESMErrorInfo(SDL_ESM_Inst instance, uint32_t intSrc, SDL_ECC_MemType *eccMemType, SDL_Ecc_AggrIntrSrc *intrSrcType)
Retrieves the ECC error information for the specified ESM error. If it isn't an ECC error or the ECC ...
uint32_t bitErrorGroup
Definition: sdl_ecc.h:940
SDL_ECC_MemSubType memSubType
Definition: sdl_ecc.h:932
void SDL_ECC_applicationCallbackFunction(SDL_ECC_MemType eccMemType, uint32_t errorSrc, uint32_t address, uint32_t ramId, uint64_t bitErrorOffset, uint32_t bitErrorGroup)
Application provided external callback function for ECC handling Called inside the reference function...
uint32_t chkGrp
Definition: sdl_ecc.h:909
This structure defines the inject error configuration.
Definition: sdl_ecc.h:898
int32_t SDL_ECC_initEsm(const SDL_ESM_Inst esmInstType)
Initializes an module for usage with ECC module.
SDL_Ecc_AggrIntrSrc intrSrc
Definition: sdl_ecc.h:934
int32_t SDL_ECC_injectError(SDL_ECC_MemType eccMemType, SDL_ECC_MemSubType memSubType, SDL_ECC_InjectErrorType errorType, const SDL_ECC_InjectErrorConfig_t *pECCErrorConfig)
Injects ECC error at specified location Assumes ECC is already enabled.
Definition: sdl_ecc.h:115
This structure contains the static register group for Ecc aggregator used by the SDL_ecc_aggrReadStat...
Definition: sdl_ip_ecc.h:360
uint32_t numRams
Definition: sdl_ecc.h:887
This structure defines the error status information.
Definition: sdl_ecc.h:928
SDL_ECC_RamIdType
This enumerator defines the different ECC RAM ID types.
Definition: sdl_ecc.h:150
uint32_t SDL_ECC_MemType
This enumerator indicate ECC memory type.
Definition: sdl_ecc.h:169
int32_t SDL_ECC_getErrorInfo(SDL_ECC_MemType eccMemType, SDL_Ecc_AggrIntrSrc intrSrc, SDL_ECC_ErrorInfo_t *pErrorInfo)
Retrieves the ECC error information for the specified memtype and interrupt source.
SDL_ECC_MemSubType * pMemSubTypeList
Definition: sdl_ecc.h:890
uint64_t bitErrorOffset
Definition: sdl_ecc.h:942
void SDL_ECC_registerVIMDEDHandler(SDL_ECC_VIMDEDVector_t VIMDEDHandler)
Register Handler for VIM DED ECC error.
This structure defines the elements of ECC Init configuration.
Definition: sdl_ecc.h:885
int32_t SDL_ECC_ackIntr(SDL_ECC_MemType eccMemType, SDL_Ecc_AggrIntrSrc intrSrc)
Acknowledge the ECC interrupt.
uint16_t bit2
Definition: sdl_ecc.h:916
Definition: sdl_ecc.h:151
uint32_t flipBitMask
Definition: sdl_ecc.h:904
int32_t SDL_ECC_selfTest(SDL_ECC_MemType eccMemType, SDL_ECC_MemSubType memSubType, SDL_ECC_InjectErrorType errorType, const SDL_ECC_InjectErrorConfig_t *pECCErrorConfig, uint32_t selfTestTimeOut)
Runs self test by injecting and error and monitor response Assumes ECC is already enabled.
uint64_t errMem64
Definition: sdl_ecc.h:902
void(* SDL_ECC_VIMDEDVector_t)(void)
Definition: sdl_ecc.h:872
Header file contains enumerations, structure definitions and function declarations for SDL Error Sign...
uint32_t * pErrMem
Definition: sdl_ecc.h:900
uint32_t SDL_ECC_MemSubType
This enumerator indicate ECC memory Sub Type.
Definition: sdl_ecc.h:671
SDL_ECC_MemType eccMemType
Definition: sdl_ecc.h:930
int32_t SDL_ECC_clearNIntrPending(SDL_ECC_MemType eccMemType, SDL_ECC_MemSubType memSubType, SDL_Ecc_AggrIntrSrc intrSrc, SDL_Ecc_AggrEDCErrorSubType subType, uint32_t numEvents)
Clears N pending interrupts for the specified memtype, subtype and interrupt source.
Definition: sdl_ecc.h:113
Definition: sdl_ecc.h:126
uint32_t SDL_Ecc_AggrIntrSrc
This enumerator defines the types of possible ECC errors.
Definition: sdl_ip_ecc.h:106
int32_t SDL_ECC_getStaticRegisters(SDL_ECC_MemType eccMemType, SDL_ECC_staticRegs *pStaticRegs)
Gets the static registers for the specified ECC instance.
uint32_t bitErrCnt
Definition: sdl_ecc.h:936
Definition: sdl_ecc.h:153
void(* SDL_ECC_ErrorCallback_t)(uint32_t errorSrc, uint32_t address)
Definition: sdl_ecc.h:869
uint32_t errRow
Definition: sdl_ecc.h:949
SDL_ECC_InjectErrorType
ECC Inject error types.
Definition: sdl_ecc.h:124
uint32_t injectBitErrCnt
Definition: sdl_ecc.h:938
uint16_t bit1
Definition: sdl_ecc.h:911