1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * SROM format definition. 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * Copyright (C) 2020, Broadcom. 5*4882a593Smuzhiyun * 6*4882a593Smuzhiyun * Unless you and Broadcom execute a separate written software license 7*4882a593Smuzhiyun * agreement governing use of this software, this software is licensed to you 8*4882a593Smuzhiyun * under the terms of the GNU General Public License version 2 (the "GPL"), 9*4882a593Smuzhiyun * available at http://www.broadcom.com/licenses/GPLv2.php, with the 10*4882a593Smuzhiyun * following added to such license: 11*4882a593Smuzhiyun * 12*4882a593Smuzhiyun * As a special exception, the copyright holders of this software give you 13*4882a593Smuzhiyun * permission to link this software with independent modules, and to copy and 14*4882a593Smuzhiyun * distribute the resulting executable under terms of your choice, provided that 15*4882a593Smuzhiyun * you also meet, for each linked independent module, the terms and conditions of 16*4882a593Smuzhiyun * the license of that module. An independent module is a module which is not 17*4882a593Smuzhiyun * derived from this software. The special exception does not apply to any 18*4882a593Smuzhiyun * modifications of the software. 19*4882a593Smuzhiyun * 20*4882a593Smuzhiyun * 21*4882a593Smuzhiyun * <<Broadcom-WL-IPTag/Dual:>> 22*4882a593Smuzhiyun */ 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun #ifndef _bcmsrom_fmt_h_ 25*4882a593Smuzhiyun #define _bcmsrom_fmt_h_ 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun #define SROM_MAXREV 18 /* max revision supported by driver */ 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun /* Maximum srom: 16 Kilobits == 2048 bytes */ 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun #define SROM_MAX 2048 32*4882a593Smuzhiyun #define SROM_MAXW 1024 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun #ifdef LARGE_NVRAM_MAXSZ 35*4882a593Smuzhiyun #define VARS_MAX LARGE_NVRAM_MAXSZ 36*4882a593Smuzhiyun #else 37*4882a593Smuzhiyun #if defined(BCMROMBUILD) || defined(DONGLEBUILD) 38*4882a593Smuzhiyun #define VARS_MAX 4096 39*4882a593Smuzhiyun #else 40*4882a593Smuzhiyun #define LARGE_NVRAM_MAXSZ 8192 41*4882a593Smuzhiyun #define VARS_MAX LARGE_NVRAM_MAXSZ 42*4882a593Smuzhiyun #endif /* BCMROMBUILD || DONGLEBUILD */ 43*4882a593Smuzhiyun #endif /* LARGE_NVRAM_MAXSZ */ 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun /* PCI fields */ 46*4882a593Smuzhiyun #define PCI_F0DEVID 48 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun /* SROM Rev 2: 1 Kilobit map for 11a/b/g devices. 49*4882a593Smuzhiyun * SROM Rev 3: Upward compatible modification for lpphy and PCIe 50*4882a593Smuzhiyun * hardware workaround. 51*4882a593Smuzhiyun */ 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun #define SROM_WORDS 64 54*4882a593Smuzhiyun #define SROM_SIGN_MINWORDS 128 55*4882a593Smuzhiyun #define SROM3_SWRGN_OFF 28 /* s/w region offset in words */ 56*4882a593Smuzhiyun 57*4882a593Smuzhiyun #define SROM_SSID 2 58*4882a593Smuzhiyun #define SROM_SVID 3 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun #define SROM_WL1LHMAXP 29 61*4882a593Smuzhiyun 62*4882a593Smuzhiyun #define SROM_WL1LPAB0 30 63*4882a593Smuzhiyun #define SROM_WL1LPAB1 31 64*4882a593Smuzhiyun #define SROM_WL1LPAB2 32 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun #define SROM_WL1HPAB0 33 67*4882a593Smuzhiyun #define SROM_WL1HPAB1 34 68*4882a593Smuzhiyun #define SROM_WL1HPAB2 35 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun #define SROM_MACHI_IL0 36 71*4882a593Smuzhiyun #define SROM_MACMID_IL0 37 72*4882a593Smuzhiyun #define SROM_MACLO_IL0 38 73*4882a593Smuzhiyun #define SROM_MACHI_ET0 39 74*4882a593Smuzhiyun #define SROM_MACMID_ET0 40 75*4882a593Smuzhiyun #define SROM_MACLO_ET0 41 76*4882a593Smuzhiyun #define SROM_MACHI_ET1 42 77*4882a593Smuzhiyun #define SROM_MACMID_ET1 43 78*4882a593Smuzhiyun #define SROM_MACLO_ET1 44 79*4882a593Smuzhiyun #define SROM3_MACHI 37 80*4882a593Smuzhiyun #define SROM3_MACMID 38 81*4882a593Smuzhiyun #define SROM3_MACLO 39 82*4882a593Smuzhiyun 83*4882a593Smuzhiyun #define SROM_BXARSSI2G 40 84*4882a593Smuzhiyun #define SROM_BXARSSI5G 41 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun #define SROM_TRI52G 42 87*4882a593Smuzhiyun #define SROM_TRI5GHL 43 88*4882a593Smuzhiyun 89*4882a593Smuzhiyun #define SROM_RXPO52G 45 90*4882a593Smuzhiyun 91*4882a593Smuzhiyun #define SROM2_ENETPHY 45 92*4882a593Smuzhiyun 93*4882a593Smuzhiyun #define SROM_AABREV 46 94*4882a593Smuzhiyun /* Fields in AABREV */ 95*4882a593Smuzhiyun #define SROM_BR_MASK 0x00ff 96*4882a593Smuzhiyun #define SROM_CC_MASK 0x0f00 97*4882a593Smuzhiyun #define SROM_CC_SHIFT 8 98*4882a593Smuzhiyun #define SROM_AA0_MASK 0x3000 99*4882a593Smuzhiyun #define SROM_AA0_SHIFT 12 100*4882a593Smuzhiyun #define SROM_AA1_MASK 0xc000 101*4882a593Smuzhiyun #define SROM_AA1_SHIFT 14 102*4882a593Smuzhiyun 103*4882a593Smuzhiyun #define SROM_WL0PAB0 47 104*4882a593Smuzhiyun #define SROM_WL0PAB1 48 105*4882a593Smuzhiyun #define SROM_WL0PAB2 49 106*4882a593Smuzhiyun 107*4882a593Smuzhiyun #define SROM_LEDBH10 50 108*4882a593Smuzhiyun #define SROM_LEDBH32 51 109*4882a593Smuzhiyun 110*4882a593Smuzhiyun #define SROM_WL10MAXP 52 111*4882a593Smuzhiyun 112*4882a593Smuzhiyun #define SROM_WL1PAB0 53 113*4882a593Smuzhiyun #define SROM_WL1PAB1 54 114*4882a593Smuzhiyun #define SROM_WL1PAB2 55 115*4882a593Smuzhiyun 116*4882a593Smuzhiyun #define SROM_ITT 56 117*4882a593Smuzhiyun 118*4882a593Smuzhiyun #define SROM_BFL 57 119*4882a593Smuzhiyun #define SROM_BFL2 28 120*4882a593Smuzhiyun #define SROM3_BFL2 61 121*4882a593Smuzhiyun 122*4882a593Smuzhiyun #define SROM_AG10 58 123*4882a593Smuzhiyun 124*4882a593Smuzhiyun #define SROM_CCODE 59 125*4882a593Smuzhiyun 126*4882a593Smuzhiyun #define SROM_OPO 60 127*4882a593Smuzhiyun 128*4882a593Smuzhiyun #define SROM3_LEDDC 62 129*4882a593Smuzhiyun 130*4882a593Smuzhiyun #define SROM_CRCREV 63 131*4882a593Smuzhiyun 132*4882a593Smuzhiyun /* SROM Rev 4: Reallocate the software part of the srom to accomodate 133*4882a593Smuzhiyun * MIMO features. It assumes up to two PCIE functions and 440 bytes 134*4882a593Smuzhiyun * of useable srom i.e. the useable storage in chips with OTP that 135*4882a593Smuzhiyun * implements hardware redundancy. 136*4882a593Smuzhiyun */ 137*4882a593Smuzhiyun 138*4882a593Smuzhiyun #define SROM4_WORDS 220 139*4882a593Smuzhiyun 140*4882a593Smuzhiyun #define SROM4_SIGN 32 141*4882a593Smuzhiyun #define SROM4_SIGNATURE 0x5372 142*4882a593Smuzhiyun 143*4882a593Smuzhiyun #define SROM4_BREV 33 144*4882a593Smuzhiyun 145*4882a593Smuzhiyun #define SROM4_BFL0 34 146*4882a593Smuzhiyun #define SROM4_BFL1 35 147*4882a593Smuzhiyun #define SROM4_BFL2 36 148*4882a593Smuzhiyun #define SROM4_BFL3 37 149*4882a593Smuzhiyun #define SROM5_BFL0 37 150*4882a593Smuzhiyun #define SROM5_BFL1 38 151*4882a593Smuzhiyun #define SROM5_BFL2 39 152*4882a593Smuzhiyun #define SROM5_BFL3 40 153*4882a593Smuzhiyun 154*4882a593Smuzhiyun #define SROM4_MACHI 38 155*4882a593Smuzhiyun #define SROM4_MACMID 39 156*4882a593Smuzhiyun #define SROM4_MACLO 40 157*4882a593Smuzhiyun #define SROM5_MACHI 41 158*4882a593Smuzhiyun #define SROM5_MACMID 42 159*4882a593Smuzhiyun #define SROM5_MACLO 43 160*4882a593Smuzhiyun 161*4882a593Smuzhiyun #define SROM4_CCODE 41 162*4882a593Smuzhiyun #define SROM4_REGREV 42 163*4882a593Smuzhiyun #define SROM5_CCODE 34 164*4882a593Smuzhiyun #define SROM5_REGREV 35 165*4882a593Smuzhiyun 166*4882a593Smuzhiyun #define SROM4_LEDBH10 43 167*4882a593Smuzhiyun #define SROM4_LEDBH32 44 168*4882a593Smuzhiyun #define SROM5_LEDBH10 59 169*4882a593Smuzhiyun #define SROM5_LEDBH32 60 170*4882a593Smuzhiyun 171*4882a593Smuzhiyun #define SROM4_LEDDC 45 172*4882a593Smuzhiyun #define SROM5_LEDDC 45 173*4882a593Smuzhiyun 174*4882a593Smuzhiyun #define SROM4_AA 46 175*4882a593Smuzhiyun #define SROM4_AA2G_MASK 0x00ff 176*4882a593Smuzhiyun #define SROM4_AA2G_SHIFT 0 177*4882a593Smuzhiyun #define SROM4_AA5G_MASK 0xff00 178*4882a593Smuzhiyun #define SROM4_AA5G_SHIFT 8 179*4882a593Smuzhiyun 180*4882a593Smuzhiyun #define SROM4_AG10 47 181*4882a593Smuzhiyun #define SROM4_AG32 48 182*4882a593Smuzhiyun 183*4882a593Smuzhiyun #define SROM4_TXPID2G 49 184*4882a593Smuzhiyun #define SROM4_TXPID5G 51 185*4882a593Smuzhiyun #define SROM4_TXPID5GL 53 186*4882a593Smuzhiyun #define SROM4_TXPID5GH 55 187*4882a593Smuzhiyun 188*4882a593Smuzhiyun #define SROM4_TXRXC 61 189*4882a593Smuzhiyun #define SROM4_TXCHAIN_MASK 0x000f 190*4882a593Smuzhiyun #define SROM4_TXCHAIN_SHIFT 0 191*4882a593Smuzhiyun #define SROM4_RXCHAIN_MASK 0x00f0 192*4882a593Smuzhiyun #define SROM4_RXCHAIN_SHIFT 4 193*4882a593Smuzhiyun #define SROM4_SWITCH_MASK 0xff00 194*4882a593Smuzhiyun #define SROM4_SWITCH_SHIFT 8 195*4882a593Smuzhiyun 196*4882a593Smuzhiyun /* Per-path fields */ 197*4882a593Smuzhiyun #define MAX_PATH_SROM 4 198*4882a593Smuzhiyun #define SROM4_PATH0 64 199*4882a593Smuzhiyun #define SROM4_PATH1 87 200*4882a593Smuzhiyun #define SROM4_PATH2 110 201*4882a593Smuzhiyun #define SROM4_PATH3 133 202*4882a593Smuzhiyun 203*4882a593Smuzhiyun #define SROM4_2G_ITT_MAXP 0 204*4882a593Smuzhiyun #define SROM4_2G_PA 1 205*4882a593Smuzhiyun #define SROM4_5G_ITT_MAXP 5 206*4882a593Smuzhiyun #define SROM4_5GLH_MAXP 6 207*4882a593Smuzhiyun #define SROM4_5G_PA 7 208*4882a593Smuzhiyun #define SROM4_5GL_PA 11 209*4882a593Smuzhiyun #define SROM4_5GH_PA 15 210*4882a593Smuzhiyun 211*4882a593Smuzhiyun /* Fields in the ITT_MAXP and 5GLH_MAXP words */ 212*4882a593Smuzhiyun #define B2G_MAXP_MASK 0xff 213*4882a593Smuzhiyun #define B2G_ITT_SHIFT 8 214*4882a593Smuzhiyun #define B5G_MAXP_MASK 0xff 215*4882a593Smuzhiyun #define B5G_ITT_SHIFT 8 216*4882a593Smuzhiyun #define B5GH_MAXP_MASK 0xff 217*4882a593Smuzhiyun #define B5GL_MAXP_SHIFT 8 218*4882a593Smuzhiyun 219*4882a593Smuzhiyun /* All the miriad power offsets */ 220*4882a593Smuzhiyun #define SROM4_2G_CCKPO 156 221*4882a593Smuzhiyun #define SROM4_2G_OFDMPO 157 222*4882a593Smuzhiyun #define SROM4_5G_OFDMPO 159 223*4882a593Smuzhiyun #define SROM4_5GL_OFDMPO 161 224*4882a593Smuzhiyun #define SROM4_5GH_OFDMPO 163 225*4882a593Smuzhiyun #define SROM4_2G_MCSPO 165 226*4882a593Smuzhiyun #define SROM4_5G_MCSPO 173 227*4882a593Smuzhiyun #define SROM4_5GL_MCSPO 181 228*4882a593Smuzhiyun #define SROM4_5GH_MCSPO 189 229*4882a593Smuzhiyun #define SROM4_CDDPO 197 230*4882a593Smuzhiyun #define SROM4_STBCPO 198 231*4882a593Smuzhiyun #define SROM4_BW40PO 199 232*4882a593Smuzhiyun #define SROM4_BWDUPPO 200 233*4882a593Smuzhiyun 234*4882a593Smuzhiyun #define SROM4_CRCREV 219 235*4882a593Smuzhiyun 236*4882a593Smuzhiyun /* SROM Rev 8: Make space for a 48word hardware header for PCIe rev >= 6. 237*4882a593Smuzhiyun * This is acombined srom for both MIMO and SISO boards, usable in 238*4882a593Smuzhiyun * the .130 4Kilobit OTP with hardware redundancy. 239*4882a593Smuzhiyun */ 240*4882a593Smuzhiyun 241*4882a593Smuzhiyun #define SROM8_SIGN 64 242*4882a593Smuzhiyun 243*4882a593Smuzhiyun #define SROM8_BREV 65 244*4882a593Smuzhiyun 245*4882a593Smuzhiyun #define SROM8_BFL0 66 246*4882a593Smuzhiyun #define SROM8_BFL1 67 247*4882a593Smuzhiyun #define SROM8_BFL2 68 248*4882a593Smuzhiyun #define SROM8_BFL3 69 249*4882a593Smuzhiyun 250*4882a593Smuzhiyun #define SROM8_MACHI 70 251*4882a593Smuzhiyun #define SROM8_MACMID 71 252*4882a593Smuzhiyun #define SROM8_MACLO 72 253*4882a593Smuzhiyun 254*4882a593Smuzhiyun #define SROM8_CCODE 73 255*4882a593Smuzhiyun #define SROM8_REGREV 74 256*4882a593Smuzhiyun 257*4882a593Smuzhiyun #define SROM8_LEDBH10 75 258*4882a593Smuzhiyun #define SROM8_LEDBH32 76 259*4882a593Smuzhiyun 260*4882a593Smuzhiyun #define SROM8_LEDDC 77 261*4882a593Smuzhiyun 262*4882a593Smuzhiyun #define SROM8_AA 78 263*4882a593Smuzhiyun 264*4882a593Smuzhiyun #define SROM8_AG10 79 265*4882a593Smuzhiyun #define SROM8_AG32 80 266*4882a593Smuzhiyun 267*4882a593Smuzhiyun #define SROM8_TXRXC 81 268*4882a593Smuzhiyun 269*4882a593Smuzhiyun #define SROM8_BXARSSI2G 82 270*4882a593Smuzhiyun #define SROM8_BXARSSI5G 83 271*4882a593Smuzhiyun #define SROM8_TRI52G 84 272*4882a593Smuzhiyun #define SROM8_TRI5GHL 85 273*4882a593Smuzhiyun #define SROM8_RXPO52G 86 274*4882a593Smuzhiyun 275*4882a593Smuzhiyun #define SROM8_FEM2G 87 276*4882a593Smuzhiyun #define SROM8_FEM5G 88 277*4882a593Smuzhiyun #define SROM8_FEM_ANTSWLUT_MASK 0xf800 278*4882a593Smuzhiyun #define SROM8_FEM_ANTSWLUT_SHIFT 11 279*4882a593Smuzhiyun #define SROM8_FEM_TR_ISO_MASK 0x0700 280*4882a593Smuzhiyun #define SROM8_FEM_TR_ISO_SHIFT 8 281*4882a593Smuzhiyun #define SROM8_FEM_PDET_RANGE_MASK 0x00f8 282*4882a593Smuzhiyun #define SROM8_FEM_PDET_RANGE_SHIFT 3 283*4882a593Smuzhiyun #define SROM8_FEM_EXTPA_GAIN_MASK 0x0006 284*4882a593Smuzhiyun #define SROM8_FEM_EXTPA_GAIN_SHIFT 1 285*4882a593Smuzhiyun #define SROM8_FEM_TSSIPOS_MASK 0x0001 286*4882a593Smuzhiyun #define SROM8_FEM_TSSIPOS_SHIFT 0 287*4882a593Smuzhiyun 288*4882a593Smuzhiyun #define SROM8_THERMAL 89 289*4882a593Smuzhiyun 290*4882a593Smuzhiyun /* Temp sense related entries */ 291*4882a593Smuzhiyun #define SROM8_MPWR_RAWTS 90 292*4882a593Smuzhiyun #define SROM8_TS_SLP_OPT_CORRX 91 293*4882a593Smuzhiyun /* FOC: freiquency offset correction, HWIQ: H/W IOCAL enable, IQSWP: IQ CAL swap disable */ 294*4882a593Smuzhiyun #define SROM8_FOC_HWIQ_IQSWP 92 295*4882a593Smuzhiyun 296*4882a593Smuzhiyun #define SROM8_EXTLNAGAIN 93 297*4882a593Smuzhiyun 298*4882a593Smuzhiyun /* Temperature delta for PHY calibration */ 299*4882a593Smuzhiyun #define SROM8_PHYCAL_TEMPDELTA 94 300*4882a593Smuzhiyun 301*4882a593Smuzhiyun /* Measured power 1 & 2, 0-13 bits at offset 95, MSB 2 bits are unused for now. */ 302*4882a593Smuzhiyun #define SROM8_MPWR_1_AND_2 95 303*4882a593Smuzhiyun 304*4882a593Smuzhiyun /* Per-path offsets & fields */ 305*4882a593Smuzhiyun #define SROM8_PATH0 96 306*4882a593Smuzhiyun #define SROM8_PATH1 112 307*4882a593Smuzhiyun #define SROM8_PATH2 128 308*4882a593Smuzhiyun #define SROM8_PATH3 144 309*4882a593Smuzhiyun 310*4882a593Smuzhiyun #define SROM8_2G_ITT_MAXP 0 311*4882a593Smuzhiyun #define SROM8_2G_PA 1 312*4882a593Smuzhiyun #define SROM8_5G_ITT_MAXP 4 313*4882a593Smuzhiyun #define SROM8_5GLH_MAXP 5 314*4882a593Smuzhiyun #define SROM8_5G_PA 6 315*4882a593Smuzhiyun #define SROM8_5GL_PA 9 316*4882a593Smuzhiyun #define SROM8_5GH_PA 12 317*4882a593Smuzhiyun 318*4882a593Smuzhiyun /* All the miriad power offsets */ 319*4882a593Smuzhiyun #define SROM8_2G_CCKPO 160 320*4882a593Smuzhiyun 321*4882a593Smuzhiyun #define SROM8_2G_OFDMPO 161 322*4882a593Smuzhiyun #define SROM8_5G_OFDMPO 163 323*4882a593Smuzhiyun #define SROM8_5GL_OFDMPO 165 324*4882a593Smuzhiyun #define SROM8_5GH_OFDMPO 167 325*4882a593Smuzhiyun 326*4882a593Smuzhiyun #define SROM8_2G_MCSPO 169 327*4882a593Smuzhiyun #define SROM8_5G_MCSPO 177 328*4882a593Smuzhiyun #define SROM8_5GL_MCSPO 185 329*4882a593Smuzhiyun #define SROM8_5GH_MCSPO 193 330*4882a593Smuzhiyun 331*4882a593Smuzhiyun #define SROM8_CDDPO 201 332*4882a593Smuzhiyun #define SROM8_STBCPO 202 333*4882a593Smuzhiyun #define SROM8_BW40PO 203 334*4882a593Smuzhiyun #define SROM8_BWDUPPO 204 335*4882a593Smuzhiyun 336*4882a593Smuzhiyun /* SISO PA parameters are in the path0 spaces */ 337*4882a593Smuzhiyun #define SROM8_SISO 96 338*4882a593Smuzhiyun 339*4882a593Smuzhiyun /* Legacy names for SISO PA paramters */ 340*4882a593Smuzhiyun #define SROM8_W0_ITTMAXP (SROM8_SISO + SROM8_2G_ITT_MAXP) 341*4882a593Smuzhiyun #define SROM8_W0_PAB0 (SROM8_SISO + SROM8_2G_PA) 342*4882a593Smuzhiyun #define SROM8_W0_PAB1 (SROM8_SISO + SROM8_2G_PA + 1) 343*4882a593Smuzhiyun #define SROM8_W0_PAB2 (SROM8_SISO + SROM8_2G_PA + 2) 344*4882a593Smuzhiyun #define SROM8_W1_ITTMAXP (SROM8_SISO + SROM8_5G_ITT_MAXP) 345*4882a593Smuzhiyun #define SROM8_W1_MAXP_LCHC (SROM8_SISO + SROM8_5GLH_MAXP) 346*4882a593Smuzhiyun #define SROM8_W1_PAB0 (SROM8_SISO + SROM8_5G_PA) 347*4882a593Smuzhiyun #define SROM8_W1_PAB1 (SROM8_SISO + SROM8_5G_PA + 1) 348*4882a593Smuzhiyun #define SROM8_W1_PAB2 (SROM8_SISO + SROM8_5G_PA + 2) 349*4882a593Smuzhiyun #define SROM8_W1_PAB0_LC (SROM8_SISO + SROM8_5GL_PA) 350*4882a593Smuzhiyun #define SROM8_W1_PAB1_LC (SROM8_SISO + SROM8_5GL_PA + 1) 351*4882a593Smuzhiyun #define SROM8_W1_PAB2_LC (SROM8_SISO + SROM8_5GL_PA + 2) 352*4882a593Smuzhiyun #define SROM8_W1_PAB0_HC (SROM8_SISO + SROM8_5GH_PA) 353*4882a593Smuzhiyun #define SROM8_W1_PAB1_HC (SROM8_SISO + SROM8_5GH_PA + 1) 354*4882a593Smuzhiyun #define SROM8_W1_PAB2_HC (SROM8_SISO + SROM8_5GH_PA + 2) 355*4882a593Smuzhiyun 356*4882a593Smuzhiyun #define SROM8_CRCREV 219 357*4882a593Smuzhiyun 358*4882a593Smuzhiyun /* SROM REV 9 */ 359*4882a593Smuzhiyun #define SROM9_2GPO_CCKBW20 160 360*4882a593Smuzhiyun #define SROM9_2GPO_CCKBW20UL 161 361*4882a593Smuzhiyun #define SROM9_2GPO_LOFDMBW20 162 362*4882a593Smuzhiyun #define SROM9_2GPO_LOFDMBW20UL 164 363*4882a593Smuzhiyun 364*4882a593Smuzhiyun #define SROM9_5GLPO_LOFDMBW20 166 365*4882a593Smuzhiyun #define SROM9_5GLPO_LOFDMBW20UL 168 366*4882a593Smuzhiyun #define SROM9_5GMPO_LOFDMBW20 170 367*4882a593Smuzhiyun #define SROM9_5GMPO_LOFDMBW20UL 172 368*4882a593Smuzhiyun #define SROM9_5GHPO_LOFDMBW20 174 369*4882a593Smuzhiyun #define SROM9_5GHPO_LOFDMBW20UL 176 370*4882a593Smuzhiyun 371*4882a593Smuzhiyun #define SROM9_2GPO_MCSBW20 178 372*4882a593Smuzhiyun #define SROM9_2GPO_MCSBW20UL 180 373*4882a593Smuzhiyun #define SROM9_2GPO_MCSBW40 182 374*4882a593Smuzhiyun 375*4882a593Smuzhiyun #define SROM9_5GLPO_MCSBW20 184 376*4882a593Smuzhiyun #define SROM9_5GLPO_MCSBW20UL 186 377*4882a593Smuzhiyun #define SROM9_5GLPO_MCSBW40 188 378*4882a593Smuzhiyun #define SROM9_5GMPO_MCSBW20 190 379*4882a593Smuzhiyun #define SROM9_5GMPO_MCSBW20UL 192 380*4882a593Smuzhiyun #define SROM9_5GMPO_MCSBW40 194 381*4882a593Smuzhiyun #define SROM9_5GHPO_MCSBW20 196 382*4882a593Smuzhiyun #define SROM9_5GHPO_MCSBW20UL 198 383*4882a593Smuzhiyun #define SROM9_5GHPO_MCSBW40 200 384*4882a593Smuzhiyun 385*4882a593Smuzhiyun #define SROM9_PO_MCS32 202 386*4882a593Smuzhiyun #define SROM9_PO_LOFDM40DUP 203 387*4882a593Smuzhiyun #define SROM9_EU_EDCRSTH 204 388*4882a593Smuzhiyun #define SROM10_EU_EDCRSTH 204 389*4882a593Smuzhiyun #define SROM8_RXGAINERR_2G 205 390*4882a593Smuzhiyun #define SROM8_RXGAINERR_5GL 206 391*4882a593Smuzhiyun #define SROM8_RXGAINERR_5GM 207 392*4882a593Smuzhiyun #define SROM8_RXGAINERR_5GH 208 393*4882a593Smuzhiyun #define SROM8_RXGAINERR_5GU 209 394*4882a593Smuzhiyun #define SROM8_SUBBAND_PPR 210 395*4882a593Smuzhiyun #define SROM8_PCIEINGRESS_WAR 211 396*4882a593Smuzhiyun #define SROM8_EU_EDCRSTH 212 397*4882a593Smuzhiyun #define SROM9_SAR 212 398*4882a593Smuzhiyun 399*4882a593Smuzhiyun #define SROM8_NOISELVL_2G 213 400*4882a593Smuzhiyun #define SROM8_NOISELVL_5GL 214 401*4882a593Smuzhiyun #define SROM8_NOISELVL_5GM 215 402*4882a593Smuzhiyun #define SROM8_NOISELVL_5GH 216 403*4882a593Smuzhiyun #define SROM8_NOISELVL_5GU 217 404*4882a593Smuzhiyun #define SROM8_NOISECALOFFSET 218 405*4882a593Smuzhiyun 406*4882a593Smuzhiyun #define SROM9_REV_CRC 219 407*4882a593Smuzhiyun 408*4882a593Smuzhiyun #define SROM10_CCKPWROFFSET 218 409*4882a593Smuzhiyun #define SROM10_SIGN 219 410*4882a593Smuzhiyun #define SROM10_SWCTRLMAP_2G 220 411*4882a593Smuzhiyun #define SROM10_CRCREV 229 412*4882a593Smuzhiyun 413*4882a593Smuzhiyun #define SROM10_WORDS 230 414*4882a593Smuzhiyun #define SROM10_SIGNATURE SROM4_SIGNATURE 415*4882a593Smuzhiyun 416*4882a593Smuzhiyun /* SROM REV 11 */ 417*4882a593Smuzhiyun #define SROM11_BREV 65 418*4882a593Smuzhiyun 419*4882a593Smuzhiyun #define SROM11_BFL0 66 420*4882a593Smuzhiyun #define SROM11_BFL1 67 421*4882a593Smuzhiyun #define SROM11_BFL2 68 422*4882a593Smuzhiyun #define SROM11_BFL3 69 423*4882a593Smuzhiyun #define SROM11_BFL4 70 424*4882a593Smuzhiyun #define SROM11_BFL5 71 425*4882a593Smuzhiyun 426*4882a593Smuzhiyun #define SROM11_MACHI 72 427*4882a593Smuzhiyun #define SROM11_MACMID 73 428*4882a593Smuzhiyun #define SROM11_MACLO 74 429*4882a593Smuzhiyun 430*4882a593Smuzhiyun #define SROM11_CCODE 75 431*4882a593Smuzhiyun #define SROM11_REGREV 76 432*4882a593Smuzhiyun 433*4882a593Smuzhiyun #define SROM11_LEDBH10 77 434*4882a593Smuzhiyun #define SROM11_LEDBH32 78 435*4882a593Smuzhiyun 436*4882a593Smuzhiyun #define SROM11_LEDDC 79 437*4882a593Smuzhiyun 438*4882a593Smuzhiyun #define SROM11_AA 80 439*4882a593Smuzhiyun 440*4882a593Smuzhiyun #define SROM11_AGBG10 81 441*4882a593Smuzhiyun #define SROM11_AGBG2A0 82 442*4882a593Smuzhiyun #define SROM11_AGA21 83 443*4882a593Smuzhiyun 444*4882a593Smuzhiyun #define SROM11_TXRXC 84 445*4882a593Smuzhiyun 446*4882a593Smuzhiyun #define SROM11_FEM_CFG1 85 447*4882a593Smuzhiyun #define SROM11_FEM_CFG2 86 448*4882a593Smuzhiyun 449*4882a593Smuzhiyun /* Masks and offsets for FEM_CFG */ 450*4882a593Smuzhiyun #define SROM11_FEMCTRL_MASK 0xf800 451*4882a593Smuzhiyun #define SROM11_FEMCTRL_SHIFT 11 452*4882a593Smuzhiyun #define SROM11_PAPDCAP_MASK 0x0400 453*4882a593Smuzhiyun #define SROM11_PAPDCAP_SHIFT 10 454*4882a593Smuzhiyun #define SROM11_TWORANGETSSI_MASK 0x0200 455*4882a593Smuzhiyun #define SROM11_TWORANGETSSI_SHIFT 9 456*4882a593Smuzhiyun #define SROM11_PDGAIN_MASK 0x01f0 457*4882a593Smuzhiyun #define SROM11_PDGAIN_SHIFT 4 458*4882a593Smuzhiyun #define SROM11_EPAGAIN_MASK 0x000e 459*4882a593Smuzhiyun #define SROM11_EPAGAIN_SHIFT 1 460*4882a593Smuzhiyun #define SROM11_TSSIPOSSLOPE_MASK 0x0001 461*4882a593Smuzhiyun #define SROM11_TSSIPOSSLOPE_SHIFT 0 462*4882a593Smuzhiyun #define SROM11_GAINCTRLSPH_MASK 0xf800 463*4882a593Smuzhiyun #define SROM11_GAINCTRLSPH_SHIFT 11 464*4882a593Smuzhiyun 465*4882a593Smuzhiyun #define SROM11_THERMAL 87 466*4882a593Smuzhiyun #define SROM11_MPWR_RAWTS 88 467*4882a593Smuzhiyun #define SROM11_TS_SLP_OPT_CORRX 89 468*4882a593Smuzhiyun #define SROM11_XTAL_FREQ 90 469*4882a593Smuzhiyun #define SROM11_5GB0_4080_W0_A1 91 470*4882a593Smuzhiyun #define SROM11_PHYCAL_TEMPDELTA 92 471*4882a593Smuzhiyun #define SROM11_MPWR_1_AND_2 93 472*4882a593Smuzhiyun #define SROM11_5GB0_4080_W1_A1 94 473*4882a593Smuzhiyun #define SROM11_TSSIFLOOR_2G 95 474*4882a593Smuzhiyun #define SROM11_TSSIFLOOR_5GL 96 475*4882a593Smuzhiyun #define SROM11_TSSIFLOOR_5GM 97 476*4882a593Smuzhiyun #define SROM11_TSSIFLOOR_5GH 98 477*4882a593Smuzhiyun #define SROM11_TSSIFLOOR_5GU 99 478*4882a593Smuzhiyun 479*4882a593Smuzhiyun /* Masks and offsets for Thermal parameters */ 480*4882a593Smuzhiyun #define SROM11_TEMPS_PERIOD_MASK 0xf0 481*4882a593Smuzhiyun #define SROM11_TEMPS_PERIOD_SHIFT 4 482*4882a593Smuzhiyun #define SROM11_TEMPS_HYSTERESIS_MASK 0x0f 483*4882a593Smuzhiyun #define SROM11_TEMPS_HYSTERESIS_SHIFT 0 484*4882a593Smuzhiyun #define SROM11_TEMPCORRX_MASK 0xfc 485*4882a593Smuzhiyun #define SROM11_TEMPCORRX_SHIFT 2 486*4882a593Smuzhiyun #define SROM11_TEMPSENSE_OPTION_MASK 0x3 487*4882a593Smuzhiyun #define SROM11_TEMPSENSE_OPTION_SHIFT 0 488*4882a593Smuzhiyun 489*4882a593Smuzhiyun #define SROM11_PDOFF_2G_40M_A0_MASK 0x000f 490*4882a593Smuzhiyun #define SROM11_PDOFF_2G_40M_A0_SHIFT 0 491*4882a593Smuzhiyun #define SROM11_PDOFF_2G_40M_A1_MASK 0x00f0 492*4882a593Smuzhiyun #define SROM11_PDOFF_2G_40M_A1_SHIFT 4 493*4882a593Smuzhiyun #define SROM11_PDOFF_2G_40M_A2_MASK 0x0f00 494*4882a593Smuzhiyun #define SROM11_PDOFF_2G_40M_A2_SHIFT 8 495*4882a593Smuzhiyun #define SROM11_PDOFF_2G_40M_VALID_MASK 0x8000 496*4882a593Smuzhiyun #define SROM11_PDOFF_2G_40M_VALID_SHIFT 15 497*4882a593Smuzhiyun 498*4882a593Smuzhiyun #define SROM11_PDOFF_2G_40M 100 499*4882a593Smuzhiyun #define SROM11_PDOFF_40M_A0 101 500*4882a593Smuzhiyun #define SROM11_PDOFF_40M_A1 102 501*4882a593Smuzhiyun #define SROM11_PDOFF_40M_A2 103 502*4882a593Smuzhiyun #define SROM11_5GB0_4080_W2_A1 103 503*4882a593Smuzhiyun #define SROM11_PDOFF_80M_A0 104 504*4882a593Smuzhiyun #define SROM11_PDOFF_80M_A1 105 505*4882a593Smuzhiyun #define SROM11_PDOFF_80M_A2 106 506*4882a593Smuzhiyun #define SROM11_5GB1_4080_W0_A1 106 507*4882a593Smuzhiyun 508*4882a593Smuzhiyun #define SROM11_SUBBAND5GVER 107 509*4882a593Smuzhiyun 510*4882a593Smuzhiyun /* Per-path fields and offset */ 511*4882a593Smuzhiyun #define MAX_PATH_SROM_11 3 512*4882a593Smuzhiyun #define SROM11_PATH0 108 513*4882a593Smuzhiyun #define SROM11_PATH1 128 514*4882a593Smuzhiyun #define SROM11_PATH2 148 515*4882a593Smuzhiyun 516*4882a593Smuzhiyun #define SROM11_2G_MAXP 0 517*4882a593Smuzhiyun #define SROM11_5GB1_4080_PA 0 518*4882a593Smuzhiyun #define SROM11_2G_PA 1 519*4882a593Smuzhiyun #define SROM11_5GB2_4080_PA 2 520*4882a593Smuzhiyun #define SROM11_RXGAINS1 4 521*4882a593Smuzhiyun #define SROM11_RXGAINS 5 522*4882a593Smuzhiyun #define SROM11_5GB3_4080_PA 5 523*4882a593Smuzhiyun #define SROM11_5GB1B0_MAXP 6 524*4882a593Smuzhiyun #define SROM11_5GB3B2_MAXP 7 525*4882a593Smuzhiyun #define SROM11_5GB0_PA 8 526*4882a593Smuzhiyun #define SROM11_5GB1_PA 11 527*4882a593Smuzhiyun #define SROM11_5GB2_PA 14 528*4882a593Smuzhiyun #define SROM11_5GB3_PA 17 529*4882a593Smuzhiyun 530*4882a593Smuzhiyun /* Masks and offsets for rxgains */ 531*4882a593Smuzhiyun #define SROM11_RXGAINS5GTRELNABYPA_MASK 0x8000 532*4882a593Smuzhiyun #define SROM11_RXGAINS5GTRELNABYPA_SHIFT 15 533*4882a593Smuzhiyun #define SROM11_RXGAINS5GTRISOA_MASK 0x7800 534*4882a593Smuzhiyun #define SROM11_RXGAINS5GTRISOA_SHIFT 11 535*4882a593Smuzhiyun #define SROM11_RXGAINS5GELNAGAINA_MASK 0x0700 536*4882a593Smuzhiyun #define SROM11_RXGAINS5GELNAGAINA_SHIFT 8 537*4882a593Smuzhiyun #define SROM11_RXGAINS2GTRELNABYPA_MASK 0x0080 538*4882a593Smuzhiyun #define SROM11_RXGAINS2GTRELNABYPA_SHIFT 7 539*4882a593Smuzhiyun #define SROM11_RXGAINS2GTRISOA_MASK 0x0078 540*4882a593Smuzhiyun #define SROM11_RXGAINS2GTRISOA_SHIFT 3 541*4882a593Smuzhiyun #define SROM11_RXGAINS2GELNAGAINA_MASK 0x0007 542*4882a593Smuzhiyun #define SROM11_RXGAINS2GELNAGAINA_SHIFT 0 543*4882a593Smuzhiyun #define SROM11_RXGAINS5GHTRELNABYPA_MASK 0x8000 544*4882a593Smuzhiyun #define SROM11_RXGAINS5GHTRELNABYPA_SHIFT 15 545*4882a593Smuzhiyun #define SROM11_RXGAINS5GHTRISOA_MASK 0x7800 546*4882a593Smuzhiyun #define SROM11_RXGAINS5GHTRISOA_SHIFT 11 547*4882a593Smuzhiyun #define SROM11_RXGAINS5GHELNAGAINA_MASK 0x0700 548*4882a593Smuzhiyun #define SROM11_RXGAINS5GHELNAGAINA_SHIFT 8 549*4882a593Smuzhiyun #define SROM11_RXGAINS5GMTRELNABYPA_MASK 0x0080 550*4882a593Smuzhiyun #define SROM11_RXGAINS5GMTRELNABYPA_SHIFT 7 551*4882a593Smuzhiyun #define SROM11_RXGAINS5GMTRISOA_MASK 0x0078 552*4882a593Smuzhiyun #define SROM11_RXGAINS5GMTRISOA_SHIFT 3 553*4882a593Smuzhiyun #define SROM11_RXGAINS5GMELNAGAINA_MASK 0x0007 554*4882a593Smuzhiyun #define SROM11_RXGAINS5GMELNAGAINA_SHIFT 0 555*4882a593Smuzhiyun 556*4882a593Smuzhiyun /* Power per rate */ 557*4882a593Smuzhiyun #define SROM11_CCKBW202GPO 168 558*4882a593Smuzhiyun #define SROM11_CCKBW20UL2GPO 169 559*4882a593Smuzhiyun #define SROM11_MCSBW202GPO 170 560*4882a593Smuzhiyun #define SROM11_MCSBW202GPO_1 171 561*4882a593Smuzhiyun #define SROM11_MCSBW402GPO 172 562*4882a593Smuzhiyun #define SROM11_MCSBW402GPO_1 173 563*4882a593Smuzhiyun #define SROM11_DOT11AGOFDMHRBW202GPO 174 564*4882a593Smuzhiyun #define SROM11_OFDMLRBW202GPO 175 565*4882a593Smuzhiyun 566*4882a593Smuzhiyun #define SROM11_MCSBW205GLPO 176 567*4882a593Smuzhiyun #define SROM11_MCSBW205GLPO_1 177 568*4882a593Smuzhiyun #define SROM11_MCSBW405GLPO 178 569*4882a593Smuzhiyun #define SROM11_MCSBW405GLPO_1 179 570*4882a593Smuzhiyun #define SROM11_MCSBW805GLPO 180 571*4882a593Smuzhiyun #define SROM11_MCSBW805GLPO_1 181 572*4882a593Smuzhiyun #define SROM11_RPCAL_2G 182 573*4882a593Smuzhiyun #define SROM11_RPCAL_5GL 183 574*4882a593Smuzhiyun #define SROM11_MCSBW205GMPO 184 575*4882a593Smuzhiyun #define SROM11_MCSBW205GMPO_1 185 576*4882a593Smuzhiyun #define SROM11_MCSBW405GMPO 186 577*4882a593Smuzhiyun #define SROM11_MCSBW405GMPO_1 187 578*4882a593Smuzhiyun #define SROM11_MCSBW805GMPO 188 579*4882a593Smuzhiyun #define SROM11_MCSBW805GMPO_1 189 580*4882a593Smuzhiyun #define SROM11_RPCAL_5GM 190 581*4882a593Smuzhiyun #define SROM11_RPCAL_5GH 191 582*4882a593Smuzhiyun #define SROM11_MCSBW205GHPO 192 583*4882a593Smuzhiyun #define SROM11_MCSBW205GHPO_1 193 584*4882a593Smuzhiyun #define SROM11_MCSBW405GHPO 194 585*4882a593Smuzhiyun #define SROM11_MCSBW405GHPO_1 195 586*4882a593Smuzhiyun #define SROM11_MCSBW805GHPO 196 587*4882a593Smuzhiyun #define SROM11_MCSBW805GHPO_1 197 588*4882a593Smuzhiyun #define SROM11_RPCAL_5GU 198 589*4882a593Smuzhiyun #define SROM11_PDOFF_2G_CCK 199 590*4882a593Smuzhiyun #define SROM11_MCSLR5GLPO 200 591*4882a593Smuzhiyun #define SROM11_MCSLR5GMPO 201 592*4882a593Smuzhiyun #define SROM11_MCSLR5GHPO 202 593*4882a593Smuzhiyun 594*4882a593Smuzhiyun #define SROM11_SB20IN40HRPO 203 595*4882a593Smuzhiyun #define SROM11_SB20IN80AND160HR5GLPO 204 596*4882a593Smuzhiyun #define SROM11_SB40AND80HR5GLPO 205 597*4882a593Smuzhiyun #define SROM11_SB20IN80AND160HR5GMPO 206 598*4882a593Smuzhiyun #define SROM11_SB40AND80HR5GMPO 207 599*4882a593Smuzhiyun #define SROM11_SB20IN80AND160HR5GHPO 208 600*4882a593Smuzhiyun #define SROM11_SB40AND80HR5GHPO 209 601*4882a593Smuzhiyun #define SROM11_SB20IN40LRPO 210 602*4882a593Smuzhiyun #define SROM11_SB20IN80AND160LR5GLPO 211 603*4882a593Smuzhiyun #define SROM11_SB40AND80LR5GLPO 212 604*4882a593Smuzhiyun #define SROM11_TXIDXCAP2G 212 605*4882a593Smuzhiyun #define SROM11_SB20IN80AND160LR5GMPO 213 606*4882a593Smuzhiyun #define SROM11_SB40AND80LR5GMPO 214 607*4882a593Smuzhiyun #define SROM11_TXIDXCAP5G 214 608*4882a593Smuzhiyun #define SROM11_SB20IN80AND160LR5GHPO 215 609*4882a593Smuzhiyun #define SROM11_SB40AND80LR5GHPO 216 610*4882a593Smuzhiyun 611*4882a593Smuzhiyun #define SROM11_DOT11AGDUPHRPO 217 612*4882a593Smuzhiyun #define SROM11_DOT11AGDUPLRPO 218 613*4882a593Smuzhiyun 614*4882a593Smuzhiyun /* MISC */ 615*4882a593Smuzhiyun #define SROM11_PCIEINGRESS_WAR 220 616*4882a593Smuzhiyun #define SROM11_SAR 221 617*4882a593Smuzhiyun 618*4882a593Smuzhiyun #define SROM11_NOISELVL_2G 222 619*4882a593Smuzhiyun #define SROM11_NOISELVL_5GL 223 620*4882a593Smuzhiyun #define SROM11_NOISELVL_5GM 224 621*4882a593Smuzhiyun #define SROM11_NOISELVL_5GH 225 622*4882a593Smuzhiyun #define SROM11_NOISELVL_5GU 226 623*4882a593Smuzhiyun 624*4882a593Smuzhiyun #define SROM11_RXGAINERR_2G 227 625*4882a593Smuzhiyun #define SROM11_RXGAINERR_5GL 228 626*4882a593Smuzhiyun #define SROM11_RXGAINERR_5GM 229 627*4882a593Smuzhiyun #define SROM11_RXGAINERR_5GH 230 628*4882a593Smuzhiyun #define SROM11_RXGAINERR_5GU 231 629*4882a593Smuzhiyun 630*4882a593Smuzhiyun #define SROM11_EU_EDCRSTH 232 631*4882a593Smuzhiyun #define SROM12_EU_EDCRSTH 232 632*4882a593Smuzhiyun 633*4882a593Smuzhiyun #define SROM11_SIGN 64 634*4882a593Smuzhiyun #define SROM11_CRCREV 233 635*4882a593Smuzhiyun 636*4882a593Smuzhiyun #define SROM11_WORDS 234 637*4882a593Smuzhiyun #define SROM11_SIGNATURE 0x0634 638*4882a593Smuzhiyun 639*4882a593Smuzhiyun /* SROM REV 12 */ 640*4882a593Smuzhiyun #define SROM12_SIGN 64 641*4882a593Smuzhiyun #define SROM12_WORDS 512 642*4882a593Smuzhiyun #define SROM12_SIGNATURE 0x8888 643*4882a593Smuzhiyun #define SROM12_CRCREV 511 644*4882a593Smuzhiyun 645*4882a593Smuzhiyun #define SROM12_BFL6 486 646*4882a593Smuzhiyun #define SROM12_BFL7 487 647*4882a593Smuzhiyun 648*4882a593Smuzhiyun #define SROM12_MCSBW205GX1PO 234 649*4882a593Smuzhiyun #define SROM12_MCSBW205GX1PO_1 235 650*4882a593Smuzhiyun #define SROM12_MCSBW405GX1PO 236 651*4882a593Smuzhiyun #define SROM12_MCSBW405GX1PO_1 237 652*4882a593Smuzhiyun #define SROM12_MCSBW805GX1PO 238 653*4882a593Smuzhiyun #define SROM12_MCSBW805GX1PO_1 239 654*4882a593Smuzhiyun #define SROM12_MCSLR5GX1PO 240 655*4882a593Smuzhiyun #define SROM12_SB40AND80LR5GX1PO 241 656*4882a593Smuzhiyun #define SROM12_SB20IN80AND160LR5GX1PO 242 657*4882a593Smuzhiyun #define SROM12_SB20IN80AND160HR5GX1PO 243 658*4882a593Smuzhiyun #define SROM12_SB40AND80HR5GX1PO 244 659*4882a593Smuzhiyun 660*4882a593Smuzhiyun #define SROM12_MCSBW205GX2PO 245 661*4882a593Smuzhiyun #define SROM12_MCSBW205GX2PO_1 246 662*4882a593Smuzhiyun #define SROM12_MCSBW405GX2PO 247 663*4882a593Smuzhiyun #define SROM12_MCSBW405GX2PO_1 248 664*4882a593Smuzhiyun #define SROM12_MCSBW805GX2PO 249 665*4882a593Smuzhiyun #define SROM12_MCSBW805GX2PO_1 250 666*4882a593Smuzhiyun #define SROM12_MCSLR5GX2PO 251 667*4882a593Smuzhiyun #define SROM12_SB40AND80LR5GX2PO 252 668*4882a593Smuzhiyun #define SROM12_SB20IN80AND160LR5GX2PO 253 669*4882a593Smuzhiyun #define SROM12_SB20IN80AND160HR5GX2PO 254 670*4882a593Smuzhiyun #define SROM12_SB40AND80HR5GX2PO 255 671*4882a593Smuzhiyun 672*4882a593Smuzhiyun /* MISC */ 673*4882a593Smuzhiyun #define SROM12_RXGAINS10 483 674*4882a593Smuzhiyun #define SROM12_RXGAINS11 484 675*4882a593Smuzhiyun #define SROM12_RXGAINS12 485 676*4882a593Smuzhiyun 677*4882a593Smuzhiyun /* Per-path fields and offset */ 678*4882a593Smuzhiyun #define MAX_PATH_SROM_12 3 679*4882a593Smuzhiyun #define SROM12_PATH0 256 680*4882a593Smuzhiyun #define SROM12_PATH1 328 681*4882a593Smuzhiyun #define SROM12_PATH2 400 682*4882a593Smuzhiyun 683*4882a593Smuzhiyun #define SROM12_5GB42G_MAXP 0 684*4882a593Smuzhiyun #define SROM12_2GB0_PA 1 685*4882a593Smuzhiyun #define SROM12_2GB0_PA_W0 1 686*4882a593Smuzhiyun #define SROM12_2GB0_PA_W1 2 687*4882a593Smuzhiyun #define SROM12_2GB0_PA_W2 3 688*4882a593Smuzhiyun #define SROM12_2GB0_PA_W3 4 689*4882a593Smuzhiyun 690*4882a593Smuzhiyun #define SROM12_RXGAINS 5 691*4882a593Smuzhiyun #define SROM12_5GB1B0_MAXP 6 692*4882a593Smuzhiyun #define SROM12_5GB3B2_MAXP 7 693*4882a593Smuzhiyun 694*4882a593Smuzhiyun #define SROM12_5GB0_PA 8 695*4882a593Smuzhiyun #define SROM12_5GB0_PA_W0 8 696*4882a593Smuzhiyun #define SROM12_5GB0_PA_W1 9 697*4882a593Smuzhiyun #define SROM12_5GB0_PA_W2 10 698*4882a593Smuzhiyun #define SROM12_5GB0_PA_W3 11 699*4882a593Smuzhiyun 700*4882a593Smuzhiyun #define SROM12_5GB1_PA 12 701*4882a593Smuzhiyun #define SROM12_5GB1_PA_W0 12 702*4882a593Smuzhiyun #define SROM12_5GB1_PA_W1 13 703*4882a593Smuzhiyun #define SROM12_5GB1_PA_W2 14 704*4882a593Smuzhiyun #define SROM12_5GB1_PA_W3 15 705*4882a593Smuzhiyun 706*4882a593Smuzhiyun #define SROM12_5GB2_PA 16 707*4882a593Smuzhiyun #define SROM12_5GB2_PA_W0 16 708*4882a593Smuzhiyun #define SROM12_5GB2_PA_W1 17 709*4882a593Smuzhiyun #define SROM12_5GB2_PA_W2 18 710*4882a593Smuzhiyun #define SROM12_5GB2_PA_W3 19 711*4882a593Smuzhiyun 712*4882a593Smuzhiyun #define SROM12_5GB3_PA 20 713*4882a593Smuzhiyun #define SROM12_5GB3_PA_W0 20 714*4882a593Smuzhiyun #define SROM12_5GB3_PA_W1 21 715*4882a593Smuzhiyun #define SROM12_5GB3_PA_W2 22 716*4882a593Smuzhiyun #define SROM12_5GB3_PA_W3 23 717*4882a593Smuzhiyun 718*4882a593Smuzhiyun #define SROM12_5GB4_PA 24 719*4882a593Smuzhiyun #define SROM12_5GB4_PA_W0 24 720*4882a593Smuzhiyun #define SROM12_5GB4_PA_W1 25 721*4882a593Smuzhiyun #define SROM12_5GB4_PA_W2 26 722*4882a593Smuzhiyun #define SROM12_5GB4_PA_W3 27 723*4882a593Smuzhiyun 724*4882a593Smuzhiyun #define SROM12_2G40B0_PA 28 725*4882a593Smuzhiyun #define SROM12_2G40B0_PA_W0 28 726*4882a593Smuzhiyun #define SROM12_2G40B0_PA_W1 29 727*4882a593Smuzhiyun #define SROM12_2G40B0_PA_W2 30 728*4882a593Smuzhiyun #define SROM12_2G40B0_PA_W3 31 729*4882a593Smuzhiyun 730*4882a593Smuzhiyun #define SROM12_5G40B0_PA 32 731*4882a593Smuzhiyun #define SROM12_5G40B0_PA_W0 32 732*4882a593Smuzhiyun #define SROM12_5G40B0_PA_W1 33 733*4882a593Smuzhiyun #define SROM12_5G40B0_PA_W2 34 734*4882a593Smuzhiyun #define SROM12_5G40B0_PA_W3 35 735*4882a593Smuzhiyun 736*4882a593Smuzhiyun #define SROM12_5G40B1_PA 36 737*4882a593Smuzhiyun #define SROM12_5G40B1_PA_W0 36 738*4882a593Smuzhiyun #define SROM12_5G40B1_PA_W1 37 739*4882a593Smuzhiyun #define SROM12_5G40B1_PA_W2 38 740*4882a593Smuzhiyun #define SROM12_5G40B1_PA_W3 39 741*4882a593Smuzhiyun 742*4882a593Smuzhiyun #define SROM12_5G40B2_PA 40 743*4882a593Smuzhiyun #define SROM12_5G40B2_PA_W0 40 744*4882a593Smuzhiyun #define SROM12_5G40B2_PA_W1 41 745*4882a593Smuzhiyun #define SROM12_5G40B2_PA_W2 42 746*4882a593Smuzhiyun #define SROM12_5G40B2_PA_W3 43 747*4882a593Smuzhiyun 748*4882a593Smuzhiyun #define SROM12_5G40B3_PA 44 749*4882a593Smuzhiyun #define SROM12_5G40B3_PA_W0 44 750*4882a593Smuzhiyun #define SROM12_5G40B3_PA_W1 45 751*4882a593Smuzhiyun #define SROM12_5G40B3_PA_W2 46 752*4882a593Smuzhiyun #define SROM12_5G40B3_PA_W3 47 753*4882a593Smuzhiyun 754*4882a593Smuzhiyun #define SROM12_5G40B4_PA 48 755*4882a593Smuzhiyun #define SROM12_5G40B4_PA_W0 48 756*4882a593Smuzhiyun #define SROM12_5G40B4_PA_W1 49 757*4882a593Smuzhiyun #define SROM12_5G40B4_PA_W2 50 758*4882a593Smuzhiyun #define SROM12_5G40B4_PA_W3 51 759*4882a593Smuzhiyun 760*4882a593Smuzhiyun #define SROM12_5G80B0_PA 52 761*4882a593Smuzhiyun #define SROM12_5G80B0_PA_W0 52 762*4882a593Smuzhiyun #define SROM12_5G80B0_PA_W1 53 763*4882a593Smuzhiyun #define SROM12_5G80B0_PA_W2 54 764*4882a593Smuzhiyun #define SROM12_5G80B0_PA_W3 55 765*4882a593Smuzhiyun 766*4882a593Smuzhiyun #define SROM12_5G80B1_PA 56 767*4882a593Smuzhiyun #define SROM12_5G80B1_PA_W0 56 768*4882a593Smuzhiyun #define SROM12_5G80B1_PA_W1 57 769*4882a593Smuzhiyun #define SROM12_5G80B1_PA_W2 58 770*4882a593Smuzhiyun #define SROM12_5G80B1_PA_W3 59 771*4882a593Smuzhiyun 772*4882a593Smuzhiyun #define SROM12_5G80B2_PA 60 773*4882a593Smuzhiyun #define SROM12_5G80B2_PA_W0 60 774*4882a593Smuzhiyun #define SROM12_5G80B2_PA_W1 61 775*4882a593Smuzhiyun #define SROM12_5G80B2_PA_W2 62 776*4882a593Smuzhiyun #define SROM12_5G80B2_PA_W3 63 777*4882a593Smuzhiyun 778*4882a593Smuzhiyun #define SROM12_5G80B3_PA 64 779*4882a593Smuzhiyun #define SROM12_5G80B3_PA_W0 64 780*4882a593Smuzhiyun #define SROM12_5G80B3_PA_W1 65 781*4882a593Smuzhiyun #define SROM12_5G80B3_PA_W2 66 782*4882a593Smuzhiyun #define SROM12_5G80B3_PA_W3 67 783*4882a593Smuzhiyun 784*4882a593Smuzhiyun #define SROM12_5G80B4_PA 68 785*4882a593Smuzhiyun #define SROM12_5G80B4_PA_W0 68 786*4882a593Smuzhiyun #define SROM12_5G80B4_PA_W1 69 787*4882a593Smuzhiyun #define SROM12_5G80B4_PA_W2 70 788*4882a593Smuzhiyun #define SROM12_5G80B4_PA_W3 71 789*4882a593Smuzhiyun 790*4882a593Smuzhiyun /* PD offset */ 791*4882a593Smuzhiyun #define SROM12_PDOFF_2G_CCK 472 792*4882a593Smuzhiyun 793*4882a593Smuzhiyun #define SROM12_PDOFF_20in40M_5G_B0 473 794*4882a593Smuzhiyun #define SROM12_PDOFF_20in40M_5G_B1 474 795*4882a593Smuzhiyun #define SROM12_PDOFF_20in40M_5G_B2 475 796*4882a593Smuzhiyun #define SROM12_PDOFF_20in40M_5G_B3 476 797*4882a593Smuzhiyun #define SROM12_PDOFF_20in40M_5G_B4 477 798*4882a593Smuzhiyun 799*4882a593Smuzhiyun #define SROM12_PDOFF_40in80M_5G_B0 478 800*4882a593Smuzhiyun #define SROM12_PDOFF_40in80M_5G_B1 479 801*4882a593Smuzhiyun #define SROM12_PDOFF_40in80M_5G_B2 480 802*4882a593Smuzhiyun #define SROM12_PDOFF_40in80M_5G_B3 481 803*4882a593Smuzhiyun #define SROM12_PDOFF_40in80M_5G_B4 482 804*4882a593Smuzhiyun 805*4882a593Smuzhiyun #define SROM12_PDOFF_20in80M_5G_B0 488 806*4882a593Smuzhiyun #define SROM12_PDOFF_20in80M_5G_B1 489 807*4882a593Smuzhiyun #define SROM12_PDOFF_20in80M_5G_B2 490 808*4882a593Smuzhiyun #define SROM12_PDOFF_20in80M_5G_B3 491 809*4882a593Smuzhiyun #define SROM12_PDOFF_20in80M_5G_B4 492 810*4882a593Smuzhiyun 811*4882a593Smuzhiyun #define SROM12_GPDN_L 91 /* GPIO pull down bits [15:0] */ 812*4882a593Smuzhiyun #define SROM12_GPDN_H 233 /* GPIO pull down bits [31:16] */ 813*4882a593Smuzhiyun 814*4882a593Smuzhiyun #define SROM13_SIGN 64 815*4882a593Smuzhiyun #define SROM13_WORDS 590 816*4882a593Smuzhiyun #define SROM13_SIGNATURE 0x4d55 817*4882a593Smuzhiyun #define SROM13_CRCREV 589 818*4882a593Smuzhiyun 819*4882a593Smuzhiyun /* Per-path fields and offset */ 820*4882a593Smuzhiyun #define MAX_PATH_SROM_13 4 821*4882a593Smuzhiyun #define SROM13_PATH0 256 822*4882a593Smuzhiyun #define SROM13_PATH1 328 823*4882a593Smuzhiyun #define SROM13_PATH2 400 824*4882a593Smuzhiyun #define SROM13_PATH3 512 825*4882a593Smuzhiyun #define SROM13_RXGAINS 5 826*4882a593Smuzhiyun 827*4882a593Smuzhiyun #define SROM13_XTALFREQ 90 828*4882a593Smuzhiyun 829*4882a593Smuzhiyun #define SROM13_PDOFFSET20IN40M2G 94 830*4882a593Smuzhiyun #define SROM13_PDOFFSET20IN40M2GCORE3 95 831*4882a593Smuzhiyun #define SROM13_SB20IN40HRLRPOX 96 832*4882a593Smuzhiyun 833*4882a593Smuzhiyun #define SROM13_RXGAINS1CORE3 97 834*4882a593Smuzhiyun 835*4882a593Smuzhiyun #define SROM13_PDOFFSET20IN40M5GCORE3 98 836*4882a593Smuzhiyun #define SROM13_PDOFFSET20IN40M5GCORE3_1 99 837*4882a593Smuzhiyun 838*4882a593Smuzhiyun #define SROM13_ANTGAIN_BANDBGA 100 839*4882a593Smuzhiyun 840*4882a593Smuzhiyun #define SROM13_PDOFFSET40IN80M5GCORE3 105 841*4882a593Smuzhiyun #define SROM13_PDOFFSET40IN80M5GCORE3_1 106 842*4882a593Smuzhiyun 843*4882a593Smuzhiyun /* power per rate */ 844*4882a593Smuzhiyun #define SROM13_MCS1024QAM2GPO 108 845*4882a593Smuzhiyun #define SROM13_MCS1024QAM5GLPO 109 846*4882a593Smuzhiyun #define SROM13_MCS1024QAM5GLPO_1 110 847*4882a593Smuzhiyun #define SROM13_MCS1024QAM5GMPO 111 848*4882a593Smuzhiyun #define SROM13_MCS1024QAM5GMPO_1 112 849*4882a593Smuzhiyun #define SROM13_MCS1024QAM5GHPO 113 850*4882a593Smuzhiyun #define SROM13_MCS1024QAM5GHPO_1 114 851*4882a593Smuzhiyun #define SROM13_MCS1024QAM5GX1PO 115 852*4882a593Smuzhiyun #define SROM13_MCS1024QAM5GX1PO_1 116 853*4882a593Smuzhiyun #define SROM13_MCS1024QAM5GX2PO 117 854*4882a593Smuzhiyun #define SROM13_MCS1024QAM5GX2PO_1 118 855*4882a593Smuzhiyun 856*4882a593Smuzhiyun #define SROM13_MCSBW1605GLPO 119 857*4882a593Smuzhiyun #define SROM13_MCSBW1605GLPO_1 120 858*4882a593Smuzhiyun #define SROM13_MCSBW1605GMPO 121 859*4882a593Smuzhiyun #define SROM13_MCSBW1605GMPO_1 122 860*4882a593Smuzhiyun #define SROM13_MCSBW1605GHPO 123 861*4882a593Smuzhiyun #define SROM13_MCSBW1605GHPO_1 124 862*4882a593Smuzhiyun 863*4882a593Smuzhiyun #define SROM13_MCSBW1605GX1PO 125 864*4882a593Smuzhiyun #define SROM13_MCSBW1605GX1PO_1 126 865*4882a593Smuzhiyun #define SROM13_MCSBW1605GX2PO 127 866*4882a593Smuzhiyun #define SROM13_MCSBW1605GX2PO_1 128 867*4882a593Smuzhiyun 868*4882a593Smuzhiyun #define SROM13_ULBPPROFFS5GB0 129 869*4882a593Smuzhiyun #define SROM13_ULBPPROFFS5GB1 130 870*4882a593Smuzhiyun #define SROM13_ULBPPROFFS5GB2 131 871*4882a593Smuzhiyun #define SROM13_ULBPPROFFS5GB3 132 872*4882a593Smuzhiyun #define SROM13_ULBPPROFFS5GB4 133 873*4882a593Smuzhiyun #define SROM13_ULBPPROFFS2G 134 874*4882a593Smuzhiyun 875*4882a593Smuzhiyun #define SROM13_MCS8POEXP 135 876*4882a593Smuzhiyun #define SROM13_MCS8POEXP_1 136 877*4882a593Smuzhiyun #define SROM13_MCS9POEXP 137 878*4882a593Smuzhiyun #define SROM13_MCS9POEXP_1 138 879*4882a593Smuzhiyun #define SROM13_MCS10POEXP 139 880*4882a593Smuzhiyun #define SROM13_MCS10POEXP_1 140 881*4882a593Smuzhiyun #define SROM13_MCS11POEXP 141 882*4882a593Smuzhiyun #define SROM13_MCS11POEXP_1 142 883*4882a593Smuzhiyun #define SROM13_ULBPDOFFS5GB0A0 143 884*4882a593Smuzhiyun #define SROM13_ULBPDOFFS5GB0A1 144 885*4882a593Smuzhiyun #define SROM13_ULBPDOFFS5GB0A2 145 886*4882a593Smuzhiyun #define SROM13_ULBPDOFFS5GB0A3 146 887*4882a593Smuzhiyun #define SROM13_ULBPDOFFS5GB1A0 147 888*4882a593Smuzhiyun #define SROM13_ULBPDOFFS5GB1A1 148 889*4882a593Smuzhiyun #define SROM13_ULBPDOFFS5GB1A2 149 890*4882a593Smuzhiyun #define SROM13_ULBPDOFFS5GB1A3 150 891*4882a593Smuzhiyun #define SROM13_ULBPDOFFS5GB2A0 151 892*4882a593Smuzhiyun #define SROM13_ULBPDOFFS5GB2A1 152 893*4882a593Smuzhiyun #define SROM13_ULBPDOFFS5GB2A2 153 894*4882a593Smuzhiyun #define SROM13_ULBPDOFFS5GB2A3 154 895*4882a593Smuzhiyun #define SROM13_ULBPDOFFS5GB3A0 155 896*4882a593Smuzhiyun #define SROM13_ULBPDOFFS5GB3A1 156 897*4882a593Smuzhiyun #define SROM13_ULBPDOFFS5GB3A2 157 898*4882a593Smuzhiyun #define SROM13_ULBPDOFFS5GB3A3 158 899*4882a593Smuzhiyun #define SROM13_ULBPDOFFS5GB4A0 159 900*4882a593Smuzhiyun #define SROM13_ULBPDOFFS5GB4A1 160 901*4882a593Smuzhiyun #define SROM13_ULBPDOFFS5GB4A2 161 902*4882a593Smuzhiyun #define SROM13_ULBPDOFFS5GB4A3 162 903*4882a593Smuzhiyun #define SROM13_ULBPDOFFS2GA0 163 904*4882a593Smuzhiyun #define SROM13_ULBPDOFFS2GA1 164 905*4882a593Smuzhiyun #define SROM13_ULBPDOFFS2GA2 165 906*4882a593Smuzhiyun #define SROM13_ULBPDOFFS2GA3 166 907*4882a593Smuzhiyun 908*4882a593Smuzhiyun #define SROM13_RPCAL5GB4 199 909*4882a593Smuzhiyun #define SROM13_RPCAL2GCORE3 101 910*4882a593Smuzhiyun #define SROM13_RPCAL5GB01CORE3 102 911*4882a593Smuzhiyun #define SROM13_RPCAL5GB23CORE3 103 912*4882a593Smuzhiyun 913*4882a593Smuzhiyun #define SROM13_SW_TXRX_MASK 104 914*4882a593Smuzhiyun 915*4882a593Smuzhiyun #define SROM13_EU_EDCRSTH 232 916*4882a593Smuzhiyun 917*4882a593Smuzhiyun #define SROM13_SWCTRLMAP4_CFG 493 918*4882a593Smuzhiyun #define SROM13_SWCTRLMAP4_TX2G_FEM3TO0 494 919*4882a593Smuzhiyun #define SROM13_SWCTRLMAP4_RX2G_FEM3TO0 495 920*4882a593Smuzhiyun #define SROM13_SWCTRLMAP4_RXBYP2G_FEM3TO0 496 921*4882a593Smuzhiyun #define SROM13_SWCTRLMAP4_MISC2G_FEM3TO0 497 922*4882a593Smuzhiyun #define SROM13_SWCTRLMAP4_TX5G_FEM3TO0 498 923*4882a593Smuzhiyun #define SROM13_SWCTRLMAP4_RX5G_FEM3TO0 499 924*4882a593Smuzhiyun #define SROM13_SWCTRLMAP4_RXBYP5G_FEM3TO0 500 925*4882a593Smuzhiyun #define SROM13_SWCTRLMAP4_MISC5G_FEM3TO0 501 926*4882a593Smuzhiyun #define SROM13_SWCTRLMAP4_TX2G_FEM7TO4 502 927*4882a593Smuzhiyun #define SROM13_SWCTRLMAP4_RX2G_FEM7TO4 503 928*4882a593Smuzhiyun #define SROM13_SWCTRLMAP4_RXBYP2G_FEM7TO4 504 929*4882a593Smuzhiyun #define SROM13_SWCTRLMAP4_MISC2G_FEM7TO4 505 930*4882a593Smuzhiyun #define SROM13_SWCTRLMAP4_TX5G_FEM7TO4 506 931*4882a593Smuzhiyun #define SROM13_SWCTRLMAP4_RX5G_FEM7TO4 507 932*4882a593Smuzhiyun #define SROM13_SWCTRLMAP4_RXBYP5G_FEM7TO4 508 933*4882a593Smuzhiyun #define SROM13_SWCTRLMAP4_MISC5G_FEM7TO4 509 934*4882a593Smuzhiyun 935*4882a593Smuzhiyun #define SROM13_PDOFFSET20IN80M5GCORE3 510 936*4882a593Smuzhiyun #define SROM13_PDOFFSET20IN80M5GCORE3_1 511 937*4882a593Smuzhiyun 938*4882a593Smuzhiyun #define SROM13_NOISELVLCORE3 584 939*4882a593Smuzhiyun #define SROM13_NOISELVLCORE3_1 585 940*4882a593Smuzhiyun #define SROM13_RXGAINERRCORE3 586 941*4882a593Smuzhiyun #define SROM13_RXGAINERRCORE3_1 587 942*4882a593Smuzhiyun 943*4882a593Smuzhiyun #define SROM13_PDOFF_2G_CCK_20M 167 944*4882a593Smuzhiyun 945*4882a593Smuzhiyun #define SROM15_CALDATA_WORDS 943 946*4882a593Smuzhiyun #define SROM15_CAL_OFFSET_LOC 68 947*4882a593Smuzhiyun #define MAX_IOCTL_TXCHUNK_SIZE 1500 948*4882a593Smuzhiyun #define SROM15_MAX_CAL_SIZE 1886 949*4882a593Smuzhiyun #define SROM15_SIGNATURE 0x110c 950*4882a593Smuzhiyun #define SROM15_WORDS 1024 951*4882a593Smuzhiyun #define SROM15_MACHI 65 952*4882a593Smuzhiyun #define SROM15_CRCREV 1023 953*4882a593Smuzhiyun #define SROM15_BRDREV 69 954*4882a593Smuzhiyun #define SROM15_CCODE 70 955*4882a593Smuzhiyun #define SROM15_REGREV 71 956*4882a593Smuzhiyun #define SROM15_SIGN 64 957*4882a593Smuzhiyun 958*4882a593Smuzhiyun #define SROM16_SIGN 128 959*4882a593Smuzhiyun #define SROM16_WORDS 1024 960*4882a593Smuzhiyun #define SROM16_SFLASH_WORDS 2048U 961*4882a593Smuzhiyun #define SROM16_SIGNATURE 0x4357 962*4882a593Smuzhiyun #define SROM16_CRCREV 1023 963*4882a593Smuzhiyun #define SROM16_MACHI (SROM16_SIGN + 1) 964*4882a593Smuzhiyun #define SROM16_CALDATA_OFFSET_LOC (SROM16_SIGN + 4) 965*4882a593Smuzhiyun #define SROM16_BOARDREV (SROM16_SIGN + 5) 966*4882a593Smuzhiyun #define SROM16_CCODE (SROM16_SIGN + 6) 967*4882a593Smuzhiyun #define SROM16_REGREV (SROM16_SIGN + 7) 968*4882a593Smuzhiyun 969*4882a593Smuzhiyun #define SROM_CALDATA_WORDS 832 970*4882a593Smuzhiyun 971*4882a593Smuzhiyun #define SROM17_SIGN 64 972*4882a593Smuzhiyun #define SROM17_BRDREV 65 973*4882a593Smuzhiyun #define SROM17_MACADDR 66 974*4882a593Smuzhiyun #define SROM17_CCODE 69 975*4882a593Smuzhiyun #define SROM17_CALDATA 70 976*4882a593Smuzhiyun #define SROM17_GCALTMP 71 977*4882a593Smuzhiyun 978*4882a593Smuzhiyun #define SROM17_C0SRD202G 72 979*4882a593Smuzhiyun #define SROM17_C0SRD202G_1 73 980*4882a593Smuzhiyun #define SROM17_C0SRD205GL 74 981*4882a593Smuzhiyun #define SROM17_C0SRD205GL_1 75 982*4882a593Smuzhiyun #define SROM17_C0SRD205GML 76 983*4882a593Smuzhiyun #define SROM17_C0SRD205GML_1 77 984*4882a593Smuzhiyun #define SROM17_C0SRD205GMU 78 985*4882a593Smuzhiyun #define SROM17_C0SRD205GMU_1 79 986*4882a593Smuzhiyun #define SROM17_C0SRD205GH 80 987*4882a593Smuzhiyun #define SROM17_C0SRD205GH_1 81 988*4882a593Smuzhiyun 989*4882a593Smuzhiyun #define SROM17_C1SRD202G 82 990*4882a593Smuzhiyun #define SROM17_C1SRD202G_1 83 991*4882a593Smuzhiyun #define SROM17_C1SRD205GL 84 992*4882a593Smuzhiyun #define SROM17_C1SRD205GL_1 85 993*4882a593Smuzhiyun #define SROM17_C1SRD205GML 86 994*4882a593Smuzhiyun #define SROM17_C1SRD205GML_1 87 995*4882a593Smuzhiyun #define SROM17_C1SRD205GMU 88 996*4882a593Smuzhiyun #define SROM17_C1SRD205GMU_1 89 997*4882a593Smuzhiyun #define SROM17_C1SRD205GH 90 998*4882a593Smuzhiyun #define SROM17_C1SRD205GH_1 91 999*4882a593Smuzhiyun 1000*4882a593Smuzhiyun #define SROM17_TRAMMAGIC 92 1001*4882a593Smuzhiyun #define SROM17_TRAMMAGIC_1 93 1002*4882a593Smuzhiyun #define SROM17_TRAMDATA 94 1003*4882a593Smuzhiyun 1004*4882a593Smuzhiyun #define SROM17_WORDS 256 1005*4882a593Smuzhiyun #define SROM17_CRCREV 255 1006*4882a593Smuzhiyun #define SROM17_CALDATA_WORDS 161 1007*4882a593Smuzhiyun #define SROM17_SIGNATURE 0x1103 /* 4355 in hex format */ 1008*4882a593Smuzhiyun 1009*4882a593Smuzhiyun #define SROM18_SIGN 112 1010*4882a593Smuzhiyun #define SROM18_WORDS 1024 1011*4882a593Smuzhiyun #define SROM18_SIGNATURE 0x4377 1012*4882a593Smuzhiyun #define SROM18_CRCREV 1023 1013*4882a593Smuzhiyun #define SROM18_MACHI (SROM18_SIGN + 1) 1014*4882a593Smuzhiyun #define SROM18_CALDATA_OFFSET_LOC (SROM18_SIGN + 4) 1015*4882a593Smuzhiyun #define SROM18_BOARDREV (SROM18_SIGN + 5) 1016*4882a593Smuzhiyun #define SROM18_CCODE (SROM18_SIGN + 6) 1017*4882a593Smuzhiyun #define SROM18_REGREV (SROM18_SIGN + 7) 1018*4882a593Smuzhiyun #define SROM18_CALDATA_WORDS (SROM18_WORDS - SROM18_CALDATA_OFFSET_LOC) 1019*4882a593Smuzhiyun 1020*4882a593Smuzhiyun typedef struct { 1021*4882a593Smuzhiyun uint8 tssipos; /* TSSI positive slope, 1: positive, 0: negative */ 1022*4882a593Smuzhiyun uint8 extpagain; /* Ext PA gain-type: full-gain: 0, pa-lite: 1, no_pa: 2 */ 1023*4882a593Smuzhiyun uint8 pdetrange; /* support 32 combinations of different Pdet dynamic ranges */ 1024*4882a593Smuzhiyun uint8 triso; /* TR switch isolation */ 1025*4882a593Smuzhiyun uint8 antswctrllut; /* antswctrl lookup table configuration: 32 possible choices */ 1026*4882a593Smuzhiyun } srom_fem_t; 1027*4882a593Smuzhiyun 1028*4882a593Smuzhiyun #endif /* _bcmsrom_fmt_h_ */ 1029