⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zd1205.h

📁 zd1211b芯片的无线网卡的驱动,移植到s3c2410平台
💻 H
📖 第 1 页 / 共 3 页
字号:
#ifndef _ZD1205_H_
#define _ZD1205_H_

#include <linux/module.h>
#include <linux/types.h>
#include <linux/init.h>
#include <linux/mm.h>
#include <linux/errno.h>
#include <linux/ioport.h>
#include <linux/pci.h>

#ifdef HOST_IF_USB
	#include <linux/usb.h>	
#endif

#include <linux/kernel.h>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/skbuff.h>
#include <linux/delay.h>
#include <linux/timer.h>
#include <linux/slab.h>
#include <linux/interrupt.h>
#include <linux/version.h>
#include <linux/string.h>
#include <linux/wait.h>
#include <linux/reboot.h>
#include <asm/io.h>
#include <asm/unaligned.h>
#include <asm/processor.h>
#include <linux/ethtool.h>
#include <linux/inetdevice.h>
#include <linux/bitops.h>
#include <linux/if.h>
#include <asm/uaccess.h>
#include <linux/proc_fs.h>
#include <linux/ip.h>
#include <linux/wireless.h>
#include <linux/if_arp.h>
#include <linux/unistd.h>
#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0))
	#include <linux/workqueue.h>
#endif

#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0))
    #include <asm/div64.h>
#endif  

#include "zdcompat.h"
#include "zdequates.h"
#include "zdapi.h"
#include "zydas_common.h"

#ifdef HOST_IF_USB
#define fANT_DIVERSITY          0
#define fTX_PWR_CTRL            1
#define fZD1211_LOOPBACK        1
#define fDUMP_LOOPBACK_DATA     (0 && fZD1211_LOOPBACK)
#define fLOAD_BOOTCODE          1
#define fPROG_FLASH             (1 && fWRITE_WORD_REG)
#define fPROG_FLASH_BY_FW       (1 && fPROG_FLASH)
#define fDRV_WRITE_RF_REG       (1 && fWRITE_WORD_REG)
#define fMERGE_RX_FRAME         (ENHANCE_RX && fDRV_WRITE_RF_REG)
#define fDRV_UPDATE_EEP         (1 && fWRITE_WORD_REG)
//#define fQuickPhySet			0 //(fREAD_MUL_REG && fWRITE_WORD_REG)
#endif
enum zd1205_device_type {
	ZD_1202 = 1,
	ZD_1205,
};


#define	ASOC_RSP				0x10 
#define REASOC_RSP 				0x30
#define PROBE_RSP 				0x50 
#define DISASOC 				0xA0 
#define AUTH 					0xB0 
#define DEAUTH 					0xC0 
#define DATA 					0x08 
#define PS_POLL					0xA4
#define MANAGEMENT				0x00
#define PROBE_REQ				0x40
#define BEACON					0x80
#define ACK					0xD4
#define CONTROL					0x04
#define NULL_FUNCTION				0x48
#define LB_DATA					0x88

#define VLAN_SIZE   	4
#define CHKSUM_SIZE 	2

#define false		(0)
#define true		(1)



/**************************************************************************
**		Register Offset Definitions
***************************************************************************
*/

#define		ZD1205_CR0			0x0000
#define		ZD1205_CR1			0x0004
#define		ZD1205_CR2			0x0008
#define		ZD1205_CR3			0x000C
#define		ZD1205_CR5			0x0010
#define		ZD1205_CR6			0x0014
#define		ZD1205_CR7			0x0018
#define		ZD1205_CR8			0x001C
#define		ZD1205_CR4			0x0020
#define		ZD1205_CR9			0x0024
#define		ZD1205_CR10			0x0028
#define		ZD1205_CR11			0x002C
#define		ZD1205_CR12			0x0030
#define		ZD1205_CR13			0x0034
#define		ZD1205_CR14			0x0038
#define		ZD1205_CR15			0x003C
#define		ZD1205_CR16			0x0040
#define		ZD1205_CR17			0x0044
#define		ZD1205_CR18			0x0048
#define		ZD1205_CR19			0x004C
#define		ZD1205_CR20			0x0050
#define		ZD1205_CR21			0x0054
#define		ZD1205_CR22			0x0058
#define		ZD1205_CR23			0x005C



#define		ZD1205_CR24			0x0060
#define		ZD1205_CR25			0x0064
#define		ZD1205_CR26			0x0068
#define		ZD1205_CR27			0x006C
#define		ZD1205_CR28			0x0070
#define		ZD1205_CR29			0x0074
#define		ZD1205_CR30			0x0078
#define		ZD1205_CR31			0x007C
#define		ZD1205_CR32			0x0080
#define		ZD1205_CR33			0x0084
#define		ZD1205_CR34			0x0088
#define		ZD1205_CR35			0x008C
#define		ZD1205_CR36			0x0090
#define		ZD1205_CR37			0x0094
#define		ZD1205_CR38			0x0098
#define		ZD1205_CR39			0x009C
#define		ZD1205_CR40			0x00A0
#define		ZD1205_CR41			0x00A4
#define		ZD1205_CR42			0x00A8
#define		ZD1205_CR43			0x00AC
#define		ZD1205_CR44			0x00B0
#define		ZD1205_CR45			0x00B4
#define		ZD1205_CR46			0x00B8
#define		ZD1205_CR47			0x00BC
#define		ZD1205_CR48			0x00C0
#define		ZD1205_CR49			0x00C4

#define		ZD1205_CR50			0x00C8
#define		ZD1205_CR51			0x00CC
#define		ZD1205_CR52			0x00D0
#define		ZD1205_CR53			0x00D4
#define		ZD1205_CR54			0x00D8
#define		ZD1205_CR55			0x00DC
#define		ZD1205_CR56			0x00E0
#define		ZD1205_CR57			0x00E4
#define		ZD1205_CR58			0x00E8
#define		ZD1205_CR59			0x00EC
#define		ZD1205_CR60			0x00F0
#define		ZD1205_CR61			0x00F4
#define		ZD1205_CR62			0x00F8
#define		ZD1205_CR63			0x00FC
#define		ZD1205_CR64			0x0100
#define		ZD1205_CR65			0x0104
#define		ZD1205_CR66			0x0108
#define		ZD1205_CR67			0x010C
#define		ZD1205_CR68			0x0110
#define		ZD1205_CR69			0x0114
#define		ZD1205_CR70			0x0118
#define		ZD1205_CR71			0x011C
#define		ZD1205_CR72			0x0120
#define		ZD1205_CR73			0x0124
#define		ZD1205_CR74			0x0128
#define		ZD1205_CR75			0x012C
#define		ZD1205_CR76			0x0130
#define		ZD1205_CR77			0x0134
#define		ZD1205_CR78			0x0138
#define		ZD1205_CR79			0x013C
#define		ZD1205_CR80			0x0140
#define		ZD1205_CR81			0x0144
#define		ZD1205_CR82			0x0148
#define		ZD1205_CR83			0x014C
#define		ZD1205_CR84			0x0150
#define		ZD1205_CR85			0x0154
#define		ZD1205_CR86			0x0158
#define		ZD1205_CR87			0x015C
#define		ZD1205_CR88			0x0160
#define		ZD1205_CR89			0x0164

#define		ZD1205_CR90			0x0168
#define		ZD1205_CR91			0x016C
#define		ZD1205_CR92			0x0170
#define		ZD1205_CR93			0x0174
#define		ZD1205_CR94			0x0178
#define		ZD1205_CR95			0x017C
#define		ZD1205_CR96			0x0180
#define		ZD1205_CR97			0x0184
#define		ZD1205_CR98			0x0188
#define		ZD1205_CR99			0x018C
#define		ZD1205_CR100			0x0190
#define		ZD1205_CR101			0x0194
#define		ZD1205_CR102			0x0198
#define		ZD1205_CR103			0x019C
#define		ZD1205_CR104			0x01A0
#define		ZD1205_CR105			0x01A4
#define		ZD1205_CR106			0x01A8
#define		ZD1205_CR107			0x01AC
#define		ZD1205_CR108			0x01B0
#define		ZD1205_CR109			0x01B4
#define		ZD1205_CR110			0x01B8
#define		ZD1205_CR111			0x01BC
#define		ZD1205_CR112			0x01C0
#define		ZD1205_CR113			0x01C4
#define		ZD1205_CR114			0x01C8
#define		ZD1205_CR115			0x01CC
#define		ZD1205_CR116			0x01D0
#define		ZD1205_CR117			0x01D4
#define		ZD1205_CR118			0x01D8
#define		ZD1205_CR119			0x01EC
#define		ZD1205_CR120			0x01E0
#define		ZD1205_CR121			0x01E4
#define		ZD1205_CR122			0x01E8
#define		ZD1205_CR123			0x01EC
#define		ZD1205_CR124			0x01F0
#define		ZD1205_CR125			0x01F4
#define		ZD1205_CR126			0x01F8
#define		ZD1205_CR127			0x01FC
#define		ZD1205_CR128			0x0200
#define		ZD1205_CR129			0x0204
#define		ZD1205_CR130			0x0208
#define		ZD1205_CR131			0x020C
#define		ZD1205_CR132			0x0210
#define		ZD1205_CR133			0x0214
#define		ZD1205_CR134			0x0218
#define		ZD1205_CR135			0x021C
#define		ZD1205_CR136			0x0220
#define		ZD1205_CR137			0x0224
#define		ZD1205_CR138			0x0228
#define		ZD1205_CR139			0x022C
#define		ZD1205_CR140			0x0230
#define		ZD1205_CR141			0x0234
#define		ZD1205_CR142			0x0238
#define		ZD1205_CR143			0x023C
#define		ZD1205_CR144			0x0240
#define		ZD1205_CR145			0x0244
#define		ZD1205_CR146			0x0248
#define		ZD1205_CR147			0x024C
#define		ZD1205_CR148			0x0250
#define		ZD1205_CR149			0x0254
#define		ZD1205_CR150			0x0258
#define		ZD1205_CR151			0x025C
#define		ZD1205_CR152			0x0260
#define		ZD1205_CR153			0x0264
#define		ZD1205_CR154			0x0268
#define		ZD1205_CR155			0x026C
#define		ZD1205_CR156			0x0270
#define		ZD1205_CR157			0x0274
#define		ZD1205_CR158			0x0278
#define		ZD1205_CR159			0x027C
#define		ZD1205_CR160			0x0280
#define		ZD1205_CR161			0x0284
#define		ZD1205_CR162			0x0288
#define		ZD1205_CR163			0x028C
#define		ZD1205_CR164			0x0290
#define		ZD1205_CR165			0x0294



#define		ZD1205_CR166			0x0298
#define		ZD1205_CR167			0x029C
#define		ZD1205_CR168			0x02A0
#define		ZD1205_CR169			0x02A4
#define		ZD1205_CR170			0x02A8
#define		ZD1205_CR171			0x02AC
#define		ZD1205_CR172			0x02B0
#define		ZD1205_CR173			0x02B4
#define		ZD1205_CR174			0x02B8
#define		ZD1205_CR175			0x02BC
#define		ZD1205_CR176			0x02C0
#define		ZD1205_CR177			0x02C4
#define		ZD1205_CR178			0x02C8
#define		ZD1205_CR179			0x02CC
#define		ZD1205_CR180			0x02D0
#define		ZD1205_CR181			0x02D4
#define		ZD1205_CR182			0x02D8
#define		ZD1205_CR183			0x02DC
#define		ZD1205_CR184			0x02E0
#define		ZD1205_CR185			0x02E4
#define		ZD1205_CR186			0x02E8
#define		ZD1205_CR187			0x02EC
#define		ZD1205_CR188			0x02F0
#define		ZD1205_CR189			0x02F4
#define		ZD1205_CR190			0x02F8
#define		ZD1205_CR191			0x02FC
#define		ZD1205_CR192			0x0300
#define		ZD1205_CR193			0x0304
#define		ZD1205_CR194			0x0308
#define		ZD1205_CR195			0x030C
#define		ZD1205_CR196			0x0310
#define		ZD1205_CR197			0x0314
#define		ZD1205_CR198			0x0318
#define		ZD1205_CR199			0x031C
#define		ZD1205_CR200			0x0320
#define		ZD1205_CR201			0x0324
#define		ZD1205_CR202			0x0328
#define		ZD1205_CR203			0x032C
#define		ZD1205_CR204			0x0330
#define		ZD1205_CR205			0x0334
#define		ZD1205_CR206			0x0338
#define		ZD1205_CR207			0x033C
#define		ZD1205_CR208			0x0340
#define		ZD1205_CR209			0x0344
#define		ZD1205_CR210			0x0348
#define		ZD1205_CR211			0x034C
#define		ZD1205_CR212			0x0350
#define		ZD1205_CR213			0x0354
#define		ZD1205_CR214			0x0358
#define		ZD1205_CR215			0x035C
#define		ZD1205_CR216			0x0360
#define		ZD1205_CR217			0x0364
#define		ZD1205_CR218			0x0368
#define		ZD1205_CR219			0x036C
#define		ZD1205_CR220			0x0370
#define		ZD1205_CR221			0x0374

#define		ZD1205_CR222			0x0378
#define		ZD1205_CR223			0x037C
#define		ZD1205_CR224			0x0380
#define		ZD1205_CR225			0x0384
#define		ZD1205_CR226			0x0388
#define		ZD1205_CR227			0x038C
#define		ZD1205_CR228			0x0390
#define		ZD1205_CR229			0x0394
#define		ZD1205_CR230			0x0398
#define		ZD1205_CR231			0x039C

#define		ZD1205_CR232			0x03A0
#define		ZD1205_CR233			0x03A4
#define		ZD1205_CR234			0x03A8
#define		ZD1205_CR235			0x03AC
#define		ZD1205_CR236			0x03B0

#define		ZD1205_CR240			0x03C0
#define		ZD1205_CR241			0x03C4
#define		ZD1205_CR242			0x03C8
#define		ZD1205_CR243			0x03CC
#define		ZD1205_CR244			0x03D0
#define		ZD1205_CR245			0x03D4

#define		ZD1205_CR251			0x03EC
#define		ZD1205_CR252			0x03F0
#define		ZD1205_CR253			0x03F4
#define		ZD1205_CR254			0x03F8
#define		ZD1205_CR255			0x03FC


#define		ZD1205_PHY_END		0x03fc
#define		RF_IF_CLK		0x0400
#define		RF_IF_DATA		0x0404
#define		PE1_PE2			0x0408
#define		PE2_DLY			0x040C
#define		LE1			0x0410
#define		LE2			0x0414
#define		GPI_EN			0x0418
#define		RADIO_PD		0x042C
#define		RF2948_PD		0x042C

#ifndef HOST_IF_USB
	#define		LED1		0x0430
	#define		LED2		0x0434
#else
	#define     rLED_CTRL           0x0644
	#define     LED2                BIT_8   // Note: this is really LED1
	#define     LED1                BIT_9   // Note: this is really LED2
#endif


#define		EnablePSManualAGC	0x043C	// 1: enable
#define		CONFIGPhilips		0x0440
#define		SA2400_SER_AP		0x0444
#define		I2C_WRITE		0x0444	// Same as SA2400_SER_AP (for compatible with ZD1201)
#define		SA2400_SER_RP		0x0448

#define		RADIO_PE		0x0458
#define		RstBusMaster		0x045C

#define		RFCFG			0x0464

#define		HSTSCHG			0x046C

#define		PHY_ON			0x0474
#define		RX_DELAY		0x0478
#define		RX_PE_DELAY		0x047C


#define		GPIO_1			0x0490
#define		GPIO_2			0x0494


#define		EncryBufMux		0x04A8


#define		PS_Ctrl			0x0500

#define		ADDA_MBIAS_WarmTime	0x0508

#define		InterruptCtrl		0x0510
#define		TSF_LowPart		0x0514
#define		TSF_HighPart		0x0518
#define		ATIMWndPeriod		0x051C
#define		BCNInterval		0x0520
#define		Pre_TBTT		0x0524	//In unit of TU(1024us)

#define		PCI_TxAddr_p1		0x0600
#define		PCI_TxAddr_p2		0x0604
#define		PCI_RxAddr_p1		0x0608
#define		PCI_RxAddr_p2		0x060C
#define		MACAddr_P1		0x0610
#define		MACAddr_P2		0x0614
#define		BSSID_P1		0x0618
#define		BSSID_P2		0x061C
#define		BCNPLCPCfg		0x0620
#define		GroupHash_P1		0x0624
#define		GroupHash_P2		0x0628
#define		WEPTxIV			0x062C

#define		BasicRateTbl		0x0630
#define		MandatoryRateTbl	0x0634
#define		RTS_CTS_Rate		0x0638

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -