1 /* SPDX-License-Identifier: GPL-2.0+ */ 2 /* 3 * (C) Copyright 2009 4 * Marvell Semiconductor <www.marvell.com> 5 * Written-by: Prafulla Wadaskar <prafulla@marvell.com> 6 */ 7 8 #ifndef _UBOOT_CRC_H 9 #define _UBOOT_CRC_H 10 11 /* lib/crc8.c */ 12 unsigned int crc8(unsigned int crc_start, const unsigned char *vptr, int len); 13 14 /* lib/crc32.c */ 15 uint32_t crc32 (uint32_t, const unsigned char *, uint); 16 uint32_t crc32_wd (uint32_t, const unsigned char *, uint, uint); 17 uint32_t crc32_no_comp (uint32_t, const unsigned char *, uint); 18 19 /** 20 * crc32_wd_buf - Perform CRC32 on a buffer and return result in buffer 21 * 22 * @input: Input buffer 23 * @ilen: Input buffer length 24 * @output: Place to put checksum result (4 bytes) 25 * @chunk_sz: Trigger watchdog after processing this many bytes 26 */ 27 void crc32_wd_buf(const unsigned char *input, uint ilen, 28 unsigned char *output, uint chunk_sz); 29 30 /* lib/crc32c.c */ 31 void crc32c_init(uint32_t *, uint32_t); 32 uint32_t crc32c_cal(uint32_t, const char *, int, uint32_t *); 33 34 #endif /* _UBOOT_CRC_H */ 35