RTEMS 6.1-rc6
Loading...
Searching...
No Matches
Macros | Functions

This source file contains the implementation of OCM ECC support. More...

#include <bsp.h>
#include <bsp/ecc_priv.h>
#include <bsp/irq.h>
#include <bsp/utility.h>
#include <libcpu/mmu-vmsav8-64.h>

Macros

#define OCM_ECC_CTRL   0x14
 
#define OCM_ECC_CTRL_FI_MODE   BSP_BIT32(2)
 
#define OCM_ECC_CTRL_DET_ONLY   BSP_BIT32(1)
 
#define OCM_ECC_CTRL_ECC_ON_OFF   BSP_BIT32(0)
 
#define OCM_IE   0xc
 
#define OCM_IE_UE_RMW   BSP_BIT32(10)
 
#define OCM_IE_UE   BSP_BIT32(7)
 
#define OCM_IE_CE   BSP_BIT32(6)
 
#define OCM_ERR_CTRL   0x0
 
#define OCM_ERR_CTRL_UE_RES   BSP_BIT32(3)
 
#define OCM_FI_D0   0x4c
 
#define OCM_FI_D1   0x50
 
#define OCM_FI_D2   0x54
 
#define OCM_FI_D3   0x58
 
#define OCM_FI_SY   0x5c
 
#define OCM_FI_SY_DATA(val)   BSP_FLD32(val, 0, 15)
 
#define OCM_FI_SY_DATA_GET(reg)   BSP_FLD32GET(reg, 0, 15)
 
#define OCM_FI_SY_DATA_SET(reg, val)   BSP_FLD32SET(reg, val, 0, 15)
 
#define OCM_FI_CNTR   0x74
 
#define OCM_FI_CNTR_COUNT(val)   BSP_FLD32(val, 0, 23)
 
#define OCM_FI_CNTR_COUNT_GET(reg)   BSP_FLD32GET(reg, 0, 23)
 
#define OCM_FI_CNTR_COUNT_SET(reg, val)   BSP_FLD32SET(reg, val, 0, 23)
 
#define OCM_IS   0x4
 
#define OCM_IS_UE_RMW   BSP_BIT32(10)
 
#define OCM_IS_UE   BSP_BIT32(7)
 
#define OCM_IS_CE   BSP_BIT32(6)
 
#define OCM_IM   0x8
 
#define OCM_IM_UE_RMW   BSP_BIT32(10)
 
#define OCM_IM_UE   BSP_BIT32(7)
 
#define OCM_IM_CE   BSP_BIT32(6)
 
#define OCM_CE_FFA   0x1c
 
#define OCM_CE_FFA_ADDR(val)   BSP_FLD32(val, 0, 17)
 
#define OCM_CE_FFA_ADDR_GET(reg)   BSP_FLD32GET(reg, 0, 17)
 
#define OCM_CE_FFA_ADDR_SET(reg, val)   BSP_FLD32SET(reg, val, 0, 17)
 
#define OCM_CE_FFD0   0x20
 
#define OCM_CE_FFD1   0x24
 
#define OCM_CE_FFD2   0x28
 
#define OCM_CE_FFD3   0x2c
 
#define OCM_CE_FFE   0x1c
 
#define OCM_CE_FFE_SYNDROME(val)   BSP_FLD32(val, 0, 15)
 
#define OCM_CE_FFE_SYNDROME_GET(reg)   BSP_FLD32GET(reg, 0, 15)
 
#define OCM_CE_FFE_SYNDROME_SET(reg, val)   BSP_FLD32SET(reg, val, 0, 15)
 
#define OCM_UE_FFA   0x34
 
#define OCM_UE_FFA_ADDR(val)   BSP_FLD32(val, 0, 17)
 
#define OCM_UE_FFA_ADDR_GET(reg)   BSP_FLD32GET(reg, 0, 17)
 
#define OCM_UE_FFA_ADDR_SET(reg, val)   BSP_FLD32SET(reg, val, 0, 17)
 
#define OCM_UE_FFD0   0x38
 
#define OCM_UE_FFD1   0x3c
 
#define OCM_UE_FFD2   0x40
 
#define OCM_UE_FFD3   0x44
 
#define OCM_UE_FFE   0x48
 
#define OCM_UE_FFE_SYNDROME(val)   BSP_FLD32(val, 0, 15)
 
#define OCM_UE_FFE_SYNDROME_GET(reg)   BSP_FLD32GET(reg, 0, 15)
 
#define OCM_UE_FFE_SYNDROME_SET(reg, val)   BSP_FLD32SET(reg, val, 0, 15)
 
#define OCM_RMW_UE_FFA   0x70
 
#define OCM_RMW_UE_FFA_ADDR(val)   BSP_FLD32(val, 0, 17)
 
#define OCM_RMW_UE_FFA_ADDR_GET(reg)   BSP_FLD32GET(reg, 0, 17)
 
#define OCM_RMW_UE_FFA_ADDR_SET(reg, val)   BSP_FLD32SET(reg, val, 0, 17)
 

Functions

void zynqmp_ocm_inject_fault (void)
 Injects an ECC fault in the On-Chip Memory (OCM)
 
rtems_status_code zynqmp_configure_ocm_ecc (void)
 Configure On-Chip Memory (OCM) ECC reporting.
 

Detailed Description

This source file contains the implementation of OCM ECC support.