The 18 registers of NVMCTRL (Non-Volatile Memory Controller), from 0x41004000, with their reset value and every field. The ATSAML10E16A has 962 registers in 39 peripherals, one page each.
NVMCTRL Non-Volatile Memory Controller
CTRLAControl A
Address
0x41004000
Reset
0x0000
Access
write only
Size
16-bit
2 fields
Field
Bits
What it does
CMDEX
15:8
Command Execution
165 Execution Key
CMD
6:0
Command
2 Erase Row - Erases the row addressed by the ADDR register.
4 Write Page - Writes the contents of the page buffer to the page addressed by the ADDR register.
66 Sets the power reduction mode.
67 Clears the power reduction mode.
68 Page Buffer Clear - Clears the page buffer.
70 Invalidate all cache lines.
75 Set DAL=0
CTRLBControl B
Address
0x41004004
Reset
0x00000000
Access
read/write
Size
32-bit
5 fields
Field
Bits
What it does
CACHEDIS
18
Cache Disable
READMODE
17:16
NVMCTRL Read Mode
0 The NVM Controller (cache system) does not insert wait states on a cache miss. Gives the best system performance.
1 Reduces power consumption of the cache system, but inserts a wait state each time there is a cache miss. This mode may not be relevant if CPU performance is required, as the application will be stalled and may lead to increase run time.
2 The cache system ensures that a cache hit or miss takes the same amount of time, determined by the number of programmed flash wait states. This mode can be used for real-time applications that require deterministic execution timings.
FWUP
11
fast wake-up
SLEEPPRM
9:8
Power Reduction Mode during Sleep
0 NVM block enters low-power mode when entering sleep.NVM block exits low-power mode upon first access.
1 NVM block enters low-power mode when entering sleep.NVM block exits low-power mode when exiting sleep.
3 Auto power reduction disabled.
RWS
4:1
NVM Read Wait States
CTRLCControl C
Address
0x41004008
Reset
0x01
Access
read/write
7–
6–
5–
4–
3–
2–
1–
0MANW
1 field
Field
Bits
What it does
MANW
0
Manual Write
EVCTRLEvent Control
Address
0x4100400A
Reset
0x00
Access
read/write
7–
6–
5–
4–
3–
2–
1AUTOWINV
0AUTOWEI
2 fields
Field
Bits
What it does
AUTOWINV
1
Auto Write Event Polarity Inverted
AUTOWEI
0
Auto Write Event Enable
INTENCLRInterrupt Enable Clear
Address
0x4100400C
Reset
0x00
Access
read/write
7–
6–
5NSCHK
4KEYE
3NVME
2LOCKE
1PROGE
0DONE
6 fields
Field
Bits
What it does
NSCHK
5
NS configuration change detected Interrupt Clear
KEYE
4
Key Write Error Interrupt Clear
NVME
3
NVM Error Interrupt Clear
LOCKE
2
Lock Error Status Interrupt Clear
PROGE
1
Programming Error Status Interrupt Clear
DONE
0
NVM Done Interrupt Clear
INTENSETInterrupt Enable Set
Address
0x41004010
Reset
0x00
Access
read/write
7–
6–
5NSCHK
4KEYE
3NVME
2LOCKE
1PROGE
0DONE
6 fields
Field
Bits
What it does
NSCHK
5
NS configuration change detected Interrupt Enable
KEYE
4
Key Write Error Interrupt Enable
NVME
3
NVM Error Interrupt Enable
LOCKE
2
Lock Error Status Interrupt Enable
PROGE
1
Programming Error Status Interrupt Enable
DONE
0
NVM Done Interrupt Enable
INTFLAGInterrupt Flag Status and Clear
Address
0x41004014
Reset
0x00
Access
read/write
7–
6–
5NSCHK
4KEYE
3NVME
2LOCKE
1PROGE
0DONE
6 fields
Field
Bits
What it does
NSCHK
5
NS configuration change detected
KEYE
4
KEY Write Error
NVME
3
NVM Error
LOCKE
2
Lock Error Status
PROGE
1
Programming Error Status
DONE
0
NVM Done
STATUSStatus
Address
0x41004018
Reset
0x0000
Access
read only
Size
16-bit
4 fields
Field
Bits
What it does
DALFUSE
4:3
Debug Access Level Fuse
0 NO DEBUG
2 FULL DEBUG
READY
2
NVM Ready
LOAD
1
NVM Page Buffer Active Loading
PRM
0
Power Reduction Mode
ADDRAddress
Address
0x4100401C
Reset
0x00000000
Access
read/write
Size
32-bit
2 fields
Field
Bits
What it does
ARRAY
23:22
Array Select
0 FLASH Array
1 DATA FLASH Array
2 NVM Rows
AOFFSET
15:0
NVM Address Offset In The Selected Array
SULCKSecure Unlock Register
Address
0x41004020
Reset
0x0000
Access
read/write
Size
16-bit
4 fields
Field
Bits
What it does
SLKEY
15:8
Write Key
165 Write Key
DS
2
Data Secure Region
AS
1
Secure Application Region
BS
0
Secure Boot Region
NSULCKNon-Secure Unlock Register
Address
0x41004022
Reset
0x0000
Access
read/write
Size
16-bit
4 fields
Field
Bits
What it does
NSLKEY
15:8
Write Key
165 Write Key
DNS
2
Non-Secure Data Region
ANS
1
Non-Secure Application Region
BNS
0
Non-Secure Boot Region
PARAMNVM Parameter
Address
0x41004024
Reset
0x00000000
Access
read/write
Size
32-bit
3 fields
Field
Bits
What it does
PSZ
18:16
Page Size
0 8 bytes
1 16 bytes
2 32 bytes
3 64 bytes
4 128 bytes
5 256 bytes
6 512 bytes
7 1024 bytes
FLASHP
15:0
FLASH Pages
DFLASHP
31:20
DATAFLASH Pages
DSCCData Scramble Configuration
Address
0x41004030
Reset
0x00000000
Access
write only
Size
32-bit
1 field
Field
Bits
What it does
DSCKEY
29:0
Data Scramble Key
SECCTRLSecurity Control
Address
0x41004034
Reset
0x00000030
Access
read/write
Size
32-bit
6 fields
Field
Bits
What it does
TEROW
10:8
Tamper Rease Row
DXN
6
Data Flash is eXecute Never
DSCEN
3
Data Scramble Enable
SILACC
2
Silent Access
TAMPEEN
0
Tamper Erase Enable
KEY
31:24
Write Key
165 Write Key
SCFGBSecure Boot Configuration
Address
0x41004038
Reset
0x00000003
Access
read/write
Size
32-bit
2 fields
Field
Bits
What it does
BCWEN
1
Boot Configuration Row Write Enable
BCREN
0
Boot Configuration Row Read Enable
SCFGADSecure Application and Data Configuration
Address
0x4100403C
Reset
0x00000001
Access
read/write
Size
32-bit
1 field
Field
Bits
What it does
URWEN
0
User Row Write Enable
NONSECNon-secure Write Enable
Address
0x41004040
Reset
0x00000001
Access
read/write
Size
32-bit
1 field
Field
Bits
What it does
WRITE
0
Non-secure APB alias write enable, non-secure AHB writes to non-secure regions enable
NSCHKNon-secure Write Reference Value
Address
0x41004044
Reset
0x00000001
Access
read/write
Size
32-bit
1 field
Field
Bits
What it does
WRITE
0
Reference value to be checked against NONSEC.WRITE