Channels
MCF548x Reference Manual, Rev. 3
Freescale Semiconductor 22-27

22.7.1.3 Crypto-Channel Current Descriptor Pointer Register (CDPRn)

The CDPR, shown in Figure 22-19, contains the address of the data packet descriptor which the
crypto-channel is currently processing. This register, along with the PAIR_PTR in the CCPSR, can be used
to determine if a new descriptor can be safely inserted into a chain of descriptors.
Table 22-16 describes the CDPRn fields.

22.7.1.4 Fetch Register (FRn)

The FR, displayed in Figure 22-20, contains the address of the first byte of a descriptor to be processed. In
typical operation, the host CPU will create a descriptor in memory containing all relevant mode and
location information for the SEC, and then “launch” by writing the address of the descriptor to the fetch
register.
Writes to the FR, while the channel is already processing a different descriptor, will be registered and held
pending until the channel finishes processing the current descriptor or chain of descriptors. When the end
of the current descriptor or chain of descriptors is reached, the descriptor pointed to by the FR will be
treated as the next descriptor in a multi-descriptor chain. In this case, the FR must be written to before the
channel begins end of descriptor notification. If the register is written after notification has begun, the
descriptor will not be considered part of the current chain and will be fetched as a new stand-alone
descriptor or start of chain after the notification process has completed.
In summary, a channel is initiated by a direct write to the FR, and the channel always checks the FR before
determining if it has truly reached the end of a chain.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
R Current Descriptor Pointer
W
Reset0000000000000000
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R Current Descriptor Pointer
W
Reset0000000000000000
Reg
Addr
MBAR + 0x22044 (CDPR0), 0x23044 (CDPR1)
Figure 22-19. Crypto-Channel Current Descriptor Pointer Register (CDPRn)
Table 22-16. CDPRn Field Descriptions
Bits Name Description
31–0 Current
Descriptor
Pointer
Current descriptor pointer address. Pointer to system memory location of the current descriptor. This
field reflects the starting location in system memory of the descriptor currently loaded into the DB.
This value is updated whenever the crypto-channel requests a fetch of a descriptor from the
controller. Either the value of the fetch register or the next descriptor pointer in the current descriptor
is transferred to the current descriptor pointer register immediately after the fetch is completed.
This address will be used as destination of the write back of the modified header, if header writeback
notification is enabled. If a descriptor is written directly into the descriptor buffer, the host is
responsible for writing a meaningful pointer value into the Current Descriptor Pointer field.