xref: /linux/drivers/net/wireless/realtek/rtlwifi/rtl8723be/pwrseq.c (revision 597473720f4dc69749542bfcfed4a927a43d935e)
1 // SPDX-License-Identifier: GPL-2.0
2 /* Copyright(c) 2009-2014  Realtek Corporation.*/
3 
4 #include "../pwrseqcmd.h"
5 #include "pwrseq.h"
6 
7 
8 /* drivers should parse below arrays and do the corresponding actions */
9 /*3 Power on  Array*/
10 struct wlan_pwr_cfg rtl8723B_power_on_flow[RTL8723B_TRANS_CARDEMU_TO_ACT_STEPS +
11 					   RTL8723B_TRANS_END_STEPS] = {
12 	RTL8723B_TRANS_CARDEMU_TO_ACT
13 	RTL8723B_TRANS_END
14 };
15 
16 /*3Radio off GPIO Array */
17 struct wlan_pwr_cfg rtl8723B_radio_off_flow[RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS
18 					    + RTL8723B_TRANS_END_STEPS] = {
19 	RTL8723B_TRANS_ACT_TO_CARDEMU
20 	RTL8723B_TRANS_END
21 };
22 
23 /*3Card Disable Array*/
24 struct wlan_pwr_cfg rtl8723B_card_disable_flow
25 				[RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS +
26 				 RTL8723B_TRANS_CARDEMU_TO_PDN_STEPS +
27 				 RTL8723B_TRANS_END_STEPS] = {
28 	RTL8723B_TRANS_ACT_TO_CARDEMU
29 	RTL8723B_TRANS_CARDEMU_TO_CARDDIS
30 	RTL8723B_TRANS_END
31 };
32 
33 /*3 Card Enable Array*/
34 struct wlan_pwr_cfg rtl8723B_card_enable_flow
35 				[RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS +
36 				 RTL8723B_TRANS_CARDEMU_TO_PDN_STEPS +
37 				 RTL8723B_TRANS_END_STEPS] = {
38 	RTL8723B_TRANS_CARDDIS_TO_CARDEMU
39 	RTL8723B_TRANS_CARDEMU_TO_ACT
40 	RTL8723B_TRANS_END
41 };
42 
43 /*3Suspend Array*/
44 struct wlan_pwr_cfg rtl8723B_suspend_flow[RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS +
45 					  RTL8723B_TRANS_CARDEMU_TO_SUS_STEPS +
46 					  RTL8723B_TRANS_END_STEPS] = {
47 	RTL8723B_TRANS_ACT_TO_CARDEMU
48 	RTL8723B_TRANS_CARDEMU_TO_SUS
49 	RTL8723B_TRANS_END
50 };
51 
52 /*3 Resume Array*/
53 struct wlan_pwr_cfg rtl8723B_resume_flow[RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS +
54 					 RTL8723B_TRANS_CARDEMU_TO_SUS_STEPS +
55 					 RTL8723B_TRANS_END_STEPS] = {
56 	RTL8723B_TRANS_SUS_TO_CARDEMU
57 	RTL8723B_TRANS_CARDEMU_TO_ACT
58 	RTL8723B_TRANS_END
59 };
60 
61 /*3HWPDN Array*/
62 struct wlan_pwr_cfg rtl8723B_hwpdn_flow[RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS +
63 					RTL8723B_TRANS_CARDEMU_TO_PDN_STEPS +
64 					RTL8723B_TRANS_END_STEPS] = {
65 	RTL8723B_TRANS_ACT_TO_CARDEMU
66 	RTL8723B_TRANS_CARDEMU_TO_PDN
67 	RTL8723B_TRANS_END
68 };
69 
70 /*3 Enter LPS */
71 struct wlan_pwr_cfg rtl8723B_enter_lps_flow[RTL8723B_TRANS_ACT_TO_LPS_STEPS +
72 					    RTL8723B_TRANS_END_STEPS] = {
73 	/*FW behavior*/
74 	RTL8723B_TRANS_ACT_TO_LPS
75 	RTL8723B_TRANS_END
76 };
77 
78 /*3 Leave LPS */
79 struct wlan_pwr_cfg rtl8723B_leave_lps_flow[RTL8723B_TRANS_LPS_TO_ACT_STEPS +
80 					    RTL8723B_TRANS_END_STEPS] = {
81 	/*FW behavior*/
82 	RTL8723B_TRANS_LPS_TO_ACT
83 	RTL8723B_TRANS_END
84 };
85