25.7.8.1 Overview

The DMA provides CRC and Checksum functionality on each channel using a single CRC engine. Channels have their own CRC/Checksum controls and can enable or disable functions and modes independent of other channels. The DMA is capable of supporting CRC/Checksum functions for all channels concurrently.

Only 16-bit or 32-bit CRC polynomials are supported with built in support for CRC-16 IBM, CRC-16 CCITT, and CRC-32. The two polynomial register CRCPOLYA and CRCPOLYB allow the user to provide custom 16-bit or 32-bit CRC polynomials which may be shared across any number of channels. The Checksum calculations follows the IP Header Checksum formula.