Linux-libre 5.4.48-gnu
[librecmc/linux-libre.git] / drivers / net / wireless / realtek / rtlwifi / rtl8723ae / pwrseq.c
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 };