ELM
7.4.4 Basic Programming Model
7.4.4.1
ELM Low Level Programming Model
7.4.4.1.1 Processing Initialization
Table 7-168. ELM Processing Initialization
Step
Register/ Bit Field / Programming Model
Value
Resets the module
ELM_SYSCONFIG[1] SOFTRESET
0x1
Wait until reset is done.
ELM_SYSSTATUS[0] RESETDONE
0x1
Configure the slave interface power management.
ELM_SYSCONFIG[4:3] SIDLEMODE
Set value
Defines the error-correction level used
ELM_LOCATION_CONFIG[1:0] ECC_BCH_LEVEL
Set value
Defines the maximum buffer length
ELM_LOCATION_CONFIG[26:16] ECC_SIZE
Set value
Sets the ELM in continuous mode or page mode
ELM_PAGE_CTRL
Set value
If continuous mode is used
All ELM_PAGE_CTRL[i] SECTOR_i (i = 0 to 7)
0x0
Enables interrupt for syndrome polynomial i
ELM_IRQENABLE[i] LOCATION_MASK_i
0x1
else (page mode is used)
One syndrome polynomial i is set ELM_PAGE_CTRL[i]
0x1
SECTOR_i (i = 0 to 7)
Disable all interrupts for syndrome polynomial and
All ELM_IRQENABLE[i] LOCATION_MASK_i = 0x0 and
Set value
enable PAGE_MASK interrupt.
ELM_IRQENABLE[8] PAGE_MASK = 0x1
endif
Set value
Set the input syndrome polynomial i.
ELM_SYNDROME_FRAGMENT_0_i
Set value
ELM_SYNDROME_FRAGMENT_1_i
Set value
ELM_SYNDROME_FRAGMENT_5_i
Set value
ELM_SYNDROME_FRAGMENT_6_i
Set value
Initiates the computation process
ELM_SYNDROME_FRAGMENT_6_i[16]
0x1
SYNDROME_VALID
7.4.4.1.2 Read Results
The engine goes through the entire error-location process and results can be read.
and
describe the processing completion for continuous and page modes, respectively.
Table 7-169. ELM Processing Completion for Continuous Mode
Step
Register/ Bit Field / Programming Model
Value
Wait until process is complete for syndrome
polynomial i:
Wait until the ELM_IRQ interrupt is generated, or
poll the status register.
Read for which i the error-location process is
ELM_IRQSTATUS[i] LOC_VALID_i
0x1
complete.
if the process fails (too many errors)
ELM_LOCATION_STATUS_i[8] ECC_CORRECTABLE
0x0
It is software dependant.
else (process successful, the engine completes)
ELM_LOCATION_STATUS_i[8] ECC_CORRECTABLE
0x1
Read the number of errors.
ELM_LOCATION_STATUS_i[4:0] ECC_NB_ERRORS
Read the error-location bit addresses for syndrome
ELM_ERROR_LOCATION_0_i[12:0]
polynomial i of the ECC_NB_ERRORS first
ECC_ERROR_LOCATION
registers.
ELM_ERROR_LOCATION_1_i[12:0]
It is the software responsibility to correct errors in
ECC_ERROR_LOCATION
the data buffer.
...
ELM_ERROR_LOCATION_15_i[12:0]
ECC_ERROR_LOCATION
481
SPRUH73H – October 2011 – Revised April 2013
Memory Subsystem
Copyright © 2011–2013, Texas Instruments Incorporated