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>
22 lines
611 B
C
22 lines
611 B
C
/* SPDX-License-Identifier: BSD-3-Clause
|
|
* Copyright(c) 2018 Netronome Systems, Inc.
|
|
* All rights reserved.
|
|
*/
|
|
|
|
#ifndef __NFP_MIP_H__
|
|
#define __NFP_MIP_H__
|
|
|
|
#include "nfp_nffw.h"
|
|
|
|
struct nfp_mip;
|
|
|
|
struct nfp_mip *nfp_mip_open(struct nfp_cpp *cpp);
|
|
void nfp_mip_close(struct nfp_mip *mip);
|
|
|
|
const char *nfp_mip_name(const struct nfp_mip *mip);
|
|
void nfp_mip_symtab(const struct nfp_mip *mip, uint32_t *addr, uint32_t *size);
|
|
void nfp_mip_strtab(const struct nfp_mip *mip, uint32_t *addr, uint32_t *size);
|
|
int nfp_nffw_info_mip_first(struct nfp_nffw_info *state, uint32_t *cpp_id,
|
|
uint64_t *off);
|
|
#endif
|