25.10.13 Channel Control CRC Register

CHCTRLAk.ENABLE=1 write protected.

Table 25-27. Register Bit Attribute Legend
SymbolDescriptionSymbolDescriptionSymbolDescription
RReadable bitHCCleared by Hardware(Grey cell)Unimplemented
WWritable bitHSSet by HardwareXBit is unknown at Reset
KWrite to clearSSoftware settable bit
Name: CHCTRLCRCk
Offset: 0x80 + k*0x50 [k=0..15]
Reset: 0x00000000
Property: PAC Write-Protection

Bit 3130292827262524 
          
Access  
Reset  
Bit 2322212019181716 
          
Access  
Reset  
Bit 15141312111098 
          
Access  
Reset  
Bit 76543210 
 CRCRINCRCROUTCRCXOR CRCAPPCRCMD[2:0] 
Access R/WR/WR/WR/WR/WR/WR/W 
Reset 0000000 

Bit 7 – CRCRIN CRC Reflect Input Selection

This option is sometimes referred to as Reflected Byte or Reflected Input (RefIn).

This register is ignored if CHCTRLBk.CRCEN=0, otherwise CRCRIN provides the following functions.

ValueDescription
0Bytes are not reflected and are processed as read from the Source location.
1Each byte is reflected bit-wise before being processed by the CRC engine.

Bit 6 – CRCROUT CRC Reflected Output Mode

This register is ignored if CHCTRLBk.CRCEN=0, otherwise CRCROUT provides the following functions.
ValueDescription
0CRC results are read back in the native bit order. If CRCAPP=1, the value appended to the end of the block is in the native bit order.
1The CRC result are read back in reverse bit order. If CRCAPP=1, the value appended to the end of the block is in reverse bit order.

Bit 5 – CRCXOR CRC XOR Mode

This register is ignored if CHCTRLBk.CRCEN=0, otherwise CRCXOR provides the following functions.
ValueDescription
0CRC results are read back without XOR’ing. If CRCAPP=1, the appended value not XOR’ed.
1CRC results are read back after being XOR’ed with 1’s. This is the equivalent of XOR’ing the 16-bit CRC value with 0xFFFF or the 32-bit CRC value with 0xFFFF_FFFF. If CRCAPP=1, the value appended to the end of the block is result of the XOR.

Bit 3 – CRCAPP CRC Append Mode

This register is ignored if CHCTRLBk.CRCEN=0, otherwise CRCAPP provides the following functions.
ValueDescription
0The DMA transfers data from the source, re-orders it according to CHCTRLBk.BYTORD[1:0], drives it through the CRC and AFTER that writes the data to destination obeying WBOEN (Write Byte Order Enable) either re-ordered or unchanged. The resulting CRC is not appended but is available in the CHCRCDAT register.
1The DMA transfers data from the source, re-orders it according to CHCTRLBk.BYTORD[1:0], drives it through the CRC and AFTER that writes the data to destination obeying WBOEN (Write Byte Order Enable) either re-ordered or unchanged. The DMA then writes the final calculated CRC at the end of the block.

Bits 2:0 – CRCMD[2:0] CRC/Checksum Mode

This register is ignored if CHCTRLBk.CRCEN=0, otherwise CRCMD provides the following functions.
ValueDescription
111Calculate an IP Header Checksum
110Calculate CRC based on the 32-bit polynomial provided in register CRCPOLYB 101 =Calculate CRC based on the 32-bit polynomial provided in register CRCPOLYA 100 =CRC-32 (0x04C11DB7)
011Calculate CRC based on the 16-bit polynomial provided in register CRCPOLYB[15:0] 010 =Calculate CRC based on the 16-bit polynomial provided in register CRCPOLYA[15:0] 001 =CRC-16 CCITT (0x1021)
000CRC-16, also known as CRC-16-IBM and CRC-16-ANSI (0x8005)