3.3.16. 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.

Figure 3.21. ecc_memcfg Register bit assignments

Table 3.17 lists the register bit assignments.

Table 3.17. ecc_memcfg Register bit assignments

BitsNameFunction
[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.

Note

These 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.

Note

These bits are only present if the ECC Extra Block Enable option is configured.

[9]ecc_int_abortInterrupt on ECC abort.
[8]ecc_int_passInterrupt 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.

See Secondary mode addressing.

[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.

Note

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.

Copyright © 2005-2007 ARM Limited. All rights reserved.ARM DDI 0380G
Non-Confidential