1 /******************************************************************************
2  *
3  * Copyright(c) 2007 - 2012 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  ******************************************************************************/
15 
16 #include "Hal8723PwrSeq.h"
17 
18 /*
19     drivers should parse below arrays and do the corresponding actions
20 */
21 /* 3 Power on  Array */
22 struct wlan_pwr_cfg rtl8723AU_power_on_flow[RTL8723A_TRANS_CARDEMU_TO_ACT_STEPS+RTL8723A_TRANS_END_STEPS] = {
23 	RTL8723A_TRANS_CARDEMU_TO_ACT
24 	RTL8723A_TRANS_END
25 };
26 
27 /* 3 Radio off GPIO Array */
28 struct wlan_pwr_cfg rtl8723AU_radio_off_flow[RTL8723A_TRANS_ACT_TO_CARDEMU_STEPS+RTL8723A_TRANS_END_STEPS] = {
29 	RTL8723A_TRANS_ACT_TO_CARDEMU
30 	RTL8723A_TRANS_END
31 };
32 
33 /* 3 Card Disable Array */
34 struct wlan_pwr_cfg rtl8723AU_card_disable_flow[RTL8723A_TRANS_ACT_TO_CARDEMU_STEPS+RTL8723A_TRANS_CARDEMU_TO_PDN_STEPS+RTL8723A_TRANS_END_STEPS] = {
35 	RTL8723A_TRANS_ACT_TO_CARDEMU
36 	RTL8723A_TRANS_CARDEMU_TO_CARDDIS
37 	RTL8723A_TRANS_END
38 };
39 
40 /* 3 Card Enable Array */
41 struct wlan_pwr_cfg rtl8723AU_card_enable_flow[RTL8723A_TRANS_ACT_TO_CARDEMU_STEPS+RTL8723A_TRANS_CARDEMU_TO_PDN_STEPS+RTL8723A_TRANS_END_STEPS] = {
42 	RTL8723A_TRANS_CARDDIS_TO_CARDEMU
43 	RTL8723A_TRANS_CARDEMU_TO_ACT
44 	RTL8723A_TRANS_END
45 };
46 
47 /* 3 Suspend Array */
48 struct wlan_pwr_cfg rtl8723AU_suspend_flow[RTL8723A_TRANS_ACT_TO_CARDEMU_STEPS+RTL8723A_TRANS_CARDEMU_TO_SUS_STEPS+RTL8723A_TRANS_END_STEPS] = {
49 	RTL8723A_TRANS_ACT_TO_CARDEMU
50 	RTL8723A_TRANS_CARDEMU_TO_SUS
51 	RTL8723A_TRANS_END
52 };
53 
54 /* 3 Resume Array */
55 struct wlan_pwr_cfg rtl8723AU_resume_flow[RTL8723A_TRANS_ACT_TO_CARDEMU_STEPS+RTL8723A_TRANS_CARDEMU_TO_SUS_STEPS+RTL8723A_TRANS_END_STEPS] = {
56 	RTL8723A_TRANS_SUS_TO_CARDEMU
57 	RTL8723A_TRANS_CARDEMU_TO_ACT
58 	RTL8723A_TRANS_END
59 };
60 
61 /* 3 HWPDN Array */
62 struct wlan_pwr_cfg rtl8723AU_hwpdn_flow[RTL8723A_TRANS_ACT_TO_CARDEMU_STEPS+RTL8723A_TRANS_CARDEMU_TO_PDN_STEPS+RTL8723A_TRANS_END_STEPS] = {
63 	RTL8723A_TRANS_ACT_TO_CARDEMU
64 	RTL8723A_TRANS_CARDEMU_TO_PDN
65 	RTL8723A_TRANS_END
66 };
67 
68 /* 3 Enter LPS */
69 struct wlan_pwr_cfg rtl8723AU_enter_lps_flow[RTL8723A_TRANS_ACT_TO_LPS_STEPS+RTL8723A_TRANS_END_STEPS] = {
70 	/* FW behavior */
71 	RTL8723A_TRANS_ACT_TO_LPS
72 	RTL8723A_TRANS_END
73 };
74 
75 /* 3 Leave LPS */
76 struct wlan_pwr_cfg rtl8723AU_leave_lps_flow[RTL8723A_TRANS_LPS_TO_ACT_STEPS+RTL8723A_TRANS_END_STEPS] = {
77 	/* FW behavior */
78 	RTL8723A_TRANS_LPS_TO_ACT
79 	RTL8723A_TRANS_END
80 };
81