c7e9729da6
CPP refers to the internal NFP Command Push Pull bus. This patch allows to create CPP commands from user space allowing to access any single part of the chip. This CPP interface is the base for having other functionalities like mutexes when accessing specific chip components, chip resources management, firmware upload or using the NSP, an embedded arm processor which can perform tasks on demand. NSP was the previous only way for doing things in the chip by the PMD, where a NSPU interface was used for commands like firmware upload or port link configuration. CPP interface supersedes NSPU, but it is still possible to use NSP through CPP. CPP interface adds a great flexibility for doing things like extended stats or firmware debugging. Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>
20 lines
503 B
C
20 lines
503 B
C
/* SPDX-License-Identifier: BSD-3-Clause
|
|
* Copyright(c) 2018 Netronome Systems, Inc.
|
|
* All rights reserved.
|
|
*/
|
|
|
|
#ifndef __NFP_CRC_H__
|
|
#define __NFP_CRC_H__
|
|
|
|
/*
|
|
* There are multiple 16-bit CRC polynomials in common use, but this is
|
|
* *the* standard CRC-32 polynomial, first popularized by Ethernet.
|
|
* 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
|
|
*/
|
|
#define CRCPOLY_LE 0xedb88320
|
|
#define CRCPOLY_BE 0x04c11db7
|
|
|
|
uint32_t nfp_crc32_posix(const void *buff, size_t len);
|
|
|
|
#endif
|