linux/drivers/net/wireless/rtlwifi/rtl8188ee/pwrseq.c
<<
>>
Prefs
   1/******************************************************************************
   2 *
   3 * Copyright(c) 2009-2013  Realtek Corporation.
   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 * The full GNU General Public License is included in this distribution in the
  19 * file called LICENSE.
  20 *
  21 * Contact Information:
  22 * wlanfae <wlanfae@realtek.com>
  23 * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park,
  24 * Hsinchu 300, Taiwan.
  25 *
  26 * Larry Finger <Larry.Finger@lwfinger.net>
  27 *
  28 *****************************************************************************/
  29
  30#include "pwrseqcmd.h"
  31#include "pwrseq.h"
  32
  33/* drivers should parse below arrays and do the corresponding actions */
  34/*3 Power on  Array*/
  35struct wlan_pwr_cfg rtl8188e_power_on_flow[RTL8188E_TRANS_CARDEMU_TO_ACT_STEPS +
  36                                           RTL8188E_TRANS_END_STEPS] = {
  37        RTL8188E_TRANS_CARDEMU_TO_ACT
  38        RTL8188E_TRANS_END
  39};
  40
  41/*3Radio off GPIO Array */
  42struct wlan_pwr_cfg rtl8188e_radio_off_flow[RTL8188E_TRANS_ACT_TO_CARDEMU_STEPS
  43                                            + RTL8188E_TRANS_END_STEPS] = {
  44        RTL8188E_TRANS_ACT_TO_CARDEMU
  45        RTL8188E_TRANS_END
  46};
  47
  48/*3Card Disable Array*/
  49struct wlan_pwr_cfg rtl8188e_card_disable_flow
  50        [RTL8188E_TRANS_ACT_TO_CARDEMU_STEPS +
  51        RTL8188E_TRANS_CARDEMU_TO_PDN_STEPS +
  52        RTL8188E_TRANS_END_STEPS] = {
  53                RTL8188E_TRANS_ACT_TO_CARDEMU
  54                RTL8188E_TRANS_CARDEMU_TO_CARDDIS
  55                RTL8188E_TRANS_END
  56};
  57
  58/*3 Card Enable Array*/
  59struct wlan_pwr_cfg rtl8188e_card_enable_flow
  60        [RTL8188E_TRANS_ACT_TO_CARDEMU_STEPS +
  61        RTL8188E_TRANS_CARDEMU_TO_PDN_STEPS +
  62        RTL8188E_TRANS_END_STEPS] = {
  63                RTL8188E_TRANS_CARDDIS_TO_CARDEMU
  64                RTL8188E_TRANS_CARDEMU_TO_ACT
  65                RTL8188E_TRANS_END
  66};
  67
  68/*3Suspend Array*/
  69struct wlan_pwr_cfg rtl8188e_suspend_flow[RTL8188E_TRANS_ACT_TO_CARDEMU_STEPS
  70                                        + RTL8188E_TRANS_CARDEMU_TO_SUS_STEPS
  71                                        + RTL8188E_TRANS_END_STEPS] = {
  72        RTL8188E_TRANS_ACT_TO_CARDEMU
  73        RTL8188E_TRANS_CARDEMU_TO_SUS
  74        RTL8188E_TRANS_END
  75};
  76
  77/*3 Resume Array*/
  78struct wlan_pwr_cfg rtl8188e_resume_flow[RTL8188E_TRANS_ACT_TO_CARDEMU_STEPS
  79                                        + RTL8188E_TRANS_CARDEMU_TO_SUS_STEPS
  80                                        + RTL8188E_TRANS_END_STEPS] = {
  81        RTL8188E_TRANS_SUS_TO_CARDEMU
  82        RTL8188E_TRANS_CARDEMU_TO_ACT
  83        RTL8188E_TRANS_END
  84};
  85
  86/*3HWPDN Array*/
  87struct wlan_pwr_cfg rtl8188e_hwpdn_flow[RTL8188E_TRANS_ACT_TO_CARDEMU_STEPS
  88                                + RTL8188E_TRANS_CARDEMU_TO_PDN_STEPS
  89                                + RTL8188E_TRANS_END_STEPS] = {
  90        RTL8188E_TRANS_ACT_TO_CARDEMU
  91        RTL8188E_TRANS_CARDEMU_TO_PDN
  92        RTL8188E_TRANS_END
  93};
  94
  95/*3 Enter LPS */
  96struct wlan_pwr_cfg rtl8188e_enter_lps_flow[RTL8188E_TRANS_ACT_TO_LPS_STEPS
  97                                        + RTL8188E_TRANS_END_STEPS] = {
  98        /*FW behavior*/
  99        RTL8188E_TRANS_ACT_TO_LPS
 100        RTL8188E_TRANS_END
 101};
 102
 103/*3 Leave LPS */
 104struct wlan_pwr_cfg rtl8188e_leave_lps_flow[RTL8188E_TRANS_LPS_TO_ACT_STEPS
 105                                        + RTL8188E_TRANS_END_STEPS] = {
 106        /*FW behavior*/
 107        RTL8188E_TRANS_LPS_TO_ACT
 108        RTL8188E_TRANS_END
 109};
 110