📄 zdequates.h
字号:
/****************************************************************************** COPYRIGHT (C) 2002 ZYDAS CORPORATION **** HTTP://WWW.ZYDAS.COM.TW/ ******************************************************************************/#ifndef _ZDEQUATES_H#define _ZDEQUATES_H//-------------------------------------------------------------------------// Ethernet Frame_t Sizes//-------------------------------------------------------------------------#define ETHERNET_ADDRESS_LENGTH 6#define ETHERNET_HEADER_SIZE 14#define MINIMUM_ETHERNET_PACKET_SIZE 60#define MAXIMUM_ETHERNET_PACKET_SIZE 1514#if 1//fMERGE_RX_FRAME #define MAX_WLAN_SIZE 4800 #define ZD_MAX_WLAN_SIZE 4800#else #define MAX_WLAN_SIZE 2432 #define ZD_MAX_WLAN_SIZE 1600#endif#define WLAN_HEADER 24#define CRC32_LEN 4#define IV_SIZE 4#define ICV_SIZE 4#if defined(HOST_IF_USB)#define PLCP_HEADER 5#define EXTRA_INFO_LEN 5 //8 for ZD1212#else#define PLCP_HEADER 4#define EXTRA_INFO_LEN 4#endif#define EXTEND_IV_LEN 4#define MIC_LENGTH 8#define WDS_ADD_HEADER 6#define EAPOL_TYPE 0x888e#define BCN_INTERVAL_OFFSET 8#define CAP_OFFSET 10#define SSID_OFFSET 12#define NUM_SUPPORTED_RATE 32#define BSS_INFO_NUM 64#define TUPLE_CACHE_SIZE 16#define MAX_DEFRAG_NUM 8#if defined(HOST_IF_USB) #define MAX_RX_TIMEOUT (100)#else #define MAX_RX_TIMEOUT (512*10*1000)#endif#define MAXIM2_MAX_TX_PWR_SET 0x7F#define MAXIM2_MIN_TX_PWR_SET 0x0#define RFMD_MAX_TX_PWR_SET 0xF0#define RFMD_MIN_TX_PWR_SET 0x60#define GCT_MAX_TX_PWR_SET 0x3f#define GCT_MIN_TX_PWR_SET 0x0#define AL2210_MAX_TX_PWR_SET 0xff#define AL2210_MIN_TX_PWR_SET 0x80#define MAX_TX_PWR_READING 0xf0#define MIN_TX_PWR_READING 0x30#define AL2230_MAX_TX_PWR_SET (0x7F-1)#define AL2230_MIN_TX_PWR_SET (0x00+1)#define TRACKING_NUM 20//10//for USB#define cTX_CCK 1#define cTX_OFDM 2 // 6M - 36M#define cTX_48M 3#define cTX_54M 4#define cPWR_CTRL_GUARD 4 // CR57: 4 -> 0.5 dB#define cPWR_INT_VALUE_GUARD 8 // CR31: 4 -> 1 dB; 8 -> 2 dB#define cPWR_STRONG_SIG_DROP (0x18 - cPWR_INT_VALUE_GUARD)#define cLBTEST_COUNT 1000#define cLBTEST_PATN 0x55#define cMAX_MULTI_WRITE_REG_NUM 15#define cMIN_MULTI_WRITE_REG_NUM 0#define cMAX_MULTI_RF_REG_NUM 28#define cMAX_MULTI_READ_REG_NUM 15/* Firmware Interface */#define cTX_QUEUE_LEN 4// make sure already Tx by HMAC (for UMAC System)// 1.Host->UMAC, 2.In UMAC Queue, 3.HMAC Sent#define cTX_SENT_LEN (cTX_QUEUE_LEN + 2)#define cFIRMWARE_OLD_ADDR 0xEC00#define cFIRMWARE_START_ADDR 0xEE00#define cFIRMWARE_EXT_CODE 0x1000#define cADDR_ENTRY_TABLE (cFIRMWARE_START_ADDR + 0x1D)#define cBOOTCODE_START_ADDR 0xF800#define cINT_VECT_ADDR 0xFFF5#define cEEPROM_SIZE 0x800 // 2k word (4k byte)// in word (16 bit width)#define cLOAD_CODE_LEN 0xE#define cLOAD_VECT_LEN (0x10000 - 0xFFF7)#define cEPDATA_OFFSET (cLOAD_CODE_LEN + cLOAD_VECT_LEN)#define USB_BASE_ADDR_EEPROM 0x9900#ifdef ZD1211B #define USB_BASE_ADDR_HOST 0x9F00#elif defined(ZD1211) #define USB_BASE_ADDR_HOST 0x9B00#else #error "***** You Need To Specified ZD1211 or ZD1211B *****"#endif#define BASE_ADDR_MASK_HOST (~0x00FF)#define cFIRMWARE_EEPROM_OFFSET (cBOOTCODE_START_ADDR + cEPDATA_OFFSET)//end of USB// For Rate Adaption#define FALL_RATE 0x0#define RISE_RATE 0x1#define PS_CAM 0x0#define PS_PSM 0x1#define ACC_1 0x0#define ACC_2 0x1// MAC_PA_STATE#define MAC_INI 0x0#define MAC_OPERATION 0x1#define MAC_PS_OPERATION 0x1#define MAC_PS_SLEEP 0x2// RF TYPE#define UW2451_RF 0x2#define uChip_RF 0x3#define AL2230_RF 0x4#define AL2210MPVB_RF 0x4#define AL7230B_RF 0x5 //a,b,g RF#define THETA_RF 0x6#define AL2210_RF 0x7#define MAXIM_NEW_RF 0x8#define GCT_RF 0x9#define AL2230S_RF 0xA#define RALINK_RF 0xB#define INTERSIL_RF 0xC#define RFMD_RF 0xD#define MAXIM_NEW_RF2 0xE#define PHILIPS_RF 0xF#define ELEID_SSID 0#define ELEID_SUPRATES 1#define ELEID_DSPARMS 3#define ELEID_TIM 5#define ELEID_ERP_INFO 42#define ELEID_EXT_RATES 50//-------------------------------------------------------------------------//- Miscellaneous Equates//-------------------------------------------------------------------------#ifndef FALSE#define FALSE 0#define TRUE 1#endif#define DRIVER_NULL ((u32)0xffffffff)//-------------------------------------------------------------------------// Bit Mask definitions//-------------------------------------------------------------------------#define BIT_0 0x0001#define BIT_1 0x0002#define BIT_2 0x0004#define BIT_3 0x0008#define BIT_4 0x0010#define BIT_5 0x0020#define BIT_6 0x0040#define BIT_7 0x0080#define BIT_8 0x0100#define BIT_9 0x0200#define BIT_10 0x0400#define BIT_11 0x0800#define BIT_12 0x1000#define BIT_13 0x2000#define BIT_14 0x4000#define BIT_15 0x8000#define BIT_16 0x00010000#define BIT_17 0x00020000#define BIT_18 0x00040000#define BIT_19 0x00080000#define BIT_20 0x00100000#define BIT_21 0x00200000#define BIT_22 0x00400000#define BIT_23 0x00800000#define BIT_24 0x01000000#define BIT_25 0x02000000#define BIT_26 0x04000000#define BIT_27 0x08000000#define BIT_28 0x10000000#define BIT_29 0x20000000#define BIT_30 0x40000000#define BIT_31 0x80000000#define BIT_0_1 0x0003#define BIT_0_2 0x0007#define BIT_0_3 0x000F#define BIT_0_4 0x001F#define BIT_0_5 0x003F#define BIT_0_6 0x007F#define BIT_0_7 0x00FF#define BIT_0_8 0x01FF#define BIT_0_13 0x3FFF#define BIT_0_15 0xFFFF#define BIT_1_2 0x0006#define BIT_1_3 0x000E#define BIT_2_5 0x003C#define BIT_3_4 0x0018#define BIT_4_5 0x0030#define BIT_4_6 0x0070#define BIT_4_7 0x00F0#define BIT_5_7 0x00E0#define BIT_5_9 0x03E0#define BIT_5_12 0x1FE0#define BIT_5_15 0xFFE0#define BIT_6_7 0x00c0#define BIT_7_11 0x0F80#define BIT_8_10 0x0700#define BIT_9_13 0x3E00#define BIT_12_15 0xF000#define BIT_16_20 0x001F0000#define BIT_21_25 0x03E00000#define BIT_26_27 0x0C000000#define RANDOM 0x0#define INCREMENT 0x1// Device Bus-Master (Tx) state#define TX_IDLE 0x00#define TX_READ_TBD 0x01#define TX_READ_DATA0 0x02#define TX_READ_DATA1 0x03#define TX_CHK_TBD_CNT 0x04#define TX_READ_TCB 0x05#define TX_CHK_TCB 0x06#define TX_WAIT_DATA 0x07#define TX_RETRYFAILURE 0x08#define TX_REDOWNLOAD 0x09// Device Bus-Master (Rx) state#define RX_IDLE 0x00#define RX_WAIT_DATA 0x10#define RX_DATA0 0x20#define RX_DATA1 0x30#define RX_READ_RCB 0x50#define RX_CHK_RCB 0x60#define RX_WAIT_STS 0x70#define RX_FRM_ERR 0x80#define RX_CHK_DATA 0x90#define MAX_SSID_LEN 32#define HOST_PEND BIT_31#define CAM_WRITE BIT_31#define MAC_LENGTH 6#define RX_MIC_ERROR_IND BIT_4 // Bit4 of ExtraInfo[6], its Bit3-Bit0 indicates the encryption type.#define RX_HW_MIC_ENABLE BIT_25 // The subfield of ZD_SnifferOn#define MIC_FINISH BIT_0#define RX_MIC_ERROR_IND BIT_4#define HW_MIC_ENABLE BIT_25enum Frame_Control_Bit { TO_DS = BIT_0, FROM_DS = BIT_1, MORE_FRAG = BIT_2, RETRY_BIT = BIT_3, PWR_BIT = BIT_4, MORE_DATA = BIT_5, ENCRY_BIT = BIT_6, ODER_BIT = BIT_7};#define MAX_USER 40#define MAX_KEY_LENGTH 16#define ENCRY_TYPE_START_ADDR 60#define DEFAULT_ENCRY_TYPE 65#define KEY_START_ADDR 66#define STA_KEY_START_ADDR 386#define COUNTER_START_ADDR 418#define STA_COUNTER_START_ADDR 423#define EXTENDED_IV BIT_5#define QoS_DATA BIT_7#define TO_DS_FROM_DS BIT_0_1#define AP_MODE BIT_24#define IBSS_MODE BIT_25#define POWER_MNT BIT_26#define STA_PS BIT_27#define NON_ERP_PRESENT_BIT BIT_0#define USE_PROTECTION_BIT BIT_1#define BARKER_PREAMBLE_BIT BIT_2#define HOST_BIG_ENDIAN BIT_0#define MEMBER_ZD1202 BIT_0#define MEMBER_OTHERS BIT_1#define BEACON_TIME 1#define REG_MAX_WAIT 500//for UART support/* * These are the definitions for the Line Control Register */#define UART_LCR_SBC BIT_6 /* Set break control */#define UART_LCR_DLAB BIT_7 /* Divisor latch access bit *//* * These are the definitions for the Line Status Register */#define UART_LSR_DR BIT_0 /* Receiver data ready */#define UART_LSR_OE BIT_1 /* Overrun error indicator */#define UART_LSR_BI BIT_4 /* Break interrupt indicator */#define UART_LSR_THRE BIT_5 /* Transmit-hold-register empty */#define UART_LSR_TEMT BIT_6 /* Transmitter empty *//* * These are the definitions for the Interrupt Identification Register */#define UART_IIR_ID_MASK 0x0E /* Mask for the interrupt ID */#define UART_IIR_MSI 0x00 /* Modem status interrupt */#define UART_IIR_NO_INT BIT_0 /* No interrupts pending */#define UART_IIR_THRI BIT_1 /* Transmitter holding register empty */#define UART_IIR_RDI BIT_2 /* Receiver data interrupt */#define UART_IIR_RLSI 0x06 /* Receiver line status interrupt */#define UART_IIR_RX_TIMEOUT 0x0C /* Rx timeout interrupt *//* * These are the definitions for the Interrupt Enable Register */#define UART_IER_RDI BIT_0 /* Enable receiver data interrupt */#define UART_IER_THRI BIT_1 /* Enable Transmitter holding register int. */#define UART_IER_RLSI BIT_2 /* Enable receiver line status interrupt */#define UART_IER_MSI BIT_3 /* Enable Modem status interrupt *//* * These are the definitions for the Modem Control Register */#define UART_MCR_DTR BIT_0 /* DTR complement */#define UART_MCR_RTS BIT_1 /* RTS complement */#define UART_MCR_TAFC BIT_5 /* Tx auto flow control */#define UART_MCR_RAFC BIT_6 /* Rx auot flow control *//* * These are the definitions for the Modem Status Register */#define UART_MSR_DCTS BIT_0 /* Delta CTS */#define UART_MSR_DDCD BIT_3 /* Delta DCD */#define UART_MSR_CTS BIT_4 /* Clear to Send */#define UART_MSR_DCD BIT_7 /* Data Carrier Detect */#define UART_MSR_ANY_DELTA 0x09 /* Any of the delta bits! *//* * These are the definitions for the FIFO Control Register * */#define UART_FCR_CLEAR_RCVR BIT_1 /* Clear the RCVR FIFO */#define UART_FCR_CLEAR_XMIT BIT_2 /* Clear the XMIT FIFO */#define UART_FCR_TX_TRIGGER_1 0x00 /* Mask for tx trigger set at 1 */#define UART_FCR_TX_TRIGGER_2 0x10 /* Mask for tx trigger set at 2 */#define UART_FCR_TX_TRIGGER_4 0x20 /* Mask for tx trigger set at 4 */#define UART_FCR_TX_TRIGGER_8 0x30 /* Mask for tx trigger set at 8 */#define UART_FCR_RX_TRIGGER_1 0x00 /* Mask for rx trigger set at 1 */#define UART_FCR_RX_TRIGGER_4 0x40 /* Mask for rx trigger set at 4 */#define UART_FCR_RX_TRIGGER_8 0x80 /* Mask for rx trigger set at 8 */#define UART_FCR_RX_TRIGGER_14 0xC0 /* Mask for rx trigger set at 14 *///Extra Control register#define UART_ECR_BREAK_LEN_11_BAUD 0x00 /* Break length 11 baud clocks */#define UART_ECR_BREAK_LEN_12_BAUD 0x01 /* Break length 12 baud clocks */#define UART_ECR_BREAK_LEN_23_BAUD 0x02 /* Break length 23 baud clocks */#define UART_ECR_BREAK_LEN_25_BAUD 0x03 /* Break length 25 baud clocks */#define UART_ECR_BREAK_DETECTION BIT_2 /* Break detection */#define UART_ECR_BREAK_ENABLE BIT_3 /* Break enable */#define UART_ECR_RX_TOUT_10_BAUD 0x00 /* Rx fifo timeout 10 baud cloacks */#define UART_ECR_RX_TOUT_20_BAUD 0x10 /* Rx fifo timeout 20 baud cloacks */#define UART_ECR_RX_TOUT_40_BAUD 0x20 /* Rx fifo timeout 40 baud cloacks */#define UART_ECR_RX_TOUT_80_BAUD 0x30 /* Rx fifo timeout 80 baud cloacks */#define UART_ECR_ENABLE BIT_7 /* UART enable *///Baud rate definition#define BAUD_RATE_2400 0xBF#define BAUD_RATE_4800 0x5F#define BAUD_RATE_9600 0x2F#define BAUD_RATE_19200 0x17#define BAUD_RATE_38400 0x0B#define BAUD_RATE_57600 0x07#define BAUD_RATE_115200 0x03#define BAUD_RATE_230400 0x01#define BAUD_RATE_460800 0x00// for EEPROM support#define EEPROM_BASE_ADDRESS 0x900#define EEPROM_WRITE_ACCESS BIT_15#define EEPROM_BUSY_FLAG BIT_15#define EEPROM_ACCESS_WRITE 0x01#define EEPROM_ACCESS_READ 0x00#define mBIT(b) (1 << (b))#define mMASK(w) (mBIT(w) - 1)#define mSET_MASK(a, b) ((a) | (b))#define mCLR_MASK(a, b) ((a) & (~(b)))#define mSET_BIT(a, b) mSET_MASK(a, mBIT(b))#define mCLR_BIT(a, b) mCLR_MASK(a, mBIT(b))#define mCHK_BIT1(a, b) ((a) & mBIT(b))#define mTEST_BIT(a, b) mCHK_BIT1(a, b)#endif // _EQUATES_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -