1*c7e9729dSAlejandro Lucero /* SPDX-License-Identifier: BSD-3-Clause 2*c7e9729dSAlejandro Lucero * Copyright(c) 2018 Netronome Systems, Inc. 3*c7e9729dSAlejandro Lucero * All rights reserved. 4*c7e9729dSAlejandro Lucero */ 5*c7e9729dSAlejandro Lucero 6*c7e9729dSAlejandro Lucero #ifndef __NFP_CRC_H__ 7*c7e9729dSAlejandro Lucero #define __NFP_CRC_H__ 8*c7e9729dSAlejandro Lucero 9*c7e9729dSAlejandro Lucero /* 10*c7e9729dSAlejandro Lucero * There are multiple 16-bit CRC polynomials in common use, but this is 11*c7e9729dSAlejandro Lucero * *the* standard CRC-32 polynomial, first popularized by Ethernet. 12*c7e9729dSAlejandro Lucero * x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x^1+x^0 13*c7e9729dSAlejandro Lucero */ 14*c7e9729dSAlejandro Lucero #define CRCPOLY_LE 0xedb88320 15*c7e9729dSAlejandro Lucero #define CRCPOLY_BE 0x04c11db7 16*c7e9729dSAlejandro Lucero 17*c7e9729dSAlejandro Lucero uint32_t nfp_crc32_posix(const void *buff, size_t len); 18*c7e9729dSAlejandro Lucero 19*c7e9729dSAlejandro Lucero #endif 20