forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-14 bedbef8ad3e75a304af6361af235302bcc61d06b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#ifndef _HALMAC_8821C_CFG_H_
#define _HALMAC_8821C_CFG_H_
 
#include "halmac_8821c_pwr_seq.h"
#include "halmac_api_8821c.h"
#include "halmac_api_8821c_usb.h"
#include "halmac_api_8821c_pcie.h"
#include "halmac_api_8821c_sdio.h"
#include "../../halmac_bit2.h"
#include "../../halmac_reg2.h"
#include "../../halmac_api.h"
 
#if HALMAC_PLATFORM_TESTPROGRAM
#include "halmisc_api_8821c.h"
#include "halmisc_api_8821c_usb.h"
#include "halmisc_api_8821c_sdio.h"
#include "halmisc_api_8821c_pcie.h"
#endif
 
#define HALMAC_TX_FIFO_SIZE_8821C                65536 /* 64k */
#define HALMAC_TX_FIFO_SIZE_LA_8821C            32768 /* 32k */
#define HALMAC_RX_FIFO_SIZE_8821C                16384 /* 16k */
#define HALMAC_TX_PAGE_SIZE_8821C                128 /* PageSize 128Byte */
#define HALMAC_TX_PAGE_SIZE_2_POWER_8821C        7 /* 128 = 2^7 */
#define HALMAC_SECURITY_CAM_ENTRY_NUM_8821C        64 /* CAM Entry Size */
#define HALMAC_TX_DESC_SIZE_8821C                48
#define HALMAC_RX_DESC_SIZE_8821C                24
#define HALMAC_WOWLAN_PATTERN_SIZE_8821C        256
 
#define HALMAC_EFUSE_SIZE_8821C                    512 /* 0x2000 */
#define HALMAC_EEPROM_SIZE_8821C                0x200
#define HALMAC_BT_EFUSE_SIZE_8821C                128
 
#define HALMAC_CR_TRX_ENABLE_8821C      (BIT_HCI_TXDMA_EN | BIT_HCI_RXDMA_EN | BIT_TXDMA_EN | \
                    BIT_RXDMA_EN | BIT_PROTOCOL_EN | BIT_SCHEDULE_EN | \
                    BIT_MACTXEN | BIT_MACRXEN)
 
#define HALMAC_BLK_DESC_NUM_8821C   0x3 /* Only for USB */
 
typedef enum _HALMAC_NORMAL_RXAGG_TH_TO_8821C {
   HALMAC_NORMAL_RXAGG_THRESHOLD_8821C = 0xFF,
   HALMAC_NORMAL_RXAGG_TIMEOUT_8821C = 0x01,
} HALMAC_NORMAL_RXAGG_TH_TO_8821C;
 
typedef enum _HALMAC_LOOPBACK_RXAGG_TH_TO_8821C {
   HALMAC_LOOPBACK_RXAGG_THRESHOLD_8821C = 0xFF,
   HALMAC_LOOPBACK_RXAGG_TIMEOUT_8821C = 0x01,
} HALMAC_LOOPBACK_RXAGG_TH_TO_8821C;
 
#define HALMAC_RSVD_DRV_PGNUM_8821C                    16 /*2048*/
#define HALMAC_RSVD_H2C_EXTRAINFO_PGNUM_8821C        32 /*4096*/
#define HALMAC_RSVD_H2C_QUEUE_PGNUM_8821C            8 /*1024*/
#define HALMAC_RSVD_CPU_INSTRUCTION_PGNUM_8821C        0 /*0*/
#define HALMAC_RSVD_FW_TXBUFF_PGNUM_8821C            4 /*512*/
 
/*
 * Normal mode
 */
#define HALMAC_NORMAL_HPQ_PGNUM_8821C           16 /*2048*/
#define HALMAC_NORMAL_NPQ_PGNUM_8821C           16 /*2048*/
#define HALMAC_NORMAL_LPQ_PGNUM_8821C           16 /*2048*/
#define HALMAC_NORMAL_EXPQ_PGNUM_8821C          14 /**/
#define HALMAC_NORMAL_GAP_PGNUM_8821C           1 /*128*/
 
/*
 * Loopback mode
 */
#define HALMAC_LB_HPQ_PGNUM_8821C        16 /*2048*/
#define HALMAC_LB_NPQ_PGNUM_8821C       16 /*2048*/
#define HALMAC_LB_LPQ_PGNUM_8821C       16 /*2048*/
#define HALMAC_LB_EXPQ_PGNUM_8821C      14 /**/
#define HALMAC_LB_GAP_PGNUM_8821C       256 /**/
 
/*
 * Normal mode - 2Bulkout
 */
#define HALMAC_NORMAL_2BULKOUT_HPQ_PGNUM_8821C       16 /*2048*/
#define HALMAC_NORMAL_2BULKOUT_NPQ_PGNUM_8821C       16 /*2048*/
#define HALMAC_NORMAL_2BULKOUT_LPQ_PGNUM_8821C       0 /*0*/
#define HALMAC_NORMAL_2BULKOUT_EXPQ_PGNUM_8821C      0 /*0*/
#define HALMAC_NORMAL_2BULKOUT_GAP_PGNUM_8821C       1 /*128*/
 
/*
 * Loopback mode - 2Bulkout
 */
#define HALMAC_LB_2BULKOUT_HPQ_PGNUM_8821C        16 /*2048*/
#define HALMAC_LB_2BULKOUT_NPQ_PGNUM_8821C      16 /*2048*/
#define HALMAC_LB_2BULKOUT_LPQ_PGNUM_8821C      0 /*0*/
#define HALMAC_LB_2BULKOUT_EXPQ_PGNUM_8821C     0 /*0*/
#define HALMAC_LB_2BULKOUT_GAP_PGNUM_8821C      256 /**/
 
/*
 * Normal mode - 3BULKOUT
 */
#define HALMAC_NORMAL_3BULKOUT_HPQ_PGNUM_8821C          16 /*2048*/
#define HALMAC_NORMAL_3BULKOUT_NPQ_PGNUM_8821C          16 /*2048*/
#define HALMAC_NORMAL_3BULKOUT_LPQ_PGNUM_8821C          16 /*2048*/
#define HALMAC_NORMAL_3BULKOUT_EXPQ_PGNUM_8821C         0 /*0*/
#define HALMAC_NORMAL_3BULKOUT_GAP_PGNUM_8821C          1 /*128*/
 
/*
 * Loopback mode - 3BULKOUT
 */
#define HALMAC_LB_3BULKOUT_HPQ_PGNUM_8821C           16 /*2048*/
#define HALMAC_LB_3BULKOUT_NPQ_PGNUM_8821C           16 /*2048*/
#define HALMAC_LB_3BULKOUT_LPQ_PGNUM_8821C           16 /*2048*/
#define HALMAC_LB_3BULKOUT_EXPQ_PGNUM_8821C          0 /*0*/
#define HALMAC_LB_3BULKOUT_GAP_PGNUM_8821C           256 /**/
 
/*
 * WMM mode
 */
#define HALMAC_WMM_HPQ_PGNUM_8821C            16 /*2048*/
#define HALMAC_WMM_NPQ_PGNUM_8821C            16 /*2048*/
#define HALMAC_WMM_LPQ_PGNUM_8821C            16 /*2048*/
#define HALMAC_WMM_EXPQ_PGNUM_8821C            14 /**/
#define HALMAC_WMM_GAP_PGNUM_8821C            1 /*128*/
 
#endif