Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland...
[firefly-linux-kernel-4.4.55.git] / drivers / staging / rtl8188eu / hal / Hal8188EPwrSeq.c
1 /******************************************************************************
2  *
3  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
4  *
5  * This program is free software; you can redistribute it and/or modify it
6  * under the terms of version 2 of the GNU General Public License as
7  * published by the Free Software Foundation.
8  *
9  * This program is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12  * more details.
13  *
14  * You should have received a copy of the GNU General Public License along with
15  * this program; if not, write to the Free Software Foundation, Inc.,
16  * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
17  *
18  *
19  ******************************************************************************/
20
21 #include "Hal8188EPwrSeq.h"
22 #include <rtl8188e_hal.h>
23
24 /*
25     drivers should parse below arrays and do the corresponding actions
26 */
27 /* 3 Power on  Array */
28 struct wl_pwr_cfg rtl8188E_power_on_flow[RTL8188E_TRANS_CARDEMU_TO_ACT_STEPS + RTL8188E_TRANS_END_STEPS] = {
29         RTL8188E_TRANS_CARDEMU_TO_ACT
30         RTL8188E_TRANS_END
31 };
32
33 /* 3Radio off Array */
34 struct wl_pwr_cfg rtl8188E_radio_off_flow[RTL8188E_TRANS_ACT_TO_CARDEMU_STEPS + RTL8188E_TRANS_END_STEPS] = {
35         RTL8188E_TRANS_ACT_TO_CARDEMU
36         RTL8188E_TRANS_END
37 };
38
39 /* 3Card Disable Array */
40 struct wl_pwr_cfg rtl8188E_card_disable_flow[RTL8188E_TRANS_ACT_TO_CARDEMU_STEPS + RTL8188E_TRANS_CARDEMU_TO_PDN_STEPS + RTL8188E_TRANS_END_STEPS] = {
41         RTL8188E_TRANS_ACT_TO_CARDEMU
42         RTL8188E_TRANS_CARDEMU_TO_CARDDIS
43         RTL8188E_TRANS_END
44 };
45
46 /* 3 Card Enable Array */
47 struct wl_pwr_cfg rtl8188E_card_enable_flow[RTL8188E_TRANS_ACT_TO_CARDEMU_STEPS + RTL8188E_TRANS_CARDEMU_TO_PDN_STEPS + RTL8188E_TRANS_END_STEPS] = {
48         RTL8188E_TRANS_CARDDIS_TO_CARDEMU
49         RTL8188E_TRANS_CARDEMU_TO_ACT
50         RTL8188E_TRANS_END
51 };
52
53 /* 3Suspend Array */
54 struct wl_pwr_cfg rtl8188E_suspend_flow[RTL8188E_TRANS_ACT_TO_CARDEMU_STEPS + RTL8188E_TRANS_CARDEMU_TO_SUS_STEPS + RTL8188E_TRANS_END_STEPS] = {
55         RTL8188E_TRANS_ACT_TO_CARDEMU
56         RTL8188E_TRANS_CARDEMU_TO_SUS
57         RTL8188E_TRANS_END
58 };
59
60 /* 3 Resume Array */
61 struct wl_pwr_cfg rtl8188E_resume_flow[RTL8188E_TRANS_ACT_TO_CARDEMU_STEPS + RTL8188E_TRANS_CARDEMU_TO_SUS_STEPS + RTL8188E_TRANS_END_STEPS] = {
62         RTL8188E_TRANS_SUS_TO_CARDEMU
63         RTL8188E_TRANS_CARDEMU_TO_ACT
64         RTL8188E_TRANS_END
65 };
66
67 /* 3HWPDN Array */
68 struct wl_pwr_cfg rtl8188E_hwpdn_flow[RTL8188E_TRANS_ACT_TO_CARDEMU_STEPS + RTL8188E_TRANS_CARDEMU_TO_PDN_STEPS + RTL8188E_TRANS_END_STEPS] = {
69         RTL8188E_TRANS_ACT_TO_CARDEMU
70         RTL8188E_TRANS_CARDEMU_TO_PDN
71         RTL8188E_TRANS_END
72 };
73
74 /* 3 Enter LPS */
75 struct wl_pwr_cfg rtl8188E_enter_lps_flow[RTL8188E_TRANS_ACT_TO_LPS_STEPS + RTL8188E_TRANS_END_STEPS] = {
76         /* FW behavior */
77         RTL8188E_TRANS_ACT_TO_LPS
78         RTL8188E_TRANS_END
79 };
80
81 /* 3 Leave LPS */
82 struct wl_pwr_cfg rtl8188E_leave_lps_flow[RTL8188E_TRANS_LPS_TO_ACT_STEPS + RTL8188E_TRANS_END_STEPS] = {
83         /* FW behavior */
84         RTL8188E_TRANS_LPS_TO_ACT
85         RTL8188E_TRANS_END
86 };