1e24c1f86SMichael Straube /* SPDX-License-Identifier: GPL-2.0 */ 20e54f609SAli Bahar /****************************************************************************** 30e54f609SAli Bahar * 40e54f609SAli Bahar * Copyright(c) 2007 - 2010 Realtek Corporation. All rights reserved. 50e54f609SAli Bahar * 6b4f6209dSAli Bahar * Modifications for inclusion into the Linux staging tree are 7b4f6209dSAli Bahar * Copyright(c) 2010 Larry Finger. All rights reserved. 8b4f6209dSAli Bahar * 9b4f6209dSAli Bahar * Contact information: 10b4f6209dSAli Bahar * WLAN FAE <wlanfae@realtek.com> 11b4f6209dSAli Bahar * Larry Finger <Larry.Finger@lwfinger.net> 120e54f609SAli Bahar * 130e54f609SAli Bahar ******************************************************************************/ 142865d42cSLarry Finger #ifndef __RTL8712_SPEC_H__ 152865d42cSLarry Finger #define __RTL8712_SPEC_H__ 162865d42cSLarry Finger 172865d42cSLarry Finger #define RTL8712_IOBASE_TXPKT 0x10200000 /*IOBASE_TXPKT*/ 182865d42cSLarry Finger #define RTL8712_IOBASE_RXPKT 0x10210000 /*IOBASE_RXPKT*/ 192865d42cSLarry Finger #define RTL8712_IOBASE_RXCMD 0x10220000 /*IOBASE_RXCMD*/ 202865d42cSLarry Finger #define RTL8712_IOBASE_TXSTATUS 0x10230000 /*IOBASE_TXSTATUS*/ 212865d42cSLarry Finger #define RTL8712_IOBASE_RXSTATUS 0x10240000 /*IOBASE_RXSTATUS*/ 222865d42cSLarry Finger #define RTL8712_IOBASE_IOREG 0x10250000 /*IOBASE_IOREG ADDR*/ 232865d42cSLarry Finger #define RTL8712_IOBASE_SCHEDULER 0x10260000 /*IOBASE_SCHEDULE*/ 242865d42cSLarry Finger 252865d42cSLarry Finger #define RTL8712_IOBASE_TRXDMA 0x10270000 /*IOBASE_TRXDMA*/ 262865d42cSLarry Finger #define RTL8712_IOBASE_TXLLT 0x10280000 /*IOBASE_TXLLT*/ 272865d42cSLarry Finger #define RTL8712_IOBASE_WMAC 0x10290000 /*IOBASE_WMAC*/ 282865d42cSLarry Finger #define RTL8712_IOBASE_FW2HW 0x102A0000 /*IOBASE_FW2HW*/ 292865d42cSLarry Finger #define RTL8712_IOBASE_ACCESS_PHYREG 0x102B0000 /*IOBASE_ACCESS_PHYREG*/ 302865d42cSLarry Finger 312865d42cSLarry Finger #define RTL8712_IOBASE_FF 0x10300000 /*IOBASE_FIFO 0x1031000~0x103AFFFF*/ 322865d42cSLarry Finger 332865d42cSLarry Finger /*IOREG Offset for 8712*/ 342865d42cSLarry Finger #define RTL8712_SYSCFG_ RTL8712_IOBASE_IOREG 352865d42cSLarry Finger #define RTL8712_CMDCTRL_ (RTL8712_IOBASE_IOREG + 0x40) 362865d42cSLarry Finger #define RTL8712_MACIDSETTING_ (RTL8712_IOBASE_IOREG + 0x50) 372865d42cSLarry Finger #define RTL8712_TIMECTRL_ (RTL8712_IOBASE_IOREG + 0x80) 382865d42cSLarry Finger #define RTL8712_FIFOCTRL_ (RTL8712_IOBASE_IOREG + 0xA0) 392865d42cSLarry Finger #define RTL8712_RATECTRL_ (RTL8712_IOBASE_IOREG + 0x160) 402865d42cSLarry Finger #define RTL8712_EDCASETTING_ (RTL8712_IOBASE_IOREG + 0x1D0) 412865d42cSLarry Finger #define RTL8712_WMAC_ (RTL8712_IOBASE_IOREG + 0x200) 422865d42cSLarry Finger #define RTL8712_SECURITY_ (RTL8712_IOBASE_IOREG + 0x240) 432865d42cSLarry Finger #define RTL8712_POWERSAVE_ (RTL8712_IOBASE_IOREG + 0x260) 442865d42cSLarry Finger #define RTL8712_GP_ (RTL8712_IOBASE_IOREG + 0x2E0) 452865d42cSLarry Finger #define RTL8712_INTERRUPT_ (RTL8712_IOBASE_IOREG + 0x300) 462865d42cSLarry Finger #define RTL8712_DEBUGCTRL_ (RTL8712_IOBASE_IOREG + 0x310) 472865d42cSLarry Finger #define RTL8712_OFFLOAD_ (RTL8712_IOBASE_IOREG + 0x2D0) 482865d42cSLarry Finger 492865d42cSLarry Finger /*FIFO for 8712*/ 502865d42cSLarry Finger #define RTL8712_DMA_BCNQ (RTL8712_IOBASE_FF + 0x10000) 512865d42cSLarry Finger #define RTL8712_DMA_MGTQ (RTL8712_IOBASE_FF + 0x20000) 522865d42cSLarry Finger #define RTL8712_DMA_BMCQ (RTL8712_IOBASE_FF + 0x30000) 532865d42cSLarry Finger #define RTL8712_DMA_VOQ (RTL8712_IOBASE_FF + 0x40000) 542865d42cSLarry Finger #define RTL8712_DMA_VIQ (RTL8712_IOBASE_FF + 0x50000) 552865d42cSLarry Finger #define RTL8712_DMA_BEQ (RTL8712_IOBASE_FF + 0x60000) 562865d42cSLarry Finger #define RTL8712_DMA_BKQ (RTL8712_IOBASE_FF + 0x70000) 572865d42cSLarry Finger #define RTL8712_DMA_RX0FF (RTL8712_IOBASE_FF + 0x80000) 582865d42cSLarry Finger #define RTL8712_DMA_H2CCMD (RTL8712_IOBASE_FF + 0x90000) 592865d42cSLarry Finger #define RTL8712_DMA_C2HCMD (RTL8712_IOBASE_FF + 0xA0000) 602865d42cSLarry Finger 612865d42cSLarry Finger /*------------------------------*/ 622865d42cSLarry Finger 632865d42cSLarry Finger /*BIT 16 15*/ 642865d42cSLarry Finger #define DID_SDIO_LOCAL 0 /* 0 0*/ 652865d42cSLarry Finger #define DID_WLAN_IOREG 1 /* 0 1*/ 662865d42cSLarry Finger #define DID_WLAN_FIFO 3 /* 1 1*/ 672865d42cSLarry Finger #define DID_UNDEFINE (-1) 682865d42cSLarry Finger 692865d42cSLarry Finger #define CMD_ADDR_MAPPING_SHIFT 2 /*SDIO CMD ADDR MAPPING, 702865d42cSLarry Finger *shift 2 bit for match 71bef611a9SRaphaël Beamonte * offset[14:2] 72bef611a9SRaphaël Beamonte */ 732865d42cSLarry Finger 742865d42cSLarry Finger /*Offset for SDIO LOCAL*/ 752865d42cSLarry Finger #define OFFSET_SDIO_LOCAL 0x0FFF 762865d42cSLarry Finger 772865d42cSLarry Finger /*Offset for WLAN IOREG*/ 782865d42cSLarry Finger #define OFFSET_WLAN_IOREG 0x0FFF 792865d42cSLarry Finger 802865d42cSLarry Finger /*Offset for WLAN FIFO*/ 812865d42cSLarry Finger #define OFFSET_TX_BCNQ 0x0300 822865d42cSLarry Finger #define OFFSET_TX_HIQ 0x0310 832865d42cSLarry Finger #define OFFSET_TX_CMDQ 0x0320 842865d42cSLarry Finger #define OFFSET_TX_MGTQ 0x0330 852865d42cSLarry Finger #define OFFSET_TX_HCCAQ 0x0340 862865d42cSLarry Finger #define OFFSET_TX_VOQ 0x0350 872865d42cSLarry Finger #define OFFSET_TX_VIQ 0x0360 882865d42cSLarry Finger #define OFFSET_TX_BEQ 0x0370 892865d42cSLarry Finger #define OFFSET_TX_BKQ 0x0380 902865d42cSLarry Finger #define OFFSET_RX_RX0FFQ 0x0390 912865d42cSLarry Finger #define OFFSET_RX_C2HFFQ 0x03A0 922865d42cSLarry Finger 932865d42cSLarry Finger #define BK_QID_01 1 942865d42cSLarry Finger #define BK_QID_02 2 952865d42cSLarry Finger #define BE_QID_01 0 962865d42cSLarry Finger #define BE_QID_02 3 972865d42cSLarry Finger #define VI_QID_01 4 982865d42cSLarry Finger #define VI_QID_02 5 992865d42cSLarry Finger #define VO_QID_01 6 1002865d42cSLarry Finger #define VO_QID_02 7 1012865d42cSLarry Finger #define HCCA_QID_01 8 1022865d42cSLarry Finger #define HCCA_QID_02 9 1032865d42cSLarry Finger #define HCCA_QID_03 10 1042865d42cSLarry Finger #define HCCA_QID_04 11 1052865d42cSLarry Finger #define HCCA_QID_05 12 1062865d42cSLarry Finger #define HCCA_QID_06 13 1072865d42cSLarry Finger #define HCCA_QID_07 14 1082865d42cSLarry Finger #define HCCA_QID_08 15 1092865d42cSLarry Finger #define HI_QID 17 1102865d42cSLarry Finger #define CMD_QID 19 1112865d42cSLarry Finger #define MGT_QID 18 1122865d42cSLarry Finger #define BCN_QID 16 1132865d42cSLarry Finger 1142865d42cSLarry Finger #include "rtl8712_regdef.h" 1152865d42cSLarry Finger 1162865d42cSLarry Finger #include "rtl8712_bitdef.h" 1172865d42cSLarry Finger 1182865d42cSLarry Finger #include "basic_types.h" 1192865d42cSLarry Finger 1202865d42cSLarry Finger #endif /* __RTL8712_SPEC_H__ */ 1212865d42cSLarry Finger 122