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

📄 maui_cal.h

📁 atheros ar5001 5002 driver
💻 H
📖 第 1 页 / 共 2 页
字号:
/* maui_cal.h - Maui calibration header definitions */

/* Copyright (c) 2000 Atheros Communications, Inc., All Rights Reserved */

#ifndef __INCmauicalh
#define __INCmauicalh
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

/* === Macro Definitions === */
#define WARNINGS_ON 0

// defines

#define MAX_RATES		8

#define INVALID_INDEX	9999

// unique EEPROM header maps defines
#define EEPROM_SIZE_16K  1

#define EEPROM_MAJOR_VERSION ART_VERSION_MAJOR
#define EEPROM_MINOR_VERSION ART_VERSION_MINOR

#define SENS11A_48 (-69)
#define SENS11A_54 (-68)

// Cardtypes as denoted by subsystem id value
#define ATHEROS_CB10 0x1010 // NOT SUPPORTED
#define ATHEROS_CB11 0x1011 // NOT SUPPORTED
#define ATHEROS_MB10 0x2010 // NOT SUPPORTED

#define ATHEROS_CB20 0x1020	 
#define ATHEROS_CB21 0x1021
#define ATHEROS_CB22 0x1022
#define ATHEROS_MB20 0x2020  // NOT SUPPORTED
#define ATHEROS_MB21 0x2021  // NOT SUPPORTED
#define ATHEROS_MB22 0x2022
#define ATHEROS_MB23 0x2023

#define ATHEROS_CB21G 0x1025
#define ATHEROS_CB22G 0x1026
#define ATHEROS_MB21G 0x2025
#define ATHEROS_MB22G 0x2026

#define ATHEROS_MB31G_DESTUFF     0x2030     
#define ATHEROS_MB32AG            0x2031     
#define ATHEROS_MB22G_DESTUFF     0x2027     
#define ATHEROS_MB22AG_SINGLE     0x2029     
#define ATHEROS_MB23_JAPAN        0x2024     
#define ATHEROS_CB31G_DESTUFF     0x1030     
#define ATHEROS_CB32AG            0x1031     
#define ATHEROS_CB22G_DESTUFF     0x1027     
#define ATHEROS_CB22AG_SINGLE     0x1029     
#define ATHEROS_AP30              0xa032     
#define ATHEROS_AP30_040          0xa034


#define ATHEROS_AP21 0xa021


#define devID_CB20   0x0011 
#define devID_CB21   0x0012
#define devID_CB22   0x0012
#define devID_AP21   0x0011
#define devID_MB22   0x0012
#define devID_MB23   0x0012

#define MODE_11g	   0
#define MODE_11b	   1
#define MODE_11a	   2

#define BASE			0

// Setup files
#define CALSETUP_FILE "calsetup.txt"
#define MACID_FILE    "macid.txt"
#define EEP_FILE      "atheros-eep.txt"

//EEPROM related parameters
#define NUM_BAND_EDGES					8
#define	NUM_TARGET_POWER_CHANNELS		8
#define	NUM_TARGET_POWER_CHANNELS_11b	2
#define	NUM_TARGET_POWER_CHANNELS_11g	3
#define	NUM_PIERS						10
#define	NUM_PIERS_2p4					3
#define NUM_TEST_CHANNELS				32  // max # of test channels

#define NUM_CORNER_FIX_CHANNELS 4

#define CAL_FORMAT_GEN2			0
#define CAL_FORMAT_GEN3			1

#define SWAP_BYTES16(x) ((((x) >> 8) & 0xFF) | (((x) << 8) & 0xFF00))

#define INVALID_FG   10

#define NUM_VERIFY_DATA_PATTERNS  8
#define LEN_VERIFY_DATA_PATTERNS  8
//#define VERIFY_DATA_PACKET_LEN    3000

typedef struct golenParams_t {
	A_UINT16 channelStart;
	A_UINT16 channelStop;
	A_UINT16 channelStep;

	A_UINT16 measurementStep;

	A_UINT16 pcdacStart;
	A_UINT16 pcdacStop;
	A_UINT16 pcdacStep;

	A_UINT16 numIntercepts;
#ifdef LINUX
	A_UINT16 pInterceptPercentages[11];
#else
	A_UINT16 pInterceptPercentages[11];
#endif

} GOLDEN_PARAMS ;
	
typedef struct calSetup_t {

	// keep all values 32-bit as needed by sscanf
	A_UINT32 benchId;
	A_BOOL   useInstruments;
    A_UINT32 subsystemID;
	A_UINT32 dutPromSize;
    A_UINT32 subVendorID;
	A_UINT32 countryOrDomain;
	A_UINT32 worldWideRoaming;
	A_UINT32 countryOrDomainCode;
    A_BOOL   calPower;
	A_BOOL	 useFastCal;   // power meter or golden unit
	A_BOOL   reprogramTargetPwr;
	A_BOOL   testOBW;
    A_BOOL   testSpecMask;
    A_BOOL   testTXPER;
    A_BOOL   testRXSEN;
	A_BOOL	 testTURBO;
	A_BOOL	 testHALFRATE;  // 10 MHz bandwidth
	A_BOOL	 testTargetPowerControl[3]; // a/b/g mode
	double   targetPowerToleranceUpper;
	double   targetPowerToleranceLower;

    A_INT32  goldenPPM;
	A_UINT32 goldenPCDAC;
    double   goldenTXPower;
	A_UINT32 goldenPCDAC_2p4[2];
    double   goldenTXPower_2p4[2];
	A_UINT32 pmModel;
	A_UINT32 pmGPIBaddr;
	A_UINT32 saGPIBaddr;
	A_UINT32 attGPIBaddr;
    double   attenDutPM;
    double   attenDutSA;
    double   attenDutGolden;

    double   attenDutPM_2p4[2];
    double   attenDutSA_2p4[2];
    double   attenDutGolden_2p4[2];

	A_UINT32 numEthernetPorts;   // Number of Ethernet ports. Valid Only for APs
	A_UINT32 startEthernetPort;  // Begining ethernet port: AP38 has enet1 enabled but enet0 disabled

// Common parameters
	A_UINT32 turboDisable;
	A_UINT32 turboDisable_11g;
    A_UINT32 RFSilent;

	A_UINT32 deviceType;

	double TurboMaxPower_5G; 
	double TurboMaxPower_11g;
	A_UINT32 Amode;
	A_UINT32 Bmode;
	A_UINT32 Gmode;

	A_INT32 antennaGain5G;    // 8-bit signed value. 0.5 dB steps
	A_INT32 antennaGain2p5G;  // 8-bit signed value. 0.5 dB steps

// 11a parameters (5GHz)
    A_UINT32 switchSettling;
    A_UINT32 txrxAtten;
    A_UINT32 ob_1;
    A_UINT32 db_1;
    A_UINT32 ob_2;
    A_UINT32 db_2;
    A_UINT32 ob_3;
    A_UINT32 db_3;
    A_UINT32 ob_4;
    A_UINT32 db_4;
    A_UINT32 txEndToXLNAOn;
    A_UINT32 thresh62;           
    A_UINT32 txEndToXPAOff;  
    A_UINT32 txFrameToXPAOn; 
	A_UINT32 xpd; 
	A_UINT32 xgain; 
	A_UINT32 xlnaGain;
	A_INT32	 noisefloor_thresh;
	A_INT32  adcDesiredSize; // 8-bit signed value. 0.5 dB steps
	A_INT32  pgaDesiredSize; // 8-bit signed value. 0.5 dB steps
	A_UINT32 antennaControl[11];
	A_UINT32 fixed_bias[3]; 
	A_BOOL   do_iq_cal;
	A_UINT32 iqcal_i_corr[3];
	A_UINT32 iqcal_q_corr[3];

// 2.4 GHz parameters 
    A_UINT32 switchSettling_2p4[2];
    A_UINT32 txrxAtten_2p4[2];
    A_UINT32 ob_2p4[2];
    A_UINT32 db_2p4[2];
    A_UINT32 b_ob_2p4[2];
    A_UINT32 b_db_2p4[2];
    A_UINT32 txEndToXLNAOn_2p4[2];
    A_UINT32 thresh62_2p4[2];           
    A_UINT32 txEndToXPAOff_2p4[2];  
    A_UINT32 txFrameToXPAOn_2p4[2]; 
	A_UINT32 xpd_2p4[2]; 
	A_UINT32 xgain_2p4[2]; 
	A_UINT32 xlnaGain_2p4[2];
	A_INT32 noisefloor_thresh_2p4[2];
	A_INT32 adcDesiredSize_2p4[2]; // 8-bit signed value
	A_INT32 pgaDesiredSize_2p4[2]; // 8-bit signed value
	A_UINT32 antennaControl_2p4[2][11];

	A_BOOL   readFromFile; //flag to decide whether to read from file or make fresh measurements
	char     rawDataFilename[122]; // filename to read data from
	A_BOOL   customerDebug;
	A_BOOL   showTimingReport;

	char     macidFile[122]; // filename to read the macIDs from

	A_BOOL   forcePiers ;
	A_UINT16 piersList[15];
	A_UINT32 numForcedPiers;

	A_BOOL   forcePiers_2p4[2] ;
	A_UINT16 piersList_2p4[2][15];
	A_UINT32 numForcedPiers_2p4[2];

	A_BOOL   useOneCal; // use 11g cal for 11b as well

	char     tgtPwrFilename[122];

	A_BOOL   readFromFile_2p4[2]; // 0 -> OFDM @ 2.4, 1 -> 11b
	char	 rawDataFilename_2p4[2][122];
    A_BOOL   testSpecMask_2p4[2];
    A_BOOL   testTXPER_2p4[2];
    A_BOOL   testRXSEN_2p4[2];
	A_BOOL   testTURBO_2p4[2];
	A_BOOL	 testTempMargin[3];
	A_BOOL	 test32KHzSleepCrystal;

	A_BOOL	 testDataIntegrity[3];

	A_INT32  targetSensitivity[3][NUM_TEST_CHANNELS];

	char		goldenIPAddr[132];
	A_UINT32	caseTemperature;
	A_UINT32	falseDetectBackoff[3];

	A_UINT32  perPassLimit;
	A_UINT32  senPassLimit;
	A_INT32   ppmMaxLimit;
	A_INT32   ppmMinLimit;
	A_UINT32  maskFailLimit;

	double	 maxPowerCap[3];
	double   cck_ofdm_delta;
	double   ch14_filter_cck_delta;

	A_UINT32 maxRetestIters;
	A_UINT32 cal_fixed_gain[3];

	A_UINT32 eeprom_map;  // 0 for legacy 2nd gen cal format, 1 for 3rd gen cal format

⌨️ 快捷键说明

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