2 ** $Id: //Department/DaVinci/BRANCHES/MT662X_593X_WIFI_DRIVER_V2_3/include/nic/mt5931_reg.h#1 $
5 /*! \file "mt5931_reg.h"
6 \brief The common register definition of mt5931
11 /*******************************************************************************
12 * Copyright (c) 2010 MediaTek Inc.
14 * All rights reserved. Copying, compilation, modification, distribution
15 * or any other use whatsoever of this material is strictly prohibited
16 * except in accordance with a Software License Agreement with
18 ********************************************************************************
21 /*******************************************************************************
24 * BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND
25 * AGREES THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK
26 * SOFTWARE") RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE
27 * PROVIDED TO BUYER ON AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY
28 * DISCLAIMS ANY AND ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
29 * LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
30 * PARTICULAR PURPOSE OR NONINFRINGEMENT. NEITHER DOES MEDIATEK PROVIDE
31 * ANY WARRANTY WHATSOEVER WITH RESPECT TO THE SOFTWARE OF ANY THIRD PARTY
32 * WHICH MAY BE USED BY, INCORPORATED IN, OR SUPPLIED WITH THE MEDIATEK
33 * SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH THIRD PARTY FOR ANY
34 * WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE
35 * FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S SPECIFICATION OR TO
36 * CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
38 * BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
39 * LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL
40 * BE, AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT
41 * ISSUE, OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY
42 * BUYER TO MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
44 * THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
45 * WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT
46 * OF LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING
47 * THEREOF AND RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN
48 * FRANCISCO, CA, UNDER THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE
50 ********************************************************************************
54 ** $Log: mt5931_reg.h $
57 * [WCXRP00000496] [MT5931][Driver] Apply host-triggered chip reset before initializing firmware download procedures
58 * apply host-triggered chip reset mechanism before initializing firmware download procedures.
61 * [WCXRP00000412] [MT6620 Wi-Fi][FW/Driver] Dump firmware assert info at android kernel log
62 * Add WHISR_D2H_SW_ASSERT_INFO_INT to MT5931_reg.
65 * [WCXRP00000083] [MT5931][Driver][FW] Add necessary logic for MT5931 first connection
66 * add firmware download for MT5931.
73 /*******************************************************************************
74 * C O M P I L E R F L A G S
75 ********************************************************************************
78 /*******************************************************************************
79 * E X T E R N A L R E F E R E N C E S
80 ********************************************************************************
83 /*******************************************************************************
85 ********************************************************************************
88 /*******************************************************************************
90 ********************************************************************************
94 /*******************************************************************************
96 ********************************************************************************
99 /*******************************************************************************
100 * P R I V A T E D A T A
101 ********************************************************************************
104 /*******************************************************************************
106 ********************************************************************************
109 /*******************************************************************************
110 * F U N C T I O N D E C L A R A T I O N S
111 ********************************************************************************
114 /*******************************************************************************
116 ********************************************************************************
119 //1 MT5931 MCR Definition
124 #define MCR_WCIR 0x0000
126 //4 HIF Low Power Control Register
127 #define MCR_WHLPCR 0x0004
129 //4 Control Status Register
130 #define MCR_WSDIOCSR 0x0008
131 #define MCR_WSPICSR 0x0008
133 //4 HIF Control Register
134 #define MCR_WHCR 0x000C
136 //4 HIF Interrupt Status Register
137 #define MCR_WHISR 0x0010
139 //4 HIF Interrupt Enable Register
140 #define MCR_WHIER 0x0014
142 //4 Abnormal Status Register
143 #define MCR_WASR 0x0018
145 //4 WLAN Software Interrupt Control Register
146 #define MCR_WSICR 0x001C
148 //4 WLAN TX Status Register
149 #define MCR_WTSR0 0x0020
151 //4 WLAN TX Status Register
152 #define MCR_WTSR1 0x0024
154 //4 WLAN TX Data Register 0
155 #define MCR_WTDR0 0x0028
157 //4 WLAN TX Data Register 1
158 #define MCR_WTDR1 0x002C
160 //4 WLAN RX Data Register 0
161 #define MCR_WRDR0 0x0030
163 //4 WLAN RX Data Register 1
164 #define MCR_WRDR1 0x0034
166 //4 Host to Device Send Mailbox 0 Register
167 #define MCR_H2DSM0R 0x0038
169 //4 Host to Device Send Mailbox 1 Register
170 #define MCR_H2DSM1R 0x003c
172 //4 Device to Host Receive Mailbox 0 Register
173 #define MCR_D2HRM0R 0x0040
175 //4 Device to Host Receive Mailbox 1 Register
176 #define MCR_D2HRM1R 0x0044
178 //4 Device to Host Receive Mailbox 2 Register
179 #define MCR_D2HRM2R 0x0048
181 //4 WLAN RX Packet Length Register
182 #define MCR_WRPLR 0x0050
184 //4 EHPI Transaction Count Register
185 #define MCR_EHTCR 0x0054
187 //4 Firmware Download Data Register
188 #define MCR_FWDLDR 0x0080
190 //4 Firmware Download Destination Starting Address Register
191 #define MCR_FWDLDSAR 0x0084
193 //4 Firmware Download Status Register
194 #define MCR_FWDLSR 0x0088
196 //4 WLAN MCU Control & Status Register
197 #define MCR_WMCSR 0x008c
199 //4 WLAN Firmware Download Configuration
200 #define MCR_FWCFG 0x0090
203 //#if CFG_SDIO_INTR_ENHANCE
204 typedef struct _ENHANCE_MODE_DATA_STRUCT_T {
220 UINT_16 u2NumValidRx0Len;
221 UINT_16 u2NumValidRx1Len;
222 UINT_16 au2Rx0Len[16];
223 UINT_16 au2Rx1Len[16];
225 UINT_32 au4RxStatusRaw[17];
227 UINT_32 u4RcvMailbox0;
228 UINT_32 u4RcvMailbox1;
229 } ENHANCE_MODE_DATA_STRUCT_T, *P_ENHANCE_MODE_DATA_STRUCT_T;
230 // #endif /* ENHANCE_MODE_DATA_STRUCT_T */
233 //2 Definition in each register
235 #define WCIR_WLAN_READY BIT(21)
236 #define WCIR_POR_INDICATOR BIT(20)
237 #define WCIR_REVISION_ID BITS(16,19)
238 #define WCIR_CHIP_ID BITS(0,15)
240 #define MTK_CHIP_REV 0x00005931
241 #define MTK_CHIP_MP_REVERSION_ID 0x0
244 #define WHLPCR_FW_OWN_REQ_CLR BIT(9)
245 #define WHLPCR_FW_OWN_REQ_SET BIT(8)
246 #define WHLPCR_IS_DRIVER_OWN BIT(8)
247 #define WHLPCR_INT_EN_CLR BIT(1)
248 #define WHLPCR_INT_EN_SET BIT(0)
251 #define WSDIOCSR_SDIO_RE_INIT_EN BIT(0)
254 #define WCSR_SPI_MODE_SEL BITS(3,4)
255 #define WCSR_SPI_ENDIAN_BIG BIT(2)
256 #define WCSR_SPI_INT_OUT_MODE BIT(1)
257 #define WCSR_SPI_DATA_OUT_MODE BIT(0)
260 #define WHCR_RX_ENHANCE_MODE_EN BIT(16)
261 #define WHCR_MAX_HIF_RX_LEN_NUM BITS(4,7)
262 #define WHCR_W_MAILBOX_RD_CLR_EN BIT(2)
263 #define WHCR_W_INT_CLR_CTRL BIT(1)
264 #define WHCR_MCU_DBG_EN BIT(0)
265 #define WHCR_OFFSET_MAX_HIF_RX_LEN_NUM 4
268 #define WHISR_D2H_SW_INT BITS(8,31)
269 #define WHISR_D2H_SW_ASSERT_INFO_INT BIT(31)
270 #define WHISR_FW_OWN_BACK_INT BIT(4)
271 #define WHISR_ABNORMAL_INT BIT(3)
272 #define WHISR_RX1_DONE_INT BIT(2)
273 #define WHISR_RX0_DONE_INT BIT(1)
274 #define WHISR_TX_DONE_INT BIT(0)
278 #define WHIER_D2H_SW_INT BITS(8,31)
279 #define WHIER_FW_OWN_BACK_INT_EN BIT(4)
280 #define WHIER_ABNORMAL_INT_EN BIT(3)
281 #define WHIER_RX1_DONE_INT_EN BIT(2)
282 #define WHIER_RX0_DONE_INT_EN BIT(1)
283 #define WHIER_TX_DONE_INT_EN BIT(0)
284 #define WHIER_DEFAULT (WHIER_RX0_DONE_INT_EN | \
285 WHIER_RX1_DONE_INT_EN | \
286 WHIER_TX_DONE_INT_EN | \
287 WHIER_ABNORMAL_INT_EN | \
293 #define WASR_FW_OWN_INVALID_ACCESS BIT(4)
294 #define WASR_RX1_UNDER_FLOW BIT(3)
295 #define WASR_RX0_UNDER_FLOW BIT(2)
296 #define WASR_TX1_OVER_FLOW BIT(1)
297 #define WASR_TX0_OVER_FLOW BIT(0)
301 #define WSICR_H2D_SW_INT_SET BITS(16,31)
305 #define WRPLR_RX1_PACKET_LENGTH BITS(16,31)
306 #define WRPLR_RX0_PACKET_LENGTH BITS(0,15)
310 #define FWDLSR_FWDL_RDY BIT(8)
311 #define FWDLSR_FWDL_MODE BIT(0)
315 #define WMCSR_CHIP_RST BIT(15) /* write */
316 #define WMCSR_DL_OK BIT(15) /* read */
317 #define WMCSR_DL_FAIL BIT(14)
318 #define WMCSR_PLLRDY BIT(13)
319 #define WMCSR_WF_ON BIT(12)
320 #define WMCSR_INI_RDY BIT(11)
321 #define WMCSR_WF_EN BIT(6)
322 #define WMCSR_SW_EN BIT(5)
323 #define WMCSR_SPLLEN BIT(4)
324 #define WMCSR_SPWREN BIT(3)
325 #define WMCSR_HSTOPIL BIT(2)
326 #define WMCSR_FWDLRST BIT(1)
327 #define WMCSR_FWDLEN BIT(0)
331 #define FWCFG_KSEL BITS(14,15)
332 #define FWCFG_FLEN BITS(0,13)
335 #endif /* _MT5931_REG_H */