1b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger/****************************************************************************** 2b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * 3b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * Copyright(c) 2009-2014 Realtek Corporation. 4b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * 5b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * This program is free software; you can redistribute it and/or modify it 6b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * under the terms of version 2 of the GNU General Public License as 7b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * published by the Free Software Foundation. 8b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * 9b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * This program is distributed in the hope that it will be useful, but WITHOUT 10b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * more details. 13b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * 14b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * The full GNU General Public License is included in this distribution in the 15b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * file called LICENSE. 16b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * 17b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * Contact Information: 18b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * wlanfae <wlanfae@realtek.com> 19b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park, 20b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * Hsinchu 300, Taiwan. 21b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * 22b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * Larry Finger <Larry.Finger@lwfinger.net> 23b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * 24b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger *****************************************************************************/ 25b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger 26b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger#ifndef __RTL92E_PWRSEQ_H__ 27b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger#define __RTL92E_PWRSEQ_H__ 28b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger 29b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger#include "../pwrseqcmd.h" 30b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger/** 31b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * Check document WM-20110607-Paul-RTL8192E_Power_Architecture-R02.vsd 32b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * There are 6 HW Power States: 33b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * 0: POFF--Power Off 34b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * 1: PDN--Power Down 35b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * 2: CARDEMU--Card Emulation 36b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * 3: ACT--Active Mode 37b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * 4: LPS--Low Power State 38b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * 5: SUS--Suspend 39b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * 40b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * The transision from different states are defined below 41b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * TRANS_CARDEMU_TO_ACT 42b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * TRANS_ACT_TO_CARDEMU 43b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * TRANS_CARDEMU_TO_SUS 44b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * TRANS_SUS_TO_CARDEMU 45b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * TRANS_CARDEMU_TO_PDN 46b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * TRANS_ACT_TO_LPS 47b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * TRANS_LPS_TO_ACT 48b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * 49b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * TRANS_END 50b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger * PWR SEQ Version: rtl8192E_PwrSeq_V09.h 51b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger */ 52b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger 53b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger#define RTL8192E_TRANS_CARDEMU_TO_ACT_STEPS 18 54b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger#define RTL8192E_TRANS_ACT_TO_CARDEMU_STEPS 18 55b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger#define RTL8192E_TRANS_CARDEMU_TO_SUS_STEPS 18 56b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger#define RTL8192E_TRANS_SUS_TO_CARDEMU_STEPS 18 57b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger#define RTL8192E_TRANS_CARDEMU_TO_PDN_STEPS 18 58b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger#define RTL8192E_TRANS_PDN_TO_CARDEMU_STEPS 18 59b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger#define RTL8192E_TRANS_ACT_TO_LPS_STEPS 23 60b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger#define RTL8192E_TRANS_LPS_TO_ACT_STEPS 23 61b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger#define RTL8192E_TRANS_END_STEPS 1 62b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger 63b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger#define RTL8192E_TRANS_CARDEMU_TO_ACT \ 64b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* format */ \ 65b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* comments here */ \ 66b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value },*/\ 67b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* disable HWPDN 0x04[15]=0*/ \ 68b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 69b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, BIT(7), 0}, \ 70b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* disable SW LPS 0x04[10]=0*/ \ 71b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 72b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, BIT(2), 0}, \ 73b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* disable WL suspend*/ \ 74b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 75b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, (BIT(4)|BIT(3)), 0}, \ 76b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* wait till 0x04[17] = 1 power ready*/ \ 77b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0006, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 78b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_POLLING, BIT(1), BIT(1)}, \ 79b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* release WLON reset 0x04[16]=1*/ \ 80b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0006, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 81b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, BIT(0), BIT(0)}, \ 82b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* polling until return 0*/ \ 83b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 84b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, BIT(0), BIT(0)}, \ 85b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /**/ \ 86b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 87b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_POLLING, BIT(0), 0}, 88b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger 89b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger#define RTL8192E_TRANS_ACT_TO_CARDEMU \ 90b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* format */ \ 91b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* comments here */ \ 92b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value },*/\ 93b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*0x1F[7:0] = 0 turn off RF*/ \ 94b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x001F, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 95b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, 0xFF, 0}, \ 96b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*0x4C[23]=0x4E[7]=0, switch DPDT_SEL_P output from register 0x65[2] */\ 97b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x004E, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 98b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, BIT(7), 0}, \ 99b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*0x04[9] = 1 turn off MAC by HW state machine*/ \ 100b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 101b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, BIT(1), BIT(1)}, \ 102b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*wait till 0x04[9] = 0 polling until return 0 to disable*/ \ 103b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 104b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_POLLING, BIT(1), 0}, 105b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger 106b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger#define RTL8192E_TRANS_CARDEMU_TO_SUS \ 107b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* format */ \ 108b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* comments here */ \ 109b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value },*/\ 110b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*0x04[12:11] = 2b'11 enable WL suspend for PCIe*/ \ 111b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_PCI_MSK, \ 112b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, BIT(4) | BIT(3), (BIT(4) | BIT(3))},\ 113b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*0x04[12:11] = 2b'01 enable WL suspend*/ \ 114b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, \ 115b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_INTF_USB_MSK | PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, \ 116b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_CMD_WRITE, BIT(3)|BIT(4), BIT(3)}, \ 117b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*0x04[12:11] = 2b'11 enable WL suspend for PCIe*/ \ 118b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_PCI_MSK, \ 119b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, BIT(3) | BIT(4), BIT(3) | BIT(4)},\ 120b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*Set SDIO suspend local register*/ \ 121b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0086, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \ 122b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_SDIO , PWR_CMD_WRITE, BIT(0), BIT(0)}, \ 123b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*wait power state to suspend*/ \ 124b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0086, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \ 125b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_SDIO , PWR_CMD_POLLING, BIT(1), 0}, 126b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger 127b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger#define RTL8192E_TRANS_SUS_TO_CARDEMU \ 128b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* format */ \ 129b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* comments here */ \ 130b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value },*/\ 131b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*Set SDIO suspend local register*/ \ 132b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0086, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \ 133b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_SDIO , PWR_CMD_WRITE, BIT(0), 0}, \ 134b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*wait power state to suspend*/ \ 135b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0086, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \ 136b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_SDIO , PWR_CMD_POLLING, BIT(1), BIT(1)}, \ 137b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*0x04[12:11] = 2b'01enable WL suspend*/ \ 138b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 139b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, BIT(3) | BIT(4), 0}, 140b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger 141b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger#define RTL8192E_TRANS_CARDEMU_TO_CARDDIS \ 142b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* format */ \ 143b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* comments here */ \ 144b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value },*/\ 145b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*0x07=0x20 , SOP option to disable BG/MB*/ \ 146b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0007, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \ 147b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, 0xFF, 0x20}, \ 148b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*Unlock small LDO Register*/ \ 149b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x00CC, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \ 150b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, BIT(2), BIT(2)}, \ 151b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*Disable small LDO*/ \ 152b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0011, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \ 153b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, BIT(0), 0}, \ 154b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*0x04[12:11] = 2b'01 enable WL suspend*/ \ 155b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, \ 156b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_INTF_USB_MSK|PWR_INTF_SDIO_MSK, PWR_BASEADDR_MAC, \ 157b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_CMD_WRITE, BIT(3)|BIT(4), BIT(3)}, \ 158b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*0x04[10] = 1, enable SW LPS*/ \ 159b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_PCI_MSK, \ 160b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, BIT(2), BIT(2)}, \ 161b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*Set SDIO suspend local register*/ \ 162b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0086, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \ 163b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_SDIO , PWR_CMD_WRITE, BIT(0), BIT(0)}, \ 164b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*wait power state to suspend*/ \ 165b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0086, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \ 166b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_SDIO , PWR_CMD_POLLING, BIT(1), 0}, 167b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger 168b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger#define RTL8192E_TRANS_CARDDIS_TO_CARDEMU \ 169b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* format */ \ 170b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* comments here */ \ 171b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value },*/\ 172b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*Set SDIO suspend local register*/ \ 173b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0086, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \ 174b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_SDIO , PWR_CMD_WRITE, BIT(0), 0}, \ 175b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*wait power state to suspend*/ \ 176b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0086, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \ 177b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_SDIO , PWR_CMD_POLLING, BIT(1), BIT(1)}, \ 178b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*Enable small LDO*/ \ 179b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0011, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \ 180b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, BIT(0), BIT(0)}, \ 181b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*Lock small LDO Register*/ \ 182b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x00CC, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \ 183b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, BIT(2), 0}, \ 184b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*0x04[12:11] = 2b'01enable WL suspend*/ \ 185b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 186b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, BIT(3) | BIT(4), 0}, 187b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger 188b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger#define RTL8192E_TRANS_CARDEMU_TO_PDN \ 189b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* format */ \ 190b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* comments here */ \ 191b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value },*/\ 192b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* 0x04[16] = 0*/ \ 193b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0006, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 194b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, BIT(0), 0}, \ 195b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* 0x04[15] = 1*/ \ 196b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 197b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, BIT(7), BIT(7)}, 198b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger 199b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger#define RTL8192E_TRANS_PDN_TO_CARDEMU \ 200b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* format */ \ 201b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* comments here */ \ 202b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value },*/\ 203b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* 0x04[15] = 0*/ \ 204b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0005, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 205b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, BIT(7), 0}, 206b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger 207b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger#define RTL8192E_TRANS_ACT_TO_LPS \ 208b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* format */ \ 209b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* comments here */ \ 210b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value },*/\ 211b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*PCIe DMA stop*/ \ 212b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0301, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_PCI_MSK, \ 213b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, 0xFF, 0xFF}, \ 214b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*Tx Pause*/ \ 215b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0522, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 216b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, 0xFF, 0xFF}, \ 217b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*Should be zero if no packet is transmitting*/ \ 218b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x05F8, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 219b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_POLLING, 0xFF, 0}, \ 220b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*Should be zero if no packet is transmitting*/ \ 221b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x05F9, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 222b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_POLLING, 0xFF, 0}, \ 223b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*Should be zero if no packet is transmitting*/ \ 224b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x05FA, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 225b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_POLLING, 0xFF, 0}, \ 226b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*Should be zero if no packet is transmitting*/ \ 227b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x05FB, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 228b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_POLLING, 0xFF, 0}, \ 229b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*CCK and OFDM are disabled,and clock are gated*/ \ 230b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0002, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 231b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, BIT(0), 0}, \ 232b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*Delay 1us*/ \ 233b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0002, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 234b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_DELAY, 0, PWRSEQ_DELAY_US}, \ 235b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*Whole BB is reset*/ \ 236b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0002, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 237b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, BIT(1), 0}, \ 238b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*Reset MAC TRX*/ \ 239b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0100, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 240b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, 0xFF, 0x03}, \ 241b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*check if removed later*/ \ 242b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0101, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 243b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, BIT(1), 0}, \ 244b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*When driver enter Sus/ Disable, enable LOP for BT*/ \ 245b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0093, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \ 246b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, 0xFF, 0x00}, \ 247b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*Respond TxOK to scheduler*/ \ 248b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0553, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 249b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, BIT(5), BIT(5)}, 250b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger 251b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger#define RTL8192E_TRANS_LPS_TO_ACT \ 252b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* format */ \ 253b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* comments here */ \ 254b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value },*/\ 255b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*SDIO RPWM, For Repeatly In and out, Taggle bit should be changed*/\ 256b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0080, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_SDIO_MSK, \ 257b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_SDIO , PWR_CMD_WRITE, 0xFF, 0x84}, \ 258b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*USB RPWM*/ \ 259b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0xFE58, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_USB_MSK, \ 260b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, 0xFF, 0x84}, \ 261b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*PCIe RPWM*/ \ 262b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0361, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_PCI_MSK, \ 263b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, 0xFF, 0x84}, \ 264b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*Delay*/ \ 265b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0002, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 266b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_DELAY, 0, PWRSEQ_DELAY_MS}, \ 267b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*0x08[4] = 0 switch TSF to 40M*/ \ 268b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0008, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 269b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, BIT(4), 0}, \ 270b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*Polling 0x109[7]=0 TSF in 40M*/ \ 271b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0109, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 272b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_POLLING, BIT(7), 0}, \ 273b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*0x101[1] = 1*/ \ 274b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0101, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 275b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, BIT(1), BIT(1)}, \ 276b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*0x100[7:0] = 0xFF enable WMAC TRX*/ \ 277b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0100, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 278b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, 0xFF, 0xFF}, \ 279b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* 0x02[1:0] = 2b'11 enable BB macro*/ \ 280b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0002, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 281b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, BIT(1) | BIT(0), BIT(1) | BIT(0)},\ 282b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*0x522 = 0*/ \ 283b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x0522, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 284b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, 0xFF, 0}, \ 285b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /*Clear ISR*/ \ 286b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0x013D, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 287b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger PWR_BASEADDR_MAC , PWR_CMD_WRITE, 0xFF, 0xFF}, 288b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger 289b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger#define RTL8192E_TRANS_END \ 290b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* format */ \ 291b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* comments here */ \ 292b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger /* { offset, cut_msk, fab_msk|interface_msk, base|cmd, msk, value },*/\ 293b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger {0xFFFF, PWR_CUT_ALL_MSK, PWR_FAB_ALL_MSK, PWR_INTF_ALL_MSK, \ 294b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger 0, PWR_CMD_END, 0, 0}, 295b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger 296b1a3bfc97cd95681c511515534b84843998f3ea0Larry Fingerextern struct wlan_pwr_cfg rtl8192E_power_on_flow 297b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger [RTL8192E_TRANS_CARDEMU_TO_ACT_STEPS + 298b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger RTL8192E_TRANS_END_STEPS]; 299b1a3bfc97cd95681c511515534b84843998f3ea0Larry Fingerextern struct wlan_pwr_cfg rtl8192E_radio_off_flow 300b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger [RTL8192E_TRANS_ACT_TO_CARDEMU_STEPS + 301b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger RTL8192E_TRANS_END_STEPS]; 302b1a3bfc97cd95681c511515534b84843998f3ea0Larry Fingerextern struct wlan_pwr_cfg rtl8192E_card_disable_flow 303b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger [RTL8192E_TRANS_ACT_TO_CARDEMU_STEPS + 304b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger RTL8192E_TRANS_CARDEMU_TO_PDN_STEPS + 305b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger RTL8192E_TRANS_END_STEPS]; 306b1a3bfc97cd95681c511515534b84843998f3ea0Larry Fingerextern struct wlan_pwr_cfg rtl8192E_card_enable_flow 307b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger [RTL8192E_TRANS_ACT_TO_CARDEMU_STEPS + 308b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger RTL8192E_TRANS_CARDEMU_TO_PDN_STEPS + 309b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger RTL8192E_TRANS_END_STEPS]; 310b1a3bfc97cd95681c511515534b84843998f3ea0Larry Fingerextern struct wlan_pwr_cfg rtl8192E_suspend_flow 311b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger [RTL8192E_TRANS_ACT_TO_CARDEMU_STEPS + 312b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger RTL8192E_TRANS_CARDEMU_TO_SUS_STEPS + 313b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger RTL8192E_TRANS_END_STEPS]; 314b1a3bfc97cd95681c511515534b84843998f3ea0Larry Fingerextern struct wlan_pwr_cfg rtl8192E_resume_flow 315b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger [RTL8192E_TRANS_ACT_TO_CARDEMU_STEPS + 316b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger RTL8192E_TRANS_CARDEMU_TO_SUS_STEPS + 317b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger RTL8192E_TRANS_END_STEPS]; 318b1a3bfc97cd95681c511515534b84843998f3ea0Larry Fingerextern struct wlan_pwr_cfg rtl8192E_hwpdn_flow 319b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger [RTL8192E_TRANS_ACT_TO_CARDEMU_STEPS + 320b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger RTL8192E_TRANS_CARDEMU_TO_PDN_STEPS + 321b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger RTL8192E_TRANS_END_STEPS]; 322b1a3bfc97cd95681c511515534b84843998f3ea0Larry Fingerextern struct wlan_pwr_cfg rtl8192E_enter_lps_flow 323b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger [RTL8192E_TRANS_ACT_TO_LPS_STEPS + 324b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger RTL8192E_TRANS_END_STEPS]; 325b1a3bfc97cd95681c511515534b84843998f3ea0Larry Fingerextern struct wlan_pwr_cfg rtl8192E_leave_lps_flow 326b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger [RTL8192E_TRANS_LPS_TO_ACT_STEPS + 327b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger RTL8192E_TRANS_END_STEPS]; 328b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger 329b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger/* RTL8192EE Power Configuration CMDs for PCIe interface */ 330b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger#define RTL8192E_NIC_PWR_ON_FLOW rtl8192E_power_on_flow 331b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger#define RTL8192E_NIC_RF_OFF_FLOW rtl8192E_radio_off_flow 332b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger#define RTL8192E_NIC_DISABLE_FLOW rtl8192E_card_disable_flow 333b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger#define RTL8192E_NIC_ENABLE_FLOW rtl8192E_card_enable_flow 334b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger#define RTL8192E_NIC_SUSPEND_FLOW rtl8192E_suspend_flow 335b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger#define RTL8192E_NIC_RESUME_FLOW rtl8192E_resume_flow 336b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger#define RTL8192E_NIC_PDN_FLOW rtl8192E_hwpdn_flow 337b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger#define RTL8192E_NIC_LPS_ENTER_FLOW rtl8192E_enter_lps_flow 338b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger#define RTL8192E_NIC_LPS_LEAVE_FLOW rtl8192E_leave_lps_flow 339b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger 340b1a3bfc97cd95681c511515534b84843998f3ea0Larry Finger#endif 341