mirror of
https://xff.cz/git/u-boot/
synced 2025-09-01 16:52:14 +02:00
Roll CRC16-CCITT into the hash infrastructure
The CRC16-CCITT checksum function is useful for space-constrained applications (such as obtaining a checksum across a 2KBit or 4KBit EEPROM) in boot applications. It has not been accessible from boot scripts until now (due to not having a dedicated command and not being supported by the hash infrstructure) limiting its applicability outside of custom commands. This adds the CRC16-CCITT (poly 0x1021, init 0x0) algorithm to the list of available hashes and adds a new crc16_ccitt_wd_buf() to make this possible. Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> [trini: Fix building crc16.o for SPL/TPL] Signed-off-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
committed by
Tom Rini
parent
a740ee913e
commit
51c2345bd2
@@ -13,6 +13,17 @@ unsigned int crc8(unsigned int crc_start, const unsigned char *vptr, int len);
|
||||
|
||||
/* lib/crc16.c - 16 bit CRC with polynomial x^16+x^12+x^5+1 (CRC-CCITT) */
|
||||
uint16_t crc16_ccitt(uint16_t crc_start, const unsigned char *s, int len);
|
||||
/**
|
||||
* crc16_ccitt_wd_buf - Perform CRC16-CCIT on an input buffer and return the
|
||||
* 16-bit result (network byte-order) in an output buffer
|
||||
*
|
||||
* @in: input buffer
|
||||
* @len: input buffer length
|
||||
* @out: output buffer (at least 2 bytes)
|
||||
* @chunk_sz: ignored
|
||||
*/
|
||||
void crc16_ccitt_wd_buf(const uint8_t *in, uint len,
|
||||
uint8_t *out, uint chunk_sz);
|
||||
|
||||
/* lib/crc32.c */
|
||||
uint32_t crc32 (uint32_t, const unsigned char *, uint);
|
||||
|
Reference in New Issue
Block a user