root/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/pwrseq.c

/* [<][>][^][v][top][bottom][index][help] */
   1 // SPDX-License-Identifier: GPL-2.0
   2 /* Copyright(c) 2009-2010  Realtek Corporation.*/
   3 
   4 #include "../pwrseqcmd.h"
   5 #include "pwrseq.h"
   6 
   7 /* drivers should parse below arrays and do the corresponding actions */
   8 /* 3 Power on  Array */
   9 struct wlan_pwr_cfg rtl8812_power_on_flow[RTL8812_TRANS_CARDEMU_TO_ACT_STEPS +
  10                                         RTL8812_TRANS_END_STEPS] = {
  11         RTL8812_TRANS_CARDEMU_TO_ACT
  12         RTL8812_TRANS_END
  13 };
  14 
  15 /* 3Radio off GPIO Array */
  16 struct wlan_pwr_cfg rtl8812_radio_off_flow[RTL8812_TRANS_ACT_TO_CARDEMU_STEPS +
  17                                                 RTL8812_TRANS_END_STEPS] = {
  18         RTL8812_TRANS_ACT_TO_CARDEMU
  19         RTL8812_TRANS_END
  20 };
  21 
  22 /* 3Card Disable Array */
  23 struct wlan_pwr_cfg rtl8812_card_disable_flow[RTL8812_TRANS_ACT_TO_CARDEMU_STEPS
  24         + RTL8812_TRANS_CARDEMU_TO_PDN_STEPS
  25         + RTL8812_TRANS_END_STEPS] = {
  26         RTL8812_TRANS_ACT_TO_CARDEMU
  27         RTL8812_TRANS_CARDEMU_TO_CARDDIS
  28         RTL8812_TRANS_END
  29 };
  30 
  31 /* 3 Card Enable Array */
  32 struct wlan_pwr_cfg rtl8812_card_enable_flow[RTL8812_TRANS_ACT_TO_CARDEMU_STEPS
  33         + RTL8812_TRANS_CARDEMU_TO_PDN_STEPS
  34         + RTL8812_TRANS_END_STEPS] = {
  35         RTL8812_TRANS_CARDDIS_TO_CARDEMU
  36         RTL8812_TRANS_CARDEMU_TO_ACT
  37         RTL8812_TRANS_END
  38 };
  39 
  40 /* 3Suspend Array */
  41 struct wlan_pwr_cfg rtl8812_suspend_flow[RTL8812_TRANS_ACT_TO_CARDEMU_STEPS +
  42                                         RTL8812_TRANS_CARDEMU_TO_SUS_STEPS +
  43                                         RTL8812_TRANS_END_STEPS] = {
  44         RTL8812_TRANS_ACT_TO_CARDEMU
  45         RTL8812_TRANS_CARDEMU_TO_SUS
  46         RTL8812_TRANS_END
  47 };
  48 
  49 /* 3 Resume Array */
  50 struct wlan_pwr_cfg rtl8812_resume_flow[RTL8812_TRANS_ACT_TO_CARDEMU_STEPS +
  51                                         RTL8812_TRANS_CARDEMU_TO_SUS_STEPS +
  52                                         RTL8812_TRANS_END_STEPS] = {
  53         RTL8812_TRANS_SUS_TO_CARDEMU
  54         RTL8812_TRANS_CARDEMU_TO_ACT
  55         RTL8812_TRANS_END
  56 };
  57 
  58 /* 3HWPDN Array */
  59 struct wlan_pwr_cfg rtl8812_hwpdn_flow[RTL8812_TRANS_ACT_TO_CARDEMU_STEPS +
  60                                         RTL8812_TRANS_CARDEMU_TO_PDN_STEPS +
  61                                         RTL8812_TRANS_END_STEPS] = {
  62         RTL8812_TRANS_ACT_TO_CARDEMU
  63         RTL8812_TRANS_CARDEMU_TO_PDN
  64         RTL8812_TRANS_END
  65 };
  66 
  67 /* 3 Enter LPS */
  68 struct wlan_pwr_cfg rtl8812_enter_lps_flow[RTL8812_TRANS_ACT_TO_LPS_STEPS +
  69                                                 RTL8812_TRANS_END_STEPS] = {
  70         /* FW behavior */
  71         RTL8812_TRANS_ACT_TO_LPS
  72         RTL8812_TRANS_END
  73 };
  74 
  75 /* 3 Leave LPS */
  76 struct wlan_pwr_cfg rtl8812_leave_lps_flow[RTL8812_TRANS_LPS_TO_ACT_STEPS +
  77                                                 RTL8812_TRANS_END_STEPS] = {
  78         /* FW behavior */
  79         RTL8812_TRANS_LPS_TO_ACT
  80         RTL8812_TRANS_END
  81 };
  82 
  83 /* drivers should parse below arrays and do the corresponding actions */
  84 /*3 Power on  Array*/
  85 struct wlan_pwr_cfg rtl8821A_power_on_flow[RTL8821A_TRANS_CARDEMU_TO_ACT_STEPS
  86                                         + RTL8821A_TRANS_END_STEPS] = {
  87         RTL8821A_TRANS_CARDEMU_TO_ACT
  88         RTL8821A_TRANS_END
  89 };
  90 
  91 /*3Radio off GPIO Array */
  92 struct wlan_pwr_cfg rtl8821A_radio_off_flow[RTL8821A_TRANS_ACT_TO_CARDEMU_STEPS
  93                                         + RTL8821A_TRANS_END_STEPS] = {
  94         RTL8821A_TRANS_ACT_TO_CARDEMU
  95         RTL8821A_TRANS_END
  96 };
  97 
  98 /*3Card Disable Array*/
  99 struct wlan_pwr_cfg rtl8821A_card_disable_flow
 100                                         [RTL8821A_TRANS_ACT_TO_CARDEMU_STEPS
 101                                         + RTL8821A_TRANS_CARDEMU_TO_PDN_STEPS
 102                                         + RTL8821A_TRANS_END_STEPS] = {
 103         RTL8821A_TRANS_ACT_TO_CARDEMU
 104         RTL8821A_TRANS_CARDEMU_TO_CARDDIS
 105         RTL8821A_TRANS_END
 106 };
 107 
 108 /*3 Card Enable Array*/
 109 /*RTL8821A_TRANS_CARDEMU_TO_PDN_STEPS*/
 110 struct wlan_pwr_cfg rtl8821A_card_enable_flow
 111                                         [RTL8821A_TRANS_ACT_TO_CARDEMU_STEPS
 112                                         + RTL8821A_TRANS_CARDEMU_TO_ACT_STEPS
 113                                         + RTL8821A_TRANS_END_STEPS] = {
 114         RTL8821A_TRANS_CARDDIS_TO_CARDEMU
 115         RTL8821A_TRANS_CARDEMU_TO_ACT
 116         RTL8821A_TRANS_END
 117 };
 118 
 119 /*3Suspend Array*/
 120 struct wlan_pwr_cfg rtl8821A_suspend_flow[RTL8821A_TRANS_ACT_TO_CARDEMU_STEPS
 121                                         + RTL8821A_TRANS_CARDEMU_TO_SUS_STEPS
 122                                         + RTL8821A_TRANS_END_STEPS] = {
 123         RTL8821A_TRANS_ACT_TO_CARDEMU
 124         RTL8821A_TRANS_CARDEMU_TO_SUS
 125         RTL8821A_TRANS_END
 126 };
 127 
 128 /*3 Resume Array*/
 129 struct wlan_pwr_cfg rtl8821A_resume_flow[RTL8821A_TRANS_ACT_TO_CARDEMU_STEPS
 130                                         + RTL8821A_TRANS_CARDEMU_TO_SUS_STEPS
 131                                         + RTL8821A_TRANS_END_STEPS] = {
 132         RTL8821A_TRANS_SUS_TO_CARDEMU
 133         RTL8821A_TRANS_CARDEMU_TO_ACT
 134         RTL8821A_TRANS_END
 135 };
 136 
 137 /*3HWPDN Array*/
 138 struct wlan_pwr_cfg rtl8821A_hwpdn_flow[RTL8821A_TRANS_ACT_TO_CARDEMU_STEPS
 139                                 + RTL8821A_TRANS_CARDEMU_TO_PDN_STEPS
 140                                 + RTL8821A_TRANS_END_STEPS] = {
 141         RTL8821A_TRANS_ACT_TO_CARDEMU
 142         RTL8821A_TRANS_CARDEMU_TO_PDN
 143         RTL8821A_TRANS_END
 144 };
 145 
 146 /*3 Enter LPS */
 147 struct wlan_pwr_cfg rtl8821A_enter_lps_flow[RTL8821A_TRANS_ACT_TO_LPS_STEPS
 148                                         + RTL8821A_TRANS_END_STEPS] = {
 149         /*FW behavior*/
 150         RTL8821A_TRANS_ACT_TO_LPS
 151         RTL8821A_TRANS_END
 152 };
 153 
 154 /*3 Leave LPS */
 155 struct wlan_pwr_cfg rtl8821A_leave_lps_flow[RTL8821A_TRANS_LPS_TO_ACT_STEPS
 156                                         + RTL8821A_TRANS_END_STEPS] = {
 157         /*FW behavior*/
 158         RTL8821A_TRANS_LPS_TO_ACT
 159         RTL8821A_TRANS_END
 160 };

/* [<][>][^][v][top][bottom][index][help] */