xref: /linux/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/pwrseq.c (revision 597473720f4dc69749542bfcfed4a927a43d935e)
1 // SPDX-License-Identifier: GPL-2.0
2 /* Copyright(c) 2009-2012  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 rtl8723A_power_on_flow
10 		[RTL8723A_TRANS_CARDEMU_TO_ACT_STEPS +
11 		 RTL8723A_TRANS_END_STEPS] = {
12 	RTL8723A_TRANS_CARDEMU_TO_ACT
13 	RTL8723A_TRANS_END
14 };
15 
16 /*3Radio off GPIO Array */
17 struct wlan_pwr_cfg rtl8723A_radio_off_flow
18 		[RTL8723A_TRANS_ACT_TO_CARDEMU_STEPS +
19 		 RTL8723A_TRANS_END_STEPS] = {
20 	RTL8723A_TRANS_ACT_TO_CARDEMU
21 	RTL8723A_TRANS_END
22 };
23 
24 /*3Card Disable Array*/
25 struct wlan_pwr_cfg rtl8723A_card_disable_flow
26 		[RTL8723A_TRANS_ACT_TO_CARDEMU_STEPS +
27 		 RTL8723A_TRANS_CARDEMU_TO_PDN_STEPS +
28 		 RTL8723A_TRANS_END_STEPS] = {
29 	RTL8723A_TRANS_ACT_TO_CARDEMU
30 	RTL8723A_TRANS_CARDEMU_TO_CARDDIS
31 	RTL8723A_TRANS_END
32 };
33 
34 /*3 Card Enable Array*/
35 struct wlan_pwr_cfg rtl8723A_card_enable_flow
36 		[RTL8723A_TRANS_ACT_TO_CARDEMU_STEPS +
37 		 RTL8723A_TRANS_CARDEMU_TO_PDN_STEPS +
38 		 RTL8723A_TRANS_END_STEPS] = {
39 	RTL8723A_TRANS_CARDDIS_TO_CARDEMU
40 	RTL8723A_TRANS_CARDEMU_TO_ACT
41 	RTL8723A_TRANS_END
42 };
43 
44 /*3Suspend Array*/
45 struct wlan_pwr_cfg rtl8723A_suspend_flow
46 		[RTL8723A_TRANS_ACT_TO_CARDEMU_STEPS +
47 		 RTL8723A_TRANS_CARDEMU_TO_SUS_STEPS +
48 		 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 rtl8723A_resume_flow
56 		[RTL8723A_TRANS_ACT_TO_CARDEMU_STEPS +
57 		 RTL8723A_TRANS_CARDEMU_TO_SUS_STEPS +
58 		 RTL8723A_TRANS_END_STEPS] = {
59 	RTL8723A_TRANS_SUS_TO_CARDEMU
60 	RTL8723A_TRANS_CARDEMU_TO_ACT
61 	RTL8723A_TRANS_END
62 };
63 
64 /*3HWPDN Array*/
65 struct wlan_pwr_cfg rtl8723A_hwpdn_flow
66 		[RTL8723A_TRANS_ACT_TO_CARDEMU_STEPS +
67 		 RTL8723A_TRANS_CARDEMU_TO_PDN_STEPS +
68 		 RTL8723A_TRANS_END_STEPS] = {
69 	RTL8723A_TRANS_ACT_TO_CARDEMU
70 	RTL8723A_TRANS_CARDEMU_TO_PDN
71 	RTL8723A_TRANS_END
72 };
73 
74 /*3 Enter LPS */
75 struct wlan_pwr_cfg rtl8723A_enter_lps_flow
76 		[RTL8723A_TRANS_ACT_TO_LPS_STEPS +
77 		 RTL8723A_TRANS_END_STEPS] = {
78 	/*FW behavior*/
79 	RTL8723A_TRANS_ACT_TO_LPS
80 	RTL8723A_TRANS_END
81 };
82 
83 /*3 Leave LPS */
84 struct wlan_pwr_cfg rtl8723A_leave_lps_flow
85 		[RTL8723A_TRANS_LPS_TO_ACT_STEPS +
86 		 RTL8723A_TRANS_END_STEPS] = {
87 	/*FW behavior*/
88 	RTL8723A_TRANS_LPS_TO_ACT
89 	RTL8723A_TRANS_END
90 };
91