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
504
476
MacBlkCtrl = 0x403, // Mac block on/off control register
507
//#define Cmd9346CR_9356SEL (1<<4)
509
/* 0x0006 - 0x0007 - reserved */
513
/* 0x0010 - 0x0017 - reserved */
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))
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
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))
622
TX_BEACON_RING_ADDR = 0x04c,
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))
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))
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))
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
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))
671
#define TFPC_AC 0x05C
675
#define PGSELECT_PG_SHIFT 0
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))
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))
689
#define ATIM_WND_MASK (0x01FF)
691
BCN_INTR_ITV = 0x074,
692
#define BCN_INTR_ITV_MASK (0x01FF)
694
ATIM_INTR_ITV = 0x076,
695
#define ATIM_INTR_ITV_MASK (0x01FF)
697
AckTimeOutReg = 0x079, //ACK timeout register, in unit of 4 us.
700
RFPinsOutput = 0x080,
701
RFPinsEnable = 0x082,
703
RFPinsSelect = 0x084,
704
#define SW_CONTROL_GPIO 0x400
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
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
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
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
765
INT_MIG = 0x0E2, // Interrupt Migration (0xE2 ~ 0xE3)
766
TID_AC_MAP = 0x0E8, // TID to AC Mapping Register
784
/* 0x00CE - 0x00D3 - reserved */
786
RFSW_CTRL = 0x272, // 0x272-0x273.
788
/**************************************************************************/
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
802
//----------------------------------------------------------------------------
803
// 818xB AnaParm & AnaParm2 Register
804
//----------------------------------------------------------------------------
805
//#define ANAPARM_ASIC_ON 0x45090658
806
//#define ANAPARM2_ASIC_ON 0x727f3f52
808
480
#define GPI 0x108
809
481
#define GPO 0x109