/******************************************************************************
 *
 * Copyright(c) 2007 - 2010 Realtek Corporation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of version 2 of the GNU General Public License as
 * published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
 * more details.
 *
 * You should have received a copy of the GNU General Public License along with
 * this program; if not, write to the Free Software Foundation, Inc.,
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
 *
 *
 ******************************************************************************/
#ifndef __RTL8712_POWERSAVE_REGDEF_H__
#define __RTL8712_POWERSAVE_REGDEF_H__

#define WOWCTRL				(RTL8712_POWERSAVE_ + 0x00)
#define PSSTATUS			(RTL8712_POWERSAVE_ + 0x01)
#define PSSWITCH			(RTL8712_POWERSAVE_ + 0x02)
#define MIMOPS_WAITPERIOD		(RTL8712_POWERSAVE_ + 0x03)
#define LPNAV_CTRL			(RTL8712_POWERSAVE_ + 0x04)
#define WFM0				(RTL8712_POWERSAVE_ + 0x10)
#define WFM1				(RTL8712_POWERSAVE_ + 0x20)
#define WFM2				(RTL8712_POWERSAVE_ + 0x30)
#define WFM3				(RTL8712_POWERSAVE_ + 0x40)
#define WFM4				(RTL8712_POWERSAVE_ + 0x50)
#define WFM5				(RTL8712_POWERSAVE_ + 0x60)
#define WFCRC				(RTL8712_POWERSAVE_ + 0x70)
#define RPWM				(RTL8712_POWERSAVE_ + 0x7C)
#define CPWM				(RTL8712_POWERSAVE_ + 0x7D)

#endif /* __RTL8712_POWERSAVE_REGDEF_H__ */

