| |||
| Home > Programmer’s Model > Register descriptions > ECC Configuration Register | |||
The ecc_memcfg Register is read-write and contains information about the structure of the memory. See Error Correction Code operation for more information about the settings in this register. Figure 3.21 shows the register bit assignments.
Table 3.17 lists the register bit assignments.
Table 3.17. ecc_memcfg Register bit assignments
| Bits | Name | Function |
|---|---|---|
| [31:13] | - | Reserved, read undefined |
| [12:11] | ecc_extra_block_size | The size of the extra block in memory after the last 512 block: b00 = 4 bytes b01 = 8 bytes b10 = 16 bytes b11 = 32 bytes. NoteThese bits are only present if you configure the SMC to use the ECC Extra Block Enable option. See the AMBA Designer (FD001) PrimeCell Static Memory Controller (PL350 series) User Guide Supplement for information about enabling this option. |
| [10] | ecc_extra_block | If configured, this enables a small block for extra information after the last 512 bytes block in the page. NoteThese bits are only present if the ECC Extra Block Enable option is configured. |
| [9] | ecc_int_abort | Interrupt on ECC abort. |
| [8] | ecc_int_pass | Interrupt when a correct ECC value is read from memory. |
| [7] | ecc_ignore_add_eight | This bit is used to indicate if A8 is output with the address, required to find the aligned start of blocks: 0 = A8 is output 1 = A8 is not output. |
| [6:5] | ecc_jump | Indicates that the memory supports column change address commands: b00 = no jumping, reads and writes only occur at end of page b01 = jump using column change commands b10 = jump using full command b11 = reserved. |
| [4] | ecc_read_end | Indicates when ECC values are read from memory: 0 = the ECC value for a block must be read immediately after the block. Data access must stop on a 512 byte boundary. 1 = ECC values for all blocks are read at the end of the page. |
| [3:2] | ecc_mode | This specifies the mode of the ECC block: b00 = bypassed. b01 = ECC values are calculated and made available on the APB interface. But they are not read to or written from memory. b10 = ECC values and calculated and read/written to memory. For a read, the ECC value is checked and the result of the check is made available on the APB interface. b11 = reserved. |
| [1:0] | page_size | The number of 512 byte blocks in a page: b00 = No 512 byte blocks. Reserved if an ecc_extra_block is not configured and enabled. b01 = One 512 byte block. b10 = Two 512 byte blocks. b11 = Four 512 byte blocks. |
You must not write to this register while the ECC block is busy. You can read the current ECC block status from the ECC Status Register.