10e54f609SAli Bahar /****************************************************************************** 20e54f609SAli Bahar * 30e54f609SAli Bahar * Copyright(c) 2007 - 2010 Realtek Corporation. All rights reserved. 40e54f609SAli Bahar * 50e54f609SAli Bahar * This program is free software; you can redistribute it and/or modify it 60e54f609SAli Bahar * under the terms of version 2 of the GNU General Public License as 70e54f609SAli Bahar * published by the Free Software Foundation. 80e54f609SAli Bahar * 90e54f609SAli Bahar * This program is distributed in the hope that it will be useful, but WITHOUT 100e54f609SAli Bahar * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 110e54f609SAli Bahar * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 120e54f609SAli Bahar * more details. 130e54f609SAli Bahar * 140e54f609SAli Bahar * You should have received a copy of the GNU General Public License along with 150e54f609SAli Bahar * this program; if not, write to the Free Software Foundation, Inc., 160e54f609SAli Bahar * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA 170e54f609SAli Bahar * 18b4f6209dSAli Bahar * Modifications for inclusion into the Linux staging tree are 19b4f6209dSAli Bahar * Copyright(c) 2010 Larry Finger. All rights reserved. 20b4f6209dSAli Bahar * 21b4f6209dSAli Bahar * Contact information: 22b4f6209dSAli Bahar * WLAN FAE <wlanfae@realtek.com> 23b4f6209dSAli Bahar * Larry Finger <Larry.Finger@lwfinger.net> 240e54f609SAli Bahar * 250e54f609SAli Bahar ******************************************************************************/ 262865d42cSLarry Finger #ifndef __RTL8712_SPEC_H__ 272865d42cSLarry Finger #define __RTL8712_SPEC_H__ 282865d42cSLarry Finger 292865d42cSLarry Finger #define RTL8712_IOBASE_TXPKT 0x10200000 /*IOBASE_TXPKT*/ 302865d42cSLarry Finger #define RTL8712_IOBASE_RXPKT 0x10210000 /*IOBASE_RXPKT*/ 312865d42cSLarry Finger #define RTL8712_IOBASE_RXCMD 0x10220000 /*IOBASE_RXCMD*/ 322865d42cSLarry Finger #define RTL8712_IOBASE_TXSTATUS 0x10230000 /*IOBASE_TXSTATUS*/ 332865d42cSLarry Finger #define RTL8712_IOBASE_RXSTATUS 0x10240000 /*IOBASE_RXSTATUS*/ 342865d42cSLarry Finger #define RTL8712_IOBASE_IOREG 0x10250000 /*IOBASE_IOREG ADDR*/ 352865d42cSLarry Finger #define RTL8712_IOBASE_SCHEDULER 0x10260000 /*IOBASE_SCHEDULE*/ 362865d42cSLarry Finger 372865d42cSLarry Finger #define RTL8712_IOBASE_TRXDMA 0x10270000 /*IOBASE_TRXDMA*/ 382865d42cSLarry Finger #define RTL8712_IOBASE_TXLLT 0x10280000 /*IOBASE_TXLLT*/ 392865d42cSLarry Finger #define RTL8712_IOBASE_WMAC 0x10290000 /*IOBASE_WMAC*/ 402865d42cSLarry Finger #define RTL8712_IOBASE_FW2HW 0x102A0000 /*IOBASE_FW2HW*/ 412865d42cSLarry Finger #define RTL8712_IOBASE_ACCESS_PHYREG 0x102B0000 /*IOBASE_ACCESS_PHYREG*/ 422865d42cSLarry Finger 432865d42cSLarry Finger #define RTL8712_IOBASE_FF 0x10300000 /*IOBASE_FIFO 0x1031000~0x103AFFFF*/ 442865d42cSLarry Finger 452865d42cSLarry Finger 462865d42cSLarry Finger /*IOREG Offset for 8712*/ 472865d42cSLarry Finger #define RTL8712_SYSCFG_ RTL8712_IOBASE_IOREG 482865d42cSLarry Finger #define RTL8712_CMDCTRL_ (RTL8712_IOBASE_IOREG + 0x40) 492865d42cSLarry Finger #define RTL8712_MACIDSETTING_ (RTL8712_IOBASE_IOREG + 0x50) 502865d42cSLarry Finger #define RTL8712_TIMECTRL_ (RTL8712_IOBASE_IOREG + 0x80) 512865d42cSLarry Finger #define RTL8712_FIFOCTRL_ (RTL8712_IOBASE_IOREG + 0xA0) 522865d42cSLarry Finger #define RTL8712_RATECTRL_ (RTL8712_IOBASE_IOREG + 0x160) 532865d42cSLarry Finger #define RTL8712_EDCASETTING_ (RTL8712_IOBASE_IOREG + 0x1D0) 542865d42cSLarry Finger #define RTL8712_WMAC_ (RTL8712_IOBASE_IOREG + 0x200) 552865d42cSLarry Finger #define RTL8712_SECURITY_ (RTL8712_IOBASE_IOREG + 0x240) 562865d42cSLarry Finger #define RTL8712_POWERSAVE_ (RTL8712_IOBASE_IOREG + 0x260) 572865d42cSLarry Finger #define RTL8712_GP_ (RTL8712_IOBASE_IOREG + 0x2E0) 582865d42cSLarry Finger #define RTL8712_INTERRUPT_ (RTL8712_IOBASE_IOREG + 0x300) 592865d42cSLarry Finger #define RTL8712_DEBUGCTRL_ (RTL8712_IOBASE_IOREG + 0x310) 602865d42cSLarry Finger #define RTL8712_OFFLOAD_ (RTL8712_IOBASE_IOREG + 0x2D0) 612865d42cSLarry Finger 622865d42cSLarry Finger 632865d42cSLarry Finger /*FIFO for 8712*/ 642865d42cSLarry Finger #define RTL8712_DMA_BCNQ (RTL8712_IOBASE_FF + 0x10000) 652865d42cSLarry Finger #define RTL8712_DMA_MGTQ (RTL8712_IOBASE_FF + 0x20000) 662865d42cSLarry Finger #define RTL8712_DMA_BMCQ (RTL8712_IOBASE_FF + 0x30000) 672865d42cSLarry Finger #define RTL8712_DMA_VOQ (RTL8712_IOBASE_FF + 0x40000) 682865d42cSLarry Finger #define RTL8712_DMA_VIQ (RTL8712_IOBASE_FF + 0x50000) 692865d42cSLarry Finger #define RTL8712_DMA_BEQ (RTL8712_IOBASE_FF + 0x60000) 702865d42cSLarry Finger #define RTL8712_DMA_BKQ (RTL8712_IOBASE_FF + 0x70000) 712865d42cSLarry Finger #define RTL8712_DMA_RX0FF (RTL8712_IOBASE_FF + 0x80000) 722865d42cSLarry Finger #define RTL8712_DMA_H2CCMD (RTL8712_IOBASE_FF + 0x90000) 732865d42cSLarry Finger #define RTL8712_DMA_C2HCMD (RTL8712_IOBASE_FF + 0xA0000) 742865d42cSLarry Finger 752865d42cSLarry Finger 762865d42cSLarry Finger /*------------------------------*/ 772865d42cSLarry Finger 782865d42cSLarry Finger /*BIT 16 15*/ 792865d42cSLarry Finger #define DID_SDIO_LOCAL 0 /* 0 0*/ 802865d42cSLarry Finger #define DID_WLAN_IOREG 1 /* 0 1*/ 812865d42cSLarry Finger #define DID_WLAN_FIFO 3 /* 1 1*/ 822865d42cSLarry Finger #define DID_UNDEFINE (-1) 832865d42cSLarry Finger 842865d42cSLarry Finger #define CMD_ADDR_MAPPING_SHIFT 2 /*SDIO CMD ADDR MAPPING, 852865d42cSLarry Finger *shift 2 bit for match 862865d42cSLarry Finger * offset[14:2]*/ 872865d42cSLarry Finger 882865d42cSLarry Finger /*Offset for SDIO LOCAL*/ 892865d42cSLarry Finger #define OFFSET_SDIO_LOCAL 0x0FFF 902865d42cSLarry Finger 912865d42cSLarry Finger /*Offset for WLAN IOREG*/ 922865d42cSLarry Finger #define OFFSET_WLAN_IOREG 0x0FFF 932865d42cSLarry Finger 942865d42cSLarry Finger /*Offset for WLAN FIFO*/ 952865d42cSLarry Finger #define OFFSET_TX_BCNQ 0x0300 962865d42cSLarry Finger #define OFFSET_TX_HIQ 0x0310 972865d42cSLarry Finger #define OFFSET_TX_CMDQ 0x0320 982865d42cSLarry Finger #define OFFSET_TX_MGTQ 0x0330 992865d42cSLarry Finger #define OFFSET_TX_HCCAQ 0x0340 1002865d42cSLarry Finger #define OFFSET_TX_VOQ 0x0350 1012865d42cSLarry Finger #define OFFSET_TX_VIQ 0x0360 1022865d42cSLarry Finger #define OFFSET_TX_BEQ 0x0370 1032865d42cSLarry Finger #define OFFSET_TX_BKQ 0x0380 1042865d42cSLarry Finger #define OFFSET_RX_RX0FFQ 0x0390 1052865d42cSLarry Finger #define OFFSET_RX_C2HFFQ 0x03A0 1062865d42cSLarry Finger 1072865d42cSLarry Finger #define BK_QID_01 1 1082865d42cSLarry Finger #define BK_QID_02 2 1092865d42cSLarry Finger #define BE_QID_01 0 1102865d42cSLarry Finger #define BE_QID_02 3 1112865d42cSLarry Finger #define VI_QID_01 4 1122865d42cSLarry Finger #define VI_QID_02 5 1132865d42cSLarry Finger #define VO_QID_01 6 1142865d42cSLarry Finger #define VO_QID_02 7 1152865d42cSLarry Finger #define HCCA_QID_01 8 1162865d42cSLarry Finger #define HCCA_QID_02 9 1172865d42cSLarry Finger #define HCCA_QID_03 10 1182865d42cSLarry Finger #define HCCA_QID_04 11 1192865d42cSLarry Finger #define HCCA_QID_05 12 1202865d42cSLarry Finger #define HCCA_QID_06 13 1212865d42cSLarry Finger #define HCCA_QID_07 14 1222865d42cSLarry Finger #define HCCA_QID_08 15 1232865d42cSLarry Finger #define HI_QID 17 1242865d42cSLarry Finger #define CMD_QID 19 1252865d42cSLarry Finger #define MGT_QID 18 1262865d42cSLarry Finger #define BCN_QID 16 1272865d42cSLarry Finger 1282865d42cSLarry Finger #include "rtl8712_regdef.h" 1292865d42cSLarry Finger 1302865d42cSLarry Finger #include "rtl8712_bitdef.h" 1312865d42cSLarry Finger 1322865d42cSLarry Finger #include "basic_types.h" 1332865d42cSLarry Finger 1342865d42cSLarry Finger #endif /* __RTL8712_SPEC_H__ */ 1352865d42cSLarry Finger 136