1449609f5SPrafulla Wadaskar /* 2449609f5SPrafulla Wadaskar * (C) Copyright 2009 3449609f5SPrafulla Wadaskar * Marvell Semiconductor <www.marvell.com> 4449609f5SPrafulla Wadaskar * Written-by: Prafulla Wadaskar <prafulla@marvell.com> 5449609f5SPrafulla Wadaskar * 6449609f5SPrafulla Wadaskar * See file CREDITS for list of people who contributed to this 7449609f5SPrafulla Wadaskar * project. 8449609f5SPrafulla Wadaskar * 9449609f5SPrafulla Wadaskar * This program is free software; you can redistribute it and/or 10449609f5SPrafulla Wadaskar * modify it under the terms of the GNU General Public License as 11449609f5SPrafulla Wadaskar * published by the Free Software Foundation; either version 2 of 12449609f5SPrafulla Wadaskar * the License, or (at your option) any later version. 13449609f5SPrafulla Wadaskar * 14449609f5SPrafulla Wadaskar * This program is distributed in the hope that it will be useful, 15449609f5SPrafulla Wadaskar * but WITHOUT ANY WARRANTY; without even the implied warranty of 16449609f5SPrafulla Wadaskar * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17449609f5SPrafulla Wadaskar * GNU General Public License for more details. 18449609f5SPrafulla Wadaskar * 19449609f5SPrafulla Wadaskar * You should have received a copy of the GNU General Public License 20449609f5SPrafulla Wadaskar * along with this program; if not, write to the Free Software 21449609f5SPrafulla Wadaskar * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 22449609f5SPrafulla Wadaskar * MA 02110-1301 USA 23449609f5SPrafulla Wadaskar */ 24449609f5SPrafulla Wadaskar 25449609f5SPrafulla Wadaskar #ifndef _UBOOT_CRC_H 26449609f5SPrafulla Wadaskar #define _UBOOT_CRC_H 27449609f5SPrafulla Wadaskar 2878acc472SPeter Tyser /* lib/crc32.c */ 29449609f5SPrafulla Wadaskar uint32_t crc32 (uint32_t, const unsigned char *, uint); 30449609f5SPrafulla Wadaskar uint32_t crc32_wd (uint32_t, const unsigned char *, uint, uint); 31449609f5SPrafulla Wadaskar uint32_t crc32_no_comp (uint32_t, const unsigned char *, uint); 32449609f5SPrafulla Wadaskar 33*d20a40deSSimon Glass /** 34*d20a40deSSimon Glass * crc32_wd_buf - Perform CRC32 on a buffer and return result in buffer 35*d20a40deSSimon Glass * 36*d20a40deSSimon Glass * @input: Input buffer 37*d20a40deSSimon Glass * @ilen: Input buffer length 38*d20a40deSSimon Glass * @output: Place to put checksum result (4 bytes) 39*d20a40deSSimon Glass * @chunk_sz: Trigger watchdog after processing this many bytes 40*d20a40deSSimon Glass */ 41*d20a40deSSimon Glass void crc32_wd_buf(const unsigned char *input, uint ilen, 42*d20a40deSSimon Glass unsigned char *output, uint chunk_sz); 43*d20a40deSSimon Glass 44449609f5SPrafulla Wadaskar #endif /* _UBOOT_CRC_H */ 45