Merge tag 'for-linus-5.0' of git://github.com/cminyard/linux-ipmi
[sfrench/cifs-2.6.git] / drivers / staging / rtl8723bs / hal / hal_pwr_seq.c
1 // SPDX-License-Identifier: GPL-2.0
2 /******************************************************************************
3  *
4  * Copyright(c) 2007 - 2012 Realtek Corporation. All rights reserved.
5  *
6  ******************************************************************************/
7
8 /*
9 *
10 This file includes all kinds of Power Action event for RTL8723B
11 and corresponding hardware configurtions which are released from HW SD.
12
13 Major Change History:
14         When       Who               What
15         ---------- ---------------   -------------------------------
16         2011-08-08 Roger            Create.
17
18 */
19
20 #include "hal_pwr_seq.h"
21
22 /* drivers should parse below arrays and do the corresponding actions */
23 /* 3 Power on  Array */
24 WLAN_PWR_CFG rtl8723B_power_on_flow[
25         RTL8723B_TRANS_CARDEMU_TO_ACT_STEPS+
26         RTL8723B_TRANS_END_STEPS
27 ] = {
28         RTL8723B_TRANS_CARDEMU_TO_ACT
29         RTL8723B_TRANS_END
30 };
31
32 /* 3Radio off GPIO Array */
33 WLAN_PWR_CFG rtl8723B_radio_off_flow[
34         RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS+
35         RTL8723B_TRANS_END_STEPS
36 ] = {
37         RTL8723B_TRANS_ACT_TO_CARDEMU
38         RTL8723B_TRANS_END
39 };
40
41 /* 3Card Disable Array */
42 WLAN_PWR_CFG rtl8723B_card_disable_flow[
43         RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS+
44         RTL8723B_TRANS_CARDEMU_TO_PDN_STEPS+
45         RTL8723B_TRANS_END_STEPS
46 ] = {
47         RTL8723B_TRANS_ACT_TO_CARDEMU
48         RTL8723B_TRANS_CARDEMU_TO_CARDDIS
49         RTL8723B_TRANS_END
50 };
51
52 /* 3 Card Enable Array */
53 WLAN_PWR_CFG rtl8723B_card_enable_flow[
54         RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS+
55         RTL8723B_TRANS_CARDEMU_TO_PDN_STEPS+
56         RTL8723B_TRANS_END_STEPS
57 ] = {
58         RTL8723B_TRANS_CARDDIS_TO_CARDEMU
59         RTL8723B_TRANS_CARDEMU_TO_ACT
60         RTL8723B_TRANS_END
61 };
62
63 /* 3Suspend Array */
64 WLAN_PWR_CFG rtl8723B_suspend_flow[
65         RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS+
66         RTL8723B_TRANS_CARDEMU_TO_SUS_STEPS+
67         RTL8723B_TRANS_END_STEPS
68 ] = {
69         RTL8723B_TRANS_ACT_TO_CARDEMU
70         RTL8723B_TRANS_CARDEMU_TO_SUS
71         RTL8723B_TRANS_END
72 };
73
74 /* 3 Resume Array */
75 WLAN_PWR_CFG rtl8723B_resume_flow[
76         RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS+
77         RTL8723B_TRANS_CARDEMU_TO_SUS_STEPS+
78         RTL8723B_TRANS_END_STEPS
79 ] = {
80         RTL8723B_TRANS_SUS_TO_CARDEMU
81         RTL8723B_TRANS_CARDEMU_TO_ACT
82         RTL8723B_TRANS_END
83 };
84
85 /* 3HWPDN Array */
86 WLAN_PWR_CFG rtl8723B_hwpdn_flow[
87         RTL8723B_TRANS_ACT_TO_CARDEMU_STEPS+
88         RTL8723B_TRANS_CARDEMU_TO_PDN_STEPS+
89         RTL8723B_TRANS_END_STEPS
90 ] = {
91         RTL8723B_TRANS_ACT_TO_CARDEMU
92         RTL8723B_TRANS_CARDEMU_TO_PDN
93         RTL8723B_TRANS_END
94 };
95
96 /* 3 Enter LPS */
97 WLAN_PWR_CFG rtl8723B_enter_lps_flow[
98         RTL8723B_TRANS_ACT_TO_LPS_STEPS+RTL8723B_TRANS_END_STEPS
99 ] = {
100         /* FW behavior */
101         RTL8723B_TRANS_ACT_TO_LPS
102         RTL8723B_TRANS_END
103 };
104
105 /* 3 Leave LPS */
106 WLAN_PWR_CFG rtl8723B_leave_lps_flow[
107         RTL8723B_TRANS_LPS_TO_ACT_STEPS+RTL8723B_TRANS_END_STEPS
108 ] = {
109         /* FW behavior */
110         RTL8723B_TRANS_LPS_TO_ACT
111         RTL8723B_TRANS_END
112 };
113
114 /* 3 Enter SW LPS */
115 WLAN_PWR_CFG rtl8723B_enter_swlps_flow[
116         RTL8723B_TRANS_ACT_TO_SWLPS_STEPS+RTL8723B_TRANS_END_STEPS
117 ] = {
118         /* SW behavior */
119         RTL8723B_TRANS_ACT_TO_SWLPS
120         RTL8723B_TRANS_END
121 };
122
123 /* 3 Leave SW LPS */
124 WLAN_PWR_CFG rtl8723B_leave_swlps_flow[
125         RTL8723B_TRANS_SWLPS_TO_ACT_STEPS+RTL8723B_TRANS_END_STEPS
126 ] = {
127         /* SW behavior */
128         RTL8723B_TRANS_SWLPS_TO_ACT
129         RTL8723B_TRANS_END
130 };