1250003Sadrian/*
2250003Sadrian * Copyright (c) 2013 Qualcomm Atheros, Inc.
3250003Sadrian *
4250003Sadrian * Permission to use, copy, modify, and/or distribute this software for any
5250003Sadrian * purpose with or without fee is hereby granted, provided that the above
6250003Sadrian * copyright notice and this permission notice appear in all copies.
7250003Sadrian *
8250003Sadrian * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
9250003Sadrian * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10250003Sadrian * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
11250003Sadrian * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12250003Sadrian * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13250003Sadrian * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14250003Sadrian * PERFORMANCE OF THIS SOFTWARE.
15250003Sadrian */
16250003Sadrian
17250003Sadrian/*
18250003Sadrian * READ THIS NOTICE!
19250003Sadrian *
20250003Sadrian * Values defined in this file may only be changed under exceptional circumstances.
21250003Sadrian *
22250003Sadrian * Please ask Fiona Cain before making any changes.
23250003Sadrian */
24250003Sadrian
25250003Sadrian#ifndef __ar9300template_cus157_h__
26250003Sadrian#define __ar9300template_cus157_h__
27250003Sadrian
28250003Sadrianstatic ar9300_eeprom_t Ar9300Template_cus157=
29250003Sadrian{
30250003Sadrian
31250003Sadrian	2, //  eepromVersion;
32250003Sadrian
33250003Sadrian    ar9300_eeprom_template_cus157, //  templateVersion;
34250003Sadrian
35250003Sadrian	{0x00,0x03,0x7f,0x0,0x0,0x0}, //macAddr[6];
36250003Sadrian
37250003Sadrian    //static  A_UINT8   custData[OSPREY_CUSTOMER_DATA_SIZE]=
38250003Sadrian
39250003Sadrian	{"cus157-030-f0000"},
40250003Sadrian//	{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
41250003Sadrian
42250003Sadrian    //static OSPREY_BASE_EEP_HEADER baseEepHeader=
43250003Sadrian
44250003Sadrian	{
45250003Sadrian		    {0,0x1f},	//   regDmn[2]; //Does this need to be outside of this structure, if it gets written after calibration
46250003Sadrian		    0x77,	//   txrxMask;  //4 bits tx and 4 bits rx
47250003Sadrian		    {AR9300_OPFLAGS_11G | AR9300_OPFLAGS_11A, 0},	//   opCapFlags;
48250003Sadrian		    0,		//   rfSilent;
49250003Sadrian		    0,		//   blueToothOptions;
50250003Sadrian		    0,		//   deviceCap;
51250003Sadrian		    5,		//   deviceType; // takes lower byte in eeprom location
52250003Sadrian		    OSPREY_PWR_TABLE_OFFSET,	//    pwrTableOffset; // offset in dB to be added to beginning of pdadc table in calibration
53250003Sadrian			{0,0},	//   params_for_tuning_caps[2];  //placeholder, get more details from Don
54250003Sadrian            0x0d,     //featureEnable; //bit0 - enable tx temp comp
55250003Sadrian                             //bit1 - enable tx volt comp
56250003Sadrian                             //bit2 - enable fastClock - default to 1
57250003Sadrian                             //bit3 - enable doubling - default to 1
58250003Sadrian 							 //bit4 - enable internal regulator - default to 0
59250003Sadrian							 //bit5 - enable paprd -- default to 0
60250003Sadrian    		0,       //miscConfiguration: bit0 - turn down drivestrength
61250003Sadrian			6,		// eepromWriteEnableGpio
62250003Sadrian			0,		// wlanDisableGpio
63250003Sadrian			8,		// wlanLedGpio
64250003Sadrian			0xff,		// rxBandSelectGpio
65250003Sadrian			0x10,			// txrxgain
66250003Sadrian            0,		//   swreg
67250003Sadrian	},
68250003Sadrian
69250003Sadrian
70250003Sadrian	//static OSPREY_MODAL_EEP_HEADER modalHeader2G=
71250003Sadrian	{
72250003Sadrian
73250003Sadrian		    0x110,			//  antCtrlCommon;                         // 4   idle, t1, t2, b (4 bits per setting)
74250003Sadrian		    0x44444,		//  antCtrlCommon2;                        // 4    ra1l1, ra2l1, ra1l2, ra2l2, ra12
75250003Sadrian		    {0x150,0x150,0x150},	//  antCtrlChain[OSPREY_MAX_CHAINS];       // 6   idle, t, r, rx1, rx12, b (2 bits each)
76250003Sadrian		    {0,0,0},			//   xatten1DB[OSPREY_MAX_CHAINS];           // 3  //xatten1_db for merlin (0xa20c/b20c 5:0)
77250003Sadrian		    {0,0,0},			//   xatten1Margin[OSPREY_MAX_CHAINS];          // 3  //xatten1_margin for merlin (0xa20c/b20c 16:12
78250003Sadrian			25,				//    tempSlope;
79250003Sadrian			0,				//    voltSlope;
80250003Sadrian		    {FREQ2FBIN(2464, 1),0,0,0,0}, // spurChans[OSPREY_EEPROM_MODAL_SPURS];  // spur channels in usual fbin coding format
81250003Sadrian		    {-1,0,0},			//    noiseFloorThreshCh[OSPREY_MAX_CHAINS]; // 3    //Check if the register is per chain
82250003Sadrian			{0, 0, 0, 0, 0, 0,0,0,0,0,0},				// reserved
83250003Sadrian			0,											// quick drop
84250003Sadrian		    0,				//   xpaBiasLvl;                            // 1
85250003Sadrian		    0x0e,			//   txFrameToDataStart;                    // 1
86250003Sadrian		    0x0e,			//   txFrameToPaOn;                         // 1
87250003Sadrian		    3,				//   txClip;                                     // 4 bits tx_clip, 4 bits dac_scale_cck
88250003Sadrian		    0,				//    antennaGain;                           // 1
89250003Sadrian		    0x2c,			//   switchSettling;                        // 1
90250003Sadrian		    -30,			//    adcDesiredSize;                        // 1
91250003Sadrian		    0,				//   txEndToXpaOff;                         // 1
92250003Sadrian		    0x2,			//   txEndToRxOn;                           // 1
93250003Sadrian		    0xe,			//   txFrameToXpaOn;                        // 1
94250003Sadrian		    28,				//   thresh62;                              // 1
95250003Sadrian			0x80C080,		//	 paprdRateMaskHt20						// 4
96250003Sadrian  			0x80C080,		//	 paprdRateMaskHt40
97250003Sadrian			0,              //   ant_div_control
98250003Sadrian			{0,0,0,0,0,0,0,0,0}    //futureModal[9];
99250003Sadrian	},
100250003Sadrian
101250003Sadrian	{{0,0,0,0,0,0,0,0,0,0,0,0,0,0}},						// base_ext1
102250003Sadrian
103250003Sadrian	//static A_UINT8 calFreqPier2G[OSPREY_NUM_2G_CAL_PIERS]=
104250003Sadrian	{
105250003Sadrian		FREQ2FBIN(2412, 1),
106250003Sadrian		FREQ2FBIN(2437, 1),
107250003Sadrian		FREQ2FBIN(2462, 1)
108250003Sadrian	},
109250003Sadrian
110250003Sadrian	//static OSP_CAL_DATA_PER_FREQ_OP_LOOP calPierData2G[OSPREY_MAX_CHAINS][OSPREY_NUM_2G_CAL_PIERS]=
111250003Sadrian
112250003Sadrian	{	{{0,0,0,0,0,0},  {0,0,0,0,0,0},  {0,0,0,0,0,0}},
113250003Sadrian		{{0,0,0,0,0,0},  {0,0,0,0,0,0},  {0,0,0,0,0,0}},
114250003Sadrian		{{0,0,0,0,0,0},  {0,0,0,0,0,0},  {0,0,0,0,0,0}},
115250003Sadrian	},
116250003Sadrian
117250003Sadrian	//A_UINT8 calTarget_freqbin_Cck[OSPREY_NUM_2G_CCK_TARGET_POWERS];
118250003Sadrian
119250003Sadrian	{
120250003Sadrian		FREQ2FBIN(2412, 1),
121250003Sadrian		FREQ2FBIN(2472, 1)
122250003Sadrian	},
123250003Sadrian
124250003Sadrian	//static CAL_TARGET_POWER_LEG calTarget_freqbin_2G[OSPREY_NUM_2G_20_TARGET_POWERS]
125250003Sadrian	{
126250003Sadrian		FREQ2FBIN(2412, 1),
127250003Sadrian		FREQ2FBIN(2437, 1),
128250003Sadrian		FREQ2FBIN(2472, 1)
129250003Sadrian	},
130250003Sadrian
131250003Sadrian	//static   OSP_CAL_TARGET_POWER_HT  calTarget_freqbin_2GHT20[OSPREY_NUM_2G_20_TARGET_POWERS]
132250003Sadrian	{
133250003Sadrian		FREQ2FBIN(2412, 1),
134250003Sadrian		FREQ2FBIN(2437, 1),
135250003Sadrian		FREQ2FBIN(2472, 1)
136250003Sadrian	},
137250003Sadrian
138250003Sadrian	//static   OSP_CAL_TARGET_POWER_HT  calTarget_freqbin_2GHT40[OSPREY_NUM_2G_40_TARGET_POWERS]
139250003Sadrian	{
140250003Sadrian		FREQ2FBIN(2412, 1),
141250003Sadrian		FREQ2FBIN(2437, 1),
142250003Sadrian		FREQ2FBIN(2472, 1)
143250003Sadrian	},
144250003Sadrian
145250003Sadrian	//static CAL_TARGET_POWER_LEG calTargetPowerCck[OSPREY_NUM_2G_CCK_TARGET_POWERS]=
146250003Sadrian	{
147250003Sadrian		//1L-5L,5S,11L,11S
148250003Sadrian        {{34,34,34,34}},
149250003Sadrian	 	{{34,34,34,34}}
150250003Sadrian	 },
151250003Sadrian
152250003Sadrian	//static CAL_TARGET_POWER_LEG calTargetPower2G[OSPREY_NUM_2G_20_TARGET_POWERS]=
153250003Sadrian	{
154250003Sadrian        //6-24,36,48,54
155250003Sadrian		{{34,34,34,30}},
156250003Sadrian		{{34,34,34,30}},
157250003Sadrian		{{34,34,34,30}},
158250003Sadrian	},
159250003Sadrian
160250003Sadrian	//static   OSP_CAL_TARGET_POWER_HT  calTargetPower2GHT20[OSPREY_NUM_2G_20_TARGET_POWERS]=
161250003Sadrian	{
162250003Sadrian        //0_8_16,1-3_9-11_17-19,
163250003Sadrian        //      4,5,6,7,12,13,14,15,20,21,22,23
164250003Sadrian		{{32,32,32,32,30,30,32,32,30,30,32,32,30,30}},
165250003Sadrian		{{32,32,32,32,30,30,32,32,30,30,32,32,30,30}},
166250003Sadrian		{{32,32,32,32,30,30,32,32,30,30,32,32,30,30}},
167250003Sadrian	},
168250003Sadrian
169250003Sadrian	//static    OSP_CAL_TARGET_POWER_HT  calTargetPower2GHT40[OSPREY_NUM_2G_40_TARGET_POWERS]=
170250003Sadrian	{
171250003Sadrian        //0_8_16,1-3_9-11_17-19,
172250003Sadrian        //      4,5,6,7,12,13,14,15,20,21,22,23
173250003Sadrian		{{30,30,30,30,30,28,30,30,28,28,30,30,28,26}},
174250003Sadrian		{{30,30,30,30,30,28,30,30,28,28,30,30,28,26}},
175250003Sadrian		{{30,30,30,30,30,28,30,30,28,28,30,30,28,26}},
176250003Sadrian	},
177250003Sadrian
178250003Sadrian//static    A_UINT8            ctlIndex_2G[OSPREY_NUM_CTLS_2G]=
179250003Sadrian
180250003Sadrian	{
181250003Sadrian
182250003Sadrian		    0x11,
183250003Sadrian    		0x12,
184250003Sadrian    		0x15,
185250003Sadrian    		0x17,
186250003Sadrian    		0x41,
187250003Sadrian    		0x42,
188250003Sadrian   			0x45,
189250003Sadrian    		0x47,
190250003Sadrian   			0x31,
191250003Sadrian    		0x32,
192250003Sadrian    		0x35,
193250003Sadrian    		0x37
194250003Sadrian
195250003Sadrian    },
196250003Sadrian
197250003Sadrian//A_UINT8   ctl_freqbin_2G[OSPREY_NUM_CTLS_2G][OSPREY_NUM_BAND_EDGES_2G];
198250003Sadrian
199250003Sadrian	{
200250003Sadrian		{FREQ2FBIN(2412, 1),
201250003Sadrian		 FREQ2FBIN(2417, 1),
202250003Sadrian		 FREQ2FBIN(2457, 1),
203250003Sadrian		 FREQ2FBIN(2462, 1)},
204250003Sadrian
205250003Sadrian		{FREQ2FBIN(2412, 1),
206250003Sadrian		 FREQ2FBIN(2417, 1),
207250003Sadrian		 FREQ2FBIN(2462, 1),
208250003Sadrian		 0xFF},
209250003Sadrian
210250003Sadrian		{FREQ2FBIN(2412, 1),
211250003Sadrian		 FREQ2FBIN(2417, 1),
212250003Sadrian		 FREQ2FBIN(2462, 1),
213250003Sadrian		 0xFF},
214250003Sadrian
215250003Sadrian		{FREQ2FBIN(2422, 1),
216250003Sadrian		 FREQ2FBIN(2427, 1),
217250003Sadrian		 FREQ2FBIN(2447, 1),
218250003Sadrian		 FREQ2FBIN(2452, 1)},
219250003Sadrian
220250003Sadrian		{/*Data[4].ctlEdges[0].bChannel*/FREQ2FBIN(2412, 1),
221250003Sadrian		/*Data[4].ctlEdges[1].bChannel*/FREQ2FBIN(2417, 1),
222250003Sadrian		/*Data[4].ctlEdges[2].bChannel*/FREQ2FBIN(2472, 1),
223250003Sadrian		/*Data[4].ctlEdges[3].bChannel*/FREQ2FBIN(2484, 1)},
224250003Sadrian
225250003Sadrian		{/*Data[5].ctlEdges[0].bChannel*/FREQ2FBIN(2412, 1),
226250003Sadrian		 /*Data[5].ctlEdges[1].bChannel*/FREQ2FBIN(2417, 1),
227250003Sadrian		 /*Data[5].ctlEdges[2].bChannel*/FREQ2FBIN(2472, 1),
228250003Sadrian		 0},
229250003Sadrian
230250003Sadrian		{/*Data[6].ctlEdges[0].bChannel*/FREQ2FBIN(2412, 1),
231250003Sadrian		 /*Data[6].ctlEdges[1].bChannel*/FREQ2FBIN(2417, 1),
232250003Sadrian		 FREQ2FBIN(2472, 1),
233250003Sadrian		 0},
234250003Sadrian
235250003Sadrian		{/*Data[7].ctlEdges[0].bChannel*/FREQ2FBIN(2422, 1),
236250003Sadrian		 /*Data[7].ctlEdges[1].bChannel*/FREQ2FBIN(2427, 1),
237250003Sadrian		 /*Data[7].ctlEdges[2].bChannel*/FREQ2FBIN(2447, 1),
238250003Sadrian		 /*Data[7].ctlEdges[3].bChannel*/FREQ2FBIN(2462, 1)},
239250003Sadrian
240250003Sadrian		{/*Data[8].ctlEdges[0].bChannel*/FREQ2FBIN(2412, 1),
241250003Sadrian		 /*Data[8].ctlEdges[1].bChannel*/FREQ2FBIN(2417, 1),
242250003Sadrian		 /*Data[8].ctlEdges[2].bChannel*/FREQ2FBIN(2472, 1),
243250003Sadrian		 0},
244250003Sadrian
245250003Sadrian		{/*Data[9].ctlEdges[0].bChannel*/FREQ2FBIN(2412, 1),
246250003Sadrian		 /*Data[9].ctlEdges[1].bChannel*/FREQ2FBIN(2417, 1),
247250003Sadrian		 /*Data[9].ctlEdges[2].bChannel*/FREQ2FBIN(2472, 1),
248250003Sadrian		 0},
249250003Sadrian
250250003Sadrian		{/*Data[10].ctlEdges[0].bChannel*/FREQ2FBIN(2412, 1),
251250003Sadrian		 /*Data[10].ctlEdges[1].bChannel*/FREQ2FBIN(2417, 1),
252250003Sadrian		 /*Data[10].ctlEdges[2].bChannel*/FREQ2FBIN(2472, 1),
253250003Sadrian		 0},
254250003Sadrian
255250003Sadrian		{/*Data[11].ctlEdges[0].bChannel*/FREQ2FBIN(2422, 1),
256250003Sadrian		 /*Data[11].ctlEdges[1].bChannel*/FREQ2FBIN(2427, 1),
257250003Sadrian		 /*Data[11].ctlEdges[2].bChannel*/FREQ2FBIN(2447, 1),
258250003Sadrian		 /*Data[11].ctlEdges[3].bChannel*/FREQ2FBIN(2462, 1)}
259250003Sadrian	},
260250003Sadrian
261250003Sadrian
262250003Sadrian//OSP_CAL_CTL_DATA_2G   ctlPowerData_2G[OSPREY_NUM_CTLS_2G];
263250003Sadrian
264250003Sadrian#if AH_BYTE_ORDER == AH_BIG_ENDIAN
265250003Sadrian    {
266250003Sadrian
267250003Sadrian	    {{{0, 60}, {1, 60}, {0, 60}, {0, 60}}},
268250003Sadrian	    {{{0, 60}, {1, 60}, {0, 60}, {0, 60}}},
269250003Sadrian	    {{{1, 60}, {0, 60}, {0, 60}, {1, 60}}},
270250003Sadrian
271250003Sadrian	    {{{1, 60}, {0, 60}, {0, 60}, {0, 60}}},
272250003Sadrian	    {{{0, 60}, {1, 60}, {0, 60}, {0, 60}}},
273250003Sadrian	    {{{0, 60}, {1, 60}, {0, 60}, {0, 60}}},
274250003Sadrian
275250003Sadrian	    {{{0, 60}, {1, 60}, {1, 60}, {0, 60}}},
276250003Sadrian	    {{{0, 60}, {1, 60}, {0, 60}, {0, 60}}},
277250003Sadrian	    {{{0, 60}, {1, 60}, {0, 60}, {0, 60}}},
278250003Sadrian
279250003Sadrian	    {{{0, 60}, {1, 60}, {0, 60}, {0, 60}}},
280250003Sadrian	    {{{0, 60}, {1, 60}, {1, 60}, {1, 60}}},
281250003Sadrian	    {{{0, 60}, {1, 60}, {1, 60}, {1, 60}}},
282250003Sadrian
283250003Sadrian    },
284250003Sadrian#else
285250003Sadrian	{
286250003Sadrian	    {{{60, 0}, {60, 1}, {60, 0}, {60, 0}}},
287250003Sadrian	    {{{60, 0}, {60, 1}, {60, 0}, {60, 0}}},
288250003Sadrian	    {{{60, 1}, {60, 0}, {60, 0}, {60, 1}}},
289250003Sadrian
290250003Sadrian	    {{{60, 1}, {60, 0}, {60, 0}, {60, 0}}},
291250003Sadrian	    {{{60, 0}, {60, 1}, {60, 0}, {60, 0}}},
292250003Sadrian	    {{{60, 0}, {60, 1}, {60, 0}, {60, 0}}},
293250003Sadrian
294250003Sadrian	    {{{60, 0}, {60, 1}, {60, 1}, {60, 0}}},
295250003Sadrian	    {{{60, 0}, {60, 1}, {60, 0}, {60, 0}}},
296250003Sadrian	    {{{60, 0}, {60, 1}, {60, 0}, {60, 0}}},
297250003Sadrian
298250003Sadrian	    {{{60, 0}, {60, 1}, {60, 0}, {60, 0}}},
299250003Sadrian	    {{{60, 0}, {60, 1}, {60, 1}, {60, 1}}},
300250003Sadrian	    {{{60, 0}, {60, 1}, {60, 1}, {60, 1}}},
301250003Sadrian	},
302250003Sadrian#endif
303250003Sadrian
304250003Sadrian//static    OSPREY_MODAL_EEP_HEADER   modalHeader5G=
305250003Sadrian
306250003Sadrian	{
307250003Sadrian
308250003Sadrian		    0x220,			//  antCtrlCommon;                         // 4   idle, t1, t2, b (4 bits per setting)
309250003Sadrian		    0x44444,		//  antCtrlCommon2;                        // 4    ra1l1, ra2l1, ra1l2, ra2l2, ra12
310250003Sadrian		    {0x150,0x150,0x150},	//  antCtrlChain[OSPREY_MAX_CHAINS];       // 6   idle, t, r, rx1, rx12, b (2 bits each)
311250003Sadrian		    {0,0,0},			//   xatten1DB[OSPREY_MAX_CHAINS];           // 3  //xatten1_db for merlin (0xa20c/b20c 5:0)
312250003Sadrian		    {0,0,0},			//   xatten1Margin[OSPREY_MAX_CHAINS];          // 3  //xatten1_margin for merlin (0xa20c/b20c 16:12
313250003Sadrian			45,				//    tempSlope;
314250003Sadrian			0,				//    voltSlope;
315250003Sadrian		    {0,0,0,0,0}, // spurChans[OSPREY_EEPROM_MODAL_SPURS];  // spur channels in usual fbin coding format
316250003Sadrian		    {-1,0,0},			//    noiseFloorThreshCh[OSPREY_MAX_CHAINS]; // 3    //Check if the register is per chain
317250003Sadrian			{0, 0, 0, 0, 0, 0,0,0,0,0,0},				// reserved
318250003Sadrian			0,											// quick drop
319250003Sadrian		    0,				//   xpaBiasLvl;                            // 1
320250003Sadrian		    0x0e,			//   txFrameToDataStart;                    // 1
321250003Sadrian		    0x0e,			//   txFrameToPaOn;                         // 1
322250003Sadrian		    3,				//   txClip;                                     // 4 bits tx_clip, 4 bits dac_scale_cck
323250003Sadrian		    0,				//    antennaGain;                           // 1
324250003Sadrian		    0x2d,			//   switchSettling;                        // 1
325250003Sadrian		    -30,			//    adcDesiredSize;                        // 1
326250003Sadrian		    0,				//   txEndToXpaOff;                         // 1
327250003Sadrian		    0x2,			//   txEndToRxOn;                           // 1
328250003Sadrian		    0xe,			//   txFrameToXpaOn;                        // 1
329250003Sadrian		    28,				//   thresh62;                              // 1
330250003Sadrian  			0xf0e0e0,		//	 paprdRateMaskHt20						// 4
331250003Sadrian  			0xf0e0e0,		//	 paprdRateMaskHt40						// 4
332250003Sadrian   		{0,0,0,0,0,0,0,0,0,0}    //futureModal[10];
333250003Sadrian	},
334250003Sadrian
335250003Sadrian	{				// base_ext2
336250003Sadrian		40,				// tempSlopeLow
337250003Sadrian		50,				// tempSlopeHigh
338250003Sadrian		{0,0,0},
339250003Sadrian		{0,0,0},
340250003Sadrian		{0,0,0},
341250003Sadrian		{0,0,0}
342250003Sadrian	},
343250003Sadrian
344250003Sadrian//static    A_UINT8            calFreqPier5G[OSPREY_NUM_5G_CAL_PIERS]=
345250003Sadrian	{
346250003Sadrian		    //pPiers[0] =
347250003Sadrian		    FREQ2FBIN(5180, 0),
348250003Sadrian		    //pPiers[1] =
349250003Sadrian		    FREQ2FBIN(5220, 0),
350250003Sadrian		    //pPiers[2] =
351250003Sadrian		    FREQ2FBIN(5320, 0),
352250003Sadrian		    //pPiers[3] =
353250003Sadrian		    FREQ2FBIN(5400, 0),
354250003Sadrian		    //pPiers[4] =
355250003Sadrian		    FREQ2FBIN(5500, 0),
356250003Sadrian		    //pPiers[5] =
357250003Sadrian		    FREQ2FBIN(5600, 0),
358250003Sadrian		    //pPiers[6] =
359250003Sadrian		    FREQ2FBIN(5700, 0),
360250003Sadrian    		//pPiers[7] =
361250003Sadrian		    FREQ2FBIN(5785, 0),
362250003Sadrian	},
363250003Sadrian
364250003Sadrian//static    OSP_CAL_DATA_PER_FREQ_OP_LOOP calPierData5G[OSPREY_MAX_CHAINS][OSPREY_NUM_5G_CAL_PIERS]=
365250003Sadrian
366250003Sadrian	{
367250003Sadrian		{{0,0,0,0,0,0},  {0,0,0,0,0,0},  {0,0,0,0,0,0},  {0,0,0,0,0,0},  {0,0,0,0,0,0},  {0,0,0,0,0,0},    {0,0,0,0,0,0},  {0,0,0,0,0,0}},
368250003Sadrian		{{0,0,0,0,0,0},  {0,0,0,0,0,0},  {0,0,0,0,0,0},  {0,0,0,0,0,0},  {0,0,0,0,0,0},  {0,0,0,0,0,0},    {0,0,0,0,0,0},  {0,0,0,0,0,0}},
369250003Sadrian		{{0,0,0,0,0,0},  {0,0,0,0,0,0},  {0,0,0,0,0,0},  {0,0,0,0,0,0},  {0,0,0,0,0,0},  {0,0,0,0,0,0},    {0,0,0,0,0,0},  {0,0,0,0,0,0}},
370250003Sadrian
371250003Sadrian	},
372250003Sadrian
373250003Sadrian//static    CAL_TARGET_POWER_LEG calTarget_freqbin_5G[OSPREY_NUM_5G_20_TARGET_POWERS]=
374250003Sadrian
375250003Sadrian	{
376250003Sadrian			FREQ2FBIN(5180, 0),
377250003Sadrian			FREQ2FBIN(5240, 0),
378250003Sadrian			FREQ2FBIN(5320, 0),
379250003Sadrian			FREQ2FBIN(5400, 0),
380250003Sadrian			FREQ2FBIN(5500, 0),
381250003Sadrian			FREQ2FBIN(5600, 0),
382250003Sadrian			FREQ2FBIN(5700, 0),
383250003Sadrian			FREQ2FBIN(5825, 0)
384250003Sadrian	},
385250003Sadrian
386250003Sadrian//static    OSP_CAL_TARGET_POWER_HT  calTargetPower5GHT20[OSPREY_NUM_5G_20_TARGET_POWERS]=
387250003Sadrian
388250003Sadrian	{
389250003Sadrian			FREQ2FBIN(5180, 0),
390250003Sadrian			FREQ2FBIN(5240, 0),
391250003Sadrian			FREQ2FBIN(5320, 0),
392250003Sadrian			FREQ2FBIN(5400, 0),
393250003Sadrian			FREQ2FBIN(5500, 0),
394250003Sadrian			FREQ2FBIN(5700, 0),
395250003Sadrian			FREQ2FBIN(5745, 0),
396250003Sadrian			FREQ2FBIN(5825, 0)
397250003Sadrian	},
398250003Sadrian
399250003Sadrian//static    OSP_CAL_TARGET_POWER_HT  calTargetPower5GHT40[OSPREY_NUM_5G_40_TARGET_POWERS]=
400250003Sadrian
401250003Sadrian	{
402250003Sadrian			FREQ2FBIN(5180, 0),
403250003Sadrian			FREQ2FBIN(5240, 0),
404250003Sadrian			FREQ2FBIN(5320, 0),
405250003Sadrian			FREQ2FBIN(5400, 0),
406250003Sadrian			FREQ2FBIN(5500, 0),
407250003Sadrian			FREQ2FBIN(5700, 0),
408250003Sadrian			FREQ2FBIN(5745, 0),
409250003Sadrian			FREQ2FBIN(5825, 0)
410250003Sadrian	},
411250003Sadrian
412250003Sadrian
413250003Sadrian//static    CAL_TARGET_POWER_LEG calTargetPower5G[OSPREY_NUM_5G_20_TARGET_POWERS]=
414250003Sadrian
415250003Sadrian
416250003Sadrian	{
417250003Sadrian        //6-24,36,48,54
418250003Sadrian	    {{30,30,26,22}},
419250003Sadrian	    {{30,30,26,22}},
420250003Sadrian	    {{30,30,30,24}},
421250003Sadrian	    {{30,30,30,24}},
422250003Sadrian	    {{30,30,26,22}},
423250003Sadrian	    {{30,24,20,18}},
424250003Sadrian	    {{30,24,20,18}},
425250003Sadrian	    {{30,24,20,18}},
426250003Sadrian	},
427250003Sadrian
428250003Sadrian//static    OSP_CAL_TARGET_POWER_HT  calTargetPower5GHT20[OSPREY_NUM_5G_20_TARGET_POWERS]=
429250003Sadrian
430250003Sadrian	{
431250003Sadrian        //0_8_16,1-3_9-11_17-19,
432250003Sadrian        //      4,5,6,7,12,13,14,15,20,21,22,23
433250003Sadrian	    {{30,30,30,28,24,20,30,28,24,18,30,26,22,16}},
434250003Sadrian	    {{30,30,30,28,24,20,30,28,24,18,30,26,22,16}},
435250003Sadrian	    {{30,30,30,26,22,18,30,26,22,16,30,24,20,14}},
436250003Sadrian	    {{30,30,30,26,22,18,30,26,22,16,30,24,20,14}},
437250003Sadrian	    {{30,30,30,24,20,16,30,24,20,14,30,22,18,12}},
438250003Sadrian	    {{30,30,30,24,20,16,30,24,20,14,30,22,18,12}},
439250003Sadrian	    {{28,28,28,22,18,14,28,22,18,12,28,20,16,10}},
440250003Sadrian	    {{28,28,28,22,18,14,28,22,18,12,28,20,16,10}},
441250003Sadrian	},
442250003Sadrian
443250003Sadrian//static    OSP_CAL_TARGET_POWER_HT  calTargetPower5GHT40[OSPREY_NUM_5G_40_TARGET_POWERS]=
444250003Sadrian	{
445250003Sadrian        //0_8_16,1-3_9-11_17-19,
446250003Sadrian        //      4,5,6,7,12,13,14,15,20,21,22,23
447250003Sadrian	    {{28,28,28,26,22,18,28,24,20,16,20,16,16,16}},
448250003Sadrian	    {{28,28,28,26,22,18,28,24,20,16,20,16,16,16}},
449250003Sadrian	    {{28,28,28,28,24,20,28,28,24,20,22,20,20,20}},
450250003Sadrian	    {{28,28,28,28,24,20,28,28,24,20,22,20,20,20}},
451250003Sadrian	    {{28,28,28,24,20,16,28,24,20,16,18,16,16,16}},
452250003Sadrian	    {{28,28,28,22,18,14,22,20,16,12,14,12,12,10}},
453250003Sadrian	    {{28,28,28,22,18,14,22,20,16,12,14,12,12,10}},
454250003Sadrian	    {{28,28,28,22,18,14,22,20,16,12,14,12,12,10}},
455250003Sadrian	},
456250003Sadrian
457250003Sadrian//static    A_UINT8            ctlIndex_5G[OSPREY_NUM_CTLS_5G]=
458250003Sadrian
459250003Sadrian	{
460250003Sadrian		    //pCtlIndex[0] =
461250003Sadrian		    0x10,
462250003Sadrian		    //pCtlIndex[1] =
463250003Sadrian		    0x16,
464250003Sadrian		    //pCtlIndex[2] =
465250003Sadrian		    0x18,
466250003Sadrian		    //pCtlIndex[3] =
467250003Sadrian		    0x40,
468250003Sadrian		    //pCtlIndex[4] =
469250003Sadrian		    0x46,
470250003Sadrian		    //pCtlIndex[5] =
471250003Sadrian		    0x48,
472250003Sadrian		    //pCtlIndex[6] =
473250003Sadrian		    0x30,
474250003Sadrian		    //pCtlIndex[7] =
475250003Sadrian		    0x36,
476250003Sadrian    		//pCtlIndex[8] =
477250003Sadrian    		0x38
478250003Sadrian	},
479250003Sadrian
480250003Sadrian//    A_UINT8   ctl_freqbin_5G[OSPREY_NUM_CTLS_5G][OSPREY_NUM_BAND_EDGES_5G];
481250003Sadrian
482250003Sadrian	{
483250003Sadrian	    {/* Data[0].ctlEdges[0].bChannel*/FREQ2FBIN(5180, 0),
484250003Sadrian	    /* Data[0].ctlEdges[1].bChannel*/FREQ2FBIN(5260, 0),
485250003Sadrian	    /* Data[0].ctlEdges[2].bChannel*/FREQ2FBIN(5280, 0),
486250003Sadrian	    /* Data[0].ctlEdges[3].bChannel*/FREQ2FBIN(5500, 0),
487250003Sadrian	    /* Data[0].ctlEdges[4].bChannel*/FREQ2FBIN(5600, 0),
488250003Sadrian	    /* Data[0].ctlEdges[5].bChannel*/FREQ2FBIN(5700, 0),
489250003Sadrian	    /* Data[0].ctlEdges[6].bChannel*/FREQ2FBIN(5745, 0),
490250003Sadrian	    /* Data[0].ctlEdges[7].bChannel*/FREQ2FBIN(5825, 0)},
491250003Sadrian
492250003Sadrian	    {/* Data[1].ctlEdges[0].bChannel*/FREQ2FBIN(5180, 0),
493250003Sadrian	    /* Data[1].ctlEdges[1].bChannel*/FREQ2FBIN(5260, 0),
494250003Sadrian	    /* Data[1].ctlEdges[2].bChannel*/FREQ2FBIN(5280, 0),
495250003Sadrian	    /* Data[1].ctlEdges[3].bChannel*/FREQ2FBIN(5500, 0),
496250003Sadrian	    /* Data[1].ctlEdges[4].bChannel*/FREQ2FBIN(5520, 0),
497250003Sadrian	    /* Data[1].ctlEdges[5].bChannel*/FREQ2FBIN(5700, 0),
498250003Sadrian	    /* Data[1].ctlEdges[6].bChannel*/FREQ2FBIN(5745, 0),
499250003Sadrian	    /* Data[1].ctlEdges[7].bChannel*/FREQ2FBIN(5825, 0)},
500250003Sadrian
501250003Sadrian	    {/* Data[2].ctlEdges[0].bChannel*/FREQ2FBIN(5190, 0),
502250003Sadrian	    /* Data[2].ctlEdges[1].bChannel*/FREQ2FBIN(5230, 0),
503250003Sadrian	    /* Data[2].ctlEdges[2].bChannel*/FREQ2FBIN(5270, 0),
504250003Sadrian	    /* Data[2].ctlEdges[3].bChannel*/FREQ2FBIN(5310, 0),
505250003Sadrian	    /* Data[2].ctlEdges[4].bChannel*/FREQ2FBIN(5510, 0),
506250003Sadrian	    /* Data[2].ctlEdges[5].bChannel*/FREQ2FBIN(5550, 0),
507250003Sadrian	    /* Data[2].ctlEdges[6].bChannel*/FREQ2FBIN(5670, 0),
508250003Sadrian	    /* Data[2].ctlEdges[7].bChannel*/FREQ2FBIN(5755, 0)},
509250003Sadrian
510250003Sadrian	    {/* Data[3].ctlEdges[0].bChannel*/FREQ2FBIN(5180, 0),
511250003Sadrian	    /* Data[3].ctlEdges[1].bChannel*/FREQ2FBIN(5200, 0),
512250003Sadrian	    /* Data[3].ctlEdges[2].bChannel*/FREQ2FBIN(5260, 0),
513250003Sadrian	    /* Data[3].ctlEdges[3].bChannel*/FREQ2FBIN(5320, 0),
514250003Sadrian	    /* Data[3].ctlEdges[4].bChannel*/FREQ2FBIN(5500, 0),
515250003Sadrian	    /* Data[3].ctlEdges[5].bChannel*/FREQ2FBIN(5700, 0),
516250003Sadrian	    /* Data[3].ctlEdges[6].bChannel*/0xFF,
517250003Sadrian	    /* Data[3].ctlEdges[7].bChannel*/0xFF},
518250003Sadrian
519250003Sadrian	    {/* Data[4].ctlEdges[0].bChannel*/FREQ2FBIN(5180, 0),
520250003Sadrian	    /* Data[4].ctlEdges[1].bChannel*/FREQ2FBIN(5260, 0),
521250003Sadrian	    /* Data[4].ctlEdges[2].bChannel*/FREQ2FBIN(5500, 0),
522250003Sadrian	    /* Data[4].ctlEdges[3].bChannel*/FREQ2FBIN(5700, 0),
523250003Sadrian	    /* Data[4].ctlEdges[4].bChannel*/0xFF,
524250003Sadrian	    /* Data[4].ctlEdges[5].bChannel*/0xFF,
525250003Sadrian	    /* Data[4].ctlEdges[6].bChannel*/0xFF,
526250003Sadrian	    /* Data[4].ctlEdges[7].bChannel*/0xFF},
527250003Sadrian
528250003Sadrian	    {/* Data[5].ctlEdges[0].bChannel*/FREQ2FBIN(5190, 0),
529250003Sadrian	    /* Data[5].ctlEdges[1].bChannel*/FREQ2FBIN(5270, 0),
530250003Sadrian	    /* Data[5].ctlEdges[2].bChannel*/FREQ2FBIN(5310, 0),
531250003Sadrian	    /* Data[5].ctlEdges[3].bChannel*/FREQ2FBIN(5510, 0),
532250003Sadrian	    /* Data[5].ctlEdges[4].bChannel*/FREQ2FBIN(5590, 0),
533250003Sadrian	    /* Data[5].ctlEdges[5].bChannel*/FREQ2FBIN(5670, 0),
534250003Sadrian	    /* Data[5].ctlEdges[6].bChannel*/0xFF,
535250003Sadrian	    /* Data[5].ctlEdges[7].bChannel*/0xFF},
536250003Sadrian
537250003Sadrian	    {/* Data[6].ctlEdges[0].bChannel*/FREQ2FBIN(5180, 0),
538250003Sadrian	    /* Data[6].ctlEdges[1].bChannel*/FREQ2FBIN(5200, 0),
539250003Sadrian	    /* Data[6].ctlEdges[2].bChannel*/FREQ2FBIN(5220, 0),
540250003Sadrian	    /* Data[6].ctlEdges[3].bChannel*/FREQ2FBIN(5260, 0),
541250003Sadrian	    /* Data[6].ctlEdges[4].bChannel*/FREQ2FBIN(5500, 0),
542250003Sadrian	    /* Data[6].ctlEdges[5].bChannel*/FREQ2FBIN(5600, 0),
543250003Sadrian	    /* Data[6].ctlEdges[6].bChannel*/FREQ2FBIN(5700, 0),
544250003Sadrian	    /* Data[6].ctlEdges[7].bChannel*/FREQ2FBIN(5745, 0)},
545250003Sadrian
546250003Sadrian	    {/* Data[7].ctlEdges[0].bChannel*/FREQ2FBIN(5180, 0),
547250003Sadrian	    /* Data[7].ctlEdges[1].bChannel*/FREQ2FBIN(5260, 0),
548250003Sadrian	    /* Data[7].ctlEdges[2].bChannel*/FREQ2FBIN(5320, 0),
549250003Sadrian	    /* Data[7].ctlEdges[3].bChannel*/FREQ2FBIN(5500, 0),
550250003Sadrian	    /* Data[7].ctlEdges[4].bChannel*/FREQ2FBIN(5560, 0),
551250003Sadrian	    /* Data[7].ctlEdges[5].bChannel*/FREQ2FBIN(5700, 0),
552250003Sadrian	    /* Data[7].ctlEdges[6].bChannel*/FREQ2FBIN(5745, 0),
553250003Sadrian	    /* Data[7].ctlEdges[7].bChannel*/FREQ2FBIN(5825, 0)},
554250003Sadrian
555250003Sadrian	    {/* Data[8].ctlEdges[0].bChannel*/FREQ2FBIN(5190, 0),
556250003Sadrian	    /* Data[8].ctlEdges[1].bChannel*/FREQ2FBIN(5230, 0),
557250003Sadrian	    /* Data[8].ctlEdges[2].bChannel*/FREQ2FBIN(5270, 0),
558250003Sadrian	    /* Data[8].ctlEdges[3].bChannel*/FREQ2FBIN(5510, 0),
559250003Sadrian	    /* Data[8].ctlEdges[4].bChannel*/FREQ2FBIN(5550, 0),
560250003Sadrian	    /* Data[8].ctlEdges[5].bChannel*/FREQ2FBIN(5670, 0),
561250003Sadrian	    /* Data[8].ctlEdges[6].bChannel*/FREQ2FBIN(5755, 0),
562250003Sadrian	    /* Data[8].ctlEdges[7].bChannel*/FREQ2FBIN(5795, 0)}
563250003Sadrian	},
564250003Sadrian
565250003Sadrian//static    OSP_CAL_CTL_DATA_5G   ctlData_5G[OSPREY_NUM_CTLS_5G]=
566250003Sadrian
567250003Sadrian#if AH_BYTE_ORDER == AH_BIG_ENDIAN
568250003Sadrian	{
569250003Sadrian	    {{{1, 60},
570250003Sadrian	      {1, 60},
571250003Sadrian	      {1, 60},
572250003Sadrian	      {1, 60},
573250003Sadrian	      {1, 60},
574250003Sadrian	      {1, 60},
575250003Sadrian	      {1, 60},
576250003Sadrian	      {0, 60}}},
577250003Sadrian
578250003Sadrian	    {{{1, 60},
579250003Sadrian	      {1, 60},
580250003Sadrian	      {1, 60},
581250003Sadrian	      {1, 60},
582250003Sadrian	      {1, 60},
583250003Sadrian	      {1, 60},
584250003Sadrian	      {1, 60},
585250003Sadrian	      {0, 60}}},
586250003Sadrian
587250003Sadrian	    {{{0, 60},
588250003Sadrian	      {1, 60},
589250003Sadrian	      {0, 60},
590250003Sadrian	      {1, 60},
591250003Sadrian	      {1, 60},
592250003Sadrian	      {1, 60},
593250003Sadrian	      {1, 60},
594250003Sadrian	      {1, 60}}},
595250003Sadrian
596250003Sadrian	    {{{0, 60},
597250003Sadrian	      {1, 60},
598250003Sadrian	      {1, 60},
599250003Sadrian	      {0, 60},
600250003Sadrian	      {1, 60},
601250003Sadrian	      {0, 60},
602250003Sadrian	      {0, 60},
603250003Sadrian	      {0, 60}}},
604250003Sadrian
605250003Sadrian	    {{{1, 60},
606250003Sadrian	      {1, 60},
607250003Sadrian	      {1, 60},
608250003Sadrian	      {0, 60},
609250003Sadrian	      {0, 60},
610250003Sadrian	      {0, 60},
611250003Sadrian	      {0, 60},
612250003Sadrian	      {0, 60}}},
613250003Sadrian
614250003Sadrian	    {{{1, 60},
615250003Sadrian	      {1, 60},
616250003Sadrian	      {1, 60},
617250003Sadrian	      {1, 60},
618250003Sadrian	      {1, 60},
619250003Sadrian	      {0, 60},
620250003Sadrian	      {0, 60},
621250003Sadrian	      {0, 60}}},
622250003Sadrian
623250003Sadrian	    {{{1, 60},
624250003Sadrian	      {1, 60},
625250003Sadrian	      {1, 60},
626250003Sadrian	      {1, 60},
627250003Sadrian	      {1, 60},
628250003Sadrian	      {1, 60},
629250003Sadrian	      {1, 60},
630250003Sadrian	      {1, 60}}},
631250003Sadrian
632250003Sadrian	    {{{1, 60},
633250003Sadrian	      {1, 60},
634250003Sadrian	      {0, 60},
635250003Sadrian	      {1, 60},
636250003Sadrian	      {1, 60},
637250003Sadrian	      {1, 60},
638250003Sadrian	      {1, 60},
639250003Sadrian	      {0, 60}}},
640250003Sadrian
641250003Sadrian	    {{{1, 60},
642250003Sadrian	      {0, 60},
643250003Sadrian	      {1, 60},
644250003Sadrian	      {1, 60},
645250003Sadrian	      {1, 60},
646250003Sadrian	      {1, 60},
647250003Sadrian	      {0, 60},
648250003Sadrian	      {1, 60}}},
649250003Sadrian	}
650250003Sadrian#else
651250003Sadrian	{
652250003Sadrian	    {{{60, 1},
653250003Sadrian	      {60, 1},
654250003Sadrian	      {60, 1},
655250003Sadrian	      {60, 1},
656250003Sadrian	      {60, 1},
657250003Sadrian	      {60, 1},
658250003Sadrian	      {60, 1},
659250003Sadrian	      {60, 0}}},
660250003Sadrian
661250003Sadrian	    {{{60, 1},
662250003Sadrian	      {60, 1},
663250003Sadrian	      {60, 1},
664250003Sadrian	      {60, 1},
665250003Sadrian	      {60, 1},
666250003Sadrian	      {60, 1},
667250003Sadrian	      {60, 1},
668250003Sadrian	      {60, 0}}},
669250003Sadrian
670250003Sadrian	    {{{60, 0},
671250003Sadrian	      {60, 1},
672250003Sadrian	      {60, 0},
673250003Sadrian	      {60, 1},
674250003Sadrian	      {60, 1},
675250003Sadrian	      {60, 1},
676250003Sadrian	      {60, 1},
677250003Sadrian	      {60, 1}}},
678250003Sadrian
679250003Sadrian	    {{{60, 0},
680250003Sadrian	      {60, 1},
681250003Sadrian	      {60, 1},
682250003Sadrian	      {60, 0},
683250003Sadrian	      {60, 1},
684250003Sadrian	      {60, 0},
685250003Sadrian	      {60, 0},
686250003Sadrian	      {60, 0}}},
687250003Sadrian
688250003Sadrian	    {{{60, 1},
689250003Sadrian	      {60, 1},
690250003Sadrian	      {60, 1},
691250003Sadrian	      {60, 0},
692250003Sadrian	      {60, 0},
693250003Sadrian	      {60, 0},
694250003Sadrian	      {60, 0},
695250003Sadrian	      {60, 0}}},
696250003Sadrian
697250003Sadrian	    {{{60, 1},
698250003Sadrian	      {60, 1},
699250003Sadrian	      {60, 1},
700250003Sadrian	      {60, 1},
701250003Sadrian	      {60, 1},
702250003Sadrian	      {60, 0},
703250003Sadrian	      {60, 0},
704250003Sadrian	      {60, 0}}},
705250003Sadrian
706250003Sadrian	    {{{60, 1},
707250003Sadrian	      {60, 1},
708250003Sadrian	      {60, 1},
709250003Sadrian	      {60, 1},
710250003Sadrian	      {60, 1},
711250003Sadrian	      {60, 1},
712250003Sadrian	      {60, 1},
713250003Sadrian	      {60, 1}}},
714250003Sadrian
715250003Sadrian	    {{{60, 1},
716250003Sadrian	      {60, 1},
717250003Sadrian	      {60, 0},
718250003Sadrian	      {60, 1},
719250003Sadrian	      {60, 1},
720250003Sadrian	      {60, 1},
721250003Sadrian	      {60, 1},
722250003Sadrian	      {60, 0}}},
723250003Sadrian
724250003Sadrian	    {{{60, 1},
725250003Sadrian	      {60, 0},
726250003Sadrian	      {60, 1},
727250003Sadrian	      {60, 1},
728250003Sadrian	      {60, 1},
729250003Sadrian	      {60, 1},
730250003Sadrian	      {60, 0},
731250003Sadrian	      {60, 1}}},
732250003Sadrian	}
733250003Sadrian#endif
734250003Sadrian};
735250003Sadrian
736250003Sadrian#endif
737250003Sadrian
738