121
124
#define E2PROM_CSR_RELOAD FIELD32(0x00000080)
127
* AUX_CTRL: Aux/PCI-E related configuration
129
#define AUX_CTRL 0x10c
130
#define AUX_CTRL_WAKE_PCIE_EN FIELD32(0x00000002)
131
#define AUX_CTRL_FORCE_PCIE_CLK FIELD32(0x00000400)
124
134
* OPT_14: Unknown register used by rt3xxx devices.
126
136
#define OPT_14_CSR 0x0114
280
291
#define GPIO_CTRL_CFG_BIT5 FIELD32(0x00000020)
281
292
#define GPIO_CTRL_CFG_BIT6 FIELD32(0x00000040)
282
293
#define GPIO_CTRL_CFG_BIT7 FIELD32(0x00000080)
283
#define GPIO_CTRL_CFG_BIT8 FIELD32(0x00000100)
294
#define GPIO_CTRL_CFG_GPIOD_BIT0 FIELD32(0x00000100)
295
#define GPIO_CTRL_CFG_GPIOD_BIT1 FIELD32(0x00000200)
296
#define GPIO_CTRL_CFG_GPIOD_BIT2 FIELD32(0x00000400)
297
#define GPIO_CTRL_CFG_GPIOD_BIT3 FIELD32(0x00000800)
298
#define GPIO_CTRL_CFG_GPIOD_BIT4 FIELD32(0x00001000)
299
#define GPIO_CTRL_CFG_GPIOD_BIT5 FIELD32(0x00002000)
300
#define GPIO_CTRL_CFG_GPIOD_BIT6 FIELD32(0x00004000)
301
#define GPIO_CTRL_CFG_GPIOD_BIT7 FIELD32(0x00008000)
393
* BT_MODE_EN: Bluetooth mode enable
394
* CLOCK CYCLE: Clock cycle count in 1us.
395
* PCI:0x21, PCIE:0x7d, USB:0x1e
376
397
#define US_CYC_CNT 0x02a4
398
#define US_CYC_CNT_BT_MODE_EN FIELD32(0x00000100)
377
399
#define US_CYC_CNT_CLOCK_CYCLE FIELD32(0x000000ff)
443
465
#define RF_CSR_CFG 0x0500
444
466
#define RF_CSR_CFG_DATA FIELD32(0x000000ff)
445
#define RF_CSR_CFG_REGNUM FIELD32(0x00001f00)
467
#define RF_CSR_CFG_REGNUM FIELD32(0x00003f00)
446
468
#define RF_CSR_CFG_WRITE FIELD32(0x00010000)
447
469
#define RF_CSR_CFG_BUSY FIELD32(0x00020000)
594
616
* READ_CONTROL: 0 write BBP, 1 read BBP
595
617
* BUSY: ASIC is busy executing BBP commands
596
618
* BBP_PAR_DUR: 0 4 MAC clocks, 1 8 MAC clocks
597
* BBP_RW_MODE: 0 serial, 1 paralell
619
* BBP_RW_MODE: 0 serial, 1 parallel
599
621
#define BBP_CSR_CFG 0x101c
600
622
#define BBP_CSR_CFG_VALUE FIELD32(0x000000ff)
1132
1154
* PROTECT_RATE: Protection control frame rate for CCK TX(RTS/CTS/CFEnd)
1133
1155
* PROTECT_CTRL: Protection control frame type for CCK TX
1134
1156
* 0:none, 1:RTS/CTS, 2:CTS-to-self
1135
* PROTECT_NAV: TXOP protection type for CCK TX
1136
* 0:none, 1:ShortNAVprotect, 2:LongNAVProtect
1157
* PROTECT_NAV_SHORT: TXOP protection type for CCK TX with short NAV
1158
* PROTECT_NAV_LONG: TXOP protection type for CCK TX with long NAV
1137
1159
* TX_OP_ALLOW_CCK: CCK TXOP allowance, 0:disallow
1138
1160
* TX_OP_ALLOW_OFDM: CCK TXOP allowance, 0:disallow
1139
1161
* TX_OP_ALLOW_MM20: CCK TXOP allowance, 0:disallow
1145
1167
#define CCK_PROT_CFG 0x1364
1146
1168
#define CCK_PROT_CFG_PROTECT_RATE FIELD32(0x0000ffff)
1147
1169
#define CCK_PROT_CFG_PROTECT_CTRL FIELD32(0x00030000)
1148
#define CCK_PROT_CFG_PROTECT_NAV FIELD32(0x000c0000)
1170
#define CCK_PROT_CFG_PROTECT_NAV_SHORT FIELD32(0x00040000)
1171
#define CCK_PROT_CFG_PROTECT_NAV_LONG FIELD32(0x00080000)
1149
1172
#define CCK_PROT_CFG_TX_OP_ALLOW_CCK FIELD32(0x00100000)
1150
1173
#define CCK_PROT_CFG_TX_OP_ALLOW_OFDM FIELD32(0x00200000)
1151
1174
#define CCK_PROT_CFG_TX_OP_ALLOW_MM20 FIELD32(0x00400000)
1160
1183
#define OFDM_PROT_CFG 0x1368
1161
1184
#define OFDM_PROT_CFG_PROTECT_RATE FIELD32(0x0000ffff)
1162
1185
#define OFDM_PROT_CFG_PROTECT_CTRL FIELD32(0x00030000)
1163
#define OFDM_PROT_CFG_PROTECT_NAV FIELD32(0x000c0000)
1186
#define OFDM_PROT_CFG_PROTECT_NAV_SHORT FIELD32(0x00040000)
1187
#define OFDM_PROT_CFG_PROTECT_NAV_LONG FIELD32(0x00080000)
1164
1188
#define OFDM_PROT_CFG_TX_OP_ALLOW_CCK FIELD32(0x00100000)
1165
1189
#define OFDM_PROT_CFG_TX_OP_ALLOW_OFDM FIELD32(0x00200000)
1166
1190
#define OFDM_PROT_CFG_TX_OP_ALLOW_MM20 FIELD32(0x00400000)
1175
1199
#define MM20_PROT_CFG 0x136c
1176
1200
#define MM20_PROT_CFG_PROTECT_RATE FIELD32(0x0000ffff)
1177
1201
#define MM20_PROT_CFG_PROTECT_CTRL FIELD32(0x00030000)
1178
#define MM20_PROT_CFG_PROTECT_NAV FIELD32(0x000c0000)
1202
#define MM20_PROT_CFG_PROTECT_NAV_SHORT FIELD32(0x00040000)
1203
#define MM20_PROT_CFG_PROTECT_NAV_LONG FIELD32(0x00080000)
1179
1204
#define MM20_PROT_CFG_TX_OP_ALLOW_CCK FIELD32(0x00100000)
1180
1205
#define MM20_PROT_CFG_TX_OP_ALLOW_OFDM FIELD32(0x00200000)
1181
1206
#define MM20_PROT_CFG_TX_OP_ALLOW_MM20 FIELD32(0x00400000)
1190
1215
#define MM40_PROT_CFG 0x1370
1191
1216
#define MM40_PROT_CFG_PROTECT_RATE FIELD32(0x0000ffff)
1192
1217
#define MM40_PROT_CFG_PROTECT_CTRL FIELD32(0x00030000)
1193
#define MM40_PROT_CFG_PROTECT_NAV FIELD32(0x000c0000)
1218
#define MM40_PROT_CFG_PROTECT_NAV_SHORT FIELD32(0x00040000)
1219
#define MM40_PROT_CFG_PROTECT_NAV_LONG FIELD32(0x00080000)
1194
1220
#define MM40_PROT_CFG_TX_OP_ALLOW_CCK FIELD32(0x00100000)
1195
1221
#define MM40_PROT_CFG_TX_OP_ALLOW_OFDM FIELD32(0x00200000)
1196
1222
#define MM40_PROT_CFG_TX_OP_ALLOW_MM20 FIELD32(0x00400000)
1205
1231
#define GF20_PROT_CFG 0x1374
1206
1232
#define GF20_PROT_CFG_PROTECT_RATE FIELD32(0x0000ffff)
1207
1233
#define GF20_PROT_CFG_PROTECT_CTRL FIELD32(0x00030000)
1208
#define GF20_PROT_CFG_PROTECT_NAV FIELD32(0x000c0000)
1234
#define GF20_PROT_CFG_PROTECT_NAV_SHORT FIELD32(0x00040000)
1235
#define GF20_PROT_CFG_PROTECT_NAV_LONG FIELD32(0x00080000)
1209
1236
#define GF20_PROT_CFG_TX_OP_ALLOW_CCK FIELD32(0x00100000)
1210
1237
#define GF20_PROT_CFG_TX_OP_ALLOW_OFDM FIELD32(0x00200000)
1211
1238
#define GF20_PROT_CFG_TX_OP_ALLOW_MM20 FIELD32(0x00400000)
1220
1247
#define GF40_PROT_CFG 0x1378
1221
1248
#define GF40_PROT_CFG_PROTECT_RATE FIELD32(0x0000ffff)
1222
1249
#define GF40_PROT_CFG_PROTECT_CTRL FIELD32(0x00030000)
1223
#define GF40_PROT_CFG_PROTECT_NAV FIELD32(0x000c0000)
1250
#define GF40_PROT_CFG_PROTECT_NAV_SHORT FIELD32(0x00040000)
1251
#define GF40_PROT_CFG_PROTECT_NAV_LONG FIELD32(0x00080000)
1224
1252
#define GF40_PROT_CFG_TX_OP_ALLOW_CCK FIELD32(0x00100000)
1225
1253
#define GF40_PROT_CFG_TX_OP_ALLOW_OFDM FIELD32(0x00200000)
1226
1254
#define GF40_PROT_CFG_TX_OP_ALLOW_MM20 FIELD32(0x00400000)
1700
* BBP 1: TX Antenna & Power
1701
* POWER: 0 - normal, 1 - drop tx power by 6dBm, 2 - drop tx power by 12dBm,
1702
* 3 - increase tx power by 6dBm
1728
* BBP 1: TX Antenna & Power Control
1731
* 1 - drop tx power by 6dBm,
1732
* 2 - drop tx power by 12dBm,
1733
* 3 - increase tx power by 6dBm
1704
#define BBP1_TX_POWER FIELD8(0x07)
1735
#define BBP1_TX_POWER_CTRL FIELD8(0x07)
1705
1736
#define BBP1_TX_ANTENNA FIELD8(0x18)
1716
1747
#define BBP4_TX_BF FIELD8(0x01)
1717
1748
#define BBP4_BANDWIDTH FIELD8(0x18)
1749
#define BBP4_MAC_IF_CTRL FIELD8(0x40)
1754
#define BBP109_TX0_POWER FIELD8(0x0f)
1755
#define BBP109_TX1_POWER FIELD8(0xf0)
1720
1758
* BBP 138: Unknown
1735
1778
#define RFCSR1_RF_BLOCK_EN FIELD8(0x01)
1779
#define RFCSR1_PLL_PD FIELD8(0x02)
1736
1780
#define RFCSR1_RX0_PD FIELD8(0x04)
1737
1781
#define RFCSR1_TX0_PD FIELD8(0x08)
1738
1782
#define RFCSR1_RX1_PD FIELD8(0x10)
1739
1783
#define RFCSR1_TX1_PD FIELD8(0x20)
1788
#define RFCSR2_RESCAL_EN FIELD8(0x80)
1744
1793
#define RFCSR6_R1 FIELD8(0x03)
1860
#define RFCSR30_TX_H20M FIELD8(0x02)
1861
#define RFCSR30_RX_H20M FIELD8(0x04)
1862
#define RFCSR30_RX_VCM FIELD8(0x18)
1805
1863
#define RFCSR30_RF_CALIBRATION FIELD8(0x80)
1868
#define RFCSR31_RX_AGC_FC FIELD8(0x1f)
1869
#define RFCSR31_RX_H20M FIELD8(0x20)
1874
#define RFCSR38_RX_LO1_EN FIELD8(0x20)
1879
#define RFCSR39_RX_LO2_EN FIELD8(0x80)
1884
#define RFCSR49_TX FIELD8(0x3f)
1989
2073
#define EEPROM_RSSI_A2_LNA_A2 FIELD16(0xff00)
1992
* EEPROM Maximum TX power values
2076
* EEPROM EIRP Maximum TX power values(unit: dbm)
1994
#define EEPROM_MAX_TX_POWER 0x0027
1995
#define EEPROM_MAX_TX_POWER_24GHZ FIELD16(0x00ff)
1996
#define EEPROM_MAX_TX_POWER_5GHZ FIELD16(0xff00)
2078
#define EEPROM_EIRP_MAX_TX_POWER 0x0027
2079
#define EEPROM_EIRP_MAX_TX_POWER_2GHZ FIELD16(0x00ff)
2080
#define EEPROM_EIRP_MAX_TX_POWER_5GHZ FIELD16(0xff00)
1999
2083
* EEPROM TXpower delta: 20MHZ AND 40 MHZ use different power.
2000
2084
* This is delta in 40MHZ.
2001
* VALUE: Tx Power dalta value (MAX=4)
2085
* VALUE: Tx Power dalta value, MAX=4(unit: dbm)
2002
2086
* TYPE: 1: Plus the delta value, 0: minus the delta value
2087
* ENABLE: enable tx power compensation for 40BW
2005
2089
#define EEPROM_TXPOWER_DELTA 0x0028
2006
#define EEPROM_TXPOWER_DELTA_VALUE FIELD16(0x003f)
2007
#define EEPROM_TXPOWER_DELTA_TYPE FIELD16(0x0040)
2008
#define EEPROM_TXPOWER_DELTA_TXPOWER FIELD16(0x0080)
2090
#define EEPROM_TXPOWER_DELTA_VALUE_2G FIELD16(0x003f)
2091
#define EEPROM_TXPOWER_DELTA_TYPE_2G FIELD16(0x0040)
2092
#define EEPROM_TXPOWER_DELTA_ENABLE_2G FIELD16(0x0080)
2093
#define EEPROM_TXPOWER_DELTA_VALUE_5G FIELD16(0x3f00)
2094
#define EEPROM_TXPOWER_DELTA_TYPE_5G FIELD16(0x4000)
2095
#define EEPROM_TXPOWER_DELTA_ENABLE_5G FIELD16(0x8000)
2011
2098
* EEPROM TXPOWER 802.11BG
2058
2145
#define MCU_LED_LED_POLARITY 0x54
2059
2146
#define MCU_RADAR 0x60
2060
2147
#define MCU_BOOT_SIGNAL 0x72
2148
#define MCU_ANT_SELECT 0X73
2061
2149
#define MCU_BBP_SIGNAL 0x80
2062
2150
#define MCU_POWER_SAVE 0x83
2202
2290
#define TXPOWER_A_TO_DEV(__txpower) \
2203
2291
clamp_t(char, __txpower, MIN_A_TXPOWER, MAX_A_TXPOWER)
2294
* Board's maximun TX power limitation
2296
#define EIRP_MAX_TX_POWER_LIMIT 0x50
2205
2298
#endif /* RT2800_H */