--- block/AES: description: Advanced encryption standard hardware accelerator items: - name: CR description: Control register byte_offset: 0 fieldset: CR - name: SR description: Status register byte_offset: 4 fieldset: SR - name: DINR description: Data input register byte_offset: 8 fieldset: DINR - name: DOUTR description: Data output register byte_offset: 12 fieldset: DOUTR - name: KEYR0 description: Key register 0 byte_offset: 16 fieldset: KEYR0 - name: KEYR1 description: Key register 1 byte_offset: 20 fieldset: KEYR1 - name: KEYR2 description: Key register 2 byte_offset: 24 fieldset: KEYR2 - name: KEYR3 description: Key register 3 byte_offset: 28 fieldset: KEYR3 - name: IVR0 description: Initialization vector register 0 byte_offset: 32 fieldset: IVR0 - name: IVR1 description: Initialization vector register 1 byte_offset: 36 fieldset: IVR1 - name: IVR2 description: Initialization vector register 2 byte_offset: 40 fieldset: IVR2 - name: IVR3 description: Initialization vector register 3 byte_offset: 44 fieldset: IVR3 - name: KEYR4 description: Key register 4 byte_offset: 48 fieldset: KEYR4 - name: KEYR5 description: Key register 5 byte_offset: 52 fieldset: KEYR5 - name: KEYR6 description: Key register 6 byte_offset: 56 fieldset: KEYR6 - name: KEYR7 description: Key register 7 byte_offset: 60 fieldset: KEYR7 - name: SUSP0R description: Suspend register 0 byte_offset: 64 fieldset: SUSP0R - name: SUSP1R description: Suspend register 1 byte_offset: 68 fieldset: SUSP1R - name: SUSP2R description: Suspend register 2 byte_offset: 72 fieldset: SUSP2R - name: SUSP3R description: Suspend register 3 byte_offset: 76 fieldset: SUSP3R - name: SUSP4R description: Suspend register 4 byte_offset: 80 fieldset: SUSP4R - name: SUSP5R description: Suspend register 5 byte_offset: 84 fieldset: SUSP5R - name: SUSP6R description: Suspend register 6 byte_offset: 88 fieldset: SUSP6R - name: SUSP7R description: Suspend register 7 byte_offset: 92 fieldset: SUSP7R fieldset/CR: description: Control register fields: - name: EN description: AES enable bit_offset: 0 bit_size: 1 - name: DATATYPE description: Data type selection bit_offset: 1 bit_size: 2 enum: DATATYPE - name: MODE description: Operating mode bit_offset: 3 bit_size: 2 enum: MODE - name: CHMOD10 description: Chaining mode bit1 bit0 bit_offset: 5 bit_size: 2 - name: CCFC description: Computation Complete Flag Clear bit_offset: 7 bit_size: 1 - name: ERRC description: Error clear bit_offset: 8 bit_size: 1 - name: CCFIE description: CCF flag interrupt enable bit_offset: 9 bit_size: 1 - name: ERRIE description: Error interrupt enable bit_offset: 10 bit_size: 1 - name: DMAINEN description: Enable DMA management of data input phase bit_offset: 11 bit_size: 1 - name: DMAOUTEN description: Enable DMA management of data output phase bit_offset: 12 bit_size: 1 - name: GCMPH description: GCM or CCM phase selection bit_offset: 13 bit_size: 2 enum: GCMPH - name: CHMOD2 description: Chaining mode bit2 bit_offset: 16 bit_size: 1 - name: KEYSIZE description: Key size selection bit_offset: 18 bit_size: 1 - name: NPBLB description: Number of padding bytes in last block of payload bit_offset: 20 bit_size: 4 fieldset/DINR: description: Data input register fields: - name: DIN description: Input data word bit_offset: 0 bit_size: 32 fieldset/DOUTR: description: Data output register fields: - name: DOUT description: Output data word bit_offset: 0 bit_size: 32 fieldset/IVR0: description: AES initialization vector register 0 fields: - name: IVI description: Initialization vector input, bits [31:0] bit_offset: 0 bit_size: 32 fieldset/IVR1: description: AES initialization vector register 1 fields: - name: IVI description: Initialization vector input, bits [63:32] bit_offset: 0 bit_size: 32 fieldset/IVR2: description: AES initialization vector register 2 fields: - name: IVI description: Initialization vector input, bits [95:64] bit_offset: 0 bit_size: 32 fieldset/IVR3: description: AES initialization vector register 3 fields: - name: IVI description: Initialization vector input, bits [127:96] bit_offset: 0 bit_size: 32 fieldset/KEYR0: description: Key register 0 fields: - name: KEY description: Cryptographic key, bits [31:0] bit_offset: 0 bit_size: 32 fieldset/KEYR1: description: Key register 1 fields: - name: KEY description: Cryptographic key, bits [63:32] bit_offset: 0 bit_size: 32 fieldset/KEYR2: description: Key register 2 fields: - name: KEY description: Cryptographic key, bits [95:64] bit_offset: 0 bit_size: 32 fieldset/KEYR3: description: Key register 3 fields: - name: KEY description: Cryptographic key, bits [127:96] bit_offset: 0 bit_size: 32 fieldset/KEYR4: description: Key register 4 fields: - name: KEY description: Cryptographic key, bits [159:128] bit_offset: 0 bit_size: 32 fieldset/KEYR5: description: Key register 5 fields: - name: KEY description: Cryptographic key, bits [191:160] bit_offset: 0 bit_size: 32 fieldset/KEYR6: description: Key register 6 fields: - name: KEY description: Cryptographic key, bits [223:192] bit_offset: 0 bit_size: 32 fieldset/KEYR7: description: Key register 7 fields: - name: KEY description: Cryptographic key, bits [255:224] bit_offset: 0 bit_size: 32 fieldset/SR: description: Status register fields: - name: CCF description: Computation complete flag bit_offset: 0 bit_size: 1 - name: RDERR description: Read error flag bit_offset: 1 bit_size: 1 - name: WRERR description: Write error flag bit_offset: 2 bit_size: 1 - name: BUSY description: Busy flag bit_offset: 3 bit_size: 1 fieldset/SUSP0R: description: Suspend register 0 fields: - name: SUSP description: AES suspend bit_offset: 0 bit_size: 32 fieldset/SUSP1R: description: Suspend register 1 fields: - name: SUSP description: AES suspend bit_offset: 0 bit_size: 32 fieldset/SUSP2R: description: Suspend register 2 fields: - name: SUSP description: AES suspend bit_offset: 0 bit_size: 32 fieldset/SUSP3R: description: Suspend register 3 fields: - name: SUSP description: AES suspend bit_offset: 0 bit_size: 32 fieldset/SUSP4R: description: Suspend register 4 fields: - name: SUSP description: AES suspend bit_offset: 0 bit_size: 32 fieldset/SUSP5R: description: Suspend register 5 fields: - name: SUSP description: AES suspend bit_offset: 0 bit_size: 32 fieldset/SUSP6R: description: Suspend register 6 fields: - name: SUSP description: AES suspend bit_offset: 0 bit_size: 32 fieldset/SUSP7R: description: Suspend register 7 fields: - name: SUSP description: AES suspend bit_offset: 0 bit_size: 32 enum/GCMPH: bit_size: 2 variants: - name: Init phase description: Init phase value: 0 - name: Header phase description: Header phase value: 1 - name: Payload phase description: Payload phase value: 2 - name: Final phase description: Final phase value: 3 enum/DATATYPE: bit_size: 2 variants: - name: None description: Word value: 0 - name: HalfWord description: Half-word (16-bit) value: 1 - name: Byte description: Byte (8-bit) value: 2 - name: Bit description: Bit value: 3 enum/MODE: bit_size: 2 variants: - name: Mode1 description: "Mode 1: encryption" value: 0 - name: Mode2 description: "Mode 2: key derivation (or key preparation for ECB/CBC decryption)" value: 1 - name: Mode3 description: "Mode 3: decryption" value: 2 - name: Mode4 description: "Mode 4: key derivation then single decryption" value: 3