Line 9:
Line 9:
== Register List ==
== Register List ==
−
{{reglist|NAND Interface}}
+
{{reglist|AES Engine}}
{{rla|0x0d020000|32|AES_CTRL|AES Control and Status}}
{{rla|0x0d020000|32|AES_CTRL|AES Control and Status}}
{{rla|0x0d020004|32|AES_SRC|Source memory address}}
{{rla|0x0d020004|32|AES_SRC|Source memory address}}
Line 19:
Line 19:
{{reg32 | AES_CTRL | addr = 0x0d020000 | hifields = 6 | lofields = 3 |
{{reg32 | AES_CTRL | addr = 0x0d020000 | hifields = 6 | lofields = 3 |
|1|1|1|1|1|11|
|1|1|1|1|1|11|
−
|R/W|R/W|R?|R/W|R/W|U|
+
|R/W|R/W|R/W|R/W|R/W|U|
|EXEC|IRQ|ERR|ENA|DEC|||
|EXEC|IRQ|ERR|ENA|DEC|||
|3|1|12|
|3|1|12|
Line 27:
Line 27:
This register controls the state of the AES engine.
This register controls the state of the AES engine.
{{regdesc
{{regdesc
−
|EXEC|Write 1: initiate AES command<br/>Read: AES engine busy
+
|EXEC|Write 1: initiate AES command<br/>Write 0: reset AES engine<br/>Read: AES engine busy
|IRQ|Set to enable IRQ generation when command is complete
|IRQ|Set to enable IRQ generation when command is complete
−
|ERR|If set, AES error occured (?){{check}}
+
|ERR|If set, AES error occurred (?){{check}}
|ENA|Enable en/decryption. If clear, the data is copied straight from source to destination without change (useful as a DMA copy engine?).
|ENA|Enable en/decryption. If clear, the data is copied straight from source to destination without change (useful as a DMA copy engine?).
|DEC|Set to decrypt, clear to encrypt
|DEC|Set to decrypt, clear to encrypt
Line 38:
Line 38:
{{regsimple2 | AES_SRC | addr = 0x0d020004 | bits = 32 | split=4 | access = U | accesshi = R/W }}
{{regsimple2 | AES_SRC | addr = 0x0d020004 | bits = 32 | split=4 | access = U | accesshi = R/W }}
This register contains the DMA address of the source data. The same buffer can be used for source and destination. The address must be 16-byte aligned.
This register contains the DMA address of the source data. The same buffer can be used for source and destination. The address must be 16-byte aligned.
+
The engine updates this register as it processes the blocks.
----
----
{{regsimple2 | AES_DEST | addr = 0x0d020008 | bits = 32 | split=4 | access = U | accesshi = R/W}}
{{regsimple2 | AES_DEST | addr = 0x0d020008 | bits = 32 | split=4 | access = U | accesshi = R/W}}
This register contains the DMA address of the destination data. The same buffer can be used for source and destination. The address must be 16-byte aligned.
This register contains the DMA address of the destination data. The same buffer can be used for source and destination. The address must be 16-byte aligned.
+
The engine updates this register as it processes the blocks.
----
----
{{regsimple | AES_KEY | addr = 0x0d02000c | bits = 32 | access = W }}
{{regsimple | AES_KEY | addr = 0x0d02000c | bits = 32 | access = W }}