support different wifi bt chip auto compatible
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / mt5931_kk / drv_wlan / os / linux / include / gl_rst.h
1 /*
2 ** $Id: //Department/DaVinci/BRANCHES/MT662X_593X_WIFI_DRIVER_V2_3/os/linux/include/gl_rst.h#1 $
3 */
4
5 /*! \file   gl_rst.h
6     \brief  Declaration of functions and finite state machine for 
7             MT6620 Whole-Chip Reset Mechanism
8 */
9
10 /*******************************************************************************
11 * Copyright (c) 2010 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 #ifndef _GL_RST_H
54 #define _GL_RST_H
55
56 /*******************************************************************************
57 *                         C O M P I L E R   F L A G S
58 ********************************************************************************
59 */
60
61 /*******************************************************************************
62 *                    E X T E R N A L   R E F E R E N C E S
63 ********************************************************************************
64 */
65 #include "gl_typedef.h"
66
67 /*******************************************************************************
68 *                              C O N S T A N T S
69 ********************************************************************************
70 */
71
72 /*******************************************************************************
73 *                             D A T A   T Y P E S
74 ********************************************************************************
75 */
76 /* duplicated from wmt_exp.h for better driver isolation */
77 typedef enum _ENUM_WMTDRV_TYPE_T {
78     WMTDRV_TYPE_BT = 0,
79     WMTDRV_TYPE_FM = 1,
80     WMTDRV_TYPE_GPS = 2,
81     WMTDRV_TYPE_WIFI = 3,
82     WMTDRV_TYPE_WMT = 4,
83     WMTDRV_TYPE_STP = 5,
84     WMTDRV_TYPE_SDIO1 = 6,
85     WMTDRV_TYPE_SDIO2 = 7,
86     WMTDRV_TYPE_LPBK = 8,
87     WMTDRV_TYPE_MAX
88 } ENUM_WMTDRV_TYPE_T, *P_ENUM_WMTDRV_TYPE_T;
89
90 typedef enum _ENUM_WMTMSG_TYPE_T {
91     WMTMSG_TYPE_POWER_ON = 0,
92     WMTMSG_TYPE_POWER_OFF = 1,
93     WMTMSG_TYPE_RESET = 2,
94     WMTMSG_TYPE_STP_RDY= 3,
95     WMTMSG_TYPE_HW_FUNC_ON= 4,
96     WMTMSG_TYPE_MAX
97 } ENUM_WMTMSG_TYPE_T, *P_ENUM_WMTMSG_TYPE_T;
98
99 typedef enum _ENUM_WMTRSTMSG_TYPE_T{
100     WMTRSTMSG_RESET_START = 0x0,
101     WMTRSTMSG_RESET_END = 0x1,
102     WMTRSTMSG_RESET_MAX,
103     WMTRSTMSG_RESET_INVALID = 0xff
104 } ENUM_WMTRSTMSG_TYPE_T, *P_ENUM_WMTRSTMSG_TYPE_T;
105
106 typedef void (*PF_WMT_CB)(
107     ENUM_WMTDRV_TYPE_T, /* Source driver type */
108     ENUM_WMTDRV_TYPE_T, /* Destination driver type */
109     ENUM_WMTMSG_TYPE_T, /* Message type */
110     void *, /* READ-ONLY buffer. Buffer is allocated and freed by WMT_drv. Client
111                can't touch this buffer after this function return. */
112     unsigned int /* Buffer size in unit of byte */
113     );
114
115
116 typedef enum _ENUM_WIFI_NETLINK_GRP_T{
117     WIFI_NETLINK_GRP_RESET,
118     WIFI_NETLINK_GRP_MAX
119 } ENUM_WIFI_NETLINK_GRP_T, *P_ENUM_WIFI_NETLINK_GRP_T;
120
121 typedef int (*set_p2p_mode)(struct net_device * netdev, PARAM_CUSTOM_P2P_SET_STRUC_T p2pmode);
122
123
124 /*******************************************************************************
125 *                            P U B L I C   D A T A
126 ********************************************************************************
127 */
128
129 /*******************************************************************************
130 *                           P R I V A T E   D A T A
131 ********************************************************************************
132 */
133
134 /*******************************************************************************
135 *                                 M A C R O S
136 ********************************************************************************
137 */
138
139 /*******************************************************************************
140 *                  F U N C T I O N   D E C L A R A T I O N S
141 ********************************************************************************
142 */
143
144 /*******************************************************************************
145 *                              F U N C T I O N S
146 ********************************************************************************
147 */
148
149 /*----------------------------------------------------------------------------*/
150 /* Reset Initialization/Uninitialization                                      */
151 /*----------------------------------------------------------------------------*/
152 VOID
153 glResetInit(
154     VOID
155     );
156
157 VOID
158 glResetUninit(
159     VOID
160     );
161
162 VOID
163 glSendResetRequest(
164     VOID
165     );
166
167 BOOLEAN
168 kalIsResetting(
169     VOID
170     );
171
172
173 #endif /* _GL_RST_H */