5c918c2a6e2adfa8b5d3413550dabf063548ab72
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / combo_mt66xx / mt6620 / wlan / os / linux / include / gl_rst.h
1 /*
2 ** $Id: //Department/DaVinci/BRANCHES/MT6620_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
12
13 #ifndef _GL_RST_H
14 #define _GL_RST_H
15
16 /*******************************************************************************
17 *                         C O M P I L E R   F L A G S
18 ********************************************************************************
19 */
20
21 /*******************************************************************************
22 *                    E X T E R N A L   R E F E R E N C E S
23 ********************************************************************************
24 */
25 #include "gl_typedef.h"
26
27 /*******************************************************************************
28 *                              C O N S T A N T S
29 ********************************************************************************
30 */
31
32 /*******************************************************************************
33 *                             D A T A   T Y P E S
34 ********************************************************************************
35 */
36 /* duplicated from wmt_exp.h for better driver isolation */
37 typedef enum _ENUM_WMTDRV_TYPE_T {
38     WMTDRV_TYPE_BT = 0,
39     WMTDRV_TYPE_FM = 1,
40     WMTDRV_TYPE_GPS = 2,
41     WMTDRV_TYPE_WIFI = 3,
42     WMTDRV_TYPE_WMT = 4,
43     WMTDRV_TYPE_STP = 5,
44     WMTDRV_TYPE_SDIO1 = 6,
45     WMTDRV_TYPE_SDIO2 = 7,
46     WMTDRV_TYPE_LPBK = 8,
47     WMTDRV_TYPE_MAX
48 } ENUM_WMTDRV_TYPE_T, *P_ENUM_WMTDRV_TYPE_T;
49
50 typedef enum _ENUM_WMTMSG_TYPE_T {
51     WMTMSG_TYPE_POWER_ON = 0,
52     WMTMSG_TYPE_POWER_OFF = 1,
53     WMTMSG_TYPE_RESET = 2,
54     WMTMSG_TYPE_STP_RDY= 3,
55     WMTMSG_TYPE_HW_FUNC_ON= 4,
56     WMTMSG_TYPE_MAX
57 } ENUM_WMTMSG_TYPE_T, *P_ENUM_WMTMSG_TYPE_T;
58
59 typedef enum _ENUM_WMTRSTMSG_TYPE_T{
60     WMTRSTMSG_RESET_START = 0x0,
61     WMTRSTMSG_RESET_END = 0x1,
62     WMTRSTMSG_RESET_MAX,
63     WMTRSTMSG_RESET_INVALID = 0xff
64 } ENUM_WMTRSTMSG_TYPE_T, *P_ENUM_WMTRSTMSG_TYPE_T;
65
66 typedef void (*PF_WMT_CB)(
67     ENUM_WMTDRV_TYPE_T, /* Source driver type */
68     ENUM_WMTDRV_TYPE_T, /* Destination driver type */
69     ENUM_WMTMSG_TYPE_T, /* Message type */
70     void *, /* READ-ONLY buffer. Buffer is allocated and freed by WMT_drv. Client
71                can't touch this buffer after this function return. */
72     unsigned int /* Buffer size in unit of byte */
73     );
74
75
76 typedef enum _ENUM_WIFI_NETLINK_GRP_T{
77     WIFI_NETLINK_GRP_RESET,
78     WIFI_NETLINK_GRP_MAX
79 } ENUM_WIFI_NETLINK_GRP_T, *P_ENUM_WIFI_NETLINK_GRP_T;
80
81
82 typedef int (*set_p2p_mode)(struct net_device * netdev, PARAM_CUSTOM_P2P_SET_STRUC_T p2pmode);
83
84
85 /*******************************************************************************
86 *                            P U B L I C   D A T A
87 ********************************************************************************
88 */
89
90 /*******************************************************************************
91 *                           P R I V A T E   D A T A
92 ********************************************************************************
93 */
94
95 /*******************************************************************************
96 *                                 M A C R O S
97 ********************************************************************************
98 */
99
100 /*******************************************************************************
101 *                  F U N C T I O N   D E C L A R A T I O N S
102 ********************************************************************************
103 */
104
105 /*******************************************************************************
106 *                              F U N C T I O N S
107 ********************************************************************************
108 */
109
110 /*----------------------------------------------------------------------------*/
111 /* Reset Initialization/Uninitialization                                      */
112 /*----------------------------------------------------------------------------*/
113 VOID
114 glResetInit(
115     VOID
116     );
117
118 VOID
119 glResetUninit(
120     VOID
121     );
122
123 VOID
124 glSendResetRequest(
125     VOID
126     );
127
128 BOOLEAN
129 kalIsResetting(
130     VOID
131     );
132
133
134 #endif /* _GL_RST_H */