halmac_8821c_cfg.h 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. #ifndef _HALMAC_8821C_CFG_H_
  2. #define _HALMAC_8821C_CFG_H_
  3. #include "halmac_8821c_pwr_seq.h"
  4. #include "halmac_api_8821c.h"
  5. #include "halmac_api_8821c_usb.h"
  6. #include "halmac_api_8821c_pcie.h"
  7. #include "halmac_api_8821c_sdio.h"
  8. #include "../../halmac_bit2.h"
  9. #include "../../halmac_reg2.h"
  10. #include "../../halmac_api.h"
  11. #if HALMAC_PLATFORM_TESTPROGRAM
  12. #include "halmisc_api_8821c.h"
  13. #include "halmisc_api_8821c_usb.h"
  14. #include "halmisc_api_8821c_sdio.h"
  15. #include "halmisc_api_8821c_pcie.h"
  16. #endif
  17. #define HALMAC_TX_FIFO_SIZE_8821C 65536 /* 64k */
  18. #define HALMAC_TX_FIFO_SIZE_LA_8821C 32768 /* 32k */
  19. #define HALMAC_RX_FIFO_SIZE_8821C 16384 /* 16k */
  20. #define HALMAC_TX_PAGE_SIZE_8821C 128 /* PageSize 128Byte */
  21. #define HALMAC_TX_ALIGN_SIZE_8821C 8
  22. #define HALMAC_TX_PAGE_SIZE_2_POWER_8821C 7 /* 128 = 2^7 */
  23. #define HALMAC_SECURITY_CAM_ENTRY_NUM_8821C 64 /* CAM Entry Size */
  24. #define HALMAC_TX_DESC_SIZE_8821C 48
  25. #define HALMAC_RX_DESC_SIZE_8821C 24
  26. #define HALMAC_C2H_PKT_BUF_8821C 256
  27. #define HALMAC_RX_FIFO_EXPANDING_UNIT_8821C (HALMAC_RX_DESC_SIZE_8821C + HALMAC_RX_DESC_DUMMY_SIZE_MAX_88XX + HALMAC_RX_FIFO_EXPANDING_MODE_PKT_SIZE) /* should be 8 Byte alignment*/
  28. #define HALMAC_RX_FIFO_EXPANDING_UNIT_MAX_8821C (HALMAC_RX_DESC_SIZE_8821C + HALMAC_RX_DESC_DUMMY_SIZE_MAX_88XX + HALMAC_RX_FIFO_EXPANDING_MODE_PKT_SIZE_MAX_88XX) /* should be 8 Byte alignment*/
  29. #define HALMAC_TX_FIFO_SIZE_RX_FIFO_EXPANDING_1_BLOCK_8821C 32768 /* 32k */
  30. #define HALMAC_RX_FIFO_SIZE_RX_FIFO_EXPANDING_1_BLOCK_8821C ((((HALMAC_RX_FIFO_EXPANDING_UNIT_8821C << 8) - 1) >> 10) << 10) /* < 48k*/
  31. #define HALMAC_RX_FIFO_SIZE_RX_FIFO_EXPANDING_1_BLOCK_MAX_8821C ((((HALMAC_RX_FIFO_EXPANDING_UNIT_MAX_8821C << 8) - 1) >> 10) << 10) /* 45k < 48k*/
  32. #define HALMAC_EFUSE_SIZE_8821C 512 /* 0x2000 */
  33. #define HALMAC_EEPROM_SIZE_8821C 0x200
  34. #define HALMAC_BT_EFUSE_SIZE_8821C 128
  35. #define HALMAC_CR_TRX_ENABLE_8821C (BIT_HCI_TXDMA_EN | BIT_HCI_RXDMA_EN | BIT_TXDMA_EN | \
  36. BIT_RXDMA_EN | BIT_PROTOCOL_EN | BIT_SCHEDULE_EN | \
  37. BIT_MACTXEN | BIT_MACRXEN)
  38. #define HALMAC_BLK_DESC_NUM_8821C 0x3 /* Only for USB */
  39. /* AMPDU max time (unit : 32us) */
  40. #define HALMAC_AMPDU_MAX_TIME_8821C 0x70
  41. /* Protect mode control */
  42. #define HALMAC_PROT_RTS_LEN_TH_8821C 0xFF
  43. #define HALMAC_PROT_RTS_TX_TIME_TH_8821C 0x08
  44. #define HALMAC_PROT_MAX_AGG_PKT_LIMIT_8821C 0x10
  45. #define HALMAC_PROT_RTS_MAX_AGG_PKT_LIMIT_8821C 0x10
  46. #define HALMAC_PROT_MAX_AGG_PKT_LIMIT_8821C_SDIO 0x2B
  47. #define HALMAC_PROT_RTS_MAX_AGG_PKT_LIMIT_8821C_SDIO 0x2B
  48. /* Fast EDCA setting */
  49. #define HALMAC_FAST_EDCA_VO_TH_8821C 0x06
  50. #define HALMAC_FAST_EDCA_VI_TH_8821C 0x06
  51. #define HALMAC_FAST_EDCA_BE_TH_8821C 0x06
  52. #define HALMAC_FAST_EDCA_BK_TH_8821C 0x06
  53. /* BAR setting */
  54. #define HALMAC_BAR_RETRY_LIMIT_8821C 0x01
  55. #define HALMAC_RA_TRY_RATE_AGG_LIMIT_8821C 0x08
  56. typedef enum _HALMAC_NORMAL_RXAGG_TH_TO_8821C {
  57. HALMAC_NORMAL_RXAGG_THRESHOLD_8821C = 0xFF,
  58. HALMAC_NORMAL_RXAGG_TIMEOUT_8821C = 0x01,
  59. } HALMAC_NORMAL_RXAGG_TH_TO_8821C;
  60. typedef enum _HALMAC_LOOPBACK_RXAGG_TH_TO_8821C {
  61. HALMAC_LOOPBACK_RXAGG_THRESHOLD_8821C = 0xFF,
  62. HALMAC_LOOPBACK_RXAGG_TIMEOUT_8821C = 0x01,
  63. } HALMAC_LOOPBACK_RXAGG_TH_TO_8821C;
  64. #define HALMAC_RSVD_DRV_PGNUM_8821C 16 /*2048*/
  65. #define HALMAC_RSVD_H2C_EXTRAINFO_PGNUM_8821C 32 /*4096*/
  66. #define HALMAC_RSVD_H2C_QUEUE_PGNUM_8821C 8 /*1024*/
  67. #define HALMAC_RSVD_CPU_INSTRUCTION_PGNUM_8821C 0 /*0*/
  68. #define HALMAC_RSVD_FW_TXBUFF_PGNUM_8821C 4 /*512*/
  69. #endif