1/******************************************************************************
2 *
3 * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
4 *
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.
8 *
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
12 * more details.
13 *
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
17 *
18 *
19 ******************************************************************************/
20
21#include "pwrseq.h"
22#include <rtl8188e_hal.h>
23
24/*
25    drivers should parse below arrays and do the corresponding actions
26*/
27/* 3 Power on  Array */
28struct wl_pwr_cfg rtl8188E_power_on_flow[RTL8188E_TRANS_CARDEMU_TO_ACT_STEPS +
29					 RTL8188E_TRANS_END_STEPS] = {
30	RTL8188E_TRANS_CARDEMU_TO_ACT
31	RTL8188E_TRANS_END
32};
33
34/* 3Radio off Array */
35struct wl_pwr_cfg rtl8188E_radio_off_flow[RTL8188E_TRANS_ACT_TO_CARDEMU_STEPS +
36					  RTL8188E_TRANS_END_STEPS] = {
37	RTL8188E_TRANS_ACT_TO_CARDEMU
38	RTL8188E_TRANS_END
39};
40
41/* 3Card Disable Array */
42struct wl_pwr_cfg rtl8188E_card_disable_flow
43	[RTL8188E_TRANS_ACT_TO_CARDEMU_STEPS +
44	 RTL8188E_TRANS_CARDEMU_TO_PDN_STEPS +
45	 RTL8188E_TRANS_END_STEPS] = {
46		RTL8188E_TRANS_ACT_TO_CARDEMU
47		RTL8188E_TRANS_CARDEMU_TO_CARDDIS
48		RTL8188E_TRANS_END
49};
50
51/* 3 Card Enable Array */
52struct wl_pwr_cfg rtl8188E_card_enable_flow
53	[RTL8188E_TRANS_ACT_TO_CARDEMU_STEPS +
54	 RTL8188E_TRANS_CARDEMU_TO_PDN_STEPS +
55	 RTL8188E_TRANS_END_STEPS] = {
56		RTL8188E_TRANS_CARDDIS_TO_CARDEMU
57		RTL8188E_TRANS_CARDEMU_TO_ACT
58		RTL8188E_TRANS_END
59};
60
61/* 3Suspend Array */
62struct wl_pwr_cfg rtl8188E_suspend_flow[RTL8188E_TRANS_ACT_TO_CARDEMU_STEPS +
63					RTL8188E_TRANS_CARDEMU_TO_SUS_STEPS +
64					RTL8188E_TRANS_END_STEPS] = {
65	RTL8188E_TRANS_ACT_TO_CARDEMU
66	RTL8188E_TRANS_CARDEMU_TO_SUS
67	RTL8188E_TRANS_END
68};
69
70/* 3 Resume Array */
71struct wl_pwr_cfg rtl8188E_resume_flow[RTL8188E_TRANS_ACT_TO_CARDEMU_STEPS +
72				       RTL8188E_TRANS_CARDEMU_TO_SUS_STEPS +
73				       RTL8188E_TRANS_END_STEPS] = {
74	RTL8188E_TRANS_SUS_TO_CARDEMU
75	RTL8188E_TRANS_CARDEMU_TO_ACT
76	RTL8188E_TRANS_END
77};
78
79/* 3HWPDN Array */
80struct wl_pwr_cfg rtl8188E_hwpdn_flow[RTL8188E_TRANS_ACT_TO_CARDEMU_STEPS +
81				      RTL8188E_TRANS_CARDEMU_TO_PDN_STEPS +
82				      RTL8188E_TRANS_END_STEPS] = {
83	RTL8188E_TRANS_ACT_TO_CARDEMU
84	RTL8188E_TRANS_CARDEMU_TO_PDN
85	RTL8188E_TRANS_END
86};
87
88/* 3 Enter LPS */
89struct wl_pwr_cfg rtl8188E_enter_lps_flow[RTL8188E_TRANS_ACT_TO_LPS_STEPS +
90					  RTL8188E_TRANS_END_STEPS] = {
91	/* FW behavior */
92	RTL8188E_TRANS_ACT_TO_LPS
93	RTL8188E_TRANS_END
94};
95
96/* 3 Leave LPS */
97struct wl_pwr_cfg rtl8188E_leave_lps_flow[RTL8188E_TRANS_LPS_TO_ACT_STEPS +
98					  RTL8188E_TRANS_END_STEPS] = {
99	/* FW behavior */
100	RTL8188E_TRANS_LPS_TO_ACT
101	RTL8188E_TRANS_END
102};
103