FreeBSD kernel ATH device code
ah_eeprom_v3.h
Go to the documentation of this file.
1/*-
2 * SPDX-License-Identifier: ISC
3 *
4 * Copyright (c) 2002-2008 Sam Leffler, Errno Consulting
5 * Copyright (c) 2002-2008 Atheros Communications, Inc.
6 *
7 * Permission to use, copy, modify, and/or distribute this software for any
8 * purpose with or without fee is hereby granted, provided that the above
9 * copyright notice and this permission notice appear in all copies.
10 *
11 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
12 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
13 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
14 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
15 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
16 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
17 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18 *
19 * $FreeBSD$
20 */
21#ifndef _ATH_AH_EEPROM_V3_H_
22#define _ATH_AH_EEPROM_V3_H_
23
24#include "ah_eeprom.h"
25
26/* EEPROM defines for Version 2 & 3 AR5211 chips */
27#define AR_EEPROM_RFSILENT 0x0f /* RF Silent/Clock Run Enable */
28#define AR_EEPROM_MAC(i) (0x1d+(i)) /* MAC address word */
29#define AR_EEPROM_MAGIC 0x3d /* magic number */
30#define AR_EEPROM_PROTECT 0x3f /* EEPROM protect bits */
31#define AR_EEPROM_PROTECT_PCIE 0x01 /* EEPROM protect bits for Condor/Swan*/
32#define AR_EEPROM_REG_DOMAIN 0xbf /* current regulatory domain */
33#define AR_EEPROM_ATHEROS_BASE 0xc0 /* Base of Atheros-specific data */
34#define AR_EEPROM_ATHEROS(i) (AR_EEPROM_ATHEROS_BASE+(i))
35#define AR_EEPROM_ATHEROS_MAX (0x400-AR_EEPROM_ATHEROS_BASE)
36#define AR_EEPROM_VERSION AR_EEPROM_ATHEROS(1)
37
38/* FLASH(EEPROM) Defines for AR531X chips */
39#define AR_EEPROM_SIZE_LOWER 0x1b /* size info -- lower */
40#define AR_EEPROM_SIZE_UPPER 0x1c /* size info -- upper */
41#define AR_EEPROM_SIZE_UPPER_MASK 0xfff0
42#define AR_EEPROM_SIZE_UPPER_SHIFT 4
43#define AR_EEPROM_SIZE_ENDLOC_SHIFT 12
44#define AR_EEPROM_ATHEROS_MAX_LOC 0x400
45#define AR_EEPROM_ATHEROS_MAX_OFF (AR_EEPROM_ATHEROS_MAX_LOC-AR_EEPROM_ATHEROS_BASE)
46
47/* regulatory capabilities offsets */
48#define AR_EEPROM_REG_CAPABILITIES_OFFSET 0xCA
49#define AR_EEPROM_REG_CAPABILITIES_OFFSET_PRE4_0 0xCF /* prior to 4.0 */
50
51/* regulatory capabilities */
52#define AR_EEPROM_EEREGCAP_EN_FCC_MIDBAND 0x0040
53#define AR_EEPROM_EEREGCAP_EN_KK_U1_EVEN 0x0080
54#define AR_EEPROM_EEREGCAP_EN_KK_U2 0x0100
55#define AR_EEPROM_EEREGCAP_EN_KK_MIDBAND 0x0200
56#define AR_EEPROM_EEREGCAP_EN_KK_U1_ODD 0x0400
57#define AR_EEPROM_EEREGCAP_EN_KK_NEW_11A 0x0800
58
59/* regulatory capabilities prior to eeprom version 4.0 */
60#define AR_EEPROM_EEREGCAP_EN_KK_U1_ODD_PRE4_0 0x4000
61#define AR_EEPROM_EEREGCAP_EN_KK_NEW_11A_PRE4_0 0x8000
62
63/*
64 * AR2413 (includes AR5413)
65 */
66#define AR_EEPROM_SERIAL_NUM_OFFSET 0xB0 /* EEPROM serial number */
67#define AR_EEPROM_SERIAL_NUM_SIZE 12 /* EEPROM serial number size */
68#define AR_EEPROM_CAPABILITIES_OFFSET 0xC9 /* EEPROM Location of capabilities */
69
70#define AR_EEPROM_EEPCAP_COMPRESS_DIS 0x0001
71#define AR_EEPROM_EEPCAP_AES_DIS 0x0002
72#define AR_EEPROM_EEPCAP_FASTFRAME_DIS 0x0004
73#define AR_EEPROM_EEPCAP_BURST_DIS 0x0008
74#define AR_EEPROM_EEPCAP_MAXQCU 0x01F0
75#define AR_EEPROM_EEPCAP_MAXQCU_S 4
76#define AR_EEPROM_EEPCAP_HEAVY_CLIP_EN 0x0200
77#define AR_EEPROM_EEPCAP_KC_ENTRIES 0xF000
78#define AR_EEPROM_EEPCAP_KC_ENTRIES_S 12
79
80/* XXX used to index various EEPROM-derived data structures */
81enum {
85};
86
87#define GROUPS_OFFSET3_2 0x100 /* groups offset for ver3.2 and earlier */
88#define GROUPS_OFFSET3_3 0x150 /* groups offset for ver3.3 */
89/* relative offset of GROUPi to GROUPS_OFFSET */
90#define GROUP1_OFFSET 0x0
91#define GROUP2_OFFSET 0x5
92#define GROUP3_OFFSET 0x37
93#define GROUP4_OFFSET 0x46
94#define GROUP5_OFFSET 0x55
95#define GROUP6_OFFSET 0x65
96#define GROUP7_OFFSET 0x69
97#define GROUP8_OFFSET 0x6f
98
99/* RF silent fields in EEPROM */
100#define AR_EEPROM_RFSILENT_GPIO_SEL 0x001c
101#define AR_EEPROM_RFSILENT_GPIO_SEL_S 2
102#define AR_EEPROM_RFSILENT_POLARITY 0x0002
103#define AR_EEPROM_RFSILENT_POLARITY_S 1
104
105/* Protect Bits RP is read protect, WP is write protect */
106#define AR_EEPROM_PROTECT_RP_0_31 0x0001
107#define AR_EEPROM_PROTECT_WP_0_31 0x0002
108#define AR_EEPROM_PROTECT_RP_32_63 0x0004
109#define AR_EEPROM_PROTECT_WP_32_63 0x0008
110#define AR_EEPROM_PROTECT_RP_64_127 0x0010
111#define AR_EEPROM_PROTECT_WP_64_127 0x0020
112#define AR_EEPROM_PROTECT_RP_128_191 0x0040
113#define AR_EEPROM_PROTECT_WP_128_191 0x0080
114#define AR_EEPROM_PROTECT_RP_192_207 0x0100
115#define AR_EEPROM_PROTECT_WP_192_207 0x0200
116#define AR_EEPROM_PROTECT_RP_208_223 0x0400
117#define AR_EEPROM_PROTECT_WP_208_223 0x0800
118#define AR_EEPROM_PROTECT_RP_224_239 0x1000
119#define AR_EEPROM_PROTECT_WP_224_239 0x2000
120#define AR_EEPROM_PROTECT_RP_240_255 0x4000
121#define AR_EEPROM_PROTECT_WP_240_255 0x8000
122
123#define AR_EEPROM_MODAL_SPURS 5
124#define AR_SPUR_5413_1 1640 /* Freq 2464 */
125#define AR_SPUR_5413_2 1200 /* Freq 2420 */
126
127/*
128 * EEPROM fixed point conversion scale factors.
129 * NB: if you change one be sure to keep the other in sync.
130 */
131#define EEP_SCALE 100 /* conversion scale to avoid fp arith */
132#define EEP_DELTA 10 /* SCALE/10, to avoid arith divide */
133
134#define PWR_MIN 0
135#define PWR_MAX 3150 /* 31.5 * SCALE */
136#define PWR_STEP 50 /* 0.5 * SCALE */
137/* Keep 2 above defines together */
138
139#define NUM_11A_EEPROM_CHANNELS 10
140#define NUM_2_4_EEPROM_CHANNELS 3
141#define NUM_PCDAC_VALUES 11
142#define NUM_TEST_FREQUENCIES 8
143#define NUM_EDGES 8
144#define NUM_INTERCEPTS 11
145#define FREQ_MASK 0x7f
146#define FREQ_MASK_3_3 0xff /* expanded in version 3.3 */
147#define PCDAC_MASK 0x3f
148#define POWER_MASK 0x3f
149#define NON_EDGE_FLAG_MASK 0x40
150#define CHANNEL_POWER_INFO 8
151#define OBDB_UNSET 0xffff
152#define CHANNEL_UNUSED 0xff
153#define SCALE_OC_DELTA(_x) (((_x) * 2) / 10)
154
155/* Used during pcdac table construction */
156#define PCDAC_START 1
157#define PCDAC_STOP 63
158#define PCDAC_STEP 1
159#define PWR_TABLE_SIZE 64
160#define MAX_RATE_POWER 63
161
162/* Used during power/rate table construction */
163#define NUM_CTLS 16
164#define NUM_CTLS_3_3 32 /* expanded in version 3.3 */
165#define NUM_CTLS_MAX NUM_CTLS_3_3
166
167typedef struct fullPcdacStruct {
168 uint16_t channelValue;
169 uint16_t pcdacMin;
170 uint16_t pcdacMax;
172 uint16_t PcdacValues[64];
173 /* power is 32bit since in dest it is scaled */
174 int16_t PwrValues[64];
176
177typedef struct dataPerChannel {
178 uint16_t channelValue;
179 uint16_t pcdacMin;
180 uint16_t pcdacMax;
183 /* NB: power is 32bit since in dest it is scaled */
186
187/* points to the appropriate pcdac structs in the above struct based on mode */
188typedef struct pcdacsEeprom {
189 const uint16_t *pChannelList;
190 uint16_t numChannels;
193
194typedef struct trgtPowerInfo {
195 uint16_t twicePwr54;
196 uint16_t twicePwr48;
197 uint16_t twicePwr36;
198 uint16_t twicePwr6_24;
199 uint16_t testChannel;
201
202typedef struct trgtPowerAllModes {
210
211typedef struct cornerCalInfo {
212 uint16_t gSel;
213 uint16_t pd84;
214 uint16_t pd90;
215 uint16_t clip;
217
218/*
219 * EEPROM version 4 definitions
220 */
221#define NUM_XPD_PER_CHANNEL 4
222#define NUM_POINTS_XPD0 4
223#define NUM_POINTS_XPD3 3
224#define IDEAL_10dB_INTERCEPT_2G 35
225#define IDEAL_10dB_INTERCEPT_5G 55
226
227#define TENX_OFDM_CCK_DELTA_INIT 15 /* power 1.5 dbm */
228#define TENX_CH14_FILTER_CCK_DELTA_INIT 15 /* power 1.5 dbm */
229#define CCK_OFDM_GAIN_DELTA 15
230
231#define NUM_TARGET_POWER_LOCATIONS_11B 4
232#define NUM_TARGET_POWER_LOCATIONS_11G 6
233
234typedef struct {
235 uint16_t xpd_gain;
236 uint16_t numPcdacs;
237 uint16_t pcdac[NUM_POINTS_XPD0];
238 int16_t pwr_t4[NUM_POINTS_XPD0]; /* or gainF */
240
241typedef struct {
242 uint16_t channelValue;
243 int16_t maxPower_t4;
246
247typedef struct {
248 uint16_t *pChannels;
249 uint16_t numChannels;
250 uint16_t xpdMask; /* mask of permitted xpd_gains */
253
254typedef struct {
255 uint16_t channelValue;
256 uint16_t pcd1_xg0;
257 int16_t pwr1_xg0;
259 int16_t pwr2_xg0;
261 int16_t pwr3_xg0;
263 int16_t pwr4_xg0;
264 int16_t maxPower_t4;
265 int16_t pwr1_xg3; /* pcdac = 20 */
266 int16_t pwr2_xg3; /* pcdac = 35 */
267 int16_t pwr3_xg3; /* pcdac = 63 */
268 /* XXX - Should be pwr1_xg2, etc to agree with documentation */
270
271typedef struct {
272 uint16_t pChannels[NUM_11A_EEPROM_CHANNELS];
273 uint16_t numChannels;
274 uint16_t xpdMask; /* mask of permitted xpd_gains */
277
278/*
279 * EEPROM version 5 definitions (Griffin, et. al.).
280 */
281#define NUM_2_4_EEPROM_CHANNELS_2413 4
282#define NUM_11A_EEPROM_CHANNELS_2413 10
283#define PWR_TABLE_SIZE_2413 128
284
285/* Used during pdadc construction */
286#define MAX_NUM_PDGAINS_PER_CHANNEL 4
287#define NUM_PDGAINS_PER_CHANNEL 2
288#define NUM_POINTS_LAST_PDGAIN 5
289#define NUM_POINTS_OTHER_PDGAINS 4
290#define XPD_GAIN1_GEN5 3
291#define XPD_GAIN2_GEN5 1
292#define MAX_PWR_RANGE_IN_HALF_DB 64
293#define PD_GAIN_BOUNDARY_STRETCH_IN_HALF_DB 4
294
295typedef struct {
296 uint16_t pd_gain;
297 uint16_t numVpd;
299 int16_t pwr_t4[NUM_POINTS_LAST_PDGAIN]; /* or gainF */
301
302typedef struct {
303 uint16_t channelValue;
304 int16_t maxPower_t4;
305 uint16_t numPdGains; /* # Pd Gains per channel */
308
309/* XXX: assumes NUM_11A_EEPROM_CHANNELS_2413 >= NUM_2_4_EEPROM_CHANNELS_2413 ??? */
310typedef struct {
311 uint16_t pChannels[NUM_11A_EEPROM_CHANNELS_2413];
312 uint16_t numChannels;
313 uint16_t xpd_mask; /* mask of permitted xpd_gains */
316
317typedef struct {
318 uint16_t channelValue;
319 uint16_t numPdGains;
322 uint16_t Vpd_delta[NUM_POINTS_LAST_PDGAIN]
324 int16_t pwr_delta_t2[NUM_POINTS_LAST_PDGAIN]
326 int16_t maxPower_t4;
328
329typedef struct {
330 uint16_t pChannels[NUM_11A_EEPROM_CHANNELS_2413];
331 uint16_t numChannels;
332 uint16_t xpd_mask; /* mask of permitted xpd_gains */
335
336/*
337 * Information retrieved from EEPROM.
338 */
339typedef struct {
340 uint16_t ee_version; /* Version field */
341 uint16_t ee_protect; /* EEPROM protect field */
342 uint16_t ee_regdomain; /* Regulatory domain */
343
344 /* General Device Parameters */
347 uint16_t ee_rfKill;
353 uint16_t ee_Amode;
354 uint16_t ee_regCap;
355 uint16_t ee_Bmode;
356 uint16_t ee_Gmode;
357 int8_t ee_antennaGainMax[2];
366 uint16_t ee_eepMap;
367 uint16_t ee_earStart;
368
369 /* 5 GHz / 2.4 GHz CKK / 2.4 GHz OFDM common parameters */
370 uint16_t ee_switchSettling[3];
371 uint16_t ee_txrxAtten[3];
372 uint16_t ee_txEndToXLNAOn[3];
373 uint16_t ee_thresh62[3];
374 uint16_t ee_txEndToXPAOff[3];
375 uint16_t ee_txFrameToXPAOn[3];
376 int8_t ee_adcDesiredSize[3]; /* 8-bit signed value */
377 int8_t ee_pgaDesiredSize[3]; /* 8-bit signed value */
378 int16_t ee_noiseFloorThresh[3];
379 uint16_t ee_xlnaGain[3];
380 uint16_t ee_xgain[3];
381 uint16_t ee_xpd[3];
382 uint16_t ee_antennaControl[11][3];
383 uint16_t ee_falseDetectBackoff[3];
384 uint16_t ee_gainI[3];
385 uint16_t ee_rxtxMargin[3];
386
387 /* new parameters added for the AR2413 */
391 uint16_t ee_capField;
392
393 uint16_t ee_switchSettlingTurbo[2];
394 uint16_t ee_txrxAttenTurbo[2];
395 int8_t ee_adcDesiredSizeTurbo[2];
396 int8_t ee_pgaDesiredSizeTurbo[2];
397 uint16_t ee_rxtxMarginTurbo[2];
398
399 /* 5 GHz parameters */
400 uint16_t ee_ob1;
401 uint16_t ee_db1;
402 uint16_t ee_ob2;
403 uint16_t ee_db2;
404 uint16_t ee_ob3;
405 uint16_t ee_db3;
406 uint16_t ee_ob4;
407 uint16_t ee_db4;
408
409 /* 2.4 GHz parameters */
410 uint16_t ee_obFor24;
411 uint16_t ee_dbFor24;
412 uint16_t ee_obFor24g;
413 uint16_t ee_dbFor24g;
414 uint16_t ee_ob2GHz[2];
415 uint16_t ee_db2GHz[2];
416 uint16_t ee_numCtls;
417 uint16_t ee_ctl[NUM_CTLS_MAX];
418 uint16_t ee_iqCalI[2];
419 uint16_t ee_iqCalQ[2];
420 uint16_t ee_calPier11g[NUM_2_4_EEPROM_CHANNELS];
421 uint16_t ee_calPier11b[NUM_2_4_EEPROM_CHANNELS];
422
423 /* corner calibration information */
425
426 uint16_t ee_opCap;
427
428 /* 11a info */
429 uint16_t ee_channels11a[NUM_11A_EEPROM_CHANNELS];
432
434 uint16_t ee_channels11g[NUM_2_4_EEPROM_CHANNELS];
435 uint16_t ee_channels11b[NUM_2_4_EEPROM_CHANNELS];
436 uint16_t ee_spurChans[AR_EEPROM_MODAL_SPURS][2];
437
438 /* 11g info */
440
441 /* 11b info */
443
445
447
448 union {
449 EEPROM_POWER_EXPN_5112 eu_modePowerArray5112[3];
450 RAW_DATA_STRUCT_2413 eu_rawDataset2413[3];
451 } ee_u;
452} HAL_EEPROM;
453
454/* write-around defines */
455#define ee_numTargetPwr_11a ee_tpow.numTargetPwr_11a
456#define ee_trgtPwr_11a ee_tpow.trgtPwr_11a
457#define ee_numTargetPwr_11g ee_tpow.numTargetPwr_11g
458#define ee_trgtPwr_11g ee_tpow.trgtPwr_11g
459#define ee_numTargetPwr_11b ee_tpow.numTargetPwr_11b
460#define ee_trgtPwr_11b ee_tpow.trgtPwr_11b
461#define ee_modePowerArray5112 ee_u.eu_modePowerArray5112
462#define ee_rawDataset2413 ee_u.eu_rawDataset2413
463#endif /* _ATH_AH_EEPROM_V3_H_ */
HAL_BOOL
Definition: ah.h:93
@ headerInfo11G
Definition: ah_eeprom_v3.h:84
@ headerInfo11A
Definition: ah_eeprom_v3.h:82
@ headerInfo11B
Definition: ah_eeprom_v3.h:83
#define MAX_NUM_PDGAINS_PER_CHANNEL
Definition: ah_eeprom_v3.h:286
#define NUM_XPD_PER_CHANNEL
Definition: ah_eeprom_v3.h:221
#define NUM_PCDAC_VALUES
Definition: ah_eeprom_v3.h:141
#define NUM_POINTS_LAST_PDGAIN
Definition: ah_eeprom_v3.h:288
struct cornerCalInfo CORNER_CAL_INFO
struct trgtPowerAllModes TRGT_POWER_ALL_MODES
#define NUM_CTLS_MAX
Definition: ah_eeprom_v3.h:165
#define AR_EEPROM_MODAL_SPURS
Definition: ah_eeprom_v3.h:123
#define NUM_POINTS_XPD0
Definition: ah_eeprom_v3.h:222
#define NUM_2_4_EEPROM_CHANNELS
Definition: ah_eeprom_v3.h:140
#define NUM_11A_EEPROM_CHANNELS_2413
Definition: ah_eeprom_v3.h:282
struct dataPerChannel DATA_PER_CHANNEL
struct trgtPowerInfo TRGT_POWER_INFO
#define NUM_11A_EEPROM_CHANNELS
Definition: ah_eeprom_v3.h:139
struct pcdacsEeprom PCDACS_EEPROM
struct fullPcdacStruct FULL_PCDAC_STRUCT
#define NUM_EDGES
Definition: ah_eeprom_v3.h:143
#define NUM_TEST_FREQUENCIES
Definition: ah_eeprom_v3.h:142
uint16_t numChannels
Definition: ah_eeprom_v3.h:273
EXPN_DATA_PER_CHANNEL_5112 * pDataPerChannel
Definition: ah_eeprom_v3.h:251
uint8_t ee_cckOfdmPwrDelta
Definition: ah_eeprom_v3.h:359
uint16_t ee_deviceType
Definition: ah_eeprom_v3.h:348
uint16_t ee_turbo5Disable
Definition: ah_eeprom_v3.h:345
HAL_BOOL ee_disableXr5
Definition: ah_eeprom_v3.h:388
uint16_t ee_ob2
Definition: ah_eeprom_v3.h:402
uint16_t ee_eepMap2PowerCalStart
Definition: ah_eeprom_v3.h:390
uint16_t ee_db2
Definition: ah_eeprom_v3.h:403
uint16_t ee_db1
Definition: ah_eeprom_v3.h:401
uint16_t ee_obFor24g
Definition: ah_eeprom_v3.h:412
uint16_t ee_regCap
Definition: ah_eeprom_v3.h:354
uint16_t ee_db3
Definition: ah_eeprom_v3.h:405
uint16_t ee_ob1
Definition: ah_eeprom_v3.h:400
CORNER_CAL_INFO ee_cornerCal
Definition: ah_eeprom_v3.h:424
uint16_t ee_dbFor24
Definition: ah_eeprom_v3.h:411
uint16_t ee_eepMap
Definition: ah_eeprom_v3.h:366
uint16_t ee_xrTargetPower5
Definition: ah_eeprom_v3.h:351
uint16_t ee_version
Definition: ah_eeprom_v3.h:340
TRGT_POWER_ALL_MODES ee_tpow
Definition: ah_eeprom_v3.h:444
uint16_t ee_db4
Definition: ah_eeprom_v3.h:407
uint16_t ee_obFor24
Definition: ah_eeprom_v3.h:410
uint16_t ee_fixedBias5
Definition: ah_eeprom_v3.h:362
uint16_t ee_turbo2Disable
Definition: ah_eeprom_v3.h:346
uint16_t ee_scaledCh14FilterCckDelta
Definition: ah_eeprom_v3.h:365
uint16_t ee_Gmode
Definition: ah_eeprom_v3.h:356
uint16_t ee_ob4
Definition: ah_eeprom_v3.h:406
uint16_t ee_earStart
Definition: ah_eeprom_v3.h:367
uint16_t ee_Bmode
Definition: ah_eeprom_v3.h:355
uint16_t ee_turbo2WMaxPower5
Definition: ah_eeprom_v3.h:349
uint16_t ee_Amode
Definition: ah_eeprom_v3.h:353
uint16_t ee_protect
Definition: ah_eeprom_v3.h:341
HAL_BOOL ee_disableXr2
Definition: ah_eeprom_v3.h:389
uint16_t ee_ob3
Definition: ah_eeprom_v3.h:404
uint16_t ee_fixedBias2
Definition: ah_eeprom_v3.h:363
uint16_t ee_turbo2WMaxPower2
Definition: ah_eeprom_v3.h:350
uint16_t ee_numChannels11a
Definition: ah_eeprom_v3.h:430
uint16_t ee_rfKill
Definition: ah_eeprom_v3.h:347
uint8_t ee_exist32kHzCrystal
Definition: ah_eeprom_v3.h:360
uint16_t ee_cckOfdmGainDelta
Definition: ah_eeprom_v3.h:364
uint16_t ee_numChannels2_4
Definition: ah_eeprom_v3.h:433
uint16_t ee_dbFor24g
Definition: ah_eeprom_v3.h:413
uint16_t ee_targetPowersStart
Definition: ah_eeprom_v3.h:361
uint16_t ee_numCtls
Definition: ah_eeprom_v3.h:416
uint16_t ee_capField
Definition: ah_eeprom_v3.h:391
uint16_t ee_xrTargetPower2
Definition: ah_eeprom_v3.h:352
uint16_t ee_opCap
Definition: ah_eeprom_v3.h:426
uint16_t ee_regdomain
Definition: ah_eeprom_v3.h:342
uint16_t ee_xtnd5GSupport
Definition: ah_eeprom_v3.h:358
uint16_t clip
Definition: ah_eeprom_v3.h:215
uint16_t pd90
Definition: ah_eeprom_v3.h:214
uint16_t gSel
Definition: ah_eeprom_v3.h:212
uint16_t pd84
Definition: ah_eeprom_v3.h:213
int16_t PwrValues[NUM_PCDAC_VALUES]
Definition: ah_eeprom_v3.h:184
uint16_t pcdacMax
Definition: ah_eeprom_v3.h:180
uint16_t PcdacValues[NUM_PCDAC_VALUES]
Definition: ah_eeprom_v3.h:182
uint16_t numPcdacValues
Definition: ah_eeprom_v3.h:181
uint16_t pcdacMin
Definition: ah_eeprom_v3.h:179
uint16_t channelValue
Definition: ah_eeprom_v3.h:178
int16_t PwrValues[64]
Definition: ah_eeprom_v3.h:174
uint16_t pcdacMax
Definition: ah_eeprom_v3.h:170
uint16_t channelValue
Definition: ah_eeprom_v3.h:168
uint16_t pcdacMin
Definition: ah_eeprom_v3.h:169
uint16_t PcdacValues[64]
Definition: ah_eeprom_v3.h:172
uint16_t numPcdacValues
Definition: ah_eeprom_v3.h:171
const uint16_t * pChannelList
Definition: ah_eeprom_v3.h:189
const DATA_PER_CHANNEL * pDataPerChannel
Definition: ah_eeprom_v3.h:191
uint16_t numChannels
Definition: ah_eeprom_v3.h:190
uint16_t numTargetPwr_11b
Definition: ah_eeprom_v3.h:207
TRGT_POWER_INFO trgtPwr_11b[2]
Definition: ah_eeprom_v3.h:208
uint16_t numTargetPwr_11a
Definition: ah_eeprom_v3.h:203
TRGT_POWER_INFO trgtPwr_11a[NUM_TEST_FREQUENCIES]
Definition: ah_eeprom_v3.h:204
uint16_t numTargetPwr_11g
Definition: ah_eeprom_v3.h:205
TRGT_POWER_INFO trgtPwr_11g[3]
Definition: ah_eeprom_v3.h:206
uint16_t twicePwr54
Definition: ah_eeprom_v3.h:195
uint16_t twicePwr48
Definition: ah_eeprom_v3.h:196
uint16_t twicePwr6_24
Definition: ah_eeprom_v3.h:198
uint16_t testChannel
Definition: ah_eeprom_v3.h:199
uint16_t twicePwr36
Definition: ah_eeprom_v3.h:197