xref: /linux/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/pwrseq.c (revision 597473720f4dc69749542bfcfed4a927a43d935e)
1 // SPDX-License-Identifier: GPL-2.0
2 /* Copyright(c) 2009-2013  Realtek Corporation.*/
3 
4 #include "../pwrseqcmd.h"
5 #include "pwrseq.h"
6 
7 /* drivers should parse below arrays and do the corresponding actions */
8 /*3 Power on  Array*/
9 struct wlan_pwr_cfg rtl8188ee_power_on_flow[RTL8188EE_TRANS_CARDEMU_TO_ACT_STEPS
10 					+ RTL8188EE_TRANS_END_STEPS] = {
11 	RTL8188EE_TRANS_CARDEMU_TO_ACT
12 	RTL8188EE_TRANS_END
13 };
14 
15 /*3Radio off GPIO Array */
16 struct wlan_pwr_cfg rtl8188ee_radio_off_flow[RTL8188EE_TRANS_ACT_TO_CARDEMU_STEPS
17 					+ RTL8188EE_TRANS_END_STEPS] = {
18 	RTL8188EE_TRANS_ACT_TO_CARDEMU
19 	RTL8188EE_TRANS_END
20 };
21 
22 /*3Card Disable Array*/
23 struct wlan_pwr_cfg rtl8188ee_card_disable_flow
24 		[RTL8188EE_TRANS_ACT_TO_CARDEMU_STEPS +
25 		 RTL8188EE_TRANS_CARDEMU_TO_PDN_STEPS +
26 		 RTL8188EE_TRANS_END_STEPS] = {
27 	RTL8188EE_TRANS_ACT_TO_CARDEMU
28 	RTL8188EE_TRANS_CARDEMU_TO_CARDDIS
29 	RTL8188EE_TRANS_END
30 };
31 
32 /*3 Card Enable Array*/
33 struct wlan_pwr_cfg rtl8188ee_card_enable_flow
34 		[RTL8188EE_TRANS_ACT_TO_CARDEMU_STEPS +
35 		 RTL8188EE_TRANS_CARDEMU_TO_PDN_STEPS +
36 		 RTL8188EE_TRANS_END_STEPS] = {
37 	RTL8188EE_TRANS_CARDDIS_TO_CARDEMU
38 	RTL8188EE_TRANS_CARDEMU_TO_ACT
39 	RTL8188EE_TRANS_END
40 };
41 
42 /*3Suspend Array*/
43 struct wlan_pwr_cfg rtl8188ee_suspend_flow[RTL8188EE_TRANS_ACT_TO_CARDEMU_STEPS
44 					+ RTL8188EE_TRANS_CARDEMU_TO_SUS_STEPS
45 					+ RTL8188EE_TRANS_END_STEPS] = {
46 	RTL8188EE_TRANS_ACT_TO_CARDEMU
47 	RTL8188EE_TRANS_CARDEMU_TO_SUS
48 	RTL8188EE_TRANS_END
49 };
50 
51 /*3 Resume Array*/
52 struct wlan_pwr_cfg rtl8188ee_resume_flow[RTL8188EE_TRANS_ACT_TO_CARDEMU_STEPS
53 					+ RTL8188EE_TRANS_CARDEMU_TO_SUS_STEPS
54 					+ RTL8188EE_TRANS_END_STEPS] = {
55 	RTL8188EE_TRANS_SUS_TO_CARDEMU
56 	RTL8188EE_TRANS_CARDEMU_TO_ACT
57 	RTL8188EE_TRANS_END
58 };
59 
60 /*3HWPDN Array*/
61 struct wlan_pwr_cfg rtl8188ee_hwpdn_flow[RTL8188EE_TRANS_ACT_TO_CARDEMU_STEPS
62 				+ RTL8188EE_TRANS_CARDEMU_TO_PDN_STEPS
63 				+ RTL8188EE_TRANS_END_STEPS] = {
64 	RTL8188EE_TRANS_ACT_TO_CARDEMU
65 	RTL8188EE_TRANS_CARDEMU_TO_PDN
66 	RTL8188EE_TRANS_END
67 };
68 
69 /*3 Enter LPS */
70 struct wlan_pwr_cfg rtl8188ee_enter_lps_flow[RTL8188EE_TRANS_ACT_TO_LPS_STEPS
71 					+ RTL8188EE_TRANS_END_STEPS] = {
72 	/*FW behavior*/
73 	RTL8188EE_TRANS_ACT_TO_LPS
74 	RTL8188EE_TRANS_END
75 };
76 
77 /*3 Leave LPS */
78 struct wlan_pwr_cfg rtl8188ee_leave_lps_flow[RTL8188EE_TRANS_LPS_TO_ACT_STEPS
79 					+ RTL8188EE_TRANS_END_STEPS] = {
80 	/*FW behavior*/
81 	RTL8188EE_TRANS_LPS_TO_ACT
82 	RTL8188EE_TRANS_END
83 };
84