/******************************************************************************
 *
 * Copyright(c) 2007 - 2011 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	__ODM_REGDEFINE11AC_H__
#define __ODM_REGDEFINE11AC_H__

/* 2 RF REG LIST */



/* 2 BB REG LIST */
/* PAGE 8 */
/* PAGE 9 */
#define	ODM_REG_OFDM_FA_RST_11AC		0x9A4
/* PAGE A */
#define	ODM_REG_CCK_CCA_11AC				0xA0A
#define	ODM_REG_CCK_FA_RST_11AC			0xA2C
#define	ODM_REG_CCK_FA_11AC				0xA5C
/* PAGE C */
#define	ODM_REG_IGI_A_11AC				0xC50
/* PAGE E */
#define	ODM_REG_IGI_B_11AC				0xE50
/* PAGE F */
#define	ODM_REG_OFDM_FA_11AC			0xF48


/* 2 MAC REG LIST */




/* DIG Related */
#define	ODM_BIT_IGI_11AC				0xFFFFFFFF



#endif
