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 struct 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 struct 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 struct 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 struct 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 struct 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 struct 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 struct 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 struct 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 struct 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 struct 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 struct 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 };
131