blob: bebf974ed949bfee9bc6b682f4978bbc8a37e842 [file] [log] [blame]
/******************************************************************************
*
* Copyright(c) 2016 Realtek Corporation.
*
* 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.
*
* The full GNU General Public License is included in this distribution in the
* file called LICENSE.
*
* Contact Information:
* wlanfae <wlanfae@realtek.com>
* Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park,
* Hsinchu 300, Taiwan.
*
* Larry Finger <Larry.Finger@lwfinger.net>
*
*****************************************************************************/
#ifndef __HALMAC_COM_REG_H__
#define __HALMAC_COM_REG_H__
/*-------------------------Modification Log-----------------------------------
* For Page0, it is based on Combo_And_WL_Only_Page0_Reg.xls SVN524
* The supported IC are 8723A, 8881A, 8723B, 8192E, 8881A
* 8812A and 8188E is not included in page0 register
*
* For other pages, it is based on MAC_Register.doc SVN502
* Most IC is the same with 8812A
*-------------------------Modification Log-----------------------------------
*/
/*--------------------------Include File--------------------------------------*/
/*--------------------------Include File--------------------------------------*/
#define REG_SYS_ISO_CTRL 0x0000
#define REG_SDIO_TX_CTRL 0x10250000
#define REG_SYS_FUNC_EN 0x0002
#define REG_SYS_PW_CTRL 0x0004
#define REG_SYS_CLK_CTRL 0x0008
#define REG_SYS_EEPROM_CTRL 0x000A
#define REG_EE_VPD 0x000C
#define REG_SYS_SWR_CTRL1 0x0010
#define REG_SYS_SWR_CTRL2 0x0014
#define REG_SDIO_HIMR 0x10250014
#define REG_SYS_SWR_CTRL3 0x0018
#define REG_SDIO_HISR 0x10250018
#define REG_RSV_CTRL 0x001C
#define REG_SDIO_RX_REQ_LEN 0x1025001C
#define REG_RF_CTRL 0x001F
#define REG_SDIO_FREE_TXPG_SEQ_V1 0x1025001F
#define REG_AFE_LDO_CTRL 0x0020
#define REG_SDIO_FREE_TXPG 0x10250020
#define REG_AFE_CTRL1 0x0024
#define REG_SDIO_FREE_TXPG2 0x10250024
#define REG_AFE_CTRL2 0x0028
#define REG_SDIO_OQT_FREE_TXPG_V1 0x10250028
#define REG_AFE_CTRL3 0x002C
#define REG_EFUSE_CTRL 0x0030
#define REG_SDIO_HTSFR_INFO 0x10250030
#define REG_LDO_EFUSE_CTRL 0x0034
#define REG_PWR_OPTION_CTRL 0x0038
#define REG_SDIO_HCPWM1_V2 0x10250038
#define REG_SDIO_HCPWM2_V2 0x1025003A
#define REG_CAL_TIMER 0x003C
#define REG_ACLK_MON 0x003E
#define REG_GPIO_MUXCFG 0x0040
#define REG_SDIO_INDIRECT_REG_CFG 0x10250040
#define REG_GPIO_PIN_CTRL 0x0044
#define REG_SDIO_INDIRECT_REG_DATA 0x10250044
#define REG_GPIO_INTM 0x0048
#define REG_LED_CFG 0x004C
#define REG_FSIMR 0x0050
#define REG_FSISR 0x0054
#define REG_HSIMR 0x0058
#define REG_HSISR 0x005C
#define REG_GPIO_EXT_CTRL 0x0060
#define REG_SDIO_H2C 0x10250060
#define REG_PAD_CTRL1 0x0064
#define REG_SDIO_C2H 0x10250064
#define REG_WL_BT_PWR_CTRL 0x0068
#define REG_SDM_DEBUG 0x006C
#define REG_SYS_SDIO_CTRL 0x0070
#define REG_HCI_OPT_CTRL 0x0074
#define REG_AFE_CTRL4 0x0078
#define REG_LDO_SWR_CTRL 0x007C
#define REG_MCUFW_CTRL 0x0080
#define REG_SDIO_HRPWM1 0x10250080
#define REG_SDIO_HRPWM2 0x10250082
#define REG_MCU_TST_CFG 0x0084
#define REG_SDIO_HPS_CLKR 0x10250084
#define REG_SDIO_BUS_CTRL 0x10250085
#define REG_SDIO_HSUS_CTRL 0x10250086
#define REG_HMEBOX_E0_E1 0x0088
#define REG_SDIO_RESPONSE_TIMER 0x10250088
#define REG_SDIO_CMD_CRC 0x1025008A
#define REG_HMEBOX_E2_E3 0x008C
#define REG_WLLPS_CTRL 0x0090
#define REG_SDIO_HSISR 0x10250090
#define REG_SDIO_HSIMR 0x10250091
#define REG_AFE_CTRL5 0x0094
#define REG_GPIO_DEBOUNCE_CTRL 0x0098
#define REG_RPWM2 0x009C
#define REG_SYSON_FSM_MON 0x00A0
#define REG_AFE_CTRL6 0x00A4
#define REG_PMC_DBG_CTRL1 0x00A8
#define REG_AFE_CTRL7 0x00AC
#define REG_HIMR0 0x00B0
#define REG_HISR0 0x00B4
#define REG_HIMR1 0x00B8
#define REG_HISR1 0x00BC
#define REG_DBG_PORT_SEL 0x00C0
#define REG_SDIO_ERR_RPT 0x102500C0
#define REG_SDIO_CMD_ERRCNT 0x102500C1
#define REG_SDIO_DATA_ERRCNT 0x102500C2
#define REG_PAD_CTRL2 0x00C4
#define REG_SDIO_CMD_ERR_CONTENT 0x102500C4
#define REG_SDIO_CRC_ERR_IDX 0x102500C9
#define REG_SDIO_DATA_CRC 0x102500CA
#define REG_SDIO_DATA_REPLY_TIME 0x102500CB
#define REG_PMC_DBG_CTRL2 0x00CC
#define REG_BIST_CTRL 0x00D0
#define REG_BIST_RPT 0x00D4
#define REG_MEM_CTRL 0x00D8
#define REG_AFE_CTRL8 0x00DC
#define REG_USB_SIE_INTF 0x00E0
#define REG_PCIE_MIO_INTF 0x00E4
#define REG_PCIE_MIO_INTD 0x00E8
#define REG_WLRF1 0x00EC
#define REG_SYS_CFG1 0x00F0
#define REG_SYS_STATUS1 0x00F4
#define REG_SYS_STATUS2 0x00F8
#define REG_SYS_CFG2 0x00FC
#define REG_CR 0x0100
#define REG_PKT_BUFF_ACCESS_CTRL 0x0106
#define REG_TSF_CLK_STATE 0x0108
#define REG_TXDMA_PQ_MAP 0x010C
#define REG_TRXFF_BNDY 0x0114
#define REG_PTA_I2C_MBOX 0x0118
#define REG_RXFF_BNDY 0x011C
#define REG_FE1IMR 0x0120
#define REG_FE1ISR 0x0124
#define REG_CPWM 0x012C
#define REG_FWIMR 0x0130
#define REG_FWISR 0x0134
#define REG_FTIMR 0x0138
#define REG_FTISR 0x013C
#define REG_PKTBUF_DBG_CTRL 0x0140
#define REG_PKTBUF_DBG_DATA_L 0x0144
#define REG_PKTBUF_DBG_DATA_H 0x0148
#define REG_CPWM2 0x014C
#define REG_TC0_CTRL 0x0150
#define REG_TC1_CTRL 0x0154
#define REG_TC2_CTRL 0x0158
#define REG_TC3_CTRL 0x015C
#define REG_TC4_CTRL 0x0160
#define REG_TCUNIT_BASE 0x0164
#define REG_TC5_CTRL 0x0168
#define REG_TC6_CTRL 0x016C
#define REG_MBIST_FAIL 0x0170
#define REG_MBIST_START_PAUSE 0x0174
#define REG_MBIST_DONE 0x0178
#define REG_MBIST_FAIL_NRML 0x017C
#define REG_AES_DECRPT_DATA 0x0180
#define REG_AES_DECRPT_CFG 0x0184
#define REG_TMETER 0x0190
#define REG_OSC_32K_CTRL 0x0194
#define REG_32K_CAL_REG1 0x0198
#define REG_C2HEVT 0x01A0
#define REG_C2HEVT_1 0x01A4
#define REG_C2HEVT_2 0x01A8
#define REG_C2HEVT_3 0x01AC
#define REG_SW_DEFINED_PAGE1 0x01B8
#define REG_MCUTST_I 0x01C0
#define REG_MCUTST_II 0x01C4
#define REG_FMETHR 0x01C8
#define REG_HMETFR 0x01CC
#define REG_HMEBOX0 0x01D0
#define REG_HMEBOX1 0x01D4
#define REG_HMEBOX2 0x01D8
#define REG_HMEBOX3 0x01DC
#define REG_LLT_INIT 0x01E0
#define REG_LLT_INIT_ADDR 0x01E4
#define REG_BB_ACCESS_CTRL 0x01E8
#define REG_BB_ACCESS_DATA 0x01EC
#define REG_HMEBOX_E0 0x01F0
#define REG_HMEBOX_E1 0x01F4
#define REG_HMEBOX_E2 0x01F8
#define REG_HMEBOX_E3 0x01FC
#define REG_FIFOPAGE_CTRL_1 0x0200
#define REG_FIFOPAGE_CTRL_2 0x0204
#define REG_AUTO_LLT_V1 0x0208
#define REG_TXDMA_OFFSET_CHK 0x020C
#define REG_TXDMA_STATUS 0x0210
#define REG_TX_DMA_DBG 0x0214
#define REG_TQPNT1 0x0218
#define REG_TQPNT2 0x021C
#define REG_TQPNT3 0x0220
#define REG_TQPNT4 0x0224
#define REG_RQPN_CTRL_1 0x0228
#define REG_RQPN_CTRL_2 0x022C
#define REG_FIFOPAGE_INFO_1 0x0230
#define REG_FIFOPAGE_INFO_2 0x0234
#define REG_FIFOPAGE_INFO_3 0x0238
#define REG_FIFOPAGE_INFO_4 0x023C
#define REG_FIFOPAGE_INFO_5 0x0240
#define REG_H2C_HEAD 0x0244
#define REG_H2C_TAIL 0x0248
#define REG_H2C_READ_ADDR 0x024C
#define REG_H2C_WR_ADDR 0x0250
#define REG_H2C_INFO 0x0254
#define REG_RXDMA_AGG_PG_TH 0x0280
#define REG_RXPKT_NUM 0x0284
#define REG_RXDMA_STATUS 0x0288
#define REG_RXDMA_DPR 0x028C
#define REG_RXDMA_MODE 0x0290
#define REG_C2H_PKT 0x0294
#define REG_FWFF_C2H 0x0298
#define REG_FWFF_CTRL 0x029C
#define REG_FWFF_PKT_INFO 0x02A0
#define REG_PCIE_CTRL 0x0300
#define REG_INT_MIG 0x0304
#define REG_BCNQ_TXBD_DESA 0x0308
#define REG_MGQ_TXBD_DESA 0x0310
#define REG_VOQ_TXBD_DESA 0x0318
#define REG_VIQ_TXBD_DESA 0x0320
#define REG_BEQ_TXBD_DESA 0x0328
#define REG_BKQ_TXBD_DESA 0x0330
#define REG_RXQ_RXBD_DESA 0x0338
#define REG_HI0Q_TXBD_DESA 0x0340
#define REG_HI1Q_TXBD_DESA 0x0348
#define REG_HI2Q_TXBD_DESA 0x0350
#define REG_HI3Q_TXBD_DESA 0x0358
#define REG_HI4Q_TXBD_DESA 0x0360
#define REG_HI5Q_TXBD_DESA 0x0368
#define REG_HI6Q_TXBD_DESA 0x0370
#define REG_HI7Q_TXBD_DESA 0x0378
#define REG_MGQ_TXBD_NUM 0x0380
#define REG_RX_RXBD_NUM 0x0382
#define REG_VOQ_TXBD_NUM 0x0384
#define REG_VIQ_TXBD_NUM 0x0386
#define REG_BEQ_TXBD_NUM 0x0388
#define REG_BKQ_TXBD_NUM 0x038A
#define REG_HI0Q_TXBD_NUM 0x038C
#define REG_HI1Q_TXBD_NUM 0x038E
#define REG_HI2Q_TXBD_NUM 0x0390
#define REG_HI3Q_TXBD_NUM 0x0392
#define REG_HI4Q_TXBD_NUM 0x0394
#define REG_HI5Q_TXBD_NUM 0x0396
#define REG_HI6Q_TXBD_NUM 0x0398
#define REG_HI7Q_TXBD_NUM 0x039A
#define REG_TSFTIMER_HCI 0x039C
#define REG_BD_RWPTR_CLR 0x039C
#define REG_VOQ_TXBD_IDX 0x03A0
#define REG_VIQ_TXBD_IDX 0x03A4
#define REG_BEQ_TXBD_IDX 0x03A8
#define REG_BKQ_TXBD_IDX 0x03AC
#define REG_MGQ_TXBD_IDX 0x03B0
#define REG_RXQ_RXBD_IDX 0x03B4
#define REG_HI0Q_TXBD_IDX 0x03B8
#define REG_HI1Q_TXBD_IDX 0x03BC
#define REG_HI2Q_TXBD_IDX 0x03C0
#define REG_HI3Q_TXBD_IDX 0x03C4
#define REG_HI4Q_TXBD_IDX 0x03C8
#define REG_HI5Q_TXBD_IDX 0x03CC
#define REG_HI6Q_TXBD_IDX 0x03D0
#define REG_HI7Q_TXBD_IDX 0x03D4
#define REG_DBG_SEL_V1 0x03D8
#define REG_PCIE_HRPWM1_V1 0x03D9
#define REG_PCIE_HCPWM1_V1 0x03DA
#define REG_PCIE_CTRL2 0x03DB
#define REG_PCIE_HRPWM2_V1 0x03DC
#define REG_PCIE_HCPWM2_V1 0x03DE
#define REG_PCIE_H2C_MSG_V1 0x03E0
#define REG_PCIE_C2H_MSG_V1 0x03E4
#define REG_DBI_WDATA_V1 0x03E8
#define REG_DBI_RDATA_V1 0x03EC
#define REG_DBI_FLAG_V1 0x03F0
#define REG_MDIO_V1 0x03F4
#define REG_PCIE_MIX_CFG 0x03F8
#define REG_HCI_MIX_CFG 0x03FC
#define REG_Q0_INFO 0x0400
#define REG_Q1_INFO 0x0404
#define REG_Q2_INFO 0x0408
#define REG_Q3_INFO 0x040C
#define REG_MGQ_INFO 0x0410
#define REG_HIQ_INFO 0x0414
#define REG_BCNQ_INFO 0x0418
#define REG_TXPKT_EMPTY 0x041A
#define REG_CPU_MGQ_INFO 0x041C
#define REG_FWHW_TXQ_CTRL 0x0420
#define REG_DATAFB_SEL 0x0423
#define REG_BCNQ_BDNY_V1 0x0424
#define REG_LIFETIME_EN 0x0426
#define REG_SPEC_SIFS 0x0428
#define REG_RETRY_LIMIT 0x042A
#define REG_TXBF_CTRL 0x042C
#define REG_DARFRC 0x0430
#define REG_RARFRC 0x0438
#define REG_RRSR 0x0440
#define REG_ARFR0 0x0444
#define REG_ARFR1_V1 0x044C
#define REG_CCK_CHECK 0x0454
#define REG_AMPDU_MAX_TIME_V1 0x0455
#define REG_BCNQ1_BDNY_V1 0x0456
#define REG_AMPDU_MAX_LENGTH 0x0458
#define REG_ACQ_STOP 0x045C
#define REG_NDPA_RATE 0x045D
#define REG_TX_HANG_CTRL 0x045E
#define REG_NDPA_OPT_CTRL 0x045F
#define REG_RD_RESP_PKT_TH 0x0463
#define REG_CMDQ_INFO 0x0464
#define REG_Q4_INFO 0x0468
#define REG_Q5_INFO 0x046C
#define REG_Q6_INFO 0x0470
#define REG_Q7_INFO 0x0474
#define REG_WMAC_LBK_BUF_HD_V1 0x0478
#define REG_MGQ_BDNY_V1 0x047A
#define REG_TXRPT_CTRL 0x047C
#define REG_INIRTS_RATE_SEL 0x0480
#define REG_BASIC_CFEND_RATE 0x0481
#define REG_STBC_CFEND_RATE 0x0482
#define REG_DATA_SC 0x0483
#define REG_MACID_SLEEP3 0x0484
#define REG_MACID_SLEEP1 0x0488
#define REG_ARFR2_V1 0x048C
#define REG_ARFR3_V1 0x0494
#define REG_ARFR4 0x049C
#define REG_ARFR5 0x04A4
#define REG_TXRPT_START_OFFSET 0x04AC
#define REG_POWER_STAGE1 0x04B4
#define REG_POWER_STAGE2 0x04B8
#define REG_SW_AMPDU_BURST_MODE_CTRL 0x04BC
#define REG_PKT_LIFE_TIME 0x04C0
#define REG_STBC_SETTING 0x04C4
#define REG_STBC_SETTING2 0x04C5
#define REG_QUEUE_CTRL 0x04C6
#define REG_SINGLE_AMPDU_CTRL 0x04C7
#define REG_PROT_MODE_CTRL 0x04C8
#define REG_BAR_MODE_CTRL 0x04CC
#define REG_RA_TRY_RATE_AGG_LMT 0x04CF
#define REG_MACID_SLEEP2 0x04D0
#define REG_MACID_SLEEP 0x04D4
#define REG_HW_SEQ0 0x04D8
#define REG_HW_SEQ1 0x04DA
#define REG_HW_SEQ2 0x04DC
#define REG_HW_SEQ3 0x04DE
#define REG_NULL_PKT_STATUS_V1 0x04E0
#define REG_PTCL_ERR_STATUS 0x04E2
#define REG_NULL_PKT_STATUS_EXTEND 0x04E3
#define REG_VIDEO_ENHANCEMENT_FUN 0x04E4
#define REG_BT_POLLUTE_PKT_CNT 0x04E8
#define REG_PTCL_DBG 0x04EC
#define REG_CPUMGQ_TIMER_CTRL2 0x04F4
#define REG_DUMMY_PAGE4_V1 0x04FC
#define REG_MOREDATA 0x04FE
#define REG_EDCA_VO_PARAM 0x0500
#define REG_EDCA_VI_PARAM 0x0504
#define REG_EDCA_BE_PARAM 0x0508
#define REG_EDCA_BK_PARAM 0x050C
#define REG_BCNTCFG 0x0510
#define REG_PIFS 0x0512
#define REG_RDG_PIFS 0x0513
#define REG_SIFS 0x0514
#define REG_TSFTR_SYN_OFFSET 0x0518
#define REG_AGGR_BREAK_TIME 0x051A
#define REG_SLOT 0x051B
#define REG_TX_PTCL_CTRL 0x0520
#define REG_TXPAUSE 0x0522
#define REG_DIS_TXREQ_CLR 0x0523
#define REG_RD_CTRL 0x0524
#define REG_MBSSID_CTRL 0x0526
#define REG_P2PPS_CTRL 0x0527
#define REG_PKT_LIFETIME_CTRL 0x0528
#define REG_P2PPS_SPEC_STATE 0x052B
#define REG_BAR_TX_CTRL 0x0530
#define REG_QUEUE_INCOL_THR 0x0538
#define REG_QUEUE_INCOL_EN 0x053C
#define REG_TBTT_PROHIBIT 0x0540
#define REG_P2PPS_STATE 0x0543
#define REG_RD_NAV_NXT 0x0544
#define REG_NAV_PROT_LEN 0x0546
#define REG_BCN_CTRL 0x0550
#define REG_BCN_CTRL_CLINT0 0x0551
#define REG_MBID_NUM 0x0552
#define REG_DUAL_TSF_RST 0x0553
#define REG_MBSSID_BCN_SPACE 0x0554
#define REG_DRVERLYINT 0x0558
#define REG_BCNDMATIM 0x0559
#define REG_ATIMWND 0x055A
#define REG_USTIME_TSF 0x055C
#define REG_BCN_MAX_ERR 0x055D
#define REG_RXTSF_OFFSET_CCK 0x055E
#define REG_RXTSF_OFFSET_OFDM 0x055F
#define REG_TSFTR 0x0560
#define REG_FREERUN_CNT 0x0568
#define REG_ATIMWND1_V1 0x0570
#define REG_TBTT_PROHIBIT_INFRA 0x0571
#define REG_CTWND 0x0572
#define REG_BCNIVLCUNT 0x0573
#define REG_BCNDROPCTRL 0x0574
#define REG_HGQ_TIMEOUT_PERIOD 0x0575
#define REG_TXCMD_TIMEOUT_PERIOD 0x0576
#define REG_MISC_CTRL 0x0577
#define REG_BCN_CTRL_CLINT1 0x0578
#define REG_BCN_CTRL_CLINT2 0x0579
#define REG_BCN_CTRL_CLINT3 0x057A
#define REG_EXTEND_CTRL 0x057B
#define REG_P2PPS1_SPEC_STATE 0x057C
#define REG_P2PPS1_STATE 0x057D
#define REG_P2PPS2_SPEC_STATE 0x057E
#define REG_P2PPS2_STATE 0x057F
#define REG_PS_TIMER0 0x0580
#define REG_PS_TIMER1 0x0584
#define REG_PS_TIMER2 0x0588
#define REG_TBTT_CTN_AREA 0x058C
#define REG_FORCE_BCN_IFS 0x058E
#define REG_TXOP_MIN 0x0590
#define REG_PRE_BKF_TIME 0x0592
#define REG_CROSS_TXOP_CTRL 0x0593
#define REG_ATIMWND2 0x05A0
#define REG_ATIMWND3 0x05A1
#define REG_ATIMWND4 0x05A2
#define REG_ATIMWND5 0x05A3
#define REG_ATIMWND6 0x05A4
#define REG_ATIMWND7 0x05A5
#define REG_ATIMUGT 0x05A6
#define REG_HIQ_NO_LMT_EN 0x05A7
#define REG_DTIM_COUNTER_ROOT 0x05A8
#define REG_DTIM_COUNTER_VAP1 0x05A9
#define REG_DTIM_COUNTER_VAP2 0x05AA
#define REG_DTIM_COUNTER_VAP3 0x05AB
#define REG_DTIM_COUNTER_VAP4 0x05AC
#define REG_DTIM_COUNTER_VAP5 0x05AD
#define REG_DTIM_COUNTER_VAP6 0x05AE
#define REG_DTIM_COUNTER_VAP7 0x05AF
#define REG_DIS_ATIM 0x05B0
#define REG_EARLY_128US 0x05B1
#define REG_P2PPS1_CTRL 0x05B2
#define REG_P2PPS2_CTRL 0x05B3
#define REG_TIMER0_SRC_SEL 0x05B4
#define REG_NOA_UNIT_SEL 0x05B5
#define REG_P2POFF_DIS_TXTIME 0x05B7
#define REG_MBSSID_BCN_SPACE2 0x05B8
#define REG_MBSSID_BCN_SPACE3 0x05BC
#define REG_ACMHWCTRL 0x05C0
#define REG_ACMRSTCTRL 0x05C1
#define REG_ACMAVG 0x05C2
#define REG_VO_ADMTIME 0x05C4
#define REG_VI_ADMTIME 0x05C6
#define REG_BE_ADMTIME 0x05C8
#define REG_EDCA_RANDOM_GEN 0x05CC
#define REG_TXCMD_NOA_SEL 0x05CF
#define REG_NOA_PARAM 0x05E0
#define REG_P2P_RST 0x05F0
#define REG_SCHEDULER_RST 0x05F1
#define REG_SCH_TXCMD 0x05F8
#define REG_PAGE5_DUMMY 0x05FC
#define REG_WMAC_CR 0x0600
#define REG_WMAC_FWPKT_CR 0x0601
#define REG_BWOPMODE 0x0603
#define REG_TCR 0x0604
#define REG_RCR 0x0608
#define REG_RX_PKT_LIMIT 0x060C
#define REG_RX_DLK_TIME 0x060D
#define REG_RX_DRVINFO_SZ 0x060F
#define REG_MACID 0x0610
#define REG_BSSID 0x0618
#define REG_MAR 0x0620
#define REG_MBIDCAMCFG_1 0x0628
#define REG_MBIDCAMCFG_2 0x062C
#define REG_WMAC_TCR_TSFT_OFS 0x0630
#define REG_UDF_THSD 0x0632
#define REG_ZLD_NUM 0x0633
#define REG_STMP_THSD 0x0634
#define REG_WMAC_TXTIMEOUT 0x0635
#define REG_MCU_TEST_2_V1 0x0636
#define REG_USTIME_EDCA 0x0638
#define REG_MAC_SPEC_SIFS 0x063A
#define REG_RESP_SIFS_CCK 0x063C
#define REG_RESP_SIFS_OFDM 0x063E
#define REG_ACKTO 0x0640
#define REG_CTS2TO 0x0641
#define REG_EIFS 0x0642
#define REG_NAV_CTRL 0x0650
#define REG_BACAMCMD 0x0654
#define REG_BACAMCONTENT 0x0658
#define REG_LBDLY 0x0660
#define REG_WMAC_BACAM_RPMEN 0x0661
#define REG_TX_RX 0x0662
#define REG_WMAC_BITMAP_CTL 0x0663
#define REG_RXERR_RPT 0x0664
#define REG_WMAC_TRXPTCL_CTL 0x0668
#define REG_CAMCMD 0x0670
#define REG_CAMWRITE 0x0674
#define REG_CAMREAD 0x0678
#define REG_CAMDBG 0x067C
#define REG_SECCFG 0x0680
#define REG_RXFILTER_CATEGORY_1 0x0682
#define REG_RXFILTER_ACTION_1 0x0683
#define REG_RXFILTER_CATEGORY_2 0x0684
#define REG_RXFILTER_ACTION_2 0x0685
#define REG_RXFILTER_CATEGORY_3 0x0686
#define REG_RXFILTER_ACTION_3 0x0687
#define REG_RXFLTMAP3 0x0688
#define REG_RXFLTMAP4 0x068A
#define REG_RXFLTMAP5 0x068C
#define REG_RXFLTMAP6 0x068E
#define REG_WOW_CTRL 0x0690
#define REG_NAN_RX_TSF_FILTER 0x0691
#define REG_PS_RX_INFO 0x0692
#define REG_WMMPS_UAPSD_TID 0x0693
#define REG_LPNAV_CTRL 0x0694
#define REG_WKFMCAM_CMD 0x0698
#define REG_WKFMCAM_RWD 0x069C
#define REG_RXFLTMAP0 0x06A0
#define REG_RXFLTMAP1 0x06A2
#define REG_RXFLTMAP 0x06A4
#define REG_BCN_PSR_RPT 0x06A8
#define REG_FLC_RPC 0x06AC
#define REG_FLC_RPCT 0x06AD
#define REG_FLC_PTS 0x06AE
#define REG_FLC_TRPC 0x06AF
#define REG_RXPKTMON_CTRL 0x06B0
#define REG_STATE_MON 0x06B4
#define REG_ERROR_MON 0x06B8
#define REG_SEARCH_MACID 0x06BC
#define REG_BT_COEX_TABLE 0x06C0
#define REG_RXCMD_0 0x06D0
#define REG_RXCMD_1 0x06D4
#define REG_WMAC_RESP_TXINFO 0x06D8
#define REG_BBPSF_CTRL 0x06DC
#define REG_P2P_RX_BCN_NOA 0x06E0
#define REG_ASSOCIATED_BFMER0_INFO 0x06E4
#define REG_ASSOCIATED_BFMER1_INFO 0x06EC
#define REG_TX_CSI_RPT_PARAM_BW20 0x06F4
#define REG_TX_CSI_RPT_PARAM_BW40 0x06F8
#define REG_TX_CSI_RPT_PARAM_BW80 0x06FC
#define REG_MACID1 0x0700
#define REG_BSSID1 0x0708
#define REG_BCN_PSR_RPT1 0x0710
#define REG_ASSOCIATED_BFMEE_SEL 0x0714
#define REG_SND_PTCL_CTRL 0x0718
#define REG_RX_CSI_RPT_INFO 0x071C
#define REG_NS_ARP_CTRL 0x0720
#define REG_NS_ARP_INFO 0x0724
#define REG_BEAMFORMING_INFO_NSARP_V1 0x0728
#define REG_BEAMFORMING_INFO_NSARP 0x072C
#define REG_WMAC_RTX_CTX_SUBTYPE_CFG 0x0750
#define REG_WMAC_SWAES_CFG 0x0760
#define REG_BT_COEX_V2 0x0762
#define REG_BT_COEX 0x0764
#define REG_WLAN_ACT_MASK_CTRL 0x0768
#define REG_BT_COEX_ENHANCED_INTR_CTRL 0x076E
#define REG_BT_ACT_STATISTICS 0x0770
#define REG_BT_STATISTICS_CONTROL_REGISTER 0x0778
#define REG_BT_STATUS_REPORT_REGISTER 0x077C
#define REG_BT_INTERRUPT_CONTROL_REGISTER 0x0780
#define REG_WLAN_REPORT_TIME_OUT_CONTROL_REGISTER 0x0784
#define REG_BT_ISOLATION_TABLE_REGISTER_REGISTER 0x0785
#define REG_BT_INTERRUPT_STATUS_REGISTER 0x078F
#define REG_BT_TDMA_TIME_REGISTER 0x0790
#define REG_BT_ACT_REGISTER 0x0794
#define REG_OBFF_CTRL_BASIC 0x0798
#define REG_OBFF_CTRL2_TIMER 0x079C
#define REG_LTR_CTRL_BASIC 0x07A0
#define REG_LTR_CTRL2_TIMER_THRESHOLD 0x07A4
#define REG_LTR_IDLE_LATENCY_V1 0x07A8
#define REG_LTR_ACTIVE_LATENCY_V1 0x07AC
#define REG_ANTENNA_TRAINING_CONTROL_REGISTER 0x07B0
#define REG_WMAC_PKTCNT_RWD 0x07B8
#define REG_WMAC_PKTCNT_CTRL 0x07BC
#define REG_IQ_DUMP 0x07C0
#define REG_WMAC_FTM_CTL 0x07CC
#define REG_WMAC_IQ_MDPK_FUNC 0x07CE
#define REG_WMAC_OPTION_FUNCTION 0x07D0
#define REG_RX_FILTER_FUNCTION 0x07DA
#define REG_NDP_SIG 0x07E0
#define REG_TXCMD_INFO_FOR_RSP_PKT 0x07E4
#define REG_RTS_ADDRESS_0 0x07F0
#define REG_RTS_ADDRESS_1 0x07F8
#define REG__RPFM_MAP1 0x07FE
#define REG_SYS_CFG3 0x1000
#define REG_SYS_CFG4 0x1034
#define REG_SYS_CFG5 0x1070
#define REG_CPU_DMEM_CON 0x1080
#define REG_BOOT_REASON 0x1088
#define REG_NFCPAD_CTRL 0x10A8
#define REG_HIMR2 0x10B0
#define REG_HISR2 0x10B4
#define REG_HIMR3 0x10B8
#define REG_HISR3 0x10BC
#define REG_SW_MDIO 0x10C0
#define REG_SW_FLUSH 0x10C4
#define REG_H2C_PKT_READADDR 0x10D0
#define REG_H2C_PKT_WRITEADDR 0x10D4
#define REG_MEM_PWR_CRTL 0x10D8
#define REG_FW_DBG0 0x10E0
#define REG_FW_DBG1 0x10E4
#define REG_FW_DBG2 0x10E8
#define REG_FW_DBG3 0x10EC
#define REG_FW_DBG4 0x10F0
#define REG_FW_DBG5 0x10F4
#define REG_FW_DBG6 0x10F8
#define REG_FW_DBG7 0x10FC
#define REG_CR_EXT 0x1100
#define REG_FWFF 0x1114
#define REG_RXFF_PTR_V1 0x1118
#define REG_RXFF_WTR_V1 0x111C
#define REG_FE2IMR 0x1120
#define REG_FE2ISR 0x1124
#define REG_FE3IMR 0x1128
#define REG_FE3ISR 0x112C
#define REG_FE4IMR 0x1130
#define REG_FE4ISR 0x1134
#define REG_FT1IMR 0x1138
#define REG_FT1ISR 0x113C
#define REG_SPWR0 0x1140
#define REG_SPWR1 0x1144
#define REG_SPWR2 0x1148
#define REG_SPWR3 0x114C
#define REG_POWSEQ 0x1150
#define REG_TC7_CTRL_V1 0x1158
#define REG_TC8_CTRL_V1 0x115C
#define REG_FT2IMR 0x11E0
#define REG_FT2ISR 0x11E4
#define REG_MSG2 0x11F0
#define REG_MSG3 0x11F4
#define REG_MSG4 0x11F8
#define REG_MSG5 0x11FC
#define REG_DDMA_CH0SA 0x1200
#define REG_DDMA_CH0DA 0x1204
#define REG_DDMA_CH0CTRL 0x1208
#define REG_DDMA_CH1SA 0x1210
#define REG_DDMA_CH1DA 0x1214
#define REG_DDMA_CH1CTRL 0x1218
#define REG_DDMA_CH2SA 0x1220
#define REG_DDMA_CH2DA 0x1224
#define REG_DDMA_CH2CTRL 0x1228
#define REG_DDMA_CH3SA 0x1230
#define REG_DDMA_CH3DA 0x1234
#define REG_DDMA_CH3CTRL 0x1238
#define REG_DDMA_CH4SA 0x1240
#define REG_DDMA_CH4DA 0x1244
#define REG_DDMA_CH4CTRL 0x1248
#define REG_DDMA_CH5SA 0x1250
#define REG_DDMA_CH5DA 0x1254
#define REG_REG_DDMA_CH5CTRL 0x1258
#define REG_DDMA_INT_MSK 0x12E0
#define REG_DDMA_CHSTATUS 0x12E8
#define REG_DDMA_CHKSUM 0x12F0
#define REG_DDMA_MONITOR 0x12FC
#define REG_STC_INT_CS 0x1300
#define REG_ST_INT_CFG 0x1304
#define REG_CMU_DLY_CTRL 0x1310
#define REG_CMU_DLY_CFG 0x1314
#define REG_H2CQ_TXBD_DESA 0x1320
#define REG_H2CQ_TXBD_NUM 0x1328
#define REG_H2CQ_TXBD_IDX 0x132C
#define REG_H2CQ_CSR 0x1330
#define REG_CHANGE_PCIE_SPEED 0x1350
#define REG_OLD_DEHANG 0x13F4
#define REG_Q0_Q1_INFO 0x1400
#define REG_Q2_Q3_INFO 0x1404
#define REG_Q4_Q5_INFO 0x1408
#define REG_Q6_Q7_INFO 0x140C
#define REG_MGQ_HIQ_INFO 0x1410
#define REG_CMDQ_BCNQ_INFO 0x1414
#define REG_USEREG_SETTING 0x1420
#define REG_AESIV_SETTING 0x1424
#define REG_BF0_TIME_SETTING 0x1428
#define REG_BF1_TIME_SETTING 0x142C
#define REG_BF_TIMEOUT_EN 0x1430
#define REG_MACID_RELEASE0 0x1434
#define REG_MACID_RELEASE1 0x1438
#define REG_MACID_RELEASE2 0x143C
#define REG_MACID_RELEASE3 0x1440
#define REG_MACID_RELEASE_SETTING 0x1444
#define REG_FAST_EDCA_VOVI_SETTING 0x1448
#define REG_FAST_EDCA_BEBK_SETTING 0x144C
#define REG_MACID_DROP0 0x1450
#define REG_MACID_DROP1 0x1454
#define REG_MACID_DROP2 0x1458
#define REG_MACID_DROP3 0x145C
#define REG_R_MACID_RELEASE_SUCCESS_0 0x1460
#define REG_R_MACID_RELEASE_SUCCESS_1 0x1464
#define REG_R_MACID_RELEASE_SUCCESS_2 0x1468
#define REG_R_MACID_RELEASE_SUCCESS_3 0x146C
#define REG_MGG_FIFO_CRTL 0x1470
#define REG_MGG_FIFO_INT 0x1474
#define REG_MGG_FIFO_LIFETIME 0x1478
#define REG_R_MACID_RELEASE_SUCCESS_CLEAR_OFFSET 0x147C
#define REG_MACID_SHCUT_OFFSET 0x1480
#define REG_MU_TX_CTL 0x14C0
#define REG_MU_STA_GID_VLD 0x14C4
#define REG_MU_STA_USER_POS_INFO 0x14C8
#define REG_MU_TRX_DBG_CNT 0x14D0
#define REG_CPUMGQ_TX_TIMER 0x1500
#define REG_PS_TIMER_A 0x1504
#define REG_PS_TIMER_B 0x1508
#define REG_PS_TIMER_C 0x150C
#define REG_PS_TIMER_ABC_CPUMGQ_TIMER_CRTL 0x1510
#define REG_CPUMGQ_TX_TIMER_EARLY 0x1514
#define REG_PS_TIMER_A_EARLY 0x1515
#define REG_PS_TIMER_B_EARLY 0x1516
#define REG_PS_TIMER_C_EARLY 0x1517
#define REG_BCN_PSR_RPT2 0x1600
#define REG_BCN_PSR_RPT3 0x1604
#define REG_BCN_PSR_RPT4 0x1608
#define REG_A1_ADDR_MASK 0x160C
#define REG_MACID2 0x1620
#define REG_BSSID2 0x1628
#define REG_MACID3 0x1630
#define REG_BSSID3 0x1638
#define REG_MACID4 0x1640
#define REG_BSSID4 0x1648
#define REG_NOA_REPORT 0x1650
#define REG_PWRBIT_SETTING 0x1660
#define REG_WMAC_MU_BF_OPTION 0x167C
#define REG_WMAC_MU_ARB 0x167E
#define REG_WMAC_MU_OPTION 0x167F
#define REG_WMAC_MU_BF_CTL 0x1680
#define REG_WMAC_MU_BFRPT_PARA 0x1682
#define REG_WMAC_ASSOCIATED_MU_BFMEE2 0x1684
#define REG_WMAC_ASSOCIATED_MU_BFMEE3 0x1686
#define REG_WMAC_ASSOCIATED_MU_BFMEE4 0x1688
#define REG_WMAC_ASSOCIATED_MU_BFMEE5 0x168A
#define REG_WMAC_ASSOCIATED_MU_BFMEE6 0x168C
#define REG_WMAC_ASSOCIATED_MU_BFMEE7 0x168E
#define REG_TRANSMIT_ADDRSS_0 0x16A0
#define REG_TRANSMIT_ADDRSS_1 0x16A8
#define REG_TRANSMIT_ADDRSS_2 0x16B0
#define REG_TRANSMIT_ADDRSS_3 0x16B8
#define REG_TRANSMIT_ADDRSS_4 0x16C0
#define REG_WL2LTECOEX_INDIRECT_ACCESS_CTRL_V1 0x1700
#define REG_WL2LTECOEX_INDIRECT_ACCESS_WRITE_DATA_V1 0x1704
#define REG_WL2LTECOEX_INDIRECT_ACCESS_READ_DATA_V1 0x1708
/* ----------------------------------------------------- */
/* */
/* 0xFB00h ~ 0xFCFFh TX/RX packet buffer affress */
/* */
/* ----------------------------------------------------- */
#define REG_RXPKTBUF_STARTADDR 0xFB00
#define REG_TXPKTBUF_STARTADDR 0xFC00
/* ----------------------------------------------------- */
/* */
/* 0xFD00h ~ 0xFDFFh 8051 CPU Local REG */
/* */
/* ----------------------------------------------------- */
#define REG_SYS_CTRL 0xFD00
#define REG_PONSTS_RPT1 0xFD01
#define REG_PONSTS_RPT2 0xFD02
#define REG_PONSTS_RPT3 0xFD03
#define REG_PONSTS_RPT4 0xFD04 /* 0x84 */
#define REG_PONSTS_RPT5 0xFD05 /* 0x85 */
#define REG_8051ERRFLAG 0xFD08
#define REG_8051ERRFLAG_MASK 0xFD09
#define REG_TXADDRH 0xFD10 /* Tx Packet High address */
#define REG_RXADDRH 0xFD11 /* Rx Packet High address */
#define REG_TXADDRH_EXT 0xFD12 /* 0xFD12[0] : for 8051 access txpktbuf
* high64k as external register
*/
#define REG_U3_STATE 0xFD48 /* (Read only)
* [7:4] : usb3 changed last state.
* [3:0] : usb3 state
*/
/* for MAILBOX */
#define REG_OUTDATA0 0xFD50
#define REG_OUTDATA1 0xFD54
#define REG_OUTRDY 0xFD58 /* bit[0] : OutReady,
* bit[1] : OutEmptyIntEn
*/
#define REG_INDATA0 0xFD60
#define REG_INDATA1 0xFD64
#define REG_INRDY 0xFD68 /* bit[0] : InReady,
* bit[1] : InRdyIntEn
*/
/* MCU ERROR debug REG */
#define REG_MCUERR_PCLSB 0xFD90 /* PC[7:0] */
#define REG_MCUERR_PCMSB 0xFD91 /* PC[15:8] */
#define REG_MCUERR_ACC 0xFD92
#define REG_MCUERR_B 0xFD93
#define REG_MCUERR_DPTRLSB 0xFD94 /* DPTR[7:0] */
#define REG_MCUERR_DPTRMSB 0xFD95 /* DPTR[15:8] */
#define REG_MCUERR_SP 0xFD96 /* SP[7:0] */
#define REG_MCUERR_IE 0xFD97 /* IE[7:0] */
#define REG_MCUERR_EIE 0xFD98 /* EIE[7:0] */
#define REG_VERA_SIM 0xFD9F
/* 0xFD99~0xFD9F are reserved.. */
/* ----------------------------------------------------- */
/* */
/* 0xFE00h ~ 0xFEFFh USB Configuration */
/* */
/* ----------------------------------------------------- */
/* RTS5101 USB Register Definition */
#define REG_USB_SETUP_DEC_INT 0xFE00
#define REG_USB_DMACTL 0xFE01
#define REG_USB_IRQSTAT0 0xFE02
#define REG_USB_IRQSTAT1 0xFE03
#define REG_USB_IRQEN0 0xFE04
#define REG_USB_IRQEN1 0xFE05
#define REG_USB_AUTOPTRL 0xFE06
#define REG_USB_AUTOPTRH 0xFE07
#define REG_USB_AUTODAT 0xFE08
#define REG_USB_SCRATCH0 0xFE09
#define REG_USB_SCRATCH1 0xFE0A
#define REG_USB_SEEPROM 0xFE0B
#define REG_USB_GPIO0 0xFE0C
#define REG_USB_GPIO0DIR 0xFE0D
#define REG_USB_CLKSEL 0xFE0E
#define REG_USB_BOOTCTL 0xFE0F
#define REG_USB_USBCTL 0xFE10
#define REG_USB_USBSTAT 0xFE11
#define REG_USB_DEVADDR 0xFE12
#define REG_USB_USBTEST 0xFE13
#define REG_USB_FNUM0 0xFE14
#define REG_USB_FNUM1 0xFE15
#define REG_USB_EP_IDX 0xFE20
#define REG_USB_EP_CFG 0xFE21
#define REG_USB_EP_CTL 0xFE22
#define REG_USB_EP_STAT 0xFE23
#define REG_USB_EP_IRQ 0xFE24
#define REG_USB_EP_IRQEN 0xFE25
#define REG_USB_EP_MAXPKT0 0xFE26
#define REG_USB_EP_MAXPKT1 0xFE27
#define REG_USB_EP_DAT 0xFE28
#define REG_USB_EP_BC0 0xFE29
#define REG_USB_EP_BC1 0xFE2A
#define REG_USB_EP_TC0 0xFE2B
#define REG_USB_EP_TC1 0xFE2C
#define REG_USB_EP_TC2 0xFE2D
#define REG_USB_EP_CTL2 0xFE2E
#define REG_USB_INFO 0xFE17
#define REG_USB_SPECIAL_OPTION 0xFE55
#define REG_USB_DMA_AGG_TO 0xFE5B
#define REG_USB_AGG_TO 0xFE5C
#define REG_USB_AGG_TH 0xFE5D
#define REG_USB_VID 0xFE60
#define REG_USB_PID 0xFE62
#define REG_USB_OPT 0xFE64
#define REG_USB_CONFIG 0xFE65 /* RX EP setting.
* 0xFE65 Bit[3:0] : RXQ,
* Bit[7:4] : INTQ
*/
/* TX EP setting.
* 0xFE66 Bit[3:0] : TXQ0,
* Bit[7:4] : TXQ1,
* 0xFE67 Bit[3:0] : TXQ2
*/
#define REG_USB_PHY_PARA1 0xFE68 /* Bit[7:4]: XCVR_SEN (USB PHY 0xE2[7:4]),
* Bit[3:0]: XCVR_SH (USB PHY 0xE2[3:0])
*/
#define REG_USB_PHY_PARA2 0xFE69 /* Bit[7:5]: XCVR_BG (USB PHY 0xE3[5:3]),
* Bit[4:2]: XCVR_DR (USB PHY 0xE3[2:0]),
* Bit[1]: SE0_LVL (USB PHY 0xE5[7]),
* Bit[0]: FORCE_XTL_ON (USB PHY 0xE5[1])
*/
#define REG_USB_PHY_PARA3 0xFE6A /* Bit[7:5]: XCVR_SRC (USB PHY 0xE5[4:2]),
* Bit[4]: LATE_DLLEN (USB PHY 0xF0[4]),
* Bit[3]: HS_LP_MODE (USB PHY 0xF0[3]),
* Bit[2]: UTMI_POS_OUT (USB PHY 0xF1 [7]),
* Bit[1:0]: TX_DELAY (USB PHY 0xF1 [2:1])
*/
#define REG_USB_PHY_PARA4 0xFE6B /* (USB PHY 0xE7[7:0]) */
#define REG_USB_OPT2 0xFE6C
#define REG_USB_MAC_ADDR 0xFE70 /* 0xFE70~0xFE75 */
#define REG_USB_MANUFACTURE_SETTING 0xFE80 /* 0xFE80~0xFE90 Max: 32 bytes*/
#define REG_USB_PRODUCT_STRING 0xFEA0 /* 0xFEA0~0xFECF Max: 48 bytes*/
#define REG_USB_SERIAL_NUMBER_STRING 0xFED0 /* 0xFED0~0xFEDF Max: 12 bytes*/
#define REG_USB_ALTERNATE_SETTING 0xFE4F
#define REG_USB_INT_BINTERVAL 0xFE6E
#define REG_USB_GPS_EP_CONFIG 0xFE6D
#endif /* __HALMAC_COM_REG_H__ */