wifi: renew patch drivers/net/wireless
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / mt5931_kk / drv_wlan / include / nic_init_cmd_event.h
1 /*
2 ** $Id: //Department/DaVinci/BRANCHES/MT662X_593X_WIFI_DRIVER_V2_3/include/nic_init_cmd_event.h#1 $
3 */
4
5 /*! \file   "nic_init_cmd_event.h"
6     \brief This file contains the declairation file of the WLAN initialization routines
7            for MediaTek Inc. 802.11 Wireless LAN Adapters.
8 */
9
10 /*******************************************************************************
11 * Copyright (c) 2007 MediaTek Inc.
12 *
13 * All rights reserved. Copying, compilation, modification, distribution
14 * or any other use whatsoever of this material is strictly prohibited
15 * except in accordance with a Software License Agreement with
16 * MediaTek Inc.
17 ********************************************************************************
18 */
19
20 /*******************************************************************************
21 * LEGAL DISCLAIMER
22 *
23 * BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND
24 * AGREES THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK
25 * SOFTWARE") RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE
26 * PROVIDED TO BUYER ON AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY
27 * DISCLAIMS ANY AND ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
28 * LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
29 * PARTICULAR PURPOSE OR NONINFRINGEMENT. NEITHER DOES MEDIATEK PROVIDE
30 * ANY WARRANTY WHATSOEVER WITH RESPECT TO THE SOFTWARE OF ANY THIRD PARTY
31 * WHICH MAY BE USED BY, INCORPORATED IN, OR SUPPLIED WITH THE MEDIATEK
32 * SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH THIRD PARTY FOR ANY
33 * WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE
34 * FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S SPECIFICATION OR TO
35 * CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
36 *
37 * BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
38 * LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL
39 * BE, AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT
40 * ISSUE, OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY
41 * BUYER TO MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
42 *
43 * THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
44 * WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT
45 * OF LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING
46 * THEREOF AND RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN
47 * FRANCISCO, CA, UNDER THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE
48 * (ICC).
49 ********************************************************************************
50 */
51
52 /*
53 ** $Log: nic_init_cmd_event.h $
54  *
55  * 09 26 2011 cp.wu
56  * [WCXRP00001011] [MT6628 Wi-Fi] Firmware Download Agent: make CRC validation as an optional feature
57  * add definition for disabling CRC32 validation (for MT6628 only)
58  *
59  * 07 08 2010 cp.wu
60  * 
61  * [WPD00003833] [MT6620 and MT5931] Driver migration - move to new repository.
62  *
63  * 06 06 2010 kevin.huang
64  * [WPD00003832][MT6620 5931] Create driver base 
65  * [MT6620 5931] Create driver base
66  *
67  * 03 12 2010 cp.wu
68  * [WPD00001943]Create WiFi test driver framework on WinXP 
69  * add two option for ACK and ENCRYPTION for firmware download
70  *
71  * 03 01 2010 cp.wu
72  * [WPD00001943]Create WiFi test driver framework on WinXP 
73  * add command/event definitions for initial states
74  *
75  * 02 10 2010 cp.wu
76  * [WPD00001943]Create WiFi test driver framework on WinXP 
77  * implement host-side firmware download logic
78  *
79  * 02 08 2010 cp.wu
80  * [WPD00001943]Create WiFi test driver framework on WinXP 
81  * prepare for implementing fw download logic
82  *
83 */
84 #ifndef _NIC_INIT_CMD_EVENT_H
85 #define _NIC_INIT_CMD_EVENT_H
86
87 /*******************************************************************************
88 *                         C O M P I L E R   F L A G S
89 ********************************************************************************
90 */
91
92 /*******************************************************************************
93 *                    E X T E R N A L   R E F E R E N C E S
94 ********************************************************************************
95 */
96
97 #include "gl_typedef.h"
98
99 /*******************************************************************************
100 *                              C O N S T A N T S
101 ********************************************************************************
102 */
103 #define INIT_CMD_STATUS_SUCCESS                 0
104 #define INIT_CMD_STATUS_REJECTED_INVALID_PARAMS 1
105 #define INIT_CMD_STATUS_REJECTED_CRC_ERROR      2
106 #define INIT_CMD_STATUS_REJECTED_DECRYPT_FAIL   3
107 #define INIT_CMD_STATUS_UNKNOWN                 4
108
109 #define EVENT_HDR_SIZE          OFFSET_OF(WIFI_EVENT_T, aucBuffer[0])
110
111 typedef enum _ENUM_INIT_CMD_ID {
112     INIT_CMD_ID_DOWNLOAD_BUF = 1,
113     INIT_CMD_ID_WIFI_START,
114     INIT_CMD_ID_ACCESS_REG,
115     INIT_CMD_ID_QUERY_PENDING_ERROR
116 } ENUM_INIT_CMD_ID, *P_ENUM_INIT_CMD_ID;
117
118 typedef enum _ENUM_INIT_EVENT_ID {
119     INIT_EVENT_ID_CMD_RESULT = 1,
120     INIT_EVENT_ID_ACCESS_REG,
121     INIT_EVENT_ID_PENDING_ERROR
122 } ENUM_INIT_EVENT_ID, *P_ENUM_INIT_EVENT_ID;
123
124 /*******************************************************************************
125 *                             D A T A   T Y P E S
126 ********************************************************************************
127 */
128 typedef UINT_8 CMD_STATUS;
129
130 // commands
131 typedef struct _INIT_WIFI_CMD_T {
132     UINT_8      ucCID;
133     UINT_8      ucSeqNum;
134     UINT_16     u2Reserved;
135     UINT_8      aucBuffer[0];
136 } INIT_WIFI_CMD_T, *P_INIT_WIFI_CMD_T;
137
138 typedef struct _INIT_HIF_TX_HEADER_T {
139     UINT_16     u2TxByteCount;
140     UINT_8      ucEtherTypeOffset;
141     UINT_8      ucCSflags;
142     INIT_WIFI_CMD_T rInitWifiCmd;
143 } INIT_HIF_TX_HEADER_T, *P_INIT_HIF_TX_HEADER_T;
144
145 #define DOWNLOAD_BUF_ENCRYPTION_MODE    BIT(0)
146 #define DOWNLOAD_BUF_NO_CRC_CHECKING    BIT(30)
147 #define DOWNLOAD_BUF_ACK_OPTION         BIT(31)
148 typedef struct _INIT_CMD_DOWNLOAD_BUF {
149     UINT_32     u4Address;
150     UINT_32     u4Length;
151     UINT_32     u4CRC32;
152     UINT_32     u4DataMode;
153     UINT_8      aucBuffer[0];
154 } INIT_CMD_DOWNLOAD_BUF, *P_INIT_CMD_DOWNLOAD_BUF;
155
156 typedef struct _INIT_CMD_WIFI_START {
157     UINT_32     u4Override;
158     UINT_32     u4Address;
159 } INIT_CMD_WIFI_START, *P_INIT_CMD_WIFI_START;
160
161 typedef struct _INIT_CMD_ACCESS_REG {
162     UINT_8      ucSetQuery;
163     UINT_8      aucReserved[3];
164     UINT_32     u4Address;
165     UINT_32     u4Data;
166 } INIT_CMD_ACCESS_REG, *P_INIT_CMD_ACCESS_REG;
167
168 // Events
169 typedef struct _INIT_WIFI_EVENT_T {
170     UINT_16     u2RxByteCount;
171     UINT_8      ucEID;
172     UINT_8      ucSeqNum;
173     UINT_8      aucBuffer[0];
174 } INIT_WIFI_EVENT_T, *P_INIT_WIFI_EVENT_T;
175
176 typedef struct _INIT_HIF_RX_HEADER_T {
177     INIT_WIFI_EVENT_T rInitWifiEvent;
178 } INIT_HIF_RX_HEADER_T, *P_INIT_HIF_RX_HEADER_T;
179
180 typedef struct _INIT_EVENT_CMD_RESULT {
181     UINT_8      ucStatus;   // 0: success 
182                             // 1: rejected by invalid param 
183                             // 2: rejected by incorrect CRC
184                             // 3: rejected by decryption failure
185                             // 4: unknown CMD
186     UINT_8      aucReserved[3];
187 } INIT_EVENT_CMD_RESULT, *P_INIT_EVENT_CMD_RESULT, INIT_EVENT_PENDING_ERROR, *P_INIT_EVENT_PENDING_ERROR;
188
189 typedef struct _INIT_EVENT_ACCESS_REG {
190     UINT_32     u4Address;
191     UINT_32     u4Data;
192 } INIT_EVENT_ACCESS_REG, *P_INIT_EVENT_ACCESS_REG;
193
194 /*******************************************************************************
195 *                            P U B L I C   D A T A
196 ********************************************************************************
197 */
198
199 /*******************************************************************************
200 *                           P R I V A T E   D A T A
201 ********************************************************************************
202 */
203
204 /*******************************************************************************
205 *                                 M A C R O S
206 ********************************************************************************
207 */
208
209 /*******************************************************************************
210 *                   F U N C T I O N   D E C L A R A T I O N S
211 ********************************************************************************
212 */
213
214 /*******************************************************************************
215 *                              F U N C T I O N S
216 ********************************************************************************
217 */
218
219 #endif /* _NIC_INIT_CMD_EVENT_H */
220