📄 skgeasf.h
字号:
/****************************************************************************** * * Name: skgeasf.h * Project: asf/ipmi * Version: $Revision: 1.1.2.9 $ * Date: $Date: 2007/12/19 16:06:35 $ * Purpose: asf/ipmi interface in windows driver * ******************************************************************************//****************************************************************************** * * (C)Copyright 1998-2002 SysKonnect GmbH. * (C)Copyright 2002-2007 Marvell. * * Driver for Marvell Yukon/2 chipset and SysKonnect Gigabit Ethernet * Server Adapters. * * Address all question to: gr-msgg-linux@marvell.com * * LICENSE: * (C)Copyright Marvell. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * The information in this file is provided "AS IS" without warranty. * /LICENSE * *****************************************************************************/#ifndef _INC_SKGEASF_H_#define _INC_SKGEASF_H_#ifdef __cplusplusextern "C" {#endif /* __cplusplus *//* DEFINES */#define ASF_FW_ARP_RESOLVE // FW is resolving the destination IP addr#define ASF_FW_WD // Driver is watching the FW#define ASF_CHECK_HIDDEN_ID // ASF init checks hidden id// modes for the asf driver#define SK_GEASF_MODE_UNKNOWN 0 // unknown operation mode (initial)#define SK_GEASF_MODE_ASF 1 // asfec.bin binary found -> ASF operation#define SK_GEASF_MODE_IPMI 2 // ipmiy2.bin binary found -> IPMI operation#define SK_GEASF_MODE_DASH 3 // dashex.bin binary found -> DASH operation// chip modes for asf driver#define SK_GEASF_CHIP_UNKNOWN 0 // bad chip id / hidden id#define SK_GEASF_CHIP_EC 1 // EC: ASF#define SK_GEASF_CHIP_Y2 2 // Yukon2#define SK_GEASF_CHIP_EX 3 // Yukon Extreme// dual link mode#define SK_GEASF_Y2_SINGLEPORT 1 // Yukon2 sigle link adapter#define SK_GEASF_Y2_DUALPORT 2 // Yukon2 dual link adapter#define ASF_GUI_TSF 10 /* Time Scale Factor: 1s(GUI) <-> 10*100ms(FW) */#define ASF_MAX_STRLEN 64// lengths used in get oid#define ASF_ACPI_MAXBUFFLENGTH 256 // max bytes for holding ACPI table#define ASF_SMBUS_MAXBUFFLENGTH 128 // max bytes for holding SMBus info#define ASF_FWVER_MAXBUFFLENGTH 40 // max stringlen for firmware version#define SK_ASF_EVT_TIMER_EXPIRED 1 /* Counter overflow */#define SK_ASF_EVT_TIMER_SPI_EXPIRED 2 /* Counter overflow */#define SK_ASF_EVT_TIMER_HCI_EXPIRED 3 /* Counter overflow *//* Return codes to the PNMI module */#define SK_ASF_PNMI_ERR_OK 0#define SK_ASF_PNMI_ERR_GENERAL 1#define SK_ASF_PNMI_ERR_TOO_SHORT 2#define SK_ASF_PNMI_ERR_BAD_VALUE 3#define SK_ASF_PNMI_ERR_READ_ONLY 4#define SK_ASF_PNMI_ERR_UNKNOWN_OID 5#define SK_ASF_PNMI_ERR_UNKNOWN_INST 6#define SK_ASF_PNMI_ERR_UNKNOWN_NET 7#define SK_ASF_PNMI_ERR_NOT_SUPPORTED 10#define REG_ASF_MAC_ADDR 0x0f24#define REG_ASF_MY_IP 0x0f50#define REG_ASF_STATUS_CMD 0x0e68#define REG_ASF_SMBUS_CFG 0x0e40#define ASF_CPU_STATE_UNKNOWN 0#define ASF_CPU_STATE_RESET 1#define ASF_CPU_STATE_RUNNING 2/* ASF MIB default values */#define ASF_DEF_RETRANS_COUNT_MIN 0 // x1#define ASF_DEF_RETRANS_COUNT_MAX 255 // x1#define ASF_DEF_WATCHDOG_ENA 0 //#define ASF_DEF_WATCHDOG_TIME 1200 // *100ms#define ASF_DEF_WATCHDOG_TIME_MAX 36000 // *100ms#define ASF_DEF_WATCHDOG_TIME_MIN 600 // *100ms#define ASF_DEF_RETRANS_INT_MIN 0 // *100ms#define ASF_DEF_RETRANS_INT_MAX 2550 // *100ms#define ASF_DEF_HB_INT_MIN 10 // *100ms#define ASF_DEF_HB_INT_MAX 2550 // *100ms#define ASF_DEF_ASF_ENA 0#define ASF_DEF_RETRANS 2#define ASF_DEF_RETRANS_INT 10 // *100ms#define ASF_DEF_HB_ENA 0#define ASF_DEF_HB_INT 600 // *100ms/* ASF HCI Commands */#define YASF_HOSTCMD_ASF_INFO 1#define YASF_HOSTCMD_LEG_CONF 2#define YASF_HOSTCMD_ASF_CONF 3#define YASF_HOSTCMD_RCTRL_CONF 4#define YASF_HOSTCMD_KEEP_ALIVE 5#define YASF_HOSTCMD_NEW_SEPROM_CONFIG 6#define YASF_HOSTCMD_ENTER_RAM_IDLE 7#define YASF_HOSTCMD_LEAVE_RAM_IDLE 8#define YASF_HOSTCMD_RUN_DIAG 9#define YASF_HOSTCMD_RESET_STATE 10#define YASF_HOSTCMD_RESET 11#define YASF_HOSTCMD_CHECK_ALIVE 12#define YASF_HOSTCMD_DRV_HELLO 13#define YASF_HOSTCMD_DRV_GOODBYE 14#define YASF_HOSTCMD_DRV_STANDBY 15#define YASF_HOSTCMD_UPDATE_OWN_MACADDR 16#define YASF_HOSTCMD_ARP_RESOLVE 17#define YASF_HOSTCMD_RESET_COLD 18#define YASF_HOSTCMD_ACPI_RMCP_DATA 19#define YASF_HOSTCMD_ACPI_ERROR 20#define YASF_HOSTCMD_CFG_SET_ASF_ENABLE 100#define YASF_HOSTCMD_CFG_SET_RSP_ENABLE 101#define YASF_HOSTCMD_CFG_SET_RETRANS 102#define YASF_HOSTCMD_CFG_SET_RETRANS_INT 103#define YASF_HOSTCMD_CFG_SET_HB_ENABLE 104#define YASF_HOSTCMD_CFG_SET_HB_INT 105#define YASF_HOSTCMD_CFG_SET_IP_DESTINATION 106#define YASF_HOSTCMD_CFG_SET_IP_SOURCE 107#define YASF_HOSTCMD_CFG_SET_MAC_DESTINATION 108#define YASF_HOSTCMD_CFG_SET_COMMUNITY_NAME 109#define YASF_HOSTCMD_CFG_SET_RSP_KEY_1 110#define YASF_HOSTCMD_CFG_SET_RSP_KEY_2 111#define YASF_HOSTCMD_CFG_SET_RSP_KEY_3 112#define YASF_HOSTCMD_CFG_SET_DRWD_ENABLE 113#define YASF_HOSTCMD_CFG_SET_DRWD_INT 114#define YASF_HOSTCMD_CFG_SET_WD_ENABLE 115#define YASF_HOSTCMD_CFG_SET_WD_INT 116#define YASF_HOSTCMD_CFG_SET_ASF_RAMSIZE 117#define YASF_HOSTCMD_CFG_SET_ACTIVE_PORT 118#define YASF_HOSTCMD_CFG_SET_DASH_ENABLE 119#define YASF_HOSTCMD_CFG_SET_DEBUG_INFO 120#define YASF_HOSTCMD_CFG_STORE_CONFIG 130#define YASF_HOSTCMD_CFG_GET_ASF_ENABLE 150#define YASF_HOSTCMD_CFG_GET_RSP_ENABLE 151#define YASF_HOSTCMD_CFG_GET_RETRANS 152#define YASF_HOSTCMD_CFG_GET_RETRANS_INT 153#define YASF_HOSTCMD_CFG_GET_HB_ENABLE 154#define YASF_HOSTCMD_CFG_GET_HB_INT 155#define YASF_HOSTCMD_CFG_GET_IP_DESTINATION 156#define YASF_HOSTCMD_CFG_GET_IP_SOURCE 157#define YASF_HOSTCMD_CFG_GET_MAC_DESTINATION 158#define YASF_HOSTCMD_CFG_GET_COMMUNITY_NAME 159#define YASF_HOSTCMD_CFG_GET_RSP_KEY_1 160#define YASF_HOSTCMD_CFG_GET_RSP_KEY_2 161#define YASF_HOSTCMD_CFG_GET_RSP_KEY_3 162#define YASF_HOSTCMD_CFG_GET_DRWD_ENABLE 163#define YASF_HOSTCMD_CFG_GET_DRWD_INT 164#define YASF_HOSTCMD_CFG_GET_WD_ENABLE 165#define YASF_HOSTCMD_CFG_GET_WD_INT 166#define YASF_HOSTCMD_CFG_GET_ASF_RAMSIZE 167#define YASF_HOSTCMD_CFG_GET_FW_VERSION_STRING 168#define YASF_HOSTCMD_CFG_GET_SMBUS_INFOS 169#define YASF_HOSTCMD_CFG_GET_ACTIVE_PORT 170#define YASF_HOSTCMD_CFG_READ_CONFIG 180#define YASF_HOSTCMD_CFG_SET_SW_PATTERN 190#define YASF_HOSTCMD_TRIGGER_ARP_QUERY 191#define YASF_HOSTCMD_DISCARD_ARP_QUERY 192/* ASF HCI Master */#define ASF_HCI_READ 0x08000000#define ASF_HCI_WRITE 0x04000000#define ASF_HCI_CMD_RD_READY 0x02000000#define ASF_HCI_CMD_WR_READY 0x01000000#define ASF_HCI_UNSUCCESS 0x00800000#define ASF_HCI_OFFSET 0x000000ff#define ASF_HCI_CMDREG 0x0e70#define ASF_HCI_DATAREG 0x0e78#define ASF_HCI_WAIT 1#define ASF_HCI_NOWAIT 0#define ASF_HCI_TO 100 /* 1s */#define HCI_EN_CMD_IDLE 0#define HCI_EN_CMD_WRITING 1#define HCI_EN_CMD_READING 2#define HCI_EN_CMD_WAIT 3#define HCI_EN_CMD_READY 4#define HCI_EN_CMD_ERROR 5#define ASF_HCI_REC_BUF_SIZE 128#define ASF_HCI_TRA_BUF_SIZE 128/* SEPROM (VPD) */#define ASF_VPD_CONFIG_BASE 0x340#define ASF_VPD_CONFIG_SIZE 0x80#define ASF_VPD_DATA_BASE 0x3c0#define ASF_VPD_DATA_SIZE 0x40/* Flash (SPI)*/#define ASF_FLASH_SIZE (1024*64)#define ASF_FLASH_OFFS 0x20000#define ASF_FLASH_OFFS_VER 0x1fc00#define ASF_FLASH_OFFS_REV 0x1fc0b#define ASF_FLASH_OFFS_CS 0x1fffc#define ASF_FLASH_OFFS_GUID 0x1f000#define ASF_FLASH_OFFS_ACPI 0x1f010#define ASF_DASH_FLASH_SIZE_1 65536#define ASF_DASH_FLASH_SIZE_2 53248/* Yukon Extreme */#define ASF_FLASH_EX_OFFS 0x20000#define ASF_FLASH_EX_OFFS_VER 0x1cc00#define ASF_FLASH_EX_OFFS_REV 0x1cc0b#define ASF_FLASH_EX_OFFS_CS 0x1cffc#define ASF_FLASH_EX_OFFS_GUID 0x1c000#define ASF_FLASH_EX_OFFS_ACPI 0x1c010#define ASF_RESET_HOT 0#define ASF_RESET_COLD 1#define ASF_INIT_UNDEFINED 0#define ASF_INIT_OK 1#define ASF_INIT_ERROR 2#define ASF_INIT_ERROR_CHIP_ID 3#define ASF_INIT_ERROR_OPMODE 4#define RSP_KEYLENGTH 20// ACPI module defines#define ASF_ACPI_STATE_OK 1#define ASF_ACPI_STATE_UNDEFINED 0#define ASF_ACPI_STATE_ERROR -1#define ASF_ACPI_STATE_ERROR_NO_RSDPTR -2#define ASF_ACPI_STATE_ERROR_RSDT -3#define ASF_ACPI_STATE_ERROR_XSDT -4#define ASF_ACPI_STATE_ERROR_RSDT_NO_TABLE -5#define ASF_ACPI_STATE_ERROR_RSDT_HEADER -6#define ASF_ACPI_STATE_ERROR_ASF -7#define ASF_ACPI_STATE_ERROR_ASF_HEADER -8#define ASF_ACPI_STATE_ERROR_RSDT_NO_ASF_TABLE -9#define ASF_ACPI_STATE_ERROR_FILE_OPEN -10#define ASF_ACPI_STATE_ERROR_FILE_MAP -11#define ASF_ACPI_STATE_ERROR_FILE_SIZE -12#define ASF_ACPI_STATE_ERROR_FILE_CS -13#define ASF_RECORD_INFO 0x00#define ASF_RECORD_ALRT 0x01#define ASF_RECORD_RCTL 0x02#define ASF_RECORD_RMCP 0x03#define ASF_RECORD_ADDR 0x04#define TABLE_HEADER_LENGTH 36#define SEC_COMMIT 0x08000000// endianess depended macros#define REVERSE_16(x) ((((x)<<8)&0xff00) + (((x)>>8)&0x00ff))#define REVERSE_32(x) ( ((((SK_U32)(x))<<24UL)&0xff000000UL) + \ ((((SK_U32)(x))<< 8UL)&0x00ff0000UL) + \ ((((SK_U32)(x))>> 8UL)&0x0000ff00UL) + \ ((((SK_U32)(x))>>24UL)&0x000000ffUL) )#ifdef SK_LITTLE_ENDIAN#define NTOHS(x) REVERSE_16(x)#define HTONS(x) REVERSE_16(x)#define NTOHL(x) REVERSE_32(x)#define HTONL(x) REVERSE_32(x)#else#define NTOHS(x) (x)#define HTONS(x) (x)#define NTOHL(x) (x)#define HTONL(x) (x)#endif/* * ASF MIB structure */struct _STR_PET_DAT{ SK_U8 EventSensorType; SK_U8 EventType; SK_U8 EventOffset; SK_U8 TrapSourceType; SK_U8 EventSourceType; SK_U8 EventSeverity; SK_U8 SensorDevice; SK_U8 SensorNumber; SK_U8 Entity; SK_U8 EntityInstance; SK_U8 EventData [8]; SK_U8 LanguageCode; SK_U8 OemCustomField [64]; // 83 Bytes so far};typedef struct _STR_PET_DAT STR_PET_DAT;// structure for ACPI data for reporting to GUIstruct _STR_ASF_ACPI{ SK_U8 buffer [ASF_ACPI_MAXBUFFLENGTH]; SK_U32 length;};typedef struct _STR_ASF_ACPI STR_ASF_ACPI;// structure for SMBus data for reporting to GUIstruct _STR_ASF_SMBUSINFO{ SK_U8 UpdateReq; SK_U8 buffer [ASF_SMBUS_MAXBUFFLENGTH]; SK_U32 length;};typedef struct _STR_ASF_SMBUSINFO STR_ASF_SMBUSINFO;struct _STR_ASF_MIB{ SK_U8 WriteToFlash; SK_U8 ConfigChange; // Configuration parameter related to registers SK_U8 NewParam; SK_U8 Ena; SK_U16 Retrans; SK_U32 RetransInt; SK_U8 HbEna; SK_U32 HbInt; SK_U8 WdEna; SK_U32 WdTime; SK_U8 IpSource [4]; SK_U8 IpV6Source [16*7]; SK_U8 MacSource [6]; SK_U8 IpDest [4]; SK_U8 MacDest [6]; SK_U8 CommunityName [64]; SK_U8 Guid [16]; SK_U8 RspEnable; SK_U32 RetransCountMin; SK_U32 RetransCountMax; SK_U32 RetransIntMin; SK_U32 RetransIntMax; SK_U32 HbIntMin; SK_U32 HbIntMax; SK_U32 WdTimeMax; SK_U32 WdTimeMin; SK_U8 KeyOperator [RSP_KEYLENGTH]; SK_U8 KeyAdministrator [RSP_KEYLENGTH]; SK_U8 KeyGenerator [RSP_KEYLENGTH]; STR_ASF_ACPI Acpi; STR_ASF_SMBUSINFO SMBus; SK_U8 RlmtMode; SK_U8 Reserved [6]; // reserved bytes in vpd SK_U8 PattUpReq;};typedef struct _STR_ASF_MIB STR_ASF_MIB;typedef struct s_Hci{ SK_U32 To;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -