rtl8188e_spec.h 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. /******************************************************************************
  2. *
  3. * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  4. *
  5. * This program is free software; you can redistribute it and/or modify it
  6. * under the terms of version 2 of the GNU General Public License as
  7. * published by the Free Software Foundation.
  8. *
  9. * This program is distributed in the hope that it will be useful, but WITHOUT
  10. * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11. * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
  12. * more details.
  13. *
  14. * You should have received a copy of the GNU General Public License along with
  15. * this program; if not, write to the Free Software Foundation, Inc.,
  16. * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
  17. *
  18. *******************************************************************************/
  19. #ifndef __RTL8188E_SPEC_H__
  20. #define __RTL8188E_SPEC_H__
  21. /* ************************************************************
  22. * 8188E Regsiter offset definition
  23. * ************************************************************ */
  24. /* ************************************************************
  25. *
  26. * ************************************************************ */
  27. /* -----------------------------------------------------
  28. *
  29. * 0x0000h ~ 0x00FFh System Configuration
  30. *
  31. * ----------------------------------------------------- */
  32. #define REG_BB_PAD_CTRL 0x0064
  33. #define REG_HMEBOX_E0 0x0088
  34. #define REG_HMEBOX_E1 0x008A
  35. #define REG_HMEBOX_E2 0x008C
  36. #define REG_HMEBOX_E3 0x008E
  37. #define REG_HMEBOX_EXT_0 0x01F0
  38. #define REG_HMEBOX_EXT_1 0x01F4
  39. #define REG_HMEBOX_EXT_2 0x01F8
  40. #define REG_HMEBOX_EXT_3 0x01FC
  41. #define REG_HIMR_88E 0x00B0 /* RTL8188E */
  42. #define REG_HISR_88E 0x00B4 /* RTL8188E */
  43. #define REG_HIMRE_88E 0x00B8 /* RTL8188E */
  44. #define REG_HISRE_88E 0x00BC /* RTL8188E */
  45. #define REG_DBI_WDATA_8188E 0x0348 /* DBI Write data */
  46. #define REG_DBI_RDATA_8188E 0x034C /* DBI Read data */
  47. #define REG_DBI_ADDR_8188E 0x0350 /* DBI Address */
  48. #define REG_DBI_FLAG_8188E 0x0352 /* DBI Read/Write Flag */
  49. #define REG_MDIO_WDATA_8188E 0x0354 /* MDIO for Write PCIE PHY */
  50. #define REG_MDIO_RDATA_8188E 0x0356 /* MDIO for Reads PCIE PHY */
  51. #define REG_MDIO_CTL_8188E 0x0358 /* MDIO for Control */
  52. #define REG_MACID_NO_LINK_0 0x0484
  53. #define REG_MACID_NO_LINK_1 0x0488
  54. #define REG_MACID_PAUSE_0 0x048c
  55. #define REG_MACID_PAUSE_1 0x0490
  56. /* -----------------------------------------------------
  57. *
  58. * 0x0100h ~ 0x01FFh MACTOP General Configuration
  59. *
  60. * ----------------------------------------------------- */
  61. #define REG_PKTBUF_DBG_ADDR (REG_PKTBUF_DBG_CTRL)
  62. #define REG_RXPKTBUF_DBG (REG_PKTBUF_DBG_CTRL+2)
  63. #define REG_TXPKTBUF_DBG (REG_PKTBUF_DBG_CTRL+3)
  64. #define REG_WOWLAN_WAKE_REASON REG_MCUTST_WOWLAN
  65. /* -----------------------------------------------------
  66. *
  67. * 0x0200h ~ 0x027Fh TXDMA Configuration
  68. *
  69. * ----------------------------------------------------- */
  70. /* -----------------------------------------------------
  71. *
  72. * 0x0280h ~ 0x02FFh RXDMA Configuration
  73. *
  74. * ----------------------------------------------------- */
  75. /* -----------------------------------------------------
  76. *
  77. * 0x0300h ~ 0x03FFh PCIe
  78. *
  79. * ----------------------------------------------------- */
  80. #define REG_PCIE_HRPWM_8188E 0x0361 /* PCIe RPWM */
  81. #define REG_PCIE_HCPWM_8188E 0x0363 /* PCIe CPWM */
  82. /* -----------------------------------------------------
  83. *
  84. * 0x0400h ~ 0x047Fh Protocol Configuration
  85. *
  86. * ----------------------------------------------------- */
  87. #ifdef CONFIG_WOWLAN
  88. #define REG_TXPKTBUF_IV_LOW 0x01a4
  89. #define REG_TXPKTBUF_IV_HIGH 0x01a8
  90. #endif
  91. /* -----------------------------------------------------
  92. *
  93. * 0x0500h ~ 0x05FFh EDCA Configuration
  94. *
  95. * ----------------------------------------------------- */
  96. /* -----------------------------------------------------
  97. *
  98. * 0x0600h ~ 0x07FFh WMAC Configuration
  99. *
  100. * ----------------------------------------------------- */
  101. #ifdef CONFIG_RF_POWER_TRIM
  102. #define EEPROM_RF_GAIN_OFFSET 0xC1
  103. #define EEPROM_RF_GAIN_VAL 0xF6
  104. #define EEPROM_THERMAL_OFFSET 0xF5
  105. #endif /*CONFIG_RF_POWER_TRIM*/
  106. /* ----------------------------------------------------------------------------
  107. * 88E Driver Initialization Offload REG_FDHM0(Offset 0x88, 8 bits)
  108. * ----------------------------------------------------------------------------
  109. * IOL config for REG_FDHM0(Reg0x88) */
  110. #define CMD_INIT_LLT BIT0
  111. #define CMD_READ_EFUSE_MAP BIT1
  112. #define CMD_EFUSE_PATCH BIT2
  113. #define CMD_IOCONFIG BIT3
  114. #define CMD_INIT_LLT_ERR BIT4
  115. #define CMD_READ_EFUSE_MAP_ERR BIT5
  116. #define CMD_EFUSE_PATCH_ERR BIT6
  117. #define CMD_IOCONFIG_ERR BIT7
  118. /* -----------------------------------------------------
  119. *
  120. * Redifine register definition for compatibility
  121. *
  122. * ----------------------------------------------------- */
  123. /* TODO: use these definition when using REG_xxx naming rule.
  124. * NOTE: DO NOT Remove these definition. Use later. */
  125. #define ISR_88E REG_HISR_88E
  126. #ifdef CONFIG_PCI_HCI
  127. /* #define IMR_RX_MASK (IMR_ROK_88E|IMR_RDU_88E|IMR_RXFOVW_88E) */
  128. #define IMR_TX_MASK (IMR_VODOK_88E | IMR_VIDOK_88E | IMR_BEDOK_88E | IMR_BKDOK_88E | IMR_MGNTDOK_88E | IMR_HIGHDOK_88E | IMR_BCNDERR0_88E)
  129. #ifdef CONFIG_CONCURRENT_MODE
  130. #define RT_BCN_INT_MASKS (IMR_BCNDMAINT0_88E | IMR_TBDOK_88E | IMR_TBDER_88E | IMR_BCNDMAINT_E_88E)
  131. #else
  132. #define RT_BCN_INT_MASKS (IMR_BCNDMAINT0_88E | IMR_TBDOK_88E | IMR_TBDER_88E)
  133. #endif
  134. #define RT_AC_INT_MASKS (IMR_VIDOK_88E | IMR_VODOK_88E | IMR_BEDOK_88E | IMR_BKDOK_88E)
  135. #endif
  136. /* ----------------------------------------------------------------------------
  137. * 8192C EEPROM/EFUSE share register definition.
  138. * ---------------------------------------------------------------------------- */
  139. #define EFUSE_ACCESS_ON 0x69 /* For RTL8723 only. */
  140. #define EFUSE_ACCESS_OFF 0x00 /* For RTL8723 only. */
  141. #endif /* __RTL8188E_SPEC_H__ */