SOL.h 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. /****************************************************************
  2. ****************************************************************
  3. ** **
  4. ** (C)Copyright 2005-2006, American Megatrends Inc. **
  5. ** **
  6. ** All Rights Reserved. **
  7. ** **
  8. ** 6145-F, Northbelt Parkway, Norcross, **
  9. ** **
  10. ** Georgia - 30071, USA. Phone-(770)-246-8600. **
  11. ** **
  12. ****************************************************************
  13. *****************************************************************
  14. *
  15. * SOL.h
  16. * SOL Rountines & Definitions
  17. *
  18. * Author: Govind Kothandapani <govindk@ami.com>
  19. * : Gowtham Shanmukham<gowthams@ami.com>
  20. *
  21. *****************************************************************/
  22. #ifndef SOL_H
  23. #define SOL_H
  24. #include "Types.h"
  25. #define PAYLOAD_SOL 0x01
  26. #define MAX_SOL_DATA_SIZE 248
  27. #define SOL_SESSION_FILE "/tmp/solsessionactive"
  28. /**
  29. * SOL Payload Data Format
  30. **/
  31. typedef struct
  32. {
  33. INT8U seq_num;
  34. INT8U ack_seq_num;
  35. INT8U accepted_char_count;
  36. INT8U status;
  37. INT8U data [MAX_SOL_DATA_SIZE];
  38. } SOLPayLoad_T;
  39. /**
  40. * @def START_SOL
  41. * @brief Message Parameter to start SOL
  42. **/
  43. #define START_SOL 1
  44. /**
  45. * @def ACTIVATE_SOL
  46. * @brief Message Parameter to activate SOL
  47. **/
  48. #define ACTIVATE_SOL 2
  49. /**
  50. * @def DEACTIVATE_SOL
  51. * @brief Message Parameter to deactivate SOL
  52. **/
  53. #define DEACTIVATE_SOL 3
  54. /**
  55. * @def WAKEUP_SOL
  56. * @brief Message Parameter to wake up SOL
  57. **/
  58. #define WAKEUP_SOL 4
  59. /**
  60. * Status Definitions
  61. **/
  62. #define BMC_2_RC_NACK 0x40
  63. #define BMC_2_RC_CHAR_TRANSFER_UNAVAILABLE 0x20
  64. #define BMC_2_RC_SOL_DEACTIVATED 0x10
  65. #define BMC_2_RC_TRANSMIT_OVERRUN 0x08
  66. #define BMC_2_RC_BREAK 0x04
  67. #define RC_2_BMC_NACK 0x40
  68. #define RC_2_BMC_RING 0x20
  69. #define RC_2_BMC_BREAK 0x10
  70. #define RC_2_BMC_CTS_PAUSE 0x08
  71. #define RC_2_BMC_DROP_DCD 0x04
  72. #define RC_2_BMC_FLUSH_INBOUND 0x02
  73. #define RC_2_BMC_FLUSH_OUTBOUND 0x01
  74. /**
  75. * SOL Buffer Sizes & watermark
  76. **/
  77. #define SOL_SEND_BUF_SIZE (64*1024)
  78. #define SOL_RECV_BUF_SIZE (1024)
  79. #define SOL_CTS_WATERMARK (48*1024)
  80. /**
  81. * SOL milliseconds per tick
  82. **/
  83. #define SOL_MSECS_PER_TICK 20
  84. /**
  85. * SOL msecs wait for rechecking whether CTS has been asserted from deasserted state
  86. **/
  87. #define SOL_DEASSERT_WAIT_MSECS 10
  88. #define PREVIOUS_SEQ_NUM(n) (((n) == 0x01) ? 0x0f : ((n) - 1))
  89. /*------------------ Extern Definitions --------------------------*/
  90. extern void WakeupSOLTask (int BMCInst);
  91. extern INT32U tick_diff (INT32U t1, INT32U t2);
  92. extern int SOLTask (void);
  93. extern int OpenSOLPort (int BMCInst);
  94. extern int CloseSOLPort (int BMCInst);
  95. extern int ConfigureSOLPort (int BMCInst);
  96. extern void AssertSOLCTS (int BMCInst);
  97. extern void DeAssertSOLCTS(int BMCInst);
  98. #endif /* SOL_H */