[go: nahoru, domu]

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