npi_espc.h revision 2e59129a8dc96d4082395c338ad696e29471d4e0
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _NPI_ESPC_H
#define _NPI_ESPC_H
#pragma ident "%Z%%M% %I% %E% SMI"
#ifdef __cplusplus
extern "C" {
#endif
#include <npi.h>
#include <nxge_espc_hw.h>
do {\
}
/* ESPC specific errors */
#define ESPC_EEPROM_ADDR_INVALID 0x51
#define ESPC_STR_LEN_INVALID 0x91
/* ESPC error return macros */
/* EEPROM size, Fcode and VPD definitions */
/*
* VPD information.
*/
#define NXGE_VPD_MOD_LEN 32
#define NXGE_VPD_BD_MOD_LEN 16
#define NXGE_VPD_PHY_LEN 5
#define NXGE_VPD_VER_LEN 60
typedef struct _npi_vpd_info_t {
char model[NXGE_VPD_MOD_LEN];
char bd_model[NXGE_VPD_BD_MOD_LEN];
char phy_type[NXGE_VPD_PHY_LEN];
char ver[NXGE_VPD_VER_LEN];
#define NXGE_FCODE_ID_STR "FCode "
#define NXGE_FCODE_VER_STR_LEN 5
#define NXGE_VPD_VALID_VER_W 3
#define NXGE_VPD_VALID_VER_F 4
#define EXPANSION_ROM_SIZE 65536
#define FD_MODEL 0x01
#define FD_BD_MODEL 0x02
#define FD_MAC_ADDR 0x04
#define FD_NUM_MACS 0x08
#define FD_PHY_TYPE 0x10
#define FD_FW_VERSION 0x20
#define FD_ALL 0x3f
uint8_t);
void npi_espc_dump(npi_handle_t);
#ifdef __cplusplus
}
#endif
#endif /* _NPI_ESPC_H */