\n
address_offset : 0x0 Bytes (0x0)
size : 0x400 byte (0x0)
mem_usage : registers
protection : not protected
Control Register
address_offset : 0x0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
AES : AES Mode
bits : 0 - 0 (1 bit)
access : read-write
KEYBUFDIS : Key Buffer Disable
bits : 1 - 1 (1 bit)
access : read-write
SHA : SHA Mode
bits : 2 - 2 (1 bit)
access : read-write
NOBUSYSTALL : No Stalling of Bus When Busy
bits : 10 - 10 (1 bit)
access : read-write
INCWIDTH : Increment Width
bits : 14 - 15 (2 bit)
access : read-write
Enumeration:
0x00000000 : INCWIDTH1
Byte 15 in DATA1 is used for the increment function.
0x00000001 : INCWIDTH2
Bytes 14 and 15 in DATA1 are used for the increment function.
0x00000002 : INCWIDTH3
Bytes 13 to 15 in DATA1 are used for the increment function.
0x00000003 : INCWIDTH4
Bytes 12 to 15 in DATA1 are used for the increment function.
End of enumeration elements list.
DMA0MODE : DMA0 Read Mode
bits : 16 - 17 (2 bit)
access : read-write
Enumeration:
0x00000000 : FULL
Target register is fully read/written during every DMA transaction
0x00000001 : LENLIMIT
Length Limited. When the current length, i.e. LENGTHA or LENGTHB indicates that there are less bytes available than the register size, only length + necessary zero padding is read. Zero padding is automatically added when writing.
0x00000002 : FULLBYTE
Target register is fully read/written during every DMA transaction. Bytewise DMA.
0x00000003 : LENLIMITBYTE
Length Limited. When the current length, i.e. LENGTHA or LENGTHB indicates that there are less bytes available than the register size, only length + necessary zero padding is read. Bytewise DMA. Zero padding is automatically added when writing.
End of enumeration elements list.
DMA0RSEL : DMA0 Read Register Select
bits : 20 - 21 (2 bit)
access : read-write
Enumeration:
0x00000000 : DATA0
None
0x00000001 : DDATA0
None
0x00000002 : DDATA0BIG
None
0x00000003 : QDATA0
None
End of enumeration elements list.
DMA1MODE : DMA1 Read Mode
bits : 24 - 25 (2 bit)
access : read-write
Enumeration:
0x00000000 : FULL
Target register is fully read/written during every DMA transaction
0x00000001 : LENLIMIT
Length Limited. When the current length, i.e. LENGTHA or LENGTHB indicates that there are less bytes available than the register size, only length + 1 bytes + necessary zero padding is read. Zero padding is automatically added when writing.
0x00000002 : FULLBYTE
Target register is fully read/written during every DMA transaction. Bytewise DMA.
0x00000003 : LENLIMITBYTE
Length Limited. When the current length, i.e. LENGTHA or LENGTHB indicates that there are less bytes available than the register size, only length + 1 bytes + necessary zero padding is read. Bytewise DMA. Zero padding is automatically added when writing.
End of enumeration elements list.
DMA1RSEL : DATA0 DMA Unaligned Read Register Select
bits : 28 - 29 (2 bit)
access : read-write
Enumeration:
0x00000000 : DATA1
None
0x00000001 : DDATA1
None
0x00000002 : QDATA1
None
0x00000003 : QDATA1BIG
None
End of enumeration elements list.
COMBDMA0WEREQ : Combined Data0 Write DMA Request
bits : 31 - 31 (1 bit)
access : read-write
Status Register
address_offset : 0x10 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
SEQRUNNING : AES SEQUENCE Running
bits : 0 - 0 (1 bit)
access : read-only
INSTRRUNNING : Action is Active
bits : 1 - 1 (1 bit)
access : read-only
DMAACTIVE : DMA Action is Active
bits : 2 - 2 (1 bit)
access : read-only
DDATA0 Register Access
address_offset : 0x100 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
DDATA0 : Double Data 0 Access
bits : 0 - 31 (32 bit)
access : read-write
DDATA1 Register Access
address_offset : 0x104 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
DDATA1 : Double Data 0 Access
bits : 0 - 31 (32 bit)
access : read-write
DDATA2 Register Access
address_offset : 0x108 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
DDATA2 : Double Data 0 Access
bits : 0 - 31 (32 bit)
access : read-write
DDATA3 Register Access
address_offset : 0x10C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
DDATA3 : Double Data 0 Access
bits : 0 - 31 (32 bit)
access : read-write
DDATA4 Register Access
address_offset : 0x110 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
DDATA4 : Double Data 0 Access
bits : 0 - 31 (32 bit)
access : read-write
DDATA0 Register Big Endian Access
address_offset : 0x130 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
DDATA0BIG : Double Data 0 Big Endian Access
bits : 0 - 31 (32 bit)
access : read-write
Data Status Register
address_offset : 0x14 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
DATA0ZERO : Data 0 Zero
bits : 0 - 3 (4 bit)
access : read-only
Enumeration:
0x00000001 : ZERO0TO31
In DATA0 bits 0 to 31 are all zero.
0x00000002 : ZERO32TO63
In DATA0 bits 32 to 63 are all zero.
0x00000004 : ZERO64TO95
In DATA0 bits 64 to 95 are all zero.
0x00000008 : ZERO96TO127
In DATA0 bits 96 to 127 are all zero.
End of enumeration elements list.
DDATA0LSBS : LSBs in DDATA0
bits : 8 - 11 (4 bit)
access : read-only
DDATA0MSBS : MSB in DDATA0
bits : 16 - 19 (4 bit)
access : read-only
DDATA1MSB : MSB in DDATA1
bits : 20 - 20 (1 bit)
access : read-only
CARRY : Carry From Arithmetic Operation
bits : 24 - 24 (1 bit)
access : read-only
DDATA0 Register Byte Access
address_offset : 0x140 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
DDATA0BYTE : Ddata 0 Byte Access
bits : 0 - 7 (8 bit)
access : read-write
DDATA1 Register Byte Access
address_offset : 0x144 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
DDATA1BYTE : Ddata 1 Byte Access
bits : 0 - 7 (8 bit)
access : read-write
DDATA0 Register Byte 32 Access
address_offset : 0x148 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
DDATA0BYTE32 : Ddata 0 Byte 32 Access
bits : 0 - 3 (4 bit)
access : read-write
Control Status Register
address_offset : 0x18 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
V0 : Selected ALU Operand 0
bits : 0 - 2 (3 bit)
access : read-only
Enumeration:
0x00000000 : DDATA0
None
0x00000001 : DDATA1
None
0x00000002 : DDATA2
None
0x00000003 : DDATA3
None
0x00000004 : DDATA4
None
0x00000005 : DATA0
None
0x00000006 : DATA1
None
0x00000007 : DATA2
None
End of enumeration elements list.
V1 : Selected ALU Operand 1
bits : 8 - 10 (3 bit)
access : read-only
Enumeration:
0x00000000 : DDATA0
None
0x00000001 : DDATA1
None
0x00000002 : DDATA2
None
0x00000003 : DDATA3
None
0x00000004 : DDATA4
None
0x00000005 : DATA0
None
0x00000006 : DATA1
None
0x00000007 : DATA2
None
End of enumeration elements list.
SEQPART : Sequence Part
bits : 16 - 16 (1 bit)
access : read-only
SEQSKIP : Sequence Skip Next Instruction
bits : 17 - 17 (1 bit)
access : read-only
SEQIP : Sequence Next Instruction Pointer
bits : 20 - 24 (5 bit)
access : read-only
QDATA0 Register Access
address_offset : 0x180 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
QDATA0 : Quad Data 0 Access
bits : 0 - 31 (32 bit)
access : read-write
QDATA1 Register Access
address_offset : 0x184 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
QDATA1 : Quad Data 1 Access
bits : 0 - 31 (32 bit)
access : read-write
QDATA1 Register Big Endian Access
address_offset : 0x1A4 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
QDATA1BIG : Quad Data 1 Big Endian Access
bits : 0 - 31 (32 bit)
access : read-write
QDATA0 Register Byte Access
address_offset : 0x1C0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
QDATA0BYTE : Qdata 0 Byte Access
bits : 0 - 7 (8 bit)
access : read-write
QDATA1 Register Byte Access
address_offset : 0x1C4 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
QDATA1BYTE : Qdata 1 Byte Access
bits : 0 - 7 (8 bit)
access : read-write
KEY Register Access
address_offset : 0x20 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
KEY : Key Access
bits : 0 - 31 (32 bit)
access : read-write
KEY Buffer Register Access
address_offset : 0x24 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
KEYBUF : Key Buffer Access
bits : 0 - 31 (32 bit)
access : read-write
Sequence Control
address_offset : 0x30 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
LENGTHA : Buffer Length a in Bytes
bits : 0 - 13 (14 bit)
access : read-write
BLOCKSIZE : Size of Data Blocks
bits : 20 - 21 (2 bit)
access : read-write
Enumeration:
0x00000000 : 16BYTES
A block is 16 bytes long
0x00000001 : 32BYTES
A block is 32 bytes long
0x00000002 : 64BYTES
A block is 64 bytes long
End of enumeration elements list.
DMA0SKIP : DMA0 Skip
bits : 24 - 25 (2 bit)
access : read-write
DMA1SKIP : DMA1 Skip
bits : 26 - 27 (2 bit)
access : read-write
DMA0PRESA : DMA0 Preserve a
bits : 28 - 28 (1 bit)
access : read-write
DMA1PRESA : DMA1 Preserve a
bits : 29 - 29 (1 bit)
access : read-write
HALT : Halt Sequence
bits : 31 - 31 (1 bit)
access : read-write
Sequence Control B
address_offset : 0x34 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
LENGTHB : Buffer Length B in Bytes
bits : 0 - 13 (14 bit)
access : read-write
DMA0PRESB : DMA0 Preserve B
bits : 28 - 28 (1 bit)
access : read-write
DMA1PRESB : DMA1 Preserve B
bits : 29 - 29 (1 bit)
access : read-write
Wide Arithmetic Configuration
address_offset : 0x4 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
MODULUS : Modular Operation Modulus
bits : 0 - 3 (4 bit)
access : read-write
Enumeration:
0x00000000 : BIN256
Generic modulus. p = 2^256
0x00000001 : BIN128
Generic modulus. p = 2^128
0x00000002 : ECCBIN233P
Modulus for B-233 and K-233 ECC curves. p(t) = t^233 + t^74 + 1
0x00000003 : ECCBIN163P
Modulus for B-163 and K-163 ECC curves. p(t) = t^163 + t^7 + t^6 + t^3 + 1
0x00000004 : GCMBIN128
Modulus for GCM. P(t) = t^128 + t^7 + t^2 + t + 1
0x00000005 : ECCPRIME256P
Modulus for P-256 ECC curve. p = 2^256 - 2^224 + 2^192 + 2^96 - 1
0x00000006 : ECCPRIME224P
Modulus for P-224 ECC curve. p = 2^224 - 2^96 - 1
0x00000007 : ECCPRIME192P
Modulus for P-192 ECC curve. p = 2^192 - 2^64 - 1
0x00000008 : ECCBIN233N
P modulus for B-233 ECC curve
0x00000009 : ECCBIN233KN
P modulus for K-233 ECC curve
0x0000000A : ECCBIN163N
P modulus for B-163 ECC curve
0x0000000B : ECCBIN163KN
P modulus for K-163 ECC curve
0x0000000C : ECCPRIME256N
P modulus for P-256 ECC curve
0x0000000D : ECCPRIME224N
P modulus for P-224 ECC curve
0x0000000E : ECCPRIME192N
P modulus for P-192 ECC curve
End of enumeration elements list.
MODOP : Modular Operation Field Type
bits : 4 - 4 (1 bit)
access : read-write
MULWIDTH : Multiply Width
bits : 8 - 9 (2 bit)
access : read-write
Enumeration:
0x00000000 : MUL256
Multiply 256 bits
0x00000001 : MUL128
Multiply 128 bits
0x00000002 : MULMOD
Same number of bits as specified by MODULUS
End of enumeration elements list.
RESULTWIDTH : Result Width
bits : 10 - 11 (2 bit)
access : read-write
Enumeration:
0x00000000 : 256BIT
Results have 256 bits
0x00000001 : 128BIT
Results have 128 bits
0x00000002 : 260BIT
Results have 260 bits. Upper bits of result can be read through DDATA0MSBS in CRYPTO_STATUS
End of enumeration elements list.
AES Interrupt Flags
address_offset : 0x40 Bytes (0x0)
size : 32 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
INSTRDONE : Instruction Done
bits : 0 - 0 (1 bit)
access : read-only
SEQDONE : Sequence Done
bits : 1 - 1 (1 bit)
access : read-only
Interrupt Flag Set Register
address_offset : 0x44 Bytes (0x0)
size : 32 bit
access : write-only
reset_value : 0x0
reset_Mask : 0x0
INSTRDONE : Set INSTRDONE Interrupt Flag
bits : 0 - 0 (1 bit)
access : write-only
SEQDONE : Set SEQDONE Interrupt Flag
bits : 1 - 1 (1 bit)
access : write-only
Interrupt Flag Clear Register
address_offset : 0x48 Bytes (0x0)
size : 32 bit
access : write-only
reset_value : 0x0
reset_Mask : 0x0
INSTRDONE : Clear INSTRDONE Interrupt Flag
bits : 0 - 0 (1 bit)
access : write-only
SEQDONE : Clear SEQDONE Interrupt Flag
bits : 1 - 1 (1 bit)
access : write-only
Interrupt Enable Register
address_offset : 0x4C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
INSTRDONE : INSTRDONE Interrupt Enable
bits : 0 - 0 (1 bit)
access : read-write
SEQDONE : SEQDONE Interrupt Enable
bits : 1 - 1 (1 bit)
access : read-write
Sequence Register 0
address_offset : 0x50 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
INSTR0 : Sequence Instruction 0
bits : 0 - 7 (8 bit)
access : read-write
INSTR1 : Sequence Instruction 1
bits : 8 - 15 (8 bit)
access : read-write
INSTR2 : Sequence Instruction 2
bits : 16 - 23 (8 bit)
access : read-write
INSTR3 : Sequence Instruction 3
bits : 24 - 31 (8 bit)
access : read-write
Sequence Register 1
address_offset : 0x54 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
INSTR4 : Sequence Instruction 4
bits : 0 - 7 (8 bit)
access : read-write
INSTR5 : Sequence Instruction 5
bits : 8 - 15 (8 bit)
access : read-write
INSTR6 : Sequence Instruction 6
bits : 16 - 23 (8 bit)
access : read-write
INSTR7 : Sequence Instruction 7
bits : 24 - 31 (8 bit)
access : read-write
Sequence Register 2
address_offset : 0x58 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
INSTR8 : Sequence Instruction 8
bits : 0 - 7 (8 bit)
access : read-write
INSTR9 : Sequence Instruction 9
bits : 8 - 15 (8 bit)
access : read-write
INSTR10 : Sequence Instruction 10
bits : 16 - 23 (8 bit)
access : read-write
INSTR11 : Sequence Instruction 11
bits : 24 - 31 (8 bit)
access : read-write
Sequence Register 3
address_offset : 0x5C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
INSTR12 : Sequence Instruction 12
bits : 0 - 7 (8 bit)
access : read-write
INSTR13 : Sequence Instruction 13
bits : 8 - 15 (8 bit)
access : read-write
INSTR14 : Sequence Instruction 14
bits : 16 - 23 (8 bit)
access : read-write
INSTR15 : Sequence Instruction 15
bits : 24 - 31 (8 bit)
access : read-write
Sequence Register 4
address_offset : 0x60 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
INSTR16 : Sequence Instruction 16
bits : 0 - 7 (8 bit)
access : read-write
INSTR17 : Sequence Instruction 17
bits : 8 - 15 (8 bit)
access : read-write
INSTR18 : Sequence Instruction 18
bits : 16 - 23 (8 bit)
access : read-write
INSTR19 : Sequence Instruction 19
bits : 24 - 31 (8 bit)
access : read-write
Command Register
address_offset : 0x8 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
INSTR : Execute Instruction
bits : 0 - 7 (8 bit)
access : read-write
SEQSTART : Encryption/Decryption SEQUENCE Start
bits : 9 - 9 (1 bit)
access : write-only
SEQSTOP : Sequence Stop
bits : 10 - 10 (1 bit)
access : write-only
SEQSTEP : Sequence Step
bits : 11 - 11 (1 bit)
access : write-only
DATA0 Register Access
address_offset : 0x80 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
DATA0 : Data 0 Access
bits : 0 - 31 (32 bit)
access : read-write
DATA1 Register Access
address_offset : 0x84 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
DATA1 : Data 1 Access
bits : 0 - 31 (32 bit)
access : read-write
DATA2 Register Access
address_offset : 0x88 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
DATA2 : Data 2 Access
bits : 0 - 31 (32 bit)
access : read-write
DATA3 Register Access
address_offset : 0x8C Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
DATA3 : Data 3 Access
bits : 0 - 31 (32 bit)
access : read-write
DATA0XOR Register Access
address_offset : 0xA0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
DATA0XOR : XOR Data 0 Access
bits : 0 - 31 (32 bit)
access : read-write
DATA0 Register Byte Access
address_offset : 0xB0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
DATA0BYTE : Data 0 Byte Access
bits : 0 - 7 (8 bit)
access : read-write
DATA1 Register Byte Access
address_offset : 0xB4 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
DATA1BYTE : Data 1 Byte Access
bits : 0 - 7 (8 bit)
access : read-write
DATA0 Register Byte XOR Access
address_offset : 0xBC Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
DATA0XORBYTE : Data 0 XOR Byte Access
bits : 0 - 7 (8 bit)
access : read-write
DATA0 Register Byte 12 Access
address_offset : 0xC0 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
DATA0BYTE12 : Data 0 Byte 12 Access
bits : 0 - 7 (8 bit)
access : read-write
DATA0 Register Byte 13 Access
address_offset : 0xC4 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
DATA0BYTE13 : Data 0 Byte 13 Access
bits : 0 - 7 (8 bit)
access : read-write
DATA0 Register Byte 14 Access
address_offset : 0xC8 Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
DATA0BYTE14 : Data 0 Byte 14 Access
bits : 0 - 7 (8 bit)
access : read-write
DATA0 Register Byte 15 Access
address_offset : 0xCC Bytes (0x0)
size : 32 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
DATA0BYTE15 : Data 0 Byte 15 Access
bits : 0 - 7 (8 bit)
access : read-write
Is something missing? Is something wrong? can you help correct it ? Please contact us at info@chipselect.org !
This website is sponsored by Embeetle, an IDE designed from scratch for embedded software developers.