SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
Table 17-101 lists the ECC configuration settings.
Step | Register/ Bit Field / Programming Model | Value |
---|---|---|
Before configuring the EMIF ECC registers, the ECC must be enabled from the Control Module | CTRL_WKUP_EMIF1_SDRAM_CONFIG_EXT [16] EMIF1_EN_ECC | 0x1 |
Configure the address ranges which have to be ECC protected | EMIF_ECC_ADDRESS_RANGE_1 and EMIF_ECC_ADDRESS_RANGE_2(1) | 0x- |
Enable the first ECC protected address range | EMIF_ECC_CTRL_REG[0] REG_ECC_ADDR_RGN_1_EN | 0x1 |
Enable the second ECC protected address range | EMIF_ECC_CTRL_REG[1] REG_ECC_ADDR_RGN_2_EN(1) | 0x1 |
Configure whether the EMIF accesses within the address ranges defined by EMIF_ECC_ADDRESS_RANGE_1 and EMIF_ECC_ADDRESS_RANGE_2 are ECC protected (=0x1) or the EMIF accesses outside these address ranges are ECC protected (=0x0). | EMIF_ECC_CTRL_REG[30] REG_ECC_ADDR_RGN_PROT | 0x- |
(Optional) Configure the thresholds to generate 1-bit error interrupt | EMIF_1B_ECC_ERR_THRSH | 0x- |
Enable ECC | EMIF_ECC_CTRL_REG[31] REG_ECC_EN | 0x1 |
Initialize the ECC protected memory regions with quanta-sized and quanta-aligned data | ||
Clear the status flags and other status history | EMIF_1B_ECC_ERR_CNT | Read the register value and write it back to clear |
EMIF_1B_ECC_ERR_DIST_1 | 0xFFFF FFFF | |
EMIF_2B_ECC_ERR_ADDR_LOG | 0x1 | |
EMIF_SYSTEM_OCP_INTERRUPT_STATUS [5:3] | 0x7 |
If ECC is used the following must be taken into account to avoid unexpected behavior and possible errors:
Software leveling is not recommended to be used. Hardware leveling must be used instead.