~ubuntu-branches/debian/wheezy/linux-2.6/wheezy

« back to all changes in this revision

Viewing changes to drivers/net/wireless/rt2x00/rt2800.h

  • Committer: Bazaar Package Importer
  • Author(s): Ben Hutchings, Ben Hutchings, Aurelien Jarno
  • Date: 2011-06-07 12:14:05 UTC
  • mfrom: (43.1.9 sid)
  • Revision ID: james.westby@ubuntu.com-20110607121405-i3h1rd7nrnd2b73h
Tags: 2.6.39-2
[ Ben Hutchings ]
* [x86] Enable BACKLIGHT_APPLE, replacing BACKLIGHT_MBP_NVIDIA
  (Closes: #627492)
* cgroups: Disable memory resource controller by default. Allow it
  to be enabled using kernel parameter 'cgroup_enable=memory'.
* rt2800usb: Enable support for more USB devices including
  Linksys WUSB600N (Closes: #596626) (this change was accidentally
  omitted from 2.6.39-1)
* [x86] Remove Celeron from list of processors supporting PAE. Most
  'Celeron M' models do not.
* Update debconf template translations:
  - Swedish (Martin Bagge) (Closes: #628932)
  - French (David Prévot) (Closes: #628191)
* aufs: Update for 2.6.39 (Closes: #627837)
* Add stable 2.6.39.1, including:
  - ext4: dont set PageUptodate in ext4_end_bio()
  - pata_cmd64x: fix boot crash on parisc (Closes: #622997, #622745)
  - ext3: Fix fs corruption when make_indexed_dir() fails
  - netfilter: nf_ct_sip: validate Content-Length in TCP SIP messages
  - sctp: fix race between sctp_bind_addr_free() and
    sctp_bind_addr_conflict()
  - sctp: fix memory leak of the ASCONF queue when free asoc
  - md/bitmap: fix saving of events_cleared and other state
  - cdc_acm: Fix oops when Droids MuIn LCD is connected
  - cx88: Fix conversion from BKL to fine-grained locks (Closes: #619827)
  - keys: Set cred->user_ns in key_replace_session_keyring (CVE-2011-2184)
  - tmpfs: fix race between truncate and writepage
  - nfs41: Correct offset for LAYOUTCOMMIT
  - xen/mmu: fix a race window causing leave_mm BUG()
  - ext4: fix possible use-after-free in ext4_remove_li_request()
  For the complete list of changes, see:
   http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.39.1
* Bump ABI to 2
* netfilter: Enable IP_SET, IP_SET_BITMAP_IP, IP_SET_BITMAP_IPMAC,
  IP_SET_BITMAP_PORT, IP_SET_HASH_IP, IP_SET_HASH_IPPORT,
  IP_SET_HASH_IPPORTIP, IP_SET_HASH_IPPORTNET, IP_SET_HASH_NET,
  IP_SET_HASH_NETPORT, IP_SET_LIST_SET, NETFILTER_XT_SET as modules
  (Closes: #629401)

[ Aurelien Jarno ]
* [mipsel/loongson-2f] Disable_SCSI_LPFC to workaround GCC ICE.

Show diffs side-by-side

added added

removed removed

Lines of Context:
51
51
 * RF3320 2.4G 1T1R(RT3350/RT3370/RT3390)
52
52
 * RF3322 2.4G 2T2R(RT3352/RT3371/RT3372/RT3391/RT3392)
53
53
 * RF3853 2.4G/5G 3T3R(RT3883/RT3563/RT3573/RT3593/RT3662)
 
54
 * RF5390 2.4G 1T1R
54
55
 */
55
56
#define RF2820                          0x0001
56
57
#define RF2850                          0x0002
65
66
#define RF3320                          0x000b
66
67
#define RF3322                          0x000c
67
68
#define RF3853                          0x000d
 
69
#define RF5390                          0x5390
68
70
 
69
71
/*
70
72
 * Chipset revisions.
77
79
#define REV_RT3071E                     0x0211
78
80
#define REV_RT3090E                     0x0211
79
81
#define REV_RT3390E                     0x0211
 
82
#define REV_RT5390F                     0x0502
80
83
 
81
84
/*
82
85
 * Signal information.
121
124
#define E2PROM_CSR_RELOAD               FIELD32(0x00000080)
122
125
 
123
126
/*
 
127
 * AUX_CTRL: Aux/PCI-E related configuration
 
128
 */
 
129
#define AUX_CTRL                        0x10c
 
130
#define AUX_CTRL_WAKE_PCIE_EN           FIELD32(0x00000002)
 
131
#define AUX_CTRL_FORCE_PCIE_CLK         FIELD32(0x00000400)
 
132
 
 
133
/*
124
134
 * OPT_14: Unknown register used by rt3xxx devices.
125
135
 */
126
136
#define OPT_14_CSR                      0x0114
270
280
 
271
281
/*
272
282
 * GPIO_CTRL_CFG:
 
283
 * GPIOD: GPIO direction, 0: Output, 1: Input
273
284
 */
274
285
#define GPIO_CTRL_CFG                   0x0228
275
286
#define GPIO_CTRL_CFG_BIT0              FIELD32(0x00000001)
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)
284
302
 
285
303
/*
286
304
 * MCU_CMD_CFG
372
390
 
373
391
/*
374
392
 * US_CYC_CNT
 
393
 * BT_MODE_EN: Bluetooth mode enable
 
394
 * CLOCK CYCLE: Clock cycle count in 1us.
 
395
 * PCI:0x21, PCIE:0x7d, USB:0x1e
375
396
 */
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)
378
400
 
379
401
/*
442
464
 */
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)
448
470
 
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
598
620
 */
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)
1697
1725
 */
1698
1726
 
1699
1727
/*
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
 
1729
 * POWER_CTRL:
 
1730
 * 0 - normal,
 
1731
 * 1 - drop tx power by 6dBm,
 
1732
 * 2 - drop tx power by 12dBm,
 
1733
 * 3 - increase tx power by 6dBm
1703
1734
 */
1704
 
#define BBP1_TX_POWER                   FIELD8(0x07)
 
1735
#define BBP1_TX_POWER_CTRL              FIELD8(0x07)
1705
1736
#define BBP1_TX_ANTENNA                 FIELD8(0x18)
1706
1737
 
1707
1738
/*
1715
1746
 */
1716
1747
#define BBP4_TX_BF                      FIELD8(0x01)
1717
1748
#define BBP4_BANDWIDTH                  FIELD8(0x18)
 
1749
#define BBP4_MAC_IF_CTRL                FIELD8(0x40)
 
1750
 
 
1751
/*
 
1752
 * BBP 109
 
1753
 */
 
1754
#define BBP109_TX0_POWER                FIELD8(0x0f)
 
1755
#define BBP109_TX1_POWER                FIELD8(0xf0)
1718
1756
 
1719
1757
/*
1720
1758
 * BBP 138: Unknown
1725
1763
#define BBP138_TX_DAC2                  FIELD8(0x40)
1726
1764
 
1727
1765
/*
 
1766
 * BBP 152: Rx Ant
 
1767
 */
 
1768
#define BBP152_RX_DEFAULT_ANT           FIELD8(0x80)
 
1769
 
 
1770
/*
1728
1771
 * RFCSR registers
1729
1772
 * The wordsize of the RFCSR is 8 bits.
1730
1773
 */
1733
1776
 * RFCSR 1:
1734
1777
 */
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)
1740
1784
 
1741
1785
/*
 
1786
 * RFCSR 2:
 
1787
 */
 
1788
#define RFCSR2_RESCAL_EN                FIELD8(0x80)
 
1789
 
 
1790
/*
1742
1791
 * RFCSR 6:
1743
1792
 */
1744
1793
#define RFCSR6_R1                       FIELD8(0x03)
1750
1799
#define RFCSR7_RF_TUNING                FIELD8(0x01)
1751
1800
 
1752
1801
/*
 
1802
 * RFCSR 11:
 
1803
 */
 
1804
#define RFCSR11_R                       FIELD8(0x03)
 
1805
 
 
1806
/*
1753
1807
 * RFCSR 12:
1754
1808
 */
1755
1809
#define RFCSR12_TX_POWER                FIELD8(0x1f)
1770
1824
#define RFCSR17_TXMIXER_GAIN            FIELD8(0x07)
1771
1825
#define RFCSR17_TX_LO1_EN               FIELD8(0x08)
1772
1826
#define RFCSR17_R                       FIELD8(0x20)
 
1827
#define RFCSR17_CODE                   FIELD8(0x7f)
1773
1828
 
1774
1829
/*
1775
1830
 * RFCSR 20:
1802
1857
/*
1803
1858
 * RFCSR 30:
1804
1859
 */
 
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)
1806
1864
 
1807
1865
/*
 
1866
 * RFCSR 31:
 
1867
 */
 
1868
#define RFCSR31_RX_AGC_FC               FIELD8(0x1f)
 
1869
#define RFCSR31_RX_H20M                 FIELD8(0x20)
 
1870
 
 
1871
/*
 
1872
 * RFCSR 38:
 
1873
 */
 
1874
#define RFCSR38_RX_LO1_EN               FIELD8(0x20)
 
1875
 
 
1876
/*
 
1877
 * RFCSR 39:
 
1878
 */
 
1879
#define RFCSR39_RX_LO2_EN               FIELD8(0x80)
 
1880
 
 
1881
/*
 
1882
 * RFCSR 49:
 
1883
 */
 
1884
#define RFCSR49_TX                      FIELD8(0x3f)
 
1885
 
 
1886
/*
1808
1887
 * RF registers
1809
1888
 */
1810
1889
 
1837
1916
 */
1838
1917
 
1839
1918
/*
 
1919
 * Chip ID
 
1920
 */
 
1921
#define EEPROM_CHIP_ID                  0x0000
 
1922
 
 
1923
/*
1840
1924
 * EEPROM Version
1841
1925
 */
1842
1926
#define EEPROM_VERSION                  0x0001
1989
2073
#define EEPROM_RSSI_A2_LNA_A2           FIELD16(0xff00)
1990
2074
 
1991
2075
/*
1992
 
 * EEPROM Maximum TX power values
 
2076
 * EEPROM EIRP Maximum TX power values(unit: dbm)
1993
2077
 */
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)
1997
2081
 
1998
2082
/*
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
2003
 
 * TXPOWER: Enable:
 
2087
 * ENABLE: enable tx power compensation for 40BW
2004
2088
 */
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)
2009
2096
 
2010
2097
/*
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
2063
2151
 
2202
2290
#define TXPOWER_A_TO_DEV(__txpower) \
2203
2291
        clamp_t(char, __txpower, MIN_A_TXPOWER, MAX_A_TXPOWER)
2204
2292
 
 
2293
/*
 
2294
 *  Board's maximun TX power limitation
 
2295
 */
 
2296
#define EIRP_MAX_TX_POWER_LIMIT 0x50
 
2297
 
2205
2298
#endif /* RT2800_H */