ar9300template_wasp_2.h revision 250007
1227825Stheraven/* 2227825Stheraven * Copyright (c) 2013 Qualcomm Atheros, Inc. 3227825Stheraven * 4227825Stheraven * Permission to use, copy, modify, and/or distribute this software for any 5227825Stheraven * purpose with or without fee is hereby granted, provided that the above 6227825Stheraven * copyright notice and this permission notice appear in all copies. 7227825Stheraven * 8227825Stheraven * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 9227825Stheraven * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 10227825Stheraven * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 11227825Stheraven * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 12227825Stheraven * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 13227825Stheraven * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 14227825Stheraven * PERFORMANCE OF THIS SOFTWARE. 15227825Stheraven */ 16227825Stheraven 17227825Stheraven/* 18227825Stheraven * READ THIS NOTICE! 19227825Stheraven * 20300770Sdim * Values defined in this file may only be changed under exceptional circumstances. 21227825Stheraven * 22227825Stheraven * Please ask Fiona Cain before making any changes. 23227825Stheraven */ 24232924Stheraven 25232924Stheraven#ifndef __ar9300template_wasp_2_h__ 26227825Stheraven#define __ar9300template_wasp_2_h__ 27227825Stheravenstatic ar9300_eeprom_t ar9300_template_wasp_2= 28227825Stheraven{ 29227825Stheraven 30227825Stheraven 2, // eepromVersion; 31227825Stheraven 32227825Stheraven ar9300_eeprom_template_wasp_2, // templateVersion; 33227825Stheraven 34227825Stheraven {0x00,0x03,0x7f,0x0,0x0,0x0}, //mac_addr[6]; 35227825Stheraven 36232924Stheraven //static A_UINT8 custData[OSPREY_CUSTOMER_DATA_SIZE]= 37227825Stheraven 38227825Stheraven {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, 39227825Stheraven 40227825Stheraven //static OSPREY_BASE_EEP_HEADER baseEepHeader= 41227825Stheraven 42227825Stheraven { 43232924Stheraven {0,0x1f}, // regDmn[2]; //Does this need to be outside of this structure, if it gets written after calibration 44232924Stheraven 0x33, // txrxMask; //4 bits tx and 4 bits rx 45227825Stheraven {AR9300_OPFLAGS_11G | AR9300_OPFLAGS_11A, 3}, // opCapFlags; 46227825Stheraven 0, // rfSilent; 47227825Stheraven 0, // blueToothOptions; 48227825Stheraven 0, // deviceCap; 49227825Stheraven 4, // deviceType; // takes lower byte in eeprom location 50227825Stheraven OSPREY_PWR_TABLE_OFFSET, // pwrTableOffset; // offset in dB to be added to beginning of pdadc table in calibration 51227825Stheraven {0,0}, // params_for_tuning_caps[2]; //placeholder, get more details from Don 52227825Stheraven 0x0c, //featureEnable; //bit0 - enable tx temp comp 53227825Stheraven //bit1 - enable tx volt comp 54227825Stheraven //bit2 - enable fastClock - default to 1 55232924Stheraven //bit3 - enable doubling - default to 1 56227825Stheraven //bit4 - enable internal regulator - default to 0 57227825Stheraven 0, //miscConfiguration: bit0 - turn down drivestrength 58227825Stheraven 3, // eepromWriteEnableGpio 59227825Stheraven 0, // wlanDisableGpio 60227825Stheraven 8, // wlanLedGpio 61227825Stheraven 0xff, // rxBandSelectGpio 62232924Stheraven 0, // txrxgain 63232924Stheraven 0, // swreg 64227825Stheraven }, 65227825Stheraven 66227825Stheraven 67227825Stheraven //static OSPREY_MODAL_EEP_HEADER modalHeader2G= 68227825Stheraven { 69227825Stheraven 70227825Stheraven 0x220, // antCtrlCommon; // 4 idle, t1, t2, b (4 bits per setting) 71227825Stheraven 0x88888, // antCtrlCommon2; // 4 ra1l1, ra2l1, ra1l2, ra2l2, ra12 72227825Stheraven {0x150,0x150,0x150}, // antCtrlChain[OSPREY_MAX_CHAINS]; // 6 idle, t, r, rx1, rx12, b (2 bits each) 73227825Stheraven {0,0,0}, // xatten1DB[OSPREY_MAX_CHAINS]; // 3 //xatten1_db for merlin (0xa20c/b20c 5:0) 74232924Stheraven {0,0,0}, // xatten1Margin[OSPREY_MAX_CHAINS]; // 3 //xatten1_margin for merlin (0xa20c/b20c 16:12 75227825Stheraven 36, // tempSlope; 76227825Stheraven 0, // voltSlope; 77227825Stheraven {0,0,0,0,0}, // spurChans[OSPREY_EEPROM_MODAL_SPURS]; // spur channels in usual fbin coding format 78227825Stheraven {-1,0,0}, // noiseFloorThreshCh[OSPREY_MAX_CHAINS]; // 3 //Check if the register is per chain 79227825Stheraven {0, 0, 0, 0, 0, 0,0,0,0,0,0}, // reserved 80227825Stheraven 0, // quick drop 81232924Stheraven 0, // xpaBiasLvl; // 1 82232924Stheraven 0x0e, // txFrameToDataStart; // 1 83227825Stheraven 0x0e, // txFrameToPaOn; // 1 84227825Stheraven 3, // txClip; // 4 bits tx_clip, 4 bits dac_scale_cck 85227825Stheraven 0, // antennaGain; // 1 86227825Stheraven 0x2c, // switchSettling; // 1 87227825Stheraven -30, // adcDesiredSize; // 1 88227825Stheraven 0, // txEndToXpaOff; // 1 89227825Stheraven 0x2, // txEndToRxOn; // 1 90227825Stheraven 0xe, // txFrameToXpaOn; // 1 91227825Stheraven 28, // thresh62; // 1 92227825Stheraven 0x0c80C080, // papdRateMaskHt20 // 4 93232924Stheraven 0x0080C080, // papdRateMaskHt40 94227825Stheraven 0, // switchcomspdt; // 2 95227825Stheraven 0, // bit: 0,1:chain0, 2,3:chain1, 4,5:chain2 96227825Stheraven 0, // rf_gain_cap 97227825Stheraven 0, // tx_gain_cap 98227825Stheraven {0,0,0,0,0} //futureModal[5]; 99227825Stheraven }, 100227825Stheraven 101227825Stheraven { 102232924Stheraven 0, // ant_div_control 103232924Stheraven {0,0}, // base_ext1 104232924Stheraven 0, // misc_enable 105227825Stheraven {0,0,0,0,0,0,0,0}, // temp slop extension 106232924Stheraven 0, // quick drop low 107227825Stheraven 0, // quick drop high 108232924Stheraven }, 109232924Stheraven 110232924Stheraven //static A_UINT8 calFreqPier2G[OSPREY_NUM_2G_CAL_PIERS]= 111232924Stheraven { 112227825Stheraven FREQ2FBIN(2412, 1), 113227825Stheraven FREQ2FBIN(2437, 1), 114232924Stheraven FREQ2FBIN(2472, 1) 115227825Stheraven }, 116227825Stheraven 117227825Stheraven //static OSP_CAL_DATA_PER_FREQ_OP_LOOP calPierData2G[OSPREY_MAX_CHAINS][OSPREY_NUM_2G_CAL_PIERS]= 118227825Stheraven 119227825Stheraven { {{0,0,0,0,0,0}, {0,0,0,0,0,0}, {0,0,0,0,0,0}}, 120227825Stheraven {{0,0,0,0,0,0}, {0,0,0,0,0,0}, {0,0,0,0,0,0}}, 121232924Stheraven {{0,0,0,0,0,0}, {0,0,0,0,0,0}, {0,0,0,0,0,0}}, 122232924Stheraven }, 123232924Stheraven 124227825Stheraven //A_UINT8 calTarget_freqbin_Cck[OSPREY_NUM_2G_CCK_TARGET_POWERS]; 125288943Sdim 126288943Sdim { 127232924Stheraven FREQ2FBIN(2412, 1), 128232924Stheraven FREQ2FBIN(2484, 1) 129232924Stheraven }, 130227825Stheraven 131227825Stheraven //static CAL_TARGET_POWER_LEG calTarget_freqbin_2G[OSPREY_NUM_2G_20_TARGET_POWERS] 132227825Stheraven { 133227825Stheraven FREQ2FBIN(2412, 1), 134232924Stheraven FREQ2FBIN(2437, 1), 135227825Stheraven FREQ2FBIN(2472, 1) 136232924Stheraven }, 137227825Stheraven 138227825Stheraven //static OSP_CAL_TARGET_POWER_HT calTarget_freqbin_2GHT20[OSPREY_NUM_2G_20_TARGET_POWERS] 139227825Stheraven { 140227825Stheraven FREQ2FBIN(2412, 1), 141232924Stheraven FREQ2FBIN(2437, 1), 142227825Stheraven FREQ2FBIN(2472, 1) 143232924Stheraven }, 144227825Stheraven 145232924Stheraven //static OSP_CAL_TARGET_POWER_HT calTarget_freqbin_2GHT40[OSPREY_NUM_2G_40_TARGET_POWERS] 146227825Stheraven { 147227825Stheraven FREQ2FBIN(2412, 1), 148232924Stheraven FREQ2FBIN(2437, 1), 149227825Stheraven FREQ2FBIN(2472, 1) 150232924Stheraven }, 151227825Stheraven 152288943Sdim //static CAL_TARGET_POWER_LEG calTargetPowerCck[OSPREY_NUM_2G_CCK_TARGET_POWERS]= 153288943Sdim { 154232924Stheraven //1L-5L,5S,11L,11S 155232924Stheraven {{36,36,36,36}}, 156227825Stheraven {{36,36,36,36}} 157227825Stheraven }, 158227825Stheraven 159232924Stheraven //static CAL_TARGET_POWER_LEG calTargetPower2G[OSPREY_NUM_2G_20_TARGET_POWERS]= 160232924Stheraven { 161232924Stheraven //6-24,36,48,54 162227825Stheraven {{32,32,28,24}}, 163288943Sdim {{32,32,28,24}}, 164288943Sdim {{32,32,28,24}}, 165227825Stheraven }, 166227825Stheraven 167227825Stheraven //static OSP_CAL_TARGET_POWER_HT calTargetPower2GHT20[OSPREY_NUM_2G_20_TARGET_POWERS]= 168227825Stheraven { 169232924Stheraven //0_8_16,1-3_9-11_17-19, 170227825Stheraven // 4,5,6,7,12,13,14,15,20,21,22,23 171232924Stheraven {{32,32,32,32,28,20,32,32,28,20,32,32,28,20}}, 172227825Stheraven {{32,32,32,32,28,20,32,32,28,20,32,32,28,20}}, 173232924Stheraven {{32,32,32,32,28,20,32,32,28,20,32,32,28,20}}, 174227825Stheraven }, 175227825Stheraven 176227825Stheraven //static OSP_CAL_TARGET_POWER_HT calTargetPower2GHT40[OSPREY_NUM_2G_40_TARGET_POWERS]= 177227825Stheraven { 178232924Stheraven //0_8_16,1-3_9-11_17-19, 179227825Stheraven // 4,5,6,7,12,13,14,15,20,21,22,23 180232924Stheraven {{32,32,32,32,28,20,32,32,28,20,32,32,28,20}}, 181227825Stheraven {{32,32,32,32,28,20,32,32,28,20,32,32,28,20}}, 182232924Stheraven {{32,32,32,32,28,20,32,32,28,20,32,32,28,20}}, 183227825Stheraven }, 184227825Stheraven 185227825Stheraven//static A_UINT8 ctlIndex_2G[OSPREY_NUM_CTLS_2G]= 186227825Stheraven 187232924Stheraven { 188232924Stheraven 189232924Stheraven 0x11, 190227825Stheraven 0x12, 191232924Stheraven 0x15, 192227825Stheraven 0x17, 193232924Stheraven 0x41, 194232924Stheraven 0x42, 195227825Stheraven 0x45, 196232924Stheraven 0x47, 197232924Stheraven 0x31, 198227825Stheraven 0x32, 199227825Stheraven 0x35, 200232924Stheraven 0x37 201227825Stheraven 202227825Stheraven }, 203227825Stheraven 204227825Stheraven//A_UINT8 ctl_freqbin_2G[OSPREY_NUM_CTLS_2G][OSPREY_NUM_BAND_EDGES_2G]; 205227825Stheraven 206227825Stheraven { 207232924Stheraven {FREQ2FBIN(2412, 1), 208232924Stheraven FREQ2FBIN(2417, 1), 209232924Stheraven FREQ2FBIN(2457, 1), 210227825Stheraven FREQ2FBIN(2462, 1)}, 211288943Sdim 212288943Sdim {FREQ2FBIN(2412, 1), 213232924Stheraven FREQ2FBIN(2417, 1), 214232924Stheraven FREQ2FBIN(2462, 1), 215232924Stheraven 0xFF}, 216227825Stheraven 217227825Stheraven {FREQ2FBIN(2412, 1), 218227825Stheraven FREQ2FBIN(2417, 1), 219227825Stheraven FREQ2FBIN(2462, 1), 220232924Stheraven 0xFF}, 221227825Stheraven 222232924Stheraven {FREQ2FBIN(2422, 1), 223227825Stheraven FREQ2FBIN(2427, 1), 224227825Stheraven FREQ2FBIN(2447, 1), 225227825Stheraven FREQ2FBIN(2452, 1)}, 226227825Stheraven 227232924Stheraven {/*Data[4].ctlEdges[0].bChannel*/FREQ2FBIN(2412, 1), 228227825Stheraven /*Data[4].ctlEdges[1].bChannel*/FREQ2FBIN(2417, 1), 229232924Stheraven /*Data[4].ctlEdges[2].bChannel*/FREQ2FBIN(2472, 1), 230227825Stheraven /*Data[4].ctlEdges[3].bChannel*/FREQ2FBIN(2484, 1)}, 231232924Stheraven 232227825Stheraven {/*Data[5].ctlEdges[0].bChannel*/FREQ2FBIN(2412, 1), 233227825Stheraven /*Data[5].ctlEdges[1].bChannel*/FREQ2FBIN(2417, 1), 234232924Stheraven /*Data[5].ctlEdges[2].bChannel*/FREQ2FBIN(2472, 1), 235227825Stheraven 0}, 236232924Stheraven 237227825Stheraven {/*Data[6].ctlEdges[0].bChannel*/FREQ2FBIN(2412, 1), 238288943Sdim /*Data[6].ctlEdges[1].bChannel*/FREQ2FBIN(2417, 1), 239288943Sdim FREQ2FBIN(2472, 1), 240232924Stheraven 0}, 241232924Stheraven 242227825Stheraven {/*Data[7].ctlEdges[0].bChannel*/FREQ2FBIN(2422, 1), 243227825Stheraven /*Data[7].ctlEdges[1].bChannel*/FREQ2FBIN(2427, 1), 244227825Stheraven /*Data[7].ctlEdges[2].bChannel*/FREQ2FBIN(2447, 1), 245232924Stheraven /*Data[7].ctlEdges[3].bChannel*/FREQ2FBIN(2462, 1)}, 246232924Stheraven 247232924Stheraven {/*Data[8].ctlEdges[0].bChannel*/FREQ2FBIN(2412, 1), 248227825Stheraven /*Data[8].ctlEdges[1].bChannel*/FREQ2FBIN(2417, 1), 249288943Sdim /*Data[8].ctlEdges[2].bChannel*/FREQ2FBIN(2472, 1), 250288943Sdim 0}, 251227825Stheraven 252227825Stheraven {/*Data[9].ctlEdges[0].bChannel*/FREQ2FBIN(2412, 1), 253227825Stheraven /*Data[9].ctlEdges[1].bChannel*/FREQ2FBIN(2417, 1), 254227825Stheraven /*Data[9].ctlEdges[2].bChannel*/FREQ2FBIN(2472, 1), 255232924Stheraven 0}, 256227825Stheraven 257232924Stheraven {/*Data[10].ctlEdges[0].bChannel*/FREQ2FBIN(2412, 1), 258227825Stheraven /*Data[10].ctlEdges[1].bChannel*/FREQ2FBIN(2417, 1), 259232924Stheraven /*Data[10].ctlEdges[2].bChannel*/FREQ2FBIN(2472, 1), 260227825Stheraven 0}, 261227825Stheraven 262227825Stheraven {/*Data[11].ctlEdges[0].bChannel*/FREQ2FBIN(2422, 1), 263227825Stheraven /*Data[11].ctlEdges[1].bChannel*/FREQ2FBIN(2427, 1), 264232924Stheraven /*Data[11].ctlEdges[2].bChannel*/FREQ2FBIN(2447, 1), 265227825Stheraven /*Data[11].ctlEdges[3].bChannel*/FREQ2FBIN(2462, 1)} 266232924Stheraven }, 267227825Stheraven 268232924Stheraven 269227825Stheraven//OSP_CAL_CTL_DATA_2G ctlPowerData_2G[OSPREY_NUM_CTLS_2G]; 270227825Stheraven 271227825Stheraven#if AH_BYTE_ORDER == AH_BIG_ENDIAN 272227825Stheraven { 273232924Stheraven 274232924Stheraven {{{0, 60}, {1, 60}, {0, 60}, {0, 60}}}, 275232924Stheraven {{{0, 60}, {1, 60}, {0, 60}, {0, 60}}}, 276227825Stheraven {{{1, 60}, {0, 60}, {0, 60}, {1, 60}}}, 277232924Stheraven 278227825Stheraven {{{1, 60}, {0, 60}, {0, 60}, {0, 60}}}, 279232924Stheraven {{{0, 60}, {1, 60}, {0, 60}, {0, 60}}}, 280232924Stheraven {{{0, 60}, {1, 60}, {0, 60}, {0, 60}}}, 281227825Stheraven 282232924Stheraven {{{0, 60}, {1, 60}, {1, 60}, {0, 60}}}, 283232924Stheraven {{{0, 60}, {1, 60}, {0, 60}, {0, 60}}}, 284227825Stheraven {{{0, 60}, {1, 60}, {0, 60}, {0, 60}}}, 285227825Stheraven 286232924Stheraven {{{0, 60}, {1, 60}, {0, 60}, {0, 60}}}, 287227825Stheraven {{{0, 60}, {1, 60}, {1, 60}, {1, 60}}}, 288227825Stheraven {{{0, 60}, {1, 60}, {1, 60}, {1, 60}}}, 289227825Stheraven 290227825Stheraven }, 291227825Stheraven#else 292227825Stheraven { 293232924Stheraven {{{60, 0}, {60, 1}, {60, 0}, {60, 0}}}, 294232924Stheraven {{{60, 0}, {60, 1}, {60, 0}, {60, 0}}}, 295232924Stheraven {{{60, 1}, {60, 0}, {60, 0}, {60, 1}}}, 296227825Stheraven 297288943Sdim {{{60, 1}, {60, 0}, {60, 0}, {60, 0}}}, 298288943Sdim {{{60, 0}, {60, 1}, {60, 0}, {60, 0}}}, 299232924Stheraven {{{60, 0}, {60, 1}, {60, 0}, {60, 0}}}, 300232924Stheraven 301232924Stheraven {{{60, 0}, {60, 1}, {60, 1}, {60, 0}}}, 302227825Stheraven {{{60, 0}, {60, 1}, {60, 0}, {60, 0}}}, 303227825Stheraven {{{60, 0}, {60, 1}, {60, 0}, {60, 0}}}, 304227825Stheraven 305227825Stheraven {{{60, 0}, {60, 1}, {60, 0}, {60, 0}}}, 306232924Stheraven {{{60, 0}, {60, 1}, {60, 1}, {60, 1}}}, 307227825Stheraven {{{60, 0}, {60, 1}, {60, 1}, {60, 1}}}, 308232924Stheraven }, 309227825Stheraven#endif 310227825Stheraven 311227825Stheraven//static OSPREY_MODAL_EEP_HEADER modalHeader5G= 312227825Stheraven 313232924Stheraven { 314227825Stheraven 315232924Stheraven 0x440, // antCtrlCommon; // 4 idle, t1, t2, b (4 bits per setting) 316227825Stheraven 0x11111, // antCtrlCommon2; // 4 ra1l1, ra2l1, ra1l2, ra2l2, ra12 317232924Stheraven {0x000,0x000,0x000}, // antCtrlChain[OSPREY_MAX_CHAINS]; // 6 idle, t, r, rx1, rx12, b (2 bits each) 318227825Stheraven {0,0,0}, // xatten1DB[OSPREY_MAX_CHAINS]; // 3 //xatten1_db for merlin (0xa20c/b20c 5:0) 319227825Stheraven {0,0,0}, // xatten1Margin[OSPREY_MAX_CHAINS]; // 3 //xatten1_margin for merlin (0xa20c/b20c 16:12 320232924Stheraven 68, // tempSlope; 321227825Stheraven 0, // voltSlope; 322232924Stheraven {0,0,0,0,0}, // spurChans[OSPREY_EEPROM_MODAL_SPURS]; // spur channels in usual fbin coding format 323227825Stheraven {-1,0,0}, // noiseFloorThreshCh[OSPREY_MAX_CHAINS]; // 3 //Check if the register is per chain 324288943Sdim {0, 0, 0, 0, 0, 0,0,0,0,0,0}, // reserved 325288943Sdim 0, // quick drop 326232924Stheraven 0, // xpaBiasLvl; // 1 327232924Stheraven 0x0e, // txFrameToDataStart; // 1 328227825Stheraven 0x0e, // txFrameToPaOn; // 1 329227825Stheraven 3, // txClip; // 4 bits tx_clip, 4 bits dac_scale_cck 330227825Stheraven 0, // antennaGain; // 1 331232924Stheraven 0x2d, // switchSettling; // 1 332232924Stheraven -30, // adcDesiredSize; // 1 333232924Stheraven 0, // txEndToXpaOff; // 1 334227825Stheraven 0x2, // txEndToRxOn; // 1 335288943Sdim 0xe, // txFrameToXpaOn; // 1 336288943Sdim 28, // thresh62; // 1 337227825Stheraven 0x0cf0e0e0, // papdRateMaskHt20 // 4 338227825Stheraven 0x6cf0e0e0, // papdRateMaskHt40 // 4 339227825Stheraven 0, // switchcomspdt; // 2 340227825Stheraven 0, // bit: 0,1:chain0, 2,3:chain1, 4,5:chain2 341232924Stheraven 0, // rf_gain_cap 342227825Stheraven 0, // tx_gain_cap 343232924Stheraven {0,0,0,0,0} //futureModal[5]; 344227825Stheraven }, 345232924Stheraven 346227825Stheraven { // base_ext2 347227825Stheraven 0, 348227825Stheraven 0, 349227825Stheraven {0,0,0}, 350232924Stheraven {0,0,0}, 351227825Stheraven {0,0,0}, 352232924Stheraven {0,0,0} 353227825Stheraven }, 354232924Stheraven 355227825Stheraven//static A_UINT8 calFreqPier5G[OSPREY_NUM_5G_CAL_PIERS]= 356227825Stheraven { 357227825Stheraven //pPiers[0] = 358227825Stheraven FREQ2FBIN(5180, 0), 359232924Stheraven //pPiers[1] = 360232924Stheraven FREQ2FBIN(5220, 0), 361232924Stheraven //pPiers[2] = 362227825Stheraven FREQ2FBIN(5320, 0), 363232924Stheraven //pPiers[3] = 364227825Stheraven FREQ2FBIN(5400, 0), 365232924Stheraven //pPiers[4] = 366232924Stheraven FREQ2FBIN(5500, 0), 367227825Stheraven //pPiers[5] = 368232924Stheraven FREQ2FBIN(5600, 0), 369232924Stheraven //pPiers[6] = 370227825Stheraven FREQ2FBIN(5725, 0), 371227825Stheraven //pPiers[7] = 372232924Stheraven FREQ2FBIN(5825, 0) 373227825Stheraven }, 374227825Stheraven 375227825Stheraven//static OSP_CAL_DATA_PER_FREQ_OP_LOOP calPierData5G[OSPREY_MAX_CHAINS][OSPREY_NUM_5G_CAL_PIERS]= 376227825Stheraven 377227825Stheraven { 378227825Stheraven {{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}}, 379232924Stheraven {{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}}, 380232924Stheraven {{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}}, 381232924Stheraven 382227825Stheraven }, 383288943Sdim 384288943Sdim//static CAL_TARGET_POWER_LEG calTarget_freqbin_5G[OSPREY_NUM_5G_20_TARGET_POWERS]= 385232924Stheraven 386232924Stheraven { 387232924Stheraven FREQ2FBIN(5180, 0), 388227825Stheraven FREQ2FBIN(5220, 0), 389227825Stheraven FREQ2FBIN(5320, 0), 390227825Stheraven FREQ2FBIN(5400, 0), 391227825Stheraven FREQ2FBIN(5500, 0), 392232924Stheraven FREQ2FBIN(5600, 0), 393227825Stheraven FREQ2FBIN(5725, 0), 394232924Stheraven FREQ2FBIN(5825, 0) 395227825Stheraven }, 396227825Stheraven 397227825Stheraven//static OSP_CAL_TARGET_POWER_HT calTargetPower5GHT20[OSPREY_NUM_5G_20_TARGET_POWERS]= 398227825Stheraven 399232924Stheraven { 400227825Stheraven FREQ2FBIN(5180, 0), 401232924Stheraven FREQ2FBIN(5240, 0), 402227825Stheraven FREQ2FBIN(5320, 0), 403232924Stheraven FREQ2FBIN(5500, 0), 404227825Stheraven FREQ2FBIN(5700, 0), 405227825Stheraven FREQ2FBIN(5745, 0), 406232924Stheraven FREQ2FBIN(5725, 0), 407227825Stheraven FREQ2FBIN(5825, 0) 408232924Stheraven }, 409227825Stheraven 410288943Sdim//static OSP_CAL_TARGET_POWER_HT calTargetPower5GHT40[OSPREY_NUM_5G_40_TARGET_POWERS]= 411288943Sdim 412232924Stheraven { 413232924Stheraven FREQ2FBIN(5180, 0), 414227825Stheraven FREQ2FBIN(5240, 0), 415227825Stheraven FREQ2FBIN(5320, 0), 416227825Stheraven FREQ2FBIN(5500, 0), 417232924Stheraven FREQ2FBIN(5700, 0), 418232924Stheraven FREQ2FBIN(5745, 0), 419232924Stheraven FREQ2FBIN(5725, 0), 420227825Stheraven FREQ2FBIN(5825, 0) 421288943Sdim }, 422288943Sdim 423227825Stheraven 424227825Stheraven//static CAL_TARGET_POWER_LEG calTargetPower5G[OSPREY_NUM_5G_20_TARGET_POWERS]= 425227825Stheraven 426227825Stheraven 427232924Stheraven { 428227825Stheraven //6-24,36,48,54 429232924Stheraven {{20,20,20,10}}, 430227825Stheraven {{20,20,20,10}}, 431232924Stheraven {{20,20,20,10}}, 432227825Stheraven {{20,20,20,10}}, 433227825Stheraven {{20,20,20,10}}, 434227825Stheraven {{20,20,20,10}}, 435227825Stheraven {{20,20,20,10}}, 436232924Stheraven {{20,20,20,10}}, 437227825Stheraven }, 438232924Stheraven 439227825Stheraven//static OSP_CAL_TARGET_POWER_HT calTargetPower5GHT20[OSPREY_NUM_5G_20_TARGET_POWERS]= 440232924Stheraven 441227825Stheraven { 442227825Stheraven //0_8_16,1-3_9-11_17-19, 443227825Stheraven // 4,5,6,7,12,13,14,15,20,21,22,23 444227825Stheraven {{20,20,10,10,0,0,10,10,0,0,10,10,0,0}}, 445227825Stheraven {{20,20,10,10,0,0,10,10,0,0,10,10,0,0}}, 446227825Stheraven {{20,20,10,10,0,0,10,10,0,0,10,10,0,0}}, 447232924Stheraven {{20,20,10,10,0,0,10,10,0,0,10,10,0,0}}, 448261272Sdim {{20,20,10,10,0,0,10,10,0,0,10,10,0,0}}, 449227825Stheraven {{20,20,10,10,0,0,10,10,0,0,10,10,0,0}}, 450232924Stheraven {{20,20,10,10,0,0,10,10,0,0,10,10,0,0}}, 451227825Stheraven {{20,20,10,10,0,0,10,10,0,0,10,10,0,0}}, 452227825Stheraven }, 453227825Stheraven 454227825Stheraven//static OSP_CAL_TARGET_POWER_HT calTargetPower5GHT40[OSPREY_NUM_5G_40_TARGET_POWERS]= 455232924Stheraven { 456227825Stheraven //0_8_16,1-3_9-11_17-19, 457227825Stheraven // 4,5,6,7,12,13,14,15,20,21,22,23 458227825Stheraven {{20,20,10,10,0,0,10,10,0,0,10,10,0,0}}, 459227825Stheraven {{20,20,10,10,0,0,10,10,0,0,10,10,0,0}}, 460227825Stheraven {{20,20,10,10,0,0,10,10,0,0,10,10,0,0}}, 461232924Stheraven {{20,20,10,10,0,0,10,10,0,0,10,10,0,0}}, 462232924Stheraven {{20,20,10,10,0,0,10,10,0,0,10,10,0,0}}, 463232924Stheraven {{20,20,10,10,0,0,10,10,0,0,10,10,0,0}}, 464227825Stheraven {{20,20,10,10,0,0,10,10,0,0,10,10,0,0}}, 465227825Stheraven {{20,20,10,10,0,0,10,10,0,0,10,10,0,0}}, 466227825Stheraven }, 467227825Stheraven 468227825Stheraven//static A_UINT8 ctlIndex_5G[OSPREY_NUM_CTLS_5G]= 469227825Stheraven 470227825Stheraven { 471227825Stheraven //pCtlIndex[0] = 472227825Stheraven 0x10, 473232924Stheraven //pCtlIndex[1] = 474232924Stheraven 0x16, 475232924Stheraven //pCtlIndex[2] = 476227825Stheraven 0x18, 477227825Stheraven //pCtlIndex[3] = 478227825Stheraven 0x40, 479232924Stheraven //pCtlIndex[4] = 480227825Stheraven 0x46, 481227825Stheraven //pCtlIndex[5] = 482232924Stheraven 0x48, 483227825Stheraven //pCtlIndex[6] = 484227825Stheraven 0x30, 485232924Stheraven //pCtlIndex[7] = 486227825Stheraven 0x36, 487227825Stheraven //pCtlIndex[8] = 488227825Stheraven 0x38 489227825Stheraven }, 490227825Stheraven 491232924Stheraven// A_UINT8 ctl_freqbin_5G[OSPREY_NUM_CTLS_5G][OSPREY_NUM_BAND_EDGES_5G]; 492227825Stheraven 493232924Stheraven { 494227825Stheraven {/* Data[0].ctlEdges[0].bChannel*/FREQ2FBIN(5180, 0), 495227825Stheraven /* Data[0].ctlEdges[1].bChannel*/FREQ2FBIN(5260, 0), 496227825Stheraven /* Data[0].ctlEdges[2].bChannel*/FREQ2FBIN(5280, 0), 497227825Stheraven /* Data[0].ctlEdges[3].bChannel*/FREQ2FBIN(5500, 0), 498227825Stheraven /* Data[0].ctlEdges[4].bChannel*/FREQ2FBIN(5600, 0), 499227825Stheraven /* Data[0].ctlEdges[5].bChannel*/FREQ2FBIN(5700, 0), 500227825Stheraven /* Data[0].ctlEdges[6].bChannel*/FREQ2FBIN(5745, 0), 501227825Stheraven /* Data[0].ctlEdges[7].bChannel*/FREQ2FBIN(5825, 0)}, 502227825Stheraven 503227825Stheraven {/* Data[1].ctlEdges[0].bChannel*/FREQ2FBIN(5180, 0), 504227825Stheraven /* Data[1].ctlEdges[1].bChannel*/FREQ2FBIN(5260, 0), 505227825Stheraven /* Data[1].ctlEdges[2].bChannel*/FREQ2FBIN(5280, 0), 506227825Stheraven /* Data[1].ctlEdges[3].bChannel*/FREQ2FBIN(5500, 0), 507232924Stheraven /* Data[1].ctlEdges[4].bChannel*/FREQ2FBIN(5520, 0), 508227825Stheraven /* Data[1].ctlEdges[5].bChannel*/FREQ2FBIN(5700, 0), 509227825Stheraven /* Data[1].ctlEdges[6].bChannel*/FREQ2FBIN(5745, 0), 510227825Stheraven /* Data[1].ctlEdges[7].bChannel*/FREQ2FBIN(5825, 0)}, 511227825Stheraven 512232924Stheraven {/* Data[2].ctlEdges[0].bChannel*/FREQ2FBIN(5190, 0), 513232924Stheraven /* Data[2].ctlEdges[1].bChannel*/FREQ2FBIN(5230, 0), 514227825Stheraven /* Data[2].ctlEdges[2].bChannel*/FREQ2FBIN(5270, 0), 515227825Stheraven /* Data[2].ctlEdges[3].bChannel*/FREQ2FBIN(5310, 0), 516227825Stheraven /* Data[2].ctlEdges[4].bChannel*/FREQ2FBIN(5510, 0), 517232924Stheraven /* Data[2].ctlEdges[5].bChannel*/FREQ2FBIN(5550, 0), 518232924Stheraven /* Data[2].ctlEdges[6].bChannel*/FREQ2FBIN(5670, 0), 519227825Stheraven /* Data[2].ctlEdges[7].bChannel*/FREQ2FBIN(5755, 0)}, 520227825Stheraven 521227825Stheraven {/* Data[3].ctlEdges[0].bChannel*/FREQ2FBIN(5180, 0), 522227825Stheraven /* Data[3].ctlEdges[1].bChannel*/FREQ2FBIN(5200, 0), 523227825Stheraven /* Data[3].ctlEdges[2].bChannel*/FREQ2FBIN(5260, 0), 524227825Stheraven /* Data[3].ctlEdges[3].bChannel*/FREQ2FBIN(5320, 0), 525227825Stheraven /* Data[3].ctlEdges[4].bChannel*/FREQ2FBIN(5500, 0), 526227825Stheraven /* Data[3].ctlEdges[5].bChannel*/FREQ2FBIN(5700, 0), 527227825Stheraven /* Data[3].ctlEdges[6].bChannel*/0xFF, 528227825Stheraven /* Data[3].ctlEdges[7].bChannel*/0xFF}, 529227825Stheraven 530227825Stheraven {/* Data[4].ctlEdges[0].bChannel*/FREQ2FBIN(5180, 0), 531232924Stheraven /* Data[4].ctlEdges[1].bChannel*/FREQ2FBIN(5260, 0), 532227825Stheraven /* Data[4].ctlEdges[2].bChannel*/FREQ2FBIN(5500, 0), 533232924Stheraven /* Data[4].ctlEdges[3].bChannel*/FREQ2FBIN(5700, 0), 534227825Stheraven /* Data[4].ctlEdges[4].bChannel*/0xFF, 535227825Stheraven /* Data[4].ctlEdges[5].bChannel*/0xFF, 536227825Stheraven /* Data[4].ctlEdges[6].bChannel*/0xFF, 537227825Stheraven /* Data[4].ctlEdges[7].bChannel*/0xFF}, 538227825Stheraven 539227825Stheraven {/* Data[5].ctlEdges[0].bChannel*/FREQ2FBIN(5190, 0), 540227825Stheraven /* Data[5].ctlEdges[1].bChannel*/FREQ2FBIN(5270, 0), 541227825Stheraven /* Data[5].ctlEdges[2].bChannel*/FREQ2FBIN(5310, 0), 542227825Stheraven /* Data[5].ctlEdges[3].bChannel*/FREQ2FBIN(5510, 0), 543227825Stheraven /* Data[5].ctlEdges[4].bChannel*/FREQ2FBIN(5590, 0), 544227825Stheraven /* Data[5].ctlEdges[5].bChannel*/FREQ2FBIN(5670, 0), 545227825Stheraven /* Data[5].ctlEdges[6].bChannel*/0xFF, 546232924Stheraven /* Data[5].ctlEdges[7].bChannel*/0xFF}, 547232924Stheraven 548232924Stheraven {/* Data[6].ctlEdges[0].bChannel*/FREQ2FBIN(5180, 0), 549232924Stheraven /* Data[6].ctlEdges[1].bChannel*/FREQ2FBIN(5200, 0), 550227825Stheraven /* Data[6].ctlEdges[2].bChannel*/FREQ2FBIN(5220, 0), 551227825Stheraven /* Data[6].ctlEdges[3].bChannel*/FREQ2FBIN(5260, 0), 552300770Sdim /* Data[6].ctlEdges[4].bChannel*/FREQ2FBIN(5500, 0), 553227825Stheraven /* Data[6].ctlEdges[5].bChannel*/FREQ2FBIN(5600, 0), 554232924Stheraven /* Data[6].ctlEdges[6].bChannel*/FREQ2FBIN(5700, 0), 555227825Stheraven /* Data[6].ctlEdges[7].bChannel*/FREQ2FBIN(5745, 0)}, 556227825Stheraven 557227825Stheraven {/* Data[7].ctlEdges[0].bChannel*/FREQ2FBIN(5180, 0), 558227825Stheraven /* Data[7].ctlEdges[1].bChannel*/FREQ2FBIN(5260, 0), 559227825Stheraven /* Data[7].ctlEdges[2].bChannel*/FREQ2FBIN(5320, 0), 560227825Stheraven /* Data[7].ctlEdges[3].bChannel*/FREQ2FBIN(5500, 0), 561227825Stheraven /* Data[7].ctlEdges[4].bChannel*/FREQ2FBIN(5560, 0), 562232924Stheraven /* Data[7].ctlEdges[5].bChannel*/FREQ2FBIN(5700, 0), 563232924Stheraven /* Data[7].ctlEdges[6].bChannel*/FREQ2FBIN(5745, 0), 564232924Stheraven /* Data[7].ctlEdges[7].bChannel*/FREQ2FBIN(5825, 0)}, 565232924Stheraven 566232924Stheraven {/* Data[8].ctlEdges[0].bChannel*/FREQ2FBIN(5190, 0), 567227825Stheraven /* Data[8].ctlEdges[1].bChannel*/FREQ2FBIN(5230, 0), 568227825Stheraven /* Data[8].ctlEdges[2].bChannel*/FREQ2FBIN(5270, 0), 569227825Stheraven /* Data[8].ctlEdges[3].bChannel*/FREQ2FBIN(5510, 0), 570227825Stheraven /* Data[8].ctlEdges[4].bChannel*/FREQ2FBIN(5550, 0), 571227825Stheraven /* Data[8].ctlEdges[5].bChannel*/FREQ2FBIN(5670, 0), 572232924Stheraven /* Data[8].ctlEdges[6].bChannel*/FREQ2FBIN(5755, 0), 573232924Stheraven /* Data[8].ctlEdges[7].bChannel*/FREQ2FBIN(5795, 0)} 574232924Stheraven }, 575232924Stheraven 576227825Stheraven//static OSP_CAL_CTL_DATA_5G ctlData_5G[OSPREY_NUM_CTLS_5G]= 577227825Stheraven 578227825Stheraven#if AH_BYTE_ORDER == AH_BIG_ENDIAN 579300770Sdim { 580227825Stheraven {{{1, 60}, 581232924Stheraven {1, 60}, 582227825Stheraven {1, 60}, 583227825Stheraven {1, 60}, 584227825Stheraven {1, 60}, 585288943Sdim {1, 60}, 586227825Stheraven {1, 60}, 587227825Stheraven {0, 60}}}, 588227825Stheraven 589288943Sdim {{{1, 60}, 590232924Stheraven {1, 60}, 591232924Stheraven {1, 60}, 592232924Stheraven {1, 60}, 593227825Stheraven {1, 60}, 594227825Stheraven {1, 60}, 595227825Stheraven {1, 60}, 596227825Stheraven {0, 60}}}, 597227825Stheraven 598227825Stheraven {{{0, 60}, 599232924Stheraven {1, 60}, 600232924Stheraven {0, 60}, 601232924Stheraven {1, 60}, 602227825Stheraven {1, 60}, 603227825Stheraven {1, 60}, 604227825Stheraven {1, 60}, 605227825Stheraven {1, 60}}}, 606227825Stheraven 607232924Stheraven {{{0, 60}, 608232924Stheraven {1, 60}, 609232924Stheraven {1, 60}, 610227825Stheraven {0, 60}, 611227825Stheraven {1, 60}, 612227825Stheraven {0, 60}, 613227825Stheraven {0, 60}, 614227825Stheraven {0, 60}}}, 615227825Stheraven 616288943Sdim {{{1, 60}, 617227825Stheraven {1, 60}, 618227825Stheraven {1, 60}, 619232924Stheraven {0, 60}, 620232924Stheraven {0, 60}, 621227825Stheraven {0, 60}, 622227825Stheraven {0, 60}, 623232924Stheraven {0, 60}}}, 624232924Stheraven 625227825Stheraven {{{1, 60}, 626232924Stheraven {1, 60}, 627227825Stheraven {1, 60}, 628227825Stheraven {1, 60}, 629227825Stheraven {1, 60}, 630227825Stheraven {0, 60}, 631227825Stheraven {0, 60}, 632232924Stheraven {0, 60}}}, 633232924Stheraven 634227825Stheraven {{{1, 60}, 635227825Stheraven {1, 60}, 636227825Stheraven {1, 60}, 637227825Stheraven {1, 60}, 638227825Stheraven {1, 60}, 639227825Stheraven {1, 60}, 640227825Stheraven {1, 60}, 641232924Stheraven {1, 60}}}, 642227825Stheraven 643232924Stheraven {{{1, 60}, 644227825Stheraven {1, 60}, 645227825Stheraven {0, 60}, 646227825Stheraven {1, 60}, 647227825Stheraven {1, 60}, 648227825Stheraven {1, 60}, 649227825Stheraven {1, 60}, 650227825Stheraven {0, 60}}}, 651227825Stheraven 652227825Stheraven {{{1, 60}, 653227825Stheraven {0, 60}, 654227825Stheraven {1, 60}, 655227825Stheraven {1, 60}, 656227825Stheraven {1, 60}, 657227825Stheraven {1, 60}, 658227825Stheraven {0, 60}, 659227825Stheraven {1, 60}}}, 660227825Stheraven } 661227825Stheraven#else 662227825Stheraven { 663227825Stheraven {{{60, 1}, 664227825Stheraven {60, 1}, 665227825Stheraven {60, 1}, 666227825Stheraven {60, 1}, 667227825Stheraven {60, 1}, 668227825Stheraven {60, 1}, 669227825Stheraven {60, 1}, 670227825Stheraven {60, 0}}}, 671227825Stheraven 672227825Stheraven {{{60, 1}, 673227825Stheraven {60, 1}, 674227825Stheraven {60, 1}, 675227825Stheraven {60, 1}, 676227825Stheraven {60, 1}, 677227825Stheraven {60, 1}, 678232924Stheraven {60, 1}, 679232924Stheraven {60, 0}}}, 680232924Stheraven 681227825Stheraven {{{60, 0}, 682227825Stheraven {60, 1}, 683227825Stheraven {60, 0}, 684227825Stheraven {60, 1}, 685227825Stheraven {60, 1}, 686227825Stheraven {60, 1}, 687227825Stheraven {60, 1}, 688227825Stheraven {60, 1}}}, 689227825Stheraven 690227825Stheraven {{{60, 0}, 691232924Stheraven {60, 1}, 692227825Stheraven {60, 1}, 693232924Stheraven {60, 0}, 694227825Stheraven {60, 1}, 695227825Stheraven {60, 0}, 696227825Stheraven {60, 0}, 697227825Stheraven {60, 0}}}, 698227825Stheraven 699227825Stheraven {{{60, 1}, 700232924Stheraven {60, 1}, 701232924Stheraven {60, 1}, 702232924Stheraven {60, 0}, 703232924Stheraven {60, 0}, 704227825Stheraven {60, 0}, 705227825Stheraven {60, 0}, 706232924Stheraven {60, 0}}}, 707232924Stheraven 708227825Stheraven {{{60, 1}, 709227825Stheraven {60, 1}, 710232924Stheraven {60, 1}, 711232924Stheraven {60, 1}, 712232924Stheraven {60, 1}, 713232924Stheraven {60, 0}, 714227825Stheraven {60, 0}, 715227825Stheraven {60, 0}}}, 716232924Stheraven 717232924Stheraven {{{60, 1}, 718227825Stheraven {60, 1}, 719227825Stheraven {60, 1}, 720227825Stheraven {60, 1}, 721227825Stheraven {60, 1}, 722232924Stheraven {60, 1}, 723261272Sdim {60, 1}, 724232924Stheraven {60, 1}}}, 725227825Stheraven 726232924Stheraven {{{60, 1}, 727227825Stheraven {60, 1}, 728227825Stheraven {60, 0}, 729227825Stheraven {60, 1}, 730227825Stheraven {60, 1}, 731232924Stheraven {60, 1}, 732227825Stheraven {60, 1}, 733227825Stheraven {60, 0}}}, 734227825Stheraven 735227825Stheraven {{{60, 1}, 736227825Stheraven {60, 0}, 737232924Stheraven {60, 1}, 738232924Stheraven {60, 1}, 739232924Stheraven {60, 1}, 740227825Stheraven {60, 1}, 741227825Stheraven {60, 0}, 742227825Stheraven {60, 1}}}, 743227825Stheraven } 744227825Stheraven#endif 745227825Stheraven}; 746227825Stheraven 747227825Stheraven#endif 748227825Stheraven