xref: /linux/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/pwrseq.c (revision ae22a94997b8a03dcb3c922857c203246711f9d4)
1 // SPDX-License-Identifier: GPL-2.0
2 /* Copyright(c) 2009-2014  Realtek Corporation.*/
3 
4 #include "pwrseq.h"
5 
6 /* drivers should parse below arrays and do the corresponding actions */
7 
8 /*3 Power on  Array*/
9 struct wlan_pwr_cfg rtl8192E_power_on_flow
10 		[RTL8192E_TRANS_CARDEMU_TO_ACT_STEPS +
11 		 RTL8192E_TRANS_END_STEPS] = {
12 	RTL8192E_TRANS_CARDEMU_TO_ACT
13 	RTL8192E_TRANS_END
14 };
15 
16 /*3Radio off GPIO Array */
17 struct wlan_pwr_cfg rtl8192E_radio_off_flow
18 		[RTL8192E_TRANS_ACT_TO_CARDEMU_STEPS
19 		+ RTL8192E_TRANS_END_STEPS] = {
20 	RTL8192E_TRANS_ACT_TO_CARDEMU
21 	RTL8192E_TRANS_END
22 };
23 
24 /*3Card Disable Array*/
25 struct wlan_pwr_cfg rtl8192E_card_disable_flow
26 		[RTL8192E_TRANS_ACT_TO_CARDEMU_STEPS +
27 		 RTL8192E_TRANS_CARDEMU_TO_PDN_STEPS +
28 		 RTL8192E_TRANS_END_STEPS] = {
29 	RTL8192E_TRANS_ACT_TO_CARDEMU
30 	RTL8192E_TRANS_CARDEMU_TO_CARDDIS
31 	RTL8192E_TRANS_END
32 };
33 
34 /*3 Card Enable Array*/
35 struct wlan_pwr_cfg rtl8192E_card_enable_flow
36 		[RTL8192E_TRANS_ACT_TO_CARDEMU_STEPS +
37 		 RTL8192E_TRANS_CARDEMU_TO_PDN_STEPS +
38 		 RTL8192E_TRANS_END_STEPS] = {
39 	RTL8192E_TRANS_CARDDIS_TO_CARDEMU
40 	RTL8192E_TRANS_CARDEMU_TO_ACT
41 	RTL8192E_TRANS_END
42 };
43 
44 /*3Suspend Array*/
45 struct wlan_pwr_cfg rtl8192E_suspend_flow
46 		[RTL8192E_TRANS_ACT_TO_CARDEMU_STEPS +
47 		 RTL8192E_TRANS_CARDEMU_TO_SUS_STEPS +
48 		 RTL8192E_TRANS_END_STEPS] = {
49 	RTL8192E_TRANS_ACT_TO_CARDEMU
50 	RTL8192E_TRANS_CARDEMU_TO_SUS
51 	RTL8192E_TRANS_END
52 };
53 
54 /*3 Resume Array*/
55 struct wlan_pwr_cfg rtl8192E_resume_flow
56 		[RTL8192E_TRANS_ACT_TO_CARDEMU_STEPS +
57 		 RTL8192E_TRANS_CARDEMU_TO_SUS_STEPS +
58 		 RTL8192E_TRANS_END_STEPS] = {
59 	RTL8192E_TRANS_SUS_TO_CARDEMU
60 	RTL8192E_TRANS_CARDEMU_TO_ACT
61 	RTL8192E_TRANS_END
62 };
63 
64 /*3HWPDN Array*/
65 struct wlan_pwr_cfg rtl8192E_hwpdn_flow
66 		[RTL8192E_TRANS_ACT_TO_CARDEMU_STEPS +
67 		 RTL8192E_TRANS_CARDEMU_TO_PDN_STEPS +
68 		 RTL8192E_TRANS_END_STEPS] = {
69 	RTL8192E_TRANS_ACT_TO_CARDEMU
70 	RTL8192E_TRANS_CARDEMU_TO_PDN
71 	RTL8192E_TRANS_END
72 };
73 
74 /*3 Enter LPS */
75 struct wlan_pwr_cfg rtl8192E_enter_lps_flow
76 		[RTL8192E_TRANS_ACT_TO_LPS_STEPS +
77 		 RTL8192E_TRANS_END_STEPS] = {
78 	/*FW behavior*/
79 	RTL8192E_TRANS_ACT_TO_LPS
80 	RTL8192E_TRANS_END
81 };
82 
83 /*3 Leave LPS */
84 struct wlan_pwr_cfg rtl8192E_leave_lps_flow
85 		[RTL8192E_TRANS_LPS_TO_ACT_STEPS +
86 		 RTL8192E_TRANS_END_STEPS] = {
87 	/*FW behavior*/
88 	RTL8192E_TRANS_LPS_TO_ACT
89 	RTL8192E_TRANS_END
90 };
91