add rk3288 pinctrl dts code
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / mt5931 / include / typedef.h
1 /*
2 ** $Id: //Department/DaVinci/BRANCHES/MT6620_WIFI_DRIVER_V2_3/include/typedef.h#1 $
3 */
4
5 /*! \file   typedef.h
6     \brief  Declaration of data type and return values of internal protocol stack.
7
8     In this file we declare the data type and return values which will be exported
9     to the GLUE Layer.
10 */
11
12
13
14 /*
15 ** $Log: typedef.h $
16  *
17  * 07 18 2011 chinghwa.yu
18  * [WCXRP00000063] Update BCM CoEx design and settings[WCXRP00000612] [MT6620 Wi-Fi] [FW] CSD update SWRDD algorithm
19  * Add CMD/Event for RDD and BWCS.
20  *
21  * 12 30 2010 cp.wu
22  * [WCXRP00000327] [MT6620 Wi-Fi][Driver] Improve HEC WHQA 6972 workaround coverage in driver side
23  * host driver not to set FW-own when there is still pending interrupts
24  *
25  * 09 03 2010 kevin.huang
26  * NULL
27  * Refine #include sequence and solve recursive/nested #include issue
28  *
29  * 08 16 2010 kevin.huang
30  * NULL
31  * Refine AAA functions
32  *
33  * 07 19 2010 jeffrey.chang
34  * 
35  * Linux port modification
36  *
37  * 07 08 2010 cp.wu
38  * 
39  * [WPD00003833] [MT6620 and MT5931] Driver migration - move to new repository.
40  *
41  * 06 23 2010 cp.wu
42  * [WPD00003833][MT6620 and MT5931] Driver migration 
43  * integrate .
44  *
45  * 06 18 2010 cm.chang
46  * [WPD00003841][LITE Driver] Migrate RLM/CNM to host driver 
47  * Provide cnmMgtPktAlloc() and alloc/free function of msg/buf
48  *
49  * 06 11 2010 cp.wu
50  * [WPD00003833][MT6620 and MT5931] Driver migration
51  * 1) migrate assoc.c.
52  * 2) add ucTxSeqNum for tracking frames which needs TX-DONE awareness
53  * 3) add configuration options for CNM_MEM and RSN modules
54  * 4) add data path for management frames
55  * 5) eliminate rPacketInfo of MSDU_INFO_T
56  *
57  * 06 09 2010 cp.wu
58  * [WPD00003833][MT6620 and MT5931] Driver migration
59  * add necessary changes to driver data paths.
60  *
61  * 06 09 2010 cp.wu
62  * [WPD00003833][MT6620 and MT5931] Driver migration
63  * add definitions for module migration.
64  *
65  * 06 07 2010 cp.wu
66  * [WPD00003833][MT6620 and MT5931] Driver migration
67  * add aa_fsm.h, ais_fsm.h, bss.h, mib.h and scan.h.
68  *
69  * 06 06 2010 kevin.huang
70  * [WPD00003832][MT6620 5931] Create driver base
71  * [MT6620 5931] Create driver base
72  *
73  * 06 03 2010 cp.wu
74  * [WPD00001943]Create WiFi test driver framework on WinXP
75  * move timer callback to glue layer.
76  *
77  * 05 31 2010 cp.wu
78  * [WPD00003831][MT6620 Wi-Fi] Add framework for Wi-Fi Direct support
79  * add cfg80211 interface, which is to replace WE, for further extension
80  *
81  * 03 24 2010 jeffrey.chang
82  * [WPD00003826]Initial import for Linux port
83  * initial import for Linux port
84  *
85  * 02 24 2010 cp.wu
86  * [WPD00001943]Create WiFi test driver framework on WinXP
87  * add Ethernet destination address information in packet info for TX
88  *
89  * 02 23 2010 cp.wu
90  * [WPD00001943]Create WiFi test driver framework on WinXP
91  * add new API: wlanProcessQueuedPackets()
92 **  \main\maintrunk.MT6620WiFiDriver_Prj\6 2009-03-23 21:41:37 GMT mtk01461
93 **  Update PACKET_INFO_INIT for TX Path
94 **  \main\maintrunk.MT6620WiFiDriver_Prj\5 2009-03-23 00:30:17 GMT mtk01461
95 **  Add parameter in PACKET_INFO_T for HIF Loopback
96 **  \main\maintrunk.MT6620WiFiDriver_Prj\4 2009-03-18 20:25:22 GMT mtk01461
97 **  Fix LINT warning
98 **  \main\maintrunk.MT6620WiFiDriver_Prj\3 2009-03-16 09:08:28 GMT mtk01461
99 **  Update TX PATH API
100 **  \main\maintrunk.MT6620WiFiDriver_Prj\2 2009-03-10 20:11:54 GMT mtk01426
101 **  Init for develop
102 **
103 */
104
105 #ifndef _TYPEDEF_H
106 #define _TYPEDEF_H
107
108 /*******************************************************************************
109 *                         C O M P I L E R   F L A G S
110 ********************************************************************************
111 */
112
113 /*******************************************************************************
114 *                    E X T E R N A L   R E F E R E N C E S
115 ********************************************************************************
116 */
117
118 /*******************************************************************************
119 *                              C O N S T A N T S
120 ********************************************************************************
121 */
122
123 /* ieee80211.h of linux has duplicated definitions */
124 #if defined(WLAN_STATUS_SUCCESS)
125 #undef WLAN_STATUS_SUCCESS
126 #endif
127
128 #define WLAN_STATUS_SUCCESS                     ((WLAN_STATUS) 0x00000000L)
129 #define WLAN_STATUS_PENDING                     ((WLAN_STATUS) 0x00000103L)
130 #define WLAN_STATUS_NOT_ACCEPTED                ((WLAN_STATUS) 0x00010003L)
131
132 #define WLAN_STATUS_MEDIA_CONNECT               ((WLAN_STATUS) 0x4001000BL)
133 #define WLAN_STATUS_MEDIA_DISCONNECT            ((WLAN_STATUS) 0x4001000CL)
134 #define WLAN_STATUS_MEDIA_SPECIFIC_INDICATION   ((WLAN_STATUS) 0x40010012L)
135
136 #define WLAN_STATUS_SCAN_COMPLETE               ((WLAN_STATUS) 0x60010001L)
137 #define WLAN_STATUS_MSDU_OK                     ((WLAN_STATUS) 0x60010002L)
138
139 /* TODO(Kevin): double check if 0x60010001 & 0x60010002 is proprietary */
140 #define WLAN_STATUS_ROAM_OUT_FIND_BEST          ((WLAN_STATUS) 0x60010101L)
141 #define WLAN_STATUS_ROAM_DISCOVERY              ((WLAN_STATUS) 0x60010102L)
142
143 #define WLAN_STATUS_FAILURE                     ((WLAN_STATUS) 0xC0000001L)
144 #define WLAN_STATUS_RESOURCES                   ((WLAN_STATUS) 0xC000009AL)
145 #define WLAN_STATUS_NOT_SUPPORTED               ((WLAN_STATUS) 0xC00000BBL)
146
147 #define WLAN_STATUS_MULTICAST_FULL              ((WLAN_STATUS) 0xC0010009L)
148 #define WLAN_STATUS_INVALID_PACKET              ((WLAN_STATUS) 0xC001000FL)
149 #define WLAN_STATUS_ADAPTER_NOT_READY           ((WLAN_STATUS) 0xC0010011L)
150 #define WLAN_STATUS_NOT_INDICATING              ((WLAN_STATUS) 0xC0010013L)
151 #define WLAN_STATUS_INVALID_LENGTH              ((WLAN_STATUS) 0xC0010014L)
152 #define WLAN_STATUS_INVALID_DATA                ((WLAN_STATUS) 0xC0010015L)
153 #define WLAN_STATUS_BUFFER_TOO_SHORT            ((WLAN_STATUS) 0xC0010016L)
154
155 #define WLAN_STATUS_BWCS_UPDATE            ((WLAN_STATUS) 0xC0010017L)
156
157 /* NIC status flags */
158 #define ADAPTER_FLAG_HW_ERR                     0x00400000
159
160 /* Type Length */
161 #define TL_IPV4     0x0008
162 #define TL_IPV6     0xDD86
163
164
165 /*******************************************************************************
166 *                             D A T A   T Y P E S
167 ********************************************************************************
168 */
169 /* Type definition for GLUE_INFO structure */
170 typedef struct _GLUE_INFO_T     GLUE_INFO_T, *P_GLUE_INFO_T;
171
172 /* Type definition for WLAN STATUS */
173 typedef UINT_32                 WLAN_STATUS, *P_WLAN_STATUS;
174
175 /* Type definition for ADAPTER structure */
176 typedef struct _ADAPTER_T       ADAPTER_T, *P_ADAPTER_T;
177
178 /* Type definition for MESSAGE HEADER structure */
179 typedef struct _MSG_HDR_T       MSG_HDR_T, *P_MSG_HDR_T;
180
181 /* Type definition for Pointer to OS Native Packet */
182 typedef void                    *P_NATIVE_PACKET;
183
184 /* Type definition for STA_RECORD_T structure to handle the connectivity and packet reception
185  * for a particular STA.
186  */
187 typedef struct _STA_RECORD_T    STA_RECORD_T, *P_STA_RECORD_T, **PP_STA_RECORD_T;
188
189 /* CMD_INFO_T is used by Glue Layer to send a cluster of Command(OID) information to
190  * the TX Path to reduce the parameters of a function call.
191  */
192 typedef struct _CMD_INFO_T      CMD_INFO_T, *P_CMD_INFO_T;
193
194 /* Following typedef should be removed later, because Glue Layer should not
195  * be aware of following data type.
196  */
197 typedef struct _SW_RFB_T        SW_RFB_T, *P_SW_RFB_T, **PP_SW_RFB_T;
198
199 typedef struct _MSDU_INFO_T     MSDU_INFO_T, *P_MSDU_INFO_T;
200
201 typedef struct _REG_ENTRY_T     REG_ENTRY_T, *P_REG_ENTRY_T;
202
203 /* IST handler definition */
204 typedef VOID (*IST_EVENT_FUNCTION)(P_ADAPTER_T);
205
206 /* Type definition for function pointer of timer handler */
207 typedef VOID (*PFN_TIMER_CALLBACK)(IN P_GLUE_INFO_T);
208
209
210 /*******************************************************************************
211 *                            P U B L I C   D A T A
212 ********************************************************************************
213 */
214
215 /*******************************************************************************
216 *                           P R I V A T E   D A T A
217 ********************************************************************************
218 */
219
220 /*******************************************************************************
221 *                                 M A C R O S
222 ********************************************************************************
223 */
224
225 /*******************************************************************************
226 *                  F U N C T I O N   D E C L A R A T I O N S
227 ********************************************************************************
228 */
229
230 /*******************************************************************************
231 *                              F U N C T I O N S
232 ********************************************************************************
233 */
234 #endif /* _TYPEDEF_H */
235
236