MCF548x Reference Manual, Rev. 3
22-98 Freescale Semiconductor
Table 22-100 shows the representative descriptor format for the middle descriptors in a statically assigned
multi-function operation descriptor chain. The middle descriptor header encodes to select the DEU or
AESU as the primary EU, and the MDEU for the secondary EU. Because all the data necessary to calculate
the HMAC in a single dynamic descriptor is still not available, continue is set while initialize, HMAC, and
autopad are cleared in the SMODE field.
The descriptor header also encodes the descriptor type 0010, which defines the input and output ordering
for “hmac_snoop_no_afeu.” The HMAC key, DEU/AESU key, and context are already loaded, and do not
need to be reloaded. The length and pointer to the data over which the initial hash will be calculated must
be provided for this descriptor.
Input data is brought into the DEU/AESU input FIFO, with the MDEU snooping the portion of the data it
has been told to process. As the decryption/encryption continues, the output data fills the DEU/AEU
output FIFO, and this data is written back to system memory as needed. Because it has been told to expect
more data (continue on), the descriptor must not attempt to output the HMAC.
Table 22-98 lists typical DEU/HMAC multi-function descriptor header values for the first descriptor.
Table 22-100. Middle Descriptor for Multi-Function Encryption/Decryption
Field Name Value/Type Description
Header Table 22-101 Header common to several descriptors (TYPE 0010)
LEN_1 HMAC Key Length NULL
PTR_1 HMAC Key Pointer NULL
LEN_2 HMAC Data Length Number of bytes to be HMAC’d
PTR_2 HMAC Data Pointer Address of data to be HMAC’d
LEN_3 Key Length NULL
PTR_3 Key Pointer NULL
LEN_4 IV Length NULL
PTR_4 IV Pointer NULL
LEN_5 Data In Length Bytes of input data
PTR_5 Data In Pointer Address of ciphertext to be decrypted
LEN_6 Data Out Length Bytes of output data (should be equal to length of data in)
PTR_6 Data Out Pointer Address where output data is to be written
LEN_7 HMAC Out Length NULL
PTR_7 HMAC Out Pointer NULL
PTR_NEXT Next Descriptor Pointer Pointer to next data packet descriptor
Table 22-101. Typical Header Values for Middle Static Multi-Function DEU Descriptors
Header Value E/C S/T E/D Algorithm HMAC Pad
0x20038122 ECB Single DES Decrypt SHA256 No No
0x20138120 ECB Single DES Encrypt SHA256 No No
0x20038222 ECB Single DES Decrypt MD5 No No