initvals_init.h 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * (c) Copyright 2002-2010, Ralink Technology, Inc.
  4. * Copyright (C) 2015 Jakub Kicinski <kubakici@wp.pl>
  5. * Copyright (C) 2018 Stanislaw Gruszka <stf_xl@wp.pl>
  6. * Copyright (C) 2018 Lorenzo Bianconi <lorenzo.bianconi83@gmail.com>
  7. */
  8. #ifndef __MT76X0U_INITVALS_INIT_H
  9. #define __MT76X0U_INITVALS_INIT_H
  10. #include "phy.h"
  11. static const struct mt76_reg_pair common_mac_reg_table[] = {
  12. { MT_BCN_OFFSET(0), 0xf8f0e8e0 },
  13. { MT_BCN_OFFSET(1), 0x6f77d0c8 },
  14. { MT_LEGACY_BASIC_RATE, 0x0000013f },
  15. { MT_HT_BASIC_RATE, 0x00008003 },
  16. { MT_MAC_SYS_CTRL, 0x00000000 },
  17. { MT_RX_FILTR_CFG, 0x00017f97 },
  18. { MT_BKOFF_SLOT_CFG, 0x00000209 },
  19. { MT_TX_SW_CFG0, 0x00000000 },
  20. { MT_TX_SW_CFG1, 0x00080606 },
  21. { MT_TX_LINK_CFG, 0x00001020 },
  22. { MT_TX_TIMEOUT_CFG, 0x000a2090 },
  23. { MT_MAX_LEN_CFG, 0xa0fff | 0x00001000 },
  24. { MT_LED_CFG, 0x7f031e46 },
  25. { MT_PBF_TX_MAX_PCNT, 0x1fbf1f1f },
  26. { MT_PBF_RX_MAX_PCNT, 0x0000fe9f },
  27. { MT_TX_RETRY_CFG, 0x47d01f0f },
  28. { MT_AUTO_RSP_CFG, 0x00000013 },
  29. { MT_CCK_PROT_CFG, 0x07f40003 },
  30. { MT_OFDM_PROT_CFG, 0x07f42004 },
  31. { MT_PBF_CFG, 0x00f40006 },
  32. { MT_WPDMA_GLO_CFG, 0x00000030 },
  33. { MT_GF20_PROT_CFG, 0x01742004 },
  34. { MT_GF40_PROT_CFG, 0x03f42084 },
  35. { MT_MM20_PROT_CFG, 0x01742004 },
  36. { MT_MM40_PROT_CFG, 0x03f42084 },
  37. { MT_TXOP_CTRL_CFG, 0x0000583f },
  38. { MT_TX_RTS_CFG, 0x00ffff20 },
  39. { MT_EXP_ACK_TIME, 0x002400ca },
  40. { MT_TXOP_HLDR_ET, 0x00000002 },
  41. { MT_XIFS_TIME_CFG, 0x33a41010 },
  42. { MT_PWR_PIN_CFG, 0x00000000 },
  43. };
  44. static const struct mt76_reg_pair mt76x0_mac_reg_table[] = {
  45. { MT_IOCFG_6, 0xa0040080 },
  46. { MT_PBF_SYS_CTRL, 0x00080c00 },
  47. { MT_PBF_CFG, 0x77723c1f },
  48. { MT_FCE_PSE_CTRL, 0x00000001 },
  49. { MT_AMPDU_MAX_LEN_20M1S, 0xAAA99887 },
  50. { MT_TX_SW_CFG0, 0x00000601 },
  51. { MT_TX_SW_CFG1, 0x00040000 },
  52. { MT_TX_SW_CFG2, 0x00000000 },
  53. { 0xa44, 0x00000000 },
  54. { MT_HEADER_TRANS_CTRL_REG, 0x00000000 },
  55. { MT_TSO_CTRL, 0x00000000 },
  56. { MT_BB_PA_MODE_CFG1, 0x00500055 },
  57. { MT_RF_PA_MODE_CFG1, 0x00500055 },
  58. { MT_TX_ALC_CFG_0, 0x2F2F000C },
  59. { MT_TX0_BB_GAIN_ATTEN, 0x00000000 },
  60. { MT_TX_PWR_CFG_0, 0x3A3A3A3A },
  61. { MT_TX_PWR_CFG_1, 0x3A3A3A3A },
  62. { MT_TX_PWR_CFG_2, 0x3A3A3A3A },
  63. { MT_TX_PWR_CFG_3, 0x3A3A3A3A },
  64. { MT_TX_PWR_CFG_4, 0x3A3A3A3A },
  65. { MT_TX_PWR_CFG_7, 0x3A3A3A3A },
  66. { MT_TX_PWR_CFG_8, 0x0000003A },
  67. { MT_TX_PWR_CFG_9, 0x0000003A },
  68. { 0x150C, 0x00000002 },
  69. { 0x1238, 0x001700C8 },
  70. { MT_LDO_CTRL_0, 0x00A647B6 },
  71. { MT_LDO_CTRL_1, 0x6B006464 },
  72. { MT_HT_BASIC_RATE, 0x00004003 },
  73. { MT_HT_CTRL_CFG, 0x000001FF },
  74. { MT_TXOP_HLDR_ET, 0x00000000 },
  75. { MT_PN_PAD_MODE, 0x00000003 },
  76. { MT_TX_PROT_CFG6, 0xe3f42004 },
  77. { MT_TX_PROT_CFG7, 0xe3f42084 },
  78. { MT_TX_PROT_CFG8, 0xe3f42104 },
  79. { MT_VHT_HT_FBK_CFG1, 0xedcba980 },
  80. };
  81. static const struct mt76_reg_pair mt76x0_bbp_init_tab[] = {
  82. { MT_BBP(CORE, 1), 0x00000002 },
  83. { MT_BBP(CORE, 4), 0x00000000 },
  84. { MT_BBP(CORE, 24), 0x00000000 },
  85. { MT_BBP(CORE, 32), 0x4003000a },
  86. { MT_BBP(CORE, 42), 0x00000000 },
  87. { MT_BBP(CORE, 44), 0x00000000 },
  88. { MT_BBP(IBI, 11), 0x0FDE8081 },
  89. { MT_BBP(AGC, 0), 0x00021400 },
  90. { MT_BBP(AGC, 1), 0x00000003 },
  91. { MT_BBP(AGC, 2), 0x003A6464 },
  92. { MT_BBP(AGC, 15), 0x88A28CB8 },
  93. { MT_BBP(AGC, 22), 0x00001E21 },
  94. { MT_BBP(AGC, 23), 0x0000272C },
  95. { MT_BBP(AGC, 24), 0x00002F3A },
  96. { MT_BBP(AGC, 25), 0x8000005A },
  97. { MT_BBP(AGC, 26), 0x007C2005 },
  98. { MT_BBP(AGC, 33), 0x00003238 },
  99. { MT_BBP(AGC, 34), 0x000A0C0C },
  100. { MT_BBP(AGC, 37), 0x2121262C },
  101. { MT_BBP(AGC, 41), 0x38383E45 },
  102. { MT_BBP(AGC, 57), 0x00001010 },
  103. { MT_BBP(AGC, 59), 0xBAA20E96 },
  104. { MT_BBP(AGC, 63), 0x00000001 },
  105. { MT_BBP(TXC, 0), 0x00280403 },
  106. { MT_BBP(TXC, 1), 0x00000000 },
  107. { MT_BBP(RXC, 1), 0x00000012 },
  108. { MT_BBP(RXC, 2), 0x00000011 },
  109. { MT_BBP(RXC, 3), 0x00000005 },
  110. { MT_BBP(RXC, 4), 0x00000000 },
  111. { MT_BBP(RXC, 5), 0xF977C4EC },
  112. { MT_BBP(RXC, 7), 0x00000090 },
  113. { MT_BBP(TXO, 8), 0x00000000 },
  114. { MT_BBP(TXBE, 0), 0x00000000 },
  115. { MT_BBP(TXBE, 4), 0x00000004 },
  116. { MT_BBP(TXBE, 6), 0x00000000 },
  117. { MT_BBP(TXBE, 8), 0x00000014 },
  118. { MT_BBP(TXBE, 9), 0x20000000 },
  119. { MT_BBP(TXBE, 10), 0x00000000 },
  120. { MT_BBP(TXBE, 12), 0x00000000 },
  121. { MT_BBP(TXBE, 13), 0x00000000 },
  122. { MT_BBP(TXBE, 14), 0x00000000 },
  123. { MT_BBP(TXBE, 15), 0x00000000 },
  124. { MT_BBP(TXBE, 16), 0x00000000 },
  125. { MT_BBP(TXBE, 17), 0x00000000 },
  126. { MT_BBP(RXFE, 1), 0x00008800 },
  127. { MT_BBP(RXFE, 3), 0x00000000 },
  128. { MT_BBP(RXFE, 4), 0x00000000 },
  129. { MT_BBP(RXO, 13), 0x00000192 },
  130. { MT_BBP(RXO, 14), 0x00060612 },
  131. { MT_BBP(RXO, 15), 0xC8321B18 },
  132. { MT_BBP(RXO, 16), 0x0000001E },
  133. { MT_BBP(RXO, 17), 0x00000000 },
  134. { MT_BBP(RXO, 18), 0xCC00A993 },
  135. { MT_BBP(RXO, 19), 0xB9CB9CB9 },
  136. { MT_BBP(RXO, 20), 0x26c00057 },
  137. { MT_BBP(RXO, 21), 0x00000001 },
  138. { MT_BBP(RXO, 24), 0x00000006 },
  139. { MT_BBP(RXO, 28), 0x0000003F },
  140. };
  141. static const struct mt76_reg_pair mt76x0_dcoc_tab[] = {
  142. { MT_BBP(CAL, 47), 0x000010F0 },
  143. { MT_BBP(CAL, 48), 0x00008080 },
  144. { MT_BBP(CAL, 49), 0x00000F07 },
  145. { MT_BBP(CAL, 50), 0x00000040 },
  146. { MT_BBP(CAL, 51), 0x00000404 },
  147. { MT_BBP(CAL, 52), 0x00080803 },
  148. { MT_BBP(CAL, 53), 0x00000704 },
  149. { MT_BBP(CAL, 54), 0x00002828 },
  150. { MT_BBP(CAL, 55), 0x00005050 },
  151. };
  152. #endif