2 ** $Id: //Department/DaVinci/BRANCHES/MT6620_WIFI_DRIVER_V2_2/include/nic_init_cmd_event.h#1 $
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.
10 /*******************************************************************************
11 * Copyright (c) 2007 MediaTek Inc.
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
17 ********************************************************************************
20 /*******************************************************************************
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.
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.
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
49 ********************************************************************************
53 ** $Log: nic_init_cmd_event.h $
55 * 10 19 2011 yuche.tsai
56 * [WCXRP00001045] [WiFi Direct][Driver] Check 2.1 branch.
58 * Davinci Maintrunk Label: MT6620_WIFI_DRIVER_FW_TRUNK_MT6620E5_111019_0926.
61 * [WCXRP00000577] [MT6620 Wi-Fi][Driver][FW] Create V2.0 branch for firmware and driver
62 * create V2.0 driver release based on label "MT6620_WIFI_DRIVER_V2_0_110318_1600" from main trunk
66 * [WPD00003833] [MT6620 and MT5931] Driver migration - move to new repository.
68 * 06 06 2010 kevin.huang
69 * [WPD00003832][MT6620 5931] Create driver base
70 * [MT6620 5931] Create driver base
73 * [WPD00001943]Create WiFi test driver framework on WinXP
74 * add two option for ACK and ENCRYPTION for firmware download
77 * [WPD00001943]Create WiFi test driver framework on WinXP
78 * add command/event definitions for initial states
81 * [WPD00001943]Create WiFi test driver framework on WinXP
82 * implement host-side firmware download logic
85 * [WPD00001943]Create WiFi test driver framework on WinXP
86 * prepare for implementing fw download logic
89 #ifndef _NIC_INIT_CMD_EVENT_H
90 #define _NIC_INIT_CMD_EVENT_H
92 /*******************************************************************************
93 * C O M P I L E R F L A G S
94 ********************************************************************************
97 /*******************************************************************************
98 * E X T E R N A L R E F E R E N C E S
99 ********************************************************************************
102 #include "gl_typedef.h"
104 /*******************************************************************************
106 ********************************************************************************
108 #define INIT_CMD_STATUS_SUCCESS 0
109 #define INIT_CMD_STATUS_REJECTED_INVALID_PARAMS 1
110 #define INIT_CMD_STATUS_REJECTED_CRC_ERROR 2
111 #define INIT_CMD_STATUS_REJECTED_DECRYPT_FAIL 3
112 #define INIT_CMD_STATUS_UNKNOWN 4
114 #define EVENT_HDR_SIZE OFFSET_OF(WIFI_EVENT_T, aucBuffer[0])
116 typedef enum _ENUM_INIT_CMD_ID {
117 INIT_CMD_ID_DOWNLOAD_BUF = 1,
118 INIT_CMD_ID_WIFI_START,
119 INIT_CMD_ID_ACCESS_REG,
120 INIT_CMD_ID_QUERY_PENDING_ERROR
121 } ENUM_INIT_CMD_ID, *P_ENUM_INIT_CMD_ID;
123 typedef enum _ENUM_INIT_EVENT_ID {
124 INIT_EVENT_ID_CMD_RESULT = 1,
125 INIT_EVENT_ID_ACCESS_REG,
126 INIT_EVENT_ID_PENDING_ERROR
127 } ENUM_INIT_EVENT_ID, *P_ENUM_INIT_EVENT_ID;
129 /*******************************************************************************
131 ********************************************************************************
133 typedef UINT_8 CMD_STATUS;
136 typedef struct _INIT_WIFI_CMD_T {
141 } INIT_WIFI_CMD_T, *P_INIT_WIFI_CMD_T;
143 typedef struct _INIT_HIF_TX_HEADER_T {
144 UINT_16 u2TxByteCount;
145 UINT_8 ucEtherTypeOffset;
147 INIT_WIFI_CMD_T rInitWifiCmd;
148 } INIT_HIF_TX_HEADER_T, *P_INIT_HIF_TX_HEADER_T;
150 #define DOWNLOAD_BUF_ENCRYPTION_MODE BIT(0)
151 #define DOWNLOAD_BUF_NO_CRC_CHECKING BIT(30)
152 #define DOWNLOAD_BUF_ACK_OPTION BIT(31)
153 typedef struct _INIT_CMD_DOWNLOAD_BUF {
159 } INIT_CMD_DOWNLOAD_BUF, *P_INIT_CMD_DOWNLOAD_BUF;
161 typedef struct _INIT_CMD_WIFI_START {
164 } INIT_CMD_WIFI_START, *P_INIT_CMD_WIFI_START;
166 typedef struct _INIT_CMD_ACCESS_REG {
168 UINT_8 aucReserved[3];
171 } INIT_CMD_ACCESS_REG, *P_INIT_CMD_ACCESS_REG;
174 typedef struct _INIT_WIFI_EVENT_T {
175 UINT_16 u2RxByteCount;
179 } INIT_WIFI_EVENT_T, *P_INIT_WIFI_EVENT_T;
181 typedef struct _INIT_HIF_RX_HEADER_T {
182 INIT_WIFI_EVENT_T rInitWifiEvent;
183 } INIT_HIF_RX_HEADER_T, *P_INIT_HIF_RX_HEADER_T;
185 typedef struct _INIT_EVENT_CMD_RESULT {
186 UINT_8 ucStatus; // 0: success
187 // 1: rejected by invalid param
188 // 2: rejected by incorrect CRC
189 // 3: rejected by decryption failure
191 UINT_8 aucReserved[3];
192 } INIT_EVENT_CMD_RESULT, *P_INIT_EVENT_CMD_RESULT, INIT_EVENT_PENDING_ERROR, *P_INIT_EVENT_PENDING_ERROR;
194 typedef struct _INIT_EVENT_ACCESS_REG {
197 } INIT_EVENT_ACCESS_REG, *P_INIT_EVENT_ACCESS_REG;
199 /*******************************************************************************
200 * P U B L I C D A T A
201 ********************************************************************************
204 /*******************************************************************************
205 * P R I V A T E D A T A
206 ********************************************************************************
209 /*******************************************************************************
211 ********************************************************************************
214 /*******************************************************************************
215 * F U N C T I O N D E C L A R A T I O N S
216 ********************************************************************************
219 /*******************************************************************************
221 ********************************************************************************
224 #endif /* _NIC_INIT_CMD_EVENT_H */