X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=include%2Fu-boot%2Fcrc.h;h=788ef29a17b273c3d7de0ddc6359baf80c9c07d1;hb=3c1ead908128436b7df61b8ffd5642a924418bb6;hp=754ac729cec2adc71b189288bf5da6d6b30dc546;hpb=1a4596601fd395f3afb8f82f3f840c5e00bdd57a;p=oweals%2Fu-boot.git diff --git a/include/u-boot/crc.h b/include/u-boot/crc.h index 754ac729ce..788ef29a17 100644 --- a/include/u-boot/crc.h +++ b/include/u-boot/crc.h @@ -1,14 +1,30 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ /* * (C) Copyright 2009 * Marvell Semiconductor * Written-by: Prafulla Wadaskar - * - * SPDX-License-Identifier: GPL-2.0+ */ #ifndef _UBOOT_CRC_H #define _UBOOT_CRC_H +/* lib/crc8.c */ +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); uint32_t crc32_wd (uint32_t, const unsigned char *, uint, uint); @@ -25,4 +41,8 @@ uint32_t crc32_no_comp (uint32_t, const unsigned char *, uint); void crc32_wd_buf(const unsigned char *input, uint ilen, unsigned char *output, uint chunk_sz); +/* lib/crc32c.c */ +void crc32c_init(uint32_t *, uint32_t); +uint32_t crc32c_cal(uint32_t, const char *, int, uint32_t *); + #endif /* _UBOOT_CRC_H */