diff options
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2800.h')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2800.h | 119 |
1 files changed, 108 insertions, 11 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2800.h b/drivers/net/wireless/rt2x00/rt2800.h index 74c0433dba37..2aa03751c341 100644 --- a/drivers/net/wireless/rt2x00/rt2800.h +++ b/drivers/net/wireless/rt2x00/rt2800.h | |||
@@ -56,15 +56,20 @@ | |||
56 | #define RF3021 0x0007 | 56 | #define RF3021 0x0007 |
57 | #define RF3022 0x0008 | 57 | #define RF3022 0x0008 |
58 | #define RF3052 0x0009 | 58 | #define RF3052 0x0009 |
59 | #define RF3320 0x000b | ||
59 | 60 | ||
60 | /* | 61 | /* |
61 | * Chipset version. | 62 | * Chipset revisions. |
62 | */ | 63 | */ |
63 | #define RT2860C_VERSION 0x0100 | 64 | #define REV_RT2860C 0x0100 |
64 | #define RT2860D_VERSION 0x0101 | 65 | #define REV_RT2860D 0x0101 |
65 | #define RT2880E_VERSION 0x0200 | 66 | #define REV_RT2870D 0x0101 |
66 | #define RT2883_VERSION 0x0300 | 67 | #define REV_RT2872E 0x0200 |
67 | #define RT3070_VERSION 0x0200 | 68 | #define REV_RT3070E 0x0200 |
69 | #define REV_RT3070F 0x0201 | ||
70 | #define REV_RT3071E 0x0211 | ||
71 | #define REV_RT3090E 0x0211 | ||
72 | #define REV_RT3390E 0x0211 | ||
68 | 73 | ||
69 | /* | 74 | /* |
70 | * Signal information. | 75 | * Signal information. |
@@ -90,13 +95,19 @@ | |||
90 | #define NUM_TX_QUEUES 4 | 95 | #define NUM_TX_QUEUES 4 |
91 | 96 | ||
92 | /* | 97 | /* |
93 | * USB registers. | 98 | * Registers. |
94 | */ | 99 | */ |
95 | 100 | ||
96 | /* | 101 | /* |
102 | * OPT_14: Unknown register used by rt3xxx devices. | ||
103 | */ | ||
104 | #define OPT_14_CSR 0x0114 | ||
105 | #define OPT_14_CSR_BIT0 FIELD32(0x00000001) | ||
106 | |||
107 | /* | ||
97 | * INT_SOURCE_CSR: Interrupt source register. | 108 | * INT_SOURCE_CSR: Interrupt source register. |
98 | * Write one to clear corresponding bit. | 109 | * Write one to clear corresponding bit. |
99 | * TX_FIFO_STATUS: FIFO Statistics is full, sw should read 0x171c | 110 | * TX_FIFO_STATUS: FIFO Statistics is full, sw should read TX_STA_FIFO |
100 | */ | 111 | */ |
101 | #define INT_SOURCE_CSR 0x0200 | 112 | #define INT_SOURCE_CSR 0x0200 |
102 | #define INT_SOURCE_CSR_RXDELAYINT FIELD32(0x00000001) | 113 | #define INT_SOURCE_CSR_RXDELAYINT FIELD32(0x00000001) |
@@ -398,6 +409,31 @@ | |||
398 | #define EFUSE_DATA3 0x059c | 409 | #define EFUSE_DATA3 0x059c |
399 | 410 | ||
400 | /* | 411 | /* |
412 | * LDO_CFG0 | ||
413 | */ | ||
414 | #define LDO_CFG0 0x05d4 | ||
415 | #define LDO_CFG0_DELAY3 FIELD32(0x000000ff) | ||
416 | #define LDO_CFG0_DELAY2 FIELD32(0x0000ff00) | ||
417 | #define LDO_CFG0_DELAY1 FIELD32(0x00ff0000) | ||
418 | #define LDO_CFG0_BGSEL FIELD32(0x03000000) | ||
419 | #define LDO_CFG0_LDO_CORE_VLEVEL FIELD32(0x1c000000) | ||
420 | #define LD0_CFG0_LDO25_LEVEL FIELD32(0x60000000) | ||
421 | #define LDO_CFG0_LDO25_LARGEA FIELD32(0x80000000) | ||
422 | |||
423 | /* | ||
424 | * GPIO_SWITCH | ||
425 | */ | ||
426 | #define GPIO_SWITCH 0x05dc | ||
427 | #define GPIO_SWITCH_0 FIELD32(0x00000001) | ||
428 | #define GPIO_SWITCH_1 FIELD32(0x00000002) | ||
429 | #define GPIO_SWITCH_2 FIELD32(0x00000004) | ||
430 | #define GPIO_SWITCH_3 FIELD32(0x00000008) | ||
431 | #define GPIO_SWITCH_4 FIELD32(0x00000010) | ||
432 | #define GPIO_SWITCH_5 FIELD32(0x00000020) | ||
433 | #define GPIO_SWITCH_6 FIELD32(0x00000040) | ||
434 | #define GPIO_SWITCH_7 FIELD32(0x00000080) | ||
435 | |||
436 | /* | ||
401 | * MAC Control/Status Registers(CSR). | 437 | * MAC Control/Status Registers(CSR). |
402 | * Some values are set in TU, whereas 1 TU == 1024 us. | 438 | * Some values are set in TU, whereas 1 TU == 1024 us. |
403 | */ | 439 | */ |
@@ -809,7 +845,7 @@ | |||
809 | * TX_BAND_CFG: 0x1 use upper 20MHz, 0x0 use lower 20MHz | 845 | * TX_BAND_CFG: 0x1 use upper 20MHz, 0x0 use lower 20MHz |
810 | */ | 846 | */ |
811 | #define TX_BAND_CFG 0x132c | 847 | #define TX_BAND_CFG 0x132c |
812 | #define TX_BAND_CFG_HT40_PLUS FIELD32(0x00000001) | 848 | #define TX_BAND_CFG_HT40_MINUS FIELD32(0x00000001) |
813 | #define TX_BAND_CFG_A FIELD32(0x00000002) | 849 | #define TX_BAND_CFG_A FIELD32(0x00000002) |
814 | #define TX_BAND_CFG_BG FIELD32(0x00000004) | 850 | #define TX_BAND_CFG_BG FIELD32(0x00000004) |
815 | 851 | ||
@@ -1483,7 +1519,7 @@ struct mac_iveiv_entry { | |||
1483 | * BBP 3: RX Antenna | 1519 | * BBP 3: RX Antenna |
1484 | */ | 1520 | */ |
1485 | #define BBP3_RX_ANTENNA FIELD8(0x18) | 1521 | #define BBP3_RX_ANTENNA FIELD8(0x18) |
1486 | #define BBP3_HT40_PLUS FIELD8(0x20) | 1522 | #define BBP3_HT40_MINUS FIELD8(0x20) |
1487 | 1523 | ||
1488 | /* | 1524 | /* |
1489 | * BBP 4: Bandwidth | 1525 | * BBP 4: Bandwidth |
@@ -1492,14 +1528,32 @@ struct mac_iveiv_entry { | |||
1492 | #define BBP4_BANDWIDTH FIELD8(0x18) | 1528 | #define BBP4_BANDWIDTH FIELD8(0x18) |
1493 | 1529 | ||
1494 | /* | 1530 | /* |
1531 | * BBP 138: Unknown | ||
1532 | */ | ||
1533 | #define BBP138_RX_ADC1 FIELD8(0x02) | ||
1534 | #define BBP138_RX_ADC2 FIELD8(0x04) | ||
1535 | #define BBP138_TX_DAC1 FIELD8(0x20) | ||
1536 | #define BBP138_TX_DAC2 FIELD8(0x40) | ||
1537 | |||
1538 | /* | ||
1495 | * RFCSR registers | 1539 | * RFCSR registers |
1496 | * The wordsize of the RFCSR is 8 bits. | 1540 | * The wordsize of the RFCSR is 8 bits. |
1497 | */ | 1541 | */ |
1498 | 1542 | ||
1499 | /* | 1543 | /* |
1544 | * RFCSR 1: | ||
1545 | */ | ||
1546 | #define RFCSR1_RF_BLOCK_EN FIELD8(0x01) | ||
1547 | #define RFCSR1_RX0_PD FIELD8(0x04) | ||
1548 | #define RFCSR1_TX0_PD FIELD8(0x08) | ||
1549 | #define RFCSR1_RX1_PD FIELD8(0x10) | ||
1550 | #define RFCSR1_TX1_PD FIELD8(0x20) | ||
1551 | |||
1552 | /* | ||
1500 | * RFCSR 6: | 1553 | * RFCSR 6: |
1501 | */ | 1554 | */ |
1502 | #define RFCSR6_R FIELD8(0x03) | 1555 | #define RFCSR6_R1 FIELD8(0x03) |
1556 | #define RFCSR6_R2 FIELD8(0x40) | ||
1503 | 1557 | ||
1504 | /* | 1558 | /* |
1505 | * RFCSR 7: | 1559 | * RFCSR 7: |
@@ -1512,6 +1566,33 @@ struct mac_iveiv_entry { | |||
1512 | #define RFCSR12_TX_POWER FIELD8(0x1f) | 1566 | #define RFCSR12_TX_POWER FIELD8(0x1f) |
1513 | 1567 | ||
1514 | /* | 1568 | /* |
1569 | * RFCSR 13: | ||
1570 | */ | ||
1571 | #define RFCSR13_TX_POWER FIELD8(0x1f) | ||
1572 | |||
1573 | /* | ||
1574 | * RFCSR 15: | ||
1575 | */ | ||
1576 | #define RFCSR15_TX_LO2_EN FIELD8(0x08) | ||
1577 | |||
1578 | /* | ||
1579 | * RFCSR 17: | ||
1580 | */ | ||
1581 | #define RFCSR17_TXMIXER_GAIN FIELD8(0x07) | ||
1582 | #define RFCSR17_TX_LO1_EN FIELD8(0x08) | ||
1583 | #define RFCSR17_R FIELD8(0x20) | ||
1584 | |||
1585 | /* | ||
1586 | * RFCSR 20: | ||
1587 | */ | ||
1588 | #define RFCSR20_RX_LO1_EN FIELD8(0x08) | ||
1589 | |||
1590 | /* | ||
1591 | * RFCSR 21: | ||
1592 | */ | ||
1593 | #define RFCSR21_RX_LO2_EN FIELD8(0x08) | ||
1594 | |||
1595 | /* | ||
1515 | * RFCSR 22: | 1596 | * RFCSR 22: |
1516 | */ | 1597 | */ |
1517 | #define RFCSR22_BASEBAND_LOOPBACK FIELD8(0x01) | 1598 | #define RFCSR22_BASEBAND_LOOPBACK FIELD8(0x01) |
@@ -1522,6 +1603,14 @@ struct mac_iveiv_entry { | |||
1522 | #define RFCSR23_FREQ_OFFSET FIELD8(0x7f) | 1603 | #define RFCSR23_FREQ_OFFSET FIELD8(0x7f) |
1523 | 1604 | ||
1524 | /* | 1605 | /* |
1606 | * RFCSR 27: | ||
1607 | */ | ||
1608 | #define RFCSR27_R1 FIELD8(0x03) | ||
1609 | #define RFCSR27_R2 FIELD8(0x04) | ||
1610 | #define RFCSR27_R3 FIELD8(0x30) | ||
1611 | #define RFCSR27_R4 FIELD8(0x40) | ||
1612 | |||
1613 | /* | ||
1525 | * RFCSR 30: | 1614 | * RFCSR 30: |
1526 | */ | 1615 | */ |
1527 | #define RFCSR30_RF_CALIBRATION FIELD8(0x80) | 1616 | #define RFCSR30_RF_CALIBRATION FIELD8(0x80) |
@@ -1603,6 +1692,8 @@ struct mac_iveiv_entry { | |||
1603 | #define EEPROM_NIC_WPS_PBC FIELD16(0x0080) | 1692 | #define EEPROM_NIC_WPS_PBC FIELD16(0x0080) |
1604 | #define EEPROM_NIC_BW40M_BG FIELD16(0x0100) | 1693 | #define EEPROM_NIC_BW40M_BG FIELD16(0x0100) |
1605 | #define EEPROM_NIC_BW40M_A FIELD16(0x0200) | 1694 | #define EEPROM_NIC_BW40M_A FIELD16(0x0200) |
1695 | #define EEPROM_NIC_ANT_DIVERSITY FIELD16(0x0800) | ||
1696 | #define EEPROM_NIC_DAC_TEST FIELD16(0x8000) | ||
1606 | 1697 | ||
1607 | /* | 1698 | /* |
1608 | * EEPROM frequency | 1699 | * EEPROM frequency |
@@ -1659,6 +1750,12 @@ struct mac_iveiv_entry { | |||
1659 | #define EEPROM_RSSI_BG2_LNA_A1 FIELD16(0xff00) | 1750 | #define EEPROM_RSSI_BG2_LNA_A1 FIELD16(0xff00) |
1660 | 1751 | ||
1661 | /* | 1752 | /* |
1753 | * EEPROM TXMIXER GAIN BG offset (note overlaps with EEPROM RSSI BG2). | ||
1754 | */ | ||
1755 | #define EEPROM_TXMIXER_GAIN_BG 0x0024 | ||
1756 | #define EEPROM_TXMIXER_GAIN_BG_VAL FIELD16(0x0007) | ||
1757 | |||
1758 | /* | ||
1662 | * EEPROM RSSI A offset | 1759 | * EEPROM RSSI A offset |
1663 | */ | 1760 | */ |
1664 | #define EEPROM_RSSI_A 0x0025 | 1761 | #define EEPROM_RSSI_A 0x0025 |