1 /******************************************************************************
2  *
3  * Copyright(c) 2009-2013  Realtek Corporation.
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  * The full GNU General Public License is included in this distribution in the
15  * file called LICENSE.
16  *
17  * Contact Information:
18  * wlanfae <wlanfae@realtek.com>
19  * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park,
20  * Hsinchu 300, Taiwan.
21  *
22  * Larry Finger <Larry.Finger@lwfinger.net>
23  *
24  *****************************************************************************/
25 
26 #include "../pwrseqcmd.h"
27 #include "pwrseq.h"
28 
29 /* drivers should parse below arrays and do the corresponding actions */
30 /*3 Power on  Array*/
31 struct wlan_pwr_cfg rtl8188ee_power_on_flow[RTL8188EE_TRANS_CARDEMU_TO_ACT_STEPS
32 					+ RTL8188EE_TRANS_END_STEPS] = {
33 	RTL8188EE_TRANS_CARDEMU_TO_ACT
34 	RTL8188EE_TRANS_END
35 };
36 
37 /*3Radio off GPIO Array */
38 struct wlan_pwr_cfg rtl8188ee_radio_off_flow[RTL8188EE_TRANS_ACT_TO_CARDEMU_STEPS
39 					+ RTL8188EE_TRANS_END_STEPS] = {
40 	RTL8188EE_TRANS_ACT_TO_CARDEMU
41 	RTL8188EE_TRANS_END
42 };
43 
44 /*3Card Disable Array*/
45 struct wlan_pwr_cfg rtl8188ee_card_disable_flow
46 		[RTL8188EE_TRANS_ACT_TO_CARDEMU_STEPS +
47 		 RTL8188EE_TRANS_CARDEMU_TO_PDN_STEPS +
48 		 RTL8188EE_TRANS_END_STEPS] = {
49 	RTL8188EE_TRANS_ACT_TO_CARDEMU
50 	RTL8188EE_TRANS_CARDEMU_TO_CARDDIS
51 	RTL8188EE_TRANS_END
52 };
53 
54 /*3 Card Enable Array*/
55 struct wlan_pwr_cfg rtl8188ee_card_enable_flow
56 		[RTL8188EE_TRANS_ACT_TO_CARDEMU_STEPS +
57 		 RTL8188EE_TRANS_CARDEMU_TO_PDN_STEPS +
58 		 RTL8188EE_TRANS_END_STEPS] = {
59 	RTL8188EE_TRANS_CARDDIS_TO_CARDEMU
60 	RTL8188EE_TRANS_CARDEMU_TO_ACT
61 	RTL8188EE_TRANS_END
62 };
63 
64 /*3Suspend Array*/
65 struct wlan_pwr_cfg rtl8188ee_suspend_flow[RTL8188EE_TRANS_ACT_TO_CARDEMU_STEPS
66 					+ RTL8188EE_TRANS_CARDEMU_TO_SUS_STEPS
67 					+ RTL8188EE_TRANS_END_STEPS] = {
68 	RTL8188EE_TRANS_ACT_TO_CARDEMU
69 	RTL8188EE_TRANS_CARDEMU_TO_SUS
70 	RTL8188EE_TRANS_END
71 };
72 
73 /*3 Resume Array*/
74 struct wlan_pwr_cfg rtl8188ee_resume_flow[RTL8188EE_TRANS_ACT_TO_CARDEMU_STEPS
75 					+ RTL8188EE_TRANS_CARDEMU_TO_SUS_STEPS
76 					+ RTL8188EE_TRANS_END_STEPS] = {
77 	RTL8188EE_TRANS_SUS_TO_CARDEMU
78 	RTL8188EE_TRANS_CARDEMU_TO_ACT
79 	RTL8188EE_TRANS_END
80 };
81 
82 /*3HWPDN Array*/
83 struct wlan_pwr_cfg rtl8188ee_hwpdn_flow[RTL8188EE_TRANS_ACT_TO_CARDEMU_STEPS
84 				+ RTL8188EE_TRANS_CARDEMU_TO_PDN_STEPS
85 				+ RTL8188EE_TRANS_END_STEPS] = {
86 	RTL8188EE_TRANS_ACT_TO_CARDEMU
87 	RTL8188EE_TRANS_CARDEMU_TO_PDN
88 	RTL8188EE_TRANS_END
89 };
90 
91 /*3 Enter LPS */
92 struct wlan_pwr_cfg rtl8188ee_enter_lps_flow[RTL8188EE_TRANS_ACT_TO_LPS_STEPS
93 					+ RTL8188EE_TRANS_END_STEPS] = {
94 	/*FW behavior*/
95 	RTL8188EE_TRANS_ACT_TO_LPS
96 	RTL8188EE_TRANS_END
97 };
98 
99 /*3 Leave LPS */
100 struct wlan_pwr_cfg rtl8188ee_leave_lps_flow[RTL8188EE_TRANS_LPS_TO_ACT_STEPS
101 					+ RTL8188EE_TRANS_END_STEPS] = {
102 	/*FW behavior*/
103 	RTL8188EE_TRANS_LPS_TO_ACT
104 	RTL8188EE_TRANS_END
105 };
106