2 ** $Id: //Department/DaVinci/BRANCHES/MT662X_593X_WIFI_DRIVER_V2_3/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 $
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)
61 * [WPD00003833] [MT6620 and MT5931] Driver migration - move to new repository.
63 * 06 06 2010 kevin.huang
64 * [WPD00003832][MT6620 5931] Create driver base
65 * [MT6620 5931] Create driver base
68 * [WPD00001943]Create WiFi test driver framework on WinXP
69 * add two option for ACK and ENCRYPTION for firmware download
72 * [WPD00001943]Create WiFi test driver framework on WinXP
73 * add command/event definitions for initial states
76 * [WPD00001943]Create WiFi test driver framework on WinXP
77 * implement host-side firmware download logic
80 * [WPD00001943]Create WiFi test driver framework on WinXP
81 * prepare for implementing fw download logic
84 #ifndef _NIC_INIT_CMD_EVENT_H
85 #define _NIC_INIT_CMD_EVENT_H
87 /*******************************************************************************
88 * C O M P I L E R F L A G S
89 ********************************************************************************
92 /*******************************************************************************
93 * E X T E R N A L R E F E R E N C E S
94 ********************************************************************************
97 #include "gl_typedef.h"
99 /*******************************************************************************
101 ********************************************************************************
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
109 #define EVENT_HDR_SIZE OFFSET_OF(WIFI_EVENT_T, aucBuffer[0])
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;
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;
124 /*******************************************************************************
126 ********************************************************************************
128 typedef UINT_8 CMD_STATUS;
131 typedef struct _INIT_WIFI_CMD_T {
136 } INIT_WIFI_CMD_T, *P_INIT_WIFI_CMD_T;
138 typedef struct _INIT_HIF_TX_HEADER_T {
139 UINT_16 u2TxByteCount;
140 UINT_8 ucEtherTypeOffset;
142 INIT_WIFI_CMD_T rInitWifiCmd;
143 } INIT_HIF_TX_HEADER_T, *P_INIT_HIF_TX_HEADER_T;
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 {
154 } INIT_CMD_DOWNLOAD_BUF, *P_INIT_CMD_DOWNLOAD_BUF;
156 typedef struct _INIT_CMD_WIFI_START {
159 } INIT_CMD_WIFI_START, *P_INIT_CMD_WIFI_START;
161 typedef struct _INIT_CMD_ACCESS_REG {
163 UINT_8 aucReserved[3];
166 } INIT_CMD_ACCESS_REG, *P_INIT_CMD_ACCESS_REG;
169 typedef struct _INIT_WIFI_EVENT_T {
170 UINT_16 u2RxByteCount;
174 } INIT_WIFI_EVENT_T, *P_INIT_WIFI_EVENT_T;
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;
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
186 UINT_8 aucReserved[3];
187 } INIT_EVENT_CMD_RESULT, *P_INIT_EVENT_CMD_RESULT, INIT_EVENT_PENDING_ERROR, *P_INIT_EVENT_PENDING_ERROR;
189 typedef struct _INIT_EVENT_ACCESS_REG {
192 } INIT_EVENT_ACCESS_REG, *P_INIT_EVENT_ACCESS_REG;
194 /*******************************************************************************
195 * P U B L I C D A T A
196 ********************************************************************************
199 /*******************************************************************************
200 * P R I V A T E D A T A
201 ********************************************************************************
204 /*******************************************************************************
206 ********************************************************************************
209 /*******************************************************************************
210 * F U N C T I O N D E C L A R A T I O N S
211 ********************************************************************************
214 /*******************************************************************************
216 ********************************************************************************
219 #endif /* _NIC_INIT_CMD_EVENT_H */