--- 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: KEYR description: Key register array: offsets: - 0 - 4 - 8 - 12 - 32 - 36 - 40 - 44 byte_offset: 16 fieldset: KEYR - name: IVR description: Initialization vector register array: len: 4 stride: 4 byte_offset: 32 fieldset: IVR - name: SUSPR description: Suspend register array: len: 8 stride: 4 byte_offset: 64 fieldset: SUSPR 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 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/IVR: description: Initialization vector register fields: - name: IVI description: Initialization vector input bit_offset: 0 bit_size: 32 fieldset/KEYR: description: Key register fields: - name: KEY description: Cryptographic key 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/SUSPR: description: Suspend register fields: - name: SUSP description: AES suspend bit_offset: 0 bit_size: 32 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/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/MODE: bit_size: 2 variants: - name: Mode1 description: "Encryption" value: 0 - name: Mode2 description: "Key derivation (or key preparation for ECB/CBC decryption)" value: 1 - name: Mode3 description: "Decryption" value: 2 - name: Mode4 description: "Key derivation then single decryption" value: 3