4.5 SYSREG Control Registers

The System Control registers control eNVM behavior. These registers are located in the SYSREG section and are listed in the following tables for clarity. For more information on each register and bit, see Embedded NVM (eNVM) Controllers.

Table 4-11. SYSREG Control Registers
Register NameRegister TypeFlash Write ProtectReset SourceDescription
Table 4-12 (0x4003800C)RW-PRegistersysreset_neNVM Configuration register.
Table 4-14
(0x40038010)RW-PRegistersysreset_neNVM remap Configuration register for the Cortex®-M3 processor.
Table 4-15
(0x40038014)RW-PRegistersysreset_neNVM remap configuration register for a soft processor in the FPGA.
Table 4-16
(0x40038144)RO-UN/Asysreset_nConfiguration for accessibility of protected regions of eNVM_0 and eNVM_1 by different masters on the AHB bus matrix. This register gets updated by Flash bit configuration set during device programming. This configuration can be done through the System Builder using settings on the Security tab.
Table 4-17 
(0x40038148)RO-UN/Asysreset_nCode shadow Status register.
Table 4-18
(0x40038158)RON/Asysreset_nIndicates busy status for eNVM_0 and eNVM_1.
Table 4-12. ENVM_CR
Bit NumberNameReset ValueDescription
[31:17]Reserved0
16ENVM_SENSE_ON0Turns On or Off the sense amps for both NVM0 and NVM1.

The sense amp switching feature is useful to decrease the eNVM access time.

0: Normal Operation - The sense amp turns Off after every read cycle if an idle cycle follows. This saves power but slightly increases access time on the next read cycle.

1: The sense amp is turned ON. This increases power but decreases access times.

15ENVM_PERSIST0Reset control for NVM0 and NVM1.

0: NVM0, NVM1 will get reset on SYSRESET_N and PORESET_N.

1: NVM0, NVM1 will get reset on PORESET_N.

14NV_DPD10Deep power-down control for NVM1.

0: Normal operation

1: NVM deep power-down

13NV_DPD00Deep power-down control for NVM0.

0: Normal operation

1: NVM deep power-down

[12:5]NV_FREQRNG0x7Setting of NV_FREQRNG[8:5] or NV_FREQRNG[12:9] determines the behavior of eNVM BUSY_B with respect to the AHB Bus interface clock. It can be used to accommodate various frequencies of the external interface clock, M3_CLK, or it can be used to advance or delay the data capture due to variation of read access time of the NVM core. It sets the number of wait states to match with the Cortex®-M3 or Fabric master operating frequency for read operations. The small counter in the NVM Controller uses this value to advance or delay the data capture before sampling data.

0000: Not Supported

0001: Not Supported

0010: Page Read = 3, All other modes (Page program and Page verify) = 2

0011: Page Read = 4, All other modes (Page program and Page verify) = 2

0100: Page Read = 5, All other modes (Page program and Page verify) = 2

0101: Page Read = 6, All other modes (Page program and Page verify) = 3

0110: Page Read = 7, All other modes (Page program and Page verify) = 3

0111: Page Read = 8, All other modes (Page program and Page verify) = 4

1000: Page Read = 9, All other modes (Page program and Page verify) = 4

1001: Page Read = 10, All other modes (Page program and Page verify) = 4

1010: Page Read = 11, All other modes (Page program and Page verify) = 5

1011: Page Read = 12, All other modes (Page program and Page verify) = 5

1100: Page Read = 13, All other modes (Page program and Page verify) = 6

1101: Page Read = 14, All other modes (Page program and Page verify) = 6

1110: Page Read = 15, All other modes (Page program and Page verify) = 6

1111: Page Read = 16, All other modes (Page program and Page verify) = 7

NV_FREQRNG[8:5] is used for NVM0 and NV_FREQRNG[12:9] is used for NVM1.

4:0SW_ENVMREMAPSIZE0x11Size of the segment in eNVM, which is to be remapped to location 0x00000000. This logically splits eNVM into a number of segments, each of which may be used to store a different firmware image, for example. The region sizes are shown in Table 4-13.
Table 4-13. SW_ENVMREMAPSIZE
Bit 4Bit 3Bit 2Bit 1Bit 0Remap Size
00000Reserved
00001Reserved
00010Reserved
00011Reserved
00100Reserved
00101Reserved
00110Reserved
00111Reserved
01000Reserved
01001Reserved
01010Reserved
01011Reserved
01100Reserved
0110116 KB
0111032 KB
0111164 KB
10000128 KB
10001256 KB
10010512 KB, reset value
Table 4-14. ENVM_REMAP_BASE_CR
Bit NumberNameReset ValueDescription
[31:19]Reserved0Reserved.
[18:1]SW_ENVMREMAPBASE0Offset address of eNVM for remapping.

SW_ENVMREMAPBASE indicates the offset within eNVM address space of the base address of the segment in eNVM, which is to be remapped to the location 0x00000000.

Bit 0 of this register is defined as SW_ENVMREMAPENABLE and must be set to get the remapping done with new addresses filled in this register.

0SW_ENVMREMAPENABLE00: eNVM remap not enabled. Bottom of eNVM is mapped to address 0x00000000.

1: eNVM remap enabled. eNVM visible at 0x00000000 is a remapped segment of the eNVM.

Table 4-15. ENVM_REMAP_FAB_CR
Bit NumberNameReset ValueDescription
[31:19]Reserved0
[18:1]SW_ENVMFABREMAPBASE0Offset within eNVM address space of the base address of the segment in eNVM, which is to be remapped to location 0x00000000 for use by a soft processor in the FPGA fabric. The base address of the remapped segment of eNVM is determined by the value of this register. Bit 0 of this register is defined as SW_ENVMFABREMAPENABLE. Bit 0 must be set to remap the NVM.
0SW_ENVMFABREMAPENABLE00: eNVM fabric remap not enabled for access by fabric master/soft processor. The portion of eNVM visible in the eNVM window at location 0x00000000 of a soft processor’s memory space corresponds to the memory locations at the bottom of eNVM.

1: eNVM fabric remap enabled. The portion of eNVM visible at location 0x00000000 of a soft processor’s memory space of is a remapped segment of eNVM.

Table 4-16. ENVM_PROTECT_USER
Bit NumberNameReset ValueDescription
[31:16]Reserved0
15NVM1_UPPER_WRITE_ALLOWED0x1When set indicates that the masters who have read access can have write access to the upper protection region of eNVM1. This is updated by the user Flash row bit.
14NVM1_UPPER_OTHERS_ACCESS0x1When set indicates that the other masters can access the upper protection region of eNVM1. This is set by the user Flash row bit.
13NVM1_UPPER_FABRIC_ACCESS0x1When set indicates that the fabric can access the upper protection region of eNVM1. This is set by the user Flash row bit.
12NVM1_UPPER_M3ACCESS0x1When this bit is set, it indicates that the Cortex®-M3 processor can access the upper protection region of eNVM1. This is updated by the user Flash row bit.
11NVM1_LOWER_WRITE_ALLOWED0x1When set indicates that the masters who have read access can have write access to the lower protection region of eNVM1. This is set by the user Flash row bit.
10NVM1_LOWER_OTHERS_ACCESS0x1When set indicates that the other masters can access the lower protection region of eNVM1. This is set by the user Flash row bit.
9NVM1_LOWER_FABRIC_ACCESS0x1When set indicates that the fabric can access the lower protection region of eNVM1. This is set by user Flash row bit.
8NVM1_LOWER_M3ACCESS0x1When this bit is set, it indicates that the M3 can access the lower protection region of eNVM1. This will be set by the user Flash row bit.
7NVM0_UPPER_WRITE_ALLOWED0x1When set indicates that the masters who have read access can have write access to the upper protection region of eNVM0. This will be set by the user Flash row bit.
6NVM0_UPPER_OTHERS_ACCESS0x1When set indicates that the other masters can access the upper protection region of eNVM0.
5NVM0_UPPER_FABRIC_ACCESS0x1When set indicates that the fabric can access the upper protection region of eNVM0. This will be set by the user Flash row bit.
4NVM0_UPPER_M3ACCESS0x1When this bit is set, it indicates that the M3 can access the upper protection region of eNVM0. This will be set by the user Flash row bit.
3NVM0_LOWER_WRITE_ALLOWED0x1When set indicates that the masters who have read access can have write access to the lower protection region of eNVM0. This will be set by the user Flash row bit.
2NVM0_LOWER_OTHERS_ACCESS0x1When set indicates that the other masters can access the lower protection region of eNVM0. This will be set by the user Flash row bit.
1NVM0_LOWER_FABRIC_ACCESS0x1When set indicates that the fabric can access the lower protection region of eNVM0. This will be set by the user Flash row bit.
0NVM0_LOWER_M3ACCESS0x1When this bit is set, it indicates that the M3 can access the lower protection region of eNVM0. This will be set by the user Flash row bit.
Important: For information on different masters, see Table 4-7.
Table 4-17. ENVM_STATUS
Bit NumberNameReset ValueDescription
[31:1]Reserved0
0CODE_SHADOW_EN0Read by the system controller during device start-up, to indicate whether the user has configured the device such that code shadowing is to be performed by system controller firmware.
Table 4-18. ENVM_SR
Bit NumberNameReset ValueDescription
[31:2]Reserved0
[1:0]ENVM_BUSY0Active high signals indicate a busy state per eNVM for CLK-driven operations and for internal operations triggered by the program/transfer command.

ENVM_BUSY[1] = Busy indication from ENVM1

ENVM_BUSY[0] = Busy indication from ENVM0