1 /******************************************************************************
3 * Copyright(c) 2009-2010 Realtek Corporation.
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of version 2 of the GNU General Public License as
7 * published by the Free Software Foundation.
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
14 * You should have received a copy of the GNU General Public License along with
15 * this program; if not, write to the Free Software Foundation, Inc.,
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
18 * The full GNU General Public License is included in this distribution in the
19 * file called LICENSE.
21 * Contact Information:
22 * wlanfae <wlanfae@realtek.com>
23 * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park,
24 * Hsinchu 300, Taiwan.
26 * Larry Finger <Larry.Finger@lwfinger.net>
28 *****************************************************************************/
30 #include "pwrseqcmd.h"
34 drivers should parse below arrays and do the corresponding actions
37 struct wlan_pwr_cfg rtl8812_power_on_flow[RTL8812_TRANS_CARDEMU_TO_ACT_STEPS+RTL8812_TRANS_END_STEPS]=
39 RTL8812_TRANS_CARDEMU_TO_ACT
43 //3Radio off GPIO Array
44 struct wlan_pwr_cfg rtl8812_radio_off_flow[RTL8812_TRANS_ACT_TO_CARDEMU_STEPS+RTL8812_TRANS_END_STEPS]=
46 RTL8812_TRANS_ACT_TO_CARDEMU
51 struct wlan_pwr_cfg rtl8812_card_disable_flow[ RTL8812_TRANS_ACT_TO_CARDEMU_STEPS
52 + RTL8812_TRANS_CARDEMU_TO_PDN_STEPS
53 + RTL8812_TRANS_END_STEPS ] =
55 RTL8812_TRANS_ACT_TO_CARDEMU
56 RTL8812_TRANS_CARDEMU_TO_CARDDIS
61 struct wlan_pwr_cfg rtl8812_card_enable_flow[ RTL8812_TRANS_ACT_TO_CARDEMU_STEPS
62 + RTL8812_TRANS_CARDEMU_TO_PDN_STEPS
63 + RTL8812_TRANS_END_STEPS ] =
65 RTL8812_TRANS_CARDDIS_TO_CARDEMU
66 RTL8812_TRANS_CARDEMU_TO_ACT
71 struct wlan_pwr_cfg rtl8812_suspend_flow[RTL8812_TRANS_ACT_TO_CARDEMU_STEPS+RTL8812_TRANS_CARDEMU_TO_SUS_STEPS+RTL8812_TRANS_END_STEPS]=
73 RTL8812_TRANS_ACT_TO_CARDEMU
74 RTL8812_TRANS_CARDEMU_TO_SUS
79 struct wlan_pwr_cfg rtl8812_resume_flow[RTL8812_TRANS_ACT_TO_CARDEMU_STEPS+RTL8812_TRANS_CARDEMU_TO_SUS_STEPS+RTL8812_TRANS_END_STEPS]=
81 RTL8812_TRANS_SUS_TO_CARDEMU
82 RTL8812_TRANS_CARDEMU_TO_ACT
89 struct wlan_pwr_cfg rtl8812_hwpdn_flow[RTL8812_TRANS_ACT_TO_CARDEMU_STEPS+RTL8812_TRANS_CARDEMU_TO_PDN_STEPS+RTL8812_TRANS_END_STEPS]=
91 RTL8812_TRANS_ACT_TO_CARDEMU
92 RTL8812_TRANS_CARDEMU_TO_PDN
97 struct wlan_pwr_cfg rtl8812_enter_lps_flow[RTL8812_TRANS_ACT_TO_LPS_STEPS+RTL8812_TRANS_END_STEPS]=
100 RTL8812_TRANS_ACT_TO_LPS
105 struct wlan_pwr_cfg rtl8812_leave_lps_flow[RTL8812_TRANS_LPS_TO_ACT_STEPS+RTL8812_TRANS_END_STEPS]=
108 RTL8812_TRANS_LPS_TO_ACT
114 drivers should parse below arrays and do the corresponding actions
117 struct wlan_pwr_cfg rtl8821A_power_on_flow[RTL8821A_TRANS_CARDEMU_TO_ACT_STEPS
118 + RTL8821A_TRANS_END_STEPS] =
120 RTL8821A_TRANS_CARDEMU_TO_ACT
124 /*3Radio off GPIO Array */
125 struct wlan_pwr_cfg rtl8821A_radio_off_flow[RTL8821A_TRANS_ACT_TO_CARDEMU_STEPS
126 + RTL8821A_TRANS_END_STEPS] =
128 RTL8821A_TRANS_ACT_TO_CARDEMU
132 /*3Card Disable Array*/
133 struct wlan_pwr_cfg rtl8821A_card_disable_flow[RTL8821A_TRANS_ACT_TO_CARDEMU_STEPS
134 + RTL8821A_TRANS_CARDEMU_TO_PDN_STEPS
135 + RTL8821A_TRANS_END_STEPS] =
137 RTL8821A_TRANS_ACT_TO_CARDEMU
138 RTL8821A_TRANS_CARDEMU_TO_CARDDIS
142 /*3 Card Enable Array*/
143 struct wlan_pwr_cfg rtl8821A_card_enable_flow[RTL8821A_TRANS_ACT_TO_CARDEMU_STEPS
144 + RTL8821A_TRANS_CARDEMU_TO_ACT_STEPS /*RTL8821A_TRANS_CARDEMU_TO_PDN_STEPS*/
145 + RTL8821A_TRANS_END_STEPS] =
147 RTL8821A_TRANS_CARDDIS_TO_CARDEMU
148 RTL8821A_TRANS_CARDEMU_TO_ACT
153 struct wlan_pwr_cfg rtl8821A_suspend_flow[RTL8821A_TRANS_ACT_TO_CARDEMU_STEPS
154 + RTL8821A_TRANS_CARDEMU_TO_SUS_STEPS
155 + RTL8821A_TRANS_END_STEPS] =
157 RTL8821A_TRANS_ACT_TO_CARDEMU
158 RTL8821A_TRANS_CARDEMU_TO_SUS
163 struct wlan_pwr_cfg rtl8821A_resume_flow[RTL8821A_TRANS_ACT_TO_CARDEMU_STEPS
164 + RTL8821A_TRANS_CARDEMU_TO_SUS_STEPS
165 + RTL8821A_TRANS_END_STEPS] =
167 RTL8821A_TRANS_SUS_TO_CARDEMU
168 RTL8821A_TRANS_CARDEMU_TO_ACT
173 struct wlan_pwr_cfg rtl8821A_hwpdn_flow[RTL8821A_TRANS_ACT_TO_CARDEMU_STEPS
174 + RTL8821A_TRANS_CARDEMU_TO_PDN_STEPS
175 + RTL8821A_TRANS_END_STEPS] =
177 RTL8821A_TRANS_ACT_TO_CARDEMU
178 RTL8821A_TRANS_CARDEMU_TO_PDN
183 struct wlan_pwr_cfg rtl8821A_enter_lps_flow[RTL8821A_TRANS_ACT_TO_LPS_STEPS
184 + RTL8821A_TRANS_END_STEPS] =
187 RTL8821A_TRANS_ACT_TO_LPS
192 struct wlan_pwr_cfg rtl8821A_leave_lps_flow[RTL8821A_TRANS_LPS_TO_ACT_STEPS
193 + RTL8821A_TRANS_END_STEPS] =
196 RTL8821A_TRANS_LPS_TO_ACT