2 * Copyright (c) 2010 Broadcom Corporation
4 * Permission to use, copy, modify, and/or distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
11 * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
13 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
14 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 #include <linux/kernel.h>
18 #include <linux/string.h>
21 #include <linux/delay.h>
22 #include <linux/pci.h>
32 #include <wlc_phy_radio.h>
33 #include <wlc_phy_int.h>
34 #include <wlc_phyreg_n.h>
35 #include <wlc_phytbl_n.h>
37 #define READ_RADIO_REG2(pi, radio_type, jspace, core, reg_name) \
38 read_radio_reg(pi, radio_type##_##jspace##_##reg_name | \
39 ((core == PHY_CORE_0) ? radio_type##_##jspace##0 : radio_type##_##jspace##1))
40 #define WRITE_RADIO_REG2(pi, radio_type, jspace, core, reg_name, value) \
41 write_radio_reg(pi, radio_type##_##jspace##_##reg_name | \
42 ((core == PHY_CORE_0) ? radio_type##_##jspace##0 : radio_type##_##jspace##1), value);
43 #define WRITE_RADIO_SYN(pi, radio_type, reg_name, value) \
44 write_radio_reg(pi, radio_type##_##SYN##_##reg_name, value);
46 #define READ_RADIO_REG3(pi, radio_type, jspace, core, reg_name) \
47 read_radio_reg(pi, ((core == PHY_CORE_0) ? radio_type##_##jspace##0##_##reg_name : \
48 radio_type##_##jspace##1##_##reg_name));
49 #define WRITE_RADIO_REG3(pi, radio_type, jspace, core, reg_name, value) \
50 write_radio_reg(pi, ((core == PHY_CORE_0) ? radio_type##_##jspace##0##_##reg_name : \
51 radio_type##_##jspace##1##_##reg_name), value);
52 #define READ_RADIO_REG4(pi, radio_type, jspace, core, reg_name) \
53 read_radio_reg(pi, ((core == PHY_CORE_0) ? radio_type##_##reg_name##_##jspace##0 : \
54 radio_type##_##reg_name##_##jspace##1));
55 #define WRITE_RADIO_REG4(pi, radio_type, jspace, core, reg_name, value) \
56 write_radio_reg(pi, ((core == PHY_CORE_0) ? radio_type##_##reg_name##_##jspace##0 : \
57 radio_type##_##reg_name##_##jspace##1), value);
59 #define NPHY_ACI_MAX_UNDETECT_WINDOW_SZ 40
60 #define NPHY_ACI_CHANNEL_DELTA 5
61 #define NPHY_ACI_CHANNEL_SKIP 4
62 #define NPHY_ACI_40MHZ_CHANNEL_DELTA 6
63 #define NPHY_ACI_40MHZ_CHANNEL_SKIP 5
64 #define NPHY_ACI_40MHZ_CHANNEL_DELTA_GE_REV3 6
65 #define NPHY_ACI_40MHZ_CHANNEL_SKIP_GE_REV3 5
66 #define NPHY_ACI_CHANNEL_DELTA_GE_REV3 4
67 #define NPHY_ACI_CHANNEL_SKIP_GE_REV3 3
69 #define NPHY_NOISE_NOASSOC_GLITCH_TH_UP 2
71 #define NPHY_NOISE_NOASSOC_GLITCH_TH_DN 8
73 #define NPHY_NOISE_ASSOC_GLITCH_TH_UP 2
75 #define NPHY_NOISE_ASSOC_GLITCH_TH_DN 8
77 #define NPHY_NOISE_ASSOC_ACI_GLITCH_TH_UP 2
79 #define NPHY_NOISE_ASSOC_ACI_GLITCH_TH_DN 8
81 #define NPHY_NOISE_NOASSOC_ENTER_TH 400
83 #define NPHY_NOISE_ASSOC_ENTER_TH 400
85 #define NPHY_NOISE_ASSOC_RX_GLITCH_BADPLCP_ENTER_TH 400
87 #define NPHY_NOISE_CRSMINPWR_ARRAY_MAX_INDEX 44
88 #define NPHY_NOISE_CRSMINPWR_ARRAY_MAX_INDEX_REV_7 56
90 #define NPHY_NOISE_NOASSOC_CRSIDX_INCR 16
92 #define NPHY_NOISE_ASSOC_CRSIDX_INCR 8
94 #define NPHY_IS_SROM_REINTERPRET NREV_GE(pi->pubpi.phy_rev, 5)
96 #define NPHY_RSSICAL_MAXREAD 31
98 #define NPHY_RSSICAL_NPOLL 8
99 #define NPHY_RSSICAL_MAXD (1<<20)
100 #define NPHY_MIN_RXIQ_PWR 2
102 #define NPHY_RSSICAL_W1_TARGET 25
103 #define NPHY_RSSICAL_W2_TARGET NPHY_RSSICAL_W1_TARGET
104 #define NPHY_RSSICAL_NB_TARGET 0
106 #define NPHY_RSSICAL_W1_TARGET_REV3 29
107 #define NPHY_RSSICAL_W2_TARGET_REV3 NPHY_RSSICAL_W1_TARGET_REV3
109 #define NPHY_CALSANITY_RSSI_NB_MAX_POS 9
110 #define NPHY_CALSANITY_RSSI_NB_MAX_NEG -9
111 #define NPHY_CALSANITY_RSSI_W1_MAX_POS 12
112 #define NPHY_CALSANITY_RSSI_W1_MAX_NEG (NPHY_RSSICAL_W1_TARGET - NPHY_RSSICAL_MAXREAD)
113 #define NPHY_CALSANITY_RSSI_W2_MAX_POS NPHY_CALSANITY_RSSI_W1_MAX_POS
114 #define NPHY_CALSANITY_RSSI_W2_MAX_NEG (NPHY_RSSICAL_W2_TARGET - NPHY_RSSICAL_MAXREAD)
115 #define NPHY_RSSI_SXT(x) ((s8) (-((x) & 0x20) + ((x) & 0x1f)))
116 #define NPHY_RSSI_NB_VIOL(x) (((x) > NPHY_CALSANITY_RSSI_NB_MAX_POS) || \
117 ((x) < NPHY_CALSANITY_RSSI_NB_MAX_NEG))
118 #define NPHY_RSSI_W1_VIOL(x) (((x) > NPHY_CALSANITY_RSSI_W1_MAX_POS) || \
119 ((x) < NPHY_CALSANITY_RSSI_W1_MAX_NEG))
120 #define NPHY_RSSI_W2_VIOL(x) (((x) > NPHY_CALSANITY_RSSI_W2_MAX_POS) || \
121 ((x) < NPHY_CALSANITY_RSSI_W2_MAX_NEG))
123 #define NPHY_IQCAL_NUMGAINS 9
124 #define NPHY_N_GCTL 0x66
126 #define NPHY_PAPD_EPS_TBL_SIZE 64
127 #define NPHY_PAPD_SCL_TBL_SIZE 64
128 #define NPHY_NUM_DIG_FILT_COEFFS 15
130 #define NPHY_PAPD_COMP_OFF 0
131 #define NPHY_PAPD_COMP_ON 1
133 #define NPHY_SROM_TEMPSHIFT 32
134 #define NPHY_SROM_MAXTEMPOFFSET 16
135 #define NPHY_SROM_MINTEMPOFFSET -16
137 #define NPHY_CAL_MAXTEMPDELTA 64
139 #define NPHY_NOISEVAR_TBLLEN40 256
140 #define NPHY_NOISEVAR_TBLLEN20 128
142 #define NPHY_ANARXLPFBW_REDUCTIONFACT 7
144 #define NPHY_ADJUSTED_MINCRSPOWER 0x1e
146 typedef struct _nphy_iqcal_params {
154 } nphy_iqcal_params_t;
156 typedef struct _nphy_txiqcal_ladder {
159 } nphy_txiqcal_ladder_t;
162 nphy_txgains_t gains;
165 } nphy_ipa_txcalgains_t;
167 typedef struct nphy_papd_restore_state_t {
176 } nphy_papd_restore_state;
178 typedef struct _nphy_ipa_txrxgain {
185 } nphy_ipa_txrxgain_t;
187 #define NPHY_IPA_RXCAL_MAXGAININDEX (6 - 1)
189 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_5GHz[] = { {0, 0, 0, 0, 0, 100},
197 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_2GHz[] = { {0, 0, 0, 0, 0, 128},
205 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_5GHz_rev7[] = { {0, 0, 0, 0, 0, 100},
213 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_2GHz_rev7[] = { {0, 0, 0, 0, 0, 10},
221 #define NPHY_RXCAL_TONEAMP 181
222 #define NPHY_RXCAL_TONEFREQ_40MHz 4000
223 #define NPHY_RXCAL_TONEFREQ_20MHz 2000
226 NPHY_RXCAL_GAIN_INIT = 0,
231 #define wlc_phy_get_papd_nphy(pi) \
232 (read_phy_reg((pi), 0x1e7) & \
237 #define TXFILT_SHAPING_OFDM20 0
238 #define TXFILT_SHAPING_OFDM40 1
239 #define TXFILT_SHAPING_CCK 2
240 #define TXFILT_DEFAULT_OFDM20 3
241 #define TXFILT_DEFAULT_OFDM40 4
243 u16 NPHY_IPA_REV4_txdigi_filtcoeffs[][NPHY_NUM_DIG_FILT_COEFFS] = {
244 {-377, 137, -407, 208, -1527, 956, 93, 186, 93,
245 230, -44, 230, 201, -191, 201},
246 {-77, 20, -98, 49, -93, 60, 56, 111, 56, 26, -5,
248 {-360, 164, -376, 164, -1533, 576, 308, -314, 308,
249 121, -73, 121, 91, 124, 91},
250 {-295, 200, -363, 142, -1391, 826, 151, 301, 151,
251 151, 301, 151, 602, -752, 602},
252 {-92, 58, -96, 49, -104, 44, 17, 35, 17,
253 12, 25, 12, 13, 27, 13},
254 {-375, 136, -399, 209, -1479, 949, 130, 260, 130,
255 230, -44, 230, 201, -191, 201},
256 {0xed9, 0xc8, 0xe95, 0x8e, 0xa91, 0x33a, 0x97, 0x12d, 0x97,
257 0x97, 0x12d, 0x97, 0x25a, 0xd10, 0x25a}
260 typedef struct _chan_info_nphy_2055 {
276 u8 RF_core1_lgbuf_a_tune;
277 u8 RF_core1_lgbuf_g_tune;
278 u8 RF_core1_rxrf_reg1;
279 u8 RF_core1_tx_pga_pad_tn;
280 u8 RF_core1_tx_mx_bgtrim;
281 u8 RF_core2_lgbuf_a_tune;
282 u8 RF_core2_lgbuf_g_tune;
283 u8 RF_core2_rxrf_reg1;
284 u8 RF_core2_tx_pga_pad_tn;
285 u8 RF_core2_tx_mx_bgtrim;
292 } chan_info_nphy_2055_t;
294 typedef struct _chan_info_nphy_radio205x {
297 u8 RF_SYN_pll_vcocal1;
298 u8 RF_SYN_pll_vcocal2;
299 u8 RF_SYN_pll_refdiv;
302 u8 RF_SYN_pll_loopfilter1;
303 u8 RF_SYN_pll_loopfilter2;
304 u8 RF_SYN_pll_loopfilter3;
305 u8 RF_SYN_pll_loopfilter4;
306 u8 RF_SYN_pll_loopfilter5;
307 u8 RF_SYN_reserved_addr27;
308 u8 RF_SYN_reserved_addr28;
309 u8 RF_SYN_reserved_addr29;
310 u8 RF_SYN_logen_VCOBUF1;
311 u8 RF_SYN_logen_MIXER2;
312 u8 RF_SYN_logen_BUF3;
313 u8 RF_SYN_logen_BUF4;
316 u8 RF_TX0_intpaa_boost_tune;
317 u8 RF_TX0_intpag_boost_tune;
318 u8 RF_TX0_pada_boost_tune;
319 u8 RF_TX0_padg_boost_tune;
320 u8 RF_TX0_pgaa_boost_tune;
321 u8 RF_TX0_pgag_boost_tune;
322 u8 RF_TX0_mixa_boost_tune;
323 u8 RF_TX0_mixg_boost_tune;
326 u8 RF_TX1_intpaa_boost_tune;
327 u8 RF_TX1_intpag_boost_tune;
328 u8 RF_TX1_pada_boost_tune;
329 u8 RF_TX1_padg_boost_tune;
330 u8 RF_TX1_pgaa_boost_tune;
331 u8 RF_TX1_pgag_boost_tune;
332 u8 RF_TX1_mixa_boost_tune;
333 u8 RF_TX1_mixg_boost_tune;
340 } chan_info_nphy_radio205x_t;
342 typedef struct _chan_info_nphy_radio2057 {
345 u8 RF_vcocal_countval0;
346 u8 RF_vcocal_countval1;
347 u8 RF_rfpll_refmaster_sparextalsize;
348 u8 RF_rfpll_loopfilter_r1;
349 u8 RF_rfpll_loopfilter_c2;
350 u8 RF_rfpll_loopfilter_c1;
355 u8 RF_logen_mx2g_tune;
356 u8 RF_logen_mx5g_tune;
357 u8 RF_logen_indbuf2g_tune;
358 u8 RF_logen_indbuf5g_tune;
359 u8 RF_txmix2g_tune_boost_pu_core0;
360 u8 RF_pad2g_tune_pus_core0;
361 u8 RF_pga_boost_tune_core0;
362 u8 RF_txmix5g_boost_tune_core0;
363 u8 RF_pad5g_tune_misc_pus_core0;
364 u8 RF_lna2g_tune_core0;
365 u8 RF_lna5g_tune_core0;
366 u8 RF_txmix2g_tune_boost_pu_core1;
367 u8 RF_pad2g_tune_pus_core1;
368 u8 RF_pga_boost_tune_core1;
369 u8 RF_txmix5g_boost_tune_core1;
370 u8 RF_pad5g_tune_misc_pus_core1;
371 u8 RF_lna2g_tune_core1;
372 u8 RF_lna5g_tune_core1;
379 } chan_info_nphy_radio2057_t;
381 typedef struct _chan_info_nphy_radio2057_rev5 {
384 u8 RF_vcocal_countval0;
385 u8 RF_vcocal_countval1;
386 u8 RF_rfpll_refmaster_sparextalsize;
387 u8 RF_rfpll_loopfilter_r1;
388 u8 RF_rfpll_loopfilter_c2;
389 u8 RF_rfpll_loopfilter_c1;
394 u8 RF_logen_mx2g_tune;
395 u8 RF_logen_indbuf2g_tune;
396 u8 RF_txmix2g_tune_boost_pu_core0;
397 u8 RF_pad2g_tune_pus_core0;
398 u8 RF_lna2g_tune_core0;
399 u8 RF_txmix2g_tune_boost_pu_core1;
400 u8 RF_pad2g_tune_pus_core1;
401 u8 RF_lna2g_tune_core1;
408 } chan_info_nphy_radio2057_rev5_t;
410 typedef struct nphy_sfo_cfg {
419 static chan_info_nphy_2055_t chan_info_nphy_2055[] = {
421 184, 4920, 3280, 0x71, 0x01, 0xEC, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
422 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
423 0x0F, 0x8F, 0x7B4, 0x7B0, 0x7AC, 0x214, 0x215, 0x216},
425 186, 4930, 3287, 0x71, 0x01, 0xED, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
426 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
427 0x0F, 0x8F, 0x7B8, 0x7B4, 0x7B0, 0x213, 0x214, 0x215},
429 188, 4940, 3293, 0x71, 0x01, 0xEE, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
430 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
431 0x0F, 0x8F, 0x7BC, 0x7B8, 0x7B4, 0x212, 0x213, 0x214},
433 190, 4950, 3300, 0x71, 0x01, 0xEF, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
434 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
435 0x0F, 0x8F, 0x7C0, 0x7BC, 0x7B8, 0x211, 0x212, 0x213},
437 192, 4960, 3307, 0x71, 0x01, 0xF0, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
438 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
439 0x0F, 0x8F, 0x7C4, 0x7C0, 0x7BC, 0x20F, 0x211, 0x212},
441 194, 4970, 3313, 0x71, 0x01, 0xF1, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
442 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
443 0x0F, 0x8F, 0x7C8, 0x7C4, 0x7C0, 0x20E, 0x20F, 0x211},
445 196, 4980, 3320, 0x71, 0x01, 0xF2, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
446 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
447 0x0F, 0x8F, 0x7CC, 0x7C8, 0x7C4, 0x20D, 0x20E, 0x20F},
449 198, 4990, 3327, 0x71, 0x01, 0xF3, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
450 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
451 0x0F, 0x8F, 0x7D0, 0x7CC, 0x7C8, 0x20C, 0x20D, 0x20E},
453 200, 5000, 3333, 0x71, 0x01, 0xF4, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
454 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
455 0x0F, 0x8F, 0x7D4, 0x7D0, 0x7CC, 0x20B, 0x20C, 0x20D},
457 202, 5010, 3340, 0x71, 0x01, 0xF5, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
458 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
459 0x0F, 0x8F, 0x7D8, 0x7D4, 0x7D0, 0x20A, 0x20B, 0x20C},
461 204, 5020, 3347, 0x71, 0x01, 0xF6, 0x0E, 0xF7, 0x01, 0x04, 0x0A,
462 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
463 0x0F, 0x8F, 0x7DC, 0x7D8, 0x7D4, 0x209, 0x20A, 0x20B},
465 206, 5030, 3353, 0x71, 0x01, 0xF7, 0x0E, 0xF7, 0x01, 0x04, 0x0A,
466 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
467 0x0F, 0x8F, 0x7E0, 0x7DC, 0x7D8, 0x208, 0x209, 0x20A},
469 208, 5040, 3360, 0x71, 0x01, 0xF8, 0x0D, 0xEF, 0x01, 0x04, 0x0A,
470 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
471 0x0F, 0x8F, 0x7E4, 0x7E0, 0x7DC, 0x207, 0x208, 0x209},
473 210, 5050, 3367, 0x71, 0x01, 0xF9, 0x0D, 0xEF, 0x01, 0x04, 0x0A,
474 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
475 0x0F, 0x8F, 0x7E8, 0x7E4, 0x7E0, 0x206, 0x207, 0x208},
477 212, 5060, 3373, 0x71, 0x01, 0xFA, 0x0D, 0xE6, 0x01, 0x04, 0x0A,
478 0x00, 0x8F, 0xBB, 0xBB, 0xFF, 0x00, 0x0E, 0x0F, 0x8E, 0xFF, 0x00, 0x0E,
479 0x0F, 0x8E, 0x7EC, 0x7E8, 0x7E4, 0x205, 0x206, 0x207},
481 214, 5070, 3380, 0x71, 0x01, 0xFB, 0x0D, 0xE6, 0x01, 0x04, 0x0A,
482 0x00, 0x8F, 0xBB, 0xBB, 0xFF, 0x00, 0x0E, 0x0F, 0x8E, 0xFF, 0x00, 0x0E,
483 0x0F, 0x8E, 0x7F0, 0x7EC, 0x7E8, 0x204, 0x205, 0x206},
485 216, 5080, 3387, 0x71, 0x01, 0xFC, 0x0D, 0xDE, 0x01, 0x04, 0x0A,
486 0x00, 0x8E, 0xBB, 0xBB, 0xEE, 0x00, 0x0E, 0x0F, 0x8D, 0xEE, 0x00, 0x0E,
487 0x0F, 0x8D, 0x7F4, 0x7F0, 0x7EC, 0x203, 0x204, 0x205},
489 218, 5090, 3393, 0x71, 0x01, 0xFD, 0x0D, 0xDE, 0x01, 0x04, 0x0A,
490 0x00, 0x8E, 0xBB, 0xBB, 0xEE, 0x00, 0x0E, 0x0F, 0x8D, 0xEE, 0x00, 0x0E,
491 0x0F, 0x8D, 0x7F8, 0x7F4, 0x7F0, 0x202, 0x203, 0x204},
493 220, 5100, 3400, 0x71, 0x01, 0xFE, 0x0C, 0xD6, 0x01, 0x04, 0x0A,
494 0x00, 0x8E, 0xAA, 0xAA, 0xEE, 0x00, 0x0D, 0x0F, 0x8D, 0xEE, 0x00, 0x0D,
495 0x0F, 0x8D, 0x7FC, 0x7F8, 0x7F4, 0x201, 0x202, 0x203},
497 222, 5110, 3407, 0x71, 0x01, 0xFF, 0x0C, 0xD6, 0x01, 0x04, 0x0A,
498 0x00, 0x8E, 0xAA, 0xAA, 0xEE, 0x00, 0x0D, 0x0F, 0x8D, 0xEE, 0x00, 0x0D,
499 0x0F, 0x8D, 0x800, 0x7FC, 0x7F8, 0x200, 0x201, 0x202},
501 224, 5120, 3413, 0x71, 0x02, 0x00, 0x0C, 0xCE, 0x01, 0x04, 0x0A,
502 0x00, 0x8D, 0xAA, 0xAA, 0xDD, 0x00, 0x0D, 0x0F, 0x8C, 0xDD, 0x00, 0x0D,
503 0x0F, 0x8C, 0x804, 0x800, 0x7FC, 0x1FF, 0x200, 0x201},
505 226, 5130, 3420, 0x71, 0x02, 0x01, 0x0C, 0xCE, 0x01, 0x04, 0x0A,
506 0x00, 0x8D, 0xAA, 0xAA, 0xDD, 0x00, 0x0D, 0x0F, 0x8C, 0xDD, 0x00, 0x0D,
507 0x0F, 0x8C, 0x808, 0x804, 0x800, 0x1FE, 0x1FF, 0x200},
509 228, 5140, 3427, 0x71, 0x02, 0x02, 0x0C, 0xC6, 0x01, 0x04, 0x0A,
510 0x00, 0x8D, 0x99, 0x99, 0xDD, 0x00, 0x0C, 0x0E, 0x8B, 0xDD, 0x00, 0x0C,
511 0x0E, 0x8B, 0x80C, 0x808, 0x804, 0x1FD, 0x1FE, 0x1FF},
513 32, 5160, 3440, 0x71, 0x02, 0x04, 0x0B, 0xBE, 0x01, 0x04, 0x0A,
514 0x00, 0x8C, 0x99, 0x99, 0xCC, 0x00, 0x0B, 0x0D, 0x8A, 0xCC, 0x00, 0x0B,
515 0x0D, 0x8A, 0x814, 0x810, 0x80C, 0x1FB, 0x1FC, 0x1FD},
517 34, 5170, 3447, 0x71, 0x02, 0x05, 0x0B, 0xBE, 0x01, 0x04, 0x0A,
518 0x00, 0x8C, 0x99, 0x99, 0xCC, 0x00, 0x0B, 0x0D, 0x8A, 0xCC, 0x00, 0x0B,
519 0x0D, 0x8A, 0x818, 0x814, 0x810, 0x1FA, 0x1FB, 0x1FC},
521 36, 5180, 3453, 0x71, 0x02, 0x06, 0x0B, 0xB6, 0x01, 0x04, 0x0A,
522 0x00, 0x8C, 0x88, 0x88, 0xCC, 0x00, 0x0B, 0x0C, 0x89, 0xCC, 0x00, 0x0B,
523 0x0C, 0x89, 0x81C, 0x818, 0x814, 0x1F9, 0x1FA, 0x1FB},
525 38, 5190, 3460, 0x71, 0x02, 0x07, 0x0B, 0xB6, 0x01, 0x04, 0x0A,
526 0x00, 0x8C, 0x88, 0x88, 0xCC, 0x00, 0x0B, 0x0C, 0x89, 0xCC, 0x00, 0x0B,
527 0x0C, 0x89, 0x820, 0x81C, 0x818, 0x1F8, 0x1F9, 0x1FA},
529 40, 5200, 3467, 0x71, 0x02, 0x08, 0x0B, 0xAF, 0x01, 0x04, 0x0A,
530 0x00, 0x8B, 0x88, 0x88, 0xBB, 0x00, 0x0A, 0x0B, 0x89, 0xBB, 0x00, 0x0A,
531 0x0B, 0x89, 0x824, 0x820, 0x81C, 0x1F7, 0x1F8, 0x1F9},
533 42, 5210, 3473, 0x71, 0x02, 0x09, 0x0B, 0xAF, 0x01, 0x04, 0x0A,
534 0x00, 0x8B, 0x88, 0x88, 0xBB, 0x00, 0x0A, 0x0B, 0x89, 0xBB, 0x00, 0x0A,
535 0x0B, 0x89, 0x828, 0x824, 0x820, 0x1F6, 0x1F7, 0x1F8},
537 44, 5220, 3480, 0x71, 0x02, 0x0A, 0x0A, 0xA7, 0x01, 0x04, 0x0A,
538 0x00, 0x8B, 0x77, 0x77, 0xBB, 0x00, 0x09, 0x0A, 0x88, 0xBB, 0x00, 0x09,
539 0x0A, 0x88, 0x82C, 0x828, 0x824, 0x1F5, 0x1F6, 0x1F7},
541 46, 5230, 3487, 0x71, 0x02, 0x0B, 0x0A, 0xA7, 0x01, 0x04, 0x0A,
542 0x00, 0x8B, 0x77, 0x77, 0xBB, 0x00, 0x09, 0x0A, 0x88, 0xBB, 0x00, 0x09,
543 0x0A, 0x88, 0x830, 0x82C, 0x828, 0x1F4, 0x1F5, 0x1F6},
545 48, 5240, 3493, 0x71, 0x02, 0x0C, 0x0A, 0xA0, 0x01, 0x04, 0x0A,
546 0x00, 0x8A, 0x77, 0x77, 0xAA, 0x00, 0x09, 0x0A, 0x87, 0xAA, 0x00, 0x09,
547 0x0A, 0x87, 0x834, 0x830, 0x82C, 0x1F3, 0x1F4, 0x1F5},
549 50, 5250, 3500, 0x71, 0x02, 0x0D, 0x0A, 0xA0, 0x01, 0x04, 0x0A,
550 0x00, 0x8A, 0x77, 0x77, 0xAA, 0x00, 0x09, 0x0A, 0x87, 0xAA, 0x00, 0x09,
551 0x0A, 0x87, 0x838, 0x834, 0x830, 0x1F2, 0x1F3, 0x1F4},
553 52, 5260, 3507, 0x71, 0x02, 0x0E, 0x0A, 0x98, 0x01, 0x04, 0x0A,
554 0x00, 0x8A, 0x66, 0x66, 0xAA, 0x00, 0x08, 0x09, 0x87, 0xAA, 0x00, 0x08,
555 0x09, 0x87, 0x83C, 0x838, 0x834, 0x1F1, 0x1F2, 0x1F3},
557 54, 5270, 3513, 0x71, 0x02, 0x0F, 0x0A, 0x98, 0x01, 0x04, 0x0A,
558 0x00, 0x8A, 0x66, 0x66, 0xAA, 0x00, 0x08, 0x09, 0x87, 0xAA, 0x00, 0x08,
559 0x09, 0x87, 0x840, 0x83C, 0x838, 0x1F0, 0x1F1, 0x1F2},
561 56, 5280, 3520, 0x71, 0x02, 0x10, 0x09, 0x91, 0x01, 0x04, 0x0A,
562 0x00, 0x89, 0x66, 0x66, 0x99, 0x00, 0x08, 0x08, 0x86, 0x99, 0x00, 0x08,
563 0x08, 0x86, 0x844, 0x840, 0x83C, 0x1F0, 0x1F0, 0x1F1},
565 58, 5290, 3527, 0x71, 0x02, 0x11, 0x09, 0x91, 0x01, 0x04, 0x0A,
566 0x00, 0x89, 0x66, 0x66, 0x99, 0x00, 0x08, 0x08, 0x86, 0x99, 0x00, 0x08,
567 0x08, 0x86, 0x848, 0x844, 0x840, 0x1EF, 0x1F0, 0x1F0},
569 60, 5300, 3533, 0x71, 0x02, 0x12, 0x09, 0x8A, 0x01, 0x04, 0x0A,
570 0x00, 0x89, 0x55, 0x55, 0x99, 0x00, 0x08, 0x07, 0x85, 0x99, 0x00, 0x08,
571 0x07, 0x85, 0x84C, 0x848, 0x844, 0x1EE, 0x1EF, 0x1F0},
573 62, 5310, 3540, 0x71, 0x02, 0x13, 0x09, 0x8A, 0x01, 0x04, 0x0A,
574 0x00, 0x89, 0x55, 0x55, 0x99, 0x00, 0x08, 0x07, 0x85, 0x99, 0x00, 0x08,
575 0x07, 0x85, 0x850, 0x84C, 0x848, 0x1ED, 0x1EE, 0x1EF},
577 64, 5320, 3547, 0x71, 0x02, 0x14, 0x09, 0x83, 0x01, 0x04, 0x0A,
578 0x00, 0x88, 0x55, 0x55, 0x88, 0x00, 0x07, 0x07, 0x84, 0x88, 0x00, 0x07,
579 0x07, 0x84, 0x854, 0x850, 0x84C, 0x1EC, 0x1ED, 0x1EE},
581 66, 5330, 3553, 0x71, 0x02, 0x15, 0x09, 0x83, 0x01, 0x04, 0x0A,
582 0x00, 0x88, 0x55, 0x55, 0x88, 0x00, 0x07, 0x07, 0x84, 0x88, 0x00, 0x07,
583 0x07, 0x84, 0x858, 0x854, 0x850, 0x1EB, 0x1EC, 0x1ED},
585 68, 5340, 3560, 0x71, 0x02, 0x16, 0x08, 0x7C, 0x01, 0x04, 0x0A,
586 0x00, 0x88, 0x44, 0x44, 0x88, 0x00, 0x07, 0x06, 0x84, 0x88, 0x00, 0x07,
587 0x06, 0x84, 0x85C, 0x858, 0x854, 0x1EA, 0x1EB, 0x1EC},
589 70, 5350, 3567, 0x71, 0x02, 0x17, 0x08, 0x7C, 0x01, 0x04, 0x0A,
590 0x00, 0x88, 0x44, 0x44, 0x88, 0x00, 0x07, 0x06, 0x84, 0x88, 0x00, 0x07,
591 0x06, 0x84, 0x860, 0x85C, 0x858, 0x1E9, 0x1EA, 0x1EB},
593 72, 5360, 3573, 0x71, 0x02, 0x18, 0x08, 0x75, 0x01, 0x04, 0x0A,
594 0x00, 0x87, 0x44, 0x44, 0x77, 0x00, 0x06, 0x05, 0x83, 0x77, 0x00, 0x06,
595 0x05, 0x83, 0x864, 0x860, 0x85C, 0x1E8, 0x1E9, 0x1EA},
597 74, 5370, 3580, 0x71, 0x02, 0x19, 0x08, 0x75, 0x01, 0x04, 0x0A,
598 0x00, 0x87, 0x44, 0x44, 0x77, 0x00, 0x06, 0x05, 0x83, 0x77, 0x00, 0x06,
599 0x05, 0x83, 0x868, 0x864, 0x860, 0x1E7, 0x1E8, 0x1E9},
601 76, 5380, 3587, 0x71, 0x02, 0x1A, 0x08, 0x6E, 0x01, 0x04, 0x0A,
602 0x00, 0x87, 0x33, 0x33, 0x77, 0x00, 0x06, 0x04, 0x82, 0x77, 0x00, 0x06,
603 0x04, 0x82, 0x86C, 0x868, 0x864, 0x1E6, 0x1E7, 0x1E8},
605 78, 5390, 3593, 0x71, 0x02, 0x1B, 0x08, 0x6E, 0x01, 0x04, 0x0A,
606 0x00, 0x87, 0x33, 0x33, 0x77, 0x00, 0x06, 0x04, 0x82, 0x77, 0x00, 0x06,
607 0x04, 0x82, 0x870, 0x86C, 0x868, 0x1E5, 0x1E6, 0x1E7},
609 80, 5400, 3600, 0x71, 0x02, 0x1C, 0x07, 0x67, 0x01, 0x04, 0x0A,
610 0x00, 0x86, 0x33, 0x33, 0x66, 0x00, 0x05, 0x04, 0x81, 0x66, 0x00, 0x05,
611 0x04, 0x81, 0x874, 0x870, 0x86C, 0x1E5, 0x1E5, 0x1E6},
613 82, 5410, 3607, 0x71, 0x02, 0x1D, 0x07, 0x67, 0x01, 0x04, 0x0A,
614 0x00, 0x86, 0x33, 0x33, 0x66, 0x00, 0x05, 0x04, 0x81, 0x66, 0x00, 0x05,
615 0x04, 0x81, 0x878, 0x874, 0x870, 0x1E4, 0x1E5, 0x1E5},
617 84, 5420, 3613, 0x71, 0x02, 0x1E, 0x07, 0x61, 0x01, 0x04, 0x0A,
618 0x00, 0x86, 0x22, 0x22, 0x66, 0x00, 0x05, 0x03, 0x80, 0x66, 0x00, 0x05,
619 0x03, 0x80, 0x87C, 0x878, 0x874, 0x1E3, 0x1E4, 0x1E5},
621 86, 5430, 3620, 0x71, 0x02, 0x1F, 0x07, 0x61, 0x01, 0x04, 0x0A,
622 0x00, 0x86, 0x22, 0x22, 0x66, 0x00, 0x05, 0x03, 0x80, 0x66, 0x00, 0x05,
623 0x03, 0x80, 0x880, 0x87C, 0x878, 0x1E2, 0x1E3, 0x1E4},
625 88, 5440, 3627, 0x71, 0x02, 0x20, 0x07, 0x5A, 0x01, 0x04, 0x0A,
626 0x00, 0x85, 0x22, 0x22, 0x55, 0x00, 0x04, 0x02, 0x80, 0x55, 0x00, 0x04,
627 0x02, 0x80, 0x884, 0x880, 0x87C, 0x1E1, 0x1E2, 0x1E3},
629 90, 5450, 3633, 0x71, 0x02, 0x21, 0x07, 0x5A, 0x01, 0x04, 0x0A,
630 0x00, 0x85, 0x22, 0x22, 0x55, 0x00, 0x04, 0x02, 0x80, 0x55, 0x00, 0x04,
631 0x02, 0x80, 0x888, 0x884, 0x880, 0x1E0, 0x1E1, 0x1E2},
633 92, 5460, 3640, 0x71, 0x02, 0x22, 0x06, 0x53, 0x01, 0x04, 0x0A,
634 0x00, 0x85, 0x11, 0x11, 0x55, 0x00, 0x04, 0x01, 0x80, 0x55, 0x00, 0x04,
635 0x01, 0x80, 0x88C, 0x888, 0x884, 0x1DF, 0x1E0, 0x1E1},
637 94, 5470, 3647, 0x71, 0x02, 0x23, 0x06, 0x53, 0x01, 0x04, 0x0A,
638 0x00, 0x85, 0x11, 0x11, 0x55, 0x00, 0x04, 0x01, 0x80, 0x55, 0x00, 0x04,
639 0x01, 0x80, 0x890, 0x88C, 0x888, 0x1DE, 0x1DF, 0x1E0},
641 96, 5480, 3653, 0x71, 0x02, 0x24, 0x06, 0x4D, 0x01, 0x04, 0x0A,
642 0x00, 0x84, 0x11, 0x11, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
643 0x00, 0x80, 0x894, 0x890, 0x88C, 0x1DD, 0x1DE, 0x1DF},
645 98, 5490, 3660, 0x71, 0x02, 0x25, 0x06, 0x4D, 0x01, 0x04, 0x0A,
646 0x00, 0x84, 0x11, 0x11, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
647 0x00, 0x80, 0x898, 0x894, 0x890, 0x1DD, 0x1DD, 0x1DE},
649 100, 5500, 3667, 0x71, 0x02, 0x26, 0x06, 0x47, 0x01, 0x04, 0x0A,
650 0x00, 0x84, 0x00, 0x00, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
651 0x00, 0x80, 0x89C, 0x898, 0x894, 0x1DC, 0x1DD, 0x1DD},
653 102, 5510, 3673, 0x71, 0x02, 0x27, 0x06, 0x47, 0x01, 0x04, 0x0A,
654 0x00, 0x84, 0x00, 0x00, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
655 0x00, 0x80, 0x8A0, 0x89C, 0x898, 0x1DB, 0x1DC, 0x1DD},
657 104, 5520, 3680, 0x71, 0x02, 0x28, 0x05, 0x40, 0x01, 0x04, 0x0A,
658 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
659 0x00, 0x80, 0x8A4, 0x8A0, 0x89C, 0x1DA, 0x1DB, 0x1DC},
661 106, 5530, 3687, 0x71, 0x02, 0x29, 0x05, 0x40, 0x01, 0x04, 0x0A,
662 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
663 0x00, 0x80, 0x8A8, 0x8A4, 0x8A0, 0x1D9, 0x1DA, 0x1DB},
665 108, 5540, 3693, 0x71, 0x02, 0x2A, 0x05, 0x3A, 0x01, 0x04, 0x0A,
666 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
667 0x00, 0x80, 0x8AC, 0x8A8, 0x8A4, 0x1D8, 0x1D9, 0x1DA},
669 110, 5550, 3700, 0x71, 0x02, 0x2B, 0x05, 0x3A, 0x01, 0x04, 0x0A,
670 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
671 0x00, 0x80, 0x8B0, 0x8AC, 0x8A8, 0x1D7, 0x1D8, 0x1D9},
673 112, 5560, 3707, 0x71, 0x02, 0x2C, 0x05, 0x34, 0x01, 0x04, 0x0A,
674 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
675 0x00, 0x80, 0x8B4, 0x8B0, 0x8AC, 0x1D7, 0x1D7, 0x1D8},
677 114, 5570, 3713, 0x71, 0x02, 0x2D, 0x05, 0x34, 0x01, 0x04, 0x0A,
678 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
679 0x00, 0x80, 0x8B8, 0x8B4, 0x8B0, 0x1D6, 0x1D7, 0x1D7},
681 116, 5580, 3720, 0x71, 0x02, 0x2E, 0x04, 0x2E, 0x01, 0x04, 0x0A,
682 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
683 0x00, 0x80, 0x8BC, 0x8B8, 0x8B4, 0x1D5, 0x1D6, 0x1D7},
685 118, 5590, 3727, 0x71, 0x02, 0x2F, 0x04, 0x2E, 0x01, 0x04, 0x0A,
686 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
687 0x00, 0x80, 0x8C0, 0x8BC, 0x8B8, 0x1D4, 0x1D5, 0x1D6},
689 120, 5600, 3733, 0x71, 0x02, 0x30, 0x04, 0x28, 0x01, 0x04, 0x0A,
690 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, 0x80, 0x11, 0x00, 0x01,
691 0x00, 0x80, 0x8C4, 0x8C0, 0x8BC, 0x1D3, 0x1D4, 0x1D5},
693 122, 5610, 3740, 0x71, 0x02, 0x31, 0x04, 0x28, 0x01, 0x04, 0x0A,
694 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, 0x80, 0x11, 0x00, 0x01,
695 0x00, 0x80, 0x8C8, 0x8C4, 0x8C0, 0x1D2, 0x1D3, 0x1D4},
697 124, 5620, 3747, 0x71, 0x02, 0x32, 0x04, 0x21, 0x01, 0x04, 0x0A,
698 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x80, 0x11, 0x00, 0x00,
699 0x00, 0x80, 0x8CC, 0x8C8, 0x8C4, 0x1D2, 0x1D2, 0x1D3},
701 126, 5630, 3753, 0x71, 0x02, 0x33, 0x04, 0x21, 0x01, 0x04, 0x0A,
702 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x80, 0x11, 0x00, 0x00,
703 0x00, 0x80, 0x8D0, 0x8CC, 0x8C8, 0x1D1, 0x1D2, 0x1D2},
705 128, 5640, 3760, 0x71, 0x02, 0x34, 0x03, 0x1C, 0x01, 0x04, 0x0A,
706 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
707 0x00, 0x80, 0x8D4, 0x8D0, 0x8CC, 0x1D0, 0x1D1, 0x1D2},
709 130, 5650, 3767, 0x71, 0x02, 0x35, 0x03, 0x1C, 0x01, 0x04, 0x0A,
710 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
711 0x00, 0x80, 0x8D8, 0x8D4, 0x8D0, 0x1CF, 0x1D0, 0x1D1},
713 132, 5660, 3773, 0x71, 0x02, 0x36, 0x03, 0x16, 0x01, 0x04, 0x0A,
714 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
715 0x00, 0x80, 0x8DC, 0x8D8, 0x8D4, 0x1CE, 0x1CF, 0x1D0},
717 134, 5670, 3780, 0x71, 0x02, 0x37, 0x03, 0x16, 0x01, 0x04, 0x0A,
718 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
719 0x00, 0x80, 0x8E0, 0x8DC, 0x8D8, 0x1CE, 0x1CE, 0x1CF},
721 136, 5680, 3787, 0x71, 0x02, 0x38, 0x03, 0x10, 0x01, 0x04, 0x0A,
722 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
723 0x00, 0x80, 0x8E4, 0x8E0, 0x8DC, 0x1CD, 0x1CE, 0x1CE},
725 138, 5690, 3793, 0x71, 0x02, 0x39, 0x03, 0x10, 0x01, 0x04, 0x0A,
726 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
727 0x00, 0x80, 0x8E8, 0x8E4, 0x8E0, 0x1CC, 0x1CD, 0x1CE},
729 140, 5700, 3800, 0x71, 0x02, 0x3A, 0x02, 0x0A, 0x01, 0x04, 0x0A,
730 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
731 0x00, 0x80, 0x8EC, 0x8E8, 0x8E4, 0x1CB, 0x1CC, 0x1CD},
733 142, 5710, 3807, 0x71, 0x02, 0x3B, 0x02, 0x0A, 0x01, 0x04, 0x0A,
734 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
735 0x00, 0x80, 0x8F0, 0x8EC, 0x8E8, 0x1CA, 0x1CB, 0x1CC},
737 144, 5720, 3813, 0x71, 0x02, 0x3C, 0x02, 0x0A, 0x01, 0x04, 0x0A,
738 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
739 0x00, 0x80, 0x8F4, 0x8F0, 0x8EC, 0x1C9, 0x1CA, 0x1CB},
741 145, 5725, 3817, 0x72, 0x04, 0x79, 0x02, 0x03, 0x01, 0x03, 0x14,
742 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
743 0x00, 0x80, 0x8F6, 0x8F2, 0x8EE, 0x1C9, 0x1CA, 0x1CB},
745 146, 5730, 3820, 0x71, 0x02, 0x3D, 0x02, 0x0A, 0x01, 0x04, 0x0A,
746 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
747 0x00, 0x80, 0x8F8, 0x8F4, 0x8F0, 0x1C9, 0x1C9, 0x1CA},
749 147, 5735, 3823, 0x72, 0x04, 0x7B, 0x02, 0x03, 0x01, 0x03, 0x14,
750 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
751 0x00, 0x80, 0x8FA, 0x8F6, 0x8F2, 0x1C8, 0x1C9, 0x1CA},
753 148, 5740, 3827, 0x71, 0x02, 0x3E, 0x02, 0x0A, 0x01, 0x04, 0x0A,
754 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
755 0x00, 0x80, 0x8FC, 0x8F8, 0x8F4, 0x1C8, 0x1C9, 0x1C9},
757 149, 5745, 3830, 0x72, 0x04, 0x7D, 0x02, 0xFE, 0x00, 0x03, 0x14,
758 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
759 0x00, 0x80, 0x8FE, 0x8FA, 0x8F6, 0x1C8, 0x1C8, 0x1C9},
761 150, 5750, 3833, 0x71, 0x02, 0x3F, 0x02, 0x0A, 0x01, 0x04, 0x0A,
762 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
763 0x00, 0x80, 0x900, 0x8FC, 0x8F8, 0x1C7, 0x1C8, 0x1C9},
765 151, 5755, 3837, 0x72, 0x04, 0x7F, 0x02, 0xFE, 0x00, 0x03, 0x14,
766 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
767 0x00, 0x80, 0x902, 0x8FE, 0x8FA, 0x1C7, 0x1C8, 0x1C8},
769 152, 5760, 3840, 0x71, 0x02, 0x40, 0x02, 0x0A, 0x01, 0x04, 0x0A,
770 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
771 0x00, 0x80, 0x904, 0x900, 0x8FC, 0x1C6, 0x1C7, 0x1C8},
773 153, 5765, 3843, 0x72, 0x04, 0x81, 0x02, 0xF8, 0x00, 0x03, 0x14,
774 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
775 0x00, 0x80, 0x906, 0x902, 0x8FE, 0x1C6, 0x1C7, 0x1C8},
777 154, 5770, 3847, 0x71, 0x02, 0x41, 0x02, 0x0A, 0x01, 0x04, 0x0A,
778 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
779 0x00, 0x80, 0x908, 0x904, 0x900, 0x1C6, 0x1C6, 0x1C7},
781 155, 5775, 3850, 0x72, 0x04, 0x83, 0x02, 0xF8, 0x00, 0x03, 0x14,
782 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
783 0x00, 0x80, 0x90A, 0x906, 0x902, 0x1C5, 0x1C6, 0x1C7},
785 156, 5780, 3853, 0x71, 0x02, 0x42, 0x02, 0x0A, 0x01, 0x04, 0x0A,
786 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
787 0x00, 0x80, 0x90C, 0x908, 0x904, 0x1C5, 0x1C6, 0x1C6},
789 157, 5785, 3857, 0x72, 0x04, 0x85, 0x02, 0xF2, 0x00, 0x03, 0x14,
790 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
791 0x00, 0x80, 0x90E, 0x90A, 0x906, 0x1C4, 0x1C5, 0x1C6},
793 158, 5790, 3860, 0x71, 0x02, 0x43, 0x02, 0x0A, 0x01, 0x04, 0x0A,
794 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
795 0x00, 0x80, 0x910, 0x90C, 0x908, 0x1C4, 0x1C5, 0x1C6},
797 159, 5795, 3863, 0x72, 0x04, 0x87, 0x02, 0xF2, 0x00, 0x03, 0x14,
798 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
799 0x00, 0x80, 0x912, 0x90E, 0x90A, 0x1C4, 0x1C4, 0x1C5},
801 160, 5800, 3867, 0x71, 0x02, 0x44, 0x01, 0x0A, 0x01, 0x04, 0x0A,
802 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
803 0x00, 0x80, 0x914, 0x910, 0x90C, 0x1C3, 0x1C4, 0x1C5},
805 161, 5805, 3870, 0x72, 0x04, 0x89, 0x01, 0xED, 0x00, 0x03, 0x14,
806 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
807 0x00, 0x80, 0x916, 0x912, 0x90E, 0x1C3, 0x1C4, 0x1C4},
809 162, 5810, 3873, 0x71, 0x02, 0x45, 0x01, 0x0A, 0x01, 0x04, 0x0A,
810 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
811 0x00, 0x80, 0x918, 0x914, 0x910, 0x1C2, 0x1C3, 0x1C4},
813 163, 5815, 3877, 0x72, 0x04, 0x8B, 0x01, 0xED, 0x00, 0x03, 0x14,
814 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
815 0x00, 0x80, 0x91A, 0x916, 0x912, 0x1C2, 0x1C3, 0x1C4},
817 164, 5820, 3880, 0x71, 0x02, 0x46, 0x01, 0x0A, 0x01, 0x04, 0x0A,
818 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
819 0x00, 0x80, 0x91C, 0x918, 0x914, 0x1C2, 0x1C2, 0x1C3},
821 165, 5825, 3883, 0x72, 0x04, 0x8D, 0x01, 0xED, 0x00, 0x03, 0x14,
822 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
823 0x00, 0x80, 0x91E, 0x91A, 0x916, 0x1C1, 0x1C2, 0x1C3},
825 166, 5830, 3887, 0x71, 0x02, 0x47, 0x01, 0x0A, 0x01, 0x04, 0x0A,
826 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
827 0x00, 0x80, 0x920, 0x91C, 0x918, 0x1C1, 0x1C2, 0x1C2},
829 168, 5840, 3893, 0x71, 0x02, 0x48, 0x01, 0x0A, 0x01, 0x04, 0x0A,
830 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
831 0x00, 0x80, 0x924, 0x920, 0x91C, 0x1C0, 0x1C1, 0x1C2},
833 170, 5850, 3900, 0x71, 0x02, 0x49, 0x01, 0xE0, 0x00, 0x04, 0x0A,
834 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
835 0x00, 0x80, 0x928, 0x924, 0x920, 0x1BF, 0x1C0, 0x1C1},
837 172, 5860, 3907, 0x71, 0x02, 0x4A, 0x01, 0xDE, 0x00, 0x04, 0x0A,
838 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
839 0x00, 0x80, 0x92C, 0x928, 0x924, 0x1BF, 0x1BF, 0x1C0},
841 174, 5870, 3913, 0x71, 0x02, 0x4B, 0x00, 0xDB, 0x00, 0x04, 0x0A,
842 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
843 0x00, 0x80, 0x930, 0x92C, 0x928, 0x1BE, 0x1BF, 0x1BF},
845 176, 5880, 3920, 0x71, 0x02, 0x4C, 0x00, 0xD8, 0x00, 0x04, 0x0A,
846 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
847 0x00, 0x80, 0x934, 0x930, 0x92C, 0x1BD, 0x1BE, 0x1BF},
849 178, 5890, 3927, 0x71, 0x02, 0x4D, 0x00, 0xD6, 0x00, 0x04, 0x0A,
850 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
851 0x00, 0x80, 0x938, 0x934, 0x930, 0x1BC, 0x1BD, 0x1BE},
853 180, 5900, 3933, 0x71, 0x02, 0x4E, 0x00, 0xD3, 0x00, 0x04, 0x0A,
854 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
855 0x00, 0x80, 0x93C, 0x938, 0x934, 0x1BC, 0x1BC, 0x1BD},
857 182, 5910, 3940, 0x71, 0x02, 0x4F, 0x00, 0xD6, 0x00, 0x04, 0x0A,
858 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
859 0x00, 0x80, 0x940, 0x93C, 0x938, 0x1BB, 0x1BC, 0x1BC},
861 1, 2412, 3216, 0x73, 0x09, 0x6C, 0x0F, 0x00, 0x01, 0x07, 0x15,
862 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0D, 0x0C, 0x80, 0xFF, 0x88, 0x0D,
863 0x0C, 0x80, 0x3C9, 0x3C5, 0x3C1, 0x43A, 0x43F, 0x443},
865 2, 2417, 3223, 0x73, 0x09, 0x71, 0x0F, 0x00, 0x01, 0x07, 0x15,
866 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0B, 0x80, 0xFF, 0x88, 0x0C,
867 0x0B, 0x80, 0x3CB, 0x3C7, 0x3C3, 0x438, 0x43D, 0x441},
869 3, 2422, 3229, 0x73, 0x09, 0x76, 0x0F, 0x00, 0x01, 0x07, 0x15,
870 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0A, 0x80, 0xFF, 0x88, 0x0C,
871 0x0A, 0x80, 0x3CD, 0x3C9, 0x3C5, 0x436, 0x43A, 0x43F},
873 4, 2427, 3236, 0x73, 0x09, 0x7B, 0x0F, 0x00, 0x01, 0x07, 0x15,
874 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0A, 0x80, 0xFF, 0x88, 0x0C,
875 0x0A, 0x80, 0x3CF, 0x3CB, 0x3C7, 0x434, 0x438, 0x43D},
877 5, 2432, 3243, 0x73, 0x09, 0x80, 0x0F, 0x00, 0x01, 0x07, 0x15,
878 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x09, 0x80, 0xFF, 0x88, 0x0C,
879 0x09, 0x80, 0x3D1, 0x3CD, 0x3C9, 0x431, 0x436, 0x43A},
881 6, 2437, 3249, 0x73, 0x09, 0x85, 0x0F, 0x00, 0x01, 0x07, 0x15,
882 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0B, 0x08, 0x80, 0xFF, 0x88, 0x0B,
883 0x08, 0x80, 0x3D3, 0x3CF, 0x3CB, 0x42F, 0x434, 0x438},
885 7, 2442, 3256, 0x73, 0x09, 0x8A, 0x0F, 0x00, 0x01, 0x07, 0x15,
886 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0A, 0x07, 0x80, 0xFF, 0x88, 0x0A,
887 0x07, 0x80, 0x3D5, 0x3D1, 0x3CD, 0x42D, 0x431, 0x436},
889 8, 2447, 3263, 0x73, 0x09, 0x8F, 0x0F, 0x00, 0x01, 0x07, 0x15,
890 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0A, 0x06, 0x80, 0xFF, 0x88, 0x0A,
891 0x06, 0x80, 0x3D7, 0x3D3, 0x3CF, 0x42B, 0x42F, 0x434},
893 9, 2452, 3269, 0x73, 0x09, 0x94, 0x0F, 0x00, 0x01, 0x07, 0x15,
894 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x09, 0x06, 0x80, 0xFF, 0x88, 0x09,
895 0x06, 0x80, 0x3D9, 0x3D5, 0x3D1, 0x429, 0x42D, 0x431},
897 10, 2457, 3276, 0x73, 0x09, 0x99, 0x0F, 0x00, 0x01, 0x07, 0x15,
898 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x05, 0x80, 0xFF, 0x88, 0x08,
899 0x05, 0x80, 0x3DB, 0x3D7, 0x3D3, 0x427, 0x42B, 0x42F},
901 11, 2462, 3283, 0x73, 0x09, 0x9E, 0x0F, 0x00, 0x01, 0x07, 0x15,
902 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x04, 0x80, 0xFF, 0x88, 0x08,
903 0x04, 0x80, 0x3DD, 0x3D9, 0x3D5, 0x424, 0x429, 0x42D},
905 12, 2467, 3289, 0x73, 0x09, 0xA3, 0x0F, 0x00, 0x01, 0x07, 0x15,
906 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x03, 0x80, 0xFF, 0x88, 0x08,
907 0x03, 0x80, 0x3DF, 0x3DB, 0x3D7, 0x422, 0x427, 0x42B},
909 13, 2472, 3296, 0x73, 0x09, 0xA8, 0x0F, 0x00, 0x01, 0x07, 0x15,
910 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x07, 0x03, 0x80, 0xFF, 0x88, 0x07,
911 0x03, 0x80, 0x3E1, 0x3DD, 0x3D9, 0x420, 0x424, 0x429},
913 14, 2484, 3312, 0x73, 0x09, 0xB4, 0x0F, 0xFF, 0x01, 0x07, 0x15,
914 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x07, 0x01, 0x80, 0xFF, 0x88, 0x07,
915 0x01, 0x80, 0x3E6, 0x3E2, 0x3DE, 0x41B, 0x41F, 0x424}
918 static chan_info_nphy_radio205x_t chan_info_nphyrev3_2056[] = {
920 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
921 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
922 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
923 0x00, 0xff, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
925 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
926 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
927 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
928 0x00, 0xff, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
930 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
931 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
932 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
933 0x00, 0xff, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
935 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
936 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
937 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
938 0x00, 0xff, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
940 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
941 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
942 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
943 0x00, 0xff, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
945 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
946 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
947 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
948 0x00, 0xff, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
950 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
951 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
952 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
953 0x00, 0xff, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
955 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
956 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
957 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
958 0x00, 0xff, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
960 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
961 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
962 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
963 0x00, 0xff, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
965 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
966 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
967 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
968 0x00, 0xff, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
970 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
971 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
972 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
973 0x00, 0xff, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
975 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
976 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
977 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
978 0x00, 0xff, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
980 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
981 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
982 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
983 0x00, 0xff, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
985 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
986 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
987 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
988 0x00, 0xff, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
990 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
991 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
992 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
993 0x00, 0xff, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
995 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
996 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
997 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
998 0x00, 0xff, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
1000 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
1001 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1002 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1003 0x00, 0xff, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
1005 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
1006 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1007 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1008 0x00, 0xff, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
1010 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
1011 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1012 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1013 0x00, 0xff, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
1015 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
1016 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1017 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1018 0x00, 0xfc, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
1020 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
1021 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1022 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1023 0x00, 0xfc, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
1025 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
1026 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1027 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1028 0x00, 0xfc, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
1030 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
1031 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1032 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1033 0x00, 0xfc, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
1035 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
1036 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1037 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1038 0x00, 0xfc, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
1040 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
1041 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1042 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1043 0x00, 0xfc, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
1045 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
1046 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x07, 0x00, 0x7f,
1047 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1048 0x00, 0xfc, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
1050 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
1051 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x07, 0x00, 0x7f,
1052 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1053 0x00, 0xfc, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
1055 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
1056 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x06, 0x00, 0x7f,
1057 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1058 0x00, 0xfc, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
1060 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
1061 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x06, 0x00, 0x7f,
1062 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1063 0x00, 0xfc, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
1065 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1066 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x06, 0x00, 0x7f,
1067 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1068 0x00, 0xfc, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
1070 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1071 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x06, 0x00, 0x7f,
1072 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1073 0x00, 0xfc, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
1075 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1076 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1077 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1078 0x00, 0xfc, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
1080 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1081 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1082 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1083 0x00, 0xfc, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
1085 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1086 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1087 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1088 0x00, 0xfc, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
1090 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1091 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1092 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1093 0x00, 0xfc, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
1095 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
1096 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x06, 0x00, 0x7f,
1097 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1098 0x00, 0xfc, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
1100 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
1101 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x06, 0x00, 0x7f,
1102 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1103 0x00, 0xfc, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
1105 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
1106 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x05, 0x00, 0x7f,
1107 0x00, 0x09, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1108 0x00, 0xfc, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
1110 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
1111 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x05, 0x00, 0x7f,
1112 0x00, 0x09, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1113 0x00, 0xfa, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
1115 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
1116 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x05, 0x00, 0x7f,
1117 0x00, 0x09, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1118 0x00, 0xfa, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
1120 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
1121 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x05, 0x00, 0x7f,
1122 0x00, 0x09, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1123 0x00, 0xfa, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
1125 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
1126 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x05, 0x00, 0x7f,
1127 0x00, 0x09, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1128 0x00, 0xfa, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
1130 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
1131 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1132 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1133 0x00, 0xfa, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
1135 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
1136 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1137 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1138 0x00, 0xfa, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
1140 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
1141 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1142 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1143 0x00, 0xfa, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
1145 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1146 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1147 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1148 0x00, 0xfa, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
1150 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1151 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x8f, 0x00, 0x05, 0x00, 0x7f,
1152 0x00, 0x09, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1153 0x00, 0xfa, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
1155 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1156 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x04, 0x00, 0x7f,
1157 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1158 0x00, 0xfa, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
1160 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1161 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x04, 0x00, 0x7f,
1162 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1163 0x00, 0xfa, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
1165 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1166 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x04, 0x00, 0x7f,
1167 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8e, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1168 0x00, 0xfa, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
1170 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1171 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x04, 0x00, 0x7f,
1172 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8e, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1173 0x00, 0xfa, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
1175 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
1176 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7e, 0x00, 0x04, 0x00, 0x7f,
1177 0x00, 0x08, 0x00, 0xfa, 0x00, 0x7e, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1178 0x00, 0xfa, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
1180 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
1181 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7d, 0x00, 0x04, 0x00, 0x7f,
1182 0x00, 0x08, 0x00, 0xfa, 0x00, 0x7d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1183 0x00, 0xfa, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
1185 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
1186 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x04, 0x00, 0x7f,
1187 0x00, 0x08, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1188 0x00, 0xf8, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
1190 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
1191 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x04, 0x00, 0x7f,
1192 0x00, 0x08, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1193 0x00, 0xf8, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
1195 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
1196 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5d, 0x00, 0x04, 0x00, 0x7f,
1197 0x00, 0x08, 0x00, 0xf8, 0x00, 0x5d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1198 0x00, 0xf8, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
1200 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
1201 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5c, 0x00, 0x04, 0x00, 0x7f,
1202 0x00, 0x08, 0x00, 0xf8, 0x00, 0x5c, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1203 0x00, 0xf8, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
1205 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
1206 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x5c, 0x00, 0x03, 0x00, 0x7f,
1207 0x00, 0x07, 0x00, 0xf8, 0x00, 0x5c, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1208 0x00, 0xf8, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
1210 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
1211 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x03, 0x00, 0x7f,
1212 0x00, 0x07, 0x00, 0xf8, 0x00, 0x4c, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1213 0x00, 0xf8, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
1215 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
1216 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x03, 0x00, 0x7f,
1217 0x00, 0x07, 0x00, 0xf8, 0x00, 0x4c, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1218 0x00, 0xf8, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
1220 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
1221 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x03, 0x00, 0x7f,
1222 0x00, 0x07, 0x00, 0xf8, 0x00, 0x3b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1223 0x00, 0xf8, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
1225 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1226 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x03, 0x00, 0x7f,
1227 0x00, 0x07, 0x00, 0xf8, 0x00, 0x3b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1228 0x00, 0xf8, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
1230 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1231 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x03, 0x00, 0x7f,
1232 0x00, 0x07, 0x00, 0xf8, 0x00, 0x3b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1233 0x00, 0xf8, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
1235 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1236 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2b, 0x00, 0x03, 0x00, 0x7f,
1237 0x00, 0x07, 0x00, 0xf8, 0x00, 0x2b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1238 0x00, 0xf8, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
1240 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1241 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2a, 0x00, 0x03, 0x00, 0x7f,
1242 0x00, 0x07, 0x00, 0xf8, 0x00, 0x2a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1243 0x00, 0xf8, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
1245 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1246 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x03, 0x00, 0x7f,
1247 0x00, 0x07, 0x00, 0xf8, 0x00, 0x1a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1248 0x00, 0xf8, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
1250 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1251 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x03, 0x00, 0x7f,
1252 0x00, 0x07, 0x00, 0xf8, 0x00, 0x1a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1253 0x00, 0xf8, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
1255 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
1256 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x1a, 0x00, 0x03, 0x00, 0x7f,
1257 0x00, 0x07, 0x00, 0xf8, 0x00, 0x1a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1258 0x00, 0xf8, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
1260 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
1261 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x03, 0x00, 0x7f,
1262 0x00, 0x07, 0x00, 0xf8, 0x00, 0x19, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1263 0x00, 0xf8, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
1265 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
1266 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x03, 0x00, 0x7f,
1267 0x00, 0x07, 0x00, 0xf8, 0x00, 0x19, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1268 0x00, 0xf8, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
1270 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
1271 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x03, 0x00, 0x7f,
1272 0x00, 0x07, 0x00, 0xf8, 0x00, 0x09, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1273 0x00, 0xf8, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
1275 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
1276 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x03, 0x00, 0x7f,
1277 0x00, 0x07, 0x00, 0xf8, 0x00, 0x09, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1278 0x00, 0xf8, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
1280 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
1281 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1282 0x00, 0x07, 0x00, 0xf8, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1283 0x00, 0xf8, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
1285 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
1286 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1287 0x00, 0x07, 0x00, 0xf6, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1288 0x00, 0xf6, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
1290 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
1291 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1292 0x00, 0x07, 0x00, 0xf6, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1293 0x00, 0xf6, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
1295 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
1296 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1297 0x00, 0x07, 0x00, 0xf6, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1298 0x00, 0xf6, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
1300 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
1301 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x07, 0x00, 0x03, 0x00, 0x7f,
1302 0x00, 0x07, 0x00, 0xf6, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1303 0x00, 0xf6, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
1305 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1306 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x02, 0x00, 0x7f,
1307 0x00, 0x06, 0x00, 0xf6, 0x00, 0x07, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1308 0x00, 0xf6, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
1310 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1311 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x02, 0x00, 0x7f,
1312 0x00, 0x06, 0x00, 0xf4, 0x00, 0x07, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1313 0x00, 0xf4, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
1315 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1316 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x02, 0x00, 0x7f,
1317 0x00, 0x06, 0x00, 0xf4, 0x00, 0x07, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1318 0x00, 0xf4, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
1320 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
1321 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1322 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1323 0x00, 0xf4, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
1325 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1326 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1327 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1328 0x00, 0xf4, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
1330 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
1331 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1332 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1333 0x00, 0xf4, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
1335 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1336 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1337 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1338 0x00, 0xf4, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
1340 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
1341 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1342 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1343 0x00, 0xf4, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
1345 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1346 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1347 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1348 0x00, 0xf4, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
1350 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
1351 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1352 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1353 0x00, 0xf4, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
1355 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
1356 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1357 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1358 0x00, 0xf4, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
1360 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
1361 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1362 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1363 0x00, 0xf4, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
1365 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
1366 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1367 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1368 0x00, 0xf4, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
1370 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
1371 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1372 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1373 0x00, 0xf4, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
1375 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
1376 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1377 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1378 0x00, 0xf4, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
1380 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
1381 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x02, 0x00, 0x7f,
1382 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1383 0x00, 0xf4, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
1385 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
1386 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x02, 0x00, 0x7f,
1387 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1388 0x00, 0xf4, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
1390 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
1391 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x02, 0x00, 0x7f,
1392 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1393 0x00, 0xf4, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
1395 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
1396 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1397 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1398 0x00, 0xf4, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
1400 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
1401 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1402 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1403 0x00, 0xf4, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
1405 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
1406 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1407 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1408 0x00, 0xf4, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
1410 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
1411 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1412 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1413 0x00, 0xf4, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
1415 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
1416 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1417 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1418 0x00, 0xf4, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
1420 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
1421 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1422 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1423 0x00, 0xf4, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
1425 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
1426 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1427 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1428 0x00, 0xf4, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
1430 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
1431 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1432 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1433 0x00, 0xf4, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
1435 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
1436 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1437 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1438 0x00, 0xf4, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
1440 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1441 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1442 0x00, 0x06, 0x00, 0xf2, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1443 0x00, 0xf2, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
1445 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1446 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x7f,
1447 0x00, 0x06, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1448 0x00, 0xf2, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
1450 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1451 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x7f,
1452 0x00, 0x06, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1453 0x00, 0xf2, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
1455 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1456 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x7f,
1457 0x00, 0x06, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1458 0x00, 0xf2, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
1460 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1461 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f,
1462 0x00, 0x05, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x05,
1463 0x00, 0xf2, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
1465 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1466 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f,
1467 0x00, 0x05, 0x00, 0xf2, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x05,
1468 0x00, 0xf2, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
1470 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
1471 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x05, 0x00,
1472 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xff, 0x00, 0x05, 0x00, 0x70, 0x00,
1473 0x0f, 0x00, 0x0f, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
1475 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
1476 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x05, 0x00,
1477 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xff, 0x00, 0x05, 0x00, 0x70, 0x00,
1478 0x0f, 0x00, 0x0f, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
1480 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
1481 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x05, 0x00,
1482 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xff, 0x00, 0x05, 0x00, 0x70, 0x00,
1483 0x0f, 0x00, 0x0f, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
1485 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
1486 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x05, 0x00,
1487 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xfd, 0x00, 0x05, 0x00, 0x70, 0x00,
1488 0x0f, 0x00, 0x0f, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
1490 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
1491 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfb, 0x00, 0x05, 0x00,
1492 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xfb, 0x00, 0x05, 0x00, 0x70, 0x00,
1493 0x0f, 0x00, 0x0f, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
1495 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
1496 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x05, 0x00,
1497 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x05, 0x00, 0x70, 0x00,
1498 0x0f, 0x00, 0x0f, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
1500 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
1501 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x05, 0x00,
1502 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x05, 0x00, 0x70, 0x00,
1503 0x0f, 0x00, 0x0f, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
1505 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
1506 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x05, 0x00,
1507 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xf7, 0x00, 0x05, 0x00, 0x70, 0x00,
1508 0x0f, 0x00, 0x0f, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
1510 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
1511 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf6, 0x00, 0x05, 0x00,
1512 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xf6, 0x00, 0x05, 0x00, 0x70, 0x00,
1513 0x0f, 0x00, 0x0f, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
1515 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
1516 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x05, 0x00,
1517 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf5, 0x00, 0x05, 0x00, 0x70, 0x00,
1518 0x0f, 0x00, 0x0d, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
1520 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
1521 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x05, 0x00,
1522 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x70, 0x00,
1523 0x0f, 0x00, 0x0d, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
1525 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
1526 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf3, 0x00, 0x05, 0x00,
1527 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf3, 0x00, 0x05, 0x00, 0x70, 0x00,
1528 0x0f, 0x00, 0x0d, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
1530 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
1531 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x05, 0x00,
1532 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x70, 0x00,
1533 0x0f, 0x00, 0x0d, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
1535 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
1536 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x05, 0x00,
1537 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf0, 0x00, 0x05, 0x00, 0x70, 0x00,
1538 0x0f, 0x00, 0x0d, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
1541 static chan_info_nphy_radio205x_t chan_info_nphyrev4_2056_A1[] = {
1543 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
1544 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1545 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1546 0x00, 0xff, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
1548 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
1549 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1550 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1551 0x00, 0xff, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
1553 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
1554 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1555 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1556 0x00, 0xff, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
1558 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
1559 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1560 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1561 0x00, 0xff, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
1563 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
1564 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1565 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1566 0x00, 0xff, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
1568 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
1569 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1570 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1571 0x00, 0xff, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
1573 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
1574 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1575 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1576 0x00, 0xff, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
1578 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
1579 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1580 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1581 0x00, 0xff, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
1583 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
1584 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1585 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1586 0x00, 0xff, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
1588 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
1589 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1590 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1591 0x00, 0xff, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
1593 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
1594 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1595 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1596 0x00, 0xff, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
1598 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
1599 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1600 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1601 0x00, 0xff, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
1603 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
1604 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1605 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1606 0x00, 0xff, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
1608 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
1609 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1610 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1611 0x00, 0xff, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
1613 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
1614 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1615 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1616 0x00, 0xff, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
1618 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
1619 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1620 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1621 0x00, 0xff, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
1623 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
1624 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1625 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1626 0x00, 0xff, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
1628 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
1629 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1630 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1631 0x00, 0xff, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
1633 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
1634 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1635 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1636 0x00, 0xfe, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
1638 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
1639 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1640 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1641 0x00, 0xfe, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
1643 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
1644 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1645 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1646 0x00, 0xfe, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
1648 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
1649 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1650 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1651 0x00, 0xfe, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
1653 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
1654 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1655 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1656 0x00, 0xfe, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
1658 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
1659 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1660 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1661 0x00, 0xfe, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
1663 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
1664 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1665 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1666 0x00, 0xfe, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
1668 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
1669 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x0c, 0x00, 0x7f,
1670 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xef, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1671 0x00, 0xfe, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
1673 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
1674 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x0c, 0x00, 0x7f,
1675 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xef, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1676 0x00, 0xfe, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
1678 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
1679 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x0a, 0x00, 0x7f,
1680 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1681 0x00, 0xfc, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
1683 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
1684 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x0a, 0x00, 0x7f,
1685 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1686 0x00, 0xfc, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
1688 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1689 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x0a, 0x00, 0x7f,
1690 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1691 0x00, 0xfc, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
1693 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1694 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x0a, 0x00, 0x7f,
1695 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1696 0x00, 0xfc, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
1698 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1699 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1700 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1701 0x00, 0xfc, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
1703 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1704 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1705 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1706 0x00, 0xfc, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
1708 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1709 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1710 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1711 0x00, 0xfc, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
1713 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1714 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1715 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1716 0x00, 0xfc, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
1718 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
1719 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x0a, 0x00, 0x7f,
1720 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1721 0x00, 0xfc, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
1723 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
1724 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x0a, 0x00, 0x7f,
1725 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1726 0x00, 0xfc, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
1728 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
1729 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x08, 0x00, 0x7f,
1730 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1731 0x00, 0xfa, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
1733 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
1734 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x08, 0x00, 0x7f,
1735 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1736 0x00, 0xfa, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
1738 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
1739 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x08, 0x00, 0x7f,
1740 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1741 0x00, 0xfa, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
1743 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
1744 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x08, 0x00, 0x7f,
1745 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1746 0x00, 0xfa, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
1748 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
1749 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x08, 0x00, 0x7f,
1750 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1751 0x00, 0xfa, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
1753 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
1754 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1755 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1756 0x00, 0xfa, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
1758 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
1759 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1760 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1761 0x00, 0xfa, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
1763 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
1764 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1765 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1766 0x00, 0xfa, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
1768 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1769 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1770 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1771 0x00, 0xfa, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
1773 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1774 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x8f, 0x00, 0x08, 0x00, 0x7f,
1775 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1776 0x00, 0xfa, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
1778 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1779 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x07, 0x00, 0x7f,
1780 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8f, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1781 0x00, 0xf8, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
1783 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1784 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x07, 0x00, 0x7f,
1785 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8f, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1786 0x00, 0xf8, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
1788 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1789 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x07, 0x00, 0x7f,
1790 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8e, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1791 0x00, 0xf8, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
1793 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1794 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x07, 0x00, 0x7f,
1795 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8e, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1796 0x00, 0xf8, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
1798 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
1799 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7e, 0x00, 0x07, 0x00, 0x7f,
1800 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x7e, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1801 0x00, 0xf8, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
1803 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
1804 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7d, 0x00, 0x07, 0x00, 0x7f,
1805 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x7d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1806 0x00, 0xf8, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
1808 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
1809 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x07, 0x00, 0x7f,
1810 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1811 0x00, 0xf8, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
1813 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
1814 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x07, 0x00, 0x7f,
1815 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1816 0x00, 0xf8, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
1818 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
1819 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5d, 0x00, 0x07, 0x00, 0x7f,
1820 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x5d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1821 0x00, 0xf8, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
1823 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
1824 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5c, 0x00, 0x07, 0x00, 0x7f,
1825 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x5c, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1826 0x00, 0xf8, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
1828 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
1829 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x5c, 0x00, 0x06, 0x00, 0x7f,
1830 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x5c, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1831 0x00, 0xf6, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
1833 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
1834 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x06, 0x00, 0x7f,
1835 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x4c, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1836 0x00, 0xf6, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
1838 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
1839 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x06, 0x00, 0x7f,
1840 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x4c, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1841 0x00, 0xf6, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
1843 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
1844 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x06, 0x00, 0x7f,
1845 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x3b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1846 0x00, 0xf6, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
1848 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1849 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x06, 0x00, 0x7f,
1850 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x3b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1851 0x00, 0xf6, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
1853 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1854 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x06, 0x00, 0x7f,
1855 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x3b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1856 0x00, 0xf6, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
1858 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1859 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2b, 0x00, 0x06, 0x00, 0x7f,
1860 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x2b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1861 0x00, 0xf6, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
1863 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1864 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2a, 0x00, 0x06, 0x00, 0x7f,
1865 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x2a, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1866 0x00, 0xf6, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
1868 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1869 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x06, 0x00, 0x7f,
1870 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x1a, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1871 0x00, 0xf6, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
1873 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1874 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x06, 0x00, 0x7f,
1875 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x1a, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1876 0x00, 0xf6, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
1878 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
1879 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x1a, 0x00, 0x04, 0x00, 0x7f,
1880 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x1a, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1881 0x00, 0xf4, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
1883 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
1884 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x04, 0x00, 0x7f,
1885 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x19, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1886 0x00, 0xf4, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
1888 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
1889 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x04, 0x00, 0x7f,
1890 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x19, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1891 0x00, 0xf4, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
1893 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
1894 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x04, 0x00, 0x7f,
1895 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x09, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1896 0x00, 0xf4, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
1898 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
1899 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x04, 0x00, 0x7f,
1900 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x09, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1901 0x00, 0xf4, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
1903 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
1904 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1905 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1906 0x00, 0xf4, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
1908 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
1909 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1910 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1911 0x00, 0xf4, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
1913 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
1914 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1915 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1916 0x00, 0xf4, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
1918 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
1919 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1920 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1921 0x00, 0xf4, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
1923 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
1924 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x07, 0x00, 0x04, 0x00, 0x7f,
1925 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x07, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1926 0x00, 0xf4, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
1928 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1929 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x03, 0x00, 0x7f,
1930 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1931 0x00, 0xf2, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
1933 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1934 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x03, 0x00, 0x7f,
1935 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1936 0x00, 0xf2, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
1938 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1939 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x03, 0x00, 0x7f,
1940 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1941 0x00, 0xf2, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
1943 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
1944 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1945 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1946 0x00, 0xf2, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
1948 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1949 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1950 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1951 0x00, 0xf2, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
1953 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
1954 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1955 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1956 0x00, 0xf2, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
1958 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1959 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1960 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1961 0x00, 0xf2, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
1963 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
1964 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1965 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1966 0x00, 0xf2, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
1968 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1969 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1970 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1971 0x00, 0xf2, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
1973 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
1974 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1975 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1976 0x00, 0xf2, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
1978 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
1979 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1980 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1981 0x00, 0xf2, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
1983 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
1984 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1985 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1986 0x00, 0xf2, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
1988 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
1989 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1990 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1991 0x00, 0xf2, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
1993 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
1994 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1995 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1996 0x00, 0xf2, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
1998 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
1999 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
2000 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2001 0x00, 0xf2, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
2003 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
2004 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x03, 0x00, 0x7f,
2005 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2006 0x00, 0xf2, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
2008 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
2009 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x03, 0x00, 0x7f,
2010 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2011 0x00, 0xf2, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
2013 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
2014 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x03, 0x00, 0x7f,
2015 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2016 0x00, 0xf2, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
2018 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
2019 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2020 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2021 0x00, 0xf0, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
2023 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
2024 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2025 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2026 0x00, 0xf0, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
2028 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
2029 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2030 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2031 0x00, 0xf0, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
2033 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
2034 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2035 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2036 0x00, 0xf0, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
2038 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
2039 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2040 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2041 0x00, 0xf0, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
2043 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
2044 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2045 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2046 0x00, 0xf0, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
2048 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
2049 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2050 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2051 0x00, 0xf0, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
2053 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
2054 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2055 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2056 0x00, 0xf0, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
2058 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
2059 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2060 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2061 0x00, 0xf0, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
2063 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2064 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2065 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2066 0x00, 0xf0, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
2068 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2069 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x02, 0x00, 0x7f,
2070 0x00, 0x09, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2071 0x00, 0xf0, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
2073 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2074 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x02, 0x00, 0x7f,
2075 0x00, 0x09, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2076 0x00, 0xf0, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
2078 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2079 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x02, 0x00, 0x7f,
2080 0x00, 0x09, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2081 0x00, 0xf0, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
2083 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2084 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f,
2085 0x00, 0x07, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x07,
2086 0x00, 0xf0, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
2088 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2089 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f,
2090 0x00, 0x07, 0x00, 0xf0, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x07,
2091 0x00, 0xf0, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
2093 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
2094 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x04, 0x00,
2095 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xff, 0x00, 0x04, 0x00, 0x70, 0x00,
2096 0x0f, 0x00, 0x0e, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
2098 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
2099 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x04, 0x00,
2100 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xff, 0x00, 0x04, 0x00, 0x70, 0x00,
2101 0x0f, 0x00, 0x0e, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
2103 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
2104 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x04, 0x00,
2105 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xff, 0x00, 0x04, 0x00, 0x70, 0x00,
2106 0x0f, 0x00, 0x0e, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
2108 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
2109 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x04, 0x00,
2110 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xfd, 0x00, 0x04, 0x00, 0x70, 0x00,
2111 0x0f, 0x00, 0x0e, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
2113 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
2114 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfb, 0x00, 0x04, 0x00,
2115 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xfb, 0x00, 0x04, 0x00, 0x70, 0x00,
2116 0x0f, 0x00, 0x0e, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
2118 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
2119 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00,
2120 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xfa, 0x00, 0x04, 0x00, 0x70, 0x00,
2121 0x0f, 0x00, 0x0e, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
2123 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
2124 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x04, 0x00,
2125 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf8, 0x00, 0x04, 0x00, 0x70, 0x00,
2126 0x0f, 0x00, 0x0e, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
2128 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
2129 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x04, 0x00,
2130 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf7, 0x00, 0x04, 0x00, 0x70, 0x00,
2131 0x0f, 0x00, 0x0e, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
2133 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
2134 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf6, 0x00, 0x04, 0x00,
2135 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf6, 0x00, 0x04, 0x00, 0x70, 0x00,
2136 0x0f, 0x00, 0x0e, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
2138 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
2139 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x04, 0x00,
2140 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf5, 0x00, 0x04, 0x00, 0x70, 0x00,
2141 0x0f, 0x00, 0x0e, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
2143 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
2144 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x04, 0x00,
2145 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x70, 0x00,
2146 0x0f, 0x00, 0x0e, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
2148 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
2149 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf3, 0x00, 0x04, 0x00,
2150 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf3, 0x00, 0x04, 0x00, 0x70, 0x00,
2151 0x0f, 0x00, 0x0e, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
2153 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
2154 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x04, 0x00,
2155 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x70, 0x00,
2156 0x0f, 0x00, 0x0e, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
2158 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
2159 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x04, 0x00,
2160 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x70, 0x00,
2161 0x0f, 0x00, 0x0e, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
2164 static chan_info_nphy_radio205x_t chan_info_nphyrev5_2056v5[] = {
2166 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
2167 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2168 0x00, 0x0f, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0f,
2169 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
2171 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
2172 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2173 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
2174 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
2176 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
2177 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2178 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
2179 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
2181 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
2182 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2183 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
2184 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
2186 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
2187 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2188 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0e,
2189 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
2191 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
2192 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2193 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2194 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
2196 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
2197 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2198 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2199 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
2201 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
2202 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2203 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2204 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
2206 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
2207 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2208 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2209 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
2211 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
2212 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2213 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2214 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
2216 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
2217 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
2218 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0d,
2219 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
2221 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
2222 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
2223 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2224 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
2226 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
2227 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
2228 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2229 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
2231 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
2232 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
2233 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2234 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
2236 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
2237 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x70,
2238 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2239 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
2241 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
2242 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x70,
2243 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2244 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
2246 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
2247 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2248 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2249 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
2251 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
2252 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2253 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2254 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
2256 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
2257 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2258 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2259 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
2261 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
2262 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2263 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2264 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
2266 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
2267 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2268 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2269 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
2271 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
2272 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x70,
2273 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0a,
2274 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
2276 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
2277 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
2278 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x0a,
2279 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
2281 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
2282 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
2283 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x09,
2284 0x00, 0x6e, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
2286 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
2287 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x06, 0x00, 0x70,
2288 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2289 0x00, 0x6e, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
2291 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
2292 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2293 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2294 0x00, 0x6e, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
2296 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
2297 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2298 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2299 0x00, 0x6e, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
2301 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
2302 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2303 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2304 0x00, 0x6e, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
2306 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
2307 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2308 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2309 0x00, 0x6e, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
2311 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2312 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2313 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2314 0x00, 0x6e, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
2316 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2317 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xea, 0x00, 0x06, 0x00, 0x70,
2318 0x00, 0x08, 0x00, 0x9e, 0x00, 0xea, 0x00, 0x06, 0x00, 0x70, 0x00, 0x08,
2319 0x00, 0x6e, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
2321 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2322 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xe9, 0x00, 0x05, 0x00, 0x70,
2323 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
2324 0x00, 0x6d, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
2326 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2327 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xe9, 0x00, 0x05, 0x00, 0x70,
2328 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
2329 0x00, 0x6d, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
2331 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2332 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xd9, 0x00, 0x05, 0x00, 0x70,
2333 0x00, 0x08, 0x00, 0x9d, 0x00, 0xd9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
2334 0x00, 0x6d, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
2336 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2337 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xd8, 0x00, 0x04, 0x00, 0x70,
2338 0x00, 0x07, 0x00, 0x9c, 0x00, 0xd8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2339 0x00, 0x6c, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
2341 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
2342 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2343 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2344 0x00, 0x6c, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
2346 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
2347 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2348 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2349 0x00, 0x6c, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
2351 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
2352 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2353 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2354 0x00, 0x6c, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
2356 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
2357 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2358 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2359 0x00, 0x6c, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
2361 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
2362 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xb8, 0x00, 0x04, 0x00, 0x70,
2363 0x00, 0x07, 0x00, 0x9c, 0x00, 0xb8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2364 0x00, 0x6c, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
2366 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
2367 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xb7, 0x00, 0x04, 0x00, 0x70,
2368 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2369 0x00, 0x6b, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
2371 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
2372 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xb7, 0x00, 0x03, 0x00, 0x70,
2373 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x07,
2374 0x00, 0x6b, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
2376 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
2377 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xa7, 0x00, 0x03, 0x00, 0x70,
2378 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2379 0x00, 0x6b, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
2381 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
2382 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xa6, 0x00, 0x03, 0x00, 0x70,
2383 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2384 0x00, 0x6b, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
2386 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
2387 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xa6, 0x00, 0x03, 0x00, 0x70,
2388 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2389 0x00, 0x5b, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
2391 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2392 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x96, 0x00, 0x03, 0x00, 0x70,
2393 0x00, 0x06, 0x00, 0x9a, 0x00, 0x96, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2394 0x00, 0x5a, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
2396 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2397 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x95, 0x00, 0x03, 0x00, 0x70,
2398 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2399 0x00, 0x5a, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
2401 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2402 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x95, 0x00, 0x03, 0x00, 0x70,
2403 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2404 0x00, 0x5a, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
2406 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2407 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x95, 0x00, 0x03, 0x00, 0x70,
2408 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
2409 0x00, 0x5a, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
2411 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2412 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x95, 0x00, 0x03, 0x00, 0x70,
2413 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
2414 0x00, 0x5a, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
2416 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2417 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x85, 0x00, 0x02, 0x00, 0x70,
2418 0x00, 0x05, 0x00, 0x99, 0x00, 0x85, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
2419 0x00, 0x59, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
2421 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
2422 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x84, 0x00, 0x02, 0x00, 0x70,
2423 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
2424 0x00, 0x59, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
2426 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
2427 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x84, 0x00, 0x02, 0x00, 0x70,
2428 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
2429 0x00, 0x59, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
2431 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
2432 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x84, 0x00, 0x02, 0x00, 0x70,
2433 0x00, 0x04, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x04,
2434 0x00, 0x69, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
2436 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
2437 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x74, 0x00, 0x01, 0x00, 0x70,
2438 0x00, 0x04, 0x00, 0x99, 0x00, 0x74, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2439 0x00, 0x69, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
2441 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
2442 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x73, 0x00, 0x01, 0x00, 0x70,
2443 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2444 0x00, 0x68, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
2446 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
2447 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x73, 0x00, 0x01, 0x00, 0x70,
2448 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2449 0x00, 0x68, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
2451 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
2452 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
2453 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2454 0x00, 0x78, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
2456 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
2457 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
2458 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2459 0x00, 0x78, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
2461 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
2462 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
2463 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2464 0x00, 0x78, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
2466 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
2467 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x63, 0x00, 0x01, 0x00, 0x70,
2468 0x00, 0x03, 0x00, 0x98, 0x00, 0x63, 0x00, 0x01, 0x00, 0x70, 0x00, 0x03,
2469 0x00, 0x78, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
2471 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2472 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x62, 0x00, 0x00, 0x00, 0x70,
2473 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
2474 0x00, 0x77, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
2476 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2477 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x62, 0x00, 0x00, 0x00, 0x70,
2478 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
2479 0x00, 0x77, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
2481 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2482 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x62, 0x00, 0x00, 0x00, 0x70,
2483 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
2484 0x00, 0x77, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
2486 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2487 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x52, 0x00, 0x00, 0x00, 0x70,
2488 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2489 0x00, 0x76, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
2491 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2492 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x52, 0x00, 0x00, 0x00, 0x70,
2493 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2494 0x00, 0x76, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
2496 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2497 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x51, 0x00, 0x00, 0x00, 0x70,
2498 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2499 0x00, 0x76, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
2501 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
2502 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2503 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2504 0x00, 0x76, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
2506 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
2507 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2508 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2509 0x00, 0x76, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
2511 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
2512 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2513 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2514 0x00, 0x76, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
2516 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
2517 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2518 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2519 0x00, 0x76, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
2521 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
2522 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2523 0x00, 0x02, 0x00, 0x95, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2524 0x00, 0x75, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
2526 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
2527 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x50, 0x00, 0x00, 0x00, 0x70,
2528 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2529 0x00, 0x75, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
2531 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
2532 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x50, 0x00, 0x00, 0x00, 0x70,
2533 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2534 0x00, 0x75, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
2536 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
2537 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x40, 0x00, 0x00, 0x00, 0x70,
2538 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2539 0x00, 0x74, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
2541 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
2542 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x40, 0x00, 0x00, 0x00, 0x70,
2543 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2544 0x00, 0x74, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
2546 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
2547 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x40, 0x00, 0x00, 0x00, 0x70,
2548 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2549 0x00, 0x74, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
2551 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2552 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2553 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2554 0x00, 0x74, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
2556 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2557 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2558 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2559 0x00, 0x74, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
2561 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2562 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2563 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2564 0x00, 0x74, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
2566 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
2567 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2568 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2569 0x00, 0x74, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
2571 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2572 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2573 0x00, 0x01, 0x00, 0x94, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2574 0x00, 0x84, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
2576 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
2577 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2578 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2579 0x00, 0x83, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
2581 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2582 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2583 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2584 0x00, 0x83, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
2586 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
2587 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2588 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2589 0x00, 0x83, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
2591 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2592 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2593 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2594 0x00, 0x83, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
2596 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
2597 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2598 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2599 0x00, 0x83, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
2601 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
2602 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2603 0x00, 0x00, 0x00, 0x93, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2604 0x00, 0x83, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
2606 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
2607 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2608 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2609 0x00, 0x82, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
2611 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
2612 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2613 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2614 0x00, 0x82, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
2616 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
2617 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2618 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2619 0x00, 0x82, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
2621 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
2622 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2623 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2624 0x00, 0x82, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
2626 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
2627 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2628 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2629 0x00, 0x82, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
2631 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
2632 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2633 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2634 0x00, 0x82, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
2636 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
2637 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2638 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2639 0x00, 0x82, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
2641 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
2642 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2643 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2644 0x00, 0x82, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
2646 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
2647 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2648 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2649 0x00, 0x82, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
2651 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
2652 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2653 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2654 0x00, 0x82, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
2656 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
2657 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2658 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2659 0x00, 0x82, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
2661 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
2662 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2663 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2664 0x00, 0x82, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
2666 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
2667 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2668 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2669 0x00, 0x82, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
2671 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
2672 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2673 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2674 0x00, 0x72, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
2676 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
2677 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2678 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2679 0x00, 0x72, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
2681 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
2682 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2683 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2684 0x00, 0x72, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
2686 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2687 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2688 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2689 0x00, 0x72, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
2691 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2692 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2693 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2694 0x00, 0x71, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
2696 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2697 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2698 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2699 0x00, 0x71, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
2701 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2702 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2703 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2704 0x00, 0x71, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
2706 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2707 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
2708 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2709 0x00, 0x71, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
2711 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2712 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
2713 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2714 0x00, 0x71, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
2716 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
2717 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x03, 0x00,
2718 0x70, 0x00, 0x0f, 0x00, 0x0b, 0x00, 0x1f, 0x00, 0x03, 0x00, 0x70, 0x00,
2719 0x0f, 0x00, 0x0b, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
2721 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
2722 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x03, 0x00,
2723 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x1f, 0x00, 0x03, 0x00, 0x70, 0x00,
2724 0x0f, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
2726 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
2727 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00,
2728 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x70, 0x00,
2729 0x0f, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
2731 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
2732 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x03, 0x00,
2733 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x03, 0x00, 0x70, 0x00,
2734 0x0e, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
2736 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
2737 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x03, 0x00,
2738 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x0c, 0x00, 0x03, 0x00, 0x70, 0x00,
2739 0x0e, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
2741 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
2742 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x03, 0x00,
2743 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x03, 0x00, 0x70, 0x00,
2744 0x0e, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
2746 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
2747 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x09, 0x00, 0x03, 0x00,
2748 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x03, 0x00, 0x70, 0x00,
2749 0x0e, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
2751 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
2752 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00,
2753 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x08, 0x00, 0x02, 0x00, 0x70, 0x00,
2754 0x0e, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
2756 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
2757 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x07, 0x00, 0x02, 0x00,
2758 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x07, 0x00, 0x02, 0x00, 0x70, 0x00,
2759 0x0e, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
2761 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
2762 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00,
2763 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x06, 0x00, 0x02, 0x00, 0x70, 0x00,
2764 0x0d, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
2766 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
2767 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x05, 0x00, 0x02, 0x00,
2768 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x05, 0x00, 0x02, 0x00, 0x70, 0x00,
2769 0x0d, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
2771 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
2772 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00,
2773 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x04, 0x00, 0x02, 0x00, 0x70, 0x00,
2774 0x0d, 0x00, 0x08, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
2776 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
2777 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02, 0x00,
2778 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x03, 0x00, 0x02, 0x00, 0x70, 0x00,
2779 0x0d, 0x00, 0x08, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
2781 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
2782 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
2783 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
2784 0x0d, 0x00, 0x08, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
2787 static chan_info_nphy_radio205x_t chan_info_nphyrev6_2056v6[] = {
2789 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
2790 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2791 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2792 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
2794 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
2795 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2796 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2797 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
2799 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
2800 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2801 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2802 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
2804 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
2805 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2806 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2807 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
2809 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
2810 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2811 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2812 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
2814 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
2815 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2816 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2817 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
2819 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
2820 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2821 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2822 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
2824 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
2825 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2826 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2827 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
2829 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
2830 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2831 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2832 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
2834 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
2835 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2836 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2837 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
2839 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
2840 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2841 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2842 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
2844 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
2845 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2846 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2847 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
2849 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
2850 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2851 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2852 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
2854 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
2855 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2856 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2857 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
2859 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
2860 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2861 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2862 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
2864 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
2865 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
2866 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2867 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
2869 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
2870 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
2871 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2872 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
2874 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
2875 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
2876 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2877 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
2879 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
2880 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x77,
2881 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2882 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
2884 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
2885 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
2886 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2887 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
2889 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
2890 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
2891 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2892 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
2894 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
2895 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
2896 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2897 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
2899 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
2900 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x77,
2901 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2902 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
2904 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
2905 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
2906 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
2907 0x00, 0x6f, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
2909 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
2910 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
2911 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
2912 0x00, 0x6f, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
2914 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
2915 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
2916 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0e,
2917 0x00, 0x6f, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
2919 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
2920 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
2921 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0d,
2922 0x00, 0x6f, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
2924 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
2925 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
2926 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2927 0x00, 0x6f, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
2929 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
2930 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
2931 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2932 0x00, 0x6f, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
2934 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2935 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xd8, 0x00, 0x05, 0x00, 0x77,
2936 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2937 0x00, 0x6f, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
2939 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2940 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xd8, 0x00, 0x05, 0x00, 0x77,
2941 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2942 0x00, 0x6f, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
2944 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2945 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xc8, 0x00, 0x05, 0x00, 0x77,
2946 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2947 0x00, 0x6f, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
2949 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2950 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xc7, 0x00, 0x05, 0x00, 0x77,
2951 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2952 0x00, 0x6f, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
2954 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2955 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
2956 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0d,
2957 0x00, 0x6f, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
2959 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2960 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
2961 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0c,
2962 0x00, 0x6f, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
2964 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
2965 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2966 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2967 0x00, 0x6f, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
2969 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
2970 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2971 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2972 0x00, 0x6f, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
2974 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
2975 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2976 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2977 0x00, 0x6f, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
2979 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
2980 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2981 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2982 0x00, 0x6f, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
2984 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
2985 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb7, 0x00, 0x03, 0x00, 0x77,
2986 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2987 0x00, 0x6f, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
2989 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
2990 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xa6, 0x00, 0x03, 0x00, 0x77,
2991 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
2992 0x00, 0x6f, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
2994 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
2995 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
2996 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
2997 0x00, 0x6f, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
2999 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
3000 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
3001 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
3002 0x00, 0x6f, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
3004 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
3005 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
3006 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3007 0x00, 0x6f, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
3009 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
3010 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
3011 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3012 0x00, 0x6f, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
3014 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3015 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x77,
3016 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3017 0x00, 0x6f, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
3019 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3020 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
3021 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3022 0x00, 0x6f, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
3024 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3025 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
3026 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3027 0x00, 0x6f, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
3029 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3030 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x84, 0x00, 0x02, 0x00, 0x77,
3031 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
3032 0x00, 0x6f, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
3034 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3035 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x84, 0x00, 0x02, 0x00, 0x77,
3036 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
3037 0x00, 0x6f, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
3039 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3040 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
3041 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
3042 0x00, 0x6f, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
3044 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
3045 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
3046 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x09,
3047 0x00, 0x6f, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
3049 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
3050 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
3051 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
3052 0x00, 0x6f, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
3054 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
3055 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
3056 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
3057 0x00, 0x6f, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
3059 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
3060 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x73, 0x00, 0x01, 0x00, 0x77,
3061 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
3062 0x00, 0x6f, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
3064 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
3065 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x00, 0x00, 0x77,
3066 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3067 0x00, 0x6f, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
3069 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
3070 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x00, 0x00, 0x77,
3071 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3072 0x00, 0x6f, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
3074 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
3075 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
3076 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3077 0x00, 0x6f, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
3079 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
3080 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
3081 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3082 0x00, 0x6f, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
3084 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
3085 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
3086 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3087 0x00, 0x6f, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
3089 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
3090 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
3091 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3092 0x00, 0x6f, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
3094 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3095 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x73, 0x00, 0x00, 0x00, 0x77,
3096 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3097 0x00, 0x6f, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
3099 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3100 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
3101 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3102 0x00, 0x6f, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
3104 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3105 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
3106 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3107 0x00, 0x6f, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
3109 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3110 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x77,
3111 0x00, 0x09, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3112 0x00, 0x6f, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
3114 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3115 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x62, 0x00, 0x00, 0x00, 0x77,
3116 0x00, 0x08, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3117 0x00, 0x6f, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
3119 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3120 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x61, 0x00, 0x00, 0x00, 0x77,
3121 0x00, 0x08, 0x00, 0x6f, 0x00, 0x61, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3122 0x00, 0x6f, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
3124 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
3125 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
3126 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3127 0x00, 0x6f, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
3129 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
3130 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
3131 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3132 0x00, 0x6f, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
3134 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
3135 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
3136 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3137 0x00, 0x6f, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
3139 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
3140 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
3141 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3142 0x00, 0x6f, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
3144 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
3145 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x77,
3146 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3147 0x00, 0x6f, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
3149 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
3150 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
3151 0x00, 0x07, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3152 0x00, 0x6f, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
3154 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
3155 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
3156 0x00, 0x06, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3157 0x00, 0x6f, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
3159 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
3160 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x77,
3161 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3162 0x00, 0x6f, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
3164 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
3165 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3166 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3167 0x00, 0x6f, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
3169 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
3170 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3171 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3172 0x00, 0x6f, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
3174 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3175 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3176 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3177 0x00, 0x6e, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
3179 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3180 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3181 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3182 0x00, 0x6e, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
3184 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3185 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3186 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3187 0x00, 0x6e, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
3189 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
3190 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3191 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3192 0x00, 0x6e, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
3194 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3195 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3196 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3197 0x00, 0x6e, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
3199 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
3200 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3201 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3202 0x00, 0x6d, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
3204 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3205 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3206 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3207 0x00, 0x6d, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
3209 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
3210 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3211 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3212 0x00, 0x6d, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
3214 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3215 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x77,
3216 0x00, 0x05, 0x00, 0x6d, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3217 0x00, 0x6d, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
3219 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
3220 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
3221 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3222 0x00, 0x6c, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
3224 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
3225 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
3226 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3227 0x00, 0x6c, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
3229 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
3230 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3231 0x00, 0x05, 0x00, 0x6c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3232 0x00, 0x6c, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
3234 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
3235 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3236 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3237 0x00, 0x6b, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
3239 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
3240 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3241 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3242 0x00, 0x6b, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
3244 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
3245 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3246 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3247 0x00, 0x6b, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
3249 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
3250 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
3251 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3252 0x00, 0x6b, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
3254 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
3255 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
3256 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3257 0x00, 0x6b, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
3259 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
3260 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3261 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3262 0x00, 0x6b, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
3264 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
3265 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3266 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3267 0x00, 0x6b, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
3269 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
3270 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3271 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3272 0x00, 0x6a, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
3274 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
3275 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3276 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3277 0x00, 0x6a, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
3279 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
3280 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3281 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3282 0x00, 0x6a, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
3284 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
3285 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3286 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3287 0x00, 0x6a, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
3289 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
3290 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3291 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3292 0x00, 0x69, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
3294 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
3295 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3296 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3297 0x00, 0x69, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
3299 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
3300 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3301 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3302 0x00, 0x69, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
3304 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
3305 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3306 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3307 0x00, 0x69, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
3309 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3310 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3311 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3312 0x00, 0x69, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
3314 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3315 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3316 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3317 0x00, 0x68, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
3319 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3320 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3321 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3322 0x00, 0x68, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
3324 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3325 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3326 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3327 0x00, 0x68, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
3329 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3330 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3331 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3332 0x00, 0x68, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
3334 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3335 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3336 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3337 0x00, 0x68, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
3339 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
3340 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
3341 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
3342 0x0b, 0x00, 0x0a, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
3344 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
3345 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
3346 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
3347 0x0b, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
3349 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
3350 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x67, 0x00, 0x03, 0x00,
3351 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x67, 0x00, 0x03, 0x00, 0x70, 0x00,
3352 0x0b, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
3354 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
3355 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x57, 0x00, 0x03, 0x00,
3356 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x57, 0x00, 0x03, 0x00, 0x70, 0x00,
3357 0x0a, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
3359 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
3360 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x56, 0x00, 0x03, 0x00,
3361 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x56, 0x00, 0x03, 0x00, 0x70, 0x00,
3362 0x0a, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
3364 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
3365 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x46, 0x00, 0x03, 0x00,
3366 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x46, 0x00, 0x03, 0x00, 0x70, 0x00,
3367 0x0a, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
3369 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
3370 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
3371 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
3372 0x0a, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
3374 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
3375 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
3376 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
3377 0x0a, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
3379 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
3380 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x23, 0x00, 0x02, 0x00,
3381 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x23, 0x00, 0x02, 0x00, 0x70, 0x00,
3382 0x0a, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
3384 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
3385 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x12, 0x00, 0x02, 0x00,
3386 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x12, 0x00, 0x02, 0x00, 0x70, 0x00,
3387 0x0a, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
3389 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
3390 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00,
3391 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x02, 0x00, 0x02, 0x00, 0x70, 0x00,
3392 0x09, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
3394 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
3395 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
3396 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x01, 0x00, 0x02, 0x00, 0x70, 0x00,
3397 0x09, 0x00, 0x09, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
3399 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
3400 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
3401 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x01, 0x00, 0x02, 0x00, 0x70, 0x00,
3402 0x09, 0x00, 0x09, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
3404 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
3405 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
3406 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
3407 0x09, 0x00, 0x09, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
3410 static chan_info_nphy_radio205x_t chan_info_nphyrev5n6_2056v7[] = {
3412 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
3413 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3414 0x00, 0x0f, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0f,
3415 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
3417 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
3418 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3419 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
3420 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
3422 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
3423 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3424 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
3425 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
3427 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
3428 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3429 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
3430 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
3432 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
3433 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3434 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0e,
3435 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
3437 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
3438 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3439 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3440 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
3442 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
3443 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3444 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3445 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
3447 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
3448 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3449 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3450 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
3452 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
3453 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3454 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3455 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
3457 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
3458 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3459 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3460 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
3462 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
3463 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
3464 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0d,
3465 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
3467 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
3468 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
3469 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3470 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
3472 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
3473 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
3474 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3475 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
3477 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
3478 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
3479 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3480 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
3482 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
3483 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x70,
3484 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3485 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
3487 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
3488 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x70,
3489 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3490 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
3492 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
3493 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3494 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3495 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
3497 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
3498 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3499 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3500 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
3502 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
3503 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3504 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3505 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
3507 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
3508 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3509 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3510 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
3512 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
3513 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3514 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3515 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
3517 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
3518 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x70,
3519 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0a,
3520 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
3522 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
3523 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
3524 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x0a,
3525 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
3527 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
3528 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
3529 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x09,
3530 0x00, 0x6e, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
3532 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
3533 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x06, 0x00, 0x70,
3534 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3535 0x00, 0x6e, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
3537 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
3538 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3539 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3540 0x00, 0x6e, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
3542 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
3543 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3544 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3545 0x00, 0x6e, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
3547 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
3548 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3549 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3550 0x00, 0x6e, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
3552 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
3553 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3554 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3555 0x00, 0x6e, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
3557 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3558 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xfa, 0x00, 0x06, 0x00, 0x70,
3559 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3560 0x00, 0x6e, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
3562 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3563 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xea, 0x00, 0x06, 0x00, 0x70,
3564 0x00, 0x08, 0x00, 0x9e, 0x00, 0xea, 0x00, 0x06, 0x00, 0x70, 0x00, 0x08,
3565 0x00, 0x6e, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
3567 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3568 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xe9, 0x00, 0x05, 0x00, 0x70,
3569 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
3570 0x00, 0x6d, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
3572 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3573 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xe9, 0x00, 0x05, 0x00, 0x70,
3574 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
3575 0x00, 0x6d, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
3577 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3578 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xd9, 0x00, 0x05, 0x00, 0x70,
3579 0x00, 0x08, 0x00, 0x9d, 0x00, 0xd9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
3580 0x00, 0x6d, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
3582 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3583 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xd8, 0x00, 0x04, 0x00, 0x70,
3584 0x00, 0x07, 0x00, 0x9c, 0x00, 0xd8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3585 0x00, 0x6c, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
3587 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
3588 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3589 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3590 0x00, 0x6c, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
3592 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
3593 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3594 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3595 0x00, 0x6c, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
3597 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
3598 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3599 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3600 0x00, 0x6c, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
3602 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
3603 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3604 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3605 0x00, 0x6c, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
3607 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
3608 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb8, 0x00, 0x04, 0x00, 0x70,
3609 0x00, 0x07, 0x00, 0x9c, 0x00, 0xb8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3610 0x00, 0x6c, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
3612 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
3613 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xb7, 0x00, 0x04, 0x00, 0x70,
3614 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3615 0x00, 0x6b, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
3617 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
3618 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xb7, 0x00, 0x03, 0x00, 0x70,
3619 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x07,
3620 0x00, 0x6b, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
3622 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
3623 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa7, 0x00, 0x03, 0x00, 0x70,
3624 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3625 0x00, 0x6b, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
3627 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
3628 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0xa6, 0x00, 0x03, 0x00, 0x70,
3629 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3630 0x00, 0x6b, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
3632 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
3633 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0xa6, 0x00, 0x03, 0x00, 0x70,
3634 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3635 0x00, 0x7b, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
3637 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3638 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x96, 0x00, 0x03, 0x00, 0x70,
3639 0x00, 0x06, 0x00, 0x9a, 0x00, 0x96, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3640 0x00, 0x7a, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
3642 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3643 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x70,
3644 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3645 0x00, 0x7a, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
3647 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3648 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x70,
3649 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3650 0x00, 0x7a, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
3652 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3653 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x95, 0x00, 0x03, 0x00, 0x70,
3654 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
3655 0x00, 0x7a, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
3657 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3658 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x95, 0x00, 0x03, 0x00, 0x70,
3659 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
3660 0x00, 0x7a, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
3662 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3663 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x85, 0x00, 0x02, 0x00, 0x70,
3664 0x00, 0x05, 0x00, 0x99, 0x00, 0x85, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
3665 0x00, 0x79, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
3667 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
3668 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x70,
3669 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
3670 0x00, 0x79, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
3672 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
3673 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x02, 0x00, 0x70,
3674 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
3675 0x00, 0x79, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
3677 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
3678 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x02, 0x00, 0x70,
3679 0x00, 0x04, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x04,
3680 0x00, 0x79, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
3682 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
3683 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x74, 0x00, 0x01, 0x00, 0x70,
3684 0x00, 0x04, 0x00, 0x99, 0x00, 0x74, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3685 0x00, 0x79, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
3687 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
3688 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
3689 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3690 0x00, 0x78, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
3692 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
3693 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x01, 0x00, 0x70,
3694 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3695 0x00, 0x78, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
3697 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
3698 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x01, 0x00, 0x70,
3699 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3700 0x00, 0x78, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
3702 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
3703 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x01, 0x00, 0x70,
3704 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3705 0x00, 0x78, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
3707 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
3708 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x01, 0x00, 0x70,
3709 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3710 0x00, 0x78, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
3712 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
3713 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x63, 0x00, 0x01, 0x00, 0x70,
3714 0x00, 0x03, 0x00, 0x98, 0x00, 0x63, 0x00, 0x01, 0x00, 0x70, 0x00, 0x03,
3715 0x00, 0x78, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
3717 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3718 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x62, 0x00, 0x00, 0x00, 0x70,
3719 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
3720 0x00, 0x77, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
3722 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3723 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x70,
3724 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
3725 0x00, 0x77, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
3727 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3728 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x70,
3729 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
3730 0x00, 0x77, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
3732 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3733 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x52, 0x00, 0x00, 0x00, 0x70,
3734 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3735 0x00, 0x76, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
3737 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3738 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x52, 0x00, 0x00, 0x00, 0x70,
3739 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3740 0x00, 0x86, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
3742 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3743 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3744 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3745 0x00, 0x86, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
3747 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
3748 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3749 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3750 0x00, 0x86, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
3752 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
3753 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3754 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3755 0x00, 0x86, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
3757 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
3758 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3759 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3760 0x00, 0x86, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
3762 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
3763 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3764 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3765 0x00, 0x86, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
3767 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
3768 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x51, 0x00, 0x00, 0x00, 0x70,
3769 0x00, 0x02, 0x00, 0x95, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3770 0x00, 0x85, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
3772 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
3773 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x70,
3774 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3775 0x00, 0x85, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
3777 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
3778 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x70,
3779 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3780 0x00, 0x85, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
3782 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
3783 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
3784 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3785 0x00, 0x84, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
3787 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
3788 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3789 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3790 0x00, 0x84, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
3792 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
3793 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3794 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3795 0x00, 0x94, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
3797 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3798 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3799 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3800 0x00, 0x94, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
3802 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3803 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3804 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3805 0x00, 0x94, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
3807 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3808 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3809 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3810 0x00, 0x94, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
3812 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
3813 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3814 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3815 0x00, 0x94, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
3817 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3818 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3819 0x00, 0x01, 0x00, 0x94, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3820 0x00, 0x94, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
3822 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
3823 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3824 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3825 0x00, 0x93, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
3827 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3828 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3829 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3830 0x00, 0x93, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
3832 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
3833 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3834 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3835 0x00, 0x93, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
3837 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3838 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3839 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3840 0x00, 0x93, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
3842 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
3843 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x30, 0x00, 0x00, 0x00, 0x70,
3844 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3845 0x00, 0x93, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
3847 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
3848 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3849 0x00, 0x00, 0x00, 0x93, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3850 0x00, 0x93, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
3852 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
3853 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3854 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3855 0x00, 0x92, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
3857 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
3858 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3859 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3860 0x00, 0x92, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
3862 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
3863 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3864 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3865 0x00, 0x92, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
3867 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
3868 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x70,
3869 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3870 0x00, 0x92, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
3872 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
3873 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3874 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3875 0x00, 0x92, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
3877 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
3878 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3879 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3880 0x00, 0x92, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
3882 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
3883 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3884 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3885 0x00, 0x92, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
3887 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
3888 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3889 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3890 0x00, 0x92, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
3892 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
3893 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3894 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3895 0x00, 0x92, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
3897 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
3898 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3899 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3900 0x00, 0x92, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
3902 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
3903 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3904 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3905 0x00, 0x92, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
3907 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
3908 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3909 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3910 0x00, 0x92, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
3912 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
3913 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3914 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3915 0x00, 0x92, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
3917 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
3918 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3919 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3920 0x00, 0x92, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
3922 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
3923 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3924 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3925 0x00, 0x92, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
3927 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
3928 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3929 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3930 0x00, 0x92, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
3932 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3933 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3934 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3935 0x00, 0x92, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
3937 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3938 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3939 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3940 0x00, 0x91, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
3942 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3943 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3944 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3945 0x00, 0x91, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
3947 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3948 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3949 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3950 0x00, 0x91, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
3952 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3953 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3954 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3955 0x00, 0x91, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
3957 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3958 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3959 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3960 0x00, 0x91, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
3962 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
3963 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x89, 0x00, 0x03, 0x00,
3964 0x70, 0x00, 0x0f, 0x00, 0x0b, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
3965 0x0f, 0x00, 0x0b, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
3967 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
3968 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x89, 0x00, 0x03, 0x00,
3969 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
3970 0x0f, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
3972 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
3973 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x89, 0x00, 0x03, 0x00,
3974 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
3975 0x0f, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
3977 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
3978 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
3979 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
3980 0x0e, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
3982 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
3983 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x03, 0x00,
3984 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x03, 0x00, 0x70, 0x00,
3985 0x0e, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
3987 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
3988 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x76, 0x00, 0x03, 0x00,
3989 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x76, 0x00, 0x03, 0x00, 0x70, 0x00,
3990 0x0e, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
3992 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
3993 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x66, 0x00, 0x03, 0x00,
3994 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x66, 0x00, 0x03, 0x00, 0x70, 0x00,
3995 0x0e, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
3997 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
3998 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x55, 0x00, 0x02, 0x00,
3999 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x55, 0x00, 0x02, 0x00, 0x70, 0x00,
4000 0x0e, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
4002 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
4003 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
4004 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
4005 0x0e, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
4007 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
4008 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
4009 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
4010 0x0d, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
4012 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
4013 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00,
4014 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x33, 0x00, 0x02, 0x00, 0x70, 0x00,
4015 0x0d, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
4017 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
4018 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x22, 0x00, 0x02, 0x00,
4019 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x22, 0x00, 0x02, 0x00, 0x70, 0x00,
4020 0x0d, 0x00, 0x08, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
4022 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
4023 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00,
4024 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x11, 0x00, 0x02, 0x00, 0x70, 0x00,
4025 0x0d, 0x00, 0x08, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
4027 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
4028 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
4029 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
4030 0x0d, 0x00, 0x08, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
4033 static chan_info_nphy_radio205x_t chan_info_nphyrev6_2056v8[] = {
4035 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
4036 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4037 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4038 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
4040 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
4041 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4042 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4043 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
4045 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
4046 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4047 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4048 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
4050 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
4051 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4052 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4053 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
4055 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
4056 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4057 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4058 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
4060 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
4061 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4062 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4063 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
4065 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
4066 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4067 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4068 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
4070 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
4071 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4072 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4073 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
4075 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
4076 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4077 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4078 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
4080 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
4081 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4082 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4083 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
4085 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
4086 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4087 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4088 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
4090 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
4091 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4092 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4093 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
4095 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
4096 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4097 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4098 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
4100 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
4101 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4102 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4103 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
4105 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
4106 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4107 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4108 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
4110 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
4111 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4112 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4113 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
4115 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
4116 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4117 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4118 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
4120 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
4121 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4122 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4123 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
4125 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
4126 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x77,
4127 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4128 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
4130 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
4131 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4132 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4133 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
4135 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
4136 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4137 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4138 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
4140 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
4141 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4142 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4143 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
4145 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
4146 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x77,
4147 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4148 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
4150 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
4151 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4152 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4153 0x00, 0x6f, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
4155 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
4156 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4157 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4158 0x00, 0x6f, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
4160 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
4161 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4162 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0e,
4163 0x00, 0x6f, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
4165 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
4166 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4167 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0d,
4168 0x00, 0x6f, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
4170 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
4171 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4172 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4173 0x00, 0x6f, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
4175 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
4176 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4177 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4178 0x00, 0x6f, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
4180 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4181 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xd8, 0x00, 0x05, 0x00, 0x77,
4182 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4183 0x00, 0x6f, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
4185 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4186 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xd8, 0x00, 0x05, 0x00, 0x77,
4187 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4188 0x00, 0x6f, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
4190 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4191 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xc8, 0x00, 0x05, 0x00, 0x77,
4192 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4193 0x00, 0x6f, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
4195 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4196 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xc7, 0x00, 0x05, 0x00, 0x77,
4197 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4198 0x00, 0x6f, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
4200 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4201 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4202 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0d,
4203 0x00, 0x6f, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
4205 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4206 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4207 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0c,
4208 0x00, 0x6f, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
4210 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
4211 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4212 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4213 0x00, 0x6f, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
4215 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
4216 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4217 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4218 0x00, 0x6f, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
4220 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
4221 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4222 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4223 0x00, 0x6f, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
4225 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
4226 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4227 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4228 0x00, 0x6f, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
4230 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
4231 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb7, 0x00, 0x03, 0x00, 0x77,
4232 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4233 0x00, 0x6f, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
4235 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
4236 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xa6, 0x00, 0x03, 0x00, 0x77,
4237 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4238 0x00, 0x6f, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
4240 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
4241 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4242 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4243 0x00, 0x6f, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
4245 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
4246 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4247 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4248 0x00, 0x6f, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
4250 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
4251 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4252 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4253 0x00, 0x6f, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
4255 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
4256 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4257 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4258 0x00, 0x6f, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
4260 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4261 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x77,
4262 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4263 0x00, 0x6f, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
4265 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4266 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4267 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4268 0x00, 0x6f, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
4270 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4271 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4272 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4273 0x00, 0x6f, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
4275 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4276 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x84, 0x00, 0x02, 0x00, 0x77,
4277 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4278 0x00, 0x6f, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
4280 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4281 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x84, 0x00, 0x02, 0x00, 0x77,
4282 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4283 0x00, 0x6f, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
4285 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4286 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4287 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4288 0x00, 0x6f, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
4290 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
4291 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4292 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x09,
4293 0x00, 0x6f, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
4295 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
4296 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4297 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4298 0x00, 0x6f, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
4300 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
4301 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4302 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4303 0x00, 0x6f, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
4305 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
4306 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x73, 0x00, 0x01, 0x00, 0x77,
4307 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4308 0x00, 0x6f, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
4310 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
4311 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x00, 0x00, 0x77,
4312 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4313 0x00, 0x6f, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
4315 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
4316 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x00, 0x00, 0x77,
4317 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4318 0x00, 0x6f, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
4320 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
4321 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4322 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4323 0x00, 0x6f, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
4325 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
4326 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4327 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4328 0x00, 0x6f, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
4330 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
4331 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4332 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4333 0x00, 0x6f, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
4335 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
4336 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4337 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4338 0x00, 0x6f, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
4340 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4341 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x73, 0x00, 0x00, 0x00, 0x77,
4342 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4343 0x00, 0x6f, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
4345 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4346 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4347 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4348 0x00, 0x6f, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
4350 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4351 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4352 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4353 0x00, 0x6f, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
4355 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4356 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x77,
4357 0x00, 0x09, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4358 0x00, 0x6f, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
4360 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4361 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x62, 0x00, 0x00, 0x00, 0x77,
4362 0x00, 0x08, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4363 0x00, 0x6f, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
4365 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4366 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x61, 0x00, 0x00, 0x00, 0x77,
4367 0x00, 0x08, 0x00, 0x6f, 0x00, 0x61, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4368 0x00, 0x6f, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
4370 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
4371 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
4372 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4373 0x00, 0x6f, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
4375 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
4376 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
4377 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4378 0x00, 0x6f, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
4380 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
4381 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
4382 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4383 0x00, 0x6f, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
4385 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
4386 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
4387 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4388 0x00, 0x6f, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
4390 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
4391 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x77,
4392 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4393 0x00, 0x6f, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
4395 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
4396 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
4397 0x00, 0x07, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4398 0x00, 0x6f, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
4400 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
4401 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
4402 0x00, 0x06, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4403 0x00, 0x6f, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
4405 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
4406 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x77,
4407 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4408 0x00, 0x6f, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
4410 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
4411 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4412 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4413 0x00, 0x6f, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
4415 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
4416 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4417 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4418 0x00, 0x6f, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
4420 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4421 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4422 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4423 0x00, 0x6e, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
4425 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4426 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4427 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4428 0x00, 0x6e, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
4430 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4431 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4432 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4433 0x00, 0x6e, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
4435 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
4436 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4437 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4438 0x00, 0x6e, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
4440 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4441 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4442 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4443 0x00, 0x6e, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
4445 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
4446 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4447 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4448 0x00, 0x6d, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
4450 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4451 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4452 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4453 0x00, 0x6d, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
4455 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
4456 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4457 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4458 0x00, 0x6d, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
4460 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4461 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x77,
4462 0x00, 0x05, 0x00, 0x6d, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4463 0x00, 0x6d, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
4465 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
4466 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
4467 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4468 0x00, 0x6c, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
4470 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
4471 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
4472 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4473 0x00, 0x6c, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
4475 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
4476 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4477 0x00, 0x05, 0x00, 0x6c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4478 0x00, 0x6c, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
4480 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
4481 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4482 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4483 0x00, 0x6b, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
4485 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
4486 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4487 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4488 0x00, 0x6b, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
4490 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
4491 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4492 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4493 0x00, 0x6b, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
4495 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
4496 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
4497 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4498 0x00, 0x6b, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
4500 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
4501 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
4502 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4503 0x00, 0x6b, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
4505 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
4506 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4507 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4508 0x00, 0x6b, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
4510 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
4511 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4512 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4513 0x00, 0x6b, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
4515 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
4516 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4517 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4518 0x00, 0x6a, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
4520 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
4521 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4522 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4523 0x00, 0x6a, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
4525 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
4526 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4527 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4528 0x00, 0x6a, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
4530 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
4531 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4532 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4533 0x00, 0x6a, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
4535 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
4536 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4537 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4538 0x00, 0x69, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
4540 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
4541 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4542 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4543 0x00, 0x69, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
4545 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
4546 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4547 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4548 0x00, 0x69, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
4550 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
4551 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4552 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4553 0x00, 0x69, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
4555 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4556 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4557 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4558 0x00, 0x69, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
4560 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4561 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4562 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4563 0x00, 0x68, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
4565 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4566 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4567 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4568 0x00, 0x68, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
4570 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4571 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4572 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4573 0x00, 0x68, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
4575 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4576 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4577 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4578 0x00, 0x68, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
4580 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4581 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4582 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4583 0x00, 0x68, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
4585 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
4586 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
4587 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
4588 0x0b, 0x00, 0x0a, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
4590 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
4591 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
4592 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
4593 0x0b, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
4595 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
4596 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x67, 0x00, 0x03, 0x00,
4597 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
4598 0x0b, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
4600 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
4601 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x57, 0x00, 0x03, 0x00,
4602 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
4603 0x0a, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
4605 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
4606 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x56, 0x00, 0x03, 0x00,
4607 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x03, 0x00, 0x70, 0x00,
4608 0x0a, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
4610 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
4611 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x46, 0x00, 0x03, 0x00,
4612 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x76, 0x00, 0x03, 0x00, 0x70, 0x00,
4613 0x0a, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
4615 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
4616 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
4617 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x66, 0x00, 0x02, 0x00, 0x70, 0x00,
4618 0x0a, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
4620 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
4621 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
4622 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x55, 0x00, 0x02, 0x00, 0x70, 0x00,
4623 0x0a, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
4625 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
4626 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x23, 0x00, 0x02, 0x00,
4627 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
4628 0x0a, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
4630 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
4631 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x12, 0x00, 0x02, 0x00,
4632 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
4633 0x0a, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
4635 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
4636 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00,
4637 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x33, 0x00, 0x02, 0x00, 0x70, 0x00,
4638 0x09, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
4640 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
4641 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
4642 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x22, 0x00, 0x02, 0x00, 0x70, 0x00,
4643 0x09, 0x00, 0x09, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
4645 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
4646 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
4647 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x11, 0x00, 0x02, 0x00, 0x70, 0x00,
4648 0x09, 0x00, 0x09, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
4650 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
4651 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
4652 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
4653 0x09, 0x00, 0x09, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
4656 static chan_info_nphy_radio205x_t chan_info_nphyrev6_2056v11[] = {
4658 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x02, 0x0c, 0x01,
4659 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4660 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4661 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
4663 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x02, 0x0c, 0x01,
4664 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4665 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4666 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
4668 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x02, 0x0c, 0x01,
4669 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4670 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4671 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
4673 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x02, 0x0c, 0x01,
4674 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4675 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4676 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
4678 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x02, 0x0c, 0x01,
4679 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4680 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4681 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
4683 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x02, 0x0c, 0x01,
4684 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4685 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4686 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
4688 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x02, 0x0c, 0x01,
4689 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4690 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4691 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
4693 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x02, 0x0c, 0x01,
4694 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4695 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4696 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
4698 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x02, 0x0c, 0x01,
4699 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4700 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4701 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
4703 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x02, 0x0c, 0x01,
4704 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4705 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4706 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
4708 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x02, 0x0c, 0x01,
4709 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4710 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4711 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
4713 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x02, 0x0c, 0x01,
4714 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4715 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4716 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
4718 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x02, 0x0c, 0x01,
4719 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4720 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4721 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
4723 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x02, 0x0c, 0x01,
4724 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4725 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4726 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
4728 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x02, 0x0c, 0x01,
4729 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4730 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4731 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
4733 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x02, 0x0c, 0x01,
4734 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4735 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4736 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
4738 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x02, 0x0c, 0x01,
4739 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4740 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4741 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
4743 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x02, 0x0c, 0x01,
4744 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4745 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4746 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
4748 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x02, 0x0c, 0x01,
4749 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x77,
4750 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4751 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
4753 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x02, 0x0c, 0x01,
4754 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4755 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4756 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
4758 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x02, 0x0c, 0x01,
4759 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4760 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4761 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
4763 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x02, 0x0c, 0x01,
4764 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4765 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4766 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
4768 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x02, 0x0c, 0x01,
4769 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x77,
4770 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4771 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
4773 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x02, 0x0c, 0x01,
4774 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4775 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4776 0x00, 0x6f, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
4778 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x02, 0x0c, 0x01,
4779 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4780 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4781 0x00, 0x6f, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
4783 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x02, 0x0c, 0x01,
4784 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4785 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0e,
4786 0x00, 0x6f, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
4788 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x02, 0x0c, 0x01,
4789 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4790 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0d,
4791 0x00, 0x6f, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
4793 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x02, 0x0c, 0x01,
4794 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4795 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4796 0x00, 0x6f, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
4798 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x02, 0x0c, 0x01,
4799 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4800 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4801 0x00, 0x6f, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
4803 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x02, 0x0c, 0x01,
4804 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xd8, 0x00, 0x05, 0x00, 0x77,
4805 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4806 0x00, 0x6f, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
4808 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x02, 0x0c, 0x01,
4809 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xd8, 0x00, 0x05, 0x00, 0x77,
4810 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4811 0x00, 0x6f, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
4813 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x02, 0x0c, 0x01,
4814 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xc8, 0x00, 0x05, 0x00, 0x77,
4815 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4816 0x00, 0x6f, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
4818 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x02, 0x0c, 0x01,
4819 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xc7, 0x00, 0x05, 0x00, 0x77,
4820 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4821 0x00, 0x6f, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
4823 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x02, 0x0c, 0x01,
4824 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4825 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0d,
4826 0x00, 0x6f, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
4828 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x02, 0x0c, 0x01,
4829 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4830 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0c,
4831 0x00, 0x6f, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
4833 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x02, 0x0c, 0x01,
4834 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4835 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4836 0x00, 0x6f, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
4838 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x02, 0x0c, 0x01,
4839 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4840 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4841 0x00, 0x6f, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
4843 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x02, 0x0c, 0x01,
4844 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4845 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4846 0x00, 0x6f, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
4848 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x02, 0x0c, 0x01,
4849 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4850 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4851 0x00, 0x6f, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
4853 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x02, 0x0c, 0x01,
4854 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb7, 0x00, 0x03, 0x00, 0x77,
4855 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4856 0x00, 0x6f, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
4858 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x02, 0x0c, 0x01,
4859 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xa6, 0x00, 0x03, 0x00, 0x77,
4860 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4861 0x00, 0x6f, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
4863 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x02, 0x0c, 0x01,
4864 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4865 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4866 0x00, 0x6f, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
4868 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x02, 0x0c, 0x01,
4869 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4870 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4871 0x00, 0x6f, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
4873 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x02, 0x0c, 0x01,
4874 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4875 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4876 0x00, 0x6f, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
4878 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x02, 0x0c, 0x01,
4879 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4880 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4881 0x00, 0x6f, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
4883 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x02, 0x0c, 0x01,
4884 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x77,
4885 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4886 0x00, 0x6f, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
4888 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x02, 0x0c, 0x01,
4889 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4890 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4891 0x00, 0x6f, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
4893 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x02, 0x0c, 0x01,
4894 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4895 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4896 0x00, 0x6f, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
4898 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x02, 0x0c, 0x01,
4899 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x84, 0x00, 0x02, 0x00, 0x77,
4900 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4901 0x00, 0x6f, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
4903 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x02, 0x0c, 0x01,
4904 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x84, 0x00, 0x02, 0x00, 0x77,
4905 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4906 0x00, 0x6f, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
4908 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x02, 0x0c, 0x01,
4909 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4910 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4911 0x00, 0x6f, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
4913 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x02, 0x0c, 0x01,
4914 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4915 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x09,
4916 0x00, 0x6f, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
4918 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x02, 0x0c, 0x01,
4919 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4920 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4921 0x00, 0x6f, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
4923 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x02, 0x0c, 0x01,
4924 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4925 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4926 0x00, 0x6f, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
4928 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x02, 0x0c, 0x01,
4929 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x73, 0x00, 0x01, 0x00, 0x77,
4930 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4931 0x00, 0x6f, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
4933 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x02, 0x0c, 0x01,
4934 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x00, 0x00, 0x77,
4935 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4936 0x00, 0x6f, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
4938 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x02, 0x0c, 0x01,
4939 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x00, 0x00, 0x77,
4940 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4941 0x00, 0x6f, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
4943 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x02, 0x0c, 0x01,
4944 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4945 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4946 0x00, 0x6f, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
4948 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x02, 0x0c, 0x01,
4949 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4950 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4951 0x00, 0x6f, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
4953 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x02, 0x0c, 0x01,
4954 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4955 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4956 0x00, 0x6f, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
4958 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x02, 0x0c, 0x01,
4959 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4960 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4961 0x00, 0x6f, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
4963 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x02, 0x0c, 0x01,
4964 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x73, 0x00, 0x00, 0x00, 0x77,
4965 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4966 0x00, 0x6f, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
4968 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x02, 0x0c, 0x01,
4969 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4970 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4971 0x00, 0x6f, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
4973 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x02, 0x0c, 0x01,
4974 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4975 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4976 0x00, 0x6f, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
4978 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x02, 0x0c, 0x01,
4979 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x77,
4980 0x00, 0x09, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4981 0x00, 0x6f, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
4983 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x02, 0x0c, 0x01,
4984 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x62, 0x00, 0x00, 0x00, 0x77,
4985 0x00, 0x08, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4986 0x00, 0x6f, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
4988 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x02, 0x0c, 0x01,
4989 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x61, 0x00, 0x00, 0x00, 0x77,
4990 0x00, 0x08, 0x00, 0x6f, 0x00, 0x61, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4991 0x00, 0x6f, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
4993 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x02, 0x0c, 0x01,
4994 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
4995 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4996 0x00, 0x6f, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
4998 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x02, 0x0c, 0x01,
4999 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
5000 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
5001 0x00, 0x6f, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
5003 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x02, 0x0c, 0x01,
5004 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
5005 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5006 0x00, 0x6f, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
5008 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x02, 0x0c, 0x01,
5009 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
5010 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5011 0x00, 0x6f, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
5013 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x02, 0x0c, 0x01,
5014 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x77,
5015 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5016 0x00, 0x6f, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
5018 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x02, 0x0c, 0x01,
5019 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
5020 0x00, 0x07, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5021 0x00, 0x6f, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
5023 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x02, 0x0c, 0x01,
5024 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
5025 0x00, 0x06, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5026 0x00, 0x6f, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
5028 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x02, 0x0c, 0x01,
5029 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x77,
5030 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5031 0x00, 0x6f, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
5033 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x02, 0x0c, 0x01,
5034 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5035 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5036 0x00, 0x6f, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
5038 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x02, 0x0c, 0x01,
5039 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5040 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5041 0x00, 0x6f, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
5043 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x02, 0x0c, 0x01,
5044 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5045 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5046 0x00, 0x6e, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
5048 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x02, 0x0c, 0x01,
5049 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5050 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5051 0x00, 0x6e, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
5053 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x02, 0x0c, 0x01,
5054 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5055 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5056 0x00, 0x6e, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
5058 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x05, 0x05, 0x02, 0x15, 0x01,
5059 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5060 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5061 0x00, 0x6e, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
5063 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x02, 0x0c, 0x01,
5064 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5065 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5066 0x00, 0x6e, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
5068 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x05, 0x05, 0x02, 0x15, 0x01,
5069 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5070 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5071 0x00, 0x6d, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
5073 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x02, 0x0c, 0x01,
5074 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5075 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5076 0x00, 0x6d, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
5078 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x05, 0x05, 0x02, 0x15, 0x01,
5079 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5080 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5081 0x00, 0x6d, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
5083 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x02, 0x0c, 0x01,
5084 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x77,
5085 0x00, 0x05, 0x00, 0x6d, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5086 0x00, 0x6d, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
5088 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x05, 0x05, 0x02, 0x15, 0x01,
5089 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
5090 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5091 0x00, 0x6c, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
5093 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x02, 0x0c, 0x01,
5094 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
5095 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5096 0x00, 0x6c, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
5098 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x05, 0x05, 0x02, 0x15, 0x01,
5099 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5100 0x00, 0x05, 0x00, 0x6c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5101 0x00, 0x6c, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
5103 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x02, 0x0c, 0x01,
5104 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5105 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5106 0x00, 0x6b, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
5108 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x05, 0x05, 0x02, 0x15, 0x01,
5109 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5110 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5111 0x00, 0x6b, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
5113 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x02, 0x0c, 0x01,
5114 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5115 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5116 0x00, 0x6b, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
5118 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x05, 0x05, 0x02, 0x15, 0x01,
5119 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
5120 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5121 0x00, 0x6b, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
5123 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x02, 0x0c, 0x01,
5124 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
5125 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5126 0x00, 0x6b, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
5128 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x05, 0x05, 0x02, 0x15, 0x01,
5129 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5130 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5131 0x00, 0x6b, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
5133 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x02, 0x0c, 0x01,
5134 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5135 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5136 0x00, 0x6b, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
5138 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x05, 0x05, 0x02, 0x15, 0x01,
5139 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5140 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5141 0x00, 0x6a, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
5143 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x02, 0x0c, 0x01,
5144 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5145 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5146 0x00, 0x6a, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
5148 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x05, 0x05, 0x02, 0x15, 0x01,
5149 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5150 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5151 0x00, 0x6a, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
5153 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x02, 0x0c, 0x01,
5154 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5155 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5156 0x00, 0x6a, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
5158 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x05, 0x05, 0x02, 0x15, 0x01,
5159 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5160 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5161 0x00, 0x69, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
5163 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x02, 0x0c, 0x01,
5164 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5165 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5166 0x00, 0x69, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
5168 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x02, 0x0c, 0x01,
5169 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5170 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5171 0x00, 0x69, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
5173 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x02, 0x0c, 0x01,
5174 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5175 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5176 0x00, 0x69, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
5178 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x02, 0x0c, 0x01,
5179 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5180 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5181 0x00, 0x69, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
5183 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x02, 0x0c, 0x01,
5184 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5185 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5186 0x00, 0x68, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
5188 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x02, 0x0c, 0x01,
5189 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5190 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5191 0x00, 0x68, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
5193 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x02, 0x0c, 0x01,
5194 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5195 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5196 0x00, 0x68, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
5198 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x02, 0x0c, 0x01,
5199 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5200 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5201 0x00, 0x68, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
5203 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x02, 0x0c, 0x01,
5204 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5205 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5206 0x00, 0x68, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
5208 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x06, 0x06, 0x04, 0x2b, 0x01,
5209 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
5210 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
5211 0x0b, 0x00, 0x0a, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
5213 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x06, 0x06, 0x04, 0x2b, 0x01,
5214 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
5215 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
5216 0x0b, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
5218 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x06, 0x06, 0x04, 0x2b, 0x01,
5219 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x67, 0x00, 0x03, 0x00,
5220 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
5221 0x0b, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
5223 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x06, 0x06, 0x04, 0x2b, 0x01,
5224 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x57, 0x00, 0x03, 0x00,
5225 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
5226 0x0a, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
5228 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x06, 0x06, 0x04, 0x2b, 0x01,
5229 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x56, 0x00, 0x03, 0x00,
5230 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x03, 0x00, 0x70, 0x00,
5231 0x0a, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
5233 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x06, 0x06, 0x04, 0x2b, 0x01,
5234 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x46, 0x00, 0x03, 0x00,
5235 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x76, 0x00, 0x03, 0x00, 0x70, 0x00,
5236 0x0a, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
5238 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x06, 0x06, 0x04, 0x2b, 0x01,
5239 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
5240 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x66, 0x00, 0x02, 0x00, 0x70, 0x00,
5241 0x0a, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
5243 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x06, 0x06, 0x04, 0x2b, 0x01,
5244 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
5245 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x55, 0x00, 0x02, 0x00, 0x70, 0x00,
5246 0x0a, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
5248 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x06, 0x06, 0x04, 0x2b, 0x01,
5249 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x23, 0x00, 0x02, 0x00,
5250 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
5251 0x0a, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
5253 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x06, 0x06, 0x04, 0x2b, 0x01,
5254 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x12, 0x00, 0x02, 0x00,
5255 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
5256 0x0a, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
5258 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x06, 0x06, 0x04, 0x2b, 0x01,
5259 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00,
5260 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x33, 0x00, 0x02, 0x00, 0x70, 0x00,
5261 0x09, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
5263 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x06, 0x06, 0x04, 0x2b, 0x01,
5264 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
5265 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x22, 0x00, 0x02, 0x00, 0x70, 0x00,
5266 0x09, 0x00, 0x09, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
5268 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x06, 0x06, 0x04, 0x2b, 0x01,
5269 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
5270 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x11, 0x00, 0x02, 0x00, 0x70, 0x00,
5271 0x09, 0x00, 0x09, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
5273 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x06, 0x06, 0x04, 0x2b, 0x01,
5274 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
5275 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
5276 0x09, 0x00, 0x09, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
5279 static chan_info_nphy_radio2057_t chan_info_nphyrev7_2057_rev4[] = {
5281 184, 4920, 0x68, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xec, 0x01, 0x0f,
5282 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5283 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07b4, 0x07b0, 0x07ac, 0x0214,
5288 186, 4930, 0x6b, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xed, 0x01, 0x0f,
5289 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5290 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07b8, 0x07b4, 0x07b0, 0x0213,
5295 188, 4940, 0x6e, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xee, 0x01, 0x0f,
5296 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5297 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07bc, 0x07b8, 0x07b4, 0x0212,
5302 190, 4950, 0x72, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xef, 0x01, 0x0f,
5303 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5304 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07c0, 0x07bc, 0x07b8, 0x0211,
5309 192, 4960, 0x75, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf0, 0x01, 0x0f,
5310 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5311 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07c4, 0x07c0, 0x07bc, 0x020f,
5316 194, 4970, 0x78, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf1, 0x01, 0x0f,
5317 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5318 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07c8, 0x07c4, 0x07c0, 0x020e,
5323 196, 4980, 0x7c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf2, 0x01, 0x0f,
5324 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5325 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07cc, 0x07c8, 0x07c4, 0x020d,
5330 198, 4990, 0x7f, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf3, 0x01, 0x0f,
5331 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5332 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07d0, 0x07cc, 0x07c8, 0x020c,
5337 200, 5000, 0x82, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf4, 0x01, 0x0f,
5338 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5339 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07d4, 0x07d0, 0x07cc, 0x020b,
5344 202, 5010, 0x86, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf5, 0x01, 0x0f,
5345 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5346 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07d8, 0x07d4, 0x07d0, 0x020a,
5351 204, 5020, 0x89, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf6, 0x01, 0x0e,
5352 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5353 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07dc, 0x07d8, 0x07d4, 0x0209,
5358 206, 5030, 0x8c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf7, 0x01, 0x0e,
5359 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5360 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07e0, 0x07dc, 0x07d8, 0x0208,
5365 208, 5040, 0x90, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf8, 0x01, 0x0e,
5366 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5367 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07e4, 0x07e0, 0x07dc, 0x0207,
5372 210, 5050, 0x93, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf9, 0x01, 0x0e,
5373 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5374 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07e8, 0x07e4, 0x07e0, 0x0206,
5379 212, 5060, 0x96, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfa, 0x01, 0x0e,
5380 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xe3, 0x00, 0xef, 0x00,
5381 0x00, 0x0f, 0x0f, 0xe3, 0x00, 0xef, 0x07ec, 0x07e8, 0x07e4, 0x0205,
5386 214, 5070, 0x9a, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfb, 0x01, 0x0e,
5387 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x00,
5388 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x07f0, 0x07ec, 0x07e8, 0x0204,
5393 216, 5080, 0x9d, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfc, 0x01, 0x0e,
5394 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x00,
5395 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x07f4, 0x07f0, 0x07ec, 0x0203,
5400 218, 5090, 0xa0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfd, 0x01, 0x0e,
5401 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5402 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x07f8, 0x07f4, 0x07f0, 0x0202,
5407 220, 5100, 0xa4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfe, 0x01, 0x0d,
5408 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5409 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x07fc, 0x07f8, 0x07f4, 0x0201,
5414 222, 5110, 0xa7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xff, 0x01, 0x0d,
5415 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5416 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x0800, 0x07fc, 0x07f8, 0x0200,
5421 224, 5120, 0xaa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x00, 0x02, 0x0d,
5422 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5423 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x0804, 0x0800, 0x07fc, 0x01ff,
5428 226, 5130, 0xae, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x01, 0x02, 0x0d,
5429 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5430 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x0808, 0x0804, 0x0800, 0x01fe,
5435 228, 5140, 0xb1, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x02, 0x02, 0x0d,
5436 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0e, 0xe3, 0x00, 0xd6, 0x00,
5437 0x00, 0x0e, 0x0e, 0xe3, 0x00, 0xd6, 0x080c, 0x0808, 0x0804, 0x01fd,
5442 32, 5160, 0xb8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x04, 0x02, 0x0d,
5443 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x00,
5444 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x0814, 0x0810, 0x080c, 0x01fb,
5449 34, 5170, 0xbb, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x05, 0x02, 0x0d,
5450 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x00,
5451 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x0818, 0x0814, 0x0810, 0x01fa,
5456 36, 5180, 0xbe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x06, 0x02, 0x0c,
5457 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5458 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x081c, 0x0818, 0x0814, 0x01f9,
5463 38, 5190, 0xc2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x07, 0x02, 0x0c,
5464 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5465 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x0820, 0x081c, 0x0818, 0x01f8,
5470 40, 5200, 0xc5, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x08, 0x02, 0x0c,
5471 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5472 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x0824, 0x0820, 0x081c, 0x01f7,
5477 42, 5210, 0xc8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x09, 0x02, 0x0c,
5478 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5479 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x0828, 0x0824, 0x0820, 0x01f6,
5484 44, 5220, 0xcc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0a, 0x02, 0x0c,
5485 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5486 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x082c, 0x0828, 0x0824, 0x01f5,
5491 46, 5230, 0xcf, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0b, 0x02, 0x0c,
5492 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5493 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x0830, 0x082c, 0x0828, 0x01f4,
5498 48, 5240, 0xd2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0c, 0x02, 0x0c,
5499 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5500 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x0834, 0x0830, 0x082c, 0x01f3,
5505 50, 5250, 0xd6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0d, 0x02, 0x0c,
5506 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5507 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x0838, 0x0834, 0x0830, 0x01f2,
5512 52, 5260, 0xd9, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0e, 0x02, 0x0b,
5513 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x00,
5514 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x083c, 0x0838, 0x0834, 0x01f1,
5519 54, 5270, 0xdc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0f, 0x02, 0x0b,
5520 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x00,
5521 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x0840, 0x083c, 0x0838, 0x01f0,
5526 56, 5280, 0xe0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x10, 0x02, 0x0b,
5527 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5528 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x0844, 0x0840, 0x083c, 0x01f0,
5533 58, 5290, 0xe3, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x11, 0x02, 0x0b,
5534 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5535 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x0848, 0x0844, 0x0840, 0x01ef,
5540 60, 5300, 0xe6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x12, 0x02, 0x0b,
5541 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5542 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x084c, 0x0848, 0x0844, 0x01ee,
5547 62, 5310, 0xea, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x13, 0x02, 0x0b,
5548 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5549 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x0850, 0x084c, 0x0848, 0x01ed,
5554 64, 5320, 0xed, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x14, 0x02, 0x0b,
5555 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5556 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x0854, 0x0850, 0x084c, 0x01ec,
5561 66, 5330, 0xf0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x15, 0x02, 0x0b,
5562 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5563 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x0858, 0x0854, 0x0850, 0x01eb,
5568 68, 5340, 0xf4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x16, 0x02, 0x0a,
5569 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0c, 0xc3, 0x00, 0xa1, 0x00,
5570 0x00, 0x0a, 0x0c, 0xc3, 0x00, 0xa1, 0x085c, 0x0858, 0x0854, 0x01ea,
5575 70, 5350, 0xf7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x17, 0x02, 0x0a,
5576 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5577 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x0860, 0x085c, 0x0858, 0x01e9,
5582 72, 5360, 0xfa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x18, 0x02, 0x0a,
5583 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5584 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x0864, 0x0860, 0x085c, 0x01e8,
5589 74, 5370, 0xfe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x19, 0x02, 0x0a,
5590 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5591 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x0868, 0x0864, 0x0860, 0x01e7,
5596 76, 5380, 0x01, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1a, 0x02, 0x0a,
5597 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5598 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x086c, 0x0868, 0x0864, 0x01e6,
5603 78, 5390, 0x04, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1b, 0x02, 0x0a,
5604 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0a, 0xa3, 0x00, 0xa1, 0x00,
5605 0x00, 0x0a, 0x0a, 0xa3, 0x00, 0xa1, 0x0870, 0x086c, 0x0868, 0x01e5,
5610 80, 5400, 0x08, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1c, 0x02, 0x0a,
5611 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x00,
5612 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x0874, 0x0870, 0x086c, 0x01e5,
5617 82, 5410, 0x0b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1d, 0x02, 0x0a,
5618 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x00,
5619 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x0878, 0x0874, 0x0870, 0x01e4,
5624 84, 5420, 0x0e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1e, 0x02, 0x09,
5625 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0xa3, 0x00, 0x90, 0x00,
5626 0x00, 0x09, 0x09, 0xa3, 0x00, 0x90, 0x087c, 0x0878, 0x0874, 0x01e3,
5631 86, 5430, 0x12, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1f, 0x02, 0x09,
5632 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x00,
5633 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x0880, 0x087c, 0x0878, 0x01e2,
5638 88, 5440, 0x15, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x20, 0x02, 0x09,
5639 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x00,
5640 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x0884, 0x0880, 0x087c, 0x01e1,
5645 90, 5450, 0x18, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x21, 0x02, 0x09,
5646 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x00,
5647 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x0888, 0x0884, 0x0880, 0x01e0,
5652 92, 5460, 0x1c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x22, 0x02, 0x09,
5653 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x08, 0x93, 0x00, 0x90, 0x00,
5654 0x00, 0x08, 0x08, 0x93, 0x00, 0x90, 0x088c, 0x0888, 0x0884, 0x01df,
5659 94, 5470, 0x1f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x23, 0x02, 0x09,
5660 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x08, 0x93, 0x00, 0x60, 0x00,
5661 0x00, 0x08, 0x08, 0x93, 0x00, 0x60, 0x0890, 0x088c, 0x0888, 0x01de,
5666 96, 5480, 0x22, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x24, 0x02, 0x09,
5667 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5668 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x0894, 0x0890, 0x088c, 0x01dd,
5673 98, 5490, 0x26, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x25, 0x02, 0x09,
5674 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5675 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x0898, 0x0894, 0x0890, 0x01dd,
5680 100, 5500, 0x29, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x26, 0x02, 0x09,
5681 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5682 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x089c, 0x0898, 0x0894, 0x01dc,
5687 102, 5510, 0x2c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x27, 0x02, 0x09,
5688 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5689 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x08a0, 0x089c, 0x0898, 0x01db,
5694 104, 5520, 0x30, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x28, 0x02, 0x08,
5695 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x00,
5696 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x08a4, 0x08a0, 0x089c, 0x01da,
5701 106, 5530, 0x33, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x29, 0x02, 0x08,
5702 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x00,
5703 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x08a8, 0x08a4, 0x08a0, 0x01d9,
5708 108, 5540, 0x36, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2a, 0x02, 0x08,
5709 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x00,
5710 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x08ac, 0x08a8, 0x08a4, 0x01d8,
5715 110, 5550, 0x3a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2b, 0x02, 0x08,
5716 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x00,
5717 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x08b0, 0x08ac, 0x08a8, 0x01d7,
5722 112, 5560, 0x3d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2c, 0x02, 0x08,
5723 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x00,
5724 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x08b4, 0x08b0, 0x08ac, 0x01d7,
5729 114, 5570, 0x40, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2d, 0x02, 0x08,
5730 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x00,
5731 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x08b8, 0x08b4, 0x08b0, 0x01d6,
5736 116, 5580, 0x44, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2e, 0x02, 0x08,
5737 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x07, 0x05, 0x83, 0x00, 0x60, 0x00,
5738 0x00, 0x07, 0x05, 0x83, 0x00, 0x60, 0x08bc, 0x08b8, 0x08b4, 0x01d5,
5743 118, 5590, 0x47, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2f, 0x02, 0x08,
5744 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x07, 0x04, 0x83, 0x00, 0x60, 0x00,
5745 0x00, 0x07, 0x04, 0x83, 0x00, 0x60, 0x08c0, 0x08bc, 0x08b8, 0x01d4,
5750 120, 5600, 0x4a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x30, 0x02, 0x08,
5751 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x07, 0x04, 0x73, 0x00, 0x30, 0x00,
5752 0x00, 0x07, 0x04, 0x73, 0x00, 0x30, 0x08c4, 0x08c0, 0x08bc, 0x01d3,
5757 122, 5610, 0x4e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x31, 0x02, 0x08,
5758 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5759 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08c8, 0x08c4, 0x08c0, 0x01d2,
5764 124, 5620, 0x51, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x32, 0x02, 0x07,
5765 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5766 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08cc, 0x08c8, 0x08c4, 0x01d2,
5771 126, 5630, 0x54, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x33, 0x02, 0x07,
5772 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5773 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08d0, 0x08cc, 0x08c8, 0x01d1,
5778 128, 5640, 0x58, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x34, 0x02, 0x07,
5779 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5780 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08d4, 0x08d0, 0x08cc, 0x01d0,
5785 130, 5650, 0x5b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x35, 0x02, 0x07,
5786 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x00,
5787 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x08d8, 0x08d4, 0x08d0, 0x01cf,
5792 132, 5660, 0x5e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x36, 0x02, 0x07,
5793 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x00,
5794 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x08dc, 0x08d8, 0x08d4, 0x01ce,
5799 134, 5670, 0x62, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x37, 0x02, 0x07,
5800 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x03, 0x63, 0x00, 0x00, 0x00,
5801 0x00, 0x05, 0x03, 0x63, 0x00, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce,
5806 136, 5680, 0x65, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x38, 0x02, 0x07,
5807 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5808 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd,
5813 138, 5690, 0x68, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x39, 0x02, 0x07,
5814 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5815 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc,
5820 140, 5700, 0x6c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3a, 0x02, 0x07,
5821 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5822 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb,
5827 142, 5710, 0x6f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3b, 0x02, 0x07,
5828 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5829 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca,
5834 144, 5720, 0x72, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3c, 0x02, 0x07,
5835 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5836 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9,
5841 145, 5725, 0x74, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x79, 0x04, 0x06,
5842 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x05, 0x01, 0x53, 0x00, 0x00, 0x00,
5843 0x00, 0x05, 0x01, 0x53, 0x00, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9,
5848 146, 5730, 0x76, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3d, 0x02, 0x06,
5849 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5850 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9,
5855 147, 5735, 0x77, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7b, 0x04, 0x06,
5856 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5857 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8,
5862 148, 5740, 0x79, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3e, 0x02, 0x06,
5863 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5864 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8,
5869 149, 5745, 0x7b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7d, 0x04, 0x06,
5870 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5871 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8,
5876 150, 5750, 0x7c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3f, 0x02, 0x06,
5877 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5878 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7,
5883 151, 5755, 0x7e, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7f, 0x04, 0x06,
5884 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5885 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7,
5890 152, 5760, 0x80, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x40, 0x02, 0x06,
5891 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5892 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6,
5897 153, 5765, 0x81, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x81, 0x04, 0x06,
5898 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5899 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6,
5904 154, 5770, 0x83, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x41, 0x02, 0x06,
5905 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5906 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6,
5911 155, 5775, 0x85, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x83, 0x04, 0x06,
5912 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5913 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5,
5918 156, 5780, 0x86, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x42, 0x02, 0x06,
5919 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x03, 0x01, 0x43, 0x00, 0x00, 0x00,
5920 0x00, 0x03, 0x01, 0x43, 0x00, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5,
5925 157, 5785, 0x88, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x85, 0x04, 0x05,
5926 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5927 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4,
5932 158, 5790, 0x8a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x43, 0x02, 0x05,
5933 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5934 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4,
5939 159, 5795, 0x8b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x87, 0x04, 0x05,
5940 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5941 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4,
5946 160, 5800, 0x8d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x44, 0x02, 0x05,
5947 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5948 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3,
5953 161, 5805, 0x8f, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x89, 0x04, 0x05,
5954 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5955 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3,
5960 162, 5810, 0x90, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x45, 0x02, 0x05,
5961 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5962 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2,
5967 163, 5815, 0x92, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8b, 0x04, 0x05,
5968 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5969 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2,
5974 164, 5820, 0x94, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x46, 0x02, 0x05,
5975 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5976 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2,
5981 165, 5825, 0x95, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8d, 0x04, 0x05,
5982 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5983 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1,
5988 166, 5830, 0x97, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x47, 0x02, 0x05,
5989 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5990 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1,
5995 168, 5840, 0x9a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x48, 0x02, 0x05,
5996 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5997 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0,
6002 170, 5850, 0x9e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x49, 0x02, 0x04,
6003 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6004 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf,
6009 172, 5860, 0xa1, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4a, 0x02, 0x04,
6010 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6011 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf,
6016 174, 5870, 0xa4, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4b, 0x02, 0x04,
6017 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6018 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0930, 0x092c, 0x0928, 0x01be,
6023 176, 5880, 0xa8, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4c, 0x02, 0x03,
6024 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6025 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd,
6030 178, 5890, 0xab, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4d, 0x02, 0x03,
6031 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6032 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc,
6037 180, 5900, 0xae, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4e, 0x02, 0x03,
6038 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6039 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc,
6044 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0f,
6045 0x0a, 0x00, 0x0a, 0x00, 0x71, 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6046 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03c9, 0x03c5, 0x03c1, 0x043a,
6051 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0f,
6052 0x0a, 0x00, 0x0a, 0x00, 0x71, 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6053 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cb, 0x03c7, 0x03c3, 0x0438,
6058 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0f,
6059 0x09, 0x00, 0x09, 0x00, 0x71, 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6060 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cd, 0x03c9, 0x03c5, 0x0436,
6065 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0f,
6066 0x09, 0x00, 0x09, 0x00, 0x71, 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6067 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cf, 0x03cb, 0x03c7, 0x0434,
6072 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0f,
6073 0x08, 0x00, 0x08, 0x00, 0x51, 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x51,
6074 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d1, 0x03cd, 0x03c9, 0x0431,
6079 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0f,
6080 0x08, 0x00, 0x08, 0x00, 0x51, 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x51,
6081 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d3, 0x03cf, 0x03cb, 0x042f,
6086 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0f,
6087 0x07, 0x00, 0x07, 0x00, 0x51, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x51,
6088 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d5, 0x03d1, 0x03cd, 0x042d,
6093 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0f,
6094 0x07, 0x00, 0x07, 0x00, 0x31, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6095 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d7, 0x03d3, 0x03cf, 0x042b,
6100 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0f,
6101 0x07, 0x00, 0x07, 0x00, 0x31, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6102 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d9, 0x03d5, 0x03d1, 0x0429,
6107 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0f,
6108 0x06, 0x00, 0x06, 0x00, 0x31, 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6109 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03db, 0x03d7, 0x03d3, 0x0427,
6114 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0f,
6115 0x06, 0x00, 0x06, 0x00, 0x31, 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6116 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03dd, 0x03d9, 0x03d5, 0x0424,
6121 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0f,
6122 0x05, 0x00, 0x05, 0x00, 0x11, 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x11,
6123 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03df, 0x03db, 0x03d7, 0x0422,
6128 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0f,
6129 0x05, 0x00, 0x05, 0x00, 0x11, 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x11,
6130 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03e1, 0x03dd, 0x03d9, 0x0420,
6135 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0f,
6136 0x04, 0x00, 0x04, 0x00, 0x11, 0x43, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x11,
6137 0x43, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x03e6, 0x03e2, 0x03de, 0x041b,
6142 static chan_info_nphy_radio2057_rev5_t chan_info_nphyrev8_2057_rev5[] = {
6144 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0d,
6145 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03c9, 0x03c5, 0x03c1,
6146 0x043a, 0x043f, 0x0443},
6148 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0d,
6149 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03cb, 0x03c7, 0x03c3,
6150 0x0438, 0x043d, 0x0441},
6152 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0d,
6153 0x08, 0x0e, 0x61, 0x03, 0xef, 0x61, 0x03, 0xef, 0x03cd, 0x03c9, 0x03c5,
6154 0x0436, 0x043a, 0x043f},
6156 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0c,
6157 0x08, 0x0e, 0x61, 0x03, 0xdf, 0x61, 0x03, 0xdf, 0x03cf, 0x03cb, 0x03c7,
6158 0x0434, 0x0438, 0x043d},
6160 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0c,
6161 0x07, 0x0d, 0x61, 0x03, 0xcf, 0x61, 0x03, 0xcf, 0x03d1, 0x03cd, 0x03c9,
6162 0x0431, 0x0436, 0x043a},
6164 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0c,
6165 0x07, 0x0d, 0x61, 0x03, 0xbf, 0x61, 0x03, 0xbf, 0x03d3, 0x03cf, 0x03cb,
6166 0x042f, 0x0434, 0x0438},
6168 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0b,
6169 0x07, 0x0d, 0x61, 0x03, 0xaf, 0x61, 0x03, 0xaf, 0x03d5, 0x03d1, 0x03cd,
6170 0x042d, 0x0431, 0x0436},
6172 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0b,
6173 0x07, 0x0d, 0x61, 0x03, 0x9f, 0x61, 0x03, 0x9f, 0x03d7, 0x03d3, 0x03cf,
6174 0x042b, 0x042f, 0x0434},
6176 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0b,
6177 0x07, 0x0d, 0x61, 0x03, 0x8f, 0x61, 0x03, 0x8f, 0x03d9, 0x03d5, 0x03d1,
6178 0x0429, 0x042d, 0x0431},
6180 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0b,
6181 0x07, 0x0c, 0x61, 0x03, 0x7f, 0x61, 0x03, 0x7f, 0x03db, 0x03d7, 0x03d3,
6182 0x0427, 0x042b, 0x042f},
6184 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0b,
6185 0x07, 0x0c, 0x61, 0x03, 0x6f, 0x61, 0x03, 0x6f, 0x03dd, 0x03d9, 0x03d5,
6186 0x0424, 0x0429, 0x042d},
6188 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0b,
6189 0x06, 0x0c, 0x61, 0x03, 0x5f, 0x61, 0x03, 0x5f, 0x03df, 0x03db, 0x03d7,
6190 0x0422, 0x0427, 0x042b},
6192 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0a,
6193 0x06, 0x0b, 0x61, 0x03, 0x4f, 0x61, 0x03, 0x4f, 0x03e1, 0x03dd, 0x03d9,
6194 0x0420, 0x0424, 0x0429},
6196 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0a,
6197 0x06, 0x0b, 0x61, 0x03, 0x3f, 0x61, 0x03, 0x3f, 0x03e6, 0x03e2, 0x03de,
6198 0x041b, 0x041f, 0x0424}
6201 static chan_info_nphy_radio2057_rev5_t chan_info_nphyrev9_2057_rev5v1[] = {
6203 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0d,
6204 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03c9, 0x03c5, 0x03c1,
6205 0x043a, 0x043f, 0x0443},
6207 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0d,
6208 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03cb, 0x03c7, 0x03c3,
6209 0x0438, 0x043d, 0x0441},
6211 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0d,
6212 0x08, 0x0e, 0x61, 0x03, 0xef, 0x61, 0x03, 0xef, 0x03cd, 0x03c9, 0x03c5,
6213 0x0436, 0x043a, 0x043f},
6215 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0c,
6216 0x08, 0x0e, 0x61, 0x03, 0xdf, 0x61, 0x03, 0xdf, 0x03cf, 0x03cb, 0x03c7,
6217 0x0434, 0x0438, 0x043d},
6219 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0c,
6220 0x07, 0x0d, 0x61, 0x03, 0xcf, 0x61, 0x03, 0xcf, 0x03d1, 0x03cd, 0x03c9,
6221 0x0431, 0x0436, 0x043a},
6223 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0c,
6224 0x07, 0x0d, 0x61, 0x03, 0xbf, 0x61, 0x03, 0xbf, 0x03d3, 0x03cf, 0x03cb,
6225 0x042f, 0x0434, 0x0438},
6227 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0b,
6228 0x07, 0x0d, 0x61, 0x03, 0xaf, 0x61, 0x03, 0xaf, 0x03d5, 0x03d1, 0x03cd,
6229 0x042d, 0x0431, 0x0436},
6231 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0b,
6232 0x07, 0x0d, 0x61, 0x03, 0x9f, 0x61, 0x03, 0x9f, 0x03d7, 0x03d3, 0x03cf,
6233 0x042b, 0x042f, 0x0434},
6235 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0b,
6236 0x07, 0x0d, 0x61, 0x03, 0x8f, 0x61, 0x03, 0x8f, 0x03d9, 0x03d5, 0x03d1,
6237 0x0429, 0x042d, 0x0431},
6239 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0b,
6240 0x07, 0x0c, 0x61, 0x03, 0x7f, 0x61, 0x03, 0x7f, 0x03db, 0x03d7, 0x03d3,
6241 0x0427, 0x042b, 0x042f},
6243 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0b,
6244 0x07, 0x0c, 0x61, 0x03, 0x6f, 0x61, 0x03, 0x6f, 0x03dd, 0x03d9, 0x03d5,
6245 0x0424, 0x0429, 0x042d},
6247 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0b,
6248 0x06, 0x0c, 0x61, 0x03, 0x5f, 0x61, 0x03, 0x5f, 0x03df, 0x03db, 0x03d7,
6249 0x0422, 0x0427, 0x042b},
6251 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0a,
6252 0x06, 0x0b, 0x61, 0x03, 0x4f, 0x61, 0x03, 0x4f, 0x03e1, 0x03dd, 0x03d9,
6253 0x0420, 0x0424, 0x0429},
6255 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0a,
6256 0x06, 0x0b, 0x61, 0x03, 0x3f, 0x61, 0x03, 0x3f, 0x03e6, 0x03e2, 0x03de,
6257 0x041b, 0x041f, 0x0424}
6260 static chan_info_nphy_radio2057_t chan_info_nphyrev8_2057_rev7[] = {
6262 184, 4920, 0x68, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xec, 0x01, 0x0f,
6263 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6264 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07b4, 0x07b0, 0x07ac, 0x0214,
6268 186, 4930, 0x6b, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xed, 0x01, 0x0f,
6269 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6270 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07b8, 0x07b4, 0x07b0, 0x0213,
6274 188, 4940, 0x6e, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xee, 0x01, 0x0f,
6275 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6276 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07bc, 0x07b8, 0x07b4, 0x0212,
6280 190, 4950, 0x72, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xef, 0x01, 0x0f,
6281 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6282 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c0, 0x07bc, 0x07b8, 0x0211,
6286 192, 4960, 0x75, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf0, 0x01, 0x0f,
6287 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6288 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c4, 0x07c0, 0x07bc, 0x020f,
6292 194, 4970, 0x78, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf1, 0x01, 0x0f,
6293 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6294 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c8, 0x07c4, 0x07c0, 0x020e,
6298 196, 4980, 0x7c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf2, 0x01, 0x0f,
6299 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6300 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07cc, 0x07c8, 0x07c4, 0x020d,
6304 198, 4990, 0x7f, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf3, 0x01, 0x0f,
6305 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6306 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07d0, 0x07cc, 0x07c8, 0x020c,
6310 200, 5000, 0x82, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf4, 0x01, 0x0f,
6311 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6312 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d4, 0x07d0, 0x07cc, 0x020b,
6316 202, 5010, 0x86, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf5, 0x01, 0x0f,
6317 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6318 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d8, 0x07d4, 0x07d0, 0x020a,
6322 204, 5020, 0x89, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf6, 0x01, 0x0e,
6323 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6324 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07dc, 0x07d8, 0x07d4, 0x0209,
6328 206, 5030, 0x8c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf7, 0x01, 0x0e,
6329 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6330 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e0, 0x07dc, 0x07d8, 0x0208,
6334 208, 5040, 0x90, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf8, 0x01, 0x0e,
6335 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6336 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e4, 0x07e0, 0x07dc, 0x0207,
6340 210, 5050, 0x93, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf9, 0x01, 0x0e,
6341 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6342 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e8, 0x07e4, 0x07e0, 0x0206,
6346 212, 5060, 0x96, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfa, 0x01, 0x0e,
6347 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6348 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07ec, 0x07e8, 0x07e4, 0x0205,
6352 214, 5070, 0x9a, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfb, 0x01, 0x0e,
6353 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6354 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f0, 0x07ec, 0x07e8, 0x0204,
6358 216, 5080, 0x9d, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfc, 0x01, 0x0e,
6359 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6360 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f4, 0x07f0, 0x07ec, 0x0203,
6364 218, 5090, 0xa0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfd, 0x01, 0x0e,
6365 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6366 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f8, 0x07f4, 0x07f0, 0x0202,
6370 220, 5100, 0xa4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfe, 0x01, 0x0d,
6371 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6372 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x07fc, 0x07f8, 0x07f4, 0x0201,
6376 222, 5110, 0xa7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xff, 0x01, 0x0d,
6377 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6378 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0800, 0x07fc, 0x07f8, 0x0200,
6382 224, 5120, 0xaa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x00, 0x02, 0x0d,
6383 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6384 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0804, 0x0800, 0x07fc, 0x01ff,
6388 226, 5130, 0xae, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x01, 0x02, 0x0d,
6389 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6390 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0808, 0x0804, 0x0800, 0x01fe,
6394 228, 5140, 0xb1, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x02, 0x02, 0x0d,
6395 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6396 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x080c, 0x0808, 0x0804, 0x01fd,
6400 32, 5160, 0xb8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x04, 0x02, 0x0d,
6401 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6402 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0814, 0x0810, 0x080c, 0x01fb,
6406 34, 5170, 0xbb, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x05, 0x02, 0x0d,
6407 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6408 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0818, 0x0814, 0x0810, 0x01fa,
6412 36, 5180, 0xbe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x06, 0x02, 0x0c,
6413 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6414 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x081c, 0x0818, 0x0814, 0x01f9,
6418 38, 5190, 0xc2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x07, 0x02, 0x0c,
6419 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6420 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0820, 0x081c, 0x0818, 0x01f8,
6424 40, 5200, 0xc5, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x08, 0x02, 0x0c,
6425 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6426 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0824, 0x0820, 0x081c, 0x01f7,
6430 42, 5210, 0xc8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x09, 0x02, 0x0c,
6431 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6432 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0828, 0x0824, 0x0820, 0x01f6,
6436 44, 5220, 0xcc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0a, 0x02, 0x0c,
6437 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6438 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x082c, 0x0828, 0x0824, 0x01f5,
6442 46, 5230, 0xcf, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0b, 0x02, 0x0c,
6443 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6444 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0830, 0x082c, 0x0828, 0x01f4,
6448 48, 5240, 0xd2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0c, 0x02, 0x0c,
6449 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6450 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0834, 0x0830, 0x082c, 0x01f3,
6454 50, 5250, 0xd6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0d, 0x02, 0x0c,
6455 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6456 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0838, 0x0834, 0x0830, 0x01f2,
6460 52, 5260, 0xd9, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0e, 0x02, 0x0b,
6461 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6462 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x083c, 0x0838, 0x0834, 0x01f1,
6466 54, 5270, 0xdc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0f, 0x02, 0x0b,
6467 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6468 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0840, 0x083c, 0x0838, 0x01f0,
6472 56, 5280, 0xe0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x10, 0x02, 0x0b,
6473 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6474 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0844, 0x0840, 0x083c, 0x01f0,
6478 58, 5290, 0xe3, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x11, 0x02, 0x0b,
6479 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6480 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0848, 0x0844, 0x0840, 0x01ef,
6484 60, 5300, 0xe6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x12, 0x02, 0x0b,
6485 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6486 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x084c, 0x0848, 0x0844, 0x01ee,
6490 62, 5310, 0xea, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x13, 0x02, 0x0b,
6491 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6492 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0850, 0x084c, 0x0848, 0x01ed,
6496 64, 5320, 0xed, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x14, 0x02, 0x0b,
6497 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6498 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0854, 0x0850, 0x084c, 0x01ec,
6502 66, 5330, 0xf0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x15, 0x02, 0x0b,
6503 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6504 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0858, 0x0854, 0x0850, 0x01eb,
6508 68, 5340, 0xf4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x16, 0x02, 0x0a,
6509 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6510 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x085c, 0x0858, 0x0854, 0x01ea,
6514 70, 5350, 0xf7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x17, 0x02, 0x0a,
6515 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6516 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0860, 0x085c, 0x0858, 0x01e9,
6520 72, 5360, 0xfa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x18, 0x02, 0x0a,
6521 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6522 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0864, 0x0860, 0x085c, 0x01e8,
6526 74, 5370, 0xfe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x19, 0x02, 0x0a,
6527 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6528 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0868, 0x0864, 0x0860, 0x01e7,
6532 76, 5380, 0x01, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1a, 0x02, 0x0a,
6533 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6534 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x086c, 0x0868, 0x0864, 0x01e6,
6538 78, 5390, 0x04, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1b, 0x02, 0x0a,
6539 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6540 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0870, 0x086c, 0x0868, 0x01e5,
6544 80, 5400, 0x08, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1c, 0x02, 0x0a,
6545 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6546 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0874, 0x0870, 0x086c, 0x01e5,
6550 82, 5410, 0x0b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1d, 0x02, 0x0a,
6551 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6552 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0878, 0x0874, 0x0870, 0x01e4,
6556 84, 5420, 0x0e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1e, 0x02, 0x09,
6557 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6558 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x087c, 0x0878, 0x0874, 0x01e3,
6562 86, 5430, 0x12, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1f, 0x02, 0x09,
6563 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6564 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0880, 0x087c, 0x0878, 0x01e2,
6568 88, 5440, 0x15, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x20, 0x02, 0x09,
6569 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6570 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0884, 0x0880, 0x087c, 0x01e1,
6574 90, 5450, 0x18, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x21, 0x02, 0x09,
6575 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6576 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0888, 0x0884, 0x0880, 0x01e0,
6580 92, 5460, 0x1c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x22, 0x02, 0x09,
6581 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6582 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x088c, 0x0888, 0x0884, 0x01df,
6586 94, 5470, 0x1f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x23, 0x02, 0x09,
6587 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6588 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0890, 0x088c, 0x0888, 0x01de,
6592 96, 5480, 0x22, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x24, 0x02, 0x09,
6593 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6594 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0894, 0x0890, 0x088c, 0x01dd,
6598 98, 5490, 0x26, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x25, 0x02, 0x09,
6599 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6600 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0898, 0x0894, 0x0890, 0x01dd,
6604 100, 5500, 0x29, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x26, 0x02, 0x09,
6605 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6606 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x089c, 0x0898, 0x0894, 0x01dc,
6610 102, 5510, 0x2c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x27, 0x02, 0x09,
6611 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6612 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a0, 0x089c, 0x0898, 0x01db,
6616 104, 5520, 0x30, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x28, 0x02, 0x08,
6617 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6618 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a4, 0x08a0, 0x089c, 0x01da,
6622 106, 5530, 0x33, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x29, 0x02, 0x08,
6623 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6624 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a8, 0x08a4, 0x08a0, 0x01d9,
6628 108, 5540, 0x36, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2a, 0x02, 0x08,
6629 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6630 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08ac, 0x08a8, 0x08a4, 0x01d8,
6634 110, 5550, 0x3a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2b, 0x02, 0x08,
6635 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6636 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b0, 0x08ac, 0x08a8, 0x01d7,
6640 112, 5560, 0x3d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2c, 0x02, 0x08,
6641 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6642 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b4, 0x08b0, 0x08ac, 0x01d7,
6646 114, 5570, 0x40, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2d, 0x02, 0x08,
6647 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6648 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b8, 0x08b4, 0x08b0, 0x01d6,
6652 116, 5580, 0x44, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2e, 0x02, 0x08,
6653 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6654 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08bc, 0x08b8, 0x08b4, 0x01d5,
6658 118, 5590, 0x47, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2f, 0x02, 0x08,
6659 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6660 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08c0, 0x08bc, 0x08b8, 0x01d4,
6664 120, 5600, 0x4a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x30, 0x02, 0x08,
6665 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6666 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c4, 0x08c0, 0x08bc, 0x01d3,
6670 122, 5610, 0x4e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x31, 0x02, 0x08,
6671 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6672 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c8, 0x08c4, 0x08c0, 0x01d2,
6676 124, 5620, 0x51, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x32, 0x02, 0x07,
6677 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6678 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08cc, 0x08c8, 0x08c4, 0x01d2,
6682 126, 5630, 0x54, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x33, 0x02, 0x07,
6683 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6684 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d0, 0x08cc, 0x08c8, 0x01d1,
6688 128, 5640, 0x58, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x34, 0x02, 0x07,
6689 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6690 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d4, 0x08d0, 0x08cc, 0x01d0,
6694 130, 5650, 0x5b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x35, 0x02, 0x07,
6695 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
6696 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08d8, 0x08d4, 0x08d0, 0x01cf,
6700 132, 5660, 0x5e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x36, 0x02, 0x07,
6701 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
6702 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08dc, 0x08d8, 0x08d4, 0x01ce,
6706 134, 5670, 0x62, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x37, 0x02, 0x07,
6707 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
6708 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08e0, 0x08dc, 0x08d8, 0x01ce,
6712 136, 5680, 0x65, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x38, 0x02, 0x07,
6713 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
6714 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e4, 0x08e0, 0x08dc, 0x01cd,
6718 138, 5690, 0x68, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x39, 0x02, 0x07,
6719 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
6720 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e8, 0x08e4, 0x08e0, 0x01cc,
6724 140, 5700, 0x6c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3a, 0x02, 0x07,
6725 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6726 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08ec, 0x08e8, 0x08e4, 0x01cb,
6730 142, 5710, 0x6f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3b, 0x02, 0x07,
6731 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6732 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f0, 0x08ec, 0x08e8, 0x01ca,
6736 144, 5720, 0x72, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3c, 0x02, 0x07,
6737 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6738 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f4, 0x08f0, 0x08ec, 0x01c9,
6742 145, 5725, 0x74, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x79, 0x04, 0x06,
6743 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6744 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f6, 0x08f2, 0x08ee, 0x01c9,
6748 146, 5730, 0x76, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3d, 0x02, 0x06,
6749 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6750 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f8, 0x08f4, 0x08f0, 0x01c9,
6754 147, 5735, 0x77, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7b, 0x04, 0x06,
6755 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6756 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fa, 0x08f6, 0x08f2, 0x01c8,
6760 148, 5740, 0x79, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3e, 0x02, 0x06,
6761 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6762 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fc, 0x08f8, 0x08f4, 0x01c8,
6766 149, 5745, 0x7b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7d, 0x04, 0x06,
6767 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6768 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fe, 0x08fa, 0x08f6, 0x01c8,
6772 150, 5750, 0x7c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3f, 0x02, 0x06,
6773 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6774 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7,
6778 151, 5755, 0x7e, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7f, 0x04, 0x06,
6779 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6780 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7,
6784 152, 5760, 0x80, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x40, 0x02, 0x06,
6785 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6786 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6,
6790 153, 5765, 0x81, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x81, 0x04, 0x06,
6791 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6792 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6,
6796 154, 5770, 0x83, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x41, 0x02, 0x06,
6797 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6798 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6,
6802 155, 5775, 0x85, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x83, 0x04, 0x06,
6803 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6804 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5,
6808 156, 5780, 0x86, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x42, 0x02, 0x06,
6809 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6810 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5,
6814 157, 5785, 0x88, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x85, 0x04, 0x05,
6815 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6816 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4,
6820 158, 5790, 0x8a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x43, 0x02, 0x05,
6821 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6822 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4,
6826 159, 5795, 0x8b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x87, 0x04, 0x05,
6827 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6828 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4,
6832 160, 5800, 0x8d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x44, 0x02, 0x05,
6833 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x00,
6834 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3,
6838 161, 5805, 0x8f, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x89, 0x04, 0x05,
6839 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6840 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3,
6844 162, 5810, 0x90, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x45, 0x02, 0x05,
6845 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6846 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2,
6850 163, 5815, 0x92, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8b, 0x04, 0x05,
6851 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6852 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2,
6856 164, 5820, 0x94, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x46, 0x02, 0x05,
6857 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6858 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2,
6862 165, 5825, 0x95, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8d, 0x04, 0x05,
6863 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6864 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1,
6868 166, 5830, 0x97, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x47, 0x02, 0x05,
6869 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6870 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1,
6874 168, 5840, 0x9a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x48, 0x02, 0x05,
6875 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6876 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0,
6880 170, 5850, 0x9e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x49, 0x02, 0x04,
6881 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6882 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf,
6886 172, 5860, 0xa1, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4a, 0x02, 0x04,
6887 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6888 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf,
6892 174, 5870, 0xa4, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4b, 0x02, 0x04,
6893 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6894 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0930, 0x092c, 0x0928, 0x01be,
6898 176, 5880, 0xa8, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4c, 0x02, 0x03,
6899 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6900 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd,
6904 178, 5890, 0xab, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4d, 0x02, 0x03,
6905 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6906 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc,
6910 180, 5900, 0xae, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4e, 0x02, 0x03,
6911 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6912 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc,
6916 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0f,
6917 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6918 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03c9, 0x03c5, 0x03c1, 0x043a,
6922 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0f,
6923 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6924 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cb, 0x03c7, 0x03c3, 0x0438,
6928 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0f,
6929 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6930 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cd, 0x03c9, 0x03c5, 0x0436,
6934 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0f,
6935 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6936 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cf, 0x03cb, 0x03c7, 0x0434,
6940 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0f,
6941 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6942 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d1, 0x03cd, 0x03c9, 0x0431,
6946 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0f,
6947 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6948 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d3, 0x03cf, 0x03cb, 0x042f,
6952 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0f,
6953 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6954 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d5, 0x03d1, 0x03cd, 0x042d,
6958 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0f,
6959 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6960 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d7, 0x03d3, 0x03cf, 0x042b,
6964 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0f,
6965 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6966 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d9, 0x03d5, 0x03d1, 0x0429,
6970 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0f,
6971 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6972 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03db, 0x03d7, 0x03d3, 0x0427,
6976 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0f,
6977 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6978 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03dd, 0x03d9, 0x03d5, 0x0424,
6982 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0f,
6983 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6984 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03df, 0x03db, 0x03d7, 0x0422,
6988 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0f,
6989 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6990 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03e1, 0x03dd, 0x03d9, 0x0420,
6994 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0f,
6995 0x04, 0x00, 0x04, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x61,
6996 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x03e6, 0x03e2, 0x03de, 0x041b,
7001 static chan_info_nphy_radio2057_t chan_info_nphyrev8_2057_rev8[] = {
7003 186, 4930, 0x6b, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xed, 0x01, 0x0f,
7004 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7005 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07b8, 0x07b4, 0x07b0, 0x0213,
7009 188, 4940, 0x6e, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xee, 0x01, 0x0f,
7010 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7011 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07bc, 0x07b8, 0x07b4, 0x0212,
7015 190, 4950, 0x72, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xef, 0x01, 0x0f,
7016 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7017 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c0, 0x07bc, 0x07b8, 0x0211,
7021 192, 4960, 0x75, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf0, 0x01, 0x0f,
7022 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7023 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c4, 0x07c0, 0x07bc, 0x020f,
7027 194, 4970, 0x78, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf1, 0x01, 0x0f,
7028 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7029 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c8, 0x07c4, 0x07c0, 0x020e,
7033 196, 4980, 0x7c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf2, 0x01, 0x0f,
7034 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7035 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07cc, 0x07c8, 0x07c4, 0x020d,
7039 198, 4990, 0x7f, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf3, 0x01, 0x0f,
7040 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7041 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07d0, 0x07cc, 0x07c8, 0x020c,
7045 200, 5000, 0x82, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf4, 0x01, 0x0f,
7046 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7047 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d4, 0x07d0, 0x07cc, 0x020b,
7051 202, 5010, 0x86, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf5, 0x01, 0x0f,
7052 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7053 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d8, 0x07d4, 0x07d0, 0x020a,
7057 204, 5020, 0x89, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf6, 0x01, 0x0e,
7058 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7059 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07dc, 0x07d8, 0x07d4, 0x0209,
7063 206, 5030, 0x8c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf7, 0x01, 0x0e,
7064 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7065 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e0, 0x07dc, 0x07d8, 0x0208,
7069 208, 5040, 0x90, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf8, 0x01, 0x0e,
7070 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7071 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e4, 0x07e0, 0x07dc, 0x0207,
7075 210, 5050, 0x93, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf9, 0x01, 0x0e,
7076 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7077 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e8, 0x07e4, 0x07e0, 0x0206,
7081 212, 5060, 0x96, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfa, 0x01, 0x0e,
7082 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7083 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07ec, 0x07e8, 0x07e4, 0x0205,
7087 214, 5070, 0x9a, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfb, 0x01, 0x0e,
7088 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7089 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f0, 0x07ec, 0x07e8, 0x0204,
7093 216, 5080, 0x9d, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfc, 0x01, 0x0e,
7094 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7095 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f4, 0x07f0, 0x07ec, 0x0203,
7099 218, 5090, 0xa0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfd, 0x01, 0x0e,
7100 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7101 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f8, 0x07f4, 0x07f0, 0x0202,
7105 220, 5100, 0xa4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfe, 0x01, 0x0d,
7106 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7107 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x07fc, 0x07f8, 0x07f4, 0x0201,
7111 222, 5110, 0xa7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xff, 0x01, 0x0d,
7112 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7113 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0800, 0x07fc, 0x07f8, 0x0200,
7117 224, 5120, 0xaa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x00, 0x02, 0x0d,
7118 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7119 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0804, 0x0800, 0x07fc, 0x01ff,
7123 226, 5130, 0xae, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x01, 0x02, 0x0d,
7124 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7125 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0808, 0x0804, 0x0800, 0x01fe,
7129 228, 5140, 0xb1, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x02, 0x02, 0x0d,
7130 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7131 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x080c, 0x0808, 0x0804, 0x01fd,
7135 32, 5160, 0xb8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x04, 0x02, 0x0d,
7136 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7137 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0814, 0x0810, 0x080c, 0x01fb,
7141 34, 5170, 0xbb, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x05, 0x02, 0x0d,
7142 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7143 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0818, 0x0814, 0x0810, 0x01fa,
7147 36, 5180, 0xbe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x06, 0x02, 0x0c,
7148 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7149 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x081c, 0x0818, 0x0814, 0x01f9,
7153 38, 5190, 0xc2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x07, 0x02, 0x0c,
7154 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7155 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0820, 0x081c, 0x0818, 0x01f8,
7159 40, 5200, 0xc5, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x08, 0x02, 0x0c,
7160 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7161 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0824, 0x0820, 0x081c, 0x01f7,
7165 42, 5210, 0xc8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x09, 0x02, 0x0c,
7166 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7167 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0828, 0x0824, 0x0820, 0x01f6,
7171 44, 5220, 0xcc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0a, 0x02, 0x0c,
7172 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7173 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x082c, 0x0828, 0x0824, 0x01f5,
7177 46, 5230, 0xcf, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0b, 0x02, 0x0c,
7178 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7179 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0830, 0x082c, 0x0828, 0x01f4,
7183 48, 5240, 0xd2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0c, 0x02, 0x0c,
7184 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7185 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0834, 0x0830, 0x082c, 0x01f3,
7189 50, 5250, 0xd6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0d, 0x02, 0x0c,
7190 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7191 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0838, 0x0834, 0x0830, 0x01f2,
7195 52, 5260, 0xd9, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0e, 0x02, 0x0b,
7196 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7197 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x083c, 0x0838, 0x0834, 0x01f1,
7201 54, 5270, 0xdc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0f, 0x02, 0x0b,
7202 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7203 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0840, 0x083c, 0x0838, 0x01f0,
7207 56, 5280, 0xe0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x10, 0x02, 0x0b,
7208 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7209 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0844, 0x0840, 0x083c, 0x01f0,
7213 58, 5290, 0xe3, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x11, 0x02, 0x0b,
7214 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7215 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0848, 0x0844, 0x0840, 0x01ef,
7219 60, 5300, 0xe6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x12, 0x02, 0x0b,
7220 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7221 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x084c, 0x0848, 0x0844, 0x01ee,
7225 62, 5310, 0xea, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x13, 0x02, 0x0b,
7226 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7227 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0850, 0x084c, 0x0848, 0x01ed,
7231 64, 5320, 0xed, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x14, 0x02, 0x0b,
7232 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7233 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0854, 0x0850, 0x084c, 0x01ec,
7237 66, 5330, 0xf0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x15, 0x02, 0x0b,
7238 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7239 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0858, 0x0854, 0x0850, 0x01eb,
7243 68, 5340, 0xf4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x16, 0x02, 0x0a,
7244 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7245 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x085c, 0x0858, 0x0854, 0x01ea,
7249 70, 5350, 0xf7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x17, 0x02, 0x0a,
7250 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7251 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0860, 0x085c, 0x0858, 0x01e9,
7255 72, 5360, 0xfa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x18, 0x02, 0x0a,
7256 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7257 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0864, 0x0860, 0x085c, 0x01e8,
7261 74, 5370, 0xfe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x19, 0x02, 0x0a,
7262 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7263 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0868, 0x0864, 0x0860, 0x01e7,
7267 76, 5380, 0x01, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1a, 0x02, 0x0a,
7268 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7269 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x086c, 0x0868, 0x0864, 0x01e6,
7273 78, 5390, 0x04, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1b, 0x02, 0x0a,
7274 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7275 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0870, 0x086c, 0x0868, 0x01e5,
7279 80, 5400, 0x08, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1c, 0x02, 0x0a,
7280 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7281 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0874, 0x0870, 0x086c, 0x01e5,
7285 82, 5410, 0x0b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1d, 0x02, 0x0a,
7286 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7287 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0878, 0x0874, 0x0870, 0x01e4,
7291 84, 5420, 0x0e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1e, 0x02, 0x09,
7292 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7293 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x087c, 0x0878, 0x0874, 0x01e3,
7297 86, 5430, 0x12, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1f, 0x02, 0x09,
7298 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7299 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0880, 0x087c, 0x0878, 0x01e2,
7303 88, 5440, 0x15, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x20, 0x02, 0x09,
7304 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7305 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0884, 0x0880, 0x087c, 0x01e1,
7309 90, 5450, 0x18, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x21, 0x02, 0x09,
7310 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7311 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0888, 0x0884, 0x0880, 0x01e0,
7315 92, 5460, 0x1c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x22, 0x02, 0x09,
7316 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7317 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x088c, 0x0888, 0x0884, 0x01df,
7321 94, 5470, 0x1f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x23, 0x02, 0x09,
7322 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7323 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0890, 0x088c, 0x0888, 0x01de,
7327 96, 5480, 0x22, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x24, 0x02, 0x09,
7328 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7329 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0894, 0x0890, 0x088c, 0x01dd,
7333 98, 5490, 0x26, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x25, 0x02, 0x09,
7334 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7335 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0898, 0x0894, 0x0890, 0x01dd,
7339 100, 5500, 0x29, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x26, 0x02, 0x09,
7340 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7341 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x089c, 0x0898, 0x0894, 0x01dc,
7345 102, 5510, 0x2c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x27, 0x02, 0x09,
7346 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7347 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a0, 0x089c, 0x0898, 0x01db,
7351 104, 5520, 0x30, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x28, 0x02, 0x08,
7352 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7353 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a4, 0x08a0, 0x089c, 0x01da,
7357 106, 5530, 0x33, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x29, 0x02, 0x08,
7358 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7359 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a8, 0x08a4, 0x08a0, 0x01d9,
7363 108, 5540, 0x36, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2a, 0x02, 0x08,
7364 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7365 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08ac, 0x08a8, 0x08a4, 0x01d8,
7369 110, 5550, 0x3a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2b, 0x02, 0x08,
7370 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7371 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b0, 0x08ac, 0x08a8, 0x01d7,
7375 112, 5560, 0x3d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2c, 0x02, 0x08,
7376 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7377 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b4, 0x08b0, 0x08ac, 0x01d7,
7381 114, 5570, 0x40, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2d, 0x02, 0x08,
7382 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7383 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b8, 0x08b4, 0x08b0, 0x01d6,
7387 116, 5580, 0x44, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2e, 0x02, 0x08,
7388 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7389 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08bc, 0x08b8, 0x08b4, 0x01d5,
7393 118, 5590, 0x47, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2f, 0x02, 0x08,
7394 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7395 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08c0, 0x08bc, 0x08b8, 0x01d4,
7399 120, 5600, 0x4a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x30, 0x02, 0x08,
7400 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7401 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c4, 0x08c0, 0x08bc, 0x01d3,
7405 122, 5610, 0x4e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x31, 0x02, 0x08,
7406 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7407 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c8, 0x08c4, 0x08c0, 0x01d2,
7411 124, 5620, 0x51, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x32, 0x02, 0x07,
7412 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7413 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08cc, 0x08c8, 0x08c4, 0x01d2,
7417 126, 5630, 0x54, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x33, 0x02, 0x07,
7418 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7419 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d0, 0x08cc, 0x08c8, 0x01d1,
7423 128, 5640, 0x58, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x34, 0x02, 0x07,
7424 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7425 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d4, 0x08d0, 0x08cc, 0x01d0,
7429 130, 5650, 0x5b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x35, 0x02, 0x07,
7430 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
7431 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08d8, 0x08d4, 0x08d0, 0x01cf,
7435 132, 5660, 0x5e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x36, 0x02, 0x07,
7436 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
7437 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08dc, 0x08d8, 0x08d4, 0x01ce,
7441 134, 5670, 0x62, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x37, 0x02, 0x07,
7442 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
7443 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08e0, 0x08dc, 0x08d8, 0x01ce,
7447 136, 5680, 0x65, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x38, 0x02, 0x07,
7448 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
7449 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e4, 0x08e0, 0x08dc, 0x01cd,
7453 138, 5690, 0x68, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x39, 0x02, 0x07,
7454 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
7455 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e8, 0x08e4, 0x08e0, 0x01cc,
7459 140, 5700, 0x6c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3a, 0x02, 0x07,
7460 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7461 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08ec, 0x08e8, 0x08e4, 0x01cb,
7465 142, 5710, 0x6f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3b, 0x02, 0x07,
7466 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7467 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f0, 0x08ec, 0x08e8, 0x01ca,
7471 144, 5720, 0x72, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3c, 0x02, 0x07,
7472 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7473 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f4, 0x08f0, 0x08ec, 0x01c9,
7477 145, 5725, 0x74, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x79, 0x04, 0x06,
7478 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7479 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f6, 0x08f2, 0x08ee, 0x01c9,
7483 146, 5730, 0x76, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3d, 0x02, 0x06,
7484 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7485 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f8, 0x08f4, 0x08f0, 0x01c9,
7489 147, 5735, 0x77, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7b, 0x04, 0x06,
7490 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7491 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fa, 0x08f6, 0x08f2, 0x01c8,
7495 148, 5740, 0x79, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3e, 0x02, 0x06,
7496 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7497 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fc, 0x08f8, 0x08f4, 0x01c8,
7501 149, 5745, 0x7b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7d, 0x04, 0x06,
7502 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7503 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fe, 0x08fa, 0x08f6, 0x01c8,
7507 150, 5750, 0x7c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3f, 0x02, 0x06,
7508 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7509 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7,
7513 151, 5755, 0x7e, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7f, 0x04, 0x06,
7514 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7515 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7,
7519 152, 5760, 0x80, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x40, 0x02, 0x06,
7520 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7521 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6,
7525 153, 5765, 0x81, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x81, 0x04, 0x06,
7526 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7527 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6,
7531 154, 5770, 0x83, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x41, 0x02, 0x06,
7532 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7533 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6,
7537 155, 5775, 0x85, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x83, 0x04, 0x06,
7538 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7539 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5,
7543 156, 5780, 0x86, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x42, 0x02, 0x06,
7544 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7545 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5,
7549 157, 5785, 0x88, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x85, 0x04, 0x05,
7550 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7551 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4,
7555 158, 5790, 0x8a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x43, 0x02, 0x05,
7556 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7557 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4,
7561 159, 5795, 0x8b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x87, 0x04, 0x05,
7562 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7563 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4,
7567 160, 5800, 0x8d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x44, 0x02, 0x05,
7568 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x00,
7569 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3,
7573 161, 5805, 0x8f, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x89, 0x04, 0x05,
7574 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7575 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3,
7579 162, 5810, 0x90, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x45, 0x02, 0x05,
7580 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7581 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2,
7585 163, 5815, 0x92, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8b, 0x04, 0x05,
7586 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7587 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2,
7591 164, 5820, 0x94, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x46, 0x02, 0x05,
7592 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7593 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2,
7597 165, 5825, 0x95, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8d, 0x04, 0x05,
7598 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7599 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1,
7603 166, 5830, 0x97, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x47, 0x02, 0x05,
7604 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7605 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1,
7609 168, 5840, 0x9a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x48, 0x02, 0x05,
7610 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7611 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0,
7615 170, 5850, 0x9e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x49, 0x02, 0x04,
7616 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7617 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf,
7621 172, 5860, 0xa1, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4a, 0x02, 0x04,
7622 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7623 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf,
7627 174, 5870, 0xa4, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4b, 0x02, 0x04,
7628 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7629 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0930, 0x092c, 0x0928, 0x01be,
7633 176, 5880, 0xa8, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4c, 0x02, 0x03,
7634 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7635 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd,
7639 178, 5890, 0xab, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4d, 0x02, 0x03,
7640 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7641 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc,
7645 180, 5900, 0xae, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4e, 0x02, 0x03,
7646 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7647 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc,
7651 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0f,
7652 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7653 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03c9, 0x03c5, 0x03c1, 0x043a,
7657 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0f,
7658 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7659 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cb, 0x03c7, 0x03c3, 0x0438,
7663 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0f,
7664 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7665 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cd, 0x03c9, 0x03c5, 0x0436,
7669 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0f,
7670 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7671 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cf, 0x03cb, 0x03c7, 0x0434,
7675 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0f,
7676 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7677 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d1, 0x03cd, 0x03c9, 0x0431,
7681 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0f,
7682 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7683 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d3, 0x03cf, 0x03cb, 0x042f,
7687 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0f,
7688 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7689 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d5, 0x03d1, 0x03cd, 0x042d,
7693 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0f,
7694 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7695 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d7, 0x03d3, 0x03cf, 0x042b,
7699 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0f,
7700 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7701 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d9, 0x03d5, 0x03d1, 0x0429,
7705 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0f,
7706 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7707 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03db, 0x03d7, 0x03d3, 0x0427,
7711 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0f,
7712 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7713 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03dd, 0x03d9, 0x03d5, 0x0424,
7717 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0f,
7718 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7719 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03df, 0x03db, 0x03d7, 0x0422,
7723 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0f,
7724 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7725 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03e1, 0x03dd, 0x03d9, 0x0420,
7729 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0f,
7730 0x04, 0x00, 0x04, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x61,
7731 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x03e6, 0x03e2, 0x03de, 0x041b,
7736 radio_regs_t regs_2055[] = {
7737 {0x02, 0x80, 0x80, 0, 0},
7739 {0x04, 0x27, 0x27, 0, 0},
7741 {0x06, 0x27, 0x27, 0, 0},
7742 {0x07, 0x7f, 0x7f, 1, 1},
7743 {0x08, 0x7, 0x7, 1, 1},
7744 {0x09, 0x7f, 0x7f, 1, 1},
7745 {0x0A, 0x7, 0x7, 1, 1},
7746 {0x0B, 0x15, 0x15, 0, 0},
7747 {0x0C, 0x15, 0x15, 0, 0},
7748 {0x0D, 0x4f, 0x4f, 1, 1},
7749 {0x0E, 0x5, 0x5, 1, 1},
7750 {0x0F, 0x4f, 0x4f, 1, 1},
7751 {0x10, 0x5, 0x5, 1, 1},
7752 {0x11, 0xd0, 0xd0, 0, 0},
7753 {0x12, 0x2, 0x2, 0, 0},
7755 {0x14, 0x40, 0x40, 0, 0},
7764 {0x1D, 0xc0, 0xc0, 0, 0},
7765 {0x1E, 0xff, 0xff, 0, 0},
7766 {0x1F, 0xc0, 0xc0, 0, 0},
7767 {0x20, 0xff, 0xff, 0, 0},
7768 {0x21, 0xc0, 0xc0, 0, 0},
7770 {0x23, 0x2c, 0x2c, 0, 0},
7780 {0x2D, 0xa4, 0xa4, 0, 0},
7781 {0x2E, 0x38, 0x38, 0, 0},
7783 {0x30, 0x4, 0x4, 1, 1},
7785 {0x32, 0xa, 0xa, 0, 0},
7786 {0x33, 0x87, 0x87, 0, 0},
7787 {0x34, 0x9, 0x9, 0, 0},
7788 {0x35, 0x70, 0x70, 0, 0},
7789 {0x36, 0x11, 0x11, 0, 0},
7790 {0x37, 0x18, 0x18, 1, 1},
7791 {0x38, 0x6, 0x6, 0, 0},
7792 {0x39, 0x4, 0x4, 1, 1},
7793 {0x3A, 0x6, 0x6, 0, 0},
7794 {0x3B, 0x9e, 0x9e, 0, 0},
7795 {0x3C, 0x9, 0x9, 0, 0},
7796 {0x3D, 0xc8, 0xc8, 1, 1},
7797 {0x3E, 0x88, 0x88, 0, 0},
7801 {0x42, 0x1, 0x1, 0, 0},
7802 {0x43, 0x2, 0x2, 0, 0},
7803 {0x44, 0x96, 0x96, 0, 0},
7804 {0x45, 0x3e, 0x3e, 0, 0},
7805 {0x46, 0x3e, 0x3e, 0, 0},
7806 {0x47, 0x13, 0x13, 0, 0},
7807 {0x48, 0x2, 0x2, 0, 0},
7808 {0x49, 0x15, 0x15, 0, 0},
7809 {0x4A, 0x7, 0x7, 0, 0},
7815 {0x50, 0x8, 0x8, 0, 0},
7816 {0x51, 0x8, 0x8, 0, 0},
7817 {0x52, 0x6, 0x6, 0, 0},
7818 {0x53, 0x84, 0x84, 1, 1},
7819 {0x54, 0xc3, 0xc3, 0, 0},
7820 {0x55, 0x8f, 0x8f, 0, 0},
7821 {0x56, 0xff, 0xff, 0, 0},
7822 {0x57, 0xff, 0xff, 0, 0},
7823 {0x58, 0x88, 0x88, 0, 0},
7824 {0x59, 0x88, 0x88, 0, 0},
7826 {0x5B, 0xcc, 0xcc, 0, 0},
7827 {0x5C, 0x6, 0x6, 0, 0},
7828 {0x5D, 0x80, 0x80, 0, 0},
7829 {0x5E, 0x80, 0x80, 0, 0},
7830 {0x5F, 0xf8, 0xf8, 0, 0},
7831 {0x60, 0x88, 0x88, 0, 0},
7832 {0x61, 0x88, 0x88, 0, 0},
7833 {0x62, 0x88, 0x8, 1, 1},
7834 {0x63, 0x88, 0x88, 0, 0},
7836 {0x65, 0x1, 0x1, 1, 1},
7837 {0x66, 0x8a, 0x8a, 0, 0},
7838 {0x67, 0x8, 0x8, 0, 0},
7839 {0x68, 0x83, 0x83, 0, 0},
7840 {0x69, 0x6, 0x6, 0, 0},
7841 {0x6A, 0xa0, 0xa0, 0, 0},
7842 {0x6B, 0xa, 0xa, 0, 0},
7843 {0x6C, 0x87, 0x87, 1, 1},
7844 {0x6D, 0x2a, 0x2a, 0, 0},
7845 {0x6E, 0x2a, 0x2a, 0, 0},
7846 {0x6F, 0x2a, 0x2a, 0, 0},
7847 {0x70, 0x2a, 0x2a, 0, 0},
7848 {0x71, 0x18, 0x18, 0, 0},
7849 {0x72, 0x6a, 0x6a, 1, 1},
7850 {0x73, 0xab, 0xab, 1, 1},
7851 {0x74, 0x13, 0x13, 1, 1},
7852 {0x75, 0xc1, 0xc1, 1, 1},
7853 {0x76, 0xaa, 0xaa, 1, 1},
7854 {0x77, 0x87, 0x87, 1, 1},
7856 {0x79, 0x6, 0x6, 0, 0},
7857 {0x7A, 0x7, 0x7, 0, 0},
7858 {0x7B, 0x7, 0x7, 0, 0},
7859 {0x7C, 0x15, 0x15, 0, 0},
7860 {0x7D, 0x55, 0x55, 0, 0},
7861 {0x7E, 0x97, 0x97, 1, 1},
7862 {0x7F, 0x8, 0x8, 0, 0},
7863 {0x80, 0x14, 0x14, 1, 1},
7864 {0x81, 0x33, 0x33, 0, 0},
7865 {0x82, 0x88, 0x88, 0, 0},
7866 {0x83, 0x6, 0x6, 0, 0},
7867 {0x84, 0x3, 0x3, 1, 1},
7868 {0x85, 0xa, 0xa, 0, 0},
7869 {0x86, 0x3, 0x3, 1, 1},
7870 {0x87, 0x2a, 0x2a, 0, 0},
7871 {0x88, 0xa4, 0xa4, 0, 0},
7872 {0x89, 0x18, 0x18, 0, 0},
7873 {0x8A, 0x28, 0x28, 0, 0},
7875 {0x8C, 0x4a, 0x4a, 0, 0},
7877 {0x8E, 0xf8, 0xf8, 0, 0},
7878 {0x8F, 0x88, 0x88, 0, 0},
7879 {0x90, 0x88, 0x88, 0, 0},
7880 {0x91, 0x88, 0x8, 1, 1},
7881 {0x92, 0x88, 0x88, 0, 0},
7883 {0x94, 0x1, 0x1, 1, 1},
7884 {0x95, 0x8a, 0x8a, 0, 0},
7885 {0x96, 0x8, 0x8, 0, 0},
7886 {0x97, 0x83, 0x83, 0, 0},
7887 {0x98, 0x6, 0x6, 0, 0},
7888 {0x99, 0xa0, 0xa0, 0, 0},
7889 {0x9A, 0xa, 0xa, 0, 0},
7890 {0x9B, 0x87, 0x87, 1, 1},
7891 {0x9C, 0x2a, 0x2a, 0, 0},
7892 {0x9D, 0x2a, 0x2a, 0, 0},
7893 {0x9E, 0x2a, 0x2a, 0, 0},
7894 {0x9F, 0x2a, 0x2a, 0, 0},
7895 {0xA0, 0x18, 0x18, 0, 0},
7896 {0xA1, 0x6a, 0x6a, 1, 1},
7897 {0xA2, 0xab, 0xab, 1, 1},
7898 {0xA3, 0x13, 0x13, 1, 1},
7899 {0xA4, 0xc1, 0xc1, 1, 1},
7900 {0xA5, 0xaa, 0xaa, 1, 1},
7901 {0xA6, 0x87, 0x87, 1, 1},
7903 {0xA8, 0x6, 0x6, 0, 0},
7904 {0xA9, 0x7, 0x7, 0, 0},
7905 {0xAA, 0x7, 0x7, 0, 0},
7906 {0xAB, 0x15, 0x15, 0, 0},
7907 {0xAC, 0x55, 0x55, 0, 0},
7908 {0xAD, 0x97, 0x97, 1, 1},
7909 {0xAE, 0x8, 0x8, 0, 0},
7910 {0xAF, 0x14, 0x14, 1, 1},
7911 {0xB0, 0x33, 0x33, 0, 0},
7912 {0xB1, 0x88, 0x88, 0, 0},
7913 {0xB2, 0x6, 0x6, 0, 0},
7914 {0xB3, 0x3, 0x3, 1, 1},
7915 {0xB4, 0xa, 0xa, 0, 0},
7916 {0xB5, 0x3, 0x3, 1, 1},
7917 {0xB6, 0x2a, 0x2a, 0, 0},
7918 {0xB7, 0xa4, 0xa4, 0, 0},
7919 {0xB8, 0x18, 0x18, 0, 0},
7920 {0xB9, 0x28, 0x28, 0, 0},
7922 {0xBB, 0x4a, 0x4a, 0, 0},
7924 {0xBD, 0x71, 0x71, 0, 0},
7925 {0xBE, 0x72, 0x72, 0, 0},
7926 {0xBF, 0x73, 0x73, 0, 0},
7927 {0xC0, 0x74, 0x74, 0, 0},
7928 {0xC1, 0x75, 0x75, 0, 0},
7929 {0xC2, 0x76, 0x76, 0, 0},
7930 {0xC3, 0x77, 0x77, 0, 0},
7931 {0xC4, 0x78, 0x78, 0, 0},
7932 {0xC5, 0x79, 0x79, 0, 0},
7933 {0xC6, 0x7a, 0x7a, 0, 0},
7941 {0xCE, 0x6, 0x6, 0, 0},
7944 {0xD1, 0x18, 0x18, 0, 0},
7945 {0xD2, 0x88, 0x88, 0, 0},
7953 {0xDA, 0x6, 0x6, 0, 0},
7956 {0xDD, 0x18, 0x18, 0, 0},
7957 {0xDE, 0x88, 0x88, 0, 0},
7962 {0xFFFF, 0, 0, 0, 0},
7965 radio_regs_t regs_SYN_2056[] = {
7973 {0x09, 0x1, 0x1, 0, 0},
7998 {0x22, 0x60, 0x60, 0, 0},
7999 {0x23, 0x6, 0x6, 0, 0},
8000 {0x24, 0xc, 0xc, 0, 0},
8004 {0x28, 0x1, 0x1, 0, 0},
8010 {0x2E, 0xd, 0xd, 0, 0},
8011 {0x2F, 0x1f, 0x1f, 0, 0},
8012 {0x30, 0x15, 0x15, 0, 0},
8013 {0x31, 0xf, 0xf, 0, 0},
8024 {0x3C, 0x13, 0x13, 0, 0},
8025 {0x3D, 0xf, 0xf, 0, 0},
8026 {0x3E, 0x18, 0x18, 0, 0},
8029 {0x41, 0x20, 0x20, 0, 0},
8030 {0x42, 0x20, 0x20, 0, 0},
8032 {0x44, 0x77, 0x77, 0, 0},
8033 {0x45, 0x7, 0x7, 0, 0},
8034 {0x46, 0x1, 0x1, 0, 0},
8035 {0x47, 0x4, 0x4, 0, 0},
8036 {0x48, 0xf, 0xf, 0, 0},
8037 {0x49, 0x30, 0x30, 0, 0},
8038 {0x4A, 0x32, 0x32, 0, 0},
8039 {0x4B, 0xd, 0xd, 0, 0},
8040 {0x4C, 0xd, 0xd, 0, 0},
8041 {0x4D, 0x4, 0x4, 0, 0},
8042 {0x4E, 0x6, 0x6, 0, 0},
8043 {0x4F, 0x1, 0x1, 0, 0},
8044 {0x50, 0x1c, 0x1c, 0, 0},
8045 {0x51, 0x2, 0x2, 0, 0},
8046 {0x52, 0x2, 0x2, 0, 0},
8047 {0x53, 0xf7, 0xf7, 1, 1},
8048 {0x54, 0xb4, 0xb4, 0, 0},
8049 {0x55, 0xd2, 0xd2, 0, 0},
8052 {0x58, 0x4, 0x4, 0, 0},
8053 {0x59, 0x96, 0x96, 0, 0},
8054 {0x5A, 0x3e, 0x3e, 0, 0},
8055 {0x5B, 0x3e, 0x3e, 0, 0},
8056 {0x5C, 0x13, 0x13, 0, 0},
8057 {0x5D, 0x2, 0x2, 0, 0},
8059 {0x5F, 0x7, 0x7, 0, 0},
8060 {0x60, 0x7, 0x7, 1, 1},
8061 {0x61, 0x8, 0x8, 0, 0},
8062 {0x62, 0x3, 0x3, 0, 0},
8068 {0x68, 0x40, 0x40, 0, 0},
8073 {0x6D, 0x1, 0x1, 0, 0},
8076 {0x70, 0x60, 0x60, 0, 0},
8077 {0x71, 0x66, 0x66, 0, 0},
8078 {0x72, 0xc, 0xc, 0, 0},
8079 {0x73, 0x66, 0x66, 0, 0},
8080 {0x74, 0x8f, 0x8f, 1, 1},
8082 {0x76, 0xcc, 0xcc, 0, 0},
8083 {0x77, 0x1, 0x1, 0, 0},
8084 {0x78, 0x66, 0x66, 0, 0},
8085 {0x79, 0x66, 0x66, 0, 0},
8097 {0x85, 0xff, 0xff, 0, 0},
8123 {0x9F, 0x6, 0x6, 0, 0},
8124 {0xA0, 0x66, 0x66, 0, 0},
8125 {0xA1, 0x66, 0x66, 0, 0},
8126 {0xA2, 0x66, 0x66, 0, 0},
8127 {0xA3, 0x66, 0x66, 0, 0},
8128 {0xA4, 0x66, 0x66, 0, 0},
8129 {0xA5, 0x66, 0x66, 0, 0},
8130 {0xA6, 0x66, 0x66, 0, 0},
8131 {0xA7, 0x66, 0x66, 0, 0},
8132 {0xA8, 0x66, 0x66, 0, 0},
8133 {0xA9, 0x66, 0x66, 0, 0},
8134 {0xAA, 0x66, 0x66, 0, 0},
8135 {0xAB, 0x66, 0x66, 0, 0},
8136 {0xAC, 0x66, 0x66, 0, 0},
8137 {0xAD, 0x66, 0x66, 0, 0},
8138 {0xAE, 0x66, 0x66, 0, 0},
8139 {0xAF, 0x66, 0x66, 0, 0},
8140 {0xB0, 0x66, 0x66, 0, 0},
8141 {0xB1, 0x66, 0x66, 0, 0},
8142 {0xB2, 0x66, 0x66, 0, 0},
8143 {0xB3, 0xa, 0xa, 0, 0},
8147 {0xFFFF, 0, 0, 0, 0}
8150 radio_regs_t regs_TX_2056[] = {
8182 {0x21, 0x88, 0x88, 0, 0},
8183 {0x22, 0x88, 0x88, 0, 0},
8184 {0x23, 0x88, 0x88, 0, 0},
8185 {0x24, 0x88, 0x88, 0, 0},
8186 {0x25, 0xc, 0xc, 0, 0},
8188 {0x27, 0x3, 0x3, 0, 0},
8190 {0x29, 0x3, 0x3, 0, 0},
8191 {0x2A, 0x37, 0x37, 0, 0},
8192 {0x2B, 0x3, 0x3, 0, 0},
8195 {0x2E, 0x1, 0x1, 0, 0},
8196 {0x2F, 0x1, 0x1, 0, 0},
8200 {0x33, 0x11, 0x11, 0, 0},
8201 {0x34, 0x11, 0x11, 0, 0},
8204 {0x37, 0x3, 0x3, 0, 0},
8205 {0x38, 0xf, 0xf, 0, 0},
8207 {0x3A, 0x2d, 0x2d, 0, 0},
8209 {0x3C, 0x6e, 0x6e, 0, 0},
8210 {0x3D, 0xf0, 0xf0, 1, 1},
8214 {0x41, 0x3, 0x3, 0, 0},
8215 {0x42, 0x3, 0x3, 0, 0},
8217 {0x44, 0x1e, 0x1e, 0, 0},
8219 {0x46, 0x6e, 0x6e, 0, 0},
8220 {0x47, 0xf0, 0xf0, 1, 1},
8222 {0x49, 0x2, 0x2, 0, 0},
8223 {0x4A, 0xff, 0xff, 1, 1},
8224 {0x4B, 0xc, 0xc, 0, 0},
8226 {0x4D, 0x38, 0x38, 0, 0},
8227 {0x4E, 0x70, 0x70, 1, 1},
8228 {0x4F, 0x2, 0x2, 0, 0},
8229 {0x50, 0x88, 0x88, 0, 0},
8230 {0x51, 0xc, 0xc, 0, 0},
8232 {0x53, 0x8, 0x8, 0, 0},
8233 {0x54, 0x70, 0x70, 1, 1},
8234 {0x55, 0x2, 0x2, 0, 0},
8235 {0x56, 0xff, 0xff, 1, 1},
8237 {0x58, 0x83, 0x83, 0, 0},
8238 {0x59, 0x77, 0x77, 1, 1},
8240 {0x5B, 0x2, 0x2, 0, 0},
8241 {0x5C, 0x88, 0x88, 0, 0},
8243 {0x5E, 0x8, 0x8, 0, 0},
8244 {0x5F, 0x77, 0x77, 1, 1},
8245 {0x60, 0x1, 0x1, 0, 0},
8247 {0x62, 0x7, 0x7, 0, 0},
8249 {0x64, 0x7, 0x7, 0, 0},
8252 {0x67, 0x74, 0x74, 1, 1},
8254 {0x69, 0xa, 0xa, 0, 0},
8262 {0x71, 0x2, 0x2, 0, 0},
8265 {0x74, 0xe, 0xe, 0, 0},
8266 {0x75, 0xe, 0xe, 0, 0},
8267 {0x76, 0xe, 0xe, 0, 0},
8268 {0x77, 0x13, 0x13, 0, 0},
8269 {0x78, 0x13, 0x13, 0, 0},
8270 {0x79, 0x1b, 0x1b, 0, 0},
8271 {0x7A, 0x1b, 0x1b, 0, 0},
8272 {0x7B, 0x55, 0x55, 0, 0},
8273 {0x7C, 0x5b, 0x5b, 0, 0},
8296 {0xFFFF, 0, 0, 0, 0}
8299 radio_regs_t regs_RX_2056[] = {
8330 {0x20, 0x3, 0x3, 0, 0},
8333 {0x23, 0x90, 0x90, 0, 0},
8334 {0x24, 0x55, 0x55, 0, 0},
8335 {0x25, 0x15, 0x15, 0, 0},
8336 {0x26, 0x5, 0x5, 0, 0},
8337 {0x27, 0x15, 0x15, 0, 0},
8338 {0x28, 0x5, 0x5, 0, 0},
8339 {0x29, 0x20, 0x20, 0, 0},
8340 {0x2A, 0x11, 0x11, 0, 0},
8341 {0x2B, 0x90, 0x90, 0, 0},
8343 {0x2D, 0x88, 0x88, 0, 0},
8344 {0x2E, 0x32, 0x32, 0, 0},
8345 {0x2F, 0x77, 0x77, 0, 0},
8346 {0x30, 0x17, 0x17, 1, 1},
8347 {0x31, 0xff, 0xff, 1, 1},
8348 {0x32, 0x20, 0x20, 0, 0},
8350 {0x34, 0x88, 0x88, 0, 0},
8351 {0x35, 0x32, 0x32, 0, 0},
8352 {0x36, 0x77, 0x77, 0, 0},
8353 {0x37, 0x17, 0x17, 1, 1},
8354 {0x38, 0xf0, 0xf0, 1, 1},
8355 {0x39, 0x20, 0x20, 0, 0},
8356 {0x3A, 0x8, 0x8, 0, 0},
8357 {0x3B, 0x99, 0x99, 0, 0},
8359 {0x3D, 0x44, 0x44, 1, 1},
8361 {0x3F, 0x44, 0x44, 0, 0},
8362 {0x40, 0xf, 0xf, 1, 1},
8363 {0x41, 0x6, 0x6, 0, 0},
8364 {0x42, 0x4, 0x4, 0, 0},
8365 {0x43, 0x50, 0x50, 1, 1},
8366 {0x44, 0x8, 0x8, 0, 0},
8367 {0x45, 0x99, 0x99, 0, 0},
8369 {0x47, 0x11, 0x11, 0, 0},
8371 {0x49, 0x44, 0x44, 0, 0},
8372 {0x4A, 0x7, 0x7, 0, 0},
8373 {0x4B, 0x6, 0x6, 0, 0},
8374 {0x4C, 0x4, 0x4, 0, 0},
8377 {0x4F, 0x66, 0x66, 0, 0},
8378 {0x50, 0x66, 0x66, 0, 0},
8379 {0x51, 0x57, 0x57, 0, 0},
8380 {0x52, 0x57, 0x57, 0, 0},
8381 {0x53, 0x44, 0x44, 0, 0},
8384 {0x56, 0x8, 0x8, 0, 0},
8385 {0x57, 0x8, 0x8, 0, 0},
8386 {0x58, 0x7, 0x7, 0, 0},
8387 {0x59, 0x22, 0x22, 0, 0},
8388 {0x5A, 0x22, 0x22, 0, 0},
8389 {0x5B, 0x2, 0x2, 0, 0},
8390 {0x5C, 0x23, 0x23, 0, 0},
8391 {0x5D, 0x7, 0x7, 0, 0},
8392 {0x5E, 0x55, 0x55, 0, 0},
8393 {0x5F, 0x23, 0x23, 0, 0},
8394 {0x60, 0x41, 0x41, 0, 0},
8395 {0x61, 0x1, 0x1, 0, 0},
8396 {0x62, 0xa, 0xa, 0, 0},
8405 {0x6B, 0xc, 0xc, 0, 0},
8412 {0x72, 0x22, 0x22, 0, 0},
8413 {0x73, 0x22, 0x22, 0, 0},
8414 {0x74, 0x2, 0x2, 0, 0},
8415 {0x75, 0xa, 0xa, 0, 0},
8416 {0x76, 0x1, 0x1, 0, 0},
8417 {0x77, 0x22, 0x22, 0, 0},
8418 {0x78, 0x30, 0x30, 0, 0},
8447 {0xFFFF, 0, 0, 0, 0}
8450 radio_regs_t regs_SYN_2056_A1[] = {
8458 {0x09, 0x1, 0x1, 0, 0},
8483 {0x22, 0x60, 0x60, 0, 0},
8484 {0x23, 0x6, 0x6, 0, 0},
8485 {0x24, 0xc, 0xc, 0, 0},
8489 {0x28, 0x1, 0x1, 0, 0},
8495 {0x2E, 0xd, 0xd, 0, 0},
8496 {0x2F, 0x1f, 0x1f, 0, 0},
8497 {0x30, 0x15, 0x15, 0, 0},
8498 {0x31, 0xf, 0xf, 0, 0},
8509 {0x3C, 0x13, 0x13, 0, 0},
8510 {0x3D, 0xf, 0xf, 0, 0},
8511 {0x3E, 0x18, 0x18, 0, 0},
8514 {0x41, 0x20, 0x20, 0, 0},
8515 {0x42, 0x20, 0x20, 0, 0},
8517 {0x44, 0x77, 0x77, 0, 0},
8518 {0x45, 0x7, 0x7, 0, 0},
8519 {0x46, 0x1, 0x1, 0, 0},
8520 {0x47, 0x4, 0x4, 0, 0},
8521 {0x48, 0xf, 0xf, 0, 0},
8522 {0x49, 0x30, 0x30, 0, 0},
8523 {0x4A, 0x32, 0x32, 0, 0},
8524 {0x4B, 0xd, 0xd, 0, 0},
8525 {0x4C, 0xd, 0xd, 0, 0},
8526 {0x4D, 0x4, 0x4, 0, 0},
8527 {0x4E, 0x6, 0x6, 0, 0},
8528 {0x4F, 0x1, 0x1, 0, 0},
8529 {0x50, 0x1c, 0x1c, 0, 0},
8530 {0x51, 0x2, 0x2, 0, 0},
8531 {0x52, 0x2, 0x2, 0, 0},
8532 {0x53, 0xf7, 0xf7, 1, 1},
8533 {0x54, 0xb4, 0xb4, 0, 0},
8534 {0x55, 0xd2, 0xd2, 0, 0},
8537 {0x58, 0x4, 0x4, 0, 0},
8538 {0x59, 0x96, 0x96, 0, 0},
8539 {0x5A, 0x3e, 0x3e, 0, 0},
8540 {0x5B, 0x3e, 0x3e, 0, 0},
8541 {0x5C, 0x13, 0x13, 0, 0},
8542 {0x5D, 0x2, 0x2, 0, 0},
8544 {0x5F, 0x7, 0x7, 0, 0},
8545 {0x60, 0x7, 0x7, 1, 1},
8546 {0x61, 0x8, 0x8, 0, 0},
8547 {0x62, 0x3, 0x3, 0, 0},
8553 {0x68, 0x40, 0x40, 0, 0},
8558 {0x6D, 0x1, 0x1, 0, 0},
8561 {0x70, 0x60, 0x60, 0, 0},
8562 {0x71, 0x66, 0x66, 0, 0},
8563 {0x72, 0xc, 0xc, 0, 0},
8564 {0x73, 0x66, 0x66, 0, 0},
8565 {0x74, 0x8f, 0x8f, 1, 1},
8567 {0x76, 0xcc, 0xcc, 0, 0},
8568 {0x77, 0x1, 0x1, 0, 0},
8569 {0x78, 0x66, 0x66, 0, 0},
8570 {0x79, 0x66, 0x66, 0, 0},
8582 {0x85, 0xff, 0xff, 0, 0},
8608 {0x9F, 0x6, 0x6, 0, 0},
8609 {0xA0, 0x66, 0x66, 0, 0},
8610 {0xA1, 0x66, 0x66, 0, 0},
8611 {0xA2, 0x66, 0x66, 0, 0},
8612 {0xA3, 0x66, 0x66, 0, 0},
8613 {0xA4, 0x66, 0x66, 0, 0},
8614 {0xA5, 0x66, 0x66, 0, 0},
8615 {0xA6, 0x66, 0x66, 0, 0},
8616 {0xA7, 0x66, 0x66, 0, 0},
8617 {0xA8, 0x66, 0x66, 0, 0},
8618 {0xA9, 0x66, 0x66, 0, 0},
8619 {0xAA, 0x66, 0x66, 0, 0},
8620 {0xAB, 0x66, 0x66, 0, 0},
8621 {0xAC, 0x66, 0x66, 0, 0},
8622 {0xAD, 0x66, 0x66, 0, 0},
8623 {0xAE, 0x66, 0x66, 0, 0},
8624 {0xAF, 0x66, 0x66, 0, 0},
8625 {0xB0, 0x66, 0x66, 0, 0},
8626 {0xB1, 0x66, 0x66, 0, 0},
8627 {0xB2, 0x66, 0x66, 0, 0},
8628 {0xB3, 0xa, 0xa, 0, 0},
8632 {0xFFFF, 0, 0, 0, 0}
8635 radio_regs_t regs_TX_2056_A1[] = {
8667 {0x21, 0x88, 0x88, 0, 0},
8668 {0x22, 0x88, 0x88, 0, 0},
8669 {0x23, 0x88, 0x88, 0, 0},
8670 {0x24, 0x88, 0x88, 0, 0},
8671 {0x25, 0xc, 0xc, 0, 0},
8673 {0x27, 0x3, 0x3, 0, 0},
8675 {0x29, 0x3, 0x3, 0, 0},
8676 {0x2A, 0x37, 0x37, 0, 0},
8677 {0x2B, 0x3, 0x3, 0, 0},
8680 {0x2E, 0x1, 0x1, 0, 0},
8681 {0x2F, 0x1, 0x1, 0, 0},
8685 {0x33, 0x11, 0x11, 0, 0},
8686 {0x34, 0x11, 0x11, 0, 0},
8689 {0x37, 0x3, 0x3, 0, 0},
8690 {0x38, 0xf, 0xf, 0, 0},
8692 {0x3A, 0x2d, 0x2d, 0, 0},
8694 {0x3C, 0x6e, 0x6e, 0, 0},
8695 {0x3D, 0xf0, 0xf0, 1, 1},
8699 {0x41, 0x3, 0x3, 0, 0},
8700 {0x42, 0x3, 0x3, 0, 0},
8702 {0x44, 0x1e, 0x1e, 0, 0},
8704 {0x46, 0x6e, 0x6e, 0, 0},
8705 {0x47, 0xf0, 0xf0, 1, 1},
8707 {0x49, 0x2, 0x2, 0, 0},
8708 {0x4A, 0xff, 0xff, 1, 1},
8709 {0x4B, 0xc, 0xc, 0, 0},
8711 {0x4D, 0x38, 0x38, 0, 0},
8712 {0x4E, 0x70, 0x70, 1, 1},
8713 {0x4F, 0x2, 0x2, 0, 0},
8714 {0x50, 0x88, 0x88, 0, 0},
8715 {0x51, 0xc, 0xc, 0, 0},
8717 {0x53, 0x8, 0x8, 0, 0},
8718 {0x54, 0x70, 0x70, 1, 1},
8719 {0x55, 0x2, 0x2, 0, 0},
8720 {0x56, 0xff, 0xff, 1, 1},
8722 {0x58, 0x83, 0x83, 0, 0},
8723 {0x59, 0x77, 0x77, 1, 1},
8725 {0x5B, 0x2, 0x2, 0, 0},
8726 {0x5C, 0x88, 0x88, 0, 0},
8728 {0x5E, 0x8, 0x8, 0, 0},
8729 {0x5F, 0x77, 0x77, 1, 1},
8730 {0x60, 0x1, 0x1, 0, 0},
8732 {0x62, 0x7, 0x7, 0, 0},
8734 {0x64, 0x7, 0x7, 0, 0},
8737 {0x67, 0x72, 0x72, 1, 1},
8739 {0x69, 0xa, 0xa, 0, 0},
8747 {0x71, 0x2, 0x2, 0, 0},
8750 {0x74, 0xe, 0xe, 0, 0},
8751 {0x75, 0xe, 0xe, 0, 0},
8752 {0x76, 0xe, 0xe, 0, 0},
8753 {0x77, 0x13, 0x13, 0, 0},
8754 {0x78, 0x13, 0x13, 0, 0},
8755 {0x79, 0x1b, 0x1b, 0, 0},
8756 {0x7A, 0x1b, 0x1b, 0, 0},
8757 {0x7B, 0x55, 0x55, 0, 0},
8758 {0x7C, 0x5b, 0x5b, 0, 0},
8781 {0xFFFF, 0, 0, 0, 0}
8784 radio_regs_t regs_RX_2056_A1[] = {
8815 {0x20, 0x3, 0x3, 0, 0},
8818 {0x23, 0x90, 0x90, 0, 0},
8819 {0x24, 0x55, 0x55, 0, 0},
8820 {0x25, 0x15, 0x15, 0, 0},
8821 {0x26, 0x5, 0x5, 0, 0},
8822 {0x27, 0x15, 0x15, 0, 0},
8823 {0x28, 0x5, 0x5, 0, 0},
8824 {0x29, 0x20, 0x20, 0, 0},
8825 {0x2A, 0x11, 0x11, 0, 0},
8826 {0x2B, 0x90, 0x90, 0, 0},
8828 {0x2D, 0x88, 0x88, 0, 0},
8829 {0x2E, 0x32, 0x32, 0, 0},
8830 {0x2F, 0x77, 0x77, 0, 0},
8831 {0x30, 0x17, 0x17, 1, 1},
8832 {0x31, 0xff, 0xff, 1, 1},
8833 {0x32, 0x20, 0x20, 0, 0},
8835 {0x34, 0x88, 0x88, 0, 0},
8836 {0x35, 0x32, 0x32, 0, 0},
8837 {0x36, 0x77, 0x77, 0, 0},
8838 {0x37, 0x17, 0x17, 1, 1},
8839 {0x38, 0xf0, 0xf0, 1, 1},
8840 {0x39, 0x20, 0x20, 0, 0},
8841 {0x3A, 0x8, 0x8, 0, 0},
8842 {0x3B, 0x55, 0x55, 1, 1},
8844 {0x3D, 0x44, 0x44, 1, 1},
8846 {0x3F, 0x44, 0x44, 0, 0},
8847 {0x40, 0xf, 0xf, 1, 1},
8848 {0x41, 0x6, 0x6, 0, 0},
8849 {0x42, 0x4, 0x4, 0, 0},
8850 {0x43, 0x50, 0x50, 1, 1},
8851 {0x44, 0x8, 0x8, 0, 0},
8852 {0x45, 0x55, 0x55, 1, 1},
8854 {0x47, 0x11, 0x11, 0, 0},
8856 {0x49, 0x44, 0x44, 0, 0},
8857 {0x4A, 0x7, 0x7, 0, 0},
8858 {0x4B, 0x6, 0x6, 0, 0},
8859 {0x4C, 0x4, 0x4, 0, 0},
8862 {0x4F, 0x26, 0x26, 1, 1},
8863 {0x50, 0x26, 0x26, 1, 1},
8864 {0x51, 0xf, 0xf, 1, 1},
8865 {0x52, 0xf, 0xf, 1, 1},
8866 {0x53, 0x44, 0x44, 0, 0},
8869 {0x56, 0x8, 0x8, 0, 0},
8870 {0x57, 0x8, 0x8, 0, 0},
8871 {0x58, 0x7, 0x7, 0, 0},
8872 {0x59, 0x22, 0x22, 0, 0},
8873 {0x5A, 0x22, 0x22, 0, 0},
8874 {0x5B, 0x2, 0x2, 0, 0},
8875 {0x5C, 0x2f, 0x2f, 1, 1},
8876 {0x5D, 0x7, 0x7, 0, 0},
8877 {0x5E, 0x55, 0x55, 0, 0},
8878 {0x5F, 0x23, 0x23, 0, 0},
8879 {0x60, 0x41, 0x41, 0, 0},
8880 {0x61, 0x1, 0x1, 0, 0},
8881 {0x62, 0xa, 0xa, 0, 0},
8890 {0x6B, 0xc, 0xc, 0, 0},
8897 {0x72, 0x22, 0x22, 0, 0},
8898 {0x73, 0x22, 0x22, 0, 0},
8900 {0x75, 0xa, 0xa, 0, 0},
8901 {0x76, 0x1, 0x1, 0, 0},
8902 {0x77, 0x22, 0x22, 0, 0},
8903 {0x78, 0x30, 0x30, 0, 0},
8932 {0xFFFF, 0, 0, 0, 0}
8935 radio_regs_t regs_SYN_2056_rev5[] = {
8943 {0x09, 0x1, 0x1, 0, 0},
8968 {0x22, 0x60, 0x60, 0, 0},
8969 {0x23, 0x6, 0x6, 0, 0},
8970 {0x24, 0xc, 0xc, 0, 0},
8974 {0x28, 0x1, 0x1, 0, 0},
8981 {0x2F, 0x1f, 0x1f, 0, 0},
8982 {0x30, 0x15, 0x15, 0, 0},
8983 {0x31, 0xf, 0xf, 0, 0},
8994 {0x3C, 0x13, 0x13, 0, 0},
8995 {0x3D, 0xf, 0xf, 0, 0},
8996 {0x3E, 0x18, 0x18, 0, 0},
8999 {0x41, 0x20, 0x20, 0, 0},
9000 {0x42, 0x20, 0x20, 0, 0},
9002 {0x44, 0x77, 0x77, 0, 0},
9003 {0x45, 0x7, 0x7, 0, 0},
9004 {0x46, 0x1, 0x1, 0, 0},
9005 {0x47, 0x4, 0x4, 0, 0},
9006 {0x48, 0xf, 0xf, 0, 0},
9007 {0x49, 0x30, 0x30, 0, 0},
9008 {0x4A, 0x32, 0x32, 0, 0},
9009 {0x4B, 0xd, 0xd, 0, 0},
9010 {0x4C, 0xd, 0xd, 0, 0},
9011 {0x4D, 0x4, 0x4, 0, 0},
9012 {0x4E, 0x6, 0x6, 0, 0},
9013 {0x4F, 0x1, 0x1, 0, 0},
9014 {0x50, 0x1c, 0x1c, 0, 0},
9015 {0x51, 0x2, 0x2, 0, 0},
9016 {0x52, 0x2, 0x2, 0, 0},
9017 {0x53, 0xf7, 0xf7, 1, 1},
9018 {0x54, 0xb4, 0xb4, 0, 0},
9019 {0x55, 0xd2, 0xd2, 0, 0},
9022 {0x58, 0x4, 0x4, 0, 0},
9023 {0x59, 0x96, 0x96, 0, 0},
9024 {0x5A, 0x3e, 0x3e, 0, 0},
9025 {0x5B, 0x3e, 0x3e, 0, 0},
9026 {0x5C, 0x13, 0x13, 0, 0},
9027 {0x5D, 0x2, 0x2, 0, 0},
9029 {0x5F, 0x7, 0x7, 0, 0},
9030 {0x60, 0x7, 0x7, 1, 1},
9031 {0x61, 0x8, 0x8, 0, 0},
9032 {0x62, 0x3, 0x3, 0, 0},
9038 {0x68, 0x40, 0x40, 0, 0},
9043 {0x6D, 0x1, 0x1, 0, 0},
9046 {0x70, 0x60, 0x60, 0, 0},
9047 {0x71, 0x66, 0x66, 0, 0},
9048 {0x72, 0xc, 0xc, 0, 0},
9049 {0x73, 0x66, 0x66, 0, 0},
9050 {0x74, 0x8f, 0x8f, 1, 1},
9052 {0x76, 0xcc, 0xcc, 0, 0},
9053 {0x77, 0x1, 0x1, 0, 0},
9054 {0x78, 0x66, 0x66, 0, 0},
9055 {0x79, 0x66, 0x66, 0, 0},
9067 {0x85, 0xff, 0xff, 0, 0},
9093 {0x9F, 0x6, 0x6, 0, 0},
9094 {0xA0, 0x66, 0x66, 0, 0},
9095 {0xA1, 0x66, 0x66, 0, 0},
9096 {0xA2, 0x66, 0x66, 0, 0},
9097 {0xA3, 0x66, 0x66, 0, 0},
9098 {0xA4, 0x66, 0x66, 0, 0},
9099 {0xA5, 0x66, 0x66, 0, 0},
9100 {0xA6, 0x66, 0x66, 0, 0},
9101 {0xA7, 0x66, 0x66, 0, 0},
9102 {0xA8, 0x66, 0x66, 0, 0},
9103 {0xA9, 0x66, 0x66, 0, 0},
9104 {0xAA, 0x66, 0x66, 0, 0},
9105 {0xAB, 0x66, 0x66, 0, 0},
9106 {0xAC, 0x66, 0x66, 0, 0},
9107 {0xAD, 0x66, 0x66, 0, 0},
9108 {0xAE, 0x66, 0x66, 0, 0},
9109 {0xAF, 0x66, 0x66, 0, 0},
9110 {0xB0, 0x66, 0x66, 0, 0},
9111 {0xB1, 0x66, 0x66, 0, 0},
9112 {0xB2, 0x66, 0x66, 0, 0},
9113 {0xB3, 0xa, 0xa, 0, 0},
9117 {0xFFFF, 0, 0, 0, 0}
9120 radio_regs_t regs_TX_2056_rev5[] = {
9152 {0x21, 0x88, 0x88, 0, 0},
9153 {0x22, 0x88, 0x88, 0, 0},
9154 {0x23, 0x88, 0x88, 0, 0},
9155 {0x24, 0x88, 0x88, 0, 0},
9156 {0x25, 0xc, 0xc, 0, 0},
9158 {0x27, 0x3, 0x3, 0, 0},
9160 {0x29, 0x3, 0x3, 0, 0},
9161 {0x2A, 0x37, 0x37, 0, 0},
9162 {0x2B, 0x3, 0x3, 0, 0},
9165 {0x2E, 0x1, 0x1, 0, 0},
9166 {0x2F, 0x1, 0x1, 0, 0},
9170 {0x33, 0x11, 0x11, 0, 0},
9171 {0x34, 0x11, 0x11, 0, 0},
9174 {0x37, 0x3, 0x3, 0, 0},
9175 {0x38, 0xf, 0xf, 0, 0},
9177 {0x3A, 0x2d, 0x2d, 0, 0},
9179 {0x3C, 0x6e, 0x6e, 0, 0},
9180 {0x3D, 0xf0, 0xf0, 1, 1},
9184 {0x41, 0x3, 0x3, 0, 0},
9185 {0x42, 0x3, 0x3, 0, 0},
9187 {0x44, 0x1e, 0x1e, 0, 0},
9189 {0x46, 0x6e, 0x6e, 0, 0},
9190 {0x47, 0xf0, 0xf0, 1, 1},
9192 {0x49, 0x2, 0x2, 0, 0},
9193 {0x4A, 0xff, 0xff, 1, 1},
9194 {0x4B, 0xc, 0xc, 0, 0},
9196 {0x4D, 0x38, 0x38, 0, 0},
9197 {0x4E, 0x70, 0x70, 1, 1},
9198 {0x4F, 0x2, 0x2, 0, 0},
9199 {0x50, 0x88, 0x88, 0, 0},
9200 {0x51, 0xc, 0xc, 0, 0},
9202 {0x53, 0x8, 0x8, 0, 0},
9203 {0x54, 0x70, 0x70, 1, 1},
9204 {0x55, 0x2, 0x2, 0, 0},
9205 {0x56, 0xff, 0xff, 1, 1},
9207 {0x58, 0x83, 0x83, 0, 0},
9208 {0x59, 0x77, 0x77, 1, 1},
9210 {0x5B, 0x2, 0x2, 0, 0},
9211 {0x5C, 0x88, 0x88, 0, 0},
9213 {0x5E, 0x8, 0x8, 0, 0},
9214 {0x5F, 0x77, 0x77, 1, 1},
9215 {0x60, 0x1, 0x1, 0, 0},
9217 {0x62, 0x7, 0x7, 0, 0},
9219 {0x64, 0x7, 0x7, 0, 0},
9224 {0x69, 0xa, 0xa, 0, 0},
9232 {0x71, 0x2, 0x2, 0, 0},
9235 {0x74, 0xe, 0xe, 0, 0},
9236 {0x75, 0xe, 0xe, 0, 0},
9237 {0x76, 0xe, 0xe, 0, 0},
9238 {0x77, 0x13, 0x13, 0, 0},
9239 {0x78, 0x13, 0x13, 0, 0},
9240 {0x79, 0x1b, 0x1b, 0, 0},
9241 {0x7A, 0x1b, 0x1b, 0, 0},
9242 {0x7B, 0x55, 0x55, 0, 0},
9243 {0x7C, 0x5b, 0x5b, 0, 0},
9266 {0x93, 0x70, 0x70, 0, 0},
9267 {0x94, 0x70, 0x70, 0, 0},
9268 {0x95, 0x71, 0x71, 1, 1},
9269 {0x96, 0x71, 0x71, 1, 1},
9270 {0x97, 0x72, 0x72, 1, 1},
9271 {0x98, 0x73, 0x73, 1, 1},
9272 {0x99, 0x74, 0x74, 1, 1},
9273 {0x9A, 0x75, 0x75, 1, 1},
9274 {0xFFFF, 0, 0, 0, 0}
9277 radio_regs_t regs_RX_2056_rev5[] = {
9308 {0x20, 0x3, 0x3, 0, 0},
9311 {0x23, 0x90, 0x90, 0, 0},
9312 {0x24, 0x55, 0x55, 0, 0},
9313 {0x25, 0x15, 0x15, 0, 0},
9314 {0x26, 0x5, 0x5, 0, 0},
9315 {0x27, 0x15, 0x15, 0, 0},
9316 {0x28, 0x5, 0x5, 0, 0},
9317 {0x29, 0x20, 0x20, 0, 0},
9318 {0x2A, 0x11, 0x11, 0, 0},
9319 {0x2B, 0x90, 0x90, 0, 0},
9321 {0x2D, 0x88, 0x88, 0, 0},
9322 {0x2E, 0x32, 0x32, 0, 0},
9323 {0x2F, 0x77, 0x77, 0, 0},
9324 {0x30, 0x17, 0x17, 1, 1},
9325 {0x31, 0xff, 0xff, 1, 1},
9326 {0x32, 0x20, 0x20, 0, 0},
9328 {0x34, 0x88, 0x88, 0, 0},
9329 {0x35, 0x32, 0x32, 0, 0},
9330 {0x36, 0x77, 0x77, 0, 0},
9331 {0x37, 0x17, 0x17, 1, 1},
9332 {0x38, 0xf0, 0xf0, 1, 1},
9333 {0x39, 0x20, 0x20, 0, 0},
9334 {0x3A, 0x8, 0x8, 0, 0},
9335 {0x3B, 0x55, 0x55, 1, 1},
9337 {0x3D, 0x88, 0x88, 1, 1},
9340 {0x40, 0x7, 0x7, 1, 1},
9341 {0x41, 0x6, 0x6, 0, 0},
9342 {0x42, 0x4, 0x4, 0, 0},
9344 {0x44, 0x8, 0x8, 0, 0},
9345 {0x45, 0x55, 0x55, 1, 1},
9347 {0x47, 0x11, 0x11, 0, 0},
9350 {0x4A, 0x7, 0x7, 0, 0},
9351 {0x4B, 0x6, 0x6, 0, 0},
9352 {0x4C, 0x4, 0x4, 0, 0},
9355 {0x4F, 0x26, 0x26, 1, 1},
9356 {0x50, 0x26, 0x26, 1, 1},
9357 {0x51, 0xf, 0xf, 1, 1},
9358 {0x52, 0xf, 0xf, 1, 1},
9359 {0x53, 0x44, 0x44, 0, 0},
9362 {0x56, 0x8, 0x8, 0, 0},
9363 {0x57, 0x8, 0x8, 0, 0},
9364 {0x58, 0x7, 0x7, 0, 0},
9365 {0x59, 0x22, 0x22, 0, 0},
9366 {0x5A, 0x22, 0x22, 0, 0},
9367 {0x5B, 0x2, 0x2, 0, 0},
9368 {0x5C, 0x4, 0x4, 1, 1},
9369 {0x5D, 0x7, 0x7, 0, 0},
9370 {0x5E, 0x55, 0x55, 0, 0},
9371 {0x5F, 0x23, 0x23, 0, 0},
9372 {0x60, 0x41, 0x41, 0, 0},
9373 {0x61, 0x1, 0x1, 0, 0},
9374 {0x62, 0xa, 0xa, 0, 0},
9383 {0x6B, 0xc, 0xc, 0, 0},
9390 {0x72, 0x22, 0x22, 0, 0},
9391 {0x73, 0x22, 0x22, 0, 0},
9393 {0x75, 0xa, 0xa, 0, 0},
9394 {0x76, 0x1, 0x1, 0, 0},
9395 {0x77, 0x22, 0x22, 0, 0},
9396 {0x78, 0x30, 0x30, 0, 0},
9425 {0xFFFF, 0, 0, 0, 0}
9428 radio_regs_t regs_SYN_2056_rev6[] = {
9436 {0x09, 0x1, 0x1, 0, 0},
9461 {0x22, 0x60, 0x60, 0, 0},
9462 {0x23, 0x6, 0x6, 0, 0},
9463 {0x24, 0xc, 0xc, 0, 0},
9467 {0x28, 0x1, 0x1, 0, 0},
9474 {0x2F, 0x1f, 0x1f, 0, 0},
9475 {0x30, 0x15, 0x15, 0, 0},
9476 {0x31, 0xf, 0xf, 0, 0},
9487 {0x3C, 0x13, 0x13, 0, 0},
9488 {0x3D, 0xf, 0xf, 0, 0},
9489 {0x3E, 0x18, 0x18, 0, 0},
9492 {0x41, 0x20, 0x20, 0, 0},
9493 {0x42, 0x20, 0x20, 0, 0},
9495 {0x44, 0x77, 0x77, 0, 0},
9496 {0x45, 0x7, 0x7, 0, 0},
9497 {0x46, 0x1, 0x1, 0, 0},
9498 {0x47, 0x4, 0x4, 0, 0},
9499 {0x48, 0xf, 0xf, 0, 0},
9500 {0x49, 0x30, 0x30, 0, 0},
9501 {0x4A, 0x32, 0x32, 0, 0},
9502 {0x4B, 0xd, 0xd, 0, 0},
9503 {0x4C, 0xd, 0xd, 0, 0},
9504 {0x4D, 0x4, 0x4, 0, 0},
9505 {0x4E, 0x6, 0x6, 0, 0},
9506 {0x4F, 0x1, 0x1, 0, 0},
9507 {0x50, 0x1c, 0x1c, 0, 0},
9508 {0x51, 0x2, 0x2, 0, 0},
9509 {0x52, 0x2, 0x2, 0, 0},
9510 {0x53, 0xf7, 0xf7, 1, 1},
9511 {0x54, 0xb4, 0xb4, 0, 0},
9512 {0x55, 0xd2, 0xd2, 0, 0},
9515 {0x58, 0x4, 0x4, 0, 0},
9516 {0x59, 0x96, 0x96, 0, 0},
9517 {0x5A, 0x3e, 0x3e, 0, 0},
9518 {0x5B, 0x3e, 0x3e, 0, 0},
9519 {0x5C, 0x13, 0x13, 0, 0},
9520 {0x5D, 0x2, 0x2, 0, 0},
9522 {0x5F, 0x7, 0x7, 0, 0},
9523 {0x60, 0x7, 0x7, 1, 1},
9524 {0x61, 0x8, 0x8, 0, 0},
9525 {0x62, 0x3, 0x3, 0, 0},
9531 {0x68, 0x40, 0x40, 0, 0},
9536 {0x6D, 0x1, 0x1, 0, 0},
9539 {0x70, 0x60, 0x60, 0, 0},
9540 {0x71, 0x66, 0x66, 0, 0},
9541 {0x72, 0xc, 0xc, 0, 0},
9542 {0x73, 0x66, 0x66, 0, 0},
9543 {0x74, 0x8f, 0x8f, 1, 1},
9545 {0x76, 0xcc, 0xcc, 0, 0},
9546 {0x77, 0x1, 0x1, 0, 0},
9547 {0x78, 0x66, 0x66, 0, 0},
9548 {0x79, 0x66, 0x66, 0, 0},
9560 {0x85, 0xff, 0xff, 0, 0},
9586 {0x9F, 0x6, 0x6, 0, 0},
9587 {0xA0, 0x66, 0x66, 0, 0},
9588 {0xA1, 0x66, 0x66, 0, 0},
9589 {0xA2, 0x66, 0x66, 0, 0},
9590 {0xA3, 0x66, 0x66, 0, 0},
9591 {0xA4, 0x66, 0x66, 0, 0},
9592 {0xA5, 0x66, 0x66, 0, 0},
9593 {0xA6, 0x66, 0x66, 0, 0},
9594 {0xA7, 0x66, 0x66, 0, 0},
9595 {0xA8, 0x66, 0x66, 0, 0},
9596 {0xA9, 0x66, 0x66, 0, 0},
9597 {0xAA, 0x66, 0x66, 0, 0},
9598 {0xAB, 0x66, 0x66, 0, 0},
9599 {0xAC, 0x66, 0x66, 0, 0},
9600 {0xAD, 0x66, 0x66, 0, 0},
9601 {0xAE, 0x66, 0x66, 0, 0},
9602 {0xAF, 0x66, 0x66, 0, 0},
9603 {0xB0, 0x66, 0x66, 0, 0},
9604 {0xB1, 0x66, 0x66, 0, 0},
9605 {0xB2, 0x66, 0x66, 0, 0},
9606 {0xB3, 0xa, 0xa, 0, 0},
9610 {0xFFFF, 0, 0, 0, 0}
9613 radio_regs_t regs_TX_2056_rev6[] = {
9645 {0x21, 0x88, 0x88, 0, 0},
9646 {0x22, 0x88, 0x88, 0, 0},
9647 {0x23, 0x88, 0x88, 0, 0},
9648 {0x24, 0x88, 0x88, 0, 0},
9649 {0x25, 0xc, 0xc, 0, 0},
9651 {0x27, 0x3, 0x3, 0, 0},
9653 {0x29, 0x3, 0x3, 0, 0},
9654 {0x2A, 0x37, 0x37, 0, 0},
9655 {0x2B, 0x3, 0x3, 0, 0},
9658 {0x2E, 0x1, 0x1, 0, 0},
9659 {0x2F, 0x1, 0x1, 0, 0},
9663 {0x33, 0x11, 0x11, 0, 0},
9664 {0x34, 0xee, 0xee, 1, 1},
9667 {0x37, 0x3, 0x3, 0, 0},
9668 {0x38, 0x50, 0x50, 1, 1},
9670 {0x3A, 0x50, 0x50, 1, 1},
9672 {0x3C, 0x6e, 0x6e, 0, 0},
9673 {0x3D, 0xf0, 0xf0, 1, 1},
9677 {0x41, 0x3, 0x3, 0, 0},
9678 {0x42, 0x3, 0x3, 0, 0},
9680 {0x44, 0x1e, 0x1e, 0, 0},
9682 {0x46, 0x6e, 0x6e, 0, 0},
9683 {0x47, 0xf0, 0xf0, 1, 1},
9685 {0x49, 0x2, 0x2, 0, 0},
9686 {0x4A, 0xff, 0xff, 1, 1},
9687 {0x4B, 0xc, 0xc, 0, 0},
9689 {0x4D, 0x38, 0x38, 0, 0},
9690 {0x4E, 0x70, 0x70, 1, 1},
9691 {0x4F, 0x2, 0x2, 0, 0},
9692 {0x50, 0x88, 0x88, 0, 0},
9693 {0x51, 0xc, 0xc, 0, 0},
9695 {0x53, 0x8, 0x8, 0, 0},
9696 {0x54, 0x70, 0x70, 1, 1},
9697 {0x55, 0x2, 0x2, 0, 0},
9698 {0x56, 0xff, 0xff, 1, 1},
9700 {0x58, 0x83, 0x83, 0, 0},
9701 {0x59, 0x77, 0x77, 1, 1},
9703 {0x5B, 0x2, 0x2, 0, 0},
9704 {0x5C, 0x88, 0x88, 0, 0},
9706 {0x5E, 0x8, 0x8, 0, 0},
9707 {0x5F, 0x77, 0x77, 1, 1},
9708 {0x60, 0x1, 0x1, 0, 0},
9710 {0x62, 0x7, 0x7, 0, 0},
9712 {0x64, 0x7, 0x7, 0, 0},
9717 {0x69, 0xa, 0xa, 0, 0},
9725 {0x71, 0x2, 0x2, 0, 0},
9728 {0x74, 0xe, 0xe, 0, 0},
9729 {0x75, 0xe, 0xe, 0, 0},
9730 {0x76, 0xe, 0xe, 0, 0},
9731 {0x77, 0x13, 0x13, 0, 0},
9732 {0x78, 0x13, 0x13, 0, 0},
9733 {0x79, 0x1b, 0x1b, 0, 0},
9734 {0x7A, 0x1b, 0x1b, 0, 0},
9735 {0x7B, 0x55, 0x55, 0, 0},
9736 {0x7C, 0x5b, 0x5b, 0, 0},
9737 {0x7D, 0x30, 0x30, 1, 1},
9759 {0x93, 0x70, 0x70, 0, 0},
9760 {0x94, 0x70, 0x70, 0, 0},
9761 {0x95, 0x70, 0x70, 0, 0},
9762 {0x96, 0x70, 0x70, 0, 0},
9763 {0x97, 0x70, 0x70, 0, 0},
9764 {0x98, 0x70, 0x70, 0, 0},
9765 {0x99, 0x70, 0x70, 0, 0},
9766 {0x9A, 0x70, 0x70, 0, 0},
9767 {0xFFFF, 0, 0, 0, 0}
9770 radio_regs_t regs_RX_2056_rev6[] = {
9801 {0x20, 0x3, 0x3, 0, 0},
9804 {0x23, 0x90, 0x90, 0, 0},
9805 {0x24, 0x55, 0x55, 0, 0},
9806 {0x25, 0x15, 0x15, 0, 0},
9807 {0x26, 0x5, 0x5, 0, 0},
9808 {0x27, 0x15, 0x15, 0, 0},
9809 {0x28, 0x5, 0x5, 0, 0},
9810 {0x29, 0x20, 0x20, 0, 0},
9811 {0x2A, 0x11, 0x11, 0, 0},
9812 {0x2B, 0x90, 0x90, 0, 0},
9814 {0x2D, 0x88, 0x88, 0, 0},
9815 {0x2E, 0x32, 0x32, 0, 0},
9816 {0x2F, 0x77, 0x77, 0, 0},
9817 {0x30, 0x17, 0x17, 1, 1},
9818 {0x31, 0xff, 0xff, 1, 1},
9819 {0x32, 0x20, 0x20, 0, 0},
9821 {0x34, 0x88, 0x88, 0, 0},
9822 {0x35, 0x32, 0x32, 0, 0},
9823 {0x36, 0x77, 0x77, 0, 0},
9824 {0x37, 0x17, 0x17, 1, 1},
9825 {0x38, 0xf0, 0xf0, 1, 1},
9826 {0x39, 0x20, 0x20, 0, 0},
9827 {0x3A, 0x8, 0x8, 0, 0},
9828 {0x3B, 0x55, 0x55, 1, 1},
9830 {0x3D, 0x88, 0x88, 1, 1},
9832 {0x3F, 0x44, 0x44, 0, 0},
9833 {0x40, 0x7, 0x7, 1, 1},
9834 {0x41, 0x6, 0x6, 0, 0},
9835 {0x42, 0x4, 0x4, 0, 0},
9837 {0x44, 0x8, 0x8, 0, 0},
9838 {0x45, 0x55, 0x55, 1, 1},
9840 {0x47, 0x11, 0x11, 0, 0},
9842 {0x49, 0x44, 0x44, 0, 0},
9843 {0x4A, 0x7, 0x7, 0, 0},
9844 {0x4B, 0x6, 0x6, 0, 0},
9845 {0x4C, 0x4, 0x4, 0, 0},
9848 {0x4F, 0x26, 0x26, 1, 1},
9849 {0x50, 0x26, 0x26, 1, 1},
9850 {0x51, 0xf, 0xf, 1, 1},
9851 {0x52, 0xf, 0xf, 1, 1},
9852 {0x53, 0x44, 0x44, 0, 0},
9855 {0x56, 0x8, 0x8, 0, 0},
9856 {0x57, 0x8, 0x8, 0, 0},
9857 {0x58, 0x7, 0x7, 0, 0},
9858 {0x59, 0x22, 0x22, 0, 0},
9859 {0x5A, 0x22, 0x22, 0, 0},
9860 {0x5B, 0x2, 0x2, 0, 0},
9861 {0x5C, 0x4, 0x4, 1, 1},
9862 {0x5D, 0x7, 0x7, 0, 0},
9863 {0x5E, 0x55, 0x55, 0, 0},
9864 {0x5F, 0x23, 0x23, 0, 0},
9865 {0x60, 0x41, 0x41, 0, 0},
9866 {0x61, 0x1, 0x1, 0, 0},
9867 {0x62, 0xa, 0xa, 0, 0},
9876 {0x6B, 0xc, 0xc, 0, 0},
9883 {0x72, 0x22, 0x22, 0, 0},
9884 {0x73, 0x22, 0x22, 0, 0},
9886 {0x75, 0xa, 0xa, 0, 0},
9887 {0x76, 0x1, 0x1, 0, 0},
9888 {0x77, 0x22, 0x22, 0, 0},
9889 {0x78, 0x30, 0x30, 0, 0},
9894 {0x7D, 0x5, 0x5, 1, 1},
9918 {0xFFFF, 0, 0, 0, 0}
9921 radio_regs_t regs_SYN_2056_rev7[] = {
9929 {0x09, 0x1, 0x1, 0, 0},
9954 {0x22, 0x60, 0x60, 0, 0},
9955 {0x23, 0x6, 0x6, 0, 0},
9956 {0x24, 0xc, 0xc, 0, 0},
9960 {0x28, 0x1, 0x1, 0, 0},
9967 {0x2F, 0x1f, 0x1f, 0, 0},
9968 {0x30, 0x15, 0x15, 0, 0},
9969 {0x31, 0xf, 0xf, 0, 0},
9980 {0x3C, 0x13, 0x13, 0, 0},
9981 {0x3D, 0xf, 0xf, 0, 0},
9982 {0x3E, 0x18, 0x18, 0, 0},
9985 {0x41, 0x20, 0x20, 0, 0},
9986 {0x42, 0x20, 0x20, 0, 0},
9988 {0x44, 0x77, 0x77, 0, 0},
9989 {0x45, 0x7, 0x7, 0, 0},
9990 {0x46, 0x1, 0x1, 0, 0},
9991 {0x47, 0x4, 0x4, 0, 0},
9992 {0x48, 0xf, 0xf, 0, 0},
9993 {0x49, 0x30, 0x30, 0, 0},
9994 {0x4A, 0x32, 0x32, 0, 0},
9995 {0x4B, 0xd, 0xd, 0, 0},
9996 {0x4C, 0xd, 0xd, 0, 0},
9997 {0x4D, 0x4, 0x4, 0, 0},
9998 {0x4E, 0x6, 0x6, 0, 0},
9999 {0x4F, 0x1, 0x1, 0, 0},
10000 {0x50, 0x1c, 0x1c, 0, 0},
10001 {0x51, 0x2, 0x2, 0, 0},
10002 {0x52, 0x2, 0x2, 0, 0},
10003 {0x53, 0xf7, 0xf7, 1, 1},
10004 {0x54, 0xb4, 0xb4, 0, 0},
10005 {0x55, 0xd2, 0xd2, 0, 0},
10006 {0x56, 0, 0, 0, 0},
10007 {0x57, 0, 0, 0, 0},
10008 {0x58, 0x4, 0x4, 0, 0},
10009 {0x59, 0x96, 0x96, 0, 0},
10010 {0x5A, 0x3e, 0x3e, 0, 0},
10011 {0x5B, 0x3e, 0x3e, 0, 0},
10012 {0x5C, 0x13, 0x13, 0, 0},
10013 {0x5D, 0x2, 0x2, 0, 0},
10014 {0x5E, 0, 0, 0, 0},
10015 {0x5F, 0x7, 0x7, 0, 0},
10016 {0x60, 0x7, 0x7, 1, 1},
10017 {0x61, 0x8, 0x8, 0, 0},
10018 {0x62, 0x3, 0x3, 0, 0},
10019 {0x63, 0, 0, 0, 0},
10020 {0x64, 0, 0, 0, 0},
10021 {0x65, 0, 0, 0, 0},
10022 {0x66, 0, 0, 0, 0},
10023 {0x67, 0, 0, 0, 0},
10024 {0x68, 0x40, 0x40, 0, 0},
10025 {0x69, 0, 0, 0, 0},
10026 {0x6A, 0, 0, 0, 0},
10027 {0x6B, 0, 0, 0, 0},
10028 {0x6C, 0, 0, 0, 0},
10029 {0x6D, 0x1, 0x1, 0, 0},
10030 {0x6E, 0, 0, 0, 0},
10031 {0x6F, 0, 0, 0, 0},
10032 {0x70, 0x60, 0x60, 0, 0},
10033 {0x71, 0x66, 0x66, 0, 0},
10034 {0x72, 0xc, 0xc, 0, 0},
10035 {0x73, 0x66, 0x66, 0, 0},
10036 {0x74, 0x8f, 0x8f, 1, 1},
10037 {0x75, 0, 0, 0, 0},
10038 {0x76, 0xcc, 0xcc, 0, 0},
10039 {0x77, 0x1, 0x1, 0, 0},
10040 {0x78, 0x66, 0x66, 0, 0},
10041 {0x79, 0x66, 0x66, 0, 0},
10042 {0x7A, 0, 0, 0, 0},
10043 {0x7B, 0, 0, 0, 0},
10044 {0x7C, 0, 0, 0, 0},
10045 {0x7D, 0, 0, 0, 0},
10046 {0x7E, 0, 0, 0, 0},
10047 {0x7F, 0, 0, 0, 0},
10048 {0x80, 0, 0, 0, 0},
10049 {0x81, 0, 0, 0, 0},
10050 {0x82, 0, 0, 0, 0},
10051 {0x83, 0, 0, 0, 0},
10052 {0x84, 0, 0, 0, 0},
10053 {0x85, 0xff, 0xff, 0, 0},
10054 {0x86, 0, 0, 0, 0},
10055 {0x87, 0, 0, 0, 0},
10056 {0x88, 0, 0, 0, 0},
10057 {0x89, 0, 0, 0, 0},
10058 {0x8A, 0, 0, 0, 0},
10059 {0x8B, 0, 0, 0, 0},
10060 {0x8C, 0, 0, 0, 0},
10061 {0x8D, 0, 0, 0, 0},
10062 {0x8E, 0, 0, 0, 0},
10063 {0x8F, 0, 0, 0, 0},
10064 {0x90, 0, 0, 0, 0},
10065 {0x91, 0, 0, 0, 0},
10066 {0x92, 0, 0, 0, 0},
10067 {0x93, 0, 0, 0, 0},
10068 {0x94, 0, 0, 0, 0},
10069 {0x95, 0, 0, 0, 0},
10070 {0x96, 0, 0, 0, 0},
10071 {0x97, 0, 0, 0, 0},
10072 {0x98, 0, 0, 0, 0},
10073 {0x99, 0, 0, 0, 0},
10074 {0x9A, 0, 0, 0, 0},
10075 {0x9B, 0, 0, 0, 0},
10076 {0x9C, 0, 0, 0, 0},
10077 {0x9D, 0, 0, 0, 0},
10078 {0x9E, 0, 0, 0, 0},
10079 {0x9F, 0x6, 0x6, 0, 0},
10080 {0xA0, 0x66, 0x66, 0, 0},
10081 {0xA1, 0x66, 0x66, 0, 0},
10082 {0xA2, 0x66, 0x66, 0, 0},
10083 {0xA3, 0x66, 0x66, 0, 0},
10084 {0xA4, 0x66, 0x66, 0, 0},
10085 {0xA5, 0x66, 0x66, 0, 0},
10086 {0xA6, 0x66, 0x66, 0, 0},
10087 {0xA7, 0x66, 0x66, 0, 0},
10088 {0xA8, 0x66, 0x66, 0, 0},
10089 {0xA9, 0x66, 0x66, 0, 0},
10090 {0xAA, 0x66, 0x66, 0, 0},
10091 {0xAB, 0x66, 0x66, 0, 0},
10092 {0xAC, 0x66, 0x66, 0, 0},
10093 {0xAD, 0x66, 0x66, 0, 0},
10094 {0xAE, 0x66, 0x66, 0, 0},
10095 {0xAF, 0x66, 0x66, 0, 0},
10096 {0xB0, 0x66, 0x66, 0, 0},
10097 {0xB1, 0x66, 0x66, 0, 0},
10098 {0xB2, 0x66, 0x66, 0, 0},
10099 {0xB3, 0xa, 0xa, 0, 0},
10100 {0xB4, 0, 0, 0, 0},
10101 {0xB5, 0, 0, 0, 0},
10102 {0xB6, 0, 0, 0, 0},
10103 {0xFFFF, 0, 0, 0, 0},
10106 radio_regs_t regs_TX_2056_rev7[] = {
10107 {0x02, 0, 0, 0, 0},
10108 {0x03, 0, 0, 0, 0},
10109 {0x04, 0, 0, 0, 0},
10110 {0x05, 0, 0, 0, 0},
10111 {0x06, 0, 0, 0, 0},
10112 {0x07, 0, 0, 0, 0},
10113 {0x08, 0, 0, 0, 0},
10114 {0x09, 0, 0, 0, 0},
10115 {0x0A, 0, 0, 0, 0},
10116 {0x0B, 0, 0, 0, 0},
10117 {0x0C, 0, 0, 0, 0},
10118 {0x0D, 0, 0, 0, 0},
10119 {0x0E, 0, 0, 0, 0},
10120 {0x0F, 0, 0, 0, 0},
10121 {0x10, 0, 0, 0, 0},
10122 {0x11, 0, 0, 0, 0},
10123 {0x12, 0, 0, 0, 0},
10124 {0x13, 0, 0, 0, 0},
10125 {0x14, 0, 0, 0, 0},
10126 {0x15, 0, 0, 0, 0},
10127 {0x16, 0, 0, 0, 0},
10128 {0x17, 0, 0, 0, 0},
10129 {0x18, 0, 0, 0, 0},
10130 {0x19, 0, 0, 0, 0},
10131 {0x1A, 0, 0, 0, 0},
10132 {0x1B, 0, 0, 0, 0},
10133 {0x1C, 0, 0, 0, 0},
10134 {0x1D, 0, 0, 0, 0},
10135 {0x1E, 0, 0, 0, 0},
10136 {0x1F, 0, 0, 0, 0},
10137 {0x20, 0, 0, 0, 0},
10138 {0x21, 0x88, 0x88, 0, 0},
10139 {0x22, 0x88, 0x88, 0, 0},
10140 {0x23, 0x88, 0x88, 0, 0},
10141 {0x24, 0x88, 0x88, 0, 0},
10142 {0x25, 0xc, 0xc, 0, 0},
10143 {0x26, 0, 0, 0, 0},
10144 {0x27, 0x3, 0x3, 0, 0},
10145 {0x28, 0, 0, 0, 0},
10146 {0x29, 0x3, 0x3, 0, 0},
10147 {0x2A, 0x37, 0x37, 0, 0},
10148 {0x2B, 0x3, 0x3, 0, 0},
10149 {0x2C, 0, 0, 0, 0},
10150 {0x2D, 0, 0, 0, 0},
10151 {0x2E, 0x1, 0x1, 0, 0},
10152 {0x2F, 0x1, 0x1, 0, 0},
10153 {0x30, 0, 0, 0, 0},
10154 {0x31, 0, 0, 0, 0},
10155 {0x32, 0, 0, 0, 0},
10156 {0x33, 0x11, 0x11, 0, 0},
10157 {0x34, 0xee, 0xee, 1, 1},
10158 {0x35, 0, 0, 0, 0},
10159 {0x36, 0, 0, 0, 0},
10160 {0x37, 0x3, 0x3, 0, 0},
10161 {0x38, 0x50, 0x50, 1, 1},
10162 {0x39, 0, 0, 0, 0},
10163 {0x3A, 0x50, 0x50, 1, 1},
10164 {0x3B, 0, 0, 0, 0},
10165 {0x3C, 0x6e, 0x6e, 0, 0},
10166 {0x3D, 0xf0, 0xf0, 1, 1},
10167 {0x3E, 0, 0, 0, 0},
10168 {0x3F, 0, 0, 0, 0},
10169 {0x40, 0, 0, 0, 0},
10170 {0x41, 0x3, 0x3, 0, 0},
10171 {0x42, 0x3, 0x3, 0, 0},
10172 {0x43, 0, 0, 0, 0},
10173 {0x44, 0x1e, 0x1e, 0, 0},
10174 {0x45, 0, 0, 0, 0},
10175 {0x46, 0x6e, 0x6e, 0, 0},
10176 {0x47, 0xf0, 0xf0, 1, 1},
10177 {0x48, 0, 0, 0, 0},
10178 {0x49, 0x2, 0x2, 0, 0},
10179 {0x4A, 0xff, 0xff, 1, 1},
10180 {0x4B, 0xc, 0xc, 0, 0},
10181 {0x4C, 0, 0, 0, 0},
10182 {0x4D, 0x38, 0x38, 0, 0},
10183 {0x4E, 0x70, 0x70, 1, 1},
10184 {0x4F, 0x2, 0x2, 0, 0},
10185 {0x50, 0x88, 0x88, 0, 0},
10186 {0x51, 0xc, 0xc, 0, 0},
10187 {0x52, 0, 0, 0, 0},
10188 {0x53, 0x8, 0x8, 0, 0},
10189 {0x54, 0x70, 0x70, 1, 1},
10190 {0x55, 0x2, 0x2, 0, 0},
10191 {0x56, 0xff, 0xff, 1, 1},
10192 {0x57, 0, 0, 0, 0},
10193 {0x58, 0x83, 0x83, 0, 0},
10194 {0x59, 0x77, 0x77, 1, 1},
10195 {0x5A, 0, 0, 0, 0},
10196 {0x5B, 0x2, 0x2, 0, 0},
10197 {0x5C, 0x88, 0x88, 0, 0},
10198 {0x5D, 0, 0, 0, 0},
10199 {0x5E, 0x8, 0x8, 0, 0},
10200 {0x5F, 0x77, 0x77, 1, 1},
10201 {0x60, 0x1, 0x1, 0, 0},
10202 {0x61, 0, 0, 0, 0},
10203 {0x62, 0x7, 0x7, 0, 0},
10204 {0x63, 0, 0, 0, 0},
10205 {0x64, 0x7, 0x7, 0, 0},
10206 {0x65, 0, 0, 0, 0},
10207 {0x66, 0, 0, 0, 0},
10208 {0x67, 0, 0, 1, 1},
10209 {0x68, 0, 0, 0, 0},
10210 {0x69, 0xa, 0xa, 0, 0},
10211 {0x6A, 0, 0, 0, 0},
10212 {0x6B, 0, 0, 0, 0},
10213 {0x6C, 0, 0, 0, 0},
10214 {0x6D, 0, 0, 0, 0},
10215 {0x6E, 0, 0, 0, 0},
10216 {0x6F, 0, 0, 0, 0},
10217 {0x70, 0, 0, 0, 0},
10218 {0x71, 0x2, 0x2, 0, 0},
10219 {0x72, 0, 0, 0, 0},
10220 {0x73, 0, 0, 0, 0},
10221 {0x74, 0xe, 0xe, 0, 0},
10222 {0x75, 0xe, 0xe, 0, 0},
10223 {0x76, 0xe, 0xe, 0, 0},
10224 {0x77, 0x13, 0x13, 0, 0},
10225 {0x78, 0x13, 0x13, 0, 0},
10226 {0x79, 0x1b, 0x1b, 0, 0},
10227 {0x7A, 0x1b, 0x1b, 0, 0},
10228 {0x7B, 0x55, 0x55, 0, 0},
10229 {0x7C, 0x5b, 0x5b, 0, 0},
10230 {0x7D, 0x30, 0x30, 1, 1},
10231 {0x7E, 0, 0, 0, 0},
10232 {0x7F, 0, 0, 0, 0},
10233 {0x80, 0, 0, 0, 0},
10234 {0x81, 0, 0, 0, 0},
10235 {0x82, 0, 0, 0, 0},
10236 {0x83, 0, 0, 0, 0},
10237 {0x84, 0, 0, 0, 0},
10238 {0x85, 0, 0, 0, 0},
10239 {0x86, 0, 0, 0, 0},
10240 {0x87, 0, 0, 0, 0},
10241 {0x88, 0, 0, 0, 0},
10242 {0x89, 0, 0, 0, 0},
10243 {0x8A, 0, 0, 0, 0},
10244 {0x8B, 0, 0, 0, 0},
10245 {0x8C, 0, 0, 0, 0},
10246 {0x8D, 0, 0, 0, 0},
10247 {0x8E, 0, 0, 0, 0},
10248 {0x8F, 0, 0, 0, 0},
10249 {0x90, 0, 0, 0, 0},
10250 {0x91, 0, 0, 0, 0},
10251 {0x92, 0, 0, 0, 0},
10252 {0x93, 0x70, 0x70, 0, 0},
10253 {0x94, 0x70, 0x70, 0, 0},
10254 {0x95, 0x71, 0x71, 1, 1},
10255 {0x96, 0x71, 0x71, 1, 1},
10256 {0x97, 0x72, 0x72, 1, 1},
10257 {0x98, 0x73, 0x73, 1, 1},
10258 {0x99, 0x74, 0x74, 1, 1},
10259 {0x9A, 0x75, 0x75, 1, 1},
10260 {0xFFFF, 0, 0, 0, 0},
10263 radio_regs_t regs_RX_2056_rev7[] = {
10264 {0x02, 0, 0, 0, 0},
10265 {0x03, 0, 0, 0, 0},
10266 {0x04, 0, 0, 0, 0},
10267 {0x05, 0, 0, 0, 0},
10268 {0x06, 0, 0, 0, 0},
10269 {0x07, 0, 0, 0, 0},
10270 {0x08, 0, 0, 0, 0},
10271 {0x09, 0, 0, 0, 0},
10272 {0x0A, 0, 0, 0, 0},
10273 {0x0B, 0, 0, 0, 0},
10274 {0x0C, 0, 0, 0, 0},
10275 {0x0D, 0, 0, 0, 0},
10276 {0x0E, 0, 0, 0, 0},
10277 {0x0F, 0, 0, 0, 0},
10278 {0x10, 0, 0, 0, 0},
10279 {0x11, 0, 0, 0, 0},
10280 {0x12, 0, 0, 0, 0},
10281 {0x13, 0, 0, 0, 0},
10282 {0x14, 0, 0, 0, 0},
10283 {0x15, 0, 0, 0, 0},
10284 {0x16, 0, 0, 0, 0},
10285 {0x17, 0, 0, 0, 0},
10286 {0x18, 0, 0, 0, 0},
10287 {0x19, 0, 0, 0, 0},
10288 {0x1A, 0, 0, 0, 0},
10289 {0x1B, 0, 0, 0, 0},
10290 {0x1C, 0, 0, 0, 0},
10291 {0x1D, 0, 0, 0, 0},
10292 {0x1E, 0, 0, 0, 0},
10293 {0x1F, 0, 0, 0, 0},
10294 {0x20, 0x3, 0x3, 0, 0},
10295 {0x21, 0, 0, 0, 0},
10296 {0x22, 0, 0, 0, 0},
10297 {0x23, 0x90, 0x90, 0, 0},
10298 {0x24, 0x55, 0x55, 0, 0},
10299 {0x25, 0x15, 0x15, 0, 0},
10300 {0x26, 0x5, 0x5, 0, 0},
10301 {0x27, 0x15, 0x15, 0, 0},
10302 {0x28, 0x5, 0x5, 0, 0},
10303 {0x29, 0x20, 0x20, 0, 0},
10304 {0x2A, 0x11, 0x11, 0, 0},
10305 {0x2B, 0x90, 0x90, 0, 0},
10306 {0x2C, 0, 0, 0, 0},
10307 {0x2D, 0x88, 0x88, 0, 0},
10308 {0x2E, 0x32, 0x32, 0, 0},
10309 {0x2F, 0x77, 0x77, 0, 0},
10310 {0x30, 0x17, 0x17, 1, 1},
10311 {0x31, 0xff, 0xff, 1, 1},
10312 {0x32, 0x20, 0x20, 0, 0},
10313 {0x33, 0, 0, 0, 0},
10314 {0x34, 0x88, 0x88, 0, 0},
10315 {0x35, 0x32, 0x32, 0, 0},
10316 {0x36, 0x77, 0x77, 0, 0},
10317 {0x37, 0x17, 0x17, 1, 1},
10318 {0x38, 0xf0, 0xf0, 1, 1},
10319 {0x39, 0x20, 0x20, 0, 0},
10320 {0x3A, 0x8, 0x8, 0, 0},
10321 {0x3B, 0x55, 0x55, 1, 1},
10322 {0x3C, 0, 0, 0, 0},
10323 {0x3D, 0x88, 0x88, 1, 1},
10324 {0x3E, 0, 0, 0, 0},
10325 {0x3F, 0, 0, 1, 1},
10326 {0x40, 0x7, 0x7, 1, 1},
10327 {0x41, 0x6, 0x6, 0, 0},
10328 {0x42, 0x4, 0x4, 0, 0},
10329 {0x43, 0, 0, 0, 0},
10330 {0x44, 0x8, 0x8, 0, 0},
10331 {0x45, 0x55, 0x55, 1, 1},
10332 {0x46, 0, 0, 0, 0},
10333 {0x47, 0x11, 0x11, 0, 0},
10334 {0x48, 0, 0, 0, 0},
10335 {0x49, 0, 0, 1, 1},
10336 {0x4A, 0x7, 0x7, 0, 0},
10337 {0x4B, 0x6, 0x6, 0, 0},
10338 {0x4C, 0x4, 0x4, 0, 0},
10339 {0x4D, 0, 0, 0, 0},
10340 {0x4E, 0, 0, 0, 0},
10341 {0x4F, 0x26, 0x26, 1, 1},
10342 {0x50, 0x26, 0x26, 1, 1},
10343 {0x51, 0xf, 0xf, 1, 1},
10344 {0x52, 0xf, 0xf, 1, 1},
10345 {0x53, 0x44, 0x44, 0, 0},
10346 {0x54, 0, 0, 0, 0},
10347 {0x55, 0, 0, 0, 0},
10348 {0x56, 0x8, 0x8, 0, 0},
10349 {0x57, 0x8, 0x8, 0, 0},
10350 {0x58, 0x7, 0x7, 0, 0},
10351 {0x59, 0x22, 0x22, 0, 0},
10352 {0x5A, 0x22, 0x22, 0, 0},
10353 {0x5B, 0x2, 0x2, 0, 0},
10354 {0x5C, 0x4, 0x4, 1, 1},
10355 {0x5D, 0x7, 0x7, 0, 0},
10356 {0x5E, 0x55, 0x55, 0, 0},
10357 {0x5F, 0x23, 0x23, 0, 0},
10358 {0x60, 0x41, 0x41, 0, 0},
10359 {0x61, 0x1, 0x1, 0, 0},
10360 {0x62, 0xa, 0xa, 0, 0},
10361 {0x63, 0, 0, 0, 0},
10362 {0x64, 0, 0, 0, 0},
10363 {0x65, 0, 0, 0, 0},
10364 {0x66, 0, 0, 0, 0},
10365 {0x67, 0, 0, 0, 0},
10366 {0x68, 0, 0, 0, 0},
10367 {0x69, 0, 0, 0, 0},
10368 {0x6A, 0, 0, 0, 0},
10369 {0x6B, 0xc, 0xc, 0, 0},
10370 {0x6C, 0, 0, 0, 0},
10371 {0x6D, 0, 0, 0, 0},
10372 {0x6E, 0, 0, 0, 0},
10373 {0x6F, 0, 0, 0, 0},
10374 {0x70, 0, 0, 0, 0},
10375 {0x71, 0, 0, 0, 0},
10376 {0x72, 0x22, 0x22, 0, 0},
10377 {0x73, 0x22, 0x22, 0, 0},
10378 {0x74, 0, 0, 1, 1},
10379 {0x75, 0xa, 0xa, 0, 0},
10380 {0x76, 0x1, 0x1, 0, 0},
10381 {0x77, 0x22, 0x22, 0, 0},
10382 {0x78, 0x30, 0x30, 0, 0},
10383 {0x79, 0, 0, 0, 0},
10384 {0x7A, 0, 0, 0, 0},
10385 {0x7B, 0, 0, 0, 0},
10386 {0x7C, 0, 0, 0, 0},
10387 {0x7D, 0, 0, 0, 0},
10388 {0x7E, 0, 0, 0, 0},
10389 {0x7F, 0, 0, 0, 0},
10390 {0x80, 0, 0, 0, 0},
10391 {0x81, 0, 0, 0, 0},
10392 {0x82, 0, 0, 0, 0},
10393 {0x83, 0, 0, 0, 0},
10394 {0x84, 0, 0, 0, 0},
10395 {0x85, 0, 0, 0, 0},
10396 {0x86, 0, 0, 0, 0},
10397 {0x87, 0, 0, 0, 0},
10398 {0x88, 0, 0, 0, 0},
10399 {0x89, 0, 0, 0, 0},
10400 {0x8A, 0, 0, 0, 0},
10401 {0x8B, 0, 0, 0, 0},
10402 {0x8C, 0, 0, 0, 0},
10403 {0x8D, 0, 0, 0, 0},
10404 {0x8E, 0, 0, 0, 0},
10405 {0x8F, 0, 0, 0, 0},
10406 {0x90, 0, 0, 0, 0},
10407 {0x91, 0, 0, 0, 0},
10408 {0x92, 0, 0, 0, 0},
10409 {0x93, 0, 0, 0, 0},
10410 {0x94, 0, 0, 0, 0},
10411 {0xFFFF, 0, 0, 0, 0},
10414 radio_regs_t regs_SYN_2056_rev8[] = {
10415 {0x02, 0, 0, 0, 0},
10416 {0x03, 0, 0, 0, 0},
10417 {0x04, 0, 0, 0, 0},
10418 {0x05, 0, 0, 0, 0},
10419 {0x06, 0, 0, 0, 0},
10420 {0x07, 0, 0, 0, 0},
10421 {0x08, 0, 0, 0, 0},
10422 {0x09, 0x1, 0x1, 0, 0},
10423 {0x0A, 0, 0, 0, 0},
10424 {0x0B, 0, 0, 0, 0},
10425 {0x0C, 0, 0, 0, 0},
10426 {0x0D, 0, 0, 0, 0},
10427 {0x0E, 0, 0, 0, 0},
10428 {0x0F, 0, 0, 0, 0},
10429 {0x10, 0, 0, 0, 0},
10430 {0x11, 0, 0, 0, 0},
10431 {0x12, 0, 0, 0, 0},
10432 {0x13, 0, 0, 0, 0},
10433 {0x14, 0, 0, 0, 0},
10434 {0x15, 0, 0, 0, 0},
10435 {0x16, 0, 0, 0, 0},
10436 {0x17, 0, 0, 0, 0},
10437 {0x18, 0, 0, 0, 0},
10438 {0x19, 0, 0, 0, 0},
10439 {0x1A, 0, 0, 0, 0},
10440 {0x1B, 0, 0, 0, 0},
10441 {0x1C, 0, 0, 0, 0},
10442 {0x1D, 0, 0, 0, 0},
10443 {0x1E, 0, 0, 0, 0},
10444 {0x1F, 0, 0, 0, 0},
10445 {0x20, 0, 0, 0, 0},
10446 {0x21, 0, 0, 0, 0},
10447 {0x22, 0x60, 0x60, 0, 0},
10448 {0x23, 0x6, 0x6, 0, 0},
10449 {0x24, 0xc, 0xc, 0, 0},
10450 {0x25, 0, 0, 0, 0},
10451 {0x26, 0, 0, 0, 0},
10452 {0x27, 0, 0, 0, 0},
10453 {0x28, 0x1, 0x1, 0, 0},
10454 {0x29, 0, 0, 0, 0},
10455 {0x2A, 0, 0, 0, 0},
10456 {0x2B, 0, 0, 0, 0},
10457 {0x2C, 0, 0, 0, 0},
10458 {0x2D, 0, 0, 0, 0},
10459 {0x2E, 0, 0, 0, 0},
10460 {0x2F, 0x1f, 0x1f, 0, 0},
10461 {0x30, 0x15, 0x15, 0, 0},
10462 {0x31, 0xf, 0xf, 0, 0},
10463 {0x32, 0, 0, 0, 0},
10464 {0x33, 0, 0, 0, 0},
10465 {0x34, 0, 0, 0, 0},
10466 {0x35, 0, 0, 0, 0},
10467 {0x36, 0, 0, 0, 0},
10468 {0x37, 0, 0, 0, 0},
10469 {0x38, 0, 0, 0, 0},
10470 {0x39, 0, 0, 0, 0},
10471 {0x3A, 0, 0, 0, 0},
10472 {0x3B, 0, 0, 0, 0},
10473 {0x3C, 0x13, 0x13, 0, 0},
10474 {0x3D, 0xf, 0xf, 0, 0},
10475 {0x3E, 0x18, 0x18, 0, 0},
10476 {0x3F, 0, 0, 0, 0},
10477 {0x40, 0, 0, 0, 0},
10478 {0x41, 0x20, 0x20, 0, 0},
10479 {0x42, 0x20, 0x20, 0, 0},
10480 {0x43, 0, 0, 0, 0},
10481 {0x44, 0x77, 0x77, 0, 0},
10482 {0x45, 0x7, 0x7, 0, 0},
10483 {0x46, 0x1, 0x1, 0, 0},
10484 {0x47, 0x4, 0x4, 0, 0},
10485 {0x48, 0xf, 0xf, 0, 0},
10486 {0x49, 0x30, 0x30, 0, 0},
10487 {0x4A, 0x32, 0x32, 0, 0},
10488 {0x4B, 0xd, 0xd, 0, 0},
10489 {0x4C, 0xd, 0xd, 0, 0},
10490 {0x4D, 0x4, 0x4, 0, 0},
10491 {0x4E, 0x6, 0x6, 0, 0},
10492 {0x4F, 0x1, 0x1, 0, 0},
10493 {0x50, 0x1c, 0x1c, 0, 0},
10494 {0x51, 0x2, 0x2, 0, 0},
10495 {0x52, 0x2, 0x2, 0, 0},
10496 {0x53, 0xf7, 0xf7, 1, 1},
10497 {0x54, 0xb4, 0xb4, 0, 0},
10498 {0x55, 0xd2, 0xd2, 0, 0},
10499 {0x56, 0, 0, 0, 0},
10500 {0x57, 0, 0, 0, 0},
10501 {0x58, 0x4, 0x4, 0, 0},
10502 {0x59, 0x96, 0x96, 0, 0},
10503 {0x5A, 0x3e, 0x3e, 0, 0},
10504 {0x5B, 0x3e, 0x3e, 0, 0},
10505 {0x5C, 0x13, 0x13, 0, 0},
10506 {0x5D, 0x2, 0x2, 0, 0},
10507 {0x5E, 0, 0, 0, 0},
10508 {0x5F, 0x7, 0x7, 0, 0},
10509 {0x60, 0x7, 0x7, 1, 1},
10510 {0x61, 0x8, 0x8, 0, 0},
10511 {0x62, 0x3, 0x3, 0, 0},
10512 {0x63, 0, 0, 0, 0},
10513 {0x64, 0, 0, 0, 0},
10514 {0x65, 0, 0, 0, 0},
10515 {0x66, 0, 0, 0, 0},
10516 {0x67, 0, 0, 0, 0},
10517 {0x68, 0x40, 0x40, 0, 0},
10518 {0x69, 0, 0, 0, 0},
10519 {0x6A, 0, 0, 0, 0},
10520 {0x6B, 0, 0, 0, 0},
10521 {0x6C, 0, 0, 0, 0},
10522 {0x6D, 0x1, 0x1, 0, 0},
10523 {0x6E, 0, 0, 0, 0},
10524 {0x6F, 0, 0, 0, 0},
10525 {0x70, 0x60, 0x60, 0, 0},
10526 {0x71, 0x66, 0x66, 0, 0},
10527 {0x72, 0xc, 0xc, 0, 0},
10528 {0x73, 0x66, 0x66, 0, 0},
10529 {0x74, 0x8f, 0x8f, 1, 1},
10530 {0x75, 0, 0, 0, 0},
10531 {0x76, 0xcc, 0xcc, 0, 0},
10532 {0x77, 0x1, 0x1, 0, 0},
10533 {0x78, 0x66, 0x66, 0, 0},
10534 {0x79, 0x66, 0x66, 0, 0},
10535 {0x7A, 0, 0, 0, 0},
10536 {0x7B, 0, 0, 0, 0},
10537 {0x7C, 0, 0, 0, 0},
10538 {0x7D, 0, 0, 0, 0},
10539 {0x7E, 0, 0, 0, 0},
10540 {0x7F, 0, 0, 0, 0},
10541 {0x80, 0, 0, 0, 0},
10542 {0x81, 0, 0, 0, 0},
10543 {0x82, 0, 0, 0, 0},
10544 {0x83, 0, 0, 0, 0},
10545 {0x84, 0, 0, 0, 0},
10546 {0x85, 0xff, 0xff, 0, 0},
10547 {0x86, 0, 0, 0, 0},
10548 {0x87, 0, 0, 0, 0},
10549 {0x88, 0, 0, 0, 0},
10550 {0x89, 0, 0, 0, 0},
10551 {0x8A, 0, 0, 0, 0},
10552 {0x8B, 0, 0, 0, 0},
10553 {0x8C, 0, 0, 0, 0},
10554 {0x8D, 0, 0, 0, 0},
10555 {0x8E, 0, 0, 0, 0},
10556 {0x8F, 0, 0, 0, 0},
10557 {0x90, 0, 0, 0, 0},
10558 {0x91, 0, 0, 0, 0},
10559 {0x92, 0, 0, 0, 0},
10560 {0x93, 0, 0, 0, 0},
10561 {0x94, 0, 0, 0, 0},
10562 {0x95, 0, 0, 0, 0},
10563 {0x96, 0, 0, 0, 0},
10564 {0x97, 0, 0, 0, 0},
10565 {0x98, 0, 0, 0, 0},
10566 {0x99, 0, 0, 0, 0},
10567 {0x9A, 0, 0, 0, 0},
10568 {0x9B, 0, 0, 0, 0},
10569 {0x9C, 0, 0, 0, 0},
10570 {0x9D, 0, 0, 0, 0},
10571 {0x9E, 0, 0, 0, 0},
10572 {0x9F, 0x6, 0x6, 0, 0},
10573 {0xA0, 0x66, 0x66, 0, 0},
10574 {0xA1, 0x66, 0x66, 0, 0},
10575 {0xA2, 0x66, 0x66, 0, 0},
10576 {0xA3, 0x66, 0x66, 0, 0},
10577 {0xA4, 0x66, 0x66, 0, 0},
10578 {0xA5, 0x66, 0x66, 0, 0},
10579 {0xA6, 0x66, 0x66, 0, 0},
10580 {0xA7, 0x66, 0x66, 0, 0},
10581 {0xA8, 0x66, 0x66, 0, 0},
10582 {0xA9, 0x66, 0x66, 0, 0},
10583 {0xAA, 0x66, 0x66, 0, 0},
10584 {0xAB, 0x66, 0x66, 0, 0},
10585 {0xAC, 0x66, 0x66, 0, 0},
10586 {0xAD, 0x66, 0x66, 0, 0},
10587 {0xAE, 0x66, 0x66, 0, 0},
10588 {0xAF, 0x66, 0x66, 0, 0},
10589 {0xB0, 0x66, 0x66, 0, 0},
10590 {0xB1, 0x66, 0x66, 0, 0},
10591 {0xB2, 0x66, 0x66, 0, 0},
10592 {0xB3, 0xa, 0xa, 0, 0},
10593 {0xB4, 0, 0, 0, 0},
10594 {0xB5, 0, 0, 0, 0},
10595 {0xB6, 0, 0, 0, 0},
10596 {0xFFFF, 0, 0, 0, 0},
10599 radio_regs_t regs_TX_2056_rev8[] = {
10600 {0x02, 0, 0, 0, 0},
10601 {0x03, 0, 0, 0, 0},
10602 {0x04, 0, 0, 0, 0},
10603 {0x05, 0, 0, 0, 0},
10604 {0x06, 0, 0, 0, 0},
10605 {0x07, 0, 0, 0, 0},
10606 {0x08, 0, 0, 0, 0},
10607 {0x09, 0, 0, 0, 0},
10608 {0x0A, 0, 0, 0, 0},
10609 {0x0B, 0, 0, 0, 0},
10610 {0x0C, 0, 0, 0, 0},
10611 {0x0D, 0, 0, 0, 0},
10612 {0x0E, 0, 0, 0, 0},
10613 {0x0F, 0, 0, 0, 0},
10614 {0x10, 0, 0, 0, 0},
10615 {0x11, 0, 0, 0, 0},
10616 {0x12, 0, 0, 0, 0},
10617 {0x13, 0, 0, 0, 0},
10618 {0x14, 0, 0, 0, 0},
10619 {0x15, 0, 0, 0, 0},
10620 {0x16, 0, 0, 0, 0},
10621 {0x17, 0, 0, 0, 0},
10622 {0x18, 0, 0, 0, 0},
10623 {0x19, 0, 0, 0, 0},
10624 {0x1A, 0, 0, 0, 0},
10625 {0x1B, 0, 0, 0, 0},
10626 {0x1C, 0, 0, 0, 0},
10627 {0x1D, 0, 0, 0, 0},
10628 {0x1E, 0, 0, 0, 0},
10629 {0x1F, 0, 0, 0, 0},
10630 {0x20, 0, 0, 0, 0},
10631 {0x21, 0x88, 0x88, 0, 0},
10632 {0x22, 0x88, 0x88, 0, 0},
10633 {0x23, 0x88, 0x88, 0, 0},
10634 {0x24, 0x88, 0x88, 0, 0},
10635 {0x25, 0xc, 0xc, 0, 0},
10636 {0x26, 0, 0, 0, 0},
10637 {0x27, 0x3, 0x3, 0, 0},
10638 {0x28, 0, 0, 0, 0},
10639 {0x29, 0x3, 0x3, 0, 0},
10640 {0x2A, 0x37, 0x37, 0, 0},
10641 {0x2B, 0x3, 0x3, 0, 0},
10642 {0x2C, 0, 0, 0, 0},
10643 {0x2D, 0, 0, 0, 0},
10644 {0x2E, 0x1, 0x1, 0, 0},
10645 {0x2F, 0x1, 0x1, 0, 0},
10646 {0x30, 0, 0, 0, 0},
10647 {0x31, 0, 0, 0, 0},
10648 {0x32, 0, 0, 0, 0},
10649 {0x33, 0x11, 0x11, 0, 0},
10650 {0x34, 0xee, 0xee, 1, 1},
10651 {0x35, 0, 0, 0, 0},
10652 {0x36, 0, 0, 0, 0},
10653 {0x37, 0x3, 0x3, 0, 0},
10654 {0x38, 0x50, 0x50, 1, 1},
10655 {0x39, 0, 0, 0, 0},
10656 {0x3A, 0x50, 0x50, 1, 1},
10657 {0x3B, 0, 0, 0, 0},
10658 {0x3C, 0x6e, 0x6e, 0, 0},
10659 {0x3D, 0xf0, 0xf0, 1, 1},
10660 {0x3E, 0, 0, 0, 0},
10661 {0x3F, 0, 0, 0, 0},
10662 {0x40, 0, 0, 0, 0},
10663 {0x41, 0x3, 0x3, 0, 0},
10664 {0x42, 0x3, 0x3, 0, 0},
10665 {0x43, 0, 0, 0, 0},
10666 {0x44, 0x1e, 0x1e, 0, 0},
10667 {0x45, 0, 0, 0, 0},
10668 {0x46, 0x6e, 0x6e, 0, 0},
10669 {0x47, 0xf0, 0xf0, 1, 1},
10670 {0x48, 0, 0, 0, 0},
10671 {0x49, 0x2, 0x2, 0, 0},
10672 {0x4A, 0xff, 0xff, 1, 1},
10673 {0x4B, 0xc, 0xc, 0, 0},
10674 {0x4C, 0, 0, 0, 0},
10675 {0x4D, 0x38, 0x38, 0, 0},
10676 {0x4E, 0x70, 0x70, 1, 1},
10677 {0x4F, 0x2, 0x2, 0, 0},
10678 {0x50, 0x88, 0x88, 0, 0},
10679 {0x51, 0xc, 0xc, 0, 0},
10680 {0x52, 0, 0, 0, 0},
10681 {0x53, 0x8, 0x8, 0, 0},
10682 {0x54, 0x70, 0x70, 1, 1},
10683 {0x55, 0x2, 0x2, 0, 0},
10684 {0x56, 0xff, 0xff, 1, 1},
10685 {0x57, 0, 0, 0, 0},
10686 {0x58, 0x83, 0x83, 0, 0},
10687 {0x59, 0x77, 0x77, 1, 1},
10688 {0x5A, 0, 0, 0, 0},
10689 {0x5B, 0x2, 0x2, 0, 0},
10690 {0x5C, 0x88, 0x88, 0, 0},
10691 {0x5D, 0, 0, 0, 0},
10692 {0x5E, 0x8, 0x8, 0, 0},
10693 {0x5F, 0x77, 0x77, 1, 1},
10694 {0x60, 0x1, 0x1, 0, 0},
10695 {0x61, 0, 0, 0, 0},
10696 {0x62, 0x7, 0x7, 0, 0},
10697 {0x63, 0, 0, 0, 0},
10698 {0x64, 0x7, 0x7, 0, 0},
10699 {0x65, 0, 0, 0, 0},
10700 {0x66, 0, 0, 0, 0},
10701 {0x67, 0, 0, 1, 1},
10702 {0x68, 0, 0, 0, 0},
10703 {0x69, 0xa, 0xa, 0, 0},
10704 {0x6A, 0, 0, 0, 0},
10705 {0x6B, 0, 0, 0, 0},
10706 {0x6C, 0, 0, 0, 0},
10707 {0x6D, 0, 0, 0, 0},
10708 {0x6E, 0, 0, 0, 0},
10709 {0x6F, 0, 0, 0, 0},
10710 {0x70, 0, 0, 0, 0},
10711 {0x71, 0x2, 0x2, 0, 0},
10712 {0x72, 0, 0, 0, 0},
10713 {0x73, 0, 0, 0, 0},
10714 {0x74, 0xe, 0xe, 0, 0},
10715 {0x75, 0xe, 0xe, 0, 0},
10716 {0x76, 0xe, 0xe, 0, 0},
10717 {0x77, 0x13, 0x13, 0, 0},
10718 {0x78, 0x13, 0x13, 0, 0},
10719 {0x79, 0x1b, 0x1b, 0, 0},
10720 {0x7A, 0x1b, 0x1b, 0, 0},
10721 {0x7B, 0x55, 0x55, 0, 0},
10722 {0x7C, 0x5b, 0x5b, 0, 0},
10723 {0x7D, 0x30, 0x30, 1, 1},
10724 {0x7E, 0, 0, 0, 0},
10725 {0x7F, 0, 0, 0, 0},
10726 {0x80, 0, 0, 0, 0},
10727 {0x81, 0, 0, 0, 0},
10728 {0x82, 0, 0, 0, 0},
10729 {0x83, 0, 0, 0, 0},
10730 {0x84, 0, 0, 0, 0},
10731 {0x85, 0, 0, 0, 0},
10732 {0x86, 0, 0, 0, 0},
10733 {0x87, 0, 0, 0, 0},
10734 {0x88, 0, 0, 0, 0},
10735 {0x89, 0, 0, 0, 0},
10736 {0x8A, 0, 0, 0, 0},
10737 {0x8B, 0, 0, 0, 0},
10738 {0x8C, 0, 0, 0, 0},
10739 {0x8D, 0, 0, 0, 0},
10740 {0x8E, 0, 0, 0, 0},
10741 {0x8F, 0, 0, 0, 0},
10742 {0x90, 0, 0, 0, 0},
10743 {0x91, 0, 0, 0, 0},
10744 {0x92, 0, 0, 0, 0},
10745 {0x93, 0x70, 0x70, 0, 0},
10746 {0x94, 0x70, 0x70, 0, 0},
10747 {0x95, 0x70, 0x70, 0, 0},
10748 {0x96, 0x70, 0x70, 0, 0},
10749 {0x97, 0x70, 0x70, 0, 0},
10750 {0x98, 0x70, 0x70, 0, 0},
10751 {0x99, 0x70, 0x70, 0, 0},
10752 {0x9A, 0x70, 0x70, 0, 0},
10753 {0xFFFF, 0, 0, 0, 0},
10756 radio_regs_t regs_RX_2056_rev8[] = {
10757 {0x02, 0, 0, 0, 0},
10758 {0x03, 0, 0, 0, 0},
10759 {0x04, 0, 0, 0, 0},
10760 {0x05, 0, 0, 0, 0},
10761 {0x06, 0, 0, 0, 0},
10762 {0x07, 0, 0, 0, 0},
10763 {0x08, 0, 0, 0, 0},
10764 {0x09, 0, 0, 0, 0},
10765 {0x0A, 0, 0, 0, 0},
10766 {0x0B, 0, 0, 0, 0},
10767 {0x0C, 0, 0, 0, 0},
10768 {0x0D, 0, 0, 0, 0},
10769 {0x0E, 0, 0, 0, 0},
10770 {0x0F, 0, 0, 0, 0},
10771 {0x10, 0, 0, 0, 0},
10772 {0x11, 0, 0, 0, 0},
10773 {0x12, 0, 0, 0, 0},
10774 {0x13, 0, 0, 0, 0},
10775 {0x14, 0, 0, 0, 0},
10776 {0x15, 0, 0, 0, 0},
10777 {0x16, 0, 0, 0, 0},
10778 {0x17, 0, 0, 0, 0},
10779 {0x18, 0, 0, 0, 0},
10780 {0x19, 0, 0, 0, 0},
10781 {0x1A, 0, 0, 0, 0},
10782 {0x1B, 0, 0, 0, 0},
10783 {0x1C, 0, 0, 0, 0},
10784 {0x1D, 0, 0, 0, 0},
10785 {0x1E, 0, 0, 0, 0},
10786 {0x1F, 0, 0, 0, 0},
10787 {0x20, 0x3, 0x3, 0, 0},
10788 {0x21, 0, 0, 0, 0},
10789 {0x22, 0, 0, 0, 0},
10790 {0x23, 0x90, 0x90, 0, 0},
10791 {0x24, 0x55, 0x55, 0, 0},
10792 {0x25, 0x15, 0x15, 0, 0},
10793 {0x26, 0x5, 0x5, 0, 0},
10794 {0x27, 0x15, 0x15, 0, 0},
10795 {0x28, 0x5, 0x5, 0, 0},
10796 {0x29, 0x20, 0x20, 0, 0},
10797 {0x2A, 0x11, 0x11, 0, 0},
10798 {0x2B, 0x90, 0x90, 0, 0},
10799 {0x2C, 0, 0, 0, 0},
10800 {0x2D, 0x88, 0x88, 0, 0},
10801 {0x2E, 0x32, 0x32, 0, 0},
10802 {0x2F, 0x77, 0x77, 0, 0},
10803 {0x30, 0x17, 0x17, 1, 1},
10804 {0x31, 0xff, 0xff, 1, 1},
10805 {0x32, 0x20, 0x20, 0, 0},
10806 {0x33, 0, 0, 0, 0},
10807 {0x34, 0x88, 0x88, 0, 0},
10808 {0x35, 0x32, 0x32, 0, 0},
10809 {0x36, 0x77, 0x77, 0, 0},
10810 {0x37, 0x17, 0x17, 1, 1},
10811 {0x38, 0xf0, 0xf0, 1, 1},
10812 {0x39, 0x20, 0x20, 0, 0},
10813 {0x3A, 0x8, 0x8, 0, 0},
10814 {0x3B, 0x55, 0x55, 1, 1},
10815 {0x3C, 0, 0, 0, 0},
10816 {0x3D, 0x88, 0x88, 1, 1},
10817 {0x3E, 0, 0, 0, 0},
10818 {0x3F, 0x44, 0x44, 0, 0},
10819 {0x40, 0x7, 0x7, 1, 1},
10820 {0x41, 0x6, 0x6, 0, 0},
10821 {0x42, 0x4, 0x4, 0, 0},
10822 {0x43, 0, 0, 0, 0},
10823 {0x44, 0x8, 0x8, 0, 0},
10824 {0x45, 0x55, 0x55, 1, 1},
10825 {0x46, 0, 0, 0, 0},
10826 {0x47, 0x11, 0x11, 0, 0},
10827 {0x48, 0, 0, 0, 0},
10828 {0x49, 0x44, 0x44, 0, 0},
10829 {0x4A, 0x7, 0x7, 0, 0},
10830 {0x4B, 0x6, 0x6, 0, 0},
10831 {0x4C, 0x4, 0x4, 0, 0},
10832 {0x4D, 0, 0, 0, 0},
10833 {0x4E, 0, 0, 0, 0},
10834 {0x4F, 0x26, 0x26, 1, 1},
10835 {0x50, 0x26, 0x26, 1, 1},
10836 {0x51, 0xf, 0xf, 1, 1},
10837 {0x52, 0xf, 0xf, 1, 1},
10838 {0x53, 0x44, 0x44, 0, 0},
10839 {0x54, 0, 0, 0, 0},
10840 {0x55, 0, 0, 0, 0},
10841 {0x56, 0x8, 0x8, 0, 0},
10842 {0x57, 0x8, 0x8, 0, 0},
10843 {0x58, 0x7, 0x7, 0, 0},
10844 {0x59, 0x22, 0x22, 0, 0},
10845 {0x5A, 0x22, 0x22, 0, 0},
10846 {0x5B, 0x2, 0x2, 0, 0},
10847 {0x5C, 0x4, 0x4, 1, 1},
10848 {0x5D, 0x7, 0x7, 0, 0},
10849 {0x5E, 0x55, 0x55, 0, 0},
10850 {0x5F, 0x23, 0x23, 0, 0},
10851 {0x60, 0x41, 0x41, 0, 0},
10852 {0x61, 0x1, 0x1, 0, 0},
10853 {0x62, 0xa, 0xa, 0, 0},
10854 {0x63, 0, 0, 0, 0},
10855 {0x64, 0, 0, 0, 0},
10856 {0x65, 0, 0, 0, 0},
10857 {0x66, 0, 0, 0, 0},
10858 {0x67, 0, 0, 0, 0},
10859 {0x68, 0, 0, 0, 0},
10860 {0x69, 0, 0, 0, 0},
10861 {0x6A, 0, 0, 0, 0},
10862 {0x6B, 0xc, 0xc, 0, 0},
10863 {0x6C, 0, 0, 0, 0},
10864 {0x6D, 0, 0, 0, 0},
10865 {0x6E, 0, 0, 0, 0},
10866 {0x6F, 0, 0, 0, 0},
10867 {0x70, 0, 0, 0, 0},
10868 {0x71, 0, 0, 0, 0},
10869 {0x72, 0x22, 0x22, 0, 0},
10870 {0x73, 0x22, 0x22, 0, 0},
10871 {0x74, 0, 0, 1, 1},
10872 {0x75, 0xa, 0xa, 0, 0},
10873 {0x76, 0x1, 0x1, 0, 0},
10874 {0x77, 0x22, 0x22, 0, 0},
10875 {0x78, 0x30, 0x30, 0, 0},
10876 {0x79, 0, 0, 0, 0},
10877 {0x7A, 0, 0, 0, 0},
10878 {0x7B, 0, 0, 0, 0},
10879 {0x7C, 0, 0, 0, 0},
10880 {0x7D, 0x5, 0x5, 1, 1},
10881 {0x7E, 0, 0, 0, 0},
10882 {0x7F, 0, 0, 0, 0},
10883 {0x80, 0, 0, 0, 0},
10884 {0x81, 0, 0, 0, 0},
10885 {0x82, 0, 0, 0, 0},
10886 {0x83, 0, 0, 0, 0},
10887 {0x84, 0, 0, 0, 0},
10888 {0x85, 0, 0, 0, 0},
10889 {0x86, 0, 0, 0, 0},
10890 {0x87, 0, 0, 0, 0},
10891 {0x88, 0, 0, 0, 0},
10892 {0x89, 0, 0, 0, 0},
10893 {0x8A, 0, 0, 0, 0},
10894 {0x8B, 0, 0, 0, 0},
10895 {0x8C, 0, 0, 0, 0},
10896 {0x8D, 0, 0, 0, 0},
10897 {0x8E, 0, 0, 0, 0},
10898 {0x8F, 0, 0, 0, 0},
10899 {0x90, 0, 0, 0, 0},
10900 {0x91, 0, 0, 0, 0},
10901 {0x92, 0, 0, 0, 0},
10902 {0x93, 0, 0, 0, 0},
10903 {0x94, 0, 0, 0, 0},
10904 {0xFFFF, 0, 0, 0, 0},
10907 radio_regs_t regs_SYN_2056_rev11[] = {
10908 {0x02, 0, 0, 0, 0},
10909 {0x03, 0, 0, 0, 0},
10910 {0x04, 0, 0, 0, 0},
10911 {0x05, 0, 0, 0, 0},
10912 {0x06, 0, 0, 0, 0},
10913 {0x07, 0, 0, 0, 0},
10914 {0x08, 0, 0, 0, 0},
10915 {0x09, 0x1, 0x1, 0, 0},
10916 {0x0A, 0, 0, 0, 0},
10917 {0x0B, 0, 0, 0, 0},
10918 {0x0C, 0, 0, 0, 0},
10919 {0x0D, 0, 0, 0, 0},
10920 {0x0E, 0, 0, 0, 0},
10921 {0x0F, 0, 0, 0, 0},
10922 {0x10, 0, 0, 0, 0},
10923 {0x11, 0, 0, 0, 0},
10924 {0x12, 0, 0, 0, 0},
10925 {0x13, 0, 0, 0, 0},
10926 {0x14, 0, 0, 0, 0},
10927 {0x15, 0, 0, 0, 0},
10928 {0x16, 0, 0, 0, 0},
10929 {0x17, 0, 0, 0, 0},
10930 {0x18, 0, 0, 0, 0},
10931 {0x19, 0, 0, 0, 0},
10932 {0x1A, 0, 0, 0, 0},
10933 {0x1B, 0, 0, 0, 0},
10934 {0x1C, 0, 0, 0, 0},
10935 {0x1D, 0, 0, 0, 0},
10936 {0x1E, 0, 0, 0, 0},
10937 {0x1F, 0, 0, 0, 0},
10938 {0x20, 0, 0, 0, 0},
10939 {0x21, 0, 0, 0, 0},
10940 {0x22, 0x60, 0x60, 0, 0},
10941 {0x23, 0x6, 0x6, 0, 0},
10942 {0x24, 0xc, 0xc, 0, 0},
10943 {0x25, 0, 0, 0, 0},
10944 {0x26, 0, 0, 0, 0},
10945 {0x27, 0, 0, 0, 0},
10946 {0x28, 0x1, 0x1, 0, 0},
10947 {0x29, 0, 0, 0, 0},
10948 {0x2A, 0, 0, 0, 0},
10949 {0x2B, 0, 0, 0, 0},
10950 {0x2C, 0, 0, 0, 0},
10951 {0x2D, 0, 0, 0, 0},
10952 {0x2E, 0, 0, 0, 0},
10953 {0x2F, 0x1f, 0x1f, 0, 0},
10954 {0x30, 0x15, 0x15, 0, 0},
10955 {0x31, 0xf, 0xf, 0, 0},
10956 {0x32, 0, 0, 0, 0},
10957 {0x33, 0, 0, 0, 0},
10958 {0x34, 0, 0, 0, 0},
10959 {0x35, 0, 0, 0, 0},
10960 {0x36, 0, 0, 0, 0},
10961 {0x37, 0, 0, 0, 0},
10962 {0x38, 0, 0, 0, 0},
10963 {0x39, 0, 0, 0, 0},
10964 {0x3A, 0, 0, 0, 0},
10965 {0x3B, 0, 0, 0, 0},
10966 {0x3C, 0x13, 0x13, 0, 0},
10967 {0x3D, 0xf, 0xf, 0, 0},
10968 {0x3E, 0x18, 0x18, 0, 0},
10969 {0x3F, 0, 0, 0, 0},
10970 {0x40, 0, 0, 0, 0},
10971 {0x41, 0x20, 0x20, 0, 0},
10972 {0x42, 0x20, 0x20, 0, 0},
10973 {0x43, 0, 0, 0, 0},
10974 {0x44, 0x77, 0x77, 0, 0},
10975 {0x45, 0x7, 0x7, 0, 0},
10976 {0x46, 0x1, 0x1, 0, 0},
10977 {0x47, 0x6, 0x6, 1, 1},
10978 {0x48, 0xf, 0xf, 0, 0},
10979 {0x49, 0x3f, 0x3f, 1, 1},
10980 {0x4A, 0x32, 0x32, 0, 0},
10981 {0x4B, 0x6, 0x6, 1, 1},
10982 {0x4C, 0x6, 0x6, 1, 1},
10983 {0x4D, 0x4, 0x4, 0, 0},
10984 {0x4E, 0x2b, 0x2b, 1, 1},
10985 {0x4F, 0x1, 0x1, 0, 0},
10986 {0x50, 0x1c, 0x1c, 0, 0},
10987 {0x51, 0x2, 0x2, 0, 0},
10988 {0x52, 0x2, 0x2, 0, 0},
10989 {0x53, 0xf7, 0xf7, 1, 1},
10990 {0x54, 0xb4, 0xb4, 0, 0},
10991 {0x55, 0xd2, 0xd2, 0, 0},
10992 {0x56, 0, 0, 0, 0},
10993 {0x57, 0, 0, 0, 0},
10994 {0x58, 0x4, 0x4, 0, 0},
10995 {0x59, 0x96, 0x96, 0, 0},
10996 {0x5A, 0x3e, 0x3e, 0, 0},
10997 {0x5B, 0x3e, 0x3e, 0, 0},
10998 {0x5C, 0x13, 0x13, 0, 0},
10999 {0x5D, 0x2, 0x2, 0, 0},
11000 {0x5E, 0, 0, 0, 0},
11001 {0x5F, 0x7, 0x7, 0, 0},
11002 {0x60, 0x7, 0x7, 1, 1},
11003 {0x61, 0x8, 0x8, 0, 0},
11004 {0x62, 0x3, 0x3, 0, 0},
11005 {0x63, 0, 0, 0, 0},
11006 {0x64, 0, 0, 0, 0},
11007 {0x65, 0, 0, 0, 0},
11008 {0x66, 0, 0, 0, 0},
11009 {0x67, 0, 0, 0, 0},
11010 {0x68, 0x40, 0x40, 0, 0},
11011 {0x69, 0, 0, 0, 0},
11012 {0x6A, 0, 0, 0, 0},
11013 {0x6B, 0, 0, 0, 0},
11014 {0x6C, 0, 0, 0, 0},
11015 {0x6D, 0x1, 0x1, 0, 0},
11016 {0x6E, 0, 0, 0, 0},
11017 {0x6F, 0, 0, 0, 0},
11018 {0x70, 0x60, 0x60, 0, 0},
11019 {0x71, 0x66, 0x66, 0, 0},
11020 {0x72, 0xc, 0xc, 0, 0},
11021 {0x73, 0x66, 0x66, 0, 0},
11022 {0x74, 0x8f, 0x8f, 1, 1},
11023 {0x75, 0, 0, 0, 0},
11024 {0x76, 0xcc, 0xcc, 0, 0},
11025 {0x77, 0x1, 0x1, 0, 0},
11026 {0x78, 0x66, 0x66, 0, 0},
11027 {0x79, 0x66, 0x66, 0, 0},
11028 {0x7A, 0, 0, 0, 0},
11029 {0x7B, 0, 0, 0, 0},
11030 {0x7C, 0, 0, 0, 0},
11031 {0x7D, 0, 0, 0, 0},
11032 {0x7E, 0, 0, 0, 0},
11033 {0x7F, 0, 0, 0, 0},
11034 {0x80, 0, 0, 0, 0},
11035 {0x81, 0, 0, 0, 0},
11036 {0x82, 0, 0, 0, 0},
11037 {0x83, 0, 0, 0, 0},
11038 {0x84, 0, 0, 0, 0},
11039 {0x85, 0xff, 0xff, 0, 0},
11040 {0x86, 0, 0, 0, 0},
11041 {0x87, 0, 0, 0, 0},
11042 {0x88, 0, 0, 0, 0},
11043 {0x89, 0, 0, 0, 0},
11044 {0x8A, 0, 0, 0, 0},
11045 {0x8B, 0, 0, 0, 0},
11046 {0x8C, 0, 0, 0, 0},
11047 {0x8D, 0, 0, 0, 0},
11048 {0x8E, 0, 0, 0, 0},
11049 {0x8F, 0, 0, 0, 0},
11050 {0x90, 0, 0, 0, 0},
11051 {0x91, 0, 0, 0, 0},
11052 {0x92, 0, 0, 0, 0},
11053 {0x93, 0, 0, 0, 0},
11054 {0x94, 0, 0, 0, 0},
11055 {0x95, 0, 0, 0, 0},
11056 {0x96, 0, 0, 0, 0},
11057 {0x97, 0, 0, 0, 0},
11058 {0x98, 0, 0, 0, 0},
11059 {0x99, 0, 0, 0, 0},
11060 {0x9A, 0, 0, 0, 0},
11061 {0x9B, 0, 0, 0, 0},
11062 {0x9C, 0, 0, 0, 0},
11063 {0x9D, 0, 0, 0, 0},
11064 {0x9E, 0, 0, 0, 0},
11065 {0x9F, 0x6, 0x6, 0, 0},
11066 {0xA0, 0x66, 0x66, 0, 0},
11067 {0xA1, 0x66, 0x66, 0, 0},
11068 {0xA2, 0x66, 0x66, 0, 0},
11069 {0xA3, 0x66, 0x66, 0, 0},
11070 {0xA4, 0x66, 0x66, 0, 0},
11071 {0xA5, 0x66, 0x66, 0, 0},
11072 {0xA6, 0x66, 0x66, 0, 0},
11073 {0xA7, 0x66, 0x66, 0, 0},
11074 {0xA8, 0x66, 0x66, 0, 0},
11075 {0xA9, 0x66, 0x66, 0, 0},
11076 {0xAA, 0x66, 0x66, 0, 0},
11077 {0xAB, 0x66, 0x66, 0, 0},
11078 {0xAC, 0x66, 0x66, 0, 0},
11079 {0xAD, 0x66, 0x66, 0, 0},
11080 {0xAE, 0x66, 0x66, 0, 0},
11081 {0xAF, 0x66, 0x66, 0, 0},
11082 {0xB0, 0x66, 0x66, 0, 0},
11083 {0xB1, 0x66, 0x66, 0, 0},
11084 {0xB2, 0x66, 0x66, 0, 0},
11085 {0xB3, 0xa, 0xa, 0, 0},
11086 {0xB4, 0, 0, 0, 0},
11087 {0xB5, 0, 0, 0, 0},
11088 {0xB6, 0, 0, 0, 0},
11089 {0xFFFF, 0, 0, 0, 0},
11092 radio_regs_t regs_TX_2056_rev11[] = {
11093 {0x02, 0, 0, 0, 0},
11094 {0x03, 0, 0, 0, 0},
11095 {0x04, 0, 0, 0, 0},
11096 {0x05, 0, 0, 0, 0},
11097 {0x06, 0, 0, 0, 0},
11098 {0x07, 0, 0, 0, 0},
11099 {0x08, 0, 0, 0, 0},
11100 {0x09, 0, 0, 0, 0},
11101 {0x0A, 0, 0, 0, 0},
11102 {0x0B, 0, 0, 0, 0},
11103 {0x0C, 0, 0, 0, 0},
11104 {0x0D, 0, 0, 0, 0},
11105 {0x0E, 0, 0, 0, 0},
11106 {0x0F, 0, 0, 0, 0},
11107 {0x10, 0, 0, 0, 0},
11108 {0x11, 0, 0, 0, 0},
11109 {0x12, 0, 0, 0, 0},
11110 {0x13, 0, 0, 0, 0},
11111 {0x14, 0, 0, 0, 0},
11112 {0x15, 0, 0, 0, 0},
11113 {0x16, 0, 0, 0, 0},
11114 {0x17, 0, 0, 0, 0},
11115 {0x18, 0, 0, 0, 0},
11116 {0x19, 0, 0, 0, 0},
11117 {0x1A, 0, 0, 0, 0},
11118 {0x1B, 0, 0, 0, 0},
11119 {0x1C, 0, 0, 0, 0},
11120 {0x1D, 0, 0, 0, 0},
11121 {0x1E, 0, 0, 0, 0},
11122 {0x1F, 0, 0, 0, 0},
11123 {0x20, 0, 0, 0, 0},
11124 {0x21, 0x88, 0x88, 0, 0},
11125 {0x22, 0x88, 0x88, 0, 0},
11126 {0x23, 0x88, 0x88, 0, 0},
11127 {0x24, 0x88, 0x88, 0, 0},
11128 {0x25, 0xc, 0xc, 0, 0},
11129 {0x26, 0, 0, 0, 0},
11130 {0x27, 0x3, 0x3, 0, 0},
11131 {0x28, 0, 0, 0, 0},
11132 {0x29, 0x3, 0x3, 0, 0},
11133 {0x2A, 0x37, 0x37, 0, 0},
11134 {0x2B, 0x3, 0x3, 0, 0},
11135 {0x2C, 0, 0, 0, 0},
11136 {0x2D, 0, 0, 0, 0},
11137 {0x2E, 0x1, 0x1, 0, 0},
11138 {0x2F, 0x1, 0x1, 0, 0},
11139 {0x30, 0, 0, 0, 0},
11140 {0x31, 0, 0, 0, 0},
11141 {0x32, 0, 0, 0, 0},
11142 {0x33, 0x11, 0x11, 0, 0},
11143 {0x34, 0xee, 0xee, 1, 1},
11144 {0x35, 0, 0, 0, 0},
11145 {0x36, 0, 0, 0, 0},
11146 {0x37, 0x3, 0x3, 0, 0},
11147 {0x38, 0x50, 0x50, 1, 1},
11148 {0x39, 0, 0, 0, 0},
11149 {0x3A, 0x50, 0x50, 1, 1},
11150 {0x3B, 0, 0, 0, 0},
11151 {0x3C, 0x6e, 0x6e, 0, 0},
11152 {0x3D, 0xf0, 0xf0, 1, 1},
11153 {0x3E, 0, 0, 0, 0},
11154 {0x3F, 0, 0, 0, 0},
11155 {0x40, 0, 0, 0, 0},
11156 {0x41, 0x3, 0x3, 0, 0},
11157 {0x42, 0x3, 0x3, 0, 0},
11158 {0x43, 0, 0, 0, 0},
11159 {0x44, 0x1e, 0x1e, 0, 0},
11160 {0x45, 0, 0, 0, 0},
11161 {0x46, 0x6e, 0x6e, 0, 0},
11162 {0x47, 0xf0, 0xf0, 1, 1},
11163 {0x48, 0, 0, 0, 0},
11164 {0x49, 0x2, 0x2, 0, 0},
11165 {0x4A, 0xff, 0xff, 1, 1},
11166 {0x4B, 0xc, 0xc, 0, 0},
11167 {0x4C, 0, 0, 0, 0},
11168 {0x4D, 0x38, 0x38, 0, 0},
11169 {0x4E, 0x70, 0x70, 1, 1},
11170 {0x4F, 0x2, 0x2, 0, 0},
11171 {0x50, 0x88, 0x88, 0, 0},
11172 {0x51, 0xc, 0xc, 0, 0},
11173 {0x52, 0, 0, 0, 0},
11174 {0x53, 0x8, 0x8, 0, 0},
11175 {0x54, 0x70, 0x70, 1, 1},
11176 {0x55, 0x2, 0x2, 0, 0},
11177 {0x56, 0xff, 0xff, 1, 1},
11178 {0x57, 0, 0, 0, 0},
11179 {0x58, 0x83, 0x83, 0, 0},
11180 {0x59, 0x77, 0x77, 1, 1},
11181 {0x5A, 0, 0, 0, 0},
11182 {0x5B, 0x2, 0x2, 0, 0},
11183 {0x5C, 0x88, 0x88, 0, 0},
11184 {0x5D, 0, 0, 0, 0},
11185 {0x5E, 0x8, 0x8, 0, 0},
11186 {0x5F, 0x77, 0x77, 1, 1},
11187 {0x60, 0x1, 0x1, 0, 0},
11188 {0x61, 0, 0, 0, 0},
11189 {0x62, 0x7, 0x7, 0, 0},
11190 {0x63, 0, 0, 0, 0},
11191 {0x64, 0x7, 0x7, 0, 0},
11192 {0x65, 0, 0, 0, 0},
11193 {0x66, 0, 0, 0, 0},
11194 {0x67, 0, 0, 1, 1},
11195 {0x68, 0, 0, 0, 0},
11196 {0x69, 0xa, 0xa, 0, 0},
11197 {0x6A, 0, 0, 0, 0},
11198 {0x6B, 0, 0, 0, 0},
11199 {0x6C, 0, 0, 0, 0},
11200 {0x6D, 0, 0, 0, 0},
11201 {0x6E, 0, 0, 0, 0},
11202 {0x6F, 0, 0, 0, 0},
11203 {0x70, 0, 0, 0, 0},
11204 {0x71, 0x2, 0x2, 0, 0},
11205 {0x72, 0, 0, 0, 0},
11206 {0x73, 0, 0, 0, 0},
11207 {0x74, 0xe, 0xe, 0, 0},
11208 {0x75, 0xe, 0xe, 0, 0},
11209 {0x76, 0xe, 0xe, 0, 0},
11210 {0x77, 0x13, 0x13, 0, 0},
11211 {0x78, 0x13, 0x13, 0, 0},
11212 {0x79, 0x1b, 0x1b, 0, 0},
11213 {0x7A, 0x1b, 0x1b, 0, 0},
11214 {0x7B, 0x55, 0x55, 0, 0},
11215 {0x7C, 0x5b, 0x5b, 0, 0},
11216 {0x7D, 0x30, 0x30, 1, 1},
11217 {0x7E, 0, 0, 0, 0},
11218 {0x7F, 0, 0, 0, 0},
11219 {0x80, 0, 0, 0, 0},
11220 {0x81, 0, 0, 0, 0},
11221 {0x82, 0, 0, 0, 0},
11222 {0x83, 0, 0, 0, 0},
11223 {0x84, 0, 0, 0, 0},
11224 {0x85, 0, 0, 0, 0},
11225 {0x86, 0, 0, 0, 0},
11226 {0x87, 0, 0, 0, 0},
11227 {0x88, 0, 0, 0, 0},
11228 {0x89, 0, 0, 0, 0},
11229 {0x8A, 0, 0, 0, 0},
11230 {0x8B, 0, 0, 0, 0},
11231 {0x8C, 0, 0, 0, 0},
11232 {0x8D, 0, 0, 0, 0},
11233 {0x8E, 0, 0, 0, 0},
11234 {0x8F, 0, 0, 0, 0},
11235 {0x90, 0, 0, 0, 0},
11236 {0x91, 0, 0, 0, 0},
11237 {0x92, 0, 0, 0, 0},
11238 {0x93, 0x70, 0x70, 0, 0},
11239 {0x94, 0x70, 0x70, 0, 0},
11240 {0x95, 0x70, 0x70, 0, 0},
11241 {0x96, 0x70, 0x70, 0, 0},
11242 {0x97, 0x70, 0x70, 0, 0},
11243 {0x98, 0x70, 0x70, 0, 0},
11244 {0x99, 0x70, 0x70, 0, 0},
11245 {0x9A, 0x70, 0x70, 0, 0},
11246 {0xFFFF, 0, 0, 0, 0},
11249 radio_regs_t regs_RX_2056_rev11[] = {
11250 {0x02, 0, 0, 0, 0},
11251 {0x03, 0, 0, 0, 0},
11252 {0x04, 0, 0, 0, 0},
11253 {0x05, 0, 0, 0, 0},
11254 {0x06, 0, 0, 0, 0},
11255 {0x07, 0, 0, 0, 0},
11256 {0x08, 0, 0, 0, 0},
11257 {0x09, 0, 0, 0, 0},
11258 {0x0A, 0, 0, 0, 0},
11259 {0x0B, 0, 0, 0, 0},
11260 {0x0C, 0, 0, 0, 0},
11261 {0x0D, 0, 0, 0, 0},
11262 {0x0E, 0, 0, 0, 0},
11263 {0x0F, 0, 0, 0, 0},
11264 {0x10, 0, 0, 0, 0},
11265 {0x11, 0, 0, 0, 0},
11266 {0x12, 0, 0, 0, 0},
11267 {0x13, 0, 0, 0, 0},
11268 {0x14, 0, 0, 0, 0},
11269 {0x15, 0, 0, 0, 0},
11270 {0x16, 0, 0, 0, 0},
11271 {0x17, 0, 0, 0, 0},
11272 {0x18, 0, 0, 0, 0},
11273 {0x19, 0, 0, 0, 0},
11274 {0x1A, 0, 0, 0, 0},
11275 {0x1B, 0, 0, 0, 0},
11276 {0x1C, 0, 0, 0, 0},
11277 {0x1D, 0, 0, 0, 0},
11278 {0x1E, 0, 0, 0, 0},
11279 {0x1F, 0, 0, 0, 0},
11280 {0x20, 0x3, 0x3, 0, 0},
11281 {0x21, 0, 0, 0, 0},
11282 {0x22, 0, 0, 0, 0},
11283 {0x23, 0x90, 0x90, 0, 0},
11284 {0x24, 0x55, 0x55, 0, 0},
11285 {0x25, 0x15, 0x15, 0, 0},
11286 {0x26, 0x5, 0x5, 0, 0},
11287 {0x27, 0x15, 0x15, 0, 0},
11288 {0x28, 0x5, 0x5, 0, 0},
11289 {0x29, 0x20, 0x20, 0, 0},
11290 {0x2A, 0x11, 0x11, 0, 0},
11291 {0x2B, 0x90, 0x90, 0, 0},
11292 {0x2C, 0, 0, 0, 0},
11293 {0x2D, 0x88, 0x88, 0, 0},
11294 {0x2E, 0x32, 0x32, 0, 0},
11295 {0x2F, 0x77, 0x77, 0, 0},
11296 {0x30, 0x17, 0x17, 1, 1},
11297 {0x31, 0xff, 0xff, 1, 1},
11298 {0x32, 0x20, 0x20, 0, 0},
11299 {0x33, 0, 0, 0, 0},
11300 {0x34, 0x88, 0x88, 0, 0},
11301 {0x35, 0x32, 0x32, 0, 0},
11302 {0x36, 0x77, 0x77, 0, 0},
11303 {0x37, 0x17, 0x17, 1, 1},
11304 {0x38, 0xf0, 0xf0, 1, 1},
11305 {0x39, 0x20, 0x20, 0, 0},
11306 {0x3A, 0x8, 0x8, 0, 0},
11307 {0x3B, 0x55, 0x55, 1, 1},
11308 {0x3C, 0, 0, 0, 0},
11309 {0x3D, 0x88, 0x88, 1, 1},
11310 {0x3E, 0, 0, 0, 0},
11311 {0x3F, 0x44, 0x44, 0, 0},
11312 {0x40, 0x7, 0x7, 1, 1},
11313 {0x41, 0x6, 0x6, 0, 0},
11314 {0x42, 0x4, 0x4, 0, 0},
11315 {0x43, 0, 0, 0, 0},
11316 {0x44, 0x8, 0x8, 0, 0},
11317 {0x45, 0x55, 0x55, 1, 1},
11318 {0x46, 0, 0, 0, 0},
11319 {0x47, 0x11, 0x11, 0, 0},
11320 {0x48, 0, 0, 0, 0},
11321 {0x49, 0x44, 0x44, 0, 0},
11322 {0x4A, 0x7, 0x7, 0, 0},
11323 {0x4B, 0x6, 0x6, 0, 0},
11324 {0x4C, 0x4, 0x4, 0, 0},
11325 {0x4D, 0, 0, 0, 0},
11326 {0x4E, 0, 0, 0, 0},
11327 {0x4F, 0x26, 0x26, 1, 1},
11328 {0x50, 0x26, 0x26, 1, 1},
11329 {0x51, 0xf, 0xf, 1, 1},
11330 {0x52, 0xf, 0xf, 1, 1},
11331 {0x53, 0x44, 0x44, 0, 0},
11332 {0x54, 0, 0, 0, 0},
11333 {0x55, 0, 0, 0, 0},
11334 {0x56, 0x8, 0x8, 0, 0},
11335 {0x57, 0x8, 0x8, 0, 0},
11336 {0x58, 0x7, 0x7, 0, 0},
11337 {0x59, 0x22, 0x22, 0, 0},
11338 {0x5A, 0x22, 0x22, 0, 0},
11339 {0x5B, 0x2, 0x2, 0, 0},
11340 {0x5C, 0x4, 0x4, 1, 1},
11341 {0x5D, 0x7, 0x7, 0, 0},
11342 {0x5E, 0x55, 0x55, 0, 0},
11343 {0x5F, 0x23, 0x23, 0, 0},
11344 {0x60, 0x41, 0x41, 0, 0},
11345 {0x61, 0x1, 0x1, 0, 0},
11346 {0x62, 0xa, 0xa, 0, 0},
11347 {0x63, 0, 0, 0, 0},
11348 {0x64, 0, 0, 0, 0},
11349 {0x65, 0, 0, 0, 0},
11350 {0x66, 0, 0, 0, 0},
11351 {0x67, 0, 0, 0, 0},
11352 {0x68, 0, 0, 0, 0},
11353 {0x69, 0, 0, 0, 0},
11354 {0x6A, 0, 0, 0, 0},
11355 {0x6B, 0xc, 0xc, 0, 0},
11356 {0x6C, 0, 0, 0, 0},
11357 {0x6D, 0, 0, 0, 0},
11358 {0x6E, 0, 0, 0, 0},
11359 {0x6F, 0, 0, 0, 0},
11360 {0x70, 0, 0, 0, 0},
11361 {0x71, 0, 0, 0, 0},
11362 {0x72, 0x22, 0x22, 0, 0},
11363 {0x73, 0x22, 0x22, 0, 0},
11364 {0x74, 0, 0, 1, 1},
11365 {0x75, 0xa, 0xa, 0, 0},
11366 {0x76, 0x1, 0x1, 0, 0},
11367 {0x77, 0x22, 0x22, 0, 0},
11368 {0x78, 0x30, 0x30, 0, 0},
11369 {0x79, 0, 0, 0, 0},
11370 {0x7A, 0, 0, 0, 0},
11371 {0x7B, 0, 0, 0, 0},
11372 {0x7C, 0, 0, 0, 0},
11373 {0x7D, 0x5, 0x5, 1, 1},
11374 {0x7E, 0, 0, 0, 0},
11375 {0x7F, 0, 0, 0, 0},
11376 {0x80, 0, 0, 0, 0},
11377 {0x81, 0, 0, 0, 0},
11378 {0x82, 0, 0, 0, 0},
11379 {0x83, 0, 0, 0, 0},
11380 {0x84, 0, 0, 0, 0},
11381 {0x85, 0, 0, 0, 0},
11382 {0x86, 0, 0, 0, 0},
11383 {0x87, 0, 0, 0, 0},
11384 {0x88, 0, 0, 0, 0},
11385 {0x89, 0, 0, 0, 0},
11386 {0x8A, 0, 0, 0, 0},
11387 {0x8B, 0, 0, 0, 0},
11388 {0x8C, 0, 0, 0, 0},
11389 {0x8D, 0, 0, 0, 0},
11390 {0x8E, 0, 0, 0, 0},
11391 {0x8F, 0, 0, 0, 0},
11392 {0x90, 0, 0, 0, 0},
11393 {0x91, 0, 0, 0, 0},
11394 {0x92, 0, 0, 0, 0},
11395 {0x93, 0, 0, 0, 0},
11396 {0x94, 0, 0, 0, 0},
11397 {0xFFFF, 0, 0, 0, 0},
11400 radio_20xx_regs_t regs_2057_rev4[] = {
11790 radio_20xx_regs_t regs_2057_rev5[] = {
12122 radio_20xx_regs_t regs_2057_rev5v1[] = {
12454 radio_20xx_regs_t regs_2057_rev7[] = {
12870 radio_20xx_regs_t regs_2057_rev8[] = {
13286 static s16 nphy_def_lnagains[] = { -2, 10, 19, 25 };
13288 static s32 nphy_lnagain_est0[] = { -315, 40370 };
13289 static s32 nphy_lnagain_est1[] = { -224, 23242 };
13291 static const u16 tbl_iqcal_gainparams_nphy[2][NPHY_IQCAL_NUMGAINS][8] = {
13293 {0x000, 0, 0, 2, 0x69, 0x69, 0x69, 0x69},
13294 {0x700, 7, 0, 0, 0x69, 0x69, 0x69, 0x69},
13295 {0x710, 7, 1, 0, 0x68, 0x68, 0x68, 0x68},
13296 {0x720, 7, 2, 0, 0x67, 0x67, 0x67, 0x67},
13297 {0x730, 7, 3, 0, 0x66, 0x66, 0x66, 0x66},
13298 {0x740, 7, 4, 0, 0x65, 0x65, 0x65, 0x65},
13299 {0x741, 7, 4, 1, 0x65, 0x65, 0x65, 0x65},
13300 {0x742, 7, 4, 2, 0x65, 0x65, 0x65, 0x65},
13301 {0x743, 7, 4, 3, 0x65, 0x65, 0x65, 0x65}
13304 {0x000, 7, 0, 0, 0x79, 0x79, 0x79, 0x79},
13305 {0x700, 7, 0, 0, 0x79, 0x79, 0x79, 0x79},
13306 {0x710, 7, 1, 0, 0x79, 0x79, 0x79, 0x79},
13307 {0x720, 7, 2, 0, 0x78, 0x78, 0x78, 0x78},
13308 {0x730, 7, 3, 0, 0x78, 0x78, 0x78, 0x78},
13309 {0x740, 7, 4, 0, 0x78, 0x78, 0x78, 0x78},
13310 {0x741, 7, 4, 1, 0x78, 0x78, 0x78, 0x78},
13311 {0x742, 7, 4, 2, 0x78, 0x78, 0x78, 0x78},
13312 {0x743, 7, 4, 3, 0x78, 0x78, 0x78, 0x78}
13316 static const u32 nphy_tpc_txgain[] = {
13317 0x03cc2b44, 0x03cc2b42, 0x03cc2a44, 0x03cc2a42,
13318 0x03cc2944, 0x03c82b44, 0x03c82b42, 0x03c82a44,
13319 0x03c82a42, 0x03c82944, 0x03c82942, 0x03c82844,
13320 0x03c82842, 0x03c42b44, 0x03c42b42, 0x03c42a44,
13321 0x03c42a42, 0x03c42944, 0x03c42942, 0x03c42844,
13322 0x03c42842, 0x03c42744, 0x03c42742, 0x03c42644,
13323 0x03c42642, 0x03c42544, 0x03c42542, 0x03c42444,
13324 0x03c42442, 0x03c02b44, 0x03c02b42, 0x03c02a44,
13325 0x03c02a42, 0x03c02944, 0x03c02942, 0x03c02844,
13326 0x03c02842, 0x03c02744, 0x03c02742, 0x03b02b44,
13327 0x03b02b42, 0x03b02a44, 0x03b02a42, 0x03b02944,
13328 0x03b02942, 0x03b02844, 0x03b02842, 0x03b02744,
13329 0x03b02742, 0x03b02644, 0x03b02642, 0x03b02544,
13330 0x03b02542, 0x03a02b44, 0x03a02b42, 0x03a02a44,
13331 0x03a02a42, 0x03a02944, 0x03a02942, 0x03a02844,
13332 0x03a02842, 0x03a02744, 0x03a02742, 0x03902b44,
13333 0x03902b42, 0x03902a44, 0x03902a42, 0x03902944,
13334 0x03902942, 0x03902844, 0x03902842, 0x03902744,
13335 0x03902742, 0x03902644, 0x03902642, 0x03902544,
13336 0x03902542, 0x03802b44, 0x03802b42, 0x03802a44,
13337 0x03802a42, 0x03802944, 0x03802942, 0x03802844,
13338 0x03802842, 0x03802744, 0x03802742, 0x03802644,
13339 0x03802642, 0x03802544, 0x03802542, 0x03802444,
13340 0x03802442, 0x03802344, 0x03802342, 0x03802244,
13341 0x03802242, 0x03802144, 0x03802142, 0x03802044,
13342 0x03802042, 0x03801f44, 0x03801f42, 0x03801e44,
13343 0x03801e42, 0x03801d44, 0x03801d42, 0x03801c44,
13344 0x03801c42, 0x03801b44, 0x03801b42, 0x03801a44,
13345 0x03801a42, 0x03801944, 0x03801942, 0x03801844,
13346 0x03801842, 0x03801744, 0x03801742, 0x03801644,
13347 0x03801642, 0x03801544, 0x03801542, 0x03801444,
13348 0x03801442, 0x03801344, 0x03801342, 0x00002b00
13351 static const u16 nphy_tpc_loscale[] = {
13352 256, 256, 271, 271, 287, 256, 256, 271,
13353 271, 287, 287, 304, 304, 256, 256, 271,
13354 271, 287, 287, 304, 304, 322, 322, 341,
13355 341, 362, 362, 383, 383, 256, 256, 271,
13356 271, 287, 287, 304, 304, 322, 322, 256,
13357 256, 271, 271, 287, 287, 304, 304, 322,
13358 322, 341, 341, 362, 362, 256, 256, 271,
13359 271, 287, 287, 304, 304, 322, 322, 256,
13360 256, 271, 271, 287, 287, 304, 304, 322,
13361 322, 341, 341, 362, 362, 256, 256, 271,
13362 271, 287, 287, 304, 304, 322, 322, 341,
13363 341, 362, 362, 383, 383, 406, 406, 430,
13364 430, 455, 455, 482, 482, 511, 511, 541,
13365 541, 573, 573, 607, 607, 643, 643, 681,
13366 681, 722, 722, 764, 764, 810, 810, 858,
13367 858, 908, 908, 962, 962, 1019, 1019, 256
13370 static u32 nphy_tpc_txgain_ipa[] = {
13371 0x5ff7002d, 0x5ff7002b, 0x5ff7002a, 0x5ff70029,
13372 0x5ff70028, 0x5ff70027, 0x5ff70026, 0x5ff70025,
13373 0x5ef7002d, 0x5ef7002b, 0x5ef7002a, 0x5ef70029,
13374 0x5ef70028, 0x5ef70027, 0x5ef70026, 0x5ef70025,
13375 0x5df7002d, 0x5df7002b, 0x5df7002a, 0x5df70029,
13376 0x5df70028, 0x5df70027, 0x5df70026, 0x5df70025,
13377 0x5cf7002d, 0x5cf7002b, 0x5cf7002a, 0x5cf70029,
13378 0x5cf70028, 0x5cf70027, 0x5cf70026, 0x5cf70025,
13379 0x5bf7002d, 0x5bf7002b, 0x5bf7002a, 0x5bf70029,
13380 0x5bf70028, 0x5bf70027, 0x5bf70026, 0x5bf70025,
13381 0x5af7002d, 0x5af7002b, 0x5af7002a, 0x5af70029,
13382 0x5af70028, 0x5af70027, 0x5af70026, 0x5af70025,
13383 0x59f7002d, 0x59f7002b, 0x59f7002a, 0x59f70029,
13384 0x59f70028, 0x59f70027, 0x59f70026, 0x59f70025,
13385 0x58f7002d, 0x58f7002b, 0x58f7002a, 0x58f70029,
13386 0x58f70028, 0x58f70027, 0x58f70026, 0x58f70025,
13387 0x57f7002d, 0x57f7002b, 0x57f7002a, 0x57f70029,
13388 0x57f70028, 0x57f70027, 0x57f70026, 0x57f70025,
13389 0x56f7002d, 0x56f7002b, 0x56f7002a, 0x56f70029,
13390 0x56f70028, 0x56f70027, 0x56f70026, 0x56f70025,
13391 0x55f7002d, 0x55f7002b, 0x55f7002a, 0x55f70029,
13392 0x55f70028, 0x55f70027, 0x55f70026, 0x55f70025,
13393 0x54f7002d, 0x54f7002b, 0x54f7002a, 0x54f70029,
13394 0x54f70028, 0x54f70027, 0x54f70026, 0x54f70025,
13395 0x53f7002d, 0x53f7002b, 0x53f7002a, 0x53f70029,
13396 0x53f70028, 0x53f70027, 0x53f70026, 0x53f70025,
13397 0x52f7002d, 0x52f7002b, 0x52f7002a, 0x52f70029,
13398 0x52f70028, 0x52f70027, 0x52f70026, 0x52f70025,
13399 0x51f7002d, 0x51f7002b, 0x51f7002a, 0x51f70029,
13400 0x51f70028, 0x51f70027, 0x51f70026, 0x51f70025,
13401 0x50f7002d, 0x50f7002b, 0x50f7002a, 0x50f70029,
13402 0x50f70028, 0x50f70027, 0x50f70026, 0x50f70025
13405 static u32 nphy_tpc_txgain_ipa_rev5[] = {
13406 0x1ff7002d, 0x1ff7002b, 0x1ff7002a, 0x1ff70029,
13407 0x1ff70028, 0x1ff70027, 0x1ff70026, 0x1ff70025,
13408 0x1ef7002d, 0x1ef7002b, 0x1ef7002a, 0x1ef70029,
13409 0x1ef70028, 0x1ef70027, 0x1ef70026, 0x1ef70025,
13410 0x1df7002d, 0x1df7002b, 0x1df7002a, 0x1df70029,
13411 0x1df70028, 0x1df70027, 0x1df70026, 0x1df70025,
13412 0x1cf7002d, 0x1cf7002b, 0x1cf7002a, 0x1cf70029,
13413 0x1cf70028, 0x1cf70027, 0x1cf70026, 0x1cf70025,
13414 0x1bf7002d, 0x1bf7002b, 0x1bf7002a, 0x1bf70029,
13415 0x1bf70028, 0x1bf70027, 0x1bf70026, 0x1bf70025,
13416 0x1af7002d, 0x1af7002b, 0x1af7002a, 0x1af70029,
13417 0x1af70028, 0x1af70027, 0x1af70026, 0x1af70025,
13418 0x19f7002d, 0x19f7002b, 0x19f7002a, 0x19f70029,
13419 0x19f70028, 0x19f70027, 0x19f70026, 0x19f70025,
13420 0x18f7002d, 0x18f7002b, 0x18f7002a, 0x18f70029,
13421 0x18f70028, 0x18f70027, 0x18f70026, 0x18f70025,
13422 0x17f7002d, 0x17f7002b, 0x17f7002a, 0x17f70029,
13423 0x17f70028, 0x17f70027, 0x17f70026, 0x17f70025,
13424 0x16f7002d, 0x16f7002b, 0x16f7002a, 0x16f70029,
13425 0x16f70028, 0x16f70027, 0x16f70026, 0x16f70025,
13426 0x15f7002d, 0x15f7002b, 0x15f7002a, 0x15f70029,
13427 0x15f70028, 0x15f70027, 0x15f70026, 0x15f70025,
13428 0x14f7002d, 0x14f7002b, 0x14f7002a, 0x14f70029,
13429 0x14f70028, 0x14f70027, 0x14f70026, 0x14f70025,
13430 0x13f7002d, 0x13f7002b, 0x13f7002a, 0x13f70029,
13431 0x13f70028, 0x13f70027, 0x13f70026, 0x13f70025,
13432 0x12f7002d, 0x12f7002b, 0x12f7002a, 0x12f70029,
13433 0x12f70028, 0x12f70027, 0x12f70026, 0x12f70025,
13434 0x11f7002d, 0x11f7002b, 0x11f7002a, 0x11f70029,
13435 0x11f70028, 0x11f70027, 0x11f70026, 0x11f70025,
13436 0x10f7002d, 0x10f7002b, 0x10f7002a, 0x10f70029,
13437 0x10f70028, 0x10f70027, 0x10f70026, 0x10f70025
13440 static u32 nphy_tpc_txgain_ipa_rev6[] = {
13441 0x0ff7002d, 0x0ff7002b, 0x0ff7002a, 0x0ff70029,
13442 0x0ff70028, 0x0ff70027, 0x0ff70026, 0x0ff70025,
13443 0x0ef7002d, 0x0ef7002b, 0x0ef7002a, 0x0ef70029,
13444 0x0ef70028, 0x0ef70027, 0x0ef70026, 0x0ef70025,
13445 0x0df7002d, 0x0df7002b, 0x0df7002a, 0x0df70029,
13446 0x0df70028, 0x0df70027, 0x0df70026, 0x0df70025,
13447 0x0cf7002d, 0x0cf7002b, 0x0cf7002a, 0x0cf70029,
13448 0x0cf70028, 0x0cf70027, 0x0cf70026, 0x0cf70025,
13449 0x0bf7002d, 0x0bf7002b, 0x0bf7002a, 0x0bf70029,
13450 0x0bf70028, 0x0bf70027, 0x0bf70026, 0x0bf70025,
13451 0x0af7002d, 0x0af7002b, 0x0af7002a, 0x0af70029,
13452 0x0af70028, 0x0af70027, 0x0af70026, 0x0af70025,
13453 0x09f7002d, 0x09f7002b, 0x09f7002a, 0x09f70029,
13454 0x09f70028, 0x09f70027, 0x09f70026, 0x09f70025,
13455 0x08f7002d, 0x08f7002b, 0x08f7002a, 0x08f70029,
13456 0x08f70028, 0x08f70027, 0x08f70026, 0x08f70025,
13457 0x07f7002d, 0x07f7002b, 0x07f7002a, 0x07f70029,
13458 0x07f70028, 0x07f70027, 0x07f70026, 0x07f70025,
13459 0x06f7002d, 0x06f7002b, 0x06f7002a, 0x06f70029,
13460 0x06f70028, 0x06f70027, 0x06f70026, 0x06f70025,
13461 0x05f7002d, 0x05f7002b, 0x05f7002a, 0x05f70029,
13462 0x05f70028, 0x05f70027, 0x05f70026, 0x05f70025,
13463 0x04f7002d, 0x04f7002b, 0x04f7002a, 0x04f70029,
13464 0x04f70028, 0x04f70027, 0x04f70026, 0x04f70025,
13465 0x03f7002d, 0x03f7002b, 0x03f7002a, 0x03f70029,
13466 0x03f70028, 0x03f70027, 0x03f70026, 0x03f70025,
13467 0x02f7002d, 0x02f7002b, 0x02f7002a, 0x02f70029,
13468 0x02f70028, 0x02f70027, 0x02f70026, 0x02f70025,
13469 0x01f7002d, 0x01f7002b, 0x01f7002a, 0x01f70029,
13470 0x01f70028, 0x01f70027, 0x01f70026, 0x01f70025,
13471 0x00f7002d, 0x00f7002b, 0x00f7002a, 0x00f70029,
13472 0x00f70028, 0x00f70027, 0x00f70026, 0x00f70025
13475 static u32 nphy_tpc_txgain_ipa_2g_2057rev3[] = {
13476 0x70ff0040, 0x70f7003e, 0x70ef003b, 0x70e70039,
13477 0x70df0037, 0x70d70036, 0x70cf0033, 0x70c70032,
13478 0x70bf0031, 0x70b7002f, 0x70af002e, 0x70a7002d,
13479 0x709f002d, 0x7097002c, 0x708f002c, 0x7087002c,
13480 0x707f002b, 0x7077002c, 0x706f002c, 0x7067002d,
13481 0x705f002e, 0x705f002b, 0x705f0029, 0x7057002a,
13482 0x70570028, 0x704f002a, 0x7047002c, 0x7047002a,
13483 0x70470028, 0x70470026, 0x70470024, 0x70470022,
13484 0x7047001f, 0x70370027, 0x70370024, 0x70370022,
13485 0x70370020, 0x7037001f, 0x7037001d, 0x7037001b,
13486 0x7037001a, 0x70370018, 0x70370017, 0x7027001e,
13487 0x7027001d, 0x7027001a, 0x701f0024, 0x701f0022,
13488 0x701f0020, 0x701f001f, 0x701f001d, 0x701f001b,
13489 0x701f001a, 0x701f0018, 0x701f0017, 0x701f0015,
13490 0x701f0014, 0x701f0013, 0x701f0012, 0x701f0011,
13491 0x70170019, 0x70170018, 0x70170016, 0x70170015,
13492 0x70170014, 0x70170013, 0x70170012, 0x70170010,
13493 0x70170010, 0x7017000f, 0x700f001d, 0x700f001b,
13494 0x700f001a, 0x700f0018, 0x700f0017, 0x700f0015,
13495 0x700f0015, 0x700f0013, 0x700f0013, 0x700f0011,
13496 0x700f0010, 0x700f0010, 0x700f000f, 0x700f000e,
13497 0x700f000d, 0x700f000c, 0x700f000b, 0x700f000b,
13498 0x700f000b, 0x700f000a, 0x700f0009, 0x700f0009,
13499 0x700f0009, 0x700f0008, 0x700f0007, 0x700f0007,
13500 0x700f0006, 0x700f0006, 0x700f0006, 0x700f0006,
13501 0x700f0005, 0x700f0005, 0x700f0005, 0x700f0004,
13502 0x700f0004, 0x700f0004, 0x700f0004, 0x700f0004,
13503 0x700f0004, 0x700f0003, 0x700f0003, 0x700f0003,
13504 0x700f0003, 0x700f0002, 0x700f0002, 0x700f0002,
13505 0x700f0002, 0x700f0002, 0x700f0002, 0x700f0001,
13506 0x700f0001, 0x700f0001, 0x700f0001, 0x700f0001,
13507 0x700f0001, 0x700f0001, 0x700f0001, 0x700f0001
13510 static u32 nphy_tpc_txgain_ipa_2g_2057rev4n6[] = {
13511 0xf0ff0040, 0xf0f7003e, 0xf0ef003b, 0xf0e70039,
13512 0xf0df0037, 0xf0d70036, 0xf0cf0033, 0xf0c70032,
13513 0xf0bf0031, 0xf0b7002f, 0xf0af002e, 0xf0a7002d,
13514 0xf09f002d, 0xf097002c, 0xf08f002c, 0xf087002c,
13515 0xf07f002b, 0xf077002c, 0xf06f002c, 0xf067002d,
13516 0xf05f002e, 0xf05f002b, 0xf05f0029, 0xf057002a,
13517 0xf0570028, 0xf04f002a, 0xf047002c, 0xf047002a,
13518 0xf0470028, 0xf0470026, 0xf0470024, 0xf0470022,
13519 0xf047001f, 0xf0370027, 0xf0370024, 0xf0370022,
13520 0xf0370020, 0xf037001f, 0xf037001d, 0xf037001b,
13521 0xf037001a, 0xf0370018, 0xf0370017, 0xf027001e,
13522 0xf027001d, 0xf027001a, 0xf01f0024, 0xf01f0022,
13523 0xf01f0020, 0xf01f001f, 0xf01f001d, 0xf01f001b,
13524 0xf01f001a, 0xf01f0018, 0xf01f0017, 0xf01f0015,
13525 0xf01f0014, 0xf01f0013, 0xf01f0012, 0xf01f0011,
13526 0xf0170019, 0xf0170018, 0xf0170016, 0xf0170015,
13527 0xf0170014, 0xf0170013, 0xf0170012, 0xf0170010,
13528 0xf0170010, 0xf017000f, 0xf00f001d, 0xf00f001b,
13529 0xf00f001a, 0xf00f0018, 0xf00f0017, 0xf00f0015,
13530 0xf00f0015, 0xf00f0013, 0xf00f0013, 0xf00f0011,
13531 0xf00f0010, 0xf00f0010, 0xf00f000f, 0xf00f000e,
13532 0xf00f000d, 0xf00f000c, 0xf00f000b, 0xf00f000b,
13533 0xf00f000b, 0xf00f000a, 0xf00f0009, 0xf00f0009,
13534 0xf00f0009, 0xf00f0008, 0xf00f0007, 0xf00f0007,
13535 0xf00f0006, 0xf00f0006, 0xf00f0006, 0xf00f0006,
13536 0xf00f0005, 0xf00f0005, 0xf00f0005, 0xf00f0004,
13537 0xf00f0004, 0xf00f0004, 0xf00f0004, 0xf00f0004,
13538 0xf00f0004, 0xf00f0003, 0xf00f0003, 0xf00f0003,
13539 0xf00f0003, 0xf00f0002, 0xf00f0002, 0xf00f0002,
13540 0xf00f0002, 0xf00f0002, 0xf00f0002, 0xf00f0001,
13541 0xf00f0001, 0xf00f0001, 0xf00f0001, 0xf00f0001,
13542 0xf00f0001, 0xf00f0001, 0xf00f0001, 0xf00f0001
13545 static u32 nphy_tpc_txgain_ipa_2g_2057rev5[] = {
13546 0x30ff0031, 0x30e70031, 0x30e7002e, 0x30cf002e,
13547 0x30bf002e, 0x30af002e, 0x309f002f, 0x307f0033,
13548 0x307f0031, 0x307f002e, 0x3077002e, 0x306f002e,
13549 0x3067002e, 0x305f002f, 0x30570030, 0x3057002d,
13550 0x304f002e, 0x30470031, 0x3047002e, 0x3047002c,
13551 0x30470029, 0x303f002c, 0x303f0029, 0x3037002d,
13552 0x3037002a, 0x30370028, 0x302f002c, 0x302f002a,
13553 0x302f0028, 0x302f0026, 0x3027002c, 0x30270029,
13554 0x30270027, 0x30270025, 0x30270023, 0x301f002c,
13555 0x301f002a, 0x301f0028, 0x301f0025, 0x301f0024,
13556 0x301f0022, 0x301f001f, 0x3017002d, 0x3017002b,
13557 0x30170028, 0x30170026, 0x30170024, 0x30170022,
13558 0x30170020, 0x3017001e, 0x3017001d, 0x3017001b,
13559 0x3017001a, 0x30170018, 0x30170017, 0x30170015,
13560 0x300f002c, 0x300f0029, 0x300f0027, 0x300f0024,
13561 0x300f0022, 0x300f0021, 0x300f001f, 0x300f001d,
13562 0x300f001b, 0x300f001a, 0x300f0018, 0x300f0017,
13563 0x300f0016, 0x300f0015, 0x300f0115, 0x300f0215,
13564 0x300f0315, 0x300f0415, 0x300f0515, 0x300f0615,
13565 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13566 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13567 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13568 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13569 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13570 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13571 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13572 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13573 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13574 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13575 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13576 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13577 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715
13580 static u32 nphy_tpc_txgain_ipa_2g_2057rev7[] = {
13581 0x30ff0031, 0x30e70031, 0x30e7002e, 0x30cf002e,
13582 0x30bf002e, 0x30af002e, 0x309f002f, 0x307f0033,
13583 0x307f0031, 0x307f002e, 0x3077002e, 0x306f002e,
13584 0x3067002e, 0x305f002f, 0x30570030, 0x3057002d,
13585 0x304f002e, 0x30470031, 0x3047002e, 0x3047002c,
13586 0x30470029, 0x303f002c, 0x303f0029, 0x3037002d,
13587 0x3037002a, 0x30370028, 0x302f002c, 0x302f002a,
13588 0x302f0028, 0x302f0026, 0x3027002c, 0x30270029,
13589 0x30270027, 0x30270025, 0x30270023, 0x301f002c,
13590 0x301f002a, 0x301f0028, 0x301f0025, 0x301f0024,
13591 0x301f0022, 0x301f001f, 0x3017002d, 0x3017002b,
13592 0x30170028, 0x30170026, 0x30170024, 0x30170022,
13593 0x30170020, 0x3017001e, 0x3017001d, 0x3017001b,
13594 0x3017001a, 0x30170018, 0x30170017, 0x30170015,
13595 0x300f002c, 0x300f0029, 0x300f0027, 0x300f0024,
13596 0x300f0022, 0x300f0021, 0x300f001f, 0x300f001d,
13597 0x300f001b, 0x300f001a, 0x300f0018, 0x300f0017,
13598 0x300f0016, 0x300f0015, 0x300f0115, 0x300f0215,
13599 0x300f0315, 0x300f0415, 0x300f0515, 0x300f0615,
13600 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13601 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13602 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13603 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13604 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13605 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13606 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13607 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13608 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13609 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13610 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13611 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13612 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715
13615 static u32 nphy_tpc_txgain_ipa_5g[] = {
13616 0x7ff70035, 0x7ff70033, 0x7ff70032, 0x7ff70031,
13617 0x7ff7002f, 0x7ff7002e, 0x7ff7002d, 0x7ff7002b,
13618 0x7ff7002a, 0x7ff70029, 0x7ff70028, 0x7ff70027,
13619 0x7ff70026, 0x7ff70024, 0x7ff70023, 0x7ff70022,
13620 0x7ef70028, 0x7ef70027, 0x7ef70026, 0x7ef70025,
13621 0x7ef70024, 0x7ef70023, 0x7df70028, 0x7df70027,
13622 0x7df70026, 0x7df70025, 0x7df70024, 0x7df70023,
13623 0x7df70022, 0x7cf70029, 0x7cf70028, 0x7cf70027,
13624 0x7cf70026, 0x7cf70025, 0x7cf70023, 0x7cf70022,
13625 0x7bf70029, 0x7bf70028, 0x7bf70026, 0x7bf70025,
13626 0x7bf70024, 0x7bf70023, 0x7bf70022, 0x7bf70021,
13627 0x7af70029, 0x7af70028, 0x7af70027, 0x7af70026,
13628 0x7af70025, 0x7af70024, 0x7af70023, 0x7af70022,
13629 0x79f70029, 0x79f70028, 0x79f70027, 0x79f70026,
13630 0x79f70025, 0x79f70024, 0x79f70023, 0x79f70022,
13631 0x78f70029, 0x78f70028, 0x78f70027, 0x78f70026,
13632 0x78f70025, 0x78f70024, 0x78f70023, 0x78f70022,
13633 0x77f70029, 0x77f70028, 0x77f70027, 0x77f70026,
13634 0x77f70025, 0x77f70024, 0x77f70023, 0x77f70022,
13635 0x76f70029, 0x76f70028, 0x76f70027, 0x76f70026,
13636 0x76f70024, 0x76f70023, 0x76f70022, 0x76f70021,
13637 0x75f70029, 0x75f70028, 0x75f70027, 0x75f70026,
13638 0x75f70025, 0x75f70024, 0x75f70023, 0x74f70029,
13639 0x74f70028, 0x74f70026, 0x74f70025, 0x74f70024,
13640 0x74f70023, 0x74f70022, 0x73f70029, 0x73f70027,
13641 0x73f70026, 0x73f70025, 0x73f70024, 0x73f70023,
13642 0x73f70022, 0x72f70028, 0x72f70027, 0x72f70026,
13643 0x72f70025, 0x72f70024, 0x72f70023, 0x72f70022,
13644 0x71f70028, 0x71f70027, 0x71f70026, 0x71f70025,
13645 0x71f70024, 0x71f70023, 0x70f70028, 0x70f70027,
13646 0x70f70026, 0x70f70024, 0x70f70023, 0x70f70022,
13647 0x70f70021, 0x70f70020, 0x70f70020, 0x70f7001f
13650 static u32 nphy_tpc_txgain_ipa_5g_2057[] = {
13651 0x7f7f0044, 0x7f7f0040, 0x7f7f003c, 0x7f7f0039,
13652 0x7f7f0036, 0x7e7f003c, 0x7e7f0038, 0x7e7f0035,
13653 0x7d7f003c, 0x7d7f0039, 0x7d7f0036, 0x7d7f0033,
13654 0x7c7f003b, 0x7c7f0037, 0x7c7f0034, 0x7b7f003a,
13655 0x7b7f0036, 0x7b7f0033, 0x7a7f003c, 0x7a7f0039,
13656 0x7a7f0036, 0x7a7f0033, 0x797f003b, 0x797f0038,
13657 0x797f0035, 0x797f0032, 0x787f003b, 0x787f0038,
13658 0x787f0035, 0x787f0032, 0x777f003a, 0x777f0037,
13659 0x777f0034, 0x777f0031, 0x767f003a, 0x767f0036,
13660 0x767f0033, 0x767f0031, 0x757f003a, 0x757f0037,
13661 0x757f0034, 0x747f003c, 0x747f0039, 0x747f0036,
13662 0x747f0033, 0x737f003b, 0x737f0038, 0x737f0035,
13663 0x737f0032, 0x727f0039, 0x727f0036, 0x727f0033,
13664 0x727f0030, 0x717f003a, 0x717f0037, 0x717f0034,
13665 0x707f003b, 0x707f0038, 0x707f0035, 0x707f0032,
13666 0x707f002f, 0x707f002d, 0x707f002a, 0x707f0028,
13667 0x707f0025, 0x707f0023, 0x707f0021, 0x707f0020,
13668 0x707f001e, 0x707f001c, 0x707f001b, 0x707f0019,
13669 0x707f0018, 0x707f0016, 0x707f0015, 0x707f0014,
13670 0x707f0013, 0x707f0012, 0x707f0011, 0x707f0010,
13671 0x707f000f, 0x707f000e, 0x707f000d, 0x707f000d,
13672 0x707f000c, 0x707f000b, 0x707f000b, 0x707f000a,
13673 0x707f0009, 0x707f0009, 0x707f0008, 0x707f0008,
13674 0x707f0007, 0x707f0007, 0x707f0007, 0x707f0006,
13675 0x707f0006, 0x707f0006, 0x707f0005, 0x707f0005,
13676 0x707f0005, 0x707f0004, 0x707f0004, 0x707f0004,
13677 0x707f0004, 0x707f0004, 0x707f0003, 0x707f0003,
13678 0x707f0003, 0x707f0003, 0x707f0003, 0x707f0003,
13679 0x707f0002, 0x707f0002, 0x707f0002, 0x707f0002,
13680 0x707f0002, 0x707f0002, 0x707f0002, 0x707f0002,
13681 0x707f0001, 0x707f0001, 0x707f0001, 0x707f0001,
13682 0x707f0001, 0x707f0001, 0x707f0001, 0x707f0001
13685 static u32 nphy_tpc_txgain_ipa_5g_2057rev7[] = {
13686 0x6f7f0031, 0x6f7f002e, 0x6f7f002c, 0x6f7f002a,
13687 0x6f7f0027, 0x6e7f002e, 0x6e7f002c, 0x6e7f002a,
13688 0x6d7f0030, 0x6d7f002d, 0x6d7f002a, 0x6d7f0028,
13689 0x6c7f0030, 0x6c7f002d, 0x6c7f002b, 0x6b7f002e,
13690 0x6b7f002c, 0x6b7f002a, 0x6b7f0027, 0x6a7f002e,
13691 0x6a7f002c, 0x6a7f002a, 0x697f0030, 0x697f002e,
13692 0x697f002b, 0x697f0029, 0x687f002f, 0x687f002d,
13693 0x687f002a, 0x687f0027, 0x677f002f, 0x677f002d,
13694 0x677f002a, 0x667f0031, 0x667f002e, 0x667f002c,
13695 0x667f002a, 0x657f0030, 0x657f002e, 0x657f002b,
13696 0x657f0029, 0x647f0030, 0x647f002d, 0x647f002b,
13697 0x647f0029, 0x637f002f, 0x637f002d, 0x637f002a,
13698 0x627f0030, 0x627f002d, 0x627f002b, 0x627f0029,
13699 0x617f0030, 0x617f002e, 0x617f002b, 0x617f0029,
13700 0x607f002f, 0x607f002d, 0x607f002a, 0x607f0027,
13701 0x607f0026, 0x607f0023, 0x607f0021, 0x607f0020,
13702 0x607f001e, 0x607f001c, 0x607f001a, 0x607f0019,
13703 0x607f0018, 0x607f0016, 0x607f0015, 0x607f0014,
13704 0x607f0012, 0x607f0012, 0x607f0011, 0x607f000f,
13705 0x607f000f, 0x607f000e, 0x607f000d, 0x607f000c,
13706 0x607f000c, 0x607f000b, 0x607f000b, 0x607f000a,
13707 0x607f0009, 0x607f0009, 0x607f0008, 0x607f0008,
13708 0x607f0008, 0x607f0007, 0x607f0007, 0x607f0006,
13709 0x607f0006, 0x607f0005, 0x607f0005, 0x607f0005,
13710 0x607f0005, 0x607f0005, 0x607f0004, 0x607f0004,
13711 0x607f0004, 0x607f0004, 0x607f0003, 0x607f0003,
13712 0x607f0003, 0x607f0003, 0x607f0002, 0x607f0002,
13713 0x607f0002, 0x607f0002, 0x607f0002, 0x607f0002,
13714 0x607f0002, 0x607f0002, 0x607f0002, 0x607f0002,
13715 0x607f0002, 0x607f0002, 0x607f0002, 0x607f0002,
13716 0x607f0002, 0x607f0001, 0x607f0001, 0x607f0001,
13717 0x607f0001, 0x607f0001, 0x607f0001, 0x607f0001
13720 static s8 nphy_papd_pga_gain_delta_ipa_2g[] = {
13721 -114, -108, -98, -91, -84, -78, -70, -62,
13722 -54, -46, -39, -31, -23, -15, -8, 0
13725 static s8 nphy_papd_pga_gain_delta_ipa_5g[] = {
13726 -100, -95, -89, -83, -77, -70, -63, -56,
13727 -48, -41, -33, -25, -19, -12, -6, 0
13730 static s16 nphy_papd_padgain_dlt_2g_2057rev3n4[] = {
13731 -159, -113, -86, -72, -62, -54, -48, -43,
13732 -39, -35, -31, -28, -25, -23, -20, -18,
13733 -17, -15, -13, -11, -10, -8, -7, -6,
13734 -5, -4, -3, -3, -2, -1, -1, 0
13737 static s16 nphy_papd_padgain_dlt_2g_2057rev5[] = {
13738 -109, -109, -82, -68, -58, -50, -44, -39,
13739 -35, -31, -28, -26, -23, -21, -19, -17,
13740 -16, -14, -13, -11, -10, -9, -8, -7,
13741 -5, -5, -4, -3, -2, -1, -1, 0
13744 static s16 nphy_papd_padgain_dlt_2g_2057rev7[] = {
13745 -122, -122, -95, -80, -69, -61, -54, -49,
13746 -43, -39, -35, -32, -28, -26, -23, -21,
13747 -18, -16, -15, -13, -11, -10, -8, -7,
13748 -6, -5, -4, -3, -2, -1, -1, 0
13751 static s8 nphy_papd_pgagain_dlt_5g_2057[] = {
13752 -107, -101, -92, -85, -78, -71, -62, -55,
13753 -47, -39, -32, -24, -19, -12, -6, 0
13756 static s8 nphy_papd_pgagain_dlt_5g_2057rev7[] = {
13757 -110, -104, -95, -88, -81, -74, -66, -58,
13758 -50, -44, -36, -28, -23, -15, -8, 0
13761 static u8 pad_gain_codes_used_2057rev5[] = {
13762 20, 19, 18, 17, 16, 15, 14, 13, 12, 11,
13763 10, 9, 8, 7, 6, 5, 4, 3, 2, 1
13766 static u8 pad_gain_codes_used_2057rev7[] = {
13767 15, 14, 13, 12, 11, 10, 9, 8, 7, 6,
13771 static u8 pad_all_gain_codes_2057[] = {
13772 31, 30, 29, 28, 27, 26, 25, 24, 23, 22,
13773 21, 20, 19, 18, 17, 16, 15, 14, 13, 12,
13774 11, 10, 9, 8, 7, 6, 5, 4, 3, 2,
13778 static u8 pga_all_gain_codes_2057[] = {
13779 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
13782 static u32 nphy_papd_scaltbl[] = {
13783 0x0ae2002f, 0x0a3b0032, 0x09a70035, 0x09220038,
13784 0x0887003c, 0x081f003f, 0x07a20043, 0x07340047,
13785 0x06d2004b, 0x067a004f, 0x06170054, 0x05bf0059,
13786 0x0571005e, 0x051e0064, 0x04d3006a, 0x04910070,
13787 0x044c0077, 0x040f007e, 0x03d90085, 0x03a1008d,
13788 0x036f0095, 0x033d009e, 0x030b00a8, 0x02e000b2,
13789 0x02b900bc, 0x029200c7, 0x026d00d3, 0x024900e0,
13790 0x022900ed, 0x020a00fb, 0x01ec010a, 0x01d0011a,
13791 0x01b7012a, 0x019e013c, 0x0187014f, 0x01720162,
13792 0x015d0177, 0x0149018e, 0x013701a5, 0x012601be,
13793 0x011501d9, 0x010501f5, 0x00f70212, 0x00e90232,
13794 0x00dc0253, 0x00d00276, 0x00c4029c, 0x00b902c3,
13795 0x00af02ed, 0x00a5031a, 0x009c0349, 0x0093037a,
13796 0x008b03af, 0x008303e7, 0x007c0422, 0x00750461,
13797 0x006e04a3, 0x006804ea, 0x00620534, 0x005d0583,
13798 0x005805d7, 0x0053062f, 0x004e068d, 0x004a06f1
13801 static u32 nphy_tpc_txgain_rev3[] = {
13802 0x1f410044, 0x1f410042, 0x1f410040, 0x1f41003e,
13803 0x1f41003c, 0x1f41003b, 0x1f410039, 0x1f410037,
13804 0x1e410044, 0x1e410042, 0x1e410040, 0x1e41003e,
13805 0x1e41003c, 0x1e41003b, 0x1e410039, 0x1e410037,
13806 0x1d410044, 0x1d410042, 0x1d410040, 0x1d41003e,
13807 0x1d41003c, 0x1d41003b, 0x1d410039, 0x1d410037,
13808 0x1c410044, 0x1c410042, 0x1c410040, 0x1c41003e,
13809 0x1c41003c, 0x1c41003b, 0x1c410039, 0x1c410037,
13810 0x1b410044, 0x1b410042, 0x1b410040, 0x1b41003e,
13811 0x1b41003c, 0x1b41003b, 0x1b410039, 0x1b410037,
13812 0x1a410044, 0x1a410042, 0x1a410040, 0x1a41003e,
13813 0x1a41003c, 0x1a41003b, 0x1a410039, 0x1a410037,
13814 0x19410044, 0x19410042, 0x19410040, 0x1941003e,
13815 0x1941003c, 0x1941003b, 0x19410039, 0x19410037,
13816 0x18410044, 0x18410042, 0x18410040, 0x1841003e,
13817 0x1841003c, 0x1841003b, 0x18410039, 0x18410037,
13818 0x17410044, 0x17410042, 0x17410040, 0x1741003e,
13819 0x1741003c, 0x1741003b, 0x17410039, 0x17410037,
13820 0x16410044, 0x16410042, 0x16410040, 0x1641003e,
13821 0x1641003c, 0x1641003b, 0x16410039, 0x16410037,
13822 0x15410044, 0x15410042, 0x15410040, 0x1541003e,
13823 0x1541003c, 0x1541003b, 0x15410039, 0x15410037,
13824 0x14410044, 0x14410042, 0x14410040, 0x1441003e,
13825 0x1441003c, 0x1441003b, 0x14410039, 0x14410037,
13826 0x13410044, 0x13410042, 0x13410040, 0x1341003e,
13827 0x1341003c, 0x1341003b, 0x13410039, 0x13410037,
13828 0x12410044, 0x12410042, 0x12410040, 0x1241003e,
13829 0x1241003c, 0x1241003b, 0x12410039, 0x12410037,
13830 0x11410044, 0x11410042, 0x11410040, 0x1141003e,
13831 0x1141003c, 0x1141003b, 0x11410039, 0x11410037,
13832 0x10410044, 0x10410042, 0x10410040, 0x1041003e,
13833 0x1041003c, 0x1041003b, 0x10410039, 0x10410037
13836 static u32 nphy_tpc_txgain_HiPwrEPA[] = {
13837 0x0f410044, 0x0f410042, 0x0f410040, 0x0f41003e,
13838 0x0f41003c, 0x0f41003b, 0x0f410039, 0x0f410037,
13839 0x0e410044, 0x0e410042, 0x0e410040, 0x0e41003e,
13840 0x0e41003c, 0x0e41003b, 0x0e410039, 0x0e410037,
13841 0x0d410044, 0x0d410042, 0x0d410040, 0x0d41003e,
13842 0x0d41003c, 0x0d41003b, 0x0d410039, 0x0d410037,
13843 0x0c410044, 0x0c410042, 0x0c410040, 0x0c41003e,
13844 0x0c41003c, 0x0c41003b, 0x0c410039, 0x0c410037,
13845 0x0b410044, 0x0b410042, 0x0b410040, 0x0b41003e,
13846 0x0b41003c, 0x0b41003b, 0x0b410039, 0x0b410037,
13847 0x0a410044, 0x0a410042, 0x0a410040, 0x0a41003e,
13848 0x0a41003c, 0x0a41003b, 0x0a410039, 0x0a410037,
13849 0x09410044, 0x09410042, 0x09410040, 0x0941003e,
13850 0x0941003c, 0x0941003b, 0x09410039, 0x09410037,
13851 0x08410044, 0x08410042, 0x08410040, 0x0841003e,
13852 0x0841003c, 0x0841003b, 0x08410039, 0x08410037,
13853 0x07410044, 0x07410042, 0x07410040, 0x0741003e,
13854 0x0741003c, 0x0741003b, 0x07410039, 0x07410037,
13855 0x06410044, 0x06410042, 0x06410040, 0x0641003e,
13856 0x0641003c, 0x0641003b, 0x06410039, 0x06410037,
13857 0x05410044, 0x05410042, 0x05410040, 0x0541003e,
13858 0x0541003c, 0x0541003b, 0x05410039, 0x05410037,
13859 0x04410044, 0x04410042, 0x04410040, 0x0441003e,
13860 0x0441003c, 0x0441003b, 0x04410039, 0x04410037,
13861 0x03410044, 0x03410042, 0x03410040, 0x0341003e,
13862 0x0341003c, 0x0341003b, 0x03410039, 0x03410037,
13863 0x02410044, 0x02410042, 0x02410040, 0x0241003e,
13864 0x0241003c, 0x0241003b, 0x02410039, 0x02410037,
13865 0x01410044, 0x01410042, 0x01410040, 0x0141003e,
13866 0x0141003c, 0x0141003b, 0x01410039, 0x01410037,
13867 0x00410044, 0x00410042, 0x00410040, 0x0041003e,
13868 0x0041003c, 0x0041003b, 0x00410039, 0x00410037
13871 static u32 nphy_tpc_txgain_epa_2057rev3[] = {
13872 0x80f90040, 0x80e10040, 0x80e1003c, 0x80c9003d,
13873 0x80b9003c, 0x80a9003d, 0x80a1003c, 0x8099003b,
13874 0x8091003b, 0x8089003a, 0x8081003a, 0x80790039,
13875 0x80710039, 0x8069003a, 0x8061003b, 0x8059003d,
13876 0x8051003f, 0x80490042, 0x8049003e, 0x8049003b,
13877 0x8041003e, 0x8041003b, 0x8039003e, 0x8039003b,
13878 0x80390038, 0x80390035, 0x8031003a, 0x80310036,
13879 0x80310033, 0x8029003a, 0x80290037, 0x80290034,
13880 0x80290031, 0x80210039, 0x80210036, 0x80210033,
13881 0x80210030, 0x8019003c, 0x80190039, 0x80190036,
13882 0x80190033, 0x80190030, 0x8019002d, 0x8019002b,
13883 0x80190028, 0x8011003a, 0x80110036, 0x80110033,
13884 0x80110030, 0x8011002e, 0x8011002b, 0x80110029,
13885 0x80110027, 0x80110024, 0x80110022, 0x80110020,
13886 0x8011001f, 0x8011001d, 0x8009003a, 0x80090037,
13887 0x80090034, 0x80090031, 0x8009002e, 0x8009002c,
13888 0x80090029, 0x80090027, 0x80090025, 0x80090023,
13889 0x80090021, 0x8009001f, 0x8009001d, 0x8009011d,
13890 0x8009021d, 0x8009031d, 0x8009041d, 0x8009051d,
13891 0x8009061d, 0x8009071d, 0x8009071d, 0x8009071d,
13892 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13893 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13894 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13895 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13896 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13897 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13898 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13899 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13900 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13901 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13902 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13903 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d
13906 static u32 nphy_tpc_txgain_epa_2057rev5[] = {
13907 0x10f90040, 0x10e10040, 0x10e1003c, 0x10c9003d,
13908 0x10b9003c, 0x10a9003d, 0x10a1003c, 0x1099003b,
13909 0x1091003b, 0x1089003a, 0x1081003a, 0x10790039,
13910 0x10710039, 0x1069003a, 0x1061003b, 0x1059003d,
13911 0x1051003f, 0x10490042, 0x1049003e, 0x1049003b,
13912 0x1041003e, 0x1041003b, 0x1039003e, 0x1039003b,
13913 0x10390038, 0x10390035, 0x1031003a, 0x10310036,
13914 0x10310033, 0x1029003a, 0x10290037, 0x10290034,
13915 0x10290031, 0x10210039, 0x10210036, 0x10210033,
13916 0x10210030, 0x1019003c, 0x10190039, 0x10190036,
13917 0x10190033, 0x10190030, 0x1019002d, 0x1019002b,
13918 0x10190028, 0x1011003a, 0x10110036, 0x10110033,
13919 0x10110030, 0x1011002e, 0x1011002b, 0x10110029,
13920 0x10110027, 0x10110024, 0x10110022, 0x10110020,
13921 0x1011001f, 0x1011001d, 0x1009003a, 0x10090037,
13922 0x10090034, 0x10090031, 0x1009002e, 0x1009002c,
13923 0x10090029, 0x10090027, 0x10090025, 0x10090023,
13924 0x10090021, 0x1009001f, 0x1009001d, 0x1009001b,
13925 0x1009001a, 0x10090018, 0x10090017, 0x10090016,
13926 0x10090015, 0x10090013, 0x10090012, 0x10090011,
13927 0x10090010, 0x1009000f, 0x1009000f, 0x1009000e,
13928 0x1009000d, 0x1009000c, 0x1009000c, 0x1009000b,
13929 0x1009000a, 0x1009000a, 0x10090009, 0x10090009,
13930 0x10090008, 0x10090008, 0x10090007, 0x10090007,
13931 0x10090007, 0x10090006, 0x10090006, 0x10090005,
13932 0x10090005, 0x10090005, 0x10090005, 0x10090004,
13933 0x10090004, 0x10090004, 0x10090004, 0x10090003,
13934 0x10090003, 0x10090003, 0x10090003, 0x10090003,
13935 0x10090003, 0x10090002, 0x10090002, 0x10090002,
13936 0x10090002, 0x10090002, 0x10090002, 0x10090002,
13937 0x10090002, 0x10090002, 0x10090001, 0x10090001,
13938 0x10090001, 0x10090001, 0x10090001, 0x10090001
13941 static u32 nphy_tpc_5GHz_txgain_rev3[] = {
13942 0xcff70044, 0xcff70042, 0xcff70040, 0xcff7003e,
13943 0xcff7003c, 0xcff7003b, 0xcff70039, 0xcff70037,
13944 0xcef70044, 0xcef70042, 0xcef70040, 0xcef7003e,
13945 0xcef7003c, 0xcef7003b, 0xcef70039, 0xcef70037,
13946 0xcdf70044, 0xcdf70042, 0xcdf70040, 0xcdf7003e,
13947 0xcdf7003c, 0xcdf7003b, 0xcdf70039, 0xcdf70037,
13948 0xccf70044, 0xccf70042, 0xccf70040, 0xccf7003e,
13949 0xccf7003c, 0xccf7003b, 0xccf70039, 0xccf70037,
13950 0xcbf70044, 0xcbf70042, 0xcbf70040, 0xcbf7003e,
13951 0xcbf7003c, 0xcbf7003b, 0xcbf70039, 0xcbf70037,
13952 0xcaf70044, 0xcaf70042, 0xcaf70040, 0xcaf7003e,
13953 0xcaf7003c, 0xcaf7003b, 0xcaf70039, 0xcaf70037,
13954 0xc9f70044, 0xc9f70042, 0xc9f70040, 0xc9f7003e,
13955 0xc9f7003c, 0xc9f7003b, 0xc9f70039, 0xc9f70037,
13956 0xc8f70044, 0xc8f70042, 0xc8f70040, 0xc8f7003e,
13957 0xc8f7003c, 0xc8f7003b, 0xc8f70039, 0xc8f70037,
13958 0xc7f70044, 0xc7f70042, 0xc7f70040, 0xc7f7003e,
13959 0xc7f7003c, 0xc7f7003b, 0xc7f70039, 0xc7f70037,
13960 0xc6f70044, 0xc6f70042, 0xc6f70040, 0xc6f7003e,
13961 0xc6f7003c, 0xc6f7003b, 0xc6f70039, 0xc6f70037,
13962 0xc5f70044, 0xc5f70042, 0xc5f70040, 0xc5f7003e,
13963 0xc5f7003c, 0xc5f7003b, 0xc5f70039, 0xc5f70037,
13964 0xc4f70044, 0xc4f70042, 0xc4f70040, 0xc4f7003e,
13965 0xc4f7003c, 0xc4f7003b, 0xc4f70039, 0xc4f70037,
13966 0xc3f70044, 0xc3f70042, 0xc3f70040, 0xc3f7003e,
13967 0xc3f7003c, 0xc3f7003b, 0xc3f70039, 0xc3f70037,
13968 0xc2f70044, 0xc2f70042, 0xc2f70040, 0xc2f7003e,
13969 0xc2f7003c, 0xc2f7003b, 0xc2f70039, 0xc2f70037,
13970 0xc1f70044, 0xc1f70042, 0xc1f70040, 0xc1f7003e,
13971 0xc1f7003c, 0xc1f7003b, 0xc1f70039, 0xc1f70037,
13972 0xc0f70044, 0xc0f70042, 0xc0f70040, 0xc0f7003e,
13973 0xc0f7003c, 0xc0f7003b, 0xc0f70039, 0xc0f70037
13976 static u32 nphy_tpc_5GHz_txgain_rev4[] = {
13977 0x2ff20044, 0x2ff20042, 0x2ff20040, 0x2ff2003e,
13978 0x2ff2003c, 0x2ff2003b, 0x2ff20039, 0x2ff20037,
13979 0x2ef20044, 0x2ef20042, 0x2ef20040, 0x2ef2003e,
13980 0x2ef2003c, 0x2ef2003b, 0x2ef20039, 0x2ef20037,
13981 0x2df20044, 0x2df20042, 0x2df20040, 0x2df2003e,
13982 0x2df2003c, 0x2df2003b, 0x2df20039, 0x2df20037,
13983 0x2cf20044, 0x2cf20042, 0x2cf20040, 0x2cf2003e,
13984 0x2cf2003c, 0x2cf2003b, 0x2cf20039, 0x2cf20037,
13985 0x2bf20044, 0x2bf20042, 0x2bf20040, 0x2bf2003e,
13986 0x2bf2003c, 0x2bf2003b, 0x2bf20039, 0x2bf20037,
13987 0x2af20044, 0x2af20042, 0x2af20040, 0x2af2003e,
13988 0x2af2003c, 0x2af2003b, 0x2af20039, 0x2af20037,
13989 0x29f20044, 0x29f20042, 0x29f20040, 0x29f2003e,
13990 0x29f2003c, 0x29f2003b, 0x29f20039, 0x29f20037,
13991 0x28f20044, 0x28f20042, 0x28f20040, 0x28f2003e,
13992 0x28f2003c, 0x28f2003b, 0x28f20039, 0x28f20037,
13993 0x27f20044, 0x27f20042, 0x27f20040, 0x27f2003e,
13994 0x27f2003c, 0x27f2003b, 0x27f20039, 0x27f20037,
13995 0x26f20044, 0x26f20042, 0x26f20040, 0x26f2003e,
13996 0x26f2003c, 0x26f2003b, 0x26f20039, 0x26f20037,
13997 0x25f20044, 0x25f20042, 0x25f20040, 0x25f2003e,
13998 0x25f2003c, 0x25f2003b, 0x25f20039, 0x25f20037,
13999 0x24f20044, 0x24f20042, 0x24f20040, 0x24f2003e,
14000 0x24f2003c, 0x24f2003b, 0x24f20039, 0x24f20038,
14001 0x23f20041, 0x23f20040, 0x23f2003f, 0x23f2003e,
14002 0x23f2003c, 0x23f2003b, 0x23f20039, 0x23f20037,
14003 0x22f20044, 0x22f20042, 0x22f20040, 0x22f2003e,
14004 0x22f2003c, 0x22f2003b, 0x22f20039, 0x22f20037,
14005 0x21f20044, 0x21f20042, 0x21f20040, 0x21f2003e,
14006 0x21f2003c, 0x21f2003b, 0x21f20039, 0x21f20037,
14007 0x20d20043, 0x20d20041, 0x20d2003e, 0x20d2003c,
14008 0x20d2003a, 0x20d20038, 0x20d20036, 0x20d20034
14011 static u32 nphy_tpc_5GHz_txgain_rev5[] = {
14012 0x0f62004a, 0x0f620048, 0x0f620046, 0x0f620044,
14013 0x0f620042, 0x0f620040, 0x0f62003e, 0x0f62003c,
14014 0x0e620044, 0x0e620042, 0x0e620040, 0x0e62003e,
14015 0x0e62003c, 0x0e62003d, 0x0e62003b, 0x0e62003a,
14016 0x0d620043, 0x0d620041, 0x0d620040, 0x0d62003e,
14017 0x0d62003d, 0x0d62003c, 0x0d62003b, 0x0d62003a,
14018 0x0c620041, 0x0c620040, 0x0c62003f, 0x0c62003e,
14019 0x0c62003c, 0x0c62003b, 0x0c620039, 0x0c620037,
14020 0x0b620046, 0x0b620044, 0x0b620042, 0x0b620040,
14021 0x0b62003e, 0x0b62003c, 0x0b62003b, 0x0b62003a,
14022 0x0a620041, 0x0a620040, 0x0a62003e, 0x0a62003c,
14023 0x0a62003b, 0x0a62003a, 0x0a620039, 0x0a620038,
14024 0x0962003e, 0x0962003d, 0x0962003c, 0x0962003b,
14025 0x09620039, 0x09620037, 0x09620035, 0x09620033,
14026 0x08620044, 0x08620042, 0x08620040, 0x0862003e,
14027 0x0862003c, 0x0862003b, 0x0862003a, 0x08620039,
14028 0x07620043, 0x07620042, 0x07620040, 0x0762003f,
14029 0x0762003d, 0x0762003b, 0x0762003a, 0x07620039,
14030 0x0662003e, 0x0662003d, 0x0662003c, 0x0662003b,
14031 0x06620039, 0x06620037, 0x06620035, 0x06620033,
14032 0x05620046, 0x05620044, 0x05620042, 0x05620040,
14033 0x0562003e, 0x0562003c, 0x0562003b, 0x05620039,
14034 0x04620044, 0x04620042, 0x04620040, 0x0462003e,
14035 0x0462003c, 0x0462003b, 0x04620039, 0x04620038,
14036 0x0362003c, 0x0362003b, 0x0362003a, 0x03620039,
14037 0x03620038, 0x03620037, 0x03620035, 0x03620033,
14038 0x0262004c, 0x0262004a, 0x02620048, 0x02620047,
14039 0x02620046, 0x02620044, 0x02620043, 0x02620042,
14040 0x0162004a, 0x01620048, 0x01620046, 0x01620044,
14041 0x01620043, 0x01620042, 0x01620041, 0x01620040,
14042 0x00620042, 0x00620040, 0x0062003e, 0x0062003c,
14043 0x0062003b, 0x00620039, 0x00620037, 0x00620035
14046 static u32 nphy_tpc_5GHz_txgain_HiPwrEPA[] = {
14047 0x2ff10044, 0x2ff10042, 0x2ff10040, 0x2ff1003e,
14048 0x2ff1003c, 0x2ff1003b, 0x2ff10039, 0x2ff10037,
14049 0x2ef10044, 0x2ef10042, 0x2ef10040, 0x2ef1003e,
14050 0x2ef1003c, 0x2ef1003b, 0x2ef10039, 0x2ef10037,
14051 0x2df10044, 0x2df10042, 0x2df10040, 0x2df1003e,
14052 0x2df1003c, 0x2df1003b, 0x2df10039, 0x2df10037,
14053 0x2cf10044, 0x2cf10042, 0x2cf10040, 0x2cf1003e,
14054 0x2cf1003c, 0x2cf1003b, 0x2cf10039, 0x2cf10037,
14055 0x2bf10044, 0x2bf10042, 0x2bf10040, 0x2bf1003e,
14056 0x2bf1003c, 0x2bf1003b, 0x2bf10039, 0x2bf10037,
14057 0x2af10044, 0x2af10042, 0x2af10040, 0x2af1003e,
14058 0x2af1003c, 0x2af1003b, 0x2af10039, 0x2af10037,
14059 0x29f10044, 0x29f10042, 0x29f10040, 0x29f1003e,
14060 0x29f1003c, 0x29f1003b, 0x29f10039, 0x29f10037,
14061 0x28f10044, 0x28f10042, 0x28f10040, 0x28f1003e,
14062 0x28f1003c, 0x28f1003b, 0x28f10039, 0x28f10037,
14063 0x27f10044, 0x27f10042, 0x27f10040, 0x27f1003e,
14064 0x27f1003c, 0x27f1003b, 0x27f10039, 0x27f10037,
14065 0x26f10044, 0x26f10042, 0x26f10040, 0x26f1003e,
14066 0x26f1003c, 0x26f1003b, 0x26f10039, 0x26f10037,
14067 0x25f10044, 0x25f10042, 0x25f10040, 0x25f1003e,
14068 0x25f1003c, 0x25f1003b, 0x25f10039, 0x25f10037,
14069 0x24f10044, 0x24f10042, 0x24f10040, 0x24f1003e,
14070 0x24f1003c, 0x24f1003b, 0x24f10039, 0x24f10038,
14071 0x23f10041, 0x23f10040, 0x23f1003f, 0x23f1003e,
14072 0x23f1003c, 0x23f1003b, 0x23f10039, 0x23f10037,
14073 0x22f10044, 0x22f10042, 0x22f10040, 0x22f1003e,
14074 0x22f1003c, 0x22f1003b, 0x22f10039, 0x22f10037,
14075 0x21f10044, 0x21f10042, 0x21f10040, 0x21f1003e,
14076 0x21f1003c, 0x21f1003b, 0x21f10039, 0x21f10037,
14077 0x20d10043, 0x20d10041, 0x20d1003e, 0x20d1003c,
14078 0x20d1003a, 0x20d10038, 0x20d10036, 0x20d10034
14081 static u8 ant_sw_ctrl_tbl_rev8_2o3[] = { 0x14, 0x18 };
14082 static u8 ant_sw_ctrl_tbl_rev8[] = { 0x4, 0x8, 0x4, 0x8, 0x11, 0x12 };
14083 static u8 ant_sw_ctrl_tbl_rev8_2057v7_core0[] = {
14084 0x09, 0x0a, 0x15, 0x16, 0x09, 0x0a };
14085 static u8 ant_sw_ctrl_tbl_rev8_2057v7_core1[] = {
14086 0x09, 0x0a, 0x09, 0x0a, 0x15, 0x16 };
14088 static bool wlc_phy_chan2freq_nphy(phy_info_t *pi, uint channel, int *f,
14089 chan_info_nphy_radio2057_t **t0,
14090 chan_info_nphy_radio205x_t **t1,
14091 chan_info_nphy_radio2057_rev5_t **t2,
14092 chan_info_nphy_2055_t **t3);
14093 static void wlc_phy_chanspec_nphy_setup(phy_info_t *pi, chanspec_t chans,
14094 const nphy_sfo_cfg_t *c);
14096 static void wlc_phy_adjust_rx_analpfbw_nphy(phy_info_t *pi,
14097 u16 reduction_factr);
14098 static void wlc_phy_adjust_min_noisevar_nphy(phy_info_t *pi, int ntones, int *,
14100 static void wlc_phy_adjust_crsminpwr_nphy(phy_info_t *pi, u8 minpwr);
14101 static void wlc_phy_txlpfbw_nphy(phy_info_t *pi);
14102 static void wlc_phy_spurwar_nphy(phy_info_t *pi);
14104 static void wlc_phy_radio_preinit_2055(phy_info_t *pi);
14105 static void wlc_phy_radio_init_2055(phy_info_t *pi);
14106 static void wlc_phy_radio_postinit_2055(phy_info_t *pi);
14107 static void wlc_phy_radio_preinit_205x(phy_info_t *pi);
14108 static void wlc_phy_radio_init_2056(phy_info_t *pi);
14109 static void wlc_phy_radio_postinit_2056(phy_info_t *pi);
14110 static void wlc_phy_radio_init_2057(phy_info_t *pi);
14111 static void wlc_phy_radio_postinit_2057(phy_info_t *pi);
14112 static void wlc_phy_workarounds_nphy(phy_info_t *pi);
14113 static void wlc_phy_workarounds_nphy_gainctrl(phy_info_t *pi);
14114 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev5(phy_info_t *pi);
14115 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev6(phy_info_t *pi);
14116 static void wlc_phy_adjust_lnagaintbl_nphy(phy_info_t *pi);
14118 static void wlc_phy_restore_rssical_nphy(phy_info_t *pi);
14119 static void wlc_phy_reapply_txcal_coeffs_nphy(phy_info_t *pi);
14120 static void wlc_phy_tx_iq_war_nphy(phy_info_t *pi);
14121 static int wlc_phy_cal_rxiq_nphy_rev3(phy_info_t *pi, nphy_txgains_t tg,
14123 static void wlc_phy_rxcal_gainctrl_nphy_rev5(phy_info_t *pi, u8 rxcore,
14125 static void wlc_phy_update_mimoconfig_nphy(phy_info_t *pi, s32 preamble);
14126 static void wlc_phy_savecal_nphy(phy_info_t *pi);
14127 static void wlc_phy_restorecal_nphy(phy_info_t *pi);
14128 static void wlc_phy_resetcca_nphy(phy_info_t *pi);
14130 static void wlc_phy_txpwrctrl_config_nphy(phy_info_t *pi);
14131 static void wlc_phy_internal_cal_txgain_nphy(phy_info_t *pi);
14132 static void wlc_phy_precal_txgain_nphy(phy_info_t *pi);
14133 static void wlc_phy_update_txcal_ladder_nphy(phy_info_t *pi, u16 core);
14135 static void wlc_phy_extpa_set_tx_digi_filts_nphy(phy_info_t *pi);
14136 static void wlc_phy_ipa_set_tx_digi_filts_nphy(phy_info_t *pi);
14137 static void wlc_phy_ipa_restore_tx_digi_filts_nphy(phy_info_t *pi);
14138 static u16 wlc_phy_ipa_get_bbmult_nphy(phy_info_t *pi);
14139 static void wlc_phy_ipa_set_bbmult_nphy(phy_info_t *pi, u8 m0, u8 m1);
14140 static u32 *wlc_phy_get_ipa_gaintbl_nphy(phy_info_t *pi);
14142 static void wlc_phy_a1_nphy(phy_info_t *pi, u8 core, u32 winsz, u32,
14144 static u8 wlc_phy_a3_nphy(phy_info_t *pi, u8 start_gain, u8 core);
14145 static void wlc_phy_a2_nphy(phy_info_t *pi, nphy_ipa_txcalgains_t *,
14146 phy_cal_mode_t, u8);
14147 static void wlc_phy_papd_cal_cleanup_nphy(phy_info_t *pi,
14148 nphy_papd_restore_state *state);
14149 static void wlc_phy_papd_cal_setup_nphy(phy_info_t *pi,
14150 nphy_papd_restore_state *state, u8);
14152 static void wlc_phy_clip_det_nphy(phy_info_t *pi, u8 write, u16 *vals);
14154 static void wlc_phy_set_rfseq_nphy(phy_info_t *pi, u8 cmd, u8 *evts,
14157 static u16 wlc_phy_read_lpf_bw_ctl_nphy(phy_info_t *pi, u16 offset);
14160 wlc_phy_rfctrl_override_nphy_rev7(phy_info_t *pi, u16 field, u16 value,
14161 u8 core_mask, u8 off,
14164 static void wlc_phy_rssi_cal_nphy_rev2(phy_info_t *pi, u8 rssi_type);
14165 static void wlc_phy_rssi_cal_nphy_rev3(phy_info_t *pi);
14167 static bool wlc_phy_txpwr_srom_read_nphy(phy_info_t *pi);
14168 static void wlc_phy_txpwr_nphy_srom_convert(u8 *srom_max,
14170 u8 tmp_max_pwr, u8 rate_start,
14173 static void wlc_phy_txpwr_limit_to_tbl_nphy(phy_info_t *pi);
14174 static void wlc_phy_txpwrctrl_coeff_setup_nphy(phy_info_t *pi);
14175 static void wlc_phy_txpwrctrl_idle_tssi_nphy(phy_info_t *pi);
14176 static void wlc_phy_txpwrctrl_pwr_setup_nphy(phy_info_t *pi);
14178 static bool wlc_phy_txpwr_ison_nphy(phy_info_t *pi);
14179 static u8 wlc_phy_txpwr_idx_cur_get_nphy(phy_info_t *pi, u8 core);
14180 static void wlc_phy_txpwr_idx_cur_set_nphy(phy_info_t *pi, u8 idx0,
14182 static void wlc_phy_a4(phy_info_t *pi, bool full_cal);
14184 static u16 wlc_phy_radio205x_rcal(phy_info_t *pi);
14186 static u16 wlc_phy_radio2057_rccal(phy_info_t *pi);
14188 static u16 wlc_phy_gen_load_samples_nphy(phy_info_t *pi, u32 f_kHz,
14191 static void wlc_phy_loadsampletable_nphy(phy_info_t *pi, cs32 *tone_buf,
14193 static void wlc_phy_runsamples_nphy(phy_info_t *pi, u16 n, u16 lps,
14194 u16 wait, u8 iq, u8 dac_test_mode,
14195 bool modify_bbmult);
14197 bool wlc_phy_bist_check_phy(wlc_phy_t *pih)
14199 phy_info_t *pi = (phy_info_t *) pih;
14200 u32 phybist0, phybist1, phybist2, phybist3, phybist4;
14202 if (NREV_GE(pi->pubpi.phy_rev, 16))
14205 phybist0 = read_phy_reg(pi, 0x0e);
14206 phybist1 = read_phy_reg(pi, 0x0f);
14207 phybist2 = read_phy_reg(pi, 0xea);
14208 phybist3 = read_phy_reg(pi, 0xeb);
14209 phybist4 = read_phy_reg(pi, 0x156);
14211 if ((phybist0 == 0) && (phybist1 == 0x4000) && (phybist2 == 0x1fe0) &&
14212 (phybist3 == 0) && (phybist4 == 0)) {
14219 static void WLBANDINITFN(wlc_phy_bphy_init_nphy) (phy_info_t *pi)
14223 ASSERT(ISNPHY(pi));
14226 for (addr = (NPHY_TO_BPHY_OFF + BPHY_RSSI_LUT);
14227 addr <= (NPHY_TO_BPHY_OFF + BPHY_RSSI_LUT_END); addr++) {
14228 write_phy_reg(pi, addr, val);
14229 if (addr == (NPHY_TO_BPHY_OFF + 0x97))
14235 if (NORADIO_ENAB(pi->pubpi)) {
14237 write_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_PHYCRSTH, 0x3206);
14239 write_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_RSSI_TRESH, 0x281e);
14241 or_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_LNA_GAIN_RANGE, 0x1a);
14245 write_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_STEP, 0x668);
14250 wlc_phy_table_write_nphy(phy_info_t *pi, u32 id, u32 len, u32 offset,
14251 u32 width, const void *data)
14253 mimophytbl_info_t tbl;
14257 tbl.tbl_offset = offset;
14258 tbl.tbl_width = width;
14259 tbl.tbl_ptr = data;
14260 wlc_phy_write_table_nphy(pi, &tbl);
14264 wlc_phy_table_read_nphy(phy_info_t *pi, u32 id, u32 len, u32 offset,
14265 u32 width, void *data)
14267 mimophytbl_info_t tbl;
14271 tbl.tbl_offset = offset;
14272 tbl.tbl_width = width;
14273 tbl.tbl_ptr = data;
14274 wlc_phy_read_table_nphy(pi, &tbl);
14277 static void WLBANDINITFN(wlc_phy_static_table_download_nphy) (phy_info_t *pi)
14281 if (NREV_GE(pi->pubpi.phy_rev, 16)) {
14282 for (idx = 0; idx < mimophytbl_info_sz_rev16; idx++)
14283 wlc_phy_write_table_nphy(pi,
14284 &mimophytbl_info_rev16[idx]);
14285 } else if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14286 for (idx = 0; idx < mimophytbl_info_sz_rev7; idx++)
14287 wlc_phy_write_table_nphy(pi,
14288 &mimophytbl_info_rev7[idx]);
14289 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14290 for (idx = 0; idx < mimophytbl_info_sz_rev3; idx++)
14291 wlc_phy_write_table_nphy(pi,
14292 &mimophytbl_info_rev3[idx]);
14294 for (idx = 0; idx < mimophytbl_info_sz_rev0; idx++)
14295 wlc_phy_write_table_nphy(pi,
14296 &mimophytbl_info_rev0[idx]);
14300 static void WLBANDINITFN(wlc_phy_tbl_init_nphy) (phy_info_t *pi)
14305 if (pi->phy_init_por)
14306 wlc_phy_static_table_download_nphy(pi);
14308 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14310 antswctrllut = CHSPEC_IS2G(pi->radio_chanspec) ?
14311 pi->srom_fem2g.antswctrllut : pi->srom_fem5g.antswctrllut;
14313 switch (antswctrllut) {
14320 if (pi->aa2g == 7) {
14322 wlc_phy_table_write_nphy(pi,
14323 NPHY_TBL_ID_ANTSWCTRLLUT,
14325 &ant_sw_ctrl_tbl_rev8_2o3
14328 wlc_phy_table_write_nphy(pi,
14329 NPHY_TBL_ID_ANTSWCTRLLUT,
14331 &ant_sw_ctrl_tbl_rev8
14334 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14336 &ant_sw_ctrl_tbl_rev8[2]);
14337 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14339 &ant_sw_ctrl_tbl_rev8[4]);
14344 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14346 &ant_sw_ctrl_tbl_rev8_2057v7_core0
14348 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14350 &ant_sw_ctrl_tbl_rev8_2057v7_core0
14352 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14354 &ant_sw_ctrl_tbl_rev8_2057v7_core0
14357 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14359 &ant_sw_ctrl_tbl_rev8_2057v7_core1
14361 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14363 &ant_sw_ctrl_tbl_rev8_2057v7_core1
14365 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14367 &ant_sw_ctrl_tbl_rev8_2057v7_core1
14377 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14378 for (idx = 0; idx < mimophytbl_info_sz_rev3_volatile; idx++) {
14380 if (idx == ANT_SWCTRL_TBL_REV3_IDX) {
14381 antswctrllut = CHSPEC_IS2G(pi->radio_chanspec) ?
14382 pi->srom_fem2g.antswctrllut : pi->
14383 srom_fem5g.antswctrllut;
14384 switch (antswctrllut) {
14386 wlc_phy_write_table_nphy(pi,
14387 &mimophytbl_info_rev3_volatile
14391 wlc_phy_write_table_nphy(pi,
14392 &mimophytbl_info_rev3_volatile1
14396 wlc_phy_write_table_nphy(pi,
14397 &mimophytbl_info_rev3_volatile2
14401 wlc_phy_write_table_nphy(pi,
14402 &mimophytbl_info_rev3_volatile3
14411 wlc_phy_write_table_nphy(pi,
14412 &mimophytbl_info_rev3_volatile
14417 for (idx = 0; idx < mimophytbl_info_sz_rev0_volatile; idx++) {
14418 wlc_phy_write_table_nphy(pi,
14419 &mimophytbl_info_rev0_volatile
14426 wlc_phy_write_txmacreg_nphy(phy_info_t *pi, u16 holdoff, u16 delay)
14428 write_phy_reg(pi, 0x77, holdoff);
14429 write_phy_reg(pi, 0xb4, delay);
14432 void wlc_phy_nphy_tkip_rifs_war(phy_info_t *pi, u8 rifs)
14434 u16 holdoff, delay;
14446 wlc_phy_write_txmacreg_nphy(pi, holdoff, delay);
14448 if (pi && pi->sh && (pi->sh->_rifs_phy != rifs)) {
14449 pi->sh->_rifs_phy = rifs;
14453 bool wlc_phy_attach_nphy(phy_info_t *pi)
14457 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 6)) {
14458 pi->phyhang_avoid = true;
14461 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 7)) {
14463 pi->nphy_gband_spurwar_en = true;
14465 if (pi->sh->boardflags2 & BFL2_SPUR_WAR) {
14466 pi->nphy_aband_spurwar_en = true;
14469 if (NREV_GE(pi->pubpi.phy_rev, 6) && NREV_LT(pi->pubpi.phy_rev, 7)) {
14471 if (pi->sh->boardflags2 & BFL2_2G_SPUR_WAR) {
14472 pi->nphy_gband_spurwar2_en = true;
14476 pi->n_preamble_override = AUTO;
14477 if (NREV_IS(pi->pubpi.phy_rev, 3) || NREV_IS(pi->pubpi.phy_rev, 4))
14478 pi->n_preamble_override = WLC_N_PREAMBLE_MIXEDMODE;
14480 pi->nphy_txrx_chain = AUTO;
14481 pi->phy_scraminit = AUTO;
14483 pi->nphy_rxcalparams = 0x010100B5;
14485 pi->nphy_perical = PHY_PERICAL_MPHASE;
14486 pi->mphase_cal_phase_id = MPHASE_CAL_STATE_IDLE;
14487 pi->mphase_txcal_numcmds = MPHASE_TXCAL_NUMCMDS;
14489 pi->nphy_gain_boost = true;
14490 pi->nphy_elna_gain_config = false;
14491 pi->radio_is_on = false;
14493 for (i = 0; i < pi->pubpi.phy_corenum; i++) {
14494 pi->nphy_txpwrindex[i].index = AUTO;
14497 wlc_phy_txpwrctrl_config_nphy(pi);
14498 if (pi->nphy_txpwrctrl == PHY_TPC_HW_ON)
14499 pi->hwpwrctrl_capable = true;
14501 pi->pi_fptr.init = wlc_phy_init_nphy;
14502 pi->pi_fptr.calinit = wlc_phy_cal_init_nphy;
14503 pi->pi_fptr.chanset = wlc_phy_chanspec_set_nphy;
14504 pi->pi_fptr.txpwrrecalc = wlc_phy_txpower_recalc_target_nphy;
14506 if (!wlc_phy_txpwr_srom_read_nphy(pi))
14512 static void wlc_phy_txpwrctrl_config_nphy(phy_info_t *pi)
14515 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14516 pi->nphy_txpwrctrl = PHY_TPC_HW_ON;
14517 pi->phy_5g_pwrgain = true;
14521 pi->nphy_txpwrctrl = PHY_TPC_HW_OFF;
14522 pi->phy_5g_pwrgain = false;
14524 if ((pi->sh->boardflags2 & BFL2_TXPWRCTRL_EN) &&
14525 NREV_GE(pi->pubpi.phy_rev, 2) && (pi->sh->sromrev >= 4))
14526 pi->nphy_txpwrctrl = PHY_TPC_HW_ON;
14527 else if ((pi->sh->sromrev >= 4)
14528 && (pi->sh->boardflags2 & BFL2_5G_PWRGAIN))
14529 pi->phy_5g_pwrgain = true;
14532 void WLBANDINITFN(wlc_phy_init_nphy) (phy_info_t *pi)
14536 nphy_txgains_t target_gain;
14537 u8 tx_pwr_ctrl_state;
14538 bool do_nphy_cal = false;
14540 uint origidx, intr_val;
14542 u32 d11_clk_ctl_st;
14546 if (!(pi->measure_hold & PHY_HOLD_FOR_SCAN)) {
14547 pi->measure_hold |= PHY_HOLD_FOR_NOT_ASSOC;
14550 if ((ISNPHY(pi)) && (NREV_GE(pi->pubpi.phy_rev, 5)) &&
14551 ((pi->sh->chippkg == BCM4717_PKG_ID) ||
14552 (pi->sh->chippkg == BCM4718_PKG_ID))) {
14553 if ((pi->sh->boardflags & BFL_EXTLNA) &&
14554 (CHSPEC_IS2G(pi->radio_chanspec))) {
14555 si_corereg(pi->sh->sih, SI_CC_IDX,
14556 offsetof(chipcregs_t, chipcontrol), 0x40,
14561 if ((!PHY_IPA(pi)) && (pi->sh->chip == BCM5357_CHIP_ID)) {
14562 si_pmu_chipcontrol(pi->sh->sih, 1, CCTRL5357_EXTPA,
14566 if ((pi->nphy_gband_spurwar2_en) && CHSPEC_IS2G(pi->radio_chanspec) &&
14567 CHSPEC_IS40(pi->radio_chanspec)) {
14569 regs = (d11regs_t *) si_switch_core(pi->sh->sih, D11_CORE_ID,
14570 &origidx, &intr_val);
14571 ASSERT(regs != NULL);
14573 d11_clk_ctl_st = R_REG(pi->sh->osh, ®s->clk_ctl_st);
14574 AND_REG(pi->sh->osh, ®s->clk_ctl_st,
14575 ~(CCS_FORCEHT | CCS_HTAREQ));
14577 W_REG(pi->sh->osh, ®s->clk_ctl_st, d11_clk_ctl_st);
14579 si_restore_core(pi->sh->sih, origidx, intr_val);
14582 pi->use_int_tx_iqlo_cal_nphy =
14584 (NREV_GE(pi->pubpi.phy_rev, 7) ||
14585 (NREV_GE(pi->pubpi.phy_rev, 5)
14586 && pi->sh->boardflags2 & BFL2_INTERNDET_TXIQCAL)));
14588 pi->internal_tx_iqlo_cal_tapoff_intpa_nphy = false;
14590 pi->nphy_deaf_count = 0;
14592 wlc_phy_tbl_init_nphy(pi);
14594 pi->nphy_crsminpwr_adjusted = false;
14595 pi->nphy_noisevars_adjusted = false;
14597 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14598 write_phy_reg(pi, 0xe7, 0);
14599 write_phy_reg(pi, 0xec, 0);
14600 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14601 write_phy_reg(pi, 0x342, 0);
14602 write_phy_reg(pi, 0x343, 0);
14603 write_phy_reg(pi, 0x346, 0);
14604 write_phy_reg(pi, 0x347, 0);
14606 write_phy_reg(pi, 0xe5, 0);
14607 write_phy_reg(pi, 0xe6, 0);
14609 write_phy_reg(pi, 0xec, 0);
14612 write_phy_reg(pi, 0x91, 0);
14613 write_phy_reg(pi, 0x92, 0);
14614 if (NREV_LT(pi->pubpi.phy_rev, 6)) {
14615 write_phy_reg(pi, 0x93, 0);
14616 write_phy_reg(pi, 0x94, 0);
14619 and_phy_reg(pi, 0xa1, ~3);
14621 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14622 write_phy_reg(pi, 0x8f, 0);
14623 write_phy_reg(pi, 0xa5, 0);
14625 write_phy_reg(pi, 0xa5, 0);
14628 if (NREV_IS(pi->pubpi.phy_rev, 2))
14629 mod_phy_reg(pi, 0xdc, 0x00ff, 0x3b);
14630 else if (NREV_LT(pi->pubpi.phy_rev, 2))
14631 mod_phy_reg(pi, 0xdc, 0x00ff, 0x40);
14633 write_phy_reg(pi, 0x203, 32);
14634 write_phy_reg(pi, 0x201, 32);
14636 if (pi->sh->boardflags2 & BFL2_SKWRKFEM_BRD)
14637 write_phy_reg(pi, 0x20d, 160);
14639 write_phy_reg(pi, 0x20d, 184);
14641 write_phy_reg(pi, 0x13a, 200);
14643 write_phy_reg(pi, 0x70, 80);
14645 write_phy_reg(pi, 0x1ff, 48);
14647 if (NREV_LT(pi->pubpi.phy_rev, 8)) {
14648 wlc_phy_update_mimoconfig_nphy(pi, pi->n_preamble_override);
14651 wlc_phy_stf_chain_upd_nphy(pi);
14653 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
14654 write_phy_reg(pi, 0x180, 0xaa8);
14655 write_phy_reg(pi, 0x181, 0x9a4);
14659 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
14661 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
14662 0x29b, (0x1 << 0), (1) << 0);
14664 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x298 :
14665 0x29c, (0x1ff << 7),
14666 (pi->nphy_papd_epsilon_offset[core]) << 7);
14670 wlc_phy_ipa_set_tx_digi_filts_nphy(pi);
14673 if (NREV_GE(pi->pubpi.phy_rev, 5)) {
14674 wlc_phy_extpa_set_tx_digi_filts_nphy(pi);
14678 wlc_phy_workarounds_nphy(pi);
14680 wlapi_bmac_phyclk_fgc(pi->sh->physhim, ON);
14682 val = read_phy_reg(pi, 0x01);
14683 write_phy_reg(pi, 0x01, val | BBCFG_RESETCCA);
14684 write_phy_reg(pi, 0x01, val & (~BBCFG_RESETCCA));
14685 wlapi_bmac_phyclk_fgc(pi->sh->physhim, OFF);
14687 wlapi_bmac_macphyclk_set(pi->sh->physhim, ON);
14689 wlc_phy_pa_override_nphy(pi, OFF);
14690 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX);
14691 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
14692 wlc_phy_pa_override_nphy(pi, ON);
14694 wlc_phy_classifier_nphy(pi, 0, 0);
14695 wlc_phy_clip_det_nphy(pi, 0, clip1_ths);
14697 if (CHSPEC_IS2G(pi->radio_chanspec))
14698 wlc_phy_bphy_init_nphy(pi);
14700 tx_pwr_ctrl_state = pi->nphy_txpwrctrl;
14701 wlc_phy_txpwrctrl_enable_nphy(pi, PHY_TPC_HW_OFF);
14703 wlc_phy_txpwr_fixpower_nphy(pi);
14705 wlc_phy_txpwrctrl_idle_tssi_nphy(pi);
14707 wlc_phy_txpwrctrl_pwr_setup_nphy(pi);
14709 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14710 u32 *tx_pwrctrl_tbl = NULL;
14714 s32 rfpwr_offset = 0;
14717 tx_pwrctrl_tbl = wlc_phy_get_ipa_gaintbl_nphy(pi);
14719 if (CHSPEC_IS5G(pi->radio_chanspec)) {
14721 (pi->pubpi.phy_rev, 3) {
14723 nphy_tpc_5GHz_txgain_rev3;
14725 (pi->pubpi.phy_rev, 4) {
14727 (pi->srom_fem5g.extpagain == 3) ?
14728 nphy_tpc_5GHz_txgain_HiPwrEPA :
14729 nphy_tpc_5GHz_txgain_rev4;
14732 nphy_tpc_5GHz_txgain_rev5;
14736 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14737 if (pi->pubpi.radiorev == 5) {
14739 nphy_tpc_txgain_epa_2057rev5;
14740 } else if (pi->pubpi.radiorev == 3) {
14742 nphy_tpc_txgain_epa_2057rev3;
14746 if (NREV_GE(pi->pubpi.phy_rev, 5) &&
14747 (pi->srom_fem2g.extpagain == 3)) {
14749 nphy_tpc_txgain_HiPwrEPA;
14752 nphy_tpc_txgain_rev3;
14758 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 128,
14759 192, 32, tx_pwrctrl_tbl);
14760 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 128,
14761 192, 32, tx_pwrctrl_tbl);
14763 pi->nphy_gmval = (u16) ((*tx_pwrctrl_tbl >> 16) & 0x7000);
14765 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14767 for (idx = 0; idx < 128; idx++) {
14768 pga_gn = (tx_pwrctrl_tbl[idx] >> 24) & 0xf;
14769 pad_gn = (tx_pwrctrl_tbl[idx] >> 19) & 0x1f;
14771 if (CHSPEC_IS2G(pi->radio_chanspec)) {
14772 if ((pi->pubpi.radiorev == 3) ||
14773 (pi->pubpi.radiorev == 4) ||
14774 (pi->pubpi.radiorev == 6)) {
14775 rfpwr_offset = (s16)
14776 nphy_papd_padgain_dlt_2g_2057rev3n4
14778 } else if (pi->pubpi.radiorev == 5) {
14779 rfpwr_offset = (s16)
14780 nphy_papd_padgain_dlt_2g_2057rev5
14782 } else if ((pi->pubpi.radiorev == 7)
14783 || (pi->pubpi.radiorev ==
14785 rfpwr_offset = (s16)
14786 nphy_papd_padgain_dlt_2g_2057rev7
14793 if ((pi->pubpi.radiorev == 3) ||
14794 (pi->pubpi.radiorev == 4) ||
14795 (pi->pubpi.radiorev == 6)) {
14796 rfpwr_offset = (s16)
14797 nphy_papd_pgagain_dlt_5g_2057
14799 } else if ((pi->pubpi.radiorev == 7)
14800 || (pi->pubpi.radiorev ==
14802 rfpwr_offset = (s16)
14803 nphy_papd_pgagain_dlt_5g_2057rev7
14809 wlc_phy_table_write_nphy(pi,
14810 NPHY_TBL_ID_CORE1TXPWRCTL,
14813 wlc_phy_table_write_nphy(pi,
14814 NPHY_TBL_ID_CORE2TXPWRCTL,
14820 for (idx = 0; idx < 128; idx++) {
14821 pga_gn = (tx_pwrctrl_tbl[idx] >> 24) & 0xf;
14822 if (CHSPEC_IS2G(pi->radio_chanspec)) {
14823 rfpwr_offset = (s16)
14824 nphy_papd_pga_gain_delta_ipa_2g
14827 rfpwr_offset = (s16)
14828 nphy_papd_pga_gain_delta_ipa_5g
14832 wlc_phy_table_write_nphy(pi,
14833 NPHY_TBL_ID_CORE1TXPWRCTL,
14836 wlc_phy_table_write_nphy(pi,
14837 NPHY_TBL_ID_CORE2TXPWRCTL,
14845 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 128,
14846 192, 32, nphy_tpc_txgain);
14847 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 128,
14848 192, 32, nphy_tpc_txgain);
14851 if (pi->sh->phyrxchain != 0x3) {
14852 wlc_phy_rxcore_setstate_nphy((wlc_phy_t *) pi,
14853 pi->sh->phyrxchain);
14856 if (PHY_PERICAL_MPHASE_PENDING(pi)) {
14857 wlc_phy_cal_perical_mphase_restart(pi);
14860 if (!NORADIO_ENAB(pi->pubpi)) {
14861 bool do_rssi_cal = false;
14863 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14864 do_rssi_cal = (CHSPEC_IS2G(pi->radio_chanspec)) ?
14865 (pi->nphy_rssical_chanspec_2G == 0) :
14866 (pi->nphy_rssical_chanspec_5G == 0);
14869 wlc_phy_rssi_cal_nphy(pi);
14871 wlc_phy_restore_rssical_nphy(pi);
14874 wlc_phy_rssi_cal_nphy(pi);
14877 if (!SCAN_RM_IN_PROGRESS(pi)) {
14878 do_nphy_cal = (CHSPEC_IS2G(pi->radio_chanspec)) ?
14879 (pi->nphy_iqcal_chanspec_2G == 0) :
14880 (pi->nphy_iqcal_chanspec_5G == 0);
14883 if (!pi->do_initcal)
14884 do_nphy_cal = false;
14888 target_gain = wlc_phy_get_tx_gain_nphy(pi);
14890 if (pi->antsel_type == ANTSEL_2x3)
14891 wlc_phy_antsel_init((wlc_phy_t *) pi, true);
14893 if (pi->nphy_perical != PHY_PERICAL_MPHASE) {
14894 wlc_phy_rssi_cal_nphy(pi);
14896 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14897 pi->nphy_cal_orig_pwr_idx[0] =
14898 pi->nphy_txpwrindex[PHY_CORE_0].
14900 pi->nphy_cal_orig_pwr_idx[1] =
14901 pi->nphy_txpwrindex[PHY_CORE_1].
14904 wlc_phy_precal_txgain_nphy(pi);
14906 wlc_phy_get_tx_gain_nphy(pi);
14909 if (wlc_phy_cal_txiqlo_nphy
14910 (pi, target_gain, true, false) == BCME_OK) {
14911 if (wlc_phy_cal_rxiq_nphy
14912 (pi, target_gain, 2,
14913 false) == BCME_OK) {
14914 wlc_phy_savecal_nphy(pi);
14918 } else if (pi->mphase_cal_phase_id ==
14919 MPHASE_CAL_STATE_IDLE) {
14921 wlc_phy_cal_perical((wlc_phy_t *) pi,
14922 PHY_PERICAL_PHYINIT);
14925 wlc_phy_restorecal_nphy(pi);
14929 wlc_phy_txpwrctrl_coeff_setup_nphy(pi);
14931 wlc_phy_txpwrctrl_enable_nphy(pi, tx_pwr_ctrl_state);
14933 wlc_phy_nphy_tkip_rifs_war(pi, pi->sh->_rifs_phy);
14935 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LE(pi->pubpi.phy_rev, 6))
14937 write_phy_reg(pi, 0x70, 50);
14939 wlc_phy_txlpfbw_nphy(pi);
14941 wlc_phy_spurwar_nphy(pi);
14945 static void wlc_phy_update_mimoconfig_nphy(phy_info_t *pi, s32 preamble)
14947 bool gf_preamble = false;
14950 if (preamble == WLC_N_PREAMBLE_GF) {
14951 gf_preamble = true;
14954 val = read_phy_reg(pi, 0xed);
14956 val |= RX_GF_MM_AUTO;
14957 val &= ~RX_GF_OR_MM;
14959 val |= RX_GF_OR_MM;
14961 write_phy_reg(pi, 0xed, val);
14964 static void wlc_phy_resetcca_nphy(phy_info_t *pi)
14968 ASSERT(0 == (R_REG(pi->sh->osh, &pi->regs->maccontrol) & MCTL_EN_MAC));
14970 wlapi_bmac_phyclk_fgc(pi->sh->physhim, ON);
14972 val = read_phy_reg(pi, 0x01);
14973 write_phy_reg(pi, 0x01, val | BBCFG_RESETCCA);
14975 write_phy_reg(pi, 0x01, val & (~BBCFG_RESETCCA));
14977 wlapi_bmac_phyclk_fgc(pi->sh->physhim, OFF);
14979 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
14982 void wlc_phy_pa_override_nphy(phy_info_t *pi, bool en)
14984 u16 rfctrlintc_override_val;
14988 pi->rfctrlIntc1_save = read_phy_reg(pi, 0x91);
14989 pi->rfctrlIntc2_save = read_phy_reg(pi, 0x92);
14991 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14992 rfctrlintc_override_val = 0x1480;
14993 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14994 rfctrlintc_override_val =
14995 CHSPEC_IS5G(pi->radio_chanspec) ? 0x600 : 0x480;
14997 rfctrlintc_override_val =
14998 CHSPEC_IS5G(pi->radio_chanspec) ? 0x180 : 0x120;
15001 write_phy_reg(pi, 0x91, rfctrlintc_override_val);
15002 write_phy_reg(pi, 0x92, rfctrlintc_override_val);
15005 write_phy_reg(pi, 0x91, pi->rfctrlIntc1_save);
15006 write_phy_reg(pi, 0x92, pi->rfctrlIntc2_save);
15011 void wlc_phy_stf_chain_upd_nphy(phy_info_t *pi)
15015 (NPHY_RfseqCoreActv_TxRxChain0 | NPHY_RfseqCoreActv_TxRxChain1);
15016 bool CoreActv_override = false;
15018 if (pi->nphy_txrx_chain == WLC_N_TXRX_CHAIN0) {
15019 txrx_chain = NPHY_RfseqCoreActv_TxRxChain0;
15020 CoreActv_override = true;
15022 if (NREV_LE(pi->pubpi.phy_rev, 2)) {
15023 and_phy_reg(pi, 0xa0, ~0x20);
15025 } else if (pi->nphy_txrx_chain == WLC_N_TXRX_CHAIN1) {
15026 txrx_chain = NPHY_RfseqCoreActv_TxRxChain1;
15027 CoreActv_override = true;
15029 if (NREV_LE(pi->pubpi.phy_rev, 2)) {
15030 or_phy_reg(pi, 0xa0, 0x20);
15034 mod_phy_reg(pi, 0xa2, ((0xf << 0) | (0xf << 4)), txrx_chain);
15036 if (CoreActv_override) {
15038 pi->nphy_perical = PHY_PERICAL_DISABLE;
15039 or_phy_reg(pi, 0xa1, NPHY_RfseqMode_CoreActv_override);
15041 pi->nphy_perical = PHY_PERICAL_MPHASE;
15042 and_phy_reg(pi, 0xa1, ~NPHY_RfseqMode_CoreActv_override);
15046 void wlc_phy_rxcore_setstate_nphy(wlc_phy_t *pih, u8 rxcore_bitmask)
15051 phy_info_t *pi = (phy_info_t *) pih;
15055 pi->sh->phyrxchain = rxcore_bitmask;
15061 (0 == (R_REG(pi->sh->osh, &pi->regs->maccontrol) & MCTL_EN_MAC));
15063 wlapi_suspend_mac_and_wait(pi->sh->physhim);
15065 if (pi->phyhang_avoid)
15066 wlc_phy_stay_in_carriersearch_nphy(pi, true);
15068 regval = read_phy_reg(pi, 0xa2);
15069 regval &= ~(0xf << 4);
15070 regval |= ((u16) (rxcore_bitmask & 0x3)) << 4;
15071 write_phy_reg(pi, 0xa2, regval);
15073 if ((rxcore_bitmask & 0x3) != 0x3) {
15075 write_phy_reg(pi, 0x20e, 1);
15077 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
15078 if (pi->rx2tx_biasentry == -1) {
15079 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ,
15080 ARRAY_SIZE(tbl_buf), 80,
15083 for (i = 0; i < ARRAY_SIZE(tbl_buf); i++) {
15085 NPHY_REV3_RFSEQ_CMD_CLR_RXRX_BIAS) {
15087 pi->rx2tx_biasentry = (u8) i;
15089 NPHY_REV3_RFSEQ_CMD_NOP;
15090 wlc_phy_table_write_nphy(pi,
15096 } else if (tbl_buf[i] ==
15097 NPHY_REV3_RFSEQ_CMD_END) {
15105 write_phy_reg(pi, 0x20e, 30);
15107 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
15108 if (pi->rx2tx_biasentry != -1) {
15109 tbl_opcode = NPHY_REV3_RFSEQ_CMD_CLR_RXRX_BIAS;
15110 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15111 1, pi->rx2tx_biasentry,
15113 pi->rx2tx_biasentry = -1;
15118 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
15120 if (pi->phyhang_avoid)
15121 wlc_phy_stay_in_carriersearch_nphy(pi, false);
15124 wlapi_enable_mac(pi->sh->physhim);
15127 u8 wlc_phy_rxcore_getstate_nphy(wlc_phy_t *pih)
15129 u16 regval, rxen_bits;
15130 phy_info_t *pi = (phy_info_t *) pih;
15132 regval = read_phy_reg(pi, 0xa2);
15133 rxen_bits = (regval >> 4) & 0xf;
15135 return (u8) rxen_bits;
15138 bool wlc_phy_n_txpower_ipa_ison(phy_info_t *pi)
15140 return PHY_IPA(pi);
15143 static void wlc_phy_txpwr_limit_to_tbl_nphy(phy_info_t *pi)
15145 u8 idx, idx2, i, delta_ind;
15147 for (idx = TXP_FIRST_CCK; idx <= TXP_LAST_CCK; idx++) {
15148 pi->adj_pwr_tbl_nphy[idx] = pi->tx_power_offset[idx];
15151 for (i = 0; i < 4; i++) {
15159 if (CHSPEC_IS40(pi->radio_chanspec)
15160 && NPHY_IS_SROM_REINTERPRET) {
15161 idx = TXP_FIRST_MCS_40_SISO;
15163 idx = (CHSPEC_IS40(pi->radio_chanspec)) ?
15164 TXP_FIRST_OFDM_40_SISO : TXP_FIRST_OFDM;
15171 idx = (CHSPEC_IS40(pi->radio_chanspec)) ?
15172 TXP_FIRST_MCS_40_CDD : TXP_FIRST_MCS_20_CDD;
15177 idx = (CHSPEC_IS40(pi->radio_chanspec)) ?
15178 TXP_FIRST_MCS_40_STBC : TXP_FIRST_MCS_20_STBC;
15183 idx = (CHSPEC_IS40(pi->radio_chanspec)) ?
15184 TXP_FIRST_MCS_40_SDM : TXP_FIRST_MCS_20_SDM;
15188 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15189 pi->tx_power_offset[idx];
15190 idx = idx + delta_ind;
15191 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15192 pi->tx_power_offset[idx];
15193 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15194 pi->tx_power_offset[idx];
15195 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15196 pi->tx_power_offset[idx++];
15198 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15199 pi->tx_power_offset[idx++];
15200 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15201 pi->tx_power_offset[idx];
15202 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15203 pi->tx_power_offset[idx];
15204 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15205 pi->tx_power_offset[idx++];
15207 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15208 pi->tx_power_offset[idx++];
15209 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15210 pi->tx_power_offset[idx];
15211 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15212 pi->tx_power_offset[idx];
15213 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15214 pi->tx_power_offset[idx++];
15216 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15217 pi->tx_power_offset[idx];
15218 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15219 pi->tx_power_offset[idx++];
15220 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15221 pi->tx_power_offset[idx];
15222 idx = idx + 1 - delta_ind;
15223 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15224 pi->tx_power_offset[idx];
15226 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15227 pi->tx_power_offset[idx];
15228 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15229 pi->tx_power_offset[idx];
15230 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15231 pi->tx_power_offset[idx];
15232 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15233 pi->tx_power_offset[idx];
15237 void wlc_phy_cal_init_nphy(phy_info_t *pi)
15241 static void wlc_phy_war_force_trsw_to_R_cliplo_nphy(phy_info_t *pi, u8 core)
15243 if (core == PHY_CORE_0) {
15244 write_phy_reg(pi, 0x38, 0x4);
15245 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15246 write_phy_reg(pi, 0x37, 0x0060);
15248 write_phy_reg(pi, 0x37, 0x1080);
15250 } else if (core == PHY_CORE_1) {
15251 write_phy_reg(pi, 0x2ae, 0x4);
15252 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15253 write_phy_reg(pi, 0x2ad, 0x0060);
15255 write_phy_reg(pi, 0x2ad, 0x1080);
15260 static void wlc_phy_war_txchain_upd_nphy(phy_info_t *pi, u8 txchain)
15262 u8 txchain0, txchain1;
15264 txchain0 = txchain & 0x1;
15265 txchain1 = (txchain & 0x2) >> 1;
15267 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi, PHY_CORE_0);
15271 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi, PHY_CORE_1);
15275 static void wlc_phy_workarounds_nphy(phy_info_t *pi)
15277 u8 rfseq_rx2tx_events[] = {
15278 NPHY_RFSEQ_CMD_NOP,
15279 NPHY_RFSEQ_CMD_RXG_FBW,
15280 NPHY_RFSEQ_CMD_TR_SWITCH,
15281 NPHY_RFSEQ_CMD_CLR_HIQ_DIS,
15282 NPHY_RFSEQ_CMD_RXPD_TXPD,
15283 NPHY_RFSEQ_CMD_TX_GAIN,
15284 NPHY_RFSEQ_CMD_EXT_PA
15286 u8 rfseq_rx2tx_dlys[] = { 8, 6, 6, 2, 4, 60, 1 };
15287 u8 rfseq_tx2rx_events[] = {
15288 NPHY_RFSEQ_CMD_NOP,
15289 NPHY_RFSEQ_CMD_EXT_PA,
15290 NPHY_RFSEQ_CMD_TX_GAIN,
15291 NPHY_RFSEQ_CMD_RXPD_TXPD,
15292 NPHY_RFSEQ_CMD_TR_SWITCH,
15293 NPHY_RFSEQ_CMD_RXG_FBW,
15294 NPHY_RFSEQ_CMD_CLR_HIQ_DIS
15296 u8 rfseq_tx2rx_dlys[] = { 8, 6, 2, 4, 4, 6, 1 };
15297 u8 rfseq_tx2rx_events_rev3[] = {
15298 NPHY_REV3_RFSEQ_CMD_EXT_PA,
15299 NPHY_REV3_RFSEQ_CMD_INT_PA_PU,
15300 NPHY_REV3_RFSEQ_CMD_TX_GAIN,
15301 NPHY_REV3_RFSEQ_CMD_RXPD_TXPD,
15302 NPHY_REV3_RFSEQ_CMD_TR_SWITCH,
15303 NPHY_REV3_RFSEQ_CMD_RXG_FBW,
15304 NPHY_REV3_RFSEQ_CMD_CLR_HIQ_DIS,
15305 NPHY_REV3_RFSEQ_CMD_END
15307 u8 rfseq_tx2rx_dlys_rev3[] = { 8, 4, 2, 2, 4, 4, 6, 1 };
15308 u8 rfseq_rx2tx_events_rev3[] = {
15309 NPHY_REV3_RFSEQ_CMD_NOP,
15310 NPHY_REV3_RFSEQ_CMD_RXG_FBW,
15311 NPHY_REV3_RFSEQ_CMD_TR_SWITCH,
15312 NPHY_REV3_RFSEQ_CMD_CLR_HIQ_DIS,
15313 NPHY_REV3_RFSEQ_CMD_RXPD_TXPD,
15314 NPHY_REV3_RFSEQ_CMD_TX_GAIN,
15315 NPHY_REV3_RFSEQ_CMD_INT_PA_PU,
15316 NPHY_REV3_RFSEQ_CMD_EXT_PA,
15317 NPHY_REV3_RFSEQ_CMD_END
15319 u8 rfseq_rx2tx_dlys_rev3[] = { 8, 6, 6, 4, 4, 18, 42, 1, 1 };
15321 u8 rfseq_rx2tx_events_rev3_ipa[] = {
15322 NPHY_REV3_RFSEQ_CMD_NOP,
15323 NPHY_REV3_RFSEQ_CMD_RXG_FBW,
15324 NPHY_REV3_RFSEQ_CMD_TR_SWITCH,
15325 NPHY_REV3_RFSEQ_CMD_CLR_HIQ_DIS,
15326 NPHY_REV3_RFSEQ_CMD_RXPD_TXPD,
15327 NPHY_REV3_RFSEQ_CMD_TX_GAIN,
15328 NPHY_REV3_RFSEQ_CMD_CLR_RXRX_BIAS,
15329 NPHY_REV3_RFSEQ_CMD_INT_PA_PU,
15330 NPHY_REV3_RFSEQ_CMD_END
15332 u8 rfseq_rx2tx_dlys_rev3_ipa[] = { 8, 6, 6, 4, 4, 16, 43, 1, 1 };
15333 u16 rfseq_rx2tx_dacbufpu_rev7[] = { 0x10f, 0x10f };
15335 s16 alpha0, alpha1, alpha2;
15336 s16 beta0, beta1, beta2;
15337 u32 leg_data_weights, ht_data_weights, nss1_data_weights,
15339 u8 chan_freq_range = 0;
15340 u16 dac_control = 0x0002;
15341 u16 aux_adc_vmid_rev7_core0[] = { 0x8e, 0x96, 0x96, 0x96 };
15342 u16 aux_adc_vmid_rev7_core1[] = { 0x8f, 0x9f, 0x9f, 0x96 };
15343 u16 aux_adc_vmid_rev4[] = { 0xa2, 0xb4, 0xb4, 0x89 };
15344 u16 aux_adc_vmid_rev3[] = { 0xa2, 0xb4, 0xb4, 0x89 };
15346 u16 aux_adc_gain_rev7[] = { 0x02, 0x02, 0x02, 0x02 };
15347 u16 aux_adc_gain_rev4[] = { 0x02, 0x02, 0x02, 0x00 };
15348 u16 aux_adc_gain_rev3[] = { 0x02, 0x02, 0x02, 0x00 };
15350 u16 sk_adc_vmid[] = { 0xb4, 0xb4, 0xb4, 0x24 };
15351 u16 sk_adc_gain[] = { 0x02, 0x02, 0x02, 0x02 };
15352 s32 min_nvar_val = 0x18d;
15353 s32 min_nvar_offset_6mbps = 20;
15357 u16 afectrl_adc_ctrl1_rev7 = 0x20;
15358 u16 afectrl_adc_ctrl2_rev7 = 0x0;
15359 u16 rfseq_rx2tx_lpf_h_hpc_rev7 = 0x77;
15360 u16 rfseq_tx2rx_lpf_h_hpc_rev7 = 0x77;
15361 u16 rfseq_pktgn_lpf_h_hpc_rev7 = 0x77;
15362 u16 rfseq_htpktgn_lpf_hpc_rev7[] = { 0x77, 0x11, 0x11 };
15363 u16 rfseq_pktgn_lpf_hpc_rev7[] = { 0x11, 0x11 };
15364 u16 rfseq_cckpktgn_lpf_hpc_rev7[] = { 0x11, 0x11 };
15365 u16 ipalvlshift_3p3_war_en = 0;
15366 u16 rccal_bcap_val, rccal_scap_val;
15367 u16 rccal_tx20_11b_bcap = 0;
15368 u16 rccal_tx20_11b_scap = 0;
15369 u16 rccal_tx20_11n_bcap = 0;
15370 u16 rccal_tx20_11n_scap = 0;
15371 u16 rccal_tx40_11n_bcap = 0;
15372 u16 rccal_tx40_11n_scap = 0;
15373 u16 rx2tx_lpf_rc_lut_tx20_11b = 0;
15374 u16 rx2tx_lpf_rc_lut_tx20_11n = 0;
15375 u16 rx2tx_lpf_rc_lut_tx40_11n = 0;
15376 u16 tx_lpf_bw_ofdm_20mhz = 0;
15377 u16 tx_lpf_bw_ofdm_40mhz = 0;
15378 u16 tx_lpf_bw_11b = 0;
15379 u16 ipa2g_mainbias, ipa2g_casconv, ipa2g_biasfilt;
15380 u16 txgm_idac_bleed = 0;
15381 bool rccal_ovrd = false;
15385 if (CHSPEC_IS5G(pi->radio_chanspec)) {
15386 wlc_phy_classifier_nphy(pi, NPHY_ClassifierCtrl_cck_en, 0);
15388 wlc_phy_classifier_nphy(pi, NPHY_ClassifierCtrl_cck_en, 1);
15391 if (pi->phyhang_avoid)
15392 wlc_phy_stay_in_carriersearch_nphy(pi, true);
15394 if (!ISSIM_ENAB(pi->sh->sih)) {
15395 or_phy_reg(pi, 0xb1, NPHY_IQFlip_ADC1 | NPHY_IQFlip_ADC2);
15398 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
15400 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
15401 mod_phy_reg(pi, 0x221, (0x1 << 4), (1 << 4));
15403 mod_phy_reg(pi, 0x160, (0x7f << 0), (32 << 0));
15404 mod_phy_reg(pi, 0x160, (0x7f << 8), (39 << 8));
15405 mod_phy_reg(pi, 0x161, (0x7f << 0), (46 << 0));
15406 mod_phy_reg(pi, 0x161, (0x7f << 8), (51 << 8));
15407 mod_phy_reg(pi, 0x162, (0x7f << 0), (55 << 0));
15408 mod_phy_reg(pi, 0x162, (0x7f << 8), (58 << 8));
15409 mod_phy_reg(pi, 0x163, (0x7f << 0), (60 << 0));
15410 mod_phy_reg(pi, 0x163, (0x7f << 8), (62 << 8));
15411 mod_phy_reg(pi, 0x164, (0x7f << 0), (62 << 0));
15412 mod_phy_reg(pi, 0x164, (0x7f << 8), (63 << 8));
15413 mod_phy_reg(pi, 0x165, (0x7f << 0), (63 << 0));
15414 mod_phy_reg(pi, 0x165, (0x7f << 8), (64 << 8));
15415 mod_phy_reg(pi, 0x166, (0x7f << 0), (64 << 0));
15416 mod_phy_reg(pi, 0x166, (0x7f << 8), (64 << 8));
15417 mod_phy_reg(pi, 0x167, (0x7f << 0), (64 << 0));
15418 mod_phy_reg(pi, 0x167, (0x7f << 8), (64 << 8));
15421 if (NREV_LE(pi->pubpi.phy_rev, 8)) {
15422 write_phy_reg(pi, 0x23f, 0x1b0);
15423 write_phy_reg(pi, 0x240, 0x1b0);
15426 if (NREV_GE(pi->pubpi.phy_rev, 8)) {
15427 mod_phy_reg(pi, 0xbd, (0xff << 0), (114 << 0));
15430 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x00, 16,
15432 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x10, 16,
15435 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
15436 1, 0, 32, &leg_data_weights);
15437 leg_data_weights = leg_data_weights & 0xffffff;
15438 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
15439 1, 0, 32, &leg_data_weights);
15441 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15443 rfseq_rx2tx_dacbufpu_rev7);
15444 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x16e, 16,
15445 rfseq_rx2tx_dacbufpu_rev7);
15448 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX,
15449 rfseq_rx2tx_events_rev3_ipa,
15450 rfseq_rx2tx_dlys_rev3_ipa,
15452 (rfseq_rx2tx_events_rev3_ipa) /
15454 (rfseq_rx2tx_events_rev3_ipa
15458 mod_phy_reg(pi, 0x299, (0x3 << 14), (0x1 << 14));
15459 mod_phy_reg(pi, 0x29d, (0x3 << 14), (0x1 << 14));
15461 tx_lpf_bw_ofdm_20mhz = wlc_phy_read_lpf_bw_ctl_nphy(pi, 0x154);
15462 tx_lpf_bw_ofdm_40mhz = wlc_phy_read_lpf_bw_ctl_nphy(pi, 0x159);
15463 tx_lpf_bw_11b = wlc_phy_read_lpf_bw_ctl_nphy(pi, 0x152);
15467 if (((pi->pubpi.radiorev == 5)
15468 && (CHSPEC_IS40(pi->radio_chanspec) == 1))
15469 || (pi->pubpi.radiorev == 7)
15470 || (pi->pubpi.radiorev == 8)) {
15474 RADIO_2057_RCCAL_BCAP_VAL);
15477 RADIO_2057_RCCAL_SCAP_VAL);
15479 rccal_tx20_11b_bcap = rccal_bcap_val;
15480 rccal_tx20_11b_scap = rccal_scap_val;
15482 if ((pi->pubpi.radiorev == 5) &&
15483 (CHSPEC_IS40(pi->radio_chanspec) == 1)) {
15485 rccal_tx20_11n_bcap = rccal_bcap_val;
15486 rccal_tx20_11n_scap = rccal_scap_val;
15487 rccal_tx40_11n_bcap = 0xc;
15488 rccal_tx40_11n_scap = 0xc;
15492 } else if ((pi->pubpi.radiorev == 7)
15493 || (pi->pubpi.radiorev == 8)) {
15495 tx_lpf_bw_ofdm_20mhz = 4;
15498 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15499 rccal_tx20_11n_bcap = 0xc;
15500 rccal_tx20_11n_scap = 0xc;
15501 rccal_tx40_11n_bcap = 0xa;
15502 rccal_tx40_11n_scap = 0xa;
15504 rccal_tx20_11n_bcap = 0x14;
15505 rccal_tx20_11n_scap = 0x14;
15506 rccal_tx40_11n_bcap = 0xf;
15507 rccal_tx40_11n_scap = 0xf;
15516 if (pi->pubpi.radiorev == 5) {
15518 tx_lpf_bw_ofdm_20mhz = 1;
15519 tx_lpf_bw_ofdm_40mhz = 3;
15523 RADIO_2057_RCCAL_BCAP_VAL);
15526 RADIO_2057_RCCAL_SCAP_VAL);
15528 rccal_tx20_11b_bcap = rccal_bcap_val;
15529 rccal_tx20_11b_scap = rccal_scap_val;
15531 rccal_tx20_11n_bcap = 0x13;
15532 rccal_tx20_11n_scap = 0x11;
15533 rccal_tx40_11n_bcap = 0x13;
15534 rccal_tx40_11n_scap = 0x11;
15542 rx2tx_lpf_rc_lut_tx20_11b = (rccal_tx20_11b_bcap << 8) |
15543 (rccal_tx20_11b_scap << 3) | tx_lpf_bw_11b;
15544 rx2tx_lpf_rc_lut_tx20_11n = (rccal_tx20_11n_bcap << 8) |
15545 (rccal_tx20_11n_scap << 3) | tx_lpf_bw_ofdm_20mhz;
15546 rx2tx_lpf_rc_lut_tx40_11n = (rccal_tx40_11n_bcap << 8) |
15547 (rccal_tx40_11n_scap << 3) | tx_lpf_bw_ofdm_40mhz;
15549 for (coreNum = 0; coreNum <= 1; coreNum++) {
15550 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15552 0x152 + coreNum * 0x10,
15554 &rx2tx_lpf_rc_lut_tx20_11b);
15555 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15557 0x153 + coreNum * 0x10,
15559 &rx2tx_lpf_rc_lut_tx20_11n);
15560 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15562 0x154 + coreNum * 0x10,
15564 &rx2tx_lpf_rc_lut_tx20_11n);
15565 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15567 0x155 + coreNum * 0x10,
15569 &rx2tx_lpf_rc_lut_tx40_11n);
15570 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15572 0x156 + coreNum * 0x10,
15574 &rx2tx_lpf_rc_lut_tx40_11n);
15575 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15577 0x157 + coreNum * 0x10,
15579 &rx2tx_lpf_rc_lut_tx40_11n);
15580 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15582 0x158 + coreNum * 0x10,
15584 &rx2tx_lpf_rc_lut_tx40_11n);
15585 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15587 0x159 + coreNum * 0x10,
15589 &rx2tx_lpf_rc_lut_tx40_11n);
15592 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4),
15594 NPHY_REV7_RFCTRLOVERRIDE_ID2);
15597 if (!NORADIO_ENAB(pi->pubpi)) {
15598 write_phy_reg(pi, 0x32f, 0x3);
15601 if ((pi->pubpi.radiorev == 4) || (pi->pubpi.radiorev == 6)) {
15602 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2),
15604 NPHY_REV7_RFCTRLOVERRIDE_ID0);
15607 if ((pi->pubpi.radiorev == 3) || (pi->pubpi.radiorev == 4) ||
15608 (pi->pubpi.radiorev == 6)) {
15609 if ((pi->sh->sromrev >= 8)
15610 && (pi->sh->boardflags2 & BFL2_IPALVLSHIFT_3P3))
15611 ipalvlshift_3p3_war_en = 1;
15613 if (ipalvlshift_3p3_war_en) {
15614 write_radio_reg(pi, RADIO_2057_GPAIO_CONFIG,
15616 write_radio_reg(pi, RADIO_2057_GPAIO_SEL1,
15618 write_radio_reg(pi, RADIO_2057_GPAIO_SEL0, 0x0);
15620 RADIO_2057_RXTXBIAS_CONFIG_CORE0,
15623 RADIO_2057_RXTXBIAS_CONFIG_CORE1,
15626 ipa2g_mainbias = 0x1f;
15628 ipa2g_casconv = 0x6f;
15630 ipa2g_biasfilt = 0xaa;
15633 ipa2g_mainbias = 0x2b;
15635 ipa2g_casconv = 0x7f;
15637 ipa2g_biasfilt = 0xee;
15640 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15641 for (coreNum = 0; coreNum <= 1; coreNum++) {
15642 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15643 coreNum, IPA2G_IMAIN,
15645 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15646 coreNum, IPA2G_CASCONV,
15648 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15657 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15658 if ((pi->pubpi.radiorev == 3)
15659 || (pi->pubpi.radiorev == 4)
15660 || (pi->pubpi.radiorev == 6)) {
15662 txgm_idac_bleed = 0x7f;
15665 for (coreNum = 0; coreNum <= 1; coreNum++) {
15666 if (txgm_idac_bleed != 0)
15667 WRITE_RADIO_REG4(pi, RADIO_2057,
15673 if (pi->pubpi.radiorev == 5) {
15675 for (coreNum = 0; coreNum <= 1;
15677 WRITE_RADIO_REG4(pi, RADIO_2057,
15681 WRITE_RADIO_REG4(pi, RADIO_2057,
15685 WRITE_RADIO_REG4(pi, RADIO_2057,
15689 WRITE_RADIO_REG4(pi, RADIO_2057,
15693 WRITE_RADIO_REG4(pi, RADIO_2057,
15695 PAD_BIAS_FILTER_BWS,
15699 } else if ((pi->pubpi.radiorev == 7)
15700 || (pi->pubpi.radiorev == 8)) {
15702 if (CHSPEC_IS40(pi->radio_chanspec) ==
15704 WRITE_RADIO_REG4(pi, RADIO_2057,
15708 WRITE_RADIO_REG4(pi, RADIO_2057,
15713 WRITE_RADIO_REG4(pi, RADIO_2057,
15717 WRITE_RADIO_REG4(pi, RADIO_2057,
15726 CHAN5G_FREQ(CHSPEC_CHANNEL
15727 (pi->radio_chanspec));
15728 if (((freq >= 5180) && (freq <= 5230))
15729 || ((freq >= 5745) && (freq <= 5805))) {
15730 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15731 0, IPA5G_BIAS_FILTER,
15733 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15734 1, IPA5G_BIAS_FILTER,
15740 if (pi->pubpi.radiorev != 5) {
15741 for (coreNum = 0; coreNum <= 1; coreNum++) {
15742 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15744 TXMIX2G_TUNE_BOOST_PU,
15746 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15748 TXGM_IDAC_BLEED, 0x70);
15753 if (pi->pubpi.radiorev == 4) {
15754 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1,
15756 &afectrl_adc_ctrl1_rev7);
15757 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1,
15759 &afectrl_adc_ctrl1_rev7);
15761 for (coreNum = 0; coreNum <= 1; coreNum++) {
15762 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
15763 AFE_VCM_CAL_MASTER, 0x0);
15764 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
15765 AFE_SET_VCM_I, 0x3f);
15766 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
15767 AFE_SET_VCM_Q, 0x3f);
15770 mod_phy_reg(pi, 0xa6, (0x1 << 2), (0x1 << 2));
15771 mod_phy_reg(pi, 0x8f, (0x1 << 2), (0x1 << 2));
15772 mod_phy_reg(pi, 0xa7, (0x1 << 2), (0x1 << 2));
15773 mod_phy_reg(pi, 0xa5, (0x1 << 2), (0x1 << 2));
15775 mod_phy_reg(pi, 0xa6, (0x1 << 0), 0);
15776 mod_phy_reg(pi, 0x8f, (0x1 << 0), (0x1 << 0));
15777 mod_phy_reg(pi, 0xa7, (0x1 << 0), 0);
15778 mod_phy_reg(pi, 0xa5, (0x1 << 0), (0x1 << 0));
15780 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1,
15782 &afectrl_adc_ctrl2_rev7);
15783 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1,
15785 &afectrl_adc_ctrl2_rev7);
15787 mod_phy_reg(pi, 0xa6, (0x1 << 2), 0);
15788 mod_phy_reg(pi, 0x8f, (0x1 << 2), 0);
15789 mod_phy_reg(pi, 0xa7, (0x1 << 2), 0);
15790 mod_phy_reg(pi, 0xa5, (0x1 << 2), 0);
15793 write_phy_reg(pi, 0x6a, 0x2);
15795 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 256, 32,
15796 &min_nvar_offset_6mbps);
15798 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x138, 16,
15799 &rfseq_pktgn_lpf_hpc_rev7);
15801 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1, 0x141, 16,
15802 &rfseq_pktgn_lpf_h_hpc_rev7);
15804 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 3, 0x133, 16,
15805 &rfseq_htpktgn_lpf_hpc_rev7);
15807 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x146, 16,
15808 &rfseq_cckpktgn_lpf_hpc_rev7);
15810 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1, 0x123, 16,
15811 &rfseq_tx2rx_lpf_h_hpc_rev7);
15813 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1, 0x12A, 16,
15814 &rfseq_rx2tx_lpf_h_hpc_rev7);
15816 if (CHSPEC_IS40(pi->radio_chanspec) == 0) {
15817 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 3,
15818 32, &min_nvar_val);
15819 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
15820 127, 32, &min_nvar_val);
15822 min_nvar_val = noise_var_tbl_rev7[3];
15823 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 3,
15824 32, &min_nvar_val);
15826 min_nvar_val = noise_var_tbl_rev7[127];
15827 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
15828 127, 32, &min_nvar_val);
15831 wlc_phy_workarounds_nphy_gainctrl(pi);
15834 (CHSPEC_IS5G(pi->radio_chanspec)) ? pi->srom_fem5g.
15835 pdetrange : pi->srom_fem2g.pdetrange;
15837 if (pdetrange == 0) {
15839 wlc_phy_get_chan_freq_range_nphy(pi, 0);
15840 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
15841 aux_adc_vmid_rev7_core0[3] = 0x70;
15842 aux_adc_vmid_rev7_core1[3] = 0x70;
15843 aux_adc_gain_rev7[3] = 2;
15845 aux_adc_vmid_rev7_core0[3] = 0x80;
15846 aux_adc_vmid_rev7_core1[3] = 0x80;
15847 aux_adc_gain_rev7[3] = 3;
15849 } else if (pdetrange == 1) {
15850 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
15851 aux_adc_vmid_rev7_core0[3] = 0x7c;
15852 aux_adc_vmid_rev7_core1[3] = 0x7c;
15853 aux_adc_gain_rev7[3] = 2;
15855 aux_adc_vmid_rev7_core0[3] = 0x8c;
15856 aux_adc_vmid_rev7_core1[3] = 0x8c;
15857 aux_adc_gain_rev7[3] = 1;
15859 } else if (pdetrange == 2) {
15860 if (pi->pubpi.radioid == BCM2057_ID) {
15861 if ((pi->pubpi.radiorev == 5)
15862 || (pi->pubpi.radiorev == 7)
15863 || (pi->pubpi.radiorev == 8)) {
15864 if (chan_freq_range ==
15865 WL_CHAN_FREQ_RANGE_2G) {
15866 aux_adc_vmid_rev7_core0[3] =
15868 aux_adc_vmid_rev7_core1[3] =
15870 aux_adc_gain_rev7[3] = 0;
15872 aux_adc_vmid_rev7_core0[3] =
15874 aux_adc_vmid_rev7_core1[3] =
15876 aux_adc_gain_rev7[3] = 0;
15881 } else if (pdetrange == 3) {
15882 if (chan_freq_range == WL_CHAN_FREQ_RANGE_2G) {
15883 aux_adc_vmid_rev7_core0[3] = 0x89;
15884 aux_adc_vmid_rev7_core1[3] = 0x89;
15885 aux_adc_gain_rev7[3] = 0;
15888 } else if (pdetrange == 5) {
15890 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
15891 aux_adc_vmid_rev7_core0[3] = 0x80;
15892 aux_adc_vmid_rev7_core1[3] = 0x80;
15893 aux_adc_gain_rev7[3] = 3;
15895 aux_adc_vmid_rev7_core0[3] = 0x70;
15896 aux_adc_vmid_rev7_core1[3] = 0x70;
15897 aux_adc_gain_rev7[3] = 2;
15901 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4, 0x08, 16,
15902 &aux_adc_vmid_rev7_core0);
15903 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4, 0x18, 16,
15904 &aux_adc_vmid_rev7_core1);
15905 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4, 0x0c, 16,
15906 &aux_adc_gain_rev7);
15907 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4, 0x1c, 16,
15908 &aux_adc_gain_rev7);
15910 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
15912 write_phy_reg(pi, 0x23f, 0x1f8);
15913 write_phy_reg(pi, 0x240, 0x1f8);
15915 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
15916 1, 0, 32, &leg_data_weights);
15917 leg_data_weights = leg_data_weights & 0xffffff;
15918 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
15919 1, 0, 32, &leg_data_weights);
15927 write_phy_reg(pi, 0x145, alpha0);
15928 write_phy_reg(pi, 0x146, alpha1);
15929 write_phy_reg(pi, 0x147, alpha2);
15930 write_phy_reg(pi, 0x148, beta0);
15931 write_phy_reg(pi, 0x149, beta1);
15932 write_phy_reg(pi, 0x14a, beta2);
15934 write_phy_reg(pi, 0x38, 0xC);
15935 write_phy_reg(pi, 0x2ae, 0xC);
15937 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_TX2RX,
15938 rfseq_tx2rx_events_rev3,
15939 rfseq_tx2rx_dlys_rev3,
15940 sizeof(rfseq_tx2rx_events_rev3) /
15941 sizeof(rfseq_tx2rx_events_rev3[0]));
15944 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX,
15945 rfseq_rx2tx_events_rev3_ipa,
15946 rfseq_rx2tx_dlys_rev3_ipa,
15948 (rfseq_rx2tx_events_rev3_ipa) /
15950 (rfseq_rx2tx_events_rev3_ipa
15954 if ((pi->sh->hw_phyrxchain != 0x3) &&
15955 (pi->sh->hw_phyrxchain != pi->sh->hw_phytxchain)) {
15958 rfseq_rx2tx_dlys_rev3[5] = 59;
15959 rfseq_rx2tx_dlys_rev3[6] = 1;
15960 rfseq_rx2tx_events_rev3[7] =
15961 NPHY_REV3_RFSEQ_CMD_END;
15964 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX,
15965 rfseq_rx2tx_events_rev3,
15966 rfseq_rx2tx_dlys_rev3,
15967 sizeof(rfseq_rx2tx_events_rev3) /
15968 sizeof(rfseq_rx2tx_events_rev3
15972 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15973 write_phy_reg(pi, 0x6a, 0x2);
15975 write_phy_reg(pi, 0x6a, 0x9c40);
15978 mod_phy_reg(pi, 0x294, (0xf << 8), (7 << 8));
15980 if (CHSPEC_IS40(pi->radio_chanspec) == 0) {
15981 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 3,
15982 32, &min_nvar_val);
15983 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
15984 127, 32, &min_nvar_val);
15986 min_nvar_val = noise_var_tbl_rev3[3];
15987 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 3,
15988 32, &min_nvar_val);
15990 min_nvar_val = noise_var_tbl_rev3[127];
15991 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
15992 127, 32, &min_nvar_val);
15995 wlc_phy_workarounds_nphy_gainctrl(pi);
15997 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x00, 16,
15999 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x10, 16,
16003 (CHSPEC_IS5G(pi->radio_chanspec)) ? pi->srom_fem5g.
16004 pdetrange : pi->srom_fem2g.pdetrange;
16006 if (pdetrange == 0) {
16007 if (NREV_GE(pi->pubpi.phy_rev, 4)) {
16008 aux_adc_vmid = aux_adc_vmid_rev4;
16009 aux_adc_gain = aux_adc_gain_rev4;
16011 aux_adc_vmid = aux_adc_vmid_rev3;
16012 aux_adc_gain = aux_adc_gain_rev3;
16015 wlc_phy_get_chan_freq_range_nphy(pi, 0);
16016 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
16017 switch (chan_freq_range) {
16018 case WL_CHAN_FREQ_RANGE_5GL:
16019 aux_adc_vmid[3] = 0x89;
16020 aux_adc_gain[3] = 0;
16022 case WL_CHAN_FREQ_RANGE_5GM:
16023 aux_adc_vmid[3] = 0x89;
16024 aux_adc_gain[3] = 0;
16026 case WL_CHAN_FREQ_RANGE_5GH:
16027 aux_adc_vmid[3] = 0x89;
16028 aux_adc_gain[3] = 0;
16034 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16035 0x08, 16, aux_adc_vmid);
16036 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16037 0x18, 16, aux_adc_vmid);
16038 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16039 0x0c, 16, aux_adc_gain);
16040 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16041 0x1c, 16, aux_adc_gain);
16042 } else if (pdetrange == 1) {
16043 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16044 0x08, 16, sk_adc_vmid);
16045 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16046 0x18, 16, sk_adc_vmid);
16047 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16048 0x0c, 16, sk_adc_gain);
16049 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16050 0x1c, 16, sk_adc_gain);
16051 } else if (pdetrange == 2) {
16053 u16 bcm_adc_vmid[] = { 0xa2, 0xb4, 0xb4, 0x74 };
16054 u16 bcm_adc_gain[] = { 0x02, 0x02, 0x02, 0x04 };
16056 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
16058 wlc_phy_get_chan_freq_range_nphy(pi, 0);
16059 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
16060 bcm_adc_vmid[3] = 0x8e;
16061 bcm_adc_gain[3] = 0x03;
16063 bcm_adc_vmid[3] = 0x94;
16064 bcm_adc_gain[3] = 0x03;
16066 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
16067 bcm_adc_vmid[3] = 0x84;
16068 bcm_adc_gain[3] = 0x02;
16071 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16072 0x08, 16, bcm_adc_vmid);
16073 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16074 0x18, 16, bcm_adc_vmid);
16075 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16076 0x0c, 16, bcm_adc_gain);
16077 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16078 0x1c, 16, bcm_adc_gain);
16079 } else if (pdetrange == 3) {
16081 wlc_phy_get_chan_freq_range_nphy(pi, 0);
16082 if ((NREV_GE(pi->pubpi.phy_rev, 4))
16083 && (chan_freq_range == WL_CHAN_FREQ_RANGE_2G)) {
16085 u16 auxadc_vmid[] = {
16086 0xa2, 0xb4, 0xb4, 0x270 };
16087 u16 auxadc_gain[] = {
16088 0x02, 0x02, 0x02, 0x00 };
16090 wlc_phy_table_write_nphy(pi,
16091 NPHY_TBL_ID_AFECTRL, 4,
16092 0x08, 16, auxadc_vmid);
16093 wlc_phy_table_write_nphy(pi,
16094 NPHY_TBL_ID_AFECTRL, 4,
16095 0x18, 16, auxadc_vmid);
16096 wlc_phy_table_write_nphy(pi,
16097 NPHY_TBL_ID_AFECTRL, 4,
16098 0x0c, 16, auxadc_gain);
16099 wlc_phy_table_write_nphy(pi,
16100 NPHY_TBL_ID_AFECTRL, 4,
16101 0x1c, 16, auxadc_gain);
16103 } else if ((pdetrange == 4) || (pdetrange == 5)) {
16104 u16 bcm_adc_vmid[] = { 0xa2, 0xb4, 0xb4, 0x0 };
16105 u16 bcm_adc_gain[] = { 0x02, 0x02, 0x02, 0x0 };
16106 u16 Vmid[2], Av[2];
16109 wlc_phy_get_chan_freq_range_nphy(pi, 0);
16110 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
16111 Vmid[0] = (pdetrange == 4) ? 0x8e : 0x89;
16112 Vmid[1] = (pdetrange == 4) ? 0x96 : 0x89;
16113 Av[0] = (pdetrange == 4) ? 2 : 0;
16114 Av[1] = (pdetrange == 4) ? 2 : 0;
16116 Vmid[0] = (pdetrange == 4) ? 0x89 : 0x74;
16117 Vmid[1] = (pdetrange == 4) ? 0x8b : 0x70;
16118 Av[0] = (pdetrange == 4) ? 2 : 0;
16119 Av[1] = (pdetrange == 4) ? 2 : 0;
16122 bcm_adc_vmid[3] = Vmid[0];
16123 bcm_adc_gain[3] = Av[0];
16124 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16125 0x08, 16, bcm_adc_vmid);
16126 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16127 0x0c, 16, bcm_adc_gain);
16129 bcm_adc_vmid[3] = Vmid[1];
16130 bcm_adc_gain[3] = Av[1];
16131 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16132 0x18, 16, bcm_adc_vmid);
16133 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16134 0x1c, 16, bcm_adc_gain);
16139 write_radio_reg(pi,
16140 (RADIO_2056_RX_MIXA_MAST_BIAS | RADIO_2056_RX0),
16142 write_radio_reg(pi,
16143 (RADIO_2056_RX_MIXA_MAST_BIAS | RADIO_2056_RX1),
16146 write_radio_reg(pi,
16147 (RADIO_2056_RX_MIXA_BIAS_MAIN | RADIO_2056_RX0),
16149 write_radio_reg(pi,
16150 (RADIO_2056_RX_MIXA_BIAS_MAIN | RADIO_2056_RX1),
16153 write_radio_reg(pi,
16154 (RADIO_2056_RX_MIXA_BIAS_AUX | RADIO_2056_RX0),
16156 write_radio_reg(pi,
16157 (RADIO_2056_RX_MIXA_BIAS_AUX | RADIO_2056_RX1),
16160 write_radio_reg(pi,
16161 (RADIO_2056_RX_MIXA_LOB_BIAS | RADIO_2056_RX0),
16163 write_radio_reg(pi,
16164 (RADIO_2056_RX_MIXA_LOB_BIAS | RADIO_2056_RX1),
16167 write_radio_reg(pi,
16168 (RADIO_2056_RX_MIXA_CMFB_IDAC | RADIO_2056_RX0),
16170 write_radio_reg(pi,
16171 (RADIO_2056_RX_MIXA_CMFB_IDAC | RADIO_2056_RX1),
16174 write_radio_reg(pi,
16175 (RADIO_2056_RX_MIXG_CMFB_IDAC | RADIO_2056_RX0),
16177 write_radio_reg(pi,
16178 (RADIO_2056_RX_MIXG_CMFB_IDAC | RADIO_2056_RX1),
16182 (CHSPEC_IS5G(pi->radio_chanspec)) ? pi->srom_fem5g.
16183 triso : pi->srom_fem2g.triso;
16185 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi, PHY_CORE_0);
16186 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi, PHY_CORE_1);
16189 wlc_phy_war_txchain_upd_nphy(pi, pi->sh->hw_phytxchain);
16191 if (((pi->sh->boardflags2 & BFL2_APLL_WAR) &&
16192 (CHSPEC_IS5G(pi->radio_chanspec))) ||
16193 (((pi->sh->boardflags2 & BFL2_GPLL_WAR) ||
16194 (pi->sh->boardflags2 & BFL2_GPLL_WAR2)) &&
16195 (CHSPEC_IS2G(pi->radio_chanspec)))) {
16196 nss1_data_weights = 0x00088888;
16197 ht_data_weights = 0x00088888;
16198 stbc_data_weights = 0x00088888;
16200 nss1_data_weights = 0x88888888;
16201 ht_data_weights = 0x88888888;
16202 stbc_data_weights = 0x88888888;
16204 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
16205 1, 1, 32, &nss1_data_weights);
16206 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
16207 1, 2, 32, &ht_data_weights);
16208 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
16209 1, 3, 32, &stbc_data_weights);
16211 if (NREV_IS(pi->pubpi.phy_rev, 4)) {
16212 if (CHSPEC_IS5G(pi->radio_chanspec)) {
16213 write_radio_reg(pi,
16214 RADIO_2056_TX_GMBB_IDAC |
16215 RADIO_2056_TX0, 0x70);
16216 write_radio_reg(pi,
16217 RADIO_2056_TX_GMBB_IDAC |
16218 RADIO_2056_TX1, 0x70);
16222 if (!pi->edcrs_threshold_lock) {
16223 write_phy_reg(pi, 0x224, 0x3eb);
16224 write_phy_reg(pi, 0x225, 0x3eb);
16225 write_phy_reg(pi, 0x226, 0x341);
16226 write_phy_reg(pi, 0x227, 0x341);
16227 write_phy_reg(pi, 0x228, 0x42b);
16228 write_phy_reg(pi, 0x229, 0x42b);
16229 write_phy_reg(pi, 0x22a, 0x381);
16230 write_phy_reg(pi, 0x22b, 0x381);
16231 write_phy_reg(pi, 0x22c, 0x42b);
16232 write_phy_reg(pi, 0x22d, 0x42b);
16233 write_phy_reg(pi, 0x22e, 0x381);
16234 write_phy_reg(pi, 0x22f, 0x381);
16237 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
16239 if (pi->sh->boardflags2 & BFL2_SINGLEANT_CCK) {
16240 wlapi_bmac_mhf(pi->sh->physhim, MHF4,
16242 MHF4_BPHY_TXCORE0, WLC_BAND_ALL);
16247 if (pi->sh->boardflags2 & BFL2_SKWRKFEM_BRD ||
16248 (pi->sh->boardtype == 0x8b)) {
16250 u8 war_dlys[] = { 1, 6, 6, 2, 4, 20, 1 };
16251 for (i = 0; i < ARRAY_SIZE(rfseq_rx2tx_dlys); i++)
16252 rfseq_rx2tx_dlys[i] = war_dlys[i];
16255 if (CHSPEC_IS5G(pi->radio_chanspec) && pi->phy_5g_pwrgain) {
16256 and_radio_reg(pi, RADIO_2055_CORE1_TX_RF_SPARE, 0xf7);
16257 and_radio_reg(pi, RADIO_2055_CORE2_TX_RF_SPARE, 0xf7);
16259 or_radio_reg(pi, RADIO_2055_CORE1_TX_RF_SPARE, 0x8);
16260 or_radio_reg(pi, RADIO_2055_CORE2_TX_RF_SPARE, 0x8);
16264 wlc_phy_table_write_nphy(pi, 8, 1, 0, 16, ®val);
16265 wlc_phy_table_write_nphy(pi, 8, 1, 0x10, 16, ®val);
16267 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
16269 wlc_phy_table_write_nphy(pi, 8, 1, 0x02, 16, ®val);
16270 wlc_phy_table_write_nphy(pi, 8, 1, 0x12, 16, ®val);
16273 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
16275 wlc_phy_table_write_nphy(pi, 8, 1, 0x08, 16, ®val);
16276 wlc_phy_table_write_nphy(pi, 8, 1, 0x18, 16, ®val);
16279 wlc_phy_table_write_nphy(pi, 8, 1, 0x07, 16, ®val);
16280 wlc_phy_table_write_nphy(pi, 8, 1, 0x17, 16, ®val);
16283 wlc_phy_table_write_nphy(pi, 8, 1, 0x06, 16, ®val);
16284 wlc_phy_table_write_nphy(pi, 8, 1, 0x16, 16, ®val);
16287 write_phy_reg(pi, 0xf8, 0x02d8);
16288 write_phy_reg(pi, 0xf9, 0x0301);
16289 write_phy_reg(pi, 0xfa, 0x02d8);
16290 write_phy_reg(pi, 0xfb, 0x0301);
16292 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX, rfseq_rx2tx_events,
16294 sizeof(rfseq_rx2tx_events) /
16295 sizeof(rfseq_rx2tx_events[0]));
16297 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_TX2RX, rfseq_tx2rx_events,
16299 sizeof(rfseq_tx2rx_events) /
16300 sizeof(rfseq_tx2rx_events[0]));
16302 wlc_phy_workarounds_nphy_gainctrl(pi);
16304 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
16306 if (read_phy_reg(pi, 0xa0) & NPHY_MLenable)
16307 wlapi_bmac_mhf(pi->sh->physhim, MHF3,
16308 MHF3_NPHY_MLADV_WAR,
16309 MHF3_NPHY_MLADV_WAR,
16312 } else if (NREV_IS(pi->pubpi.phy_rev, 2)) {
16313 write_phy_reg(pi, 0x1e3, 0x0);
16314 write_phy_reg(pi, 0x1e4, 0x0);
16317 if (NREV_LT(pi->pubpi.phy_rev, 2))
16318 mod_phy_reg(pi, 0x90, (0x1 << 7), 0);
16326 write_phy_reg(pi, 0x145, alpha0);
16327 write_phy_reg(pi, 0x146, alpha1);
16328 write_phy_reg(pi, 0x147, alpha2);
16329 write_phy_reg(pi, 0x148, beta0);
16330 write_phy_reg(pi, 0x149, beta1);
16331 write_phy_reg(pi, 0x14a, beta2);
16333 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
16334 mod_phy_reg(pi, 0x142, (0xf << 12), 0);
16336 write_phy_reg(pi, 0x192, 0xb5);
16337 write_phy_reg(pi, 0x193, 0xa4);
16338 write_phy_reg(pi, 0x194, 0x0);
16341 if (NREV_IS(pi->pubpi.phy_rev, 2)) {
16342 mod_phy_reg(pi, 0x221,
16343 NPHY_FORCESIG_DECODEGATEDCLKS,
16344 NPHY_FORCESIG_DECODEGATEDCLKS);
16348 if (pi->phyhang_avoid)
16349 wlc_phy_stay_in_carriersearch_nphy(pi, false);
16352 static void wlc_phy_workarounds_nphy_gainctrl(phy_info_t *pi)
16354 u16 w1th, hpf_code, currband;
16356 u8 rfseq_updategainu_events[] = {
16357 NPHY_RFSEQ_CMD_RX_GAIN,
16358 NPHY_RFSEQ_CMD_CLR_HIQ_DIS,
16359 NPHY_RFSEQ_CMD_SET_HPF_BW
16361 u8 rfseq_updategainu_dlys[] = { 10, 30, 1 };
16362 s8 lna1G_gain_db[] = { 7, 11, 16, 23 };
16363 s8 lna1G_gain_db_rev4[] = { 8, 12, 17, 25 };
16364 s8 lna1G_gain_db_rev5[] = { 9, 13, 18, 26 };
16365 s8 lna1G_gain_db_rev6[] = { 8, 13, 18, 25 };
16366 s8 lna1G_gain_db_rev6_224B0[] = { 10, 14, 19, 27 };
16367 s8 lna1A_gain_db[] = { 7, 11, 17, 23 };
16368 s8 lna1A_gain_db_rev4[] = { 8, 12, 18, 23 };
16369 s8 lna1A_gain_db_rev5[] = { 6, 10, 16, 21 };
16370 s8 lna1A_gain_db_rev6[] = { 6, 10, 16, 21 };
16371 s8 *lna1_gain_db = NULL;
16372 s8 lna2G_gain_db[] = { -5, 6, 10, 14 };
16373 s8 lna2G_gain_db_rev5[] = { -3, 7, 11, 16 };
16374 s8 lna2G_gain_db_rev6[] = { -5, 6, 10, 14 };
16375 s8 lna2G_gain_db_rev6_224B0[] = { -5, 6, 10, 15 };
16376 s8 lna2A_gain_db[] = { -6, 2, 6, 10 };
16377 s8 lna2A_gain_db_rev4[] = { -5, 2, 6, 10 };
16378 s8 lna2A_gain_db_rev5[] = { -7, 0, 4, 8 };
16379 s8 lna2A_gain_db_rev6[] = { -7, 0, 4, 8 };
16380 s8 *lna2_gain_db = NULL;
16381 s8 tiaG_gain_db[] = {
16382 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A };
16383 s8 tiaA_gain_db[] = {
16384 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13 };
16385 s8 tiaA_gain_db_rev4[] = {
16386 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d };
16387 s8 tiaA_gain_db_rev5[] = {
16388 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d };
16389 s8 tiaA_gain_db_rev6[] = {
16390 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d };
16392 s8 tiaG_gainbits[] = {
16393 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03 };
16394 s8 tiaA_gainbits[] = {
16395 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06 };
16396 s8 tiaA_gainbits_rev4[] = {
16397 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 };
16398 s8 tiaA_gainbits_rev5[] = {
16399 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 };
16400 s8 tiaA_gainbits_rev6[] = {
16401 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 };
16403 s8 lpf_gain_db[] = { 0x00, 0x06, 0x0c, 0x12, 0x12, 0x12 };
16404 s8 lpf_gainbits[] = { 0x00, 0x01, 0x02, 0x03, 0x03, 0x03 };
16405 u16 rfseqG_init_gain[] = { 0x613f, 0x613f, 0x613f, 0x613f };
16406 u16 rfseqG_init_gain_rev4[] = { 0x513f, 0x513f, 0x513f, 0x513f };
16407 u16 rfseqG_init_gain_rev5[] = { 0x413f, 0x413f, 0x413f, 0x413f };
16408 u16 rfseqG_init_gain_rev5_elna[] = {
16409 0x013f, 0x013f, 0x013f, 0x013f };
16410 u16 rfseqG_init_gain_rev6[] = { 0x513f, 0x513f };
16411 u16 rfseqG_init_gain_rev6_224B0[] = { 0x413f, 0x413f };
16412 u16 rfseqG_init_gain_rev6_elna[] = { 0x113f, 0x113f };
16413 u16 rfseqA_init_gain[] = { 0x516f, 0x516f, 0x516f, 0x516f };
16414 u16 rfseqA_init_gain_rev4[] = { 0x614f, 0x614f, 0x614f, 0x614f };
16415 u16 rfseqA_init_gain_rev4_elna[] = {
16416 0x314f, 0x314f, 0x314f, 0x314f };
16417 u16 rfseqA_init_gain_rev5[] = { 0x714f, 0x714f, 0x714f, 0x714f };
16418 u16 rfseqA_init_gain_rev6[] = { 0x714f, 0x714f };
16419 u16 *rfseq_init_gain;
16420 u16 initG_gaincode = 0x627e;
16421 u16 initG_gaincode_rev4 = 0x527e;
16422 u16 initG_gaincode_rev5 = 0x427e;
16423 u16 initG_gaincode_rev5_elna = 0x027e;
16424 u16 initG_gaincode_rev6 = 0x527e;
16425 u16 initG_gaincode_rev6_224B0 = 0x427e;
16426 u16 initG_gaincode_rev6_elna = 0x127e;
16427 u16 initA_gaincode = 0x52de;
16428 u16 initA_gaincode_rev4 = 0x629e;
16429 u16 initA_gaincode_rev4_elna = 0x329e;
16430 u16 initA_gaincode_rev5 = 0x729e;
16431 u16 initA_gaincode_rev6 = 0x729e;
16433 u16 clip1hiG_gaincode = 0x107e;
16434 u16 clip1hiG_gaincode_rev4 = 0x007e;
16435 u16 clip1hiG_gaincode_rev5 = 0x1076;
16436 u16 clip1hiG_gaincode_rev6 = 0x007e;
16437 u16 clip1hiA_gaincode = 0x00de;
16438 u16 clip1hiA_gaincode_rev4 = 0x029e;
16439 u16 clip1hiA_gaincode_rev5 = 0x029e;
16440 u16 clip1hiA_gaincode_rev6 = 0x029e;
16441 u16 clip1hi_gaincode;
16442 u16 clip1mdG_gaincode = 0x0066;
16443 u16 clip1mdA_gaincode = 0x00ca;
16444 u16 clip1mdA_gaincode_rev4 = 0x1084;
16445 u16 clip1mdA_gaincode_rev5 = 0x2084;
16446 u16 clip1mdA_gaincode_rev6 = 0x2084;
16447 u16 clip1md_gaincode = 0;
16448 u16 clip1loG_gaincode = 0x0074;
16449 u16 clip1loG_gaincode_rev5[] = {
16450 0x0062, 0x0064, 0x006a, 0x106a, 0x106c, 0x1074, 0x107c, 0x207c
16452 u16 clip1loG_gaincode_rev6[] = {
16453 0x106a, 0x106c, 0x1074, 0x107c, 0x007e, 0x107e, 0x207e, 0x307e
16455 u16 clip1loG_gaincode_rev6_224B0 = 0x1074;
16456 u16 clip1loA_gaincode = 0x00cc;
16457 u16 clip1loA_gaincode_rev4 = 0x0086;
16458 u16 clip1loA_gaincode_rev5 = 0x2086;
16459 u16 clip1loA_gaincode_rev6 = 0x2086;
16460 u16 clip1lo_gaincode;
16461 u8 crsminG_th = 0x18;
16462 u8 crsminG_th_rev5 = 0x18;
16463 u8 crsminG_th_rev6 = 0x18;
16464 u8 crsminA_th = 0x1e;
16465 u8 crsminA_th_rev4 = 0x24;
16466 u8 crsminA_th_rev5 = 0x24;
16467 u8 crsminA_th_rev6 = 0x24;
16469 u8 crsminlG_th = 0x18;
16470 u8 crsminlG_th_rev5 = 0x18;
16471 u8 crsminlG_th_rev6 = 0x18;
16472 u8 crsminlA_th = 0x1e;
16473 u8 crsminlA_th_rev4 = 0x24;
16474 u8 crsminlA_th_rev5 = 0x24;
16475 u8 crsminlA_th_rev6 = 0x24;
16477 u8 crsminuG_th = 0x18;
16478 u8 crsminuG_th_rev5 = 0x18;
16479 u8 crsminuG_th_rev6 = 0x18;
16480 u8 crsminuA_th = 0x1e;
16481 u8 crsminuA_th_rev4 = 0x24;
16482 u8 crsminuA_th_rev5 = 0x24;
16483 u8 crsminuA_th_rev6 = 0x24;
16484 u8 crsminuA_th_rev6_224B0 = 0x2d;
16486 u16 nbclipG_th = 0x20d;
16487 u16 nbclipG_th_rev4 = 0x1a1;
16488 u16 nbclipG_th_rev5 = 0x1d0;
16489 u16 nbclipG_th_rev6 = 0x1d0;
16490 u16 nbclipA_th = 0x1a1;
16491 u16 nbclipA_th_rev4 = 0x107;
16492 u16 nbclipA_th_rev5 = 0x0a9;
16493 u16 nbclipA_th_rev6 = 0x0f0;
16496 u8 w1clipG_th_rev5 = 9;
16497 u8 w1clipG_th_rev6 = 5;
16498 u8 w1clipA_th = 25, w1clip_th;
16499 u8 rssi_gain_default = 0x50;
16500 u8 rssiG_gain_rev6_224B0 = 0x50;
16501 u8 rssiA_gain_rev5 = 0x90;
16502 u8 rssiA_gain_rev6 = 0x90;
16507 triso = (CHSPEC_IS5G(pi->radio_chanspec)) ? pi->srom_fem5g.triso :
16508 pi->srom_fem2g.triso;
16510 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
16511 if (pi->pubpi.radiorev == 5) {
16513 wlc_phy_workarounds_nphy_gainctrl_2057_rev5(pi);
16514 } else if (pi->pubpi.radiorev == 7) {
16515 wlc_phy_workarounds_nphy_gainctrl_2057_rev6(pi);
16517 mod_phy_reg(pi, 0x283, (0xff << 0), (0x44 << 0));
16518 mod_phy_reg(pi, 0x280, (0xff << 0), (0x44 << 0));
16520 } else if ((pi->pubpi.radiorev == 3)
16521 || (pi->pubpi.radiorev == 8)) {
16522 wlc_phy_workarounds_nphy_gainctrl_2057_rev6(pi);
16524 if (pi->pubpi.radiorev == 8) {
16525 mod_phy_reg(pi, 0x283,
16526 (0xff << 0), (0x44 << 0));
16527 mod_phy_reg(pi, 0x280,
16528 (0xff << 0), (0x44 << 0));
16531 wlc_phy_workarounds_nphy_gainctrl_2057_rev6(pi);
16533 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
16535 mod_phy_reg(pi, 0xa0, (0x1 << 6), (1 << 6));
16537 mod_phy_reg(pi, 0x1c, (0x1 << 13), (1 << 13));
16538 mod_phy_reg(pi, 0x32, (0x1 << 13), (1 << 13));
16541 read_phy_reg(pi, 0x09) & NPHY_BandControl_currentBand;
16542 if (currband == 0) {
16543 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
16544 if (pi->pubpi.radiorev == 11) {
16545 lna1_gain_db = lna1G_gain_db_rev6_224B0;
16546 lna2_gain_db = lna2G_gain_db_rev6_224B0;
16548 rfseqG_init_gain_rev6_224B0;
16550 initG_gaincode_rev6_224B0;
16552 clip1hiG_gaincode_rev6;
16554 clip1loG_gaincode_rev6_224B0;
16555 nbclip_th = nbclipG_th_rev6;
16556 w1clip_th = w1clipG_th_rev6;
16557 crsmin_th = crsminG_th_rev6;
16558 crsminl_th = crsminlG_th_rev6;
16559 crsminu_th = crsminuG_th_rev6;
16560 rssi_gain = rssiG_gain_rev6_224B0;
16562 lna1_gain_db = lna1G_gain_db_rev6;
16563 lna2_gain_db = lna2G_gain_db_rev6;
16564 if (pi->sh->boardflags & BFL_EXTLNA) {
16567 rfseqG_init_gain_rev6_elna;
16569 initG_gaincode_rev6_elna;
16572 rfseqG_init_gain_rev6;
16574 initG_gaincode_rev6;
16577 clip1hiG_gaincode_rev6;
16581 clip1loG_gaincode_rev6[0];
16585 clip1loG_gaincode_rev6[1];
16589 clip1loG_gaincode_rev6[2];
16595 clip1loG_gaincode_rev6[3];
16599 clip1loG_gaincode_rev6[4];
16603 clip1loG_gaincode_rev6[5];
16607 clip1loG_gaincode_rev6[6];
16611 clip1loG_gaincode_rev6[7];
16614 nbclip_th = nbclipG_th_rev6;
16615 w1clip_th = w1clipG_th_rev6;
16616 crsmin_th = crsminG_th_rev6;
16617 crsminl_th = crsminlG_th_rev6;
16618 crsminu_th = crsminuG_th_rev6;
16619 rssi_gain = rssi_gain_default;
16621 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
16622 lna1_gain_db = lna1G_gain_db_rev5;
16623 lna2_gain_db = lna2G_gain_db_rev5;
16624 if (pi->sh->boardflags & BFL_EXTLNA) {
16627 rfseqG_init_gain_rev5_elna;
16629 initG_gaincode_rev5_elna;
16631 rfseq_init_gain = rfseqG_init_gain_rev5;
16632 init_gaincode = initG_gaincode_rev5;
16634 clip1hi_gaincode = clip1hiG_gaincode_rev5;
16638 clip1loG_gaincode_rev5[0];
16642 clip1loG_gaincode_rev5[1];
16646 clip1loG_gaincode_rev5[2];
16651 clip1loG_gaincode_rev5[3];
16655 clip1loG_gaincode_rev5[4];
16659 clip1loG_gaincode_rev5[5];
16663 clip1loG_gaincode_rev5[6];
16667 clip1loG_gaincode_rev5[7];
16671 clip1loG_gaincode_rev5[3];
16674 nbclip_th = nbclipG_th_rev5;
16675 w1clip_th = w1clipG_th_rev5;
16676 crsmin_th = crsminG_th_rev5;
16677 crsminl_th = crsminlG_th_rev5;
16678 crsminu_th = crsminuG_th_rev5;
16679 rssi_gain = rssi_gain_default;
16680 } else if (NREV_IS(pi->pubpi.phy_rev, 4)) {
16681 lna1_gain_db = lna1G_gain_db_rev4;
16682 lna2_gain_db = lna2G_gain_db;
16683 rfseq_init_gain = rfseqG_init_gain_rev4;
16684 init_gaincode = initG_gaincode_rev4;
16685 clip1hi_gaincode = clip1hiG_gaincode_rev4;
16686 clip1lo_gaincode = clip1loG_gaincode;
16687 nbclip_th = nbclipG_th_rev4;
16688 w1clip_th = w1clipG_th;
16689 crsmin_th = crsminG_th;
16690 crsminl_th = crsminlG_th;
16691 crsminu_th = crsminuG_th;
16692 rssi_gain = rssi_gain_default;
16694 lna1_gain_db = lna1G_gain_db;
16695 lna2_gain_db = lna2G_gain_db;
16696 rfseq_init_gain = rfseqG_init_gain;
16697 init_gaincode = initG_gaincode;
16698 clip1hi_gaincode = clip1hiG_gaincode;
16699 clip1lo_gaincode = clip1loG_gaincode;
16700 nbclip_th = nbclipG_th;
16701 w1clip_th = w1clipG_th;
16702 crsmin_th = crsminG_th;
16703 crsminl_th = crsminlG_th;
16704 crsminu_th = crsminuG_th;
16705 rssi_gain = rssi_gain_default;
16707 tia_gain_db = tiaG_gain_db;
16708 tia_gainbits = tiaG_gainbits;
16709 clip1md_gaincode = clip1mdG_gaincode;
16711 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
16712 lna1_gain_db = lna1A_gain_db_rev6;
16713 lna2_gain_db = lna2A_gain_db_rev6;
16714 tia_gain_db = tiaA_gain_db_rev6;
16715 tia_gainbits = tiaA_gainbits_rev6;
16716 rfseq_init_gain = rfseqA_init_gain_rev6;
16717 init_gaincode = initA_gaincode_rev6;
16718 clip1hi_gaincode = clip1hiA_gaincode_rev6;
16719 clip1md_gaincode = clip1mdA_gaincode_rev6;
16720 clip1lo_gaincode = clip1loA_gaincode_rev6;
16721 crsmin_th = crsminA_th_rev6;
16722 crsminl_th = crsminlA_th_rev6;
16723 if ((pi->pubpi.radiorev == 11) &&
16724 (CHSPEC_IS40(pi->radio_chanspec) == 0)) {
16725 crsminu_th = crsminuA_th_rev6_224B0;
16727 crsminu_th = crsminuA_th_rev6;
16729 nbclip_th = nbclipA_th_rev6;
16730 rssi_gain = rssiA_gain_rev6;
16731 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
16732 lna1_gain_db = lna1A_gain_db_rev5;
16733 lna2_gain_db = lna2A_gain_db_rev5;
16734 tia_gain_db = tiaA_gain_db_rev5;
16735 tia_gainbits = tiaA_gainbits_rev5;
16736 rfseq_init_gain = rfseqA_init_gain_rev5;
16737 init_gaincode = initA_gaincode_rev5;
16738 clip1hi_gaincode = clip1hiA_gaincode_rev5;
16739 clip1md_gaincode = clip1mdA_gaincode_rev5;
16740 clip1lo_gaincode = clip1loA_gaincode_rev5;
16741 crsmin_th = crsminA_th_rev5;
16742 crsminl_th = crsminlA_th_rev5;
16743 crsminu_th = crsminuA_th_rev5;
16744 nbclip_th = nbclipA_th_rev5;
16745 rssi_gain = rssiA_gain_rev5;
16746 } else if (NREV_IS(pi->pubpi.phy_rev, 4)) {
16747 lna1_gain_db = lna1A_gain_db_rev4;
16748 lna2_gain_db = lna2A_gain_db_rev4;
16749 tia_gain_db = tiaA_gain_db_rev4;
16750 tia_gainbits = tiaA_gainbits_rev4;
16751 if (pi->sh->boardflags & BFL_EXTLNA_5GHz) {
16754 rfseqA_init_gain_rev4_elna;
16756 initA_gaincode_rev4_elna;
16758 rfseq_init_gain = rfseqA_init_gain_rev4;
16759 init_gaincode = initA_gaincode_rev4;
16761 clip1hi_gaincode = clip1hiA_gaincode_rev4;
16762 clip1md_gaincode = clip1mdA_gaincode_rev4;
16763 clip1lo_gaincode = clip1loA_gaincode_rev4;
16764 crsmin_th = crsminA_th_rev4;
16765 crsminl_th = crsminlA_th_rev4;
16766 crsminu_th = crsminuA_th_rev4;
16767 nbclip_th = nbclipA_th_rev4;
16768 rssi_gain = rssi_gain_default;
16770 lna1_gain_db = lna1A_gain_db;
16771 lna2_gain_db = lna2A_gain_db;
16772 tia_gain_db = tiaA_gain_db;
16773 tia_gainbits = tiaA_gainbits;
16774 rfseq_init_gain = rfseqA_init_gain;
16775 init_gaincode = initA_gaincode;
16776 clip1hi_gaincode = clip1hiA_gaincode;
16777 clip1md_gaincode = clip1mdA_gaincode;
16778 clip1lo_gaincode = clip1loA_gaincode;
16779 crsmin_th = crsminA_th;
16780 crsminl_th = crsminlA_th;
16781 crsminu_th = crsminuA_th;
16782 nbclip_th = nbclipA_th;
16783 rssi_gain = rssi_gain_default;
16785 w1clip_th = w1clipA_th;
16788 write_radio_reg(pi,
16789 (RADIO_2056_RX_BIASPOLE_LNAG1_IDAC |
16790 RADIO_2056_RX0), 0x17);
16791 write_radio_reg(pi,
16792 (RADIO_2056_RX_BIASPOLE_LNAG1_IDAC |
16793 RADIO_2056_RX1), 0x17);
16795 write_radio_reg(pi, (RADIO_2056_RX_LNAG2_IDAC | RADIO_2056_RX0),
16797 write_radio_reg(pi, (RADIO_2056_RX_LNAG2_IDAC | RADIO_2056_RX1),
16800 write_radio_reg(pi, (RADIO_2056_RX_RSSI_POLE | RADIO_2056_RX0),
16802 write_radio_reg(pi, (RADIO_2056_RX_RSSI_POLE | RADIO_2056_RX1),
16805 write_radio_reg(pi, (RADIO_2056_RX_RSSI_GAIN | RADIO_2056_RX0),
16807 write_radio_reg(pi, (RADIO_2056_RX_RSSI_GAIN | RADIO_2056_RX1),
16810 write_radio_reg(pi,
16811 (RADIO_2056_RX_BIASPOLE_LNAA1_IDAC |
16812 RADIO_2056_RX0), 0x17);
16813 write_radio_reg(pi,
16814 (RADIO_2056_RX_BIASPOLE_LNAA1_IDAC |
16815 RADIO_2056_RX1), 0x17);
16817 write_radio_reg(pi, (RADIO_2056_RX_LNAA2_IDAC | RADIO_2056_RX0),
16819 write_radio_reg(pi, (RADIO_2056_RX_LNAA2_IDAC | RADIO_2056_RX1),
16822 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 8,
16824 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 8,
16827 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 0x10,
16829 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 0x10,
16832 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 10, 0x20,
16834 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 10, 0x20,
16837 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS1, 10, 0x20,
16839 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS2, 10, 0x20,
16842 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 6, 0x40,
16844 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 6, 0x40,
16846 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS1, 6, 0x40,
16848 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS2, 6, 0x40,
16851 write_phy_reg(pi, 0x20, init_gaincode);
16852 write_phy_reg(pi, 0x2a7, init_gaincode);
16854 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
16855 pi->pubpi.phy_corenum, 0x106, 16,
16858 write_phy_reg(pi, 0x22, clip1hi_gaincode);
16859 write_phy_reg(pi, 0x2a9, clip1hi_gaincode);
16861 write_phy_reg(pi, 0x24, clip1md_gaincode);
16862 write_phy_reg(pi, 0x2ab, clip1md_gaincode);
16864 write_phy_reg(pi, 0x37, clip1lo_gaincode);
16865 write_phy_reg(pi, 0x2ad, clip1lo_gaincode);
16867 mod_phy_reg(pi, 0x27d, (0xff << 0), (crsmin_th << 0));
16868 mod_phy_reg(pi, 0x280, (0xff << 0), (crsminl_th << 0));
16869 mod_phy_reg(pi, 0x283, (0xff << 0), (crsminu_th << 0));
16871 write_phy_reg(pi, 0x2b, nbclip_th);
16872 write_phy_reg(pi, 0x41, nbclip_th);
16874 mod_phy_reg(pi, 0x27, (0x3f << 0), (w1clip_th << 0));
16875 mod_phy_reg(pi, 0x3d, (0x3f << 0), (w1clip_th << 0));
16877 write_phy_reg(pi, 0x150, 0x809c);
16881 mod_phy_reg(pi, 0x1c, (0x1 << 13), (1 << 13));
16882 mod_phy_reg(pi, 0x32, (0x1 << 13), (1 << 13));
16884 write_phy_reg(pi, 0x2b, 0x84);
16885 write_phy_reg(pi, 0x41, 0x84);
16887 if (CHSPEC_IS20(pi->radio_chanspec)) {
16888 write_phy_reg(pi, 0x6b, 0x2b);
16889 write_phy_reg(pi, 0x6c, 0x2b);
16890 write_phy_reg(pi, 0x6d, 0x9);
16891 write_phy_reg(pi, 0x6e, 0x9);
16894 w1th = NPHY_RSSICAL_W1_TARGET - 4;
16895 mod_phy_reg(pi, 0x27, (0x3f << 0), (w1th << 0));
16896 mod_phy_reg(pi, 0x3d, (0x3f << 0), (w1th << 0));
16898 if (CHSPEC_IS20(pi->radio_chanspec)) {
16899 mod_phy_reg(pi, 0x1c, (0x1f << 0), (0x1 << 0));
16900 mod_phy_reg(pi, 0x32, (0x1f << 0), (0x1 << 0));
16902 mod_phy_reg(pi, 0x1d, (0x1f << 0), (0x1 << 0));
16903 mod_phy_reg(pi, 0x33, (0x1f << 0), (0x1 << 0));
16906 write_phy_reg(pi, 0x150, 0x809c);
16908 if (pi->nphy_gain_boost)
16909 if ((CHSPEC_IS2G(pi->radio_chanspec)) &&
16910 (CHSPEC_IS40(pi->radio_chanspec)))
16914 else if (CHSPEC_IS40(pi->radio_chanspec))
16919 mod_phy_reg(pi, 0x20, (0x1f << 7), (hpf_code << 7));
16920 mod_phy_reg(pi, 0x36, (0x1f << 7), (hpf_code << 7));
16922 for (ctr = 0; ctr < 4; ctr++) {
16923 regval[ctr] = (hpf_code << 8) | 0x7c;
16925 wlc_phy_table_write_nphy(pi, 7, 4, 0x106, 16, regval);
16927 wlc_phy_adjust_lnagaintbl_nphy(pi);
16929 if (pi->nphy_elna_gain_config) {
16934 wlc_phy_table_write_nphy(pi, 2, 4, 8, 16, regval);
16935 wlc_phy_table_write_nphy(pi, 3, 4, 8, 16, regval);
16937 for (ctr = 0; ctr < 4; ctr++) {
16938 regval[ctr] = (hpf_code << 8) | 0x74;
16940 wlc_phy_table_write_nphy(pi, 7, 4, 0x106, 16, regval);
16943 if (NREV_IS(pi->pubpi.phy_rev, 2)) {
16944 for (ctr = 0; ctr < 21; ctr++) {
16945 regval[ctr] = 3 * ctr;
16947 wlc_phy_table_write_nphy(pi, 0, 21, 32, 16, regval);
16948 wlc_phy_table_write_nphy(pi, 1, 21, 32, 16, regval);
16950 for (ctr = 0; ctr < 21; ctr++) {
16951 regval[ctr] = (u16) ctr;
16953 wlc_phy_table_write_nphy(pi, 2, 21, 32, 16, regval);
16954 wlc_phy_table_write_nphy(pi, 3, 21, 32, 16, regval);
16957 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_UPDATEGAINU,
16958 rfseq_updategainu_events,
16959 rfseq_updategainu_dlys,
16960 sizeof(rfseq_updategainu_events) /
16961 sizeof(rfseq_updategainu_events[0]));
16963 mod_phy_reg(pi, 0x153, (0xff << 8), (90 << 8));
16965 if (CHSPEC_IS2G(pi->radio_chanspec))
16967 (NPHY_TO_BPHY_OFF + BPHY_OPTIONAL_MODES),
16972 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev5(phy_info_t *pi)
16974 s8 lna1_gain_db[] = { 8, 13, 17, 22 };
16975 s8 lna2_gain_db[] = { -2, 7, 11, 15 };
16976 s8 tia_gain_db[] = { -4, -1, 2, 5, 5, 5, 5, 5, 5, 5 };
16977 s8 tia_gainbits[] = {
16978 0x0, 0x01, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03 };
16980 mod_phy_reg(pi, 0x1c, (0x1 << 13), (1 << 13));
16981 mod_phy_reg(pi, 0x32, (0x1 << 13), (1 << 13));
16983 mod_phy_reg(pi, 0x289, (0xff << 0), (0x46 << 0));
16985 mod_phy_reg(pi, 0x283, (0xff << 0), (0x3c << 0));
16986 mod_phy_reg(pi, 0x280, (0xff << 0), (0x3c << 0));
16988 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 0x8, 8,
16990 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 0x8, 8,
16993 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 0x10, 8,
16995 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 0x10, 8,
16998 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 10, 0x20, 8,
17000 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 10, 0x20, 8,
17003 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS1, 10, 0x20, 8,
17005 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS2, 10, 0x20, 8,
17008 write_phy_reg(pi, 0x37, 0x74);
17009 write_phy_reg(pi, 0x2ad, 0x74);
17010 write_phy_reg(pi, 0x38, 0x18);
17011 write_phy_reg(pi, 0x2ae, 0x18);
17013 write_phy_reg(pi, 0x2b, 0xe8);
17014 write_phy_reg(pi, 0x41, 0xe8);
17016 if (CHSPEC_IS20(pi->radio_chanspec)) {
17018 mod_phy_reg(pi, 0x300, (0x3f << 0), (0x12 << 0));
17019 mod_phy_reg(pi, 0x301, (0x3f << 0), (0x12 << 0));
17022 mod_phy_reg(pi, 0x300, (0x3f << 0), (0x10 << 0));
17023 mod_phy_reg(pi, 0x301, (0x3f << 0), (0x10 << 0));
17027 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev6(phy_info_t *pi)
17030 s8 lna1G_gain_db_rev7[] = { 9, 14, 19, 24 };
17031 s8 *lna1_gain_db = NULL;
17032 s8 *lna1_gain_db_2 = NULL;
17033 s8 *lna2_gain_db = NULL;
17034 s8 tiaA_gain_db_rev7[] = { -9, -6, -3, 0, 3, 3, 3, 3, 3, 3 };
17036 s8 tiaA_gainbits_rev7[] = { 0, 1, 2, 3, 4, 4, 4, 4, 4, 4 };
17038 u16 rfseqA_init_gain_rev7[] = { 0x624f, 0x624f };
17039 u16 *rfseq_init_gain;
17041 u16 clip1hi_gaincode;
17042 u16 clip1md_gaincode = 0;
17043 u16 clip1md_gaincode_B;
17044 u16 clip1lo_gaincode;
17045 u16 clip1lo_gaincode_B;
17051 s8 nvar_baseline_offset0 = 0, nvar_baseline_offset1 = 0;
17052 u8 chg_nbclip_th = 0;
17054 mod_phy_reg(pi, 0x1c, (0x1 << 13), (1 << 13));
17055 mod_phy_reg(pi, 0x32, (0x1 << 13), (1 << 13));
17057 currband = read_phy_reg(pi, 0x09) & NPHY_BandControl_currentBand;
17058 if (currband == 0) {
17060 lna1_gain_db = lna1G_gain_db_rev7;
17062 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 8, 8,
17064 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 8, 8,
17067 mod_phy_reg(pi, 0x283, (0xff << 0), (0x40 << 0));
17069 if (CHSPEC_IS40(pi->radio_chanspec)) {
17070 mod_phy_reg(pi, 0x280, (0xff << 0), (0x3e << 0));
17071 mod_phy_reg(pi, 0x283, (0xff << 0), (0x3e << 0));
17074 mod_phy_reg(pi, 0x289, (0xff << 0), (0x46 << 0));
17076 if (CHSPEC_IS20(pi->radio_chanspec)) {
17077 mod_phy_reg(pi, 0x300, (0x3f << 0), (13 << 0));
17078 mod_phy_reg(pi, 0x301, (0x3f << 0), (13 << 0));
17082 init_gaincode = 0x9e;
17083 clip1hi_gaincode = 0x9e;
17084 clip1md_gaincode_B = 0x24;
17085 clip1lo_gaincode = 0x8a;
17086 clip1lo_gaincode_B = 8;
17087 rfseq_init_gain = rfseqA_init_gain_rev7;
17089 tia_gain_db = tiaA_gain_db_rev7;
17090 tia_gainbits = tiaA_gainbits_rev7;
17092 freq = CHAN5G_FREQ(CHSPEC_CHANNEL(pi->radio_chanspec));
17093 if (CHSPEC_IS20(pi->radio_chanspec)) {
17096 clip1md_gaincode = 0x82;
17098 if ((freq <= 5080) || (freq == 5825)) {
17100 s8 lna1A_gain_db_rev7[] = { 11, 16, 20, 24 };
17101 s8 lna1A_gain_db_2_rev7[] = {
17103 s8 lna2A_gain_db_rev7[] = { -1, 6, 10, 14 };
17106 lna1_gain_db = lna1A_gain_db_rev7;
17107 lna1_gain_db_2 = lna1A_gain_db_2_rev7;
17108 lna2_gain_db = lna2A_gain_db_rev7;
17109 } else if ((freq >= 5500) && (freq <= 5700)) {
17111 s8 lna1A_gain_db_rev7[] = { 11, 17, 21, 25 };
17112 s8 lna1A_gain_db_2_rev7[] = {
17114 s8 lna2A_gain_db_rev7[] = { 1, 8, 12, 16 };
17117 clip1md_gaincode_B = 0x14;
17120 lna1_gain_db = lna1A_gain_db_rev7;
17121 lna1_gain_db_2 = lna1A_gain_db_2_rev7;
17122 lna2_gain_db = lna2A_gain_db_rev7;
17125 s8 lna1A_gain_db_rev7[] = { 12, 18, 22, 26 };
17126 s8 lna1A_gain_db_2_rev7[] = {
17128 s8 lna2A_gain_db_rev7[] = { -1, 6, 10, 14 };
17131 lna1_gain_db = lna1A_gain_db_rev7;
17132 lna1_gain_db_2 = lna1A_gain_db_2_rev7;
17133 lna2_gain_db = lna2A_gain_db_rev7;
17136 if (freq <= 4920) {
17137 nvar_baseline_offset0 = 5;
17138 nvar_baseline_offset1 = 5;
17139 } else if ((freq > 4920) && (freq <= 5320)) {
17140 nvar_baseline_offset0 = 3;
17141 nvar_baseline_offset1 = 5;
17142 } else if ((freq > 5320) && (freq <= 5700)) {
17143 nvar_baseline_offset0 = 3;
17144 nvar_baseline_offset1 = 2;
17146 nvar_baseline_offset0 = 4;
17147 nvar_baseline_offset1 = 0;
17155 if ((freq >= 4920) && (freq <= 5320)) {
17156 nvar_baseline_offset0 = 4;
17157 nvar_baseline_offset1 = 5;
17158 } else if ((freq > 5320) && (freq <= 5550)) {
17159 nvar_baseline_offset0 = 4;
17160 nvar_baseline_offset1 = 2;
17162 nvar_baseline_offset0 = 5;
17163 nvar_baseline_offset1 = 3;
17167 write_phy_reg(pi, 0x20, init_gaincode);
17168 write_phy_reg(pi, 0x2a7, init_gaincode);
17170 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
17171 pi->pubpi.phy_corenum, 0x106, 16,
17174 write_phy_reg(pi, 0x22, clip1hi_gaincode);
17175 write_phy_reg(pi, 0x2a9, clip1hi_gaincode);
17177 write_phy_reg(pi, 0x36, clip1md_gaincode_B);
17178 write_phy_reg(pi, 0x2ac, clip1md_gaincode_B);
17180 write_phy_reg(pi, 0x37, clip1lo_gaincode);
17181 write_phy_reg(pi, 0x2ad, clip1lo_gaincode);
17182 write_phy_reg(pi, 0x38, clip1lo_gaincode_B);
17183 write_phy_reg(pi, 0x2ae, clip1lo_gaincode_B);
17185 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 10, 0x20, 8,
17187 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 10, 0x20, 8,
17190 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS1, 10, 0x20, 8,
17192 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS2, 10, 0x20, 8,
17195 mod_phy_reg(pi, 0x283, (0xff << 0), (crsminu_th << 0));
17197 if (chg_nbclip_th == 1) {
17198 write_phy_reg(pi, 0x2b, nbclip_th);
17199 write_phy_reg(pi, 0x41, nbclip_th);
17202 mod_phy_reg(pi, 0x300, (0x3f << 0), (w1clip_th << 0));
17203 mod_phy_reg(pi, 0x301, (0x3f << 0), (w1clip_th << 0));
17205 mod_phy_reg(pi, 0x2e4,
17206 (0x3f << 0), (nvar_baseline_offset0 << 0));
17208 mod_phy_reg(pi, 0x2e4,
17209 (0x3f << 6), (nvar_baseline_offset1 << 6));
17211 if (CHSPEC_IS20(pi->radio_chanspec)) {
17213 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 8, 8,
17215 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 8, 8,
17218 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 0x10,
17220 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 0x10,
17223 write_phy_reg(pi, 0x24, clip1md_gaincode);
17224 write_phy_reg(pi, 0x2ab, clip1md_gaincode);
17226 mod_phy_reg(pi, 0x280, (0xff << 0), (crsminl_th << 0));
17233 static void wlc_phy_adjust_lnagaintbl_nphy(phy_info_t *pi)
17239 u16 minmax_gain[2];
17242 if (pi->phyhang_avoid)
17243 wlc_phy_stay_in_carriersearch_nphy(pi, true);
17245 if (pi->nphy_gain_boost) {
17246 if ((CHSPEC_IS2G(pi->radio_chanspec))) {
17252 curr_channel = CHSPEC_CHANNEL(pi->radio_chanspec);
17255 PHY_HW_ROUND(((nphy_lnagain_est0[0] *
17257 nphy_lnagain_est0[1]), 13);
17260 PHY_HW_ROUND(((nphy_lnagain_est1[0] *
17262 nphy_lnagain_est1[1]), 13);
17270 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
17271 if (pi->nphy_elna_gain_config) {
17273 regval[0] = nphy_def_lnagains[2] + gain_delta[core];
17274 regval[1] = nphy_def_lnagains[3] + gain_delta[core];
17275 regval[2] = nphy_def_lnagains[3] + gain_delta[core];
17276 regval[3] = nphy_def_lnagains[3] + gain_delta[core];
17278 for (ctr = 0; ctr < 4; ctr++) {
17280 nphy_def_lnagains[ctr] + gain_delta[core];
17283 wlc_phy_table_write_nphy(pi, core, 4, 8, 16, regval);
17285 minmax_gain[core] =
17286 (u16) (nphy_def_lnagains[2] + gain_delta[core] + 4);
17289 mod_phy_reg(pi, 0x1e, (0xff << 0), (minmax_gain[0] << 0));
17290 mod_phy_reg(pi, 0x34, (0xff << 0), (minmax_gain[1] << 0));
17292 if (pi->phyhang_avoid)
17293 wlc_phy_stay_in_carriersearch_nphy(pi, false);
17296 void wlc_phy_switch_radio_nphy(phy_info_t *pi, bool on)
17299 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
17300 if (!pi->radio_is_on) {
17301 wlc_phy_radio_preinit_205x(pi);
17302 wlc_phy_radio_init_2057(pi);
17303 wlc_phy_radio_postinit_2057(pi);
17306 wlc_phy_chanspec_set((wlc_phy_t *) pi,
17307 pi->radio_chanspec);
17308 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
17309 wlc_phy_radio_preinit_205x(pi);
17310 wlc_phy_radio_init_2056(pi);
17311 wlc_phy_radio_postinit_2056(pi);
17313 wlc_phy_chanspec_set((wlc_phy_t *) pi,
17314 pi->radio_chanspec);
17316 wlc_phy_radio_preinit_2055(pi);
17317 wlc_phy_radio_init_2055(pi);
17318 wlc_phy_radio_postinit_2055(pi);
17321 pi->radio_is_on = true;
17325 if (NREV_GE(pi->pubpi.phy_rev, 3)
17326 && NREV_LT(pi->pubpi.phy_rev, 7)) {
17327 and_phy_reg(pi, 0x78, ~RFCC_CHIP0_PU);
17328 mod_radio_reg(pi, RADIO_2056_SYN_COM_PU, 0x2, 0x0);
17330 write_radio_reg(pi,
17331 RADIO_2056_TX_PADA_BOOST_TUNE |
17332 RADIO_2056_TX0, 0);
17333 write_radio_reg(pi,
17334 RADIO_2056_TX_PADG_BOOST_TUNE |
17335 RADIO_2056_TX0, 0);
17336 write_radio_reg(pi,
17337 RADIO_2056_TX_PGAA_BOOST_TUNE |
17338 RADIO_2056_TX0, 0);
17339 write_radio_reg(pi,
17340 RADIO_2056_TX_PGAG_BOOST_TUNE |
17341 RADIO_2056_TX0, 0);
17343 RADIO_2056_TX_MIXA_BOOST_TUNE |
17344 RADIO_2056_TX0, 0xf0, 0);
17345 write_radio_reg(pi,
17346 RADIO_2056_TX_MIXG_BOOST_TUNE |
17347 RADIO_2056_TX0, 0);
17349 write_radio_reg(pi,
17350 RADIO_2056_TX_PADA_BOOST_TUNE |
17351 RADIO_2056_TX1, 0);
17352 write_radio_reg(pi,
17353 RADIO_2056_TX_PADG_BOOST_TUNE |
17354 RADIO_2056_TX1, 0);
17355 write_radio_reg(pi,
17356 RADIO_2056_TX_PGAA_BOOST_TUNE |
17357 RADIO_2056_TX1, 0);
17358 write_radio_reg(pi,
17359 RADIO_2056_TX_PGAG_BOOST_TUNE |
17360 RADIO_2056_TX1, 0);
17362 RADIO_2056_TX_MIXA_BOOST_TUNE |
17363 RADIO_2056_TX1, 0xf0, 0);
17364 write_radio_reg(pi,
17365 RADIO_2056_TX_MIXG_BOOST_TUNE |
17366 RADIO_2056_TX1, 0);
17368 pi->radio_is_on = false;
17371 if (NREV_GE(pi->pubpi.phy_rev, 8)) {
17372 and_phy_reg(pi, 0x78, ~RFCC_CHIP0_PU);
17373 pi->radio_is_on = false;
17379 static void wlc_phy_radio_preinit_2055(phy_info_t *pi)
17382 and_phy_reg(pi, 0x78, ~RFCC_POR_FORCE);
17383 or_phy_reg(pi, 0x78, RFCC_CHIP0_PU | RFCC_OE_POR_FORCE);
17385 or_phy_reg(pi, 0x78, RFCC_POR_FORCE);
17388 static void wlc_phy_radio_init_2055(phy_info_t *pi)
17390 wlc_phy_init_radio_regs(pi, regs_2055, RADIO_DEFAULT_CORE);
17393 static void wlc_phy_radio_postinit_2055(phy_info_t *pi)
17396 and_radio_reg(pi, RADIO_2055_MASTER_CNTRL1,
17397 ~(RADIO_2055_JTAGCTRL_MASK | RADIO_2055_JTAGSYNC_MASK));
17399 if (((pi->sh->sromrev >= 4)
17400 && !(pi->sh->boardflags2 & BFL2_RXBB_INT_REG_DIS))
17401 || ((pi->sh->sromrev < 4))) {
17402 and_radio_reg(pi, RADIO_2055_CORE1_RXBB_REGULATOR, 0x7F);
17403 and_radio_reg(pi, RADIO_2055_CORE2_RXBB_REGULATOR, 0x7F);
17406 mod_radio_reg(pi, RADIO_2055_RRCCAL_N_OPT_SEL, 0x3F, 0x2C);
17407 write_radio_reg(pi, RADIO_2055_CAL_MISC, 0x3C);
17409 and_radio_reg(pi, RADIO_2055_CAL_MISC,
17410 ~(RADIO_2055_RRCAL_START | RADIO_2055_RRCAL_RST_N));
17412 or_radio_reg(pi, RADIO_2055_CAL_LPO_CNTRL, RADIO_2055_CAL_LPO_ENABLE);
17414 or_radio_reg(pi, RADIO_2055_CAL_MISC, RADIO_2055_RRCAL_RST_N);
17418 or_radio_reg(pi, RADIO_2055_CAL_MISC, RADIO_2055_RRCAL_START);
17420 SPINWAIT(((read_radio_reg(pi, RADIO_2055_CAL_COUNTER_OUT2) &
17421 RADIO_2055_RCAL_DONE) != RADIO_2055_RCAL_DONE), 2000);
17423 ASSERT((read_radio_reg(pi, RADIO_2055_CAL_COUNTER_OUT2) &
17424 RADIO_2055_RCAL_DONE) == RADIO_2055_RCAL_DONE);
17426 and_radio_reg(pi, RADIO_2055_CAL_LPO_CNTRL,
17427 ~(RADIO_2055_CAL_LPO_ENABLE));
17429 wlc_phy_chanspec_set((wlc_phy_t *) pi, pi->radio_chanspec);
17431 write_radio_reg(pi, RADIO_2055_CORE1_RXBB_LPF, 9);
17432 write_radio_reg(pi, RADIO_2055_CORE2_RXBB_LPF, 9);
17434 write_radio_reg(pi, RADIO_2055_CORE1_RXBB_MIDAC_HIPAS, 0x83);
17435 write_radio_reg(pi, RADIO_2055_CORE2_RXBB_MIDAC_HIPAS, 0x83);
17437 mod_radio_reg(pi, RADIO_2055_CORE1_LNA_GAINBST,
17438 RADIO_2055_GAINBST_VAL_MASK, RADIO_2055_GAINBST_CODE);
17439 mod_radio_reg(pi, RADIO_2055_CORE2_LNA_GAINBST,
17440 RADIO_2055_GAINBST_VAL_MASK, RADIO_2055_GAINBST_CODE);
17441 if (pi->nphy_gain_boost) {
17442 and_radio_reg(pi, RADIO_2055_CORE1_RXRF_SPC1,
17443 ~(RADIO_2055_GAINBST_DISABLE));
17444 and_radio_reg(pi, RADIO_2055_CORE2_RXRF_SPC1,
17445 ~(RADIO_2055_GAINBST_DISABLE));
17447 or_radio_reg(pi, RADIO_2055_CORE1_RXRF_SPC1,
17448 RADIO_2055_GAINBST_DISABLE);
17449 or_radio_reg(pi, RADIO_2055_CORE2_RXRF_SPC1,
17450 RADIO_2055_GAINBST_DISABLE);
17456 static void wlc_phy_radio_preinit_205x(phy_info_t *pi)
17459 and_phy_reg(pi, 0x78, ~RFCC_CHIP0_PU);
17460 and_phy_reg(pi, 0x78, RFCC_OE_POR_FORCE);
17462 or_phy_reg(pi, 0x78, ~RFCC_OE_POR_FORCE);
17463 or_phy_reg(pi, 0x78, RFCC_CHIP0_PU);
17467 static void wlc_phy_radio_init_2056(phy_info_t *pi)
17469 radio_regs_t *regs_SYN_2056_ptr = NULL;
17470 radio_regs_t *regs_TX_2056_ptr = NULL;
17471 radio_regs_t *regs_RX_2056_ptr = NULL;
17473 if (NREV_IS(pi->pubpi.phy_rev, 3)) {
17474 regs_SYN_2056_ptr = regs_SYN_2056;
17475 regs_TX_2056_ptr = regs_TX_2056;
17476 regs_RX_2056_ptr = regs_RX_2056;
17477 } else if (NREV_IS(pi->pubpi.phy_rev, 4)) {
17478 regs_SYN_2056_ptr = regs_SYN_2056_A1;
17479 regs_TX_2056_ptr = regs_TX_2056_A1;
17480 regs_RX_2056_ptr = regs_RX_2056_A1;
17482 switch (pi->pubpi.radiorev) {
17484 regs_SYN_2056_ptr = regs_SYN_2056_rev5;
17485 regs_TX_2056_ptr = regs_TX_2056_rev5;
17486 regs_RX_2056_ptr = regs_RX_2056_rev5;
17490 regs_SYN_2056_ptr = regs_SYN_2056_rev6;
17491 regs_TX_2056_ptr = regs_TX_2056_rev6;
17492 regs_RX_2056_ptr = regs_RX_2056_rev6;
17497 regs_SYN_2056_ptr = regs_SYN_2056_rev7;
17498 regs_TX_2056_ptr = regs_TX_2056_rev7;
17499 regs_RX_2056_ptr = regs_RX_2056_rev7;
17503 regs_SYN_2056_ptr = regs_SYN_2056_rev8;
17504 regs_TX_2056_ptr = regs_TX_2056_rev8;
17505 regs_RX_2056_ptr = regs_RX_2056_rev8;
17509 regs_SYN_2056_ptr = regs_SYN_2056_rev11;
17510 regs_TX_2056_ptr = regs_TX_2056_rev11;
17511 regs_RX_2056_ptr = regs_RX_2056_rev11;
17520 wlc_phy_init_radio_regs(pi, regs_SYN_2056_ptr, (u16) RADIO_2056_SYN);
17522 wlc_phy_init_radio_regs(pi, regs_TX_2056_ptr, (u16) RADIO_2056_TX0);
17524 wlc_phy_init_radio_regs(pi, regs_TX_2056_ptr, (u16) RADIO_2056_TX1);
17526 wlc_phy_init_radio_regs(pi, regs_RX_2056_ptr, (u16) RADIO_2056_RX0);
17528 wlc_phy_init_radio_regs(pi, regs_RX_2056_ptr, (u16) RADIO_2056_RX1);
17531 static void wlc_phy_radio_postinit_2056(phy_info_t *pi)
17533 mod_radio_reg(pi, RADIO_2056_SYN_COM_CTRL, 0xb, 0xb);
17535 mod_radio_reg(pi, RADIO_2056_SYN_COM_PU, 0x2, 0x2);
17536 mod_radio_reg(pi, RADIO_2056_SYN_COM_RESET, 0x2, 0x2);
17538 mod_radio_reg(pi, RADIO_2056_SYN_COM_RESET, 0x2, 0x0);
17540 if ((pi->sh->boardflags2 & BFL2_LEGACY)
17541 || (pi->sh->boardflags2 & BFL2_XTALBUFOUTEN)) {
17543 mod_radio_reg(pi, RADIO_2056_SYN_PLL_MAST2, 0xf4, 0x0);
17546 mod_radio_reg(pi, RADIO_2056_SYN_PLL_MAST2, 0xfc, 0x0);
17549 mod_radio_reg(pi, RADIO_2056_SYN_RCCAL_CTRL0, 0x1, 0x0);
17551 if (pi->phy_init_por) {
17552 wlc_phy_radio205x_rcal(pi);
17556 static void wlc_phy_radio_init_2057(phy_info_t *pi)
17558 radio_20xx_regs_t *regs_2057_ptr = NULL;
17560 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
17562 regs_2057_ptr = regs_2057_rev4;
17563 } else if (NREV_IS(pi->pubpi.phy_rev, 8)
17564 || NREV_IS(pi->pubpi.phy_rev, 9)) {
17565 switch (pi->pubpi.radiorev) {
17568 if (pi->pubpi.radiover == 0x0) {
17570 regs_2057_ptr = regs_2057_rev5;
17572 } else if (pi->pubpi.radiover == 0x1) {
17574 regs_2057_ptr = regs_2057_rev5v1;
17582 regs_2057_ptr = regs_2057_rev7;
17587 regs_2057_ptr = regs_2057_rev8;
17598 wlc_phy_init_radio_regs_allbands(pi, regs_2057_ptr);
17601 static void wlc_phy_radio_postinit_2057(phy_info_t *pi)
17604 mod_radio_reg(pi, RADIO_2057_XTALPUOVR_PINCTRL, 0x1, 0x1);
17606 if (pi->sh->chip == !BCM6362_CHIP_ID) {
17608 mod_radio_reg(pi, RADIO_2057_XTALPUOVR_PINCTRL, 0x2, 0x2);
17611 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_CAL_RESETN, 0x78, 0x78);
17612 mod_radio_reg(pi, RADIO_2057_XTAL_CONFIG2, 0x80, 0x80);
17614 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_CAL_RESETN, 0x78, 0x0);
17615 mod_radio_reg(pi, RADIO_2057_XTAL_CONFIG2, 0x80, 0x0);
17617 if (pi->phy_init_por) {
17618 wlc_phy_radio205x_rcal(pi);
17619 wlc_phy_radio2057_rccal(pi);
17622 mod_radio_reg(pi, RADIO_2057_RFPLL_MASTER, 0x8, 0x0);
17626 wlc_phy_chan2freq_nphy(phy_info_t *pi, uint channel, int *f,
17627 chan_info_nphy_radio2057_t **t0,
17628 chan_info_nphy_radio205x_t **t1,
17629 chan_info_nphy_radio2057_rev5_t **t2,
17630 chan_info_nphy_2055_t **t3)
17633 chan_info_nphy_radio2057_t *chan_info_tbl_p_0 = NULL;
17634 chan_info_nphy_radio205x_t *chan_info_tbl_p_1 = NULL;
17635 chan_info_nphy_radio2057_rev5_t *chan_info_tbl_p_2 = NULL;
17640 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
17642 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
17644 chan_info_tbl_p_0 = chan_info_nphyrev7_2057_rev4;
17645 tbl_len = ARRAY_SIZE(chan_info_nphyrev7_2057_rev4);
17647 } else if (NREV_IS(pi->pubpi.phy_rev, 8)
17648 || NREV_IS(pi->pubpi.phy_rev, 9)) {
17649 switch (pi->pubpi.radiorev) {
17653 if (pi->pubpi.radiover == 0x0) {
17655 chan_info_tbl_p_2 =
17656 chan_info_nphyrev8_2057_rev5;
17659 (chan_info_nphyrev8_2057_rev5);
17661 } else if (pi->pubpi.radiover == 0x1) {
17663 chan_info_tbl_p_2 =
17664 chan_info_nphyrev9_2057_rev5v1;
17667 (chan_info_nphyrev9_2057_rev5v1);
17673 chan_info_tbl_p_0 =
17674 chan_info_nphyrev8_2057_rev7;
17676 ARRAY_SIZE(chan_info_nphyrev8_2057_rev7);
17680 chan_info_tbl_p_0 =
17681 chan_info_nphyrev8_2057_rev8;
17683 ARRAY_SIZE(chan_info_nphyrev8_2057_rev8);
17687 if (NORADIO_ENAB(pi->pubpi)) {
17692 } else if (NREV_IS(pi->pubpi.phy_rev, 16)) {
17694 chan_info_tbl_p_0 = chan_info_nphyrev8_2057_rev8;
17695 tbl_len = ARRAY_SIZE(chan_info_nphyrev8_2057_rev8);
17700 for (i = 0; i < tbl_len; i++) {
17701 if (pi->pubpi.radiorev == 5) {
17703 if (chan_info_tbl_p_2[i].chan == channel)
17707 if (chan_info_tbl_p_0[i].chan == channel)
17712 if (i >= tbl_len) {
17713 ASSERT(i < tbl_len);
17716 if (pi->pubpi.radiorev == 5) {
17717 *t2 = &chan_info_tbl_p_2[i];
17718 freq = chan_info_tbl_p_2[i].freq;
17720 *t0 = &chan_info_tbl_p_0[i];
17721 freq = chan_info_tbl_p_0[i].freq;
17724 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
17725 if (NREV_IS(pi->pubpi.phy_rev, 3)) {
17726 chan_info_tbl_p_1 = chan_info_nphyrev3_2056;
17727 tbl_len = ARRAY_SIZE(chan_info_nphyrev3_2056);
17728 } else if (NREV_IS(pi->pubpi.phy_rev, 4)) {
17729 chan_info_tbl_p_1 = chan_info_nphyrev4_2056_A1;
17730 tbl_len = ARRAY_SIZE(chan_info_nphyrev4_2056_A1);
17731 } else if (NREV_IS(pi->pubpi.phy_rev, 5)
17732 || NREV_IS(pi->pubpi.phy_rev, 6)) {
17733 switch (pi->pubpi.radiorev) {
17735 chan_info_tbl_p_1 = chan_info_nphyrev5_2056v5;
17736 tbl_len = ARRAY_SIZE(chan_info_nphyrev5_2056v5);
17739 chan_info_tbl_p_1 = chan_info_nphyrev6_2056v6;
17740 tbl_len = ARRAY_SIZE(chan_info_nphyrev6_2056v6);
17744 chan_info_tbl_p_1 = chan_info_nphyrev5n6_2056v7;
17746 ARRAY_SIZE(chan_info_nphyrev5n6_2056v7);
17749 chan_info_tbl_p_1 = chan_info_nphyrev6_2056v8;
17750 tbl_len = ARRAY_SIZE(chan_info_nphyrev6_2056v8);
17753 chan_info_tbl_p_1 = chan_info_nphyrev6_2056v11;
17754 tbl_len = ARRAY_SIZE(chan_info_nphyrev6_2056v11);
17757 if (NORADIO_ENAB(pi->pubpi)) {
17764 for (i = 0; i < tbl_len; i++) {
17765 if (chan_info_tbl_p_1[i].chan == channel)
17769 if (i >= tbl_len) {
17770 ASSERT(i < tbl_len);
17773 *t1 = &chan_info_tbl_p_1[i];
17774 freq = chan_info_tbl_p_1[i].freq;
17777 for (i = 0; i < ARRAY_SIZE(chan_info_nphy_2055); i++)
17778 if (chan_info_nphy_2055[i].chan == channel)
17781 if (i >= ARRAY_SIZE(chan_info_nphy_2055)) {
17782 ASSERT(i < ARRAY_SIZE(chan_info_nphy_2055));
17785 *t3 = &chan_info_nphy_2055[i];
17786 freq = chan_info_nphy_2055[i].freq;
17793 *f = WL_CHAN_FREQ_RANGE_2G;
17797 u8 wlc_phy_get_chan_freq_range_nphy(phy_info_t *pi, uint channel)
17800 chan_info_nphy_radio2057_t *t0 = NULL;
17801 chan_info_nphy_radio205x_t *t1 = NULL;
17802 chan_info_nphy_radio2057_rev5_t *t2 = NULL;
17803 chan_info_nphy_2055_t *t3 = NULL;
17805 if (NORADIO_ENAB(pi->pubpi))
17806 return WL_CHAN_FREQ_RANGE_2G;
17809 channel = CHSPEC_CHANNEL(pi->radio_chanspec);
17811 wlc_phy_chan2freq_nphy(pi, channel, &freq, &t0, &t1, &t2, &t3);
17813 if (CHSPEC_IS2G(pi->radio_chanspec))
17814 return WL_CHAN_FREQ_RANGE_2G;
17816 if ((freq >= BASE_LOW_5G_CHAN) && (freq < BASE_MID_5G_CHAN)) {
17817 return WL_CHAN_FREQ_RANGE_5GL;
17818 } else if ((freq >= BASE_MID_5G_CHAN) && (freq < BASE_HIGH_5G_CHAN)) {
17819 return WL_CHAN_FREQ_RANGE_5GM;
17821 return WL_CHAN_FREQ_RANGE_5GH;
17826 wlc_phy_chanspec_radio2055_setup(phy_info_t *pi, chan_info_nphy_2055_t *ci)
17829 write_radio_reg(pi, RADIO_2055_PLL_REF, ci->RF_pll_ref);
17830 write_radio_reg(pi, RADIO_2055_RF_PLL_MOD0, ci->RF_rf_pll_mod0);
17831 write_radio_reg(pi, RADIO_2055_RF_PLL_MOD1, ci->RF_rf_pll_mod1);
17832 write_radio_reg(pi, RADIO_2055_VCO_CAP_TAIL, ci->RF_vco_cap_tail);
17834 WLC_PHY_WAR_PR51571(pi);
17836 write_radio_reg(pi, RADIO_2055_VCO_CAL1, ci->RF_vco_cal1);
17837 write_radio_reg(pi, RADIO_2055_VCO_CAL2, ci->RF_vco_cal2);
17838 write_radio_reg(pi, RADIO_2055_PLL_LF_C1, ci->RF_pll_lf_c1);
17839 write_radio_reg(pi, RADIO_2055_PLL_LF_R1, ci->RF_pll_lf_r1);
17841 WLC_PHY_WAR_PR51571(pi);
17843 write_radio_reg(pi, RADIO_2055_PLL_LF_C2, ci->RF_pll_lf_c2);
17844 write_radio_reg(pi, RADIO_2055_LGBUF_CEN_BUF, ci->RF_lgbuf_cen_buf);
17845 write_radio_reg(pi, RADIO_2055_LGEN_TUNE1, ci->RF_lgen_tune1);
17846 write_radio_reg(pi, RADIO_2055_LGEN_TUNE2, ci->RF_lgen_tune2);
17848 WLC_PHY_WAR_PR51571(pi);
17850 write_radio_reg(pi, RADIO_2055_CORE1_LGBUF_A_TUNE,
17851 ci->RF_core1_lgbuf_a_tune);
17852 write_radio_reg(pi, RADIO_2055_CORE1_LGBUF_G_TUNE,
17853 ci->RF_core1_lgbuf_g_tune);
17854 write_radio_reg(pi, RADIO_2055_CORE1_RXRF_REG1, ci->RF_core1_rxrf_reg1);
17855 write_radio_reg(pi, RADIO_2055_CORE1_TX_PGA_PAD_TN,
17856 ci->RF_core1_tx_pga_pad_tn);
17858 WLC_PHY_WAR_PR51571(pi);
17860 write_radio_reg(pi, RADIO_2055_CORE1_TX_MX_BGTRIM,
17861 ci->RF_core1_tx_mx_bgtrim);
17862 write_radio_reg(pi, RADIO_2055_CORE2_LGBUF_A_TUNE,
17863 ci->RF_core2_lgbuf_a_tune);
17864 write_radio_reg(pi, RADIO_2055_CORE2_LGBUF_G_TUNE,
17865 ci->RF_core2_lgbuf_g_tune);
17866 write_radio_reg(pi, RADIO_2055_CORE2_RXRF_REG1, ci->RF_core2_rxrf_reg1);
17868 WLC_PHY_WAR_PR51571(pi);
17870 write_radio_reg(pi, RADIO_2055_CORE2_TX_PGA_PAD_TN,
17871 ci->RF_core2_tx_pga_pad_tn);
17872 write_radio_reg(pi, RADIO_2055_CORE2_TX_MX_BGTRIM,
17873 ci->RF_core2_tx_mx_bgtrim);
17877 write_radio_reg(pi, RADIO_2055_VCO_CAL10, 0x05);
17878 write_radio_reg(pi, RADIO_2055_VCO_CAL10, 0x45);
17880 WLC_PHY_WAR_PR51571(pi);
17882 write_radio_reg(pi, RADIO_2055_VCO_CAL10, 0x65);
17888 wlc_phy_chanspec_radio2056_setup(phy_info_t *pi,
17889 const chan_info_nphy_radio205x_t *ci)
17891 radio_regs_t *regs_SYN_2056_ptr = NULL;
17893 write_radio_reg(pi,
17894 RADIO_2056_SYN_PLL_VCOCAL1 | RADIO_2056_SYN,
17895 ci->RF_SYN_pll_vcocal1);
17896 write_radio_reg(pi, RADIO_2056_SYN_PLL_VCOCAL2 | RADIO_2056_SYN,
17897 ci->RF_SYN_pll_vcocal2);
17898 write_radio_reg(pi, RADIO_2056_SYN_PLL_REFDIV | RADIO_2056_SYN,
17899 ci->RF_SYN_pll_refdiv);
17900 write_radio_reg(pi, RADIO_2056_SYN_PLL_MMD2 | RADIO_2056_SYN,
17901 ci->RF_SYN_pll_mmd2);
17902 write_radio_reg(pi, RADIO_2056_SYN_PLL_MMD1 | RADIO_2056_SYN,
17903 ci->RF_SYN_pll_mmd1);
17904 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER1 | RADIO_2056_SYN,
17905 ci->RF_SYN_pll_loopfilter1);
17906 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER2 | RADIO_2056_SYN,
17907 ci->RF_SYN_pll_loopfilter2);
17908 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER3 | RADIO_2056_SYN,
17909 ci->RF_SYN_pll_loopfilter3);
17910 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER4 | RADIO_2056_SYN,
17911 ci->RF_SYN_pll_loopfilter4);
17912 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER5 | RADIO_2056_SYN,
17913 ci->RF_SYN_pll_loopfilter5);
17914 write_radio_reg(pi, RADIO_2056_SYN_RESERVED_ADDR27 | RADIO_2056_SYN,
17915 ci->RF_SYN_reserved_addr27);
17916 write_radio_reg(pi, RADIO_2056_SYN_RESERVED_ADDR28 | RADIO_2056_SYN,
17917 ci->RF_SYN_reserved_addr28);
17918 write_radio_reg(pi, RADIO_2056_SYN_RESERVED_ADDR29 | RADIO_2056_SYN,
17919 ci->RF_SYN_reserved_addr29);
17920 write_radio_reg(pi, RADIO_2056_SYN_LOGEN_VCOBUF1 | RADIO_2056_SYN,
17921 ci->RF_SYN_logen_VCOBUF1);
17922 write_radio_reg(pi, RADIO_2056_SYN_LOGEN_MIXER2 | RADIO_2056_SYN,
17923 ci->RF_SYN_logen_MIXER2);
17924 write_radio_reg(pi, RADIO_2056_SYN_LOGEN_BUF3 | RADIO_2056_SYN,
17925 ci->RF_SYN_logen_BUF3);
17926 write_radio_reg(pi, RADIO_2056_SYN_LOGEN_BUF4 | RADIO_2056_SYN,
17927 ci->RF_SYN_logen_BUF4);
17929 write_radio_reg(pi,
17930 RADIO_2056_RX_LNAA_TUNE | RADIO_2056_RX0,
17931 ci->RF_RX0_lnaa_tune);
17932 write_radio_reg(pi, RADIO_2056_RX_LNAG_TUNE | RADIO_2056_RX0,
17933 ci->RF_RX0_lnag_tune);
17934 write_radio_reg(pi, RADIO_2056_TX_INTPAA_BOOST_TUNE | RADIO_2056_TX0,
17935 ci->RF_TX0_intpaa_boost_tune);
17936 write_radio_reg(pi, RADIO_2056_TX_INTPAG_BOOST_TUNE | RADIO_2056_TX0,
17937 ci->RF_TX0_intpag_boost_tune);
17938 write_radio_reg(pi, RADIO_2056_TX_PADA_BOOST_TUNE | RADIO_2056_TX0,
17939 ci->RF_TX0_pada_boost_tune);
17940 write_radio_reg(pi, RADIO_2056_TX_PADG_BOOST_TUNE | RADIO_2056_TX0,
17941 ci->RF_TX0_padg_boost_tune);
17942 write_radio_reg(pi, RADIO_2056_TX_PGAA_BOOST_TUNE | RADIO_2056_TX0,
17943 ci->RF_TX0_pgaa_boost_tune);
17944 write_radio_reg(pi, RADIO_2056_TX_PGAG_BOOST_TUNE | RADIO_2056_TX0,
17945 ci->RF_TX0_pgag_boost_tune);
17946 write_radio_reg(pi, RADIO_2056_TX_MIXA_BOOST_TUNE | RADIO_2056_TX0,
17947 ci->RF_TX0_mixa_boost_tune);
17948 write_radio_reg(pi, RADIO_2056_TX_MIXG_BOOST_TUNE | RADIO_2056_TX0,
17949 ci->RF_TX0_mixg_boost_tune);
17951 write_radio_reg(pi,
17952 RADIO_2056_RX_LNAA_TUNE | RADIO_2056_RX1,
17953 ci->RF_RX1_lnaa_tune);
17954 write_radio_reg(pi, RADIO_2056_RX_LNAG_TUNE | RADIO_2056_RX1,
17955 ci->RF_RX1_lnag_tune);
17956 write_radio_reg(pi, RADIO_2056_TX_INTPAA_BOOST_TUNE | RADIO_2056_TX1,
17957 ci->RF_TX1_intpaa_boost_tune);
17958 write_radio_reg(pi, RADIO_2056_TX_INTPAG_BOOST_TUNE | RADIO_2056_TX1,
17959 ci->RF_TX1_intpag_boost_tune);
17960 write_radio_reg(pi, RADIO_2056_TX_PADA_BOOST_TUNE | RADIO_2056_TX1,
17961 ci->RF_TX1_pada_boost_tune);
17962 write_radio_reg(pi, RADIO_2056_TX_PADG_BOOST_TUNE | RADIO_2056_TX1,
17963 ci->RF_TX1_padg_boost_tune);
17964 write_radio_reg(pi, RADIO_2056_TX_PGAA_BOOST_TUNE | RADIO_2056_TX1,
17965 ci->RF_TX1_pgaa_boost_tune);
17966 write_radio_reg(pi, RADIO_2056_TX_PGAG_BOOST_TUNE | RADIO_2056_TX1,
17967 ci->RF_TX1_pgag_boost_tune);
17968 write_radio_reg(pi, RADIO_2056_TX_MIXA_BOOST_TUNE | RADIO_2056_TX1,
17969 ci->RF_TX1_mixa_boost_tune);
17970 write_radio_reg(pi, RADIO_2056_TX_MIXG_BOOST_TUNE | RADIO_2056_TX1,
17971 ci->RF_TX1_mixg_boost_tune);
17973 if (NREV_IS(pi->pubpi.phy_rev, 3))
17974 regs_SYN_2056_ptr = regs_SYN_2056;
17975 else if (NREV_IS(pi->pubpi.phy_rev, 4))
17976 regs_SYN_2056_ptr = regs_SYN_2056_A1;
17978 switch (pi->pubpi.radiorev) {
17980 regs_SYN_2056_ptr = regs_SYN_2056_rev5;
17983 regs_SYN_2056_ptr = regs_SYN_2056_rev6;
17987 regs_SYN_2056_ptr = regs_SYN_2056_rev7;
17990 regs_SYN_2056_ptr = regs_SYN_2056_rev8;
17993 regs_SYN_2056_ptr = regs_SYN_2056_rev11;
17997 if (CHSPEC_IS2G(pi->radio_chanspec)) {
17998 write_radio_reg(pi, RADIO_2056_SYN_PLL_CP2 |
18000 (u16) regs_SYN_2056_ptr[0x49 - 2].init_g);
18002 write_radio_reg(pi, RADIO_2056_SYN_PLL_CP2 |
18004 (u16) regs_SYN_2056_ptr[0x49 - 2].init_a);
18007 if (pi->sh->boardflags2 & BFL2_GPLL_WAR) {
18008 if (CHSPEC_IS2G(pi->radio_chanspec)) {
18009 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER1 |
18010 RADIO_2056_SYN, 0x1f);
18011 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER2 |
18012 RADIO_2056_SYN, 0x1f);
18014 if ((pi->sh->chip == BCM4716_CHIP_ID) ||
18015 (pi->sh->chip == BCM47162_CHIP_ID)) {
18017 write_radio_reg(pi,
18018 RADIO_2056_SYN_PLL_LOOPFILTER4 |
18019 RADIO_2056_SYN, 0x14);
18020 write_radio_reg(pi,
18021 RADIO_2056_SYN_PLL_CP2 |
18022 RADIO_2056_SYN, 0x00);
18024 write_radio_reg(pi,
18025 RADIO_2056_SYN_PLL_LOOPFILTER4 |
18026 RADIO_2056_SYN, 0xb);
18027 write_radio_reg(pi,
18028 RADIO_2056_SYN_PLL_CP2 |
18029 RADIO_2056_SYN, 0x14);
18034 if ((pi->sh->boardflags2 & BFL2_GPLL_WAR2) &&
18035 (CHSPEC_IS2G(pi->radio_chanspec))) {
18036 write_radio_reg(pi,
18037 RADIO_2056_SYN_PLL_LOOPFILTER1 | RADIO_2056_SYN,
18039 write_radio_reg(pi,
18040 RADIO_2056_SYN_PLL_LOOPFILTER2 | RADIO_2056_SYN,
18042 write_radio_reg(pi,
18043 RADIO_2056_SYN_PLL_LOOPFILTER4 | RADIO_2056_SYN,
18045 write_radio_reg(pi, RADIO_2056_SYN_PLL_CP2 | RADIO_2056_SYN,
18049 if (pi->sh->boardflags2 & BFL2_APLL_WAR) {
18050 if (CHSPEC_IS5G(pi->radio_chanspec)) {
18051 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER1 |
18052 RADIO_2056_SYN, 0x1f);
18053 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER2 |
18054 RADIO_2056_SYN, 0x1f);
18055 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER4 |
18056 RADIO_2056_SYN, 0x5);
18057 write_radio_reg(pi, RADIO_2056_SYN_PLL_CP2 |
18058 RADIO_2056_SYN, 0xc);
18062 if (PHY_IPA(pi) && CHSPEC_IS2G(pi->radio_chanspec)) {
18063 u16 pag_boost_tune;
18064 u16 padg_boost_tune;
18065 u16 pgag_boost_tune;
18066 u16 mixg_boost_tune;
18067 u16 bias, cascbias;
18070 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
18072 if (NREV_GE(pi->pubpi.phy_rev, 5)) {
18074 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18077 if ((pi->sh->chip == BCM4716_CHIP_ID) ||
18079 BCM47162_CHIP_ID)) {
18082 pag_boost_tune = 0x5;
18083 pgag_boost_tune = 0x33;
18084 padg_boost_tune = 0x77;
18085 mixg_boost_tune = 0x55;
18090 if ((pi->sh->chip ==
18092 || (pi->sh->chip ==
18094 || (pi->sh->chip ==
18095 BCM43421_CHIP_ID)) {
18096 if (pi->sh->chippkg ==
18097 BCM43224_FAB_SMIC) {
18103 pag_boost_tune = 0x4;
18104 pgag_boost_tune = 0x03;
18105 padg_boost_tune = 0x77;
18106 mixg_boost_tune = 0x65;
18109 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18110 INTPAG_IMAIN_STAT, bias);
18111 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18112 INTPAG_IAUX_STAT, bias);
18113 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18114 INTPAG_CASCBIAS, cascbias);
18116 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18119 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18122 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18125 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18130 bias = IS40MHZ(pi) ? 0x40 : 0x20;
18132 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18133 INTPAG_IMAIN_STAT, bias);
18134 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18135 INTPAG_IAUX_STAT, bias);
18136 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18137 INTPAG_CASCBIAS, 0x30);
18139 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, PA_SPARE1,
18144 if (PHY_IPA(pi) && NREV_IS(pi->pubpi.phy_rev, 6)
18145 && CHSPEC_IS5G(pi->radio_chanspec)) {
18146 u16 paa_boost_tune;
18147 u16 pada_boost_tune;
18148 u16 pgaa_boost_tune;
18149 u16 mixa_boost_tune;
18150 u16 freq, pabias, cascbias;
18153 freq = CHAN5G_FREQ(CHSPEC_CHANNEL(pi->radio_chanspec));
18157 paa_boost_tune = 0xa;
18158 pada_boost_tune = 0x77;
18159 pgaa_boost_tune = 0xf;
18160 mixa_boost_tune = 0xf;
18161 } else if (freq < 5340) {
18163 paa_boost_tune = 0x8;
18164 pada_boost_tune = 0x77;
18165 pgaa_boost_tune = 0xfb;
18166 mixa_boost_tune = 0xf;
18167 } else if (freq < 5650) {
18169 paa_boost_tune = 0x0;
18170 pada_boost_tune = 0x77;
18171 pgaa_boost_tune = 0xb;
18172 mixa_boost_tune = 0xf;
18175 paa_boost_tune = 0x0;
18176 pada_boost_tune = 0x77;
18177 if (freq != 5825) {
18178 pgaa_boost_tune = -(int)(freq - 18) / 36 + 168;
18180 pgaa_boost_tune = 6;
18182 mixa_boost_tune = 0xf;
18185 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
18186 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18187 INTPAA_BOOST_TUNE, paa_boost_tune);
18188 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18189 PADA_BOOST_TUNE, pada_boost_tune);
18190 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18191 PGAA_BOOST_TUNE, pgaa_boost_tune);
18192 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18193 MIXA_BOOST_TUNE, mixa_boost_tune);
18195 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18197 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18200 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18201 PADA_CASCBIAS, 0x3);
18205 if ((pi->sh->chip == BCM43224_CHIP_ID) ||
18206 (pi->sh->chip == BCM43225_CHIP_ID) ||
18207 (pi->sh->chip == BCM43421_CHIP_ID)) {
18208 if (pi->sh->chippkg == BCM43224_FAB_SMIC) {
18213 pabias = (pi->phy_pabias == 0) ? 0x30 : pi->phy_pabias;
18215 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18216 INTPAA_IAUX_STAT, pabias);
18217 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18218 INTPAA_IMAIN_STAT, pabias);
18219 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18220 INTPAA_CASCBIAS, cascbias);
18226 wlc_phy_radio205x_vcocal_nphy(pi);
18229 void wlc_phy_radio205x_vcocal_nphy(phy_info_t *pi)
18231 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
18232 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_EN, 0x01, 0x0);
18233 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_CAL_RESETN, 0x04, 0x0);
18234 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_CAL_RESETN, 0x04,
18236 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_EN, 0x01, 0x01);
18237 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
18238 write_radio_reg(pi, RADIO_2056_SYN_PLL_VCOCAL12, 0x0);
18239 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST3, 0x38);
18240 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST3, 0x18);
18241 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST3, 0x38);
18242 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST3, 0x39);
18248 #define MAX_205x_RCAL_WAITLOOPS 10000
18250 static u16 wlc_phy_radio205x_rcal(phy_info_t *pi)
18255 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
18257 if (pi->pubpi.radiorev == 5) {
18259 and_phy_reg(pi, 0x342, ~(0x1 << 1));
18263 mod_radio_reg(pi, RADIO_2057_IQTEST_SEL_PU, 0x1, 0x1);
18264 mod_radio_reg(pi, RADIO_2057v7_IQTEST_SEL_PU2, 0x2,
18267 mod_radio_reg(pi, RADIO_2057_RCAL_CONFIG, 0x1, 0x1);
18271 mod_radio_reg(pi, RADIO_2057_RCAL_CONFIG, 0x3, 0x3);
18273 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
18274 rcal_reg = read_radio_reg(pi, RADIO_2057_RCAL_STATUS);
18275 if (rcal_reg & 0x1) {
18281 ASSERT(i < MAX_205x_RCAL_WAITLOOPS);
18283 mod_radio_reg(pi, RADIO_2057_RCAL_CONFIG, 0x2, 0x0);
18285 rcal_reg = read_radio_reg(pi, RADIO_2057_RCAL_STATUS) & 0x3e;
18287 mod_radio_reg(pi, RADIO_2057_RCAL_CONFIG, 0x1, 0x0);
18288 if (pi->pubpi.radiorev == 5) {
18290 mod_radio_reg(pi, RADIO_2057_IQTEST_SEL_PU, 0x1, 0x0);
18291 mod_radio_reg(pi, RADIO_2057v7_IQTEST_SEL_PU2, 0x2,
18295 if ((pi->pubpi.radiorev <= 4) || (pi->pubpi.radiorev == 6)) {
18297 mod_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG, 0x3c,
18299 mod_radio_reg(pi, RADIO_2057_BANDGAP_RCAL_TRIM, 0xf0,
18303 } else if (NREV_IS(pi->pubpi.phy_rev, 3)) {
18308 RADIO_2056_SYN_PLL_MAST2 | RADIO_2056_SYN);
18309 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST2 | RADIO_2056_SYN,
18313 write_radio_reg(pi, RADIO_2056_SYN_RCAL_MASTER | RADIO_2056_SYN,
18317 write_radio_reg(pi, RADIO_2056_SYN_RCAL_MASTER | RADIO_2056_SYN,
18320 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
18321 rcal_reg = read_radio_reg(pi,
18322 RADIO_2056_SYN_RCAL_CODE_OUT |
18324 if (rcal_reg & 0x80) {
18330 ASSERT(i < MAX_205x_RCAL_WAITLOOPS);
18332 write_radio_reg(pi, RADIO_2056_SYN_RCAL_MASTER | RADIO_2056_SYN,
18337 RADIO_2056_SYN_RCAL_CODE_OUT |
18340 write_radio_reg(pi, RADIO_2056_SYN_RCAL_MASTER | RADIO_2056_SYN,
18343 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST2 | RADIO_2056_SYN,
18346 return rcal_reg & 0x1f;
18348 return rcal_reg & 0x3e;
18352 wlc_phy_chanspec_radio2057_setup(phy_info_t *pi,
18353 const chan_info_nphy_radio2057_t *ci,
18354 const chan_info_nphy_radio2057_rev5_t *ci2)
18357 u16 txmix2g_tune_boost_pu = 0;
18358 u16 pad2g_tune_pus = 0;
18360 if (pi->pubpi.radiorev == 5) {
18362 write_radio_reg(pi,
18363 RADIO_2057_VCOCAL_COUNTVAL0,
18364 ci2->RF_vcocal_countval0);
18365 write_radio_reg(pi, RADIO_2057_VCOCAL_COUNTVAL1,
18366 ci2->RF_vcocal_countval1);
18367 write_radio_reg(pi, RADIO_2057_RFPLL_REFMASTER_SPAREXTALSIZE,
18368 ci2->RF_rfpll_refmaster_sparextalsize);
18369 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18370 ci2->RF_rfpll_loopfilter_r1);
18371 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18372 ci2->RF_rfpll_loopfilter_c2);
18373 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18374 ci2->RF_rfpll_loopfilter_c1);
18375 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC,
18376 ci2->RF_cp_kpd_idac);
18377 write_radio_reg(pi, RADIO_2057_RFPLL_MMD0, ci2->RF_rfpll_mmd0);
18378 write_radio_reg(pi, RADIO_2057_RFPLL_MMD1, ci2->RF_rfpll_mmd1);
18379 write_radio_reg(pi,
18380 RADIO_2057_VCOBUF_TUNE, ci2->RF_vcobuf_tune);
18381 write_radio_reg(pi,
18382 RADIO_2057_LOGEN_MX2G_TUNE,
18383 ci2->RF_logen_mx2g_tune);
18384 write_radio_reg(pi, RADIO_2057_LOGEN_INDBUF2G_TUNE,
18385 ci2->RF_logen_indbuf2g_tune);
18387 write_radio_reg(pi,
18388 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE0,
18389 ci2->RF_txmix2g_tune_boost_pu_core0);
18390 write_radio_reg(pi,
18391 RADIO_2057_PAD2G_TUNE_PUS_CORE0,
18392 ci2->RF_pad2g_tune_pus_core0);
18393 write_radio_reg(pi, RADIO_2057_LNA2G_TUNE_CORE0,
18394 ci2->RF_lna2g_tune_core0);
18396 write_radio_reg(pi,
18397 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE1,
18398 ci2->RF_txmix2g_tune_boost_pu_core1);
18399 write_radio_reg(pi,
18400 RADIO_2057_PAD2G_TUNE_PUS_CORE1,
18401 ci2->RF_pad2g_tune_pus_core1);
18402 write_radio_reg(pi, RADIO_2057_LNA2G_TUNE_CORE1,
18403 ci2->RF_lna2g_tune_core1);
18407 write_radio_reg(pi,
18408 RADIO_2057_VCOCAL_COUNTVAL0,
18409 ci->RF_vcocal_countval0);
18410 write_radio_reg(pi, RADIO_2057_VCOCAL_COUNTVAL1,
18411 ci->RF_vcocal_countval1);
18412 write_radio_reg(pi, RADIO_2057_RFPLL_REFMASTER_SPAREXTALSIZE,
18413 ci->RF_rfpll_refmaster_sparextalsize);
18414 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18415 ci->RF_rfpll_loopfilter_r1);
18416 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18417 ci->RF_rfpll_loopfilter_c2);
18418 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18419 ci->RF_rfpll_loopfilter_c1);
18420 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, ci->RF_cp_kpd_idac);
18421 write_radio_reg(pi, RADIO_2057_RFPLL_MMD0, ci->RF_rfpll_mmd0);
18422 write_radio_reg(pi, RADIO_2057_RFPLL_MMD1, ci->RF_rfpll_mmd1);
18423 write_radio_reg(pi, RADIO_2057_VCOBUF_TUNE, ci->RF_vcobuf_tune);
18424 write_radio_reg(pi,
18425 RADIO_2057_LOGEN_MX2G_TUNE,
18426 ci->RF_logen_mx2g_tune);
18427 write_radio_reg(pi, RADIO_2057_LOGEN_MX5G_TUNE,
18428 ci->RF_logen_mx5g_tune);
18429 write_radio_reg(pi, RADIO_2057_LOGEN_INDBUF2G_TUNE,
18430 ci->RF_logen_indbuf2g_tune);
18431 write_radio_reg(pi, RADIO_2057_LOGEN_INDBUF5G_TUNE,
18432 ci->RF_logen_indbuf5g_tune);
18434 write_radio_reg(pi,
18435 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE0,
18436 ci->RF_txmix2g_tune_boost_pu_core0);
18437 write_radio_reg(pi,
18438 RADIO_2057_PAD2G_TUNE_PUS_CORE0,
18439 ci->RF_pad2g_tune_pus_core0);
18440 write_radio_reg(pi, RADIO_2057_PGA_BOOST_TUNE_CORE0,
18441 ci->RF_pga_boost_tune_core0);
18442 write_radio_reg(pi, RADIO_2057_TXMIX5G_BOOST_TUNE_CORE0,
18443 ci->RF_txmix5g_boost_tune_core0);
18444 write_radio_reg(pi, RADIO_2057_PAD5G_TUNE_MISC_PUS_CORE0,
18445 ci->RF_pad5g_tune_misc_pus_core0);
18446 write_radio_reg(pi, RADIO_2057_LNA2G_TUNE_CORE0,
18447 ci->RF_lna2g_tune_core0);
18448 write_radio_reg(pi, RADIO_2057_LNA5G_TUNE_CORE0,
18449 ci->RF_lna5g_tune_core0);
18451 write_radio_reg(pi,
18452 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE1,
18453 ci->RF_txmix2g_tune_boost_pu_core1);
18454 write_radio_reg(pi,
18455 RADIO_2057_PAD2G_TUNE_PUS_CORE1,
18456 ci->RF_pad2g_tune_pus_core1);
18457 write_radio_reg(pi, RADIO_2057_PGA_BOOST_TUNE_CORE1,
18458 ci->RF_pga_boost_tune_core1);
18459 write_radio_reg(pi, RADIO_2057_TXMIX5G_BOOST_TUNE_CORE1,
18460 ci->RF_txmix5g_boost_tune_core1);
18461 write_radio_reg(pi, RADIO_2057_PAD5G_TUNE_MISC_PUS_CORE1,
18462 ci->RF_pad5g_tune_misc_pus_core1);
18463 write_radio_reg(pi, RADIO_2057_LNA2G_TUNE_CORE1,
18464 ci->RF_lna2g_tune_core1);
18465 write_radio_reg(pi, RADIO_2057_LNA5G_TUNE_CORE1,
18466 ci->RF_lna5g_tune_core1);
18469 if ((pi->pubpi.radiorev <= 4) || (pi->pubpi.radiorev == 6)) {
18471 if (CHSPEC_IS2G(pi->radio_chanspec)) {
18472 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18474 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, 0x3f);
18475 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18477 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18480 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18482 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, 0x3f);
18483 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18485 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18488 } else if ((pi->pubpi.radiorev == 5) || (pi->pubpi.radiorev == 7) ||
18489 (pi->pubpi.radiorev == 8)) {
18491 if (CHSPEC_IS2G(pi->radio_chanspec)) {
18492 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18494 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, 0x30);
18495 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18497 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18500 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18502 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, 0x3f);
18503 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18505 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18511 if (CHSPEC_IS2G(pi->radio_chanspec)) {
18513 if (pi->pubpi.radiorev == 3) {
18514 txmix2g_tune_boost_pu = 0x6b;
18517 if (pi->pubpi.radiorev == 5)
18518 pad2g_tune_pus = 0x73;
18521 if (pi->pubpi.radiorev != 5) {
18522 pad2g_tune_pus = 0x3;
18524 txmix2g_tune_boost_pu = 0x61;
18528 for (coreNum = 0; coreNum <= 1; coreNum++) {
18530 if (txmix2g_tune_boost_pu != 0)
18531 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
18532 TXMIX2G_TUNE_BOOST_PU,
18533 txmix2g_tune_boost_pu);
18535 if (pad2g_tune_pus != 0)
18536 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
18544 wlc_phy_radio205x_vcocal_nphy(pi);
18547 static u16 wlc_phy_radio2057_rccal(phy_info_t *pi)
18551 bool chip43226_6362A0;
18553 chip43226_6362A0 = ((pi->pubpi.radiorev == 3)
18554 || (pi->pubpi.radiorev == 4)
18555 || (pi->pubpi.radiorev == 6));
18558 if (chip43226_6362A0) {
18559 write_radio_reg(pi, RADIO_2057_RCCAL_MASTER, 0x61);
18560 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xc0);
18562 write_radio_reg(pi, RADIO_2057v7_RCCAL_MASTER, 0x61);
18564 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xe9);
18566 write_radio_reg(pi, RADIO_2057_RCCAL_X1, 0x6e);
18567 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x55);
18569 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
18570 rccal_valid = read_radio_reg(pi, RADIO_2057_RCCAL_DONE_OSCCAP);
18571 if (rccal_valid & 0x2) {
18577 ASSERT(rccal_valid & 0x2);
18579 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x15);
18582 if (chip43226_6362A0) {
18583 write_radio_reg(pi, RADIO_2057_RCCAL_MASTER, 0x69);
18584 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xb0);
18586 write_radio_reg(pi, RADIO_2057v7_RCCAL_MASTER, 0x69);
18588 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xd5);
18590 write_radio_reg(pi, RADIO_2057_RCCAL_X1, 0x6e);
18591 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x55);
18593 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
18594 rccal_valid = read_radio_reg(pi, RADIO_2057_RCCAL_DONE_OSCCAP);
18595 if (rccal_valid & 0x2) {
18601 ASSERT(rccal_valid & 0x2);
18603 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x15);
18606 if (chip43226_6362A0) {
18607 write_radio_reg(pi, RADIO_2057_RCCAL_MASTER, 0x73);
18609 write_radio_reg(pi, RADIO_2057_RCCAL_X1, 0x28);
18610 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xb0);
18612 write_radio_reg(pi, RADIO_2057v7_RCCAL_MASTER, 0x73);
18613 write_radio_reg(pi, RADIO_2057_RCCAL_X1, 0x6e);
18614 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0x99);
18616 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x55);
18618 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
18619 rccal_valid = read_radio_reg(pi, RADIO_2057_RCCAL_DONE_OSCCAP);
18620 if (rccal_valid & 0x2) {
18626 ASSERT(rccal_valid & 0x2);
18628 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x15);
18630 return rccal_valid;
18634 wlc_phy_adjust_rx_analpfbw_nphy(phy_info_t *pi, u16 reduction_factr)
18636 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 7)) {
18637 if ((CHSPEC_CHANNEL(pi->radio_chanspec) == 11) &&
18638 CHSPEC_IS40(pi->radio_chanspec)) {
18639 if (!pi->nphy_anarxlpf_adjusted) {
18640 write_radio_reg(pi,
18641 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
18643 ((pi->nphy_rccal_value +
18644 reduction_factr) | 0x80));
18646 pi->nphy_anarxlpf_adjusted = true;
18649 if (pi->nphy_anarxlpf_adjusted) {
18650 write_radio_reg(pi,
18651 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
18653 (pi->nphy_rccal_value | 0x80));
18655 pi->nphy_anarxlpf_adjusted = false;
18662 wlc_phy_adjust_min_noisevar_nphy(phy_info_t *pi, int ntones, int *tone_id_buf,
18663 u32 *noise_var_buf)
18670 radio_chanspec) ? NPHY_NOISEVAR_TBLLEN40 :
18671 NPHY_NOISEVAR_TBLLEN20;
18673 if (pi->nphy_noisevars_adjusted) {
18674 for (i = 0; i < pi->nphy_saved_noisevars.bufcount; i++) {
18675 tone_id = pi->nphy_saved_noisevars.tone_id[i];
18676 offset = (tone_id >= 0) ?
18677 ((tone_id * 2) + 1) : (tbllen + (tone_id * 2) + 1);
18678 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
18681 nphy_saved_noisevars.
18682 min_noise_vars[i]);
18685 pi->nphy_saved_noisevars.bufcount = 0;
18686 pi->nphy_noisevars_adjusted = false;
18689 if ((noise_var_buf != NULL) && (tone_id_buf != NULL)) {
18690 pi->nphy_saved_noisevars.bufcount = 0;
18692 for (i = 0; i < ntones; i++) {
18693 tone_id = tone_id_buf[i];
18694 offset = (tone_id >= 0) ?
18695 ((tone_id * 2) + 1) : (tbllen + (tone_id * 2) + 1);
18696 pi->nphy_saved_noisevars.tone_id[i] = tone_id;
18697 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
18699 &pi->nphy_saved_noisevars.
18700 min_noise_vars[i]);
18701 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
18703 (void *)&noise_var_buf[i]);
18704 pi->nphy_saved_noisevars.bufcount++;
18707 pi->nphy_noisevars_adjusted = true;
18711 static void wlc_phy_adjust_crsminpwr_nphy(phy_info_t *pi, u8 minpwr)
18715 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
18716 if ((CHSPEC_CHANNEL(pi->radio_chanspec) == 11) &&
18717 CHSPEC_IS40(pi->radio_chanspec)) {
18718 if (!pi->nphy_crsminpwr_adjusted) {
18719 regval = read_phy_reg(pi, 0x27d);
18720 pi->nphy_crsminpwr[0] = regval & 0xff;
18722 regval |= (u16) minpwr;
18723 write_phy_reg(pi, 0x27d, regval);
18725 regval = read_phy_reg(pi, 0x280);
18726 pi->nphy_crsminpwr[1] = regval & 0xff;
18728 regval |= (u16) minpwr;
18729 write_phy_reg(pi, 0x280, regval);
18731 regval = read_phy_reg(pi, 0x283);
18732 pi->nphy_crsminpwr[2] = regval & 0xff;
18734 regval |= (u16) minpwr;
18735 write_phy_reg(pi, 0x283, regval);
18737 pi->nphy_crsminpwr_adjusted = true;
18740 if (pi->nphy_crsminpwr_adjusted) {
18741 regval = read_phy_reg(pi, 0x27d);
18743 regval |= pi->nphy_crsminpwr[0];
18744 write_phy_reg(pi, 0x27d, regval);
18746 regval = read_phy_reg(pi, 0x280);
18748 regval |= pi->nphy_crsminpwr[1];
18749 write_phy_reg(pi, 0x280, regval);
18751 regval = read_phy_reg(pi, 0x283);
18753 regval |= pi->nphy_crsminpwr[2];
18754 write_phy_reg(pi, 0x283, regval);
18756 pi->nphy_crsminpwr_adjusted = false;
18762 static void wlc_phy_txlpfbw_nphy(phy_info_t *pi)
18766 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 7)) {
18767 if (CHSPEC_IS40(pi->radio_chanspec)) {
18774 if (CHSPEC_IS40(pi->radio_chanspec)) {
18780 write_phy_reg(pi, 0xe8,
18783 (tx_lpf_bw << 6) | (tx_lpf_bw << 9));
18787 if (CHSPEC_IS40(pi->radio_chanspec)) {
18793 write_phy_reg(pi, 0xe9,
18796 (tx_lpf_bw << 6) | (tx_lpf_bw << 9));
18801 static void wlc_phy_spurwar_nphy(phy_info_t *pi)
18803 u16 cur_channel = 0;
18804 int nphy_adj_tone_id_buf[] = { 57, 58 };
18805 u32 nphy_adj_noise_var_buf[] = { 0x3ff, 0x3ff };
18806 bool isAdjustNoiseVar = false;
18807 uint numTonesAdjust = 0;
18810 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
18811 if (pi->phyhang_avoid)
18812 wlc_phy_stay_in_carriersearch_nphy(pi, true);
18814 cur_channel = CHSPEC_CHANNEL(pi->radio_chanspec);
18816 if (pi->nphy_gband_spurwar_en) {
18818 wlc_phy_adjust_rx_analpfbw_nphy(pi,
18819 NPHY_ANARXLPFBW_REDUCTIONFACT);
18821 if (CHSPEC_IS2G(pi->radio_chanspec)) {
18822 if ((cur_channel == 11)
18823 && CHSPEC_IS40(pi->radio_chanspec)) {
18825 wlc_phy_adjust_min_noisevar_nphy(pi, 2,
18826 nphy_adj_tone_id_buf,
18827 nphy_adj_noise_var_buf);
18830 wlc_phy_adjust_min_noisevar_nphy(pi, 0,
18835 wlc_phy_adjust_crsminpwr_nphy(pi,
18836 NPHY_ADJUSTED_MINCRSPOWER);
18839 if ((pi->nphy_gband_spurwar2_en)
18840 && CHSPEC_IS2G(pi->radio_chanspec)) {
18842 if (CHSPEC_IS40(pi->radio_chanspec)) {
18843 switch (cur_channel) {
18845 nphy_adj_tone_id_buf[0] = 57;
18846 nphy_adj_tone_id_buf[1] = 58;
18847 nphy_adj_noise_var_buf[0] = 0x22f;
18848 nphy_adj_noise_var_buf[1] = 0x25f;
18849 isAdjustNoiseVar = true;
18852 nphy_adj_tone_id_buf[0] = 41;
18853 nphy_adj_tone_id_buf[1] = 42;
18854 nphy_adj_noise_var_buf[0] = 0x22f;
18855 nphy_adj_noise_var_buf[1] = 0x25f;
18856 isAdjustNoiseVar = true;
18859 nphy_adj_tone_id_buf[0] = 25;
18860 nphy_adj_tone_id_buf[1] = 26;
18861 nphy_adj_noise_var_buf[0] = 0x24f;
18862 nphy_adj_noise_var_buf[1] = 0x25f;
18863 isAdjustNoiseVar = true;
18866 nphy_adj_tone_id_buf[0] = 9;
18867 nphy_adj_tone_id_buf[1] = 10;
18868 nphy_adj_noise_var_buf[0] = 0x22f;
18869 nphy_adj_noise_var_buf[1] = 0x24f;
18870 isAdjustNoiseVar = true;
18873 nphy_adj_tone_id_buf[0] = 121;
18874 nphy_adj_tone_id_buf[1] = 122;
18875 nphy_adj_noise_var_buf[0] = 0x18f;
18876 nphy_adj_noise_var_buf[1] = 0x24f;
18877 isAdjustNoiseVar = true;
18880 nphy_adj_tone_id_buf[0] = 105;
18881 nphy_adj_tone_id_buf[1] = 106;
18882 nphy_adj_noise_var_buf[0] = 0x22f;
18883 nphy_adj_noise_var_buf[1] = 0x25f;
18884 isAdjustNoiseVar = true;
18887 nphy_adj_tone_id_buf[0] = 89;
18888 nphy_adj_tone_id_buf[1] = 90;
18889 nphy_adj_noise_var_buf[0] = 0x22f;
18890 nphy_adj_noise_var_buf[1] = 0x24f;
18891 isAdjustNoiseVar = true;
18894 nphy_adj_tone_id_buf[0] = 73;
18895 nphy_adj_tone_id_buf[1] = 74;
18896 nphy_adj_noise_var_buf[0] = 0x22f;
18897 nphy_adj_noise_var_buf[1] = 0x24f;
18898 isAdjustNoiseVar = true;
18901 isAdjustNoiseVar = false;
18906 if (isAdjustNoiseVar) {
18907 numTonesAdjust = sizeof(nphy_adj_tone_id_buf) /
18908 sizeof(nphy_adj_tone_id_buf[0]);
18910 wlc_phy_adjust_min_noisevar_nphy(pi,
18912 nphy_adj_tone_id_buf,
18913 nphy_adj_noise_var_buf);
18919 wlc_phy_adjust_min_noisevar_nphy(pi, 0, NULL,
18924 if ((pi->nphy_aband_spurwar_en) &&
18925 (CHSPEC_IS5G(pi->radio_chanspec))) {
18926 switch (cur_channel) {
18928 nphy_adj_tone_id_buf[0] = 32;
18929 nphy_adj_noise_var_buf[0] = 0x25f;
18934 if ((pi->sh->chip == BCM4716_CHIP_ID) &&
18935 (pi->sh->chippkg == BCM4717_PKG_ID)) {
18936 nphy_adj_tone_id_buf[0] = 32;
18937 nphy_adj_noise_var_buf[0] = 0x21f;
18939 nphy_adj_tone_id_buf[0] = 0;
18940 nphy_adj_noise_var_buf[0] = 0x0;
18944 nphy_adj_tone_id_buf[0] = 32;
18945 nphy_adj_noise_var_buf[0] = 0x21f;
18948 nphy_adj_tone_id_buf[0] = 16;
18949 nphy_adj_noise_var_buf[0] = 0x23f;
18953 nphy_adj_tone_id_buf[0] = 48;
18954 nphy_adj_noise_var_buf[0] = 0x23f;
18957 nphy_adj_tone_id_buf[0] = 0;
18958 nphy_adj_noise_var_buf[0] = 0x0;
18962 if (nphy_adj_tone_id_buf[0]
18963 && nphy_adj_noise_var_buf[0]) {
18964 wlc_phy_adjust_min_noisevar_nphy(pi, 1,
18965 nphy_adj_tone_id_buf,
18966 nphy_adj_noise_var_buf);
18968 wlc_phy_adjust_min_noisevar_nphy(pi, 0, NULL,
18973 if (pi->phyhang_avoid)
18974 wlc_phy_stay_in_carriersearch_nphy(pi, false);
18979 wlc_phy_chanspec_nphy_setup(phy_info_t *pi, chanspec_t chanspec,
18980 const nphy_sfo_cfg_t *ci)
18984 val = read_phy_reg(pi, 0x09) & NPHY_BandControl_currentBand;
18985 if (CHSPEC_IS5G(chanspec) && !val) {
18987 val = R_REG(pi->sh->osh, &pi->regs->psm_phy_hdr_param);
18988 W_REG(pi->sh->osh, &pi->regs->psm_phy_hdr_param,
18989 (val | MAC_PHY_FORCE_CLK));
18991 or_phy_reg(pi, (NPHY_TO_BPHY_OFF + BPHY_BB_CONFIG),
18992 (BBCFG_RESETCCA | BBCFG_RESETRX));
18994 W_REG(pi->sh->osh, &pi->regs->psm_phy_hdr_param, val);
18996 or_phy_reg(pi, 0x09, NPHY_BandControl_currentBand);
18997 } else if (!CHSPEC_IS5G(chanspec) && val) {
18999 and_phy_reg(pi, 0x09, ~NPHY_BandControl_currentBand);
19001 val = R_REG(pi->sh->osh, &pi->regs->psm_phy_hdr_param);
19002 W_REG(pi->sh->osh, &pi->regs->psm_phy_hdr_param,
19003 (val | MAC_PHY_FORCE_CLK));
19005 and_phy_reg(pi, (NPHY_TO_BPHY_OFF + BPHY_BB_CONFIG),
19006 (u16) (~(BBCFG_RESETCCA | BBCFG_RESETRX)));
19008 W_REG(pi->sh->osh, &pi->regs->psm_phy_hdr_param, val);
19011 write_phy_reg(pi, 0x1ce, ci->PHY_BW1a);
19012 write_phy_reg(pi, 0x1cf, ci->PHY_BW2);
19013 write_phy_reg(pi, 0x1d0, ci->PHY_BW3);
19015 write_phy_reg(pi, 0x1d1, ci->PHY_BW4);
19016 write_phy_reg(pi, 0x1d2, ci->PHY_BW5);
19017 write_phy_reg(pi, 0x1d3, ci->PHY_BW6);
19019 if (CHSPEC_CHANNEL(pi->radio_chanspec) == 14) {
19020 wlc_phy_classifier_nphy(pi, NPHY_ClassifierCtrl_ofdm_en, 0);
19022 or_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_TEST, 0x800);
19024 wlc_phy_classifier_nphy(pi, NPHY_ClassifierCtrl_ofdm_en,
19025 NPHY_ClassifierCtrl_ofdm_en);
19027 if (CHSPEC_IS2G(chanspec))
19028 and_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_TEST, ~0x840);
19031 if (pi->nphy_txpwrctrl == PHY_TPC_HW_OFF) {
19032 wlc_phy_txpwr_fixpower_nphy(pi);
19035 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
19037 wlc_phy_adjust_lnagaintbl_nphy(pi);
19040 wlc_phy_txlpfbw_nphy(pi);
19042 if (NREV_GE(pi->pubpi.phy_rev, 3)
19043 && (pi->phy_spuravoid != SPURAVOID_DISABLE)) {
19046 val = CHSPEC_CHANNEL(chanspec);
19047 if (!CHSPEC_IS40(pi->radio_chanspec)) {
19048 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19049 if ((val == 13) || (val == 14) || (val == 153)) {
19054 if (((val >= 5) && (val <= 8)) || (val == 13)
19060 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19066 if (pi->nphy_aband_spurwar_en &&
19067 ((val == 38) || (val == 102)
19068 || (val == 118))) {
19069 if ((pi->sh->chip ==
19071 && (pi->sh->chippkg ==
19081 if (pi->phy_spuravoid == SPURAVOID_FORCEON)
19084 if ((pi->sh->chip == BCM4716_CHIP_ID) ||
19085 (pi->sh->chip == BCM47162_CHIP_ID)) {
19086 si_pmu_spuravoid(pi->sh->sih, pi->sh->osh, spuravoid);
19088 wlapi_bmac_core_phypll_ctl(pi->sh->physhim, false);
19089 si_pmu_spuravoid(pi->sh->sih, pi->sh->osh, spuravoid);
19090 wlapi_bmac_core_phypll_ctl(pi->sh->physhim, true);
19093 if ((pi->sh->chip == BCM43224_CHIP_ID) ||
19094 (pi->sh->chip == BCM43225_CHIP_ID) ||
19095 (pi->sh->chip == BCM43421_CHIP_ID)) {
19097 if (spuravoid == 1) {
19099 W_REG(pi->sh->osh, &pi->regs->tsf_clk_frac_l,
19101 W_REG(pi->sh->osh, &pi->regs->tsf_clk_frac_h,
19105 W_REG(pi->sh->osh, &pi->regs->tsf_clk_frac_l,
19107 W_REG(pi->sh->osh, &pi->regs->tsf_clk_frac_h,
19112 if (!((pi->sh->chip == BCM4716_CHIP_ID) ||
19113 (pi->sh->chip == BCM47162_CHIP_ID))) {
19114 wlapi_bmac_core_phypll_reset(pi->sh->physhim);
19117 mod_phy_reg(pi, 0x01, (0x1 << 15),
19118 ((spuravoid > 0) ? (0x1 << 15) : 0));
19120 wlc_phy_resetcca_nphy(pi);
19122 pi->phy_isspuravoid = (spuravoid > 0);
19125 if (NREV_LT(pi->pubpi.phy_rev, 7))
19126 write_phy_reg(pi, 0x17e, 0x3830);
19128 wlc_phy_spurwar_nphy(pi);
19131 void wlc_phy_chanspec_set_nphy(phy_info_t *pi, chanspec_t chanspec)
19134 chan_info_nphy_radio2057_t *t0 = NULL;
19135 chan_info_nphy_radio205x_t *t1 = NULL;
19136 chan_info_nphy_radio2057_rev5_t *t2 = NULL;
19137 chan_info_nphy_2055_t *t3 = NULL;
19139 if (NORADIO_ENAB(pi->pubpi)) {
19143 if (!wlc_phy_chan2freq_nphy
19144 (pi, CHSPEC_CHANNEL(chanspec), &freq, &t0, &t1, &t2, &t3))
19147 wlc_phy_chanspec_radio_set((wlc_phy_t *) pi, chanspec);
19149 if (CHSPEC_BW(chanspec) != pi->bw)
19150 wlapi_bmac_bw_set(pi->sh->physhim, CHSPEC_BW(chanspec));
19152 if (CHSPEC_IS40(chanspec)) {
19153 if (CHSPEC_SB_UPPER(chanspec)) {
19154 or_phy_reg(pi, 0xa0, BPHY_BAND_SEL_UP20);
19155 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19156 or_phy_reg(pi, 0x310, PRIM_SEL_UP20);
19159 and_phy_reg(pi, 0xa0, ~BPHY_BAND_SEL_UP20);
19160 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19161 and_phy_reg(pi, 0x310,
19162 (~PRIM_SEL_UP20 & 0xffff));
19167 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19168 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19170 if ((pi->pubpi.radiorev <= 4)
19171 || (pi->pubpi.radiorev == 6)) {
19172 mod_radio_reg(pi, RADIO_2057_TIA_CONFIG_CORE0,
19174 (CHSPEC_IS5G(chanspec) ? (1 << 1)
19176 mod_radio_reg(pi, RADIO_2057_TIA_CONFIG_CORE1,
19178 (CHSPEC_IS5G(chanspec) ? (1 << 1)
19182 wlc_phy_chanspec_radio2057_setup(pi, t0, t2);
19183 wlc_phy_chanspec_nphy_setup(pi, chanspec,
19184 (pi->pubpi.radiorev ==
19185 5) ? (const nphy_sfo_cfg_t
19188 : (const nphy_sfo_cfg_t *)
19194 RADIO_2056_SYN_COM_CTRL | RADIO_2056_SYN,
19196 (CHSPEC_IS5G(chanspec) ? (0x1 << 2) : 0));
19197 wlc_phy_chanspec_radio2056_setup(pi, t1);
19199 wlc_phy_chanspec_nphy_setup(pi, chanspec,
19200 (const nphy_sfo_cfg_t *)
19206 mod_radio_reg(pi, RADIO_2055_MASTER_CNTRL1, 0x70,
19207 (CHSPEC_IS5G(chanspec) ? (0x02 << 4)
19210 wlc_phy_chanspec_radio2055_setup(pi, t3);
19211 wlc_phy_chanspec_nphy_setup(pi, chanspec,
19212 (const nphy_sfo_cfg_t *)&(t3->
19218 static void wlc_phy_savecal_nphy(phy_info_t *pi)
19222 u16 *txcal_radio_regs = NULL;
19224 if (pi->phyhang_avoid)
19225 wlc_phy_stay_in_carriersearch_nphy(pi, true);
19227 if (CHSPEC_IS2G(pi->radio_chanspec)) {
19229 wlc_phy_rx_iq_coeffs_nphy(pi, 0,
19230 &pi->calibration_cache.
19233 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19235 pi->calibration_cache.txcal_radio_regs_2G;
19236 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19238 pi->calibration_cache.txcal_radio_regs_2G[0] =
19240 RADIO_2056_TX_LOFT_FINE_I |
19242 pi->calibration_cache.txcal_radio_regs_2G[1] =
19244 RADIO_2056_TX_LOFT_FINE_Q |
19246 pi->calibration_cache.txcal_radio_regs_2G[2] =
19248 RADIO_2056_TX_LOFT_FINE_I |
19250 pi->calibration_cache.txcal_radio_regs_2G[3] =
19252 RADIO_2056_TX_LOFT_FINE_Q |
19255 pi->calibration_cache.txcal_radio_regs_2G[4] =
19257 RADIO_2056_TX_LOFT_COARSE_I |
19259 pi->calibration_cache.txcal_radio_regs_2G[5] =
19261 RADIO_2056_TX_LOFT_COARSE_Q |
19263 pi->calibration_cache.txcal_radio_regs_2G[6] =
19265 RADIO_2056_TX_LOFT_COARSE_I |
19267 pi->calibration_cache.txcal_radio_regs_2G[7] =
19269 RADIO_2056_TX_LOFT_COARSE_Q |
19272 pi->calibration_cache.txcal_radio_regs_2G[0] =
19273 read_radio_reg(pi, RADIO_2055_CORE1_TX_VOS_CNCL);
19274 pi->calibration_cache.txcal_radio_regs_2G[1] =
19275 read_radio_reg(pi, RADIO_2055_CORE2_TX_VOS_CNCL);
19276 pi->calibration_cache.txcal_radio_regs_2G[2] =
19277 read_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM);
19278 pi->calibration_cache.txcal_radio_regs_2G[3] =
19279 read_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM);
19282 pi->nphy_iqcal_chanspec_2G = pi->radio_chanspec;
19283 tbl_ptr = pi->calibration_cache.txcal_coeffs_2G;
19286 wlc_phy_rx_iq_coeffs_nphy(pi, 0,
19287 &pi->calibration_cache.
19290 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19292 pi->calibration_cache.txcal_radio_regs_5G;
19293 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19295 pi->calibration_cache.txcal_radio_regs_5G[0] =
19297 RADIO_2056_TX_LOFT_FINE_I |
19299 pi->calibration_cache.txcal_radio_regs_5G[1] =
19301 RADIO_2056_TX_LOFT_FINE_Q |
19303 pi->calibration_cache.txcal_radio_regs_5G[2] =
19305 RADIO_2056_TX_LOFT_FINE_I |
19307 pi->calibration_cache.txcal_radio_regs_5G[3] =
19309 RADIO_2056_TX_LOFT_FINE_Q |
19312 pi->calibration_cache.txcal_radio_regs_5G[4] =
19314 RADIO_2056_TX_LOFT_COARSE_I |
19316 pi->calibration_cache.txcal_radio_regs_5G[5] =
19318 RADIO_2056_TX_LOFT_COARSE_Q |
19320 pi->calibration_cache.txcal_radio_regs_5G[6] =
19322 RADIO_2056_TX_LOFT_COARSE_I |
19324 pi->calibration_cache.txcal_radio_regs_5G[7] =
19326 RADIO_2056_TX_LOFT_COARSE_Q |
19329 pi->calibration_cache.txcal_radio_regs_5G[0] =
19330 read_radio_reg(pi, RADIO_2055_CORE1_TX_VOS_CNCL);
19331 pi->calibration_cache.txcal_radio_regs_5G[1] =
19332 read_radio_reg(pi, RADIO_2055_CORE2_TX_VOS_CNCL);
19333 pi->calibration_cache.txcal_radio_regs_5G[2] =
19334 read_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM);
19335 pi->calibration_cache.txcal_radio_regs_5G[3] =
19336 read_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM);
19339 pi->nphy_iqcal_chanspec_5G = pi->radio_chanspec;
19340 tbl_ptr = pi->calibration_cache.txcal_coeffs_5G;
19342 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19343 for (coreNum = 0; coreNum <= 1; coreNum++) {
19345 txcal_radio_regs[2 * coreNum] =
19346 READ_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19348 txcal_radio_regs[2 * coreNum + 1] =
19349 READ_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19352 txcal_radio_regs[2 * coreNum + 4] =
19353 READ_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19355 txcal_radio_regs[2 * coreNum + 5] =
19356 READ_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19361 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL, 8, 80, 16, tbl_ptr);
19363 if (pi->phyhang_avoid)
19364 wlc_phy_stay_in_carriersearch_nphy(pi, false);
19367 static void wlc_phy_restorecal_nphy(phy_info_t *pi)
19370 u16 txcal_coeffs_bphy[4];
19373 u16 *txcal_radio_regs = NULL;
19375 if (CHSPEC_IS2G(pi->radio_chanspec)) {
19376 if (pi->nphy_iqcal_chanspec_2G == 0)
19379 tbl_ptr = pi->calibration_cache.txcal_coeffs_2G;
19380 loft_comp = &pi->calibration_cache.txcal_coeffs_2G[5];
19382 if (pi->nphy_iqcal_chanspec_5G == 0)
19385 tbl_ptr = pi->calibration_cache.txcal_coeffs_5G;
19386 loft_comp = &pi->calibration_cache.txcal_coeffs_5G[5];
19389 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 80, 16,
19392 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19393 txcal_coeffs_bphy[0] = tbl_ptr[0];
19394 txcal_coeffs_bphy[1] = tbl_ptr[1];
19395 txcal_coeffs_bphy[2] = tbl_ptr[2];
19396 txcal_coeffs_bphy[3] = tbl_ptr[3];
19398 txcal_coeffs_bphy[0] = 0;
19399 txcal_coeffs_bphy[1] = 0;
19400 txcal_coeffs_bphy[2] = 0;
19401 txcal_coeffs_bphy[3] = 0;
19404 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 88, 16,
19405 txcal_coeffs_bphy);
19407 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 85, 16, loft_comp);
19409 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 93, 16, loft_comp);
19411 if (NREV_LT(pi->pubpi.phy_rev, 2))
19412 wlc_phy_tx_iq_war_nphy(pi);
19414 if (CHSPEC_IS2G(pi->radio_chanspec)) {
19415 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19417 pi->calibration_cache.txcal_radio_regs_2G;
19418 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19420 write_radio_reg(pi,
19421 RADIO_2056_TX_LOFT_FINE_I |
19423 pi->calibration_cache.
19424 txcal_radio_regs_2G[0]);
19425 write_radio_reg(pi,
19426 RADIO_2056_TX_LOFT_FINE_Q |
19428 pi->calibration_cache.
19429 txcal_radio_regs_2G[1]);
19430 write_radio_reg(pi,
19431 RADIO_2056_TX_LOFT_FINE_I |
19433 pi->calibration_cache.
19434 txcal_radio_regs_2G[2]);
19435 write_radio_reg(pi,
19436 RADIO_2056_TX_LOFT_FINE_Q |
19438 pi->calibration_cache.
19439 txcal_radio_regs_2G[3]);
19441 write_radio_reg(pi,
19442 RADIO_2056_TX_LOFT_COARSE_I |
19444 pi->calibration_cache.
19445 txcal_radio_regs_2G[4]);
19446 write_radio_reg(pi,
19447 RADIO_2056_TX_LOFT_COARSE_Q |
19449 pi->calibration_cache.
19450 txcal_radio_regs_2G[5]);
19451 write_radio_reg(pi,
19452 RADIO_2056_TX_LOFT_COARSE_I |
19454 pi->calibration_cache.
19455 txcal_radio_regs_2G[6]);
19456 write_radio_reg(pi,
19457 RADIO_2056_TX_LOFT_COARSE_Q |
19459 pi->calibration_cache.
19460 txcal_radio_regs_2G[7]);
19462 write_radio_reg(pi, RADIO_2055_CORE1_TX_VOS_CNCL,
19463 pi->calibration_cache.
19464 txcal_radio_regs_2G[0]);
19465 write_radio_reg(pi, RADIO_2055_CORE2_TX_VOS_CNCL,
19466 pi->calibration_cache.
19467 txcal_radio_regs_2G[1]);
19468 write_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM,
19469 pi->calibration_cache.
19470 txcal_radio_regs_2G[2]);
19471 write_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM,
19472 pi->calibration_cache.
19473 txcal_radio_regs_2G[3]);
19476 wlc_phy_rx_iq_coeffs_nphy(pi, 1,
19477 &pi->calibration_cache.
19480 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19482 pi->calibration_cache.txcal_radio_regs_5G;
19483 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19485 write_radio_reg(pi,
19486 RADIO_2056_TX_LOFT_FINE_I |
19488 pi->calibration_cache.
19489 txcal_radio_regs_5G[0]);
19490 write_radio_reg(pi,
19491 RADIO_2056_TX_LOFT_FINE_Q |
19493 pi->calibration_cache.
19494 txcal_radio_regs_5G[1]);
19495 write_radio_reg(pi,
19496 RADIO_2056_TX_LOFT_FINE_I |
19498 pi->calibration_cache.
19499 txcal_radio_regs_5G[2]);
19500 write_radio_reg(pi,
19501 RADIO_2056_TX_LOFT_FINE_Q |
19503 pi->calibration_cache.
19504 txcal_radio_regs_5G[3]);
19506 write_radio_reg(pi,
19507 RADIO_2056_TX_LOFT_COARSE_I |
19509 pi->calibration_cache.
19510 txcal_radio_regs_5G[4]);
19511 write_radio_reg(pi,
19512 RADIO_2056_TX_LOFT_COARSE_Q |
19514 pi->calibration_cache.
19515 txcal_radio_regs_5G[5]);
19516 write_radio_reg(pi,
19517 RADIO_2056_TX_LOFT_COARSE_I |
19519 pi->calibration_cache.
19520 txcal_radio_regs_5G[6]);
19521 write_radio_reg(pi,
19522 RADIO_2056_TX_LOFT_COARSE_Q |
19524 pi->calibration_cache.
19525 txcal_radio_regs_5G[7]);
19527 write_radio_reg(pi, RADIO_2055_CORE1_TX_VOS_CNCL,
19528 pi->calibration_cache.
19529 txcal_radio_regs_5G[0]);
19530 write_radio_reg(pi, RADIO_2055_CORE2_TX_VOS_CNCL,
19531 pi->calibration_cache.
19532 txcal_radio_regs_5G[1]);
19533 write_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM,
19534 pi->calibration_cache.
19535 txcal_radio_regs_5G[2]);
19536 write_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM,
19537 pi->calibration_cache.
19538 txcal_radio_regs_5G[3]);
19541 wlc_phy_rx_iq_coeffs_nphy(pi, 1,
19542 &pi->calibration_cache.
19546 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19547 for (coreNum = 0; coreNum <= 1; coreNum++) {
19549 WRITE_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19551 txcal_radio_regs[2 * coreNum]);
19552 WRITE_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19554 txcal_radio_regs[2 * coreNum + 1]);
19556 WRITE_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19558 txcal_radio_regs[2 * coreNum + 4]);
19559 WRITE_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19561 txcal_radio_regs[2 * coreNum + 5]);
19566 void wlc_phy_antsel_init(wlc_phy_t *ppi, bool lut_init)
19568 phy_info_t *pi = (phy_info_t *) ppi;
19572 if (NREV_GE(pi->pubpi.phy_rev, 7))
19575 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19576 u16 v0 = 0x211, v1 = 0x222, v2 = 0x144, v3 = 0x188;
19578 if (lut_init == false)
19581 if (pi->srom_fem2g.antswctrllut == 0) {
19582 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19584 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19586 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19588 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19594 if (pi->srom_fem5g.antswctrllut == 0) {
19595 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19597 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19599 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19601 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19608 write_phy_reg(pi, 0xc8, 0x0);
19609 write_phy_reg(pi, 0xc9, 0x0);
19611 si_gpiocontrol(pi->sh->sih, mask, mask, GPIO_DRV_PRIORITY);
19613 mc = R_REG(pi->sh->osh, &pi->regs->maccontrol);
19614 mc &= ~MCTL_GPOUT_SEL_MASK;
19615 W_REG(pi->sh->osh, &pi->regs->maccontrol, mc);
19617 OR_REG(pi->sh->osh, &pi->regs->psm_gpio_oe, mask);
19619 AND_REG(pi->sh->osh, &pi->regs->psm_gpio_out, ~mask);
19622 write_phy_reg(pi, 0xf8, 0x02d8);
19623 write_phy_reg(pi, 0xf9, 0x0301);
19624 write_phy_reg(pi, 0xfa, 0x02d8);
19625 write_phy_reg(pi, 0xfb, 0x0301);
19630 u16 wlc_phy_classifier_nphy(phy_info_t *pi, u16 mask, u16 val)
19632 u16 curr_ctl, new_ctl;
19633 bool suspended = false;
19635 if (D11REV_IS(pi->sh->corerev, 16)) {
19637 (R_REG(pi->sh->osh, &pi->regs->maccontrol) & MCTL_EN_MAC) ?
19640 wlapi_suspend_mac_and_wait(pi->sh->physhim);
19643 curr_ctl = read_phy_reg(pi, 0xb0) & (0x7 << 0);
19645 new_ctl = (curr_ctl & (~mask)) | (val & mask);
19647 mod_phy_reg(pi, 0xb0, (0x7 << 0), new_ctl);
19649 if (D11REV_IS(pi->sh->corerev, 16) && !suspended)
19650 wlapi_enable_mac(pi->sh->physhim);
19655 static void wlc_phy_clip_det_nphy(phy_info_t *pi, u8 write, u16 *vals)
19659 vals[0] = read_phy_reg(pi, 0x2c);
19660 vals[1] = read_phy_reg(pi, 0x42);
19662 write_phy_reg(pi, 0x2c, vals[0]);
19663 write_phy_reg(pi, 0x42, vals[1]);
19667 void wlc_phy_force_rfseq_nphy(phy_info_t *pi, u8 cmd)
19669 u16 trigger_mask, status_mask;
19670 u16 orig_RfseqCoreActv;
19673 case NPHY_RFSEQ_RX2TX:
19674 trigger_mask = NPHY_RfseqTrigger_rx2tx;
19675 status_mask = NPHY_RfseqStatus_rx2tx;
19677 case NPHY_RFSEQ_TX2RX:
19678 trigger_mask = NPHY_RfseqTrigger_tx2rx;
19679 status_mask = NPHY_RfseqStatus_tx2rx;
19681 case NPHY_RFSEQ_RESET2RX:
19682 trigger_mask = NPHY_RfseqTrigger_reset2rx;
19683 status_mask = NPHY_RfseqStatus_reset2rx;
19685 case NPHY_RFSEQ_UPDATEGAINH:
19686 trigger_mask = NPHY_RfseqTrigger_updategainh;
19687 status_mask = NPHY_RfseqStatus_updategainh;
19689 case NPHY_RFSEQ_UPDATEGAINL:
19690 trigger_mask = NPHY_RfseqTrigger_updategainl;
19691 status_mask = NPHY_RfseqStatus_updategainl;
19693 case NPHY_RFSEQ_UPDATEGAINU:
19694 trigger_mask = NPHY_RfseqTrigger_updategainu;
19695 status_mask = NPHY_RfseqStatus_updategainu;
19701 orig_RfseqCoreActv = read_phy_reg(pi, 0xa1);
19702 or_phy_reg(pi, 0xa1,
19703 (NPHY_RfseqMode_CoreActv_override |
19704 NPHY_RfseqMode_Trigger_override));
19705 or_phy_reg(pi, 0xa3, trigger_mask);
19706 SPINWAIT((read_phy_reg(pi, 0xa4) & status_mask), 200000);
19707 write_phy_reg(pi, 0xa1, orig_RfseqCoreActv);
19709 ASSERT((read_phy_reg(pi, 0xa4) & status_mask) == 0);
19713 wlc_phy_set_rfseq_nphy(phy_info_t *pi, u8 cmd, u8 *events, u8 *dlys,
19716 u32 t1_offset, t2_offset;
19719 NREV_GE(pi->pubpi.phy_rev,
19720 3) ? NPHY_REV3_RFSEQ_CMD_END : NPHY_RFSEQ_CMD_END;
19725 if (pi->phyhang_avoid)
19726 wlc_phy_stay_in_carriersearch_nphy(pi, true);
19728 t1_offset = cmd << 4;
19729 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, len, t1_offset, 8,
19731 t2_offset = t1_offset + 0x080;
19732 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, len, t2_offset, 8,
19735 for (ctr = len; ctr < 16; ctr++) {
19736 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1,
19737 t1_offset + ctr, 8, &end_event);
19738 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1,
19739 t2_offset + ctr, 8, &end_dly);
19742 if (pi->phyhang_avoid)
19743 wlc_phy_stay_in_carriersearch_nphy(pi, false);
19746 static u16 wlc_phy_read_lpf_bw_ctl_nphy(phy_info_t *pi, u16 offset)
19748 u16 lpf_bw_ctl_val = 0;
19749 u16 rx2tx_lpf_rc_lut_offset = 0;
19752 if (CHSPEC_IS40(pi->radio_chanspec)) {
19753 rx2tx_lpf_rc_lut_offset = 0x159;
19755 rx2tx_lpf_rc_lut_offset = 0x154;
19758 rx2tx_lpf_rc_lut_offset = offset;
19760 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 1,
19761 (u32) rx2tx_lpf_rc_lut_offset, 16,
19764 lpf_bw_ctl_val = lpf_bw_ctl_val & 0x7;
19766 return lpf_bw_ctl_val;
19770 wlc_phy_rfctrl_override_nphy_rev7(phy_info_t *pi, u16 field, u16 value,
19771 u8 core_mask, u8 off, u8 override_id)
19774 u16 addr = 0, en_addr = 0, val_addr = 0, en_mask = 0, val_mask = 0;
19777 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19779 for (core_num = 0; core_num < 2; core_num++) {
19780 if (override_id == NPHY_REV7_RFCTRLOVERRIDE_ID0) {
19784 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19785 val_addr = (core_num == 0) ? 0x7a :
19787 val_mask = (0x1 << 1);
19791 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19792 val_addr = (core_num == 0) ? 0x7a :
19794 val_mask = (0x1 << 2);
19798 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19799 val_addr = (core_num == 0) ? 0x7a :
19801 val_mask = (0x1 << 4);
19805 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19806 val_addr = (core_num == 0) ? 0x7a :
19808 val_mask = (0x1 << 5);
19812 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19813 val_addr = (core_num == 0) ? 0x7a :
19815 val_mask = (0x1 << 6);
19819 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19820 val_addr = (core_num == 0) ? 0x7a :
19822 val_mask = (0x1 << 7);
19826 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19827 val_addr = (core_num == 0) ? 0xf8 :
19829 val_mask = (0x7 << 4);
19833 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19834 val_addr = (core_num == 0) ? 0x7b :
19836 val_mask = (0xffff << 0);
19840 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19841 val_addr = (core_num == 0) ? 0x7c :
19843 val_mask = (0xffff << 0);
19847 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19848 val_addr = (core_num == 0) ? 0x348 :
19850 val_mask = (0xff << 0);
19854 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19855 val_addr = (core_num == 0) ? 0x348 :
19857 val_mask = (0xf << 0);
19864 } else if (override_id == NPHY_REV7_RFCTRLOVERRIDE_ID1) {
19868 en_addr = (core_num == 0) ? 0x342 :
19870 val_addr = (core_num == 0) ? 0x340 :
19872 val_mask = (0x1 << 1);
19876 en_addr = (core_num == 0) ? 0x342 :
19878 val_addr = (core_num == 0) ? 0x340 :
19880 val_mask = (0x1 << 3);
19884 en_addr = (core_num == 0) ? 0x342 :
19886 val_addr = (core_num == 0) ? 0x340 :
19888 val_mask = (0x1 << 5);
19892 en_addr = (core_num == 0) ? 0x342 :
19894 val_addr = (core_num == 0) ? 0x340 :
19896 val_mask = (0x1 << 4);
19901 en_addr = (core_num == 0) ? 0x342 :
19903 val_addr = (core_num == 0) ? 0x340 :
19905 val_mask = (0x1 << 2);
19910 en_addr = (core_num == 0) ? 0x342 :
19912 val_addr = (core_num == 0) ? 0x340 :
19914 val_mask = (0x7 << 8);
19918 en_addr = (core_num == 0) ? 0x342 :
19920 val_addr = (core_num == 0) ? 0x340 :
19922 val_mask = (0x1 << 14);
19926 en_addr = (core_num == 0) ? 0x342 :
19928 val_addr = (core_num == 0) ? 0x340 :
19930 val_mask = (0x1 << 13);
19934 en_addr = (core_num == 0) ? 0x342 :
19936 val_addr = (core_num == 0) ? 0x340 :
19938 val_mask = (0x1 << 12);
19942 en_addr = (core_num == 0) ? 0x342 :
19944 val_addr = (core_num == 0) ? 0x340 :
19946 val_mask = (0x1 << 11);
19950 en_addr = (core_num == 0) ? 0x342 :
19952 val_addr = (core_num == 0) ? 0x340 :
19954 val_mask = (0x1 << 6);
19958 en_addr = (core_num == 0) ? 0x342 :
19960 val_addr = (core_num == 0) ? 0x340 :
19962 val_mask = (0x1 << 0);
19969 } else if (override_id == NPHY_REV7_RFCTRLOVERRIDE_ID2) {
19973 en_addr = (core_num == 0) ? 0x346 :
19975 val_addr = (core_num == 0) ? 0x344 :
19977 val_mask = (0x1 << 3);
19981 en_addr = (core_num == 0) ? 0x346 :
19983 val_addr = (core_num == 0) ? 0x344 :
19985 val_mask = (0x1 << 1);
19989 en_addr = (core_num == 0) ? 0x346 :
19991 val_addr = (core_num == 0) ? 0x344 :
19993 val_mask = (0x1 << 0);
19997 en_addr = (core_num == 0) ? 0x346 :
19999 val_addr = (core_num == 0) ? 0x344 :
20001 val_mask = (0x1 << 2);
20005 en_addr = (core_num == 0) ? 0x346 :
20007 val_addr = (core_num == 0) ? 0x344 :
20009 val_mask = (0x1 << 4);
20019 and_phy_reg(pi, en_addr, ~en_mask);
20020 and_phy_reg(pi, val_addr, ~val_mask);
20023 if ((core_mask == 0)
20024 || (core_mask & (1 << core_num))) {
20025 or_phy_reg(pi, en_addr, en_mask);
20027 if (addr != 0xffff) {
20028 mod_phy_reg(pi, val_addr,
20040 wlc_phy_rfctrl_override_nphy(phy_info_t *pi, u16 field, u16 value,
20041 u8 core_mask, u8 off)
20044 u16 addr = 0, mask = 0, en_addr = 0, val_addr = 0, en_mask =
20046 u8 shift = 0, val_shift = 0;
20048 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 7)) {
20051 for (core_num = 0; core_num < 2; core_num++) {
20055 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20056 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20057 val_mask = (0x1 << 0);
20061 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20062 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20063 val_mask = (0x1 << 1);
20067 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20068 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20069 val_mask = (0x1 << 2);
20073 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20074 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20075 val_mask = (0x1 << 4);
20079 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20080 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20081 val_mask = (0x1 << 5);
20085 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20086 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20087 val_mask = (0x1 << 6);
20091 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20092 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20093 val_mask = (0x1 << 7);
20097 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20098 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20099 val_mask = (0x7 << 8);
20103 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20104 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20105 val_mask = (0x7 << 13);
20110 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20111 val_addr = (core_num == 0) ? 0xf8 : 0xfa;
20112 val_mask = (0x7 << 0);
20117 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20118 val_addr = (core_num == 0) ? 0xf8 : 0xfa;
20119 val_mask = (0x7 << 4);
20124 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20125 val_addr = (core_num == 0) ? 0x7b : 0x7e;
20126 val_mask = (0xffff << 0);
20130 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20131 val_addr = (core_num == 0) ? 0x7c : 0x7f;
20132 val_mask = (0xffff << 0);
20136 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20137 val_addr = (core_num == 0) ? 0xf9 : 0xfb;
20138 val_mask = (0x3 << 6);
20142 en_addr = (core_num == 0) ? 0xe5 : 0xe6;
20143 val_addr = (core_num == 0) ? 0xf9 : 0xfb;
20144 val_mask = (0x1 << 15);
20153 and_phy_reg(pi, en_addr, ~en_mask);
20154 and_phy_reg(pi, val_addr, ~val_mask);
20157 if ((core_mask == 0)
20158 || (core_mask & (1 << core_num))) {
20159 or_phy_reg(pi, en_addr, en_mask);
20161 if (addr != 0xffff) {
20162 mod_phy_reg(pi, val_addr,
20173 and_phy_reg(pi, 0xec, ~field);
20176 or_phy_reg(pi, 0xec, field);
20179 for (core_num = 0; core_num < 2; core_num++) {
20198 addr = (core_num == 0) ? 0x7a : 0x7d;
20201 addr = (core_num == 0) ? 0x7b : 0x7e;
20204 addr = (core_num == 0) ? 0x7c : 0x7f;
20228 mask = (0xf << 12);
20273 if ((addr != 0xffff) && (core_mask & (1 << core_num))) {
20274 mod_phy_reg(pi, addr, mask, (value << shift));
20278 or_phy_reg(pi, 0xec, (0x1 << 0));
20279 or_phy_reg(pi, 0x78, (0x1 << 0));
20281 and_phy_reg(pi, 0xec, ~(0x1 << 0));
20286 wlc_phy_rfctrl_override_1tomany_nphy(phy_info_t *pi, u16 cmd, u16 value,
20287 u8 core_mask, u8 off)
20289 u16 rfmxgain = 0, lpfgain = 0;
20292 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
20295 case NPHY_REV7_RfctrlOverride_cmd_rxrf_pu:
20296 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5),
20297 value, core_mask, off,
20298 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20299 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4), value,
20301 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20302 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3), value,
20304 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20306 case NPHY_REV7_RfctrlOverride_cmd_rx_pu:
20307 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2),
20308 value, core_mask, off,
20309 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20310 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), value,
20312 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20313 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), value,
20315 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20316 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), value,
20318 NPHY_REV7_RFCTRLOVERRIDE_ID2);
20319 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 0,
20321 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20323 case NPHY_REV7_RfctrlOverride_cmd_tx_pu:
20324 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2),
20325 value, core_mask, off,
20326 NPHY_REV7_RFCTRLOVERRIDE_ID0);
20327 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), value,
20329 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20330 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), value,
20332 NPHY_REV7_RFCTRLOVERRIDE_ID2);
20333 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2), value,
20335 NPHY_REV7_RFCTRLOVERRIDE_ID2);
20336 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 1,
20338 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20340 case NPHY_REV7_RfctrlOverride_cmd_rxgain:
20341 rfmxgain = value & 0x000ff;
20342 lpfgain = value & 0x0ff00;
20343 lpfgain = lpfgain >> 8;
20345 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11),
20346 rfmxgain, core_mask,
20348 NPHY_REV7_RFCTRLOVERRIDE_ID0);
20349 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x3 << 13),
20350 lpfgain, core_mask,
20352 NPHY_REV7_RFCTRLOVERRIDE_ID0);
20354 case NPHY_REV7_RfctrlOverride_cmd_txgain:
20355 tgain = value & 0x7fff;
20356 lpfgain = value & 0x8000;
20357 lpfgain = lpfgain >> 14;
20359 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 12),
20360 tgain, core_mask, off,
20361 NPHY_REV7_RFCTRLOVERRIDE_ID0);
20362 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 13),
20363 lpfgain, core_mask,
20365 NPHY_REV7_RFCTRLOVERRIDE_ID0);
20372 wlc_phy_scale_offset_rssi_nphy(phy_info_t *pi, u16 scale, s8 offset,
20373 u8 coresel, u8 rail, u8 rssi_type)
20377 offset = (offset > NPHY_RSSICAL_MAXREAD) ?
20378 NPHY_RSSICAL_MAXREAD : offset;
20379 offset = (offset < (-NPHY_RSSICAL_MAXREAD - 1)) ?
20380 -NPHY_RSSICAL_MAXREAD - 1 : offset;
20382 valuetostuff = ((scale & 0x3f) << 8) | (offset & 0x3f);
20384 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20385 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20386 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_NB)) {
20387 write_phy_reg(pi, 0x1a6, valuetostuff);
20389 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20390 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20391 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_NB)) {
20392 write_phy_reg(pi, 0x1ac, valuetostuff);
20394 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20395 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20396 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_NB)) {
20397 write_phy_reg(pi, 0x1b2, valuetostuff);
20399 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20400 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20401 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_NB)) {
20402 write_phy_reg(pi, 0x1b8, valuetostuff);
20405 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20406 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20407 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_W1)) {
20408 write_phy_reg(pi, 0x1a4, valuetostuff);
20410 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20411 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20412 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_W1)) {
20413 write_phy_reg(pi, 0x1aa, valuetostuff);
20415 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20416 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20417 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_W1)) {
20418 write_phy_reg(pi, 0x1b0, valuetostuff);
20420 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20421 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20422 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_W1)) {
20423 write_phy_reg(pi, 0x1b6, valuetostuff);
20426 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20427 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20428 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_W2)) {
20429 write_phy_reg(pi, 0x1a5, valuetostuff);
20431 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20432 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20433 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_W2)) {
20434 write_phy_reg(pi, 0x1ab, valuetostuff);
20436 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20437 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20438 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_W2)) {
20439 write_phy_reg(pi, 0x1b1, valuetostuff);
20441 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20442 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20443 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_W2)) {
20444 write_phy_reg(pi, 0x1b7, valuetostuff);
20447 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20448 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20449 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_TBD)) {
20450 write_phy_reg(pi, 0x1a7, valuetostuff);
20452 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20453 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20454 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_TBD)) {
20455 write_phy_reg(pi, 0x1ad, valuetostuff);
20457 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20458 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20459 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_TBD)) {
20460 write_phy_reg(pi, 0x1b3, valuetostuff);
20462 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20463 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20464 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_TBD)) {
20465 write_phy_reg(pi, 0x1b9, valuetostuff);
20468 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20469 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20470 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_IQ)) {
20471 write_phy_reg(pi, 0x1a8, valuetostuff);
20473 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20474 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20475 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_IQ)) {
20476 write_phy_reg(pi, 0x1ae, valuetostuff);
20478 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20479 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20480 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_IQ)) {
20481 write_phy_reg(pi, 0x1b4, valuetostuff);
20483 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20484 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20485 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_IQ)) {
20486 write_phy_reg(pi, 0x1ba, valuetostuff);
20489 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20490 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20491 (rssi_type == NPHY_RSSI_SEL_TSSI_2G)) {
20492 write_phy_reg(pi, 0x1a9, valuetostuff);
20494 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20495 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20496 (rssi_type == NPHY_RSSI_SEL_TSSI_2G)) {
20497 write_phy_reg(pi, 0x1b5, valuetostuff);
20500 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20501 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20502 (rssi_type == NPHY_RSSI_SEL_TSSI_5G)) {
20503 write_phy_reg(pi, 0x1af, valuetostuff);
20505 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20506 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20507 (rssi_type == NPHY_RSSI_SEL_TSSI_5G)) {
20508 write_phy_reg(pi, 0x1bb, valuetostuff);
20512 void wlc_phy_rssisel_nphy(phy_info_t *pi, u8 core_code, u8 rssi_type)
20515 u16 afectrlovr_rssi_val, rfctrlcmd_rxen_val, rfctrlcmd_coresel_val,
20517 u16 rfctrlovr_rssi_val, rfctrlovr_rxen_val, rfctrlovr_coresel_val,
20518 rfctrlovr_trigger_val;
20519 u16 afectrlovr_rssi_mask, rfctrlcmd_mask, rfctrlovr_mask;
20520 u16 rfctrlcmd_val, rfctrlovr_val;
20523 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
20524 if (core_code == RADIO_MIMO_CORESEL_OFF) {
20525 mod_phy_reg(pi, 0x8f, (0x1 << 9), 0);
20526 mod_phy_reg(pi, 0xa5, (0x1 << 9), 0);
20528 mod_phy_reg(pi, 0xa6, (0x3 << 8), 0);
20529 mod_phy_reg(pi, 0xa7, (0x3 << 8), 0);
20531 mod_phy_reg(pi, 0xe5, (0x1 << 5), 0);
20532 mod_phy_reg(pi, 0xe6, (0x1 << 5), 0);
20534 mask = (0x1 << 2) |
20535 (0x1 << 3) | (0x1 << 4) | (0x1 << 5);
20536 mod_phy_reg(pi, 0xf9, mask, 0);
20537 mod_phy_reg(pi, 0xfb, mask, 0);
20540 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
20541 if (core_code == RADIO_MIMO_CORESEL_CORE1
20542 && core == PHY_CORE_1)
20544 else if (core_code == RADIO_MIMO_CORESEL_CORE2
20545 && core == PHY_CORE_0)
20548 mod_phy_reg(pi, (core == PHY_CORE_0) ?
20549 0x8f : 0xa5, (0x1 << 9), 1 << 9);
20551 if (rssi_type == NPHY_RSSI_SEL_W1 ||
20552 rssi_type == NPHY_RSSI_SEL_W2 ||
20553 rssi_type == NPHY_RSSI_SEL_NB) {
20557 PHY_CORE_0) ? 0xa6 : 0xa7,
20560 mask = (0x1 << 2) |
20562 (0x1 << 4) | (0x1 << 5);
20565 PHY_CORE_0) ? 0xf9 : 0xfb,
20568 if (rssi_type == NPHY_RSSI_SEL_W1) {
20570 (pi->radio_chanspec)) {
20577 } else if (rssi_type ==
20578 NPHY_RSSI_SEL_W2) {
20587 PHY_CORE_0) ? 0xf9 : 0xfb,
20592 mod_phy_reg(pi, (core == PHY_CORE_0) ?
20593 0xe5 : 0xe6, mask, val);
20595 if (rssi_type == NPHY_RSSI_SEL_TBD) {
20602 : 0xa7, mask, val);
20603 mask = (0x3 << 10);
20608 : 0xa7, mask, val);
20609 } else if (rssi_type ==
20610 NPHY_RSSI_SEL_IQ) {
20617 : 0xa7, mask, val);
20618 mask = (0x3 << 10);
20623 : 0xa7, mask, val);
20631 : 0xa7, mask, val);
20632 mask = (0x3 << 10);
20637 : 0xa7, mask, val);
20641 (pi->pubpi.phy_rev,
20649 RADIO_2057_TX0_TX_SSI_MUX
20651 RADIO_2057_TX1_TX_SSI_MUX),
20660 RADIO_2056_TX_TX_SSI_MUX
20677 (pi->pubpi.phy_rev,
20684 RADIO_2057_TX0_TX_SSI_MUX
20686 RADIO_2057_TX1_TX_SSI_MUX),
20694 RADIO_2057_IQTEST_SEL_PU,
20700 RADIO_2056_TX_TX_SSI_MUX
20712 afectrlovr_rssi_val = 1 << 9;
20716 : 0xa5, (0x1 << 9),
20717 afectrlovr_rssi_val);
20724 if ((rssi_type == NPHY_RSSI_SEL_W1) ||
20725 (rssi_type == NPHY_RSSI_SEL_W2) ||
20726 (rssi_type == NPHY_RSSI_SEL_NB)) {
20729 } else if (rssi_type == NPHY_RSSI_SEL_TBD) {
20732 } else if (rssi_type == NPHY_RSSI_SEL_IQ) {
20739 mask = ((0x3 << 12) | (0x3 << 14));
20740 val = (val << 12) | (val << 14);
20741 mod_phy_reg(pi, 0xa6, mask, val);
20742 mod_phy_reg(pi, 0xa7, mask, val);
20744 if ((rssi_type == NPHY_RSSI_SEL_W1) ||
20745 (rssi_type == NPHY_RSSI_SEL_W2) ||
20746 (rssi_type == NPHY_RSSI_SEL_NB)) {
20747 if (rssi_type == NPHY_RSSI_SEL_W1) {
20750 if (rssi_type == NPHY_RSSI_SEL_W2) {
20753 if (rssi_type == NPHY_RSSI_SEL_NB) {
20758 mod_phy_reg(pi, 0x7a, mask, val);
20759 mod_phy_reg(pi, 0x7d, mask, val);
20762 if (core_code == RADIO_MIMO_CORESEL_OFF) {
20763 afectrlovr_rssi_val = 0;
20764 rfctrlcmd_rxen_val = 0;
20765 rfctrlcmd_coresel_val = 0;
20766 rfctrlovr_rssi_val = 0;
20767 rfctrlovr_rxen_val = 0;
20768 rfctrlovr_coresel_val = 0;
20769 rfctrlovr_trigger_val = 0;
20772 afectrlovr_rssi_val = 1;
20773 rfctrlcmd_rxen_val = 1;
20774 rfctrlcmd_coresel_val = core_code;
20775 rfctrlovr_rssi_val = 1;
20776 rfctrlovr_rxen_val = 1;
20777 rfctrlovr_coresel_val = 1;
20778 rfctrlovr_trigger_val = 1;
20782 afectrlovr_rssi_mask = ((0x1 << 12) | (0x1 << 13));
20783 afectrlovr_rssi_val = (afectrlovr_rssi_val <<
20784 12) | (afectrlovr_rssi_val << 13);
20785 mod_phy_reg(pi, 0xa5, afectrlovr_rssi_mask,
20786 afectrlovr_rssi_val);
20788 if ((rssi_type == NPHY_RSSI_SEL_W1) ||
20789 (rssi_type == NPHY_RSSI_SEL_W2) ||
20790 (rssi_type == NPHY_RSSI_SEL_NB)) {
20791 rfctrlcmd_mask = ((0x1 << 8) | (0x7 << 3));
20792 rfctrlcmd_val = (rfctrlcmd_rxen_val << 8) |
20793 (rfctrlcmd_coresel_val << 3);
20795 rfctrlovr_mask = ((0x1 << 5) |
20797 (0x1 << 1) | (0x1 << 0));
20798 rfctrlovr_val = (rfctrlovr_rssi_val <<
20800 (rfctrlovr_rxen_val << 12) |
20801 (rfctrlovr_coresel_val << 1) |
20802 (rfctrlovr_trigger_val << 0);
20804 mod_phy_reg(pi, 0x78, rfctrlcmd_mask, rfctrlcmd_val);
20805 mod_phy_reg(pi, 0xec, rfctrlovr_mask, rfctrlovr_val);
20807 mod_phy_reg(pi, 0x78, (0x1 << 0), (startseq << 0));
20810 mod_phy_reg(pi, 0xec, (0x1 << 0), 0);
20816 wlc_phy_poll_rssi_nphy(phy_info_t *pi, u8 rssi_type, s32 *rssi_buf,
20820 u16 afectrlCore1_save = 0;
20821 u16 afectrlCore2_save = 0;
20822 u16 afectrlOverride1_save = 0;
20823 u16 afectrlOverride2_save = 0;
20824 u16 rfctrlOverrideAux0_save = 0;
20825 u16 rfctrlOverrideAux1_save = 0;
20826 u16 rfctrlMiscReg1_save = 0;
20827 u16 rfctrlMiscReg2_save = 0;
20828 u16 rfctrlcmd_save = 0;
20829 u16 rfctrloverride_save = 0;
20830 u16 rfctrlrssiothers1_save = 0;
20831 u16 rfctrlrssiothers2_save = 0;
20833 u8 ctr = 0, samp = 0;
20837 afectrlCore1_save = read_phy_reg(pi, 0xa6);
20838 afectrlCore2_save = read_phy_reg(pi, 0xa7);
20839 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
20840 rfctrlMiscReg1_save = read_phy_reg(pi, 0xf9);
20841 rfctrlMiscReg2_save = read_phy_reg(pi, 0xfb);
20842 afectrlOverride1_save = read_phy_reg(pi, 0x8f);
20843 afectrlOverride2_save = read_phy_reg(pi, 0xa5);
20844 rfctrlOverrideAux0_save = read_phy_reg(pi, 0xe5);
20845 rfctrlOverrideAux1_save = read_phy_reg(pi, 0xe6);
20847 afectrlOverride1_save = read_phy_reg(pi, 0xa5);
20848 rfctrlcmd_save = read_phy_reg(pi, 0x78);
20849 rfctrloverride_save = read_phy_reg(pi, 0xec);
20850 rfctrlrssiothers1_save = read_phy_reg(pi, 0x7a);
20851 rfctrlrssiothers2_save = read_phy_reg(pi, 0x7d);
20854 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_ALLRX, rssi_type);
20856 gpiosel_orig = read_phy_reg(pi, 0xca);
20857 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
20858 write_phy_reg(pi, 0xca, 5);
20861 for (ctr = 0; ctr < 4; ctr++) {
20865 for (samp = 0; samp < nsamps; samp++) {
20866 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
20867 rssi0 = read_phy_reg(pi, 0x1c9);
20868 rssi1 = read_phy_reg(pi, 0x1ca);
20870 rssi0 = read_phy_reg(pi, 0x219);
20871 rssi1 = read_phy_reg(pi, 0x21a);
20875 tmp_buf[ctr++] = ((s8) ((rssi0 & 0x3f) << 2)) >> 2;
20876 tmp_buf[ctr++] = ((s8) (((rssi0 >> 8) & 0x3f) << 2)) >> 2;
20877 tmp_buf[ctr++] = ((s8) ((rssi1 & 0x3f) << 2)) >> 2;
20878 tmp_buf[ctr++] = ((s8) (((rssi1 >> 8) & 0x3f) << 2)) >> 2;
20880 for (ctr = 0; ctr < 4; ctr++) {
20881 rssi_buf[ctr] += tmp_buf[ctr];
20886 rssi_out_val = rssi_buf[3] & 0xff;
20887 rssi_out_val |= (rssi_buf[2] & 0xff) << 8;
20888 rssi_out_val |= (rssi_buf[1] & 0xff) << 16;
20889 rssi_out_val |= (rssi_buf[0] & 0xff) << 24;
20891 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
20892 write_phy_reg(pi, 0xca, gpiosel_orig);
20895 write_phy_reg(pi, 0xa6, afectrlCore1_save);
20896 write_phy_reg(pi, 0xa7, afectrlCore2_save);
20897 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
20898 write_phy_reg(pi, 0xf9, rfctrlMiscReg1_save);
20899 write_phy_reg(pi, 0xfb, rfctrlMiscReg2_save);
20900 write_phy_reg(pi, 0x8f, afectrlOverride1_save);
20901 write_phy_reg(pi, 0xa5, afectrlOverride2_save);
20902 write_phy_reg(pi, 0xe5, rfctrlOverrideAux0_save);
20903 write_phy_reg(pi, 0xe6, rfctrlOverrideAux1_save);
20905 write_phy_reg(pi, 0xa5, afectrlOverride1_save);
20906 write_phy_reg(pi, 0x78, rfctrlcmd_save);
20907 write_phy_reg(pi, 0xec, rfctrloverride_save);
20908 write_phy_reg(pi, 0x7a, rfctrlrssiothers1_save);
20909 write_phy_reg(pi, 0x7d, rfctrlrssiothers2_save);
20912 return rssi_out_val;
20915 s16 wlc_phy_tempsense_nphy(phy_info_t *pi)
20917 u16 core1_txrf_iqcal1_save, core1_txrf_iqcal2_save;
20918 u16 core2_txrf_iqcal1_save, core2_txrf_iqcal2_save;
20919 u16 pwrdet_rxtx_core1_save;
20920 u16 pwrdet_rxtx_core2_save;
20921 u16 afectrlCore1_save;
20922 u16 afectrlCore2_save;
20923 u16 afectrlOverride_save;
20924 u16 afectrlOverride2_save;
20925 u16 pd_pll_ts_save;
20928 s32 radio_temp2[4];
20929 u16 syn_tempprocsense_save;
20932 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
20933 u16 auxADC_Vmid, auxADC_Av, auxADC_Vmid_save, auxADC_Av_save;
20934 u16 auxADC_rssi_ctrlL_save, auxADC_rssi_ctrlH_save;
20935 u16 auxADC_rssi_ctrlL, auxADC_rssi_ctrlH;
20937 u16 RfctrlOverride5_save, RfctrlOverride6_save;
20938 u16 RfctrlMiscReg5_save, RfctrlMiscReg6_save;
20939 u16 RSSIMultCoef0QPowerDet_save;
20940 u16 tempsense_Rcal;
20942 syn_tempprocsense_save =
20943 read_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG);
20945 afectrlCore1_save = read_phy_reg(pi, 0xa6);
20946 afectrlCore2_save = read_phy_reg(pi, 0xa7);
20947 afectrlOverride_save = read_phy_reg(pi, 0x8f);
20948 afectrlOverride2_save = read_phy_reg(pi, 0xa5);
20949 RSSIMultCoef0QPowerDet_save = read_phy_reg(pi, 0x1ae);
20950 RfctrlOverride5_save = read_phy_reg(pi, 0x346);
20951 RfctrlOverride6_save = read_phy_reg(pi, 0x347);
20952 RfctrlMiscReg5_save = read_phy_reg(pi, 0x344);
20953 RfctrlMiscReg6_save = read_phy_reg(pi, 0x345);
20955 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0A, 16,
20956 &auxADC_Vmid_save);
20957 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0E, 16,
20959 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x02, 16,
20960 &auxADC_rssi_ctrlL_save);
20961 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x03, 16,
20962 &auxADC_rssi_ctrlH_save);
20964 write_phy_reg(pi, 0x1ae, 0x0);
20966 auxADC_rssi_ctrlL = 0x0;
20967 auxADC_rssi_ctrlH = 0x20;
20968 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x02, 16,
20969 &auxADC_rssi_ctrlL);
20970 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x03, 16,
20971 &auxADC_rssi_ctrlH);
20973 tempsense_Rcal = syn_tempprocsense_save & 0x1c;
20975 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG,
20976 tempsense_Rcal | 0x01);
20978 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1),
20980 NPHY_REV7_RFCTRLOVERRIDE_ID2);
20981 mod_phy_reg(pi, 0xa6, (0x1 << 7), 0);
20982 mod_phy_reg(pi, 0xa7, (0x1 << 7), 0);
20983 mod_phy_reg(pi, 0x8f, (0x1 << 7), (0x1 << 7));
20984 mod_phy_reg(pi, 0xa5, (0x1 << 7), (0x1 << 7));
20986 mod_phy_reg(pi, 0xa6, (0x1 << 2), (0x1 << 2));
20987 mod_phy_reg(pi, 0xa7, (0x1 << 2), (0x1 << 2));
20988 mod_phy_reg(pi, 0x8f, (0x1 << 2), (0x1 << 2));
20989 mod_phy_reg(pi, 0xa5, (0x1 << 2), (0x1 << 2));
20991 mod_phy_reg(pi, 0xa6, (0x1 << 2), 0);
20992 mod_phy_reg(pi, 0xa7, (0x1 << 2), 0);
20993 mod_phy_reg(pi, 0xa6, (0x1 << 3), 0);
20994 mod_phy_reg(pi, 0xa7, (0x1 << 3), 0);
20995 mod_phy_reg(pi, 0x8f, (0x1 << 3), (0x1 << 3));
20996 mod_phy_reg(pi, 0xa5, (0x1 << 3), (0x1 << 3));
20997 mod_phy_reg(pi, 0xa6, (0x1 << 6), 0);
20998 mod_phy_reg(pi, 0xa7, (0x1 << 6), 0);
20999 mod_phy_reg(pi, 0x8f, (0x1 << 6), (0x1 << 6));
21000 mod_phy_reg(pi, 0xa5, (0x1 << 6), (0x1 << 6));
21002 auxADC_Vmid = 0xA3;
21004 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0A, 16,
21006 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0E, 16,
21011 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
21012 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG,
21013 tempsense_Rcal | 0x03);
21016 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp2, 1);
21019 if (radio_temp[1] + radio_temp2[1] < -30) {
21020 auxADC_Vmid = 0x45;
21022 } else if (radio_temp[1] + radio_temp2[1] < -9) {
21023 auxADC_Vmid = 0x200;
21025 } else if (radio_temp[1] + radio_temp2[1] < 11) {
21026 auxADC_Vmid = 0x266;
21029 auxADC_Vmid = 0x2D5;
21033 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0A, 16,
21035 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0E, 16,
21040 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp2, 1);
21041 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG,
21042 tempsense_Rcal | 0x01);
21045 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
21047 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG,
21048 syn_tempprocsense_save);
21050 write_phy_reg(pi, 0xa6, afectrlCore1_save);
21051 write_phy_reg(pi, 0xa7, afectrlCore2_save);
21052 write_phy_reg(pi, 0x8f, afectrlOverride_save);
21053 write_phy_reg(pi, 0xa5, afectrlOverride2_save);
21054 write_phy_reg(pi, 0x1ae, RSSIMultCoef0QPowerDet_save);
21055 write_phy_reg(pi, 0x346, RfctrlOverride5_save);
21056 write_phy_reg(pi, 0x347, RfctrlOverride6_save);
21057 write_phy_reg(pi, 0x344, RfctrlMiscReg5_save);
21058 write_phy_reg(pi, 0x345, RfctrlMiscReg5_save);
21060 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0A, 16,
21061 &auxADC_Vmid_save);
21062 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0E, 16,
21064 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x02, 16,
21065 &auxADC_rssi_ctrlL_save);
21066 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x03, 16,
21067 &auxADC_rssi_ctrlH_save);
21069 if (pi->sh->chip == BCM5357_CHIP_ID) {
21070 radio_temp[0] = (193 * (radio_temp[1] + radio_temp2[1])
21071 + 88 * (auxADC_Vl) - 27111 +
21073 } else if (pi->sh->chip == BCM43236_CHIP_ID) {
21074 radio_temp[0] = (198 * (radio_temp[1] + radio_temp2[1])
21075 + 91 * (auxADC_Vl) - 27243 +
21078 radio_temp[0] = (179 * (radio_temp[1] + radio_temp2[1])
21079 + 82 * (auxADC_Vl) - 28861 +
21083 offset = (s16) pi->phy_tempsense_offset;
21085 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
21086 syn_tempprocsense_save =
21087 read_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE);
21089 afectrlCore1_save = read_phy_reg(pi, 0xa6);
21090 afectrlCore2_save = read_phy_reg(pi, 0xa7);
21091 afectrlOverride_save = read_phy_reg(pi, 0x8f);
21092 afectrlOverride2_save = read_phy_reg(pi, 0xa5);
21093 gpioSel_save = read_phy_reg(pi, 0xca);
21095 write_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE, 0x01);
21097 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
21098 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21100 write_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE, 0x05);
21103 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp2, 1);
21104 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21105 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG, 0x01);
21107 write_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE, 0x01);
21111 (126 * (radio_temp[1] + radio_temp2[1]) + 3987) / 64;
21113 write_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE,
21114 syn_tempprocsense_save);
21116 write_phy_reg(pi, 0xca, gpioSel_save);
21117 write_phy_reg(pi, 0xa6, afectrlCore1_save);
21118 write_phy_reg(pi, 0xa7, afectrlCore2_save);
21119 write_phy_reg(pi, 0x8f, afectrlOverride_save);
21120 write_phy_reg(pi, 0xa5, afectrlOverride2_save);
21122 offset = (s16) pi->phy_tempsense_offset;
21125 pwrdet_rxtx_core1_save =
21126 read_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1);
21127 pwrdet_rxtx_core2_save =
21128 read_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2);
21129 core1_txrf_iqcal1_save =
21130 read_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1);
21131 core1_txrf_iqcal2_save =
21132 read_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2);
21133 core2_txrf_iqcal1_save =
21134 read_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1);
21135 core2_txrf_iqcal2_save =
21136 read_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2);
21137 pd_pll_ts_save = read_radio_reg(pi, RADIO_2055_PD_PLL_TS);
21139 afectrlCore1_save = read_phy_reg(pi, 0xa6);
21140 afectrlCore2_save = read_phy_reg(pi, 0xa7);
21141 afectrlOverride_save = read_phy_reg(pi, 0xa5);
21142 gpioSel_save = read_phy_reg(pi, 0xca);
21144 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1, 0x01);
21145 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1, 0x01);
21146 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2, 0x08);
21147 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2, 0x08);
21148 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1, 0x04);
21149 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2, 0x04);
21150 write_radio_reg(pi, RADIO_2055_PD_PLL_TS, 0x00);
21152 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
21153 xor_radio_reg(pi, RADIO_2055_CAL_TS, 0x80);
21155 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
21156 xor_radio_reg(pi, RADIO_2055_CAL_TS, 0x80);
21158 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp2, 1);
21159 xor_radio_reg(pi, RADIO_2055_CAL_TS, 0x80);
21161 radio_temp[0] = (radio_temp[0] + radio_temp2[0]);
21162 radio_temp[1] = (radio_temp[1] + radio_temp2[1]);
21163 radio_temp[2] = (radio_temp[2] + radio_temp2[2]);
21164 radio_temp[3] = (radio_temp[3] + radio_temp2[3]);
21167 (radio_temp[0] + radio_temp[1] + radio_temp[2] +
21171 (radio_temp[0] + (8 * 32)) * (950 - 350) / 63 + (350 * 8);
21173 radio_temp[0] = (radio_temp[0] - (8 * 420)) / 38;
21175 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1,
21176 pwrdet_rxtx_core1_save);
21177 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2,
21178 pwrdet_rxtx_core2_save);
21179 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1,
21180 core1_txrf_iqcal1_save);
21181 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1,
21182 core2_txrf_iqcal1_save);
21183 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2,
21184 core1_txrf_iqcal2_save);
21185 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2,
21186 core2_txrf_iqcal2_save);
21187 write_radio_reg(pi, RADIO_2055_PD_PLL_TS, pd_pll_ts_save);
21189 write_phy_reg(pi, 0xca, gpioSel_save);
21190 write_phy_reg(pi, 0xa6, afectrlCore1_save);
21191 write_phy_reg(pi, 0xa7, afectrlCore2_save);
21192 write_phy_reg(pi, 0xa5, afectrlOverride_save);
21195 return (s16) radio_temp[0] + offset;
21199 wlc_phy_set_rssi_2055_vcm(phy_info_t *pi, u8 rssi_type, u8 *vcm_buf)
21203 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
21204 if (rssi_type == NPHY_RSSI_SEL_NB) {
21205 if (core == PHY_CORE_0) {
21207 RADIO_2055_CORE1_B0_NBRSSI_VCM,
21208 RADIO_2055_NBRSSI_VCM_I_MASK,
21211 RADIO_2055_NBRSSI_VCM_I_SHIFT);
21213 RADIO_2055_CORE1_RXBB_RSSI_CTRL5,
21214 RADIO_2055_NBRSSI_VCM_Q_MASK,
21217 RADIO_2055_NBRSSI_VCM_Q_SHIFT);
21220 RADIO_2055_CORE2_B0_NBRSSI_VCM,
21221 RADIO_2055_NBRSSI_VCM_I_MASK,
21224 RADIO_2055_NBRSSI_VCM_I_SHIFT);
21226 RADIO_2055_CORE2_RXBB_RSSI_CTRL5,
21227 RADIO_2055_NBRSSI_VCM_Q_MASK,
21230 RADIO_2055_NBRSSI_VCM_Q_SHIFT);
21234 if (core == PHY_CORE_0) {
21236 RADIO_2055_CORE1_RXBB_RSSI_CTRL5,
21237 RADIO_2055_WBRSSI_VCM_IQ_MASK,
21240 RADIO_2055_WBRSSI_VCM_IQ_SHIFT);
21243 RADIO_2055_CORE2_RXBB_RSSI_CTRL5,
21244 RADIO_2055_WBRSSI_VCM_IQ_MASK,
21247 RADIO_2055_WBRSSI_VCM_IQ_SHIFT);
21253 void wlc_phy_rssi_cal_nphy(phy_info_t *pi)
21255 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
21257 wlc_phy_rssi_cal_nphy_rev3(pi);
21259 wlc_phy_rssi_cal_nphy_rev2(pi, NPHY_RSSI_SEL_NB);
21260 wlc_phy_rssi_cal_nphy_rev2(pi, NPHY_RSSI_SEL_W1);
21261 wlc_phy_rssi_cal_nphy_rev2(pi, NPHY_RSSI_SEL_W2);
21265 static void wlc_phy_rssi_cal_nphy_rev2(phy_info_t *pi, u8 rssi_type)
21270 u16 rssi_ctrl_state[2], pd_state[2];
21271 u16 rfctrlintc_state[2], rfpdcorerxtx_state[2];
21272 u16 rfctrlintc_override_val;
21273 u16 clip_off[] = { 0xffff, 0xffff };
21274 u16 rf_pd_val, pd_mask, rssi_ctrl_mask;
21275 u8 vcm, min_vcm, vcm_tmp[4];
21276 u8 vcm_final[4] = { 0, 0, 0, 0 };
21277 u8 result_idx, ctr;
21278 s32 poll_results[4][4] = {
21284 s32 poll_miniq[4][2] = {
21291 s32 fine_digital_offset[4];
21292 s32 poll_results_min[4] = { 0, 0, 0, 0 };
21295 switch (rssi_type) {
21296 case NPHY_RSSI_SEL_NB:
21297 target_code = NPHY_RSSICAL_NB_TARGET;
21299 case NPHY_RSSI_SEL_W1:
21300 target_code = NPHY_RSSICAL_W1_TARGET;
21302 case NPHY_RSSI_SEL_W2:
21303 target_code = NPHY_RSSICAL_W2_TARGET;
21310 classif_state = wlc_phy_classifier_nphy(pi, 0, 0);
21311 wlc_phy_classifier_nphy(pi, (0x7 << 0), 4);
21312 wlc_phy_clip_det_nphy(pi, 0, clip_state);
21313 wlc_phy_clip_det_nphy(pi, 1, clip_off);
21315 rf_pd_val = (rssi_type == NPHY_RSSI_SEL_NB) ? 0x6 : 0x4;
21316 rfctrlintc_override_val =
21317 CHSPEC_IS5G(pi->radio_chanspec) ? 0x140 : 0x110;
21319 rfctrlintc_state[0] = read_phy_reg(pi, 0x91);
21320 rfpdcorerxtx_state[0] = read_radio_reg(pi, RADIO_2055_PD_CORE1_RXTX);
21321 write_phy_reg(pi, 0x91, rfctrlintc_override_val);
21322 write_radio_reg(pi, RADIO_2055_PD_CORE1_RXTX, rf_pd_val);
21324 rfctrlintc_state[1] = read_phy_reg(pi, 0x92);
21325 rfpdcorerxtx_state[1] = read_radio_reg(pi, RADIO_2055_PD_CORE2_RXTX);
21326 write_phy_reg(pi, 0x92, rfctrlintc_override_val);
21327 write_radio_reg(pi, RADIO_2055_PD_CORE2_RXTX, rf_pd_val);
21329 pd_mask = RADIO_2055_NBRSSI_PD | RADIO_2055_WBRSSI_G1_PD |
21330 RADIO_2055_WBRSSI_G2_PD;
21332 read_radio_reg(pi, RADIO_2055_PD_CORE1_RSSI_MISC) & pd_mask;
21334 read_radio_reg(pi, RADIO_2055_PD_CORE2_RSSI_MISC) & pd_mask;
21335 mod_radio_reg(pi, RADIO_2055_PD_CORE1_RSSI_MISC, pd_mask, 0);
21336 mod_radio_reg(pi, RADIO_2055_PD_CORE2_RSSI_MISC, pd_mask, 0);
21337 rssi_ctrl_mask = RADIO_2055_NBRSSI_SEL | RADIO_2055_WBRSSI_G1_SEL |
21338 RADIO_2055_WBRSSI_G2_SEL;
21339 rssi_ctrl_state[0] =
21340 read_radio_reg(pi, RADIO_2055_SP_RSSI_CORE1) & rssi_ctrl_mask;
21341 rssi_ctrl_state[1] =
21342 read_radio_reg(pi, RADIO_2055_SP_RSSI_CORE2) & rssi_ctrl_mask;
21343 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_ALLRX, rssi_type);
21345 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0, RADIO_MIMO_CORESEL_ALLRX,
21346 NPHY_RAIL_I, rssi_type);
21347 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0, RADIO_MIMO_CORESEL_ALLRX,
21348 NPHY_RAIL_Q, rssi_type);
21350 for (vcm = 0; vcm < 4; vcm++) {
21352 vcm_tmp[0] = vcm_tmp[1] = vcm_tmp[2] = vcm_tmp[3] = vcm;
21353 if (rssi_type != NPHY_RSSI_SEL_W2) {
21354 wlc_phy_set_rssi_2055_vcm(pi, rssi_type, vcm_tmp);
21357 wlc_phy_poll_rssi_nphy(pi, rssi_type, &poll_results[vcm][0],
21358 NPHY_RSSICAL_NPOLL);
21360 if ((rssi_type == NPHY_RSSI_SEL_W1)
21361 || (rssi_type == NPHY_RSSI_SEL_W2)) {
21362 for (ctr = 0; ctr < 2; ctr++) {
21363 poll_miniq[vcm][ctr] =
21364 min(poll_results[vcm][ctr * 2 + 0],
21365 poll_results[vcm][ctr * 2 + 1]);
21370 for (result_idx = 0; result_idx < 4; result_idx++) {
21371 min_d = NPHY_RSSICAL_MAXD;
21373 min_poll = NPHY_RSSICAL_MAXREAD * NPHY_RSSICAL_NPOLL + 1;
21374 for (vcm = 0; vcm < 4; vcm++) {
21375 curr_d = ABS(((rssi_type == NPHY_RSSI_SEL_NB) ?
21376 poll_results[vcm][result_idx] :
21377 poll_miniq[vcm][result_idx / 2]) -
21378 (target_code * NPHY_RSSICAL_NPOLL));
21379 if (curr_d < min_d) {
21383 if (poll_results[vcm][result_idx] < min_poll) {
21384 min_poll = poll_results[vcm][result_idx];
21387 vcm_final[result_idx] = min_vcm;
21388 poll_results_min[result_idx] = min_poll;
21391 if (rssi_type != NPHY_RSSI_SEL_W2) {
21392 wlc_phy_set_rssi_2055_vcm(pi, rssi_type, vcm_final);
21395 for (result_idx = 0; result_idx < 4; result_idx++) {
21396 fine_digital_offset[result_idx] =
21397 (target_code * NPHY_RSSICAL_NPOLL) -
21398 poll_results[vcm_final[result_idx]][result_idx];
21399 if (fine_digital_offset[result_idx] < 0) {
21400 fine_digital_offset[result_idx] =
21401 ABS(fine_digital_offset[result_idx]);
21402 fine_digital_offset[result_idx] +=
21403 (NPHY_RSSICAL_NPOLL / 2);
21404 fine_digital_offset[result_idx] /= NPHY_RSSICAL_NPOLL;
21405 fine_digital_offset[result_idx] =
21406 -fine_digital_offset[result_idx];
21408 fine_digital_offset[result_idx] +=
21409 (NPHY_RSSICAL_NPOLL / 2);
21410 fine_digital_offset[result_idx] /= NPHY_RSSICAL_NPOLL;
21413 if (poll_results_min[result_idx] ==
21414 NPHY_RSSICAL_MAXREAD * NPHY_RSSICAL_NPOLL) {
21415 fine_digital_offset[result_idx] =
21416 (target_code - NPHY_RSSICAL_MAXREAD - 1);
21419 wlc_phy_scale_offset_rssi_nphy(pi, 0x0,
21421 fine_digital_offset[result_idx],
21423 0) ? RADIO_MIMO_CORESEL_CORE1 :
21424 RADIO_MIMO_CORESEL_CORE2,
21426 0) ? NPHY_RAIL_I : NPHY_RAIL_Q,
21430 mod_radio_reg(pi, RADIO_2055_PD_CORE1_RSSI_MISC, pd_mask, pd_state[0]);
21431 mod_radio_reg(pi, RADIO_2055_PD_CORE2_RSSI_MISC, pd_mask, pd_state[1]);
21432 if (rssi_ctrl_state[0] == RADIO_2055_NBRSSI_SEL) {
21433 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE1,
21435 } else if (rssi_ctrl_state[0] == RADIO_2055_WBRSSI_G1_SEL) {
21436 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE1,
21438 } else if (rssi_ctrl_state[0] == RADIO_2055_WBRSSI_G2_SEL) {
21439 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE1,
21442 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE1,
21445 if (rssi_ctrl_state[1] == RADIO_2055_NBRSSI_SEL) {
21446 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE2,
21448 } else if (rssi_ctrl_state[1] == RADIO_2055_WBRSSI_G1_SEL) {
21449 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE2,
21451 } else if (rssi_ctrl_state[1] == RADIO_2055_WBRSSI_G2_SEL) {
21452 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE2,
21455 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE2,
21459 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_OFF, rssi_type);
21461 write_phy_reg(pi, 0x91, rfctrlintc_state[0]);
21462 write_radio_reg(pi, RADIO_2055_PD_CORE1_RXTX, rfpdcorerxtx_state[0]);
21463 write_phy_reg(pi, 0x92, rfctrlintc_state[1]);
21464 write_radio_reg(pi, RADIO_2055_PD_CORE2_RXTX, rfpdcorerxtx_state[1]);
21466 wlc_phy_classifier_nphy(pi, (0x7 << 0), classif_state);
21467 wlc_phy_clip_det_nphy(pi, 1, clip_state);
21469 wlc_phy_resetcca_nphy(pi);
21473 wlc_phy_rssi_compute_nphy(phy_info_t *pi, wlc_d11rxhdr_t *wlc_rxh)
21475 d11rxhdr_t *rxh = &wlc_rxh->rxhdr;
21476 s16 rxpwr, rxpwr0, rxpwr1;
21477 s16 phyRx0_l, phyRx2_l;
21480 rxpwr0 = le16_to_cpu(rxh->PhyRxStatus_1) & PRXS1_nphy_PWR0_MASK;
21481 rxpwr1 = (le16_to_cpu(rxh->PhyRxStatus_1) & PRXS1_nphy_PWR1_MASK) >> 8;
21488 phyRx0_l = le16_to_cpu(rxh->PhyRxStatus_0) & 0x00ff;
21489 phyRx2_l = le16_to_cpu(rxh->PhyRxStatus_2) & 0x00ff;
21490 if (phyRx2_l > 127)
21493 if (((rxpwr0 == 16) || (rxpwr0 == 32))) {
21498 wlc_rxh->rxpwr[0] = (s8) rxpwr0;
21499 wlc_rxh->rxpwr[1] = (s8) rxpwr1;
21500 wlc_rxh->do_rssi_ma = 0;
21502 if (pi->sh->rssi_mode == RSSI_ANT_MERGE_MAX)
21503 rxpwr = (rxpwr0 > rxpwr1) ? rxpwr0 : rxpwr1;
21504 else if (pi->sh->rssi_mode == RSSI_ANT_MERGE_MIN)
21505 rxpwr = (rxpwr0 < rxpwr1) ? rxpwr0 : rxpwr1;
21506 else if (pi->sh->rssi_mode == RSSI_ANT_MERGE_AVG)
21507 rxpwr = (rxpwr0 + rxpwr1) >> 1;
21515 wlc_phy_rfctrlintc_override_nphy(phy_info_t *pi, u8 field, u16 value,
21522 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
21523 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
21524 if (core_code == RADIO_MIMO_CORESEL_CORE1
21525 && core == PHY_CORE_1)
21527 else if (core_code == RADIO_MIMO_CORESEL_CORE2
21528 && core == PHY_CORE_0)
21531 if (NREV_LT(pi->pubpi.phy_rev, 7)) {
21533 mask = (0x1 << 10);
21535 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x91 :
21539 if (field == NPHY_RfctrlIntc_override_OFF) {
21541 write_phy_reg(pi, (core == PHY_CORE_0) ? 0x91 :
21544 wlc_phy_force_rfseq_nphy(pi,
21545 NPHY_RFSEQ_RESET2RX);
21546 } else if (field == NPHY_RfctrlIntc_override_TRSW) {
21548 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21550 mask = (0x1 << 6) | (0x1 << 7);
21555 PHY_CORE_0) ? 0x91 : 0x92,
21560 PHY_CORE_0) ? 0x91 : 0x92,
21563 and_phy_reg(pi, 0x2ff, (u16)
21565 or_phy_reg(pi, 0x2ff, (0x1 << 13));
21566 or_phy_reg(pi, 0x2ff, (0x1 << 0));
21569 mask = (0x1 << 6) |
21571 (0x1 << 8) | (0x1 << 9);
21575 PHY_CORE_0) ? 0x91 : 0x92,
21582 PHY_CORE_0) ? 0xe7 : 0xec,
21585 mask = (core == PHY_CORE_0) ? (0x1 << 0)
21587 val = 1 << ((core == PHY_CORE_0) ?
21589 mod_phy_reg(pi, 0x78, mask, val);
21591 SPINWAIT(((read_phy_reg(pi, 0x78) & val)
21593 ASSERT((read_phy_reg(pi, 0x78) & val) ==
21600 PHY_CORE_0) ? 0xe7 : 0xec,
21603 } else if (field == NPHY_RfctrlIntc_override_PA) {
21604 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21606 mask = (0x1 << 4) | (0x1 << 5);
21608 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21616 PHY_CORE_0) ? 0x91 : 0x92,
21621 PHY_CORE_0) ? 0x91 : 0x92,
21625 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21634 PHY_CORE_0) ? 0x91 : 0x92,
21637 } else if (field == NPHY_RfctrlIntc_override_EXT_LNA_PU) {
21638 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21639 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21646 : 0x92, mask, val);
21660 : 0x92, mask, val);
21669 mask = (0x1 << 11);
21673 PHY_CORE_0) ? 0x91 : 0x92,
21677 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21686 PHY_CORE_0) ? 0x91 : 0x92,
21689 } else if (field ==
21690 NPHY_RfctrlIntc_override_EXT_LNA_GAIN) {
21691 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21692 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21699 : 0x92, mask, val);
21713 : 0x92, mask, val);
21722 mask = (0x1 << 11);
21726 PHY_CORE_0) ? 0x91 : 0x92,
21730 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21739 PHY_CORE_0) ? 0x91 : 0x92,
21749 static void wlc_phy_rssi_cal_nphy_rev3(phy_info_t *pi)
21753 u16 clip_off[] = { 0xffff, 0xffff };
21758 s32 poll_results[8][4] = {
21768 s32 poll_result_core[4] = { 0, 0, 0, 0 };
21769 s32 min_d = NPHY_RSSICAL_MAXD, curr_d;
21770 s32 fine_digital_offset[4];
21771 s32 poll_results_min[4] = { 0, 0, 0, 0 };
21777 u16 NPHY_Rfctrlintc1_save, NPHY_Rfctrlintc2_save;
21778 u16 NPHY_AfectrlOverride1_save, NPHY_AfectrlOverride2_save;
21779 u16 NPHY_AfectrlCore1_save, NPHY_AfectrlCore2_save;
21780 u16 NPHY_RfctrlOverride0_save, NPHY_RfctrlOverride1_save;
21781 u16 NPHY_RfctrlOverrideAux0_save, NPHY_RfctrlOverrideAux1_save;
21782 u16 NPHY_RfctrlCmd_save;
21783 u16 NPHY_RfctrlMiscReg1_save, NPHY_RfctrlMiscReg2_save;
21784 u16 NPHY_RfctrlRSSIOTHERS1_save, NPHY_RfctrlRSSIOTHERS2_save;
21786 u16 NPHY_REV7_RfctrlOverride3_save, NPHY_REV7_RfctrlOverride4_save;
21787 u16 NPHY_REV7_RfctrlOverride5_save, NPHY_REV7_RfctrlOverride6_save;
21788 u16 NPHY_REV7_RfctrlMiscReg3_save, NPHY_REV7_RfctrlMiscReg4_save;
21789 u16 NPHY_REV7_RfctrlMiscReg5_save, NPHY_REV7_RfctrlMiscReg6_save;
21791 NPHY_REV7_RfctrlOverride3_save = NPHY_REV7_RfctrlOverride4_save =
21792 NPHY_REV7_RfctrlOverride5_save = NPHY_REV7_RfctrlOverride6_save =
21793 NPHY_REV7_RfctrlMiscReg3_save = NPHY_REV7_RfctrlMiscReg4_save =
21794 NPHY_REV7_RfctrlMiscReg5_save = NPHY_REV7_RfctrlMiscReg6_save = 0;
21796 classif_state = wlc_phy_classifier_nphy(pi, 0, 0);
21797 wlc_phy_classifier_nphy(pi, (0x7 << 0), 4);
21798 wlc_phy_clip_det_nphy(pi, 0, clip_state);
21799 wlc_phy_clip_det_nphy(pi, 1, clip_off);
21801 NPHY_Rfctrlintc1_save = read_phy_reg(pi, 0x91);
21802 NPHY_Rfctrlintc2_save = read_phy_reg(pi, 0x92);
21803 NPHY_AfectrlOverride1_save = read_phy_reg(pi, 0x8f);
21804 NPHY_AfectrlOverride2_save = read_phy_reg(pi, 0xa5);
21805 NPHY_AfectrlCore1_save = read_phy_reg(pi, 0xa6);
21806 NPHY_AfectrlCore2_save = read_phy_reg(pi, 0xa7);
21807 NPHY_RfctrlOverride0_save = read_phy_reg(pi, 0xe7);
21808 NPHY_RfctrlOverride1_save = read_phy_reg(pi, 0xec);
21809 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21810 NPHY_REV7_RfctrlOverride3_save = read_phy_reg(pi, 0x342);
21811 NPHY_REV7_RfctrlOverride4_save = read_phy_reg(pi, 0x343);
21812 NPHY_REV7_RfctrlOverride5_save = read_phy_reg(pi, 0x346);
21813 NPHY_REV7_RfctrlOverride6_save = read_phy_reg(pi, 0x347);
21815 NPHY_RfctrlOverrideAux0_save = read_phy_reg(pi, 0xe5);
21816 NPHY_RfctrlOverrideAux1_save = read_phy_reg(pi, 0xe6);
21817 NPHY_RfctrlCmd_save = read_phy_reg(pi, 0x78);
21818 NPHY_RfctrlMiscReg1_save = read_phy_reg(pi, 0xf9);
21819 NPHY_RfctrlMiscReg2_save = read_phy_reg(pi, 0xfb);
21820 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21821 NPHY_REV7_RfctrlMiscReg3_save = read_phy_reg(pi, 0x340);
21822 NPHY_REV7_RfctrlMiscReg4_save = read_phy_reg(pi, 0x341);
21823 NPHY_REV7_RfctrlMiscReg5_save = read_phy_reg(pi, 0x344);
21824 NPHY_REV7_RfctrlMiscReg6_save = read_phy_reg(pi, 0x345);
21826 NPHY_RfctrlRSSIOTHERS1_save = read_phy_reg(pi, 0x7a);
21827 NPHY_RfctrlRSSIOTHERS2_save = read_phy_reg(pi, 0x7d);
21829 wlc_phy_rfctrlintc_override_nphy(pi, NPHY_RfctrlIntc_override_OFF, 0,
21830 RADIO_MIMO_CORESEL_ALLRXTX);
21831 wlc_phy_rfctrlintc_override_nphy(pi, NPHY_RfctrlIntc_override_TRSW, 1,
21832 RADIO_MIMO_CORESEL_ALLRXTX);
21834 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21835 wlc_phy_rfctrl_override_1tomany_nphy(pi,
21836 NPHY_REV7_RfctrlOverride_cmd_rxrf_pu,
21839 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 0), 0, 0, 0);
21842 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21843 wlc_phy_rfctrl_override_1tomany_nphy(pi,
21844 NPHY_REV7_RfctrlOverride_cmd_rx_pu,
21847 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 1), 1, 0, 0);
21850 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21851 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7),
21853 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21854 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 6), 1, 0, 0,
21855 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21857 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 7), 1, 0, 0);
21858 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 6), 1, 0, 0);
21861 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21862 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21863 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5),
21865 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21866 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4), 1, 0,
21868 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21870 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 5), 0, 0, 0);
21871 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 4), 1, 0, 0);
21875 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21876 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4),
21878 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21879 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5), 1, 0,
21881 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21883 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 4), 0, 0, 0);
21884 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 5), 1, 0, 0);
21888 rxcore_state = wlc_phy_rxcore_getstate_nphy((wlc_phy_t *) pi);
21892 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
21894 if ((rxcore_state & (1 << core)) == 0)
21897 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0,
21900 RADIO_MIMO_CORESEL_CORE1 :
21901 RADIO_MIMO_CORESEL_CORE2,
21902 NPHY_RAIL_I, NPHY_RSSI_SEL_NB);
21903 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0,
21906 RADIO_MIMO_CORESEL_CORE1 :
21907 RADIO_MIMO_CORESEL_CORE2,
21908 NPHY_RAIL_Q, NPHY_RSSI_SEL_NB);
21910 for (vcm = 0; vcm < vcm_level_max; vcm++) {
21911 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21913 mod_radio_reg(pi, (core == PHY_CORE_0) ?
21914 RADIO_2057_NB_MASTER_CORE0 :
21915 RADIO_2057_NB_MASTER_CORE1,
21916 RADIO_2057_VCM_MASK, vcm);
21919 mod_radio_reg(pi, RADIO_2056_RX_RSSI_MISC |
21921 PHY_CORE_0) ? RADIO_2056_RX0 :
21923 RADIO_2056_VCM_MASK,
21924 vcm << RADIO_2056_RSSI_VCM_SHIFT);
21927 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_NB,
21928 &poll_results[vcm][0],
21929 NPHY_RSSICAL_NPOLL);
21932 for (result_idx = 0; result_idx < 4; result_idx++) {
21933 if ((core == result_idx / 2) && (result_idx % 2 == 0)) {
21935 min_d = NPHY_RSSICAL_MAXD;
21938 NPHY_RSSICAL_MAXREAD * NPHY_RSSICAL_NPOLL +
21940 for (vcm = 0; vcm < vcm_level_max; vcm++) {
21941 curr_d = poll_results[vcm][result_idx] *
21942 poll_results[vcm][result_idx] +
21943 poll_results[vcm][result_idx + 1] *
21944 poll_results[vcm][result_idx + 1];
21945 if (curr_d < min_d) {
21949 if (poll_results[vcm][result_idx] <
21956 vcm_final = min_vcm;
21957 poll_results_min[result_idx] = min_poll;
21961 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21962 mod_radio_reg(pi, (core == PHY_CORE_0) ?
21963 RADIO_2057_NB_MASTER_CORE0 :
21964 RADIO_2057_NB_MASTER_CORE1,
21965 RADIO_2057_VCM_MASK, vcm_final);
21967 mod_radio_reg(pi, RADIO_2056_RX_RSSI_MISC |
21969 PHY_CORE_0) ? RADIO_2056_RX0 :
21970 RADIO_2056_RX1), RADIO_2056_VCM_MASK,
21971 vcm_final << RADIO_2056_RSSI_VCM_SHIFT);
21974 for (result_idx = 0; result_idx < 4; result_idx++) {
21975 if (core == result_idx / 2) {
21976 fine_digital_offset[result_idx] =
21977 (NPHY_RSSICAL_NB_TARGET *
21978 NPHY_RSSICAL_NPOLL) -
21979 poll_results[vcm_final][result_idx];
21980 if (fine_digital_offset[result_idx] < 0) {
21981 fine_digital_offset[result_idx] =
21982 ABS(fine_digital_offset
21984 fine_digital_offset[result_idx] +=
21985 (NPHY_RSSICAL_NPOLL / 2);
21986 fine_digital_offset[result_idx] /=
21987 NPHY_RSSICAL_NPOLL;
21988 fine_digital_offset[result_idx] =
21989 -fine_digital_offset[result_idx];
21991 fine_digital_offset[result_idx] +=
21992 (NPHY_RSSICAL_NPOLL / 2);
21993 fine_digital_offset[result_idx] /=
21994 NPHY_RSSICAL_NPOLL;
21997 if (poll_results_min[result_idx] ==
21998 NPHY_RSSICAL_MAXREAD * NPHY_RSSICAL_NPOLL) {
21999 fine_digital_offset[result_idx] =
22000 (NPHY_RSSICAL_NB_TARGET -
22001 NPHY_RSSICAL_MAXREAD - 1);
22004 wlc_phy_scale_offset_rssi_nphy(pi, 0x0,
22006 fine_digital_offset
22011 RADIO_MIMO_CORESEL_CORE1
22013 RADIO_MIMO_CORESEL_CORE2,
22024 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
22026 if ((rxcore_state & (1 << core)) == 0)
22029 for (wb_cnt = 0; wb_cnt < 2; wb_cnt++) {
22031 rssi_type = NPHY_RSSI_SEL_W1;
22032 target_code = NPHY_RSSICAL_W1_TARGET_REV3;
22034 rssi_type = NPHY_RSSI_SEL_W2;
22035 target_code = NPHY_RSSICAL_W2_TARGET_REV3;
22038 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0,
22041 RADIO_MIMO_CORESEL_CORE1
22043 RADIO_MIMO_CORESEL_CORE2,
22044 NPHY_RAIL_I, rssi_type);
22045 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0,
22048 RADIO_MIMO_CORESEL_CORE1
22050 RADIO_MIMO_CORESEL_CORE2,
22051 NPHY_RAIL_Q, rssi_type);
22053 wlc_phy_poll_rssi_nphy(pi, rssi_type, poll_result_core,
22054 NPHY_RSSICAL_NPOLL);
22056 for (result_idx = 0; result_idx < 4; result_idx++) {
22057 if (core == result_idx / 2) {
22058 fine_digital_offset[result_idx] =
22059 (target_code * NPHY_RSSICAL_NPOLL) -
22060 poll_result_core[result_idx];
22061 if (fine_digital_offset[result_idx] < 0) {
22062 fine_digital_offset[result_idx]
22064 ABS(fine_digital_offset
22066 fine_digital_offset[result_idx]
22067 += (NPHY_RSSICAL_NPOLL / 2);
22068 fine_digital_offset[result_idx]
22069 /= NPHY_RSSICAL_NPOLL;
22070 fine_digital_offset[result_idx]
22072 -fine_digital_offset
22075 fine_digital_offset[result_idx]
22076 += (NPHY_RSSICAL_NPOLL / 2);
22077 fine_digital_offset[result_idx]
22078 /= NPHY_RSSICAL_NPOLL;
22081 wlc_phy_scale_offset_rssi_nphy(pi, 0x0,
22083 fine_digital_offset
22089 RADIO_MIMO_CORESEL_CORE1
22091 RADIO_MIMO_CORESEL_CORE2,
22105 write_phy_reg(pi, 0x91, NPHY_Rfctrlintc1_save);
22106 write_phy_reg(pi, 0x92, NPHY_Rfctrlintc2_save);
22108 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
22110 mod_phy_reg(pi, 0xe7, (0x1 << 0), 1 << 0);
22111 mod_phy_reg(pi, 0x78, (0x1 << 0), 1 << 0);
22112 mod_phy_reg(pi, 0xe7, (0x1 << 0), 0);
22114 mod_phy_reg(pi, 0xec, (0x1 << 0), 1 << 0);
22115 mod_phy_reg(pi, 0x78, (0x1 << 1), 1 << 1);
22116 mod_phy_reg(pi, 0xec, (0x1 << 0), 0);
22118 write_phy_reg(pi, 0x8f, NPHY_AfectrlOverride1_save);
22119 write_phy_reg(pi, 0xa5, NPHY_AfectrlOverride2_save);
22120 write_phy_reg(pi, 0xa6, NPHY_AfectrlCore1_save);
22121 write_phy_reg(pi, 0xa7, NPHY_AfectrlCore2_save);
22122 write_phy_reg(pi, 0xe7, NPHY_RfctrlOverride0_save);
22123 write_phy_reg(pi, 0xec, NPHY_RfctrlOverride1_save);
22124 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22125 write_phy_reg(pi, 0x342, NPHY_REV7_RfctrlOverride3_save);
22126 write_phy_reg(pi, 0x343, NPHY_REV7_RfctrlOverride4_save);
22127 write_phy_reg(pi, 0x346, NPHY_REV7_RfctrlOverride5_save);
22128 write_phy_reg(pi, 0x347, NPHY_REV7_RfctrlOverride6_save);
22130 write_phy_reg(pi, 0xe5, NPHY_RfctrlOverrideAux0_save);
22131 write_phy_reg(pi, 0xe6, NPHY_RfctrlOverrideAux1_save);
22132 write_phy_reg(pi, 0x78, NPHY_RfctrlCmd_save);
22133 write_phy_reg(pi, 0xf9, NPHY_RfctrlMiscReg1_save);
22134 write_phy_reg(pi, 0xfb, NPHY_RfctrlMiscReg2_save);
22135 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22136 write_phy_reg(pi, 0x340, NPHY_REV7_RfctrlMiscReg3_save);
22137 write_phy_reg(pi, 0x341, NPHY_REV7_RfctrlMiscReg4_save);
22138 write_phy_reg(pi, 0x344, NPHY_REV7_RfctrlMiscReg5_save);
22139 write_phy_reg(pi, 0x345, NPHY_REV7_RfctrlMiscReg6_save);
22141 write_phy_reg(pi, 0x7a, NPHY_RfctrlRSSIOTHERS1_save);
22142 write_phy_reg(pi, 0x7d, NPHY_RfctrlRSSIOTHERS2_save);
22144 if (CHSPEC_IS2G(pi->radio_chanspec)) {
22145 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22146 pi->rssical_cache.rssical_radio_regs_2G[0] =
22147 read_radio_reg(pi, RADIO_2057_NB_MASTER_CORE0);
22148 pi->rssical_cache.rssical_radio_regs_2G[1] =
22149 read_radio_reg(pi, RADIO_2057_NB_MASTER_CORE1);
22151 pi->rssical_cache.rssical_radio_regs_2G[0] =
22153 RADIO_2056_RX_RSSI_MISC |
22155 pi->rssical_cache.rssical_radio_regs_2G[1] =
22157 RADIO_2056_RX_RSSI_MISC |
22161 pi->rssical_cache.rssical_phyregs_2G[0] =
22162 read_phy_reg(pi, 0x1a6);
22163 pi->rssical_cache.rssical_phyregs_2G[1] =
22164 read_phy_reg(pi, 0x1ac);
22165 pi->rssical_cache.rssical_phyregs_2G[2] =
22166 read_phy_reg(pi, 0x1b2);
22167 pi->rssical_cache.rssical_phyregs_2G[3] =
22168 read_phy_reg(pi, 0x1b8);
22169 pi->rssical_cache.rssical_phyregs_2G[4] =
22170 read_phy_reg(pi, 0x1a4);
22171 pi->rssical_cache.rssical_phyregs_2G[5] =
22172 read_phy_reg(pi, 0x1aa);
22173 pi->rssical_cache.rssical_phyregs_2G[6] =
22174 read_phy_reg(pi, 0x1b0);
22175 pi->rssical_cache.rssical_phyregs_2G[7] =
22176 read_phy_reg(pi, 0x1b6);
22177 pi->rssical_cache.rssical_phyregs_2G[8] =
22178 read_phy_reg(pi, 0x1a5);
22179 pi->rssical_cache.rssical_phyregs_2G[9] =
22180 read_phy_reg(pi, 0x1ab);
22181 pi->rssical_cache.rssical_phyregs_2G[10] =
22182 read_phy_reg(pi, 0x1b1);
22183 pi->rssical_cache.rssical_phyregs_2G[11] =
22184 read_phy_reg(pi, 0x1b7);
22186 pi->nphy_rssical_chanspec_2G = pi->radio_chanspec;
22188 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22189 pi->rssical_cache.rssical_radio_regs_5G[0] =
22190 read_radio_reg(pi, RADIO_2057_NB_MASTER_CORE0);
22191 pi->rssical_cache.rssical_radio_regs_5G[1] =
22192 read_radio_reg(pi, RADIO_2057_NB_MASTER_CORE1);
22194 pi->rssical_cache.rssical_radio_regs_5G[0] =
22196 RADIO_2056_RX_RSSI_MISC |
22198 pi->rssical_cache.rssical_radio_regs_5G[1] =
22200 RADIO_2056_RX_RSSI_MISC |
22204 pi->rssical_cache.rssical_phyregs_5G[0] =
22205 read_phy_reg(pi, 0x1a6);
22206 pi->rssical_cache.rssical_phyregs_5G[1] =
22207 read_phy_reg(pi, 0x1ac);
22208 pi->rssical_cache.rssical_phyregs_5G[2] =
22209 read_phy_reg(pi, 0x1b2);
22210 pi->rssical_cache.rssical_phyregs_5G[3] =
22211 read_phy_reg(pi, 0x1b8);
22212 pi->rssical_cache.rssical_phyregs_5G[4] =
22213 read_phy_reg(pi, 0x1a4);
22214 pi->rssical_cache.rssical_phyregs_5G[5] =
22215 read_phy_reg(pi, 0x1aa);
22216 pi->rssical_cache.rssical_phyregs_5G[6] =
22217 read_phy_reg(pi, 0x1b0);
22218 pi->rssical_cache.rssical_phyregs_5G[7] =
22219 read_phy_reg(pi, 0x1b6);
22220 pi->rssical_cache.rssical_phyregs_5G[8] =
22221 read_phy_reg(pi, 0x1a5);
22222 pi->rssical_cache.rssical_phyregs_5G[9] =
22223 read_phy_reg(pi, 0x1ab);
22224 pi->rssical_cache.rssical_phyregs_5G[10] =
22225 read_phy_reg(pi, 0x1b1);
22226 pi->rssical_cache.rssical_phyregs_5G[11] =
22227 read_phy_reg(pi, 0x1b7);
22229 pi->nphy_rssical_chanspec_5G = pi->radio_chanspec;
22232 wlc_phy_classifier_nphy(pi, (0x7 << 0), classif_state);
22233 wlc_phy_clip_det_nphy(pi, 1, clip_state);
22236 static void wlc_phy_restore_rssical_nphy(phy_info_t *pi)
22238 ASSERT(NREV_GE(pi->pubpi.phy_rev, 3));
22240 if (CHSPEC_IS2G(pi->radio_chanspec)) {
22241 if (pi->nphy_rssical_chanspec_2G == 0)
22244 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22245 mod_radio_reg(pi, RADIO_2057_NB_MASTER_CORE0,
22246 RADIO_2057_VCM_MASK,
22248 rssical_radio_regs_2G[0]);
22249 mod_radio_reg(pi, RADIO_2057_NB_MASTER_CORE1,
22250 RADIO_2057_VCM_MASK,
22252 rssical_radio_regs_2G[1]);
22255 RADIO_2056_RX_RSSI_MISC | RADIO_2056_RX0,
22256 RADIO_2056_VCM_MASK,
22258 rssical_radio_regs_2G[0]);
22260 RADIO_2056_RX_RSSI_MISC | RADIO_2056_RX1,
22261 RADIO_2056_VCM_MASK,
22263 rssical_radio_regs_2G[1]);
22266 write_phy_reg(pi, 0x1a6,
22267 pi->rssical_cache.rssical_phyregs_2G[0]);
22268 write_phy_reg(pi, 0x1ac,
22269 pi->rssical_cache.rssical_phyregs_2G[1]);
22270 write_phy_reg(pi, 0x1b2,
22271 pi->rssical_cache.rssical_phyregs_2G[2]);
22272 write_phy_reg(pi, 0x1b8,
22273 pi->rssical_cache.rssical_phyregs_2G[3]);
22274 write_phy_reg(pi, 0x1a4,
22275 pi->rssical_cache.rssical_phyregs_2G[4]);
22276 write_phy_reg(pi, 0x1aa,
22277 pi->rssical_cache.rssical_phyregs_2G[5]);
22278 write_phy_reg(pi, 0x1b0,
22279 pi->rssical_cache.rssical_phyregs_2G[6]);
22280 write_phy_reg(pi, 0x1b6,
22281 pi->rssical_cache.rssical_phyregs_2G[7]);
22282 write_phy_reg(pi, 0x1a5,
22283 pi->rssical_cache.rssical_phyregs_2G[8]);
22284 write_phy_reg(pi, 0x1ab,
22285 pi->rssical_cache.rssical_phyregs_2G[9]);
22286 write_phy_reg(pi, 0x1b1,
22287 pi->rssical_cache.rssical_phyregs_2G[10]);
22288 write_phy_reg(pi, 0x1b7,
22289 pi->rssical_cache.rssical_phyregs_2G[11]);
22292 if (pi->nphy_rssical_chanspec_5G == 0)
22295 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22296 mod_radio_reg(pi, RADIO_2057_NB_MASTER_CORE0,
22297 RADIO_2057_VCM_MASK,
22299 rssical_radio_regs_5G[0]);
22300 mod_radio_reg(pi, RADIO_2057_NB_MASTER_CORE1,
22301 RADIO_2057_VCM_MASK,
22303 rssical_radio_regs_5G[1]);
22306 RADIO_2056_RX_RSSI_MISC | RADIO_2056_RX0,
22307 RADIO_2056_VCM_MASK,
22309 rssical_radio_regs_5G[0]);
22311 RADIO_2056_RX_RSSI_MISC | RADIO_2056_RX1,
22312 RADIO_2056_VCM_MASK,
22314 rssical_radio_regs_5G[1]);
22317 write_phy_reg(pi, 0x1a6,
22318 pi->rssical_cache.rssical_phyregs_5G[0]);
22319 write_phy_reg(pi, 0x1ac,
22320 pi->rssical_cache.rssical_phyregs_5G[1]);
22321 write_phy_reg(pi, 0x1b2,
22322 pi->rssical_cache.rssical_phyregs_5G[2]);
22323 write_phy_reg(pi, 0x1b8,
22324 pi->rssical_cache.rssical_phyregs_5G[3]);
22325 write_phy_reg(pi, 0x1a4,
22326 pi->rssical_cache.rssical_phyregs_5G[4]);
22327 write_phy_reg(pi, 0x1aa,
22328 pi->rssical_cache.rssical_phyregs_5G[5]);
22329 write_phy_reg(pi, 0x1b0,
22330 pi->rssical_cache.rssical_phyregs_5G[6]);
22331 write_phy_reg(pi, 0x1b6,
22332 pi->rssical_cache.rssical_phyregs_5G[7]);
22333 write_phy_reg(pi, 0x1a5,
22334 pi->rssical_cache.rssical_phyregs_5G[8]);
22335 write_phy_reg(pi, 0x1ab,
22336 pi->rssical_cache.rssical_phyregs_5G[9]);
22337 write_phy_reg(pi, 0x1b1,
22338 pi->rssical_cache.rssical_phyregs_5G[10]);
22339 write_phy_reg(pi, 0x1b7,
22340 pi->rssical_cache.rssical_phyregs_5G[11]);
22345 wlc_phy_gen_load_samples_nphy(phy_info_t *pi, u32 f_kHz, u16 max_val,
22348 u8 phy_bw, is_phybw40;
22349 u16 num_samps, t, spur;
22350 fixed theta = 0, rot = 0;
22352 cs32 *tone_buf = NULL;
22354 is_phybw40 = CHSPEC_IS40(pi->radio_chanspec);
22355 phy_bw = (is_phybw40 == 1) ? 40 : 20;
22356 tbl_len = (phy_bw << 3);
22358 if (dac_test_mode == 1) {
22359 spur = read_phy_reg(pi, 0x01);
22360 spur = (spur >> 15) & 1;
22361 phy_bw = (spur == 1) ? 82 : 80;
22362 phy_bw = (is_phybw40 == 1) ? (phy_bw << 1) : phy_bw;
22364 tbl_len = (phy_bw << 1);
22367 tone_buf = kmalloc(sizeof(cs32) * tbl_len, GFP_ATOMIC);
22368 if (tone_buf == NULL) {
22372 num_samps = (u16) tbl_len;
22373 rot = FIXED((f_kHz * 36) / phy_bw) / 100;
22376 for (t = 0; t < num_samps; t++) {
22378 wlc_phy_cordic(theta, &tone_buf[t]);
22382 tone_buf[t].q = (s32) FLOAT(tone_buf[t].q * max_val);
22383 tone_buf[t].i = (s32) FLOAT(tone_buf[t].i * max_val);
22386 wlc_phy_loadsampletable_nphy(pi, tone_buf, num_samps);
22388 if (tone_buf != NULL)
22395 wlc_phy_tx_tone_nphy(phy_info_t *pi, u32 f_kHz, u16 max_val,
22396 u8 iqmode, u8 dac_test_mode, bool modify_bbmult)
22399 u16 loops = 0xffff;
22403 wlc_phy_gen_load_samples_nphy(pi, f_kHz, max_val, dac_test_mode);
22404 if (num_samps == 0) {
22408 wlc_phy_runsamples_nphy(pi, num_samps, loops, wait, iqmode,
22409 dac_test_mode, modify_bbmult);
22415 wlc_phy_loadsampletable_nphy(phy_info_t *pi, cs32 *tone_buf,
22419 u32 *data_buf = NULL;
22421 data_buf = kmalloc(sizeof(u32) * num_samps, GFP_ATOMIC);
22422 if (data_buf == NULL) {
22426 if (pi->phyhang_avoid)
22427 wlc_phy_stay_in_carriersearch_nphy(pi, true);
22429 for (t = 0; t < num_samps; t++) {
22430 data_buf[t] = ((((unsigned int)tone_buf[t].i) & 0x3ff) << 10) |
22431 (((unsigned int)tone_buf[t].q) & 0x3ff);
22433 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_SAMPLEPLAY, num_samps, 0, 32,
22436 if (data_buf != NULL)
22439 if (pi->phyhang_avoid)
22440 wlc_phy_stay_in_carriersearch_nphy(pi, false);
22444 wlc_phy_runsamples_nphy(phy_info_t *pi, u16 num_samps, u16 loops,
22445 u16 wait, u8 iqmode, u8 dac_test_mode,
22446 bool modify_bbmult)
22449 u8 phy_bw, sample_cmd;
22450 u16 orig_RfseqCoreActv;
22451 u16 lpf_bw_ctl_override3, lpf_bw_ctl_override4, lpf_bw_ctl_miscreg3,
22452 lpf_bw_ctl_miscreg4;
22454 if (pi->phyhang_avoid)
22455 wlc_phy_stay_in_carriersearch_nphy(pi, true);
22458 if (CHSPEC_IS40(pi->radio_chanspec))
22461 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22463 lpf_bw_ctl_override3 = read_phy_reg(pi, 0x342) & (0x1 << 7);
22464 lpf_bw_ctl_override4 = read_phy_reg(pi, 0x343) & (0x1 << 7);
22465 if (lpf_bw_ctl_override3 | lpf_bw_ctl_override4) {
22466 lpf_bw_ctl_miscreg3 = read_phy_reg(pi, 0x340) &
22468 lpf_bw_ctl_miscreg4 = read_phy_reg(pi, 0x341) &
22471 wlc_phy_rfctrl_override_nphy_rev7(pi,
22473 wlc_phy_read_lpf_bw_ctl_nphy
22475 NPHY_REV7_RFCTRLOVERRIDE_ID1);
22477 pi->nphy_sample_play_lpf_bw_ctl_ovr = true;
22479 lpf_bw_ctl_miscreg3 = read_phy_reg(pi, 0x340) &
22481 lpf_bw_ctl_miscreg4 = read_phy_reg(pi, 0x341) &
22486 if ((pi->nphy_bb_mult_save & BB_MULT_VALID_MASK) == 0) {
22488 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, 87, 16,
22490 pi->nphy_bb_mult_save =
22491 BB_MULT_VALID_MASK | (bb_mult & BB_MULT_MASK);
22494 if (modify_bbmult) {
22495 bb_mult = (phy_bw == 20) ? 100 : 71;
22496 bb_mult = (bb_mult << 8) + bb_mult;
22497 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, 87, 16,
22501 if (pi->phyhang_avoid)
22502 wlc_phy_stay_in_carriersearch_nphy(pi, false);
22504 write_phy_reg(pi, 0xc6, num_samps - 1);
22506 if (loops != 0xffff) {
22507 write_phy_reg(pi, 0xc4, loops - 1);
22509 write_phy_reg(pi, 0xc4, loops);
22511 write_phy_reg(pi, 0xc5, wait);
22513 orig_RfseqCoreActv = read_phy_reg(pi, 0xa1);
22514 or_phy_reg(pi, 0xa1, NPHY_RfseqMode_CoreActv_override);
22517 and_phy_reg(pi, 0xc2, 0x7FFF);
22519 or_phy_reg(pi, 0xc2, 0x8000);
22522 sample_cmd = (dac_test_mode == 1) ? 0x5 : 0x1;
22523 write_phy_reg(pi, 0xc3, sample_cmd);
22526 SPINWAIT(((read_phy_reg(pi, 0xa4) & 0x1) == 1), 1000);
22528 write_phy_reg(pi, 0xa1, orig_RfseqCoreActv);
22531 void wlc_phy_stopplayback_nphy(phy_info_t *pi)
22533 u16 playback_status;
22536 if (pi->phyhang_avoid)
22537 wlc_phy_stay_in_carriersearch_nphy(pi, true);
22539 playback_status = read_phy_reg(pi, 0xc7);
22540 if (playback_status & 0x1) {
22541 or_phy_reg(pi, 0xc3, NPHY_sampleCmd_STOP);
22542 } else if (playback_status & 0x2) {
22544 and_phy_reg(pi, 0xc2,
22545 (u16) ~NPHY_iqloCalCmdGctl_IQLO_CAL_EN);
22548 and_phy_reg(pi, 0xc3, (u16) ~(0x1 << 2));
22550 if ((pi->nphy_bb_mult_save & BB_MULT_VALID_MASK) != 0) {
22552 bb_mult = pi->nphy_bb_mult_save & BB_MULT_MASK;
22553 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, 87, 16,
22556 pi->nphy_bb_mult_save = 0;
22559 if (NREV_IS(pi->pubpi.phy_rev, 7) || NREV_GE(pi->pubpi.phy_rev, 8)) {
22560 if (pi->nphy_sample_play_lpf_bw_ctl_ovr) {
22561 wlc_phy_rfctrl_override_nphy_rev7(pi,
22564 NPHY_REV7_RFCTRLOVERRIDE_ID1);
22565 pi->nphy_sample_play_lpf_bw_ctl_ovr = false;
22569 if (pi->phyhang_avoid)
22570 wlc_phy_stay_in_carriersearch_nphy(pi, false);
22573 nphy_txgains_t wlc_phy_get_tx_gain_nphy(phy_info_t *pi)
22575 u16 base_idx[2], curr_gain[2];
22577 nphy_txgains_t target_gain;
22578 u32 *tx_pwrctrl_tbl = NULL;
22580 if (pi->nphy_txpwrctrl == PHY_TPC_HW_OFF) {
22581 if (pi->phyhang_avoid)
22582 wlc_phy_stay_in_carriersearch_nphy(pi, true);
22584 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
22587 if (pi->phyhang_avoid)
22588 wlc_phy_stay_in_carriersearch_nphy(pi, false);
22590 for (core_no = 0; core_no < 2; core_no++) {
22591 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22592 target_gain.ipa[core_no] =
22593 curr_gain[core_no] & 0x0007;
22594 target_gain.pad[core_no] =
22595 ((curr_gain[core_no] & 0x00F8) >> 3);
22596 target_gain.pga[core_no] =
22597 ((curr_gain[core_no] & 0x0F00) >> 8);
22598 target_gain.txgm[core_no] =
22599 ((curr_gain[core_no] & 0x7000) >> 12);
22600 target_gain.txlpf[core_no] =
22601 ((curr_gain[core_no] & 0x8000) >> 15);
22602 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
22603 target_gain.ipa[core_no] =
22604 curr_gain[core_no] & 0x000F;
22605 target_gain.pad[core_no] =
22606 ((curr_gain[core_no] & 0x00F0) >> 4);
22607 target_gain.pga[core_no] =
22608 ((curr_gain[core_no] & 0x0F00) >> 8);
22609 target_gain.txgm[core_no] =
22610 ((curr_gain[core_no] & 0x7000) >> 12);
22612 target_gain.ipa[core_no] =
22613 curr_gain[core_no] & 0x0003;
22614 target_gain.pad[core_no] =
22615 ((curr_gain[core_no] & 0x000C) >> 2);
22616 target_gain.pga[core_no] =
22617 ((curr_gain[core_no] & 0x0070) >> 4);
22618 target_gain.txgm[core_no] =
22619 ((curr_gain[core_no] & 0x0380) >> 7);
22623 base_idx[0] = (read_phy_reg(pi, 0x1ed) >> 8) & 0x7f;
22624 base_idx[1] = (read_phy_reg(pi, 0x1ee) >> 8) & 0x7f;
22625 for (core_no = 0; core_no < 2; core_no++) {
22626 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
22629 wlc_phy_get_ipa_gaintbl_nphy(pi);
22631 if (CHSPEC_IS5G(pi->radio_chanspec)) {
22633 (pi->pubpi.phy_rev, 3) {
22635 nphy_tpc_5GHz_txgain_rev3;
22637 (pi->pubpi.phy_rev, 4) {
22642 nphy_tpc_5GHz_txgain_HiPwrEPA
22644 nphy_tpc_5GHz_txgain_rev4;
22647 nphy_tpc_5GHz_txgain_rev5;
22651 (pi->pubpi.phy_rev, 7)) {
22655 nphy_tpc_txgain_epa_2057rev3;
22656 } else if (pi->pubpi.
22660 nphy_tpc_txgain_epa_2057rev5;
22665 (pi->pubpi.phy_rev,
22667 && (pi->srom_fem2g.
22671 nphy_tpc_txgain_HiPwrEPA;
22674 nphy_tpc_txgain_rev3;
22680 (pi->pubpi.phy_rev, 7) {
22681 target_gain.ipa[core_no] =
22682 (tx_pwrctrl_tbl[base_idx[core_no]]
22684 target_gain.pad[core_no] =
22685 (tx_pwrctrl_tbl[base_idx[core_no]]
22687 target_gain.pga[core_no] =
22688 (tx_pwrctrl_tbl[base_idx[core_no]]
22690 target_gain.txgm[core_no] =
22691 (tx_pwrctrl_tbl[base_idx[core_no]]
22693 target_gain.txlpf[core_no] =
22694 (tx_pwrctrl_tbl[base_idx[core_no]]
22697 target_gain.ipa[core_no] =
22698 (tx_pwrctrl_tbl[base_idx[core_no]]
22700 target_gain.pad[core_no] =
22701 (tx_pwrctrl_tbl[base_idx[core_no]]
22703 target_gain.pga[core_no] =
22704 (tx_pwrctrl_tbl[base_idx[core_no]]
22706 target_gain.txgm[core_no] =
22707 (tx_pwrctrl_tbl[base_idx[core_no]]
22711 target_gain.ipa[core_no] =
22712 (nphy_tpc_txgain[base_idx[core_no]] >> 16) &
22714 target_gain.pad[core_no] =
22715 (nphy_tpc_txgain[base_idx[core_no]] >> 18) &
22717 target_gain.pga[core_no] =
22718 (nphy_tpc_txgain[base_idx[core_no]] >> 20) &
22720 target_gain.txgm[core_no] =
22721 (nphy_tpc_txgain[base_idx[core_no]] >> 23) &
22727 return target_gain;
22731 wlc_phy_iqcal_gainparams_nphy(phy_info_t *pi, u16 core_no,
22732 nphy_txgains_t target_gain,
22733 nphy_iqcal_params_t *params)
22738 u8 band_idx = (CHSPEC_IS5G(pi->radio_chanspec) ? 1 : 0);
22740 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
22741 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22742 params->txlpf = target_gain.txlpf[core_no];
22744 params->txgm = target_gain.txgm[core_no];
22745 params->pga = target_gain.pga[core_no];
22746 params->pad = target_gain.pad[core_no];
22747 params->ipa = target_gain.ipa[core_no];
22748 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22750 ((params->txlpf << 15) | (params->
22751 txgm << 12) | (params->
22753 (params->pad << 3) | (params->ipa));
22756 ((params->txgm << 12) | (params->
22757 pga << 8) | (params->
22761 params->ncorr[0] = 0x79;
22762 params->ncorr[1] = 0x79;
22763 params->ncorr[2] = 0x79;
22764 params->ncorr[3] = 0x79;
22765 params->ncorr[4] = 0x79;
22768 gain_index = ((target_gain.pad[core_no] << 0) |
22769 (target_gain.pga[core_no] << 4) | (target_gain.
22774 for (k = 0; k < NPHY_IQCAL_NUMGAINS; k++) {
22775 if (tbl_iqcal_gainparams_nphy[band_idx][k][0] ==
22784 params->txgm = tbl_iqcal_gainparams_nphy[band_idx][k][1];
22785 params->pga = tbl_iqcal_gainparams_nphy[band_idx][k][2];
22786 params->pad = tbl_iqcal_gainparams_nphy[band_idx][k][3];
22787 params->cal_gain = ((params->txgm << 7) | (params->pga << 4) |
22788 (params->pad << 2));
22789 params->ncorr[0] = tbl_iqcal_gainparams_nphy[band_idx][k][4];
22790 params->ncorr[1] = tbl_iqcal_gainparams_nphy[band_idx][k][5];
22791 params->ncorr[2] = tbl_iqcal_gainparams_nphy[band_idx][k][6];
22792 params->ncorr[3] = tbl_iqcal_gainparams_nphy[band_idx][k][7];
22796 static void wlc_phy_txcal_radio_setup_nphy(phy_info_t *pi)
22798 u16 jtag_core, core;
22800 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22802 for (core = 0; core <= 1; core++) {
22804 pi->tx_rx_cal_radio_saveregs[(core * 11) + 0] =
22805 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22808 pi->tx_rx_cal_radio_saveregs[(core * 11) + 1] =
22809 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22812 pi->tx_rx_cal_radio_saveregs[(core * 11) + 2] =
22813 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22816 pi->tx_rx_cal_radio_saveregs[(core * 11) + 3] =
22817 READ_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_VCM);
22819 pi->tx_rx_cal_radio_saveregs[(core * 11) + 4] = 0;
22821 pi->tx_rx_cal_radio_saveregs[(core * 11) + 5] =
22822 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22825 if (pi->pubpi.radiorev != 5)
22826 pi->tx_rx_cal_radio_saveregs[(core * 11) + 6] =
22827 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22830 pi->tx_rx_cal_radio_saveregs[(core * 11) + 7] =
22831 READ_RADIO_REG3(pi, RADIO_2057, TX, core, TSSIG);
22833 pi->tx_rx_cal_radio_saveregs[(core * 11) + 8] =
22834 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22837 if (CHSPEC_IS5G(pi->radio_chanspec)) {
22838 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22839 TX_SSI_MASTER, 0x0a);
22840 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22841 IQCAL_VCM_HG, 0x43);
22842 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22844 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22846 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22848 if (pi->use_int_tx_iqlo_cal_nphy) {
22849 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
22850 core, TX_SSI_MUX, 0x4);
22853 internal_tx_iqlo_cal_tapoff_intpa_nphy)) {
22855 WRITE_RADIO_REG3(pi, RADIO_2057,
22860 WRITE_RADIO_REG3(pi, RADIO_2057,
22865 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22868 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22869 TX_SSI_MASTER, 0x06);
22870 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22871 IQCAL_VCM_HG, 0x43);
22872 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22874 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22877 if (pi->pubpi.radiorev != 5)
22878 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
22879 core, TSSIA, 0x00);
22880 if (pi->use_int_tx_iqlo_cal_nphy) {
22881 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
22886 internal_tx_iqlo_cal_tapoff_intpa_nphy)) {
22888 WRITE_RADIO_REG3(pi, RADIO_2057,
22893 WRITE_RADIO_REG3(pi, RADIO_2057,
22898 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22902 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
22904 for (core = 0; core <= 1; core++) {
22907 PHY_CORE_0) ? RADIO_2056_TX0 : RADIO_2056_TX1;
22909 pi->tx_rx_cal_radio_saveregs[(core * 11) + 0] =
22911 RADIO_2056_TX_TX_SSI_MASTER |
22914 pi->tx_rx_cal_radio_saveregs[(core * 11) + 1] =
22916 RADIO_2056_TX_IQCAL_VCM_HG |
22919 pi->tx_rx_cal_radio_saveregs[(core * 11) + 2] =
22921 RADIO_2056_TX_IQCAL_IDAC |
22924 pi->tx_rx_cal_radio_saveregs[(core * 11) + 3] =
22926 RADIO_2056_TX_TSSI_VCM | jtag_core);
22928 pi->tx_rx_cal_radio_saveregs[(core * 11) + 4] =
22930 RADIO_2056_TX_TX_AMP_DET |
22933 pi->tx_rx_cal_radio_saveregs[(core * 11) + 5] =
22935 RADIO_2056_TX_TX_SSI_MUX |
22938 pi->tx_rx_cal_radio_saveregs[(core * 11) + 6] =
22939 read_radio_reg(pi, RADIO_2056_TX_TSSIA | jtag_core);
22941 pi->tx_rx_cal_radio_saveregs[(core * 11) + 7] =
22942 read_radio_reg(pi, RADIO_2056_TX_TSSIG | jtag_core);
22944 pi->tx_rx_cal_radio_saveregs[(core * 11) + 8] =
22946 RADIO_2056_TX_TSSI_MISC1 |
22949 pi->tx_rx_cal_radio_saveregs[(core * 11) + 9] =
22951 RADIO_2056_TX_TSSI_MISC2 |
22954 pi->tx_rx_cal_radio_saveregs[(core * 11) + 10] =
22956 RADIO_2056_TX_TSSI_MISC3 |
22959 if (CHSPEC_IS5G(pi->radio_chanspec)) {
22960 write_radio_reg(pi,
22961 RADIO_2056_TX_TX_SSI_MASTER |
22963 write_radio_reg(pi,
22964 RADIO_2056_TX_IQCAL_VCM_HG |
22966 write_radio_reg(pi,
22967 RADIO_2056_TX_IQCAL_IDAC |
22969 write_radio_reg(pi,
22970 RADIO_2056_TX_TSSI_VCM |
22972 write_radio_reg(pi,
22973 RADIO_2056_TX_TX_AMP_DET |
22977 write_radio_reg(pi,
22978 RADIO_2056_TX_TX_SSI_MUX
22980 write_radio_reg(pi,
22981 RADIO_2056_TX_TSSIA |
22984 write_radio_reg(pi,
22985 RADIO_2056_TX_TX_SSI_MUX
22986 | jtag_core, 0x00);
22987 write_radio_reg(pi,
22988 RADIO_2056_TX_TSSIA |
22991 write_radio_reg(pi,
22992 RADIO_2056_TX_TSSIG | jtag_core,
22994 write_radio_reg(pi,
22995 RADIO_2056_TX_TSSI_MISC1 |
22998 write_radio_reg(pi,
22999 RADIO_2056_TX_TSSI_MISC2 |
23001 write_radio_reg(pi,
23002 RADIO_2056_TX_TSSI_MISC3 |
23005 write_radio_reg(pi,
23006 RADIO_2056_TX_TX_SSI_MASTER |
23008 write_radio_reg(pi,
23009 RADIO_2056_TX_IQCAL_VCM_HG |
23011 write_radio_reg(pi,
23012 RADIO_2056_TX_IQCAL_IDAC |
23014 write_radio_reg(pi,
23015 RADIO_2056_TX_TSSI_VCM |
23017 write_radio_reg(pi,
23018 RADIO_2056_TX_TX_AMP_DET |
23020 write_radio_reg(pi,
23021 RADIO_2056_TX_TSSIA | jtag_core,
23026 write_radio_reg(pi,
23027 RADIO_2056_TX_TX_SSI_MUX
23028 | jtag_core, 0x06);
23029 if (NREV_LT(pi->pubpi.phy_rev, 5)) {
23031 write_radio_reg(pi,
23032 RADIO_2056_TX_TSSIG
23037 write_radio_reg(pi,
23038 RADIO_2056_TX_TSSIG
23043 write_radio_reg(pi,
23044 RADIO_2056_TX_TX_SSI_MUX
23045 | jtag_core, 0x00);
23046 write_radio_reg(pi,
23047 RADIO_2056_TX_TSSIG |
23051 write_radio_reg(pi,
23052 RADIO_2056_TX_TSSI_MISC1 |
23054 write_radio_reg(pi,
23055 RADIO_2056_TX_TSSI_MISC2 |
23057 write_radio_reg(pi,
23058 RADIO_2056_TX_TSSI_MISC3 |
23064 pi->tx_rx_cal_radio_saveregs[0] =
23065 read_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1);
23066 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1, 0x29);
23067 pi->tx_rx_cal_radio_saveregs[1] =
23068 read_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2);
23069 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2, 0x54);
23071 pi->tx_rx_cal_radio_saveregs[2] =
23072 read_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1);
23073 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1, 0x29);
23074 pi->tx_rx_cal_radio_saveregs[3] =
23075 read_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2);
23076 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2, 0x54);
23078 pi->tx_rx_cal_radio_saveregs[4] =
23079 read_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1);
23080 pi->tx_rx_cal_radio_saveregs[5] =
23081 read_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2);
23083 if ((read_phy_reg(pi, 0x09) & NPHY_BandControl_currentBand) ==
23086 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1, 0x04);
23087 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2, 0x04);
23090 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1, 0x20);
23091 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2, 0x20);
23094 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
23096 or_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM, 0x20);
23097 or_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM, 0x20);
23100 and_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM, 0xdf);
23101 and_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM, 0xdf);
23106 static void wlc_phy_txcal_radio_cleanup_nphy(phy_info_t *pi)
23108 u16 jtag_core, core;
23110 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
23111 for (core = 0; core <= 1; core++) {
23113 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
23116 tx_rx_cal_radio_saveregs[(core * 11) +
23119 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, IQCAL_VCM_HG,
23121 tx_rx_cal_radio_saveregs[(core * 11) +
23124 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, IQCAL_IDAC,
23126 tx_rx_cal_radio_saveregs[(core * 11) +
23129 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_VCM,
23131 tx_rx_cal_radio_saveregs[(core * 11) +
23134 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TX_SSI_MUX,
23136 tx_rx_cal_radio_saveregs[(core * 11) +
23139 if (pi->pubpi.radiorev != 5)
23140 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
23143 tx_rx_cal_radio_saveregs[(core
23148 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSIG,
23150 tx_rx_cal_radio_saveregs[(core * 11) +
23153 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_MISC1,
23155 tx_rx_cal_radio_saveregs[(core * 11) +
23158 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23159 for (core = 0; core <= 1; core++) {
23162 PHY_CORE_0) ? RADIO_2056_TX0 : RADIO_2056_TX1;
23164 write_radio_reg(pi,
23165 RADIO_2056_TX_TX_SSI_MASTER | jtag_core,
23167 tx_rx_cal_radio_saveregs[(core * 11) +
23170 write_radio_reg(pi,
23171 RADIO_2056_TX_IQCAL_VCM_HG | jtag_core,
23173 tx_rx_cal_radio_saveregs[(core * 11) +
23176 write_radio_reg(pi,
23177 RADIO_2056_TX_IQCAL_IDAC | jtag_core,
23179 tx_rx_cal_radio_saveregs[(core * 11) +
23182 write_radio_reg(pi, RADIO_2056_TX_TSSI_VCM | jtag_core,
23184 tx_rx_cal_radio_saveregs[(core * 11) +
23187 write_radio_reg(pi,
23188 RADIO_2056_TX_TX_AMP_DET | jtag_core,
23190 tx_rx_cal_radio_saveregs[(core * 11) +
23193 write_radio_reg(pi,
23194 RADIO_2056_TX_TX_SSI_MUX | jtag_core,
23196 tx_rx_cal_radio_saveregs[(core * 11) +
23199 write_radio_reg(pi, RADIO_2056_TX_TSSIA | jtag_core,
23201 tx_rx_cal_radio_saveregs[(core * 11) +
23204 write_radio_reg(pi, RADIO_2056_TX_TSSIG | jtag_core,
23206 tx_rx_cal_radio_saveregs[(core * 11) +
23209 write_radio_reg(pi,
23210 RADIO_2056_TX_TSSI_MISC1 | jtag_core,
23212 tx_rx_cal_radio_saveregs[(core * 11) +
23215 write_radio_reg(pi,
23216 RADIO_2056_TX_TSSI_MISC2 | jtag_core,
23218 tx_rx_cal_radio_saveregs[(core * 11) +
23221 write_radio_reg(pi,
23222 RADIO_2056_TX_TSSI_MISC3 | jtag_core,
23224 tx_rx_cal_radio_saveregs[(core * 11) +
23229 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1,
23230 pi->tx_rx_cal_radio_saveregs[0]);
23231 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2,
23232 pi->tx_rx_cal_radio_saveregs[1]);
23233 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1,
23234 pi->tx_rx_cal_radio_saveregs[2]);
23235 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2,
23236 pi->tx_rx_cal_radio_saveregs[3]);
23237 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1,
23238 pi->tx_rx_cal_radio_saveregs[4]);
23239 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2,
23240 pi->tx_rx_cal_radio_saveregs[5]);
23244 static void wlc_phy_txcal_physetup_nphy(phy_info_t *pi)
23248 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23249 pi->tx_rx_cal_phy_saveregs[0] = read_phy_reg(pi, 0xa6);
23250 pi->tx_rx_cal_phy_saveregs[1] = read_phy_reg(pi, 0xa7);
23252 mask = ((0x3 << 8) | (0x3 << 10));
23254 val |= (0x2 << 10);
23255 mod_phy_reg(pi, 0xa6, mask, val);
23256 mod_phy_reg(pi, 0xa7, mask, val);
23258 val = read_phy_reg(pi, 0x8f);
23259 pi->tx_rx_cal_phy_saveregs[2] = val;
23260 val |= ((0x1 << 9) | (0x1 << 10));
23261 write_phy_reg(pi, 0x8f, val);
23263 val = read_phy_reg(pi, 0xa5);
23264 pi->tx_rx_cal_phy_saveregs[3] = val;
23265 val |= ((0x1 << 9) | (0x1 << 10));
23266 write_phy_reg(pi, 0xa5, val);
23268 pi->tx_rx_cal_phy_saveregs[4] = read_phy_reg(pi, 0x01);
23269 mod_phy_reg(pi, 0x01, (0x1 << 15), 0);
23271 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 3, 16,
23273 pi->tx_rx_cal_phy_saveregs[5] = val;
23275 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 3, 16,
23278 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 19, 16,
23280 pi->tx_rx_cal_phy_saveregs[6] = val;
23282 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 19, 16,
23285 pi->tx_rx_cal_phy_saveregs[7] = read_phy_reg(pi, 0x91);
23286 pi->tx_rx_cal_phy_saveregs[8] = read_phy_reg(pi, 0x92);
23288 if (!(pi->use_int_tx_iqlo_cal_nphy)) {
23290 wlc_phy_rfctrlintc_override_nphy(pi,
23291 NPHY_RfctrlIntc_override_PA,
23293 RADIO_MIMO_CORESEL_CORE1
23295 RADIO_MIMO_CORESEL_CORE2);
23298 wlc_phy_rfctrlintc_override_nphy(pi,
23299 NPHY_RfctrlIntc_override_PA,
23301 RADIO_MIMO_CORESEL_CORE1
23303 RADIO_MIMO_CORESEL_CORE2);
23306 wlc_phy_rfctrlintc_override_nphy(pi,
23307 NPHY_RfctrlIntc_override_TRSW,
23308 0x2, RADIO_MIMO_CORESEL_CORE1);
23309 wlc_phy_rfctrlintc_override_nphy(pi,
23310 NPHY_RfctrlIntc_override_TRSW,
23311 0x8, RADIO_MIMO_CORESEL_CORE2);
23313 pi->tx_rx_cal_phy_saveregs[9] = read_phy_reg(pi, 0x297);
23314 pi->tx_rx_cal_phy_saveregs[10] = read_phy_reg(pi, 0x29b);
23315 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x297 :
23316 0x29b, (0x1 << 0), (0) << 0);
23318 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x297 :
23319 0x29b, (0x1 << 0), (0) << 0);
23321 if (NREV_IS(pi->pubpi.phy_rev, 7)
23322 || NREV_GE(pi->pubpi.phy_rev, 8)) {
23323 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7),
23324 wlc_phy_read_lpf_bw_ctl_nphy
23326 NPHY_REV7_RFCTRLOVERRIDE_ID1);
23329 if (pi->use_int_tx_iqlo_cal_nphy
23330 && !(pi->internal_tx_iqlo_cal_tapoff_intpa_nphy)) {
23332 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
23334 mod_radio_reg(pi, RADIO_2057_OVR_REG0, 1 << 4,
23337 if (CHSPEC_IS2G(pi->radio_chanspec)) {
23339 RADIO_2057_PAD2G_TUNE_PUS_CORE0,
23342 RADIO_2057_PAD2G_TUNE_PUS_CORE1,
23346 RADIO_2057_IPA5G_CASCOFFV_PU_CORE0,
23349 RADIO_2057_IPA5G_CASCOFFV_PU_CORE1,
23352 } else if (NREV_GE(pi->pubpi.phy_rev, 8)) {
23353 wlc_phy_rfctrl_override_nphy_rev7(pi,
23356 NPHY_REV7_RFCTRLOVERRIDE_ID0);
23360 pi->tx_rx_cal_phy_saveregs[0] = read_phy_reg(pi, 0xa6);
23361 pi->tx_rx_cal_phy_saveregs[1] = read_phy_reg(pi, 0xa7);
23363 mask = ((0x3 << 12) | (0x3 << 14));
23365 val |= (0x2 << 14);
23366 mod_phy_reg(pi, 0xa6, mask, val);
23367 mod_phy_reg(pi, 0xa7, mask, val);
23369 val = read_phy_reg(pi, 0xa5);
23370 pi->tx_rx_cal_phy_saveregs[2] = val;
23371 val |= ((0x1 << 12) | (0x1 << 13));
23372 write_phy_reg(pi, 0xa5, val);
23374 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 2, 16,
23376 pi->tx_rx_cal_phy_saveregs[3] = val;
23378 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 2, 16,
23381 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 18, 16,
23383 pi->tx_rx_cal_phy_saveregs[4] = val;
23385 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 18, 16,
23388 pi->tx_rx_cal_phy_saveregs[5] = read_phy_reg(pi, 0x91);
23389 pi->tx_rx_cal_phy_saveregs[6] = read_phy_reg(pi, 0x92);
23390 val = CHSPEC_IS5G(pi->radio_chanspec) ? 0x180 : 0x120;
23391 write_phy_reg(pi, 0x91, val);
23392 write_phy_reg(pi, 0x92, val);
23396 static void wlc_phy_txcal_phycleanup_nphy(phy_info_t *pi)
23400 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23401 write_phy_reg(pi, 0xa6, pi->tx_rx_cal_phy_saveregs[0]);
23402 write_phy_reg(pi, 0xa7, pi->tx_rx_cal_phy_saveregs[1]);
23403 write_phy_reg(pi, 0x8f, pi->tx_rx_cal_phy_saveregs[2]);
23404 write_phy_reg(pi, 0xa5, pi->tx_rx_cal_phy_saveregs[3]);
23405 write_phy_reg(pi, 0x01, pi->tx_rx_cal_phy_saveregs[4]);
23407 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 3, 16,
23408 &pi->tx_rx_cal_phy_saveregs[5]);
23409 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 19, 16,
23410 &pi->tx_rx_cal_phy_saveregs[6]);
23412 write_phy_reg(pi, 0x91, pi->tx_rx_cal_phy_saveregs[7]);
23413 write_phy_reg(pi, 0x92, pi->tx_rx_cal_phy_saveregs[8]);
23415 write_phy_reg(pi, 0x297, pi->tx_rx_cal_phy_saveregs[9]);
23416 write_phy_reg(pi, 0x29b, pi->tx_rx_cal_phy_saveregs[10]);
23418 if (NREV_IS(pi->pubpi.phy_rev, 7)
23419 || NREV_GE(pi->pubpi.phy_rev, 8)) {
23420 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7), 0, 0,
23422 NPHY_REV7_RFCTRLOVERRIDE_ID1);
23425 wlc_phy_resetcca_nphy(pi);
23427 if (pi->use_int_tx_iqlo_cal_nphy
23428 && !(pi->internal_tx_iqlo_cal_tapoff_intpa_nphy)) {
23430 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
23431 if (CHSPEC_IS2G(pi->radio_chanspec)) {
23433 RADIO_2057_PAD2G_TUNE_PUS_CORE0,
23436 RADIO_2057_PAD2G_TUNE_PUS_CORE1,
23440 RADIO_2057_IPA5G_CASCOFFV_PU_CORE0,
23443 RADIO_2057_IPA5G_CASCOFFV_PU_CORE1,
23447 mod_radio_reg(pi, RADIO_2057_OVR_REG0, 1 << 4,
23449 } else if (NREV_GE(pi->pubpi.phy_rev, 8)) {
23450 wlc_phy_rfctrl_override_nphy_rev7(pi,
23453 NPHY_REV7_RFCTRLOVERRIDE_ID0);
23457 mask = ((0x3 << 12) | (0x3 << 14));
23458 mod_phy_reg(pi, 0xa6, mask, pi->tx_rx_cal_phy_saveregs[0]);
23459 mod_phy_reg(pi, 0xa7, mask, pi->tx_rx_cal_phy_saveregs[1]);
23460 write_phy_reg(pi, 0xa5, pi->tx_rx_cal_phy_saveregs[2]);
23462 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 2, 16,
23463 &pi->tx_rx_cal_phy_saveregs[3]);
23465 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 18, 16,
23466 &pi->tx_rx_cal_phy_saveregs[4]);
23468 write_phy_reg(pi, 0x91, pi->tx_rx_cal_phy_saveregs[5]);
23469 write_phy_reg(pi, 0x92, pi->tx_rx_cal_phy_saveregs[6]);
23473 #define NPHY_CAL_TSSISAMPS 64
23474 #define NPHY_TEST_TONE_FREQ_40MHz 4000
23475 #define NPHY_TEST_TONE_FREQ_20MHz 2500
23478 wlc_phy_est_tonepwr_nphy(phy_info_t *pi, s32 *qdBm_pwrbuf, u8 num_samps)
23481 s32 temp, pwrindex[2];
23487 tssi_reg = read_phy_reg(pi, 0x1e9);
23489 temp = (s32) (tssi_reg & 0x3f);
23490 idle_tssi[0] = (temp <= 31) ? temp : (temp - 64);
23492 temp = (s32) ((tssi_reg >> 8) & 0x3f);
23493 idle_tssi[1] = (temp <= 31) ? temp : (temp - 64);
23496 CHSPEC_IS5G(pi->radio_chanspec) ?
23497 (u8)NPHY_RSSI_SEL_TSSI_5G:(u8)NPHY_RSSI_SEL_TSSI_2G;
23499 wlc_phy_poll_rssi_nphy(pi, tssi_type, rssi_buf, num_samps);
23501 tssival[0] = rssi_buf[0] / ((s32) num_samps);
23502 tssival[1] = rssi_buf[2] / ((s32) num_samps);
23504 pwrindex[0] = idle_tssi[0] - tssival[0] + 64;
23505 pwrindex[1] = idle_tssi[1] - tssival[1] + 64;
23507 if (pwrindex[0] < 0) {
23509 } else if (pwrindex[0] > 63) {
23513 if (pwrindex[1] < 0) {
23515 } else if (pwrindex[1] > 63) {
23519 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 1,
23520 (u32) pwrindex[0], 32, &qdBm_pwrbuf[0]);
23521 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 1,
23522 (u32) pwrindex[1], 32, &qdBm_pwrbuf[1]);
23525 static void wlc_phy_internal_cal_txgain_nphy(phy_info_t *pi)
23529 pi->nphy_txcal_pwr_idx[0] = pi->nphy_cal_orig_pwr_idx[0];
23530 pi->nphy_txcal_pwr_idx[1] = pi->nphy_cal_orig_pwr_idx[0];
23531 wlc_phy_txpwr_index_nphy(pi, 1, pi->nphy_cal_orig_pwr_idx[0], true);
23532 wlc_phy_txpwr_index_nphy(pi, 2, pi->nphy_cal_orig_pwr_idx[1], true);
23534 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
23537 if (CHSPEC_IS2G(pi->radio_chanspec)) {
23538 txcal_gain[0] = (txcal_gain[0] & 0xF000) | 0x0F40;
23539 txcal_gain[1] = (txcal_gain[1] & 0xF000) | 0x0F40;
23541 txcal_gain[0] = (txcal_gain[0] & 0xF000) | 0x0F60;
23542 txcal_gain[1] = (txcal_gain[1] & 0xF000) | 0x0F60;
23545 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
23549 static void wlc_phy_precal_txgain_nphy(phy_info_t *pi)
23551 bool save_bbmult = false;
23552 u8 txcal_index_2057_rev5n7 = 0;
23553 u8 txcal_index_2057_rev3n4n6 = 10;
23555 if (pi->use_int_tx_iqlo_cal_nphy) {
23556 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
23557 if ((pi->pubpi.radiorev == 3) ||
23558 (pi->pubpi.radiorev == 4) ||
23559 (pi->pubpi.radiorev == 6)) {
23561 pi->nphy_txcal_pwr_idx[0] =
23562 txcal_index_2057_rev3n4n6;
23563 pi->nphy_txcal_pwr_idx[1] =
23564 txcal_index_2057_rev3n4n6;
23565 wlc_phy_txpwr_index_nphy(pi, 3,
23566 txcal_index_2057_rev3n4n6,
23570 pi->nphy_txcal_pwr_idx[0] =
23571 txcal_index_2057_rev5n7;
23572 pi->nphy_txcal_pwr_idx[1] =
23573 txcal_index_2057_rev5n7;
23574 wlc_phy_txpwr_index_nphy(pi, 3,
23575 txcal_index_2057_rev5n7,
23578 save_bbmult = true;
23580 } else if (NREV_LT(pi->pubpi.phy_rev, 5)) {
23581 wlc_phy_cal_txgainctrl_nphy(pi, 11, false);
23582 if (pi->sh->hw_phytxchain != 3) {
23583 pi->nphy_txcal_pwr_idx[1] =
23584 pi->nphy_txcal_pwr_idx[0];
23585 wlc_phy_txpwr_index_nphy(pi, 3,
23587 nphy_txcal_pwr_idx[0],
23589 save_bbmult = true;
23592 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
23594 if (CHSPEC_IS2G(pi->radio_chanspec)) {
23595 wlc_phy_cal_txgainctrl_nphy(pi, 12,
23598 pi->nphy_txcal_pwr_idx[0] = 80;
23599 pi->nphy_txcal_pwr_idx[1] = 80;
23600 wlc_phy_txpwr_index_nphy(pi, 3, 80,
23602 save_bbmult = true;
23606 wlc_phy_internal_cal_txgain_nphy(pi);
23607 save_bbmult = true;
23610 } else if (NREV_IS(pi->pubpi.phy_rev, 6)) {
23612 if (CHSPEC_IS2G(pi->radio_chanspec)) {
23613 wlc_phy_cal_txgainctrl_nphy(pi, 12,
23616 wlc_phy_cal_txgainctrl_nphy(pi, 14,
23621 wlc_phy_internal_cal_txgain_nphy(pi);
23622 save_bbmult = true;
23627 wlc_phy_cal_txgainctrl_nphy(pi, 10, false);
23631 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16,
23632 &pi->nphy_txcal_bbmult);
23637 wlc_phy_cal_txgainctrl_nphy(phy_info_t *pi, s32 dBm_targetpower, bool debug)
23639 int gainctrl_loopidx;
23641 u16 m0m1, curr_m0m1;
23646 u16 phy_saveregs[4];
23648 u16 ampl_test = 250;
23650 bool phyhang_avoid_state = false;
23652 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
23660 if (CHSPEC_IS40(pi->radio_chanspec)) {
23666 wlc_phy_txpwr_index_nphy(pi, 1, pi->nphy_cal_orig_pwr_idx[0], true);
23667 wlc_phy_txpwr_index_nphy(pi, 2, pi->nphy_cal_orig_pwr_idx[1], true);
23669 if (pi->phyhang_avoid)
23670 wlc_phy_stay_in_carriersearch_nphy(pi, true);
23672 phyhang_avoid_state = pi->phyhang_avoid;
23673 pi->phyhang_avoid = false;
23675 phy_saveregs[0] = read_phy_reg(pi, 0x91);
23676 phy_saveregs[1] = read_phy_reg(pi, 0x92);
23677 phy_saveregs[2] = read_phy_reg(pi, 0xe7);
23678 phy_saveregs[3] = read_phy_reg(pi, 0xec);
23679 wlc_phy_rfctrlintc_override_nphy(pi, NPHY_RfctrlIntc_override_PA, 1,
23680 RADIO_MIMO_CORESEL_CORE1 |
23681 RADIO_MIMO_CORESEL_CORE2);
23684 wlc_phy_rfctrlintc_override_nphy(pi,
23685 NPHY_RfctrlIntc_override_TRSW,
23686 0x2, RADIO_MIMO_CORESEL_CORE1);
23687 wlc_phy_rfctrlintc_override_nphy(pi,
23688 NPHY_RfctrlIntc_override_TRSW,
23689 0x8, RADIO_MIMO_CORESEL_CORE2);
23691 wlc_phy_rfctrlintc_override_nphy(pi,
23692 NPHY_RfctrlIntc_override_TRSW,
23693 0x1, RADIO_MIMO_CORESEL_CORE1);
23694 wlc_phy_rfctrlintc_override_nphy(pi,
23695 NPHY_RfctrlIntc_override_TRSW,
23696 0x7, RADIO_MIMO_CORESEL_CORE2);
23699 orig_BBConfig = read_phy_reg(pi, 0x01);
23700 mod_phy_reg(pi, 0x01, (0x1 << 15), 0);
23702 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m0m1);
23704 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
23705 txpwrindex = (s32) pi->nphy_cal_orig_pwr_idx[core];
23707 for (gainctrl_loopidx = 0; gainctrl_loopidx < 2;
23708 gainctrl_loopidx++) {
23709 wlc_phy_tx_tone_nphy(pi, freq_test, ampl_test, 0, 0,
23712 if (core == PHY_CORE_0) {
23713 curr_m0m1 = m0m1 & 0xff00;
23715 curr_m0m1 = m0m1 & 0x00ff;
23718 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &curr_m0m1);
23719 wlc_phy_table_write_nphy(pi, 15, 1, 95, 16, &curr_m0m1);
23723 wlc_phy_est_tonepwr_nphy(pi, qdBm_power,
23724 NPHY_CAL_TSSISAMPS);
23726 pi->nphy_bb_mult_save = 0;
23727 wlc_phy_stopplayback_nphy(pi);
23729 delta_power = (dBm_targetpower * 4) - qdBm_power[core];
23731 txpwrindex -= stepsize * delta_power;
23732 if (txpwrindex < 0) {
23734 } else if (txpwrindex > 127) {
23738 if (CHSPEC_IS5G(pi->radio_chanspec)) {
23739 if (NREV_IS(pi->pubpi.phy_rev, 4) &&
23740 (pi->srom_fem5g.extpagain == 3)) {
23741 if (txpwrindex < 30) {
23746 if (NREV_GE(pi->pubpi.phy_rev, 5) &&
23747 (pi->srom_fem2g.extpagain == 3)) {
23748 if (txpwrindex < 50) {
23754 wlc_phy_txpwr_index_nphy(pi, (1 << core),
23755 (u8) txpwrindex, true);
23758 pi->nphy_txcal_pwr_idx[core] = (u8) txpwrindex;
23764 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &dbg_m0m1);
23766 wlc_phy_tx_tone_nphy(pi, freq_test, ampl_test, 0, 0,
23769 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &dbg_m0m1);
23770 wlc_phy_table_write_nphy(pi, 15, 1, 95, 16, &dbg_m0m1);
23774 wlc_phy_est_tonepwr_nphy(pi, qdBm_power,
23775 NPHY_CAL_TSSISAMPS);
23777 wlc_phy_table_read_nphy(pi, 7, 1, (0x110 + core), 16,
23781 pi->nphy_bb_mult_save = 0;
23782 wlc_phy_stopplayback_nphy(pi);
23786 wlc_phy_txpwr_index_nphy(pi, 1, pi->nphy_txcal_pwr_idx[0], true);
23787 wlc_phy_txpwr_index_nphy(pi, 2, pi->nphy_txcal_pwr_idx[1], true);
23789 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &pi->nphy_txcal_bbmult);
23791 write_phy_reg(pi, 0x01, orig_BBConfig);
23793 write_phy_reg(pi, 0x91, phy_saveregs[0]);
23794 write_phy_reg(pi, 0x92, phy_saveregs[1]);
23795 write_phy_reg(pi, 0xe7, phy_saveregs[2]);
23796 write_phy_reg(pi, 0xec, phy_saveregs[3]);
23798 pi->phyhang_avoid = phyhang_avoid_state;
23800 if (pi->phyhang_avoid)
23801 wlc_phy_stay_in_carriersearch_nphy(pi, false);
23804 static void wlc_phy_update_txcal_ladder_nphy(phy_info_t *pi, u16 core)
23811 nphy_txiqcal_ladder_t ladder_lo[] = {
23812 {3, 0}, {4, 0}, {6, 0}, {9, 0}, {13, 0}, {18, 0},
23813 {25, 0}, {25, 1}, {25, 2}, {25, 3}, {25, 4}, {25, 5},
23814 {25, 6}, {25, 7}, {35, 7}, {50, 7}, {71, 7}, {100, 7}
23817 nphy_txiqcal_ladder_t ladder_iq[] = {
23818 {3, 0}, {4, 0}, {6, 0}, {9, 0}, {13, 0}, {18, 0},
23819 {25, 0}, {35, 0}, {50, 0}, {71, 0}, {100, 0}, {100, 1},
23820 {100, 2}, {100, 3}, {100, 4}, {100, 5}, {100, 6}, {100, 7}
23823 bbmult = (core == PHY_CORE_0) ?
23824 ((pi->nphy_txcal_bbmult >> 8) & 0xff) : (pi->
23825 nphy_txcal_bbmult & 0xff);
23827 for (index = 0; index < 18; index++) {
23828 bbmult_scale = ladder_lo[index].percent * bbmult;
23829 bbmult_scale /= 100;
23832 ((bbmult_scale & 0xff) << 8) | ladder_lo[index].g_env;
23833 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, index, 16,
23836 bbmult_scale = ladder_iq[index].percent * bbmult;
23837 bbmult_scale /= 100;
23840 ((bbmult_scale & 0xff) << 8) | ladder_iq[index].g_env;
23841 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, index + 32,
23846 void wlc_phy_cal_perical_nphy_run(phy_info_t *pi, u8 caltype)
23848 nphy_txgains_t target_gain;
23849 u8 tx_pwr_ctrl_state;
23850 bool fullcal = true;
23851 bool restore_tx_gain = false;
23854 if (NORADIO_ENAB(pi->pubpi)) {
23855 wlc_phy_cal_perical_mphase_reset(pi);
23862 ASSERT(pi->nphy_perical != PHY_PERICAL_DISABLE);
23864 if (caltype == PHY_PERICAL_AUTO)
23865 fullcal = (pi->radio_chanspec != pi->nphy_txiqlocal_chanspec);
23866 else if (caltype == PHY_PERICAL_PARTIAL)
23869 if (pi->cal_type_override != PHY_PERICAL_AUTO) {
23871 (pi->cal_type_override == PHY_PERICAL_FULL) ? true : false;
23874 if ((pi->mphase_cal_phase_id > MPHASE_CAL_STATE_INIT)) {
23875 if (pi->nphy_txiqlocal_chanspec != pi->radio_chanspec)
23876 wlc_phy_cal_perical_mphase_restart(pi);
23879 if ((pi->mphase_cal_phase_id == MPHASE_CAL_STATE_RXCAL)) {
23880 wlapi_bmac_write_shm(pi->sh->physhim, M_CTS_DURATION, 10000);
23883 wlapi_suspend_mac_and_wait(pi->sh->physhim);
23885 wlc_phyreg_enter((wlc_phy_t *) pi);
23887 if ((pi->mphase_cal_phase_id == MPHASE_CAL_STATE_IDLE) ||
23888 (pi->mphase_cal_phase_id == MPHASE_CAL_STATE_INIT)) {
23889 pi->nphy_cal_orig_pwr_idx[0] =
23890 (u8) ((read_phy_reg(pi, 0x1ed) >> 8) & 0x7f);
23891 pi->nphy_cal_orig_pwr_idx[1] =
23892 (u8) ((read_phy_reg(pi, 0x1ee) >> 8) & 0x7f);
23894 if (pi->nphy_txpwrctrl != PHY_TPC_HW_OFF) {
23895 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2,
23897 pi->nphy_cal_orig_tx_gain);
23899 pi->nphy_cal_orig_tx_gain[0] = 0;
23900 pi->nphy_cal_orig_tx_gain[1] = 0;
23903 target_gain = wlc_phy_get_tx_gain_nphy(pi);
23904 tx_pwr_ctrl_state = pi->nphy_txpwrctrl;
23905 wlc_phy_txpwrctrl_enable_nphy(pi, PHY_TPC_HW_OFF);
23907 if (pi->antsel_type == ANTSEL_2x3)
23908 wlc_phy_antsel_init((wlc_phy_t *) pi, true);
23910 mphase = (pi->mphase_cal_phase_id != MPHASE_CAL_STATE_IDLE);
23913 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23914 wlc_phy_precal_txgain_nphy(pi);
23915 pi->nphy_cal_target_gain = wlc_phy_get_tx_gain_nphy(pi);
23916 restore_tx_gain = true;
23918 target_gain = pi->nphy_cal_target_gain;
23921 wlc_phy_cal_txiqlo_nphy(pi, target_gain, fullcal, mphase)) {
23923 wlc_phy_a4(pi, true);
23925 wlc_phyreg_exit((wlc_phy_t *) pi);
23926 wlapi_enable_mac(pi->sh->physhim);
23927 wlapi_bmac_write_shm(pi->sh->physhim, M_CTS_DURATION,
23929 wlapi_suspend_mac_and_wait(pi->sh->physhim);
23930 wlc_phyreg_enter((wlc_phy_t *) pi);
23932 if (BCME_OK == wlc_phy_cal_rxiq_nphy(pi, target_gain,
23934 first_cal_after_assoc
23940 wlc_phy_savecal_nphy(pi);
23942 wlc_phy_txpwrctrl_coeff_setup_nphy(pi);
23944 pi->nphy_perical_last = pi->sh->now;
23947 if (caltype != PHY_PERICAL_AUTO) {
23948 wlc_phy_rssi_cal_nphy(pi);
23951 if (pi->first_cal_after_assoc
23952 || (pi->cal_type_override == PHY_PERICAL_FULL)) {
23953 pi->first_cal_after_assoc = false;
23954 wlc_phy_txpwrctrl_idle_tssi_nphy(pi);
23955 wlc_phy_txpwrctrl_pwr_setup_nphy(pi);
23958 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23959 wlc_phy_radio205x_vcocal_nphy(pi);
23962 ASSERT(pi->nphy_perical >= PHY_PERICAL_MPHASE);
23964 switch (pi->mphase_cal_phase_id) {
23965 case MPHASE_CAL_STATE_INIT:
23966 pi->nphy_perical_last = pi->sh->now;
23967 pi->nphy_txiqlocal_chanspec = pi->radio_chanspec;
23969 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23970 wlc_phy_precal_txgain_nphy(pi);
23972 pi->nphy_cal_target_gain = wlc_phy_get_tx_gain_nphy(pi);
23973 pi->mphase_cal_phase_id++;
23976 case MPHASE_CAL_STATE_TXPHASE0:
23977 case MPHASE_CAL_STATE_TXPHASE1:
23978 case MPHASE_CAL_STATE_TXPHASE2:
23979 case MPHASE_CAL_STATE_TXPHASE3:
23980 case MPHASE_CAL_STATE_TXPHASE4:
23981 case MPHASE_CAL_STATE_TXPHASE5:
23982 if ((pi->radar_percal_mask & 0x10) != 0)
23983 pi->nphy_rxcal_active = true;
23985 if (wlc_phy_cal_txiqlo_nphy
23986 (pi, pi->nphy_cal_target_gain, fullcal,
23987 true) != BCME_OK) {
23989 wlc_phy_cal_perical_mphase_reset(pi);
23993 if (NREV_LE(pi->pubpi.phy_rev, 2) &&
23994 (pi->mphase_cal_phase_id ==
23995 MPHASE_CAL_STATE_TXPHASE4)) {
23996 pi->mphase_cal_phase_id += 2;
23998 pi->mphase_cal_phase_id++;
24002 case MPHASE_CAL_STATE_PAPDCAL:
24003 if ((pi->radar_percal_mask & 0x2) != 0)
24004 pi->nphy_rxcal_active = true;
24007 wlc_phy_a4(pi, true);
24009 pi->mphase_cal_phase_id++;
24012 case MPHASE_CAL_STATE_RXCAL:
24013 if ((pi->radar_percal_mask & 0x1) != 0)
24014 pi->nphy_rxcal_active = true;
24015 if (wlc_phy_cal_rxiq_nphy(pi, target_gain,
24016 (pi->first_cal_after_assoc ||
24017 (pi->cal_type_override ==
24018 PHY_PERICAL_FULL)) ? 2 : 0,
24019 false) == BCME_OK) {
24020 wlc_phy_savecal_nphy(pi);
24023 pi->mphase_cal_phase_id++;
24026 case MPHASE_CAL_STATE_RSSICAL:
24027 if ((pi->radar_percal_mask & 0x4) != 0)
24028 pi->nphy_rxcal_active = true;
24029 wlc_phy_txpwrctrl_coeff_setup_nphy(pi);
24030 wlc_phy_rssi_cal_nphy(pi);
24032 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
24033 wlc_phy_radio205x_vcocal_nphy(pi);
24035 restore_tx_gain = true;
24037 if (pi->first_cal_after_assoc) {
24038 pi->mphase_cal_phase_id++;
24040 wlc_phy_cal_perical_mphase_reset(pi);
24045 case MPHASE_CAL_STATE_IDLETSSI:
24046 if ((pi->radar_percal_mask & 0x8) != 0)
24047 pi->nphy_rxcal_active = true;
24049 if (pi->first_cal_after_assoc) {
24050 pi->first_cal_after_assoc = false;
24051 wlc_phy_txpwrctrl_idle_tssi_nphy(pi);
24052 wlc_phy_txpwrctrl_pwr_setup_nphy(pi);
24055 wlc_phy_cal_perical_mphase_reset(pi);
24060 wlc_phy_cal_perical_mphase_reset(pi);
24065 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
24066 if (restore_tx_gain) {
24067 if (tx_pwr_ctrl_state != PHY_TPC_HW_OFF) {
24069 wlc_phy_txpwr_index_nphy(pi, 1,
24071 nphy_cal_orig_pwr_idx
24073 wlc_phy_txpwr_index_nphy(pi, 2,
24075 nphy_cal_orig_pwr_idx
24078 pi->nphy_txpwrindex[0].index = -1;
24079 pi->nphy_txpwrindex[1].index = -1;
24081 wlc_phy_txpwr_index_nphy(pi, (1 << 0),
24087 wlc_phy_txpwr_index_nphy(pi, (1 << 1),
24097 wlc_phy_txpwrctrl_enable_nphy(pi, tx_pwr_ctrl_state);
24098 wlc_phyreg_exit((wlc_phy_t *) pi);
24099 wlapi_enable_mac(pi->sh->physhim);
24103 wlc_phy_cal_txiqlo_nphy(phy_info_t *pi, nphy_txgains_t target_gain,
24104 bool fullcal, bool mphase)
24110 u8 num_cals, max_cal_cmds;
24111 u16 core_no, cal_type;
24118 nphy_iqcal_params_t cal_params[2];
24121 bool ladder_updated[2];
24122 u8 mphase_cal_lastphase = 0;
24123 int bcmerror = BCME_OK;
24124 bool phyhang_avoid_state = false;
24126 u16 tbl_tx_iqlo_cal_loft_ladder_20[] = {
24127 0x0300, 0x0500, 0x0700, 0x0900, 0x0d00, 0x1100, 0x1900, 0x1901,
24129 0x1903, 0x1904, 0x1905, 0x1906, 0x1907, 0x2407, 0x3207, 0x4607,
24133 u16 tbl_tx_iqlo_cal_iqimb_ladder_20[] = {
24134 0x0200, 0x0300, 0x0600, 0x0900, 0x0d00, 0x1100, 0x1900, 0x2400,
24136 0x4600, 0x6400, 0x6401, 0x6402, 0x6403, 0x6404, 0x6405, 0x6406,
24140 u16 tbl_tx_iqlo_cal_loft_ladder_40[] = {
24141 0x0200, 0x0300, 0x0400, 0x0700, 0x0900, 0x0c00, 0x1200, 0x1201,
24143 0x1203, 0x1204, 0x1205, 0x1206, 0x1207, 0x1907, 0x2307, 0x3207,
24147 u16 tbl_tx_iqlo_cal_iqimb_ladder_40[] = {
24148 0x0100, 0x0200, 0x0400, 0x0700, 0x0900, 0x0c00, 0x1200, 0x1900,
24150 0x3200, 0x4700, 0x4701, 0x4702, 0x4703, 0x4704, 0x4705, 0x4706,
24154 u16 tbl_tx_iqlo_cal_startcoefs[] = {
24155 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
24159 u16 tbl_tx_iqlo_cal_cmds_fullcal[] = {
24160 0x8123, 0x8264, 0x8086, 0x8245, 0x8056,
24161 0x9123, 0x9264, 0x9086, 0x9245, 0x9056
24164 u16 tbl_tx_iqlo_cal_cmds_recal[] = {
24165 0x8101, 0x8253, 0x8053, 0x8234, 0x8034,
24166 0x9101, 0x9253, 0x9053, 0x9234, 0x9034
24169 u16 tbl_tx_iqlo_cal_startcoefs_nphyrev3[] = {
24170 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
24171 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
24175 u16 tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3[] = {
24176 0x8434, 0x8334, 0x8084, 0x8267, 0x8056, 0x8234,
24177 0x9434, 0x9334, 0x9084, 0x9267, 0x9056, 0x9234
24180 u16 tbl_tx_iqlo_cal_cmds_recal_nphyrev3[] = {
24181 0x8423, 0x8323, 0x8073, 0x8256, 0x8045, 0x8223,
24182 0x9423, 0x9323, 0x9073, 0x9256, 0x9045, 0x9223
24185 wlc_phy_stay_in_carriersearch_nphy(pi, true);
24187 if (NREV_GE(pi->pubpi.phy_rev, 4)) {
24188 phyhang_avoid_state = pi->phyhang_avoid;
24189 pi->phyhang_avoid = false;
24192 if (CHSPEC_IS40(pi->radio_chanspec)) {
24198 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, gain_save);
24200 for (core_no = 0; core_no <= 1; core_no++) {
24201 wlc_phy_iqcal_gainparams_nphy(pi, core_no, target_gain,
24202 &cal_params[core_no]);
24203 cal_gain[core_no] = cal_params[core_no].cal_gain;
24206 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, cal_gain);
24208 wlc_phy_txcal_radio_setup_nphy(pi);
24210 wlc_phy_txcal_physetup_nphy(pi);
24212 ladder_updated[0] = ladder_updated[1] = false;
24213 if (!(NREV_GE(pi->pubpi.phy_rev, 6) ||
24214 (NREV_IS(pi->pubpi.phy_rev, 5) && PHY_IPA(pi)
24215 && (CHSPEC_IS2G(pi->radio_chanspec))))) {
24217 if (phy_bw == 40) {
24218 tbl_ptr = tbl_tx_iqlo_cal_loft_ladder_40;
24219 tbl_len = ARRAY_SIZE(tbl_tx_iqlo_cal_loft_ladder_40);
24221 tbl_ptr = tbl_tx_iqlo_cal_loft_ladder_20;
24222 tbl_len = ARRAY_SIZE(tbl_tx_iqlo_cal_loft_ladder_20);
24224 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, tbl_len, 0,
24227 if (phy_bw == 40) {
24228 tbl_ptr = tbl_tx_iqlo_cal_iqimb_ladder_40;
24229 tbl_len = ARRAY_SIZE(tbl_tx_iqlo_cal_iqimb_ladder_40);
24231 tbl_ptr = tbl_tx_iqlo_cal_iqimb_ladder_20;
24232 tbl_len = ARRAY_SIZE(tbl_tx_iqlo_cal_iqimb_ladder_20);
24234 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, tbl_len, 32,
24238 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
24239 write_phy_reg(pi, 0xc2, 0x8ad9);
24241 write_phy_reg(pi, 0xc2, 0x8aa9);
24245 tone_freq = (phy_bw == 20) ? 2500 : 5000;
24247 if (pi->mphase_cal_phase_id > MPHASE_CAL_STATE_TXPHASE0) {
24248 wlc_phy_runsamples_nphy(pi, phy_bw * 8, 0xffff, 0, 1, 0, false);
24249 bcmerror = BCME_OK;
24252 wlc_phy_tx_tone_nphy(pi, tone_freq, max_val, 1, 0, false);
24255 if (bcmerror == BCME_OK) {
24257 if (pi->mphase_cal_phase_id > MPHASE_CAL_STATE_TXPHASE0) {
24258 tbl_ptr = pi->mphase_txcal_bestcoeffs;
24259 tbl_len = ARRAY_SIZE(pi->mphase_txcal_bestcoeffs);
24260 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
24265 if ((!fullcal) && (pi->nphy_txiqlocal_coeffsvalid)) {
24267 tbl_ptr = pi->nphy_txiqlocal_bestc;
24268 tbl_len = ARRAY_SIZE(pi->nphy_txiqlocal_bestc);
24269 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
24277 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
24279 tbl_tx_iqlo_cal_startcoefs_nphyrev3;
24282 (tbl_tx_iqlo_cal_startcoefs_nphyrev3);
24284 tbl_ptr = tbl_tx_iqlo_cal_startcoefs;
24287 (tbl_tx_iqlo_cal_startcoefs);
24291 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, tbl_len, 64,
24295 max_cal_cmds = (NREV_GE(pi->pubpi.phy_rev, 3)) ?
24296 ARRAY_SIZE(tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3) :
24297 ARRAY_SIZE(tbl_tx_iqlo_cal_cmds_fullcal);
24299 max_cal_cmds = (NREV_GE(pi->pubpi.phy_rev, 3)) ?
24300 ARRAY_SIZE(tbl_tx_iqlo_cal_cmds_recal_nphyrev3) :
24301 ARRAY_SIZE(tbl_tx_iqlo_cal_cmds_recal);
24305 cal_cnt = pi->mphase_txcal_cmdidx;
24306 if ((cal_cnt + pi->mphase_txcal_numcmds) < max_cal_cmds) {
24307 num_cals = cal_cnt + pi->mphase_txcal_numcmds;
24309 num_cals = max_cal_cmds;
24313 num_cals = max_cal_cmds;
24316 for (; cal_cnt < num_cals; cal_cnt++) {
24319 cal_cmd = (NREV_GE(pi->pubpi.phy_rev, 3)) ?
24320 tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3
24322 tbl_tx_iqlo_cal_cmds_fullcal[cal_cnt];
24324 cal_cmd = (NREV_GE(pi->pubpi.phy_rev, 3)) ?
24325 tbl_tx_iqlo_cal_cmds_recal_nphyrev3[cal_cnt]
24326 : tbl_tx_iqlo_cal_cmds_recal[cal_cnt];
24329 core_no = ((cal_cmd & 0x3000) >> 12);
24330 cal_type = ((cal_cmd & 0x0F00) >> 8);
24332 if (NREV_GE(pi->pubpi.phy_rev, 6) ||
24333 (NREV_IS(pi->pubpi.phy_rev, 5) &&
24335 && (CHSPEC_IS2G(pi->radio_chanspec)))) {
24336 if (!ladder_updated[core_no]) {
24337 wlc_phy_update_txcal_ladder_nphy(pi,
24339 ladder_updated[core_no] = true;
24344 (cal_params[core_no].
24345 ncorr[cal_type] << 8) | NPHY_N_GCTL;
24346 write_phy_reg(pi, 0xc1, val);
24348 if ((cal_type == 1) || (cal_type == 3)
24349 || (cal_type == 4)) {
24351 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24352 1, 69 + core_no, 16,
24355 diq_start = tbl_buf[0];
24358 wlc_phy_table_write_nphy(pi,
24359 NPHY_TBL_ID_IQLOCAL, 1,
24364 write_phy_reg(pi, 0xc0, cal_cmd);
24366 SPINWAIT(((read_phy_reg(pi, 0xc0) & 0xc000) != 0),
24368 ASSERT((read_phy_reg(pi, 0xc0) & 0xc000) == 0);
24370 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24371 tbl_len, 96, 16, tbl_buf);
24372 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24373 tbl_len, 64, 16, tbl_buf);
24375 if ((cal_type == 1) || (cal_type == 3)
24376 || (cal_type == 4)) {
24378 tbl_buf[0] = diq_start;
24385 pi->mphase_txcal_cmdidx = num_cals;
24386 if (pi->mphase_txcal_cmdidx >= max_cal_cmds)
24387 pi->mphase_txcal_cmdidx = 0;
24390 mphase_cal_lastphase =
24391 (NREV_LE(pi->pubpi.phy_rev, 2)) ?
24392 MPHASE_CAL_STATE_TXPHASE4 : MPHASE_CAL_STATE_TXPHASE5;
24395 || (pi->mphase_cal_phase_id == mphase_cal_lastphase)) {
24397 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 96,
24399 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 80,
24402 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
24410 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 88,
24413 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 101,
24415 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 85,
24418 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 93,
24421 tbl_len = ARRAY_SIZE(pi->nphy_txiqlocal_bestc);
24422 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
24426 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24428 pi->nphy_txiqlocal_bestc);
24430 pi->nphy_txiqlocal_coeffsvalid = true;
24431 pi->nphy_txiqlocal_chanspec = pi->radio_chanspec;
24433 tbl_len = ARRAY_SIZE(pi->mphase_txcal_bestcoeffs);
24434 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
24438 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24440 pi->mphase_txcal_bestcoeffs);
24443 wlc_phy_stopplayback_nphy(pi);
24445 write_phy_reg(pi, 0xc2, 0x0000);
24449 wlc_phy_txcal_phycleanup_nphy(pi);
24451 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
24454 wlc_phy_txcal_radio_cleanup_nphy(pi);
24456 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
24458 || (pi->mphase_cal_phase_id == mphase_cal_lastphase))
24459 wlc_phy_tx_iq_war_nphy(pi);
24462 if (NREV_GE(pi->pubpi.phy_rev, 4)) {
24463 pi->phyhang_avoid = phyhang_avoid_state;
24466 wlc_phy_stay_in_carriersearch_nphy(pi, false);
24471 static void wlc_phy_reapply_txcal_coeffs_nphy(phy_info_t *pi)
24475 ASSERT(NREV_LT(pi->pubpi.phy_rev, 2));
24477 if ((pi->nphy_txiqlocal_chanspec == pi->radio_chanspec) &&
24478 (pi->nphy_txiqlocal_coeffsvalid)) {
24479 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24480 ARRAY_SIZE(tbl_buf), 80, 16, tbl_buf);
24482 if ((pi->nphy_txiqlocal_bestc[0] != tbl_buf[0]) ||
24483 (pi->nphy_txiqlocal_bestc[1] != tbl_buf[1]) ||
24484 (pi->nphy_txiqlocal_bestc[2] != tbl_buf[2]) ||
24485 (pi->nphy_txiqlocal_bestc[3] != tbl_buf[3])) {
24487 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 80,
24488 16, pi->nphy_txiqlocal_bestc);
24494 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 88,
24497 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 85,
24499 &pi->nphy_txiqlocal_bestc[5]);
24501 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 93,
24503 &pi->nphy_txiqlocal_bestc[5]);
24508 static void wlc_phy_tx_iq_war_nphy(phy_info_t *pi)
24510 nphy_iq_comp_t tx_comp;
24512 wlc_phy_table_read_nphy(pi, 15, 4, 0x50, 16, (void *)&tx_comp);
24514 wlapi_bmac_write_shm(pi->sh->physhim, M_20IN40_IQ, tx_comp.a0);
24515 wlapi_bmac_write_shm(pi->sh->physhim, M_20IN40_IQ + 2, tx_comp.b0);
24516 wlapi_bmac_write_shm(pi->sh->physhim, M_20IN40_IQ + 4, tx_comp.a1);
24517 wlapi_bmac_write_shm(pi->sh->physhim, M_20IN40_IQ + 6, tx_comp.b1);
24521 wlc_phy_rx_iq_coeffs_nphy(phy_info_t *pi, u8 write, nphy_iq_comp_t *pcomp)
24524 write_phy_reg(pi, 0x9a, pcomp->a0);
24525 write_phy_reg(pi, 0x9b, pcomp->b0);
24526 write_phy_reg(pi, 0x9c, pcomp->a1);
24527 write_phy_reg(pi, 0x9d, pcomp->b1);
24529 pcomp->a0 = read_phy_reg(pi, 0x9a);
24530 pcomp->b0 = read_phy_reg(pi, 0x9b);
24531 pcomp->a1 = read_phy_reg(pi, 0x9c);
24532 pcomp->b1 = read_phy_reg(pi, 0x9d);
24537 wlc_phy_rx_iq_est_nphy(phy_info_t *pi, phy_iq_est_t *est, u16 num_samps,
24538 u8 wait_time, u8 wait_for_crs)
24542 write_phy_reg(pi, 0x12b, num_samps);
24543 mod_phy_reg(pi, 0x12a, (0xff << 0), (wait_time << 0));
24544 mod_phy_reg(pi, 0x129, NPHY_IqestCmd_iqMode,
24545 (wait_for_crs) ? NPHY_IqestCmd_iqMode : 0);
24547 mod_phy_reg(pi, 0x129, NPHY_IqestCmd_iqstart, NPHY_IqestCmd_iqstart);
24549 SPINWAIT(((read_phy_reg(pi, 0x129) & NPHY_IqestCmd_iqstart) != 0),
24551 ASSERT((read_phy_reg(pi, 0x129) & NPHY_IqestCmd_iqstart) == 0);
24553 if ((read_phy_reg(pi, 0x129) & NPHY_IqestCmd_iqstart) == 0) {
24554 ASSERT(pi->pubpi.phy_corenum <= PHY_CORE_MAX);
24555 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
24557 (read_phy_reg(pi, NPHY_IqestipwrAccHi(core)) << 16)
24558 | read_phy_reg(pi, NPHY_IqestipwrAccLo(core));
24560 (read_phy_reg(pi, NPHY_IqestqpwrAccHi(core)) << 16)
24561 | read_phy_reg(pi, NPHY_IqestqpwrAccLo(core));
24562 est[core].iq_prod =
24563 (read_phy_reg(pi, NPHY_IqestIqAccHi(core)) << 16) |
24564 read_phy_reg(pi, NPHY_IqestIqAccLo(core));
24569 #define CAL_RETRY_CNT 2
24570 static void wlc_phy_calc_rx_iq_comp_nphy(phy_info_t *pi, u8 core_mask)
24573 phy_iq_est_t est[PHY_CORE_MAX];
24574 nphy_iq_comp_t old_comp, new_comp;
24576 u32 ii = 0, qq = 0;
24577 s16 iq_nbits, qq_nbits, brsh, arsh;
24579 int bcmerror = BCME_OK;
24580 uint cal_retry = 0;
24582 if (core_mask == 0x0)
24585 wlc_phy_rx_iq_coeffs_nphy(pi, 0, &old_comp);
24586 new_comp.a0 = new_comp.b0 = new_comp.a1 = new_comp.b1 = 0x0;
24587 wlc_phy_rx_iq_coeffs_nphy(pi, 1, &new_comp);
24590 wlc_phy_rx_iq_est_nphy(pi, est, 0x4000, 32, 0);
24592 new_comp = old_comp;
24594 for (curr_core = 0; curr_core < pi->pubpi.phy_corenum; curr_core++) {
24596 if ((curr_core == PHY_CORE_0) && (core_mask & 0x1)) {
24597 iq = est[curr_core].iq_prod;
24598 ii = est[curr_core].i_pwr;
24599 qq = est[curr_core].q_pwr;
24600 } else if ((curr_core == PHY_CORE_1) && (core_mask & 0x2)) {
24601 iq = est[curr_core].iq_prod;
24602 ii = est[curr_core].i_pwr;
24603 qq = est[curr_core].q_pwr;
24608 if ((ii + qq) < NPHY_MIN_RXIQ_PWR) {
24609 bcmerror = BCME_ERROR;
24613 iq_nbits = wlc_phy_nbits(iq);
24614 qq_nbits = wlc_phy_nbits(qq);
24616 arsh = 10 - (30 - iq_nbits);
24618 a = (-(iq << (30 - iq_nbits)) + (ii >> (1 + arsh)));
24619 temp = (s32) (ii >> arsh);
24621 bcmerror = BCME_ERROR;
24625 a = (-(iq << (30 - iq_nbits)) + (ii << (-1 - arsh)));
24626 temp = (s32) (ii << -arsh);
24628 bcmerror = BCME_ERROR;
24635 brsh = qq_nbits - 31 + 20;
24637 b = (qq << (31 - qq_nbits));
24638 temp = (s32) (ii >> brsh);
24640 bcmerror = BCME_ERROR;
24644 b = (qq << (31 - qq_nbits));
24645 temp = (s32) (ii << -brsh);
24647 bcmerror = BCME_ERROR;
24653 b = (s32) wlc_phy_sqrt_int((u32) b);
24656 if ((curr_core == PHY_CORE_0) && (core_mask & 0x1)) {
24657 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
24658 new_comp.a0 = (s16) a & 0x3ff;
24659 new_comp.b0 = (s16) b & 0x3ff;
24662 new_comp.a0 = (s16) b & 0x3ff;
24663 new_comp.b0 = (s16) a & 0x3ff;
24666 if ((curr_core == PHY_CORE_1) && (core_mask & 0x2)) {
24667 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
24668 new_comp.a1 = (s16) a & 0x3ff;
24669 new_comp.b1 = (s16) b & 0x3ff;
24672 new_comp.a1 = (s16) b & 0x3ff;
24673 new_comp.b1 = (s16) a & 0x3ff;
24678 if (bcmerror != BCME_OK) {
24679 printk("%s: Failed, cnt = %d\n", __func__, cal_retry);
24681 if (cal_retry < CAL_RETRY_CNT) {
24686 new_comp = old_comp;
24687 } else if (cal_retry > 0) {
24690 wlc_phy_rx_iq_coeffs_nphy(pi, 1, &new_comp);
24693 static void wlc_phy_rxcal_radio_setup_nphy(phy_info_t *pi, u8 rx_core)
24699 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
24700 if (rx_core == PHY_CORE_0) {
24701 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24702 pi->tx_rx_cal_radio_saveregs[0] =
24704 RADIO_2057_TX0_TXRXCOUPLE_5G_PWRUP);
24705 pi->tx_rx_cal_radio_saveregs[1] =
24707 RADIO_2057_TX0_TXRXCOUPLE_5G_ATTEN);
24709 write_radio_reg(pi,
24710 RADIO_2057_TX0_TXRXCOUPLE_5G_PWRUP,
24712 write_radio_reg(pi,
24713 RADIO_2057_TX0_TXRXCOUPLE_5G_ATTEN,
24717 pi->tx_rx_cal_radio_saveregs[0] =
24719 RADIO_2057_TX0_TXRXCOUPLE_2G_PWRUP);
24720 pi->tx_rx_cal_radio_saveregs[1] =
24722 RADIO_2057_TX0_TXRXCOUPLE_2G_ATTEN);
24724 write_radio_reg(pi,
24725 RADIO_2057_TX0_TXRXCOUPLE_2G_PWRUP,
24727 write_radio_reg(pi,
24728 RADIO_2057_TX0_TXRXCOUPLE_2G_ATTEN,
24733 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24734 pi->tx_rx_cal_radio_saveregs[0] =
24736 RADIO_2057_TX1_TXRXCOUPLE_5G_PWRUP);
24737 pi->tx_rx_cal_radio_saveregs[1] =
24739 RADIO_2057_TX1_TXRXCOUPLE_5G_ATTEN);
24741 write_radio_reg(pi,
24742 RADIO_2057_TX1_TXRXCOUPLE_5G_PWRUP,
24744 write_radio_reg(pi,
24745 RADIO_2057_TX1_TXRXCOUPLE_5G_ATTEN,
24749 pi->tx_rx_cal_radio_saveregs[0] =
24751 RADIO_2057_TX1_TXRXCOUPLE_2G_PWRUP);
24752 pi->tx_rx_cal_radio_saveregs[1] =
24754 RADIO_2057_TX1_TXRXCOUPLE_2G_ATTEN);
24756 write_radio_reg(pi,
24757 RADIO_2057_TX1_TXRXCOUPLE_2G_PWRUP,
24759 write_radio_reg(pi,
24760 RADIO_2057_TX1_TXRXCOUPLE_2G_ATTEN,
24766 if (rx_core == PHY_CORE_0) {
24767 pi->tx_rx_cal_radio_saveregs[0] =
24769 RADIO_2056_TX_RXIQCAL_TXMUX |
24771 pi->tx_rx_cal_radio_saveregs[1] =
24773 RADIO_2056_RX_RXIQCAL_RXMUX |
24776 if (pi->pubpi.radiorev >= 5) {
24777 pi->tx_rx_cal_radio_saveregs[2] =
24779 RADIO_2056_RX_RXSPARE2 |
24781 pi->tx_rx_cal_radio_saveregs[3] =
24783 RADIO_2056_TX_TXSPARE2 |
24787 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24789 if (pi->pubpi.radiorev >= 5) {
24790 pi->tx_rx_cal_radio_saveregs[4] =
24792 RADIO_2056_RX_LNAA_MASTER
24795 write_radio_reg(pi,
24796 RADIO_2056_RX_LNAA_MASTER
24797 | RADIO_2056_RX0, 0x40);
24799 write_radio_reg(pi,
24800 RADIO_2056_TX_TXSPARE2 |
24801 RADIO_2056_TX1, bias_a);
24803 write_radio_reg(pi,
24804 RADIO_2056_RX_RXSPARE2 |
24805 RADIO_2056_RX0, bias_a);
24807 pi->tx_rx_cal_radio_saveregs[4] =
24809 RADIO_2056_RX_LNAA_TUNE
24814 tx_rx_cal_radio_saveregs[2] & 0xF0)
24817 (offtune_val <= 0x7) ? 0xF : 0;
24820 RADIO_2056_RX_LNAA_TUNE |
24821 RADIO_2056_RX0, 0xF0,
24822 (offtune_val << 8));
24825 write_radio_reg(pi,
24826 RADIO_2056_TX_RXIQCAL_TXMUX |
24827 RADIO_2056_TX1, 0x9);
24828 write_radio_reg(pi,
24829 RADIO_2056_RX_RXIQCAL_RXMUX |
24830 RADIO_2056_RX0, 0x9);
24832 if (pi->pubpi.radiorev >= 5) {
24833 pi->tx_rx_cal_radio_saveregs[4] =
24835 RADIO_2056_RX_LNAG_MASTER
24838 write_radio_reg(pi,
24839 RADIO_2056_RX_LNAG_MASTER
24840 | RADIO_2056_RX0, 0x40);
24842 write_radio_reg(pi,
24843 RADIO_2056_TX_TXSPARE2 |
24844 RADIO_2056_TX1, bias_g);
24846 write_radio_reg(pi,
24847 RADIO_2056_RX_RXSPARE2 |
24848 RADIO_2056_RX0, bias_g);
24851 pi->tx_rx_cal_radio_saveregs[4] =
24853 RADIO_2056_RX_LNAG_TUNE
24858 tx_rx_cal_radio_saveregs[2] & 0xF0)
24861 (offtune_val <= 0x7) ? 0xF : 0;
24864 RADIO_2056_RX_LNAG_TUNE |
24865 RADIO_2056_RX0, 0xF0,
24866 (offtune_val << 8));
24869 write_radio_reg(pi,
24870 RADIO_2056_TX_RXIQCAL_TXMUX |
24871 RADIO_2056_TX1, 0x6);
24872 write_radio_reg(pi,
24873 RADIO_2056_RX_RXIQCAL_RXMUX |
24874 RADIO_2056_RX0, 0x6);
24878 pi->tx_rx_cal_radio_saveregs[0] =
24880 RADIO_2056_TX_RXIQCAL_TXMUX |
24882 pi->tx_rx_cal_radio_saveregs[1] =
24884 RADIO_2056_RX_RXIQCAL_RXMUX |
24887 if (pi->pubpi.radiorev >= 5) {
24888 pi->tx_rx_cal_radio_saveregs[2] =
24890 RADIO_2056_RX_RXSPARE2 |
24892 pi->tx_rx_cal_radio_saveregs[3] =
24894 RADIO_2056_TX_TXSPARE2 |
24898 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24900 if (pi->pubpi.radiorev >= 5) {
24901 pi->tx_rx_cal_radio_saveregs[4] =
24903 RADIO_2056_RX_LNAA_MASTER
24906 write_radio_reg(pi,
24907 RADIO_2056_RX_LNAA_MASTER
24908 | RADIO_2056_RX1, 0x40);
24910 write_radio_reg(pi,
24911 RADIO_2056_TX_TXSPARE2 |
24912 RADIO_2056_TX0, bias_a);
24914 write_radio_reg(pi,
24915 RADIO_2056_RX_RXSPARE2 |
24916 RADIO_2056_RX1, bias_a);
24918 pi->tx_rx_cal_radio_saveregs[4] =
24920 RADIO_2056_RX_LNAA_TUNE
24925 tx_rx_cal_radio_saveregs[2] & 0xF0)
24928 (offtune_val <= 0x7) ? 0xF : 0;
24931 RADIO_2056_RX_LNAA_TUNE |
24932 RADIO_2056_RX1, 0xF0,
24933 (offtune_val << 8));
24936 write_radio_reg(pi,
24937 RADIO_2056_TX_RXIQCAL_TXMUX |
24938 RADIO_2056_TX0, 0x9);
24939 write_radio_reg(pi,
24940 RADIO_2056_RX_RXIQCAL_RXMUX |
24941 RADIO_2056_RX1, 0x9);
24943 if (pi->pubpi.radiorev >= 5) {
24944 pi->tx_rx_cal_radio_saveregs[4] =
24946 RADIO_2056_RX_LNAG_MASTER
24949 write_radio_reg(pi,
24950 RADIO_2056_RX_LNAG_MASTER
24951 | RADIO_2056_RX1, 0x40);
24953 write_radio_reg(pi,
24954 RADIO_2056_TX_TXSPARE2 |
24955 RADIO_2056_TX0, bias_g);
24957 write_radio_reg(pi,
24958 RADIO_2056_RX_RXSPARE2 |
24959 RADIO_2056_RX1, bias_g);
24961 pi->tx_rx_cal_radio_saveregs[4] =
24963 RADIO_2056_RX_LNAG_TUNE
24968 tx_rx_cal_radio_saveregs[2] & 0xF0)
24971 (offtune_val <= 0x7) ? 0xF : 0;
24974 RADIO_2056_RX_LNAG_TUNE |
24975 RADIO_2056_RX1, 0xF0,
24976 (offtune_val << 8));
24979 write_radio_reg(pi,
24980 RADIO_2056_TX_RXIQCAL_TXMUX |
24981 RADIO_2056_TX0, 0x6);
24982 write_radio_reg(pi,
24983 RADIO_2056_RX_RXIQCAL_RXMUX |
24984 RADIO_2056_RX1, 0x6);
24990 static void wlc_phy_rxcal_radio_cleanup_nphy(phy_info_t *pi, u8 rx_core)
24992 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
24993 if (rx_core == PHY_CORE_0) {
24994 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24995 write_radio_reg(pi,
24996 RADIO_2057_TX0_TXRXCOUPLE_5G_PWRUP,
24998 tx_rx_cal_radio_saveregs[0]);
24999 write_radio_reg(pi,
25000 RADIO_2057_TX0_TXRXCOUPLE_5G_ATTEN,
25002 tx_rx_cal_radio_saveregs[1]);
25005 write_radio_reg(pi,
25006 RADIO_2057_TX0_TXRXCOUPLE_2G_PWRUP,
25008 tx_rx_cal_radio_saveregs[0]);
25009 write_radio_reg(pi,
25010 RADIO_2057_TX0_TXRXCOUPLE_2G_ATTEN,
25012 tx_rx_cal_radio_saveregs[1]);
25016 if (CHSPEC_IS5G(pi->radio_chanspec)) {
25017 write_radio_reg(pi,
25018 RADIO_2057_TX1_TXRXCOUPLE_5G_PWRUP,
25020 tx_rx_cal_radio_saveregs[0]);
25021 write_radio_reg(pi,
25022 RADIO_2057_TX1_TXRXCOUPLE_5G_ATTEN,
25024 tx_rx_cal_radio_saveregs[1]);
25027 write_radio_reg(pi,
25028 RADIO_2057_TX1_TXRXCOUPLE_2G_PWRUP,
25030 tx_rx_cal_radio_saveregs[0]);
25031 write_radio_reg(pi,
25032 RADIO_2057_TX1_TXRXCOUPLE_2G_ATTEN,
25034 tx_rx_cal_radio_saveregs[1]);
25039 if (rx_core == PHY_CORE_0) {
25040 write_radio_reg(pi,
25041 RADIO_2056_TX_RXIQCAL_TXMUX |
25043 pi->tx_rx_cal_radio_saveregs[0]);
25045 write_radio_reg(pi,
25046 RADIO_2056_RX_RXIQCAL_RXMUX |
25048 pi->tx_rx_cal_radio_saveregs[1]);
25050 if (pi->pubpi.radiorev >= 5) {
25051 write_radio_reg(pi,
25052 RADIO_2056_RX_RXSPARE2 |
25055 tx_rx_cal_radio_saveregs[2]);
25057 write_radio_reg(pi,
25058 RADIO_2056_TX_TXSPARE2 |
25061 tx_rx_cal_radio_saveregs[3]);
25064 if (CHSPEC_IS5G(pi->radio_chanspec)) {
25065 if (pi->pubpi.radiorev >= 5) {
25066 write_radio_reg(pi,
25067 RADIO_2056_RX_LNAA_MASTER
25070 tx_rx_cal_radio_saveregs
25073 write_radio_reg(pi,
25074 RADIO_2056_RX_LNAA_TUNE
25077 tx_rx_cal_radio_saveregs
25081 if (pi->pubpi.radiorev >= 5) {
25082 write_radio_reg(pi,
25083 RADIO_2056_RX_LNAG_MASTER
25086 tx_rx_cal_radio_saveregs
25089 write_radio_reg(pi,
25090 RADIO_2056_RX_LNAG_TUNE
25093 tx_rx_cal_radio_saveregs
25099 write_radio_reg(pi,
25100 RADIO_2056_TX_RXIQCAL_TXMUX |
25102 pi->tx_rx_cal_radio_saveregs[0]);
25104 write_radio_reg(pi,
25105 RADIO_2056_RX_RXIQCAL_RXMUX |
25107 pi->tx_rx_cal_radio_saveregs[1]);
25109 if (pi->pubpi.radiorev >= 5) {
25110 write_radio_reg(pi,
25111 RADIO_2056_RX_RXSPARE2 |
25114 tx_rx_cal_radio_saveregs[2]);
25116 write_radio_reg(pi,
25117 RADIO_2056_TX_TXSPARE2 |
25120 tx_rx_cal_radio_saveregs[3]);
25123 if (CHSPEC_IS5G(pi->radio_chanspec)) {
25124 if (pi->pubpi.radiorev >= 5) {
25125 write_radio_reg(pi,
25126 RADIO_2056_RX_LNAA_MASTER
25129 tx_rx_cal_radio_saveregs
25132 write_radio_reg(pi,
25133 RADIO_2056_RX_LNAA_TUNE
25136 tx_rx_cal_radio_saveregs
25140 if (pi->pubpi.radiorev >= 5) {
25141 write_radio_reg(pi,
25142 RADIO_2056_RX_LNAG_MASTER
25145 tx_rx_cal_radio_saveregs
25148 write_radio_reg(pi,
25149 RADIO_2056_RX_LNAG_TUNE
25152 tx_rx_cal_radio_saveregs
25160 static void wlc_phy_rxcal_physetup_nphy(phy_info_t *pi, u8 rx_core)
25163 u16 rx_antval, tx_antval;
25165 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25169 tx_core = (rx_core == PHY_CORE_0) ? 1 : 0;
25172 pi->tx_rx_cal_phy_saveregs[0] = read_phy_reg(pi, 0xa2);
25173 pi->tx_rx_cal_phy_saveregs[1] =
25174 read_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0xa6 : 0xa7);
25175 pi->tx_rx_cal_phy_saveregs[2] =
25176 read_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0x8f : 0xa5);
25177 pi->tx_rx_cal_phy_saveregs[3] = read_phy_reg(pi, 0x91);
25178 pi->tx_rx_cal_phy_saveregs[4] = read_phy_reg(pi, 0x92);
25179 pi->tx_rx_cal_phy_saveregs[5] = read_phy_reg(pi, 0x7a);
25180 pi->tx_rx_cal_phy_saveregs[6] = read_phy_reg(pi, 0x7d);
25181 pi->tx_rx_cal_phy_saveregs[7] = read_phy_reg(pi, 0xe7);
25182 pi->tx_rx_cal_phy_saveregs[8] = read_phy_reg(pi, 0xec);
25183 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25184 pi->tx_rx_cal_phy_saveregs[11] = read_phy_reg(pi, 0x342);
25185 pi->tx_rx_cal_phy_saveregs[12] = read_phy_reg(pi, 0x343);
25186 pi->tx_rx_cal_phy_saveregs[13] = read_phy_reg(pi, 0x346);
25187 pi->tx_rx_cal_phy_saveregs[14] = read_phy_reg(pi, 0x347);
25190 pi->tx_rx_cal_phy_saveregs[9] = read_phy_reg(pi, 0x297);
25191 pi->tx_rx_cal_phy_saveregs[10] = read_phy_reg(pi, 0x29b);
25192 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x297 :
25193 0x29b, (0x1 << 0), (0) << 0);
25195 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x297 :
25196 0x29b, (0x1 << 0), (0) << 0);
25198 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25200 mod_phy_reg(pi, 0xa2, (0xf << 0), (1 << tx_core) << 0);
25202 mod_phy_reg(pi, 0xa2, (0xf << 12), (1 << (1 - rx_core)) << 12);
25206 mod_phy_reg(pi, 0xa2, (0xf << 12), (1 << tx_core) << 12);
25207 mod_phy_reg(pi, 0xa2, (0xf << 0), (1 << tx_core) << 0);
25208 mod_phy_reg(pi, 0xa2, (0xf << 4), (1 << rx_core) << 4);
25209 mod_phy_reg(pi, 0xa2, (0xf << 8), (1 << rx_core) << 8);
25212 mod_phy_reg(pi, ((rx_core == PHY_CORE_0) ? 0xa6 : 0xa7), (0x1 << 2), 0);
25213 mod_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0x8f : 0xa5,
25214 (0x1 << 2), (0x1 << 2));
25215 if (NREV_LT(pi->pubpi.phy_rev, 7)) {
25216 mod_phy_reg(pi, ((rx_core == PHY_CORE_0) ? 0xa6 : 0xa7),
25217 (0x1 << 0) | (0x1 << 1), 0);
25218 mod_phy_reg(pi, (rx_core == PHY_CORE_0) ?
25220 (0x1 << 0) | (0x1 << 1), (0x1 << 0) | (0x1 << 1));
25223 wlc_phy_rfctrlintc_override_nphy(pi, NPHY_RfctrlIntc_override_PA, 0,
25224 RADIO_MIMO_CORESEL_CORE1 |
25225 RADIO_MIMO_CORESEL_CORE2);
25227 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25228 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
25230 NPHY_REV7_RFCTRLOVERRIDE_ID0);
25231 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 9), 0, 0, 0,
25232 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25233 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 10), 1, 0, 0,
25234 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25235 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), 1, 0, 0,
25236 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25237 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), 1, 0, 0,
25238 NPHY_REV7_RFCTRLOVERRIDE_ID2);
25239 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 0, 0, 0,
25240 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25241 if (CHSPEC_IS40(pi->radio_chanspec)) {
25242 wlc_phy_rfctrl_override_nphy_rev7(pi,
25245 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25247 wlc_phy_rfctrl_override_nphy_rev7(pi,
25250 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25252 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7),
25254 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25255 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5), 0, 0, 0,
25256 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25258 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 0, 3, 0);
25261 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX);
25263 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25265 wlc_phy_rfctrlintc_override_nphy(pi,
25266 NPHY_RfctrlIntc_override_TRSW,
25270 if (rx_core == PHY_CORE_0) {
25278 wlc_phy_rfctrlintc_override_nphy(pi,
25279 NPHY_RfctrlIntc_override_TRSW,
25280 rx_antval, rx_core + 1);
25281 wlc_phy_rfctrlintc_override_nphy(pi,
25282 NPHY_RfctrlIntc_override_TRSW,
25283 tx_antval, tx_core + 1);
25287 static void wlc_phy_rxcal_phycleanup_nphy(phy_info_t *pi, u8 rx_core)
25290 write_phy_reg(pi, 0xa2, pi->tx_rx_cal_phy_saveregs[0]);
25291 write_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0xa6 : 0xa7,
25292 pi->tx_rx_cal_phy_saveregs[1]);
25293 write_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0x8f : 0xa5,
25294 pi->tx_rx_cal_phy_saveregs[2]);
25295 write_phy_reg(pi, 0x91, pi->tx_rx_cal_phy_saveregs[3]);
25296 write_phy_reg(pi, 0x92, pi->tx_rx_cal_phy_saveregs[4]);
25298 write_phy_reg(pi, 0x7a, pi->tx_rx_cal_phy_saveregs[5]);
25299 write_phy_reg(pi, 0x7d, pi->tx_rx_cal_phy_saveregs[6]);
25300 write_phy_reg(pi, 0xe7, pi->tx_rx_cal_phy_saveregs[7]);
25301 write_phy_reg(pi, 0xec, pi->tx_rx_cal_phy_saveregs[8]);
25302 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25303 write_phy_reg(pi, 0x342, pi->tx_rx_cal_phy_saveregs[11]);
25304 write_phy_reg(pi, 0x343, pi->tx_rx_cal_phy_saveregs[12]);
25305 write_phy_reg(pi, 0x346, pi->tx_rx_cal_phy_saveregs[13]);
25306 write_phy_reg(pi, 0x347, pi->tx_rx_cal_phy_saveregs[14]);
25309 write_phy_reg(pi, 0x297, pi->tx_rx_cal_phy_saveregs[9]);
25310 write_phy_reg(pi, 0x29b, pi->tx_rx_cal_phy_saveregs[10]);
25314 wlc_phy_rxcal_gainctrl_nphy_rev5(phy_info_t *pi, u8 rx_core,
25315 u16 *rxgain, u8 cal_type)
25319 phy_iq_est_t est[PHY_CORE_MAX];
25321 nphy_iq_comp_t save_comp, zero_comp;
25322 u32 i_pwr, q_pwr, curr_pwr, optim_pwr = 0, prev_pwr = 0, thresh_pwr =
25324 s16 desired_log2_pwr, actual_log2_pwr, delta_pwr;
25325 bool gainctrl_done = false;
25326 u8 mix_tia_gain = 3;
25327 s8 optim_gaintbl_index = 0, prev_gaintbl_index = 0;
25328 s8 curr_gaintbl_index = 3;
25329 u8 gainctrl_dirn = NPHY_RXCAL_GAIN_INIT;
25330 nphy_ipa_txrxgain_t *nphy_rxcal_gaintbl;
25331 u16 hpvga, lpf_biq1, lpf_biq0, lna2, lna1;
25334 u16 nphy_rxcal_txgain[2];
25336 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25340 tx_core = 1 - rx_core;
25344 desired_log2_pwr = (cal_type == 0) ? 13 : 13;
25346 wlc_phy_rx_iq_coeffs_nphy(pi, 0, &save_comp);
25347 zero_comp.a0 = zero_comp.b0 = zero_comp.a1 = zero_comp.b1 = 0x0;
25348 wlc_phy_rx_iq_coeffs_nphy(pi, 1, &zero_comp);
25350 if (CHSPEC_IS5G(pi->radio_chanspec)) {
25351 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25353 } else if (NREV_GE(pi->pubpi.phy_rev, 4)) {
25358 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25359 nphy_rxcal_gaintbl = nphy_ipa_rxcal_gaintbl_5GHz_rev7;
25361 nphy_rxcal_gaintbl = nphy_ipa_rxcal_gaintbl_5GHz;
25364 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25365 nphy_rxcal_gaintbl = nphy_ipa_rxcal_gaintbl_2GHz_rev7;
25367 nphy_rxcal_gaintbl = nphy_ipa_rxcal_gaintbl_2GHz;
25373 hpvga = (NREV_GE(pi->pubpi.phy_rev, 7)) ?
25374 0 : nphy_rxcal_gaintbl[curr_gaintbl_index].hpvga;
25375 lpf_biq1 = nphy_rxcal_gaintbl[curr_gaintbl_index].lpf_biq1;
25376 lpf_biq0 = nphy_rxcal_gaintbl[curr_gaintbl_index].lpf_biq0;
25377 lna2 = nphy_rxcal_gaintbl[curr_gaintbl_index].lna2;
25378 lna1 = nphy_rxcal_gaintbl[curr_gaintbl_index].lna1;
25379 txpwrindex = nphy_rxcal_gaintbl[curr_gaintbl_index].txpwrindex;
25381 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25382 wlc_phy_rfctrl_override_1tomany_nphy(pi,
25383 NPHY_REV7_RfctrlOverride_cmd_rxgain,
25384 ((lpf_biq1 << 12) |
25390 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12),
25394 (mix_tia_gain << 4) |
25395 (lna2 << 2) | lna1), 0x3,
25399 pi->nphy_rxcal_pwr_idx[tx_core] = txpwrindex;
25401 if (txpwrindex == -1) {
25402 nphy_rxcal_txgain[0] = 0x8ff0 | pi->nphy_gmval;
25403 nphy_rxcal_txgain[1] = 0x8ff0 | pi->nphy_gmval;
25404 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
25406 nphy_rxcal_txgain);
25408 wlc_phy_txpwr_index_nphy(pi, tx_core + 1, txpwrindex,
25412 wlc_phy_tx_tone_nphy(pi, (CHSPEC_IS40(pi->radio_chanspec)) ?
25413 NPHY_RXCAL_TONEFREQ_40MHz :
25414 NPHY_RXCAL_TONEFREQ_20MHz,
25415 NPHY_RXCAL_TONEAMP, 0, cal_type, false);
25417 wlc_phy_rx_iq_est_nphy(pi, est, num_samps, 32, 0);
25418 i_pwr = (est[rx_core].i_pwr + num_samps / 2) / num_samps;
25419 q_pwr = (est[rx_core].q_pwr + num_samps / 2) / num_samps;
25420 curr_pwr = i_pwr + q_pwr;
25422 switch (gainctrl_dirn) {
25423 case NPHY_RXCAL_GAIN_INIT:
25424 if (curr_pwr > thresh_pwr) {
25425 gainctrl_dirn = NPHY_RXCAL_GAIN_DOWN;
25426 prev_gaintbl_index = curr_gaintbl_index;
25427 curr_gaintbl_index--;
25429 gainctrl_dirn = NPHY_RXCAL_GAIN_UP;
25430 prev_gaintbl_index = curr_gaintbl_index;
25431 curr_gaintbl_index++;
25435 case NPHY_RXCAL_GAIN_UP:
25436 if (curr_pwr > thresh_pwr) {
25437 gainctrl_done = true;
25438 optim_pwr = prev_pwr;
25439 optim_gaintbl_index = prev_gaintbl_index;
25441 prev_gaintbl_index = curr_gaintbl_index;
25442 curr_gaintbl_index++;
25446 case NPHY_RXCAL_GAIN_DOWN:
25447 if (curr_pwr > thresh_pwr) {
25448 prev_gaintbl_index = curr_gaintbl_index;
25449 curr_gaintbl_index--;
25451 gainctrl_done = true;
25452 optim_pwr = curr_pwr;
25453 optim_gaintbl_index = curr_gaintbl_index;
25461 if ((curr_gaintbl_index < 0) ||
25462 (curr_gaintbl_index > NPHY_IPA_RXCAL_MAXGAININDEX)) {
25463 gainctrl_done = true;
25464 optim_pwr = curr_pwr;
25465 optim_gaintbl_index = prev_gaintbl_index;
25467 prev_pwr = curr_pwr;
25470 wlc_phy_stopplayback_nphy(pi);
25471 } while (!gainctrl_done);
25473 hpvga = nphy_rxcal_gaintbl[optim_gaintbl_index].hpvga;
25474 lpf_biq1 = nphy_rxcal_gaintbl[optim_gaintbl_index].lpf_biq1;
25475 lpf_biq0 = nphy_rxcal_gaintbl[optim_gaintbl_index].lpf_biq0;
25476 lna2 = nphy_rxcal_gaintbl[optim_gaintbl_index].lna2;
25477 lna1 = nphy_rxcal_gaintbl[optim_gaintbl_index].lna1;
25478 txpwrindex = nphy_rxcal_gaintbl[optim_gaintbl_index].txpwrindex;
25480 actual_log2_pwr = wlc_phy_nbits(optim_pwr);
25481 delta_pwr = desired_log2_pwr - actual_log2_pwr;
25483 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25484 fine_gain_idx = (int)lpf_biq1 + delta_pwr;
25486 if (fine_gain_idx + (int)lpf_biq0 > 10) {
25487 lpf_biq1 = 10 - lpf_biq0;
25489 lpf_biq1 = (u16) max(fine_gain_idx, 0);
25491 wlc_phy_rfctrl_override_1tomany_nphy(pi,
25492 NPHY_REV7_RfctrlOverride_cmd_rxgain,
25493 ((lpf_biq1 << 12) |
25495 (mix_tia_gain << 4) |
25496 (lna2 << 2) | lna1), 0x3,
25499 hpvga = (u16) max(min(((int)hpvga) + delta_pwr, 10), 0);
25500 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12),
25501 ((hpvga << 12) | (lpf_biq1 << 10) |
25502 (lpf_biq0 << 8) | (mix_tia_gain <<
25509 if (rxgain != NULL) {
25512 *rxgain++ = mix_tia_gain;
25513 *rxgain++ = lpf_biq0;
25514 *rxgain++ = lpf_biq1;
25518 wlc_phy_rx_iq_coeffs_nphy(pi, 1, &save_comp);
25522 wlc_phy_rxcal_gainctrl_nphy(phy_info_t *pi, u8 rx_core, u16 *rxgain,
25525 wlc_phy_rxcal_gainctrl_nphy_rev5(pi, rx_core, rxgain, cal_type);
25529 wlc_phy_rc_sweep_nphy(phy_info_t *pi, u8 core_idx, u8 loopback_type)
25531 u32 target_bws[2] = { 9500, 21000 };
25532 u32 ref_tones[2] = { 3000, 6000 };
25533 u32 target_bw, ref_tone;
25535 u32 target_pwr_ratios[2] = { 28606, 18468 };
25536 u32 target_pwr_ratio, pwr_ratio, last_pwr_ratio = 0;
25538 u16 start_rccal_ovr_val = 128;
25539 u16 txlpf_rccal_lpc_ovr_val = 128;
25540 u16 rxlpf_rccal_hpc_ovr_val = 159;
25542 u16 orig_txlpf_rccal_lpc_ovr_val;
25543 u16 orig_rxlpf_rccal_hpc_ovr_val;
25544 u16 radio_addr_offset_rx;
25545 u16 radio_addr_offset_tx;
25547 u16 orig_RxStrnFilt40Num[6];
25548 u16 orig_RxStrnFilt40Den[4];
25549 u16 orig_rfctrloverride[2];
25550 u16 orig_rfctrlauxreg[2];
25551 u16 orig_rfctrlrssiothers;
25554 u16 rx_lpf_bw, rx_lpf_bws[2] = { 2, 4 };
25555 u16 lpf_hpc = 7, hpvga_hpc = 7;
25558 u16 rccal_val, last_rccal_val = 0, best_rccal_val = 0;
25559 u32 ref_iq_vals = 0, target_iq_vals = 0;
25560 u16 num_samps, log_num_samps = 10;
25561 phy_iq_est_t est[PHY_CORE_MAX];
25563 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25567 num_samps = (1 << log_num_samps);
25569 if (CHSPEC_IS40(pi->radio_chanspec)) {
25570 target_bw = target_bws[1];
25571 target_pwr_ratio = target_pwr_ratios[1];
25572 ref_tone = ref_tones[1];
25573 rx_lpf_bw = rx_lpf_bws[1];
25575 target_bw = target_bws[0];
25576 target_pwr_ratio = target_pwr_ratios[0];
25577 ref_tone = ref_tones[0];
25578 rx_lpf_bw = rx_lpf_bws[0];
25581 if (core_idx == 0) {
25582 radio_addr_offset_rx = RADIO_2056_RX0;
25583 radio_addr_offset_tx =
25584 (loopback_type == 0) ? RADIO_2056_TX0 : RADIO_2056_TX1;
25586 radio_addr_offset_rx = RADIO_2056_RX1;
25587 radio_addr_offset_tx =
25588 (loopback_type == 0) ? RADIO_2056_TX1 : RADIO_2056_TX0;
25591 orig_txlpf_rccal_lpc_ovr_val =
25593 (RADIO_2056_TX_TXLPF_RCCAL | radio_addr_offset_tx));
25594 orig_rxlpf_rccal_hpc_ovr_val =
25596 (RADIO_2056_RX_RXLPF_RCCAL_HPC |
25597 radio_addr_offset_rx));
25599 orig_dcBypass = ((read_phy_reg(pi, 0x48) >> 8) & 1);
25601 orig_RxStrnFilt40Num[0] = read_phy_reg(pi, 0x267);
25602 orig_RxStrnFilt40Num[1] = read_phy_reg(pi, 0x268);
25603 orig_RxStrnFilt40Num[2] = read_phy_reg(pi, 0x269);
25604 orig_RxStrnFilt40Den[0] = read_phy_reg(pi, 0x26a);
25605 orig_RxStrnFilt40Den[1] = read_phy_reg(pi, 0x26b);
25606 orig_RxStrnFilt40Num[3] = read_phy_reg(pi, 0x26c);
25607 orig_RxStrnFilt40Num[4] = read_phy_reg(pi, 0x26d);
25608 orig_RxStrnFilt40Num[5] = read_phy_reg(pi, 0x26e);
25609 orig_RxStrnFilt40Den[2] = read_phy_reg(pi, 0x26f);
25610 orig_RxStrnFilt40Den[3] = read_phy_reg(pi, 0x270);
25612 orig_rfctrloverride[0] = read_phy_reg(pi, 0xe7);
25613 orig_rfctrloverride[1] = read_phy_reg(pi, 0xec);
25614 orig_rfctrlauxreg[0] = read_phy_reg(pi, 0xf8);
25615 orig_rfctrlauxreg[1] = read_phy_reg(pi, 0xfa);
25616 orig_rfctrlrssiothers = read_phy_reg(pi, (core_idx == 0) ? 0x7a : 0x7d);
25618 write_radio_reg(pi, (RADIO_2056_TX_TXLPF_RCCAL | radio_addr_offset_tx),
25619 txlpf_rccal_lpc_ovr_val);
25621 write_radio_reg(pi,
25622 (RADIO_2056_RX_RXLPF_RCCAL_HPC | radio_addr_offset_rx),
25623 rxlpf_rccal_hpc_ovr_val);
25625 mod_phy_reg(pi, 0x48, (0x1 << 8), (0x1 << 8));
25627 write_phy_reg(pi, 0x267, 0x02d4);
25628 write_phy_reg(pi, 0x268, 0x0000);
25629 write_phy_reg(pi, 0x269, 0x0000);
25630 write_phy_reg(pi, 0x26a, 0x0000);
25631 write_phy_reg(pi, 0x26b, 0x0000);
25632 write_phy_reg(pi, 0x26c, 0x02d4);
25633 write_phy_reg(pi, 0x26d, 0x0000);
25634 write_phy_reg(pi, 0x26e, 0x0000);
25635 write_phy_reg(pi, 0x26f, 0x0000);
25636 write_phy_reg(pi, 0x270, 0x0000);
25638 or_phy_reg(pi, (core_idx == 0) ? 0xe7 : 0xec, (0x1 << 8));
25639 or_phy_reg(pi, (core_idx == 0) ? 0xec : 0xe7, (0x1 << 15));
25640 or_phy_reg(pi, (core_idx == 0) ? 0xe7 : 0xec, (0x1 << 9));
25641 or_phy_reg(pi, (core_idx == 0) ? 0xe7 : 0xec, (0x1 << 10));
25643 mod_phy_reg(pi, (core_idx == 0) ? 0xfa : 0xf8,
25644 (0x7 << 10), (tx_lpf_bw << 10));
25645 mod_phy_reg(pi, (core_idx == 0) ? 0xf8 : 0xfa,
25646 (0x7 << 0), (hpvga_hpc << 0));
25647 mod_phy_reg(pi, (core_idx == 0) ? 0xf8 : 0xfa,
25648 (0x7 << 4), (lpf_hpc << 4));
25649 mod_phy_reg(pi, (core_idx == 0) ? 0x7a : 0x7d,
25650 (0x7 << 8), (rx_lpf_bw << 8));
25652 rccal_stepsize = 16;
25653 rccal_val = start_rccal_ovr_val + rccal_stepsize;
25655 while (rccal_stepsize >= 0) {
25656 write_radio_reg(pi,
25657 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
25658 radio_addr_offset_rx), rccal_val);
25660 if (rccal_stepsize == 16) {
25662 wlc_phy_tx_tone_nphy(pi, ref_tone, NPHY_RXCAL_TONEAMP,
25666 wlc_phy_rx_iq_est_nphy(pi, est, num_samps, 32, 0);
25668 if (core_idx == 0) {
25670 max_t(u32, (est[0].i_pwr +
25671 est[0].q_pwr) >> (log_num_samps + 1),
25675 max_t(u32, (est[1].i_pwr +
25676 est[1].q_pwr) >> (log_num_samps + 1),
25680 wlc_phy_tx_tone_nphy(pi, target_bw, NPHY_RXCAL_TONEAMP,
25685 wlc_phy_rx_iq_est_nphy(pi, est, num_samps, 32, 0);
25687 if (core_idx == 0) {
25689 (est[0].i_pwr + est[0].q_pwr) >> (log_num_samps +
25693 (est[1].i_pwr + est[1].q_pwr) >> (log_num_samps +
25696 pwr_ratio = (uint) ((target_iq_vals << 16) / ref_iq_vals);
25698 if (rccal_stepsize == 0) {
25700 } else if (rccal_stepsize == 1) {
25701 last_rccal_val = rccal_val;
25702 rccal_val += (pwr_ratio > target_pwr_ratio) ? 1 : -1;
25703 last_pwr_ratio = pwr_ratio;
25706 rccal_stepsize = (rccal_stepsize >> 1);
25707 rccal_val += ((pwr_ratio > target_pwr_ratio) ?
25708 rccal_stepsize : (-rccal_stepsize));
25711 if (rccal_stepsize == -1) {
25713 (ABS((int)last_pwr_ratio - (int)target_pwr_ratio) <
25714 ABS((int)pwr_ratio -
25715 (int)target_pwr_ratio)) ? last_rccal_val :
25718 if (CHSPEC_IS40(pi->radio_chanspec)) {
25719 if ((best_rccal_val > 140)
25720 || (best_rccal_val < 135)) {
25721 best_rccal_val = 138;
25724 if ((best_rccal_val > 142)
25725 || (best_rccal_val < 137)) {
25726 best_rccal_val = 140;
25730 write_radio_reg(pi,
25731 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
25732 radio_addr_offset_rx), best_rccal_val);
25736 wlc_phy_stopplayback_nphy(pi);
25738 write_radio_reg(pi, (RADIO_2056_TX_TXLPF_RCCAL | radio_addr_offset_tx),
25739 orig_txlpf_rccal_lpc_ovr_val);
25740 write_radio_reg(pi,
25741 (RADIO_2056_RX_RXLPF_RCCAL_HPC | radio_addr_offset_rx),
25742 orig_rxlpf_rccal_hpc_ovr_val);
25744 mod_phy_reg(pi, 0x48, (0x1 << 8), (orig_dcBypass << 8));
25746 write_phy_reg(pi, 0x267, orig_RxStrnFilt40Num[0]);
25747 write_phy_reg(pi, 0x268, orig_RxStrnFilt40Num[1]);
25748 write_phy_reg(pi, 0x269, orig_RxStrnFilt40Num[2]);
25749 write_phy_reg(pi, 0x26a, orig_RxStrnFilt40Den[0]);
25750 write_phy_reg(pi, 0x26b, orig_RxStrnFilt40Den[1]);
25751 write_phy_reg(pi, 0x26c, orig_RxStrnFilt40Num[3]);
25752 write_phy_reg(pi, 0x26d, orig_RxStrnFilt40Num[4]);
25753 write_phy_reg(pi, 0x26e, orig_RxStrnFilt40Num[5]);
25754 write_phy_reg(pi, 0x26f, orig_RxStrnFilt40Den[2]);
25755 write_phy_reg(pi, 0x270, orig_RxStrnFilt40Den[3]);
25757 write_phy_reg(pi, 0xe7, orig_rfctrloverride[0]);
25758 write_phy_reg(pi, 0xec, orig_rfctrloverride[1]);
25759 write_phy_reg(pi, 0xf8, orig_rfctrlauxreg[0]);
25760 write_phy_reg(pi, 0xfa, orig_rfctrlauxreg[1]);
25761 write_phy_reg(pi, (core_idx == 0) ? 0x7a : 0x7d, orig_rfctrlrssiothers);
25763 pi->nphy_anarxlpf_adjusted = false;
25765 return best_rccal_val - 0x80;
25768 #define WAIT_FOR_SCOPE 4000
25770 wlc_phy_cal_rxiq_nphy_rev3(phy_info_t *pi, nphy_txgains_t target_gain,
25771 u8 cal_type, bool debug)
25774 u8 core_no, rx_core;
25778 nphy_iqcal_params_t cal_params[2];
25780 s8 rxlpf_rccal_hpc, txlpf_rccal_lpc;
25782 bool phyhang_avoid_state = false;
25783 bool skip_rxiqcal = false;
25785 orig_BBConfig = read_phy_reg(pi, 0x01);
25786 mod_phy_reg(pi, 0x01, (0x1 << 15), 0);
25788 wlc_phy_stay_in_carriersearch_nphy(pi, true);
25790 if (NREV_GE(pi->pubpi.phy_rev, 4)) {
25791 phyhang_avoid_state = pi->phyhang_avoid;
25792 pi->phyhang_avoid = false;
25795 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, gain_save);
25797 for (core_no = 0; core_no <= 1; core_no++) {
25798 wlc_phy_iqcal_gainparams_nphy(pi, core_no, target_gain,
25799 &cal_params[core_no]);
25800 cal_gain[core_no] = cal_params[core_no].cal_gain;
25803 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, cal_gain);
25805 rxcore_state = wlc_phy_rxcore_getstate_nphy((wlc_phy_t *) pi);
25807 for (rx_core = 0; rx_core < pi->pubpi.phy_corenum; rx_core++) {
25810 ((rxcore_state & (1 << rx_core)) == 0) ? true : false;
25812 wlc_phy_rxcal_physetup_nphy(pi, rx_core);
25814 wlc_phy_rxcal_radio_setup_nphy(pi, rx_core);
25816 if ((!skip_rxiqcal) && ((cal_type == 0) || (cal_type == 2))) {
25818 wlc_phy_rxcal_gainctrl_nphy(pi, rx_core, NULL, 0);
25820 wlc_phy_tx_tone_nphy(pi,
25821 (CHSPEC_IS40(pi->radio_chanspec)) ?
25822 NPHY_RXCAL_TONEFREQ_40MHz :
25823 NPHY_RXCAL_TONEFREQ_20MHz,
25824 NPHY_RXCAL_TONEAMP, 0, cal_type,
25828 mdelay(WAIT_FOR_SCOPE);
25830 wlc_phy_calc_rx_iq_comp_nphy(pi, rx_core + 1);
25831 wlc_phy_stopplayback_nphy(pi);
25834 if (((cal_type == 1) || (cal_type == 2))
25835 && NREV_LT(pi->pubpi.phy_rev, 7)) {
25837 if (rx_core == PHY_CORE_1) {
25839 if (rxcore_state == 1) {
25840 wlc_phy_rxcore_setstate_nphy((wlc_phy_t
25844 wlc_phy_rxcal_gainctrl_nphy(pi, rx_core, NULL,
25847 best_rccal[rx_core] =
25848 wlc_phy_rc_sweep_nphy(pi, rx_core, 1);
25849 pi->nphy_rccal_value = best_rccal[rx_core];
25851 if (rxcore_state == 1) {
25852 wlc_phy_rxcore_setstate_nphy((wlc_phy_t
25859 wlc_phy_rxcal_radio_cleanup_nphy(pi, rx_core);
25861 wlc_phy_rxcal_phycleanup_nphy(pi, rx_core);
25862 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
25865 if ((cal_type == 1) || (cal_type == 2)) {
25867 best_rccal[0] = best_rccal[1];
25868 write_radio_reg(pi,
25869 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
25870 RADIO_2056_RX0), (best_rccal[0] | 0x80));
25872 for (rx_core = 0; rx_core < pi->pubpi.phy_corenum; rx_core++) {
25874 (((int)best_rccal[rx_core] - 12) >> 1) + 10;
25875 txlpf_rccal_lpc = ((int)best_rccal[rx_core] - 12) + 10;
25878 txlpf_rccal_lpc += IS40MHZ(pi) ? 24 : 12;
25879 txlpf_idac = IS40MHZ(pi) ? 0x0e : 0x13;
25880 WRITE_RADIO_REG2(pi, RADIO_2056, TX, rx_core,
25881 TXLPF_IDAC_4, txlpf_idac);
25884 rxlpf_rccal_hpc = max(min_t(u8, rxlpf_rccal_hpc, 31), 0);
25885 txlpf_rccal_lpc = max(min_t(u8, txlpf_rccal_lpc, 31), 0);
25887 write_radio_reg(pi, (RADIO_2056_RX_RXLPF_RCCAL_HPC |
25889 PHY_CORE_0) ? RADIO_2056_RX0 :
25891 (rxlpf_rccal_hpc | 0x80));
25893 write_radio_reg(pi, (RADIO_2056_TX_TXLPF_RCCAL |
25895 PHY_CORE_0) ? RADIO_2056_TX0 :
25897 (txlpf_rccal_lpc | 0x80));
25901 write_phy_reg(pi, 0x01, orig_BBConfig);
25903 wlc_phy_resetcca_nphy(pi);
25905 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25906 wlc_phy_rfctrl_override_1tomany_nphy(pi,
25907 NPHY_REV7_RfctrlOverride_cmd_rxgain,
25910 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12), 0, 0x3, 1);
25912 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
25914 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
25917 if (NREV_GE(pi->pubpi.phy_rev, 4)) {
25918 pi->phyhang_avoid = phyhang_avoid_state;
25921 wlc_phy_stay_in_carriersearch_nphy(pi, false);
25927 wlc_phy_cal_rxiq_nphy_rev2(phy_info_t *pi, nphy_txgains_t target_gain,
25930 phy_iq_est_t est[PHY_CORE_MAX];
25931 u8 core_num, rx_core, tx_core;
25932 u16 lna_vals[] = { 0x3, 0x3, 0x1 };
25933 u16 hpf1_vals[] = { 0x7, 0x2, 0x0 };
25934 u16 hpf2_vals[] = { 0x2, 0x0, 0x0 };
25935 s16 curr_hpf1, curr_hpf2, curr_hpf, curr_lna;
25936 s16 desired_log2_pwr, actual_log2_pwr, hpf_change;
25937 u16 orig_RfseqCoreActv, orig_AfectrlCore, orig_AfectrlOverride;
25938 u16 orig_RfctrlIntcRx, orig_RfctrlIntcTx;
25940 u32 i_pwr, q_pwr, tot_pwr[3];
25941 u8 gain_pass, use_hpf_num;
25942 u16 mask, val1, val2;
25946 nphy_iqcal_params_t cal_params[2];
25948 int bcmerror = BCME_OK;
25949 bool first_playtone = true;
25951 wlc_phy_stay_in_carriersearch_nphy(pi, true);
25953 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
25955 wlc_phy_reapply_txcal_coeffs_nphy(pi);
25958 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, gain_save);
25960 for (core_no = 0; core_no <= 1; core_no++) {
25961 wlc_phy_iqcal_gainparams_nphy(pi, core_no, target_gain,
25962 &cal_params[core_no]);
25963 cal_gain[core_no] = cal_params[core_no].cal_gain;
25966 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, cal_gain);
25969 desired_log2_pwr = 13;
25971 for (core_num = 0; core_num < 2; core_num++) {
25973 rx_core = core_num;
25974 tx_core = 1 - core_num;
25976 orig_RfseqCoreActv = read_phy_reg(pi, 0xa2);
25977 orig_AfectrlCore = read_phy_reg(pi, (rx_core == PHY_CORE_0) ?
25979 orig_AfectrlOverride = read_phy_reg(pi, 0xa5);
25980 orig_RfctrlIntcRx = read_phy_reg(pi, (rx_core == PHY_CORE_0) ?
25982 orig_RfctrlIntcTx = read_phy_reg(pi, (tx_core == PHY_CORE_0) ?
25985 mod_phy_reg(pi, 0xa2, (0xf << 12), (1 << tx_core) << 12);
25986 mod_phy_reg(pi, 0xa2, (0xf << 0), (1 << tx_core) << 0);
25988 or_phy_reg(pi, ((rx_core == PHY_CORE_0) ? 0xa6 : 0xa7),
25989 ((0x1 << 1) | (0x1 << 2)));
25990 or_phy_reg(pi, 0xa5, ((0x1 << 1) | (0x1 << 2)));
25992 if (((pi->nphy_rxcalparams) & 0xff000000)) {
25995 (rx_core == PHY_CORE_0) ? 0x91 : 0x92,
25996 (CHSPEC_IS5G(pi->radio_chanspec) ? 0x140 :
26001 (rx_core == PHY_CORE_0) ? 0x91 : 0x92,
26002 (CHSPEC_IS5G(pi->radio_chanspec) ? 0x180 :
26006 write_phy_reg(pi, (tx_core == PHY_CORE_0) ? 0x91 : 0x92,
26007 (CHSPEC_IS5G(pi->radio_chanspec) ? 0x148 :
26010 mask = RADIO_2055_COUPLE_RX_MASK | RADIO_2055_COUPLE_TX_MASK;
26011 if (rx_core == PHY_CORE_0) {
26012 val1 = RADIO_2055_COUPLE_RX_MASK;
26013 val2 = RADIO_2055_COUPLE_TX_MASK;
26015 val1 = RADIO_2055_COUPLE_TX_MASK;
26016 val2 = RADIO_2055_COUPLE_RX_MASK;
26019 if ((pi->nphy_rxcalparams & 0x10000)) {
26020 mod_radio_reg(pi, RADIO_2055_CORE1_GEN_SPARE2, mask,
26022 mod_radio_reg(pi, RADIO_2055_CORE2_GEN_SPARE2, mask,
26026 for (gain_pass = 0; gain_pass < 4; gain_pass++) {
26029 mdelay(WAIT_FOR_SCOPE);
26031 if (gain_pass < 3) {
26032 curr_lna = lna_vals[gain_pass];
26033 curr_hpf1 = hpf1_vals[gain_pass];
26034 curr_hpf2 = hpf2_vals[gain_pass];
26037 if (tot_pwr[1] > 10000) {
26038 curr_lna = lna_vals[2];
26039 curr_hpf1 = hpf1_vals[2];
26040 curr_hpf2 = hpf2_vals[2];
26042 curr_hpf = curr_hpf1;
26044 wlc_phy_nbits(tot_pwr[2]);
26046 if (tot_pwr[0] > 10000) {
26047 curr_lna = lna_vals[1];
26048 curr_hpf1 = hpf1_vals[1];
26049 curr_hpf2 = hpf2_vals[1];
26051 curr_hpf = curr_hpf1;
26053 wlc_phy_nbits(tot_pwr[1]);
26055 curr_lna = lna_vals[0];
26056 curr_hpf1 = hpf1_vals[0];
26057 curr_hpf2 = hpf2_vals[0];
26059 curr_hpf = curr_hpf2;
26061 wlc_phy_nbits(tot_pwr[0]);
26065 hpf_change = desired_log2_pwr - actual_log2_pwr;
26066 curr_hpf += hpf_change;
26067 curr_hpf = max(min_t(u16, curr_hpf, 10), 0);
26068 if (use_hpf_num == 1) {
26069 curr_hpf1 = curr_hpf;
26071 curr_hpf2 = curr_hpf;
26075 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 10),
26076 ((curr_hpf2 << 8) |
26078 (curr_lna << 2)), 0x3, 0);
26079 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
26081 wlc_phy_stopplayback_nphy(pi);
26083 if (first_playtone) {
26084 bcmerror = wlc_phy_tx_tone_nphy(pi, 4000,
26090 first_playtone = false;
26093 (CHSPEC_IS40(pi->radio_chanspec)) ? 40 : 20;
26094 wlc_phy_runsamples_nphy(pi, phy_bw * 8, 0xffff,
26098 if (bcmerror == BCME_OK) {
26099 if (gain_pass < 3) {
26101 wlc_phy_rx_iq_est_nphy(pi, est,
26105 (est[rx_core].i_pwr +
26106 num_samps / 2) / num_samps;
26108 (est[rx_core].q_pwr +
26109 num_samps / 2) / num_samps;
26110 tot_pwr[gain_pass] = i_pwr + q_pwr;
26113 wlc_phy_calc_rx_iq_comp_nphy(pi,
26118 wlc_phy_stopplayback_nphy(pi);
26121 if (bcmerror != BCME_OK)
26125 and_radio_reg(pi, RADIO_2055_CORE1_GEN_SPARE2, ~mask);
26126 and_radio_reg(pi, RADIO_2055_CORE2_GEN_SPARE2, ~mask);
26128 write_phy_reg(pi, (tx_core == PHY_CORE_0) ? 0x91 :
26129 0x92, orig_RfctrlIntcTx);
26130 write_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0x91 :
26131 0x92, orig_RfctrlIntcRx);
26132 write_phy_reg(pi, 0xa5, orig_AfectrlOverride);
26133 write_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0xa6 :
26134 0xa7, orig_AfectrlCore);
26135 write_phy_reg(pi, 0xa2, orig_RfseqCoreActv);
26137 if (bcmerror != BCME_OK)
26141 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 10), 0, 0x3, 1);
26142 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
26144 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
26147 wlc_phy_stay_in_carriersearch_nphy(pi, false);
26153 wlc_phy_cal_rxiq_nphy(phy_info_t *pi, nphy_txgains_t target_gain,
26154 u8 cal_type, bool debug)
26156 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26160 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
26161 return wlc_phy_cal_rxiq_nphy_rev3(pi, target_gain, cal_type,
26164 return wlc_phy_cal_rxiq_nphy_rev2(pi, target_gain, debug);
26168 static void wlc_phy_extpa_set_tx_digi_filts_nphy(phy_info_t *pi)
26171 u16 addr_offset = 0x2c5;
26173 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26174 write_phy_reg(pi, addr_offset + j,
26175 NPHY_IPA_REV4_txdigi_filtcoeffs[type][j]);
26179 static void wlc_phy_ipa_set_tx_digi_filts_nphy(phy_info_t *pi)
26182 u16 addr_offset[] = { 0x186, 0x195,
26186 for (type = 0; type < 3; type++) {
26187 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26188 write_phy_reg(pi, addr_offset[type] + j,
26189 NPHY_IPA_REV4_txdigi_filtcoeffs[type][j]);
26194 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26195 write_phy_reg(pi, 0x186 + j,
26196 NPHY_IPA_REV4_txdigi_filtcoeffs[3][j]);
26199 if (CHSPEC_IS5G(pi->radio_chanspec)) {
26200 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26201 write_phy_reg(pi, 0x186 + j,
26202 NPHY_IPA_REV4_txdigi_filtcoeffs[5]
26207 if (CHSPEC_CHANNEL(pi->radio_chanspec) == 14) {
26208 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26209 write_phy_reg(pi, 0x2c5 + j,
26210 NPHY_IPA_REV4_txdigi_filtcoeffs[6]
26217 static void wlc_phy_ipa_restore_tx_digi_filts_nphy(phy_info_t *pi)
26222 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26223 write_phy_reg(pi, 0x195 + j,
26224 NPHY_IPA_REV4_txdigi_filtcoeffs[4][j]);
26227 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26228 write_phy_reg(pi, 0x186 + j,
26229 NPHY_IPA_REV4_txdigi_filtcoeffs[3][j]);
26234 static u16 wlc_phy_ipa_get_bbmult_nphy(phy_info_t *pi)
26238 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m0m1);
26243 static void wlc_phy_ipa_set_bbmult_nphy(phy_info_t *pi, u8 m0, u8 m1)
26245 u16 m0m1 = (u16) ((m0 << 8) | m1);
26247 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &m0m1);
26248 wlc_phy_table_write_nphy(pi, 15, 1, 95, 16, &m0m1);
26251 static u32 *wlc_phy_get_ipa_gaintbl_nphy(phy_info_t *pi)
26253 u32 *tx_pwrctrl_tbl = NULL;
26255 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26257 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26259 if ((pi->pubpi.radiorev == 4)
26260 || (pi->pubpi.radiorev == 6)) {
26263 nphy_tpc_txgain_ipa_2g_2057rev4n6;
26264 } else if (pi->pubpi.radiorev == 3) {
26267 nphy_tpc_txgain_ipa_2g_2057rev3;
26268 } else if (pi->pubpi.radiorev == 5) {
26271 nphy_tpc_txgain_ipa_2g_2057rev5;
26272 } else if ((pi->pubpi.radiorev == 7)
26273 || (pi->pubpi.radiorev == 8)) {
26276 nphy_tpc_txgain_ipa_2g_2057rev7;
26281 } else if (NREV_IS(pi->pubpi.phy_rev, 6)) {
26283 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_rev6;
26284 if (pi->sh->chip == BCM47162_CHIP_ID) {
26286 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_rev5;
26289 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
26291 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_rev5;
26294 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa;
26299 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26300 if ((pi->pubpi.radiorev == 3) ||
26301 (pi->pubpi.radiorev == 4) ||
26302 (pi->pubpi.radiorev == 6)) {
26304 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_5g_2057;
26305 } else if ((pi->pubpi.radiorev == 7)
26306 || (pi->pubpi.radiorev == 8)) {
26309 nphy_tpc_txgain_ipa_5g_2057rev7;
26315 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_5g;
26319 return tx_pwrctrl_tbl;
26323 wlc_phy_papd_cal_setup_nphy(phy_info_t *pi, nphy_papd_restore_state *state,
26330 off_core = core ^ 0x1;
26331 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26333 if (NREV_IS(pi->pubpi.phy_rev, 7)
26334 || NREV_GE(pi->pubpi.phy_rev, 8)) {
26335 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7),
26336 wlc_phy_read_lpf_bw_ctl_nphy
26338 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26341 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26342 if (pi->pubpi.radiorev == 5) {
26343 mixgain = (core == 0) ? 0x20 : 0x00;
26345 } else if ((pi->pubpi.radiorev == 7)
26346 || (pi->pubpi.radiorev == 8)) {
26350 } else if ((pi->pubpi.radiorev <= 4)
26351 || (pi->pubpi.radiorev == 6)) {
26359 if ((pi->pubpi.radiorev == 4) ||
26360 (pi->pubpi.radiorev == 6)) {
26363 } else if ((pi->pubpi.radiorev == 3)
26364 || (pi->pubpi.radiorev == 7)
26365 || (pi->pubpi.radiorev == 8)) {
26373 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11),
26374 mixgain, (1 << core), 0,
26375 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26377 wlc_phy_rfctrl_override_1tomany_nphy(pi,
26378 NPHY_REV7_RfctrlOverride_cmd_tx_pu,
26379 1, (1 << core), 0);
26380 wlc_phy_rfctrl_override_1tomany_nphy(pi,
26381 NPHY_REV7_RfctrlOverride_cmd_tx_pu,
26382 0, (1 << off_core), 0);
26384 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
26386 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26387 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2), 1,
26389 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26390 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), 0,
26392 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26393 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), 1,
26395 NPHY_REV7_RFCTRLOVERRIDE_ID2);
26396 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 8), 0,
26398 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26399 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 9), 1,
26401 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26402 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 10), 0,
26404 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26405 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3), 1,
26407 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26409 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5),
26411 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26412 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4), 0,
26414 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26416 state->afectrl[core] = read_phy_reg(pi, (core == PHY_CORE_0) ?
26418 state->afeoverride[core] =
26419 read_phy_reg(pi, (core == PHY_CORE_0) ? 0x8f : 0xa5);
26420 state->afectrl[off_core] =
26421 read_phy_reg(pi, (core == PHY_CORE_0) ? 0xa7 : 0xa6);
26422 state->afeoverride[off_core] =
26423 read_phy_reg(pi, (core == PHY_CORE_0) ? 0xa5 : 0x8f);
26425 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0xa6 : 0xa7),
26427 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0x8f :
26428 0xa5), (0x1 << 2), (0x1 << 2));
26430 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0xa7 : 0xa6),
26431 (0x1 << 2), (0x1 << 2));
26432 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0xa5 :
26433 0x8f), (0x1 << 2), (0x1 << 2));
26435 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26436 state->pwrup[core] =
26437 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
26438 TXRXCOUPLE_2G_PWRUP);
26439 state->atten[core] =
26440 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
26441 TXRXCOUPLE_2G_ATTEN);
26442 state->pwrup[off_core] =
26443 READ_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26444 TXRXCOUPLE_2G_PWRUP);
26445 state->atten[off_core] =
26446 READ_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26447 TXRXCOUPLE_2G_ATTEN);
26449 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26450 TXRXCOUPLE_2G_PWRUP, 0xc);
26452 if ((pi->pubpi.radiorev == 3) ||
26453 (pi->pubpi.radiorev == 4) ||
26454 (pi->pubpi.radiorev == 6)) {
26456 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26457 TXRXCOUPLE_2G_ATTEN, 0xf0);
26459 } else if (pi->pubpi.radiorev == 5) {
26461 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26462 TXRXCOUPLE_2G_ATTEN,
26463 (core == 0) ? 0xf7 : 0xf2);
26465 } else if ((pi->pubpi.radiorev == 7)
26466 || (pi->pubpi.radiorev == 8)) {
26468 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26469 TXRXCOUPLE_2G_ATTEN, 0xf0);
26475 WRITE_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26476 TXRXCOUPLE_2G_PWRUP, 0x0);
26477 WRITE_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26478 TXRXCOUPLE_2G_ATTEN, 0xff);
26481 state->pwrup[core] =
26482 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
26483 TXRXCOUPLE_5G_PWRUP);
26484 state->atten[core] =
26485 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
26486 TXRXCOUPLE_5G_ATTEN);
26487 state->pwrup[off_core] =
26488 READ_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26489 TXRXCOUPLE_5G_PWRUP);
26490 state->atten[off_core] =
26491 READ_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26492 TXRXCOUPLE_5G_ATTEN);
26494 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26495 TXRXCOUPLE_5G_PWRUP, 0xc);
26497 if ((pi->pubpi.radiorev == 7)
26498 || (pi->pubpi.radiorev == 8)) {
26500 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26501 TXRXCOUPLE_5G_ATTEN, 0xf4);
26504 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26505 TXRXCOUPLE_5G_ATTEN, 0xf0);
26508 WRITE_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26509 TXRXCOUPLE_5G_PWRUP, 0x0);
26510 WRITE_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26511 TXRXCOUPLE_5G_ATTEN, 0xff);
26516 wlc_phy_tx_tone_nphy(pi, tone_freq, 181, 0, 0, false);
26518 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
26519 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_ON) << 0);
26521 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26522 0x2a4, (0x1 << 13), (1) << 13);
26524 mod_phy_reg(pi, (off_core == PHY_CORE_0) ? 0x297 :
26525 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_OFF) << 0);
26527 mod_phy_reg(pi, (off_core == PHY_CORE_0) ? 0x2a3 :
26528 0x2a4, (0x1 << 13), (0) << 13);
26532 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12), 0, 0x3, 0);
26534 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 1, 0, 0);
26536 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 0), 0, 0x3, 0);
26538 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 2), 1, 0x3, 0);
26539 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 1), 1, 0x3, 0);
26541 state->afectrl[core] = read_phy_reg(pi, (core == PHY_CORE_0) ?
26543 state->afeoverride[core] =
26544 read_phy_reg(pi, (core == PHY_CORE_0) ? 0x8f : 0xa5);
26546 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0xa6 : 0xa7),
26547 (0x1 << 0) | (0x1 << 1) | (0x1 << 2), 0);
26548 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0x8f :
26552 (0x1 << 2), (0x1 << 0) | (0x1 << 1) | (0x1 << 2));
26554 state->vga_master[core] =
26555 READ_RADIO_REG2(pi, RADIO_2056, RX, core, VGA_MASTER);
26556 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core, VGA_MASTER, 0x2b);
26557 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26558 state->fbmix[core] =
26559 READ_RADIO_REG2(pi, RADIO_2056, RX, core,
26561 state->intpa_master[core] =
26562 READ_RADIO_REG2(pi, RADIO_2056, TX, core,
26565 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core, TXFBMIX_G,
26567 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
26568 INTPAG_MASTER, 0x04);
26570 state->fbmix[core] =
26571 READ_RADIO_REG2(pi, RADIO_2056, RX, core,
26573 state->intpa_master[core] =
26574 READ_RADIO_REG2(pi, RADIO_2056, TX, core,
26577 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core, TXFBMIX_A,
26579 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
26580 INTPAA_MASTER, 0x04);
26586 wlc_phy_tx_tone_nphy(pi, tone_freq, 181, 0, 0, false);
26588 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
26589 0x29b, (0x1 << 0), (1) << 0);
26591 mod_phy_reg(pi, (off_core == PHY_CORE_0) ? 0x297 :
26592 0x29b, (0x1 << 0), (0) << 0);
26594 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 0, 0x3, 0);
26599 wlc_phy_papd_cal_cleanup_nphy(phy_info_t *pi, nphy_papd_restore_state *state)
26603 wlc_phy_stopplayback_nphy(pi);
26605 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26607 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
26609 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26610 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26611 TXRXCOUPLE_2G_PWRUP, 0);
26612 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26613 TXRXCOUPLE_2G_ATTEN,
26614 state->atten[core]);
26616 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26617 TXRXCOUPLE_5G_PWRUP, 0);
26618 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26619 TXRXCOUPLE_5G_ATTEN,
26620 state->atten[core]);
26624 if ((pi->pubpi.radiorev == 4) || (pi->pubpi.radiorev == 6)) {
26625 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2),
26627 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26629 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2),
26631 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26633 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1),
26635 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26636 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), 0, 0x3, 1,
26637 NPHY_REV7_RFCTRLOVERRIDE_ID2);
26638 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2), 0, 0x3, 1,
26639 NPHY_REV7_RFCTRLOVERRIDE_ID2);
26640 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 1, 0x3, 1,
26641 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26642 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3), 0, 0x3, 1,
26643 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26644 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 0, 0x3, 1,
26645 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26646 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 12), 0, 0x3, 1,
26647 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26648 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2), 1, 0x3, 1,
26649 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26650 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), 0, 0x3, 1,
26651 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26652 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), 1, 0x3, 1,
26653 NPHY_REV7_RFCTRLOVERRIDE_ID2);
26654 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 8), 0, 0x3, 1,
26655 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26656 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 9), 1, 0x3, 1,
26657 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26658 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 10), 0, 0x3, 1,
26659 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26660 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3), 1, 0x3, 1,
26661 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26662 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5), 0, 0x3, 1,
26663 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26664 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4), 0, 0x3, 1,
26665 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26667 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
26669 write_phy_reg(pi, (core == PHY_CORE_0) ?
26670 0xa6 : 0xa7, state->afectrl[core]);
26671 write_phy_reg(pi, (core == PHY_CORE_0) ? 0x8f :
26672 0xa5, state->afeoverride[core]);
26675 wlc_phy_ipa_set_bbmult_nphy(pi, (state->mm >> 8) & 0xff,
26676 (state->mm & 0xff));
26678 if (NREV_IS(pi->pubpi.phy_rev, 7)
26679 || NREV_GE(pi->pubpi.phy_rev, 8)) {
26680 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7), 0, 0,
26682 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26686 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12), 0, 0x3, 1);
26687 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 13), 0, 0x3, 1);
26688 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 0), 0, 0x3, 1);
26690 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 2), 0, 0x3, 1);
26691 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 1), 0, 0x3, 1);
26693 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
26695 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core, VGA_MASTER,
26696 state->vga_master[core]);
26697 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26698 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core,
26699 TXFBMIX_G, state->fbmix[core]);
26700 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
26702 state->intpa_master[core]);
26704 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core,
26705 TXFBMIX_A, state->fbmix[core]);
26706 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
26708 state->intpa_master[core]);
26711 write_phy_reg(pi, (core == PHY_CORE_0) ?
26712 0xa6 : 0xa7, state->afectrl[core]);
26713 write_phy_reg(pi, (core == PHY_CORE_0) ? 0x8f :
26714 0xa5, state->afeoverride[core]);
26717 wlc_phy_ipa_set_bbmult_nphy(pi, (state->mm >> 8) & 0xff,
26718 (state->mm & 0xff));
26720 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 0, 0x3, 1);
26725 wlc_phy_a1_nphy(phy_info_t *pi, u8 core, u32 winsz, u32 start,
26728 u32 *buf, *src, *dst, sz;
26730 sz = end - start + 1;
26731 ASSERT(end > start);
26732 ASSERT(end < NPHY_PAPD_EPS_TBL_SIZE);
26734 buf = kmalloc(2 * sizeof(u32) * NPHY_PAPD_EPS_TBL_SIZE, GFP_ATOMIC);
26740 dst = buf + NPHY_PAPD_EPS_TBL_SIZE;
26742 wlc_phy_table_read_nphy(pi,
26744 PHY_CORE_0 ? NPHY_TBL_ID_EPSILONTBL0 :
26745 NPHY_TBL_ID_EPSILONTBL1),
26746 NPHY_PAPD_EPS_TBL_SIZE, 0, 32, src);
26749 u32 phy_a1, phy_a2;
26750 s32 phy_a3, phy_a4, phy_a5, phy_a6, phy_a7;
26752 phy_a1 = end - min(end, (winsz >> 1));
26753 phy_a2 = min_t(u32, NPHY_PAPD_EPS_TBL_SIZE - 1, end + (winsz >> 1));
26754 phy_a3 = phy_a2 - phy_a1 + 1;
26759 wlc_phy_papd_decode_epsilon(src[phy_a2], &phy_a4,
26763 } while (phy_a2-- != phy_a1);
26767 dst[end] = ((u32) phy_a7 << 13) | ((u32) phy_a6 & 0x1fff);
26768 } while (end-- != start);
26770 wlc_phy_table_write_nphy(pi,
26772 PHY_CORE_0) ? NPHY_TBL_ID_EPSILONTBL0 :
26773 NPHY_TBL_ID_EPSILONTBL1, sz, start, 32, dst);
26779 wlc_phy_a2_nphy(phy_info_t *pi, nphy_ipa_txcalgains_t *txgains,
26780 phy_cal_mode_t cal_mode, u8 core)
26782 u16 phy_a1, phy_a2, phy_a3;
26783 u16 phy_a4, phy_a5;
26787 nphy_txgains_t phy_a9;
26789 if (NREV_LT(pi->pubpi.phy_rev, 3))
26792 phy_a7 = (core == PHY_CORE_0) ? 1 : 0;
26794 ASSERT((cal_mode == CAL_FULL) || (cal_mode == CAL_GCTRL)
26795 || (cal_mode == CAL_SOFT));
26796 phy_a6 = ((cal_mode == CAL_GCTRL)
26797 || (cal_mode == CAL_SOFT)) ? true : false;
26799 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26801 phy_a9 = wlc_phy_get_tx_gain_nphy(pi);
26803 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26804 phy_a5 = ((phy_a9.txlpf[core] << 15) |
26805 (phy_a9.txgm[core] << 12) |
26806 (phy_a9.pga[core] << 8) |
26807 (txgains->gains.pad[core] << 3) |
26808 (phy_a9.ipa[core]));
26810 phy_a5 = ((phy_a9.txlpf[core] << 15) |
26811 (phy_a9.txgm[core] << 12) |
26812 (txgains->gains.pga[core] << 8) |
26813 (phy_a9.pad[core] << 3) | (phy_a9.ipa[core]));
26816 wlc_phy_rfctrl_override_1tomany_nphy(pi,
26817 NPHY_REV7_RfctrlOverride_cmd_txgain,
26818 phy_a5, (1 << core), 0);
26820 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26821 if ((pi->pubpi.radiorev <= 4)
26822 || (pi->pubpi.radiorev == 6)) {
26824 m[core] = IS40MHZ(pi) ? 60 : 79;
26827 m[core] = IS40MHZ(pi) ? 45 : 64;
26831 m[core] = IS40MHZ(pi) ? 75 : 107;
26835 wlc_phy_ipa_set_bbmult_nphy(pi, m[0], m[1]);
26839 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26840 if (pi->sh->chip == BCM6362_CHIP_ID) {
26843 } else if ((pi->pubpi.radiorev == 4)
26844 || (pi->pubpi.radiorev == 6)) {
26852 if ((pi->pubpi.radiorev == 5)
26853 || (pi->pubpi.radiorev == 7)
26854 || (pi->pubpi.radiorev == 8)) {
26863 if (cal_mode == CAL_GCTRL) {
26864 if ((pi->pubpi.radiorev == 5)
26865 && (CHSPEC_IS2G(pi->radio_chanspec))) {
26867 } else if (((pi->pubpi.radiorev == 7) &&
26868 (CHSPEC_IS2G(pi->radio_chanspec))) ||
26869 ((pi->pubpi.radiorev == 8) &&
26870 (CHSPEC_IS2G(pi->radio_chanspec)))) {
26876 } else if ((cal_mode != CAL_FULL) && (cal_mode != CAL_SOFT)) {
26882 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
26883 0x29b, (0x1 << 0), (1) << 0);
26885 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x297 :
26886 0x29b, (0x1 << 0), (0) << 0);
26888 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26889 0x2a4, (0x1 << 13), (1) << 13);
26891 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x2a3 :
26892 0x2a4, (0x1 << 13), (0) << 13);
26894 write_phy_reg(pi, 0x2a1, 0x80);
26895 write_phy_reg(pi, 0x2a2, 0x100);
26897 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26898 0x2a4, (0x7 << 4), (11) << 4);
26900 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26901 0x2a4, (0x7 << 8), (11) << 8);
26903 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26904 0x2a4, (0x7 << 0), (0x3) << 0);
26906 write_phy_reg(pi, 0x2e5, 0x20);
26908 mod_phy_reg(pi, 0x2a0, (0x3f << 0), (phy_a3) << 0);
26910 mod_phy_reg(pi, 0x29f, (0x3f << 0), (phy_a1) << 0);
26912 mod_phy_reg(pi, 0x29f, (0x3f << 8), (phy_a2) << 8);
26914 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
26915 1, ((core == 0) ? 1 : 2), 0,
26916 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26917 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
26918 0, ((core == 0) ? 2 : 1), 0,
26919 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26921 write_phy_reg(pi, 0x2be, 1);
26922 SPINWAIT(read_phy_reg(pi, 0x2be), 10 * 1000 * 1000);
26924 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
26926 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26928 wlc_phy_table_write_nphy(pi,
26930 PHY_CORE_0) ? NPHY_TBL_ID_EPSILONTBL0
26931 : NPHY_TBL_ID_EPSILONTBL1, 1, phy_a3,
26934 if (cal_mode != CAL_GCTRL) {
26935 if (CHSPEC_IS5G(pi->radio_chanspec)) {
26936 wlc_phy_a1_nphy(pi, core, 5, 0, 35);
26940 wlc_phy_rfctrl_override_1tomany_nphy(pi,
26941 NPHY_REV7_RfctrlOverride_cmd_txgain,
26942 phy_a5, (1 << core), 1);
26947 if (txgains->useindex) {
26948 phy_a4 = 15 - ((txgains->index) >> 3);
26949 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26950 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
26951 phy_a5 = 0x00f7 | (phy_a4 << 8);
26953 if (pi->sh->chip ==
26954 BCM47162_CHIP_ID) {
26956 0x10f7 | (phy_a4 <<
26960 if (NREV_IS(pi->pubpi.phy_rev, 5))
26961 phy_a5 = 0x10f7 | (phy_a4 << 8);
26963 phy_a5 = 0x50f7 | (phy_a4 << 8);
26965 phy_a5 = 0x70f7 | (phy_a4 << 8);
26967 wlc_phy_rfctrl_override_nphy(pi,
26972 wlc_phy_rfctrl_override_nphy(pi,
26979 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26980 m[core] = IS40MHZ(pi) ? 45 : 64;
26982 m[core] = IS40MHZ(pi) ? 75 : 107;
26986 wlc_phy_ipa_set_bbmult_nphy(pi, m[0], m[1]);
26990 if (cal_mode == CAL_FULL) {
26993 } else if (cal_mode == CAL_SOFT) {
26996 } else if (cal_mode == CAL_GCTRL) {
27005 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
27006 0x29b, (0x1 << 0), (1) << 0);
27008 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x297 :
27009 0x29b, (0x1 << 0), (0) << 0);
27011 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
27012 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
27013 0x2a4, (0x1 << 13), (1) << 13);
27015 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x2a3 :
27016 0x2a4, (0x1 << 13), (0) << 13);
27018 write_phy_reg(pi, 0x2a1, 0x20);
27019 write_phy_reg(pi, 0x2a2, 0x60);
27021 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
27022 0x2a4, (0xf << 4), (9) << 4);
27024 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
27025 0x2a4, (0xf << 8), (9) << 8);
27027 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
27028 0x2a4, (0xf << 0), (0x2) << 0);
27030 write_phy_reg(pi, 0x2e5, 0x20);
27032 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
27033 0x2a4, (0x1 << 11), (1) << 11);
27035 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x2a3 :
27036 0x2a4, (0x1 << 11), (0) << 11);
27038 write_phy_reg(pi, 0x2a1, 0x80);
27039 write_phy_reg(pi, 0x2a2, 0x600);
27041 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
27042 0x2a4, (0x7 << 4), (0) << 4);
27044 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
27045 0x2a4, (0x7 << 8), (0) << 8);
27047 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
27048 0x2a4, (0x7 << 0), (0x3) << 0);
27050 mod_phy_reg(pi, 0x2a0, (0x3f << 8), (0x20) << 8);
27054 mod_phy_reg(pi, 0x2a0, (0x3f << 0), (phy_a3) << 0);
27056 mod_phy_reg(pi, 0x29f, (0x3f << 0), (phy_a1) << 0);
27058 mod_phy_reg(pi, 0x29f, (0x3f << 8), (phy_a2) << 8);
27060 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 1, 0x3, 0);
27062 write_phy_reg(pi, 0x2be, 1);
27063 SPINWAIT(read_phy_reg(pi, 0x2be), 10 * 1000 * 1000);
27065 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 0, 0x3, 0);
27067 wlc_phy_table_write_nphy(pi,
27069 PHY_CORE_0) ? NPHY_TBL_ID_EPSILONTBL0
27070 : NPHY_TBL_ID_EPSILONTBL1, 1, phy_a3,
27073 if (cal_mode != CAL_GCTRL) {
27074 wlc_phy_a1_nphy(pi, core, 5, 0, 40);
27079 static u8 wlc_phy_a3_nphy(phy_info_t *pi, u8 start_gain, u8 core)
27084 nphy_ipa_txcalgains_t phy_a4;
27085 bool phy_a5 = false;
27086 bool phy_a6 = true;
27087 s32 phy_a7, phy_a8;
27090 bool phy_a11 = false;
27094 u8 *phy_a15 = NULL;
27096 phy_a4.useindex = true;
27097 phy_a12 = start_gain;
27099 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27104 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27105 if (pi->pubpi.radiorev == 5) {
27107 phy_a15 = pad_gain_codes_used_2057rev5;
27108 phy_a13 = sizeof(pad_gain_codes_used_2057rev5) /
27109 sizeof(pad_gain_codes_used_2057rev5[0]) - 1;
27111 } else if ((pi->pubpi.radiorev == 7)
27112 || (pi->pubpi.radiorev == 8)) {
27114 phy_a15 = pad_gain_codes_used_2057rev7;
27115 phy_a13 = sizeof(pad_gain_codes_used_2057rev7) /
27116 sizeof(pad_gain_codes_used_2057rev7[0]) - 1;
27120 phy_a15 = pad_all_gain_codes_2057;
27121 phy_a13 = sizeof(pad_all_gain_codes_2057) /
27122 sizeof(pad_all_gain_codes_2057[0]) - 1;
27127 phy_a15 = pga_all_gain_codes_2057;
27128 phy_a13 = sizeof(pga_all_gain_codes_2057) /
27129 sizeof(pga_all_gain_codes_2057[0]) - 1;
27134 for (phy_a10 = 0; phy_a10 < phy_a2; phy_a10++) {
27135 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27136 phy_a4.gains.pad[core] =
27137 (u16) phy_a15[phy_a12];
27139 phy_a4.gains.pga[core] =
27140 (u16) phy_a15[phy_a12];
27143 wlc_phy_a2_nphy(pi, &phy_a4, CAL_GCTRL, core);
27145 wlc_phy_table_read_nphy(pi,
27148 NPHY_TBL_ID_EPSILONTBL0 :
27149 NPHY_TBL_ID_EPSILONTBL1), 1,
27152 wlc_phy_papd_decode_epsilon(phy_a9, &phy_a7, &phy_a8);
27154 phy_a3 = ((phy_a7 == 4095) || (phy_a7 == -4096) ||
27155 (phy_a8 == 4095) || (phy_a8 == -4096));
27157 if (!phy_a6 && (phy_a3 != phy_a5)) {
27159 phy_a12 -= (u8) phy_a1;
27166 phy_a12 += (u8) phy_a1;
27168 phy_a12 -= (u8) phy_a1;
27170 if ((phy_a12 < phy_a14) || (phy_a12 > phy_a13)) {
27171 if (phy_a12 < phy_a14) {
27187 for (phy_a10 = 0; phy_a10 < phy_a2; phy_a10++) {
27188 phy_a4.index = (u8) phy_a12;
27189 wlc_phy_a2_nphy(pi, &phy_a4, CAL_GCTRL, core);
27191 wlc_phy_table_read_nphy(pi,
27194 NPHY_TBL_ID_EPSILONTBL0 :
27195 NPHY_TBL_ID_EPSILONTBL1), 1,
27198 wlc_phy_papd_decode_epsilon(phy_a9, &phy_a7, &phy_a8);
27200 phy_a3 = ((phy_a7 == 4095) || (phy_a7 == -4096) ||
27201 (phy_a8 == 4095) || (phy_a8 == -4096));
27203 if (!phy_a6 && (phy_a3 != phy_a5)) {
27205 phy_a12 -= (u8) phy_a1;
27212 phy_a12 += (u8) phy_a1;
27214 phy_a12 -= (u8) phy_a1;
27216 if ((phy_a12 < 0) || (phy_a12 > 127)) {
27232 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27233 return (u8) phy_a15[phy_a12];
27235 return (u8) phy_a12;
27240 static void wlc_phy_a4(phy_info_t *pi, bool full_cal)
27242 nphy_ipa_txcalgains_t phy_b1[2];
27243 nphy_papd_restore_state phy_b2;
27247 s16 phy_b6, phy_b7, phy_b8;
27249 s16 phy_b10, phy_b11, phy_b12;
27257 if (pi->nphy_papd_skip == 1)
27261 (0 == (R_REG(pi->sh->osh, &pi->regs->maccontrol) & MCTL_EN_MAC));
27263 wlapi_suspend_mac_and_wait(pi->sh->physhim);
27266 wlc_phy_stay_in_carriersearch_nphy(pi, true);
27268 pi->nphy_force_papd_cal = false;
27270 for (phy_b5 = 0; phy_b5 < pi->pubpi.phy_corenum; phy_b5++)
27271 pi->nphy_papd_tx_gain_at_last_cal[phy_b5] =
27272 wlc_phy_txpwr_idx_cur_get_nphy(pi, phy_b5);
27274 pi->nphy_papd_last_cal = pi->sh->now;
27275 pi->nphy_papd_recal_counter++;
27277 if (NORADIO_ENAB(pi->pubpi))
27280 phy_b4 = pi->nphy_txpwrctrl;
27281 wlc_phy_txpwrctrl_enable_nphy(pi, PHY_TPC_HW_OFF);
27283 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_SCALARTBL0, 64, 0, 32,
27284 nphy_papd_scaltbl);
27285 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_SCALARTBL1, 64, 0, 32,
27286 nphy_papd_scaltbl);
27288 phy_b9 = read_phy_reg(pi, 0x01);
27289 mod_phy_reg(pi, 0x01, (0x1 << 15), 0);
27291 for (phy_b5 = 0; phy_b5 < pi->pubpi.phy_corenum; phy_b5++) {
27293 for (i = 0; i < 64; i++) {
27294 wlc_phy_table_write_nphy(pi,
27297 NPHY_TBL_ID_EPSILONTBL0 :
27298 NPHY_TBL_ID_EPSILONTBL1), 1,
27303 wlc_phy_ipa_restore_tx_digi_filts_nphy(pi);
27305 phy_b2.mm = wlc_phy_ipa_get_bbmult_nphy(pi);
27306 for (phy_b5 = 0; phy_b5 < pi->pubpi.phy_corenum; phy_b5++) {
27307 wlc_phy_papd_cal_setup_nphy(pi, &phy_b2, phy_b5);
27309 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27310 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27312 if ((pi->pubpi.radiorev == 3)
27313 || (pi->pubpi.radiorev == 4)
27314 || (pi->pubpi.radiorev == 6)) {
27316 pi->nphy_papd_cal_gain_index[phy_b5] =
27319 } else if (pi->pubpi.radiorev == 5) {
27321 pi->nphy_papd_cal_gain_index[phy_b5] =
27323 pi->nphy_papd_cal_gain_index[phy_b5] =
27324 wlc_phy_a3_nphy(pi,
27326 nphy_papd_cal_gain_index
27329 } else if ((pi->pubpi.radiorev == 7)
27330 || (pi->pubpi.radiorev == 8)) {
27332 pi->nphy_papd_cal_gain_index[phy_b5] =
27334 pi->nphy_papd_cal_gain_index[phy_b5] =
27335 wlc_phy_a3_nphy(pi,
27337 nphy_papd_cal_gain_index
27344 phy_b1[phy_b5].gains.pad[phy_b5] =
27345 pi->nphy_papd_cal_gain_index[phy_b5];
27348 pi->nphy_papd_cal_gain_index[phy_b5] = 0;
27349 pi->nphy_papd_cal_gain_index[phy_b5] =
27350 wlc_phy_a3_nphy(pi,
27352 nphy_papd_cal_gain_index
27354 phy_b1[phy_b5].gains.pga[phy_b5] =
27355 pi->nphy_papd_cal_gain_index[phy_b5];
27358 phy_b1[phy_b5].useindex = true;
27359 phy_b1[phy_b5].index = 16;
27360 phy_b1[phy_b5].index =
27361 wlc_phy_a3_nphy(pi, phy_b1[phy_b5].index, phy_b5);
27363 pi->nphy_papd_cal_gain_index[phy_b5] =
27364 15 - ((phy_b1[phy_b5].index) >> 3);
27367 switch (pi->nphy_papd_cal_type) {
27369 wlc_phy_a2_nphy(pi, &phy_b1[phy_b5], CAL_FULL, phy_b5);
27372 wlc_phy_a2_nphy(pi, &phy_b1[phy_b5], CAL_SOFT, phy_b5);
27376 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27377 wlc_phy_papd_cal_cleanup_nphy(pi, &phy_b2);
27381 if (NREV_LT(pi->pubpi.phy_rev, 7)) {
27382 wlc_phy_papd_cal_cleanup_nphy(pi, &phy_b2);
27385 for (phy_b5 = 0; phy_b5 < pi->pubpi.phy_corenum; phy_b5++) {
27386 int eps_offset = 0;
27388 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27389 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27390 if (pi->pubpi.radiorev == 3) {
27392 } else if (pi->pubpi.radiorev == 5) {
27401 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27402 phy_b8 = phy_b1[phy_b5].gains.pad[phy_b5];
27404 if ((pi->pubpi.radiorev == 3) ||
27405 (pi->pubpi.radiorev == 4) ||
27406 (pi->pubpi.radiorev == 6)) {
27409 (nphy_papd_padgain_dlt_2g_2057rev3n4
27413 } else if (pi->pubpi.radiorev == 5) {
27415 -(nphy_papd_padgain_dlt_2g_2057rev5
27418 } else if ((pi->pubpi.radiorev == 7) ||
27419 (pi->pubpi.radiorev == 8)) {
27421 -(nphy_papd_padgain_dlt_2g_2057rev7
27428 phy_b7 = phy_b1[phy_b5].gains.pga[phy_b5];
27429 if ((pi->pubpi.radiorev == 3) ||
27430 (pi->pubpi.radiorev == 4) ||
27431 (pi->pubpi.radiorev == 6)) {
27433 -(nphy_papd_pgagain_dlt_5g_2057
27436 } else if ((pi->pubpi.radiorev == 7)
27437 || (pi->pubpi.radiorev == 8)) {
27439 -(nphy_papd_pgagain_dlt_5g_2057rev7
27449 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27451 -60 + 27 + eps_offset + phy_b12 + phy_b10;
27454 -60 + 27 + eps_offset + phy_b11 + phy_b10;
27457 mod_phy_reg(pi, (phy_b5 == PHY_CORE_0) ? 0x298 :
27458 0x29c, (0x1ff << 7), (phy_b6) << 7);
27460 pi->nphy_papd_epsilon_offset[phy_b5] = phy_b6;
27462 if (NREV_LT(pi->pubpi.phy_rev, 5)) {
27468 phy_b7 = 15 - ((phy_b1[phy_b5].index) >> 3);
27470 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27472 -(nphy_papd_pga_gain_delta_ipa_2g[phy_b7] +
27477 -(nphy_papd_pga_gain_delta_ipa_5g[phy_b7] +
27482 phy_b6 = -60 + 27 + eps_offset + phy_b11 + phy_b10;
27484 mod_phy_reg(pi, (phy_b5 == PHY_CORE_0) ? 0x298 :
27485 0x29c, (0x1ff << 7), (phy_b6) << 7);
27487 pi->nphy_papd_epsilon_offset[phy_b5] = phy_b6;
27491 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x297 :
27492 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_ON) << 0);
27494 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x297 :
27495 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_ON) << 0);
27497 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
27498 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x2a3 :
27499 0x2a4, (0x1 << 13), (0) << 13);
27501 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x2a3 :
27502 0x2a4, (0x1 << 13), (0) << 13);
27505 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x2a3 :
27506 0x2a4, (0x1 << 11), (0) << 11);
27508 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x2a3 :
27509 0x2a4, (0x1 << 11), (0) << 11);
27512 pi->nphy_papdcomp = NPHY_PAPD_COMP_ON;
27514 write_phy_reg(pi, 0x01, phy_b9);
27516 wlc_phy_ipa_set_tx_digi_filts_nphy(pi);
27518 wlc_phy_txpwrctrl_enable_nphy(pi, phy_b4);
27519 if (phy_b4 == PHY_TPC_HW_OFF) {
27520 wlc_phy_txpwr_index_nphy(pi, (1 << 0),
27521 (s8) (pi->nphy_txpwrindex[0].
27522 index_internal), false);
27523 wlc_phy_txpwr_index_nphy(pi, (1 << 1),
27524 (s8) (pi->nphy_txpwrindex[1].
27525 index_internal), false);
27528 wlc_phy_stay_in_carriersearch_nphy(pi, false);
27531 wlapi_enable_mac(pi->sh->physhim);
27535 void wlc_phy_txpwr_fixpower_nphy(phy_info_t *pi)
27539 u16 rad_gain, dac_gain, bbmult, m1m2;
27540 u8 txpi[2], chan_freq_range;
27543 ASSERT(pi->nphy_txpwrctrl == PHY_TPC_HW_OFF);
27545 if (pi->phyhang_avoid)
27546 wlc_phy_stay_in_carriersearch_nphy(pi, true);
27548 if (pi->sh->sromrev < 4) {
27549 txpi[0] = txpi[1] = 72;
27552 chan_freq_range = wlc_phy_get_chan_freq_range_nphy(pi, 0);
27553 switch (chan_freq_range) {
27554 case WL_CHAN_FREQ_RANGE_2G:
27555 txpi[0] = pi->nphy_txpid2g[0];
27556 txpi[1] = pi->nphy_txpid2g[1];
27558 case WL_CHAN_FREQ_RANGE_5GL:
27559 txpi[0] = pi->nphy_txpid5gl[0];
27560 txpi[1] = pi->nphy_txpid5gl[1];
27562 case WL_CHAN_FREQ_RANGE_5GM:
27563 txpi[0] = pi->nphy_txpid5g[0];
27564 txpi[1] = pi->nphy_txpid5g[1];
27566 case WL_CHAN_FREQ_RANGE_5GH:
27567 txpi[0] = pi->nphy_txpid5gh[0];
27568 txpi[1] = pi->nphy_txpid5gh[1];
27571 txpi[0] = txpi[1] = 91;
27576 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27577 txpi[0] = txpi[1] = 30;
27578 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27579 txpi[0] = txpi[1] = 40;
27582 if (NREV_LT(pi->pubpi.phy_rev, 7)) {
27584 if ((txpi[0] < 40) || (txpi[0] > 100) ||
27585 (txpi[1] < 40) || (txpi[1] > 100))
27586 txpi[0] = txpi[1] = 91;
27589 pi->nphy_txpwrindex[PHY_CORE_0].index_internal = txpi[0];
27590 pi->nphy_txpwrindex[PHY_CORE_1].index_internal = txpi[1];
27591 pi->nphy_txpwrindex[PHY_CORE_0].index_internal_save = txpi[0];
27592 pi->nphy_txpwrindex[PHY_CORE_1].index_internal_save = txpi[1];
27594 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
27595 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27598 wlc_phy_get_ipa_gaintbl_nphy(pi);
27599 txgain = tx_gaintbl[txpi[core]];
27601 if (CHSPEC_IS5G(pi->radio_chanspec)) {
27603 (pi->pubpi.phy_rev, 3) {
27605 nphy_tpc_5GHz_txgain_rev3
27608 (pi->pubpi.phy_rev, 4) {
27610 (pi->srom_fem5g.extpagain ==
27612 nphy_tpc_5GHz_txgain_HiPwrEPA
27614 nphy_tpc_5GHz_txgain_rev4
27618 nphy_tpc_5GHz_txgain_rev5
27622 if (NREV_GE(pi->pubpi.phy_rev, 5) &&
27623 (pi->srom_fem2g.extpagain == 3)) {
27625 nphy_tpc_txgain_HiPwrEPA
27629 nphy_tpc_txgain_rev3[txpi
27635 txgain = nphy_tpc_txgain[txpi[core]];
27638 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27639 rad_gain = (txgain >> 16) & ((1 << (32 - 16 + 1)) - 1);
27641 rad_gain = (txgain >> 16) & ((1 << (28 - 16 + 1)) - 1);
27644 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27645 dac_gain = (txgain >> 8) & ((1 << (10 - 8 + 1)) - 1);
27647 dac_gain = (txgain >> 8) & ((1 << (13 - 8 + 1)) - 1);
27649 bbmult = (txgain >> 0) & ((1 << (7 - 0 + 1)) - 1);
27651 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27652 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0x8f :
27653 0xa5), (0x1 << 8), (0x1 << 8));
27655 mod_phy_reg(pi, 0xa5, (0x1 << 14), (0x1 << 14));
27657 write_phy_reg(pi, (core == PHY_CORE_0) ? 0xaa : 0xab, dac_gain);
27659 wlc_phy_table_write_nphy(pi, 7, 1, (0x110 + core), 16,
27662 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m1m2);
27663 m1m2 &= ((core == PHY_CORE_0) ? 0x00ff : 0xff00);
27664 m1m2 |= ((core == PHY_CORE_0) ? (bbmult << 8) : (bbmult << 0));
27665 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &m1m2);
27668 wlc_phy_table_read_nphy(pi,
27671 NPHY_TBL_ID_CORE1TXPWRCTL :
27672 NPHY_TBL_ID_CORE2TXPWRCTL), 1,
27673 576 + txpi[core], 32,
27676 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
27677 0x29b, (0x1ff << 4),
27678 ((s16) rfpwr_offset) << 4);
27680 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
27681 0x29b, (0x1 << 2), (1) << 2);
27686 and_phy_reg(pi, 0xbf, (u16) (~(0x1f << 0)));
27688 if (pi->phyhang_avoid)
27689 wlc_phy_stay_in_carriersearch_nphy(pi, false);
27693 wlc_phy_txpwr_nphy_srom_convert(u8 *srom_max, u16 *pwr_offset,
27694 u8 tmp_max_pwr, u8 rate_start,
27698 u8 word_num, nibble_num;
27701 for (rate = rate_start; rate <= rate_end; rate++) {
27702 word_num = (rate - rate_start) >> 2;
27703 nibble_num = (rate - rate_start) & 0x3;
27704 tmp_nibble = (pwr_offset[word_num] >> 4 * nibble_num) & 0xf;
27706 srom_max[rate] = tmp_max_pwr - 2 * tmp_nibble;
27711 wlc_phy_txpwr_nphy_po_apply(u8 *srom_max, u8 pwr_offset,
27712 u8 rate_start, u8 rate_end)
27716 for (rate = rate_start; rate <= rate_end; rate++) {
27717 srom_max[rate] -= 2 * pwr_offset;
27722 wlc_phy_ofdm_to_mcs_powers_nphy(u8 *power, u8 rate_mcs_start,
27723 u8 rate_mcs_end, u8 rate_ofdm_start)
27727 rate2 = rate_ofdm_start;
27728 for (rate1 = rate_mcs_start; rate1 <= rate_mcs_end - 1; rate1++) {
27729 power[rate1] = power[rate2];
27730 rate2 += (rate1 == rate_mcs_start) ? 2 : 1;
27732 power[rate_mcs_end] = power[rate_mcs_end - 1];
27736 wlc_phy_mcs_to_ofdm_powers_nphy(u8 *power, u8 rate_ofdm_start,
27737 u8 rate_ofdm_end, u8 rate_mcs_start)
27741 for (rate1 = rate_ofdm_start, rate2 = rate_mcs_start;
27742 rate1 <= rate_ofdm_end; rate1++, rate2++) {
27743 power[rate1] = power[rate2];
27744 if (rate1 == rate_ofdm_start)
27745 power[++rate1] = power[rate2];
27749 void wlc_phy_txpwr_apply_nphy(phy_info_t *pi)
27751 uint rate1, rate2, band_num;
27752 u8 tmp_bw40po = 0, tmp_cddpo = 0, tmp_stbcpo = 0;
27753 u8 tmp_max_pwr = 0;
27754 u16 pwr_offsets1[2], *pwr_offsets2 = NULL;
27755 u8 *tx_srom_max_rate = NULL;
27757 for (band_num = 0; band_num < (CH_2G_GROUP + CH_5G_GROUP); band_num++) {
27758 switch (band_num) {
27761 tmp_max_pwr = min(pi->nphy_pwrctrl_info[0].max_pwr_2g,
27762 pi->nphy_pwrctrl_info[1].max_pwr_2g);
27764 pwr_offsets1[0] = pi->cck2gpo;
27765 wlc_phy_txpwr_nphy_srom_convert(pi->tx_srom_max_rate_2g,
27771 pwr_offsets1[0] = (u16) (pi->ofdm2gpo & 0xffff);
27773 (u16) (pi->ofdm2gpo >> 16) & 0xffff;
27775 pwr_offsets2 = pi->mcs2gpo;
27777 tmp_cddpo = pi->cdd2gpo;
27778 tmp_stbcpo = pi->stbc2gpo;
27779 tmp_bw40po = pi->bw402gpo;
27781 tx_srom_max_rate = pi->tx_srom_max_rate_2g;
27785 tmp_max_pwr = min(pi->nphy_pwrctrl_info[0].max_pwr_5gm,
27786 pi->nphy_pwrctrl_info[1].max_pwr_5gm);
27788 pwr_offsets1[0] = (u16) (pi->ofdm5gpo & 0xffff);
27790 (u16) (pi->ofdm5gpo >> 16) & 0xffff;
27792 pwr_offsets2 = pi->mcs5gpo;
27794 tmp_cddpo = pi->cdd5gpo;
27795 tmp_stbcpo = pi->stbc5gpo;
27796 tmp_bw40po = pi->bw405gpo;
27798 tx_srom_max_rate = pi->tx_srom_max_rate_5g_mid;
27802 tmp_max_pwr = min(pi->nphy_pwrctrl_info[0].max_pwr_5gl,
27803 pi->nphy_pwrctrl_info[1].max_pwr_5gl);
27805 pwr_offsets1[0] = (u16) (pi->ofdm5glpo & 0xffff);
27807 (u16) (pi->ofdm5glpo >> 16) & 0xffff;
27809 pwr_offsets2 = pi->mcs5glpo;
27811 tmp_cddpo = pi->cdd5glpo;
27812 tmp_stbcpo = pi->stbc5glpo;
27813 tmp_bw40po = pi->bw405glpo;
27815 tx_srom_max_rate = pi->tx_srom_max_rate_5g_low;
27819 tmp_max_pwr = min(pi->nphy_pwrctrl_info[0].max_pwr_5gh,
27820 pi->nphy_pwrctrl_info[1].max_pwr_5gh);
27822 pwr_offsets1[0] = (u16) (pi->ofdm5ghpo & 0xffff);
27824 (u16) (pi->ofdm5ghpo >> 16) & 0xffff;
27826 pwr_offsets2 = pi->mcs5ghpo;
27828 tmp_cddpo = pi->cdd5ghpo;
27829 tmp_stbcpo = pi->stbc5ghpo;
27830 tmp_bw40po = pi->bw405ghpo;
27832 tx_srom_max_rate = pi->tx_srom_max_rate_5g_hi;
27836 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate, pwr_offsets1,
27837 tmp_max_pwr, TXP_FIRST_OFDM,
27840 wlc_phy_ofdm_to_mcs_powers_nphy(tx_srom_max_rate,
27841 TXP_FIRST_MCS_20_SISO,
27842 TXP_LAST_MCS_20_SISO,
27845 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate, pwr_offsets2,
27847 TXP_FIRST_MCS_20_CDD,
27848 TXP_LAST_MCS_20_CDD);
27850 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27852 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate, tmp_cddpo,
27853 TXP_FIRST_MCS_20_CDD,
27854 TXP_LAST_MCS_20_CDD);
27857 wlc_phy_mcs_to_ofdm_powers_nphy(tx_srom_max_rate,
27858 TXP_FIRST_OFDM_20_CDD,
27859 TXP_LAST_OFDM_20_CDD,
27860 TXP_FIRST_MCS_20_CDD);
27862 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate, pwr_offsets2,
27864 TXP_FIRST_MCS_20_STBC,
27865 TXP_LAST_MCS_20_STBC);
27867 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27869 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate,
27871 TXP_FIRST_MCS_20_STBC,
27872 TXP_LAST_MCS_20_STBC);
27875 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
27876 &pwr_offsets2[2], tmp_max_pwr,
27877 TXP_FIRST_MCS_20_SDM,
27878 TXP_LAST_MCS_20_SDM);
27880 if (NPHY_IS_SROM_REINTERPRET) {
27882 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
27885 TXP_FIRST_MCS_40_SISO,
27886 TXP_LAST_MCS_40_SISO);
27888 wlc_phy_mcs_to_ofdm_powers_nphy(tx_srom_max_rate,
27889 TXP_FIRST_OFDM_40_SISO,
27890 TXP_LAST_OFDM_40_SISO,
27891 TXP_FIRST_MCS_40_SISO);
27893 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
27896 TXP_FIRST_MCS_40_CDD,
27897 TXP_LAST_MCS_40_CDD);
27899 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate, tmp_cddpo,
27900 TXP_FIRST_MCS_40_CDD,
27901 TXP_LAST_MCS_40_CDD);
27903 wlc_phy_mcs_to_ofdm_powers_nphy(tx_srom_max_rate,
27904 TXP_FIRST_OFDM_40_CDD,
27905 TXP_LAST_OFDM_40_CDD,
27906 TXP_FIRST_MCS_40_CDD);
27908 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
27911 TXP_FIRST_MCS_40_STBC,
27912 TXP_LAST_MCS_40_STBC);
27914 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate,
27916 TXP_FIRST_MCS_40_STBC,
27917 TXP_LAST_MCS_40_STBC);
27919 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
27922 TXP_FIRST_MCS_40_SDM,
27923 TXP_LAST_MCS_40_SDM);
27926 for (rate1 = TXP_FIRST_OFDM_40_SISO, rate2 =
27927 TXP_FIRST_OFDM; rate1 <= TXP_LAST_MCS_40_SDM;
27929 tx_srom_max_rate[rate1] =
27930 tx_srom_max_rate[rate2];
27933 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27934 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate,
27936 TXP_FIRST_OFDM_40_SISO,
27937 TXP_LAST_MCS_40_SDM);
27940 tx_srom_max_rate[TXP_MCS_32] =
27941 tx_srom_max_rate[TXP_FIRST_MCS_40_CDD];
27947 static void wlc_phy_txpwr_srom_read_ppr_nphy(phy_info_t *pi)
27949 u16 bw40po, cddpo, stbcpo, bwduppo;
27952 if (pi->sh->sromrev >= 9) {
27957 bw40po = (u16) PHY_GETINTVAR(pi, "bw40po");
27958 pi->bw402gpo = bw40po & 0xf;
27959 pi->bw405gpo = (bw40po & 0xf0) >> 4;
27960 pi->bw405glpo = (bw40po & 0xf00) >> 8;
27961 pi->bw405ghpo = (bw40po & 0xf000) >> 12;
27963 cddpo = (u16) PHY_GETINTVAR(pi, "cddpo");
27964 pi->cdd2gpo = cddpo & 0xf;
27965 pi->cdd5gpo = (cddpo & 0xf0) >> 4;
27966 pi->cdd5glpo = (cddpo & 0xf00) >> 8;
27967 pi->cdd5ghpo = (cddpo & 0xf000) >> 12;
27969 stbcpo = (u16) PHY_GETINTVAR(pi, "stbcpo");
27970 pi->stbc2gpo = stbcpo & 0xf;
27971 pi->stbc5gpo = (stbcpo & 0xf0) >> 4;
27972 pi->stbc5glpo = (stbcpo & 0xf00) >> 8;
27973 pi->stbc5ghpo = (stbcpo & 0xf000) >> 12;
27975 bwduppo = (u16) PHY_GETINTVAR(pi, "bwduppo");
27976 pi->bwdup2gpo = bwduppo & 0xf;
27977 pi->bwdup5gpo = (bwduppo & 0xf0) >> 4;
27978 pi->bwdup5glpo = (bwduppo & 0xf00) >> 8;
27979 pi->bwdup5ghpo = (bwduppo & 0xf000) >> 12;
27981 for (band_num = 0; band_num < (CH_2G_GROUP + CH_5G_GROUP); band_num++) {
27982 switch (band_num) {
27985 pi->nphy_txpid2g[PHY_CORE_0] =
27986 (u8) PHY_GETINTVAR(pi, "txpid2ga0");
27987 pi->nphy_txpid2g[PHY_CORE_1] =
27988 (u8) PHY_GETINTVAR(pi, "txpid2ga1");
27989 pi->nphy_pwrctrl_info[PHY_CORE_0].max_pwr_2g =
27990 (s8) PHY_GETINTVAR(pi, "maxp2ga0");
27991 pi->nphy_pwrctrl_info[PHY_CORE_1].max_pwr_2g =
27992 (s8) PHY_GETINTVAR(pi, "maxp2ga1");
27993 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_2g_a1 =
27994 (s16) PHY_GETINTVAR(pi, "pa2gw0a0");
27995 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_2g_a1 =
27996 (s16) PHY_GETINTVAR(pi, "pa2gw0a1");
27997 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_2g_b0 =
27998 (s16) PHY_GETINTVAR(pi, "pa2gw1a0");
27999 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_2g_b0 =
28000 (s16) PHY_GETINTVAR(pi, "pa2gw1a1");
28001 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_2g_b1 =
28002 (s16) PHY_GETINTVAR(pi, "pa2gw2a0");
28003 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_2g_b1 =
28004 (s16) PHY_GETINTVAR(pi, "pa2gw2a1");
28005 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_targ_2g =
28006 (s8) PHY_GETINTVAR(pi, "itt2ga0");
28007 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_targ_2g =
28008 (s8) PHY_GETINTVAR(pi, "itt2ga1");
28010 pi->cck2gpo = (u16) PHY_GETINTVAR(pi, "cck2gpo");
28012 pi->ofdm2gpo = (u32) PHY_GETINTVAR(pi, "ofdm2gpo");
28014 pi->mcs2gpo[0] = (u16) PHY_GETINTVAR(pi, "mcs2gpo0");
28015 pi->mcs2gpo[1] = (u16) PHY_GETINTVAR(pi, "mcs2gpo1");
28016 pi->mcs2gpo[2] = (u16) PHY_GETINTVAR(pi, "mcs2gpo2");
28017 pi->mcs2gpo[3] = (u16) PHY_GETINTVAR(pi, "mcs2gpo3");
28018 pi->mcs2gpo[4] = (u16) PHY_GETINTVAR(pi, "mcs2gpo4");
28019 pi->mcs2gpo[5] = (u16) PHY_GETINTVAR(pi, "mcs2gpo5");
28020 pi->mcs2gpo[6] = (u16) PHY_GETINTVAR(pi, "mcs2gpo6");
28021 pi->mcs2gpo[7] = (u16) PHY_GETINTVAR(pi, "mcs2gpo7");
28025 pi->nphy_txpid5g[PHY_CORE_0] =
28026 (u8) PHY_GETINTVAR(pi, "txpid5ga0");
28027 pi->nphy_txpid5g[PHY_CORE_1] =
28028 (u8) PHY_GETINTVAR(pi, "txpid5ga1");
28029 pi->nphy_pwrctrl_info[PHY_CORE_0].max_pwr_5gm =
28030 (s8) PHY_GETINTVAR(pi, "maxp5ga0");
28031 pi->nphy_pwrctrl_info[PHY_CORE_1].max_pwr_5gm =
28032 (s8) PHY_GETINTVAR(pi, "maxp5ga1");
28033 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_5gm_a1 =
28034 (s16) PHY_GETINTVAR(pi, "pa5gw0a0");
28035 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_5gm_a1 =
28036 (s16) PHY_GETINTVAR(pi, "pa5gw0a1");
28037 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_5gm_b0 =
28038 (s16) PHY_GETINTVAR(pi, "pa5gw1a0");
28039 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_5gm_b0 =
28040 (s16) PHY_GETINTVAR(pi, "pa5gw1a1");
28041 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_5gm_b1 =
28042 (s16) PHY_GETINTVAR(pi, "pa5gw2a0");
28043 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_5gm_b1 =
28044 (s16) PHY_GETINTVAR(pi, "pa5gw2a1");
28045 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_targ_5gm =
28046 (s8) PHY_GETINTVAR(pi, "itt5ga0");
28047 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_targ_5gm =
28048 (s8) PHY_GETINTVAR(pi, "itt5ga1");
28050 pi->ofdm5gpo = (u32) PHY_GETINTVAR(pi, "ofdm5gpo");
28052 pi->mcs5gpo[0] = (u16) PHY_GETINTVAR(pi, "mcs5gpo0");
28053 pi->mcs5gpo[1] = (u16) PHY_GETINTVAR(pi, "mcs5gpo1");
28054 pi->mcs5gpo[2] = (u16) PHY_GETINTVAR(pi, "mcs5gpo2");
28055 pi->mcs5gpo[3] = (u16) PHY_GETINTVAR(pi, "mcs5gpo3");
28056 pi->mcs5gpo[4] = (u16) PHY_GETINTVAR(pi, "mcs5gpo4");
28057 pi->mcs5gpo[5] = (u16) PHY_GETINTVAR(pi, "mcs5gpo5");
28058 pi->mcs5gpo[6] = (u16) PHY_GETINTVAR(pi, "mcs5gpo6");
28059 pi->mcs5gpo[7] = (u16) PHY_GETINTVAR(pi, "mcs5gpo7");
28063 pi->nphy_txpid5gl[0] =
28064 (u8) PHY_GETINTVAR(pi, "txpid5gla0");
28065 pi->nphy_txpid5gl[1] =
28066 (u8) PHY_GETINTVAR(pi, "txpid5gla1");
28067 pi->nphy_pwrctrl_info[0].max_pwr_5gl =
28068 (s8) PHY_GETINTVAR(pi, "maxp5gla0");
28069 pi->nphy_pwrctrl_info[1].max_pwr_5gl =
28070 (s8) PHY_GETINTVAR(pi, "maxp5gla1");
28071 pi->nphy_pwrctrl_info[0].pwrdet_5gl_a1 =
28072 (s16) PHY_GETINTVAR(pi, "pa5glw0a0");
28073 pi->nphy_pwrctrl_info[1].pwrdet_5gl_a1 =
28074 (s16) PHY_GETINTVAR(pi, "pa5glw0a1");
28075 pi->nphy_pwrctrl_info[0].pwrdet_5gl_b0 =
28076 (s16) PHY_GETINTVAR(pi, "pa5glw1a0");
28077 pi->nphy_pwrctrl_info[1].pwrdet_5gl_b0 =
28078 (s16) PHY_GETINTVAR(pi, "pa5glw1a1");
28079 pi->nphy_pwrctrl_info[0].pwrdet_5gl_b1 =
28080 (s16) PHY_GETINTVAR(pi, "pa5glw2a0");
28081 pi->nphy_pwrctrl_info[1].pwrdet_5gl_b1 =
28082 (s16) PHY_GETINTVAR(pi, "pa5glw2a1");
28083 pi->nphy_pwrctrl_info[0].idle_targ_5gl = 0;
28084 pi->nphy_pwrctrl_info[1].idle_targ_5gl = 0;
28086 pi->ofdm5glpo = (u32) PHY_GETINTVAR(pi, "ofdm5glpo");
28089 (u16) PHY_GETINTVAR(pi, "mcs5glpo0");
28091 (u16) PHY_GETINTVAR(pi, "mcs5glpo1");
28093 (u16) PHY_GETINTVAR(pi, "mcs5glpo2");
28095 (u16) PHY_GETINTVAR(pi, "mcs5glpo3");
28097 (u16) PHY_GETINTVAR(pi, "mcs5glpo4");
28099 (u16) PHY_GETINTVAR(pi, "mcs5glpo5");
28101 (u16) PHY_GETINTVAR(pi, "mcs5glpo6");
28103 (u16) PHY_GETINTVAR(pi, "mcs5glpo7");
28107 pi->nphy_txpid5gh[0] =
28108 (u8) PHY_GETINTVAR(pi, "txpid5gha0");
28109 pi->nphy_txpid5gh[1] =
28110 (u8) PHY_GETINTVAR(pi, "txpid5gha1");
28111 pi->nphy_pwrctrl_info[0].max_pwr_5gh =
28112 (s8) PHY_GETINTVAR(pi, "maxp5gha0");
28113 pi->nphy_pwrctrl_info[1].max_pwr_5gh =
28114 (s8) PHY_GETINTVAR(pi, "maxp5gha1");
28115 pi->nphy_pwrctrl_info[0].pwrdet_5gh_a1 =
28116 (s16) PHY_GETINTVAR(pi, "pa5ghw0a0");
28117 pi->nphy_pwrctrl_info[1].pwrdet_5gh_a1 =
28118 (s16) PHY_GETINTVAR(pi, "pa5ghw0a1");
28119 pi->nphy_pwrctrl_info[0].pwrdet_5gh_b0 =
28120 (s16) PHY_GETINTVAR(pi, "pa5ghw1a0");
28121 pi->nphy_pwrctrl_info[1].pwrdet_5gh_b0 =
28122 (s16) PHY_GETINTVAR(pi, "pa5ghw1a1");
28123 pi->nphy_pwrctrl_info[0].pwrdet_5gh_b1 =
28124 (s16) PHY_GETINTVAR(pi, "pa5ghw2a0");
28125 pi->nphy_pwrctrl_info[1].pwrdet_5gh_b1 =
28126 (s16) PHY_GETINTVAR(pi, "pa5ghw2a1");
28127 pi->nphy_pwrctrl_info[0].idle_targ_5gh = 0;
28128 pi->nphy_pwrctrl_info[1].idle_targ_5gh = 0;
28130 pi->ofdm5ghpo = (u32) PHY_GETINTVAR(pi, "ofdm5ghpo");
28133 (u16) PHY_GETINTVAR(pi, "mcs5ghpo0");
28135 (u16) PHY_GETINTVAR(pi, "mcs5ghpo1");
28137 (u16) PHY_GETINTVAR(pi, "mcs5ghpo2");
28139 (u16) PHY_GETINTVAR(pi, "mcs5ghpo3");
28141 (u16) PHY_GETINTVAR(pi, "mcs5ghpo4");
28143 (u16) PHY_GETINTVAR(pi, "mcs5ghpo5");
28145 (u16) PHY_GETINTVAR(pi, "mcs5ghpo6");
28147 (u16) PHY_GETINTVAR(pi, "mcs5ghpo7");
28152 wlc_phy_txpwr_apply_nphy(pi);
28155 static bool wlc_phy_txpwr_srom_read_nphy(phy_info_t *pi)
28158 pi->antswitch = (u8) PHY_GETINTVAR(pi, "antswitch");
28159 pi->aa2g = (u8) PHY_GETINTVAR(pi, "aa2g");
28160 pi->aa5g = (u8) PHY_GETINTVAR(pi, "aa5g");
28162 pi->srom_fem2g.tssipos = (u8) PHY_GETINTVAR(pi, "tssipos2g");
28163 pi->srom_fem2g.extpagain = (u8) PHY_GETINTVAR(pi, "extpagain2g");
28164 pi->srom_fem2g.pdetrange = (u8) PHY_GETINTVAR(pi, "pdetrange2g");
28165 pi->srom_fem2g.triso = (u8) PHY_GETINTVAR(pi, "triso2g");
28166 pi->srom_fem2g.antswctrllut = (u8) PHY_GETINTVAR(pi, "antswctl2g");
28168 pi->srom_fem5g.tssipos = (u8) PHY_GETINTVAR(pi, "tssipos5g");
28169 pi->srom_fem5g.extpagain = (u8) PHY_GETINTVAR(pi, "extpagain5g");
28170 pi->srom_fem5g.pdetrange = (u8) PHY_GETINTVAR(pi, "pdetrange5g");
28171 pi->srom_fem5g.triso = (u8) PHY_GETINTVAR(pi, "triso5g");
28172 if (PHY_GETVAR(pi, "antswctl5g")) {
28174 pi->srom_fem5g.antswctrllut =
28175 (u8) PHY_GETINTVAR(pi, "antswctl5g");
28178 pi->srom_fem5g.antswctrllut =
28179 (u8) PHY_GETINTVAR(pi, "antswctl2g");
28182 wlc_phy_txpower_ipa_upd(pi);
28184 pi->phy_txcore_disable_temp = (s16) PHY_GETINTVAR(pi, "tempthresh");
28185 if (pi->phy_txcore_disable_temp == 0) {
28186 pi->phy_txcore_disable_temp = PHY_CHAIN_TX_DISABLE_TEMP;
28189 pi->phy_tempsense_offset = (s8) PHY_GETINTVAR(pi, "tempoffset");
28190 if (pi->phy_tempsense_offset != 0) {
28191 if (pi->phy_tempsense_offset >
28192 (NPHY_SROM_TEMPSHIFT + NPHY_SROM_MAXTEMPOFFSET)) {
28193 pi->phy_tempsense_offset = NPHY_SROM_MAXTEMPOFFSET;
28194 } else if (pi->phy_tempsense_offset < (NPHY_SROM_TEMPSHIFT +
28195 NPHY_SROM_MINTEMPOFFSET)) {
28196 pi->phy_tempsense_offset = NPHY_SROM_MINTEMPOFFSET;
28198 pi->phy_tempsense_offset -= NPHY_SROM_TEMPSHIFT;
28202 pi->phy_txcore_enable_temp =
28203 pi->phy_txcore_disable_temp - PHY_HYSTERESIS_DELTATEMP;
28205 pi->phycal_tempdelta = (u8) PHY_GETINTVAR(pi, "phycal_tempdelta");
28206 if (pi->phycal_tempdelta > NPHY_CAL_MAXTEMPDELTA) {
28207 pi->phycal_tempdelta = 0;
28210 wlc_phy_txpwr_srom_read_ppr_nphy(pi);
28215 void wlc_phy_txpower_recalc_target_nphy(phy_info_t *pi)
28217 u8 tx_pwr_ctrl_state;
28218 wlc_phy_txpwr_limit_to_tbl_nphy(pi);
28219 wlc_phy_txpwrctrl_pwr_setup_nphy(pi);
28221 tx_pwr_ctrl_state = pi->nphy_txpwrctrl;
28223 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12)) {
28224 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, MCTL_PHYLOCK);
28225 (void)R_REG(pi->sh->osh, &pi->regs->maccontrol);
28229 wlc_phy_txpwrctrl_enable_nphy(pi, tx_pwr_ctrl_state);
28231 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12))
28232 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, 0);
28235 static void wlc_phy_txpwrctrl_coeff_setup_nphy(phy_info_t *pi)
28239 u32 iqcomp, locomp, curr_locomp;
28240 s8 locomp_i, locomp_q;
28241 s8 curr_locomp_i, curr_locomp_q;
28242 u32 tbl_id, tbl_len, tbl_offset;
28245 if (pi->phyhang_avoid)
28246 wlc_phy_stay_in_carriersearch_nphy(pi, true);
28248 wlc_phy_table_read_nphy(pi, 15, 7, 80, 16, iqloCalbuf);
28252 for (tbl_id = NPHY_TBL_ID_CORE1TXPWRCTL;
28253 tbl_id <= NPHY_TBL_ID_CORE2TXPWRCTL; tbl_id++) {
28256 26) ? (((u32) (iqloCalbuf[0] & 0x3ff)) << 10) |
28257 (iqloCalbuf[1] & 0x3ff)
28258 : (((u32) (iqloCalbuf[2] & 0x3ff)) << 10) |
28259 (iqloCalbuf[3] & 0x3ff);
28261 for (idx = 0; idx < tbl_len; idx++) {
28262 regval[idx] = iqcomp;
28264 wlc_phy_table_write_nphy(pi, tbl_id, tbl_len, tbl_offset, 32,
28269 for (tbl_id = NPHY_TBL_ID_CORE1TXPWRCTL;
28270 tbl_id <= NPHY_TBL_ID_CORE2TXPWRCTL; tbl_id++) {
28273 (u32) ((tbl_id == 26) ? iqloCalbuf[5] : iqloCalbuf[6]);
28274 locomp_i = (s8) ((locomp >> 8) & 0xff);
28275 locomp_q = (s8) ((locomp) & 0xff);
28276 for (idx = 0; idx < tbl_len; idx++) {
28277 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28278 curr_locomp_i = locomp_i;
28279 curr_locomp_q = locomp_q;
28281 curr_locomp_i = (s8) ((locomp_i *
28282 nphy_tpc_loscale[idx] +
28285 (s8) ((locomp_q * nphy_tpc_loscale[idx] +
28288 curr_locomp = (u32) ((curr_locomp_i & 0xff) << 8);
28289 curr_locomp |= (u32) (curr_locomp_q & 0xff);
28290 regval[idx] = curr_locomp;
28292 wlc_phy_table_write_nphy(pi, tbl_id, tbl_len, tbl_offset, 32,
28296 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
28298 wlapi_bmac_write_shm(pi->sh->physhim, M_CURR_IDX1, 0xFFFF);
28299 wlapi_bmac_write_shm(pi->sh->physhim, M_CURR_IDX2, 0xFFFF);
28302 if (pi->phyhang_avoid)
28303 wlc_phy_stay_in_carriersearch_nphy(pi, false);
28306 static void wlc_phy_ipa_internal_tssi_setup_nphy(phy_info_t *pi)
28310 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28311 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
28312 if (CHSPEC_IS2G(pi->radio_chanspec)) {
28313 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
28314 TX_SSI_MASTER, 0x5);
28315 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
28318 if (pi->pubpi.radiorev != 5)
28319 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
28322 if (!NREV_IS(pi->pubpi.phy_rev, 7)) {
28324 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
28328 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
28329 core, TSSIG, 0x31);
28332 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
28333 TX_SSI_MASTER, 0x9);
28334 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
28336 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
28339 if (pi->pubpi.radiorev != 5) {
28340 if (!NREV_IS(pi->pubpi.phy_rev, 7)) {
28342 WRITE_RADIO_REG3(pi, RADIO_2057,
28347 WRITE_RADIO_REG3(pi, RADIO_2057,
28353 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, IQCAL_VCM_HG,
28355 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, IQCAL_IDAC,
28357 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_VCM,
28359 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_MISC1,
28363 WRITE_RADIO_SYN(pi, RADIO_2056, RESERVED_ADDR31,
28364 (CHSPEC_IS2G(pi->radio_chanspec)) ? 0x128 :
28366 WRITE_RADIO_SYN(pi, RADIO_2056, RESERVED_ADDR30, 0x0);
28367 WRITE_RADIO_SYN(pi, RADIO_2056, GPIO_MASTER1, 0x29);
28369 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
28370 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, IQCAL_VCM_HG,
28372 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, IQCAL_IDAC,
28374 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TSSI_VCM,
28376 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TX_AMP_DET,
28378 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TSSI_MISC1,
28380 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TSSI_MISC2,
28382 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TSSI_MISC3,
28385 if (CHSPEC_IS2G(pi->radio_chanspec)) {
28386 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28387 TX_SSI_MASTER, 0x5);
28389 if (pi->pubpi.radiorev != 5)
28390 WRITE_RADIO_REG2(pi, RADIO_2056, TX,
28392 if (NREV_GE(pi->pubpi.phy_rev, 5)) {
28394 WRITE_RADIO_REG2(pi, RADIO_2056, TX,
28395 core, TSSIG, 0x31);
28397 WRITE_RADIO_REG2(pi, RADIO_2056, TX,
28398 core, TSSIG, 0x11);
28400 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28403 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28404 TX_SSI_MASTER, 0x9);
28405 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28407 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28409 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28416 static void wlc_phy_txpwrctrl_idle_tssi_nphy(phy_info_t *pi)
28421 if (SCAN_RM_IN_PROGRESS(pi) || PLT_INPROG_PHY(pi) || PHY_MUTED(pi))
28426 wlc_phy_ipa_internal_tssi_setup_nphy(pi);
28429 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28430 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 12),
28432 NPHY_REV7_RFCTRLOVERRIDE_ID0);
28433 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28434 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 13), 0, 3, 0);
28437 wlc_phy_stopplayback_nphy(pi);
28439 wlc_phy_tx_tone_nphy(pi, 4000, 0, 0, 0, false);
28443 wlc_phy_poll_rssi_nphy(pi, (u8) NPHY_RSSI_SEL_TSSI_2G, rssi_buf,
28445 wlc_phy_stopplayback_nphy(pi);
28446 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_OFF, 0);
28448 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28449 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 12),
28451 NPHY_REV7_RFCTRLOVERRIDE_ID0);
28452 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28453 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 13), 0, 3, 1);
28456 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28458 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_tssi_2g =
28459 (u8) ((int_val >> 24) & 0xff);
28460 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_tssi_5g =
28461 (u8) ((int_val >> 24) & 0xff);
28463 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_tssi_2g =
28464 (u8) ((int_val >> 8) & 0xff);
28465 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_tssi_5g =
28466 (u8) ((int_val >> 8) & 0xff);
28468 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_tssi_2g =
28469 (u8) ((int_val >> 24) & 0xff);
28471 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_tssi_2g =
28472 (u8) ((int_val >> 8) & 0xff);
28474 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_tssi_5g =
28475 (u8) ((int_val >> 16) & 0xff);
28476 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_tssi_5g =
28477 (u8) ((int_val) & 0xff);
28482 static void wlc_phy_txpwrctrl_pwr_setup_nphy(phy_info_t *pi)
28485 s16 a1[2], b0[2], b1[2];
28486 s8 target_pwr_qtrdbm[2];
28487 s32 num, den, pwr_est;
28488 u8 chan_freq_range;
28490 u32 tbl_id, tbl_len, tbl_offset;
28494 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12)) {
28495 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, MCTL_PHYLOCK);
28496 (void)R_REG(pi->sh->osh, &pi->regs->maccontrol);
28500 if (pi->phyhang_avoid)
28501 wlc_phy_stay_in_carriersearch_nphy(pi, true);
28503 or_phy_reg(pi, 0x122, (0x1 << 0));
28505 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28506 and_phy_reg(pi, 0x1e7, (u16) (~(0x1 << 15)));
28509 or_phy_reg(pi, 0x1e7, (0x1 << 15));
28512 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12))
28513 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, 0);
28515 if (pi->sh->sromrev < 4) {
28516 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_2g;
28517 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_2g;
28518 target_pwr_qtrdbm[0] = 13 * 4;
28519 target_pwr_qtrdbm[1] = 13 * 4;
28528 chan_freq_range = wlc_phy_get_chan_freq_range_nphy(pi, 0);
28529 switch (chan_freq_range) {
28530 case WL_CHAN_FREQ_RANGE_2G:
28531 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_2g;
28532 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_2g;
28533 target_pwr_qtrdbm[0] =
28534 pi->nphy_pwrctrl_info[0].max_pwr_2g;
28535 target_pwr_qtrdbm[1] =
28536 pi->nphy_pwrctrl_info[1].max_pwr_2g;
28537 a1[0] = pi->nphy_pwrctrl_info[0].pwrdet_2g_a1;
28538 a1[1] = pi->nphy_pwrctrl_info[1].pwrdet_2g_a1;
28539 b0[0] = pi->nphy_pwrctrl_info[0].pwrdet_2g_b0;
28540 b0[1] = pi->nphy_pwrctrl_info[1].pwrdet_2g_b0;
28541 b1[0] = pi->nphy_pwrctrl_info[0].pwrdet_2g_b1;
28542 b1[1] = pi->nphy_pwrctrl_info[1].pwrdet_2g_b1;
28544 case WL_CHAN_FREQ_RANGE_5GL:
28545 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_5g;
28546 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_5g;
28547 target_pwr_qtrdbm[0] =
28548 pi->nphy_pwrctrl_info[0].max_pwr_5gl;
28549 target_pwr_qtrdbm[1] =
28550 pi->nphy_pwrctrl_info[1].max_pwr_5gl;
28551 a1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gl_a1;
28552 a1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gl_a1;
28553 b0[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gl_b0;
28554 b0[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gl_b0;
28555 b1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gl_b1;
28556 b1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gl_b1;
28558 case WL_CHAN_FREQ_RANGE_5GM:
28559 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_5g;
28560 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_5g;
28561 target_pwr_qtrdbm[0] =
28562 pi->nphy_pwrctrl_info[0].max_pwr_5gm;
28563 target_pwr_qtrdbm[1] =
28564 pi->nphy_pwrctrl_info[1].max_pwr_5gm;
28565 a1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gm_a1;
28566 a1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gm_a1;
28567 b0[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gm_b0;
28568 b0[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gm_b0;
28569 b1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gm_b1;
28570 b1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gm_b1;
28572 case WL_CHAN_FREQ_RANGE_5GH:
28573 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_5g;
28574 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_5g;
28575 target_pwr_qtrdbm[0] =
28576 pi->nphy_pwrctrl_info[0].max_pwr_5gh;
28577 target_pwr_qtrdbm[1] =
28578 pi->nphy_pwrctrl_info[1].max_pwr_5gh;
28579 a1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gh_a1;
28580 a1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gh_a1;
28581 b0[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gh_b0;
28582 b0[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gh_b0;
28583 b1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gh_b1;
28584 b1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gh_b1;
28587 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_2g;
28588 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_2g;
28589 target_pwr_qtrdbm[0] = 13 * 4;
28590 target_pwr_qtrdbm[1] = 13 * 4;
28601 target_pwr_qtrdbm[0] = (s8) pi->tx_power_max;
28602 target_pwr_qtrdbm[1] = (s8) pi->tx_power_max;
28604 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28605 if (pi->srom_fem2g.tssipos) {
28606 or_phy_reg(pi, 0x1e9, (0x1 << 14));
28609 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28610 for (core = 0; core <= 1; core++) {
28613 if (CHSPEC_IS2G(pi->radio_chanspec)) {
28614 WRITE_RADIO_REG3(pi, RADIO_2057,
28619 WRITE_RADIO_REG3(pi, RADIO_2057,
28630 write_radio_reg(pi, RADIO_2056_TX_TX_SSI_MUX |
28634 radio_chanspec)) ? 0xc : 0xe);
28635 write_radio_reg(pi,
28636 RADIO_2056_TX_TX_SSI_MUX |
28640 radio_chanspec)) ? 0xc : 0xe);
28643 write_radio_reg(pi, RADIO_2056_TX_TX_SSI_MUX |
28644 RADIO_2056_TX0, 0x11);
28645 write_radio_reg(pi, RADIO_2056_TX_TX_SSI_MUX |
28646 RADIO_2056_TX1, 0x11);
28651 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12)) {
28652 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, MCTL_PHYLOCK);
28653 (void)R_REG(pi->sh->osh, &pi->regs->maccontrol);
28657 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28658 mod_phy_reg(pi, 0x1e7, (0x7f << 0),
28659 (NPHY_TxPwrCtrlCmd_pwrIndex_init_rev7 << 0));
28661 mod_phy_reg(pi, 0x1e7, (0x7f << 0),
28662 (NPHY_TxPwrCtrlCmd_pwrIndex_init << 0));
28665 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28666 mod_phy_reg(pi, 0x222, (0xff << 0),
28667 (NPHY_TxPwrCtrlCmd_pwrIndex_init_rev7 << 0));
28668 } else if (NREV_GT(pi->pubpi.phy_rev, 1)) {
28669 mod_phy_reg(pi, 0x222, (0xff << 0),
28670 (NPHY_TxPwrCtrlCmd_pwrIndex_init << 0));
28673 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12))
28674 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, 0);
28676 write_phy_reg(pi, 0x1e8, (0x3 << 8) | (240 << 0));
28678 write_phy_reg(pi, 0x1e9,
28679 (1 << 15) | (idle_tssi[0] << 0) | (idle_tssi[1] << 8));
28681 write_phy_reg(pi, 0x1ea,
28682 (target_pwr_qtrdbm[0] << 0) |
28683 (target_pwr_qtrdbm[1] << 8));
28687 for (tbl_id = NPHY_TBL_ID_CORE1TXPWRCTL;
28688 tbl_id <= NPHY_TBL_ID_CORE2TXPWRCTL; tbl_id++) {
28690 for (idx = 0; idx < tbl_len; idx++) {
28692 8 * (16 * b0[tbl_id - 26] + b1[tbl_id - 26] * idx);
28693 den = 32768 + a1[tbl_id - 26] * idx;
28694 pwr_est = max(((4 * num + den / 2) / den), -8);
28695 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
28697 (uint) (31 - idle_tssi[tbl_id - 26] + 1))
28700 target_pwr_qtrdbm[tbl_id - 26] +
28703 regval[idx] = (u32) pwr_est;
28705 wlc_phy_table_write_nphy(pi, tbl_id, tbl_len, tbl_offset, 32,
28709 wlc_phy_txpwr_limit_to_tbl_nphy(pi);
28710 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 84, 64, 8,
28711 pi->adj_pwr_tbl_nphy);
28712 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 84, 64, 8,
28713 pi->adj_pwr_tbl_nphy);
28715 if (pi->phyhang_avoid)
28716 wlc_phy_stay_in_carriersearch_nphy(pi, false);
28719 static bool wlc_phy_txpwr_ison_nphy(phy_info_t *pi)
28721 return read_phy_reg((pi), 0x1e7) & ((0x1 << 15) |
28722 (0x1 << 14) | (0x1 << 13));
28725 static u8 wlc_phy_txpwr_idx_cur_get_nphy(phy_info_t *pi, u8 core)
28728 tmp = read_phy_reg(pi, ((core == PHY_CORE_0) ? 0x1ed : 0x1ee));
28730 tmp = (tmp & (0x7f << 8)) >> 8;
28735 wlc_phy_txpwr_idx_cur_set_nphy(phy_info_t *pi, u8 idx0, u8 idx1)
28737 mod_phy_reg(pi, 0x1e7, (0x7f << 0), idx0);
28739 if (NREV_GT(pi->pubpi.phy_rev, 1))
28740 mod_phy_reg(pi, 0x222, (0xff << 0), idx1);
28743 u16 wlc_phy_txpwr_idx_get_nphy(phy_info_t *pi)
28748 if (wlc_phy_txpwr_ison_nphy(pi)) {
28749 pwr_idx[0] = wlc_phy_txpwr_idx_cur_get_nphy(pi, PHY_CORE_0);
28750 pwr_idx[1] = wlc_phy_txpwr_idx_cur_get_nphy(pi, PHY_CORE_1);
28752 tmp = (pwr_idx[0] << 8) | pwr_idx[1];
28755 ((pi->nphy_txpwrindex[PHY_CORE_0].
28756 index_internal & 0xff) << 8) | (pi->
28759 index_internal & 0xff);
28765 void wlc_phy_txpwr_papd_cal_nphy(phy_info_t *pi)
28768 && (pi->nphy_force_papd_cal
28769 || (wlc_phy_txpwr_ison_nphy(pi)
28772 ABS(wlc_phy_txpwr_idx_cur_get_nphy(pi, 0) -
28773 pi->nphy_papd_tx_gain_at_last_cal[0]) >= 4)
28775 ABS(wlc_phy_txpwr_idx_cur_get_nphy(pi, 1) -
28776 pi->nphy_papd_tx_gain_at_last_cal[1]) >= 4))))) {
28777 wlc_phy_a4(pi, true);
28781 void wlc_phy_txpwrctrl_enable_nphy(phy_info_t *pi, u8 ctrl_type)
28783 u16 mask = 0, val = 0, ishw = 0;
28790 if (pi->phyhang_avoid)
28791 wlc_phy_stay_in_carriersearch_nphy(pi, true);
28793 switch (ctrl_type) {
28794 case PHY_TPC_HW_OFF:
28795 case PHY_TPC_HW_ON:
28796 pi->nphy_txpwrctrl = ctrl_type;
28802 if (ctrl_type == PHY_TPC_HW_OFF) {
28803 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28805 if (wlc_phy_txpwr_ison_nphy(pi)) {
28806 for (core = 0; core < pi->pubpi.phy_corenum;
28808 pi->nphy_txpwr_idx[core] =
28809 wlc_phy_txpwr_idx_cur_get_nphy(pi,
28818 for (ctr = 0; ctr < tbl_len; ctr++) {
28821 wlc_phy_table_write_nphy(pi, 26, tbl_len, tbl_offset, 16,
28823 wlc_phy_table_write_nphy(pi, 27, tbl_len, tbl_offset, 16,
28826 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28828 and_phy_reg(pi, 0x1e7,
28829 (u16) (~((0x1 << 15) |
28830 (0x1 << 14) | (0x1 << 13))));
28832 and_phy_reg(pi, 0x1e7,
28833 (u16) (~((0x1 << 14) | (0x1 << 13))));
28836 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28837 or_phy_reg(pi, 0x8f, (0x1 << 8));
28838 or_phy_reg(pi, 0xa5, (0x1 << 8));
28840 or_phy_reg(pi, 0xa5, (0x1 << 14));
28843 if (NREV_IS(pi->pubpi.phy_rev, 2))
28844 mod_phy_reg(pi, 0xdc, 0x00ff, 0x53);
28845 else if (NREV_LT(pi->pubpi.phy_rev, 2))
28846 mod_phy_reg(pi, 0xdc, 0x00ff, 0x5a);
28848 if (NREV_LT(pi->pubpi.phy_rev, 2) && IS40MHZ(pi))
28849 wlapi_bmac_mhf(pi->sh->physhim, MHF1, MHF1_IQSWAP_WAR,
28850 MHF1_IQSWAP_WAR, WLC_BAND_ALL);
28854 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 84, 64,
28855 8, pi->adj_pwr_tbl_nphy);
28856 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 84, 64,
28857 8, pi->adj_pwr_tbl_nphy);
28859 ishw = (ctrl_type == PHY_TPC_HW_ON) ? 0x1 : 0x0;
28860 mask = (0x1 << 14) | (0x1 << 13);
28861 val = (ishw << 14) | (ishw << 13);
28863 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28864 mask |= (0x1 << 15);
28865 val |= (ishw << 15);
28868 mod_phy_reg(pi, 0x1e7, mask, val);
28870 if (CHSPEC_IS5G(pi->radio_chanspec)) {
28871 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28872 mod_phy_reg(pi, 0x1e7, (0x7f << 0), 0x32);
28873 mod_phy_reg(pi, 0x222, (0xff << 0), 0x32);
28875 mod_phy_reg(pi, 0x1e7, (0x7f << 0), 0x64);
28876 if (NREV_GT(pi->pubpi.phy_rev, 1))
28877 mod_phy_reg(pi, 0x222,
28878 (0xff << 0), 0x64);
28882 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28883 if ((pi->nphy_txpwr_idx[0] != 128)
28884 && (pi->nphy_txpwr_idx[1] != 128)) {
28885 wlc_phy_txpwr_idx_cur_set_nphy(pi,
28895 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28896 and_phy_reg(pi, 0x8f, ~(0x1 << 8));
28897 and_phy_reg(pi, 0xa5, ~(0x1 << 8));
28899 and_phy_reg(pi, 0xa5, ~(0x1 << 14));
28902 if (NREV_IS(pi->pubpi.phy_rev, 2))
28903 mod_phy_reg(pi, 0xdc, 0x00ff, 0x3b);
28904 else if (NREV_LT(pi->pubpi.phy_rev, 2))
28905 mod_phy_reg(pi, 0xdc, 0x00ff, 0x40);
28907 if (NREV_LT(pi->pubpi.phy_rev, 2) && IS40MHZ(pi))
28908 wlapi_bmac_mhf(pi->sh->physhim, MHF1, MHF1_IQSWAP_WAR,
28909 0x0, WLC_BAND_ALL);
28912 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x297 :
28913 0x29b, (0x1 << 2), (0) << 2);
28915 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x297 :
28916 0x29b, (0x1 << 2), (0) << 2);
28922 if (pi->phyhang_avoid)
28923 wlc_phy_stay_in_carriersearch_nphy(pi, false);
28927 wlc_phy_txpwr_index_nphy(phy_info_t *pi, u8 core_mask, s8 txpwrindex,
28930 u8 core, txpwrctl_tbl;
28931 u16 tx_ind0, iq_ind0, lo_ind0;
28934 u16 rad_gain, dac_gain;
28937 u16 iqcomp_a, iqcomp_b;
28940 u8 tx_pwr_ctrl_state;
28944 if (pi->phyhang_avoid)
28945 wlc_phy_stay_in_carriersearch_nphy(pi, true);
28951 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
28953 if ((core_mask & (1 << core)) == 0) {
28957 txpwrctl_tbl = (core == PHY_CORE_0) ? 26 : 27;
28959 if (txpwrindex < 0) {
28960 if (pi->nphy_txpwrindex[core].index < 0) {
28965 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28966 mod_phy_reg(pi, 0x8f,
28968 pi->nphy_txpwrindex[core].
28970 mod_phy_reg(pi, 0xa5, (0x1 << 8),
28971 pi->nphy_txpwrindex[core].
28974 mod_phy_reg(pi, 0xa5,
28976 pi->nphy_txpwrindex[core].
28980 write_phy_reg(pi, (core == PHY_CORE_0) ?
28982 pi->nphy_txpwrindex[core].AfeCtrlDacGain);
28984 wlc_phy_table_write_nphy(pi, 7, 1, (0x110 + core), 16,
28985 &pi->nphy_txpwrindex[core].
28988 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m1m2);
28989 m1m2 &= ((core == PHY_CORE_0) ? 0x00ff : 0xff00);
28990 m1m2 |= ((core == PHY_CORE_0) ?
28991 (pi->nphy_txpwrindex[core].bbmult << 8) :
28992 (pi->nphy_txpwrindex[core].bbmult << 0));
28993 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &m1m2);
28995 if (restore_cals) {
28997 wlc_phy_table_write_nphy(pi, 15, 2,
28998 (80 + 2 * core), 16,
29000 nphy_txpwrindex[core].
29003 wlc_phy_table_write_nphy(pi, 15, 1, (85 + core),
29006 nphy_txpwrindex[core].
29008 wlc_phy_table_write_nphy(pi, 15, 1, (93 + core),
29011 nphy_txpwrindex[core].
29015 wlc_phy_txpwrctrl_enable_nphy(pi, pi->nphy_txpwrctrl);
29017 pi->nphy_txpwrindex[core].index_internal =
29018 pi->nphy_txpwrindex[core].index_internal_save;
29021 if (pi->nphy_txpwrindex[core].index < 0) {
29023 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
29024 mod_phy_reg(pi, 0x8f,
29026 pi->nphy_txpwrindex[core].
29028 mod_phy_reg(pi, 0xa5, (0x1 << 8),
29029 pi->nphy_txpwrindex[core].
29032 pi->nphy_txpwrindex[core].
29034 read_phy_reg(pi, 0xa5);
29037 pi->nphy_txpwrindex[core].AfeCtrlDacGain =
29040 PHY_CORE_0) ? 0xaa : 0xab);
29042 wlc_phy_table_read_nphy(pi, 7, 1,
29043 (0x110 + core), 16,
29045 nphy_txpwrindex[core].
29048 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16,
29050 tmpval >>= ((core == PHY_CORE_0) ? 8 : 0);
29052 pi->nphy_txpwrindex[core].bbmult =
29055 wlc_phy_table_read_nphy(pi, 15, 2,
29056 (80 + 2 * core), 16,
29058 nphy_txpwrindex[core].
29061 wlc_phy_table_read_nphy(pi, 15, 1, (85 + core),
29064 nphy_txpwrindex[core].
29067 pi->nphy_txpwrindex[core].index_internal_save =
29068 pi->nphy_txpwrindex[core].index_internal;
29071 tx_pwr_ctrl_state = pi->nphy_txpwrctrl;
29072 wlc_phy_txpwrctrl_enable_nphy(pi, PHY_TPC_HW_OFF);
29074 if (NREV_IS(pi->pubpi.phy_rev, 1))
29075 wlapi_bmac_phyclk_fgc(pi->sh->physhim, ON);
29077 wlc_phy_table_read_nphy(pi, txpwrctl_tbl, 1,
29078 (tx_ind0 + txpwrindex), 32,
29081 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
29083 (txgain >> 16) & ((1 << (32 - 16 + 1)) - 1);
29086 (txgain >> 16) & ((1 << (28 - 16 + 1)) - 1);
29088 dac_gain = (txgain >> 8) & ((1 << (13 - 8 + 1)) - 1);
29089 bbmult = (txgain >> 0) & ((1 << (7 - 0 + 1)) - 1);
29091 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
29092 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0x8f :
29093 0xa5), (0x1 << 8), (0x1 << 8));
29095 mod_phy_reg(pi, 0xa5, (0x1 << 14), (0x1 << 14));
29097 write_phy_reg(pi, (core == PHY_CORE_0) ?
29098 0xaa : 0xab, dac_gain);
29100 wlc_phy_table_write_nphy(pi, 7, 1, (0x110 + core), 16,
29103 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m1m2);
29104 m1m2 &= ((core == PHY_CORE_0) ? 0x00ff : 0xff00);
29107 PHY_CORE_0) ? (bbmult << 8) : (bbmult << 0));
29109 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &m1m2);
29111 wlc_phy_table_read_nphy(pi, txpwrctl_tbl, 1,
29112 (iq_ind0 + txpwrindex), 32,
29114 iqcomp_a = (iqcomp >> 10) & ((1 << (19 - 10 + 1)) - 1);
29115 iqcomp_b = (iqcomp >> 0) & ((1 << (9 - 0 + 1)) - 1);
29117 if (restore_cals) {
29118 regval[0] = (u16) iqcomp_a;
29119 regval[1] = (u16) iqcomp_b;
29120 wlc_phy_table_write_nphy(pi, 15, 2,
29121 (80 + 2 * core), 16,
29125 wlc_phy_table_read_nphy(pi, txpwrctl_tbl, 1,
29126 (lo_ind0 + txpwrindex), 32,
29128 if (restore_cals) {
29129 wlc_phy_table_write_nphy(pi, 15, 1, (85 + core),
29133 if (NREV_IS(pi->pubpi.phy_rev, 1))
29134 wlapi_bmac_phyclk_fgc(pi->sh->physhim, OFF);
29137 wlc_phy_table_read_nphy(pi,
29140 NPHY_TBL_ID_CORE1TXPWRCTL
29142 NPHY_TBL_ID_CORE2TXPWRCTL),
29143 1, 576 + txpwrindex, 32,
29146 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
29147 0x29b, (0x1ff << 4),
29148 ((s16) rfpwr_offset) << 4);
29150 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
29151 0x29b, (0x1 << 2), (1) << 2);
29155 wlc_phy_txpwrctrl_enable_nphy(pi, tx_pwr_ctrl_state);
29158 pi->nphy_txpwrindex[core].index = txpwrindex;
29161 if (pi->phyhang_avoid)
29162 wlc_phy_stay_in_carriersearch_nphy(pi, false);
29166 wlc_phy_txpower_sromlimit_get_nphy(phy_info_t *pi, uint chan, u8 *max_pwr,
29169 u8 chan_freq_range;
29171 chan_freq_range = wlc_phy_get_chan_freq_range_nphy(pi, chan);
29172 switch (chan_freq_range) {
29173 case WL_CHAN_FREQ_RANGE_2G:
29174 *max_pwr = pi->tx_srom_max_rate_2g[txp_rate_idx];
29176 case WL_CHAN_FREQ_RANGE_5GM:
29177 *max_pwr = pi->tx_srom_max_rate_5g_mid[txp_rate_idx];
29179 case WL_CHAN_FREQ_RANGE_5GL:
29180 *max_pwr = pi->tx_srom_max_rate_5g_low[txp_rate_idx];
29182 case WL_CHAN_FREQ_RANGE_5GH:
29183 *max_pwr = pi->tx_srom_max_rate_5g_hi[txp_rate_idx];
29187 *max_pwr = pi->tx_srom_max_rate_2g[txp_rate_idx];
29194 void wlc_phy_stay_in_carriersearch_nphy(phy_info_t *pi, bool enable)
29196 u16 clip_off[] = { 0xffff, 0xffff };
29198 ASSERT(0 == (R_REG(pi->sh->osh, &pi->regs->maccontrol) & MCTL_EN_MAC));
29201 if (pi->nphy_deaf_count == 0) {
29202 pi->classifier_state =
29203 wlc_phy_classifier_nphy(pi, 0, 0);
29204 wlc_phy_classifier_nphy(pi, (0x7 << 0), 4);
29205 wlc_phy_clip_det_nphy(pi, 0, pi->clip_state);
29206 wlc_phy_clip_det_nphy(pi, 1, clip_off);
29209 pi->nphy_deaf_count++;
29211 wlc_phy_resetcca_nphy(pi);
29214 ASSERT(pi->nphy_deaf_count > 0);
29216 pi->nphy_deaf_count--;
29218 if (pi->nphy_deaf_count == 0) {
29219 wlc_phy_classifier_nphy(pi, (0x7 << 0),
29220 pi->classifier_state);
29221 wlc_phy_clip_det_nphy(pi, 1, pi->clip_state);
29226 void wlc_nphy_deaf_mode(phy_info_t *pi, bool mode)
29228 wlapi_suspend_mac_and_wait(pi->sh->physhim);
29231 if (pi->nphy_deaf_count == 0)
29232 wlc_phy_stay_in_carriersearch_nphy(pi, true);
29234 if (pi->nphy_deaf_count > 0)
29235 wlc_phy_stay_in_carriersearch_nphy(pi, false);
29237 wlapi_enable_mac(pi->sh->physhim);