123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- /****************************************************************
- ****************************************************************
- ** **
- ** (C)Copyright 2005-2006, American Megatrends Inc. **
- ** **
- ** All Rights Reserved. **
- ** **
- ** Suite 200, 5555 oakbrook pkwy, Norcross **
- ** **
- ** Georgia - 30093, USA. Phone-(770)-246-8600. **
- ** **
- ****************************************************************
- *****************************************************************
- *
- * DCMDevice.h
- * DCMDevice Commands Handler
- *
- * Author: Rama Bisa <ramab@ami.com>
- *
- *****************************************************************/
- #ifndef DCMDEVICE_H
- #define DCMDEVICE_H
- #include "Types.h"
- #define FRU_SUB_AREA_NO_DATA 0xC1
- #define DCMI_MAJOR_REVISION 1
- #define DCMI_MINOR_REVISION_v1_5 5
- #define DCMI_MINOR_REVISION_v1_0 0
- #define POWER_LIMIT_OUT_OF_RANGE -1
- #define CORRECTION_TIME_OUT_OF_RANGE -2
- #define THERMAL_LIMIT_OUT_OF_RANGE -1
- #define THERMAL_EXCEPTION_TIME_OUT_OF_RANGE -2
- /******************************************************/
- /* INTERNAL MACRO DEFINITIONS FOR DCMI COMMANDS */
- /******************************************************/
- #define SUPPORTED_DCMI_CAPABILITIES 1
- #define MANDATORY_PLATFORM_ATTRIBUTES 2
- #define OPTIONAL_PLATFORM_ATTRIBUTES 3
- #define MANAGEABILITY_ACCESS_ATTRIBUTES 4
- #define ENHANCED_SYSTEM_POWER_ATTRIBUTES 5 /* For DCMI version 1.1 */
- #define IDENTIFICATION_SUPPORT (1 << 0)
- #define SEL_LOG_SUPPORT (1 << 1)
- #define CHASSIS_POWER_SUPPORT (1 << 2)
- #define TEMP_MONITOR_SUPPORT (1 << 3)
- #define PWR_MANAGEMENT_SUPPORT (1 << 0)
- #define KCS_SUPPORT (1 << 0)
- #define TMODE_SUPPORT (1 << 1)
- #define SECONDARY_LAN_SUPPORT (1 << 2)
- #define PRIMARY_LAN_SUPPORT (1 << 3)
- #define SOL_SUPPORT (1 << 4)
- #define VLAN_SUPPORT (1 << 5)
- #define SEL_AUTO_ROLLOVER_SUPPORT_CHECK 15
- #define SEL_ROLLOVER_FLUSH_ENTIRE (1<<14)
- #define SEL_ROLLOVER_FLUSH_RECORD_LEVEL (1<<13)
- #define ASSET_TAG_SUPPORT (1 << 2)
- #define DHCP_HOST_NAME_SUPPORT (1 << 1)
- #define GUID_SUPPORT (1 << 0)
- #define BASEBOARD_TEMP_MON_SUPPORT (1 << 2)
- #define PROCESSORS_TEMP_MON_SUPPORT (1 << 1)
- #define INLET_TEMP_MON_SUPPORT (1 << 0)
- #define SAMPLING_FREQUENCY_TEMP_MON (1 << 0)
- #define DCMI_PARAMETER_REVISION 2
- #define PRIMARY_LAN_CHANNEL_NUMBER LAN_RMCP_CHANNEL
- #define SECONDARY_LAN_CHANNEL_NUMBER 0xFF /* 0xFF for not supported */
- #define TMODE_OOB_CHANNEL_NUMBER 0xFF /* 0xFF for not supported */
- #define MAX_ASSET_TAG_LEN 63
- #define MAX_OFFSET_VALUE 62
- #define MAX_IDENTIFIERSTRING_LENGTH 64
- #define MAX_IDENTIFIERSTRING_OFFSET 63
- #define FRU_PRODUCT_INFO_AREA_OFFSET 4
- #define DCMI_TEMP_SENSOR_TYPE 1
- #define ACTIVATE_POWER_LIMIT_CODE 0x01
- #define DEACTIVATE_POWER_LIMIT_CODE 0x00
- #define MAX_EXCEPTION_ACTION_CODE 0x11
- #define MODE_POWER_STATS 0x01
- #define MODE_ENHANCED_POWER_STATS 0x02
- #define DEFAULT_TIMEOUT 100
- #define SUPPORTED_DCMI_CAPABILITIES 1
- #define MANDATORY_PLATFORM_ATTRIBUTES 2
- #define OPTIONAL_PLATFORM_ATTRIBUTES 3
- #define GET_POWER_LIMIT_RESERVED_BYTE 0xFF
- #define SET_THERMAL_LIMIT_RESERVED 0x8F
- extern int GetDCMICapabilityInfo (INT8U* pReq, INT8U ReqLen, INT8U* pRes,_NEAR_ int BMCInst);
- extern int GetPowerReading (INT8U* pReq, INT8U ReqLen, INT8U* pRes,_NEAR_ int BMCInst);
- extern int GetPowerLimit (INT8U* pReq, INT8U ReqLen, INT8U* pRes,_NEAR_ int BMCInst);
- extern int SetPowerLimit (INT8U* pReq, INT8U ReqLen, INT8U* pRes,_NEAR_ int BMCInst);
- extern int ActivatePowerLimit (INT8U* pReq, INT8U ReqLen, INT8U* pRes,_NEAR_ int BMCInst);
- extern int GetDCMISensorInfo (INT8U* pReq, INT8U ReqLen, INT8U* pRes,_NEAR_ int BMCInst);
- extern int GetAssetTag (INT8U* pReq, INT8U ReqLen, INT8U* pRes,_NEAR_ int BMCInst);
- extern void DCMIPowerSamplingTask (int BMCInst);
- extern int SetAssetTag (INT8U* pReq, INT8U ReqLen, INT8U* pRes,_NEAR_ int BMCInst);
- extern int GetManagementControllerIdString (INT8U* pReq, INT8U ReqLen, INT8U* pRes,_NEAR_ int BMCInst);
- extern int SetManagementControllerIdString (INT8U* pReq, INT8U ReqLen, INT8U* pRes,_NEAR_ int BMCInst);
- extern void DCMIThermalSamplingTask(int BMCInst);
- extern int SetThermalLimit(INT8U* pReq, INT8U ReqLen, INT8U* pRes,_NEAR_ int BMCInst);
- extern int GetThermalLimit(INT8U* pReq, INT8U ReqLen, INT8U* pRes,_NEAR_ int BMCInst);
- extern int GetTemperatureReading(INT8U* pReq, INT8U ReqLen, INT8U* pRes,_NEAR_ int BMCInst);
- #endif /* IPMDEVICE_H */
|