~ubuntu-branches/ubuntu/precise/linux-ti-omap4/precise

« back to all changes in this revision

Viewing changes to drivers/staging/rtl8192e/r8192E_hw.h

  • Committer: Bazaar Package Importer
  • Author(s): Paolo Pisati
  • Date: 2011-06-29 15:23:51 UTC
  • mfrom: (26.1.1 natty-proposed)
  • Revision ID: james.westby@ubuntu.com-20110629152351-xs96tm303d95rpbk
Tags: 3.0.0-1200.2
* Rebased against 3.0.0-6.7
* BSP from TI based on 3.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
#define R8180_HW
22
22
 
23
23
typedef enum _VERSION_8190{
24
 
        // RTL8190
25
24
        VERSION_8190_BD=0x3,
26
25
        VERSION_8190_BE
27
26
}VERSION_8190,*PVERSION_8190;
38
37
        BaseBand_Config_PHY_REG = 0,                    //Radio Path A
39
38
        BaseBand_Config_AGC_TAB = 1,                    //Radio Path B
40
39
}BaseBand_Config_Type, *PBaseBand_Config_Type;
41
 
#if 0
42
 
typedef enum _RT_RF_TYPE_819xU{
43
 
        RF_TYPE_MIN = 0,
44
 
        RF_8225,
45
 
        RF_8256,
46
 
        RF_8258,
47
 
        RF_PSEUDO_11N = 4,
48
 
}RT_RF_TYPE_819xU, *PRT_RF_TYPE_819xU;
49
 
#endif
 
40
 
50
41
#define RTL8187_REQT_READ       0xc0
51
42
#define RTL8187_REQT_WRITE      0x40
52
43
#define RTL8187_REQ_GET_REGS    0x05
55
46
#define R8180_MAX_RETRY 255
56
47
#define MAX_TX_URB 5
57
48
#define MAX_RX_URB 16
58
 
//#define MAX_RX_NORMAL_URB 3
59
 
//#define MAX_RX_COMMAND_URB 2
60
49
#define RX_URB_SIZE 9100
61
50
 
62
51
#define BB_ANTATTEN_CHAN14      0x0c
68
57
#define BB_HOST_BANG_RW (1<<3)
69
58
#define BB_HOST_BANG_DATA        1
70
59
 
71
 
//#if (RTL819X_FPGA_VER & RTL819X_FPGA_VIVI_070920)
72
60
#define RTL8190_EEPROM_ID       0x8129
73
61
#define EEPROM_VID              0x02
74
62
#define EEPROM_DID              0x04
95
83
#define EEPROM_Default_TxPower                  0x1010
96
84
#define EEPROM_ICVersion_ChannelPlan    0x7C    //0x7C:ChannelPlan, 0x7D:IC_Version
97
85
#define EEPROM_Customer_ID                      0x7B    //0x7B:CustomerID
98
 
#ifdef RTL8190P
99
 
#define EEPROM_RFInd_PowerDiff                  0x14
100
 
#define EEPROM_ThermalMeter                     0x15
101
 
#define EEPROM_TxPwDiff_CrystalCap              0x16
102
 
#define EEPROM_TxPwIndex_CCK                    0x18    //0x18~0x25
103
 
#define EEPROM_TxPwIndex_OFDM_24G       0x26    //0x26~0x33
104
 
#define EEPROM_TxPwIndex_OFDM_5G                0x34    //0x34~0x7B
105
 
#define EEPROM_C56_CrystalCap                   0x17    //0x17
106
 
#define EEPROM_C56_RfA_CCK_Chnl1_TxPwIndex      0x80    //0x80
107
 
#define EEPROM_C56_RfA_HT_OFDM_TxPwIndex        0x81    //0x81~0x83
108
 
#define EEPROM_C56_RfC_CCK_Chnl1_TxPwIndex      0xbc    //0xb8
109
 
#define EEPROM_C56_RfC_HT_OFDM_TxPwIndex        0xb9    //0xb9~0xbb
110
 
#else
111
 
#ifdef RTL8192E
 
86
 
112
87
#define EEPROM_RFInd_PowerDiff                  0x28
113
88
#define EEPROM_ThermalMeter                     0x29
114
89
#define EEPROM_TxPwDiff_CrystalCap              0x2A    //0x2A~0x2B
115
90
#define EEPROM_TxPwIndex_CCK                    0x2C    //0x23
116
91
#define EEPROM_TxPwIndex_OFDM_24G       0x3A    //0x24~0x26
117
 
#endif
118
 
#endif
 
92
 
119
93
#define EEPROM_Default_TxPowerLevel             0x10
120
 
//#define EEPROM_ChannelPlan                    0x7c    //0x7C
 
94
 
121
95
#define EEPROM_IC_VER                           0x7d    //0x7D
122
96
#define EEPROM_CRC                              0x7e    //0x7E~0x7F
123
97
 
131
105
#define EEPROM_CID_Pronet                               0x7
132
106
#define EEPROM_CID_DLINK                                0x8
133
107
#define EEPROM_CID_WHQL                                 0xFE  //added by sherry for dtm, 20080728
134
 
//#endif
 
108
 
135
109
enum _RTL8192Pci_HW {
136
110
        MAC0                    = 0x000,
137
111
        MAC1                    = 0x001,
499
473
        DRIVER_RSSI             = 0x32c,        // Driver tell Firmware current RSSI
500
474
        MCS_TXAGC               = 0x340, // MCS AGC
501
475
        CCK_TXAGC               = 0x348, // CCK AGC
502
 
//      IMR                     = 0x354, // Interrupt Mask Register
503
 
//      IMR_POLL                = 0x360,
504
476
        MacBlkCtrl              = 0x403, // Mac block on/off control register
505
477
 
506
 
        //Cmd9346CR             = 0x00e,
507
 
//#define Cmd9346CR_9356SEL     (1<<4)
508
 
#if 0
509
 
/* 0x0006 - 0x0007 - reserved */
510
 
        RXFIFOCOUNT             = 0x010,
511
 
        TXFIFOCOUNT             = 0x012,
512
 
        BQREQ                   = 0x013,
513
 
/* 0x0010 - 0x0017 - reserved */
514
 
        TSFTR                   = 0x018,
515
 
        TLPDA                   = 0x020,
516
 
        TNPDA                   = 0x024,
517
 
        THPDA                   = 0x028,
518
 
        BSSID                   = 0x02E,
519
 
        RESP_RATE               = 0x034,
520
 
        CMD                     = 0x037,
521
 
#define CMD_RST_SHIFT 4
522
 
#define CMD_RESERVED_MASK ((1<<1) | (1<<5) | (1<<6) | (1<<7))
523
 
#define CMD_RX_ENABLE_SHIFT 3
524
 
#define CMD_TX_ENABLE_SHIFT 2
525
 
#define CR_RST      ((1<< 4))
526
 
#define CR_RE       ((1<< 3))
527
 
#define CR_TE       ((1<< 2))
528
 
#define CR_MulRW    ((1<< 0))
529
 
 
530
 
        INTA                    = 0x03e,
531
 
#endif
532
 
 
533
 
///////////////////
534
 
//////////////////
535
 
#if 0
536
 
        TX_CONF                 = 0x040,
537
 
#define TX_CONF_HEADER_AUTOICREMENT_SHIFT 30
538
 
#define TX_LOOPBACK_SHIFT 17
539
 
#define TX_LOOPBACK_MAC 1
540
 
#define TX_LOOPBACK_BASEBAND 2
541
 
#define TX_LOOPBACK_NONE 0
542
 
#define TX_LOOPBACK_CONTINUE 3
543
 
#define TX_LOOPBACK_MASK ((1<<17)|(1<<18))
544
 
#define TX_LRLRETRY_SHIFT 0
545
 
#define TX_SRLRETRY_SHIFT 8
546
 
#define TX_NOICV_SHIFT 19
547
 
#define TX_NOCRC_SHIFT 16
548
 
#define TCR_DurProcMode  ((1<<30))
549
 
#define TCR_DISReqQsize  ((1<<28))
550
 
#define TCR_HWVERID_MASK ((1<<27)|(1<<26)|(1<<25))
551
 
#define TCR_HWVERID_SHIFT 25
552
 
#define TCR_SWPLCPLEN     ((1<<24))
553
 
#define TCR_PLCP_LEN TCR_SAT // rtl8180
554
 
#define TCR_MXDMA_MASK   ((1<<23)|(1<<22)|(1<<21))
555
 
#define TCR_MXDMA_1024 6
556
 
#define TCR_MXDMA_2048 7
557
 
#define TCR_MXDMA_SHIFT  21
558
 
#define TCR_DISCW   ((1<<20))
559
 
#define TCR_ICV     ((1<<19))
560
 
#define TCR_LBK     ((1<<18)|(1<<17))
561
 
#define TCR_LBK1    ((1<<18))
562
 
#define TCR_LBK0    ((1<<17))
563
 
#define TCR_CRC     ((1<<16))
564
 
#define TCR_SRL_MASK   ((1<<15)|(1<<14)|(1<<13)|(1<<12)|(1<<11)|(1<<10)|(1<<9)|(1<<8))
565
 
#define TCR_LRL_MASK   ((1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7))
566
 
#define TCR_PROBE_NOTIMESTAMP_SHIFT 29 //rtl8185
567
 
 
568
 
        RX_CONF                 = 0x044,
569
 
#define MAC_FILTER_MASK ((1<<0) | (1<<1) | (1<<2) | (1<<3) | (1<<5) | \
570
 
(1<<12) | (1<<18) | (1<<19) | (1<<20) | (1<<21) | (1<<22) | (1<<23))
571
 
#define RX_CHECK_BSSID_SHIFT 23
572
 
#define ACCEPT_PWR_FRAME_SHIFT 22
573
 
#define ACCEPT_MNG_FRAME_SHIFT 20
574
 
#define ACCEPT_CTL_FRAME_SHIFT 19
575
 
#define ACCEPT_DATA_FRAME_SHIFT 18
576
 
#define ACCEPT_ICVERR_FRAME_SHIFT 12
577
 
#define ACCEPT_CRCERR_FRAME_SHIFT 5
578
 
#define ACCEPT_BCAST_FRAME_SHIFT 3
579
 
#define ACCEPT_MCAST_FRAME_SHIFT 2
580
 
#define ACCEPT_ALLMAC_FRAME_SHIFT 0
581
 
#define ACCEPT_NICMAC_FRAME_SHIFT 1
582
 
#define RX_FIFO_THRESHOLD_MASK ((1<<13) | (1<<14) | (1<<15))
583
 
#define RX_FIFO_THRESHOLD_SHIFT 13
584
 
#define RX_FIFO_THRESHOLD_128 3
585
 
#define RX_FIFO_THRESHOLD_256 4
586
 
#define RX_FIFO_THRESHOLD_512 5
587
 
#define RX_FIFO_THRESHOLD_1024 6
588
 
#define RX_FIFO_THRESHOLD_NONE 7
589
 
#define RX_AUTORESETPHY_SHIFT 28
590
 
#define MAX_RX_DMA_MASK ((1<<8) | (1<<9) | (1<<10))
591
 
#define MAX_RX_DMA_2048 7
592
 
#define MAX_RX_DMA_1024 6
593
 
#define MAX_RX_DMA_SHIFT 10
594
 
#define RCR_ONLYERLPKT ((1<<31))
595
 
#define RCR_CS_SHIFT   29
596
 
#define RCR_CS_MASK    ((1<<30) | (1<<29))
597
 
#define RCR_ENMARP     ((1<<28))
598
 
#define RCR_CBSSID     ((1<<23))
599
 
#define RCR_APWRMGT    ((1<<22))
600
 
#define RCR_ADD3       ((1<<21))
601
 
#define RCR_AMF        ((1<<20))
602
 
#define RCR_ACF        ((1<<19))
603
 
#define RCR_ADF        ((1<<18))
604
 
#define RCR_RXFTH      ((1<<15)|(1<<14)|(1<<13))
605
 
#define RCR_RXFTH2     ((1<<15))
606
 
#define RCR_RXFTH1     ((1<<14))
607
 
#define RCR_RXFTH0     ((1<<13))
608
 
#define RCR_AICV       ((1<<12))
609
 
#define RCR_MXDMA      ((1<<10)|(1<< 9)|(1<< 8))
610
 
#define RCR_MXDMA2     ((1<<10))
611
 
#define RCR_MXDMA1     ((1<< 9))
612
 
#define RCR_MXDMA0     ((1<< 8))
613
 
#define RCR_9356SEL    ((1<< 6))
614
 
#define RCR_ACRC32     ((1<< 5))
615
 
#define RCR_AB         ((1<< 3))
616
 
#define RCR_AM         ((1<< 2))
617
 
#define RCR_APM        ((1<< 1))
618
 
#define RCR_AAP        ((1<< 0))
619
 
 
620
 
        INT_TIMEOUT             = 0x048,
621
 
 
622
 
        TX_BEACON_RING_ADDR     = 0x04c,
623
 
 
624
 
#endif
625
 
#if 0
626
 
        CONFIG0                 = 0x051,
627
 
#define CONFIG0_WEP104     ((1<<6))
628
 
#define CONFIG0_LEDGPO_En  ((1<<4))
629
 
#define CONFIG0_Aux_Status ((1<<3))
630
 
#define CONFIG0_GL         ((1<<1)|(1<<0))
631
 
#define CONFIG0_GL1        ((1<<1))
632
 
#define CONFIG0_GL0        ((1<<0))
633
 
        CONFIG1                 = 0x052,
634
 
#define CONFIG1_LEDS       ((1<<7)|(1<<6))
635
 
#define CONFIG1_LEDS1      ((1<<7))
636
 
#define CONFIG1_LEDS0      ((1<<6))
637
 
#define CONFIG1_LWACT      ((1<<4))
638
 
#define CONFIG1_MEMMAP     ((1<<3))
639
 
#define CONFIG1_IOMAP      ((1<<2))
640
 
#define CONFIG1_VPD        ((1<<1))
641
 
#define CONFIG1_PMEn       ((1<<0))
642
 
        CONFIG2                 = 0x053,
643
 
#define CONFIG2_LCK        ((1<<7))
644
 
#define CONFIG2_ANT        ((1<<6))
645
 
#define CONFIG2_DPS        ((1<<3))
646
 
#define CONFIG2_PAPE_sign  ((1<<2))
647
 
#define CONFIG2_PAPE_time  ((1<<1)|(1<<0))
648
 
#define CONFIG2_PAPE_time1 ((1<<1))
649
 
#define CONFIG2_PAPE_time0 ((1<<0))
650
 
        ANA_PARAM               = 0x054,
651
 
        CONFIG3                 = 0x059,
652
 
#define CONFIG3_GNTSel     ((1<<7))
653
 
#define CONFIG3_PARM_En    ((1<<6))
654
 
#define CONFIG3_Magic      ((1<<5))
655
 
#define CONFIG3_CardB_En   ((1<<3))
656
 
#define CONFIG3_CLKRUN_En  ((1<<2))
657
 
#define CONFIG3_FuncRegEn  ((1<<1))
658
 
#define CONFIG3_FBtbEn     ((1<<0))
659
 
#define CONFIG3_CLKRUN_SHIFT 2
660
 
#define CONFIG3_ANAPARAM_W_SHIFT 6
661
 
        CONFIG4                 = 0x05a,
662
 
#define CONFIG4_VCOPDN     ((1<<7))
663
 
#define CONFIG4_PWROFF     ((1<<6))
664
 
#define CONFIG4_PWRMGT     ((1<<5))
665
 
#define CONFIG4_LWPME      ((1<<4))
666
 
#define CONFIG4_LWPTN      ((1<<2))
667
 
#define CONFIG4_RFTYPE     ((1<<1)|(1<<0))
668
 
#define CONFIG4_RFTYPE1    ((1<<1))
669
 
#define CONFIG4_RFTYPE0    ((1<<0))
670
 
        TESTR                   = 0x05b,
671
 
#define TFPC_AC  0x05C
672
 
 
673
 
#define SCR 0x05F
674
 
        PGSELECT                = 0x05e,
675
 
#define PGSELECT_PG_SHIFT 0
676
 
        SECURITY                = 0x05f,
677
 
#define SECURITY_WEP_TX_ENABLE_SHIFT 1
678
 
#define SECURITY_WEP_RX_ENABLE_SHIFT 0
679
 
#define SECURITY_ENCRYP_104 1
680
 
#define SECURITY_ENCRYP_SHIFT 4
681
 
#define SECURITY_ENCRYP_MASK ((1<<4)|(1<<5))
682
 
 
683
 
        ANA_PARAM2              = 0x060,
684
 
        BEACON_INTERVAL         = 0x070,
685
 
#define BEACON_INTERVAL_MASK ((1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)| \
686
 
(1<<6)|(1<<7)|(1<<8)|(1<<9))
687
 
 
688
 
        ATIM_WND                = 0x072,
689
 
#define ATIM_WND_MASK      (0x01FF)
690
 
 
691
 
        BCN_INTR_ITV            = 0x074,
692
 
#define BCN_INTR_ITV_MASK  (0x01FF)
693
 
 
694
 
        ATIM_INTR_ITV           = 0x076,
695
 
#define ATIM_INTR_ITV_MASK  (0x01FF)
696
 
 
697
 
        AckTimeOutReg           = 0x079, //ACK timeout register, in unit of 4 us.
698
 
        PHY_ADR                 = 0x07c,
699
 
        PHY_READ                = 0x07e,
700
 
        RFPinsOutput            = 0x080,
701
 
        RFPinsEnable            = 0x082,
702
 
//Page 0
703
 
        RFPinsSelect            = 0x084,
704
 
#define SW_CONTROL_GPIO 0x400
705
 
        RFPinsInput             = 0x086,
706
 
        RF_PARA                 = 0x088,
707
 
        RF_TIMING               = 0x08c,
708
 
        GP_ENABLE               = 0x090,
709
 
        GPIO                    = 0x091,
710
 
        TX_AGC_CTL              = 0x09c,
711
 
#define TX_AGC_CTL_PER_PACKET_TXAGC     0x01
712
 
#define TX_AGC_CTL_PERPACKET_GAIN_SHIFT 0
713
 
#define TX_AGC_CTL_PERPACKET_ANTSEL_SHIFT 1
714
 
#define TX_AGC_CTL_FEEDBACK_ANT 2
715
 
#define TXAGC_CTL_PER_PACKET_ANT_SEL 0x02
716
 
        OFDM_TXAGC              = 0x09e,
717
 
        ANTSEL                  = 0x09f,
718
 
 
719
 
 
720
 
 
721
 
        SIFS                    = 0x0b4,
722
 
        DIFS                    = 0x0b5,
723
 
        SLOT                    = 0x0b6,
724
 
        CW_CONF                 = 0x0bc,
725
 
#define CW_CONF_PERPACKET_RETRY_LIMIT 0x02
726
 
#define CW_CONF_PERPACKET_CW 0x01
727
 
#define CW_CONF_PERPACKET_RETRY_SHIFT 1
728
 
#define CW_CONF_PERPACKET_CW_SHIFT 0
729
 
        CW_VAL                  = 0x0bd,
730
 
        RATE_FALLBACK           = 0x0be,
731
 
#define MAX_RESP_RATE_SHIFT 4
732
 
#define MIN_RESP_RATE_SHIFT 0
733
 
#define RATE_FALLBACK_CTL_ENABLE  0x80
734
 
#define RATE_FALLBACK_CTL_AUTO_STEP0 0x00
735
 
        ACM_CONTROL             = 0x0BF,      // ACM Control Registe
736
 
//----------------------------------------------------------------------------
737
 
//       8187B ACM_CONTROL bits                                         (Offset 0xBF, 1 Byte)
738
 
//----------------------------------------------------------------------------
739
 
#define VOQ_ACM_EN                              (0x01 << 7) //BIT7
740
 
#define VIQ_ACM_EN                              (0x01 << 6) //BIT6
741
 
#define BEQ_ACM_EN                              (0x01 << 5) //BIT5
742
 
#define ACM_HW_EN                               (0x01 << 4) //BIT4
743
 
#define TXOPSEL                                 (0x01 << 3) //BIT3
744
 
#define VOQ_ACM_CTL                             (0x01 << 2) //BIT2 // Set to 1 when AC_VO used time reaches or exceeds the admitted time
745
 
#define VIQ_ACM_CTL                             (0x01 << 1) //BIT1 // Set to 1 when AC_VI used time reaches or exceeds the admitted time
746
 
#define BEQ_ACM_CTL                             (0x01 << 0) //BIT0 // Set to 1 when AC_BE used time reaches or exceeds the admitted time
747
 
        CONFIG5                 = 0x0D8,
748
 
#define CONFIG5_TX_FIFO_OK ((1<<7))
749
 
#define CONFIG5_RX_FIFO_OK ((1<<6))
750
 
#define CONFIG5_CALON      ((1<<5))
751
 
#define CONFIG5_EACPI      ((1<<2))
752
 
#define CONFIG5_LANWake    ((1<<1))
753
 
#define CONFIG5_PME_STS    ((1<<0))
754
 
        TX_DMA_POLLING          = 0x0fd,
755
 
#define TX_DMA_POLLING_BEACON_SHIFT 7
756
 
#define TX_DMA_POLLING_HIPRIORITY_SHIFT 6
757
 
#define TX_DMA_POLLING_NORMPRIORITY_SHIFT 5
758
 
#define TX_DMA_POLLING_LOWPRIORITY_SHIFT 4
759
 
#define TX_DMA_STOP_BEACON_SHIFT 3
760
 
#define TX_DMA_STOP_HIPRIORITY_SHIFT 2
761
 
#define TX_DMA_STOP_NORMPRIORITY_SHIFT 1
762
 
#define TX_DMA_STOP_LOWPRIORITY_SHIFT 0
763
 
        CWR                     = 0x0DC,
764
 
        RetryCTR                = 0x0DE,
765
 
        INT_MIG                 = 0x0E2,      // Interrupt Migration (0xE2 ~ 0xE3)
766
 
        TID_AC_MAP              = 0x0E8,     // TID to AC Mapping Register
767
 
        ANA_PARAM3              = 0x0EE,
768
 
 
769
 
 
770
 
//page 1
771
 
        Wakeup0                 = 0x084,
772
 
        Wakeup1                 = 0x08C,
773
 
        Wakeup2LD               = 0x094,
774
 
        Wakeup2HD               = 0x09C,
775
 
        Wakeup3LD               = 0x0A4,
776
 
        Wakeup3HD               = 0x0AC,
777
 
        Wakeup4LD               = 0x0B4,
778
 
        Wakeup4HD               = 0x0BC,
779
 
        CRC0                    = 0x0C4,
780
 
        CRC1                    = 0x0C6,
781
 
        CRC2                    = 0x0C8,
782
 
        CRC3                    = 0x0CA,
783
 
        CRC4                    = 0x0CC,
784
 
/* 0x00CE - 0x00D3 - reserved */
785
 
 
786
 
        RFSW_CTRL               = 0x272,   // 0x272-0x273.
787
 
 
788
 
/**************************************************************************/
789
 
        FER                     = 0x0F0,
790
 
        FEMR                    = 0x0F4,
791
 
        FPSR                    = 0x0F8,
792
 
        FFER                    = 0x0FC,
793
 
 
794
 
        AC_VO_PARAM             = 0x0F0,      // AC_VO Parameters Record
795
 
        AC_VI_PARAM             = 0x0F4,      // AC_VI Parameters Record
796
 
        AC_BE_PARAM             = 0x0F8,      // AC_BE Parameters Record
797
 
        AC_BK_PARAM             = 0x0FC,      // AC_BK Parameters Record
798
 
        TALLY_SEL               = 0x0fc,
799
 
#endif
800
 
}
801
 
;
802
 
//----------------------------------------------------------------------------
803
 
//       818xB AnaParm & AnaParm2 Register
804
 
//----------------------------------------------------------------------------
805
 
//#define ANAPARM_ASIC_ON    0x45090658
806
 
//#define ANAPARM2_ASIC_ON   0x727f3f52
 
478
};
807
479
 
808
480
#define GPI 0x108
809
481
#define GPO 0x109