# CRC Generator Control

Address | Register Name | Register Write | Register Read | Default | Description
--- | --- | --- | --- | --- | ---
0x40001600 | CRC_CFG | (4) FINAL_CRC_XOR | (4) FINAL_CRC_XOR | 0x0 | Selects the final CRC XOR mode
|  | (3) FINAL_CRC_REVERSE | (3) FINAL_CRC_REVERSE | 0x0 | Selects the final CRC reversal mode
|  | (2) BIT_ORDER | (2) BIT_ORDER | 0x0 | Selects the bit order for bytes added to the CRC
|  | (1) CRC_TYPE | (1) CRC_TYPE | 0x0 | Selects the CRC type
|  | (0) BYTE_ORDER | (0) BYTE_ORDER | 0x0 | Selects the endianness for bytes added to the CRC
0x40001604 | CRC_VALUE | (31:0) CURRENT_CRC | (31:0) CURRENT_CRC | 0xFFFF | CRC generator value: Write 0xFFFFFFF (32) or 0xFFFF (CCITT) to initialize the CRC, read provides the current CRC value.
0x40001608 | CRC_ADD_1 | (0) CRC_ADD_1 | - | N/A | Add 1 bit to the CRC calculation
0x4000160C | CRC_ADD_8 | (7:0) CRC_ADD_8 | - | N/A | Add 1 byte (8 bits) to the CRC calculation
0x40001610 | CRC_ADD_16 | (15:0) CRC_ADD_16 | - | N/A | Add 1 half-word (16 bits) to the CRC calculation
0x40001614 | CRC_ADD_24 | (23:0) CRC_ADD_24 | - | N/A | Add 3 bytes (24 bits) to the CRC calculation
0x40001618 | CRC_ADD_32 | (31:0) CRC_ADD_32 | - | N/A | Add 1 word (32 bits) to the CRC calculation
0x4000161C | CRC_FINAL | - | (31:0) FINAL_CRC | 0x0 | CRC generator final value: After XOR for CCITT or byte reversal for CRC-32
0x400016FC | CRC_ID_NUM | - | (15:8) CRC_MAJOR_REVISION | 0x1 | CRC Major Revision number
|  | - | (7:0) CRC_MINOR_REVISION | 0x0 | CRC Minor Revision number