Prasanna Kumar | f6c94ae | 2013-04-11 20:05:21 -0700 | [diff] [blame] | 1 | /* |
Kiet Lam | aa8e15a | 2014-02-11 23:30:06 -0800 | [diff] [blame^] | 2 | * Copyright (c) 2012-2013 Qualcomm Atheros, Inc. |
| 3 | * All Rights Reserved. |
| 4 | * Qualcomm Atheros Confidential and Proprietary. |
Madan Mohan Koyyalamudi | a997c1e | 2013-09-03 12:16:32 -0700 | [diff] [blame] | 5 | */ |
Prasanna Kumar | f6c94ae | 2013-04-11 20:05:21 -0700 | [diff] [blame] | 6 | /*=========================================================================== |
| 7 | EDIT HISTORY FOR FILE |
| 8 | |
| 9 | This section contains comments describing changes made to the module. |
| 10 | Notice that changes are listed in reverse chronological order. |
| 11 | |
| 12 | $Header:$ $DateTime: $ $Author: $ |
| 13 | |
| 14 | when who what, where, why |
| 15 | -------- --- ----------------------------------------------- |
| 16 | 04/10/13 kumarpra nv built in creation |
| 17 | ===========================================================================*/ |
| 18 | |
| 19 | |
| 20 | /* |
| 21 | ----------------------------------------- |
| 22 | This file is generated by nvTmplRun Parser |
| 23 | ----------------------------------------- |
| 24 | To be auto-generated, or |
| 25 | This is the source file and the header file can be generated from this |
| 26 | template file. |
| 27 | |
| 28 | Template constructs |
| 29 | 1. TABLE_: struct |
| 30 | 2. INDEX_ENUM: enums, e.g. {RATE_OFDM_6M,RATE_OFDM_54M} |
| 31 | 3. INDEX_INT: int, e.g.{min, max, increment} |
| 32 | 3. Basic data types: tANI_U8, tANI_S8, tANI_U32, tANI_S32 |
| 33 | 4. Storage types: |
| 34 | 4.1 SINGULAR: one element of basic data type |
| 35 | 4.2 ARRAY_1: one dimensional array, x-axis |
| 36 | 4.3 ARRAY_2: two dimensional array, (x, y) |
| 37 | 4.4 ARRAY_3: three dimensional array, (x, y, z) |
| 38 | 4.5 ARRAY_4: four dimensional array, (x, y, z, t) |
| 39 | |
| 40 | Implementation notes |
| 41 | 1. Flow of changing NV data format: (TBD) Either change the template and |
| 42 | generate the header file, or modify header file and auto-generate |
| 43 | the template. |
| 44 | 2. Flow of writing NV data: encode the template in the data stream, so the |
| 45 | NV data is "self-sufficient". No separate template, no compability |
| 46 | issue, no need of version control. |
| 47 | 3. Flow of reading NV data: parse the binary NV data stream based on the |
| 48 | template info in the data stream. |
| 49 | 4. The above NV logic is decoupled from the actual data content, a generic, |
| 50 | content ergonostic parser (reading) and encoder (writing). |
| 51 | The NV logic is common code shared by tools, s/w |
| 52 | (both host and firmware), and off-line utilities. |
| 53 | 5. NV data parsing and "acceptanace" into an s/w moduel data structure can |
| 54 | be "configured" in several ways: |
| 55 | 5.1 only total matching of all fields, otherwise, reject the whole data |
| 56 | stream (a table). |
| 57 | 5.2 partial matching of fields allowed and the rest fields assume |
| 58 | reasonal default values, |
| 59 | The choice can be determined later, but the capability is provided. |
| 60 | 6. We could also design in this selection on an individual table base. |
| 61 | To design such capability, reserve some header bits in the data stream. |
| 62 | 7. The NV data streams can be modified, replaced, or intact with a new data |
| 63 | stream of the same table ID added to NV data. |
| 64 | The choice can be determined later, but the NV scheme provides such |
| 65 | capability. |
| 66 | 8. The template construct definitions can be common to all tables |
| 67 | (tbd: in a common section) or table specific, or updated in a |
| 68 | subsequent format section. |
| 69 | The use cases are: |
| 70 | - An index enum (e.g. RF channels) is common to all tables when the NV |
| 71 | data is created. Later new enums are added (e.g. |
| 72 | additional channels), one can choose to add the new index enum for new |
| 73 | tables appended to the NV data, or replace the |
| 74 | old table with new template info and data. |
| 75 | The template precedence is table specific then common, and later |
| 76 | "common" overwrites "earlier" commmon. |
| 77 | - A new field is added to the table, the user decides to replace the |
| 78 | old table data, he can simply encode the template info in the |
| 79 | data stream. |
| 80 | - In the same scenario (a new field is added), the user decides to |
| 81 | append a new table, he can encode the template |
| 82 | in the new data table and append it to NV data, or write a new common |
| 83 | template section and append the data. |
| 84 | |
| 85 | Key "ingredients", (re-iterate the most important features and capabilities) |
| 86 | 1. How to parse the data is embedded in the NV data itself. It removes the |
| 87 | dependency on header file matching, |
| 88 | version checking, compatibility among tools, host and firmware. |
| 89 | 2. Table field ID enables "partial" data acceptance in an s/w module data |
| 90 | structure. Whether full matching or reject the whole table, or "partial" |
| 91 | acceptance, the capabiilty is in place and further ensures the robust |
| 92 | NV data extensibility and compatibility. |
| 93 | 3. The table granularity, data stream based NV data has variable length |
| 94 | and flexibility of modifying an existing table data, replacing the |
| 95 | whole data, or leaving the existing data table intact and appending |
| 96 | a new table. |
| 97 | Misc notes: |
| 98 | 1. For endianness, support only 4 bytes integer or 4 1-byte |
| 99 | 2. String identifier needs to be shortened to save storage |
| 100 | 3. string_field_name, field type, field storage class, storage size |
| 101 | */ |
| 102 | |
| 103 | |
| 104 | #include "wlan_nv_types.h" |
| 105 | #include "wlan_nv_stream.h" |
| 106 | #include "wlan_nv.h" |
| 107 | #include "wlan_nv_template_internal.h" |
| 108 | #include "wlan_nv_template_api.h" |
| 109 | #include "wlan_nv_template_builtin.h" |
| 110 | |
| 111 | |
| 112 | |
| 113 | static int enumNoOfFieldArray[INDEX_ENUM_BUILTIN_MAX] = |
Leo Chang | 80de3c2 | 2013-11-26 10:52:12 -0800 | [diff] [blame] | 114 | {7,1,9,5,40,14,3,55}; |
Prasanna Kumar | f6c94ae | 2013-04-11 20:05:21 -0700 | [diff] [blame] | 115 | |
| 116 | _NV_TEMPLATE_ENUM NvEnumsBuiltIn[/*INDEX_ENUM_MAX*/][ENUM_ENTRIES_MAX] = { |
| 117 | { // INDEX_ENUM_ALL |
| 118 | {"j1",INDEX_ENUM_NUM_PHY_MAX_TX_CHAINS,0,{nul}}, |
| 119 | {"j2",INDEX_ENUM_NUM_REG_DOMAINS,0,{nul}}, |
| 120 | {"j3",INDEX_ENUM_NUM_RF_SUBBANDS,0,{nul}}, |
| 121 | {"j4",INDEX_ENUM_NUM_RF_CHANNELS,0,{nul}}, |
| 122 | {"j5",INDEX_ENUM_NUM_2_4GHZ_CHANNELS,0,{nul}}, |
| 123 | {"j6",INDEX_ENUM_NUM_802_11_MODES,0,{nul}}, |
| 124 | {"j7",INDEX_ENUM_NUM_HAL_PHY_RATES,0,{nul}}, |
| 125 | {{nul},0, 0,{nul}}, |
| 126 | }, // INDEX_ENUM_ALL |
| 127 | |
| 128 | { // INDEX_ENUM_NUM_PHY_MAX_TX_CHAINS |
| 129 | {"a1",PHY_TX_CHAIN_0,0,{nul}}, |
| 130 | {{nul},0, 0,{nul}}, |
| 131 | }, // INDEX_ENUM_NUM_PHY_MAX_TX_CHAINS |
| 132 | |
| 133 | { // INDEX_ENUM_NUM_REG_DOMAINS |
| 134 | {"a3",REG_DOMAIN_FCC,0,{nul}}, |
| 135 | {"a4",REG_DOMAIN_ETSI,0,{nul}}, |
| 136 | {"a5",REG_DOMAIN_JAPAN,0,{nul}}, |
| 137 | {"a6",REG_DOMAIN_WORLD,0,{nul}}, |
| 138 | {"a7",REG_DOMAIN_N_AMER_EXC_FCC,0,{nul}}, |
| 139 | {"a8",REG_DOMAIN_APAC,0,{nul}}, |
| 140 | {"a9",REG_DOMAIN_KOREA,0,{nul}}, |
| 141 | {"ba",REG_DOMAIN_HI_5GHZ,0,{nul}}, |
| 142 | {"bb",REG_DOMAIN_NO_5GHZ,0,{nul}}, |
| 143 | {{nul},0, 0,{nul}}, |
| 144 | }, // INDEX_ENUM_NUM_REG_DOMAINS |
| 145 | |
| 146 | { // INDEX_ENUM_NUM_RF_SUBBANDS |
| 147 | {"bd",RF_SUBBAND_2_4_GHZ,0,{nul}}, |
| 148 | {"be",RF_SUBBAND_5_LOW_GHZ,0,{nul}}, |
| 149 | {"bf",RF_SUBBAND_5_MID_GHZ,0,{nul}}, |
| 150 | {"bg",RF_SUBBAND_5_HIGH_GHZ,0,{nul}}, |
| 151 | {"bh",RF_SUBBAND_4_9_GHZ,0,{nul}}, |
| 152 | {{nul},0, 0,{nul}}, |
| 153 | }, // INDEX_ENUM_NUM_RF_SUBBANDS |
| 154 | |
| 155 | { // INDEX_ENUM_NUM_RF_CHANNELS |
| 156 | {"bj",RF_CHAN_1,0,{nul}}, |
| 157 | {"bk",RF_CHAN_2,0,{nul}}, |
| 158 | {"bl",RF_CHAN_3,0,{nul}}, |
| 159 | {"bm",RF_CHAN_4,0,{nul}}, |
| 160 | {"bn",RF_CHAN_5,0,{nul}}, |
| 161 | {"bo",RF_CHAN_6,0,{nul}}, |
| 162 | {"bp",RF_CHAN_7,0,{nul}}, |
| 163 | {"bq",RF_CHAN_8,0,{nul}}, |
| 164 | {"br",RF_CHAN_9,0,{nul}}, |
| 165 | {"bs",RF_CHAN_10,0,{nul}}, |
| 166 | {"bt",RF_CHAN_11,0,{nul}}, |
| 167 | {"bu",RF_CHAN_12,0,{nul}}, |
| 168 | {"bv",RF_CHAN_13,0,{nul}}, |
| 169 | {"bw",RF_CHAN_14,0,{nul}}, |
| 170 | {"bx",RF_CHAN_240,0,{nul}}, |
| 171 | {"by",RF_CHAN_244,0,{nul}}, |
| 172 | {"bz",RF_CHAN_248,0,{nul}}, |
| 173 | {"b0",RF_CHAN_252,0,{nul}}, |
| 174 | {"b1",RF_CHAN_208,0,{nul}}, |
| 175 | {"b2",RF_CHAN_212,0,{nul}}, |
| 176 | {"b3",RF_CHAN_216,0,{nul}}, |
| 177 | {"b4",RF_CHAN_36,0,{nul}}, |
| 178 | {"b5",RF_CHAN_40,0,{nul}}, |
| 179 | {"b6",RF_CHAN_44,0,{nul}}, |
| 180 | {"b7",RF_CHAN_48,0,{nul}}, |
| 181 | {"b8",RF_CHAN_52,0,{nul}}, |
| 182 | {"b9",RF_CHAN_56,0,{nul}}, |
| 183 | {"ca",RF_CHAN_60,0,{nul}}, |
| 184 | {"cb",RF_CHAN_64,0,{nul}}, |
| 185 | {"cc",RF_CHAN_100,0,{nul}}, |
| 186 | {"cd",RF_CHAN_104,0,{nul}}, |
| 187 | {"ce",RF_CHAN_108,0,{nul}}, |
| 188 | {"cf",RF_CHAN_112,0,{nul}}, |
| 189 | {"cg",RF_CHAN_116,0,{nul}}, |
| 190 | {"ch",RF_CHAN_120,0,{nul}}, |
| 191 | {"ci",RF_CHAN_124,0,{nul}}, |
| 192 | {"cj",RF_CHAN_128,0,{nul}}, |
| 193 | {"ck",RF_CHAN_132,0,{nul}}, |
| 194 | {"cl",RF_CHAN_136,0,{nul}}, |
| 195 | {"cm",RF_CHAN_140,0,{nul}}, |
Leo Chang | 80de3c2 | 2013-11-26 10:52:12 -0800 | [diff] [blame] | 196 | #ifdef FEATURE_WLAN_CH144 |
| 197 | {"kt",RF_CHAN_144,0,{nul}}, |
| 198 | #endif /* FEATURE_WLAN_CH144 */ |
Prasanna Kumar | f6c94ae | 2013-04-11 20:05:21 -0700 | [diff] [blame] | 199 | {"cn",RF_CHAN_149,0,{nul}}, |
| 200 | {"co",RF_CHAN_153,0,{nul}}, |
| 201 | {"cp",RF_CHAN_157,0,{nul}}, |
| 202 | {"cq",RF_CHAN_161,0,{nul}}, |
| 203 | {"cr",RF_CHAN_165,0,{nul}}, |
| 204 | {"cs",RF_CHAN_BOND_3,0,{nul}}, |
| 205 | {"ct",RF_CHAN_BOND_4,0,{nul}}, |
| 206 | {"cu",RF_CHAN_BOND_5,0,{nul}}, |
| 207 | {"cv",RF_CHAN_BOND_6,0,{nul}}, |
| 208 | {"cw",RF_CHAN_BOND_7,0,{nul}}, |
| 209 | {"cx",RF_CHAN_BOND_8,0,{nul}}, |
| 210 | {"cy",RF_CHAN_BOND_9,0,{nul}}, |
| 211 | {"cz",RF_CHAN_BOND_10,0,{nul}}, |
| 212 | {"c0",RF_CHAN_BOND_11,0,{nul}}, |
| 213 | {"c1",RF_CHAN_BOND_242,0,{nul}}, |
| 214 | {"c2",RF_CHAN_BOND_246,0,{nul}}, |
| 215 | {"c3",RF_CHAN_BOND_250,0,{nul}}, |
| 216 | {"c4",RF_CHAN_BOND_210,0,{nul}}, |
| 217 | {"c5",RF_CHAN_BOND_214,0,{nul}}, |
| 218 | {"c6",RF_CHAN_BOND_38,0,{nul}}, |
| 219 | {"c7",RF_CHAN_BOND_42,0,{nul}}, |
| 220 | {"c8",RF_CHAN_BOND_46,0,{nul}}, |
| 221 | {"c9",RF_CHAN_BOND_50,0,{nul}}, |
| 222 | {"da",RF_CHAN_BOND_54,0,{nul}}, |
| 223 | {"db",RF_CHAN_BOND_58,0,{nul}}, |
| 224 | {"dc",RF_CHAN_BOND_62,0,{nul}}, |
| 225 | {"dd",RF_CHAN_BOND_102,0,{nul}}, |
| 226 | {"de",RF_CHAN_BOND_106,0,{nul}}, |
| 227 | {"df",RF_CHAN_BOND_110,0,{nul}}, |
| 228 | {"dg",RF_CHAN_BOND_114,0,{nul}}, |
| 229 | {"dh",RF_CHAN_BOND_118,0,{nul}}, |
| 230 | {"di",RF_CHAN_BOND_122,0,{nul}}, |
| 231 | {"dj",RF_CHAN_BOND_126,0,{nul}}, |
| 232 | {"dk",RF_CHAN_BOND_130,0,{nul}}, |
| 233 | {"dl",RF_CHAN_BOND_134,0,{nul}}, |
| 234 | {"dm",RF_CHAN_BOND_138,0,{nul}}, |
Leo Chang | 80de3c2 | 2013-11-26 10:52:12 -0800 | [diff] [blame] | 235 | #ifdef FEATURE_WLAN_CH144 |
| 236 | {"ku",RF_CHAN_BOND_142,0,{nul}}, |
| 237 | #endif /* FEATURE_WLAN_CH144 */ |
Prasanna Kumar | f6c94ae | 2013-04-11 20:05:21 -0700 | [diff] [blame] | 238 | {"dn",RF_CHAN_BOND_151,0,{nul}}, |
| 239 | {"do",RF_CHAN_BOND_155,0,{nul}}, |
| 240 | {"dp",RF_CHAN_BOND_159,0,{nul}}, |
| 241 | {"dq",RF_CHAN_BOND_163,0,{nul}}, |
| 242 | {{nul},0, 0,{nul}}, |
| 243 | }, // INDEX_ENUM_NUM_RF_CHANNELS |
| 244 | |
| 245 | { // INDEX_ENUM_NUM_2_4GHZ_CHANNELS |
| 246 | {"ke",RF_CHAN_1_1,0,{nul}}, |
| 247 | {"kf",RF_CHAN_2_1,0,{nul}}, |
| 248 | {"kg",RF_CHAN_3_1,0,{nul}}, |
| 249 | {"kh",RF_CHAN_4_1,0,{nul}}, |
| 250 | {"ki",RF_CHAN_5_1,0,{nul}}, |
| 251 | {"kj",RF_CHAN_6_1,0,{nul}}, |
| 252 | {"kk",RF_CHAN_7_1,0,{nul}}, |
| 253 | {"kl",RF_CHAN_8_1,0,{nul}}, |
| 254 | {"km",RF_CHAN_9_1,0,{nul}}, |
| 255 | {"kn",RF_CHAN_10_1,0,{nul}}, |
| 256 | {"ko",RF_CHAN_11_1,0,{nul}}, |
| 257 | {"kp",RF_CHAN_12_1,0,{nul}}, |
| 258 | {"kq",RF_CHAN_13_1,0,{nul}}, |
| 259 | {"kr",RF_CHAN_14_1,0,{nul}}, |
| 260 | {{nul},0, 0,{nul}}, |
| 261 | }, // INDEX_ENUM_NUM_2_4GHZ_CHANNELS |
| 262 | |
| 263 | { // INDEX_ENUM_NUM_802_11_MODES |
| 264 | {"d6",MODE_802_11B,0,{nul}}, |
| 265 | {"d7",MODE_802_11AG,0,{nul}}, |
| 266 | {"d8",MODE_802_11N,0,{nul}}, |
| 267 | {{nul},0, 0,{nul}}, |
| 268 | }, // INDEX_ENUM_NUM_802_11_MODES |
| 269 | |
| 270 | { // INDEX_ENUM_NUM_HAL_PHY_RATES |
| 271 | {"ez",HAL_PHY_RATE_11B_LONG_1_MBPS,0,{nul}}, |
| 272 | {"e0",HAL_PHY_RATE_11B_LONG_2_MBPS,0,{nul}}, |
| 273 | {"e1",HAL_PHY_RATE_11B_LONG_5_5_MBPS,0,{nul}}, |
| 274 | {"e2",HAL_PHY_RATE_11B_LONG_11_MBPS,0,{nul}}, |
| 275 | {"e3",HAL_PHY_RATE_11B_SHORT_2_MBPS,0,{nul}}, |
| 276 | {"e4",HAL_PHY_RATE_11B_SHORT_5_5_MBPS,0,{nul}}, |
| 277 | {"e5",HAL_PHY_RATE_11B_SHORT_11_MBPS,0,{nul}}, |
| 278 | {"e6",HAL_PHY_RATE_11A_6_MBPS,0,{nul}}, |
| 279 | {"e7",HAL_PHY_RATE_11A_9_MBPS,0,{nul}}, |
| 280 | {"e8",HAL_PHY_RATE_11A_12_MBPS,0,{nul}}, |
| 281 | {"e9",HAL_PHY_RATE_11A_18_MBPS,0,{nul}}, |
| 282 | {"fa",HAL_PHY_RATE_11A_24_MBPS,0,{nul}}, |
| 283 | {"fb",HAL_PHY_RATE_11A_36_MBPS,0,{nul}}, |
| 284 | {"fc",HAL_PHY_RATE_11A_48_MBPS,0,{nul}}, |
| 285 | {"fd",HAL_PHY_RATE_11A_54_MBPS,0,{nul}}, |
| 286 | {"fe",HAL_PHY_RATE_11A_DUP_6_MBPS,0,{nul}}, |
| 287 | {"ff",HAL_PHY_RATE_11A_DUP_9_MBPS,0,{nul}}, |
| 288 | {"fg",HAL_PHY_RATE_11A_DUP_12_MBPS,0,{nul}}, |
| 289 | {"fh",HAL_PHY_RATE_11A_DUP_18_MBPS,0,{nul}}, |
| 290 | {"fi",HAL_PHY_RATE_11A_DUP_24_MBPS,0,{nul}}, |
| 291 | {"fj",HAL_PHY_RATE_11A_DUP_36_MBPS,0,{nul}}, |
| 292 | {"fk",HAL_PHY_RATE_11A_DUP_48_MBPS,0,{nul}}, |
| 293 | {"fl",HAL_PHY_RATE_11A_DUP_54_MBPS,0,{nul}}, |
| 294 | {"fm",HAL_PHY_RATE_MCS_1NSS_6_5_MBPS,0,{nul}}, |
| 295 | {"fn",HAL_PHY_RATE_MCS_1NSS_13_MBPS,0,{nul}}, |
| 296 | {"fo",HAL_PHY_RATE_MCS_1NSS_19_5_MBPS,0,{nul}}, |
| 297 | {"fp",HAL_PHY_RATE_MCS_1NSS_26_MBPS,0,{nul}}, |
| 298 | {"fq",HAL_PHY_RATE_MCS_1NSS_39_MBPS,0,{nul}}, |
| 299 | {"fr",HAL_PHY_RATE_MCS_1NSS_52_MBPS,0,{nul}}, |
| 300 | {"fs",HAL_PHY_RATE_MCS_1NSS_58_5_MBPS,0,{nul}}, |
| 301 | {"ft",HAL_PHY_RATE_MCS_1NSS_65_MBPS,0,{nul}}, |
| 302 | {"fu",HAL_PHY_RATE_MCS_1NSS_MM_SG_7_2_MBPS,0,{nul}}, |
| 303 | {"fv",HAL_PHY_RATE_MCS_1NSS_MM_SG_14_4_MBPS,0,{nul}}, |
| 304 | {"fw",HAL_PHY_RATE_MCS_1NSS_MM_SG_21_7_MBPS,0,{nul}}, |
| 305 | {"fx",HAL_PHY_RATE_MCS_1NSS_MM_SG_28_9_MBPS,0,{nul}}, |
| 306 | {"fy",HAL_PHY_RATE_MCS_1NSS_MM_SG_43_3_MBPS,0,{nul}}, |
| 307 | {"fz",HAL_PHY_RATE_MCS_1NSS_MM_SG_57_8_MBPS,0,{nul}}, |
| 308 | {"f0",HAL_PHY_RATE_MCS_1NSS_MM_SG_65_MBPS,0,{nul}}, |
| 309 | {"f1",HAL_PHY_RATE_MCS_1NSS_MM_SG_72_2_MBPS,0,{nul}}, |
| 310 | {"f2",HAL_PHY_RATE_MCS_1NSS_CB_13_5_MBPS,0,{nul}}, |
| 311 | {"f3",HAL_PHY_RATE_MCS_1NSS_CB_27_MBPS,0,{nul}}, |
| 312 | {"f4",HAL_PHY_RATE_MCS_1NSS_CB_40_5_MBPS,0,{nul}}, |
| 313 | {"f5",HAL_PHY_RATE_MCS_1NSS_CB_54_MBPS,0,{nul}}, |
| 314 | {"f6",HAL_PHY_RATE_MCS_1NSS_CB_81_MBPS,0,{nul}}, |
| 315 | {"f7",HAL_PHY_RATE_MCS_1NSS_CB_108_MBPS,0,{nul}}, |
| 316 | {"f8",HAL_PHY_RATE_MCS_1NSS_CB_121_5_MBPS,0,{nul}}, |
| 317 | {"f9",HAL_PHY_RATE_MCS_1NSS_CB_135_MBPS,0,{nul}}, |
| 318 | {"ga",HAL_PHY_RATE_MCS_1NSS_MM_SG_CB_15_MBPS,0,{nul}}, |
| 319 | {"gb",HAL_PHY_RATE_MCS_1NSS_MM_SG_CB_30_MBPS,0,{nul}}, |
| 320 | {"gc",HAL_PHY_RATE_MCS_1NSS_MM_SG_CB_45_MBPS,0,{nul}}, |
| 321 | {"gd",HAL_PHY_RATE_MCS_1NSS_MM_SG_CB_60_MBPS,0,{nul}}, |
| 322 | {"ge",HAL_PHY_RATE_MCS_1NSS_MM_SG_CB_90_MBPS,0,{nul}}, |
| 323 | {"gf",HAL_PHY_RATE_MCS_1NSS_MM_SG_CB_120_MBPS,0,{nul}}, |
| 324 | {"gg",HAL_PHY_RATE_MCS_1NSS_MM_SG_CB_135_MBPS,0,{nul}}, |
| 325 | {"gh",HAL_PHY_RATE_MCS_1NSS_MM_SG_CB_150_MBPS,0,{nul}}, |
| 326 | #ifdef WLAN_FEATURE_11AC |
| 327 | {"gj",HAL_PHY_RATE_11AC_DUP_6_MBPS,0,{nul}}, |
| 328 | {"gk",HAL_PHY_RATE_11AC_DUP_9_MBPS,0,{nul}}, |
| 329 | {"gl",HAL_PHY_RATE_11AC_DUP_12_MBPS,0,{nul}}, |
| 330 | {"gm",HAL_PHY_RATE_11AC_DUP_18_MBPS,0,{nul}}, |
| 331 | {"gn",HAL_PHY_RATE_11AC_DUP_24_MBPS,0,{nul}}, |
| 332 | {"go",HAL_PHY_RATE_11AC_DUP_36_MBPS,0,{nul}}, |
| 333 | {"gp",HAL_PHY_RATE_11AC_DUP_48_MBPS,0,{nul}}, |
| 334 | {"gq",HAL_PHY_RATE_11AC_DUP_54_MBPS,0,{nul}}, |
| 335 | {"gr",HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_6_5_MBPS,0,{nul}}, |
| 336 | {"gs",HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_13_MBPS,0,{nul}}, |
| 337 | {"gt",HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_19_5_MBPS,0,{nul}}, |
| 338 | {"gu",HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_26_MBPS,0,{nul}}, |
| 339 | {"gv",HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_39_MBPS,0,{nul}}, |
| 340 | {"gw",HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_52_MBPS,0,{nul}}, |
| 341 | {"gx",HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_58_5_MBPS,0,{nul}}, |
| 342 | {"gy",HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_65_MBPS,0,{nul}}, |
| 343 | {"gz",HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_78_MBPS,0,{nul}}, |
| 344 | #ifdef WCN_PRONTO |
| 345 | {"j8",HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_NGI_86_5_MBPS,0,{nul}}, |
| 346 | #endif |
| 347 | {"g0",HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_7_2_MBPS,0,{nul}}, |
| 348 | {"g1",HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_14_4_MBPS,0,{nul}}, |
| 349 | {"g2",HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_21_6_MBPS,0,{nul}}, |
| 350 | {"g3",HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_28_8_MBPS,0,{nul}}, |
| 351 | {"g4",HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_43_3_MBPS,0,{nul}}, |
| 352 | {"g5",HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_57_7_MBPS,0,{nul}}, |
| 353 | {"g6",HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_65_MBPS,0,{nul}}, |
| 354 | {"g7",HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_72_2_MBPS,0,{nul}}, |
| 355 | {"g8",HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_86_6_MBPS,0,{nul}}, |
| 356 | #ifdef WCN_PRONTO |
| 357 | {"j9",HAL_PHY_RATE_VHT_20MHZ_MCS_1NSS_SGI_96_1_MBPS,0,{nul}}, |
| 358 | #endif |
| 359 | {"g9",HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_13_5_MBPS,0,{nul}}, |
| 360 | {"ha",HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_27_MBPS,0,{nul}}, |
| 361 | {"hb",HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_40_5_MBPS,0,{nul}}, |
| 362 | {"hc",HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_54_MBPS,0,{nul}}, |
| 363 | {"hd",HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_81_MBPS,0,{nul}}, |
| 364 | {"he",HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_108_MBPS,0,{nul}}, |
| 365 | {"hf",HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_121_5_MBPS,0,{nul}}, |
| 366 | {"hg",HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_135_MBPS,0,{nul}}, |
| 367 | {"hh",HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_162_MBPS,0,{nul}}, |
| 368 | {"hi",HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_NGI_180_MBPS,0,{nul}}, |
| 369 | {"hj",HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_15_MBPS,0,{nul}}, |
| 370 | {"hk",HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_30_MBPS,0,{nul}}, |
| 371 | {"hl",HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_45_MBPS,0,{nul}}, |
| 372 | {"hm",HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_60_MBPS,0,{nul}}, |
| 373 | {"hn",HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_90_MBPS,0,{nul}}, |
| 374 | {"ho",HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_120_MBPS,0,{nul}}, |
| 375 | {"hp",HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_135_MBPS,0,{nul}}, |
| 376 | {"hq",HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_150_MBPS,0,{nul}}, |
| 377 | {"hr",HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_180_MBPS,0,{nul}}, |
| 378 | {"hs",HAL_PHY_RATE_VHT_40MHZ_MCS_1NSS_CB_SGI_200_MBPS,0,{nul}}, |
| 379 | {"ht",HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_29_3_MBPS,0,{nul}}, |
| 380 | {"hu",HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_58_5_MBPS,0,{nul}}, |
| 381 | {"hv",HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_87_8_MBPS,0,{nul}}, |
| 382 | {"hw",HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_117_MBPS,0,{nul}}, |
| 383 | {"hx",HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_175_5_MBPS,0,{nul}}, |
| 384 | {"hy",HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_234_MBPS,0,{nul}}, |
| 385 | {"hz",HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_263_3_MBPS,0,{nul}}, |
| 386 | {"h0",HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_292_5_MBPS,0,{nul}}, |
| 387 | {"h1",HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_351_MBPS,0,{nul}}, |
| 388 | {"h2",HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_NGI_390_MBPS,0,{nul}}, |
| 389 | {"h3",HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_32_5_MBPS,0,{nul}}, |
| 390 | {"h4",HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_65_MBPS,0,{nul}}, |
| 391 | {"h5",HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_97_5_MBPS,0,{nul}}, |
| 392 | {"h6",HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_130_MBPS,0,{nul}}, |
| 393 | {"h7",HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_195_MBPS,0,{nul}}, |
| 394 | {"h8",HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_260_MBPS,0,{nul}}, |
| 395 | {"h9",HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_292_5_MBPS,0,{nul}}, |
| 396 | {"ia",HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_325_MBPS,0,{nul}}, |
| 397 | {"ib",HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_390_MBPS,0,{nul}}, |
| 398 | {"ic",HAL_PHY_RATE_VHT_80MHZ_MCS_1NSS_CB_SGI_433_3_MBPS,0,{nul}}, |
| 399 | #endif |
| 400 | {{nul},0, 0,{nul}}, |
| 401 | }, // INDEX_ENUM_NUM_HAL_PHY_RATES |
| 402 | |
| 403 | { //INDEX_ENUM_LAST |
| 404 | {{nul},0, 0,{nul}}, |
| 405 | }, //INDEX_ENUM_LAST |
| 406 | }; // END _NV_TEMPLATE_ENUM |
| 407 | |
| 408 | |
| 409 | int getEnumNoOfFields(int enumIdx){ |
Leo Chang | 80de3c2 | 2013-11-26 10:52:12 -0800 | [diff] [blame] | 410 | #ifdef FEATURE_WLAN_CH144 |
| 411 | enumNoOfFieldArray[4] = enumNoOfFieldArray[4] + 1; |
| 412 | #endif |
| 413 | enumNoOfFieldArray[4] = enumNoOfFieldArray[4] + 36; |
| 414 | #ifdef FEATURE_WLAN_CH144 |
| 415 | enumNoOfFieldArray[4] = enumNoOfFieldArray[4] + 1; |
| 416 | #endif |
Prasanna Kumar | f6c94ae | 2013-04-11 20:05:21 -0700 | [diff] [blame] | 417 | #ifdef WLAN_FEATURE_11AC |
| 418 | enumNoOfFieldArray[7] = enumNoOfFieldArray[7] + 17; |
| 419 | #ifdef WCN_PRONTO |
| 420 | enumNoOfFieldArray[7] = enumNoOfFieldArray[7] + 1; |
| 421 | #endif |
| 422 | enumNoOfFieldArray[7] = enumNoOfFieldArray[7] + 9; |
| 423 | #ifdef WCN_PRONTO |
| 424 | enumNoOfFieldArray[7] = enumNoOfFieldArray[7] + 1; |
| 425 | #endif |
| 426 | enumNoOfFieldArray[7] = enumNoOfFieldArray[7] + 40; |
| 427 | #endif |
| 428 | |
| 429 | return enumNoOfFieldArray[enumIdx]; |
| 430 | } |
| 431 | |
| 432 | |
| 433 | static int tableNoOfFieldArray[TABLE_BUILTIN_MAX] = |
| 434 | {14,12,2,2,16,1,2,2,23,1,1,1,4,2,13}; |
| 435 | |
| 436 | _NV_TEMPLATE_TABLE NvTablesBuiltIn[/*TABLES_MAX*/][TABLE_ENTRIES_MAX] = { |
| 437 | { // TABLE_sHalNv |
| 438 | {"jz",_TABLE_IDX(TABLE_sNvFields),SINGULAR,0,0,0, |
| 439 | ((int)&(nvDefaults.fields) - (int)&nvDefaults),"fields"}, |
| 440 | {"jm",_TABLE_IDX(TABLE_tRateGroupPwr),(ARRAY_1), |
| 441 | ((FIELD_SIZE_TYPE_BIT(FIELD_SIZE_IDX_ENUM))| |
| 442 | (FIELD_SIZE_VALUE_BITS(INDEX_ENUM_NUM_RF_SUBBANDS))),0,0, |
| 443 | ((int)&(nvDefaults.tables.pwrOptimum[0]) - (int)&nvDefaults.tables), |
| 444 | "pwrOptimum"}, |
| 445 | {"dx",_TABLE_IDX(TABLE_sRegulatoryChannel),(ARRAY_1), |
| 446 | ((FIELD_SIZE_TYPE_BIT(FIELD_SIZE_IDX_ENUM))| |
| 447 | (FIELD_SIZE_VALUE_BITS(INDEX_ENUM_NUM_RF_CHANNELS))),0,0, |
| 448 | ((int)&(nvDefaults.tables.regDomains[0].channels[0]) - |
| 449 | (int)&nvDefaults.tables.regDomains[0]),"channels"}, |
| 450 | {"jn",_TABLE_IDX(TABLE_sRegulatoryDomains),(ARRAY_1), |
| 451 | ((FIELD_SIZE_TYPE_BIT(FIELD_SIZE_IDX_ENUM))| |
| 452 | (FIELD_SIZE_VALUE_BITS(INDEX_ENUM_NUM_REG_DOMAINS))),0,0, |
| 453 | ((int)&(nvDefaults.tables.regDomains[0]) - (int)&nvDefaults.tables), |
| 454 | "regDomains"}, |
| 455 | {"jo",_TABLE_IDX(TABLE_sDefaultCountry),SINGULAR,0,0,0, |
| 456 | ((int)&(nvDefaults.tables.defaultCountryTable) - |
| 457 | (int)&nvDefaults.tables),"defaultCountryTable"}, |
| 458 | {"jp",_TABLE_IDX(TABLE_tTpcPowerTable),(ARRAY_1), |
| 459 | ((FIELD_SIZE_TYPE_BIT(FIELD_SIZE_IDX_ENUM))| |
| 460 | (FIELD_SIZE_VALUE_BITS(INDEX_ENUM_NUM_RF_CHANNELS))),0,0, |
| 461 | ((int)&(nvDefaults.tables.plutCharacterized[0]) - |
| 462 | (int)&nvDefaults.tables),"plutCharacterized"}, |
| 463 | {"jr",_TABLE_IDX(TABLE_tRateGroupPwrVR),(ARRAY_1), |
| 464 | ((FIELD_SIZE_TYPE_BIT(FIELD_SIZE_IDX_ENUM))| |
| 465 | (FIELD_SIZE_VALUE_BITS(INDEX_ENUM_NUM_RF_SUBBANDS))),0,0, |
| 466 | ((int)&(nvDefaults.tables.pwrOptimum_virtualRate[0]) - |
| 467 | (int)&nvDefaults.tables),"pwrOptimum_virtualRate"}, |
| 468 | {"js",_TABLE_IDX(TABLE_sFwConfig),SINGULAR,0,0,0, |
| 469 | ((int)&(nvDefaults.tables.fwConfig) - (int)&nvDefaults.tables), |
| 470 | "fwConfig"}, |
| 471 | {"jt",_TABLE_IDX(TABLE_sRssiChannelOffsets),(_ADD_SIZE1(2)|ARRAY_1), |
| 472 | ((FIELD_SIZE_TYPE_BIT(FIELD_SIZE_IDX_INT))|(FIELD_SIZE_VALUE_BITS(2))), |
| 473 | 0,0,((int)&(nvDefaults.tables.rssiChanOffsets[0]) - |
| 474 | (int)&nvDefaults.tables),"rssiChanOffsets"}, |
| 475 | {"er",_TABLE_IDX(TABLE_sCalData),SINGULAR,0,0,0, |
| 476 | ((int)&(nvDefaults.tables.hwCalValues.calData) - |
| 477 | (int)&nvDefaults.tables.hwCalValues),"calData"}, |
| 478 | {"ju",_TABLE_IDX(TABLE_sHwCalValues),SINGULAR,0,0,0, |
| 479 | ((int)&(nvDefaults.tables.hwCalValues) - (int)&nvDefaults.tables), |
| 480 | "hwCalValues"}, |
| 481 | {"jx",_TABLE_IDX(TABLE_sOfdmCmdPwrOffset),SINGULAR,0,0,0, |
| 482 | ((int)&(nvDefaults.tables.ofdmCmdPwrOffset) - (int)&nvDefaults.tables), |
| 483 | "ofdmCmdPwrOffset"}, |
| 484 | {"jy",_TABLE_IDX(TABLE_sTxBbFilterMode),SINGULAR,0,0,0, |
| 485 | ((int)&(nvDefaults.tables.txbbFilterMode) - (int)&nvDefaults.tables), |
| 486 | "txbbFilterMode"}, |
| 487 | {"j0",_TABLE_IDX(TABLE_sNvTables),SINGULAR,0,0,0, |
| 488 | ((int)&(nvDefaults.tables) - (int)&nvDefaults),"tables"}, |
| 489 | {{nul}, 0, 0, 0, 0, 0, 0,{nul}}, |
| 490 | }, // TABLE_sHalNv |
| 491 | |
| 492 | { // TABLE_sNvFields |
| 493 | {"ap",_ID_U16,SINGULAR,0,0,0,((int)&(nvDefaults.fields.productId) - |
| 494 | (int)&nvDefaults.fields),"productId"}, |
| 495 | {"aq",_ID_U8,SINGULAR,0,0,0,((int)&(nvDefaults.fields.productBands) - |
| 496 | (int)&nvDefaults.fields),"productBands"}, |
| 497 | {"ar",_ID_U8,SINGULAR,0,0,0,((int)&(nvDefaults.fields.wlanNvRevId) - |
| 498 | (int)&nvDefaults.fields),"wlanNvRevId"}, |
| 499 | {"as",_ID_U8,SINGULAR,0,0,0,((int)&(nvDefaults.fields.numOfTxChains) - |
| 500 | (int)&nvDefaults.fields),"numOfTxChains"}, |
| 501 | {"at",_ID_U8,SINGULAR,0,0,0,((int)&(nvDefaults.fields.numOfRxChains) - |
| 502 | (int)&nvDefaults.fields),"numOfRxChains"}, |
| 503 | {"au",_ID_U8,(_ADD_SIZE1(NV_FIELD_MAC_ADDR_SIZE)|ARRAY_1), |
| 504 | ((FIELD_SIZE_TYPE_BIT(FIELD_SIZE_IDX_INT))| |
| 505 | (FIELD_SIZE_VALUE_BITS(NV_FIELD_MAC_ADDR_SIZE))),0,0, |
| 506 | ((int)&(nvDefaults.fields.macAddr[0]) - (int)&nvDefaults.fields), |
| 507 | "macAddr"}, |
| 508 | {"av",_ID_U8,(_ADD_SIZE1(NV_FIELD_MAC_ADDR_SIZE)|ARRAY_1), |
| 509 | ((FIELD_SIZE_TYPE_BIT(FIELD_SIZE_IDX_INT))| |
| 510 | (FIELD_SIZE_VALUE_BITS(NV_FIELD_MAC_ADDR_SIZE))),0,0, |
| 511 | ((int)&(nvDefaults.fields.macAddr2[0]) - (int)&nvDefaults.fields), |
| 512 | "macAddr2"}, |
| 513 | {"aw",_ID_U8,(_ADD_SIZE1(NV_FIELD_MAC_ADDR_SIZE)|ARRAY_1), |
| 514 | ((FIELD_SIZE_TYPE_BIT(FIELD_SIZE_IDX_INT))| |
| 515 | (FIELD_SIZE_VALUE_BITS(NV_FIELD_MAC_ADDR_SIZE))),0,0, |
| 516 | ((int)&(nvDefaults.fields.macAddr3[0]) - (int)&nvDefaults.fields), |
| 517 | "macAddr3"}, |
| 518 | {"ax",_ID_U8,(_ADD_SIZE1(NV_FIELD_MAC_ADDR_SIZE)|ARRAY_1), |
| 519 | ((FIELD_SIZE_TYPE_BIT(FIELD_SIZE_IDX_INT))| |
| 520 | (FIELD_SIZE_VALUE_BITS(NV_FIELD_MAC_ADDR_SIZE))),0,0, |
| 521 | ((int)&(nvDefaults.fields.macAddr4[0]) - (int)&nvDefaults.fields), |
| 522 | "macAddr4"}, |
| 523 | {"ay",_ID_U8,(_ADD_SIZE1(NV_FIELD_MFG_SN_SIZE)|ARRAY_1), |
| 524 | ((FIELD_SIZE_TYPE_BIT(FIELD_SIZE_IDX_INT))| |
| 525 | (FIELD_SIZE_VALUE_BITS(NV_FIELD_MFG_SN_SIZE))),0,0, |
| 526 | ((int)&(nvDefaults.fields.mfgSN[0]) - (int)&nvDefaults.fields),"mfgSN"} |
| 527 | , |
| 528 | {"az",_ID_U8,SINGULAR,0,0,0,((int)&(nvDefaults.fields.couplerType) - |
| 529 | (int)&nvDefaults.fields),"couplerType"}, |
| 530 | {"a0",_ID_U8,SINGULAR,0,0,0,((int)&(nvDefaults.fields.nvVersion) - |
| 531 | (int)&nvDefaults.fields),"nvVersion"}, |
| 532 | {{nul}, 0, 0, 0, 0, 0, 0,{nul}}, |
| 533 | }, // TABLE_sNvFields |
| 534 | |
| 535 | { // TABLE_sRegulatoryChannel |
| 536 | {"dv",_ID_U8,SINGULAR,0,0,0, |
| 537 | ((int)&(nvDefaults.tables.regDomains[0].channels[0].enabled) - |
| 538 | (int)&nvDefaults.tables.regDomains[0].channels[0]),"enabled"}, |
| 539 | {"dw",_ID_S8,SINGULAR,0,0,0, |
| 540 | ((int)&(nvDefaults.tables.regDomains[0].channels[0].pwrLimit) - |
| 541 | (int)&nvDefaults.tables.regDomains[0].channels[0]),"pwrLimit"}, |
| 542 | {{nul}, 0, 0, 0, 0, 0, 0,{nul}}, |
| 543 | }, // TABLE_sRegulatoryChannel |
| 544 | |
| 545 | { // TABLE_sRssiChannelOffsets |
| 546 | {"d1",_ID_S16,(ARRAY_1),((FIELD_SIZE_TYPE_BIT(FIELD_SIZE_IDX_ENUM))| |
| 547 | (FIELD_SIZE_VALUE_BITS(INDEX_ENUM_NUM_RF_CHANNELS))),0,0, |
| 548 | ((int)&(nvDefaults.tables.rssiChanOffsets[0].bRssiOffset[0]) - |
| 549 | (int)&nvDefaults.tables.rssiChanOffsets[0]),"bRssiOffset"}, |
| 550 | {"d2",_ID_S16,(ARRAY_1),((FIELD_SIZE_TYPE_BIT(FIELD_SIZE_IDX_ENUM))| |
| 551 | (FIELD_SIZE_VALUE_BITS(INDEX_ENUM_NUM_RF_CHANNELS))),0,0, |
| 552 | ((int)&(nvDefaults.tables.rssiChanOffsets[0].gnRssiOffset[0]) - |
| 553 | (int)&nvDefaults.tables.rssiChanOffsets[0]),"gnRssiOffset"}, |
| 554 | {{nul}, 0, 0, 0, 0, 0, 0,{nul}}, |
| 555 | }, // TABLE_sRssiChannelOffsets |
| 556 | |
| 557 | { // TABLE_sCalData |
| 558 | {"ea",_ID_U16,SINGULAR,0,0,0, |
| 559 | ((int)&(nvDefaults.tables.hwCalValues.calData.psSlpTimeOvrHd2G) - |
| 560 | (int)&nvDefaults.tables.hwCalValues.calData),"psSlpTimeOvrHd2G"}, |
| 561 | {"eb",_ID_U16,SINGULAR,0,0,0, |
| 562 | ((int)&(nvDefaults.tables.hwCalValues.calData.psSlpTimeOvrHd5G) - |
| 563 | (int)&nvDefaults.tables.hwCalValues.calData),"psSlpTimeOvrHd5G"}, |
| 564 | {"ec",_ID_U16,SINGULAR,0,0,0, |
| 565 | ((int)&(nvDefaults.tables.hwCalValues.calData.psSlpTimeOvrHdxLNA5G) - |
| 566 | (int)&nvDefaults.tables.hwCalValues.calData),"psSlpTimeOvrHdxLNA5G"}, |
| 567 | {"ed",_ID_U8,SINGULAR,0,0,0, |
| 568 | (((int)&(nvDefaults.tables.hwCalValues.calData.psSlpTimeOvrHdxLNA5G) + |
| 569 | sizeof(uint16)) - (int)&nvDefaults.tables.hwCalValues.calData), |
| 570 | "nv_TxBBFSel9MHz"}, |
| 571 | {"ee",_ID_U8,SINGULAR,0,0,0, |
| 572 | ((int)&(nvDefaults.tables.hwCalValues.calData.hwParam2) - |
| 573 | (int)&nvDefaults.tables.hwCalValues.calData),"hwParam2"}, |
| 574 | {"ef",_ID_U16,SINGULAR,0,0,0, |
| 575 | ((int)&(nvDefaults.tables.hwCalValues.calData.custom_tcxo_reg8) - |
| 576 | (int)&nvDefaults.tables.hwCalValues.calData),"custom_tcxo_reg8"}, |
| 577 | {"eg",_ID_U16,SINGULAR,0,0,0, |
| 578 | ((int)&(nvDefaults.tables.hwCalValues.calData.custom_tcxo_reg9) - |
| 579 | (int)&nvDefaults.tables.hwCalValues.calData),"custom_tcxo_reg9"}, |
| 580 | {"eh",_ID_U32,SINGULAR,0,0,0, |
| 581 | ((int)&(nvDefaults.tables.hwCalValues.calData.hwParam3) - |
| 582 | (int)&nvDefaults.tables.hwCalValues.calData),"hwParam3"}, |
| 583 | {"ei",_ID_U32,SINGULAR,0,0,0, |
| 584 | ((int)&(nvDefaults.tables.hwCalValues.calData.hwParam4) - |
| 585 | (int)&nvDefaults.tables.hwCalValues.calData),"hwParam4"}, |
| 586 | {"ej",_ID_U32,SINGULAR,0,0,0, |
| 587 | ((int)&(nvDefaults.tables.hwCalValues.calData.hwParam5) - |
| 588 | (int)&nvDefaults.tables.hwCalValues.calData),"hwParam5"}, |
| 589 | {"ek",_ID_U32,SINGULAR,0,0,0, |
| 590 | ((int)&(nvDefaults.tables.hwCalValues.calData.hwParam6) - |
| 591 | (int)&nvDefaults.tables.hwCalValues.calData),"hwParam6"}, |
| 592 | {"el",_ID_U32,SINGULAR,0,0,0, |
| 593 | ((int)&(nvDefaults.tables.hwCalValues.calData.hwParam7) - |
| 594 | (int)&nvDefaults.tables.hwCalValues.calData),"hwParam7"}, |
| 595 | {"em",_ID_U32,SINGULAR,0,0,0, |
| 596 | ((int)&(nvDefaults.tables.hwCalValues.calData.hwParam8) - |
| 597 | (int)&nvDefaults.tables.hwCalValues.calData),"hwParam8"}, |
| 598 | {"en",_ID_U32,SINGULAR,0,0,0, |
| 599 | ((int)&(nvDefaults.tables.hwCalValues.calData.hwParam9) - |
| 600 | (int)&nvDefaults.tables.hwCalValues.calData),"hwParam9"}, |
| 601 | {"eo",_ID_U32,SINGULAR,0,0,0, |
| 602 | ((int)&(nvDefaults.tables.hwCalValues.calData.hwParam10) - |
| 603 | (int)&nvDefaults.tables.hwCalValues.calData),"hwParam10"}, |
| 604 | {"ep",_ID_U32,SINGULAR,0,0,0, |
| 605 | ((int)&(nvDefaults.tables.hwCalValues.calData.hwParam11) - |
| 606 | (int)&nvDefaults.tables.hwCalValues.calData),"hwParam11"}, |
| 607 | {{nul}, 0, 0, 0, 0, 0, 0,{nul}}, |
| 608 | }, // TABLE_sCalData |
| 609 | |
| 610 | { // TABLE_sTxBbFilterMode |
| 611 | {"es",_ID_U32,SINGULAR,0,0,0, |
| 612 | ((int)&(nvDefaults.tables.txbbFilterMode.txFirFilterMode) - |
| 613 | (int)&nvDefaults.tables.txbbFilterMode),"txFirFilterMode"}, |
| 614 | {{nul}, 0, 0, 0, 0, 0, 0,{nul}}, |
| 615 | }, // TABLE_sTxBbFilterMode |
| 616 | |
| 617 | { // TABLE_sOfdmCmdPwrOffset |
| 618 | {"et",_ID_S16,SINGULAR,0,0,0, |
| 619 | ((int)&(nvDefaults.tables.ofdmCmdPwrOffset.ofdmPwrOffset) - |
| 620 | (int)&nvDefaults.tables.ofdmCmdPwrOffset),"ofdmPwrOffset"}, |
| 621 | {"eu",_ID_S16,SINGULAR,0,0,0, |
| 622 | ((int)&(nvDefaults.tables.ofdmCmdPwrOffset.rsvd) - |
| 623 | (int)&nvDefaults.tables.ofdmCmdPwrOffset),"rsvd"}, |
| 624 | {{nul}, 0, 0, 0, 0, 0, 0,{nul}}, |
| 625 | }, // TABLE_sOfdmCmdPwrOffset |
| 626 | |
| 627 | { // TABLE_sDefaultCountry |
| 628 | {"if",_ID_U8,SINGULAR,0,0,0, |
| 629 | ((int)&(nvDefaults.tables.defaultCountryTable.regDomain) - |
| 630 | (int)&nvDefaults.tables.defaultCountryTable),"regDomain"}, |
| 631 | {"ig",_ID_U8,(_ADD_SIZE1(NV_FIELD_COUNTRY_CODE_SIZE)|ARRAY_1), |
| 632 | ((FIELD_SIZE_TYPE_BIT(FIELD_SIZE_IDX_INT))| |
| 633 | (FIELD_SIZE_VALUE_BITS(NV_FIELD_COUNTRY_CODE_SIZE))),0,0, |
| 634 | ((int)&(nvDefaults.tables.defaultCountryTable.countryCode[0]) - |
| 635 | (int)&nvDefaults.tables.defaultCountryTable),"countryCode"}, |
| 636 | {{nul}, 0, 0, 0, 0, 0, 0,{nul}}, |
| 637 | }, // TABLE_sDefaultCountry |
| 638 | |
| 639 | { // TABLE_sFwConfig |
| 640 | {"ih",_ID_U8,SINGULAR,0,0,0,((int)&(nvDefaults.tables.fwConfig.skuID) - |
| 641 | (int)&nvDefaults.tables.fwConfig),"skuID"}, |
| 642 | {"ii",_ID_U8,SINGULAR,0,0,0,((int)&(nvDefaults.tables.fwConfig.tpcMode2G) |
| 643 | - (int)&nvDefaults.tables.fwConfig),"tpcMode2G"}, |
| 644 | {"ij",_ID_U8,SINGULAR,0,0,0,((int)&(nvDefaults.tables.fwConfig.tpcMode5G) |
| 645 | - (int)&nvDefaults.tables.fwConfig),"tpcMode5G"}, |
Leo Chang | 80de3c2 | 2013-11-26 10:52:12 -0800 | [diff] [blame] | 646 | {"ik",_ID_U8,SINGULAR,0,0,0, |
| 647 | ((int)&(nvDefaults.tables.fwConfig.configItem1) - |
| 648 | (int)&nvDefaults.tables.fwConfig),"configItem1"}, |
Prasanna Kumar | f6c94ae | 2013-04-11 20:05:21 -0700 | [diff] [blame] | 649 | {"il",_ID_U8,SINGULAR,0,0,0,((int)&(nvDefaults.tables.fwConfig.xPA2G) - |
| 650 | (int)&nvDefaults.tables.fwConfig),"xPA2G"}, |
| 651 | {"im",_ID_U8,SINGULAR,0,0,0,((int)&(nvDefaults.tables.fwConfig.xPA5G) - |
| 652 | (int)&nvDefaults.tables.fwConfig),"xPA5G"}, |
| 653 | {"in",_ID_U8,SINGULAR,0,0,0, |
| 654 | ((int)&(nvDefaults.tables.fwConfig.extPaCtrl0Polarity) - |
| 655 | (int)&nvDefaults.tables.fwConfig),"extPaCtrl0Polarity"}, |
| 656 | {"io",_ID_U8,SINGULAR,0,0,0, |
| 657 | ((int)&(nvDefaults.tables.fwConfig.extPaCtrl1Polarity) - |
| 658 | (int)&nvDefaults.tables.fwConfig),"extPaCtrl1Polarity"}, |
| 659 | {"ip",_ID_U8,SINGULAR,0,0,0,((int)&(nvDefaults.tables.fwConfig.xLNA2G) - |
| 660 | (int)&nvDefaults.tables.fwConfig),"xLNA2G"}, |
| 661 | {"iq",_ID_U8,SINGULAR,0,0,0,((int)&(nvDefaults.tables.fwConfig.xLNA5G) - |
| 662 | (int)&nvDefaults.tables.fwConfig),"xLNA5G"}, |
| 663 | {"ir",_ID_U8,SINGULAR,0,0,0,((int)&(nvDefaults.tables.fwConfig.xCoupler2G) |
| 664 | - (int)&nvDefaults.tables.fwConfig),"xCoupler2G"}, |
| 665 | {"is",_ID_U8,SINGULAR,0,0,0,((int)&(nvDefaults.tables.fwConfig.xCoupler5G) |
| 666 | - (int)&nvDefaults.tables.fwConfig),"xCoupler5G"}, |
| 667 | {"it",_ID_U8,SINGULAR,0,0,0,((int)&(nvDefaults.tables.fwConfig.xPdet2G) - |
| 668 | (int)&nvDefaults.tables.fwConfig),"xPdet2G"}, |
| 669 | {"iu",_ID_U8,SINGULAR,0,0,0,((int)&(nvDefaults.tables.fwConfig.xPdet5G) - |
| 670 | (int)&nvDefaults.tables.fwConfig),"xPdet5G"}, |
| 671 | {"iv",_ID_U8,SINGULAR,0,0,0, |
| 672 | ((int)&(nvDefaults.tables.fwConfig.enableDPD2G) - |
| 673 | (int)&nvDefaults.tables.fwConfig),"enableDPD2G"}, |
| 674 | {"iw",_ID_U8,SINGULAR,0,0,0, |
| 675 | ((int)&(nvDefaults.tables.fwConfig.enableDPD5G) - |
| 676 | (int)&nvDefaults.tables.fwConfig),"enableDPD5G"}, |
| 677 | {"ix",_ID_U8,SINGULAR,0,0,0, |
| 678 | ((int)&(nvDefaults.tables.fwConfig.pdadcSelect2G) - |
| 679 | (int)&nvDefaults.tables.fwConfig),"pdadcSelect2G"}, |
| 680 | {"iy",_ID_U8,SINGULAR,0,0,0, |
| 681 | ((int)&(nvDefaults.tables.fwConfig.pdadcSelect5GLow) - |
| 682 | (int)&nvDefaults.tables.fwConfig),"pdadcSelect5GLow"}, |
| 683 | {"iz",_ID_U8,SINGULAR,0,0,0, |
| 684 | ((int)&(nvDefaults.tables.fwConfig.pdadcSelect5GMid) - |
| 685 | (int)&nvDefaults.tables.fwConfig),"pdadcSelect5GMid"}, |
| 686 | {"i0",_ID_U8,SINGULAR,0,0,0, |
| 687 | ((int)&(nvDefaults.tables.fwConfig.pdadcSelect5GHigh) - |
| 688 | (int)&nvDefaults.tables.fwConfig),"pdadcSelect5GHigh"}, |
Leo Chang | 80de3c2 | 2013-11-26 10:52:12 -0800 | [diff] [blame] | 689 | {"i1",_ID_U32,SINGULAR,0,0,0, |
| 690 | ((int)&(nvDefaults.tables.fwConfig.configItem2) - |
| 691 | (int)&nvDefaults.tables.fwConfig),"configItem2"}, |
| 692 | {"i2",_ID_U32,SINGULAR,0,0,0, |
| 693 | ((int)&(nvDefaults.tables.fwConfig.configItem3) - |
| 694 | (int)&nvDefaults.tables.fwConfig),"configItem3"}, |
| 695 | {"i3",_ID_U32,SINGULAR,0,0,0, |
| 696 | ((int)&(nvDefaults.tables.fwConfig.configItem4) - |
| 697 | (int)&nvDefaults.tables.fwConfig),"configItem4"}, |
Prasanna Kumar | f6c94ae | 2013-04-11 20:05:21 -0700 | [diff] [blame] | 698 | {{nul}, 0, 0, 0, 0, 0, 0,{nul}}, |
| 699 | }, // TABLE_sFwConfig |
| 700 | |
| 701 | { // TABLE_tTpcPowerTable |
| 702 | {"kc",_ID_U8,(_ADD_SIZE2(TPC_MEM_POWER_LUT_DEPTH)|ARRAY_2), |
| 703 | ((FIELD_SIZE_TYPE_BIT(FIELD_SIZE_IDX_ENUM))| |
| 704 | (FIELD_SIZE_VALUE_BITS(INDEX_ENUM_NUM_PHY_MAX_TX_CHAINS))), |
| 705 | ((FIELD_SIZE_TYPE_BIT(FIELD_SIZE_IDX_INT))| |
| 706 | (FIELD_SIZE_VALUE_BITS(TPC_MEM_POWER_LUT_DEPTH))),0, |
| 707 | ((int)&(nvDefaults.tables.plutCharacterized[0]) - |
| 708 | (int)&nvDefaults.tables.plutCharacterized[0]),"tTpcPowerTable"}, |
| 709 | {{nul}, 0, 0, 0, 0, 0, 0,{nul}}, |
| 710 | }, // TABLE_tTpcPowerTable |
| 711 | |
| 712 | { // TABLE_tRateGroupPwr |
| 713 | {"kb",_ID_U32,(ARRAY_1),((FIELD_SIZE_TYPE_BIT(FIELD_SIZE_IDX_ENUM))| |
| 714 | (FIELD_SIZE_VALUE_BITS(INDEX_ENUM_NUM_HAL_PHY_RATES))),0,0, |
| 715 | ((int)&(nvDefaults.tables.pwrOptimum[0]) - |
| 716 | (int)&nvDefaults.tables.pwrOptimum[0]),"tRateGroupPwr"}, |
| 717 | {{nul}, 0, 0, 0, 0, 0, 0,{nul}}, |
| 718 | }, // TABLE_tRateGroupPwr |
| 719 | |
| 720 | { // TABLE_tRateGroupPwrVR |
| 721 | {"kd",_ID_U32,(_ADD_SIZE1(NUM_RF_VR_RATE)|ARRAY_1), |
| 722 | ((FIELD_SIZE_TYPE_BIT(FIELD_SIZE_IDX_INT))| |
| 723 | (FIELD_SIZE_VALUE_BITS(NUM_RF_VR_RATE))),0,0, |
| 724 | ((int)&(nvDefaults.tables.pwrOptimum_virtualRate[0]) - |
| 725 | (int)&nvDefaults.tables.pwrOptimum_virtualRate[0]),"tRateGroupPwrVR"}, |
Leo Chang | 80de3c2 | 2013-11-26 10:52:12 -0800 | [diff] [blame] | 726 | |
Prasanna Kumar | f6c94ae | 2013-04-11 20:05:21 -0700 | [diff] [blame] | 727 | {{nul}, 0, 0, 0, 0, 0, 0,{nul}}, |
| 728 | }, // TABLE_tRateGroupPwrVR |
| 729 | |
| 730 | { // TABLE_sRegulatoryDomains |
| 731 | {"dx",_TABLE_IDX(TABLE_sRegulatoryChannel),(ARRAY_1), |
| 732 | ((FIELD_SIZE_TYPE_BIT(FIELD_SIZE_IDX_ENUM))| |
| 733 | (FIELD_SIZE_VALUE_BITS(INDEX_ENUM_NUM_RF_CHANNELS))),0,0, |
| 734 | ((int)&(nvDefaults.tables.regDomains[0].channels[0]) - |
| 735 | (int)&nvDefaults.tables.regDomains[0]),"channels"}, |
| 736 | {"dy",_ID_U32,(ARRAY_1),((FIELD_SIZE_TYPE_BIT(FIELD_SIZE_IDX_ENUM))| |
| 737 | (FIELD_SIZE_VALUE_BITS(INDEX_ENUM_NUM_RF_SUBBANDS))),0,0, |
| 738 | ((int)&(nvDefaults.tables.regDomains[0].antennaGain[0]) - |
| 739 | (int)&nvDefaults.tables.regDomains[0]),"antennaGain"}, |
| 740 | {"dz",_ID_U32,(ARRAY_1),((FIELD_SIZE_TYPE_BIT(FIELD_SIZE_IDX_ENUM))| |
| 741 | (FIELD_SIZE_VALUE_BITS(INDEX_ENUM_NUM_2_4GHZ_CHANNELS))),0,0, |
| 742 | ((int)&(nvDefaults.tables.regDomains[0].bRatePowerOffset[0]) - |
| 743 | (int)&nvDefaults.tables.regDomains[0]),"bRatePowerOffset"}, |
| 744 | {"d0",_ID_U32,(ARRAY_1),((FIELD_SIZE_TYPE_BIT(FIELD_SIZE_IDX_ENUM))| |
| 745 | (FIELD_SIZE_VALUE_BITS(INDEX_ENUM_NUM_RF_CHANNELS))),0,0, |
| 746 | ((int)&(nvDefaults.tables.regDomains[0].gnRatePowerOffset[0]) - |
| 747 | (int)&nvDefaults.tables.regDomains[0]),"gnRatePowerOffset"}, |
| 748 | {{nul}, 0, 0, 0, 0, 0, 0,{nul}}, |
| 749 | }, // TABLE_sRegulatoryDomains |
| 750 | |
| 751 | { // TABLE_sHwCalValues |
| 752 | {"eq",_ID_U32,SINGULAR,0,0,0, |
| 753 | ((int)&(nvDefaults.tables.hwCalValues.validBmap) - |
| 754 | (int)&nvDefaults.tables.hwCalValues),"validBmap"}, |
| 755 | {"er",_TABLE_IDX(TABLE_sCalData),SINGULAR,0,0,0, |
| 756 | ((int)&(nvDefaults.tables.hwCalValues.calData) - |
| 757 | (int)&nvDefaults.tables.hwCalValues),"calData"}, |
| 758 | {{nul}, 0, 0, 0, 0, 0, 0,{nul}}, |
| 759 | }, // TABLE_sHwCalValues |
| 760 | |
| 761 | { // TABLE_sNvTables |
| 762 | {"jm",_TABLE_IDX(TABLE_tRateGroupPwr),(ARRAY_1), |
| 763 | ((FIELD_SIZE_TYPE_BIT(FIELD_SIZE_IDX_ENUM))| |
| 764 | (FIELD_SIZE_VALUE_BITS(INDEX_ENUM_NUM_RF_SUBBANDS))),0,0, |
| 765 | ((int)&(nvDefaults.tables.pwrOptimum[0]) - (int)&nvDefaults.tables), |
| 766 | "pwrOptimum"}, |
| 767 | {"jn",_TABLE_IDX(TABLE_sRegulatoryDomains),(ARRAY_1), |
| 768 | ((FIELD_SIZE_TYPE_BIT(FIELD_SIZE_IDX_ENUM))| |
| 769 | (FIELD_SIZE_VALUE_BITS(INDEX_ENUM_NUM_REG_DOMAINS))),0,0, |
| 770 | ((int)&(nvDefaults.tables.regDomains[0]) - (int)&nvDefaults.tables), |
| 771 | "regDomains"}, |
| 772 | {"jo",_TABLE_IDX(TABLE_sDefaultCountry),SINGULAR,0,0,0, |
| 773 | ((int)&(nvDefaults.tables.defaultCountryTable) - |
| 774 | (int)&nvDefaults.tables),"defaultCountryTable"}, |
| 775 | {"jp",_TABLE_IDX(TABLE_tTpcPowerTable),(ARRAY_1), |
| 776 | ((FIELD_SIZE_TYPE_BIT(FIELD_SIZE_IDX_ENUM))| |
| 777 | (FIELD_SIZE_VALUE_BITS(INDEX_ENUM_NUM_RF_CHANNELS))),0,0, |
| 778 | ((int)&(nvDefaults.tables.plutCharacterized[0]) - |
| 779 | (int)&nvDefaults.tables),"plutCharacterized"}, |
| 780 | {"jq",_ID_S16,(ARRAY_1),((FIELD_SIZE_TYPE_BIT(FIELD_SIZE_IDX_ENUM))| |
| 781 | (FIELD_SIZE_VALUE_BITS(INDEX_ENUM_NUM_RF_CHANNELS))),0,0, |
| 782 | ((int)&(nvDefaults.tables.plutPdadcOffset[0]) - |
| 783 | (int)&nvDefaults.tables),"plutPdadcOffset"}, |
| 784 | {"jr",_TABLE_IDX(TABLE_tRateGroupPwrVR),(ARRAY_1), |
| 785 | ((FIELD_SIZE_TYPE_BIT(FIELD_SIZE_IDX_ENUM))| |
| 786 | (FIELD_SIZE_VALUE_BITS(INDEX_ENUM_NUM_RF_SUBBANDS))),0,0, |
| 787 | ((int)&(nvDefaults.tables.pwrOptimum_virtualRate[0]) - |
| 788 | (int)&nvDefaults.tables),"pwrOptimum_virtualRate"}, |
| 789 | {"js",_TABLE_IDX(TABLE_sFwConfig),SINGULAR,0,0,0, |
| 790 | ((int)&(nvDefaults.tables.fwConfig) - (int)&nvDefaults.tables), |
| 791 | "fwConfig"}, |
| 792 | {"jt",_TABLE_IDX(TABLE_sRssiChannelOffsets),(_ADD_SIZE1(2)|ARRAY_1), |
| 793 | ((FIELD_SIZE_TYPE_BIT(FIELD_SIZE_IDX_INT))|(FIELD_SIZE_VALUE_BITS(2))), |
| 794 | 0,0,((int)&(nvDefaults.tables.rssiChanOffsets[0]) - |
| 795 | (int)&nvDefaults.tables),"rssiChanOffsets"}, |
| 796 | {"ju",_TABLE_IDX(TABLE_sHwCalValues),SINGULAR,0,0,0, |
| 797 | ((int)&(nvDefaults.tables.hwCalValues) - (int)&nvDefaults.tables), |
| 798 | "hwCalValues"}, |
| 799 | {"jv",_ID_S16,(ARRAY_1),((FIELD_SIZE_TYPE_BIT(FIELD_SIZE_IDX_ENUM))| |
| 800 | (FIELD_SIZE_VALUE_BITS(INDEX_ENUM_NUM_RF_CHANNELS))),0,0, |
| 801 | ((int)&(nvDefaults.tables.antennaPathLoss[0]) - |
| 802 | (int)&nvDefaults.tables),"antennaPathLoss"}, |
| 803 | {"jw",_ID_S16,(ARRAY_2),((FIELD_SIZE_TYPE_BIT(FIELD_SIZE_IDX_ENUM))| |
| 804 | (FIELD_SIZE_VALUE_BITS(INDEX_ENUM_NUM_802_11_MODES))), |
| 805 | ((FIELD_SIZE_TYPE_BIT(FIELD_SIZE_IDX_ENUM))| |
| 806 | (FIELD_SIZE_VALUE_BITS(INDEX_ENUM_NUM_RF_CHANNELS))),0, |
| 807 | ((int)&(nvDefaults.tables.pktTypePwrLimits[0][0]) - |
| 808 | (int)&nvDefaults.tables),"pktTypePwrLimits"}, |
| 809 | {"jx",_TABLE_IDX(TABLE_sOfdmCmdPwrOffset),SINGULAR,0,0,0, |
| 810 | ((int)&(nvDefaults.tables.ofdmCmdPwrOffset) - (int)&nvDefaults.tables), |
| 811 | "ofdmCmdPwrOffset"}, |
| 812 | {"jy",_TABLE_IDX(TABLE_sTxBbFilterMode),SINGULAR,0,0,0, |
| 813 | ((int)&(nvDefaults.tables.txbbFilterMode) - (int)&nvDefaults.tables), |
| 814 | "txbbFilterMode"}, |
| 815 | {{nul}, 0, 0, 0, 0, 0, 0,{nul}}, |
| 816 | }, // TABLE_sNvTables |
| 817 | |
| 818 | { //INDEX_TABLE_LAST |
| 819 | {{nul}, 0, 0, 0, 0, 0, 0,{nul}}, |
| 820 | }, //INDEX_TABLE_LAST |
| 821 | }; // END _NV_TEMPLATE_TABLE |
| 822 | |
| 823 | int getTableNoOfFields(int tblIdx) |
| 824 | { |
| 825 | return tableNoOfFieldArray[tblIdx]; |
| 826 | } |