Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3a32ed12 authored by Bartlomiej Zolnierkiewicz's avatar Bartlomiej Zolnierkiewicz Committed by Greg Kroah-Hartman
Browse files

Staging: rt2860: prepare for rt28[67]0/*.[ch] merge

parent 0eae1ca3
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@ obj-$(CONFIG_RT2860) += rt2860sta.o

# TODO: all of these should be removed
EXTRA_CFLAGS += -DLINUX -DAGGREGATION_SUPPORT -DPIGGYBACK_SUPPORT -DWMM_SUPPORT
EXTRA_CFLAGS += -DRT2860
EXTRA_CFLAGS += -DDBG

rt2860sta-objs :=	\
+7 −0
Original line number Diff line number Diff line
@@ -324,6 +324,13 @@ VOID APQuickResponeForRateUpExec(
    IN PVOID SystemSpecific2,
    IN PVOID SystemSpecific3);

#ifdef RT2870
VOID BeaconUpdateExec(
    IN PVOID SystemSpecific1,
    IN PVOID FunctionContext,
    IN PVOID SystemSpecific2,
    IN PVOID SystemSpecific3);
#endif // RT2870 //

VOID RTMPSetPiggyBack(
	IN PRTMP_ADAPTER	pAd,
+5 −0
Original line number Diff line number Diff line
@@ -524,7 +524,12 @@ static CH_REGION ChRegion[] =
			JAP,
			{
				{ 1,   14,  20, BOTH, FALSE},	// 2.4 G, ch 1~14
#ifndef RT30xx
				{ 36, 	4,  23, IDOR, FALSE},	// 5G, ch 36~48
#endif
#ifdef RT30xx
				{ 34, 	4,  23, IDOR, FALSE},	// 5G, ch 34~46
#endif
				{ 0},							// end
			}
		},
+64 −1
Original line number Diff line number Diff line
@@ -535,8 +535,10 @@ typedef enum _NDIS_802_11_WEP_STATUS
    Ndis802_11Encryption3KeyAbsent,
    Ndis802_11Encryption4Enabled,	// TKIP or AES mix
    Ndis802_11Encryption4KeyAbsent,
#ifndef RT30xx
    Ndis802_11GroupWEP40Enabled,
	Ndis802_11GroupWEP104Enabled,
#endif
} NDIS_802_11_WEP_STATUS, *PNDIS_802_11_WEP_STATUS,
  NDIS_802_11_ENCRYPTION_STATUS, *PNDIS_802_11_ENCRYPTION_STATUS;

@@ -631,11 +633,17 @@ typedef struct _NDIS_802_11_CAPABILITY
#define SIOCIWFIRSTPRIV								SIOCDEVPRIVATE
#endif

#ifdef RT30xx
#define RT_PRIV_IOCTL_EXT							(SIOCIWFIRSTPRIV + 0x01) // Sync. with AP for wsc upnp daemon
#endif
#define RTPRIV_IOCTL_SET							(SIOCIWFIRSTPRIV + 0x02)

#ifdef DBG
#define RTPRIV_IOCTL_BBP                            (SIOCIWFIRSTPRIV + 0x03)
#define RTPRIV_IOCTL_MAC                            (SIOCIWFIRSTPRIV + 0x05)
#ifdef RT30xx
#define RTPRIV_IOCTL_RF                             (SIOCIWFIRSTPRIV + 0x13)
#endif
#define RTPRIV_IOCTL_E2P                            (SIOCIWFIRSTPRIV + 0x07)
#endif

@@ -652,9 +660,16 @@ enum {
    SHOW_DRVIER_VERION = 5,
    SHOW_BA_INFO = 6,
	SHOW_DESC_INFO = 7,
#ifdef RT2870
	SHOW_RXBULK_INFO = 8,
	SHOW_TXBULK_INFO = 9,
#endif // RT2870 //
    RAIO_OFF = 10,
    RAIO_ON = 11,
	SHOW_CFG_VALUE = 20,
#if !defined(RT2860) && !defined(RT30xx)
	SHOW_ADHOC_ENTRY_INFO = 21,
#endif
};

#define OID_802_11_BUILD_CHANNEL_EX				0x0714
@@ -662,13 +677,41 @@ enum {
#define OID_802_11_GET_COUNTRY_CODE				0x0716
#define OID_802_11_GET_CHANNEL_GEOGRAPHY		0x0717

#ifdef RT30xx
#define RT_OID_WSC_SET_PASSPHRASE                   0x0740 // passphrase for wpa(2)-psk
#define RT_OID_WSC_DRIVER_AUTO_CONNECT              0x0741
#define RT_OID_WSC_QUERY_DEFAULT_PROFILE            0x0742
#define RT_OID_WSC_SET_CONN_BY_PROFILE_INDEX        0x0743
#define RT_OID_WSC_SET_ACTION                       0x0744
#define RT_OID_WSC_SET_SSID                         0x0745
#define RT_OID_WSC_SET_PIN_CODE                     0x0746
#define RT_OID_WSC_SET_MODE                         0x0747 // PIN or PBC
#define RT_OID_WSC_SET_CONF_MODE                    0x0748 // Enrollee or Registrar
#define RT_OID_WSC_SET_PROFILE                      0x0749

#define RT_OID_802_11_WSC_QUERY_PROFILE				0x0750
// for consistency with RT61
#define RT_OID_WSC_QUERY_STATUS						0x0751
#define RT_OID_WSC_PIN_CODE							0x0752
#define RT_OID_WSC_UUID								0x0753
#define RT_OID_WSC_SET_SELECTED_REGISTRAR			0x0754
#define RT_OID_WSC_EAPMSG							0x0755
#define RT_OID_WSC_MANUFACTURER						0x0756
#define RT_OID_WSC_MODEL_NAME						0x0757
#define RT_OID_WSC_MODEL_NO							0x0758
#define RT_OID_WSC_SERIAL_NO						0x0759
#define RT_OID_WSC_MAC_ADDRESS						0x0760
#endif

#ifdef LLTD_SUPPORT
// for consistency with RT61
#define RT_OID_GET_PHY_MODE                         0x761
#endif // LLTD_SUPPORT //

#if defined(RT2860) || defined(RT30xx)
// New for MeetingHouse Api support
#define OID_MH_802_1X_SUPPORTED               0xFFEDC100
#endif

// MIMO Tx parameter, ShortGI, MCS, STBC, etc.  these are fields in TXWI. Don't change this definition!!!
typedef union  _HTTRANSMIT_SETTING {
@@ -691,7 +734,6 @@ typedef enum _RT_802_11_PREAMBLE {
} RT_802_11_PREAMBLE, *PRT_802_11_PREAMBLE;

// Only for STA, need to sync with AP
// 2005-03-08 match current RaConfig.
typedef enum _RT_802_11_PHY_MODE {
	PHY_11BG_MIXED = 0,
	PHY_11B,
@@ -886,6 +928,27 @@ typedef struct _RT_CHANNEL_LIST_INFO
	UCHAR ChannelListNum; // number of channel in ChannelList[]
} RT_CHANNEL_LIST_INFO, *PRT_CHANNEL_LIST_INFO;

#ifdef RT2870
// WSC configured credential
typedef	struct	_WSC_CREDENTIAL
{
	NDIS_802_11_SSID	SSID;				// mandatory
	USHORT				AuthType;			// mandatory, 1: open, 2: wpa-psk, 4: shared, 8:wpa, 0x10: wpa2, 0x20: wpa2-psk
	USHORT				EncrType;			// mandatory, 1: none, 2: wep, 4: tkip, 8: aes
	UCHAR				Key[64];			// mandatory, Maximum 64 byte
	USHORT				KeyLength;
	UCHAR				MacAddr[6];			// mandatory, AP MAC address
	UCHAR				KeyIndex;			// optional, default is 1
	UCHAR				Rsvd[3];			// Make alignment
}	WSC_CREDENTIAL, *PWSC_CREDENTIAL;

// WSC configured profiles
typedef	struct	_WSC_PROFILE
{
	UINT			ProfileCnt;
	WSC_CREDENTIAL	Profile[8];				// Support up to 8 profiles
}	WSC_PROFILE, *PWSC_PROFILE;
#endif

#endif // _OID_H_
+66 −1
Original line number Diff line number Diff line
@@ -47,6 +47,15 @@
#define PCI_EECTRL			0x0004
#define PCI_MCUCTRL			0x0008

#ifdef RT30xx
#define	OPT_14			0x114

typedef int				NTSTATUS;
#define	RETRY_LIMIT             10
#define STATUS_SUCCESS				0x00
#define STATUS_UNSUCCESSFUL 		0x01
#endif

//
// SCH/DMA registers - base address 0x0200
//
@@ -282,6 +291,36 @@ typedef union _USB_DMA_CFG_STRUC {
#define 	PBF_DBG 	 	 0x043c
#define     PBF_CAP_CTRL     0x0440

#ifdef RT30xx
// eFuse registers
#define EFUSE_CTRL              0x0580
#define EFUSE_DATA0             0x0590
#define EFUSE_DATA1             0x0594
#define EFUSE_DATA2             0x0598
#define EFUSE_DATA3             0x059c
#define EFUSE_USAGE_MAP_START   0x2d0
#define EFUSE_USAGE_MAP_END     0x2fc
#define EFUSE_TAG               0x2fe
#define EFUSE_USAGE_MAP_SIZE    45

typedef	union	_EFUSE_CTRL_STRUC {
	struct	{
		UINT32            EFSROM_AOUT:6;
		UINT32            EFSROM_MODE:2;
		UINT32            EFSROM_LDO_OFF_TIME:6;
		UINT32            EFSROM_LDO_ON_TIME:2;
		UINT32            EFSROM_AIN:10;
		UINT32            RESERVED:4;
		UINT32            EFSROM_KICK:1;
		UINT32            SEL_EFUSE:1;
	}	field;
	UINT32			word;
}	EFUSE_CTRL_STRUC, *PEFUSE_CTRL_STRUC;

#define LDO_CFG0 				0x05d4
#define GPIO_SWITCH				0x05dc
#endif /* RT30xx */

//
//  4  MAC  registers
//
@@ -1007,10 +1046,16 @@ typedef struct _HW_WCID_ENTRY { // 8-byte per entry
#define E2PROM_CSR          0x0004
#define IO_CNTL_CSR         0x77d0

#ifdef RT2860
// 8051 firmware image for RT2860 - base address = 0x4000
#define FIRMWARE_IMAGE_BASE     0x2000
#define MAX_FIRMWARE_IMAGE_SIZE 0x2000    // 8kbyte

#endif
#ifdef RT2870
// 8051 firmware image for usb - use last-half base address = 0x3000
#define FIRMWARE_IMAGE_BASE     0x3000
#define MAX_FIRMWARE_IMAGE_SIZE 0x1000    // 4kbyte
#endif // RT2870 //

// ================================================================
// Tx /	Rx / Mgmt ring descriptor definition
@@ -1091,6 +1136,9 @@ typedef struct _HW_WCID_ENTRY { // 8-byte per entry
#define BBP_R22                     22
#define BBP_R24                     24
#define BBP_R25                     25
#ifdef RT30xx
#define BBP_R31                     31
#endif
#define BBP_R49                     49 //TSSI
#define BBP_R50                     50
#define BBP_R51                     51
@@ -1108,6 +1156,10 @@ typedef struct _HW_WCID_ENTRY { // 8-byte per entry
#define BBP_R73                     73
#define BBP_R75						75
#define BBP_R77                     77
#ifdef RT30xx
#define BBP_R79                     79
#define BBP_R80                     80
#endif
#define BBP_R81                     81
#define BBP_R82                     82
#define BBP_R83                     83
@@ -1129,6 +1181,9 @@ typedef struct _HW_WCID_ENTRY { // 8-byte per entry
#define BBP_R121                    121
#define BBP_R122                    122
#define BBP_R123                    123
#ifdef RT30xx
#define BBP_R138                    138 // add by johnli, RF power sequence setup, ADC dynamic on/off control
#endif // RT30xx //


#define BBPR94_DEFAULT              0x06 // Add 1 value will gain 1db
@@ -1294,6 +1349,7 @@ typedef struct PACKED _TXWI_STRUC {
//
// Rx descriptor format, Rx	Ring
//
#ifdef RT2860
typedef	struct	PACKED _RXD_STRUC	{
	// Word	0
	UINT32		SDP0;
@@ -1326,6 +1382,7 @@ typedef struct PACKED _RXD_STRUC {
	UINT32		PlcpRssil:1;// To be moved
	UINT32		Rsv1:13;
}	RXD_STRUC, *PRXD_STRUC, RT28XX_RXD_STRUC, *PRT28XX_RXD_STRUC;
#endif /* RT2860 */

//
// RXWI wireless information format, in PBF. invisible in driver.
@@ -1550,7 +1607,15 @@ typedef union _EEPROM_NIC_CINFIG2_STRUC {
		USHORT		EnableWPSPBC:1;                 // WPS PBC Control bit
		USHORT		BW40MAvailForG:1;			// 0:enable, 1:disable
		USHORT		BW40MAvailForA:1;			// 0:enable, 1:disable
#ifndef RT30xx
		USHORT		Rsv2:6;                 // must be 0
#endif
#ifdef RT30xx
		USHORT		Rsv1:1;					// must be 0
		USHORT		AntDiversity:1;			// Antenna diversity
		USHORT		Rsv2:3;					// must be 0
		USHORT		DACTestBit:1;			// control if driver should patch the DAC issue
#endif
	}	field;
	USHORT			word;
}	EEPROM_NIC_CONFIG2_STRUC, *PEEPROM_NIC_CONFIG2_STRUC;
Loading