net: wireless: rockchip: add rtl8822be pcie wifi driver
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / rtl8822be / hal / halmac / halmac_88xx / halmac_8822b / halmac_8822b_cfg.h
1 #ifndef _HALMAC_8822B_CFG_H_
2 #define _HALMAC_8822B_CFG_H_
3
4 #include "halmac_8822b_pwr_seq.h"
5 #include "halmac_api_8822b.h"
6 #include "halmac_api_8822b_usb.h"
7 #include "halmac_api_8822b_sdio.h"
8 #include "halmac_api_8822b_pcie.h"
9 #include "../../halmac_bit2.h"
10 #include "../../halmac_reg2.h"
11 #include "../../halmac_api.h"
12
13 #if HALMAC_PLATFORM_TESTPROGRAM
14 #include "halmisc_api_8822b.h"
15 #include "halmisc_api_8822b_usb.h"
16 #include "halmisc_api_8822b_sdio.h"
17 #include "halmisc_api_8822b_pcie.h"
18 #endif
19
20 #define HALMAC_TX_FIFO_SIZE_8822B                               262144 /* 256k */
21 #define HALMAC_TX_FIFO_SIZE_LA_8822B                    131072 /* 128k */
22 #define HALMAC_RX_FIFO_SIZE_8822B                               24320 /* 24k */
23 #define HALMAC_TX_PAGE_SIZE_8822B                               128 /* PageSize 128Byte */
24 #define HALMAC_TX_PAGE_SIZE_2_POWER_8822B               7 /* 128 = 2^7 */
25 #define HALMAC_SECURITY_CAM_ENTRY_NUM_8822B             64 /* CAM Entry Size */
26 #define HALMAC_TX_AGG_ALIGNMENT_SIZE_8822B              8
27 #define HALMAC_TX_DESC_SIZE_8822B                               48
28 #define HALMAC_RX_DESC_SIZE_8822B                               24
29 #define HALMAC_WOWLAN_PATTERN_SIZE_8822B                256
30
31 /*
32 * TXFIFO LAYOUT
33 * HIGH_QUEUE
34 * NORMAL_QUEUE
35 * LOW_QUEUE
36 * EXTRA_QUEUE
37 * PUBLIC_QUEUE -- decided after all other queue are defined
38 * GAP_QUEUE -- Used to separate AC queue and Rsvd page
39 *
40 * RSVD_DRIVER -- Driver used rsvd page area
41 * RSVD_H2C_EXTRAINFO -- Extra Information for h2c
42 * RSVD_H2C_QUEUE -- h2c queue in rsvd page
43 * RSVD_CPU_INSTRUCTION -- extend fw code
44 * RSVD_FW_TXBUFF -- fw used this area to send packet
45 *
46 * Symbol : HALMAC_MODE_QUEUE_UNIT_CHIP, ex: HALMAC_LB_2BULKOUT_FWCMD_PGNUM_8822B
47 */
48 #define HALMAC_EXTRA_INFO_BUFF_SIZE_FULL_FIFO_8822B             16384 /*16K, only used in init case*/
49
50 #define HALMAC_RSVD_DRV_PGNUM_8822B                                             16 /*2048*/
51 #define HALMAC_RSVD_H2C_EXTRAINFO_PGNUM_8822B                   32 /*4096*/
52 #define HALMAC_RSVD_H2C_QUEUE_PGNUM_8822B                               8 /*1024*/
53 #define HALMAC_RSVD_CPU_INSTRUCTION_PGNUM_8822B                 0 /*0*/
54 #define HALMAC_RSVD_FW_TXBUFF_PGNUM_8822B                               4 /*512*/
55
56 /*
57 * Normal mode
58 */
59 #define HALMAC_NORMAL_HPQ_PGNUM_8822B           64 /*8192*/
60 #define HALMAC_NORMAL_NPQ_PGNUM_8822B           64 /*8192*/
61 #define HALMAC_NORMAL_LPQ_PGNUM_8822B           64 /*8192*/
62 #define HALMAC_NORMAL_EXPQ_PGNUM_8822B          64 /*8192*/
63 #define HALMAC_NORMAL_GAP_PGNUM_8822B           1 /*128*/
64
65 /*
66 * Loopback mode
67 */
68 #define HALMAC_LB_HPQ_PGNUM_8822B                       64 /*8192*/
69 #define HALMAC_LB_NPQ_PGNUM_8822B                       64 /*8192*/
70 #define HALMAC_LB_LPQ_PGNUM_8822B                       64 /*8192*/
71 #define HALMAC_LB_EXPQ_PGNUM_8822B                      64 /*8192*/
72 #define HALMAC_LB_GAP_PGNUM_8822B                       640 /*81920*/
73
74 /*
75 * Normal mode - 2Bulkout
76 */
77 #define HALMAC_NORMAL_2BULKOUT_HPQ_PGNUM_8822B                  64 /*8192*/
78 #define HALMAC_NORMAL_2BULKOUT_NPQ_PGNUM_8822B                  64 /*8192*/
79 #define HALMAC_NORMAL_2BULKOUT_LPQ_PGNUM_8822B                  0 /*0*/
80 #define HALMAC_NORMAL_2BULKOUT_EXPQ_PGNUM_8822B                 0 /*0*/
81 #define HALMAC_NORMAL_2BULKOUT_GAP_PGNUM_8822B                  1 /*128*/
82
83 /*
84 * Loopback mode - 2Bulkout
85 */
86 #define HALMAC_LB_2BULKOUT_HPQ_PGNUM_8822B                              64 /*8192*/
87 #define HALMAC_LB_2BULKOUT_NPQ_PGNUM_8822B                              64 /*8192*/
88 #define HALMAC_LB_2BULKOUT_LPQ_PGNUM_8822B                              0 /*0*/
89 #define HALMAC_LB_2BULKOUT_EXPQ_PGNUM_8822B                             0 /*0*/
90 #define HALMAC_LB_2BULKOUT_GAP_PGNUM_8822B                              1024 /*131072*/
91
92 /*
93 * Normal mode - 3BULKOUT
94 */
95 #define HALMAC_NORMAL_3BULKOUT_HPQ_PGNUM_8822B                  64 /*8192*/
96 #define HALMAC_NORMAL_3BULKOUT_NPQ_PGNUM_8822B                  64 /*8192*/
97 #define HALMAC_NORMAL_3BULKOUT_LPQ_PGNUM_8822B                  64 /*8192*/
98 #define HALMAC_NORMAL_3BULKOUT_EXPQ_PGNUM_8822B                 0 /*0*/
99 #define HALMAC_NORMAL_3BULKOUT_GAP_PGNUM_8822B                  1 /*128*/
100
101 /*
102 * Loopback mode - 3BULKOUT
103 */
104 #define HALMAC_LB_3BULKOUT_HPQ_PGNUM_8822B                              64 /*8192*/
105 #define HALMAC_LB_3BULKOUT_NPQ_PGNUM_8822B                              64 /*8192*/
106 #define HALMAC_LB_3BULKOUT_LPQ_PGNUM_8822B                              64 /*8192*/
107 #define HALMAC_LB_3BULKOUT_EXPQ_PGNUM_8822B                             0 /*0*/
108 #define HALMAC_LB_3BULKOUT_GAP_PGNUM_8822B                              1024 /*131072*/
109
110 /*
111 * WMM mode
112 */
113 #define HALMAC_WMM_HPQ_PGNUM_8822B              64 /*8192*/
114 #define HALMAC_WMM_NPQ_PGNUM_8822B              64 /*8192*/
115 #define HALMAC_WMM_LPQ_PGNUM_8822B              64 /*8192*/
116 #define HALMAC_WMM_EXPQ_PGNUM_8822B             64 /*8192*/
117 #define HALMAC_WMM_GAP_PGNUM_8822B              1 /*128*/
118
119 #define HALMAC_EFUSE_SIZE_8822B                                                 1024 /* 0x400 */
120 #define HALMAC_BT_EFUSE_SIZE_8822B                                              128 /* 0x80 */
121 #define HALMAC_EEPROM_SIZE_8822B                                                0x300
122 #define HALMAC_CR_TRX_ENABLE_8822B      (BIT_HCI_TXDMA_EN | BIT_HCI_RXDMA_EN | BIT_TXDMA_EN | \
123                                                                                 BIT_RXDMA_EN | BIT_PROTOCOL_EN | BIT_SCHEDULE_EN | \
124                                                                                 BIT_MACTXEN | BIT_MACRXEN)
125
126 #define HALMAC_BLK_DESC_NUM_8822B       0x3 /* Only for USB */
127
128 typedef enum _HALMAC_NORMAL_RXAGG_TH_TO_8822B {
129         HALMAC_NORMAL_RXAGG_THRESHOLD_8822B             = 0xFF,
130         HALMAC_NORMAL_RXAGG_TIMEOUT_8822B               = 0x01,
131 } HALMAC_NORMAL_RXAGG_TH_TO_8822B;
132
133 typedef enum _HALMAC_LOOPBACK_RXAGG_TH_TO_8822B {
134         HALMAC_LOOPBACK_RXAGG_THRESHOLD_8822B   = 0xFF,
135         HALMAC_LOOPBACK_RXAGG_TIMEOUT_8822B             = 0x01,
136 } HALMAC_LOOPBACK_RXAGG_TH_TO_8822B;
137
138 #endif