main.h 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. #ifndef __MAIN_H__
  2. #define __MAIN_H__
  3. #include <stdint.h>
  4. #include <pthread.h>
  5. #include <unistd.h>
  6. #include <sys/types.h>
  7. #include <sys/stat.h>
  8. #include <sys/socket.h>
  9. #include "com_BmcType.h"
  10. #include "com_IPMIDefs.h"
  11. #include "BmcType.h"
  12. #include "com_IPMI_SDRRecord.h"
  13. #include "Session.h"
  14. #include "sensor_tbl.h"
  15. #include "MsgHndlr.h"
  16. #include "hal_interface_api.h"
  17. #include "com_BMCCfg.h"
  18. /* Declare global variable */
  19. /*---------------------------------------------------------------------------*
  20. * Interface SUPPORTED
  21. *---------------------------------------------------------------------------*/
  22. #define LAN_IFC_SUPPORT 1
  23. #define SERIAL_IFC_SUPPORT 0
  24. #define SERIAL_TERMINAL_SUPPORT 0
  25. #define SYS_IFC_SUPPORT 0
  26. #define PRIMARY_IPMB_SUPPORT 1
  27. #define SECONDARY_IPMB_SUPPORT 1
  28. #define GROUP_EXTERN_SUPPORT 1
  29. #define UDS_IFC_SUPPORT 1
  30. #define PWR_CYCLE_INTERVAL (3) //unit: 1s
  31. #define REARM_SET_SENSOR_THRESHOLD (0) //whether rearm sensor event when change sensor threshold
  32. #define CHASSIS_TIMER_INTERVAL (1) //1 second
  33. #define FAN_CONTROL_INTERVAL (5) //5 second
  34. //IPMB
  35. #define PRIMARY_IPMB_BUS 1 // /dev/i2c1
  36. #define SECONDARY_IPMB_BUS 2 // /dev/i2c2
  37. //#define PRIMARY_IPMB_ADDR 0x44
  38. //#define SECONDARY_IPMB_ADDR 0x44
  39. //RACK-ID
  40. #define RACKID0_PORT GPIOI
  41. #define RACKID1_PORT GPIOI
  42. #define RACKID2_PORT GPIOH
  43. #define RACKID3_PORT GPIOI
  44. #define RACKID4_PORT GPIOI
  45. #define RACKID5_PORT GPIOI
  46. #define RACKID0_PIN GPIO_PIN_6
  47. #define RACKID1_PIN GPIO_PIN_7
  48. #define RACKID2_PIN GPIO_PIN_15
  49. #define RACKID3_PIN GPIO_PIN_9
  50. #define RACKID4_PIN GPIO_PIN_10
  51. #define RACKID5_PIN GPIO_PIN_11
  52. //SLOT-ID
  53. #define GA0_PORT GPIOH
  54. #define GA1_PORT GPIOH
  55. #define GA2_PORT GPIOH
  56. #define GA3_PORT GPIOH
  57. #define GA4_PORT GPIOH
  58. #define GAP_PORT GPIOI
  59. #define GA0_PIN GPIO_PIN_10
  60. #define GA1_PIN GPIO_PIN_11
  61. #define GA2_PIN GPIO_PIN_12
  62. #define GA3_PIN GPIO_PIN_13
  63. #define GA4_PIN GPIO_PIN_14
  64. #define GAP_PIN GPIO_PIN_5
  65. #define GPIO1_PORT GPIOC
  66. #define GPIO2_PORT GPIOC
  67. #define GPIO3_PORT GPIOD
  68. #define GPIO4_PORT GPIOD
  69. #define GPIO5_PORT GPIOD
  70. #define GPIO6_PORT GPIOE
  71. #define GPIO7_PORT GPIOE
  72. #define GPIO8_PORT GPIOE
  73. #define GPIO1_PIN GPIO_PIN_12
  74. #define GPIO2_PIN GPIO_PIN_13
  75. #define GPIO3_PIN GPIO_PIN_2
  76. #define GPIO4_PIN GPIO_PIN_3
  77. #define GPIO5_PIN GPIO_PIN_6
  78. #define GPIO6_PIN GPIO_PIN_2
  79. #define GPIO7_PIN GPIO_PIN_3
  80. #define GPIO8_PIN GPIO_PIN_4
  81. extern sensor_tbl_t sensor_tbl[];
  82. extern const OemFRUData_T Default_FRUData;
  83. //extern OEM_SENSOR_CAPABILITY_T g_sensorList[SENSOR_NUMBERS];
  84. extern const MgmtCtrlrDevLocator_T bmc_sdr;
  85. extern const FullSensorRec_T full_sdr_tbl[];
  86. extern const CompactSensorRec_T Compact_sdr_tbl[];
  87. #define RESTORE_IPMI 0x01
  88. #define RESTORE_FRU 0x02
  89. #define RESTORE_SDR 0x04
  90. #define RESTORE_SEL 0x08
  91. #define RESTORE_ALL (RESTORE_IPMI | RESTORE_FRU | RESTORE_SDR | RESTORE_SEL)
  92. extern pthread_t gThreadIDs[256];
  93. extern uint8_t gThreadIndex;
  94. extern int gFd_LanIfcQ, gFd_LanResQ;
  95. extern int gFdUdsIfc, gFdUdsRes;
  96. extern int gFd_MsgHndlrIfc;
  97. //extern int gFd_ChassisPwrHndlrQue;
  98. extern int gFd_PrimaryIpmbIfcQ, gFd_PrimaryIpmbResQ;
  99. extern int gFd_SecondaryIpmbIfcQ, gFd_SecondaryIpmbResQ;
  100. extern int gPendActionIfc;
  101. extern TLS_T g_tls;
  102. extern PendingBridgedResTbl_T m_PendingBridgedResTbl[MAX_PENDING_BRIDGE_TBL][MAX_PENDING_BRIDGE_RES];
  103. extern PendingSeqNoTbl_T m_PendingSeqNoTbl[16][MAX_PENDING_SEQ_NO];
  104. extern KCSBridgeResInfo_T m_KCSBridgeResInfo;
  105. extern TimerTaskTbl_T m_TimerTaskTbl [20];
  106. extern BMCInfo_t g_BMCInfo;
  107. extern SensorHistoryInfo_T gSensorHistoryInfo[SENSOR_NUMBERS];
  108. extern FanInfo_T gFanInfo[FAN_NUMBERS];
  109. extern BladeStatus_T gBladeStatus[BLADE_NUMBERS];
  110. extern uint8_t gChassisIPMBAddr[BLADE_NUMBERS];
  111. #endif /* __MAIN_H__ */