www.ti.com
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. Table 7-169 and
Table 7-170 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
Submit Documentation Feedback
Copyright © 2011–2013, Texas Instruments Incorporated