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 * The full GNU General Public License is included in this distribution in the 15 * file called LICENSE. 16 * 17 * Contact Information: 18 * wlanfae <wlanfae@realtek.com> 19 * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park, 20 * Hsinchu 300, Taiwan. 21 * 22 * Larry Finger <Larry.Finger@lwfinger.net> 23 * 24 *****************************************************************************/ 25 26 #ifndef __RTL8723E_PWRSEQ_H__ 27 #define __RTL8723E_PWRSEQ_H__ 28 29 #include "../pwrseqcmd.h" 30 /* Check document WM-20110607-Paul-RTL8188EE_Power_Architecture-R02.vsd 31 * There are 6 HW Power States: 32 * 0: POFF--Power Off 33 * 1: PDN--Power Down 34 * 2: CARDEMU--Card Emulation 35 * 3: ACT--Active Mode 36 * 4: LPS--Low Power State 37 * 5: SUS--Suspend 38 * 39 * The transision from different states are defined below 40 * TRANS_CARDEMU_TO_ACT 41 * TRANS_ACT_TO_CARDEMU 42 * TRANS_CARDEMU_TO_SUS 43 * TRANS_SUS_TO_CARDEMU 44 * TRANS_CARDEMU_TO_PDN 45 * TRANS_ACT_TO_LPS 46 * TRANS_LPS_TO_ACT 47 * 48 * TRANS_END 49 * PWR SEQ Version: rtl8188ee_PwrSeq_V09.h 50 */ 51 52 #define RTL8188EE_TRANS_CARDEMU_TO_ACT_STEPS 10 53 #define RTL8188EE_TRANS_ACT_TO_CARDEMU_STEPS 10 54 #define RTL8188EE_TRANS_CARDEMU_TO_SUS_STEPS 10 55 #define RTL8188EE_TRANS_SUS_TO_CARDEMU_STEPS 10 56 #define RTL8188EE_TRANS_CARDEMU_TO_PDN_STEPS 10 57 #define RTL8188EE_TRANS_PDN_TO_CARDEMU_STEPS 10 58 #define RTL8188EE_TRANS_ACT_TO_LPS_STEPS 15 59 #define RTL8188EE_TRANS_LPS_TO_ACT_STEPS 15 60 #define RTL8188EE_TRANS_END_STEPS 1 61 62 /* The following macros have the following format: 63 * { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value 64 * comments }, 65 */ 66 #define RTL8188EE_TRANS_CARDEMU_TO_ACT \ 67 {0x0006, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 68 PWR_BASEADDR_MAC, PWR_CMD_POLLING, BIT(1), BIT(1) \ 69 /* wait till 0x04[17] = 1 power ready*/}, \ 70 {0x0002, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 71 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0)|BIT(1), 0 \ 72 /* 0x02[1:0] = 0 reset BB*/}, \ 73 {0x0026, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 74 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(7), BIT(7) \ 75 /*0x24[23] = 2b'01 schmit trigger */}, \ 76 {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 77 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(7), 0 \ 78 /* 0x04[15] = 0 disable HWPDN (control by DRV)*/}, \ 79 {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 80 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(4)|BIT(3), 0 \ 81 /*0x04[12:11] = 2b'00 disable WL suspend*/}, \ 82 {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 83 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), BIT(0) \ 84 /*0x04[8] = 1 polling until return 0*/}, \ 85 {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 86 PWR_BASEADDR_MAC, PWR_CMD_POLLING, BIT(0), 0 \ 87 /*wait till 0x04[8] = 0*/}, \ 88 {0x0023, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 89 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(4), 0 \ 90 /*LDO normal mode*/}, \ 91 {0x0074, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \ 92 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(4), BIT(4) \ 93 /*SDIO Driving*/}, 94 95 #define RTL8188EE_TRANS_ACT_TO_CARDEMU \ 96 {0x001F, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 97 PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0 \ 98 /*0x1F[7:0] = 0 turn off RF*/}, \ 99 {0x0023, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 100 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(4), BIT(4) \ 101 /*LDO Sleep mode*/}, \ 102 {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 103 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(1), BIT(1) \ 104 /*0x04[9] = 1 turn off MAC by HW state machine*/}, \ 105 {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 106 PWR_BASEADDR_MAC, PWR_CMD_POLLING, BIT(1), 0 \ 107 /*wait till 0x04[9] = 0 polling until return 0 to disable*/}, 108 109 #define RTL8188EE_TRANS_CARDEMU_TO_SUS \ 110 {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, \ 111 PWR_INTF_USB_MSK|PWR_INTF_SDIO_MSK, \ 112 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(3)|BIT(4), BIT(3) \ 113 /*0x04[12:11] = 2b'01enable WL suspend*/}, \ 114 {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_PCI_MSK, \ 115 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(3)|BIT(4), BIT(3)|BIT(4) \ 116 /*0x04[12:11] = 2b'11enable WL suspend for PCIe*/}, \ 117 {0x0007, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, \ 118 PWR_INTF_USB_MSK|PWR_INTF_SDIO_MSK, \ 119 PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, BIT(7) \ 120 /* 0x04[31:30] = 2b'10 enable enable bandgap mbias in suspend */},\ 121 {0x0041, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, \ 122 PWR_INTF_USB_MSK|PWR_INTF_SDIO_MSK, \ 123 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(4), 0 \ 124 /*Clear SIC_EN register 0x40[12] = 1'b0 */}, \ 125 {0xfe10, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, \ 126 PWR_INTF_USB_MSK|PWR_INTF_SDIO_MSK, \ 127 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(4), BIT(4) \ 128 /*Set USB suspend enable local register 0xfe10[4]=1 */}, \ 129 {0x0086, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \ 130 PWR_BASEADDR_SDIO, PWR_CMD_WRITE, BIT(0), BIT(0) \ 131 /*Set SDIO suspend local register*/}, \ 132 {0x0086, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \ 133 PWR_BASEADDR_SDIO, PWR_CMD_POLLING, BIT(1), 0 \ 134 /*wait power state to suspend*/}, 135 136 #define RTL8188EE_TRANS_SUS_TO_CARDEMU \ 137 {0x0086, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \ 138 PWR_BASEADDR_SDIO, PWR_CMD_WRITE, BIT(0), 0 \ 139 /*Set SDIO suspend local register*/}, \ 140 {0x0086, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \ 141 PWR_BASEADDR_SDIO, PWR_CMD_POLLING, BIT(1), BIT(1) \ 142 /*wait power state to suspend*/}, \ 143 {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 144 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(3) | BIT(4), 0 \ 145 /*0x04[12:11] = 2b'00 disable WL suspend*/}, 146 147 #define RTL8188EE_TRANS_CARDEMU_TO_CARDDIS \ 148 {0x0026, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 149 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(7), BIT(7) \ 150 /*0x24[23] = 2b'01 schmit trigger */}, \ 151 {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, \ 152 PWR_INTF_USB_MSK|PWR_INTF_SDIO_MSK, \ 153 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(3) | BIT(4), BIT(3) \ 154 /*0x04[12:11] = 2b'01 enable WL suspend*/}, \ 155 {0x0007, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, \ 156 PWR_INTF_USB_MSK|PWR_INTF_SDIO_MSK, \ 157 PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0 \ 158 /* 0x04[31:30] = 2b'10 enable enable bandgap mbias in suspend */},\ 159 {0x0041, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, \ 160 PWR_INTF_USB_MSK|PWR_INTF_SDIO_MSK, \ 161 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(4), 0 \ 162 /*Clear SIC_EN register 0x40[12] = 1'b0 */}, \ 163 {0xfe10, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_USB_MSK, \ 164 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(4), BIT(4) \ 165 /*Set USB suspend enable local register 0xfe10[4]=1 */}, \ 166 {0x0086, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \ 167 PWR_BASEADDR_SDIO, PWR_CMD_WRITE, BIT(0), BIT(0) \ 168 /*Set SDIO suspend local register*/}, \ 169 {0x0086, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \ 170 PWR_BASEADDR_SDIO, PWR_CMD_POLLING, BIT(1), 0 \ 171 /*wait power state to suspend*/}, 172 173 #define RTL8188EE_TRANS_CARDDIS_TO_CARDEMU \ 174 {0x0086, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \ 175 PWR_BASEADDR_SDIO, PWR_CMD_WRITE, BIT(0), 0 \ 176 /*Set SDIO suspend local register*/}, \ 177 {0x0086, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \ 178 PWR_BASEADDR_SDIO, PWR_CMD_POLLING, BIT(1), BIT(1) \ 179 /*wait power state to suspend*/}, \ 180 {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 181 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(3)|BIT(4), 0 \ 182 /*0x04[12:11] = 2b'00 disable WL suspend*/}, 183 184 #define RTL8188EE_TRANS_CARDEMU_TO_PDN \ 185 {0x0006, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 186 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), 0/* 0x04[16] = 0*/}, \ 187 {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 188 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(7), BIT(7) \ 189 /* 0x04[15] = 1*/}, 190 191 #define RTL8188EE_TRANS_PDN_TO_CARDEMU \ 192 {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 193 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(7), 0/* 0x04[15] = 0*/}, 194 195 #define RTL8188EE_TRANS_ACT_TO_LPS \ 196 {0x0522, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 197 PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0x7F \ 198 /*Tx Pause*/}, \ 199 {0x05F8, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 200 PWR_BASEADDR_MAC, PWR_CMD_POLLING, 0xFF, 0 \ 201 /*Should be zero if no packet is transmitting*/}, \ 202 {0x05F9, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 203 PWR_BASEADDR_MAC, PWR_CMD_POLLING, 0xFF, 0 \ 204 /*Should be zero if no packet is transmitting*/}, \ 205 {0x05FA, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 206 PWR_BASEADDR_MAC, PWR_CMD_POLLING, 0xFF, 0 \ 207 /*Should be zero if no packet is transmitting*/}, \ 208 {0x05FB, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 209 PWR_BASEADDR_MAC, PWR_CMD_POLLING, 0xFF, 0 \ 210 /*Should be zero if no packet is transmitting*/}, \ 211 {0x0002, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 212 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(0), 0 \ 213 /*CCK and OFDM are disabled,and clock are gated*/}, \ 214 {0x0002, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 215 PWR_BASEADDR_MAC, PWR_CMD_DELAY, 0, PWRSEQ_DELAY_US \ 216 /*Delay 1us*/}, \ 217 {0x0100, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 218 PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0x3F \ 219 /*Reset MAC TRX*/}, \ 220 {0x0101, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 221 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(1), 0 \ 222 /*check if removed later*/}, \ 223 {0x0553, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 224 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(5), BIT(5) \ 225 /*Respond TxOK to scheduler*/}, 226 227 228 #define RTL8188EE_TRANS_LPS_TO_ACT \ 229 {0x0080, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \ 230 PWR_BASEADDR_SDIO, PWR_CMD_WRITE, 0xFF, 0x84 \ 231 /*SDIO RPWM*/}, \ 232 {0xFE58, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_USB_MSK, \ 233 PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0x84 \ 234 /*USB RPWM*/}, \ 235 {0x0361, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_PCI_MSK, \ 236 PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0x84 \ 237 /*PCIe RPWM*/}, \ 238 {0x0002, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 239 PWR_BASEADDR_MAC, PWR_CMD_DELAY, 0, PWRSEQ_DELAY_MS \ 240 /*Delay*/}, \ 241 {0x0008, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 242 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(4), 0 \ 243 /*. 0x08[4] = 0 switch TSF to 40M*/}, \ 244 {0x0109, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 245 PWR_BASEADDR_MAC, PWR_CMD_POLLING, BIT(7), 0 \ 246 /*Polling 0x109[7]=0 TSF in 40M*/}, \ 247 {0x0029, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 248 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(6)|BIT(7), 0 \ 249 /*. 0x29[7:6] = 2b'00 enable BB clock*/}, \ 250 {0x0101, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 251 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(1), BIT(1) \ 252 /*. 0x101[1] = 1*/}, \ 253 {0x0100, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 254 PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0xFF \ 255 /*. 0x100[7:0] = 0xFF enable WMAC TRX*/}, \ 256 {0x0002, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 257 PWR_BASEADDR_MAC, PWR_CMD_WRITE, BIT(1)|BIT(0), BIT(1)|BIT(0) \ 258 /*. 0x02[1:0] = 2b'11 enable BB macro*/}, \ 259 {0x0522, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 260 PWR_BASEADDR_MAC, PWR_CMD_WRITE, 0xFF, 0 \ 261 /*. 0x522 = 0*/}, 262 263 #define RTL8188EE_TRANS_END \ 264 {0xFFFF, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK,\ 265 0, PWR_CMD_END, 0, 0} 266 267 extern struct wlan_pwr_cfg rtl8188ee_power_on_flow 268 [RTL8188EE_TRANS_CARDEMU_TO_ACT_STEPS + 269 RTL8188EE_TRANS_END_STEPS]; 270 extern struct wlan_pwr_cfg rtl8188ee_radio_off_flow 271 [RTL8188EE_TRANS_ACT_TO_CARDEMU_STEPS + 272 RTL8188EE_TRANS_END_STEPS]; 273 extern struct wlan_pwr_cfg rtl8188ee_card_disable_flow 274 [RTL8188EE_TRANS_ACT_TO_CARDEMU_STEPS + 275 RTL8188EE_TRANS_CARDEMU_TO_PDN_STEPS + 276 RTL8188EE_TRANS_END_STEPS]; 277 extern struct wlan_pwr_cfg rtl8188ee_card_enable_flow 278 [RTL8188EE_TRANS_ACT_TO_CARDEMU_STEPS + 279 RTL8188EE_TRANS_CARDEMU_TO_PDN_STEPS + 280 RTL8188EE_TRANS_END_STEPS]; 281 extern struct wlan_pwr_cfg rtl8188ee_suspend_flow 282 [RTL8188EE_TRANS_ACT_TO_CARDEMU_STEPS + 283 RTL8188EE_TRANS_CARDEMU_TO_SUS_STEPS + 284 RTL8188EE_TRANS_END_STEPS]; 285 extern struct wlan_pwr_cfg rtl8188ee_resume_flow 286 [RTL8188EE_TRANS_ACT_TO_CARDEMU_STEPS + 287 RTL8188EE_TRANS_CARDEMU_TO_SUS_STEPS + 288 RTL8188EE_TRANS_END_STEPS]; 289 extern struct wlan_pwr_cfg rtl8188ee_hwpdn_flow 290 [RTL8188EE_TRANS_ACT_TO_CARDEMU_STEPS + 291 RTL8188EE_TRANS_CARDEMU_TO_PDN_STEPS + 292 RTL8188EE_TRANS_END_STEPS]; 293 extern struct wlan_pwr_cfg rtl8188ee_enter_lps_flow 294 [RTL8188EE_TRANS_ACT_TO_LPS_STEPS + 295 RTL8188EE_TRANS_END_STEPS]; 296 extern struct wlan_pwr_cfg rtl8188ee_leave_lps_flow 297 [RTL8188EE_TRANS_LPS_TO_ACT_STEPS + 298 RTL8188EE_TRANS_END_STEPS]; 299 300 /* RTL8723 Power Configuration CMDs for PCIe interface */ 301 #define RTL8188EE_NIC_PWR_ON_FLOW rtl8188ee_power_on_flow 302 #define RTL8188EE_NIC_RF_OFF_FLOW rtl8188ee_radio_off_flow 303 #define RTL8188EE_NIC_DISABLE_FLOW rtl8188ee_card_disable_flow 304 #define RTL8188EE_NIC_ENABLE_FLOW rtl8188ee_card_enable_flow 305 #define RTL8188EE_NIC_SUSPEND_FLOW rtl8188ee_suspend_flow 306 #define RTL8188EE_NIC_RESUME_FLOW rtl8188ee_resume_flow 307 #define RTL8188EE_NIC_PDN_FLOW rtl8188ee_hwpdn_flow 308 #define RTL8188EE_NIC_LPS_ENTER_FLOW rtl8188ee_enter_lps_flow 309 #define RTL8188EE_NIC_LPS_LEAVE_FLOW rtl8188ee_leave_lps_flow 310 311 #endif 312