Descriptors
MCF548x Reference Manual, Rev. 3
Freescale Semiconductor 22-65

22.13.4.2 Static Descriptors

Recall that the SEC has five execution units and two crypto-channels. The EUs can be statically assigned
or dedicated to a particular crypto-channel. Certain combinations of EUs can be statically assigned to the
same crypto-channel to facilitate multi-operation security processes, such as IPSec ESP mode. When the
system traffic model permits its use, static assignment can offer significant performance improvements
over dynamic assignment by avoiding key and context switching per packet.
NOTE
There is no mechanism for resetting an EU automatically when statically
assigned, or when assignment is changed from static to dynamic. Therefore,
it is recommended that the drivers always reset an EU prior to removing a
static assignment to prevent the previously used context from polluting
another encryption stream.
Static descriptors split the operations to be performed during a security operation into separate descriptors.
The first descriptor is typically used to set the EU mode, load the key and context, and to optionally
read/permute/write the first block of data. Table 22-46 shows the format for a TYPE 0001 data packet
descriptor that loads a context and key, then encrypts or decrypts the first block of data. The LEN/PTR6
pair is NULL since there is no need to unload the context after the operation completes.
PTR_6 IV Out Pointer Address where IV is to be written (optional)
LEN_7 MAC Out Length NULL
PTR_7 MAC Out Pointer NULL
PTR_NEXT Next Descriptor Pointer Pointer to next data packet descriptor
Table 22-46. First Static Descriptor Example
Field Name Value/Type Description
Header 0xXXXX_XX1X TYPE 0001
LEN_1 Length (not used) NULL
PTR_1 Pointer (not used) NULL
LEN_2 IV Length Number of bytes of IV to be written to EU
PTR_2 IV Pointer Address of IV
LEN_3 Key Length Number of bytes of Key to be written to EU
PTR_3 Key Pointer Address of Key
LEN_4 Data In Length Number of bytes to be encrypted/decrypted
PTR_4 Data In Pointer Address of data to be encrypted/decrypted
LEN_5 Data Out Length Bytes to be written (should be equal to length of data in)
PTR_5 Data Out Pointer Address where final data is written
LEN_6 IV Out Length NULL
Table 22-45. Dynamic Descriptor Example (Continued)
Field Name Value/Type Description