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>
27 #include <bcmendian.h>
33 #include <wlc_phy_radio.h>
34 #include <wlc_phy_int.h>
35 #include <wlc_phyreg_n.h>
36 #include <wlc_phytbl_n.h>
38 #define READ_RADIO_REG2(pi, radio_type, jspace, core, reg_name) \
39 read_radio_reg(pi, radio_type##_##jspace##_##reg_name | \
40 ((core == PHY_CORE_0) ? radio_type##_##jspace##0 : radio_type##_##jspace##1))
41 #define WRITE_RADIO_REG2(pi, radio_type, jspace, core, reg_name, value) \
42 write_radio_reg(pi, radio_type##_##jspace##_##reg_name | \
43 ((core == PHY_CORE_0) ? radio_type##_##jspace##0 : radio_type##_##jspace##1), value);
44 #define WRITE_RADIO_SYN(pi, radio_type, reg_name, value) \
45 write_radio_reg(pi, radio_type##_##SYN##_##reg_name, value);
47 #define READ_RADIO_REG3(pi, radio_type, jspace, core, reg_name) \
48 read_radio_reg(pi, ((core == PHY_CORE_0) ? radio_type##_##jspace##0##_##reg_name : \
49 radio_type##_##jspace##1##_##reg_name));
50 #define WRITE_RADIO_REG3(pi, radio_type, jspace, core, reg_name, value) \
51 write_radio_reg(pi, ((core == PHY_CORE_0) ? radio_type##_##jspace##0##_##reg_name : \
52 radio_type##_##jspace##1##_##reg_name), value);
53 #define READ_RADIO_REG4(pi, radio_type, jspace, core, reg_name) \
54 read_radio_reg(pi, ((core == PHY_CORE_0) ? radio_type##_##reg_name##_##jspace##0 : \
55 radio_type##_##reg_name##_##jspace##1));
56 #define WRITE_RADIO_REG4(pi, radio_type, jspace, core, reg_name, value) \
57 write_radio_reg(pi, ((core == PHY_CORE_0) ? radio_type##_##reg_name##_##jspace##0 : \
58 radio_type##_##reg_name##_##jspace##1), value);
60 #define NPHY_ACI_MAX_UNDETECT_WINDOW_SZ 40
61 #define NPHY_ACI_CHANNEL_DELTA 5
62 #define NPHY_ACI_CHANNEL_SKIP 4
63 #define NPHY_ACI_40MHZ_CHANNEL_DELTA 6
64 #define NPHY_ACI_40MHZ_CHANNEL_SKIP 5
65 #define NPHY_ACI_40MHZ_CHANNEL_DELTA_GE_REV3 6
66 #define NPHY_ACI_40MHZ_CHANNEL_SKIP_GE_REV3 5
67 #define NPHY_ACI_CHANNEL_DELTA_GE_REV3 4
68 #define NPHY_ACI_CHANNEL_SKIP_GE_REV3 3
70 #define NPHY_NOISE_NOASSOC_GLITCH_TH_UP 2
72 #define NPHY_NOISE_NOASSOC_GLITCH_TH_DN 8
74 #define NPHY_NOISE_ASSOC_GLITCH_TH_UP 2
76 #define NPHY_NOISE_ASSOC_GLITCH_TH_DN 8
78 #define NPHY_NOISE_ASSOC_ACI_GLITCH_TH_UP 2
80 #define NPHY_NOISE_ASSOC_ACI_GLITCH_TH_DN 8
82 #define NPHY_NOISE_NOASSOC_ENTER_TH 400
84 #define NPHY_NOISE_ASSOC_ENTER_TH 400
86 #define NPHY_NOISE_ASSOC_RX_GLITCH_BADPLCP_ENTER_TH 400
88 #define NPHY_NOISE_CRSMINPWR_ARRAY_MAX_INDEX 44
89 #define NPHY_NOISE_CRSMINPWR_ARRAY_MAX_INDEX_REV_7 56
91 #define NPHY_NOISE_NOASSOC_CRSIDX_INCR 16
93 #define NPHY_NOISE_ASSOC_CRSIDX_INCR 8
95 #define NPHY_IS_SROM_REINTERPRET NREV_GE(pi->pubpi.phy_rev, 5)
97 #define NPHY_RSSICAL_MAXREAD 31
99 #define NPHY_RSSICAL_NPOLL 8
100 #define NPHY_RSSICAL_MAXD (1<<20)
101 #define NPHY_MIN_RXIQ_PWR 2
103 #define NPHY_RSSICAL_W1_TARGET 25
104 #define NPHY_RSSICAL_W2_TARGET NPHY_RSSICAL_W1_TARGET
105 #define NPHY_RSSICAL_NB_TARGET 0
107 #define NPHY_RSSICAL_W1_TARGET_REV3 29
108 #define NPHY_RSSICAL_W2_TARGET_REV3 NPHY_RSSICAL_W1_TARGET_REV3
110 #define NPHY_CALSANITY_RSSI_NB_MAX_POS 9
111 #define NPHY_CALSANITY_RSSI_NB_MAX_NEG -9
112 #define NPHY_CALSANITY_RSSI_W1_MAX_POS 12
113 #define NPHY_CALSANITY_RSSI_W1_MAX_NEG (NPHY_RSSICAL_W1_TARGET - NPHY_RSSICAL_MAXREAD)
114 #define NPHY_CALSANITY_RSSI_W2_MAX_POS NPHY_CALSANITY_RSSI_W1_MAX_POS
115 #define NPHY_CALSANITY_RSSI_W2_MAX_NEG (NPHY_RSSICAL_W2_TARGET - NPHY_RSSICAL_MAXREAD)
116 #define NPHY_RSSI_SXT(x) ((s8) (-((x) & 0x20) + ((x) & 0x1f)))
117 #define NPHY_RSSI_NB_VIOL(x) (((x) > NPHY_CALSANITY_RSSI_NB_MAX_POS) || \
118 ((x) < NPHY_CALSANITY_RSSI_NB_MAX_NEG))
119 #define NPHY_RSSI_W1_VIOL(x) (((x) > NPHY_CALSANITY_RSSI_W1_MAX_POS) || \
120 ((x) < NPHY_CALSANITY_RSSI_W1_MAX_NEG))
121 #define NPHY_RSSI_W2_VIOL(x) (((x) > NPHY_CALSANITY_RSSI_W2_MAX_POS) || \
122 ((x) < NPHY_CALSANITY_RSSI_W2_MAX_NEG))
124 #define NPHY_IQCAL_NUMGAINS 9
125 #define NPHY_N_GCTL 0x66
127 #define NPHY_PAPD_EPS_TBL_SIZE 64
128 #define NPHY_PAPD_SCL_TBL_SIZE 64
129 #define NPHY_NUM_DIG_FILT_COEFFS 15
131 #define NPHY_PAPD_COMP_OFF 0
132 #define NPHY_PAPD_COMP_ON 1
134 #define NPHY_SROM_TEMPSHIFT 32
135 #define NPHY_SROM_MAXTEMPOFFSET 16
136 #define NPHY_SROM_MINTEMPOFFSET -16
138 #define NPHY_CAL_MAXTEMPDELTA 64
140 #define NPHY_NOISEVAR_TBLLEN40 256
141 #define NPHY_NOISEVAR_TBLLEN20 128
143 #define NPHY_ANARXLPFBW_REDUCTIONFACT 7
145 #define NPHY_ADJUSTED_MINCRSPOWER 0x1e
147 typedef struct _nphy_iqcal_params {
155 } nphy_iqcal_params_t;
157 typedef struct _nphy_txiqcal_ladder {
160 } nphy_txiqcal_ladder_t;
163 nphy_txgains_t gains;
166 } nphy_ipa_txcalgains_t;
168 typedef struct nphy_papd_restore_state_t {
177 } nphy_papd_restore_state;
179 typedef struct _nphy_ipa_txrxgain {
186 } nphy_ipa_txrxgain_t;
188 #define NPHY_IPA_RXCAL_MAXGAININDEX (6 - 1)
190 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_5GHz[] = { {0, 0, 0, 0, 0, 100},
198 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_2GHz[] = { {0, 0, 0, 0, 0, 128},
206 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_5GHz_rev7[] = { {0, 0, 0, 0, 0, 100},
214 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_2GHz_rev7[] = { {0, 0, 0, 0, 0, 10},
222 #define NPHY_RXCAL_TONEAMP 181
223 #define NPHY_RXCAL_TONEFREQ_40MHz 4000
224 #define NPHY_RXCAL_TONEFREQ_20MHz 2000
227 NPHY_RXCAL_GAIN_INIT = 0,
232 #define wlc_phy_get_papd_nphy(pi) \
233 (read_phy_reg((pi), 0x1e7) & \
238 #define TXFILT_SHAPING_OFDM20 0
239 #define TXFILT_SHAPING_OFDM40 1
240 #define TXFILT_SHAPING_CCK 2
241 #define TXFILT_DEFAULT_OFDM20 3
242 #define TXFILT_DEFAULT_OFDM40 4
244 u16 NPHY_IPA_REV4_txdigi_filtcoeffs[][NPHY_NUM_DIG_FILT_COEFFS] = {
245 {-377, 137, -407, 208, -1527, 956, 93, 186, 93,
246 230, -44, 230, 201, -191, 201},
247 {-77, 20, -98, 49, -93, 60, 56, 111, 56, 26, -5,
249 {-360, 164, -376, 164, -1533, 576, 308, -314, 308,
250 121, -73, 121, 91, 124, 91},
251 {-295, 200, -363, 142, -1391, 826, 151, 301, 151,
252 151, 301, 151, 602, -752, 602},
253 {-92, 58, -96, 49, -104, 44, 17, 35, 17,
254 12, 25, 12, 13, 27, 13},
255 {-375, 136, -399, 209, -1479, 949, 130, 260, 130,
256 230, -44, 230, 201, -191, 201},
257 {0xed9, 0xc8, 0xe95, 0x8e, 0xa91, 0x33a, 0x97, 0x12d, 0x97,
258 0x97, 0x12d, 0x97, 0x25a, 0xd10, 0x25a}
261 typedef struct _chan_info_nphy_2055 {
277 u8 RF_core1_lgbuf_a_tune;
278 u8 RF_core1_lgbuf_g_tune;
279 u8 RF_core1_rxrf_reg1;
280 u8 RF_core1_tx_pga_pad_tn;
281 u8 RF_core1_tx_mx_bgtrim;
282 u8 RF_core2_lgbuf_a_tune;
283 u8 RF_core2_lgbuf_g_tune;
284 u8 RF_core2_rxrf_reg1;
285 u8 RF_core2_tx_pga_pad_tn;
286 u8 RF_core2_tx_mx_bgtrim;
293 } chan_info_nphy_2055_t;
295 typedef struct _chan_info_nphy_radio205x {
298 u8 RF_SYN_pll_vcocal1;
299 u8 RF_SYN_pll_vcocal2;
300 u8 RF_SYN_pll_refdiv;
303 u8 RF_SYN_pll_loopfilter1;
304 u8 RF_SYN_pll_loopfilter2;
305 u8 RF_SYN_pll_loopfilter3;
306 u8 RF_SYN_pll_loopfilter4;
307 u8 RF_SYN_pll_loopfilter5;
308 u8 RF_SYN_reserved_addr27;
309 u8 RF_SYN_reserved_addr28;
310 u8 RF_SYN_reserved_addr29;
311 u8 RF_SYN_logen_VCOBUF1;
312 u8 RF_SYN_logen_MIXER2;
313 u8 RF_SYN_logen_BUF3;
314 u8 RF_SYN_logen_BUF4;
317 u8 RF_TX0_intpaa_boost_tune;
318 u8 RF_TX0_intpag_boost_tune;
319 u8 RF_TX0_pada_boost_tune;
320 u8 RF_TX0_padg_boost_tune;
321 u8 RF_TX0_pgaa_boost_tune;
322 u8 RF_TX0_pgag_boost_tune;
323 u8 RF_TX0_mixa_boost_tune;
324 u8 RF_TX0_mixg_boost_tune;
327 u8 RF_TX1_intpaa_boost_tune;
328 u8 RF_TX1_intpag_boost_tune;
329 u8 RF_TX1_pada_boost_tune;
330 u8 RF_TX1_padg_boost_tune;
331 u8 RF_TX1_pgaa_boost_tune;
332 u8 RF_TX1_pgag_boost_tune;
333 u8 RF_TX1_mixa_boost_tune;
334 u8 RF_TX1_mixg_boost_tune;
341 } chan_info_nphy_radio205x_t;
343 typedef struct _chan_info_nphy_radio2057 {
346 u8 RF_vcocal_countval0;
347 u8 RF_vcocal_countval1;
348 u8 RF_rfpll_refmaster_sparextalsize;
349 u8 RF_rfpll_loopfilter_r1;
350 u8 RF_rfpll_loopfilter_c2;
351 u8 RF_rfpll_loopfilter_c1;
356 u8 RF_logen_mx2g_tune;
357 u8 RF_logen_mx5g_tune;
358 u8 RF_logen_indbuf2g_tune;
359 u8 RF_logen_indbuf5g_tune;
360 u8 RF_txmix2g_tune_boost_pu_core0;
361 u8 RF_pad2g_tune_pus_core0;
362 u8 RF_pga_boost_tune_core0;
363 u8 RF_txmix5g_boost_tune_core0;
364 u8 RF_pad5g_tune_misc_pus_core0;
365 u8 RF_lna2g_tune_core0;
366 u8 RF_lna5g_tune_core0;
367 u8 RF_txmix2g_tune_boost_pu_core1;
368 u8 RF_pad2g_tune_pus_core1;
369 u8 RF_pga_boost_tune_core1;
370 u8 RF_txmix5g_boost_tune_core1;
371 u8 RF_pad5g_tune_misc_pus_core1;
372 u8 RF_lna2g_tune_core1;
373 u8 RF_lna5g_tune_core1;
380 } chan_info_nphy_radio2057_t;
382 typedef struct _chan_info_nphy_radio2057_rev5 {
385 u8 RF_vcocal_countval0;
386 u8 RF_vcocal_countval1;
387 u8 RF_rfpll_refmaster_sparextalsize;
388 u8 RF_rfpll_loopfilter_r1;
389 u8 RF_rfpll_loopfilter_c2;
390 u8 RF_rfpll_loopfilter_c1;
395 u8 RF_logen_mx2g_tune;
396 u8 RF_logen_indbuf2g_tune;
397 u8 RF_txmix2g_tune_boost_pu_core0;
398 u8 RF_pad2g_tune_pus_core0;
399 u8 RF_lna2g_tune_core0;
400 u8 RF_txmix2g_tune_boost_pu_core1;
401 u8 RF_pad2g_tune_pus_core1;
402 u8 RF_lna2g_tune_core1;
409 } chan_info_nphy_radio2057_rev5_t;
411 typedef struct nphy_sfo_cfg {
420 static chan_info_nphy_2055_t chan_info_nphy_2055[] = {
422 184, 4920, 3280, 0x71, 0x01, 0xEC, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
423 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
424 0x0F, 0x8F, 0x7B4, 0x7B0, 0x7AC, 0x214, 0x215, 0x216},
426 186, 4930, 3287, 0x71, 0x01, 0xED, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
427 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
428 0x0F, 0x8F, 0x7B8, 0x7B4, 0x7B0, 0x213, 0x214, 0x215},
430 188, 4940, 3293, 0x71, 0x01, 0xEE, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
431 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
432 0x0F, 0x8F, 0x7BC, 0x7B8, 0x7B4, 0x212, 0x213, 0x214},
434 190, 4950, 3300, 0x71, 0x01, 0xEF, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
435 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
436 0x0F, 0x8F, 0x7C0, 0x7BC, 0x7B8, 0x211, 0x212, 0x213},
438 192, 4960, 3307, 0x71, 0x01, 0xF0, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
439 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
440 0x0F, 0x8F, 0x7C4, 0x7C0, 0x7BC, 0x20F, 0x211, 0x212},
442 194, 4970, 3313, 0x71, 0x01, 0xF1, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
443 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
444 0x0F, 0x8F, 0x7C8, 0x7C4, 0x7C0, 0x20E, 0x20F, 0x211},
446 196, 4980, 3320, 0x71, 0x01, 0xF2, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
447 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
448 0x0F, 0x8F, 0x7CC, 0x7C8, 0x7C4, 0x20D, 0x20E, 0x20F},
450 198, 4990, 3327, 0x71, 0x01, 0xF3, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
451 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
452 0x0F, 0x8F, 0x7D0, 0x7CC, 0x7C8, 0x20C, 0x20D, 0x20E},
454 200, 5000, 3333, 0x71, 0x01, 0xF4, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
455 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
456 0x0F, 0x8F, 0x7D4, 0x7D0, 0x7CC, 0x20B, 0x20C, 0x20D},
458 202, 5010, 3340, 0x71, 0x01, 0xF5, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
459 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
460 0x0F, 0x8F, 0x7D8, 0x7D4, 0x7D0, 0x20A, 0x20B, 0x20C},
462 204, 5020, 3347, 0x71, 0x01, 0xF6, 0x0E, 0xF7, 0x01, 0x04, 0x0A,
463 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
464 0x0F, 0x8F, 0x7DC, 0x7D8, 0x7D4, 0x209, 0x20A, 0x20B},
466 206, 5030, 3353, 0x71, 0x01, 0xF7, 0x0E, 0xF7, 0x01, 0x04, 0x0A,
467 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
468 0x0F, 0x8F, 0x7E0, 0x7DC, 0x7D8, 0x208, 0x209, 0x20A},
470 208, 5040, 3360, 0x71, 0x01, 0xF8, 0x0D, 0xEF, 0x01, 0x04, 0x0A,
471 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
472 0x0F, 0x8F, 0x7E4, 0x7E0, 0x7DC, 0x207, 0x208, 0x209},
474 210, 5050, 3367, 0x71, 0x01, 0xF9, 0x0D, 0xEF, 0x01, 0x04, 0x0A,
475 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
476 0x0F, 0x8F, 0x7E8, 0x7E4, 0x7E0, 0x206, 0x207, 0x208},
478 212, 5060, 3373, 0x71, 0x01, 0xFA, 0x0D, 0xE6, 0x01, 0x04, 0x0A,
479 0x00, 0x8F, 0xBB, 0xBB, 0xFF, 0x00, 0x0E, 0x0F, 0x8E, 0xFF, 0x00, 0x0E,
480 0x0F, 0x8E, 0x7EC, 0x7E8, 0x7E4, 0x205, 0x206, 0x207},
482 214, 5070, 3380, 0x71, 0x01, 0xFB, 0x0D, 0xE6, 0x01, 0x04, 0x0A,
483 0x00, 0x8F, 0xBB, 0xBB, 0xFF, 0x00, 0x0E, 0x0F, 0x8E, 0xFF, 0x00, 0x0E,
484 0x0F, 0x8E, 0x7F0, 0x7EC, 0x7E8, 0x204, 0x205, 0x206},
486 216, 5080, 3387, 0x71, 0x01, 0xFC, 0x0D, 0xDE, 0x01, 0x04, 0x0A,
487 0x00, 0x8E, 0xBB, 0xBB, 0xEE, 0x00, 0x0E, 0x0F, 0x8D, 0xEE, 0x00, 0x0E,
488 0x0F, 0x8D, 0x7F4, 0x7F0, 0x7EC, 0x203, 0x204, 0x205},
490 218, 5090, 3393, 0x71, 0x01, 0xFD, 0x0D, 0xDE, 0x01, 0x04, 0x0A,
491 0x00, 0x8E, 0xBB, 0xBB, 0xEE, 0x00, 0x0E, 0x0F, 0x8D, 0xEE, 0x00, 0x0E,
492 0x0F, 0x8D, 0x7F8, 0x7F4, 0x7F0, 0x202, 0x203, 0x204},
494 220, 5100, 3400, 0x71, 0x01, 0xFE, 0x0C, 0xD6, 0x01, 0x04, 0x0A,
495 0x00, 0x8E, 0xAA, 0xAA, 0xEE, 0x00, 0x0D, 0x0F, 0x8D, 0xEE, 0x00, 0x0D,
496 0x0F, 0x8D, 0x7FC, 0x7F8, 0x7F4, 0x201, 0x202, 0x203},
498 222, 5110, 3407, 0x71, 0x01, 0xFF, 0x0C, 0xD6, 0x01, 0x04, 0x0A,
499 0x00, 0x8E, 0xAA, 0xAA, 0xEE, 0x00, 0x0D, 0x0F, 0x8D, 0xEE, 0x00, 0x0D,
500 0x0F, 0x8D, 0x800, 0x7FC, 0x7F8, 0x200, 0x201, 0x202},
502 224, 5120, 3413, 0x71, 0x02, 0x00, 0x0C, 0xCE, 0x01, 0x04, 0x0A,
503 0x00, 0x8D, 0xAA, 0xAA, 0xDD, 0x00, 0x0D, 0x0F, 0x8C, 0xDD, 0x00, 0x0D,
504 0x0F, 0x8C, 0x804, 0x800, 0x7FC, 0x1FF, 0x200, 0x201},
506 226, 5130, 3420, 0x71, 0x02, 0x01, 0x0C, 0xCE, 0x01, 0x04, 0x0A,
507 0x00, 0x8D, 0xAA, 0xAA, 0xDD, 0x00, 0x0D, 0x0F, 0x8C, 0xDD, 0x00, 0x0D,
508 0x0F, 0x8C, 0x808, 0x804, 0x800, 0x1FE, 0x1FF, 0x200},
510 228, 5140, 3427, 0x71, 0x02, 0x02, 0x0C, 0xC6, 0x01, 0x04, 0x0A,
511 0x00, 0x8D, 0x99, 0x99, 0xDD, 0x00, 0x0C, 0x0E, 0x8B, 0xDD, 0x00, 0x0C,
512 0x0E, 0x8B, 0x80C, 0x808, 0x804, 0x1FD, 0x1FE, 0x1FF},
514 32, 5160, 3440, 0x71, 0x02, 0x04, 0x0B, 0xBE, 0x01, 0x04, 0x0A,
515 0x00, 0x8C, 0x99, 0x99, 0xCC, 0x00, 0x0B, 0x0D, 0x8A, 0xCC, 0x00, 0x0B,
516 0x0D, 0x8A, 0x814, 0x810, 0x80C, 0x1FB, 0x1FC, 0x1FD},
518 34, 5170, 3447, 0x71, 0x02, 0x05, 0x0B, 0xBE, 0x01, 0x04, 0x0A,
519 0x00, 0x8C, 0x99, 0x99, 0xCC, 0x00, 0x0B, 0x0D, 0x8A, 0xCC, 0x00, 0x0B,
520 0x0D, 0x8A, 0x818, 0x814, 0x810, 0x1FA, 0x1FB, 0x1FC},
522 36, 5180, 3453, 0x71, 0x02, 0x06, 0x0B, 0xB6, 0x01, 0x04, 0x0A,
523 0x00, 0x8C, 0x88, 0x88, 0xCC, 0x00, 0x0B, 0x0C, 0x89, 0xCC, 0x00, 0x0B,
524 0x0C, 0x89, 0x81C, 0x818, 0x814, 0x1F9, 0x1FA, 0x1FB},
526 38, 5190, 3460, 0x71, 0x02, 0x07, 0x0B, 0xB6, 0x01, 0x04, 0x0A,
527 0x00, 0x8C, 0x88, 0x88, 0xCC, 0x00, 0x0B, 0x0C, 0x89, 0xCC, 0x00, 0x0B,
528 0x0C, 0x89, 0x820, 0x81C, 0x818, 0x1F8, 0x1F9, 0x1FA},
530 40, 5200, 3467, 0x71, 0x02, 0x08, 0x0B, 0xAF, 0x01, 0x04, 0x0A,
531 0x00, 0x8B, 0x88, 0x88, 0xBB, 0x00, 0x0A, 0x0B, 0x89, 0xBB, 0x00, 0x0A,
532 0x0B, 0x89, 0x824, 0x820, 0x81C, 0x1F7, 0x1F8, 0x1F9},
534 42, 5210, 3473, 0x71, 0x02, 0x09, 0x0B, 0xAF, 0x01, 0x04, 0x0A,
535 0x00, 0x8B, 0x88, 0x88, 0xBB, 0x00, 0x0A, 0x0B, 0x89, 0xBB, 0x00, 0x0A,
536 0x0B, 0x89, 0x828, 0x824, 0x820, 0x1F6, 0x1F7, 0x1F8},
538 44, 5220, 3480, 0x71, 0x02, 0x0A, 0x0A, 0xA7, 0x01, 0x04, 0x0A,
539 0x00, 0x8B, 0x77, 0x77, 0xBB, 0x00, 0x09, 0x0A, 0x88, 0xBB, 0x00, 0x09,
540 0x0A, 0x88, 0x82C, 0x828, 0x824, 0x1F5, 0x1F6, 0x1F7},
542 46, 5230, 3487, 0x71, 0x02, 0x0B, 0x0A, 0xA7, 0x01, 0x04, 0x0A,
543 0x00, 0x8B, 0x77, 0x77, 0xBB, 0x00, 0x09, 0x0A, 0x88, 0xBB, 0x00, 0x09,
544 0x0A, 0x88, 0x830, 0x82C, 0x828, 0x1F4, 0x1F5, 0x1F6},
546 48, 5240, 3493, 0x71, 0x02, 0x0C, 0x0A, 0xA0, 0x01, 0x04, 0x0A,
547 0x00, 0x8A, 0x77, 0x77, 0xAA, 0x00, 0x09, 0x0A, 0x87, 0xAA, 0x00, 0x09,
548 0x0A, 0x87, 0x834, 0x830, 0x82C, 0x1F3, 0x1F4, 0x1F5},
550 50, 5250, 3500, 0x71, 0x02, 0x0D, 0x0A, 0xA0, 0x01, 0x04, 0x0A,
551 0x00, 0x8A, 0x77, 0x77, 0xAA, 0x00, 0x09, 0x0A, 0x87, 0xAA, 0x00, 0x09,
552 0x0A, 0x87, 0x838, 0x834, 0x830, 0x1F2, 0x1F3, 0x1F4},
554 52, 5260, 3507, 0x71, 0x02, 0x0E, 0x0A, 0x98, 0x01, 0x04, 0x0A,
555 0x00, 0x8A, 0x66, 0x66, 0xAA, 0x00, 0x08, 0x09, 0x87, 0xAA, 0x00, 0x08,
556 0x09, 0x87, 0x83C, 0x838, 0x834, 0x1F1, 0x1F2, 0x1F3},
558 54, 5270, 3513, 0x71, 0x02, 0x0F, 0x0A, 0x98, 0x01, 0x04, 0x0A,
559 0x00, 0x8A, 0x66, 0x66, 0xAA, 0x00, 0x08, 0x09, 0x87, 0xAA, 0x00, 0x08,
560 0x09, 0x87, 0x840, 0x83C, 0x838, 0x1F0, 0x1F1, 0x1F2},
562 56, 5280, 3520, 0x71, 0x02, 0x10, 0x09, 0x91, 0x01, 0x04, 0x0A,
563 0x00, 0x89, 0x66, 0x66, 0x99, 0x00, 0x08, 0x08, 0x86, 0x99, 0x00, 0x08,
564 0x08, 0x86, 0x844, 0x840, 0x83C, 0x1F0, 0x1F0, 0x1F1},
566 58, 5290, 3527, 0x71, 0x02, 0x11, 0x09, 0x91, 0x01, 0x04, 0x0A,
567 0x00, 0x89, 0x66, 0x66, 0x99, 0x00, 0x08, 0x08, 0x86, 0x99, 0x00, 0x08,
568 0x08, 0x86, 0x848, 0x844, 0x840, 0x1EF, 0x1F0, 0x1F0},
570 60, 5300, 3533, 0x71, 0x02, 0x12, 0x09, 0x8A, 0x01, 0x04, 0x0A,
571 0x00, 0x89, 0x55, 0x55, 0x99, 0x00, 0x08, 0x07, 0x85, 0x99, 0x00, 0x08,
572 0x07, 0x85, 0x84C, 0x848, 0x844, 0x1EE, 0x1EF, 0x1F0},
574 62, 5310, 3540, 0x71, 0x02, 0x13, 0x09, 0x8A, 0x01, 0x04, 0x0A,
575 0x00, 0x89, 0x55, 0x55, 0x99, 0x00, 0x08, 0x07, 0x85, 0x99, 0x00, 0x08,
576 0x07, 0x85, 0x850, 0x84C, 0x848, 0x1ED, 0x1EE, 0x1EF},
578 64, 5320, 3547, 0x71, 0x02, 0x14, 0x09, 0x83, 0x01, 0x04, 0x0A,
579 0x00, 0x88, 0x55, 0x55, 0x88, 0x00, 0x07, 0x07, 0x84, 0x88, 0x00, 0x07,
580 0x07, 0x84, 0x854, 0x850, 0x84C, 0x1EC, 0x1ED, 0x1EE},
582 66, 5330, 3553, 0x71, 0x02, 0x15, 0x09, 0x83, 0x01, 0x04, 0x0A,
583 0x00, 0x88, 0x55, 0x55, 0x88, 0x00, 0x07, 0x07, 0x84, 0x88, 0x00, 0x07,
584 0x07, 0x84, 0x858, 0x854, 0x850, 0x1EB, 0x1EC, 0x1ED},
586 68, 5340, 3560, 0x71, 0x02, 0x16, 0x08, 0x7C, 0x01, 0x04, 0x0A,
587 0x00, 0x88, 0x44, 0x44, 0x88, 0x00, 0x07, 0x06, 0x84, 0x88, 0x00, 0x07,
588 0x06, 0x84, 0x85C, 0x858, 0x854, 0x1EA, 0x1EB, 0x1EC},
590 70, 5350, 3567, 0x71, 0x02, 0x17, 0x08, 0x7C, 0x01, 0x04, 0x0A,
591 0x00, 0x88, 0x44, 0x44, 0x88, 0x00, 0x07, 0x06, 0x84, 0x88, 0x00, 0x07,
592 0x06, 0x84, 0x860, 0x85C, 0x858, 0x1E9, 0x1EA, 0x1EB},
594 72, 5360, 3573, 0x71, 0x02, 0x18, 0x08, 0x75, 0x01, 0x04, 0x0A,
595 0x00, 0x87, 0x44, 0x44, 0x77, 0x00, 0x06, 0x05, 0x83, 0x77, 0x00, 0x06,
596 0x05, 0x83, 0x864, 0x860, 0x85C, 0x1E8, 0x1E9, 0x1EA},
598 74, 5370, 3580, 0x71, 0x02, 0x19, 0x08, 0x75, 0x01, 0x04, 0x0A,
599 0x00, 0x87, 0x44, 0x44, 0x77, 0x00, 0x06, 0x05, 0x83, 0x77, 0x00, 0x06,
600 0x05, 0x83, 0x868, 0x864, 0x860, 0x1E7, 0x1E8, 0x1E9},
602 76, 5380, 3587, 0x71, 0x02, 0x1A, 0x08, 0x6E, 0x01, 0x04, 0x0A,
603 0x00, 0x87, 0x33, 0x33, 0x77, 0x00, 0x06, 0x04, 0x82, 0x77, 0x00, 0x06,
604 0x04, 0x82, 0x86C, 0x868, 0x864, 0x1E6, 0x1E7, 0x1E8},
606 78, 5390, 3593, 0x71, 0x02, 0x1B, 0x08, 0x6E, 0x01, 0x04, 0x0A,
607 0x00, 0x87, 0x33, 0x33, 0x77, 0x00, 0x06, 0x04, 0x82, 0x77, 0x00, 0x06,
608 0x04, 0x82, 0x870, 0x86C, 0x868, 0x1E5, 0x1E6, 0x1E7},
610 80, 5400, 3600, 0x71, 0x02, 0x1C, 0x07, 0x67, 0x01, 0x04, 0x0A,
611 0x00, 0x86, 0x33, 0x33, 0x66, 0x00, 0x05, 0x04, 0x81, 0x66, 0x00, 0x05,
612 0x04, 0x81, 0x874, 0x870, 0x86C, 0x1E5, 0x1E5, 0x1E6},
614 82, 5410, 3607, 0x71, 0x02, 0x1D, 0x07, 0x67, 0x01, 0x04, 0x0A,
615 0x00, 0x86, 0x33, 0x33, 0x66, 0x00, 0x05, 0x04, 0x81, 0x66, 0x00, 0x05,
616 0x04, 0x81, 0x878, 0x874, 0x870, 0x1E4, 0x1E5, 0x1E5},
618 84, 5420, 3613, 0x71, 0x02, 0x1E, 0x07, 0x61, 0x01, 0x04, 0x0A,
619 0x00, 0x86, 0x22, 0x22, 0x66, 0x00, 0x05, 0x03, 0x80, 0x66, 0x00, 0x05,
620 0x03, 0x80, 0x87C, 0x878, 0x874, 0x1E3, 0x1E4, 0x1E5},
622 86, 5430, 3620, 0x71, 0x02, 0x1F, 0x07, 0x61, 0x01, 0x04, 0x0A,
623 0x00, 0x86, 0x22, 0x22, 0x66, 0x00, 0x05, 0x03, 0x80, 0x66, 0x00, 0x05,
624 0x03, 0x80, 0x880, 0x87C, 0x878, 0x1E2, 0x1E3, 0x1E4},
626 88, 5440, 3627, 0x71, 0x02, 0x20, 0x07, 0x5A, 0x01, 0x04, 0x0A,
627 0x00, 0x85, 0x22, 0x22, 0x55, 0x00, 0x04, 0x02, 0x80, 0x55, 0x00, 0x04,
628 0x02, 0x80, 0x884, 0x880, 0x87C, 0x1E1, 0x1E2, 0x1E3},
630 90, 5450, 3633, 0x71, 0x02, 0x21, 0x07, 0x5A, 0x01, 0x04, 0x0A,
631 0x00, 0x85, 0x22, 0x22, 0x55, 0x00, 0x04, 0x02, 0x80, 0x55, 0x00, 0x04,
632 0x02, 0x80, 0x888, 0x884, 0x880, 0x1E0, 0x1E1, 0x1E2},
634 92, 5460, 3640, 0x71, 0x02, 0x22, 0x06, 0x53, 0x01, 0x04, 0x0A,
635 0x00, 0x85, 0x11, 0x11, 0x55, 0x00, 0x04, 0x01, 0x80, 0x55, 0x00, 0x04,
636 0x01, 0x80, 0x88C, 0x888, 0x884, 0x1DF, 0x1E0, 0x1E1},
638 94, 5470, 3647, 0x71, 0x02, 0x23, 0x06, 0x53, 0x01, 0x04, 0x0A,
639 0x00, 0x85, 0x11, 0x11, 0x55, 0x00, 0x04, 0x01, 0x80, 0x55, 0x00, 0x04,
640 0x01, 0x80, 0x890, 0x88C, 0x888, 0x1DE, 0x1DF, 0x1E0},
642 96, 5480, 3653, 0x71, 0x02, 0x24, 0x06, 0x4D, 0x01, 0x04, 0x0A,
643 0x00, 0x84, 0x11, 0x11, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
644 0x00, 0x80, 0x894, 0x890, 0x88C, 0x1DD, 0x1DE, 0x1DF},
646 98, 5490, 3660, 0x71, 0x02, 0x25, 0x06, 0x4D, 0x01, 0x04, 0x0A,
647 0x00, 0x84, 0x11, 0x11, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
648 0x00, 0x80, 0x898, 0x894, 0x890, 0x1DD, 0x1DD, 0x1DE},
650 100, 5500, 3667, 0x71, 0x02, 0x26, 0x06, 0x47, 0x01, 0x04, 0x0A,
651 0x00, 0x84, 0x00, 0x00, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
652 0x00, 0x80, 0x89C, 0x898, 0x894, 0x1DC, 0x1DD, 0x1DD},
654 102, 5510, 3673, 0x71, 0x02, 0x27, 0x06, 0x47, 0x01, 0x04, 0x0A,
655 0x00, 0x84, 0x00, 0x00, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
656 0x00, 0x80, 0x8A0, 0x89C, 0x898, 0x1DB, 0x1DC, 0x1DD},
658 104, 5520, 3680, 0x71, 0x02, 0x28, 0x05, 0x40, 0x01, 0x04, 0x0A,
659 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
660 0x00, 0x80, 0x8A4, 0x8A0, 0x89C, 0x1DA, 0x1DB, 0x1DC},
662 106, 5530, 3687, 0x71, 0x02, 0x29, 0x05, 0x40, 0x01, 0x04, 0x0A,
663 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
664 0x00, 0x80, 0x8A8, 0x8A4, 0x8A0, 0x1D9, 0x1DA, 0x1DB},
666 108, 5540, 3693, 0x71, 0x02, 0x2A, 0x05, 0x3A, 0x01, 0x04, 0x0A,
667 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
668 0x00, 0x80, 0x8AC, 0x8A8, 0x8A4, 0x1D8, 0x1D9, 0x1DA},
670 110, 5550, 3700, 0x71, 0x02, 0x2B, 0x05, 0x3A, 0x01, 0x04, 0x0A,
671 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
672 0x00, 0x80, 0x8B0, 0x8AC, 0x8A8, 0x1D7, 0x1D8, 0x1D9},
674 112, 5560, 3707, 0x71, 0x02, 0x2C, 0x05, 0x34, 0x01, 0x04, 0x0A,
675 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
676 0x00, 0x80, 0x8B4, 0x8B0, 0x8AC, 0x1D7, 0x1D7, 0x1D8},
678 114, 5570, 3713, 0x71, 0x02, 0x2D, 0x05, 0x34, 0x01, 0x04, 0x0A,
679 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
680 0x00, 0x80, 0x8B8, 0x8B4, 0x8B0, 0x1D6, 0x1D7, 0x1D7},
682 116, 5580, 3720, 0x71, 0x02, 0x2E, 0x04, 0x2E, 0x01, 0x04, 0x0A,
683 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
684 0x00, 0x80, 0x8BC, 0x8B8, 0x8B4, 0x1D5, 0x1D6, 0x1D7},
686 118, 5590, 3727, 0x71, 0x02, 0x2F, 0x04, 0x2E, 0x01, 0x04, 0x0A,
687 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
688 0x00, 0x80, 0x8C0, 0x8BC, 0x8B8, 0x1D4, 0x1D5, 0x1D6},
690 120, 5600, 3733, 0x71, 0x02, 0x30, 0x04, 0x28, 0x01, 0x04, 0x0A,
691 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, 0x80, 0x11, 0x00, 0x01,
692 0x00, 0x80, 0x8C4, 0x8C0, 0x8BC, 0x1D3, 0x1D4, 0x1D5},
694 122, 5610, 3740, 0x71, 0x02, 0x31, 0x04, 0x28, 0x01, 0x04, 0x0A,
695 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, 0x80, 0x11, 0x00, 0x01,
696 0x00, 0x80, 0x8C8, 0x8C4, 0x8C0, 0x1D2, 0x1D3, 0x1D4},
698 124, 5620, 3747, 0x71, 0x02, 0x32, 0x04, 0x21, 0x01, 0x04, 0x0A,
699 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x80, 0x11, 0x00, 0x00,
700 0x00, 0x80, 0x8CC, 0x8C8, 0x8C4, 0x1D2, 0x1D2, 0x1D3},
702 126, 5630, 3753, 0x71, 0x02, 0x33, 0x04, 0x21, 0x01, 0x04, 0x0A,
703 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x80, 0x11, 0x00, 0x00,
704 0x00, 0x80, 0x8D0, 0x8CC, 0x8C8, 0x1D1, 0x1D2, 0x1D2},
706 128, 5640, 3760, 0x71, 0x02, 0x34, 0x03, 0x1C, 0x01, 0x04, 0x0A,
707 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
708 0x00, 0x80, 0x8D4, 0x8D0, 0x8CC, 0x1D0, 0x1D1, 0x1D2},
710 130, 5650, 3767, 0x71, 0x02, 0x35, 0x03, 0x1C, 0x01, 0x04, 0x0A,
711 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
712 0x00, 0x80, 0x8D8, 0x8D4, 0x8D0, 0x1CF, 0x1D0, 0x1D1},
714 132, 5660, 3773, 0x71, 0x02, 0x36, 0x03, 0x16, 0x01, 0x04, 0x0A,
715 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
716 0x00, 0x80, 0x8DC, 0x8D8, 0x8D4, 0x1CE, 0x1CF, 0x1D0},
718 134, 5670, 3780, 0x71, 0x02, 0x37, 0x03, 0x16, 0x01, 0x04, 0x0A,
719 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
720 0x00, 0x80, 0x8E0, 0x8DC, 0x8D8, 0x1CE, 0x1CE, 0x1CF},
722 136, 5680, 3787, 0x71, 0x02, 0x38, 0x03, 0x10, 0x01, 0x04, 0x0A,
723 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
724 0x00, 0x80, 0x8E4, 0x8E0, 0x8DC, 0x1CD, 0x1CE, 0x1CE},
726 138, 5690, 3793, 0x71, 0x02, 0x39, 0x03, 0x10, 0x01, 0x04, 0x0A,
727 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
728 0x00, 0x80, 0x8E8, 0x8E4, 0x8E0, 0x1CC, 0x1CD, 0x1CE},
730 140, 5700, 3800, 0x71, 0x02, 0x3A, 0x02, 0x0A, 0x01, 0x04, 0x0A,
731 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
732 0x00, 0x80, 0x8EC, 0x8E8, 0x8E4, 0x1CB, 0x1CC, 0x1CD},
734 142, 5710, 3807, 0x71, 0x02, 0x3B, 0x02, 0x0A, 0x01, 0x04, 0x0A,
735 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
736 0x00, 0x80, 0x8F0, 0x8EC, 0x8E8, 0x1CA, 0x1CB, 0x1CC},
738 144, 5720, 3813, 0x71, 0x02, 0x3C, 0x02, 0x0A, 0x01, 0x04, 0x0A,
739 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
740 0x00, 0x80, 0x8F4, 0x8F0, 0x8EC, 0x1C9, 0x1CA, 0x1CB},
742 145, 5725, 3817, 0x72, 0x04, 0x79, 0x02, 0x03, 0x01, 0x03, 0x14,
743 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
744 0x00, 0x80, 0x8F6, 0x8F2, 0x8EE, 0x1C9, 0x1CA, 0x1CB},
746 146, 5730, 3820, 0x71, 0x02, 0x3D, 0x02, 0x0A, 0x01, 0x04, 0x0A,
747 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
748 0x00, 0x80, 0x8F8, 0x8F4, 0x8F0, 0x1C9, 0x1C9, 0x1CA},
750 147, 5735, 3823, 0x72, 0x04, 0x7B, 0x02, 0x03, 0x01, 0x03, 0x14,
751 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
752 0x00, 0x80, 0x8FA, 0x8F6, 0x8F2, 0x1C8, 0x1C9, 0x1CA},
754 148, 5740, 3827, 0x71, 0x02, 0x3E, 0x02, 0x0A, 0x01, 0x04, 0x0A,
755 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
756 0x00, 0x80, 0x8FC, 0x8F8, 0x8F4, 0x1C8, 0x1C9, 0x1C9},
758 149, 5745, 3830, 0x72, 0x04, 0x7D, 0x02, 0xFE, 0x00, 0x03, 0x14,
759 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
760 0x00, 0x80, 0x8FE, 0x8FA, 0x8F6, 0x1C8, 0x1C8, 0x1C9},
762 150, 5750, 3833, 0x71, 0x02, 0x3F, 0x02, 0x0A, 0x01, 0x04, 0x0A,
763 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
764 0x00, 0x80, 0x900, 0x8FC, 0x8F8, 0x1C7, 0x1C8, 0x1C9},
766 151, 5755, 3837, 0x72, 0x04, 0x7F, 0x02, 0xFE, 0x00, 0x03, 0x14,
767 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
768 0x00, 0x80, 0x902, 0x8FE, 0x8FA, 0x1C7, 0x1C8, 0x1C8},
770 152, 5760, 3840, 0x71, 0x02, 0x40, 0x02, 0x0A, 0x01, 0x04, 0x0A,
771 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
772 0x00, 0x80, 0x904, 0x900, 0x8FC, 0x1C6, 0x1C7, 0x1C8},
774 153, 5765, 3843, 0x72, 0x04, 0x81, 0x02, 0xF8, 0x00, 0x03, 0x14,
775 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
776 0x00, 0x80, 0x906, 0x902, 0x8FE, 0x1C6, 0x1C7, 0x1C8},
778 154, 5770, 3847, 0x71, 0x02, 0x41, 0x02, 0x0A, 0x01, 0x04, 0x0A,
779 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
780 0x00, 0x80, 0x908, 0x904, 0x900, 0x1C6, 0x1C6, 0x1C7},
782 155, 5775, 3850, 0x72, 0x04, 0x83, 0x02, 0xF8, 0x00, 0x03, 0x14,
783 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
784 0x00, 0x80, 0x90A, 0x906, 0x902, 0x1C5, 0x1C6, 0x1C7},
786 156, 5780, 3853, 0x71, 0x02, 0x42, 0x02, 0x0A, 0x01, 0x04, 0x0A,
787 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
788 0x00, 0x80, 0x90C, 0x908, 0x904, 0x1C5, 0x1C6, 0x1C6},
790 157, 5785, 3857, 0x72, 0x04, 0x85, 0x02, 0xF2, 0x00, 0x03, 0x14,
791 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
792 0x00, 0x80, 0x90E, 0x90A, 0x906, 0x1C4, 0x1C5, 0x1C6},
794 158, 5790, 3860, 0x71, 0x02, 0x43, 0x02, 0x0A, 0x01, 0x04, 0x0A,
795 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
796 0x00, 0x80, 0x910, 0x90C, 0x908, 0x1C4, 0x1C5, 0x1C6},
798 159, 5795, 3863, 0x72, 0x04, 0x87, 0x02, 0xF2, 0x00, 0x03, 0x14,
799 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
800 0x00, 0x80, 0x912, 0x90E, 0x90A, 0x1C4, 0x1C4, 0x1C5},
802 160, 5800, 3867, 0x71, 0x02, 0x44, 0x01, 0x0A, 0x01, 0x04, 0x0A,
803 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
804 0x00, 0x80, 0x914, 0x910, 0x90C, 0x1C3, 0x1C4, 0x1C5},
806 161, 5805, 3870, 0x72, 0x04, 0x89, 0x01, 0xED, 0x00, 0x03, 0x14,
807 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
808 0x00, 0x80, 0x916, 0x912, 0x90E, 0x1C3, 0x1C4, 0x1C4},
810 162, 5810, 3873, 0x71, 0x02, 0x45, 0x01, 0x0A, 0x01, 0x04, 0x0A,
811 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
812 0x00, 0x80, 0x918, 0x914, 0x910, 0x1C2, 0x1C3, 0x1C4},
814 163, 5815, 3877, 0x72, 0x04, 0x8B, 0x01, 0xED, 0x00, 0x03, 0x14,
815 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
816 0x00, 0x80, 0x91A, 0x916, 0x912, 0x1C2, 0x1C3, 0x1C4},
818 164, 5820, 3880, 0x71, 0x02, 0x46, 0x01, 0x0A, 0x01, 0x04, 0x0A,
819 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
820 0x00, 0x80, 0x91C, 0x918, 0x914, 0x1C2, 0x1C2, 0x1C3},
822 165, 5825, 3883, 0x72, 0x04, 0x8D, 0x01, 0xED, 0x00, 0x03, 0x14,
823 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
824 0x00, 0x80, 0x91E, 0x91A, 0x916, 0x1C1, 0x1C2, 0x1C3},
826 166, 5830, 3887, 0x71, 0x02, 0x47, 0x01, 0x0A, 0x01, 0x04, 0x0A,
827 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
828 0x00, 0x80, 0x920, 0x91C, 0x918, 0x1C1, 0x1C2, 0x1C2},
830 168, 5840, 3893, 0x71, 0x02, 0x48, 0x01, 0x0A, 0x01, 0x04, 0x0A,
831 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
832 0x00, 0x80, 0x924, 0x920, 0x91C, 0x1C0, 0x1C1, 0x1C2},
834 170, 5850, 3900, 0x71, 0x02, 0x49, 0x01, 0xE0, 0x00, 0x04, 0x0A,
835 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
836 0x00, 0x80, 0x928, 0x924, 0x920, 0x1BF, 0x1C0, 0x1C1},
838 172, 5860, 3907, 0x71, 0x02, 0x4A, 0x01, 0xDE, 0x00, 0x04, 0x0A,
839 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
840 0x00, 0x80, 0x92C, 0x928, 0x924, 0x1BF, 0x1BF, 0x1C0},
842 174, 5870, 3913, 0x71, 0x02, 0x4B, 0x00, 0xDB, 0x00, 0x04, 0x0A,
843 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
844 0x00, 0x80, 0x930, 0x92C, 0x928, 0x1BE, 0x1BF, 0x1BF},
846 176, 5880, 3920, 0x71, 0x02, 0x4C, 0x00, 0xD8, 0x00, 0x04, 0x0A,
847 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
848 0x00, 0x80, 0x934, 0x930, 0x92C, 0x1BD, 0x1BE, 0x1BF},
850 178, 5890, 3927, 0x71, 0x02, 0x4D, 0x00, 0xD6, 0x00, 0x04, 0x0A,
851 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
852 0x00, 0x80, 0x938, 0x934, 0x930, 0x1BC, 0x1BD, 0x1BE},
854 180, 5900, 3933, 0x71, 0x02, 0x4E, 0x00, 0xD3, 0x00, 0x04, 0x0A,
855 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
856 0x00, 0x80, 0x93C, 0x938, 0x934, 0x1BC, 0x1BC, 0x1BD},
858 182, 5910, 3940, 0x71, 0x02, 0x4F, 0x00, 0xD6, 0x00, 0x04, 0x0A,
859 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
860 0x00, 0x80, 0x940, 0x93C, 0x938, 0x1BB, 0x1BC, 0x1BC},
862 1, 2412, 3216, 0x73, 0x09, 0x6C, 0x0F, 0x00, 0x01, 0x07, 0x15,
863 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0D, 0x0C, 0x80, 0xFF, 0x88, 0x0D,
864 0x0C, 0x80, 0x3C9, 0x3C5, 0x3C1, 0x43A, 0x43F, 0x443},
866 2, 2417, 3223, 0x73, 0x09, 0x71, 0x0F, 0x00, 0x01, 0x07, 0x15,
867 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0B, 0x80, 0xFF, 0x88, 0x0C,
868 0x0B, 0x80, 0x3CB, 0x3C7, 0x3C3, 0x438, 0x43D, 0x441},
870 3, 2422, 3229, 0x73, 0x09, 0x76, 0x0F, 0x00, 0x01, 0x07, 0x15,
871 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0A, 0x80, 0xFF, 0x88, 0x0C,
872 0x0A, 0x80, 0x3CD, 0x3C9, 0x3C5, 0x436, 0x43A, 0x43F},
874 4, 2427, 3236, 0x73, 0x09, 0x7B, 0x0F, 0x00, 0x01, 0x07, 0x15,
875 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0A, 0x80, 0xFF, 0x88, 0x0C,
876 0x0A, 0x80, 0x3CF, 0x3CB, 0x3C7, 0x434, 0x438, 0x43D},
878 5, 2432, 3243, 0x73, 0x09, 0x80, 0x0F, 0x00, 0x01, 0x07, 0x15,
879 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x09, 0x80, 0xFF, 0x88, 0x0C,
880 0x09, 0x80, 0x3D1, 0x3CD, 0x3C9, 0x431, 0x436, 0x43A},
882 6, 2437, 3249, 0x73, 0x09, 0x85, 0x0F, 0x00, 0x01, 0x07, 0x15,
883 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0B, 0x08, 0x80, 0xFF, 0x88, 0x0B,
884 0x08, 0x80, 0x3D3, 0x3CF, 0x3CB, 0x42F, 0x434, 0x438},
886 7, 2442, 3256, 0x73, 0x09, 0x8A, 0x0F, 0x00, 0x01, 0x07, 0x15,
887 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0A, 0x07, 0x80, 0xFF, 0x88, 0x0A,
888 0x07, 0x80, 0x3D5, 0x3D1, 0x3CD, 0x42D, 0x431, 0x436},
890 8, 2447, 3263, 0x73, 0x09, 0x8F, 0x0F, 0x00, 0x01, 0x07, 0x15,
891 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0A, 0x06, 0x80, 0xFF, 0x88, 0x0A,
892 0x06, 0x80, 0x3D7, 0x3D3, 0x3CF, 0x42B, 0x42F, 0x434},
894 9, 2452, 3269, 0x73, 0x09, 0x94, 0x0F, 0x00, 0x01, 0x07, 0x15,
895 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x09, 0x06, 0x80, 0xFF, 0x88, 0x09,
896 0x06, 0x80, 0x3D9, 0x3D5, 0x3D1, 0x429, 0x42D, 0x431},
898 10, 2457, 3276, 0x73, 0x09, 0x99, 0x0F, 0x00, 0x01, 0x07, 0x15,
899 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x05, 0x80, 0xFF, 0x88, 0x08,
900 0x05, 0x80, 0x3DB, 0x3D7, 0x3D3, 0x427, 0x42B, 0x42F},
902 11, 2462, 3283, 0x73, 0x09, 0x9E, 0x0F, 0x00, 0x01, 0x07, 0x15,
903 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x04, 0x80, 0xFF, 0x88, 0x08,
904 0x04, 0x80, 0x3DD, 0x3D9, 0x3D5, 0x424, 0x429, 0x42D},
906 12, 2467, 3289, 0x73, 0x09, 0xA3, 0x0F, 0x00, 0x01, 0x07, 0x15,
907 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x03, 0x80, 0xFF, 0x88, 0x08,
908 0x03, 0x80, 0x3DF, 0x3DB, 0x3D7, 0x422, 0x427, 0x42B},
910 13, 2472, 3296, 0x73, 0x09, 0xA8, 0x0F, 0x00, 0x01, 0x07, 0x15,
911 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x07, 0x03, 0x80, 0xFF, 0x88, 0x07,
912 0x03, 0x80, 0x3E1, 0x3DD, 0x3D9, 0x420, 0x424, 0x429},
914 14, 2484, 3312, 0x73, 0x09, 0xB4, 0x0F, 0xFF, 0x01, 0x07, 0x15,
915 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x07, 0x01, 0x80, 0xFF, 0x88, 0x07,
916 0x01, 0x80, 0x3E6, 0x3E2, 0x3DE, 0x41B, 0x41F, 0x424}
919 static chan_info_nphy_radio205x_t chan_info_nphyrev3_2056[] = {
921 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
922 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
923 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
924 0x00, 0xff, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
926 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
927 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
928 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
929 0x00, 0xff, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
931 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
932 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
933 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
934 0x00, 0xff, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
936 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
937 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
938 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
939 0x00, 0xff, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
941 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
942 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
943 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
944 0x00, 0xff, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
946 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
947 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
948 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
949 0x00, 0xff, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
951 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
952 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
953 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
954 0x00, 0xff, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
956 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
957 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
958 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
959 0x00, 0xff, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
961 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
962 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
963 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
964 0x00, 0xff, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
966 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
967 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
968 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
969 0x00, 0xff, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
971 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
972 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
973 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
974 0x00, 0xff, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
976 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
977 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
978 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
979 0x00, 0xff, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
981 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
982 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
983 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
984 0x00, 0xff, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
986 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
987 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
988 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
989 0x00, 0xff, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
991 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
992 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
993 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
994 0x00, 0xff, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
996 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
997 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
998 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
999 0x00, 0xff, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
1001 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
1002 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1003 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1004 0x00, 0xff, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
1006 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
1007 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1008 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1009 0x00, 0xff, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
1011 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
1012 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1013 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1014 0x00, 0xff, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
1016 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
1017 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1018 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1019 0x00, 0xfc, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
1021 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
1022 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1023 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1024 0x00, 0xfc, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
1026 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
1027 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1028 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1029 0x00, 0xfc, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
1031 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
1032 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1033 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1034 0x00, 0xfc, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
1036 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
1037 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1038 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1039 0x00, 0xfc, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
1041 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
1042 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1043 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1044 0x00, 0xfc, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
1046 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
1047 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x07, 0x00, 0x7f,
1048 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1049 0x00, 0xfc, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
1051 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
1052 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x07, 0x00, 0x7f,
1053 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1054 0x00, 0xfc, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
1056 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
1057 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x06, 0x00, 0x7f,
1058 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1059 0x00, 0xfc, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
1061 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
1062 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x06, 0x00, 0x7f,
1063 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1064 0x00, 0xfc, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
1066 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1067 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x06, 0x00, 0x7f,
1068 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1069 0x00, 0xfc, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
1071 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1072 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x06, 0x00, 0x7f,
1073 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1074 0x00, 0xfc, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
1076 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1077 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1078 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1079 0x00, 0xfc, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
1081 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1082 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1083 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1084 0x00, 0xfc, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
1086 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1087 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1088 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1089 0x00, 0xfc, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
1091 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1092 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1093 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1094 0x00, 0xfc, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
1096 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
1097 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x06, 0x00, 0x7f,
1098 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1099 0x00, 0xfc, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
1101 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
1102 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x06, 0x00, 0x7f,
1103 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1104 0x00, 0xfc, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
1106 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
1107 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x05, 0x00, 0x7f,
1108 0x00, 0x09, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1109 0x00, 0xfc, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
1111 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
1112 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x05, 0x00, 0x7f,
1113 0x00, 0x09, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1114 0x00, 0xfa, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
1116 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
1117 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x05, 0x00, 0x7f,
1118 0x00, 0x09, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1119 0x00, 0xfa, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
1121 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
1122 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x05, 0x00, 0x7f,
1123 0x00, 0x09, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1124 0x00, 0xfa, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
1126 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
1127 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x05, 0x00, 0x7f,
1128 0x00, 0x09, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1129 0x00, 0xfa, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
1131 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
1132 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1133 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1134 0x00, 0xfa, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
1136 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
1137 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1138 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1139 0x00, 0xfa, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
1141 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
1142 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1143 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1144 0x00, 0xfa, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
1146 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1147 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1148 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1149 0x00, 0xfa, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
1151 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1152 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x8f, 0x00, 0x05, 0x00, 0x7f,
1153 0x00, 0x09, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1154 0x00, 0xfa, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
1156 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1157 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x04, 0x00, 0x7f,
1158 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1159 0x00, 0xfa, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
1161 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1162 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x04, 0x00, 0x7f,
1163 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1164 0x00, 0xfa, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
1166 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1167 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x04, 0x00, 0x7f,
1168 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8e, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1169 0x00, 0xfa, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
1171 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1172 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x04, 0x00, 0x7f,
1173 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8e, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1174 0x00, 0xfa, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
1176 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
1177 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7e, 0x00, 0x04, 0x00, 0x7f,
1178 0x00, 0x08, 0x00, 0xfa, 0x00, 0x7e, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1179 0x00, 0xfa, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
1181 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
1182 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7d, 0x00, 0x04, 0x00, 0x7f,
1183 0x00, 0x08, 0x00, 0xfa, 0x00, 0x7d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1184 0x00, 0xfa, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
1186 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
1187 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x04, 0x00, 0x7f,
1188 0x00, 0x08, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1189 0x00, 0xf8, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
1191 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
1192 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x04, 0x00, 0x7f,
1193 0x00, 0x08, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1194 0x00, 0xf8, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
1196 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
1197 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5d, 0x00, 0x04, 0x00, 0x7f,
1198 0x00, 0x08, 0x00, 0xf8, 0x00, 0x5d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1199 0x00, 0xf8, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
1201 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
1202 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5c, 0x00, 0x04, 0x00, 0x7f,
1203 0x00, 0x08, 0x00, 0xf8, 0x00, 0x5c, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1204 0x00, 0xf8, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
1206 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
1207 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x5c, 0x00, 0x03, 0x00, 0x7f,
1208 0x00, 0x07, 0x00, 0xf8, 0x00, 0x5c, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1209 0x00, 0xf8, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
1211 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
1212 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x03, 0x00, 0x7f,
1213 0x00, 0x07, 0x00, 0xf8, 0x00, 0x4c, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1214 0x00, 0xf8, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
1216 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
1217 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x03, 0x00, 0x7f,
1218 0x00, 0x07, 0x00, 0xf8, 0x00, 0x4c, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1219 0x00, 0xf8, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
1221 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
1222 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x03, 0x00, 0x7f,
1223 0x00, 0x07, 0x00, 0xf8, 0x00, 0x3b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1224 0x00, 0xf8, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
1226 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1227 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x03, 0x00, 0x7f,
1228 0x00, 0x07, 0x00, 0xf8, 0x00, 0x3b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1229 0x00, 0xf8, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
1231 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1232 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x03, 0x00, 0x7f,
1233 0x00, 0x07, 0x00, 0xf8, 0x00, 0x3b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1234 0x00, 0xf8, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
1236 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1237 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2b, 0x00, 0x03, 0x00, 0x7f,
1238 0x00, 0x07, 0x00, 0xf8, 0x00, 0x2b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1239 0x00, 0xf8, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
1241 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1242 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2a, 0x00, 0x03, 0x00, 0x7f,
1243 0x00, 0x07, 0x00, 0xf8, 0x00, 0x2a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1244 0x00, 0xf8, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
1246 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1247 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x03, 0x00, 0x7f,
1248 0x00, 0x07, 0x00, 0xf8, 0x00, 0x1a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1249 0x00, 0xf8, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
1251 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1252 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x03, 0x00, 0x7f,
1253 0x00, 0x07, 0x00, 0xf8, 0x00, 0x1a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1254 0x00, 0xf8, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
1256 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
1257 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x1a, 0x00, 0x03, 0x00, 0x7f,
1258 0x00, 0x07, 0x00, 0xf8, 0x00, 0x1a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1259 0x00, 0xf8, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
1261 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
1262 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x03, 0x00, 0x7f,
1263 0x00, 0x07, 0x00, 0xf8, 0x00, 0x19, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1264 0x00, 0xf8, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
1266 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
1267 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x03, 0x00, 0x7f,
1268 0x00, 0x07, 0x00, 0xf8, 0x00, 0x19, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1269 0x00, 0xf8, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
1271 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
1272 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x03, 0x00, 0x7f,
1273 0x00, 0x07, 0x00, 0xf8, 0x00, 0x09, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1274 0x00, 0xf8, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
1276 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
1277 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x03, 0x00, 0x7f,
1278 0x00, 0x07, 0x00, 0xf8, 0x00, 0x09, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1279 0x00, 0xf8, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
1281 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
1282 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1283 0x00, 0x07, 0x00, 0xf8, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1284 0x00, 0xf8, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
1286 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
1287 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1288 0x00, 0x07, 0x00, 0xf6, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1289 0x00, 0xf6, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
1291 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
1292 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1293 0x00, 0x07, 0x00, 0xf6, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1294 0x00, 0xf6, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
1296 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
1297 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1298 0x00, 0x07, 0x00, 0xf6, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1299 0x00, 0xf6, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
1301 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
1302 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x07, 0x00, 0x03, 0x00, 0x7f,
1303 0x00, 0x07, 0x00, 0xf6, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1304 0x00, 0xf6, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
1306 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1307 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x02, 0x00, 0x7f,
1308 0x00, 0x06, 0x00, 0xf6, 0x00, 0x07, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1309 0x00, 0xf6, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
1311 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1312 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x02, 0x00, 0x7f,
1313 0x00, 0x06, 0x00, 0xf4, 0x00, 0x07, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1314 0x00, 0xf4, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
1316 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1317 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x02, 0x00, 0x7f,
1318 0x00, 0x06, 0x00, 0xf4, 0x00, 0x07, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1319 0x00, 0xf4, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
1321 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
1322 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1323 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1324 0x00, 0xf4, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
1326 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1327 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1328 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1329 0x00, 0xf4, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
1331 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
1332 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1333 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1334 0x00, 0xf4, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
1336 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1337 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1338 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1339 0x00, 0xf4, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
1341 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
1342 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1343 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1344 0x00, 0xf4, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
1346 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1347 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1348 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1349 0x00, 0xf4, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
1351 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
1352 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1353 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1354 0x00, 0xf4, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
1356 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
1357 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1358 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1359 0x00, 0xf4, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
1361 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
1362 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1363 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1364 0x00, 0xf4, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
1366 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
1367 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1368 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1369 0x00, 0xf4, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
1371 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
1372 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1373 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1374 0x00, 0xf4, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
1376 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
1377 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1378 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1379 0x00, 0xf4, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
1381 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
1382 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x02, 0x00, 0x7f,
1383 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1384 0x00, 0xf4, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
1386 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
1387 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x02, 0x00, 0x7f,
1388 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1389 0x00, 0xf4, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
1391 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
1392 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x02, 0x00, 0x7f,
1393 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1394 0x00, 0xf4, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
1396 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
1397 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1398 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1399 0x00, 0xf4, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
1401 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
1402 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1403 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1404 0x00, 0xf4, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
1406 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
1407 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1408 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1409 0x00, 0xf4, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
1411 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
1412 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1413 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1414 0x00, 0xf4, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
1416 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
1417 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1418 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1419 0x00, 0xf4, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
1421 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
1422 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1423 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1424 0x00, 0xf4, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
1426 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
1427 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1428 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1429 0x00, 0xf4, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
1431 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
1432 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1433 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1434 0x00, 0xf4, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
1436 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
1437 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1438 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1439 0x00, 0xf4, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
1441 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1442 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1443 0x00, 0x06, 0x00, 0xf2, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1444 0x00, 0xf2, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
1446 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1447 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x7f,
1448 0x00, 0x06, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1449 0x00, 0xf2, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
1451 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1452 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x7f,
1453 0x00, 0x06, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1454 0x00, 0xf2, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
1456 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1457 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x7f,
1458 0x00, 0x06, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1459 0x00, 0xf2, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
1461 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1462 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f,
1463 0x00, 0x05, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x05,
1464 0x00, 0xf2, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
1466 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1467 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f,
1468 0x00, 0x05, 0x00, 0xf2, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x05,
1469 0x00, 0xf2, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
1471 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
1472 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x05, 0x00,
1473 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xff, 0x00, 0x05, 0x00, 0x70, 0x00,
1474 0x0f, 0x00, 0x0f, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
1476 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
1477 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x05, 0x00,
1478 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xff, 0x00, 0x05, 0x00, 0x70, 0x00,
1479 0x0f, 0x00, 0x0f, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
1481 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
1482 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x05, 0x00,
1483 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xff, 0x00, 0x05, 0x00, 0x70, 0x00,
1484 0x0f, 0x00, 0x0f, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
1486 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
1487 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x05, 0x00,
1488 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xfd, 0x00, 0x05, 0x00, 0x70, 0x00,
1489 0x0f, 0x00, 0x0f, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
1491 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
1492 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfb, 0x00, 0x05, 0x00,
1493 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xfb, 0x00, 0x05, 0x00, 0x70, 0x00,
1494 0x0f, 0x00, 0x0f, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
1496 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
1497 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x05, 0x00,
1498 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x05, 0x00, 0x70, 0x00,
1499 0x0f, 0x00, 0x0f, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
1501 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
1502 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x05, 0x00,
1503 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x05, 0x00, 0x70, 0x00,
1504 0x0f, 0x00, 0x0f, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
1506 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
1507 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x05, 0x00,
1508 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xf7, 0x00, 0x05, 0x00, 0x70, 0x00,
1509 0x0f, 0x00, 0x0f, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
1511 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
1512 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf6, 0x00, 0x05, 0x00,
1513 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xf6, 0x00, 0x05, 0x00, 0x70, 0x00,
1514 0x0f, 0x00, 0x0f, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
1516 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
1517 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x05, 0x00,
1518 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf5, 0x00, 0x05, 0x00, 0x70, 0x00,
1519 0x0f, 0x00, 0x0d, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
1521 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
1522 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x05, 0x00,
1523 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x70, 0x00,
1524 0x0f, 0x00, 0x0d, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
1526 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
1527 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf3, 0x00, 0x05, 0x00,
1528 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf3, 0x00, 0x05, 0x00, 0x70, 0x00,
1529 0x0f, 0x00, 0x0d, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
1531 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
1532 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x05, 0x00,
1533 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x70, 0x00,
1534 0x0f, 0x00, 0x0d, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
1536 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
1537 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x05, 0x00,
1538 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf0, 0x00, 0x05, 0x00, 0x70, 0x00,
1539 0x0f, 0x00, 0x0d, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
1542 static chan_info_nphy_radio205x_t chan_info_nphyrev4_2056_A1[] = {
1544 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
1545 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1546 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1547 0x00, 0xff, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
1549 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
1550 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1551 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1552 0x00, 0xff, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
1554 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
1555 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1556 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1557 0x00, 0xff, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
1559 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
1560 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1561 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1562 0x00, 0xff, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
1564 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
1565 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1566 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1567 0x00, 0xff, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
1569 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
1570 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1571 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1572 0x00, 0xff, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
1574 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
1575 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1576 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1577 0x00, 0xff, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
1579 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
1580 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1581 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1582 0x00, 0xff, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
1584 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
1585 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1586 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1587 0x00, 0xff, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
1589 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
1590 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1591 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1592 0x00, 0xff, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
1594 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
1595 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1596 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1597 0x00, 0xff, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
1599 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
1600 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1601 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1602 0x00, 0xff, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
1604 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
1605 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1606 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1607 0x00, 0xff, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
1609 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
1610 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1611 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1612 0x00, 0xff, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
1614 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
1615 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1616 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1617 0x00, 0xff, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
1619 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
1620 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1621 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1622 0x00, 0xff, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
1624 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
1625 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1626 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1627 0x00, 0xff, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
1629 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
1630 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1631 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1632 0x00, 0xff, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
1634 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
1635 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1636 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1637 0x00, 0xfe, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
1639 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
1640 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1641 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1642 0x00, 0xfe, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
1644 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
1645 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1646 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1647 0x00, 0xfe, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
1649 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
1650 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1651 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1652 0x00, 0xfe, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
1654 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
1655 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1656 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1657 0x00, 0xfe, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
1659 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
1660 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1661 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1662 0x00, 0xfe, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
1664 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
1665 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1666 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1667 0x00, 0xfe, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
1669 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
1670 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x0c, 0x00, 0x7f,
1671 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xef, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1672 0x00, 0xfe, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
1674 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
1675 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x0c, 0x00, 0x7f,
1676 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xef, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1677 0x00, 0xfe, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
1679 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
1680 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x0a, 0x00, 0x7f,
1681 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1682 0x00, 0xfc, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
1684 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
1685 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x0a, 0x00, 0x7f,
1686 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1687 0x00, 0xfc, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
1689 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1690 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x0a, 0x00, 0x7f,
1691 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1692 0x00, 0xfc, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
1694 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1695 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x0a, 0x00, 0x7f,
1696 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1697 0x00, 0xfc, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
1699 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1700 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1701 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1702 0x00, 0xfc, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
1704 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1705 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1706 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1707 0x00, 0xfc, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
1709 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1710 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1711 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1712 0x00, 0xfc, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
1714 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1715 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1716 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1717 0x00, 0xfc, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
1719 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
1720 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x0a, 0x00, 0x7f,
1721 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1722 0x00, 0xfc, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
1724 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
1725 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x0a, 0x00, 0x7f,
1726 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1727 0x00, 0xfc, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
1729 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
1730 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x08, 0x00, 0x7f,
1731 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1732 0x00, 0xfa, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
1734 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
1735 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x08, 0x00, 0x7f,
1736 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1737 0x00, 0xfa, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
1739 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
1740 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x08, 0x00, 0x7f,
1741 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1742 0x00, 0xfa, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
1744 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
1745 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x08, 0x00, 0x7f,
1746 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1747 0x00, 0xfa, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
1749 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
1750 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x08, 0x00, 0x7f,
1751 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1752 0x00, 0xfa, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
1754 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
1755 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1756 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1757 0x00, 0xfa, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
1759 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
1760 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1761 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1762 0x00, 0xfa, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
1764 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
1765 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1766 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1767 0x00, 0xfa, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
1769 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1770 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1771 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1772 0x00, 0xfa, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
1774 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1775 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x8f, 0x00, 0x08, 0x00, 0x7f,
1776 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1777 0x00, 0xfa, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
1779 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1780 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x07, 0x00, 0x7f,
1781 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8f, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1782 0x00, 0xf8, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
1784 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1785 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x07, 0x00, 0x7f,
1786 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8f, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1787 0x00, 0xf8, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
1789 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1790 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x07, 0x00, 0x7f,
1791 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8e, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1792 0x00, 0xf8, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
1794 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1795 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x07, 0x00, 0x7f,
1796 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8e, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1797 0x00, 0xf8, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
1799 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
1800 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7e, 0x00, 0x07, 0x00, 0x7f,
1801 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x7e, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1802 0x00, 0xf8, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
1804 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
1805 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7d, 0x00, 0x07, 0x00, 0x7f,
1806 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x7d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1807 0x00, 0xf8, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
1809 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
1810 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x07, 0x00, 0x7f,
1811 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1812 0x00, 0xf8, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
1814 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
1815 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x07, 0x00, 0x7f,
1816 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1817 0x00, 0xf8, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
1819 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
1820 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5d, 0x00, 0x07, 0x00, 0x7f,
1821 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x5d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1822 0x00, 0xf8, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
1824 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
1825 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5c, 0x00, 0x07, 0x00, 0x7f,
1826 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x5c, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1827 0x00, 0xf8, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
1829 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
1830 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x5c, 0x00, 0x06, 0x00, 0x7f,
1831 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x5c, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1832 0x00, 0xf6, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
1834 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
1835 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x06, 0x00, 0x7f,
1836 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x4c, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1837 0x00, 0xf6, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
1839 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
1840 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x06, 0x00, 0x7f,
1841 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x4c, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1842 0x00, 0xf6, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
1844 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
1845 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x06, 0x00, 0x7f,
1846 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x3b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1847 0x00, 0xf6, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
1849 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1850 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x06, 0x00, 0x7f,
1851 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x3b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1852 0x00, 0xf6, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
1854 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1855 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x06, 0x00, 0x7f,
1856 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x3b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1857 0x00, 0xf6, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
1859 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1860 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2b, 0x00, 0x06, 0x00, 0x7f,
1861 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x2b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1862 0x00, 0xf6, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
1864 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1865 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2a, 0x00, 0x06, 0x00, 0x7f,
1866 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x2a, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1867 0x00, 0xf6, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
1869 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1870 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x06, 0x00, 0x7f,
1871 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x1a, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1872 0x00, 0xf6, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
1874 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1875 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x06, 0x00, 0x7f,
1876 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x1a, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1877 0x00, 0xf6, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
1879 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
1880 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x1a, 0x00, 0x04, 0x00, 0x7f,
1881 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x1a, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1882 0x00, 0xf4, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
1884 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
1885 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x04, 0x00, 0x7f,
1886 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x19, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1887 0x00, 0xf4, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
1889 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
1890 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x04, 0x00, 0x7f,
1891 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x19, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1892 0x00, 0xf4, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
1894 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
1895 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x04, 0x00, 0x7f,
1896 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x09, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1897 0x00, 0xf4, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
1899 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
1900 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x04, 0x00, 0x7f,
1901 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x09, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1902 0x00, 0xf4, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
1904 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
1905 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1906 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1907 0x00, 0xf4, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
1909 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
1910 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1911 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1912 0x00, 0xf4, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
1914 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
1915 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1916 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1917 0x00, 0xf4, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
1919 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
1920 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1921 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1922 0x00, 0xf4, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
1924 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
1925 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x07, 0x00, 0x04, 0x00, 0x7f,
1926 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x07, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1927 0x00, 0xf4, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
1929 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1930 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x03, 0x00, 0x7f,
1931 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1932 0x00, 0xf2, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
1934 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1935 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x03, 0x00, 0x7f,
1936 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1937 0x00, 0xf2, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
1939 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1940 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x03, 0x00, 0x7f,
1941 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1942 0x00, 0xf2, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
1944 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
1945 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1946 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1947 0x00, 0xf2, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
1949 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1950 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1951 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1952 0x00, 0xf2, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
1954 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
1955 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1956 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1957 0x00, 0xf2, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
1959 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1960 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1961 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1962 0x00, 0xf2, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
1964 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
1965 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1966 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1967 0x00, 0xf2, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
1969 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1970 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1971 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1972 0x00, 0xf2, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
1974 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
1975 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1976 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1977 0x00, 0xf2, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
1979 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
1980 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1981 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1982 0x00, 0xf2, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
1984 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
1985 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1986 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1987 0x00, 0xf2, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
1989 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
1990 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1991 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1992 0x00, 0xf2, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
1994 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
1995 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1996 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1997 0x00, 0xf2, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
1999 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
2000 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
2001 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2002 0x00, 0xf2, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
2004 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
2005 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x03, 0x00, 0x7f,
2006 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2007 0x00, 0xf2, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
2009 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
2010 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x03, 0x00, 0x7f,
2011 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2012 0x00, 0xf2, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
2014 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
2015 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x03, 0x00, 0x7f,
2016 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2017 0x00, 0xf2, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
2019 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
2020 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2021 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2022 0x00, 0xf0, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
2024 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
2025 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2026 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2027 0x00, 0xf0, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
2029 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
2030 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2031 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2032 0x00, 0xf0, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
2034 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
2035 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2036 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2037 0x00, 0xf0, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
2039 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
2040 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2041 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2042 0x00, 0xf0, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
2044 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
2045 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2046 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2047 0x00, 0xf0, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
2049 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
2050 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2051 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2052 0x00, 0xf0, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
2054 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
2055 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2056 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2057 0x00, 0xf0, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
2059 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
2060 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2061 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2062 0x00, 0xf0, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
2064 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2065 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2066 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2067 0x00, 0xf0, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
2069 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2070 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x02, 0x00, 0x7f,
2071 0x00, 0x09, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2072 0x00, 0xf0, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
2074 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2075 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x02, 0x00, 0x7f,
2076 0x00, 0x09, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2077 0x00, 0xf0, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
2079 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2080 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x02, 0x00, 0x7f,
2081 0x00, 0x09, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2082 0x00, 0xf0, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
2084 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2085 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f,
2086 0x00, 0x07, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x07,
2087 0x00, 0xf0, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
2089 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2090 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f,
2091 0x00, 0x07, 0x00, 0xf0, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x07,
2092 0x00, 0xf0, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
2094 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
2095 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x04, 0x00,
2096 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xff, 0x00, 0x04, 0x00, 0x70, 0x00,
2097 0x0f, 0x00, 0x0e, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
2099 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
2100 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x04, 0x00,
2101 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xff, 0x00, 0x04, 0x00, 0x70, 0x00,
2102 0x0f, 0x00, 0x0e, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
2104 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
2105 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x04, 0x00,
2106 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xff, 0x00, 0x04, 0x00, 0x70, 0x00,
2107 0x0f, 0x00, 0x0e, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
2109 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
2110 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x04, 0x00,
2111 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xfd, 0x00, 0x04, 0x00, 0x70, 0x00,
2112 0x0f, 0x00, 0x0e, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
2114 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
2115 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfb, 0x00, 0x04, 0x00,
2116 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xfb, 0x00, 0x04, 0x00, 0x70, 0x00,
2117 0x0f, 0x00, 0x0e, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
2119 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
2120 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00,
2121 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xfa, 0x00, 0x04, 0x00, 0x70, 0x00,
2122 0x0f, 0x00, 0x0e, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
2124 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
2125 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x04, 0x00,
2126 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf8, 0x00, 0x04, 0x00, 0x70, 0x00,
2127 0x0f, 0x00, 0x0e, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
2129 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
2130 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x04, 0x00,
2131 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf7, 0x00, 0x04, 0x00, 0x70, 0x00,
2132 0x0f, 0x00, 0x0e, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
2134 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
2135 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf6, 0x00, 0x04, 0x00,
2136 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf6, 0x00, 0x04, 0x00, 0x70, 0x00,
2137 0x0f, 0x00, 0x0e, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
2139 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
2140 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x04, 0x00,
2141 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf5, 0x00, 0x04, 0x00, 0x70, 0x00,
2142 0x0f, 0x00, 0x0e, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
2144 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
2145 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x04, 0x00,
2146 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x70, 0x00,
2147 0x0f, 0x00, 0x0e, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
2149 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
2150 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf3, 0x00, 0x04, 0x00,
2151 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf3, 0x00, 0x04, 0x00, 0x70, 0x00,
2152 0x0f, 0x00, 0x0e, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
2154 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
2155 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x04, 0x00,
2156 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x70, 0x00,
2157 0x0f, 0x00, 0x0e, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
2159 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
2160 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x04, 0x00,
2161 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x70, 0x00,
2162 0x0f, 0x00, 0x0e, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
2165 static chan_info_nphy_radio205x_t chan_info_nphyrev5_2056v5[] = {
2167 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
2168 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2169 0x00, 0x0f, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0f,
2170 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
2172 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
2173 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2174 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
2175 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
2177 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
2178 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2179 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
2180 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
2182 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
2183 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2184 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
2185 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
2187 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
2188 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2189 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0e,
2190 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
2192 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
2193 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2194 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2195 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
2197 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
2198 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2199 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2200 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
2202 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
2203 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2204 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2205 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
2207 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
2208 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2209 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2210 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
2212 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
2213 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2214 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2215 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
2217 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
2218 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
2219 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0d,
2220 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
2222 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
2223 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
2224 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2225 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
2227 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
2228 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
2229 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2230 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
2232 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
2233 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
2234 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2235 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
2237 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
2238 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x70,
2239 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2240 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
2242 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
2243 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x70,
2244 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2245 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
2247 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
2248 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2249 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2250 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
2252 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
2253 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2254 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2255 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
2257 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
2258 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2259 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2260 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
2262 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
2263 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2264 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2265 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
2267 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
2268 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2269 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2270 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
2272 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
2273 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x70,
2274 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0a,
2275 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
2277 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
2278 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
2279 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x0a,
2280 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
2282 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
2283 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
2284 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x09,
2285 0x00, 0x6e, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
2287 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
2288 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x06, 0x00, 0x70,
2289 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2290 0x00, 0x6e, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
2292 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
2293 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2294 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2295 0x00, 0x6e, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
2297 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
2298 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2299 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2300 0x00, 0x6e, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
2302 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
2303 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2304 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2305 0x00, 0x6e, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
2307 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
2308 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2309 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2310 0x00, 0x6e, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
2312 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2313 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2314 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2315 0x00, 0x6e, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
2317 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2318 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xea, 0x00, 0x06, 0x00, 0x70,
2319 0x00, 0x08, 0x00, 0x9e, 0x00, 0xea, 0x00, 0x06, 0x00, 0x70, 0x00, 0x08,
2320 0x00, 0x6e, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
2322 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2323 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xe9, 0x00, 0x05, 0x00, 0x70,
2324 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
2325 0x00, 0x6d, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
2327 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2328 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xe9, 0x00, 0x05, 0x00, 0x70,
2329 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
2330 0x00, 0x6d, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
2332 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2333 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xd9, 0x00, 0x05, 0x00, 0x70,
2334 0x00, 0x08, 0x00, 0x9d, 0x00, 0xd9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
2335 0x00, 0x6d, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
2337 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2338 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xd8, 0x00, 0x04, 0x00, 0x70,
2339 0x00, 0x07, 0x00, 0x9c, 0x00, 0xd8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2340 0x00, 0x6c, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
2342 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
2343 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2344 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2345 0x00, 0x6c, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
2347 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
2348 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2349 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2350 0x00, 0x6c, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
2352 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
2353 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2354 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2355 0x00, 0x6c, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
2357 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
2358 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2359 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2360 0x00, 0x6c, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
2362 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
2363 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xb8, 0x00, 0x04, 0x00, 0x70,
2364 0x00, 0x07, 0x00, 0x9c, 0x00, 0xb8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2365 0x00, 0x6c, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
2367 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
2368 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xb7, 0x00, 0x04, 0x00, 0x70,
2369 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2370 0x00, 0x6b, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
2372 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
2373 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xb7, 0x00, 0x03, 0x00, 0x70,
2374 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x07,
2375 0x00, 0x6b, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
2377 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
2378 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xa7, 0x00, 0x03, 0x00, 0x70,
2379 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2380 0x00, 0x6b, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
2382 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
2383 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xa6, 0x00, 0x03, 0x00, 0x70,
2384 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2385 0x00, 0x6b, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
2387 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
2388 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xa6, 0x00, 0x03, 0x00, 0x70,
2389 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2390 0x00, 0x5b, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
2392 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2393 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x96, 0x00, 0x03, 0x00, 0x70,
2394 0x00, 0x06, 0x00, 0x9a, 0x00, 0x96, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2395 0x00, 0x5a, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
2397 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2398 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x95, 0x00, 0x03, 0x00, 0x70,
2399 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2400 0x00, 0x5a, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
2402 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2403 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x95, 0x00, 0x03, 0x00, 0x70,
2404 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2405 0x00, 0x5a, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
2407 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2408 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x95, 0x00, 0x03, 0x00, 0x70,
2409 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
2410 0x00, 0x5a, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
2412 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2413 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x95, 0x00, 0x03, 0x00, 0x70,
2414 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
2415 0x00, 0x5a, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
2417 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2418 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x85, 0x00, 0x02, 0x00, 0x70,
2419 0x00, 0x05, 0x00, 0x99, 0x00, 0x85, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
2420 0x00, 0x59, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
2422 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
2423 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x84, 0x00, 0x02, 0x00, 0x70,
2424 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
2425 0x00, 0x59, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
2427 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
2428 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x84, 0x00, 0x02, 0x00, 0x70,
2429 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
2430 0x00, 0x59, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
2432 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
2433 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x84, 0x00, 0x02, 0x00, 0x70,
2434 0x00, 0x04, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x04,
2435 0x00, 0x69, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
2437 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
2438 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x74, 0x00, 0x01, 0x00, 0x70,
2439 0x00, 0x04, 0x00, 0x99, 0x00, 0x74, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2440 0x00, 0x69, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
2442 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
2443 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x73, 0x00, 0x01, 0x00, 0x70,
2444 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2445 0x00, 0x68, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
2447 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
2448 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x73, 0x00, 0x01, 0x00, 0x70,
2449 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2450 0x00, 0x68, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
2452 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
2453 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
2454 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2455 0x00, 0x78, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
2457 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
2458 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
2459 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2460 0x00, 0x78, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
2462 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
2463 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
2464 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2465 0x00, 0x78, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
2467 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
2468 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x63, 0x00, 0x01, 0x00, 0x70,
2469 0x00, 0x03, 0x00, 0x98, 0x00, 0x63, 0x00, 0x01, 0x00, 0x70, 0x00, 0x03,
2470 0x00, 0x78, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
2472 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2473 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x62, 0x00, 0x00, 0x00, 0x70,
2474 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
2475 0x00, 0x77, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
2477 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2478 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x62, 0x00, 0x00, 0x00, 0x70,
2479 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
2480 0x00, 0x77, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
2482 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2483 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x62, 0x00, 0x00, 0x00, 0x70,
2484 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
2485 0x00, 0x77, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
2487 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2488 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x52, 0x00, 0x00, 0x00, 0x70,
2489 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2490 0x00, 0x76, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
2492 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2493 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x52, 0x00, 0x00, 0x00, 0x70,
2494 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2495 0x00, 0x76, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
2497 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2498 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x51, 0x00, 0x00, 0x00, 0x70,
2499 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2500 0x00, 0x76, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
2502 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
2503 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2504 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2505 0x00, 0x76, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
2507 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
2508 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2509 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2510 0x00, 0x76, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
2512 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
2513 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2514 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2515 0x00, 0x76, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
2517 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
2518 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2519 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2520 0x00, 0x76, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
2522 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
2523 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2524 0x00, 0x02, 0x00, 0x95, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2525 0x00, 0x75, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
2527 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
2528 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x50, 0x00, 0x00, 0x00, 0x70,
2529 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2530 0x00, 0x75, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
2532 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
2533 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x50, 0x00, 0x00, 0x00, 0x70,
2534 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2535 0x00, 0x75, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
2537 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
2538 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x40, 0x00, 0x00, 0x00, 0x70,
2539 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2540 0x00, 0x74, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
2542 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
2543 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x40, 0x00, 0x00, 0x00, 0x70,
2544 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2545 0x00, 0x74, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
2547 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
2548 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x40, 0x00, 0x00, 0x00, 0x70,
2549 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2550 0x00, 0x74, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
2552 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2553 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2554 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2555 0x00, 0x74, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
2557 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2558 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2559 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2560 0x00, 0x74, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
2562 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2563 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2564 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2565 0x00, 0x74, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
2567 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
2568 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2569 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2570 0x00, 0x74, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
2572 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2573 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2574 0x00, 0x01, 0x00, 0x94, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2575 0x00, 0x84, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
2577 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
2578 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2579 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2580 0x00, 0x83, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
2582 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2583 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2584 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2585 0x00, 0x83, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
2587 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
2588 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2589 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2590 0x00, 0x83, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
2592 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2593 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2594 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2595 0x00, 0x83, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
2597 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
2598 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2599 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2600 0x00, 0x83, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
2602 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
2603 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2604 0x00, 0x00, 0x00, 0x93, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2605 0x00, 0x83, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
2607 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
2608 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2609 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2610 0x00, 0x82, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
2612 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
2613 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2614 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2615 0x00, 0x82, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
2617 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
2618 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2619 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2620 0x00, 0x82, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
2622 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
2623 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2624 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2625 0x00, 0x82, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
2627 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
2628 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2629 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2630 0x00, 0x82, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
2632 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
2633 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2634 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2635 0x00, 0x82, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
2637 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
2638 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2639 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2640 0x00, 0x82, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
2642 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
2643 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2644 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2645 0x00, 0x82, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
2647 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
2648 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2649 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2650 0x00, 0x82, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
2652 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
2653 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2654 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2655 0x00, 0x82, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
2657 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
2658 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2659 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2660 0x00, 0x82, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
2662 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
2663 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2664 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2665 0x00, 0x82, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
2667 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
2668 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2669 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2670 0x00, 0x82, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
2672 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
2673 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2674 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2675 0x00, 0x72, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
2677 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
2678 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2679 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2680 0x00, 0x72, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
2682 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
2683 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2684 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2685 0x00, 0x72, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
2687 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2688 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2689 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2690 0x00, 0x72, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
2692 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2693 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2694 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2695 0x00, 0x71, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
2697 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2698 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2699 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2700 0x00, 0x71, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
2702 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2703 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2704 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2705 0x00, 0x71, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
2707 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2708 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
2709 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2710 0x00, 0x71, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
2712 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2713 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
2714 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2715 0x00, 0x71, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
2717 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
2718 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x03, 0x00,
2719 0x70, 0x00, 0x0f, 0x00, 0x0b, 0x00, 0x1f, 0x00, 0x03, 0x00, 0x70, 0x00,
2720 0x0f, 0x00, 0x0b, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
2722 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
2723 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x03, 0x00,
2724 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x1f, 0x00, 0x03, 0x00, 0x70, 0x00,
2725 0x0f, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
2727 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
2728 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00,
2729 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x70, 0x00,
2730 0x0f, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
2732 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
2733 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x03, 0x00,
2734 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x03, 0x00, 0x70, 0x00,
2735 0x0e, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
2737 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
2738 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x03, 0x00,
2739 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x0c, 0x00, 0x03, 0x00, 0x70, 0x00,
2740 0x0e, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
2742 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
2743 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x03, 0x00,
2744 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x03, 0x00, 0x70, 0x00,
2745 0x0e, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
2747 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
2748 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x09, 0x00, 0x03, 0x00,
2749 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x03, 0x00, 0x70, 0x00,
2750 0x0e, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
2752 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
2753 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00,
2754 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x08, 0x00, 0x02, 0x00, 0x70, 0x00,
2755 0x0e, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
2757 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
2758 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x07, 0x00, 0x02, 0x00,
2759 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x07, 0x00, 0x02, 0x00, 0x70, 0x00,
2760 0x0e, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
2762 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
2763 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00,
2764 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x06, 0x00, 0x02, 0x00, 0x70, 0x00,
2765 0x0d, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
2767 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
2768 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x05, 0x00, 0x02, 0x00,
2769 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x05, 0x00, 0x02, 0x00, 0x70, 0x00,
2770 0x0d, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
2772 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
2773 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00,
2774 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x04, 0x00, 0x02, 0x00, 0x70, 0x00,
2775 0x0d, 0x00, 0x08, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
2777 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
2778 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02, 0x00,
2779 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x03, 0x00, 0x02, 0x00, 0x70, 0x00,
2780 0x0d, 0x00, 0x08, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
2782 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
2783 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
2784 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
2785 0x0d, 0x00, 0x08, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
2788 static chan_info_nphy_radio205x_t chan_info_nphyrev6_2056v6[] = {
2790 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
2791 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2792 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2793 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
2795 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
2796 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2797 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2798 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
2800 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
2801 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2802 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2803 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
2805 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
2806 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2807 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2808 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
2810 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
2811 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2812 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2813 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
2815 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
2816 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2817 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2818 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
2820 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
2821 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2822 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2823 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
2825 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
2826 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2827 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2828 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
2830 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
2831 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2832 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2833 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
2835 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
2836 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2837 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2838 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
2840 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
2841 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2842 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2843 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
2845 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
2846 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2847 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2848 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
2850 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
2851 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2852 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2853 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
2855 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
2856 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2857 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2858 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
2860 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
2861 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2862 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2863 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
2865 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
2866 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
2867 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2868 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
2870 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
2871 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
2872 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2873 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
2875 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
2876 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
2877 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2878 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
2880 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
2881 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x77,
2882 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2883 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
2885 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
2886 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
2887 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2888 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
2890 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
2891 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
2892 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2893 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
2895 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
2896 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
2897 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2898 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
2900 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
2901 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x77,
2902 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2903 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
2905 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
2906 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
2907 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
2908 0x00, 0x6f, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
2910 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
2911 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
2912 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
2913 0x00, 0x6f, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
2915 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
2916 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
2917 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0e,
2918 0x00, 0x6f, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
2920 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
2921 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
2922 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0d,
2923 0x00, 0x6f, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
2925 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
2926 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
2927 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2928 0x00, 0x6f, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
2930 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
2931 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
2932 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2933 0x00, 0x6f, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
2935 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2936 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xd8, 0x00, 0x05, 0x00, 0x77,
2937 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2938 0x00, 0x6f, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
2940 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2941 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xd8, 0x00, 0x05, 0x00, 0x77,
2942 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2943 0x00, 0x6f, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
2945 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2946 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xc8, 0x00, 0x05, 0x00, 0x77,
2947 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2948 0x00, 0x6f, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
2950 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2951 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xc7, 0x00, 0x05, 0x00, 0x77,
2952 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2953 0x00, 0x6f, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
2955 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2956 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
2957 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0d,
2958 0x00, 0x6f, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
2960 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2961 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
2962 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0c,
2963 0x00, 0x6f, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
2965 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
2966 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2967 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2968 0x00, 0x6f, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
2970 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
2971 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2972 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2973 0x00, 0x6f, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
2975 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
2976 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2977 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2978 0x00, 0x6f, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
2980 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
2981 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2982 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2983 0x00, 0x6f, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
2985 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
2986 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb7, 0x00, 0x03, 0x00, 0x77,
2987 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2988 0x00, 0x6f, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
2990 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
2991 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xa6, 0x00, 0x03, 0x00, 0x77,
2992 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
2993 0x00, 0x6f, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
2995 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
2996 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
2997 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
2998 0x00, 0x6f, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
3000 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
3001 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
3002 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
3003 0x00, 0x6f, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
3005 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
3006 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
3007 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3008 0x00, 0x6f, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
3010 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
3011 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
3012 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3013 0x00, 0x6f, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
3015 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3016 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x77,
3017 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3018 0x00, 0x6f, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
3020 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3021 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
3022 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3023 0x00, 0x6f, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
3025 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3026 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
3027 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3028 0x00, 0x6f, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
3030 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3031 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x84, 0x00, 0x02, 0x00, 0x77,
3032 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
3033 0x00, 0x6f, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
3035 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3036 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x84, 0x00, 0x02, 0x00, 0x77,
3037 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
3038 0x00, 0x6f, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
3040 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3041 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
3042 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
3043 0x00, 0x6f, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
3045 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
3046 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
3047 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x09,
3048 0x00, 0x6f, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
3050 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
3051 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
3052 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
3053 0x00, 0x6f, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
3055 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
3056 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
3057 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
3058 0x00, 0x6f, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
3060 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
3061 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x73, 0x00, 0x01, 0x00, 0x77,
3062 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
3063 0x00, 0x6f, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
3065 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
3066 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x00, 0x00, 0x77,
3067 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3068 0x00, 0x6f, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
3070 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
3071 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x00, 0x00, 0x77,
3072 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3073 0x00, 0x6f, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
3075 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
3076 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
3077 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3078 0x00, 0x6f, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
3080 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
3081 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
3082 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3083 0x00, 0x6f, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
3085 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
3086 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
3087 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3088 0x00, 0x6f, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
3090 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
3091 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
3092 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3093 0x00, 0x6f, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
3095 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3096 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x73, 0x00, 0x00, 0x00, 0x77,
3097 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3098 0x00, 0x6f, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
3100 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3101 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
3102 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3103 0x00, 0x6f, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
3105 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3106 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
3107 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3108 0x00, 0x6f, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
3110 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3111 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x77,
3112 0x00, 0x09, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3113 0x00, 0x6f, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
3115 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3116 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x62, 0x00, 0x00, 0x00, 0x77,
3117 0x00, 0x08, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3118 0x00, 0x6f, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
3120 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3121 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x61, 0x00, 0x00, 0x00, 0x77,
3122 0x00, 0x08, 0x00, 0x6f, 0x00, 0x61, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3123 0x00, 0x6f, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
3125 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
3126 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
3127 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3128 0x00, 0x6f, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
3130 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
3131 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
3132 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3133 0x00, 0x6f, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
3135 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
3136 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
3137 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3138 0x00, 0x6f, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
3140 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
3141 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
3142 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3143 0x00, 0x6f, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
3145 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
3146 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x77,
3147 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3148 0x00, 0x6f, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
3150 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
3151 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
3152 0x00, 0x07, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3153 0x00, 0x6f, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
3155 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
3156 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
3157 0x00, 0x06, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3158 0x00, 0x6f, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
3160 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
3161 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x77,
3162 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3163 0x00, 0x6f, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
3165 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
3166 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3167 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3168 0x00, 0x6f, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
3170 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
3171 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3172 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3173 0x00, 0x6f, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
3175 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3176 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3177 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3178 0x00, 0x6e, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
3180 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3181 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3182 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3183 0x00, 0x6e, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
3185 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3186 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3187 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3188 0x00, 0x6e, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
3190 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
3191 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3192 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3193 0x00, 0x6e, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
3195 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3196 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3197 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3198 0x00, 0x6e, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
3200 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
3201 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3202 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3203 0x00, 0x6d, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
3205 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3206 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3207 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3208 0x00, 0x6d, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
3210 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
3211 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3212 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3213 0x00, 0x6d, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
3215 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3216 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x77,
3217 0x00, 0x05, 0x00, 0x6d, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3218 0x00, 0x6d, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
3220 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
3221 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
3222 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3223 0x00, 0x6c, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
3225 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
3226 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
3227 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3228 0x00, 0x6c, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
3230 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
3231 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3232 0x00, 0x05, 0x00, 0x6c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3233 0x00, 0x6c, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
3235 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
3236 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3237 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3238 0x00, 0x6b, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
3240 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
3241 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3242 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3243 0x00, 0x6b, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
3245 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
3246 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3247 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3248 0x00, 0x6b, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
3250 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
3251 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
3252 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3253 0x00, 0x6b, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
3255 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
3256 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
3257 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3258 0x00, 0x6b, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
3260 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
3261 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3262 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3263 0x00, 0x6b, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
3265 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
3266 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3267 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3268 0x00, 0x6b, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
3270 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
3271 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3272 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3273 0x00, 0x6a, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
3275 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
3276 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3277 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3278 0x00, 0x6a, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
3280 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
3281 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3282 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3283 0x00, 0x6a, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
3285 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
3286 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3287 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3288 0x00, 0x6a, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
3290 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
3291 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3292 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3293 0x00, 0x69, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
3295 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
3296 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3297 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3298 0x00, 0x69, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
3300 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
3301 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3302 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3303 0x00, 0x69, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
3305 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
3306 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3307 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3308 0x00, 0x69, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
3310 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3311 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3312 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3313 0x00, 0x69, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
3315 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3316 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3317 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3318 0x00, 0x68, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
3320 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3321 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3322 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3323 0x00, 0x68, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
3325 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3326 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3327 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3328 0x00, 0x68, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
3330 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3331 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3332 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3333 0x00, 0x68, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
3335 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3336 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3337 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3338 0x00, 0x68, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
3340 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
3341 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
3342 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
3343 0x0b, 0x00, 0x0a, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
3345 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
3346 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
3347 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
3348 0x0b, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
3350 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
3351 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x67, 0x00, 0x03, 0x00,
3352 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x67, 0x00, 0x03, 0x00, 0x70, 0x00,
3353 0x0b, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
3355 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
3356 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x57, 0x00, 0x03, 0x00,
3357 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x57, 0x00, 0x03, 0x00, 0x70, 0x00,
3358 0x0a, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
3360 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
3361 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x56, 0x00, 0x03, 0x00,
3362 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x56, 0x00, 0x03, 0x00, 0x70, 0x00,
3363 0x0a, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
3365 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
3366 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x46, 0x00, 0x03, 0x00,
3367 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x46, 0x00, 0x03, 0x00, 0x70, 0x00,
3368 0x0a, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
3370 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
3371 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
3372 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
3373 0x0a, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
3375 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
3376 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
3377 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
3378 0x0a, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
3380 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
3381 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x23, 0x00, 0x02, 0x00,
3382 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x23, 0x00, 0x02, 0x00, 0x70, 0x00,
3383 0x0a, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
3385 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
3386 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x12, 0x00, 0x02, 0x00,
3387 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x12, 0x00, 0x02, 0x00, 0x70, 0x00,
3388 0x0a, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
3390 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
3391 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00,
3392 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x02, 0x00, 0x02, 0x00, 0x70, 0x00,
3393 0x09, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
3395 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
3396 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
3397 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x01, 0x00, 0x02, 0x00, 0x70, 0x00,
3398 0x09, 0x00, 0x09, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
3400 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
3401 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
3402 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x01, 0x00, 0x02, 0x00, 0x70, 0x00,
3403 0x09, 0x00, 0x09, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
3405 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
3406 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
3407 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
3408 0x09, 0x00, 0x09, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
3411 static chan_info_nphy_radio205x_t chan_info_nphyrev5n6_2056v7[] = {
3413 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
3414 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3415 0x00, 0x0f, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0f,
3416 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
3418 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
3419 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3420 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
3421 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
3423 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
3424 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3425 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
3426 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
3428 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
3429 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3430 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
3431 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
3433 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
3434 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3435 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0e,
3436 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
3438 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
3439 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3440 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3441 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
3443 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
3444 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3445 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3446 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
3448 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
3449 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3450 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3451 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
3453 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
3454 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3455 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3456 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
3458 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
3459 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3460 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3461 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
3463 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
3464 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
3465 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0d,
3466 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
3468 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
3469 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
3470 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3471 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
3473 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
3474 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
3475 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3476 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
3478 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
3479 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
3480 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3481 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
3483 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
3484 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x70,
3485 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3486 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
3488 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
3489 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x70,
3490 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3491 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
3493 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
3494 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3495 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3496 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
3498 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
3499 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3500 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3501 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
3503 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
3504 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3505 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3506 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
3508 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
3509 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3510 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3511 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
3513 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
3514 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3515 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3516 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
3518 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
3519 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x70,
3520 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0a,
3521 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
3523 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
3524 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
3525 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x0a,
3526 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
3528 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
3529 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
3530 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x09,
3531 0x00, 0x6e, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
3533 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
3534 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x06, 0x00, 0x70,
3535 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3536 0x00, 0x6e, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
3538 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
3539 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3540 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3541 0x00, 0x6e, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
3543 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
3544 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3545 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3546 0x00, 0x6e, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
3548 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
3549 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3550 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3551 0x00, 0x6e, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
3553 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
3554 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3555 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3556 0x00, 0x6e, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
3558 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3559 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xfa, 0x00, 0x06, 0x00, 0x70,
3560 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3561 0x00, 0x6e, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
3563 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3564 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xea, 0x00, 0x06, 0x00, 0x70,
3565 0x00, 0x08, 0x00, 0x9e, 0x00, 0xea, 0x00, 0x06, 0x00, 0x70, 0x00, 0x08,
3566 0x00, 0x6e, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
3568 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3569 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xe9, 0x00, 0x05, 0x00, 0x70,
3570 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
3571 0x00, 0x6d, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
3573 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3574 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xe9, 0x00, 0x05, 0x00, 0x70,
3575 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
3576 0x00, 0x6d, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
3578 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3579 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xd9, 0x00, 0x05, 0x00, 0x70,
3580 0x00, 0x08, 0x00, 0x9d, 0x00, 0xd9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
3581 0x00, 0x6d, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
3583 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3584 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xd8, 0x00, 0x04, 0x00, 0x70,
3585 0x00, 0x07, 0x00, 0x9c, 0x00, 0xd8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3586 0x00, 0x6c, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
3588 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
3589 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3590 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3591 0x00, 0x6c, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
3593 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
3594 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3595 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3596 0x00, 0x6c, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
3598 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
3599 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3600 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3601 0x00, 0x6c, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
3603 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
3604 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3605 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3606 0x00, 0x6c, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
3608 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
3609 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb8, 0x00, 0x04, 0x00, 0x70,
3610 0x00, 0x07, 0x00, 0x9c, 0x00, 0xb8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3611 0x00, 0x6c, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
3613 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
3614 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xb7, 0x00, 0x04, 0x00, 0x70,
3615 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3616 0x00, 0x6b, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
3618 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
3619 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xb7, 0x00, 0x03, 0x00, 0x70,
3620 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x07,
3621 0x00, 0x6b, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
3623 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
3624 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa7, 0x00, 0x03, 0x00, 0x70,
3625 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3626 0x00, 0x6b, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
3628 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
3629 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0xa6, 0x00, 0x03, 0x00, 0x70,
3630 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3631 0x00, 0x6b, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
3633 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
3634 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0xa6, 0x00, 0x03, 0x00, 0x70,
3635 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3636 0x00, 0x7b, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
3638 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3639 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x96, 0x00, 0x03, 0x00, 0x70,
3640 0x00, 0x06, 0x00, 0x9a, 0x00, 0x96, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3641 0x00, 0x7a, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
3643 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3644 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x70,
3645 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3646 0x00, 0x7a, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
3648 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3649 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x70,
3650 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3651 0x00, 0x7a, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
3653 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3654 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x95, 0x00, 0x03, 0x00, 0x70,
3655 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
3656 0x00, 0x7a, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
3658 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3659 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x95, 0x00, 0x03, 0x00, 0x70,
3660 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
3661 0x00, 0x7a, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
3663 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3664 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x85, 0x00, 0x02, 0x00, 0x70,
3665 0x00, 0x05, 0x00, 0x99, 0x00, 0x85, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
3666 0x00, 0x79, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
3668 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
3669 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x70,
3670 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
3671 0x00, 0x79, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
3673 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
3674 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x02, 0x00, 0x70,
3675 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
3676 0x00, 0x79, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
3678 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
3679 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x02, 0x00, 0x70,
3680 0x00, 0x04, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x04,
3681 0x00, 0x79, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
3683 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
3684 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x74, 0x00, 0x01, 0x00, 0x70,
3685 0x00, 0x04, 0x00, 0x99, 0x00, 0x74, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3686 0x00, 0x79, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
3688 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
3689 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
3690 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3691 0x00, 0x78, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
3693 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
3694 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x01, 0x00, 0x70,
3695 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3696 0x00, 0x78, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
3698 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
3699 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x01, 0x00, 0x70,
3700 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3701 0x00, 0x78, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
3703 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
3704 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x01, 0x00, 0x70,
3705 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3706 0x00, 0x78, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
3708 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
3709 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x01, 0x00, 0x70,
3710 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3711 0x00, 0x78, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
3713 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
3714 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x63, 0x00, 0x01, 0x00, 0x70,
3715 0x00, 0x03, 0x00, 0x98, 0x00, 0x63, 0x00, 0x01, 0x00, 0x70, 0x00, 0x03,
3716 0x00, 0x78, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
3718 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3719 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x62, 0x00, 0x00, 0x00, 0x70,
3720 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
3721 0x00, 0x77, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
3723 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3724 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x70,
3725 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
3726 0x00, 0x77, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
3728 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3729 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x70,
3730 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
3731 0x00, 0x77, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
3733 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3734 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x52, 0x00, 0x00, 0x00, 0x70,
3735 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3736 0x00, 0x76, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
3738 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3739 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x52, 0x00, 0x00, 0x00, 0x70,
3740 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3741 0x00, 0x86, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
3743 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3744 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3745 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3746 0x00, 0x86, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
3748 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
3749 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3750 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3751 0x00, 0x86, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
3753 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
3754 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3755 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3756 0x00, 0x86, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
3758 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
3759 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3760 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3761 0x00, 0x86, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
3763 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
3764 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3765 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3766 0x00, 0x86, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
3768 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
3769 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x51, 0x00, 0x00, 0x00, 0x70,
3770 0x00, 0x02, 0x00, 0x95, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3771 0x00, 0x85, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
3773 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
3774 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x70,
3775 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3776 0x00, 0x85, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
3778 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
3779 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x70,
3780 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3781 0x00, 0x85, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
3783 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
3784 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
3785 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3786 0x00, 0x84, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
3788 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
3789 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3790 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3791 0x00, 0x84, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
3793 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
3794 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3795 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3796 0x00, 0x94, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
3798 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3799 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3800 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3801 0x00, 0x94, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
3803 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3804 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3805 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3806 0x00, 0x94, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
3808 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3809 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3810 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3811 0x00, 0x94, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
3813 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
3814 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3815 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3816 0x00, 0x94, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
3818 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3819 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3820 0x00, 0x01, 0x00, 0x94, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3821 0x00, 0x94, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
3823 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
3824 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3825 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3826 0x00, 0x93, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
3828 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3829 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3830 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3831 0x00, 0x93, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
3833 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
3834 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3835 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3836 0x00, 0x93, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
3838 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3839 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3840 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3841 0x00, 0x93, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
3843 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
3844 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x30, 0x00, 0x00, 0x00, 0x70,
3845 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3846 0x00, 0x93, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
3848 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
3849 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3850 0x00, 0x00, 0x00, 0x93, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3851 0x00, 0x93, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
3853 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
3854 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3855 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3856 0x00, 0x92, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
3858 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
3859 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3860 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3861 0x00, 0x92, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
3863 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
3864 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3865 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3866 0x00, 0x92, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
3868 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
3869 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x70,
3870 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3871 0x00, 0x92, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
3873 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
3874 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3875 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3876 0x00, 0x92, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
3878 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
3879 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3880 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3881 0x00, 0x92, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
3883 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
3884 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3885 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3886 0x00, 0x92, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
3888 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
3889 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3890 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3891 0x00, 0x92, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
3893 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
3894 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3895 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3896 0x00, 0x92, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
3898 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
3899 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3900 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3901 0x00, 0x92, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
3903 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
3904 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3905 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3906 0x00, 0x92, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
3908 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
3909 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3910 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3911 0x00, 0x92, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
3913 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
3914 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3915 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3916 0x00, 0x92, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
3918 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
3919 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3920 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3921 0x00, 0x92, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
3923 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
3924 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3925 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3926 0x00, 0x92, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
3928 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
3929 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3930 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3931 0x00, 0x92, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
3933 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3934 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3935 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3936 0x00, 0x92, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
3938 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3939 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3940 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3941 0x00, 0x91, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
3943 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3944 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3945 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3946 0x00, 0x91, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
3948 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3949 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3950 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3951 0x00, 0x91, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
3953 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3954 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3955 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3956 0x00, 0x91, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
3958 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3959 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3960 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3961 0x00, 0x91, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
3963 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
3964 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x89, 0x00, 0x03, 0x00,
3965 0x70, 0x00, 0x0f, 0x00, 0x0b, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
3966 0x0f, 0x00, 0x0b, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
3968 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
3969 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x89, 0x00, 0x03, 0x00,
3970 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
3971 0x0f, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
3973 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
3974 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x89, 0x00, 0x03, 0x00,
3975 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
3976 0x0f, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
3978 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
3979 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
3980 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
3981 0x0e, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
3983 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
3984 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x03, 0x00,
3985 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x03, 0x00, 0x70, 0x00,
3986 0x0e, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
3988 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
3989 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x76, 0x00, 0x03, 0x00,
3990 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x76, 0x00, 0x03, 0x00, 0x70, 0x00,
3991 0x0e, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
3993 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
3994 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x66, 0x00, 0x03, 0x00,
3995 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x66, 0x00, 0x03, 0x00, 0x70, 0x00,
3996 0x0e, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
3998 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
3999 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x55, 0x00, 0x02, 0x00,
4000 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x55, 0x00, 0x02, 0x00, 0x70, 0x00,
4001 0x0e, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
4003 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
4004 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
4005 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
4006 0x0e, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
4008 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
4009 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
4010 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
4011 0x0d, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
4013 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
4014 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00,
4015 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x33, 0x00, 0x02, 0x00, 0x70, 0x00,
4016 0x0d, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
4018 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
4019 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x22, 0x00, 0x02, 0x00,
4020 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x22, 0x00, 0x02, 0x00, 0x70, 0x00,
4021 0x0d, 0x00, 0x08, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
4023 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
4024 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00,
4025 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x11, 0x00, 0x02, 0x00, 0x70, 0x00,
4026 0x0d, 0x00, 0x08, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
4028 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
4029 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
4030 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
4031 0x0d, 0x00, 0x08, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
4034 static chan_info_nphy_radio205x_t chan_info_nphyrev6_2056v8[] = {
4036 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
4037 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4038 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4039 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
4041 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
4042 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4043 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4044 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
4046 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
4047 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4048 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4049 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
4051 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
4052 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4053 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4054 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
4056 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
4057 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4058 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4059 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
4061 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
4062 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4063 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4064 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
4066 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
4067 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4068 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4069 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
4071 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
4072 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4073 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4074 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
4076 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
4077 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4078 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4079 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
4081 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
4082 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4083 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4084 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
4086 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
4087 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4088 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4089 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
4091 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
4092 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4093 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4094 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
4096 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
4097 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4098 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4099 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
4101 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
4102 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4103 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4104 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
4106 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
4107 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4108 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4109 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
4111 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
4112 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4113 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4114 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
4116 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
4117 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4118 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4119 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
4121 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
4122 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4123 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4124 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
4126 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
4127 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x77,
4128 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4129 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
4131 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
4132 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4133 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4134 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
4136 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
4137 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4138 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4139 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
4141 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
4142 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4143 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4144 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
4146 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
4147 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x77,
4148 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4149 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
4151 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
4152 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4153 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4154 0x00, 0x6f, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
4156 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
4157 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4158 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4159 0x00, 0x6f, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
4161 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
4162 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4163 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0e,
4164 0x00, 0x6f, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
4166 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
4167 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4168 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0d,
4169 0x00, 0x6f, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
4171 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
4172 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4173 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4174 0x00, 0x6f, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
4176 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
4177 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4178 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4179 0x00, 0x6f, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
4181 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4182 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xd8, 0x00, 0x05, 0x00, 0x77,
4183 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4184 0x00, 0x6f, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
4186 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4187 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xd8, 0x00, 0x05, 0x00, 0x77,
4188 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4189 0x00, 0x6f, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
4191 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4192 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xc8, 0x00, 0x05, 0x00, 0x77,
4193 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4194 0x00, 0x6f, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
4196 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4197 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xc7, 0x00, 0x05, 0x00, 0x77,
4198 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4199 0x00, 0x6f, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
4201 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4202 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4203 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0d,
4204 0x00, 0x6f, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
4206 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4207 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4208 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0c,
4209 0x00, 0x6f, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
4211 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
4212 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4213 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4214 0x00, 0x6f, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
4216 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
4217 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4218 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4219 0x00, 0x6f, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
4221 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
4222 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4223 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4224 0x00, 0x6f, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
4226 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
4227 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4228 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4229 0x00, 0x6f, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
4231 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
4232 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb7, 0x00, 0x03, 0x00, 0x77,
4233 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4234 0x00, 0x6f, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
4236 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
4237 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xa6, 0x00, 0x03, 0x00, 0x77,
4238 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4239 0x00, 0x6f, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
4241 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
4242 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4243 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4244 0x00, 0x6f, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
4246 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
4247 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4248 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4249 0x00, 0x6f, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
4251 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
4252 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4253 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4254 0x00, 0x6f, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
4256 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
4257 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4258 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4259 0x00, 0x6f, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
4261 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4262 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x77,
4263 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4264 0x00, 0x6f, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
4266 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4267 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4268 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4269 0x00, 0x6f, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
4271 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4272 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4273 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4274 0x00, 0x6f, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
4276 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4277 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x84, 0x00, 0x02, 0x00, 0x77,
4278 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4279 0x00, 0x6f, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
4281 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4282 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x84, 0x00, 0x02, 0x00, 0x77,
4283 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4284 0x00, 0x6f, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
4286 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4287 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4288 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4289 0x00, 0x6f, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
4291 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
4292 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4293 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x09,
4294 0x00, 0x6f, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
4296 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
4297 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4298 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4299 0x00, 0x6f, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
4301 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
4302 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4303 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4304 0x00, 0x6f, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
4306 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
4307 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x73, 0x00, 0x01, 0x00, 0x77,
4308 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4309 0x00, 0x6f, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
4311 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
4312 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x00, 0x00, 0x77,
4313 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4314 0x00, 0x6f, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
4316 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
4317 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x00, 0x00, 0x77,
4318 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4319 0x00, 0x6f, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
4321 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
4322 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4323 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4324 0x00, 0x6f, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
4326 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
4327 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4328 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4329 0x00, 0x6f, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
4331 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
4332 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4333 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4334 0x00, 0x6f, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
4336 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
4337 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4338 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4339 0x00, 0x6f, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
4341 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4342 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x73, 0x00, 0x00, 0x00, 0x77,
4343 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4344 0x00, 0x6f, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
4346 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4347 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4348 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4349 0x00, 0x6f, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
4351 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4352 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4353 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4354 0x00, 0x6f, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
4356 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4357 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x77,
4358 0x00, 0x09, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4359 0x00, 0x6f, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
4361 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4362 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x62, 0x00, 0x00, 0x00, 0x77,
4363 0x00, 0x08, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4364 0x00, 0x6f, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
4366 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4367 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x61, 0x00, 0x00, 0x00, 0x77,
4368 0x00, 0x08, 0x00, 0x6f, 0x00, 0x61, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4369 0x00, 0x6f, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
4371 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
4372 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
4373 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4374 0x00, 0x6f, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
4376 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
4377 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
4378 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4379 0x00, 0x6f, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
4381 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
4382 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
4383 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4384 0x00, 0x6f, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
4386 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
4387 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
4388 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4389 0x00, 0x6f, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
4391 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
4392 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x77,
4393 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4394 0x00, 0x6f, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
4396 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
4397 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
4398 0x00, 0x07, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4399 0x00, 0x6f, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
4401 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
4402 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
4403 0x00, 0x06, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4404 0x00, 0x6f, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
4406 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
4407 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x77,
4408 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4409 0x00, 0x6f, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
4411 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
4412 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4413 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4414 0x00, 0x6f, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
4416 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
4417 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4418 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4419 0x00, 0x6f, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
4421 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4422 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4423 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4424 0x00, 0x6e, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
4426 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4427 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4428 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4429 0x00, 0x6e, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
4431 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4432 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4433 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4434 0x00, 0x6e, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
4436 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
4437 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4438 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4439 0x00, 0x6e, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
4441 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4442 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4443 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4444 0x00, 0x6e, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
4446 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
4447 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4448 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4449 0x00, 0x6d, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
4451 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4452 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4453 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4454 0x00, 0x6d, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
4456 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
4457 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4458 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4459 0x00, 0x6d, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
4461 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4462 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x77,
4463 0x00, 0x05, 0x00, 0x6d, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4464 0x00, 0x6d, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
4466 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
4467 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
4468 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4469 0x00, 0x6c, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
4471 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
4472 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
4473 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4474 0x00, 0x6c, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
4476 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
4477 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4478 0x00, 0x05, 0x00, 0x6c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4479 0x00, 0x6c, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
4481 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
4482 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4483 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4484 0x00, 0x6b, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
4486 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
4487 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4488 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4489 0x00, 0x6b, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
4491 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
4492 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4493 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4494 0x00, 0x6b, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
4496 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
4497 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
4498 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4499 0x00, 0x6b, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
4501 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
4502 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
4503 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4504 0x00, 0x6b, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
4506 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
4507 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4508 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4509 0x00, 0x6b, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
4511 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
4512 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4513 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4514 0x00, 0x6b, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
4516 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
4517 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4518 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4519 0x00, 0x6a, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
4521 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
4522 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4523 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4524 0x00, 0x6a, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
4526 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
4527 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4528 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4529 0x00, 0x6a, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
4531 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
4532 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4533 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4534 0x00, 0x6a, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
4536 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
4537 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4538 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4539 0x00, 0x69, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
4541 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
4542 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4543 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4544 0x00, 0x69, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
4546 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
4547 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4548 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4549 0x00, 0x69, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
4551 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
4552 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4553 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4554 0x00, 0x69, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
4556 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4557 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4558 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4559 0x00, 0x69, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
4561 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4562 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4563 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4564 0x00, 0x68, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
4566 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4567 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4568 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4569 0x00, 0x68, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
4571 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4572 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4573 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4574 0x00, 0x68, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
4576 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4577 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4578 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4579 0x00, 0x68, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
4581 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4582 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4583 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4584 0x00, 0x68, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
4586 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
4587 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
4588 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
4589 0x0b, 0x00, 0x0a, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
4591 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
4592 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
4593 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
4594 0x0b, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
4596 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
4597 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x67, 0x00, 0x03, 0x00,
4598 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
4599 0x0b, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
4601 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
4602 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x57, 0x00, 0x03, 0x00,
4603 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
4604 0x0a, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
4606 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
4607 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x56, 0x00, 0x03, 0x00,
4608 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x03, 0x00, 0x70, 0x00,
4609 0x0a, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
4611 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
4612 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x46, 0x00, 0x03, 0x00,
4613 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x76, 0x00, 0x03, 0x00, 0x70, 0x00,
4614 0x0a, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
4616 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
4617 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
4618 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x66, 0x00, 0x02, 0x00, 0x70, 0x00,
4619 0x0a, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
4621 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
4622 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
4623 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x55, 0x00, 0x02, 0x00, 0x70, 0x00,
4624 0x0a, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
4626 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
4627 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x23, 0x00, 0x02, 0x00,
4628 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
4629 0x0a, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
4631 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
4632 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x12, 0x00, 0x02, 0x00,
4633 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
4634 0x0a, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
4636 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
4637 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00,
4638 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x33, 0x00, 0x02, 0x00, 0x70, 0x00,
4639 0x09, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
4641 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
4642 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
4643 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x22, 0x00, 0x02, 0x00, 0x70, 0x00,
4644 0x09, 0x00, 0x09, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
4646 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
4647 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
4648 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x11, 0x00, 0x02, 0x00, 0x70, 0x00,
4649 0x09, 0x00, 0x09, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
4651 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
4652 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
4653 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
4654 0x09, 0x00, 0x09, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
4657 static chan_info_nphy_radio205x_t chan_info_nphyrev6_2056v11[] = {
4659 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x02, 0x0c, 0x01,
4660 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4661 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4662 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
4664 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x02, 0x0c, 0x01,
4665 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4666 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4667 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
4669 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x02, 0x0c, 0x01,
4670 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4671 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4672 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
4674 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x02, 0x0c, 0x01,
4675 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4676 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4677 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
4679 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x02, 0x0c, 0x01,
4680 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4681 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4682 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
4684 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x02, 0x0c, 0x01,
4685 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4686 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4687 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
4689 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x02, 0x0c, 0x01,
4690 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4691 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4692 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
4694 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x02, 0x0c, 0x01,
4695 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4696 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4697 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
4699 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x02, 0x0c, 0x01,
4700 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4701 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4702 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
4704 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x02, 0x0c, 0x01,
4705 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4706 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4707 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
4709 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x02, 0x0c, 0x01,
4710 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4711 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4712 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
4714 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x02, 0x0c, 0x01,
4715 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4716 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4717 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
4719 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x02, 0x0c, 0x01,
4720 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4721 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4722 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
4724 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x02, 0x0c, 0x01,
4725 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4726 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4727 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
4729 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x02, 0x0c, 0x01,
4730 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4731 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4732 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
4734 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x02, 0x0c, 0x01,
4735 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4736 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4737 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
4739 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x02, 0x0c, 0x01,
4740 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4741 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4742 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
4744 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x02, 0x0c, 0x01,
4745 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4746 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4747 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
4749 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x02, 0x0c, 0x01,
4750 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x77,
4751 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4752 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
4754 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x02, 0x0c, 0x01,
4755 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4756 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4757 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
4759 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x02, 0x0c, 0x01,
4760 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4761 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4762 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
4764 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x02, 0x0c, 0x01,
4765 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4766 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4767 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
4769 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x02, 0x0c, 0x01,
4770 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x77,
4771 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4772 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
4774 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x02, 0x0c, 0x01,
4775 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4776 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4777 0x00, 0x6f, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
4779 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x02, 0x0c, 0x01,
4780 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4781 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4782 0x00, 0x6f, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
4784 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x02, 0x0c, 0x01,
4785 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4786 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0e,
4787 0x00, 0x6f, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
4789 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x02, 0x0c, 0x01,
4790 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4791 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0d,
4792 0x00, 0x6f, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
4794 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x02, 0x0c, 0x01,
4795 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4796 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4797 0x00, 0x6f, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
4799 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x02, 0x0c, 0x01,
4800 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4801 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4802 0x00, 0x6f, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
4804 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x02, 0x0c, 0x01,
4805 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xd8, 0x00, 0x05, 0x00, 0x77,
4806 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4807 0x00, 0x6f, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
4809 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x02, 0x0c, 0x01,
4810 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xd8, 0x00, 0x05, 0x00, 0x77,
4811 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4812 0x00, 0x6f, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
4814 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x02, 0x0c, 0x01,
4815 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xc8, 0x00, 0x05, 0x00, 0x77,
4816 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4817 0x00, 0x6f, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
4819 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x02, 0x0c, 0x01,
4820 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xc7, 0x00, 0x05, 0x00, 0x77,
4821 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4822 0x00, 0x6f, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
4824 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x02, 0x0c, 0x01,
4825 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4826 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0d,
4827 0x00, 0x6f, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
4829 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x02, 0x0c, 0x01,
4830 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4831 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0c,
4832 0x00, 0x6f, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
4834 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x02, 0x0c, 0x01,
4835 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4836 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4837 0x00, 0x6f, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
4839 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x02, 0x0c, 0x01,
4840 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4841 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4842 0x00, 0x6f, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
4844 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x02, 0x0c, 0x01,
4845 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4846 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4847 0x00, 0x6f, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
4849 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x02, 0x0c, 0x01,
4850 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4851 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4852 0x00, 0x6f, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
4854 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x02, 0x0c, 0x01,
4855 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb7, 0x00, 0x03, 0x00, 0x77,
4856 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4857 0x00, 0x6f, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
4859 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x02, 0x0c, 0x01,
4860 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xa6, 0x00, 0x03, 0x00, 0x77,
4861 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4862 0x00, 0x6f, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
4864 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x02, 0x0c, 0x01,
4865 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4866 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4867 0x00, 0x6f, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
4869 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x02, 0x0c, 0x01,
4870 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4871 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4872 0x00, 0x6f, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
4874 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x02, 0x0c, 0x01,
4875 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4876 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4877 0x00, 0x6f, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
4879 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x02, 0x0c, 0x01,
4880 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4881 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4882 0x00, 0x6f, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
4884 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x02, 0x0c, 0x01,
4885 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x77,
4886 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4887 0x00, 0x6f, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
4889 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x02, 0x0c, 0x01,
4890 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4891 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4892 0x00, 0x6f, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
4894 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x02, 0x0c, 0x01,
4895 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4896 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4897 0x00, 0x6f, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
4899 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x02, 0x0c, 0x01,
4900 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x84, 0x00, 0x02, 0x00, 0x77,
4901 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4902 0x00, 0x6f, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
4904 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x02, 0x0c, 0x01,
4905 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x84, 0x00, 0x02, 0x00, 0x77,
4906 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4907 0x00, 0x6f, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
4909 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x02, 0x0c, 0x01,
4910 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4911 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4912 0x00, 0x6f, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
4914 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x02, 0x0c, 0x01,
4915 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4916 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x09,
4917 0x00, 0x6f, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
4919 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x02, 0x0c, 0x01,
4920 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4921 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4922 0x00, 0x6f, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
4924 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x02, 0x0c, 0x01,
4925 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4926 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4927 0x00, 0x6f, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
4929 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x02, 0x0c, 0x01,
4930 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x73, 0x00, 0x01, 0x00, 0x77,
4931 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4932 0x00, 0x6f, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
4934 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x02, 0x0c, 0x01,
4935 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x00, 0x00, 0x77,
4936 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4937 0x00, 0x6f, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
4939 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x02, 0x0c, 0x01,
4940 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x00, 0x00, 0x77,
4941 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4942 0x00, 0x6f, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
4944 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x02, 0x0c, 0x01,
4945 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4946 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4947 0x00, 0x6f, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
4949 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x02, 0x0c, 0x01,
4950 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4951 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4952 0x00, 0x6f, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
4954 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x02, 0x0c, 0x01,
4955 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4956 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4957 0x00, 0x6f, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
4959 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x02, 0x0c, 0x01,
4960 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4961 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4962 0x00, 0x6f, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
4964 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x02, 0x0c, 0x01,
4965 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x73, 0x00, 0x00, 0x00, 0x77,
4966 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4967 0x00, 0x6f, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
4969 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x02, 0x0c, 0x01,
4970 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4971 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4972 0x00, 0x6f, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
4974 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x02, 0x0c, 0x01,
4975 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4976 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4977 0x00, 0x6f, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
4979 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x02, 0x0c, 0x01,
4980 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x77,
4981 0x00, 0x09, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4982 0x00, 0x6f, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
4984 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x02, 0x0c, 0x01,
4985 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x62, 0x00, 0x00, 0x00, 0x77,
4986 0x00, 0x08, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4987 0x00, 0x6f, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
4989 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x02, 0x0c, 0x01,
4990 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x61, 0x00, 0x00, 0x00, 0x77,
4991 0x00, 0x08, 0x00, 0x6f, 0x00, 0x61, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4992 0x00, 0x6f, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
4994 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x02, 0x0c, 0x01,
4995 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
4996 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4997 0x00, 0x6f, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
4999 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x02, 0x0c, 0x01,
5000 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
5001 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
5002 0x00, 0x6f, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
5004 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x02, 0x0c, 0x01,
5005 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
5006 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5007 0x00, 0x6f, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
5009 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x02, 0x0c, 0x01,
5010 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
5011 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5012 0x00, 0x6f, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
5014 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x02, 0x0c, 0x01,
5015 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x77,
5016 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5017 0x00, 0x6f, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
5019 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x02, 0x0c, 0x01,
5020 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
5021 0x00, 0x07, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5022 0x00, 0x6f, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
5024 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x02, 0x0c, 0x01,
5025 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
5026 0x00, 0x06, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5027 0x00, 0x6f, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
5029 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x02, 0x0c, 0x01,
5030 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x77,
5031 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5032 0x00, 0x6f, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
5034 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x02, 0x0c, 0x01,
5035 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5036 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5037 0x00, 0x6f, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
5039 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x02, 0x0c, 0x01,
5040 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5041 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5042 0x00, 0x6f, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
5044 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x02, 0x0c, 0x01,
5045 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5046 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5047 0x00, 0x6e, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
5049 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x02, 0x0c, 0x01,
5050 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5051 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5052 0x00, 0x6e, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
5054 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x02, 0x0c, 0x01,
5055 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5056 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5057 0x00, 0x6e, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
5059 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x05, 0x05, 0x02, 0x15, 0x01,
5060 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5061 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5062 0x00, 0x6e, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
5064 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x02, 0x0c, 0x01,
5065 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5066 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5067 0x00, 0x6e, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
5069 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x05, 0x05, 0x02, 0x15, 0x01,
5070 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5071 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5072 0x00, 0x6d, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
5074 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x02, 0x0c, 0x01,
5075 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5076 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5077 0x00, 0x6d, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
5079 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x05, 0x05, 0x02, 0x15, 0x01,
5080 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5081 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5082 0x00, 0x6d, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
5084 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x02, 0x0c, 0x01,
5085 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x77,
5086 0x00, 0x05, 0x00, 0x6d, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5087 0x00, 0x6d, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
5089 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x05, 0x05, 0x02, 0x15, 0x01,
5090 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
5091 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5092 0x00, 0x6c, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
5094 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x02, 0x0c, 0x01,
5095 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
5096 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5097 0x00, 0x6c, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
5099 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x05, 0x05, 0x02, 0x15, 0x01,
5100 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5101 0x00, 0x05, 0x00, 0x6c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5102 0x00, 0x6c, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
5104 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x02, 0x0c, 0x01,
5105 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5106 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5107 0x00, 0x6b, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
5109 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x05, 0x05, 0x02, 0x15, 0x01,
5110 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5111 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5112 0x00, 0x6b, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
5114 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x02, 0x0c, 0x01,
5115 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5116 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5117 0x00, 0x6b, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
5119 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x05, 0x05, 0x02, 0x15, 0x01,
5120 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
5121 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5122 0x00, 0x6b, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
5124 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x02, 0x0c, 0x01,
5125 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
5126 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5127 0x00, 0x6b, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
5129 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x05, 0x05, 0x02, 0x15, 0x01,
5130 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5131 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5132 0x00, 0x6b, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
5134 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x02, 0x0c, 0x01,
5135 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5136 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5137 0x00, 0x6b, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
5139 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x05, 0x05, 0x02, 0x15, 0x01,
5140 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5141 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5142 0x00, 0x6a, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
5144 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x02, 0x0c, 0x01,
5145 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5146 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5147 0x00, 0x6a, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
5149 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x05, 0x05, 0x02, 0x15, 0x01,
5150 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5151 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5152 0x00, 0x6a, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
5154 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x02, 0x0c, 0x01,
5155 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5156 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5157 0x00, 0x6a, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
5159 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x05, 0x05, 0x02, 0x15, 0x01,
5160 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5161 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5162 0x00, 0x69, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
5164 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x02, 0x0c, 0x01,
5165 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5166 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5167 0x00, 0x69, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
5169 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x02, 0x0c, 0x01,
5170 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5171 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5172 0x00, 0x69, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
5174 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x02, 0x0c, 0x01,
5175 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5176 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5177 0x00, 0x69, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
5179 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x02, 0x0c, 0x01,
5180 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5181 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5182 0x00, 0x69, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
5184 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x02, 0x0c, 0x01,
5185 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5186 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5187 0x00, 0x68, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
5189 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x02, 0x0c, 0x01,
5190 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5191 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5192 0x00, 0x68, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
5194 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x02, 0x0c, 0x01,
5195 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5196 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5197 0x00, 0x68, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
5199 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x02, 0x0c, 0x01,
5200 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5201 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5202 0x00, 0x68, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
5204 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x02, 0x0c, 0x01,
5205 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5206 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5207 0x00, 0x68, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
5209 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x06, 0x06, 0x04, 0x2b, 0x01,
5210 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
5211 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
5212 0x0b, 0x00, 0x0a, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
5214 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x06, 0x06, 0x04, 0x2b, 0x01,
5215 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
5216 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
5217 0x0b, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
5219 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x06, 0x06, 0x04, 0x2b, 0x01,
5220 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x67, 0x00, 0x03, 0x00,
5221 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
5222 0x0b, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
5224 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x06, 0x06, 0x04, 0x2b, 0x01,
5225 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x57, 0x00, 0x03, 0x00,
5226 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
5227 0x0a, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
5229 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x06, 0x06, 0x04, 0x2b, 0x01,
5230 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x56, 0x00, 0x03, 0x00,
5231 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x03, 0x00, 0x70, 0x00,
5232 0x0a, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
5234 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x06, 0x06, 0x04, 0x2b, 0x01,
5235 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x46, 0x00, 0x03, 0x00,
5236 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x76, 0x00, 0x03, 0x00, 0x70, 0x00,
5237 0x0a, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
5239 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x06, 0x06, 0x04, 0x2b, 0x01,
5240 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
5241 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x66, 0x00, 0x02, 0x00, 0x70, 0x00,
5242 0x0a, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
5244 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x06, 0x06, 0x04, 0x2b, 0x01,
5245 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
5246 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x55, 0x00, 0x02, 0x00, 0x70, 0x00,
5247 0x0a, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
5249 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x06, 0x06, 0x04, 0x2b, 0x01,
5250 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x23, 0x00, 0x02, 0x00,
5251 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
5252 0x0a, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
5254 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x06, 0x06, 0x04, 0x2b, 0x01,
5255 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x12, 0x00, 0x02, 0x00,
5256 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
5257 0x0a, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
5259 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x06, 0x06, 0x04, 0x2b, 0x01,
5260 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00,
5261 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x33, 0x00, 0x02, 0x00, 0x70, 0x00,
5262 0x09, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
5264 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x06, 0x06, 0x04, 0x2b, 0x01,
5265 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
5266 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x22, 0x00, 0x02, 0x00, 0x70, 0x00,
5267 0x09, 0x00, 0x09, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
5269 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x06, 0x06, 0x04, 0x2b, 0x01,
5270 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
5271 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x11, 0x00, 0x02, 0x00, 0x70, 0x00,
5272 0x09, 0x00, 0x09, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
5274 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x06, 0x06, 0x04, 0x2b, 0x01,
5275 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
5276 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
5277 0x09, 0x00, 0x09, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
5280 static chan_info_nphy_radio2057_t chan_info_nphyrev7_2057_rev4[] = {
5282 184, 4920, 0x68, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xec, 0x01, 0x0f,
5283 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5284 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07b4, 0x07b0, 0x07ac, 0x0214,
5289 186, 4930, 0x6b, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xed, 0x01, 0x0f,
5290 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5291 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07b8, 0x07b4, 0x07b0, 0x0213,
5296 188, 4940, 0x6e, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xee, 0x01, 0x0f,
5297 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5298 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07bc, 0x07b8, 0x07b4, 0x0212,
5303 190, 4950, 0x72, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xef, 0x01, 0x0f,
5304 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5305 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07c0, 0x07bc, 0x07b8, 0x0211,
5310 192, 4960, 0x75, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf0, 0x01, 0x0f,
5311 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5312 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07c4, 0x07c0, 0x07bc, 0x020f,
5317 194, 4970, 0x78, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf1, 0x01, 0x0f,
5318 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5319 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07c8, 0x07c4, 0x07c0, 0x020e,
5324 196, 4980, 0x7c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf2, 0x01, 0x0f,
5325 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5326 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07cc, 0x07c8, 0x07c4, 0x020d,
5331 198, 4990, 0x7f, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf3, 0x01, 0x0f,
5332 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5333 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07d0, 0x07cc, 0x07c8, 0x020c,
5338 200, 5000, 0x82, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf4, 0x01, 0x0f,
5339 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5340 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07d4, 0x07d0, 0x07cc, 0x020b,
5345 202, 5010, 0x86, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf5, 0x01, 0x0f,
5346 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5347 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07d8, 0x07d4, 0x07d0, 0x020a,
5352 204, 5020, 0x89, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf6, 0x01, 0x0e,
5353 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5354 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07dc, 0x07d8, 0x07d4, 0x0209,
5359 206, 5030, 0x8c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf7, 0x01, 0x0e,
5360 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5361 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07e0, 0x07dc, 0x07d8, 0x0208,
5366 208, 5040, 0x90, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf8, 0x01, 0x0e,
5367 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5368 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07e4, 0x07e0, 0x07dc, 0x0207,
5373 210, 5050, 0x93, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf9, 0x01, 0x0e,
5374 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5375 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07e8, 0x07e4, 0x07e0, 0x0206,
5380 212, 5060, 0x96, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfa, 0x01, 0x0e,
5381 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xe3, 0x00, 0xef, 0x00,
5382 0x00, 0x0f, 0x0f, 0xe3, 0x00, 0xef, 0x07ec, 0x07e8, 0x07e4, 0x0205,
5387 214, 5070, 0x9a, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfb, 0x01, 0x0e,
5388 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x00,
5389 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x07f0, 0x07ec, 0x07e8, 0x0204,
5394 216, 5080, 0x9d, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfc, 0x01, 0x0e,
5395 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x00,
5396 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x07f4, 0x07f0, 0x07ec, 0x0203,
5401 218, 5090, 0xa0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfd, 0x01, 0x0e,
5402 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5403 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x07f8, 0x07f4, 0x07f0, 0x0202,
5408 220, 5100, 0xa4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfe, 0x01, 0x0d,
5409 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5410 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x07fc, 0x07f8, 0x07f4, 0x0201,
5415 222, 5110, 0xa7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xff, 0x01, 0x0d,
5416 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5417 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x0800, 0x07fc, 0x07f8, 0x0200,
5422 224, 5120, 0xaa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x00, 0x02, 0x0d,
5423 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5424 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x0804, 0x0800, 0x07fc, 0x01ff,
5429 226, 5130, 0xae, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x01, 0x02, 0x0d,
5430 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5431 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x0808, 0x0804, 0x0800, 0x01fe,
5436 228, 5140, 0xb1, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x02, 0x02, 0x0d,
5437 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0e, 0xe3, 0x00, 0xd6, 0x00,
5438 0x00, 0x0e, 0x0e, 0xe3, 0x00, 0xd6, 0x080c, 0x0808, 0x0804, 0x01fd,
5443 32, 5160, 0xb8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x04, 0x02, 0x0d,
5444 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x00,
5445 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x0814, 0x0810, 0x080c, 0x01fb,
5450 34, 5170, 0xbb, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x05, 0x02, 0x0d,
5451 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x00,
5452 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x0818, 0x0814, 0x0810, 0x01fa,
5457 36, 5180, 0xbe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x06, 0x02, 0x0c,
5458 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5459 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x081c, 0x0818, 0x0814, 0x01f9,
5464 38, 5190, 0xc2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x07, 0x02, 0x0c,
5465 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5466 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x0820, 0x081c, 0x0818, 0x01f8,
5471 40, 5200, 0xc5, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x08, 0x02, 0x0c,
5472 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5473 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x0824, 0x0820, 0x081c, 0x01f7,
5478 42, 5210, 0xc8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x09, 0x02, 0x0c,
5479 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5480 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x0828, 0x0824, 0x0820, 0x01f6,
5485 44, 5220, 0xcc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0a, 0x02, 0x0c,
5486 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5487 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x082c, 0x0828, 0x0824, 0x01f5,
5492 46, 5230, 0xcf, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0b, 0x02, 0x0c,
5493 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5494 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x0830, 0x082c, 0x0828, 0x01f4,
5499 48, 5240, 0xd2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0c, 0x02, 0x0c,
5500 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5501 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x0834, 0x0830, 0x082c, 0x01f3,
5506 50, 5250, 0xd6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0d, 0x02, 0x0c,
5507 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5508 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x0838, 0x0834, 0x0830, 0x01f2,
5513 52, 5260, 0xd9, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0e, 0x02, 0x0b,
5514 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x00,
5515 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x083c, 0x0838, 0x0834, 0x01f1,
5520 54, 5270, 0xdc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0f, 0x02, 0x0b,
5521 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x00,
5522 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x0840, 0x083c, 0x0838, 0x01f0,
5527 56, 5280, 0xe0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x10, 0x02, 0x0b,
5528 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5529 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x0844, 0x0840, 0x083c, 0x01f0,
5534 58, 5290, 0xe3, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x11, 0x02, 0x0b,
5535 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5536 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x0848, 0x0844, 0x0840, 0x01ef,
5541 60, 5300, 0xe6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x12, 0x02, 0x0b,
5542 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5543 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x084c, 0x0848, 0x0844, 0x01ee,
5548 62, 5310, 0xea, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x13, 0x02, 0x0b,
5549 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5550 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x0850, 0x084c, 0x0848, 0x01ed,
5555 64, 5320, 0xed, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x14, 0x02, 0x0b,
5556 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5557 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x0854, 0x0850, 0x084c, 0x01ec,
5562 66, 5330, 0xf0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x15, 0x02, 0x0b,
5563 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5564 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x0858, 0x0854, 0x0850, 0x01eb,
5569 68, 5340, 0xf4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x16, 0x02, 0x0a,
5570 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0c, 0xc3, 0x00, 0xa1, 0x00,
5571 0x00, 0x0a, 0x0c, 0xc3, 0x00, 0xa1, 0x085c, 0x0858, 0x0854, 0x01ea,
5576 70, 5350, 0xf7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x17, 0x02, 0x0a,
5577 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5578 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x0860, 0x085c, 0x0858, 0x01e9,
5583 72, 5360, 0xfa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x18, 0x02, 0x0a,
5584 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5585 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x0864, 0x0860, 0x085c, 0x01e8,
5590 74, 5370, 0xfe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x19, 0x02, 0x0a,
5591 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5592 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x0868, 0x0864, 0x0860, 0x01e7,
5597 76, 5380, 0x01, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1a, 0x02, 0x0a,
5598 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5599 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x086c, 0x0868, 0x0864, 0x01e6,
5604 78, 5390, 0x04, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1b, 0x02, 0x0a,
5605 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0a, 0xa3, 0x00, 0xa1, 0x00,
5606 0x00, 0x0a, 0x0a, 0xa3, 0x00, 0xa1, 0x0870, 0x086c, 0x0868, 0x01e5,
5611 80, 5400, 0x08, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1c, 0x02, 0x0a,
5612 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x00,
5613 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x0874, 0x0870, 0x086c, 0x01e5,
5618 82, 5410, 0x0b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1d, 0x02, 0x0a,
5619 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x00,
5620 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x0878, 0x0874, 0x0870, 0x01e4,
5625 84, 5420, 0x0e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1e, 0x02, 0x09,
5626 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0xa3, 0x00, 0x90, 0x00,
5627 0x00, 0x09, 0x09, 0xa3, 0x00, 0x90, 0x087c, 0x0878, 0x0874, 0x01e3,
5632 86, 5430, 0x12, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1f, 0x02, 0x09,
5633 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x00,
5634 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x0880, 0x087c, 0x0878, 0x01e2,
5639 88, 5440, 0x15, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x20, 0x02, 0x09,
5640 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x00,
5641 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x0884, 0x0880, 0x087c, 0x01e1,
5646 90, 5450, 0x18, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x21, 0x02, 0x09,
5647 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x00,
5648 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x0888, 0x0884, 0x0880, 0x01e0,
5653 92, 5460, 0x1c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x22, 0x02, 0x09,
5654 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x08, 0x93, 0x00, 0x90, 0x00,
5655 0x00, 0x08, 0x08, 0x93, 0x00, 0x90, 0x088c, 0x0888, 0x0884, 0x01df,
5660 94, 5470, 0x1f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x23, 0x02, 0x09,
5661 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x08, 0x93, 0x00, 0x60, 0x00,
5662 0x00, 0x08, 0x08, 0x93, 0x00, 0x60, 0x0890, 0x088c, 0x0888, 0x01de,
5667 96, 5480, 0x22, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x24, 0x02, 0x09,
5668 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5669 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x0894, 0x0890, 0x088c, 0x01dd,
5674 98, 5490, 0x26, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x25, 0x02, 0x09,
5675 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5676 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x0898, 0x0894, 0x0890, 0x01dd,
5681 100, 5500, 0x29, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x26, 0x02, 0x09,
5682 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5683 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x089c, 0x0898, 0x0894, 0x01dc,
5688 102, 5510, 0x2c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x27, 0x02, 0x09,
5689 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5690 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x08a0, 0x089c, 0x0898, 0x01db,
5695 104, 5520, 0x30, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x28, 0x02, 0x08,
5696 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x00,
5697 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x08a4, 0x08a0, 0x089c, 0x01da,
5702 106, 5530, 0x33, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x29, 0x02, 0x08,
5703 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x00,
5704 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x08a8, 0x08a4, 0x08a0, 0x01d9,
5709 108, 5540, 0x36, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2a, 0x02, 0x08,
5710 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x00,
5711 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x08ac, 0x08a8, 0x08a4, 0x01d8,
5716 110, 5550, 0x3a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2b, 0x02, 0x08,
5717 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x00,
5718 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x08b0, 0x08ac, 0x08a8, 0x01d7,
5723 112, 5560, 0x3d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2c, 0x02, 0x08,
5724 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x00,
5725 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x08b4, 0x08b0, 0x08ac, 0x01d7,
5730 114, 5570, 0x40, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2d, 0x02, 0x08,
5731 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x00,
5732 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x08b8, 0x08b4, 0x08b0, 0x01d6,
5737 116, 5580, 0x44, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2e, 0x02, 0x08,
5738 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x07, 0x05, 0x83, 0x00, 0x60, 0x00,
5739 0x00, 0x07, 0x05, 0x83, 0x00, 0x60, 0x08bc, 0x08b8, 0x08b4, 0x01d5,
5744 118, 5590, 0x47, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2f, 0x02, 0x08,
5745 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x07, 0x04, 0x83, 0x00, 0x60, 0x00,
5746 0x00, 0x07, 0x04, 0x83, 0x00, 0x60, 0x08c0, 0x08bc, 0x08b8, 0x01d4,
5751 120, 5600, 0x4a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x30, 0x02, 0x08,
5752 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x07, 0x04, 0x73, 0x00, 0x30, 0x00,
5753 0x00, 0x07, 0x04, 0x73, 0x00, 0x30, 0x08c4, 0x08c0, 0x08bc, 0x01d3,
5758 122, 5610, 0x4e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x31, 0x02, 0x08,
5759 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5760 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08c8, 0x08c4, 0x08c0, 0x01d2,
5765 124, 5620, 0x51, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x32, 0x02, 0x07,
5766 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5767 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08cc, 0x08c8, 0x08c4, 0x01d2,
5772 126, 5630, 0x54, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x33, 0x02, 0x07,
5773 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5774 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08d0, 0x08cc, 0x08c8, 0x01d1,
5779 128, 5640, 0x58, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x34, 0x02, 0x07,
5780 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5781 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08d4, 0x08d0, 0x08cc, 0x01d0,
5786 130, 5650, 0x5b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x35, 0x02, 0x07,
5787 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x00,
5788 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x08d8, 0x08d4, 0x08d0, 0x01cf,
5793 132, 5660, 0x5e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x36, 0x02, 0x07,
5794 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x00,
5795 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x08dc, 0x08d8, 0x08d4, 0x01ce,
5800 134, 5670, 0x62, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x37, 0x02, 0x07,
5801 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x03, 0x63, 0x00, 0x00, 0x00,
5802 0x00, 0x05, 0x03, 0x63, 0x00, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce,
5807 136, 5680, 0x65, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x38, 0x02, 0x07,
5808 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5809 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd,
5814 138, 5690, 0x68, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x39, 0x02, 0x07,
5815 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5816 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc,
5821 140, 5700, 0x6c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3a, 0x02, 0x07,
5822 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5823 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb,
5828 142, 5710, 0x6f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3b, 0x02, 0x07,
5829 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5830 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca,
5835 144, 5720, 0x72, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3c, 0x02, 0x07,
5836 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5837 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9,
5842 145, 5725, 0x74, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x79, 0x04, 0x06,
5843 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x05, 0x01, 0x53, 0x00, 0x00, 0x00,
5844 0x00, 0x05, 0x01, 0x53, 0x00, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9,
5849 146, 5730, 0x76, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3d, 0x02, 0x06,
5850 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5851 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9,
5856 147, 5735, 0x77, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7b, 0x04, 0x06,
5857 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5858 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8,
5863 148, 5740, 0x79, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3e, 0x02, 0x06,
5864 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5865 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8,
5870 149, 5745, 0x7b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7d, 0x04, 0x06,
5871 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5872 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8,
5877 150, 5750, 0x7c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3f, 0x02, 0x06,
5878 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5879 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7,
5884 151, 5755, 0x7e, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7f, 0x04, 0x06,
5885 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5886 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7,
5891 152, 5760, 0x80, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x40, 0x02, 0x06,
5892 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5893 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6,
5898 153, 5765, 0x81, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x81, 0x04, 0x06,
5899 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5900 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6,
5905 154, 5770, 0x83, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x41, 0x02, 0x06,
5906 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5907 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6,
5912 155, 5775, 0x85, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x83, 0x04, 0x06,
5913 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5914 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5,
5919 156, 5780, 0x86, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x42, 0x02, 0x06,
5920 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x03, 0x01, 0x43, 0x00, 0x00, 0x00,
5921 0x00, 0x03, 0x01, 0x43, 0x00, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5,
5926 157, 5785, 0x88, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x85, 0x04, 0x05,
5927 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5928 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4,
5933 158, 5790, 0x8a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x43, 0x02, 0x05,
5934 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5935 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4,
5940 159, 5795, 0x8b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x87, 0x04, 0x05,
5941 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5942 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4,
5947 160, 5800, 0x8d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x44, 0x02, 0x05,
5948 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5949 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3,
5954 161, 5805, 0x8f, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x89, 0x04, 0x05,
5955 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5956 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3,
5961 162, 5810, 0x90, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x45, 0x02, 0x05,
5962 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5963 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2,
5968 163, 5815, 0x92, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8b, 0x04, 0x05,
5969 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5970 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2,
5975 164, 5820, 0x94, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x46, 0x02, 0x05,
5976 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5977 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2,
5982 165, 5825, 0x95, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8d, 0x04, 0x05,
5983 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5984 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1,
5989 166, 5830, 0x97, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x47, 0x02, 0x05,
5990 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5991 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1,
5996 168, 5840, 0x9a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x48, 0x02, 0x05,
5997 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5998 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0,
6003 170, 5850, 0x9e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x49, 0x02, 0x04,
6004 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6005 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf,
6010 172, 5860, 0xa1, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4a, 0x02, 0x04,
6011 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6012 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf,
6017 174, 5870, 0xa4, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4b, 0x02, 0x04,
6018 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6019 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0930, 0x092c, 0x0928, 0x01be,
6024 176, 5880, 0xa8, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4c, 0x02, 0x03,
6025 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6026 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd,
6031 178, 5890, 0xab, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4d, 0x02, 0x03,
6032 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6033 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc,
6038 180, 5900, 0xae, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4e, 0x02, 0x03,
6039 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6040 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc,
6045 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0f,
6046 0x0a, 0x00, 0x0a, 0x00, 0x71, 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6047 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03c9, 0x03c5, 0x03c1, 0x043a,
6052 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0f,
6053 0x0a, 0x00, 0x0a, 0x00, 0x71, 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6054 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cb, 0x03c7, 0x03c3, 0x0438,
6059 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0f,
6060 0x09, 0x00, 0x09, 0x00, 0x71, 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6061 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cd, 0x03c9, 0x03c5, 0x0436,
6066 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0f,
6067 0x09, 0x00, 0x09, 0x00, 0x71, 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6068 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cf, 0x03cb, 0x03c7, 0x0434,
6073 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0f,
6074 0x08, 0x00, 0x08, 0x00, 0x51, 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x51,
6075 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d1, 0x03cd, 0x03c9, 0x0431,
6080 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0f,
6081 0x08, 0x00, 0x08, 0x00, 0x51, 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x51,
6082 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d3, 0x03cf, 0x03cb, 0x042f,
6087 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0f,
6088 0x07, 0x00, 0x07, 0x00, 0x51, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x51,
6089 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d5, 0x03d1, 0x03cd, 0x042d,
6094 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0f,
6095 0x07, 0x00, 0x07, 0x00, 0x31, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6096 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d7, 0x03d3, 0x03cf, 0x042b,
6101 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0f,
6102 0x07, 0x00, 0x07, 0x00, 0x31, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6103 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d9, 0x03d5, 0x03d1, 0x0429,
6108 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0f,
6109 0x06, 0x00, 0x06, 0x00, 0x31, 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6110 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03db, 0x03d7, 0x03d3, 0x0427,
6115 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0f,
6116 0x06, 0x00, 0x06, 0x00, 0x31, 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6117 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03dd, 0x03d9, 0x03d5, 0x0424,
6122 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0f,
6123 0x05, 0x00, 0x05, 0x00, 0x11, 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x11,
6124 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03df, 0x03db, 0x03d7, 0x0422,
6129 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0f,
6130 0x05, 0x00, 0x05, 0x00, 0x11, 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x11,
6131 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03e1, 0x03dd, 0x03d9, 0x0420,
6136 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0f,
6137 0x04, 0x00, 0x04, 0x00, 0x11, 0x43, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x11,
6138 0x43, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x03e6, 0x03e2, 0x03de, 0x041b,
6143 static chan_info_nphy_radio2057_rev5_t chan_info_nphyrev8_2057_rev5[] = {
6145 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0d,
6146 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03c9, 0x03c5, 0x03c1,
6147 0x043a, 0x043f, 0x0443},
6149 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0d,
6150 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03cb, 0x03c7, 0x03c3,
6151 0x0438, 0x043d, 0x0441},
6153 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0d,
6154 0x08, 0x0e, 0x61, 0x03, 0xef, 0x61, 0x03, 0xef, 0x03cd, 0x03c9, 0x03c5,
6155 0x0436, 0x043a, 0x043f},
6157 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0c,
6158 0x08, 0x0e, 0x61, 0x03, 0xdf, 0x61, 0x03, 0xdf, 0x03cf, 0x03cb, 0x03c7,
6159 0x0434, 0x0438, 0x043d},
6161 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0c,
6162 0x07, 0x0d, 0x61, 0x03, 0xcf, 0x61, 0x03, 0xcf, 0x03d1, 0x03cd, 0x03c9,
6163 0x0431, 0x0436, 0x043a},
6165 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0c,
6166 0x07, 0x0d, 0x61, 0x03, 0xbf, 0x61, 0x03, 0xbf, 0x03d3, 0x03cf, 0x03cb,
6167 0x042f, 0x0434, 0x0438},
6169 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0b,
6170 0x07, 0x0d, 0x61, 0x03, 0xaf, 0x61, 0x03, 0xaf, 0x03d5, 0x03d1, 0x03cd,
6171 0x042d, 0x0431, 0x0436},
6173 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0b,
6174 0x07, 0x0d, 0x61, 0x03, 0x9f, 0x61, 0x03, 0x9f, 0x03d7, 0x03d3, 0x03cf,
6175 0x042b, 0x042f, 0x0434},
6177 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0b,
6178 0x07, 0x0d, 0x61, 0x03, 0x8f, 0x61, 0x03, 0x8f, 0x03d9, 0x03d5, 0x03d1,
6179 0x0429, 0x042d, 0x0431},
6181 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0b,
6182 0x07, 0x0c, 0x61, 0x03, 0x7f, 0x61, 0x03, 0x7f, 0x03db, 0x03d7, 0x03d3,
6183 0x0427, 0x042b, 0x042f},
6185 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0b,
6186 0x07, 0x0c, 0x61, 0x03, 0x6f, 0x61, 0x03, 0x6f, 0x03dd, 0x03d9, 0x03d5,
6187 0x0424, 0x0429, 0x042d},
6189 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0b,
6190 0x06, 0x0c, 0x61, 0x03, 0x5f, 0x61, 0x03, 0x5f, 0x03df, 0x03db, 0x03d7,
6191 0x0422, 0x0427, 0x042b},
6193 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0a,
6194 0x06, 0x0b, 0x61, 0x03, 0x4f, 0x61, 0x03, 0x4f, 0x03e1, 0x03dd, 0x03d9,
6195 0x0420, 0x0424, 0x0429},
6197 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0a,
6198 0x06, 0x0b, 0x61, 0x03, 0x3f, 0x61, 0x03, 0x3f, 0x03e6, 0x03e2, 0x03de,
6199 0x041b, 0x041f, 0x0424}
6202 static chan_info_nphy_radio2057_rev5_t chan_info_nphyrev9_2057_rev5v1[] = {
6204 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0d,
6205 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03c9, 0x03c5, 0x03c1,
6206 0x043a, 0x043f, 0x0443},
6208 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0d,
6209 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03cb, 0x03c7, 0x03c3,
6210 0x0438, 0x043d, 0x0441},
6212 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0d,
6213 0x08, 0x0e, 0x61, 0x03, 0xef, 0x61, 0x03, 0xef, 0x03cd, 0x03c9, 0x03c5,
6214 0x0436, 0x043a, 0x043f},
6216 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0c,
6217 0x08, 0x0e, 0x61, 0x03, 0xdf, 0x61, 0x03, 0xdf, 0x03cf, 0x03cb, 0x03c7,
6218 0x0434, 0x0438, 0x043d},
6220 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0c,
6221 0x07, 0x0d, 0x61, 0x03, 0xcf, 0x61, 0x03, 0xcf, 0x03d1, 0x03cd, 0x03c9,
6222 0x0431, 0x0436, 0x043a},
6224 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0c,
6225 0x07, 0x0d, 0x61, 0x03, 0xbf, 0x61, 0x03, 0xbf, 0x03d3, 0x03cf, 0x03cb,
6226 0x042f, 0x0434, 0x0438},
6228 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0b,
6229 0x07, 0x0d, 0x61, 0x03, 0xaf, 0x61, 0x03, 0xaf, 0x03d5, 0x03d1, 0x03cd,
6230 0x042d, 0x0431, 0x0436},
6232 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0b,
6233 0x07, 0x0d, 0x61, 0x03, 0x9f, 0x61, 0x03, 0x9f, 0x03d7, 0x03d3, 0x03cf,
6234 0x042b, 0x042f, 0x0434},
6236 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0b,
6237 0x07, 0x0d, 0x61, 0x03, 0x8f, 0x61, 0x03, 0x8f, 0x03d9, 0x03d5, 0x03d1,
6238 0x0429, 0x042d, 0x0431},
6240 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0b,
6241 0x07, 0x0c, 0x61, 0x03, 0x7f, 0x61, 0x03, 0x7f, 0x03db, 0x03d7, 0x03d3,
6242 0x0427, 0x042b, 0x042f},
6244 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0b,
6245 0x07, 0x0c, 0x61, 0x03, 0x6f, 0x61, 0x03, 0x6f, 0x03dd, 0x03d9, 0x03d5,
6246 0x0424, 0x0429, 0x042d},
6248 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0b,
6249 0x06, 0x0c, 0x61, 0x03, 0x5f, 0x61, 0x03, 0x5f, 0x03df, 0x03db, 0x03d7,
6250 0x0422, 0x0427, 0x042b},
6252 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0a,
6253 0x06, 0x0b, 0x61, 0x03, 0x4f, 0x61, 0x03, 0x4f, 0x03e1, 0x03dd, 0x03d9,
6254 0x0420, 0x0424, 0x0429},
6256 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0a,
6257 0x06, 0x0b, 0x61, 0x03, 0x3f, 0x61, 0x03, 0x3f, 0x03e6, 0x03e2, 0x03de,
6258 0x041b, 0x041f, 0x0424}
6261 static chan_info_nphy_radio2057_t chan_info_nphyrev8_2057_rev7[] = {
6263 184, 4920, 0x68, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xec, 0x01, 0x0f,
6264 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6265 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07b4, 0x07b0, 0x07ac, 0x0214,
6269 186, 4930, 0x6b, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xed, 0x01, 0x0f,
6270 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6271 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07b8, 0x07b4, 0x07b0, 0x0213,
6275 188, 4940, 0x6e, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xee, 0x01, 0x0f,
6276 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6277 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07bc, 0x07b8, 0x07b4, 0x0212,
6281 190, 4950, 0x72, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xef, 0x01, 0x0f,
6282 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6283 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c0, 0x07bc, 0x07b8, 0x0211,
6287 192, 4960, 0x75, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf0, 0x01, 0x0f,
6288 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6289 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c4, 0x07c0, 0x07bc, 0x020f,
6293 194, 4970, 0x78, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf1, 0x01, 0x0f,
6294 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6295 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c8, 0x07c4, 0x07c0, 0x020e,
6299 196, 4980, 0x7c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf2, 0x01, 0x0f,
6300 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6301 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07cc, 0x07c8, 0x07c4, 0x020d,
6305 198, 4990, 0x7f, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf3, 0x01, 0x0f,
6306 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6307 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07d0, 0x07cc, 0x07c8, 0x020c,
6311 200, 5000, 0x82, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf4, 0x01, 0x0f,
6312 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6313 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d4, 0x07d0, 0x07cc, 0x020b,
6317 202, 5010, 0x86, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf5, 0x01, 0x0f,
6318 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6319 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d8, 0x07d4, 0x07d0, 0x020a,
6323 204, 5020, 0x89, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf6, 0x01, 0x0e,
6324 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6325 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07dc, 0x07d8, 0x07d4, 0x0209,
6329 206, 5030, 0x8c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf7, 0x01, 0x0e,
6330 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6331 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e0, 0x07dc, 0x07d8, 0x0208,
6335 208, 5040, 0x90, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf8, 0x01, 0x0e,
6336 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6337 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e4, 0x07e0, 0x07dc, 0x0207,
6341 210, 5050, 0x93, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf9, 0x01, 0x0e,
6342 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6343 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e8, 0x07e4, 0x07e0, 0x0206,
6347 212, 5060, 0x96, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfa, 0x01, 0x0e,
6348 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6349 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07ec, 0x07e8, 0x07e4, 0x0205,
6353 214, 5070, 0x9a, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfb, 0x01, 0x0e,
6354 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6355 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f0, 0x07ec, 0x07e8, 0x0204,
6359 216, 5080, 0x9d, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfc, 0x01, 0x0e,
6360 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6361 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f4, 0x07f0, 0x07ec, 0x0203,
6365 218, 5090, 0xa0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfd, 0x01, 0x0e,
6366 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6367 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f8, 0x07f4, 0x07f0, 0x0202,
6371 220, 5100, 0xa4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfe, 0x01, 0x0d,
6372 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6373 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x07fc, 0x07f8, 0x07f4, 0x0201,
6377 222, 5110, 0xa7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xff, 0x01, 0x0d,
6378 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6379 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0800, 0x07fc, 0x07f8, 0x0200,
6383 224, 5120, 0xaa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x00, 0x02, 0x0d,
6384 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6385 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0804, 0x0800, 0x07fc, 0x01ff,
6389 226, 5130, 0xae, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x01, 0x02, 0x0d,
6390 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6391 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0808, 0x0804, 0x0800, 0x01fe,
6395 228, 5140, 0xb1, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x02, 0x02, 0x0d,
6396 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6397 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x080c, 0x0808, 0x0804, 0x01fd,
6401 32, 5160, 0xb8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x04, 0x02, 0x0d,
6402 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6403 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0814, 0x0810, 0x080c, 0x01fb,
6407 34, 5170, 0xbb, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x05, 0x02, 0x0d,
6408 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6409 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0818, 0x0814, 0x0810, 0x01fa,
6413 36, 5180, 0xbe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x06, 0x02, 0x0c,
6414 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6415 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x081c, 0x0818, 0x0814, 0x01f9,
6419 38, 5190, 0xc2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x07, 0x02, 0x0c,
6420 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6421 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0820, 0x081c, 0x0818, 0x01f8,
6425 40, 5200, 0xc5, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x08, 0x02, 0x0c,
6426 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6427 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0824, 0x0820, 0x081c, 0x01f7,
6431 42, 5210, 0xc8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x09, 0x02, 0x0c,
6432 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6433 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0828, 0x0824, 0x0820, 0x01f6,
6437 44, 5220, 0xcc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0a, 0x02, 0x0c,
6438 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6439 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x082c, 0x0828, 0x0824, 0x01f5,
6443 46, 5230, 0xcf, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0b, 0x02, 0x0c,
6444 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6445 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0830, 0x082c, 0x0828, 0x01f4,
6449 48, 5240, 0xd2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0c, 0x02, 0x0c,
6450 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6451 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0834, 0x0830, 0x082c, 0x01f3,
6455 50, 5250, 0xd6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0d, 0x02, 0x0c,
6456 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6457 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0838, 0x0834, 0x0830, 0x01f2,
6461 52, 5260, 0xd9, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0e, 0x02, 0x0b,
6462 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6463 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x083c, 0x0838, 0x0834, 0x01f1,
6467 54, 5270, 0xdc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0f, 0x02, 0x0b,
6468 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6469 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0840, 0x083c, 0x0838, 0x01f0,
6473 56, 5280, 0xe0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x10, 0x02, 0x0b,
6474 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6475 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0844, 0x0840, 0x083c, 0x01f0,
6479 58, 5290, 0xe3, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x11, 0x02, 0x0b,
6480 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6481 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0848, 0x0844, 0x0840, 0x01ef,
6485 60, 5300, 0xe6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x12, 0x02, 0x0b,
6486 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6487 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x084c, 0x0848, 0x0844, 0x01ee,
6491 62, 5310, 0xea, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x13, 0x02, 0x0b,
6492 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6493 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0850, 0x084c, 0x0848, 0x01ed,
6497 64, 5320, 0xed, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x14, 0x02, 0x0b,
6498 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6499 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0854, 0x0850, 0x084c, 0x01ec,
6503 66, 5330, 0xf0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x15, 0x02, 0x0b,
6504 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6505 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0858, 0x0854, 0x0850, 0x01eb,
6509 68, 5340, 0xf4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x16, 0x02, 0x0a,
6510 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6511 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x085c, 0x0858, 0x0854, 0x01ea,
6515 70, 5350, 0xf7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x17, 0x02, 0x0a,
6516 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6517 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0860, 0x085c, 0x0858, 0x01e9,
6521 72, 5360, 0xfa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x18, 0x02, 0x0a,
6522 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6523 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0864, 0x0860, 0x085c, 0x01e8,
6527 74, 5370, 0xfe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x19, 0x02, 0x0a,
6528 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6529 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0868, 0x0864, 0x0860, 0x01e7,
6533 76, 5380, 0x01, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1a, 0x02, 0x0a,
6534 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6535 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x086c, 0x0868, 0x0864, 0x01e6,
6539 78, 5390, 0x04, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1b, 0x02, 0x0a,
6540 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6541 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0870, 0x086c, 0x0868, 0x01e5,
6545 80, 5400, 0x08, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1c, 0x02, 0x0a,
6546 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6547 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0874, 0x0870, 0x086c, 0x01e5,
6551 82, 5410, 0x0b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1d, 0x02, 0x0a,
6552 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6553 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0878, 0x0874, 0x0870, 0x01e4,
6557 84, 5420, 0x0e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1e, 0x02, 0x09,
6558 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6559 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x087c, 0x0878, 0x0874, 0x01e3,
6563 86, 5430, 0x12, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1f, 0x02, 0x09,
6564 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6565 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0880, 0x087c, 0x0878, 0x01e2,
6569 88, 5440, 0x15, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x20, 0x02, 0x09,
6570 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6571 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0884, 0x0880, 0x087c, 0x01e1,
6575 90, 5450, 0x18, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x21, 0x02, 0x09,
6576 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6577 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0888, 0x0884, 0x0880, 0x01e0,
6581 92, 5460, 0x1c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x22, 0x02, 0x09,
6582 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6583 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x088c, 0x0888, 0x0884, 0x01df,
6587 94, 5470, 0x1f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x23, 0x02, 0x09,
6588 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6589 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0890, 0x088c, 0x0888, 0x01de,
6593 96, 5480, 0x22, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x24, 0x02, 0x09,
6594 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6595 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0894, 0x0890, 0x088c, 0x01dd,
6599 98, 5490, 0x26, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x25, 0x02, 0x09,
6600 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6601 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0898, 0x0894, 0x0890, 0x01dd,
6605 100, 5500, 0x29, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x26, 0x02, 0x09,
6606 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6607 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x089c, 0x0898, 0x0894, 0x01dc,
6611 102, 5510, 0x2c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x27, 0x02, 0x09,
6612 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6613 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a0, 0x089c, 0x0898, 0x01db,
6617 104, 5520, 0x30, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x28, 0x02, 0x08,
6618 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6619 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a4, 0x08a0, 0x089c, 0x01da,
6623 106, 5530, 0x33, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x29, 0x02, 0x08,
6624 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6625 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a8, 0x08a4, 0x08a0, 0x01d9,
6629 108, 5540, 0x36, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2a, 0x02, 0x08,
6630 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6631 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08ac, 0x08a8, 0x08a4, 0x01d8,
6635 110, 5550, 0x3a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2b, 0x02, 0x08,
6636 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6637 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b0, 0x08ac, 0x08a8, 0x01d7,
6641 112, 5560, 0x3d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2c, 0x02, 0x08,
6642 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6643 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b4, 0x08b0, 0x08ac, 0x01d7,
6647 114, 5570, 0x40, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2d, 0x02, 0x08,
6648 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6649 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b8, 0x08b4, 0x08b0, 0x01d6,
6653 116, 5580, 0x44, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2e, 0x02, 0x08,
6654 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6655 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08bc, 0x08b8, 0x08b4, 0x01d5,
6659 118, 5590, 0x47, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2f, 0x02, 0x08,
6660 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6661 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08c0, 0x08bc, 0x08b8, 0x01d4,
6665 120, 5600, 0x4a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x30, 0x02, 0x08,
6666 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6667 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c4, 0x08c0, 0x08bc, 0x01d3,
6671 122, 5610, 0x4e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x31, 0x02, 0x08,
6672 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6673 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c8, 0x08c4, 0x08c0, 0x01d2,
6677 124, 5620, 0x51, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x32, 0x02, 0x07,
6678 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6679 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08cc, 0x08c8, 0x08c4, 0x01d2,
6683 126, 5630, 0x54, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x33, 0x02, 0x07,
6684 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6685 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d0, 0x08cc, 0x08c8, 0x01d1,
6689 128, 5640, 0x58, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x34, 0x02, 0x07,
6690 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6691 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d4, 0x08d0, 0x08cc, 0x01d0,
6695 130, 5650, 0x5b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x35, 0x02, 0x07,
6696 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
6697 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08d8, 0x08d4, 0x08d0, 0x01cf,
6701 132, 5660, 0x5e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x36, 0x02, 0x07,
6702 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
6703 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08dc, 0x08d8, 0x08d4, 0x01ce,
6707 134, 5670, 0x62, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x37, 0x02, 0x07,
6708 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
6709 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08e0, 0x08dc, 0x08d8, 0x01ce,
6713 136, 5680, 0x65, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x38, 0x02, 0x07,
6714 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
6715 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e4, 0x08e0, 0x08dc, 0x01cd,
6719 138, 5690, 0x68, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x39, 0x02, 0x07,
6720 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
6721 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e8, 0x08e4, 0x08e0, 0x01cc,
6725 140, 5700, 0x6c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3a, 0x02, 0x07,
6726 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6727 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08ec, 0x08e8, 0x08e4, 0x01cb,
6731 142, 5710, 0x6f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3b, 0x02, 0x07,
6732 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6733 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f0, 0x08ec, 0x08e8, 0x01ca,
6737 144, 5720, 0x72, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3c, 0x02, 0x07,
6738 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6739 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f4, 0x08f0, 0x08ec, 0x01c9,
6743 145, 5725, 0x74, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x79, 0x04, 0x06,
6744 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6745 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f6, 0x08f2, 0x08ee, 0x01c9,
6749 146, 5730, 0x76, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3d, 0x02, 0x06,
6750 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6751 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f8, 0x08f4, 0x08f0, 0x01c9,
6755 147, 5735, 0x77, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7b, 0x04, 0x06,
6756 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6757 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fa, 0x08f6, 0x08f2, 0x01c8,
6761 148, 5740, 0x79, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3e, 0x02, 0x06,
6762 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6763 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fc, 0x08f8, 0x08f4, 0x01c8,
6767 149, 5745, 0x7b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7d, 0x04, 0x06,
6768 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6769 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fe, 0x08fa, 0x08f6, 0x01c8,
6773 150, 5750, 0x7c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3f, 0x02, 0x06,
6774 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6775 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7,
6779 151, 5755, 0x7e, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7f, 0x04, 0x06,
6780 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6781 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7,
6785 152, 5760, 0x80, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x40, 0x02, 0x06,
6786 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6787 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6,
6791 153, 5765, 0x81, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x81, 0x04, 0x06,
6792 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6793 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6,
6797 154, 5770, 0x83, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x41, 0x02, 0x06,
6798 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6799 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6,
6803 155, 5775, 0x85, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x83, 0x04, 0x06,
6804 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6805 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5,
6809 156, 5780, 0x86, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x42, 0x02, 0x06,
6810 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6811 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5,
6815 157, 5785, 0x88, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x85, 0x04, 0x05,
6816 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6817 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4,
6821 158, 5790, 0x8a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x43, 0x02, 0x05,
6822 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6823 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4,
6827 159, 5795, 0x8b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x87, 0x04, 0x05,
6828 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6829 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4,
6833 160, 5800, 0x8d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x44, 0x02, 0x05,
6834 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x00,
6835 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3,
6839 161, 5805, 0x8f, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x89, 0x04, 0x05,
6840 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6841 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3,
6845 162, 5810, 0x90, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x45, 0x02, 0x05,
6846 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6847 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2,
6851 163, 5815, 0x92, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8b, 0x04, 0x05,
6852 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6853 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2,
6857 164, 5820, 0x94, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x46, 0x02, 0x05,
6858 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6859 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2,
6863 165, 5825, 0x95, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8d, 0x04, 0x05,
6864 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6865 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1,
6869 166, 5830, 0x97, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x47, 0x02, 0x05,
6870 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6871 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1,
6875 168, 5840, 0x9a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x48, 0x02, 0x05,
6876 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6877 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0,
6881 170, 5850, 0x9e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x49, 0x02, 0x04,
6882 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6883 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf,
6887 172, 5860, 0xa1, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4a, 0x02, 0x04,
6888 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6889 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf,
6893 174, 5870, 0xa4, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4b, 0x02, 0x04,
6894 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6895 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0930, 0x092c, 0x0928, 0x01be,
6899 176, 5880, 0xa8, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4c, 0x02, 0x03,
6900 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6901 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd,
6905 178, 5890, 0xab, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4d, 0x02, 0x03,
6906 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6907 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc,
6911 180, 5900, 0xae, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4e, 0x02, 0x03,
6912 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6913 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc,
6917 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0f,
6918 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6919 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03c9, 0x03c5, 0x03c1, 0x043a,
6923 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0f,
6924 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6925 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cb, 0x03c7, 0x03c3, 0x0438,
6929 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0f,
6930 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6931 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cd, 0x03c9, 0x03c5, 0x0436,
6935 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0f,
6936 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6937 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cf, 0x03cb, 0x03c7, 0x0434,
6941 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0f,
6942 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6943 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d1, 0x03cd, 0x03c9, 0x0431,
6947 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0f,
6948 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6949 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d3, 0x03cf, 0x03cb, 0x042f,
6953 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0f,
6954 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6955 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d5, 0x03d1, 0x03cd, 0x042d,
6959 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0f,
6960 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6961 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d7, 0x03d3, 0x03cf, 0x042b,
6965 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0f,
6966 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6967 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d9, 0x03d5, 0x03d1, 0x0429,
6971 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0f,
6972 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6973 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03db, 0x03d7, 0x03d3, 0x0427,
6977 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0f,
6978 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6979 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03dd, 0x03d9, 0x03d5, 0x0424,
6983 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0f,
6984 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6985 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03df, 0x03db, 0x03d7, 0x0422,
6989 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0f,
6990 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6991 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03e1, 0x03dd, 0x03d9, 0x0420,
6995 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0f,
6996 0x04, 0x00, 0x04, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x61,
6997 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x03e6, 0x03e2, 0x03de, 0x041b,
7002 static chan_info_nphy_radio2057_t chan_info_nphyrev8_2057_rev8[] = {
7004 186, 4930, 0x6b, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xed, 0x01, 0x0f,
7005 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7006 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07b8, 0x07b4, 0x07b0, 0x0213,
7010 188, 4940, 0x6e, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xee, 0x01, 0x0f,
7011 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7012 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07bc, 0x07b8, 0x07b4, 0x0212,
7016 190, 4950, 0x72, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xef, 0x01, 0x0f,
7017 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7018 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c0, 0x07bc, 0x07b8, 0x0211,
7022 192, 4960, 0x75, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf0, 0x01, 0x0f,
7023 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7024 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c4, 0x07c0, 0x07bc, 0x020f,
7028 194, 4970, 0x78, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf1, 0x01, 0x0f,
7029 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7030 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c8, 0x07c4, 0x07c0, 0x020e,
7034 196, 4980, 0x7c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf2, 0x01, 0x0f,
7035 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7036 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07cc, 0x07c8, 0x07c4, 0x020d,
7040 198, 4990, 0x7f, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf3, 0x01, 0x0f,
7041 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7042 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07d0, 0x07cc, 0x07c8, 0x020c,
7046 200, 5000, 0x82, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf4, 0x01, 0x0f,
7047 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7048 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d4, 0x07d0, 0x07cc, 0x020b,
7052 202, 5010, 0x86, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf5, 0x01, 0x0f,
7053 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7054 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d8, 0x07d4, 0x07d0, 0x020a,
7058 204, 5020, 0x89, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf6, 0x01, 0x0e,
7059 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7060 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07dc, 0x07d8, 0x07d4, 0x0209,
7064 206, 5030, 0x8c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf7, 0x01, 0x0e,
7065 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7066 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e0, 0x07dc, 0x07d8, 0x0208,
7070 208, 5040, 0x90, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf8, 0x01, 0x0e,
7071 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7072 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e4, 0x07e0, 0x07dc, 0x0207,
7076 210, 5050, 0x93, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf9, 0x01, 0x0e,
7077 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7078 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e8, 0x07e4, 0x07e0, 0x0206,
7082 212, 5060, 0x96, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfa, 0x01, 0x0e,
7083 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7084 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07ec, 0x07e8, 0x07e4, 0x0205,
7088 214, 5070, 0x9a, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfb, 0x01, 0x0e,
7089 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7090 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f0, 0x07ec, 0x07e8, 0x0204,
7094 216, 5080, 0x9d, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfc, 0x01, 0x0e,
7095 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7096 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f4, 0x07f0, 0x07ec, 0x0203,
7100 218, 5090, 0xa0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfd, 0x01, 0x0e,
7101 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7102 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f8, 0x07f4, 0x07f0, 0x0202,
7106 220, 5100, 0xa4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfe, 0x01, 0x0d,
7107 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7108 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x07fc, 0x07f8, 0x07f4, 0x0201,
7112 222, 5110, 0xa7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xff, 0x01, 0x0d,
7113 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7114 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0800, 0x07fc, 0x07f8, 0x0200,
7118 224, 5120, 0xaa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x00, 0x02, 0x0d,
7119 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7120 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0804, 0x0800, 0x07fc, 0x01ff,
7124 226, 5130, 0xae, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x01, 0x02, 0x0d,
7125 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7126 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0808, 0x0804, 0x0800, 0x01fe,
7130 228, 5140, 0xb1, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x02, 0x02, 0x0d,
7131 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7132 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x080c, 0x0808, 0x0804, 0x01fd,
7136 32, 5160, 0xb8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x04, 0x02, 0x0d,
7137 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7138 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0814, 0x0810, 0x080c, 0x01fb,
7142 34, 5170, 0xbb, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x05, 0x02, 0x0d,
7143 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7144 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0818, 0x0814, 0x0810, 0x01fa,
7148 36, 5180, 0xbe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x06, 0x02, 0x0c,
7149 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7150 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x081c, 0x0818, 0x0814, 0x01f9,
7154 38, 5190, 0xc2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x07, 0x02, 0x0c,
7155 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7156 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0820, 0x081c, 0x0818, 0x01f8,
7160 40, 5200, 0xc5, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x08, 0x02, 0x0c,
7161 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7162 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0824, 0x0820, 0x081c, 0x01f7,
7166 42, 5210, 0xc8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x09, 0x02, 0x0c,
7167 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7168 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0828, 0x0824, 0x0820, 0x01f6,
7172 44, 5220, 0xcc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0a, 0x02, 0x0c,
7173 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7174 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x082c, 0x0828, 0x0824, 0x01f5,
7178 46, 5230, 0xcf, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0b, 0x02, 0x0c,
7179 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7180 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0830, 0x082c, 0x0828, 0x01f4,
7184 48, 5240, 0xd2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0c, 0x02, 0x0c,
7185 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7186 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0834, 0x0830, 0x082c, 0x01f3,
7190 50, 5250, 0xd6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0d, 0x02, 0x0c,
7191 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7192 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0838, 0x0834, 0x0830, 0x01f2,
7196 52, 5260, 0xd9, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0e, 0x02, 0x0b,
7197 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7198 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x083c, 0x0838, 0x0834, 0x01f1,
7202 54, 5270, 0xdc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0f, 0x02, 0x0b,
7203 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7204 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0840, 0x083c, 0x0838, 0x01f0,
7208 56, 5280, 0xe0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x10, 0x02, 0x0b,
7209 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7210 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0844, 0x0840, 0x083c, 0x01f0,
7214 58, 5290, 0xe3, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x11, 0x02, 0x0b,
7215 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7216 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0848, 0x0844, 0x0840, 0x01ef,
7220 60, 5300, 0xe6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x12, 0x02, 0x0b,
7221 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7222 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x084c, 0x0848, 0x0844, 0x01ee,
7226 62, 5310, 0xea, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x13, 0x02, 0x0b,
7227 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7228 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0850, 0x084c, 0x0848, 0x01ed,
7232 64, 5320, 0xed, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x14, 0x02, 0x0b,
7233 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7234 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0854, 0x0850, 0x084c, 0x01ec,
7238 66, 5330, 0xf0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x15, 0x02, 0x0b,
7239 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7240 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0858, 0x0854, 0x0850, 0x01eb,
7244 68, 5340, 0xf4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x16, 0x02, 0x0a,
7245 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7246 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x085c, 0x0858, 0x0854, 0x01ea,
7250 70, 5350, 0xf7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x17, 0x02, 0x0a,
7251 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7252 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0860, 0x085c, 0x0858, 0x01e9,
7256 72, 5360, 0xfa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x18, 0x02, 0x0a,
7257 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7258 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0864, 0x0860, 0x085c, 0x01e8,
7262 74, 5370, 0xfe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x19, 0x02, 0x0a,
7263 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7264 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0868, 0x0864, 0x0860, 0x01e7,
7268 76, 5380, 0x01, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1a, 0x02, 0x0a,
7269 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7270 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x086c, 0x0868, 0x0864, 0x01e6,
7274 78, 5390, 0x04, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1b, 0x02, 0x0a,
7275 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7276 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0870, 0x086c, 0x0868, 0x01e5,
7280 80, 5400, 0x08, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1c, 0x02, 0x0a,
7281 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7282 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0874, 0x0870, 0x086c, 0x01e5,
7286 82, 5410, 0x0b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1d, 0x02, 0x0a,
7287 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7288 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0878, 0x0874, 0x0870, 0x01e4,
7292 84, 5420, 0x0e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1e, 0x02, 0x09,
7293 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7294 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x087c, 0x0878, 0x0874, 0x01e3,
7298 86, 5430, 0x12, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1f, 0x02, 0x09,
7299 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7300 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0880, 0x087c, 0x0878, 0x01e2,
7304 88, 5440, 0x15, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x20, 0x02, 0x09,
7305 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7306 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0884, 0x0880, 0x087c, 0x01e1,
7310 90, 5450, 0x18, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x21, 0x02, 0x09,
7311 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7312 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0888, 0x0884, 0x0880, 0x01e0,
7316 92, 5460, 0x1c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x22, 0x02, 0x09,
7317 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7318 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x088c, 0x0888, 0x0884, 0x01df,
7322 94, 5470, 0x1f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x23, 0x02, 0x09,
7323 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7324 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0890, 0x088c, 0x0888, 0x01de,
7328 96, 5480, 0x22, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x24, 0x02, 0x09,
7329 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7330 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0894, 0x0890, 0x088c, 0x01dd,
7334 98, 5490, 0x26, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x25, 0x02, 0x09,
7335 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7336 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0898, 0x0894, 0x0890, 0x01dd,
7340 100, 5500, 0x29, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x26, 0x02, 0x09,
7341 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7342 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x089c, 0x0898, 0x0894, 0x01dc,
7346 102, 5510, 0x2c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x27, 0x02, 0x09,
7347 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7348 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a0, 0x089c, 0x0898, 0x01db,
7352 104, 5520, 0x30, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x28, 0x02, 0x08,
7353 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7354 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a4, 0x08a0, 0x089c, 0x01da,
7358 106, 5530, 0x33, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x29, 0x02, 0x08,
7359 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7360 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a8, 0x08a4, 0x08a0, 0x01d9,
7364 108, 5540, 0x36, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2a, 0x02, 0x08,
7365 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7366 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08ac, 0x08a8, 0x08a4, 0x01d8,
7370 110, 5550, 0x3a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2b, 0x02, 0x08,
7371 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7372 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b0, 0x08ac, 0x08a8, 0x01d7,
7376 112, 5560, 0x3d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2c, 0x02, 0x08,
7377 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7378 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b4, 0x08b0, 0x08ac, 0x01d7,
7382 114, 5570, 0x40, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2d, 0x02, 0x08,
7383 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7384 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b8, 0x08b4, 0x08b0, 0x01d6,
7388 116, 5580, 0x44, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2e, 0x02, 0x08,
7389 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7390 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08bc, 0x08b8, 0x08b4, 0x01d5,
7394 118, 5590, 0x47, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2f, 0x02, 0x08,
7395 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7396 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08c0, 0x08bc, 0x08b8, 0x01d4,
7400 120, 5600, 0x4a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x30, 0x02, 0x08,
7401 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7402 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c4, 0x08c0, 0x08bc, 0x01d3,
7406 122, 5610, 0x4e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x31, 0x02, 0x08,
7407 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7408 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c8, 0x08c4, 0x08c0, 0x01d2,
7412 124, 5620, 0x51, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x32, 0x02, 0x07,
7413 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7414 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08cc, 0x08c8, 0x08c4, 0x01d2,
7418 126, 5630, 0x54, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x33, 0x02, 0x07,
7419 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7420 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d0, 0x08cc, 0x08c8, 0x01d1,
7424 128, 5640, 0x58, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x34, 0x02, 0x07,
7425 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7426 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d4, 0x08d0, 0x08cc, 0x01d0,
7430 130, 5650, 0x5b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x35, 0x02, 0x07,
7431 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
7432 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08d8, 0x08d4, 0x08d0, 0x01cf,
7436 132, 5660, 0x5e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x36, 0x02, 0x07,
7437 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
7438 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08dc, 0x08d8, 0x08d4, 0x01ce,
7442 134, 5670, 0x62, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x37, 0x02, 0x07,
7443 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
7444 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08e0, 0x08dc, 0x08d8, 0x01ce,
7448 136, 5680, 0x65, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x38, 0x02, 0x07,
7449 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
7450 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e4, 0x08e0, 0x08dc, 0x01cd,
7454 138, 5690, 0x68, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x39, 0x02, 0x07,
7455 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
7456 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e8, 0x08e4, 0x08e0, 0x01cc,
7460 140, 5700, 0x6c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3a, 0x02, 0x07,
7461 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7462 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08ec, 0x08e8, 0x08e4, 0x01cb,
7466 142, 5710, 0x6f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3b, 0x02, 0x07,
7467 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7468 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f0, 0x08ec, 0x08e8, 0x01ca,
7472 144, 5720, 0x72, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3c, 0x02, 0x07,
7473 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7474 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f4, 0x08f0, 0x08ec, 0x01c9,
7478 145, 5725, 0x74, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x79, 0x04, 0x06,
7479 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7480 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f6, 0x08f2, 0x08ee, 0x01c9,
7484 146, 5730, 0x76, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3d, 0x02, 0x06,
7485 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7486 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f8, 0x08f4, 0x08f0, 0x01c9,
7490 147, 5735, 0x77, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7b, 0x04, 0x06,
7491 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7492 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fa, 0x08f6, 0x08f2, 0x01c8,
7496 148, 5740, 0x79, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3e, 0x02, 0x06,
7497 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7498 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fc, 0x08f8, 0x08f4, 0x01c8,
7502 149, 5745, 0x7b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7d, 0x04, 0x06,
7503 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7504 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fe, 0x08fa, 0x08f6, 0x01c8,
7508 150, 5750, 0x7c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3f, 0x02, 0x06,
7509 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7510 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7,
7514 151, 5755, 0x7e, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7f, 0x04, 0x06,
7515 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7516 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7,
7520 152, 5760, 0x80, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x40, 0x02, 0x06,
7521 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7522 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6,
7526 153, 5765, 0x81, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x81, 0x04, 0x06,
7527 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7528 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6,
7532 154, 5770, 0x83, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x41, 0x02, 0x06,
7533 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7534 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6,
7538 155, 5775, 0x85, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x83, 0x04, 0x06,
7539 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7540 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5,
7544 156, 5780, 0x86, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x42, 0x02, 0x06,
7545 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7546 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5,
7550 157, 5785, 0x88, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x85, 0x04, 0x05,
7551 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7552 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4,
7556 158, 5790, 0x8a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x43, 0x02, 0x05,
7557 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7558 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4,
7562 159, 5795, 0x8b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x87, 0x04, 0x05,
7563 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7564 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4,
7568 160, 5800, 0x8d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x44, 0x02, 0x05,
7569 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x00,
7570 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3,
7574 161, 5805, 0x8f, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x89, 0x04, 0x05,
7575 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7576 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3,
7580 162, 5810, 0x90, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x45, 0x02, 0x05,
7581 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7582 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2,
7586 163, 5815, 0x92, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8b, 0x04, 0x05,
7587 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7588 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2,
7592 164, 5820, 0x94, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x46, 0x02, 0x05,
7593 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7594 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2,
7598 165, 5825, 0x95, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8d, 0x04, 0x05,
7599 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7600 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1,
7604 166, 5830, 0x97, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x47, 0x02, 0x05,
7605 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7606 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1,
7610 168, 5840, 0x9a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x48, 0x02, 0x05,
7611 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7612 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0,
7616 170, 5850, 0x9e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x49, 0x02, 0x04,
7617 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7618 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf,
7622 172, 5860, 0xa1, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4a, 0x02, 0x04,
7623 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7624 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf,
7628 174, 5870, 0xa4, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4b, 0x02, 0x04,
7629 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7630 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0930, 0x092c, 0x0928, 0x01be,
7634 176, 5880, 0xa8, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4c, 0x02, 0x03,
7635 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7636 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd,
7640 178, 5890, 0xab, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4d, 0x02, 0x03,
7641 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7642 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc,
7646 180, 5900, 0xae, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4e, 0x02, 0x03,
7647 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7648 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc,
7652 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0f,
7653 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7654 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03c9, 0x03c5, 0x03c1, 0x043a,
7658 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0f,
7659 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7660 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cb, 0x03c7, 0x03c3, 0x0438,
7664 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0f,
7665 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7666 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cd, 0x03c9, 0x03c5, 0x0436,
7670 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0f,
7671 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7672 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cf, 0x03cb, 0x03c7, 0x0434,
7676 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0f,
7677 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7678 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d1, 0x03cd, 0x03c9, 0x0431,
7682 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0f,
7683 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7684 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d3, 0x03cf, 0x03cb, 0x042f,
7688 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0f,
7689 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7690 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d5, 0x03d1, 0x03cd, 0x042d,
7694 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0f,
7695 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7696 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d7, 0x03d3, 0x03cf, 0x042b,
7700 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0f,
7701 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7702 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d9, 0x03d5, 0x03d1, 0x0429,
7706 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0f,
7707 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7708 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03db, 0x03d7, 0x03d3, 0x0427,
7712 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0f,
7713 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7714 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03dd, 0x03d9, 0x03d5, 0x0424,
7718 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0f,
7719 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7720 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03df, 0x03db, 0x03d7, 0x0422,
7724 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0f,
7725 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7726 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03e1, 0x03dd, 0x03d9, 0x0420,
7730 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0f,
7731 0x04, 0x00, 0x04, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x61,
7732 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x03e6, 0x03e2, 0x03de, 0x041b,
7737 radio_regs_t regs_2055[] = {
7738 {0x02, 0x80, 0x80, 0, 0},
7740 {0x04, 0x27, 0x27, 0, 0},
7742 {0x06, 0x27, 0x27, 0, 0},
7743 {0x07, 0x7f, 0x7f, 1, 1},
7744 {0x08, 0x7, 0x7, 1, 1},
7745 {0x09, 0x7f, 0x7f, 1, 1},
7746 {0x0A, 0x7, 0x7, 1, 1},
7747 {0x0B, 0x15, 0x15, 0, 0},
7748 {0x0C, 0x15, 0x15, 0, 0},
7749 {0x0D, 0x4f, 0x4f, 1, 1},
7750 {0x0E, 0x5, 0x5, 1, 1},
7751 {0x0F, 0x4f, 0x4f, 1, 1},
7752 {0x10, 0x5, 0x5, 1, 1},
7753 {0x11, 0xd0, 0xd0, 0, 0},
7754 {0x12, 0x2, 0x2, 0, 0},
7756 {0x14, 0x40, 0x40, 0, 0},
7765 {0x1D, 0xc0, 0xc0, 0, 0},
7766 {0x1E, 0xff, 0xff, 0, 0},
7767 {0x1F, 0xc0, 0xc0, 0, 0},
7768 {0x20, 0xff, 0xff, 0, 0},
7769 {0x21, 0xc0, 0xc0, 0, 0},
7771 {0x23, 0x2c, 0x2c, 0, 0},
7781 {0x2D, 0xa4, 0xa4, 0, 0},
7782 {0x2E, 0x38, 0x38, 0, 0},
7784 {0x30, 0x4, 0x4, 1, 1},
7786 {0x32, 0xa, 0xa, 0, 0},
7787 {0x33, 0x87, 0x87, 0, 0},
7788 {0x34, 0x9, 0x9, 0, 0},
7789 {0x35, 0x70, 0x70, 0, 0},
7790 {0x36, 0x11, 0x11, 0, 0},
7791 {0x37, 0x18, 0x18, 1, 1},
7792 {0x38, 0x6, 0x6, 0, 0},
7793 {0x39, 0x4, 0x4, 1, 1},
7794 {0x3A, 0x6, 0x6, 0, 0},
7795 {0x3B, 0x9e, 0x9e, 0, 0},
7796 {0x3C, 0x9, 0x9, 0, 0},
7797 {0x3D, 0xc8, 0xc8, 1, 1},
7798 {0x3E, 0x88, 0x88, 0, 0},
7802 {0x42, 0x1, 0x1, 0, 0},
7803 {0x43, 0x2, 0x2, 0, 0},
7804 {0x44, 0x96, 0x96, 0, 0},
7805 {0x45, 0x3e, 0x3e, 0, 0},
7806 {0x46, 0x3e, 0x3e, 0, 0},
7807 {0x47, 0x13, 0x13, 0, 0},
7808 {0x48, 0x2, 0x2, 0, 0},
7809 {0x49, 0x15, 0x15, 0, 0},
7810 {0x4A, 0x7, 0x7, 0, 0},
7816 {0x50, 0x8, 0x8, 0, 0},
7817 {0x51, 0x8, 0x8, 0, 0},
7818 {0x52, 0x6, 0x6, 0, 0},
7819 {0x53, 0x84, 0x84, 1, 1},
7820 {0x54, 0xc3, 0xc3, 0, 0},
7821 {0x55, 0x8f, 0x8f, 0, 0},
7822 {0x56, 0xff, 0xff, 0, 0},
7823 {0x57, 0xff, 0xff, 0, 0},
7824 {0x58, 0x88, 0x88, 0, 0},
7825 {0x59, 0x88, 0x88, 0, 0},
7827 {0x5B, 0xcc, 0xcc, 0, 0},
7828 {0x5C, 0x6, 0x6, 0, 0},
7829 {0x5D, 0x80, 0x80, 0, 0},
7830 {0x5E, 0x80, 0x80, 0, 0},
7831 {0x5F, 0xf8, 0xf8, 0, 0},
7832 {0x60, 0x88, 0x88, 0, 0},
7833 {0x61, 0x88, 0x88, 0, 0},
7834 {0x62, 0x88, 0x8, 1, 1},
7835 {0x63, 0x88, 0x88, 0, 0},
7837 {0x65, 0x1, 0x1, 1, 1},
7838 {0x66, 0x8a, 0x8a, 0, 0},
7839 {0x67, 0x8, 0x8, 0, 0},
7840 {0x68, 0x83, 0x83, 0, 0},
7841 {0x69, 0x6, 0x6, 0, 0},
7842 {0x6A, 0xa0, 0xa0, 0, 0},
7843 {0x6B, 0xa, 0xa, 0, 0},
7844 {0x6C, 0x87, 0x87, 1, 1},
7845 {0x6D, 0x2a, 0x2a, 0, 0},
7846 {0x6E, 0x2a, 0x2a, 0, 0},
7847 {0x6F, 0x2a, 0x2a, 0, 0},
7848 {0x70, 0x2a, 0x2a, 0, 0},
7849 {0x71, 0x18, 0x18, 0, 0},
7850 {0x72, 0x6a, 0x6a, 1, 1},
7851 {0x73, 0xab, 0xab, 1, 1},
7852 {0x74, 0x13, 0x13, 1, 1},
7853 {0x75, 0xc1, 0xc1, 1, 1},
7854 {0x76, 0xaa, 0xaa, 1, 1},
7855 {0x77, 0x87, 0x87, 1, 1},
7857 {0x79, 0x6, 0x6, 0, 0},
7858 {0x7A, 0x7, 0x7, 0, 0},
7859 {0x7B, 0x7, 0x7, 0, 0},
7860 {0x7C, 0x15, 0x15, 0, 0},
7861 {0x7D, 0x55, 0x55, 0, 0},
7862 {0x7E, 0x97, 0x97, 1, 1},
7863 {0x7F, 0x8, 0x8, 0, 0},
7864 {0x80, 0x14, 0x14, 1, 1},
7865 {0x81, 0x33, 0x33, 0, 0},
7866 {0x82, 0x88, 0x88, 0, 0},
7867 {0x83, 0x6, 0x6, 0, 0},
7868 {0x84, 0x3, 0x3, 1, 1},
7869 {0x85, 0xa, 0xa, 0, 0},
7870 {0x86, 0x3, 0x3, 1, 1},
7871 {0x87, 0x2a, 0x2a, 0, 0},
7872 {0x88, 0xa4, 0xa4, 0, 0},
7873 {0x89, 0x18, 0x18, 0, 0},
7874 {0x8A, 0x28, 0x28, 0, 0},
7876 {0x8C, 0x4a, 0x4a, 0, 0},
7878 {0x8E, 0xf8, 0xf8, 0, 0},
7879 {0x8F, 0x88, 0x88, 0, 0},
7880 {0x90, 0x88, 0x88, 0, 0},
7881 {0x91, 0x88, 0x8, 1, 1},
7882 {0x92, 0x88, 0x88, 0, 0},
7884 {0x94, 0x1, 0x1, 1, 1},
7885 {0x95, 0x8a, 0x8a, 0, 0},
7886 {0x96, 0x8, 0x8, 0, 0},
7887 {0x97, 0x83, 0x83, 0, 0},
7888 {0x98, 0x6, 0x6, 0, 0},
7889 {0x99, 0xa0, 0xa0, 0, 0},
7890 {0x9A, 0xa, 0xa, 0, 0},
7891 {0x9B, 0x87, 0x87, 1, 1},
7892 {0x9C, 0x2a, 0x2a, 0, 0},
7893 {0x9D, 0x2a, 0x2a, 0, 0},
7894 {0x9E, 0x2a, 0x2a, 0, 0},
7895 {0x9F, 0x2a, 0x2a, 0, 0},
7896 {0xA0, 0x18, 0x18, 0, 0},
7897 {0xA1, 0x6a, 0x6a, 1, 1},
7898 {0xA2, 0xab, 0xab, 1, 1},
7899 {0xA3, 0x13, 0x13, 1, 1},
7900 {0xA4, 0xc1, 0xc1, 1, 1},
7901 {0xA5, 0xaa, 0xaa, 1, 1},
7902 {0xA6, 0x87, 0x87, 1, 1},
7904 {0xA8, 0x6, 0x6, 0, 0},
7905 {0xA9, 0x7, 0x7, 0, 0},
7906 {0xAA, 0x7, 0x7, 0, 0},
7907 {0xAB, 0x15, 0x15, 0, 0},
7908 {0xAC, 0x55, 0x55, 0, 0},
7909 {0xAD, 0x97, 0x97, 1, 1},
7910 {0xAE, 0x8, 0x8, 0, 0},
7911 {0xAF, 0x14, 0x14, 1, 1},
7912 {0xB0, 0x33, 0x33, 0, 0},
7913 {0xB1, 0x88, 0x88, 0, 0},
7914 {0xB2, 0x6, 0x6, 0, 0},
7915 {0xB3, 0x3, 0x3, 1, 1},
7916 {0xB4, 0xa, 0xa, 0, 0},
7917 {0xB5, 0x3, 0x3, 1, 1},
7918 {0xB6, 0x2a, 0x2a, 0, 0},
7919 {0xB7, 0xa4, 0xa4, 0, 0},
7920 {0xB8, 0x18, 0x18, 0, 0},
7921 {0xB9, 0x28, 0x28, 0, 0},
7923 {0xBB, 0x4a, 0x4a, 0, 0},
7925 {0xBD, 0x71, 0x71, 0, 0},
7926 {0xBE, 0x72, 0x72, 0, 0},
7927 {0xBF, 0x73, 0x73, 0, 0},
7928 {0xC0, 0x74, 0x74, 0, 0},
7929 {0xC1, 0x75, 0x75, 0, 0},
7930 {0xC2, 0x76, 0x76, 0, 0},
7931 {0xC3, 0x77, 0x77, 0, 0},
7932 {0xC4, 0x78, 0x78, 0, 0},
7933 {0xC5, 0x79, 0x79, 0, 0},
7934 {0xC6, 0x7a, 0x7a, 0, 0},
7942 {0xCE, 0x6, 0x6, 0, 0},
7945 {0xD1, 0x18, 0x18, 0, 0},
7946 {0xD2, 0x88, 0x88, 0, 0},
7954 {0xDA, 0x6, 0x6, 0, 0},
7957 {0xDD, 0x18, 0x18, 0, 0},
7958 {0xDE, 0x88, 0x88, 0, 0},
7963 {0xFFFF, 0, 0, 0, 0},
7966 radio_regs_t regs_SYN_2056[] = {
7974 {0x09, 0x1, 0x1, 0, 0},
7999 {0x22, 0x60, 0x60, 0, 0},
8000 {0x23, 0x6, 0x6, 0, 0},
8001 {0x24, 0xc, 0xc, 0, 0},
8005 {0x28, 0x1, 0x1, 0, 0},
8011 {0x2E, 0xd, 0xd, 0, 0},
8012 {0x2F, 0x1f, 0x1f, 0, 0},
8013 {0x30, 0x15, 0x15, 0, 0},
8014 {0x31, 0xf, 0xf, 0, 0},
8025 {0x3C, 0x13, 0x13, 0, 0},
8026 {0x3D, 0xf, 0xf, 0, 0},
8027 {0x3E, 0x18, 0x18, 0, 0},
8030 {0x41, 0x20, 0x20, 0, 0},
8031 {0x42, 0x20, 0x20, 0, 0},
8033 {0x44, 0x77, 0x77, 0, 0},
8034 {0x45, 0x7, 0x7, 0, 0},
8035 {0x46, 0x1, 0x1, 0, 0},
8036 {0x47, 0x4, 0x4, 0, 0},
8037 {0x48, 0xf, 0xf, 0, 0},
8038 {0x49, 0x30, 0x30, 0, 0},
8039 {0x4A, 0x32, 0x32, 0, 0},
8040 {0x4B, 0xd, 0xd, 0, 0},
8041 {0x4C, 0xd, 0xd, 0, 0},
8042 {0x4D, 0x4, 0x4, 0, 0},
8043 {0x4E, 0x6, 0x6, 0, 0},
8044 {0x4F, 0x1, 0x1, 0, 0},
8045 {0x50, 0x1c, 0x1c, 0, 0},
8046 {0x51, 0x2, 0x2, 0, 0},
8047 {0x52, 0x2, 0x2, 0, 0},
8048 {0x53, 0xf7, 0xf7, 1, 1},
8049 {0x54, 0xb4, 0xb4, 0, 0},
8050 {0x55, 0xd2, 0xd2, 0, 0},
8053 {0x58, 0x4, 0x4, 0, 0},
8054 {0x59, 0x96, 0x96, 0, 0},
8055 {0x5A, 0x3e, 0x3e, 0, 0},
8056 {0x5B, 0x3e, 0x3e, 0, 0},
8057 {0x5C, 0x13, 0x13, 0, 0},
8058 {0x5D, 0x2, 0x2, 0, 0},
8060 {0x5F, 0x7, 0x7, 0, 0},
8061 {0x60, 0x7, 0x7, 1, 1},
8062 {0x61, 0x8, 0x8, 0, 0},
8063 {0x62, 0x3, 0x3, 0, 0},
8069 {0x68, 0x40, 0x40, 0, 0},
8074 {0x6D, 0x1, 0x1, 0, 0},
8077 {0x70, 0x60, 0x60, 0, 0},
8078 {0x71, 0x66, 0x66, 0, 0},
8079 {0x72, 0xc, 0xc, 0, 0},
8080 {0x73, 0x66, 0x66, 0, 0},
8081 {0x74, 0x8f, 0x8f, 1, 1},
8083 {0x76, 0xcc, 0xcc, 0, 0},
8084 {0x77, 0x1, 0x1, 0, 0},
8085 {0x78, 0x66, 0x66, 0, 0},
8086 {0x79, 0x66, 0x66, 0, 0},
8098 {0x85, 0xff, 0xff, 0, 0},
8124 {0x9F, 0x6, 0x6, 0, 0},
8125 {0xA0, 0x66, 0x66, 0, 0},
8126 {0xA1, 0x66, 0x66, 0, 0},
8127 {0xA2, 0x66, 0x66, 0, 0},
8128 {0xA3, 0x66, 0x66, 0, 0},
8129 {0xA4, 0x66, 0x66, 0, 0},
8130 {0xA5, 0x66, 0x66, 0, 0},
8131 {0xA6, 0x66, 0x66, 0, 0},
8132 {0xA7, 0x66, 0x66, 0, 0},
8133 {0xA8, 0x66, 0x66, 0, 0},
8134 {0xA9, 0x66, 0x66, 0, 0},
8135 {0xAA, 0x66, 0x66, 0, 0},
8136 {0xAB, 0x66, 0x66, 0, 0},
8137 {0xAC, 0x66, 0x66, 0, 0},
8138 {0xAD, 0x66, 0x66, 0, 0},
8139 {0xAE, 0x66, 0x66, 0, 0},
8140 {0xAF, 0x66, 0x66, 0, 0},
8141 {0xB0, 0x66, 0x66, 0, 0},
8142 {0xB1, 0x66, 0x66, 0, 0},
8143 {0xB2, 0x66, 0x66, 0, 0},
8144 {0xB3, 0xa, 0xa, 0, 0},
8148 {0xFFFF, 0, 0, 0, 0}
8151 radio_regs_t regs_TX_2056[] = {
8183 {0x21, 0x88, 0x88, 0, 0},
8184 {0x22, 0x88, 0x88, 0, 0},
8185 {0x23, 0x88, 0x88, 0, 0},
8186 {0x24, 0x88, 0x88, 0, 0},
8187 {0x25, 0xc, 0xc, 0, 0},
8189 {0x27, 0x3, 0x3, 0, 0},
8191 {0x29, 0x3, 0x3, 0, 0},
8192 {0x2A, 0x37, 0x37, 0, 0},
8193 {0x2B, 0x3, 0x3, 0, 0},
8196 {0x2E, 0x1, 0x1, 0, 0},
8197 {0x2F, 0x1, 0x1, 0, 0},
8201 {0x33, 0x11, 0x11, 0, 0},
8202 {0x34, 0x11, 0x11, 0, 0},
8205 {0x37, 0x3, 0x3, 0, 0},
8206 {0x38, 0xf, 0xf, 0, 0},
8208 {0x3A, 0x2d, 0x2d, 0, 0},
8210 {0x3C, 0x6e, 0x6e, 0, 0},
8211 {0x3D, 0xf0, 0xf0, 1, 1},
8215 {0x41, 0x3, 0x3, 0, 0},
8216 {0x42, 0x3, 0x3, 0, 0},
8218 {0x44, 0x1e, 0x1e, 0, 0},
8220 {0x46, 0x6e, 0x6e, 0, 0},
8221 {0x47, 0xf0, 0xf0, 1, 1},
8223 {0x49, 0x2, 0x2, 0, 0},
8224 {0x4A, 0xff, 0xff, 1, 1},
8225 {0x4B, 0xc, 0xc, 0, 0},
8227 {0x4D, 0x38, 0x38, 0, 0},
8228 {0x4E, 0x70, 0x70, 1, 1},
8229 {0x4F, 0x2, 0x2, 0, 0},
8230 {0x50, 0x88, 0x88, 0, 0},
8231 {0x51, 0xc, 0xc, 0, 0},
8233 {0x53, 0x8, 0x8, 0, 0},
8234 {0x54, 0x70, 0x70, 1, 1},
8235 {0x55, 0x2, 0x2, 0, 0},
8236 {0x56, 0xff, 0xff, 1, 1},
8238 {0x58, 0x83, 0x83, 0, 0},
8239 {0x59, 0x77, 0x77, 1, 1},
8241 {0x5B, 0x2, 0x2, 0, 0},
8242 {0x5C, 0x88, 0x88, 0, 0},
8244 {0x5E, 0x8, 0x8, 0, 0},
8245 {0x5F, 0x77, 0x77, 1, 1},
8246 {0x60, 0x1, 0x1, 0, 0},
8248 {0x62, 0x7, 0x7, 0, 0},
8250 {0x64, 0x7, 0x7, 0, 0},
8253 {0x67, 0x74, 0x74, 1, 1},
8255 {0x69, 0xa, 0xa, 0, 0},
8263 {0x71, 0x2, 0x2, 0, 0},
8266 {0x74, 0xe, 0xe, 0, 0},
8267 {0x75, 0xe, 0xe, 0, 0},
8268 {0x76, 0xe, 0xe, 0, 0},
8269 {0x77, 0x13, 0x13, 0, 0},
8270 {0x78, 0x13, 0x13, 0, 0},
8271 {0x79, 0x1b, 0x1b, 0, 0},
8272 {0x7A, 0x1b, 0x1b, 0, 0},
8273 {0x7B, 0x55, 0x55, 0, 0},
8274 {0x7C, 0x5b, 0x5b, 0, 0},
8297 {0xFFFF, 0, 0, 0, 0}
8300 radio_regs_t regs_RX_2056[] = {
8331 {0x20, 0x3, 0x3, 0, 0},
8334 {0x23, 0x90, 0x90, 0, 0},
8335 {0x24, 0x55, 0x55, 0, 0},
8336 {0x25, 0x15, 0x15, 0, 0},
8337 {0x26, 0x5, 0x5, 0, 0},
8338 {0x27, 0x15, 0x15, 0, 0},
8339 {0x28, 0x5, 0x5, 0, 0},
8340 {0x29, 0x20, 0x20, 0, 0},
8341 {0x2A, 0x11, 0x11, 0, 0},
8342 {0x2B, 0x90, 0x90, 0, 0},
8344 {0x2D, 0x88, 0x88, 0, 0},
8345 {0x2E, 0x32, 0x32, 0, 0},
8346 {0x2F, 0x77, 0x77, 0, 0},
8347 {0x30, 0x17, 0x17, 1, 1},
8348 {0x31, 0xff, 0xff, 1, 1},
8349 {0x32, 0x20, 0x20, 0, 0},
8351 {0x34, 0x88, 0x88, 0, 0},
8352 {0x35, 0x32, 0x32, 0, 0},
8353 {0x36, 0x77, 0x77, 0, 0},
8354 {0x37, 0x17, 0x17, 1, 1},
8355 {0x38, 0xf0, 0xf0, 1, 1},
8356 {0x39, 0x20, 0x20, 0, 0},
8357 {0x3A, 0x8, 0x8, 0, 0},
8358 {0x3B, 0x99, 0x99, 0, 0},
8360 {0x3D, 0x44, 0x44, 1, 1},
8362 {0x3F, 0x44, 0x44, 0, 0},
8363 {0x40, 0xf, 0xf, 1, 1},
8364 {0x41, 0x6, 0x6, 0, 0},
8365 {0x42, 0x4, 0x4, 0, 0},
8366 {0x43, 0x50, 0x50, 1, 1},
8367 {0x44, 0x8, 0x8, 0, 0},
8368 {0x45, 0x99, 0x99, 0, 0},
8370 {0x47, 0x11, 0x11, 0, 0},
8372 {0x49, 0x44, 0x44, 0, 0},
8373 {0x4A, 0x7, 0x7, 0, 0},
8374 {0x4B, 0x6, 0x6, 0, 0},
8375 {0x4C, 0x4, 0x4, 0, 0},
8378 {0x4F, 0x66, 0x66, 0, 0},
8379 {0x50, 0x66, 0x66, 0, 0},
8380 {0x51, 0x57, 0x57, 0, 0},
8381 {0x52, 0x57, 0x57, 0, 0},
8382 {0x53, 0x44, 0x44, 0, 0},
8385 {0x56, 0x8, 0x8, 0, 0},
8386 {0x57, 0x8, 0x8, 0, 0},
8387 {0x58, 0x7, 0x7, 0, 0},
8388 {0x59, 0x22, 0x22, 0, 0},
8389 {0x5A, 0x22, 0x22, 0, 0},
8390 {0x5B, 0x2, 0x2, 0, 0},
8391 {0x5C, 0x23, 0x23, 0, 0},
8392 {0x5D, 0x7, 0x7, 0, 0},
8393 {0x5E, 0x55, 0x55, 0, 0},
8394 {0x5F, 0x23, 0x23, 0, 0},
8395 {0x60, 0x41, 0x41, 0, 0},
8396 {0x61, 0x1, 0x1, 0, 0},
8397 {0x62, 0xa, 0xa, 0, 0},
8406 {0x6B, 0xc, 0xc, 0, 0},
8413 {0x72, 0x22, 0x22, 0, 0},
8414 {0x73, 0x22, 0x22, 0, 0},
8415 {0x74, 0x2, 0x2, 0, 0},
8416 {0x75, 0xa, 0xa, 0, 0},
8417 {0x76, 0x1, 0x1, 0, 0},
8418 {0x77, 0x22, 0x22, 0, 0},
8419 {0x78, 0x30, 0x30, 0, 0},
8448 {0xFFFF, 0, 0, 0, 0}
8451 radio_regs_t regs_SYN_2056_A1[] = {
8459 {0x09, 0x1, 0x1, 0, 0},
8484 {0x22, 0x60, 0x60, 0, 0},
8485 {0x23, 0x6, 0x6, 0, 0},
8486 {0x24, 0xc, 0xc, 0, 0},
8490 {0x28, 0x1, 0x1, 0, 0},
8496 {0x2E, 0xd, 0xd, 0, 0},
8497 {0x2F, 0x1f, 0x1f, 0, 0},
8498 {0x30, 0x15, 0x15, 0, 0},
8499 {0x31, 0xf, 0xf, 0, 0},
8510 {0x3C, 0x13, 0x13, 0, 0},
8511 {0x3D, 0xf, 0xf, 0, 0},
8512 {0x3E, 0x18, 0x18, 0, 0},
8515 {0x41, 0x20, 0x20, 0, 0},
8516 {0x42, 0x20, 0x20, 0, 0},
8518 {0x44, 0x77, 0x77, 0, 0},
8519 {0x45, 0x7, 0x7, 0, 0},
8520 {0x46, 0x1, 0x1, 0, 0},
8521 {0x47, 0x4, 0x4, 0, 0},
8522 {0x48, 0xf, 0xf, 0, 0},
8523 {0x49, 0x30, 0x30, 0, 0},
8524 {0x4A, 0x32, 0x32, 0, 0},
8525 {0x4B, 0xd, 0xd, 0, 0},
8526 {0x4C, 0xd, 0xd, 0, 0},
8527 {0x4D, 0x4, 0x4, 0, 0},
8528 {0x4E, 0x6, 0x6, 0, 0},
8529 {0x4F, 0x1, 0x1, 0, 0},
8530 {0x50, 0x1c, 0x1c, 0, 0},
8531 {0x51, 0x2, 0x2, 0, 0},
8532 {0x52, 0x2, 0x2, 0, 0},
8533 {0x53, 0xf7, 0xf7, 1, 1},
8534 {0x54, 0xb4, 0xb4, 0, 0},
8535 {0x55, 0xd2, 0xd2, 0, 0},
8538 {0x58, 0x4, 0x4, 0, 0},
8539 {0x59, 0x96, 0x96, 0, 0},
8540 {0x5A, 0x3e, 0x3e, 0, 0},
8541 {0x5B, 0x3e, 0x3e, 0, 0},
8542 {0x5C, 0x13, 0x13, 0, 0},
8543 {0x5D, 0x2, 0x2, 0, 0},
8545 {0x5F, 0x7, 0x7, 0, 0},
8546 {0x60, 0x7, 0x7, 1, 1},
8547 {0x61, 0x8, 0x8, 0, 0},
8548 {0x62, 0x3, 0x3, 0, 0},
8554 {0x68, 0x40, 0x40, 0, 0},
8559 {0x6D, 0x1, 0x1, 0, 0},
8562 {0x70, 0x60, 0x60, 0, 0},
8563 {0x71, 0x66, 0x66, 0, 0},
8564 {0x72, 0xc, 0xc, 0, 0},
8565 {0x73, 0x66, 0x66, 0, 0},
8566 {0x74, 0x8f, 0x8f, 1, 1},
8568 {0x76, 0xcc, 0xcc, 0, 0},
8569 {0x77, 0x1, 0x1, 0, 0},
8570 {0x78, 0x66, 0x66, 0, 0},
8571 {0x79, 0x66, 0x66, 0, 0},
8583 {0x85, 0xff, 0xff, 0, 0},
8609 {0x9F, 0x6, 0x6, 0, 0},
8610 {0xA0, 0x66, 0x66, 0, 0},
8611 {0xA1, 0x66, 0x66, 0, 0},
8612 {0xA2, 0x66, 0x66, 0, 0},
8613 {0xA3, 0x66, 0x66, 0, 0},
8614 {0xA4, 0x66, 0x66, 0, 0},
8615 {0xA5, 0x66, 0x66, 0, 0},
8616 {0xA6, 0x66, 0x66, 0, 0},
8617 {0xA7, 0x66, 0x66, 0, 0},
8618 {0xA8, 0x66, 0x66, 0, 0},
8619 {0xA9, 0x66, 0x66, 0, 0},
8620 {0xAA, 0x66, 0x66, 0, 0},
8621 {0xAB, 0x66, 0x66, 0, 0},
8622 {0xAC, 0x66, 0x66, 0, 0},
8623 {0xAD, 0x66, 0x66, 0, 0},
8624 {0xAE, 0x66, 0x66, 0, 0},
8625 {0xAF, 0x66, 0x66, 0, 0},
8626 {0xB0, 0x66, 0x66, 0, 0},
8627 {0xB1, 0x66, 0x66, 0, 0},
8628 {0xB2, 0x66, 0x66, 0, 0},
8629 {0xB3, 0xa, 0xa, 0, 0},
8633 {0xFFFF, 0, 0, 0, 0}
8636 radio_regs_t regs_TX_2056_A1[] = {
8668 {0x21, 0x88, 0x88, 0, 0},
8669 {0x22, 0x88, 0x88, 0, 0},
8670 {0x23, 0x88, 0x88, 0, 0},
8671 {0x24, 0x88, 0x88, 0, 0},
8672 {0x25, 0xc, 0xc, 0, 0},
8674 {0x27, 0x3, 0x3, 0, 0},
8676 {0x29, 0x3, 0x3, 0, 0},
8677 {0x2A, 0x37, 0x37, 0, 0},
8678 {0x2B, 0x3, 0x3, 0, 0},
8681 {0x2E, 0x1, 0x1, 0, 0},
8682 {0x2F, 0x1, 0x1, 0, 0},
8686 {0x33, 0x11, 0x11, 0, 0},
8687 {0x34, 0x11, 0x11, 0, 0},
8690 {0x37, 0x3, 0x3, 0, 0},
8691 {0x38, 0xf, 0xf, 0, 0},
8693 {0x3A, 0x2d, 0x2d, 0, 0},
8695 {0x3C, 0x6e, 0x6e, 0, 0},
8696 {0x3D, 0xf0, 0xf0, 1, 1},
8700 {0x41, 0x3, 0x3, 0, 0},
8701 {0x42, 0x3, 0x3, 0, 0},
8703 {0x44, 0x1e, 0x1e, 0, 0},
8705 {0x46, 0x6e, 0x6e, 0, 0},
8706 {0x47, 0xf0, 0xf0, 1, 1},
8708 {0x49, 0x2, 0x2, 0, 0},
8709 {0x4A, 0xff, 0xff, 1, 1},
8710 {0x4B, 0xc, 0xc, 0, 0},
8712 {0x4D, 0x38, 0x38, 0, 0},
8713 {0x4E, 0x70, 0x70, 1, 1},
8714 {0x4F, 0x2, 0x2, 0, 0},
8715 {0x50, 0x88, 0x88, 0, 0},
8716 {0x51, 0xc, 0xc, 0, 0},
8718 {0x53, 0x8, 0x8, 0, 0},
8719 {0x54, 0x70, 0x70, 1, 1},
8720 {0x55, 0x2, 0x2, 0, 0},
8721 {0x56, 0xff, 0xff, 1, 1},
8723 {0x58, 0x83, 0x83, 0, 0},
8724 {0x59, 0x77, 0x77, 1, 1},
8726 {0x5B, 0x2, 0x2, 0, 0},
8727 {0x5C, 0x88, 0x88, 0, 0},
8729 {0x5E, 0x8, 0x8, 0, 0},
8730 {0x5F, 0x77, 0x77, 1, 1},
8731 {0x60, 0x1, 0x1, 0, 0},
8733 {0x62, 0x7, 0x7, 0, 0},
8735 {0x64, 0x7, 0x7, 0, 0},
8738 {0x67, 0x72, 0x72, 1, 1},
8740 {0x69, 0xa, 0xa, 0, 0},
8748 {0x71, 0x2, 0x2, 0, 0},
8751 {0x74, 0xe, 0xe, 0, 0},
8752 {0x75, 0xe, 0xe, 0, 0},
8753 {0x76, 0xe, 0xe, 0, 0},
8754 {0x77, 0x13, 0x13, 0, 0},
8755 {0x78, 0x13, 0x13, 0, 0},
8756 {0x79, 0x1b, 0x1b, 0, 0},
8757 {0x7A, 0x1b, 0x1b, 0, 0},
8758 {0x7B, 0x55, 0x55, 0, 0},
8759 {0x7C, 0x5b, 0x5b, 0, 0},
8782 {0xFFFF, 0, 0, 0, 0}
8785 radio_regs_t regs_RX_2056_A1[] = {
8816 {0x20, 0x3, 0x3, 0, 0},
8819 {0x23, 0x90, 0x90, 0, 0},
8820 {0x24, 0x55, 0x55, 0, 0},
8821 {0x25, 0x15, 0x15, 0, 0},
8822 {0x26, 0x5, 0x5, 0, 0},
8823 {0x27, 0x15, 0x15, 0, 0},
8824 {0x28, 0x5, 0x5, 0, 0},
8825 {0x29, 0x20, 0x20, 0, 0},
8826 {0x2A, 0x11, 0x11, 0, 0},
8827 {0x2B, 0x90, 0x90, 0, 0},
8829 {0x2D, 0x88, 0x88, 0, 0},
8830 {0x2E, 0x32, 0x32, 0, 0},
8831 {0x2F, 0x77, 0x77, 0, 0},
8832 {0x30, 0x17, 0x17, 1, 1},
8833 {0x31, 0xff, 0xff, 1, 1},
8834 {0x32, 0x20, 0x20, 0, 0},
8836 {0x34, 0x88, 0x88, 0, 0},
8837 {0x35, 0x32, 0x32, 0, 0},
8838 {0x36, 0x77, 0x77, 0, 0},
8839 {0x37, 0x17, 0x17, 1, 1},
8840 {0x38, 0xf0, 0xf0, 1, 1},
8841 {0x39, 0x20, 0x20, 0, 0},
8842 {0x3A, 0x8, 0x8, 0, 0},
8843 {0x3B, 0x55, 0x55, 1, 1},
8845 {0x3D, 0x44, 0x44, 1, 1},
8847 {0x3F, 0x44, 0x44, 0, 0},
8848 {0x40, 0xf, 0xf, 1, 1},
8849 {0x41, 0x6, 0x6, 0, 0},
8850 {0x42, 0x4, 0x4, 0, 0},
8851 {0x43, 0x50, 0x50, 1, 1},
8852 {0x44, 0x8, 0x8, 0, 0},
8853 {0x45, 0x55, 0x55, 1, 1},
8855 {0x47, 0x11, 0x11, 0, 0},
8857 {0x49, 0x44, 0x44, 0, 0},
8858 {0x4A, 0x7, 0x7, 0, 0},
8859 {0x4B, 0x6, 0x6, 0, 0},
8860 {0x4C, 0x4, 0x4, 0, 0},
8863 {0x4F, 0x26, 0x26, 1, 1},
8864 {0x50, 0x26, 0x26, 1, 1},
8865 {0x51, 0xf, 0xf, 1, 1},
8866 {0x52, 0xf, 0xf, 1, 1},
8867 {0x53, 0x44, 0x44, 0, 0},
8870 {0x56, 0x8, 0x8, 0, 0},
8871 {0x57, 0x8, 0x8, 0, 0},
8872 {0x58, 0x7, 0x7, 0, 0},
8873 {0x59, 0x22, 0x22, 0, 0},
8874 {0x5A, 0x22, 0x22, 0, 0},
8875 {0x5B, 0x2, 0x2, 0, 0},
8876 {0x5C, 0x2f, 0x2f, 1, 1},
8877 {0x5D, 0x7, 0x7, 0, 0},
8878 {0x5E, 0x55, 0x55, 0, 0},
8879 {0x5F, 0x23, 0x23, 0, 0},
8880 {0x60, 0x41, 0x41, 0, 0},
8881 {0x61, 0x1, 0x1, 0, 0},
8882 {0x62, 0xa, 0xa, 0, 0},
8891 {0x6B, 0xc, 0xc, 0, 0},
8898 {0x72, 0x22, 0x22, 0, 0},
8899 {0x73, 0x22, 0x22, 0, 0},
8901 {0x75, 0xa, 0xa, 0, 0},
8902 {0x76, 0x1, 0x1, 0, 0},
8903 {0x77, 0x22, 0x22, 0, 0},
8904 {0x78, 0x30, 0x30, 0, 0},
8933 {0xFFFF, 0, 0, 0, 0}
8936 radio_regs_t regs_SYN_2056_rev5[] = {
8944 {0x09, 0x1, 0x1, 0, 0},
8969 {0x22, 0x60, 0x60, 0, 0},
8970 {0x23, 0x6, 0x6, 0, 0},
8971 {0x24, 0xc, 0xc, 0, 0},
8975 {0x28, 0x1, 0x1, 0, 0},
8982 {0x2F, 0x1f, 0x1f, 0, 0},
8983 {0x30, 0x15, 0x15, 0, 0},
8984 {0x31, 0xf, 0xf, 0, 0},
8995 {0x3C, 0x13, 0x13, 0, 0},
8996 {0x3D, 0xf, 0xf, 0, 0},
8997 {0x3E, 0x18, 0x18, 0, 0},
9000 {0x41, 0x20, 0x20, 0, 0},
9001 {0x42, 0x20, 0x20, 0, 0},
9003 {0x44, 0x77, 0x77, 0, 0},
9004 {0x45, 0x7, 0x7, 0, 0},
9005 {0x46, 0x1, 0x1, 0, 0},
9006 {0x47, 0x4, 0x4, 0, 0},
9007 {0x48, 0xf, 0xf, 0, 0},
9008 {0x49, 0x30, 0x30, 0, 0},
9009 {0x4A, 0x32, 0x32, 0, 0},
9010 {0x4B, 0xd, 0xd, 0, 0},
9011 {0x4C, 0xd, 0xd, 0, 0},
9012 {0x4D, 0x4, 0x4, 0, 0},
9013 {0x4E, 0x6, 0x6, 0, 0},
9014 {0x4F, 0x1, 0x1, 0, 0},
9015 {0x50, 0x1c, 0x1c, 0, 0},
9016 {0x51, 0x2, 0x2, 0, 0},
9017 {0x52, 0x2, 0x2, 0, 0},
9018 {0x53, 0xf7, 0xf7, 1, 1},
9019 {0x54, 0xb4, 0xb4, 0, 0},
9020 {0x55, 0xd2, 0xd2, 0, 0},
9023 {0x58, 0x4, 0x4, 0, 0},
9024 {0x59, 0x96, 0x96, 0, 0},
9025 {0x5A, 0x3e, 0x3e, 0, 0},
9026 {0x5B, 0x3e, 0x3e, 0, 0},
9027 {0x5C, 0x13, 0x13, 0, 0},
9028 {0x5D, 0x2, 0x2, 0, 0},
9030 {0x5F, 0x7, 0x7, 0, 0},
9031 {0x60, 0x7, 0x7, 1, 1},
9032 {0x61, 0x8, 0x8, 0, 0},
9033 {0x62, 0x3, 0x3, 0, 0},
9039 {0x68, 0x40, 0x40, 0, 0},
9044 {0x6D, 0x1, 0x1, 0, 0},
9047 {0x70, 0x60, 0x60, 0, 0},
9048 {0x71, 0x66, 0x66, 0, 0},
9049 {0x72, 0xc, 0xc, 0, 0},
9050 {0x73, 0x66, 0x66, 0, 0},
9051 {0x74, 0x8f, 0x8f, 1, 1},
9053 {0x76, 0xcc, 0xcc, 0, 0},
9054 {0x77, 0x1, 0x1, 0, 0},
9055 {0x78, 0x66, 0x66, 0, 0},
9056 {0x79, 0x66, 0x66, 0, 0},
9068 {0x85, 0xff, 0xff, 0, 0},
9094 {0x9F, 0x6, 0x6, 0, 0},
9095 {0xA0, 0x66, 0x66, 0, 0},
9096 {0xA1, 0x66, 0x66, 0, 0},
9097 {0xA2, 0x66, 0x66, 0, 0},
9098 {0xA3, 0x66, 0x66, 0, 0},
9099 {0xA4, 0x66, 0x66, 0, 0},
9100 {0xA5, 0x66, 0x66, 0, 0},
9101 {0xA6, 0x66, 0x66, 0, 0},
9102 {0xA7, 0x66, 0x66, 0, 0},
9103 {0xA8, 0x66, 0x66, 0, 0},
9104 {0xA9, 0x66, 0x66, 0, 0},
9105 {0xAA, 0x66, 0x66, 0, 0},
9106 {0xAB, 0x66, 0x66, 0, 0},
9107 {0xAC, 0x66, 0x66, 0, 0},
9108 {0xAD, 0x66, 0x66, 0, 0},
9109 {0xAE, 0x66, 0x66, 0, 0},
9110 {0xAF, 0x66, 0x66, 0, 0},
9111 {0xB0, 0x66, 0x66, 0, 0},
9112 {0xB1, 0x66, 0x66, 0, 0},
9113 {0xB2, 0x66, 0x66, 0, 0},
9114 {0xB3, 0xa, 0xa, 0, 0},
9118 {0xFFFF, 0, 0, 0, 0}
9121 radio_regs_t regs_TX_2056_rev5[] = {
9153 {0x21, 0x88, 0x88, 0, 0},
9154 {0x22, 0x88, 0x88, 0, 0},
9155 {0x23, 0x88, 0x88, 0, 0},
9156 {0x24, 0x88, 0x88, 0, 0},
9157 {0x25, 0xc, 0xc, 0, 0},
9159 {0x27, 0x3, 0x3, 0, 0},
9161 {0x29, 0x3, 0x3, 0, 0},
9162 {0x2A, 0x37, 0x37, 0, 0},
9163 {0x2B, 0x3, 0x3, 0, 0},
9166 {0x2E, 0x1, 0x1, 0, 0},
9167 {0x2F, 0x1, 0x1, 0, 0},
9171 {0x33, 0x11, 0x11, 0, 0},
9172 {0x34, 0x11, 0x11, 0, 0},
9175 {0x37, 0x3, 0x3, 0, 0},
9176 {0x38, 0xf, 0xf, 0, 0},
9178 {0x3A, 0x2d, 0x2d, 0, 0},
9180 {0x3C, 0x6e, 0x6e, 0, 0},
9181 {0x3D, 0xf0, 0xf0, 1, 1},
9185 {0x41, 0x3, 0x3, 0, 0},
9186 {0x42, 0x3, 0x3, 0, 0},
9188 {0x44, 0x1e, 0x1e, 0, 0},
9190 {0x46, 0x6e, 0x6e, 0, 0},
9191 {0x47, 0xf0, 0xf0, 1, 1},
9193 {0x49, 0x2, 0x2, 0, 0},
9194 {0x4A, 0xff, 0xff, 1, 1},
9195 {0x4B, 0xc, 0xc, 0, 0},
9197 {0x4D, 0x38, 0x38, 0, 0},
9198 {0x4E, 0x70, 0x70, 1, 1},
9199 {0x4F, 0x2, 0x2, 0, 0},
9200 {0x50, 0x88, 0x88, 0, 0},
9201 {0x51, 0xc, 0xc, 0, 0},
9203 {0x53, 0x8, 0x8, 0, 0},
9204 {0x54, 0x70, 0x70, 1, 1},
9205 {0x55, 0x2, 0x2, 0, 0},
9206 {0x56, 0xff, 0xff, 1, 1},
9208 {0x58, 0x83, 0x83, 0, 0},
9209 {0x59, 0x77, 0x77, 1, 1},
9211 {0x5B, 0x2, 0x2, 0, 0},
9212 {0x5C, 0x88, 0x88, 0, 0},
9214 {0x5E, 0x8, 0x8, 0, 0},
9215 {0x5F, 0x77, 0x77, 1, 1},
9216 {0x60, 0x1, 0x1, 0, 0},
9218 {0x62, 0x7, 0x7, 0, 0},
9220 {0x64, 0x7, 0x7, 0, 0},
9225 {0x69, 0xa, 0xa, 0, 0},
9233 {0x71, 0x2, 0x2, 0, 0},
9236 {0x74, 0xe, 0xe, 0, 0},
9237 {0x75, 0xe, 0xe, 0, 0},
9238 {0x76, 0xe, 0xe, 0, 0},
9239 {0x77, 0x13, 0x13, 0, 0},
9240 {0x78, 0x13, 0x13, 0, 0},
9241 {0x79, 0x1b, 0x1b, 0, 0},
9242 {0x7A, 0x1b, 0x1b, 0, 0},
9243 {0x7B, 0x55, 0x55, 0, 0},
9244 {0x7C, 0x5b, 0x5b, 0, 0},
9267 {0x93, 0x70, 0x70, 0, 0},
9268 {0x94, 0x70, 0x70, 0, 0},
9269 {0x95, 0x71, 0x71, 1, 1},
9270 {0x96, 0x71, 0x71, 1, 1},
9271 {0x97, 0x72, 0x72, 1, 1},
9272 {0x98, 0x73, 0x73, 1, 1},
9273 {0x99, 0x74, 0x74, 1, 1},
9274 {0x9A, 0x75, 0x75, 1, 1},
9275 {0xFFFF, 0, 0, 0, 0}
9278 radio_regs_t regs_RX_2056_rev5[] = {
9309 {0x20, 0x3, 0x3, 0, 0},
9312 {0x23, 0x90, 0x90, 0, 0},
9313 {0x24, 0x55, 0x55, 0, 0},
9314 {0x25, 0x15, 0x15, 0, 0},
9315 {0x26, 0x5, 0x5, 0, 0},
9316 {0x27, 0x15, 0x15, 0, 0},
9317 {0x28, 0x5, 0x5, 0, 0},
9318 {0x29, 0x20, 0x20, 0, 0},
9319 {0x2A, 0x11, 0x11, 0, 0},
9320 {0x2B, 0x90, 0x90, 0, 0},
9322 {0x2D, 0x88, 0x88, 0, 0},
9323 {0x2E, 0x32, 0x32, 0, 0},
9324 {0x2F, 0x77, 0x77, 0, 0},
9325 {0x30, 0x17, 0x17, 1, 1},
9326 {0x31, 0xff, 0xff, 1, 1},
9327 {0x32, 0x20, 0x20, 0, 0},
9329 {0x34, 0x88, 0x88, 0, 0},
9330 {0x35, 0x32, 0x32, 0, 0},
9331 {0x36, 0x77, 0x77, 0, 0},
9332 {0x37, 0x17, 0x17, 1, 1},
9333 {0x38, 0xf0, 0xf0, 1, 1},
9334 {0x39, 0x20, 0x20, 0, 0},
9335 {0x3A, 0x8, 0x8, 0, 0},
9336 {0x3B, 0x55, 0x55, 1, 1},
9338 {0x3D, 0x88, 0x88, 1, 1},
9341 {0x40, 0x7, 0x7, 1, 1},
9342 {0x41, 0x6, 0x6, 0, 0},
9343 {0x42, 0x4, 0x4, 0, 0},
9345 {0x44, 0x8, 0x8, 0, 0},
9346 {0x45, 0x55, 0x55, 1, 1},
9348 {0x47, 0x11, 0x11, 0, 0},
9351 {0x4A, 0x7, 0x7, 0, 0},
9352 {0x4B, 0x6, 0x6, 0, 0},
9353 {0x4C, 0x4, 0x4, 0, 0},
9356 {0x4F, 0x26, 0x26, 1, 1},
9357 {0x50, 0x26, 0x26, 1, 1},
9358 {0x51, 0xf, 0xf, 1, 1},
9359 {0x52, 0xf, 0xf, 1, 1},
9360 {0x53, 0x44, 0x44, 0, 0},
9363 {0x56, 0x8, 0x8, 0, 0},
9364 {0x57, 0x8, 0x8, 0, 0},
9365 {0x58, 0x7, 0x7, 0, 0},
9366 {0x59, 0x22, 0x22, 0, 0},
9367 {0x5A, 0x22, 0x22, 0, 0},
9368 {0x5B, 0x2, 0x2, 0, 0},
9369 {0x5C, 0x4, 0x4, 1, 1},
9370 {0x5D, 0x7, 0x7, 0, 0},
9371 {0x5E, 0x55, 0x55, 0, 0},
9372 {0x5F, 0x23, 0x23, 0, 0},
9373 {0x60, 0x41, 0x41, 0, 0},
9374 {0x61, 0x1, 0x1, 0, 0},
9375 {0x62, 0xa, 0xa, 0, 0},
9384 {0x6B, 0xc, 0xc, 0, 0},
9391 {0x72, 0x22, 0x22, 0, 0},
9392 {0x73, 0x22, 0x22, 0, 0},
9394 {0x75, 0xa, 0xa, 0, 0},
9395 {0x76, 0x1, 0x1, 0, 0},
9396 {0x77, 0x22, 0x22, 0, 0},
9397 {0x78, 0x30, 0x30, 0, 0},
9426 {0xFFFF, 0, 0, 0, 0}
9429 radio_regs_t regs_SYN_2056_rev6[] = {
9437 {0x09, 0x1, 0x1, 0, 0},
9462 {0x22, 0x60, 0x60, 0, 0},
9463 {0x23, 0x6, 0x6, 0, 0},
9464 {0x24, 0xc, 0xc, 0, 0},
9468 {0x28, 0x1, 0x1, 0, 0},
9475 {0x2F, 0x1f, 0x1f, 0, 0},
9476 {0x30, 0x15, 0x15, 0, 0},
9477 {0x31, 0xf, 0xf, 0, 0},
9488 {0x3C, 0x13, 0x13, 0, 0},
9489 {0x3D, 0xf, 0xf, 0, 0},
9490 {0x3E, 0x18, 0x18, 0, 0},
9493 {0x41, 0x20, 0x20, 0, 0},
9494 {0x42, 0x20, 0x20, 0, 0},
9496 {0x44, 0x77, 0x77, 0, 0},
9497 {0x45, 0x7, 0x7, 0, 0},
9498 {0x46, 0x1, 0x1, 0, 0},
9499 {0x47, 0x4, 0x4, 0, 0},
9500 {0x48, 0xf, 0xf, 0, 0},
9501 {0x49, 0x30, 0x30, 0, 0},
9502 {0x4A, 0x32, 0x32, 0, 0},
9503 {0x4B, 0xd, 0xd, 0, 0},
9504 {0x4C, 0xd, 0xd, 0, 0},
9505 {0x4D, 0x4, 0x4, 0, 0},
9506 {0x4E, 0x6, 0x6, 0, 0},
9507 {0x4F, 0x1, 0x1, 0, 0},
9508 {0x50, 0x1c, 0x1c, 0, 0},
9509 {0x51, 0x2, 0x2, 0, 0},
9510 {0x52, 0x2, 0x2, 0, 0},
9511 {0x53, 0xf7, 0xf7, 1, 1},
9512 {0x54, 0xb4, 0xb4, 0, 0},
9513 {0x55, 0xd2, 0xd2, 0, 0},
9516 {0x58, 0x4, 0x4, 0, 0},
9517 {0x59, 0x96, 0x96, 0, 0},
9518 {0x5A, 0x3e, 0x3e, 0, 0},
9519 {0x5B, 0x3e, 0x3e, 0, 0},
9520 {0x5C, 0x13, 0x13, 0, 0},
9521 {0x5D, 0x2, 0x2, 0, 0},
9523 {0x5F, 0x7, 0x7, 0, 0},
9524 {0x60, 0x7, 0x7, 1, 1},
9525 {0x61, 0x8, 0x8, 0, 0},
9526 {0x62, 0x3, 0x3, 0, 0},
9532 {0x68, 0x40, 0x40, 0, 0},
9537 {0x6D, 0x1, 0x1, 0, 0},
9540 {0x70, 0x60, 0x60, 0, 0},
9541 {0x71, 0x66, 0x66, 0, 0},
9542 {0x72, 0xc, 0xc, 0, 0},
9543 {0x73, 0x66, 0x66, 0, 0},
9544 {0x74, 0x8f, 0x8f, 1, 1},
9546 {0x76, 0xcc, 0xcc, 0, 0},
9547 {0x77, 0x1, 0x1, 0, 0},
9548 {0x78, 0x66, 0x66, 0, 0},
9549 {0x79, 0x66, 0x66, 0, 0},
9561 {0x85, 0xff, 0xff, 0, 0},
9587 {0x9F, 0x6, 0x6, 0, 0},
9588 {0xA0, 0x66, 0x66, 0, 0},
9589 {0xA1, 0x66, 0x66, 0, 0},
9590 {0xA2, 0x66, 0x66, 0, 0},
9591 {0xA3, 0x66, 0x66, 0, 0},
9592 {0xA4, 0x66, 0x66, 0, 0},
9593 {0xA5, 0x66, 0x66, 0, 0},
9594 {0xA6, 0x66, 0x66, 0, 0},
9595 {0xA7, 0x66, 0x66, 0, 0},
9596 {0xA8, 0x66, 0x66, 0, 0},
9597 {0xA9, 0x66, 0x66, 0, 0},
9598 {0xAA, 0x66, 0x66, 0, 0},
9599 {0xAB, 0x66, 0x66, 0, 0},
9600 {0xAC, 0x66, 0x66, 0, 0},
9601 {0xAD, 0x66, 0x66, 0, 0},
9602 {0xAE, 0x66, 0x66, 0, 0},
9603 {0xAF, 0x66, 0x66, 0, 0},
9604 {0xB0, 0x66, 0x66, 0, 0},
9605 {0xB1, 0x66, 0x66, 0, 0},
9606 {0xB2, 0x66, 0x66, 0, 0},
9607 {0xB3, 0xa, 0xa, 0, 0},
9611 {0xFFFF, 0, 0, 0, 0}
9614 radio_regs_t regs_TX_2056_rev6[] = {
9646 {0x21, 0x88, 0x88, 0, 0},
9647 {0x22, 0x88, 0x88, 0, 0},
9648 {0x23, 0x88, 0x88, 0, 0},
9649 {0x24, 0x88, 0x88, 0, 0},
9650 {0x25, 0xc, 0xc, 0, 0},
9652 {0x27, 0x3, 0x3, 0, 0},
9654 {0x29, 0x3, 0x3, 0, 0},
9655 {0x2A, 0x37, 0x37, 0, 0},
9656 {0x2B, 0x3, 0x3, 0, 0},
9659 {0x2E, 0x1, 0x1, 0, 0},
9660 {0x2F, 0x1, 0x1, 0, 0},
9664 {0x33, 0x11, 0x11, 0, 0},
9665 {0x34, 0xee, 0xee, 1, 1},
9668 {0x37, 0x3, 0x3, 0, 0},
9669 {0x38, 0x50, 0x50, 1, 1},
9671 {0x3A, 0x50, 0x50, 1, 1},
9673 {0x3C, 0x6e, 0x6e, 0, 0},
9674 {0x3D, 0xf0, 0xf0, 1, 1},
9678 {0x41, 0x3, 0x3, 0, 0},
9679 {0x42, 0x3, 0x3, 0, 0},
9681 {0x44, 0x1e, 0x1e, 0, 0},
9683 {0x46, 0x6e, 0x6e, 0, 0},
9684 {0x47, 0xf0, 0xf0, 1, 1},
9686 {0x49, 0x2, 0x2, 0, 0},
9687 {0x4A, 0xff, 0xff, 1, 1},
9688 {0x4B, 0xc, 0xc, 0, 0},
9690 {0x4D, 0x38, 0x38, 0, 0},
9691 {0x4E, 0x70, 0x70, 1, 1},
9692 {0x4F, 0x2, 0x2, 0, 0},
9693 {0x50, 0x88, 0x88, 0, 0},
9694 {0x51, 0xc, 0xc, 0, 0},
9696 {0x53, 0x8, 0x8, 0, 0},
9697 {0x54, 0x70, 0x70, 1, 1},
9698 {0x55, 0x2, 0x2, 0, 0},
9699 {0x56, 0xff, 0xff, 1, 1},
9701 {0x58, 0x83, 0x83, 0, 0},
9702 {0x59, 0x77, 0x77, 1, 1},
9704 {0x5B, 0x2, 0x2, 0, 0},
9705 {0x5C, 0x88, 0x88, 0, 0},
9707 {0x5E, 0x8, 0x8, 0, 0},
9708 {0x5F, 0x77, 0x77, 1, 1},
9709 {0x60, 0x1, 0x1, 0, 0},
9711 {0x62, 0x7, 0x7, 0, 0},
9713 {0x64, 0x7, 0x7, 0, 0},
9718 {0x69, 0xa, 0xa, 0, 0},
9726 {0x71, 0x2, 0x2, 0, 0},
9729 {0x74, 0xe, 0xe, 0, 0},
9730 {0x75, 0xe, 0xe, 0, 0},
9731 {0x76, 0xe, 0xe, 0, 0},
9732 {0x77, 0x13, 0x13, 0, 0},
9733 {0x78, 0x13, 0x13, 0, 0},
9734 {0x79, 0x1b, 0x1b, 0, 0},
9735 {0x7A, 0x1b, 0x1b, 0, 0},
9736 {0x7B, 0x55, 0x55, 0, 0},
9737 {0x7C, 0x5b, 0x5b, 0, 0},
9738 {0x7D, 0x30, 0x30, 1, 1},
9760 {0x93, 0x70, 0x70, 0, 0},
9761 {0x94, 0x70, 0x70, 0, 0},
9762 {0x95, 0x70, 0x70, 0, 0},
9763 {0x96, 0x70, 0x70, 0, 0},
9764 {0x97, 0x70, 0x70, 0, 0},
9765 {0x98, 0x70, 0x70, 0, 0},
9766 {0x99, 0x70, 0x70, 0, 0},
9767 {0x9A, 0x70, 0x70, 0, 0},
9768 {0xFFFF, 0, 0, 0, 0}
9771 radio_regs_t regs_RX_2056_rev6[] = {
9802 {0x20, 0x3, 0x3, 0, 0},
9805 {0x23, 0x90, 0x90, 0, 0},
9806 {0x24, 0x55, 0x55, 0, 0},
9807 {0x25, 0x15, 0x15, 0, 0},
9808 {0x26, 0x5, 0x5, 0, 0},
9809 {0x27, 0x15, 0x15, 0, 0},
9810 {0x28, 0x5, 0x5, 0, 0},
9811 {0x29, 0x20, 0x20, 0, 0},
9812 {0x2A, 0x11, 0x11, 0, 0},
9813 {0x2B, 0x90, 0x90, 0, 0},
9815 {0x2D, 0x88, 0x88, 0, 0},
9816 {0x2E, 0x32, 0x32, 0, 0},
9817 {0x2F, 0x77, 0x77, 0, 0},
9818 {0x30, 0x17, 0x17, 1, 1},
9819 {0x31, 0xff, 0xff, 1, 1},
9820 {0x32, 0x20, 0x20, 0, 0},
9822 {0x34, 0x88, 0x88, 0, 0},
9823 {0x35, 0x32, 0x32, 0, 0},
9824 {0x36, 0x77, 0x77, 0, 0},
9825 {0x37, 0x17, 0x17, 1, 1},
9826 {0x38, 0xf0, 0xf0, 1, 1},
9827 {0x39, 0x20, 0x20, 0, 0},
9828 {0x3A, 0x8, 0x8, 0, 0},
9829 {0x3B, 0x55, 0x55, 1, 1},
9831 {0x3D, 0x88, 0x88, 1, 1},
9833 {0x3F, 0x44, 0x44, 0, 0},
9834 {0x40, 0x7, 0x7, 1, 1},
9835 {0x41, 0x6, 0x6, 0, 0},
9836 {0x42, 0x4, 0x4, 0, 0},
9838 {0x44, 0x8, 0x8, 0, 0},
9839 {0x45, 0x55, 0x55, 1, 1},
9841 {0x47, 0x11, 0x11, 0, 0},
9843 {0x49, 0x44, 0x44, 0, 0},
9844 {0x4A, 0x7, 0x7, 0, 0},
9845 {0x4B, 0x6, 0x6, 0, 0},
9846 {0x4C, 0x4, 0x4, 0, 0},
9849 {0x4F, 0x26, 0x26, 1, 1},
9850 {0x50, 0x26, 0x26, 1, 1},
9851 {0x51, 0xf, 0xf, 1, 1},
9852 {0x52, 0xf, 0xf, 1, 1},
9853 {0x53, 0x44, 0x44, 0, 0},
9856 {0x56, 0x8, 0x8, 0, 0},
9857 {0x57, 0x8, 0x8, 0, 0},
9858 {0x58, 0x7, 0x7, 0, 0},
9859 {0x59, 0x22, 0x22, 0, 0},
9860 {0x5A, 0x22, 0x22, 0, 0},
9861 {0x5B, 0x2, 0x2, 0, 0},
9862 {0x5C, 0x4, 0x4, 1, 1},
9863 {0x5D, 0x7, 0x7, 0, 0},
9864 {0x5E, 0x55, 0x55, 0, 0},
9865 {0x5F, 0x23, 0x23, 0, 0},
9866 {0x60, 0x41, 0x41, 0, 0},
9867 {0x61, 0x1, 0x1, 0, 0},
9868 {0x62, 0xa, 0xa, 0, 0},
9877 {0x6B, 0xc, 0xc, 0, 0},
9884 {0x72, 0x22, 0x22, 0, 0},
9885 {0x73, 0x22, 0x22, 0, 0},
9887 {0x75, 0xa, 0xa, 0, 0},
9888 {0x76, 0x1, 0x1, 0, 0},
9889 {0x77, 0x22, 0x22, 0, 0},
9890 {0x78, 0x30, 0x30, 0, 0},
9895 {0x7D, 0x5, 0x5, 1, 1},
9919 {0xFFFF, 0, 0, 0, 0}
9922 radio_regs_t regs_SYN_2056_rev7[] = {
9930 {0x09, 0x1, 0x1, 0, 0},
9955 {0x22, 0x60, 0x60, 0, 0},
9956 {0x23, 0x6, 0x6, 0, 0},
9957 {0x24, 0xc, 0xc, 0, 0},
9961 {0x28, 0x1, 0x1, 0, 0},
9968 {0x2F, 0x1f, 0x1f, 0, 0},
9969 {0x30, 0x15, 0x15, 0, 0},
9970 {0x31, 0xf, 0xf, 0, 0},
9981 {0x3C, 0x13, 0x13, 0, 0},
9982 {0x3D, 0xf, 0xf, 0, 0},
9983 {0x3E, 0x18, 0x18, 0, 0},
9986 {0x41, 0x20, 0x20, 0, 0},
9987 {0x42, 0x20, 0x20, 0, 0},
9989 {0x44, 0x77, 0x77, 0, 0},
9990 {0x45, 0x7, 0x7, 0, 0},
9991 {0x46, 0x1, 0x1, 0, 0},
9992 {0x47, 0x4, 0x4, 0, 0},
9993 {0x48, 0xf, 0xf, 0, 0},
9994 {0x49, 0x30, 0x30, 0, 0},
9995 {0x4A, 0x32, 0x32, 0, 0},
9996 {0x4B, 0xd, 0xd, 0, 0},
9997 {0x4C, 0xd, 0xd, 0, 0},
9998 {0x4D, 0x4, 0x4, 0, 0},
9999 {0x4E, 0x6, 0x6, 0, 0},
10000 {0x4F, 0x1, 0x1, 0, 0},
10001 {0x50, 0x1c, 0x1c, 0, 0},
10002 {0x51, 0x2, 0x2, 0, 0},
10003 {0x52, 0x2, 0x2, 0, 0},
10004 {0x53, 0xf7, 0xf7, 1, 1},
10005 {0x54, 0xb4, 0xb4, 0, 0},
10006 {0x55, 0xd2, 0xd2, 0, 0},
10007 {0x56, 0, 0, 0, 0},
10008 {0x57, 0, 0, 0, 0},
10009 {0x58, 0x4, 0x4, 0, 0},
10010 {0x59, 0x96, 0x96, 0, 0},
10011 {0x5A, 0x3e, 0x3e, 0, 0},
10012 {0x5B, 0x3e, 0x3e, 0, 0},
10013 {0x5C, 0x13, 0x13, 0, 0},
10014 {0x5D, 0x2, 0x2, 0, 0},
10015 {0x5E, 0, 0, 0, 0},
10016 {0x5F, 0x7, 0x7, 0, 0},
10017 {0x60, 0x7, 0x7, 1, 1},
10018 {0x61, 0x8, 0x8, 0, 0},
10019 {0x62, 0x3, 0x3, 0, 0},
10020 {0x63, 0, 0, 0, 0},
10021 {0x64, 0, 0, 0, 0},
10022 {0x65, 0, 0, 0, 0},
10023 {0x66, 0, 0, 0, 0},
10024 {0x67, 0, 0, 0, 0},
10025 {0x68, 0x40, 0x40, 0, 0},
10026 {0x69, 0, 0, 0, 0},
10027 {0x6A, 0, 0, 0, 0},
10028 {0x6B, 0, 0, 0, 0},
10029 {0x6C, 0, 0, 0, 0},
10030 {0x6D, 0x1, 0x1, 0, 0},
10031 {0x6E, 0, 0, 0, 0},
10032 {0x6F, 0, 0, 0, 0},
10033 {0x70, 0x60, 0x60, 0, 0},
10034 {0x71, 0x66, 0x66, 0, 0},
10035 {0x72, 0xc, 0xc, 0, 0},
10036 {0x73, 0x66, 0x66, 0, 0},
10037 {0x74, 0x8f, 0x8f, 1, 1},
10038 {0x75, 0, 0, 0, 0},
10039 {0x76, 0xcc, 0xcc, 0, 0},
10040 {0x77, 0x1, 0x1, 0, 0},
10041 {0x78, 0x66, 0x66, 0, 0},
10042 {0x79, 0x66, 0x66, 0, 0},
10043 {0x7A, 0, 0, 0, 0},
10044 {0x7B, 0, 0, 0, 0},
10045 {0x7C, 0, 0, 0, 0},
10046 {0x7D, 0, 0, 0, 0},
10047 {0x7E, 0, 0, 0, 0},
10048 {0x7F, 0, 0, 0, 0},
10049 {0x80, 0, 0, 0, 0},
10050 {0x81, 0, 0, 0, 0},
10051 {0x82, 0, 0, 0, 0},
10052 {0x83, 0, 0, 0, 0},
10053 {0x84, 0, 0, 0, 0},
10054 {0x85, 0xff, 0xff, 0, 0},
10055 {0x86, 0, 0, 0, 0},
10056 {0x87, 0, 0, 0, 0},
10057 {0x88, 0, 0, 0, 0},
10058 {0x89, 0, 0, 0, 0},
10059 {0x8A, 0, 0, 0, 0},
10060 {0x8B, 0, 0, 0, 0},
10061 {0x8C, 0, 0, 0, 0},
10062 {0x8D, 0, 0, 0, 0},
10063 {0x8E, 0, 0, 0, 0},
10064 {0x8F, 0, 0, 0, 0},
10065 {0x90, 0, 0, 0, 0},
10066 {0x91, 0, 0, 0, 0},
10067 {0x92, 0, 0, 0, 0},
10068 {0x93, 0, 0, 0, 0},
10069 {0x94, 0, 0, 0, 0},
10070 {0x95, 0, 0, 0, 0},
10071 {0x96, 0, 0, 0, 0},
10072 {0x97, 0, 0, 0, 0},
10073 {0x98, 0, 0, 0, 0},
10074 {0x99, 0, 0, 0, 0},
10075 {0x9A, 0, 0, 0, 0},
10076 {0x9B, 0, 0, 0, 0},
10077 {0x9C, 0, 0, 0, 0},
10078 {0x9D, 0, 0, 0, 0},
10079 {0x9E, 0, 0, 0, 0},
10080 {0x9F, 0x6, 0x6, 0, 0},
10081 {0xA0, 0x66, 0x66, 0, 0},
10082 {0xA1, 0x66, 0x66, 0, 0},
10083 {0xA2, 0x66, 0x66, 0, 0},
10084 {0xA3, 0x66, 0x66, 0, 0},
10085 {0xA4, 0x66, 0x66, 0, 0},
10086 {0xA5, 0x66, 0x66, 0, 0},
10087 {0xA6, 0x66, 0x66, 0, 0},
10088 {0xA7, 0x66, 0x66, 0, 0},
10089 {0xA8, 0x66, 0x66, 0, 0},
10090 {0xA9, 0x66, 0x66, 0, 0},
10091 {0xAA, 0x66, 0x66, 0, 0},
10092 {0xAB, 0x66, 0x66, 0, 0},
10093 {0xAC, 0x66, 0x66, 0, 0},
10094 {0xAD, 0x66, 0x66, 0, 0},
10095 {0xAE, 0x66, 0x66, 0, 0},
10096 {0xAF, 0x66, 0x66, 0, 0},
10097 {0xB0, 0x66, 0x66, 0, 0},
10098 {0xB1, 0x66, 0x66, 0, 0},
10099 {0xB2, 0x66, 0x66, 0, 0},
10100 {0xB3, 0xa, 0xa, 0, 0},
10101 {0xB4, 0, 0, 0, 0},
10102 {0xB5, 0, 0, 0, 0},
10103 {0xB6, 0, 0, 0, 0},
10104 {0xFFFF, 0, 0, 0, 0},
10107 radio_regs_t regs_TX_2056_rev7[] = {
10108 {0x02, 0, 0, 0, 0},
10109 {0x03, 0, 0, 0, 0},
10110 {0x04, 0, 0, 0, 0},
10111 {0x05, 0, 0, 0, 0},
10112 {0x06, 0, 0, 0, 0},
10113 {0x07, 0, 0, 0, 0},
10114 {0x08, 0, 0, 0, 0},
10115 {0x09, 0, 0, 0, 0},
10116 {0x0A, 0, 0, 0, 0},
10117 {0x0B, 0, 0, 0, 0},
10118 {0x0C, 0, 0, 0, 0},
10119 {0x0D, 0, 0, 0, 0},
10120 {0x0E, 0, 0, 0, 0},
10121 {0x0F, 0, 0, 0, 0},
10122 {0x10, 0, 0, 0, 0},
10123 {0x11, 0, 0, 0, 0},
10124 {0x12, 0, 0, 0, 0},
10125 {0x13, 0, 0, 0, 0},
10126 {0x14, 0, 0, 0, 0},
10127 {0x15, 0, 0, 0, 0},
10128 {0x16, 0, 0, 0, 0},
10129 {0x17, 0, 0, 0, 0},
10130 {0x18, 0, 0, 0, 0},
10131 {0x19, 0, 0, 0, 0},
10132 {0x1A, 0, 0, 0, 0},
10133 {0x1B, 0, 0, 0, 0},
10134 {0x1C, 0, 0, 0, 0},
10135 {0x1D, 0, 0, 0, 0},
10136 {0x1E, 0, 0, 0, 0},
10137 {0x1F, 0, 0, 0, 0},
10138 {0x20, 0, 0, 0, 0},
10139 {0x21, 0x88, 0x88, 0, 0},
10140 {0x22, 0x88, 0x88, 0, 0},
10141 {0x23, 0x88, 0x88, 0, 0},
10142 {0x24, 0x88, 0x88, 0, 0},
10143 {0x25, 0xc, 0xc, 0, 0},
10144 {0x26, 0, 0, 0, 0},
10145 {0x27, 0x3, 0x3, 0, 0},
10146 {0x28, 0, 0, 0, 0},
10147 {0x29, 0x3, 0x3, 0, 0},
10148 {0x2A, 0x37, 0x37, 0, 0},
10149 {0x2B, 0x3, 0x3, 0, 0},
10150 {0x2C, 0, 0, 0, 0},
10151 {0x2D, 0, 0, 0, 0},
10152 {0x2E, 0x1, 0x1, 0, 0},
10153 {0x2F, 0x1, 0x1, 0, 0},
10154 {0x30, 0, 0, 0, 0},
10155 {0x31, 0, 0, 0, 0},
10156 {0x32, 0, 0, 0, 0},
10157 {0x33, 0x11, 0x11, 0, 0},
10158 {0x34, 0xee, 0xee, 1, 1},
10159 {0x35, 0, 0, 0, 0},
10160 {0x36, 0, 0, 0, 0},
10161 {0x37, 0x3, 0x3, 0, 0},
10162 {0x38, 0x50, 0x50, 1, 1},
10163 {0x39, 0, 0, 0, 0},
10164 {0x3A, 0x50, 0x50, 1, 1},
10165 {0x3B, 0, 0, 0, 0},
10166 {0x3C, 0x6e, 0x6e, 0, 0},
10167 {0x3D, 0xf0, 0xf0, 1, 1},
10168 {0x3E, 0, 0, 0, 0},
10169 {0x3F, 0, 0, 0, 0},
10170 {0x40, 0, 0, 0, 0},
10171 {0x41, 0x3, 0x3, 0, 0},
10172 {0x42, 0x3, 0x3, 0, 0},
10173 {0x43, 0, 0, 0, 0},
10174 {0x44, 0x1e, 0x1e, 0, 0},
10175 {0x45, 0, 0, 0, 0},
10176 {0x46, 0x6e, 0x6e, 0, 0},
10177 {0x47, 0xf0, 0xf0, 1, 1},
10178 {0x48, 0, 0, 0, 0},
10179 {0x49, 0x2, 0x2, 0, 0},
10180 {0x4A, 0xff, 0xff, 1, 1},
10181 {0x4B, 0xc, 0xc, 0, 0},
10182 {0x4C, 0, 0, 0, 0},
10183 {0x4D, 0x38, 0x38, 0, 0},
10184 {0x4E, 0x70, 0x70, 1, 1},
10185 {0x4F, 0x2, 0x2, 0, 0},
10186 {0x50, 0x88, 0x88, 0, 0},
10187 {0x51, 0xc, 0xc, 0, 0},
10188 {0x52, 0, 0, 0, 0},
10189 {0x53, 0x8, 0x8, 0, 0},
10190 {0x54, 0x70, 0x70, 1, 1},
10191 {0x55, 0x2, 0x2, 0, 0},
10192 {0x56, 0xff, 0xff, 1, 1},
10193 {0x57, 0, 0, 0, 0},
10194 {0x58, 0x83, 0x83, 0, 0},
10195 {0x59, 0x77, 0x77, 1, 1},
10196 {0x5A, 0, 0, 0, 0},
10197 {0x5B, 0x2, 0x2, 0, 0},
10198 {0x5C, 0x88, 0x88, 0, 0},
10199 {0x5D, 0, 0, 0, 0},
10200 {0x5E, 0x8, 0x8, 0, 0},
10201 {0x5F, 0x77, 0x77, 1, 1},
10202 {0x60, 0x1, 0x1, 0, 0},
10203 {0x61, 0, 0, 0, 0},
10204 {0x62, 0x7, 0x7, 0, 0},
10205 {0x63, 0, 0, 0, 0},
10206 {0x64, 0x7, 0x7, 0, 0},
10207 {0x65, 0, 0, 0, 0},
10208 {0x66, 0, 0, 0, 0},
10209 {0x67, 0, 0, 1, 1},
10210 {0x68, 0, 0, 0, 0},
10211 {0x69, 0xa, 0xa, 0, 0},
10212 {0x6A, 0, 0, 0, 0},
10213 {0x6B, 0, 0, 0, 0},
10214 {0x6C, 0, 0, 0, 0},
10215 {0x6D, 0, 0, 0, 0},
10216 {0x6E, 0, 0, 0, 0},
10217 {0x6F, 0, 0, 0, 0},
10218 {0x70, 0, 0, 0, 0},
10219 {0x71, 0x2, 0x2, 0, 0},
10220 {0x72, 0, 0, 0, 0},
10221 {0x73, 0, 0, 0, 0},
10222 {0x74, 0xe, 0xe, 0, 0},
10223 {0x75, 0xe, 0xe, 0, 0},
10224 {0x76, 0xe, 0xe, 0, 0},
10225 {0x77, 0x13, 0x13, 0, 0},
10226 {0x78, 0x13, 0x13, 0, 0},
10227 {0x79, 0x1b, 0x1b, 0, 0},
10228 {0x7A, 0x1b, 0x1b, 0, 0},
10229 {0x7B, 0x55, 0x55, 0, 0},
10230 {0x7C, 0x5b, 0x5b, 0, 0},
10231 {0x7D, 0x30, 0x30, 1, 1},
10232 {0x7E, 0, 0, 0, 0},
10233 {0x7F, 0, 0, 0, 0},
10234 {0x80, 0, 0, 0, 0},
10235 {0x81, 0, 0, 0, 0},
10236 {0x82, 0, 0, 0, 0},
10237 {0x83, 0, 0, 0, 0},
10238 {0x84, 0, 0, 0, 0},
10239 {0x85, 0, 0, 0, 0},
10240 {0x86, 0, 0, 0, 0},
10241 {0x87, 0, 0, 0, 0},
10242 {0x88, 0, 0, 0, 0},
10243 {0x89, 0, 0, 0, 0},
10244 {0x8A, 0, 0, 0, 0},
10245 {0x8B, 0, 0, 0, 0},
10246 {0x8C, 0, 0, 0, 0},
10247 {0x8D, 0, 0, 0, 0},
10248 {0x8E, 0, 0, 0, 0},
10249 {0x8F, 0, 0, 0, 0},
10250 {0x90, 0, 0, 0, 0},
10251 {0x91, 0, 0, 0, 0},
10252 {0x92, 0, 0, 0, 0},
10253 {0x93, 0x70, 0x70, 0, 0},
10254 {0x94, 0x70, 0x70, 0, 0},
10255 {0x95, 0x71, 0x71, 1, 1},
10256 {0x96, 0x71, 0x71, 1, 1},
10257 {0x97, 0x72, 0x72, 1, 1},
10258 {0x98, 0x73, 0x73, 1, 1},
10259 {0x99, 0x74, 0x74, 1, 1},
10260 {0x9A, 0x75, 0x75, 1, 1},
10261 {0xFFFF, 0, 0, 0, 0},
10264 radio_regs_t regs_RX_2056_rev7[] = {
10265 {0x02, 0, 0, 0, 0},
10266 {0x03, 0, 0, 0, 0},
10267 {0x04, 0, 0, 0, 0},
10268 {0x05, 0, 0, 0, 0},
10269 {0x06, 0, 0, 0, 0},
10270 {0x07, 0, 0, 0, 0},
10271 {0x08, 0, 0, 0, 0},
10272 {0x09, 0, 0, 0, 0},
10273 {0x0A, 0, 0, 0, 0},
10274 {0x0B, 0, 0, 0, 0},
10275 {0x0C, 0, 0, 0, 0},
10276 {0x0D, 0, 0, 0, 0},
10277 {0x0E, 0, 0, 0, 0},
10278 {0x0F, 0, 0, 0, 0},
10279 {0x10, 0, 0, 0, 0},
10280 {0x11, 0, 0, 0, 0},
10281 {0x12, 0, 0, 0, 0},
10282 {0x13, 0, 0, 0, 0},
10283 {0x14, 0, 0, 0, 0},
10284 {0x15, 0, 0, 0, 0},
10285 {0x16, 0, 0, 0, 0},
10286 {0x17, 0, 0, 0, 0},
10287 {0x18, 0, 0, 0, 0},
10288 {0x19, 0, 0, 0, 0},
10289 {0x1A, 0, 0, 0, 0},
10290 {0x1B, 0, 0, 0, 0},
10291 {0x1C, 0, 0, 0, 0},
10292 {0x1D, 0, 0, 0, 0},
10293 {0x1E, 0, 0, 0, 0},
10294 {0x1F, 0, 0, 0, 0},
10295 {0x20, 0x3, 0x3, 0, 0},
10296 {0x21, 0, 0, 0, 0},
10297 {0x22, 0, 0, 0, 0},
10298 {0x23, 0x90, 0x90, 0, 0},
10299 {0x24, 0x55, 0x55, 0, 0},
10300 {0x25, 0x15, 0x15, 0, 0},
10301 {0x26, 0x5, 0x5, 0, 0},
10302 {0x27, 0x15, 0x15, 0, 0},
10303 {0x28, 0x5, 0x5, 0, 0},
10304 {0x29, 0x20, 0x20, 0, 0},
10305 {0x2A, 0x11, 0x11, 0, 0},
10306 {0x2B, 0x90, 0x90, 0, 0},
10307 {0x2C, 0, 0, 0, 0},
10308 {0x2D, 0x88, 0x88, 0, 0},
10309 {0x2E, 0x32, 0x32, 0, 0},
10310 {0x2F, 0x77, 0x77, 0, 0},
10311 {0x30, 0x17, 0x17, 1, 1},
10312 {0x31, 0xff, 0xff, 1, 1},
10313 {0x32, 0x20, 0x20, 0, 0},
10314 {0x33, 0, 0, 0, 0},
10315 {0x34, 0x88, 0x88, 0, 0},
10316 {0x35, 0x32, 0x32, 0, 0},
10317 {0x36, 0x77, 0x77, 0, 0},
10318 {0x37, 0x17, 0x17, 1, 1},
10319 {0x38, 0xf0, 0xf0, 1, 1},
10320 {0x39, 0x20, 0x20, 0, 0},
10321 {0x3A, 0x8, 0x8, 0, 0},
10322 {0x3B, 0x55, 0x55, 1, 1},
10323 {0x3C, 0, 0, 0, 0},
10324 {0x3D, 0x88, 0x88, 1, 1},
10325 {0x3E, 0, 0, 0, 0},
10326 {0x3F, 0, 0, 1, 1},
10327 {0x40, 0x7, 0x7, 1, 1},
10328 {0x41, 0x6, 0x6, 0, 0},
10329 {0x42, 0x4, 0x4, 0, 0},
10330 {0x43, 0, 0, 0, 0},
10331 {0x44, 0x8, 0x8, 0, 0},
10332 {0x45, 0x55, 0x55, 1, 1},
10333 {0x46, 0, 0, 0, 0},
10334 {0x47, 0x11, 0x11, 0, 0},
10335 {0x48, 0, 0, 0, 0},
10336 {0x49, 0, 0, 1, 1},
10337 {0x4A, 0x7, 0x7, 0, 0},
10338 {0x4B, 0x6, 0x6, 0, 0},
10339 {0x4C, 0x4, 0x4, 0, 0},
10340 {0x4D, 0, 0, 0, 0},
10341 {0x4E, 0, 0, 0, 0},
10342 {0x4F, 0x26, 0x26, 1, 1},
10343 {0x50, 0x26, 0x26, 1, 1},
10344 {0x51, 0xf, 0xf, 1, 1},
10345 {0x52, 0xf, 0xf, 1, 1},
10346 {0x53, 0x44, 0x44, 0, 0},
10347 {0x54, 0, 0, 0, 0},
10348 {0x55, 0, 0, 0, 0},
10349 {0x56, 0x8, 0x8, 0, 0},
10350 {0x57, 0x8, 0x8, 0, 0},
10351 {0x58, 0x7, 0x7, 0, 0},
10352 {0x59, 0x22, 0x22, 0, 0},
10353 {0x5A, 0x22, 0x22, 0, 0},
10354 {0x5B, 0x2, 0x2, 0, 0},
10355 {0x5C, 0x4, 0x4, 1, 1},
10356 {0x5D, 0x7, 0x7, 0, 0},
10357 {0x5E, 0x55, 0x55, 0, 0},
10358 {0x5F, 0x23, 0x23, 0, 0},
10359 {0x60, 0x41, 0x41, 0, 0},
10360 {0x61, 0x1, 0x1, 0, 0},
10361 {0x62, 0xa, 0xa, 0, 0},
10362 {0x63, 0, 0, 0, 0},
10363 {0x64, 0, 0, 0, 0},
10364 {0x65, 0, 0, 0, 0},
10365 {0x66, 0, 0, 0, 0},
10366 {0x67, 0, 0, 0, 0},
10367 {0x68, 0, 0, 0, 0},
10368 {0x69, 0, 0, 0, 0},
10369 {0x6A, 0, 0, 0, 0},
10370 {0x6B, 0xc, 0xc, 0, 0},
10371 {0x6C, 0, 0, 0, 0},
10372 {0x6D, 0, 0, 0, 0},
10373 {0x6E, 0, 0, 0, 0},
10374 {0x6F, 0, 0, 0, 0},
10375 {0x70, 0, 0, 0, 0},
10376 {0x71, 0, 0, 0, 0},
10377 {0x72, 0x22, 0x22, 0, 0},
10378 {0x73, 0x22, 0x22, 0, 0},
10379 {0x74, 0, 0, 1, 1},
10380 {0x75, 0xa, 0xa, 0, 0},
10381 {0x76, 0x1, 0x1, 0, 0},
10382 {0x77, 0x22, 0x22, 0, 0},
10383 {0x78, 0x30, 0x30, 0, 0},
10384 {0x79, 0, 0, 0, 0},
10385 {0x7A, 0, 0, 0, 0},
10386 {0x7B, 0, 0, 0, 0},
10387 {0x7C, 0, 0, 0, 0},
10388 {0x7D, 0, 0, 0, 0},
10389 {0x7E, 0, 0, 0, 0},
10390 {0x7F, 0, 0, 0, 0},
10391 {0x80, 0, 0, 0, 0},
10392 {0x81, 0, 0, 0, 0},
10393 {0x82, 0, 0, 0, 0},
10394 {0x83, 0, 0, 0, 0},
10395 {0x84, 0, 0, 0, 0},
10396 {0x85, 0, 0, 0, 0},
10397 {0x86, 0, 0, 0, 0},
10398 {0x87, 0, 0, 0, 0},
10399 {0x88, 0, 0, 0, 0},
10400 {0x89, 0, 0, 0, 0},
10401 {0x8A, 0, 0, 0, 0},
10402 {0x8B, 0, 0, 0, 0},
10403 {0x8C, 0, 0, 0, 0},
10404 {0x8D, 0, 0, 0, 0},
10405 {0x8E, 0, 0, 0, 0},
10406 {0x8F, 0, 0, 0, 0},
10407 {0x90, 0, 0, 0, 0},
10408 {0x91, 0, 0, 0, 0},
10409 {0x92, 0, 0, 0, 0},
10410 {0x93, 0, 0, 0, 0},
10411 {0x94, 0, 0, 0, 0},
10412 {0xFFFF, 0, 0, 0, 0},
10415 radio_regs_t regs_SYN_2056_rev8[] = {
10416 {0x02, 0, 0, 0, 0},
10417 {0x03, 0, 0, 0, 0},
10418 {0x04, 0, 0, 0, 0},
10419 {0x05, 0, 0, 0, 0},
10420 {0x06, 0, 0, 0, 0},
10421 {0x07, 0, 0, 0, 0},
10422 {0x08, 0, 0, 0, 0},
10423 {0x09, 0x1, 0x1, 0, 0},
10424 {0x0A, 0, 0, 0, 0},
10425 {0x0B, 0, 0, 0, 0},
10426 {0x0C, 0, 0, 0, 0},
10427 {0x0D, 0, 0, 0, 0},
10428 {0x0E, 0, 0, 0, 0},
10429 {0x0F, 0, 0, 0, 0},
10430 {0x10, 0, 0, 0, 0},
10431 {0x11, 0, 0, 0, 0},
10432 {0x12, 0, 0, 0, 0},
10433 {0x13, 0, 0, 0, 0},
10434 {0x14, 0, 0, 0, 0},
10435 {0x15, 0, 0, 0, 0},
10436 {0x16, 0, 0, 0, 0},
10437 {0x17, 0, 0, 0, 0},
10438 {0x18, 0, 0, 0, 0},
10439 {0x19, 0, 0, 0, 0},
10440 {0x1A, 0, 0, 0, 0},
10441 {0x1B, 0, 0, 0, 0},
10442 {0x1C, 0, 0, 0, 0},
10443 {0x1D, 0, 0, 0, 0},
10444 {0x1E, 0, 0, 0, 0},
10445 {0x1F, 0, 0, 0, 0},
10446 {0x20, 0, 0, 0, 0},
10447 {0x21, 0, 0, 0, 0},
10448 {0x22, 0x60, 0x60, 0, 0},
10449 {0x23, 0x6, 0x6, 0, 0},
10450 {0x24, 0xc, 0xc, 0, 0},
10451 {0x25, 0, 0, 0, 0},
10452 {0x26, 0, 0, 0, 0},
10453 {0x27, 0, 0, 0, 0},
10454 {0x28, 0x1, 0x1, 0, 0},
10455 {0x29, 0, 0, 0, 0},
10456 {0x2A, 0, 0, 0, 0},
10457 {0x2B, 0, 0, 0, 0},
10458 {0x2C, 0, 0, 0, 0},
10459 {0x2D, 0, 0, 0, 0},
10460 {0x2E, 0, 0, 0, 0},
10461 {0x2F, 0x1f, 0x1f, 0, 0},
10462 {0x30, 0x15, 0x15, 0, 0},
10463 {0x31, 0xf, 0xf, 0, 0},
10464 {0x32, 0, 0, 0, 0},
10465 {0x33, 0, 0, 0, 0},
10466 {0x34, 0, 0, 0, 0},
10467 {0x35, 0, 0, 0, 0},
10468 {0x36, 0, 0, 0, 0},
10469 {0x37, 0, 0, 0, 0},
10470 {0x38, 0, 0, 0, 0},
10471 {0x39, 0, 0, 0, 0},
10472 {0x3A, 0, 0, 0, 0},
10473 {0x3B, 0, 0, 0, 0},
10474 {0x3C, 0x13, 0x13, 0, 0},
10475 {0x3D, 0xf, 0xf, 0, 0},
10476 {0x3E, 0x18, 0x18, 0, 0},
10477 {0x3F, 0, 0, 0, 0},
10478 {0x40, 0, 0, 0, 0},
10479 {0x41, 0x20, 0x20, 0, 0},
10480 {0x42, 0x20, 0x20, 0, 0},
10481 {0x43, 0, 0, 0, 0},
10482 {0x44, 0x77, 0x77, 0, 0},
10483 {0x45, 0x7, 0x7, 0, 0},
10484 {0x46, 0x1, 0x1, 0, 0},
10485 {0x47, 0x4, 0x4, 0, 0},
10486 {0x48, 0xf, 0xf, 0, 0},
10487 {0x49, 0x30, 0x30, 0, 0},
10488 {0x4A, 0x32, 0x32, 0, 0},
10489 {0x4B, 0xd, 0xd, 0, 0},
10490 {0x4C, 0xd, 0xd, 0, 0},
10491 {0x4D, 0x4, 0x4, 0, 0},
10492 {0x4E, 0x6, 0x6, 0, 0},
10493 {0x4F, 0x1, 0x1, 0, 0},
10494 {0x50, 0x1c, 0x1c, 0, 0},
10495 {0x51, 0x2, 0x2, 0, 0},
10496 {0x52, 0x2, 0x2, 0, 0},
10497 {0x53, 0xf7, 0xf7, 1, 1},
10498 {0x54, 0xb4, 0xb4, 0, 0},
10499 {0x55, 0xd2, 0xd2, 0, 0},
10500 {0x56, 0, 0, 0, 0},
10501 {0x57, 0, 0, 0, 0},
10502 {0x58, 0x4, 0x4, 0, 0},
10503 {0x59, 0x96, 0x96, 0, 0},
10504 {0x5A, 0x3e, 0x3e, 0, 0},
10505 {0x5B, 0x3e, 0x3e, 0, 0},
10506 {0x5C, 0x13, 0x13, 0, 0},
10507 {0x5D, 0x2, 0x2, 0, 0},
10508 {0x5E, 0, 0, 0, 0},
10509 {0x5F, 0x7, 0x7, 0, 0},
10510 {0x60, 0x7, 0x7, 1, 1},
10511 {0x61, 0x8, 0x8, 0, 0},
10512 {0x62, 0x3, 0x3, 0, 0},
10513 {0x63, 0, 0, 0, 0},
10514 {0x64, 0, 0, 0, 0},
10515 {0x65, 0, 0, 0, 0},
10516 {0x66, 0, 0, 0, 0},
10517 {0x67, 0, 0, 0, 0},
10518 {0x68, 0x40, 0x40, 0, 0},
10519 {0x69, 0, 0, 0, 0},
10520 {0x6A, 0, 0, 0, 0},
10521 {0x6B, 0, 0, 0, 0},
10522 {0x6C, 0, 0, 0, 0},
10523 {0x6D, 0x1, 0x1, 0, 0},
10524 {0x6E, 0, 0, 0, 0},
10525 {0x6F, 0, 0, 0, 0},
10526 {0x70, 0x60, 0x60, 0, 0},
10527 {0x71, 0x66, 0x66, 0, 0},
10528 {0x72, 0xc, 0xc, 0, 0},
10529 {0x73, 0x66, 0x66, 0, 0},
10530 {0x74, 0x8f, 0x8f, 1, 1},
10531 {0x75, 0, 0, 0, 0},
10532 {0x76, 0xcc, 0xcc, 0, 0},
10533 {0x77, 0x1, 0x1, 0, 0},
10534 {0x78, 0x66, 0x66, 0, 0},
10535 {0x79, 0x66, 0x66, 0, 0},
10536 {0x7A, 0, 0, 0, 0},
10537 {0x7B, 0, 0, 0, 0},
10538 {0x7C, 0, 0, 0, 0},
10539 {0x7D, 0, 0, 0, 0},
10540 {0x7E, 0, 0, 0, 0},
10541 {0x7F, 0, 0, 0, 0},
10542 {0x80, 0, 0, 0, 0},
10543 {0x81, 0, 0, 0, 0},
10544 {0x82, 0, 0, 0, 0},
10545 {0x83, 0, 0, 0, 0},
10546 {0x84, 0, 0, 0, 0},
10547 {0x85, 0xff, 0xff, 0, 0},
10548 {0x86, 0, 0, 0, 0},
10549 {0x87, 0, 0, 0, 0},
10550 {0x88, 0, 0, 0, 0},
10551 {0x89, 0, 0, 0, 0},
10552 {0x8A, 0, 0, 0, 0},
10553 {0x8B, 0, 0, 0, 0},
10554 {0x8C, 0, 0, 0, 0},
10555 {0x8D, 0, 0, 0, 0},
10556 {0x8E, 0, 0, 0, 0},
10557 {0x8F, 0, 0, 0, 0},
10558 {0x90, 0, 0, 0, 0},
10559 {0x91, 0, 0, 0, 0},
10560 {0x92, 0, 0, 0, 0},
10561 {0x93, 0, 0, 0, 0},
10562 {0x94, 0, 0, 0, 0},
10563 {0x95, 0, 0, 0, 0},
10564 {0x96, 0, 0, 0, 0},
10565 {0x97, 0, 0, 0, 0},
10566 {0x98, 0, 0, 0, 0},
10567 {0x99, 0, 0, 0, 0},
10568 {0x9A, 0, 0, 0, 0},
10569 {0x9B, 0, 0, 0, 0},
10570 {0x9C, 0, 0, 0, 0},
10571 {0x9D, 0, 0, 0, 0},
10572 {0x9E, 0, 0, 0, 0},
10573 {0x9F, 0x6, 0x6, 0, 0},
10574 {0xA0, 0x66, 0x66, 0, 0},
10575 {0xA1, 0x66, 0x66, 0, 0},
10576 {0xA2, 0x66, 0x66, 0, 0},
10577 {0xA3, 0x66, 0x66, 0, 0},
10578 {0xA4, 0x66, 0x66, 0, 0},
10579 {0xA5, 0x66, 0x66, 0, 0},
10580 {0xA6, 0x66, 0x66, 0, 0},
10581 {0xA7, 0x66, 0x66, 0, 0},
10582 {0xA8, 0x66, 0x66, 0, 0},
10583 {0xA9, 0x66, 0x66, 0, 0},
10584 {0xAA, 0x66, 0x66, 0, 0},
10585 {0xAB, 0x66, 0x66, 0, 0},
10586 {0xAC, 0x66, 0x66, 0, 0},
10587 {0xAD, 0x66, 0x66, 0, 0},
10588 {0xAE, 0x66, 0x66, 0, 0},
10589 {0xAF, 0x66, 0x66, 0, 0},
10590 {0xB0, 0x66, 0x66, 0, 0},
10591 {0xB1, 0x66, 0x66, 0, 0},
10592 {0xB2, 0x66, 0x66, 0, 0},
10593 {0xB3, 0xa, 0xa, 0, 0},
10594 {0xB4, 0, 0, 0, 0},
10595 {0xB5, 0, 0, 0, 0},
10596 {0xB6, 0, 0, 0, 0},
10597 {0xFFFF, 0, 0, 0, 0},
10600 radio_regs_t regs_TX_2056_rev8[] = {
10601 {0x02, 0, 0, 0, 0},
10602 {0x03, 0, 0, 0, 0},
10603 {0x04, 0, 0, 0, 0},
10604 {0x05, 0, 0, 0, 0},
10605 {0x06, 0, 0, 0, 0},
10606 {0x07, 0, 0, 0, 0},
10607 {0x08, 0, 0, 0, 0},
10608 {0x09, 0, 0, 0, 0},
10609 {0x0A, 0, 0, 0, 0},
10610 {0x0B, 0, 0, 0, 0},
10611 {0x0C, 0, 0, 0, 0},
10612 {0x0D, 0, 0, 0, 0},
10613 {0x0E, 0, 0, 0, 0},
10614 {0x0F, 0, 0, 0, 0},
10615 {0x10, 0, 0, 0, 0},
10616 {0x11, 0, 0, 0, 0},
10617 {0x12, 0, 0, 0, 0},
10618 {0x13, 0, 0, 0, 0},
10619 {0x14, 0, 0, 0, 0},
10620 {0x15, 0, 0, 0, 0},
10621 {0x16, 0, 0, 0, 0},
10622 {0x17, 0, 0, 0, 0},
10623 {0x18, 0, 0, 0, 0},
10624 {0x19, 0, 0, 0, 0},
10625 {0x1A, 0, 0, 0, 0},
10626 {0x1B, 0, 0, 0, 0},
10627 {0x1C, 0, 0, 0, 0},
10628 {0x1D, 0, 0, 0, 0},
10629 {0x1E, 0, 0, 0, 0},
10630 {0x1F, 0, 0, 0, 0},
10631 {0x20, 0, 0, 0, 0},
10632 {0x21, 0x88, 0x88, 0, 0},
10633 {0x22, 0x88, 0x88, 0, 0},
10634 {0x23, 0x88, 0x88, 0, 0},
10635 {0x24, 0x88, 0x88, 0, 0},
10636 {0x25, 0xc, 0xc, 0, 0},
10637 {0x26, 0, 0, 0, 0},
10638 {0x27, 0x3, 0x3, 0, 0},
10639 {0x28, 0, 0, 0, 0},
10640 {0x29, 0x3, 0x3, 0, 0},
10641 {0x2A, 0x37, 0x37, 0, 0},
10642 {0x2B, 0x3, 0x3, 0, 0},
10643 {0x2C, 0, 0, 0, 0},
10644 {0x2D, 0, 0, 0, 0},
10645 {0x2E, 0x1, 0x1, 0, 0},
10646 {0x2F, 0x1, 0x1, 0, 0},
10647 {0x30, 0, 0, 0, 0},
10648 {0x31, 0, 0, 0, 0},
10649 {0x32, 0, 0, 0, 0},
10650 {0x33, 0x11, 0x11, 0, 0},
10651 {0x34, 0xee, 0xee, 1, 1},
10652 {0x35, 0, 0, 0, 0},
10653 {0x36, 0, 0, 0, 0},
10654 {0x37, 0x3, 0x3, 0, 0},
10655 {0x38, 0x50, 0x50, 1, 1},
10656 {0x39, 0, 0, 0, 0},
10657 {0x3A, 0x50, 0x50, 1, 1},
10658 {0x3B, 0, 0, 0, 0},
10659 {0x3C, 0x6e, 0x6e, 0, 0},
10660 {0x3D, 0xf0, 0xf0, 1, 1},
10661 {0x3E, 0, 0, 0, 0},
10662 {0x3F, 0, 0, 0, 0},
10663 {0x40, 0, 0, 0, 0},
10664 {0x41, 0x3, 0x3, 0, 0},
10665 {0x42, 0x3, 0x3, 0, 0},
10666 {0x43, 0, 0, 0, 0},
10667 {0x44, 0x1e, 0x1e, 0, 0},
10668 {0x45, 0, 0, 0, 0},
10669 {0x46, 0x6e, 0x6e, 0, 0},
10670 {0x47, 0xf0, 0xf0, 1, 1},
10671 {0x48, 0, 0, 0, 0},
10672 {0x49, 0x2, 0x2, 0, 0},
10673 {0x4A, 0xff, 0xff, 1, 1},
10674 {0x4B, 0xc, 0xc, 0, 0},
10675 {0x4C, 0, 0, 0, 0},
10676 {0x4D, 0x38, 0x38, 0, 0},
10677 {0x4E, 0x70, 0x70, 1, 1},
10678 {0x4F, 0x2, 0x2, 0, 0},
10679 {0x50, 0x88, 0x88, 0, 0},
10680 {0x51, 0xc, 0xc, 0, 0},
10681 {0x52, 0, 0, 0, 0},
10682 {0x53, 0x8, 0x8, 0, 0},
10683 {0x54, 0x70, 0x70, 1, 1},
10684 {0x55, 0x2, 0x2, 0, 0},
10685 {0x56, 0xff, 0xff, 1, 1},
10686 {0x57, 0, 0, 0, 0},
10687 {0x58, 0x83, 0x83, 0, 0},
10688 {0x59, 0x77, 0x77, 1, 1},
10689 {0x5A, 0, 0, 0, 0},
10690 {0x5B, 0x2, 0x2, 0, 0},
10691 {0x5C, 0x88, 0x88, 0, 0},
10692 {0x5D, 0, 0, 0, 0},
10693 {0x5E, 0x8, 0x8, 0, 0},
10694 {0x5F, 0x77, 0x77, 1, 1},
10695 {0x60, 0x1, 0x1, 0, 0},
10696 {0x61, 0, 0, 0, 0},
10697 {0x62, 0x7, 0x7, 0, 0},
10698 {0x63, 0, 0, 0, 0},
10699 {0x64, 0x7, 0x7, 0, 0},
10700 {0x65, 0, 0, 0, 0},
10701 {0x66, 0, 0, 0, 0},
10702 {0x67, 0, 0, 1, 1},
10703 {0x68, 0, 0, 0, 0},
10704 {0x69, 0xa, 0xa, 0, 0},
10705 {0x6A, 0, 0, 0, 0},
10706 {0x6B, 0, 0, 0, 0},
10707 {0x6C, 0, 0, 0, 0},
10708 {0x6D, 0, 0, 0, 0},
10709 {0x6E, 0, 0, 0, 0},
10710 {0x6F, 0, 0, 0, 0},
10711 {0x70, 0, 0, 0, 0},
10712 {0x71, 0x2, 0x2, 0, 0},
10713 {0x72, 0, 0, 0, 0},
10714 {0x73, 0, 0, 0, 0},
10715 {0x74, 0xe, 0xe, 0, 0},
10716 {0x75, 0xe, 0xe, 0, 0},
10717 {0x76, 0xe, 0xe, 0, 0},
10718 {0x77, 0x13, 0x13, 0, 0},
10719 {0x78, 0x13, 0x13, 0, 0},
10720 {0x79, 0x1b, 0x1b, 0, 0},
10721 {0x7A, 0x1b, 0x1b, 0, 0},
10722 {0x7B, 0x55, 0x55, 0, 0},
10723 {0x7C, 0x5b, 0x5b, 0, 0},
10724 {0x7D, 0x30, 0x30, 1, 1},
10725 {0x7E, 0, 0, 0, 0},
10726 {0x7F, 0, 0, 0, 0},
10727 {0x80, 0, 0, 0, 0},
10728 {0x81, 0, 0, 0, 0},
10729 {0x82, 0, 0, 0, 0},
10730 {0x83, 0, 0, 0, 0},
10731 {0x84, 0, 0, 0, 0},
10732 {0x85, 0, 0, 0, 0},
10733 {0x86, 0, 0, 0, 0},
10734 {0x87, 0, 0, 0, 0},
10735 {0x88, 0, 0, 0, 0},
10736 {0x89, 0, 0, 0, 0},
10737 {0x8A, 0, 0, 0, 0},
10738 {0x8B, 0, 0, 0, 0},
10739 {0x8C, 0, 0, 0, 0},
10740 {0x8D, 0, 0, 0, 0},
10741 {0x8E, 0, 0, 0, 0},
10742 {0x8F, 0, 0, 0, 0},
10743 {0x90, 0, 0, 0, 0},
10744 {0x91, 0, 0, 0, 0},
10745 {0x92, 0, 0, 0, 0},
10746 {0x93, 0x70, 0x70, 0, 0},
10747 {0x94, 0x70, 0x70, 0, 0},
10748 {0x95, 0x70, 0x70, 0, 0},
10749 {0x96, 0x70, 0x70, 0, 0},
10750 {0x97, 0x70, 0x70, 0, 0},
10751 {0x98, 0x70, 0x70, 0, 0},
10752 {0x99, 0x70, 0x70, 0, 0},
10753 {0x9A, 0x70, 0x70, 0, 0},
10754 {0xFFFF, 0, 0, 0, 0},
10757 radio_regs_t regs_RX_2056_rev8[] = {
10758 {0x02, 0, 0, 0, 0},
10759 {0x03, 0, 0, 0, 0},
10760 {0x04, 0, 0, 0, 0},
10761 {0x05, 0, 0, 0, 0},
10762 {0x06, 0, 0, 0, 0},
10763 {0x07, 0, 0, 0, 0},
10764 {0x08, 0, 0, 0, 0},
10765 {0x09, 0, 0, 0, 0},
10766 {0x0A, 0, 0, 0, 0},
10767 {0x0B, 0, 0, 0, 0},
10768 {0x0C, 0, 0, 0, 0},
10769 {0x0D, 0, 0, 0, 0},
10770 {0x0E, 0, 0, 0, 0},
10771 {0x0F, 0, 0, 0, 0},
10772 {0x10, 0, 0, 0, 0},
10773 {0x11, 0, 0, 0, 0},
10774 {0x12, 0, 0, 0, 0},
10775 {0x13, 0, 0, 0, 0},
10776 {0x14, 0, 0, 0, 0},
10777 {0x15, 0, 0, 0, 0},
10778 {0x16, 0, 0, 0, 0},
10779 {0x17, 0, 0, 0, 0},
10780 {0x18, 0, 0, 0, 0},
10781 {0x19, 0, 0, 0, 0},
10782 {0x1A, 0, 0, 0, 0},
10783 {0x1B, 0, 0, 0, 0},
10784 {0x1C, 0, 0, 0, 0},
10785 {0x1D, 0, 0, 0, 0},
10786 {0x1E, 0, 0, 0, 0},
10787 {0x1F, 0, 0, 0, 0},
10788 {0x20, 0x3, 0x3, 0, 0},
10789 {0x21, 0, 0, 0, 0},
10790 {0x22, 0, 0, 0, 0},
10791 {0x23, 0x90, 0x90, 0, 0},
10792 {0x24, 0x55, 0x55, 0, 0},
10793 {0x25, 0x15, 0x15, 0, 0},
10794 {0x26, 0x5, 0x5, 0, 0},
10795 {0x27, 0x15, 0x15, 0, 0},
10796 {0x28, 0x5, 0x5, 0, 0},
10797 {0x29, 0x20, 0x20, 0, 0},
10798 {0x2A, 0x11, 0x11, 0, 0},
10799 {0x2B, 0x90, 0x90, 0, 0},
10800 {0x2C, 0, 0, 0, 0},
10801 {0x2D, 0x88, 0x88, 0, 0},
10802 {0x2E, 0x32, 0x32, 0, 0},
10803 {0x2F, 0x77, 0x77, 0, 0},
10804 {0x30, 0x17, 0x17, 1, 1},
10805 {0x31, 0xff, 0xff, 1, 1},
10806 {0x32, 0x20, 0x20, 0, 0},
10807 {0x33, 0, 0, 0, 0},
10808 {0x34, 0x88, 0x88, 0, 0},
10809 {0x35, 0x32, 0x32, 0, 0},
10810 {0x36, 0x77, 0x77, 0, 0},
10811 {0x37, 0x17, 0x17, 1, 1},
10812 {0x38, 0xf0, 0xf0, 1, 1},
10813 {0x39, 0x20, 0x20, 0, 0},
10814 {0x3A, 0x8, 0x8, 0, 0},
10815 {0x3B, 0x55, 0x55, 1, 1},
10816 {0x3C, 0, 0, 0, 0},
10817 {0x3D, 0x88, 0x88, 1, 1},
10818 {0x3E, 0, 0, 0, 0},
10819 {0x3F, 0x44, 0x44, 0, 0},
10820 {0x40, 0x7, 0x7, 1, 1},
10821 {0x41, 0x6, 0x6, 0, 0},
10822 {0x42, 0x4, 0x4, 0, 0},
10823 {0x43, 0, 0, 0, 0},
10824 {0x44, 0x8, 0x8, 0, 0},
10825 {0x45, 0x55, 0x55, 1, 1},
10826 {0x46, 0, 0, 0, 0},
10827 {0x47, 0x11, 0x11, 0, 0},
10828 {0x48, 0, 0, 0, 0},
10829 {0x49, 0x44, 0x44, 0, 0},
10830 {0x4A, 0x7, 0x7, 0, 0},
10831 {0x4B, 0x6, 0x6, 0, 0},
10832 {0x4C, 0x4, 0x4, 0, 0},
10833 {0x4D, 0, 0, 0, 0},
10834 {0x4E, 0, 0, 0, 0},
10835 {0x4F, 0x26, 0x26, 1, 1},
10836 {0x50, 0x26, 0x26, 1, 1},
10837 {0x51, 0xf, 0xf, 1, 1},
10838 {0x52, 0xf, 0xf, 1, 1},
10839 {0x53, 0x44, 0x44, 0, 0},
10840 {0x54, 0, 0, 0, 0},
10841 {0x55, 0, 0, 0, 0},
10842 {0x56, 0x8, 0x8, 0, 0},
10843 {0x57, 0x8, 0x8, 0, 0},
10844 {0x58, 0x7, 0x7, 0, 0},
10845 {0x59, 0x22, 0x22, 0, 0},
10846 {0x5A, 0x22, 0x22, 0, 0},
10847 {0x5B, 0x2, 0x2, 0, 0},
10848 {0x5C, 0x4, 0x4, 1, 1},
10849 {0x5D, 0x7, 0x7, 0, 0},
10850 {0x5E, 0x55, 0x55, 0, 0},
10851 {0x5F, 0x23, 0x23, 0, 0},
10852 {0x60, 0x41, 0x41, 0, 0},
10853 {0x61, 0x1, 0x1, 0, 0},
10854 {0x62, 0xa, 0xa, 0, 0},
10855 {0x63, 0, 0, 0, 0},
10856 {0x64, 0, 0, 0, 0},
10857 {0x65, 0, 0, 0, 0},
10858 {0x66, 0, 0, 0, 0},
10859 {0x67, 0, 0, 0, 0},
10860 {0x68, 0, 0, 0, 0},
10861 {0x69, 0, 0, 0, 0},
10862 {0x6A, 0, 0, 0, 0},
10863 {0x6B, 0xc, 0xc, 0, 0},
10864 {0x6C, 0, 0, 0, 0},
10865 {0x6D, 0, 0, 0, 0},
10866 {0x6E, 0, 0, 0, 0},
10867 {0x6F, 0, 0, 0, 0},
10868 {0x70, 0, 0, 0, 0},
10869 {0x71, 0, 0, 0, 0},
10870 {0x72, 0x22, 0x22, 0, 0},
10871 {0x73, 0x22, 0x22, 0, 0},
10872 {0x74, 0, 0, 1, 1},
10873 {0x75, 0xa, 0xa, 0, 0},
10874 {0x76, 0x1, 0x1, 0, 0},
10875 {0x77, 0x22, 0x22, 0, 0},
10876 {0x78, 0x30, 0x30, 0, 0},
10877 {0x79, 0, 0, 0, 0},
10878 {0x7A, 0, 0, 0, 0},
10879 {0x7B, 0, 0, 0, 0},
10880 {0x7C, 0, 0, 0, 0},
10881 {0x7D, 0x5, 0x5, 1, 1},
10882 {0x7E, 0, 0, 0, 0},
10883 {0x7F, 0, 0, 0, 0},
10884 {0x80, 0, 0, 0, 0},
10885 {0x81, 0, 0, 0, 0},
10886 {0x82, 0, 0, 0, 0},
10887 {0x83, 0, 0, 0, 0},
10888 {0x84, 0, 0, 0, 0},
10889 {0x85, 0, 0, 0, 0},
10890 {0x86, 0, 0, 0, 0},
10891 {0x87, 0, 0, 0, 0},
10892 {0x88, 0, 0, 0, 0},
10893 {0x89, 0, 0, 0, 0},
10894 {0x8A, 0, 0, 0, 0},
10895 {0x8B, 0, 0, 0, 0},
10896 {0x8C, 0, 0, 0, 0},
10897 {0x8D, 0, 0, 0, 0},
10898 {0x8E, 0, 0, 0, 0},
10899 {0x8F, 0, 0, 0, 0},
10900 {0x90, 0, 0, 0, 0},
10901 {0x91, 0, 0, 0, 0},
10902 {0x92, 0, 0, 0, 0},
10903 {0x93, 0, 0, 0, 0},
10904 {0x94, 0, 0, 0, 0},
10905 {0xFFFF, 0, 0, 0, 0},
10908 radio_regs_t regs_SYN_2056_rev11[] = {
10909 {0x02, 0, 0, 0, 0},
10910 {0x03, 0, 0, 0, 0},
10911 {0x04, 0, 0, 0, 0},
10912 {0x05, 0, 0, 0, 0},
10913 {0x06, 0, 0, 0, 0},
10914 {0x07, 0, 0, 0, 0},
10915 {0x08, 0, 0, 0, 0},
10916 {0x09, 0x1, 0x1, 0, 0},
10917 {0x0A, 0, 0, 0, 0},
10918 {0x0B, 0, 0, 0, 0},
10919 {0x0C, 0, 0, 0, 0},
10920 {0x0D, 0, 0, 0, 0},
10921 {0x0E, 0, 0, 0, 0},
10922 {0x0F, 0, 0, 0, 0},
10923 {0x10, 0, 0, 0, 0},
10924 {0x11, 0, 0, 0, 0},
10925 {0x12, 0, 0, 0, 0},
10926 {0x13, 0, 0, 0, 0},
10927 {0x14, 0, 0, 0, 0},
10928 {0x15, 0, 0, 0, 0},
10929 {0x16, 0, 0, 0, 0},
10930 {0x17, 0, 0, 0, 0},
10931 {0x18, 0, 0, 0, 0},
10932 {0x19, 0, 0, 0, 0},
10933 {0x1A, 0, 0, 0, 0},
10934 {0x1B, 0, 0, 0, 0},
10935 {0x1C, 0, 0, 0, 0},
10936 {0x1D, 0, 0, 0, 0},
10937 {0x1E, 0, 0, 0, 0},
10938 {0x1F, 0, 0, 0, 0},
10939 {0x20, 0, 0, 0, 0},
10940 {0x21, 0, 0, 0, 0},
10941 {0x22, 0x60, 0x60, 0, 0},
10942 {0x23, 0x6, 0x6, 0, 0},
10943 {0x24, 0xc, 0xc, 0, 0},
10944 {0x25, 0, 0, 0, 0},
10945 {0x26, 0, 0, 0, 0},
10946 {0x27, 0, 0, 0, 0},
10947 {0x28, 0x1, 0x1, 0, 0},
10948 {0x29, 0, 0, 0, 0},
10949 {0x2A, 0, 0, 0, 0},
10950 {0x2B, 0, 0, 0, 0},
10951 {0x2C, 0, 0, 0, 0},
10952 {0x2D, 0, 0, 0, 0},
10953 {0x2E, 0, 0, 0, 0},
10954 {0x2F, 0x1f, 0x1f, 0, 0},
10955 {0x30, 0x15, 0x15, 0, 0},
10956 {0x31, 0xf, 0xf, 0, 0},
10957 {0x32, 0, 0, 0, 0},
10958 {0x33, 0, 0, 0, 0},
10959 {0x34, 0, 0, 0, 0},
10960 {0x35, 0, 0, 0, 0},
10961 {0x36, 0, 0, 0, 0},
10962 {0x37, 0, 0, 0, 0},
10963 {0x38, 0, 0, 0, 0},
10964 {0x39, 0, 0, 0, 0},
10965 {0x3A, 0, 0, 0, 0},
10966 {0x3B, 0, 0, 0, 0},
10967 {0x3C, 0x13, 0x13, 0, 0},
10968 {0x3D, 0xf, 0xf, 0, 0},
10969 {0x3E, 0x18, 0x18, 0, 0},
10970 {0x3F, 0, 0, 0, 0},
10971 {0x40, 0, 0, 0, 0},
10972 {0x41, 0x20, 0x20, 0, 0},
10973 {0x42, 0x20, 0x20, 0, 0},
10974 {0x43, 0, 0, 0, 0},
10975 {0x44, 0x77, 0x77, 0, 0},
10976 {0x45, 0x7, 0x7, 0, 0},
10977 {0x46, 0x1, 0x1, 0, 0},
10978 {0x47, 0x6, 0x6, 1, 1},
10979 {0x48, 0xf, 0xf, 0, 0},
10980 {0x49, 0x3f, 0x3f, 1, 1},
10981 {0x4A, 0x32, 0x32, 0, 0},
10982 {0x4B, 0x6, 0x6, 1, 1},
10983 {0x4C, 0x6, 0x6, 1, 1},
10984 {0x4D, 0x4, 0x4, 0, 0},
10985 {0x4E, 0x2b, 0x2b, 1, 1},
10986 {0x4F, 0x1, 0x1, 0, 0},
10987 {0x50, 0x1c, 0x1c, 0, 0},
10988 {0x51, 0x2, 0x2, 0, 0},
10989 {0x52, 0x2, 0x2, 0, 0},
10990 {0x53, 0xf7, 0xf7, 1, 1},
10991 {0x54, 0xb4, 0xb4, 0, 0},
10992 {0x55, 0xd2, 0xd2, 0, 0},
10993 {0x56, 0, 0, 0, 0},
10994 {0x57, 0, 0, 0, 0},
10995 {0x58, 0x4, 0x4, 0, 0},
10996 {0x59, 0x96, 0x96, 0, 0},
10997 {0x5A, 0x3e, 0x3e, 0, 0},
10998 {0x5B, 0x3e, 0x3e, 0, 0},
10999 {0x5C, 0x13, 0x13, 0, 0},
11000 {0x5D, 0x2, 0x2, 0, 0},
11001 {0x5E, 0, 0, 0, 0},
11002 {0x5F, 0x7, 0x7, 0, 0},
11003 {0x60, 0x7, 0x7, 1, 1},
11004 {0x61, 0x8, 0x8, 0, 0},
11005 {0x62, 0x3, 0x3, 0, 0},
11006 {0x63, 0, 0, 0, 0},
11007 {0x64, 0, 0, 0, 0},
11008 {0x65, 0, 0, 0, 0},
11009 {0x66, 0, 0, 0, 0},
11010 {0x67, 0, 0, 0, 0},
11011 {0x68, 0x40, 0x40, 0, 0},
11012 {0x69, 0, 0, 0, 0},
11013 {0x6A, 0, 0, 0, 0},
11014 {0x6B, 0, 0, 0, 0},
11015 {0x6C, 0, 0, 0, 0},
11016 {0x6D, 0x1, 0x1, 0, 0},
11017 {0x6E, 0, 0, 0, 0},
11018 {0x6F, 0, 0, 0, 0},
11019 {0x70, 0x60, 0x60, 0, 0},
11020 {0x71, 0x66, 0x66, 0, 0},
11021 {0x72, 0xc, 0xc, 0, 0},
11022 {0x73, 0x66, 0x66, 0, 0},
11023 {0x74, 0x8f, 0x8f, 1, 1},
11024 {0x75, 0, 0, 0, 0},
11025 {0x76, 0xcc, 0xcc, 0, 0},
11026 {0x77, 0x1, 0x1, 0, 0},
11027 {0x78, 0x66, 0x66, 0, 0},
11028 {0x79, 0x66, 0x66, 0, 0},
11029 {0x7A, 0, 0, 0, 0},
11030 {0x7B, 0, 0, 0, 0},
11031 {0x7C, 0, 0, 0, 0},
11032 {0x7D, 0, 0, 0, 0},
11033 {0x7E, 0, 0, 0, 0},
11034 {0x7F, 0, 0, 0, 0},
11035 {0x80, 0, 0, 0, 0},
11036 {0x81, 0, 0, 0, 0},
11037 {0x82, 0, 0, 0, 0},
11038 {0x83, 0, 0, 0, 0},
11039 {0x84, 0, 0, 0, 0},
11040 {0x85, 0xff, 0xff, 0, 0},
11041 {0x86, 0, 0, 0, 0},
11042 {0x87, 0, 0, 0, 0},
11043 {0x88, 0, 0, 0, 0},
11044 {0x89, 0, 0, 0, 0},
11045 {0x8A, 0, 0, 0, 0},
11046 {0x8B, 0, 0, 0, 0},
11047 {0x8C, 0, 0, 0, 0},
11048 {0x8D, 0, 0, 0, 0},
11049 {0x8E, 0, 0, 0, 0},
11050 {0x8F, 0, 0, 0, 0},
11051 {0x90, 0, 0, 0, 0},
11052 {0x91, 0, 0, 0, 0},
11053 {0x92, 0, 0, 0, 0},
11054 {0x93, 0, 0, 0, 0},
11055 {0x94, 0, 0, 0, 0},
11056 {0x95, 0, 0, 0, 0},
11057 {0x96, 0, 0, 0, 0},
11058 {0x97, 0, 0, 0, 0},
11059 {0x98, 0, 0, 0, 0},
11060 {0x99, 0, 0, 0, 0},
11061 {0x9A, 0, 0, 0, 0},
11062 {0x9B, 0, 0, 0, 0},
11063 {0x9C, 0, 0, 0, 0},
11064 {0x9D, 0, 0, 0, 0},
11065 {0x9E, 0, 0, 0, 0},
11066 {0x9F, 0x6, 0x6, 0, 0},
11067 {0xA0, 0x66, 0x66, 0, 0},
11068 {0xA1, 0x66, 0x66, 0, 0},
11069 {0xA2, 0x66, 0x66, 0, 0},
11070 {0xA3, 0x66, 0x66, 0, 0},
11071 {0xA4, 0x66, 0x66, 0, 0},
11072 {0xA5, 0x66, 0x66, 0, 0},
11073 {0xA6, 0x66, 0x66, 0, 0},
11074 {0xA7, 0x66, 0x66, 0, 0},
11075 {0xA8, 0x66, 0x66, 0, 0},
11076 {0xA9, 0x66, 0x66, 0, 0},
11077 {0xAA, 0x66, 0x66, 0, 0},
11078 {0xAB, 0x66, 0x66, 0, 0},
11079 {0xAC, 0x66, 0x66, 0, 0},
11080 {0xAD, 0x66, 0x66, 0, 0},
11081 {0xAE, 0x66, 0x66, 0, 0},
11082 {0xAF, 0x66, 0x66, 0, 0},
11083 {0xB0, 0x66, 0x66, 0, 0},
11084 {0xB1, 0x66, 0x66, 0, 0},
11085 {0xB2, 0x66, 0x66, 0, 0},
11086 {0xB3, 0xa, 0xa, 0, 0},
11087 {0xB4, 0, 0, 0, 0},
11088 {0xB5, 0, 0, 0, 0},
11089 {0xB6, 0, 0, 0, 0},
11090 {0xFFFF, 0, 0, 0, 0},
11093 radio_regs_t regs_TX_2056_rev11[] = {
11094 {0x02, 0, 0, 0, 0},
11095 {0x03, 0, 0, 0, 0},
11096 {0x04, 0, 0, 0, 0},
11097 {0x05, 0, 0, 0, 0},
11098 {0x06, 0, 0, 0, 0},
11099 {0x07, 0, 0, 0, 0},
11100 {0x08, 0, 0, 0, 0},
11101 {0x09, 0, 0, 0, 0},
11102 {0x0A, 0, 0, 0, 0},
11103 {0x0B, 0, 0, 0, 0},
11104 {0x0C, 0, 0, 0, 0},
11105 {0x0D, 0, 0, 0, 0},
11106 {0x0E, 0, 0, 0, 0},
11107 {0x0F, 0, 0, 0, 0},
11108 {0x10, 0, 0, 0, 0},
11109 {0x11, 0, 0, 0, 0},
11110 {0x12, 0, 0, 0, 0},
11111 {0x13, 0, 0, 0, 0},
11112 {0x14, 0, 0, 0, 0},
11113 {0x15, 0, 0, 0, 0},
11114 {0x16, 0, 0, 0, 0},
11115 {0x17, 0, 0, 0, 0},
11116 {0x18, 0, 0, 0, 0},
11117 {0x19, 0, 0, 0, 0},
11118 {0x1A, 0, 0, 0, 0},
11119 {0x1B, 0, 0, 0, 0},
11120 {0x1C, 0, 0, 0, 0},
11121 {0x1D, 0, 0, 0, 0},
11122 {0x1E, 0, 0, 0, 0},
11123 {0x1F, 0, 0, 0, 0},
11124 {0x20, 0, 0, 0, 0},
11125 {0x21, 0x88, 0x88, 0, 0},
11126 {0x22, 0x88, 0x88, 0, 0},
11127 {0x23, 0x88, 0x88, 0, 0},
11128 {0x24, 0x88, 0x88, 0, 0},
11129 {0x25, 0xc, 0xc, 0, 0},
11130 {0x26, 0, 0, 0, 0},
11131 {0x27, 0x3, 0x3, 0, 0},
11132 {0x28, 0, 0, 0, 0},
11133 {0x29, 0x3, 0x3, 0, 0},
11134 {0x2A, 0x37, 0x37, 0, 0},
11135 {0x2B, 0x3, 0x3, 0, 0},
11136 {0x2C, 0, 0, 0, 0},
11137 {0x2D, 0, 0, 0, 0},
11138 {0x2E, 0x1, 0x1, 0, 0},
11139 {0x2F, 0x1, 0x1, 0, 0},
11140 {0x30, 0, 0, 0, 0},
11141 {0x31, 0, 0, 0, 0},
11142 {0x32, 0, 0, 0, 0},
11143 {0x33, 0x11, 0x11, 0, 0},
11144 {0x34, 0xee, 0xee, 1, 1},
11145 {0x35, 0, 0, 0, 0},
11146 {0x36, 0, 0, 0, 0},
11147 {0x37, 0x3, 0x3, 0, 0},
11148 {0x38, 0x50, 0x50, 1, 1},
11149 {0x39, 0, 0, 0, 0},
11150 {0x3A, 0x50, 0x50, 1, 1},
11151 {0x3B, 0, 0, 0, 0},
11152 {0x3C, 0x6e, 0x6e, 0, 0},
11153 {0x3D, 0xf0, 0xf0, 1, 1},
11154 {0x3E, 0, 0, 0, 0},
11155 {0x3F, 0, 0, 0, 0},
11156 {0x40, 0, 0, 0, 0},
11157 {0x41, 0x3, 0x3, 0, 0},
11158 {0x42, 0x3, 0x3, 0, 0},
11159 {0x43, 0, 0, 0, 0},
11160 {0x44, 0x1e, 0x1e, 0, 0},
11161 {0x45, 0, 0, 0, 0},
11162 {0x46, 0x6e, 0x6e, 0, 0},
11163 {0x47, 0xf0, 0xf0, 1, 1},
11164 {0x48, 0, 0, 0, 0},
11165 {0x49, 0x2, 0x2, 0, 0},
11166 {0x4A, 0xff, 0xff, 1, 1},
11167 {0x4B, 0xc, 0xc, 0, 0},
11168 {0x4C, 0, 0, 0, 0},
11169 {0x4D, 0x38, 0x38, 0, 0},
11170 {0x4E, 0x70, 0x70, 1, 1},
11171 {0x4F, 0x2, 0x2, 0, 0},
11172 {0x50, 0x88, 0x88, 0, 0},
11173 {0x51, 0xc, 0xc, 0, 0},
11174 {0x52, 0, 0, 0, 0},
11175 {0x53, 0x8, 0x8, 0, 0},
11176 {0x54, 0x70, 0x70, 1, 1},
11177 {0x55, 0x2, 0x2, 0, 0},
11178 {0x56, 0xff, 0xff, 1, 1},
11179 {0x57, 0, 0, 0, 0},
11180 {0x58, 0x83, 0x83, 0, 0},
11181 {0x59, 0x77, 0x77, 1, 1},
11182 {0x5A, 0, 0, 0, 0},
11183 {0x5B, 0x2, 0x2, 0, 0},
11184 {0x5C, 0x88, 0x88, 0, 0},
11185 {0x5D, 0, 0, 0, 0},
11186 {0x5E, 0x8, 0x8, 0, 0},
11187 {0x5F, 0x77, 0x77, 1, 1},
11188 {0x60, 0x1, 0x1, 0, 0},
11189 {0x61, 0, 0, 0, 0},
11190 {0x62, 0x7, 0x7, 0, 0},
11191 {0x63, 0, 0, 0, 0},
11192 {0x64, 0x7, 0x7, 0, 0},
11193 {0x65, 0, 0, 0, 0},
11194 {0x66, 0, 0, 0, 0},
11195 {0x67, 0, 0, 1, 1},
11196 {0x68, 0, 0, 0, 0},
11197 {0x69, 0xa, 0xa, 0, 0},
11198 {0x6A, 0, 0, 0, 0},
11199 {0x6B, 0, 0, 0, 0},
11200 {0x6C, 0, 0, 0, 0},
11201 {0x6D, 0, 0, 0, 0},
11202 {0x6E, 0, 0, 0, 0},
11203 {0x6F, 0, 0, 0, 0},
11204 {0x70, 0, 0, 0, 0},
11205 {0x71, 0x2, 0x2, 0, 0},
11206 {0x72, 0, 0, 0, 0},
11207 {0x73, 0, 0, 0, 0},
11208 {0x74, 0xe, 0xe, 0, 0},
11209 {0x75, 0xe, 0xe, 0, 0},
11210 {0x76, 0xe, 0xe, 0, 0},
11211 {0x77, 0x13, 0x13, 0, 0},
11212 {0x78, 0x13, 0x13, 0, 0},
11213 {0x79, 0x1b, 0x1b, 0, 0},
11214 {0x7A, 0x1b, 0x1b, 0, 0},
11215 {0x7B, 0x55, 0x55, 0, 0},
11216 {0x7C, 0x5b, 0x5b, 0, 0},
11217 {0x7D, 0x30, 0x30, 1, 1},
11218 {0x7E, 0, 0, 0, 0},
11219 {0x7F, 0, 0, 0, 0},
11220 {0x80, 0, 0, 0, 0},
11221 {0x81, 0, 0, 0, 0},
11222 {0x82, 0, 0, 0, 0},
11223 {0x83, 0, 0, 0, 0},
11224 {0x84, 0, 0, 0, 0},
11225 {0x85, 0, 0, 0, 0},
11226 {0x86, 0, 0, 0, 0},
11227 {0x87, 0, 0, 0, 0},
11228 {0x88, 0, 0, 0, 0},
11229 {0x89, 0, 0, 0, 0},
11230 {0x8A, 0, 0, 0, 0},
11231 {0x8B, 0, 0, 0, 0},
11232 {0x8C, 0, 0, 0, 0},
11233 {0x8D, 0, 0, 0, 0},
11234 {0x8E, 0, 0, 0, 0},
11235 {0x8F, 0, 0, 0, 0},
11236 {0x90, 0, 0, 0, 0},
11237 {0x91, 0, 0, 0, 0},
11238 {0x92, 0, 0, 0, 0},
11239 {0x93, 0x70, 0x70, 0, 0},
11240 {0x94, 0x70, 0x70, 0, 0},
11241 {0x95, 0x70, 0x70, 0, 0},
11242 {0x96, 0x70, 0x70, 0, 0},
11243 {0x97, 0x70, 0x70, 0, 0},
11244 {0x98, 0x70, 0x70, 0, 0},
11245 {0x99, 0x70, 0x70, 0, 0},
11246 {0x9A, 0x70, 0x70, 0, 0},
11247 {0xFFFF, 0, 0, 0, 0},
11250 radio_regs_t regs_RX_2056_rev11[] = {
11251 {0x02, 0, 0, 0, 0},
11252 {0x03, 0, 0, 0, 0},
11253 {0x04, 0, 0, 0, 0},
11254 {0x05, 0, 0, 0, 0},
11255 {0x06, 0, 0, 0, 0},
11256 {0x07, 0, 0, 0, 0},
11257 {0x08, 0, 0, 0, 0},
11258 {0x09, 0, 0, 0, 0},
11259 {0x0A, 0, 0, 0, 0},
11260 {0x0B, 0, 0, 0, 0},
11261 {0x0C, 0, 0, 0, 0},
11262 {0x0D, 0, 0, 0, 0},
11263 {0x0E, 0, 0, 0, 0},
11264 {0x0F, 0, 0, 0, 0},
11265 {0x10, 0, 0, 0, 0},
11266 {0x11, 0, 0, 0, 0},
11267 {0x12, 0, 0, 0, 0},
11268 {0x13, 0, 0, 0, 0},
11269 {0x14, 0, 0, 0, 0},
11270 {0x15, 0, 0, 0, 0},
11271 {0x16, 0, 0, 0, 0},
11272 {0x17, 0, 0, 0, 0},
11273 {0x18, 0, 0, 0, 0},
11274 {0x19, 0, 0, 0, 0},
11275 {0x1A, 0, 0, 0, 0},
11276 {0x1B, 0, 0, 0, 0},
11277 {0x1C, 0, 0, 0, 0},
11278 {0x1D, 0, 0, 0, 0},
11279 {0x1E, 0, 0, 0, 0},
11280 {0x1F, 0, 0, 0, 0},
11281 {0x20, 0x3, 0x3, 0, 0},
11282 {0x21, 0, 0, 0, 0},
11283 {0x22, 0, 0, 0, 0},
11284 {0x23, 0x90, 0x90, 0, 0},
11285 {0x24, 0x55, 0x55, 0, 0},
11286 {0x25, 0x15, 0x15, 0, 0},
11287 {0x26, 0x5, 0x5, 0, 0},
11288 {0x27, 0x15, 0x15, 0, 0},
11289 {0x28, 0x5, 0x5, 0, 0},
11290 {0x29, 0x20, 0x20, 0, 0},
11291 {0x2A, 0x11, 0x11, 0, 0},
11292 {0x2B, 0x90, 0x90, 0, 0},
11293 {0x2C, 0, 0, 0, 0},
11294 {0x2D, 0x88, 0x88, 0, 0},
11295 {0x2E, 0x32, 0x32, 0, 0},
11296 {0x2F, 0x77, 0x77, 0, 0},
11297 {0x30, 0x17, 0x17, 1, 1},
11298 {0x31, 0xff, 0xff, 1, 1},
11299 {0x32, 0x20, 0x20, 0, 0},
11300 {0x33, 0, 0, 0, 0},
11301 {0x34, 0x88, 0x88, 0, 0},
11302 {0x35, 0x32, 0x32, 0, 0},
11303 {0x36, 0x77, 0x77, 0, 0},
11304 {0x37, 0x17, 0x17, 1, 1},
11305 {0x38, 0xf0, 0xf0, 1, 1},
11306 {0x39, 0x20, 0x20, 0, 0},
11307 {0x3A, 0x8, 0x8, 0, 0},
11308 {0x3B, 0x55, 0x55, 1, 1},
11309 {0x3C, 0, 0, 0, 0},
11310 {0x3D, 0x88, 0x88, 1, 1},
11311 {0x3E, 0, 0, 0, 0},
11312 {0x3F, 0x44, 0x44, 0, 0},
11313 {0x40, 0x7, 0x7, 1, 1},
11314 {0x41, 0x6, 0x6, 0, 0},
11315 {0x42, 0x4, 0x4, 0, 0},
11316 {0x43, 0, 0, 0, 0},
11317 {0x44, 0x8, 0x8, 0, 0},
11318 {0x45, 0x55, 0x55, 1, 1},
11319 {0x46, 0, 0, 0, 0},
11320 {0x47, 0x11, 0x11, 0, 0},
11321 {0x48, 0, 0, 0, 0},
11322 {0x49, 0x44, 0x44, 0, 0},
11323 {0x4A, 0x7, 0x7, 0, 0},
11324 {0x4B, 0x6, 0x6, 0, 0},
11325 {0x4C, 0x4, 0x4, 0, 0},
11326 {0x4D, 0, 0, 0, 0},
11327 {0x4E, 0, 0, 0, 0},
11328 {0x4F, 0x26, 0x26, 1, 1},
11329 {0x50, 0x26, 0x26, 1, 1},
11330 {0x51, 0xf, 0xf, 1, 1},
11331 {0x52, 0xf, 0xf, 1, 1},
11332 {0x53, 0x44, 0x44, 0, 0},
11333 {0x54, 0, 0, 0, 0},
11334 {0x55, 0, 0, 0, 0},
11335 {0x56, 0x8, 0x8, 0, 0},
11336 {0x57, 0x8, 0x8, 0, 0},
11337 {0x58, 0x7, 0x7, 0, 0},
11338 {0x59, 0x22, 0x22, 0, 0},
11339 {0x5A, 0x22, 0x22, 0, 0},
11340 {0x5B, 0x2, 0x2, 0, 0},
11341 {0x5C, 0x4, 0x4, 1, 1},
11342 {0x5D, 0x7, 0x7, 0, 0},
11343 {0x5E, 0x55, 0x55, 0, 0},
11344 {0x5F, 0x23, 0x23, 0, 0},
11345 {0x60, 0x41, 0x41, 0, 0},
11346 {0x61, 0x1, 0x1, 0, 0},
11347 {0x62, 0xa, 0xa, 0, 0},
11348 {0x63, 0, 0, 0, 0},
11349 {0x64, 0, 0, 0, 0},
11350 {0x65, 0, 0, 0, 0},
11351 {0x66, 0, 0, 0, 0},
11352 {0x67, 0, 0, 0, 0},
11353 {0x68, 0, 0, 0, 0},
11354 {0x69, 0, 0, 0, 0},
11355 {0x6A, 0, 0, 0, 0},
11356 {0x6B, 0xc, 0xc, 0, 0},
11357 {0x6C, 0, 0, 0, 0},
11358 {0x6D, 0, 0, 0, 0},
11359 {0x6E, 0, 0, 0, 0},
11360 {0x6F, 0, 0, 0, 0},
11361 {0x70, 0, 0, 0, 0},
11362 {0x71, 0, 0, 0, 0},
11363 {0x72, 0x22, 0x22, 0, 0},
11364 {0x73, 0x22, 0x22, 0, 0},
11365 {0x74, 0, 0, 1, 1},
11366 {0x75, 0xa, 0xa, 0, 0},
11367 {0x76, 0x1, 0x1, 0, 0},
11368 {0x77, 0x22, 0x22, 0, 0},
11369 {0x78, 0x30, 0x30, 0, 0},
11370 {0x79, 0, 0, 0, 0},
11371 {0x7A, 0, 0, 0, 0},
11372 {0x7B, 0, 0, 0, 0},
11373 {0x7C, 0, 0, 0, 0},
11374 {0x7D, 0x5, 0x5, 1, 1},
11375 {0x7E, 0, 0, 0, 0},
11376 {0x7F, 0, 0, 0, 0},
11377 {0x80, 0, 0, 0, 0},
11378 {0x81, 0, 0, 0, 0},
11379 {0x82, 0, 0, 0, 0},
11380 {0x83, 0, 0, 0, 0},
11381 {0x84, 0, 0, 0, 0},
11382 {0x85, 0, 0, 0, 0},
11383 {0x86, 0, 0, 0, 0},
11384 {0x87, 0, 0, 0, 0},
11385 {0x88, 0, 0, 0, 0},
11386 {0x89, 0, 0, 0, 0},
11387 {0x8A, 0, 0, 0, 0},
11388 {0x8B, 0, 0, 0, 0},
11389 {0x8C, 0, 0, 0, 0},
11390 {0x8D, 0, 0, 0, 0},
11391 {0x8E, 0, 0, 0, 0},
11392 {0x8F, 0, 0, 0, 0},
11393 {0x90, 0, 0, 0, 0},
11394 {0x91, 0, 0, 0, 0},
11395 {0x92, 0, 0, 0, 0},
11396 {0x93, 0, 0, 0, 0},
11397 {0x94, 0, 0, 0, 0},
11398 {0xFFFF, 0, 0, 0, 0},
11401 radio_20xx_regs_t regs_2057_rev4[] = {
11791 radio_20xx_regs_t regs_2057_rev5[] = {
12123 radio_20xx_regs_t regs_2057_rev5v1[] = {
12455 radio_20xx_regs_t regs_2057_rev7[] = {
12871 radio_20xx_regs_t regs_2057_rev8[] = {
13287 static s16 nphy_def_lnagains[] = { -2, 10, 19, 25 };
13289 static s32 nphy_lnagain_est0[] = { -315, 40370 };
13290 static s32 nphy_lnagain_est1[] = { -224, 23242 };
13292 static const u16 tbl_iqcal_gainparams_nphy[2][NPHY_IQCAL_NUMGAINS][8] = {
13294 {0x000, 0, 0, 2, 0x69, 0x69, 0x69, 0x69},
13295 {0x700, 7, 0, 0, 0x69, 0x69, 0x69, 0x69},
13296 {0x710, 7, 1, 0, 0x68, 0x68, 0x68, 0x68},
13297 {0x720, 7, 2, 0, 0x67, 0x67, 0x67, 0x67},
13298 {0x730, 7, 3, 0, 0x66, 0x66, 0x66, 0x66},
13299 {0x740, 7, 4, 0, 0x65, 0x65, 0x65, 0x65},
13300 {0x741, 7, 4, 1, 0x65, 0x65, 0x65, 0x65},
13301 {0x742, 7, 4, 2, 0x65, 0x65, 0x65, 0x65},
13302 {0x743, 7, 4, 3, 0x65, 0x65, 0x65, 0x65}
13305 {0x000, 7, 0, 0, 0x79, 0x79, 0x79, 0x79},
13306 {0x700, 7, 0, 0, 0x79, 0x79, 0x79, 0x79},
13307 {0x710, 7, 1, 0, 0x79, 0x79, 0x79, 0x79},
13308 {0x720, 7, 2, 0, 0x78, 0x78, 0x78, 0x78},
13309 {0x730, 7, 3, 0, 0x78, 0x78, 0x78, 0x78},
13310 {0x740, 7, 4, 0, 0x78, 0x78, 0x78, 0x78},
13311 {0x741, 7, 4, 1, 0x78, 0x78, 0x78, 0x78},
13312 {0x742, 7, 4, 2, 0x78, 0x78, 0x78, 0x78},
13313 {0x743, 7, 4, 3, 0x78, 0x78, 0x78, 0x78}
13317 static const u32 nphy_tpc_txgain[] = {
13318 0x03cc2b44, 0x03cc2b42, 0x03cc2a44, 0x03cc2a42,
13319 0x03cc2944, 0x03c82b44, 0x03c82b42, 0x03c82a44,
13320 0x03c82a42, 0x03c82944, 0x03c82942, 0x03c82844,
13321 0x03c82842, 0x03c42b44, 0x03c42b42, 0x03c42a44,
13322 0x03c42a42, 0x03c42944, 0x03c42942, 0x03c42844,
13323 0x03c42842, 0x03c42744, 0x03c42742, 0x03c42644,
13324 0x03c42642, 0x03c42544, 0x03c42542, 0x03c42444,
13325 0x03c42442, 0x03c02b44, 0x03c02b42, 0x03c02a44,
13326 0x03c02a42, 0x03c02944, 0x03c02942, 0x03c02844,
13327 0x03c02842, 0x03c02744, 0x03c02742, 0x03b02b44,
13328 0x03b02b42, 0x03b02a44, 0x03b02a42, 0x03b02944,
13329 0x03b02942, 0x03b02844, 0x03b02842, 0x03b02744,
13330 0x03b02742, 0x03b02644, 0x03b02642, 0x03b02544,
13331 0x03b02542, 0x03a02b44, 0x03a02b42, 0x03a02a44,
13332 0x03a02a42, 0x03a02944, 0x03a02942, 0x03a02844,
13333 0x03a02842, 0x03a02744, 0x03a02742, 0x03902b44,
13334 0x03902b42, 0x03902a44, 0x03902a42, 0x03902944,
13335 0x03902942, 0x03902844, 0x03902842, 0x03902744,
13336 0x03902742, 0x03902644, 0x03902642, 0x03902544,
13337 0x03902542, 0x03802b44, 0x03802b42, 0x03802a44,
13338 0x03802a42, 0x03802944, 0x03802942, 0x03802844,
13339 0x03802842, 0x03802744, 0x03802742, 0x03802644,
13340 0x03802642, 0x03802544, 0x03802542, 0x03802444,
13341 0x03802442, 0x03802344, 0x03802342, 0x03802244,
13342 0x03802242, 0x03802144, 0x03802142, 0x03802044,
13343 0x03802042, 0x03801f44, 0x03801f42, 0x03801e44,
13344 0x03801e42, 0x03801d44, 0x03801d42, 0x03801c44,
13345 0x03801c42, 0x03801b44, 0x03801b42, 0x03801a44,
13346 0x03801a42, 0x03801944, 0x03801942, 0x03801844,
13347 0x03801842, 0x03801744, 0x03801742, 0x03801644,
13348 0x03801642, 0x03801544, 0x03801542, 0x03801444,
13349 0x03801442, 0x03801344, 0x03801342, 0x00002b00
13352 static const u16 nphy_tpc_loscale[] = {
13353 256, 256, 271, 271, 287, 256, 256, 271,
13354 271, 287, 287, 304, 304, 256, 256, 271,
13355 271, 287, 287, 304, 304, 322, 322, 341,
13356 341, 362, 362, 383, 383, 256, 256, 271,
13357 271, 287, 287, 304, 304, 322, 322, 256,
13358 256, 271, 271, 287, 287, 304, 304, 322,
13359 322, 341, 341, 362, 362, 256, 256, 271,
13360 271, 287, 287, 304, 304, 322, 322, 256,
13361 256, 271, 271, 287, 287, 304, 304, 322,
13362 322, 341, 341, 362, 362, 256, 256, 271,
13363 271, 287, 287, 304, 304, 322, 322, 341,
13364 341, 362, 362, 383, 383, 406, 406, 430,
13365 430, 455, 455, 482, 482, 511, 511, 541,
13366 541, 573, 573, 607, 607, 643, 643, 681,
13367 681, 722, 722, 764, 764, 810, 810, 858,
13368 858, 908, 908, 962, 962, 1019, 1019, 256
13371 static u32 nphy_tpc_txgain_ipa[] = {
13372 0x5ff7002d, 0x5ff7002b, 0x5ff7002a, 0x5ff70029,
13373 0x5ff70028, 0x5ff70027, 0x5ff70026, 0x5ff70025,
13374 0x5ef7002d, 0x5ef7002b, 0x5ef7002a, 0x5ef70029,
13375 0x5ef70028, 0x5ef70027, 0x5ef70026, 0x5ef70025,
13376 0x5df7002d, 0x5df7002b, 0x5df7002a, 0x5df70029,
13377 0x5df70028, 0x5df70027, 0x5df70026, 0x5df70025,
13378 0x5cf7002d, 0x5cf7002b, 0x5cf7002a, 0x5cf70029,
13379 0x5cf70028, 0x5cf70027, 0x5cf70026, 0x5cf70025,
13380 0x5bf7002d, 0x5bf7002b, 0x5bf7002a, 0x5bf70029,
13381 0x5bf70028, 0x5bf70027, 0x5bf70026, 0x5bf70025,
13382 0x5af7002d, 0x5af7002b, 0x5af7002a, 0x5af70029,
13383 0x5af70028, 0x5af70027, 0x5af70026, 0x5af70025,
13384 0x59f7002d, 0x59f7002b, 0x59f7002a, 0x59f70029,
13385 0x59f70028, 0x59f70027, 0x59f70026, 0x59f70025,
13386 0x58f7002d, 0x58f7002b, 0x58f7002a, 0x58f70029,
13387 0x58f70028, 0x58f70027, 0x58f70026, 0x58f70025,
13388 0x57f7002d, 0x57f7002b, 0x57f7002a, 0x57f70029,
13389 0x57f70028, 0x57f70027, 0x57f70026, 0x57f70025,
13390 0x56f7002d, 0x56f7002b, 0x56f7002a, 0x56f70029,
13391 0x56f70028, 0x56f70027, 0x56f70026, 0x56f70025,
13392 0x55f7002d, 0x55f7002b, 0x55f7002a, 0x55f70029,
13393 0x55f70028, 0x55f70027, 0x55f70026, 0x55f70025,
13394 0x54f7002d, 0x54f7002b, 0x54f7002a, 0x54f70029,
13395 0x54f70028, 0x54f70027, 0x54f70026, 0x54f70025,
13396 0x53f7002d, 0x53f7002b, 0x53f7002a, 0x53f70029,
13397 0x53f70028, 0x53f70027, 0x53f70026, 0x53f70025,
13398 0x52f7002d, 0x52f7002b, 0x52f7002a, 0x52f70029,
13399 0x52f70028, 0x52f70027, 0x52f70026, 0x52f70025,
13400 0x51f7002d, 0x51f7002b, 0x51f7002a, 0x51f70029,
13401 0x51f70028, 0x51f70027, 0x51f70026, 0x51f70025,
13402 0x50f7002d, 0x50f7002b, 0x50f7002a, 0x50f70029,
13403 0x50f70028, 0x50f70027, 0x50f70026, 0x50f70025
13406 static u32 nphy_tpc_txgain_ipa_rev5[] = {
13407 0x1ff7002d, 0x1ff7002b, 0x1ff7002a, 0x1ff70029,
13408 0x1ff70028, 0x1ff70027, 0x1ff70026, 0x1ff70025,
13409 0x1ef7002d, 0x1ef7002b, 0x1ef7002a, 0x1ef70029,
13410 0x1ef70028, 0x1ef70027, 0x1ef70026, 0x1ef70025,
13411 0x1df7002d, 0x1df7002b, 0x1df7002a, 0x1df70029,
13412 0x1df70028, 0x1df70027, 0x1df70026, 0x1df70025,
13413 0x1cf7002d, 0x1cf7002b, 0x1cf7002a, 0x1cf70029,
13414 0x1cf70028, 0x1cf70027, 0x1cf70026, 0x1cf70025,
13415 0x1bf7002d, 0x1bf7002b, 0x1bf7002a, 0x1bf70029,
13416 0x1bf70028, 0x1bf70027, 0x1bf70026, 0x1bf70025,
13417 0x1af7002d, 0x1af7002b, 0x1af7002a, 0x1af70029,
13418 0x1af70028, 0x1af70027, 0x1af70026, 0x1af70025,
13419 0x19f7002d, 0x19f7002b, 0x19f7002a, 0x19f70029,
13420 0x19f70028, 0x19f70027, 0x19f70026, 0x19f70025,
13421 0x18f7002d, 0x18f7002b, 0x18f7002a, 0x18f70029,
13422 0x18f70028, 0x18f70027, 0x18f70026, 0x18f70025,
13423 0x17f7002d, 0x17f7002b, 0x17f7002a, 0x17f70029,
13424 0x17f70028, 0x17f70027, 0x17f70026, 0x17f70025,
13425 0x16f7002d, 0x16f7002b, 0x16f7002a, 0x16f70029,
13426 0x16f70028, 0x16f70027, 0x16f70026, 0x16f70025,
13427 0x15f7002d, 0x15f7002b, 0x15f7002a, 0x15f70029,
13428 0x15f70028, 0x15f70027, 0x15f70026, 0x15f70025,
13429 0x14f7002d, 0x14f7002b, 0x14f7002a, 0x14f70029,
13430 0x14f70028, 0x14f70027, 0x14f70026, 0x14f70025,
13431 0x13f7002d, 0x13f7002b, 0x13f7002a, 0x13f70029,
13432 0x13f70028, 0x13f70027, 0x13f70026, 0x13f70025,
13433 0x12f7002d, 0x12f7002b, 0x12f7002a, 0x12f70029,
13434 0x12f70028, 0x12f70027, 0x12f70026, 0x12f70025,
13435 0x11f7002d, 0x11f7002b, 0x11f7002a, 0x11f70029,
13436 0x11f70028, 0x11f70027, 0x11f70026, 0x11f70025,
13437 0x10f7002d, 0x10f7002b, 0x10f7002a, 0x10f70029,
13438 0x10f70028, 0x10f70027, 0x10f70026, 0x10f70025
13441 static u32 nphy_tpc_txgain_ipa_rev6[] = {
13442 0x0ff7002d, 0x0ff7002b, 0x0ff7002a, 0x0ff70029,
13443 0x0ff70028, 0x0ff70027, 0x0ff70026, 0x0ff70025,
13444 0x0ef7002d, 0x0ef7002b, 0x0ef7002a, 0x0ef70029,
13445 0x0ef70028, 0x0ef70027, 0x0ef70026, 0x0ef70025,
13446 0x0df7002d, 0x0df7002b, 0x0df7002a, 0x0df70029,
13447 0x0df70028, 0x0df70027, 0x0df70026, 0x0df70025,
13448 0x0cf7002d, 0x0cf7002b, 0x0cf7002a, 0x0cf70029,
13449 0x0cf70028, 0x0cf70027, 0x0cf70026, 0x0cf70025,
13450 0x0bf7002d, 0x0bf7002b, 0x0bf7002a, 0x0bf70029,
13451 0x0bf70028, 0x0bf70027, 0x0bf70026, 0x0bf70025,
13452 0x0af7002d, 0x0af7002b, 0x0af7002a, 0x0af70029,
13453 0x0af70028, 0x0af70027, 0x0af70026, 0x0af70025,
13454 0x09f7002d, 0x09f7002b, 0x09f7002a, 0x09f70029,
13455 0x09f70028, 0x09f70027, 0x09f70026, 0x09f70025,
13456 0x08f7002d, 0x08f7002b, 0x08f7002a, 0x08f70029,
13457 0x08f70028, 0x08f70027, 0x08f70026, 0x08f70025,
13458 0x07f7002d, 0x07f7002b, 0x07f7002a, 0x07f70029,
13459 0x07f70028, 0x07f70027, 0x07f70026, 0x07f70025,
13460 0x06f7002d, 0x06f7002b, 0x06f7002a, 0x06f70029,
13461 0x06f70028, 0x06f70027, 0x06f70026, 0x06f70025,
13462 0x05f7002d, 0x05f7002b, 0x05f7002a, 0x05f70029,
13463 0x05f70028, 0x05f70027, 0x05f70026, 0x05f70025,
13464 0x04f7002d, 0x04f7002b, 0x04f7002a, 0x04f70029,
13465 0x04f70028, 0x04f70027, 0x04f70026, 0x04f70025,
13466 0x03f7002d, 0x03f7002b, 0x03f7002a, 0x03f70029,
13467 0x03f70028, 0x03f70027, 0x03f70026, 0x03f70025,
13468 0x02f7002d, 0x02f7002b, 0x02f7002a, 0x02f70029,
13469 0x02f70028, 0x02f70027, 0x02f70026, 0x02f70025,
13470 0x01f7002d, 0x01f7002b, 0x01f7002a, 0x01f70029,
13471 0x01f70028, 0x01f70027, 0x01f70026, 0x01f70025,
13472 0x00f7002d, 0x00f7002b, 0x00f7002a, 0x00f70029,
13473 0x00f70028, 0x00f70027, 0x00f70026, 0x00f70025
13476 static u32 nphy_tpc_txgain_ipa_2g_2057rev3[] = {
13477 0x70ff0040, 0x70f7003e, 0x70ef003b, 0x70e70039,
13478 0x70df0037, 0x70d70036, 0x70cf0033, 0x70c70032,
13479 0x70bf0031, 0x70b7002f, 0x70af002e, 0x70a7002d,
13480 0x709f002d, 0x7097002c, 0x708f002c, 0x7087002c,
13481 0x707f002b, 0x7077002c, 0x706f002c, 0x7067002d,
13482 0x705f002e, 0x705f002b, 0x705f0029, 0x7057002a,
13483 0x70570028, 0x704f002a, 0x7047002c, 0x7047002a,
13484 0x70470028, 0x70470026, 0x70470024, 0x70470022,
13485 0x7047001f, 0x70370027, 0x70370024, 0x70370022,
13486 0x70370020, 0x7037001f, 0x7037001d, 0x7037001b,
13487 0x7037001a, 0x70370018, 0x70370017, 0x7027001e,
13488 0x7027001d, 0x7027001a, 0x701f0024, 0x701f0022,
13489 0x701f0020, 0x701f001f, 0x701f001d, 0x701f001b,
13490 0x701f001a, 0x701f0018, 0x701f0017, 0x701f0015,
13491 0x701f0014, 0x701f0013, 0x701f0012, 0x701f0011,
13492 0x70170019, 0x70170018, 0x70170016, 0x70170015,
13493 0x70170014, 0x70170013, 0x70170012, 0x70170010,
13494 0x70170010, 0x7017000f, 0x700f001d, 0x700f001b,
13495 0x700f001a, 0x700f0018, 0x700f0017, 0x700f0015,
13496 0x700f0015, 0x700f0013, 0x700f0013, 0x700f0011,
13497 0x700f0010, 0x700f0010, 0x700f000f, 0x700f000e,
13498 0x700f000d, 0x700f000c, 0x700f000b, 0x700f000b,
13499 0x700f000b, 0x700f000a, 0x700f0009, 0x700f0009,
13500 0x700f0009, 0x700f0008, 0x700f0007, 0x700f0007,
13501 0x700f0006, 0x700f0006, 0x700f0006, 0x700f0006,
13502 0x700f0005, 0x700f0005, 0x700f0005, 0x700f0004,
13503 0x700f0004, 0x700f0004, 0x700f0004, 0x700f0004,
13504 0x700f0004, 0x700f0003, 0x700f0003, 0x700f0003,
13505 0x700f0003, 0x700f0002, 0x700f0002, 0x700f0002,
13506 0x700f0002, 0x700f0002, 0x700f0002, 0x700f0001,
13507 0x700f0001, 0x700f0001, 0x700f0001, 0x700f0001,
13508 0x700f0001, 0x700f0001, 0x700f0001, 0x700f0001
13511 static u32 nphy_tpc_txgain_ipa_2g_2057rev4n6[] = {
13512 0xf0ff0040, 0xf0f7003e, 0xf0ef003b, 0xf0e70039,
13513 0xf0df0037, 0xf0d70036, 0xf0cf0033, 0xf0c70032,
13514 0xf0bf0031, 0xf0b7002f, 0xf0af002e, 0xf0a7002d,
13515 0xf09f002d, 0xf097002c, 0xf08f002c, 0xf087002c,
13516 0xf07f002b, 0xf077002c, 0xf06f002c, 0xf067002d,
13517 0xf05f002e, 0xf05f002b, 0xf05f0029, 0xf057002a,
13518 0xf0570028, 0xf04f002a, 0xf047002c, 0xf047002a,
13519 0xf0470028, 0xf0470026, 0xf0470024, 0xf0470022,
13520 0xf047001f, 0xf0370027, 0xf0370024, 0xf0370022,
13521 0xf0370020, 0xf037001f, 0xf037001d, 0xf037001b,
13522 0xf037001a, 0xf0370018, 0xf0370017, 0xf027001e,
13523 0xf027001d, 0xf027001a, 0xf01f0024, 0xf01f0022,
13524 0xf01f0020, 0xf01f001f, 0xf01f001d, 0xf01f001b,
13525 0xf01f001a, 0xf01f0018, 0xf01f0017, 0xf01f0015,
13526 0xf01f0014, 0xf01f0013, 0xf01f0012, 0xf01f0011,
13527 0xf0170019, 0xf0170018, 0xf0170016, 0xf0170015,
13528 0xf0170014, 0xf0170013, 0xf0170012, 0xf0170010,
13529 0xf0170010, 0xf017000f, 0xf00f001d, 0xf00f001b,
13530 0xf00f001a, 0xf00f0018, 0xf00f0017, 0xf00f0015,
13531 0xf00f0015, 0xf00f0013, 0xf00f0013, 0xf00f0011,
13532 0xf00f0010, 0xf00f0010, 0xf00f000f, 0xf00f000e,
13533 0xf00f000d, 0xf00f000c, 0xf00f000b, 0xf00f000b,
13534 0xf00f000b, 0xf00f000a, 0xf00f0009, 0xf00f0009,
13535 0xf00f0009, 0xf00f0008, 0xf00f0007, 0xf00f0007,
13536 0xf00f0006, 0xf00f0006, 0xf00f0006, 0xf00f0006,
13537 0xf00f0005, 0xf00f0005, 0xf00f0005, 0xf00f0004,
13538 0xf00f0004, 0xf00f0004, 0xf00f0004, 0xf00f0004,
13539 0xf00f0004, 0xf00f0003, 0xf00f0003, 0xf00f0003,
13540 0xf00f0003, 0xf00f0002, 0xf00f0002, 0xf00f0002,
13541 0xf00f0002, 0xf00f0002, 0xf00f0002, 0xf00f0001,
13542 0xf00f0001, 0xf00f0001, 0xf00f0001, 0xf00f0001,
13543 0xf00f0001, 0xf00f0001, 0xf00f0001, 0xf00f0001
13546 static u32 nphy_tpc_txgain_ipa_2g_2057rev5[] = {
13547 0x30ff0031, 0x30e70031, 0x30e7002e, 0x30cf002e,
13548 0x30bf002e, 0x30af002e, 0x309f002f, 0x307f0033,
13549 0x307f0031, 0x307f002e, 0x3077002e, 0x306f002e,
13550 0x3067002e, 0x305f002f, 0x30570030, 0x3057002d,
13551 0x304f002e, 0x30470031, 0x3047002e, 0x3047002c,
13552 0x30470029, 0x303f002c, 0x303f0029, 0x3037002d,
13553 0x3037002a, 0x30370028, 0x302f002c, 0x302f002a,
13554 0x302f0028, 0x302f0026, 0x3027002c, 0x30270029,
13555 0x30270027, 0x30270025, 0x30270023, 0x301f002c,
13556 0x301f002a, 0x301f0028, 0x301f0025, 0x301f0024,
13557 0x301f0022, 0x301f001f, 0x3017002d, 0x3017002b,
13558 0x30170028, 0x30170026, 0x30170024, 0x30170022,
13559 0x30170020, 0x3017001e, 0x3017001d, 0x3017001b,
13560 0x3017001a, 0x30170018, 0x30170017, 0x30170015,
13561 0x300f002c, 0x300f0029, 0x300f0027, 0x300f0024,
13562 0x300f0022, 0x300f0021, 0x300f001f, 0x300f001d,
13563 0x300f001b, 0x300f001a, 0x300f0018, 0x300f0017,
13564 0x300f0016, 0x300f0015, 0x300f0115, 0x300f0215,
13565 0x300f0315, 0x300f0415, 0x300f0515, 0x300f0615,
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,
13578 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715
13581 static u32 nphy_tpc_txgain_ipa_2g_2057rev7[] = {
13582 0x30ff0031, 0x30e70031, 0x30e7002e, 0x30cf002e,
13583 0x30bf002e, 0x30af002e, 0x309f002f, 0x307f0033,
13584 0x307f0031, 0x307f002e, 0x3077002e, 0x306f002e,
13585 0x3067002e, 0x305f002f, 0x30570030, 0x3057002d,
13586 0x304f002e, 0x30470031, 0x3047002e, 0x3047002c,
13587 0x30470029, 0x303f002c, 0x303f0029, 0x3037002d,
13588 0x3037002a, 0x30370028, 0x302f002c, 0x302f002a,
13589 0x302f0028, 0x302f0026, 0x3027002c, 0x30270029,
13590 0x30270027, 0x30270025, 0x30270023, 0x301f002c,
13591 0x301f002a, 0x301f0028, 0x301f0025, 0x301f0024,
13592 0x301f0022, 0x301f001f, 0x3017002d, 0x3017002b,
13593 0x30170028, 0x30170026, 0x30170024, 0x30170022,
13594 0x30170020, 0x3017001e, 0x3017001d, 0x3017001b,
13595 0x3017001a, 0x30170018, 0x30170017, 0x30170015,
13596 0x300f002c, 0x300f0029, 0x300f0027, 0x300f0024,
13597 0x300f0022, 0x300f0021, 0x300f001f, 0x300f001d,
13598 0x300f001b, 0x300f001a, 0x300f0018, 0x300f0017,
13599 0x300f0016, 0x300f0015, 0x300f0115, 0x300f0215,
13600 0x300f0315, 0x300f0415, 0x300f0515, 0x300f0615,
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,
13613 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715
13616 static u32 nphy_tpc_txgain_ipa_5g[] = {
13617 0x7ff70035, 0x7ff70033, 0x7ff70032, 0x7ff70031,
13618 0x7ff7002f, 0x7ff7002e, 0x7ff7002d, 0x7ff7002b,
13619 0x7ff7002a, 0x7ff70029, 0x7ff70028, 0x7ff70027,
13620 0x7ff70026, 0x7ff70024, 0x7ff70023, 0x7ff70022,
13621 0x7ef70028, 0x7ef70027, 0x7ef70026, 0x7ef70025,
13622 0x7ef70024, 0x7ef70023, 0x7df70028, 0x7df70027,
13623 0x7df70026, 0x7df70025, 0x7df70024, 0x7df70023,
13624 0x7df70022, 0x7cf70029, 0x7cf70028, 0x7cf70027,
13625 0x7cf70026, 0x7cf70025, 0x7cf70023, 0x7cf70022,
13626 0x7bf70029, 0x7bf70028, 0x7bf70026, 0x7bf70025,
13627 0x7bf70024, 0x7bf70023, 0x7bf70022, 0x7bf70021,
13628 0x7af70029, 0x7af70028, 0x7af70027, 0x7af70026,
13629 0x7af70025, 0x7af70024, 0x7af70023, 0x7af70022,
13630 0x79f70029, 0x79f70028, 0x79f70027, 0x79f70026,
13631 0x79f70025, 0x79f70024, 0x79f70023, 0x79f70022,
13632 0x78f70029, 0x78f70028, 0x78f70027, 0x78f70026,
13633 0x78f70025, 0x78f70024, 0x78f70023, 0x78f70022,
13634 0x77f70029, 0x77f70028, 0x77f70027, 0x77f70026,
13635 0x77f70025, 0x77f70024, 0x77f70023, 0x77f70022,
13636 0x76f70029, 0x76f70028, 0x76f70027, 0x76f70026,
13637 0x76f70024, 0x76f70023, 0x76f70022, 0x76f70021,
13638 0x75f70029, 0x75f70028, 0x75f70027, 0x75f70026,
13639 0x75f70025, 0x75f70024, 0x75f70023, 0x74f70029,
13640 0x74f70028, 0x74f70026, 0x74f70025, 0x74f70024,
13641 0x74f70023, 0x74f70022, 0x73f70029, 0x73f70027,
13642 0x73f70026, 0x73f70025, 0x73f70024, 0x73f70023,
13643 0x73f70022, 0x72f70028, 0x72f70027, 0x72f70026,
13644 0x72f70025, 0x72f70024, 0x72f70023, 0x72f70022,
13645 0x71f70028, 0x71f70027, 0x71f70026, 0x71f70025,
13646 0x71f70024, 0x71f70023, 0x70f70028, 0x70f70027,
13647 0x70f70026, 0x70f70024, 0x70f70023, 0x70f70022,
13648 0x70f70021, 0x70f70020, 0x70f70020, 0x70f7001f
13651 static u32 nphy_tpc_txgain_ipa_5g_2057[] = {
13652 0x7f7f0044, 0x7f7f0040, 0x7f7f003c, 0x7f7f0039,
13653 0x7f7f0036, 0x7e7f003c, 0x7e7f0038, 0x7e7f0035,
13654 0x7d7f003c, 0x7d7f0039, 0x7d7f0036, 0x7d7f0033,
13655 0x7c7f003b, 0x7c7f0037, 0x7c7f0034, 0x7b7f003a,
13656 0x7b7f0036, 0x7b7f0033, 0x7a7f003c, 0x7a7f0039,
13657 0x7a7f0036, 0x7a7f0033, 0x797f003b, 0x797f0038,
13658 0x797f0035, 0x797f0032, 0x787f003b, 0x787f0038,
13659 0x787f0035, 0x787f0032, 0x777f003a, 0x777f0037,
13660 0x777f0034, 0x777f0031, 0x767f003a, 0x767f0036,
13661 0x767f0033, 0x767f0031, 0x757f003a, 0x757f0037,
13662 0x757f0034, 0x747f003c, 0x747f0039, 0x747f0036,
13663 0x747f0033, 0x737f003b, 0x737f0038, 0x737f0035,
13664 0x737f0032, 0x727f0039, 0x727f0036, 0x727f0033,
13665 0x727f0030, 0x717f003a, 0x717f0037, 0x717f0034,
13666 0x707f003b, 0x707f0038, 0x707f0035, 0x707f0032,
13667 0x707f002f, 0x707f002d, 0x707f002a, 0x707f0028,
13668 0x707f0025, 0x707f0023, 0x707f0021, 0x707f0020,
13669 0x707f001e, 0x707f001c, 0x707f001b, 0x707f0019,
13670 0x707f0018, 0x707f0016, 0x707f0015, 0x707f0014,
13671 0x707f0013, 0x707f0012, 0x707f0011, 0x707f0010,
13672 0x707f000f, 0x707f000e, 0x707f000d, 0x707f000d,
13673 0x707f000c, 0x707f000b, 0x707f000b, 0x707f000a,
13674 0x707f0009, 0x707f0009, 0x707f0008, 0x707f0008,
13675 0x707f0007, 0x707f0007, 0x707f0007, 0x707f0006,
13676 0x707f0006, 0x707f0006, 0x707f0005, 0x707f0005,
13677 0x707f0005, 0x707f0004, 0x707f0004, 0x707f0004,
13678 0x707f0004, 0x707f0004, 0x707f0003, 0x707f0003,
13679 0x707f0003, 0x707f0003, 0x707f0003, 0x707f0003,
13680 0x707f0002, 0x707f0002, 0x707f0002, 0x707f0002,
13681 0x707f0002, 0x707f0002, 0x707f0002, 0x707f0002,
13682 0x707f0001, 0x707f0001, 0x707f0001, 0x707f0001,
13683 0x707f0001, 0x707f0001, 0x707f0001, 0x707f0001
13686 static u32 nphy_tpc_txgain_ipa_5g_2057rev7[] = {
13687 0x6f7f0031, 0x6f7f002e, 0x6f7f002c, 0x6f7f002a,
13688 0x6f7f0027, 0x6e7f002e, 0x6e7f002c, 0x6e7f002a,
13689 0x6d7f0030, 0x6d7f002d, 0x6d7f002a, 0x6d7f0028,
13690 0x6c7f0030, 0x6c7f002d, 0x6c7f002b, 0x6b7f002e,
13691 0x6b7f002c, 0x6b7f002a, 0x6b7f0027, 0x6a7f002e,
13692 0x6a7f002c, 0x6a7f002a, 0x697f0030, 0x697f002e,
13693 0x697f002b, 0x697f0029, 0x687f002f, 0x687f002d,
13694 0x687f002a, 0x687f0027, 0x677f002f, 0x677f002d,
13695 0x677f002a, 0x667f0031, 0x667f002e, 0x667f002c,
13696 0x667f002a, 0x657f0030, 0x657f002e, 0x657f002b,
13697 0x657f0029, 0x647f0030, 0x647f002d, 0x647f002b,
13698 0x647f0029, 0x637f002f, 0x637f002d, 0x637f002a,
13699 0x627f0030, 0x627f002d, 0x627f002b, 0x627f0029,
13700 0x617f0030, 0x617f002e, 0x617f002b, 0x617f0029,
13701 0x607f002f, 0x607f002d, 0x607f002a, 0x607f0027,
13702 0x607f0026, 0x607f0023, 0x607f0021, 0x607f0020,
13703 0x607f001e, 0x607f001c, 0x607f001a, 0x607f0019,
13704 0x607f0018, 0x607f0016, 0x607f0015, 0x607f0014,
13705 0x607f0012, 0x607f0012, 0x607f0011, 0x607f000f,
13706 0x607f000f, 0x607f000e, 0x607f000d, 0x607f000c,
13707 0x607f000c, 0x607f000b, 0x607f000b, 0x607f000a,
13708 0x607f0009, 0x607f0009, 0x607f0008, 0x607f0008,
13709 0x607f0008, 0x607f0007, 0x607f0007, 0x607f0006,
13710 0x607f0006, 0x607f0005, 0x607f0005, 0x607f0005,
13711 0x607f0005, 0x607f0005, 0x607f0004, 0x607f0004,
13712 0x607f0004, 0x607f0004, 0x607f0003, 0x607f0003,
13713 0x607f0003, 0x607f0003, 0x607f0002, 0x607f0002,
13714 0x607f0002, 0x607f0002, 0x607f0002, 0x607f0002,
13715 0x607f0002, 0x607f0002, 0x607f0002, 0x607f0002,
13716 0x607f0002, 0x607f0002, 0x607f0002, 0x607f0002,
13717 0x607f0002, 0x607f0001, 0x607f0001, 0x607f0001,
13718 0x607f0001, 0x607f0001, 0x607f0001, 0x607f0001
13721 static s8 nphy_papd_pga_gain_delta_ipa_2g[] = {
13722 -114, -108, -98, -91, -84, -78, -70, -62,
13723 -54, -46, -39, -31, -23, -15, -8, 0
13726 static s8 nphy_papd_pga_gain_delta_ipa_5g[] = {
13727 -100, -95, -89, -83, -77, -70, -63, -56,
13728 -48, -41, -33, -25, -19, -12, -6, 0
13731 static s16 nphy_papd_padgain_dlt_2g_2057rev3n4[] = {
13732 -159, -113, -86, -72, -62, -54, -48, -43,
13733 -39, -35, -31, -28, -25, -23, -20, -18,
13734 -17, -15, -13, -11, -10, -8, -7, -6,
13735 -5, -4, -3, -3, -2, -1, -1, 0
13738 static s16 nphy_papd_padgain_dlt_2g_2057rev5[] = {
13739 -109, -109, -82, -68, -58, -50, -44, -39,
13740 -35, -31, -28, -26, -23, -21, -19, -17,
13741 -16, -14, -13, -11, -10, -9, -8, -7,
13742 -5, -5, -4, -3, -2, -1, -1, 0
13745 static s16 nphy_papd_padgain_dlt_2g_2057rev7[] = {
13746 -122, -122, -95, -80, -69, -61, -54, -49,
13747 -43, -39, -35, -32, -28, -26, -23, -21,
13748 -18, -16, -15, -13, -11, -10, -8, -7,
13749 -6, -5, -4, -3, -2, -1, -1, 0
13752 static s8 nphy_papd_pgagain_dlt_5g_2057[] = {
13753 -107, -101, -92, -85, -78, -71, -62, -55,
13754 -47, -39, -32, -24, -19, -12, -6, 0
13757 static s8 nphy_papd_pgagain_dlt_5g_2057rev7[] = {
13758 -110, -104, -95, -88, -81, -74, -66, -58,
13759 -50, -44, -36, -28, -23, -15, -8, 0
13762 static u8 pad_gain_codes_used_2057rev5[] = {
13763 20, 19, 18, 17, 16, 15, 14, 13, 12, 11,
13764 10, 9, 8, 7, 6, 5, 4, 3, 2, 1
13767 static u8 pad_gain_codes_used_2057rev7[] = {
13768 15, 14, 13, 12, 11, 10, 9, 8, 7, 6,
13772 static u8 pad_all_gain_codes_2057[] = {
13773 31, 30, 29, 28, 27, 26, 25, 24, 23, 22,
13774 21, 20, 19, 18, 17, 16, 15, 14, 13, 12,
13775 11, 10, 9, 8, 7, 6, 5, 4, 3, 2,
13779 static u8 pga_all_gain_codes_2057[] = {
13780 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
13783 static u32 nphy_papd_scaltbl[] = {
13784 0x0ae2002f, 0x0a3b0032, 0x09a70035, 0x09220038,
13785 0x0887003c, 0x081f003f, 0x07a20043, 0x07340047,
13786 0x06d2004b, 0x067a004f, 0x06170054, 0x05bf0059,
13787 0x0571005e, 0x051e0064, 0x04d3006a, 0x04910070,
13788 0x044c0077, 0x040f007e, 0x03d90085, 0x03a1008d,
13789 0x036f0095, 0x033d009e, 0x030b00a8, 0x02e000b2,
13790 0x02b900bc, 0x029200c7, 0x026d00d3, 0x024900e0,
13791 0x022900ed, 0x020a00fb, 0x01ec010a, 0x01d0011a,
13792 0x01b7012a, 0x019e013c, 0x0187014f, 0x01720162,
13793 0x015d0177, 0x0149018e, 0x013701a5, 0x012601be,
13794 0x011501d9, 0x010501f5, 0x00f70212, 0x00e90232,
13795 0x00dc0253, 0x00d00276, 0x00c4029c, 0x00b902c3,
13796 0x00af02ed, 0x00a5031a, 0x009c0349, 0x0093037a,
13797 0x008b03af, 0x008303e7, 0x007c0422, 0x00750461,
13798 0x006e04a3, 0x006804ea, 0x00620534, 0x005d0583,
13799 0x005805d7, 0x0053062f, 0x004e068d, 0x004a06f1
13802 static u32 nphy_tpc_txgain_rev3[] = {
13803 0x1f410044, 0x1f410042, 0x1f410040, 0x1f41003e,
13804 0x1f41003c, 0x1f41003b, 0x1f410039, 0x1f410037,
13805 0x1e410044, 0x1e410042, 0x1e410040, 0x1e41003e,
13806 0x1e41003c, 0x1e41003b, 0x1e410039, 0x1e410037,
13807 0x1d410044, 0x1d410042, 0x1d410040, 0x1d41003e,
13808 0x1d41003c, 0x1d41003b, 0x1d410039, 0x1d410037,
13809 0x1c410044, 0x1c410042, 0x1c410040, 0x1c41003e,
13810 0x1c41003c, 0x1c41003b, 0x1c410039, 0x1c410037,
13811 0x1b410044, 0x1b410042, 0x1b410040, 0x1b41003e,
13812 0x1b41003c, 0x1b41003b, 0x1b410039, 0x1b410037,
13813 0x1a410044, 0x1a410042, 0x1a410040, 0x1a41003e,
13814 0x1a41003c, 0x1a41003b, 0x1a410039, 0x1a410037,
13815 0x19410044, 0x19410042, 0x19410040, 0x1941003e,
13816 0x1941003c, 0x1941003b, 0x19410039, 0x19410037,
13817 0x18410044, 0x18410042, 0x18410040, 0x1841003e,
13818 0x1841003c, 0x1841003b, 0x18410039, 0x18410037,
13819 0x17410044, 0x17410042, 0x17410040, 0x1741003e,
13820 0x1741003c, 0x1741003b, 0x17410039, 0x17410037,
13821 0x16410044, 0x16410042, 0x16410040, 0x1641003e,
13822 0x1641003c, 0x1641003b, 0x16410039, 0x16410037,
13823 0x15410044, 0x15410042, 0x15410040, 0x1541003e,
13824 0x1541003c, 0x1541003b, 0x15410039, 0x15410037,
13825 0x14410044, 0x14410042, 0x14410040, 0x1441003e,
13826 0x1441003c, 0x1441003b, 0x14410039, 0x14410037,
13827 0x13410044, 0x13410042, 0x13410040, 0x1341003e,
13828 0x1341003c, 0x1341003b, 0x13410039, 0x13410037,
13829 0x12410044, 0x12410042, 0x12410040, 0x1241003e,
13830 0x1241003c, 0x1241003b, 0x12410039, 0x12410037,
13831 0x11410044, 0x11410042, 0x11410040, 0x1141003e,
13832 0x1141003c, 0x1141003b, 0x11410039, 0x11410037,
13833 0x10410044, 0x10410042, 0x10410040, 0x1041003e,
13834 0x1041003c, 0x1041003b, 0x10410039, 0x10410037
13837 static u32 nphy_tpc_txgain_HiPwrEPA[] = {
13838 0x0f410044, 0x0f410042, 0x0f410040, 0x0f41003e,
13839 0x0f41003c, 0x0f41003b, 0x0f410039, 0x0f410037,
13840 0x0e410044, 0x0e410042, 0x0e410040, 0x0e41003e,
13841 0x0e41003c, 0x0e41003b, 0x0e410039, 0x0e410037,
13842 0x0d410044, 0x0d410042, 0x0d410040, 0x0d41003e,
13843 0x0d41003c, 0x0d41003b, 0x0d410039, 0x0d410037,
13844 0x0c410044, 0x0c410042, 0x0c410040, 0x0c41003e,
13845 0x0c41003c, 0x0c41003b, 0x0c410039, 0x0c410037,
13846 0x0b410044, 0x0b410042, 0x0b410040, 0x0b41003e,
13847 0x0b41003c, 0x0b41003b, 0x0b410039, 0x0b410037,
13848 0x0a410044, 0x0a410042, 0x0a410040, 0x0a41003e,
13849 0x0a41003c, 0x0a41003b, 0x0a410039, 0x0a410037,
13850 0x09410044, 0x09410042, 0x09410040, 0x0941003e,
13851 0x0941003c, 0x0941003b, 0x09410039, 0x09410037,
13852 0x08410044, 0x08410042, 0x08410040, 0x0841003e,
13853 0x0841003c, 0x0841003b, 0x08410039, 0x08410037,
13854 0x07410044, 0x07410042, 0x07410040, 0x0741003e,
13855 0x0741003c, 0x0741003b, 0x07410039, 0x07410037,
13856 0x06410044, 0x06410042, 0x06410040, 0x0641003e,
13857 0x0641003c, 0x0641003b, 0x06410039, 0x06410037,
13858 0x05410044, 0x05410042, 0x05410040, 0x0541003e,
13859 0x0541003c, 0x0541003b, 0x05410039, 0x05410037,
13860 0x04410044, 0x04410042, 0x04410040, 0x0441003e,
13861 0x0441003c, 0x0441003b, 0x04410039, 0x04410037,
13862 0x03410044, 0x03410042, 0x03410040, 0x0341003e,
13863 0x0341003c, 0x0341003b, 0x03410039, 0x03410037,
13864 0x02410044, 0x02410042, 0x02410040, 0x0241003e,
13865 0x0241003c, 0x0241003b, 0x02410039, 0x02410037,
13866 0x01410044, 0x01410042, 0x01410040, 0x0141003e,
13867 0x0141003c, 0x0141003b, 0x01410039, 0x01410037,
13868 0x00410044, 0x00410042, 0x00410040, 0x0041003e,
13869 0x0041003c, 0x0041003b, 0x00410039, 0x00410037
13872 static u32 nphy_tpc_txgain_epa_2057rev3[] = {
13873 0x80f90040, 0x80e10040, 0x80e1003c, 0x80c9003d,
13874 0x80b9003c, 0x80a9003d, 0x80a1003c, 0x8099003b,
13875 0x8091003b, 0x8089003a, 0x8081003a, 0x80790039,
13876 0x80710039, 0x8069003a, 0x8061003b, 0x8059003d,
13877 0x8051003f, 0x80490042, 0x8049003e, 0x8049003b,
13878 0x8041003e, 0x8041003b, 0x8039003e, 0x8039003b,
13879 0x80390038, 0x80390035, 0x8031003a, 0x80310036,
13880 0x80310033, 0x8029003a, 0x80290037, 0x80290034,
13881 0x80290031, 0x80210039, 0x80210036, 0x80210033,
13882 0x80210030, 0x8019003c, 0x80190039, 0x80190036,
13883 0x80190033, 0x80190030, 0x8019002d, 0x8019002b,
13884 0x80190028, 0x8011003a, 0x80110036, 0x80110033,
13885 0x80110030, 0x8011002e, 0x8011002b, 0x80110029,
13886 0x80110027, 0x80110024, 0x80110022, 0x80110020,
13887 0x8011001f, 0x8011001d, 0x8009003a, 0x80090037,
13888 0x80090034, 0x80090031, 0x8009002e, 0x8009002c,
13889 0x80090029, 0x80090027, 0x80090025, 0x80090023,
13890 0x80090021, 0x8009001f, 0x8009001d, 0x8009011d,
13891 0x8009021d, 0x8009031d, 0x8009041d, 0x8009051d,
13892 0x8009061d, 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,
13904 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d
13907 static u32 nphy_tpc_txgain_epa_2057rev5[] = {
13908 0x10f90040, 0x10e10040, 0x10e1003c, 0x10c9003d,
13909 0x10b9003c, 0x10a9003d, 0x10a1003c, 0x1099003b,
13910 0x1091003b, 0x1089003a, 0x1081003a, 0x10790039,
13911 0x10710039, 0x1069003a, 0x1061003b, 0x1059003d,
13912 0x1051003f, 0x10490042, 0x1049003e, 0x1049003b,
13913 0x1041003e, 0x1041003b, 0x1039003e, 0x1039003b,
13914 0x10390038, 0x10390035, 0x1031003a, 0x10310036,
13915 0x10310033, 0x1029003a, 0x10290037, 0x10290034,
13916 0x10290031, 0x10210039, 0x10210036, 0x10210033,
13917 0x10210030, 0x1019003c, 0x10190039, 0x10190036,
13918 0x10190033, 0x10190030, 0x1019002d, 0x1019002b,
13919 0x10190028, 0x1011003a, 0x10110036, 0x10110033,
13920 0x10110030, 0x1011002e, 0x1011002b, 0x10110029,
13921 0x10110027, 0x10110024, 0x10110022, 0x10110020,
13922 0x1011001f, 0x1011001d, 0x1009003a, 0x10090037,
13923 0x10090034, 0x10090031, 0x1009002e, 0x1009002c,
13924 0x10090029, 0x10090027, 0x10090025, 0x10090023,
13925 0x10090021, 0x1009001f, 0x1009001d, 0x1009001b,
13926 0x1009001a, 0x10090018, 0x10090017, 0x10090016,
13927 0x10090015, 0x10090013, 0x10090012, 0x10090011,
13928 0x10090010, 0x1009000f, 0x1009000f, 0x1009000e,
13929 0x1009000d, 0x1009000c, 0x1009000c, 0x1009000b,
13930 0x1009000a, 0x1009000a, 0x10090009, 0x10090009,
13931 0x10090008, 0x10090008, 0x10090007, 0x10090007,
13932 0x10090007, 0x10090006, 0x10090006, 0x10090005,
13933 0x10090005, 0x10090005, 0x10090005, 0x10090004,
13934 0x10090004, 0x10090004, 0x10090004, 0x10090003,
13935 0x10090003, 0x10090003, 0x10090003, 0x10090003,
13936 0x10090003, 0x10090002, 0x10090002, 0x10090002,
13937 0x10090002, 0x10090002, 0x10090002, 0x10090002,
13938 0x10090002, 0x10090002, 0x10090001, 0x10090001,
13939 0x10090001, 0x10090001, 0x10090001, 0x10090001
13942 static u32 nphy_tpc_5GHz_txgain_rev3[] = {
13943 0xcff70044, 0xcff70042, 0xcff70040, 0xcff7003e,
13944 0xcff7003c, 0xcff7003b, 0xcff70039, 0xcff70037,
13945 0xcef70044, 0xcef70042, 0xcef70040, 0xcef7003e,
13946 0xcef7003c, 0xcef7003b, 0xcef70039, 0xcef70037,
13947 0xcdf70044, 0xcdf70042, 0xcdf70040, 0xcdf7003e,
13948 0xcdf7003c, 0xcdf7003b, 0xcdf70039, 0xcdf70037,
13949 0xccf70044, 0xccf70042, 0xccf70040, 0xccf7003e,
13950 0xccf7003c, 0xccf7003b, 0xccf70039, 0xccf70037,
13951 0xcbf70044, 0xcbf70042, 0xcbf70040, 0xcbf7003e,
13952 0xcbf7003c, 0xcbf7003b, 0xcbf70039, 0xcbf70037,
13953 0xcaf70044, 0xcaf70042, 0xcaf70040, 0xcaf7003e,
13954 0xcaf7003c, 0xcaf7003b, 0xcaf70039, 0xcaf70037,
13955 0xc9f70044, 0xc9f70042, 0xc9f70040, 0xc9f7003e,
13956 0xc9f7003c, 0xc9f7003b, 0xc9f70039, 0xc9f70037,
13957 0xc8f70044, 0xc8f70042, 0xc8f70040, 0xc8f7003e,
13958 0xc8f7003c, 0xc8f7003b, 0xc8f70039, 0xc8f70037,
13959 0xc7f70044, 0xc7f70042, 0xc7f70040, 0xc7f7003e,
13960 0xc7f7003c, 0xc7f7003b, 0xc7f70039, 0xc7f70037,
13961 0xc6f70044, 0xc6f70042, 0xc6f70040, 0xc6f7003e,
13962 0xc6f7003c, 0xc6f7003b, 0xc6f70039, 0xc6f70037,
13963 0xc5f70044, 0xc5f70042, 0xc5f70040, 0xc5f7003e,
13964 0xc5f7003c, 0xc5f7003b, 0xc5f70039, 0xc5f70037,
13965 0xc4f70044, 0xc4f70042, 0xc4f70040, 0xc4f7003e,
13966 0xc4f7003c, 0xc4f7003b, 0xc4f70039, 0xc4f70037,
13967 0xc3f70044, 0xc3f70042, 0xc3f70040, 0xc3f7003e,
13968 0xc3f7003c, 0xc3f7003b, 0xc3f70039, 0xc3f70037,
13969 0xc2f70044, 0xc2f70042, 0xc2f70040, 0xc2f7003e,
13970 0xc2f7003c, 0xc2f7003b, 0xc2f70039, 0xc2f70037,
13971 0xc1f70044, 0xc1f70042, 0xc1f70040, 0xc1f7003e,
13972 0xc1f7003c, 0xc1f7003b, 0xc1f70039, 0xc1f70037,
13973 0xc0f70044, 0xc0f70042, 0xc0f70040, 0xc0f7003e,
13974 0xc0f7003c, 0xc0f7003b, 0xc0f70039, 0xc0f70037
13977 static u32 nphy_tpc_5GHz_txgain_rev4[] = {
13978 0x2ff20044, 0x2ff20042, 0x2ff20040, 0x2ff2003e,
13979 0x2ff2003c, 0x2ff2003b, 0x2ff20039, 0x2ff20037,
13980 0x2ef20044, 0x2ef20042, 0x2ef20040, 0x2ef2003e,
13981 0x2ef2003c, 0x2ef2003b, 0x2ef20039, 0x2ef20037,
13982 0x2df20044, 0x2df20042, 0x2df20040, 0x2df2003e,
13983 0x2df2003c, 0x2df2003b, 0x2df20039, 0x2df20037,
13984 0x2cf20044, 0x2cf20042, 0x2cf20040, 0x2cf2003e,
13985 0x2cf2003c, 0x2cf2003b, 0x2cf20039, 0x2cf20037,
13986 0x2bf20044, 0x2bf20042, 0x2bf20040, 0x2bf2003e,
13987 0x2bf2003c, 0x2bf2003b, 0x2bf20039, 0x2bf20037,
13988 0x2af20044, 0x2af20042, 0x2af20040, 0x2af2003e,
13989 0x2af2003c, 0x2af2003b, 0x2af20039, 0x2af20037,
13990 0x29f20044, 0x29f20042, 0x29f20040, 0x29f2003e,
13991 0x29f2003c, 0x29f2003b, 0x29f20039, 0x29f20037,
13992 0x28f20044, 0x28f20042, 0x28f20040, 0x28f2003e,
13993 0x28f2003c, 0x28f2003b, 0x28f20039, 0x28f20037,
13994 0x27f20044, 0x27f20042, 0x27f20040, 0x27f2003e,
13995 0x27f2003c, 0x27f2003b, 0x27f20039, 0x27f20037,
13996 0x26f20044, 0x26f20042, 0x26f20040, 0x26f2003e,
13997 0x26f2003c, 0x26f2003b, 0x26f20039, 0x26f20037,
13998 0x25f20044, 0x25f20042, 0x25f20040, 0x25f2003e,
13999 0x25f2003c, 0x25f2003b, 0x25f20039, 0x25f20037,
14000 0x24f20044, 0x24f20042, 0x24f20040, 0x24f2003e,
14001 0x24f2003c, 0x24f2003b, 0x24f20039, 0x24f20038,
14002 0x23f20041, 0x23f20040, 0x23f2003f, 0x23f2003e,
14003 0x23f2003c, 0x23f2003b, 0x23f20039, 0x23f20037,
14004 0x22f20044, 0x22f20042, 0x22f20040, 0x22f2003e,
14005 0x22f2003c, 0x22f2003b, 0x22f20039, 0x22f20037,
14006 0x21f20044, 0x21f20042, 0x21f20040, 0x21f2003e,
14007 0x21f2003c, 0x21f2003b, 0x21f20039, 0x21f20037,
14008 0x20d20043, 0x20d20041, 0x20d2003e, 0x20d2003c,
14009 0x20d2003a, 0x20d20038, 0x20d20036, 0x20d20034
14012 static u32 nphy_tpc_5GHz_txgain_rev5[] = {
14013 0x0f62004a, 0x0f620048, 0x0f620046, 0x0f620044,
14014 0x0f620042, 0x0f620040, 0x0f62003e, 0x0f62003c,
14015 0x0e620044, 0x0e620042, 0x0e620040, 0x0e62003e,
14016 0x0e62003c, 0x0e62003d, 0x0e62003b, 0x0e62003a,
14017 0x0d620043, 0x0d620041, 0x0d620040, 0x0d62003e,
14018 0x0d62003d, 0x0d62003c, 0x0d62003b, 0x0d62003a,
14019 0x0c620041, 0x0c620040, 0x0c62003f, 0x0c62003e,
14020 0x0c62003c, 0x0c62003b, 0x0c620039, 0x0c620037,
14021 0x0b620046, 0x0b620044, 0x0b620042, 0x0b620040,
14022 0x0b62003e, 0x0b62003c, 0x0b62003b, 0x0b62003a,
14023 0x0a620041, 0x0a620040, 0x0a62003e, 0x0a62003c,
14024 0x0a62003b, 0x0a62003a, 0x0a620039, 0x0a620038,
14025 0x0962003e, 0x0962003d, 0x0962003c, 0x0962003b,
14026 0x09620039, 0x09620037, 0x09620035, 0x09620033,
14027 0x08620044, 0x08620042, 0x08620040, 0x0862003e,
14028 0x0862003c, 0x0862003b, 0x0862003a, 0x08620039,
14029 0x07620043, 0x07620042, 0x07620040, 0x0762003f,
14030 0x0762003d, 0x0762003b, 0x0762003a, 0x07620039,
14031 0x0662003e, 0x0662003d, 0x0662003c, 0x0662003b,
14032 0x06620039, 0x06620037, 0x06620035, 0x06620033,
14033 0x05620046, 0x05620044, 0x05620042, 0x05620040,
14034 0x0562003e, 0x0562003c, 0x0562003b, 0x05620039,
14035 0x04620044, 0x04620042, 0x04620040, 0x0462003e,
14036 0x0462003c, 0x0462003b, 0x04620039, 0x04620038,
14037 0x0362003c, 0x0362003b, 0x0362003a, 0x03620039,
14038 0x03620038, 0x03620037, 0x03620035, 0x03620033,
14039 0x0262004c, 0x0262004a, 0x02620048, 0x02620047,
14040 0x02620046, 0x02620044, 0x02620043, 0x02620042,
14041 0x0162004a, 0x01620048, 0x01620046, 0x01620044,
14042 0x01620043, 0x01620042, 0x01620041, 0x01620040,
14043 0x00620042, 0x00620040, 0x0062003e, 0x0062003c,
14044 0x0062003b, 0x00620039, 0x00620037, 0x00620035
14047 static u32 nphy_tpc_5GHz_txgain_HiPwrEPA[] = {
14048 0x2ff10044, 0x2ff10042, 0x2ff10040, 0x2ff1003e,
14049 0x2ff1003c, 0x2ff1003b, 0x2ff10039, 0x2ff10037,
14050 0x2ef10044, 0x2ef10042, 0x2ef10040, 0x2ef1003e,
14051 0x2ef1003c, 0x2ef1003b, 0x2ef10039, 0x2ef10037,
14052 0x2df10044, 0x2df10042, 0x2df10040, 0x2df1003e,
14053 0x2df1003c, 0x2df1003b, 0x2df10039, 0x2df10037,
14054 0x2cf10044, 0x2cf10042, 0x2cf10040, 0x2cf1003e,
14055 0x2cf1003c, 0x2cf1003b, 0x2cf10039, 0x2cf10037,
14056 0x2bf10044, 0x2bf10042, 0x2bf10040, 0x2bf1003e,
14057 0x2bf1003c, 0x2bf1003b, 0x2bf10039, 0x2bf10037,
14058 0x2af10044, 0x2af10042, 0x2af10040, 0x2af1003e,
14059 0x2af1003c, 0x2af1003b, 0x2af10039, 0x2af10037,
14060 0x29f10044, 0x29f10042, 0x29f10040, 0x29f1003e,
14061 0x29f1003c, 0x29f1003b, 0x29f10039, 0x29f10037,
14062 0x28f10044, 0x28f10042, 0x28f10040, 0x28f1003e,
14063 0x28f1003c, 0x28f1003b, 0x28f10039, 0x28f10037,
14064 0x27f10044, 0x27f10042, 0x27f10040, 0x27f1003e,
14065 0x27f1003c, 0x27f1003b, 0x27f10039, 0x27f10037,
14066 0x26f10044, 0x26f10042, 0x26f10040, 0x26f1003e,
14067 0x26f1003c, 0x26f1003b, 0x26f10039, 0x26f10037,
14068 0x25f10044, 0x25f10042, 0x25f10040, 0x25f1003e,
14069 0x25f1003c, 0x25f1003b, 0x25f10039, 0x25f10037,
14070 0x24f10044, 0x24f10042, 0x24f10040, 0x24f1003e,
14071 0x24f1003c, 0x24f1003b, 0x24f10039, 0x24f10038,
14072 0x23f10041, 0x23f10040, 0x23f1003f, 0x23f1003e,
14073 0x23f1003c, 0x23f1003b, 0x23f10039, 0x23f10037,
14074 0x22f10044, 0x22f10042, 0x22f10040, 0x22f1003e,
14075 0x22f1003c, 0x22f1003b, 0x22f10039, 0x22f10037,
14076 0x21f10044, 0x21f10042, 0x21f10040, 0x21f1003e,
14077 0x21f1003c, 0x21f1003b, 0x21f10039, 0x21f10037,
14078 0x20d10043, 0x20d10041, 0x20d1003e, 0x20d1003c,
14079 0x20d1003a, 0x20d10038, 0x20d10036, 0x20d10034
14082 static u8 ant_sw_ctrl_tbl_rev8_2o3[] = { 0x14, 0x18 };
14083 static u8 ant_sw_ctrl_tbl_rev8[] = { 0x4, 0x8, 0x4, 0x8, 0x11, 0x12 };
14084 static u8 ant_sw_ctrl_tbl_rev8_2057v7_core0[] = {
14085 0x09, 0x0a, 0x15, 0x16, 0x09, 0x0a };
14086 static u8 ant_sw_ctrl_tbl_rev8_2057v7_core1[] = {
14087 0x09, 0x0a, 0x09, 0x0a, 0x15, 0x16 };
14089 static bool wlc_phy_chan2freq_nphy(phy_info_t *pi, uint channel, int *f,
14090 chan_info_nphy_radio2057_t **t0,
14091 chan_info_nphy_radio205x_t **t1,
14092 chan_info_nphy_radio2057_rev5_t **t2,
14093 chan_info_nphy_2055_t **t3);
14094 static void wlc_phy_chanspec_nphy_setup(phy_info_t *pi, chanspec_t chans,
14095 const nphy_sfo_cfg_t *c);
14097 static void wlc_phy_adjust_rx_analpfbw_nphy(phy_info_t *pi,
14098 u16 reduction_factr);
14099 static void wlc_phy_adjust_min_noisevar_nphy(phy_info_t *pi, int ntones, int *,
14101 static void wlc_phy_adjust_crsminpwr_nphy(phy_info_t *pi, u8 minpwr);
14102 static void wlc_phy_txlpfbw_nphy(phy_info_t *pi);
14103 static void wlc_phy_spurwar_nphy(phy_info_t *pi);
14105 static void wlc_phy_radio_preinit_2055(phy_info_t *pi);
14106 static void wlc_phy_radio_init_2055(phy_info_t *pi);
14107 static void wlc_phy_radio_postinit_2055(phy_info_t *pi);
14108 static void wlc_phy_radio_preinit_205x(phy_info_t *pi);
14109 static void wlc_phy_radio_init_2056(phy_info_t *pi);
14110 static void wlc_phy_radio_postinit_2056(phy_info_t *pi);
14111 static void wlc_phy_radio_init_2057(phy_info_t *pi);
14112 static void wlc_phy_radio_postinit_2057(phy_info_t *pi);
14113 static void wlc_phy_workarounds_nphy(phy_info_t *pi);
14114 static void wlc_phy_workarounds_nphy_gainctrl(phy_info_t *pi);
14115 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev5(phy_info_t *pi);
14116 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev6(phy_info_t *pi);
14117 static void wlc_phy_adjust_lnagaintbl_nphy(phy_info_t *pi);
14119 static void wlc_phy_restore_rssical_nphy(phy_info_t *pi);
14120 static void wlc_phy_reapply_txcal_coeffs_nphy(phy_info_t *pi);
14121 static void wlc_phy_tx_iq_war_nphy(phy_info_t *pi);
14122 static int wlc_phy_cal_rxiq_nphy_rev3(phy_info_t *pi, nphy_txgains_t tg,
14124 static void wlc_phy_rxcal_gainctrl_nphy_rev5(phy_info_t *pi, u8 rxcore,
14126 static void wlc_phy_update_mimoconfig_nphy(phy_info_t *pi, s32 preamble);
14127 static void wlc_phy_savecal_nphy(phy_info_t *pi);
14128 static void wlc_phy_restorecal_nphy(phy_info_t *pi);
14129 static void wlc_phy_resetcca_nphy(phy_info_t *pi);
14131 static void wlc_phy_txpwrctrl_config_nphy(phy_info_t *pi);
14132 static void wlc_phy_internal_cal_txgain_nphy(phy_info_t *pi);
14133 static void wlc_phy_precal_txgain_nphy(phy_info_t *pi);
14134 static void wlc_phy_update_txcal_ladder_nphy(phy_info_t *pi, u16 core);
14136 static void wlc_phy_extpa_set_tx_digi_filts_nphy(phy_info_t *pi);
14137 static void wlc_phy_ipa_set_tx_digi_filts_nphy(phy_info_t *pi);
14138 static void wlc_phy_ipa_restore_tx_digi_filts_nphy(phy_info_t *pi);
14139 static u16 wlc_phy_ipa_get_bbmult_nphy(phy_info_t *pi);
14140 static void wlc_phy_ipa_set_bbmult_nphy(phy_info_t *pi, u8 m0, u8 m1);
14141 static u32 *wlc_phy_get_ipa_gaintbl_nphy(phy_info_t *pi);
14143 static void wlc_phy_a1_nphy(phy_info_t *pi, u8 core, u32 winsz, u32,
14145 static u8 wlc_phy_a3_nphy(phy_info_t *pi, u8 start_gain, u8 core);
14146 static void wlc_phy_a2_nphy(phy_info_t *pi, nphy_ipa_txcalgains_t *,
14147 phy_cal_mode_t, u8);
14148 static void wlc_phy_papd_cal_cleanup_nphy(phy_info_t *pi,
14149 nphy_papd_restore_state *state);
14150 static void wlc_phy_papd_cal_setup_nphy(phy_info_t *pi,
14151 nphy_papd_restore_state *state, u8);
14153 static void wlc_phy_clip_det_nphy(phy_info_t *pi, u8 write, u16 *vals);
14155 static void wlc_phy_set_rfseq_nphy(phy_info_t *pi, u8 cmd, u8 *evts,
14158 static u16 wlc_phy_read_lpf_bw_ctl_nphy(phy_info_t *pi, u16 offset);
14161 wlc_phy_rfctrl_override_nphy_rev7(phy_info_t *pi, u16 field, u16 value,
14162 u8 core_mask, u8 off,
14165 static void wlc_phy_rssi_cal_nphy_rev2(phy_info_t *pi, u8 rssi_type);
14166 static void wlc_phy_rssi_cal_nphy_rev3(phy_info_t *pi);
14168 static bool wlc_phy_txpwr_srom_read_nphy(phy_info_t *pi);
14169 static void wlc_phy_txpwr_nphy_srom_convert(u8 *srom_max,
14171 u8 tmp_max_pwr, u8 rate_start,
14174 static void wlc_phy_txpwr_limit_to_tbl_nphy(phy_info_t *pi);
14175 static void wlc_phy_txpwrctrl_coeff_setup_nphy(phy_info_t *pi);
14176 static void wlc_phy_txpwrctrl_idle_tssi_nphy(phy_info_t *pi);
14177 static void wlc_phy_txpwrctrl_pwr_setup_nphy(phy_info_t *pi);
14179 static bool wlc_phy_txpwr_ison_nphy(phy_info_t *pi);
14180 static u8 wlc_phy_txpwr_idx_cur_get_nphy(phy_info_t *pi, u8 core);
14181 static void wlc_phy_txpwr_idx_cur_set_nphy(phy_info_t *pi, u8 idx0,
14183 static void wlc_phy_a4(phy_info_t *pi, bool full_cal);
14185 static u16 wlc_phy_radio205x_rcal(phy_info_t *pi);
14187 static u16 wlc_phy_radio2057_rccal(phy_info_t *pi);
14189 static u16 wlc_phy_gen_load_samples_nphy(phy_info_t *pi, u32 f_kHz,
14192 static void wlc_phy_loadsampletable_nphy(phy_info_t *pi, cs32 *tone_buf,
14194 static void wlc_phy_runsamples_nphy(phy_info_t *pi, u16 n, u16 lps,
14195 u16 wait, u8 iq, u8 dac_test_mode,
14196 bool modify_bbmult);
14198 bool wlc_phy_bist_check_phy(wlc_phy_t *pih)
14200 phy_info_t *pi = (phy_info_t *) pih;
14201 u32 phybist0, phybist1, phybist2, phybist3, phybist4;
14203 if (NREV_GE(pi->pubpi.phy_rev, 16))
14206 phybist0 = read_phy_reg(pi, 0x0e);
14207 phybist1 = read_phy_reg(pi, 0x0f);
14208 phybist2 = read_phy_reg(pi, 0xea);
14209 phybist3 = read_phy_reg(pi, 0xeb);
14210 phybist4 = read_phy_reg(pi, 0x156);
14212 if ((phybist0 == 0) && (phybist1 == 0x4000) && (phybist2 == 0x1fe0) &&
14213 (phybist3 == 0) && (phybist4 == 0)) {
14220 static void WLBANDINITFN(wlc_phy_bphy_init_nphy) (phy_info_t *pi)
14224 ASSERT(ISNPHY(pi));
14227 for (addr = (NPHY_TO_BPHY_OFF + BPHY_RSSI_LUT);
14228 addr <= (NPHY_TO_BPHY_OFF + BPHY_RSSI_LUT_END); addr++) {
14229 write_phy_reg(pi, addr, val);
14230 if (addr == (NPHY_TO_BPHY_OFF + 0x97))
14236 if (NORADIO_ENAB(pi->pubpi)) {
14238 write_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_PHYCRSTH, 0x3206);
14240 write_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_RSSI_TRESH, 0x281e);
14242 or_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_LNA_GAIN_RANGE, 0x1a);
14246 write_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_STEP, 0x668);
14251 wlc_phy_table_write_nphy(phy_info_t *pi, u32 id, u32 len, u32 offset,
14252 u32 width, const void *data)
14254 mimophytbl_info_t tbl;
14258 tbl.tbl_offset = offset;
14259 tbl.tbl_width = width;
14260 tbl.tbl_ptr = data;
14261 wlc_phy_write_table_nphy(pi, &tbl);
14265 wlc_phy_table_read_nphy(phy_info_t *pi, u32 id, u32 len, u32 offset,
14266 u32 width, void *data)
14268 mimophytbl_info_t tbl;
14272 tbl.tbl_offset = offset;
14273 tbl.tbl_width = width;
14274 tbl.tbl_ptr = data;
14275 wlc_phy_read_table_nphy(pi, &tbl);
14278 static void WLBANDINITFN(wlc_phy_static_table_download_nphy) (phy_info_t *pi)
14282 if (NREV_GE(pi->pubpi.phy_rev, 16)) {
14283 for (idx = 0; idx < mimophytbl_info_sz_rev16; idx++)
14284 wlc_phy_write_table_nphy(pi,
14285 &mimophytbl_info_rev16[idx]);
14286 } else if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14287 for (idx = 0; idx < mimophytbl_info_sz_rev7; idx++)
14288 wlc_phy_write_table_nphy(pi,
14289 &mimophytbl_info_rev7[idx]);
14290 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14291 for (idx = 0; idx < mimophytbl_info_sz_rev3; idx++)
14292 wlc_phy_write_table_nphy(pi,
14293 &mimophytbl_info_rev3[idx]);
14295 for (idx = 0; idx < mimophytbl_info_sz_rev0; idx++)
14296 wlc_phy_write_table_nphy(pi,
14297 &mimophytbl_info_rev0[idx]);
14301 static void WLBANDINITFN(wlc_phy_tbl_init_nphy) (phy_info_t *pi)
14306 if (pi->phy_init_por)
14307 wlc_phy_static_table_download_nphy(pi);
14309 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14311 antswctrllut = CHSPEC_IS2G(pi->radio_chanspec) ?
14312 pi->srom_fem2g.antswctrllut : pi->srom_fem5g.antswctrllut;
14314 switch (antswctrllut) {
14321 if (pi->aa2g == 7) {
14323 wlc_phy_table_write_nphy(pi,
14324 NPHY_TBL_ID_ANTSWCTRLLUT,
14326 &ant_sw_ctrl_tbl_rev8_2o3
14329 wlc_phy_table_write_nphy(pi,
14330 NPHY_TBL_ID_ANTSWCTRLLUT,
14332 &ant_sw_ctrl_tbl_rev8
14335 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14337 &ant_sw_ctrl_tbl_rev8[2]);
14338 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14340 &ant_sw_ctrl_tbl_rev8[4]);
14345 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14347 &ant_sw_ctrl_tbl_rev8_2057v7_core0
14349 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14351 &ant_sw_ctrl_tbl_rev8_2057v7_core0
14353 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14355 &ant_sw_ctrl_tbl_rev8_2057v7_core0
14358 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14360 &ant_sw_ctrl_tbl_rev8_2057v7_core1
14362 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14364 &ant_sw_ctrl_tbl_rev8_2057v7_core1
14366 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14368 &ant_sw_ctrl_tbl_rev8_2057v7_core1
14378 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14379 for (idx = 0; idx < mimophytbl_info_sz_rev3_volatile; idx++) {
14381 if (idx == ANT_SWCTRL_TBL_REV3_IDX) {
14382 antswctrllut = CHSPEC_IS2G(pi->radio_chanspec) ?
14383 pi->srom_fem2g.antswctrllut : pi->
14384 srom_fem5g.antswctrllut;
14385 switch (antswctrllut) {
14387 wlc_phy_write_table_nphy(pi,
14388 &mimophytbl_info_rev3_volatile
14392 wlc_phy_write_table_nphy(pi,
14393 &mimophytbl_info_rev3_volatile1
14397 wlc_phy_write_table_nphy(pi,
14398 &mimophytbl_info_rev3_volatile2
14402 wlc_phy_write_table_nphy(pi,
14403 &mimophytbl_info_rev3_volatile3
14412 wlc_phy_write_table_nphy(pi,
14413 &mimophytbl_info_rev3_volatile
14418 for (idx = 0; idx < mimophytbl_info_sz_rev0_volatile; idx++) {
14419 wlc_phy_write_table_nphy(pi,
14420 &mimophytbl_info_rev0_volatile
14427 wlc_phy_write_txmacreg_nphy(phy_info_t *pi, u16 holdoff, u16 delay)
14429 write_phy_reg(pi, 0x77, holdoff);
14430 write_phy_reg(pi, 0xb4, delay);
14433 void wlc_phy_nphy_tkip_rifs_war(phy_info_t *pi, u8 rifs)
14435 u16 holdoff, delay;
14447 wlc_phy_write_txmacreg_nphy(pi, holdoff, delay);
14449 if (pi && pi->sh && (pi->sh->_rifs_phy != rifs)) {
14450 pi->sh->_rifs_phy = rifs;
14454 bool wlc_phy_attach_nphy(phy_info_t *pi)
14458 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 6)) {
14459 pi->phyhang_avoid = true;
14462 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 7)) {
14464 pi->nphy_gband_spurwar_en = true;
14466 if (pi->sh->boardflags2 & BFL2_SPUR_WAR) {
14467 pi->nphy_aband_spurwar_en = true;
14470 if (NREV_GE(pi->pubpi.phy_rev, 6) && NREV_LT(pi->pubpi.phy_rev, 7)) {
14472 if (pi->sh->boardflags2 & BFL2_2G_SPUR_WAR) {
14473 pi->nphy_gband_spurwar2_en = true;
14477 pi->n_preamble_override = AUTO;
14478 if (NREV_IS(pi->pubpi.phy_rev, 3) || NREV_IS(pi->pubpi.phy_rev, 4))
14479 pi->n_preamble_override = WLC_N_PREAMBLE_MIXEDMODE;
14481 pi->nphy_txrx_chain = AUTO;
14482 pi->phy_scraminit = AUTO;
14484 pi->nphy_rxcalparams = 0x010100B5;
14486 pi->nphy_perical = PHY_PERICAL_MPHASE;
14487 pi->mphase_cal_phase_id = MPHASE_CAL_STATE_IDLE;
14488 pi->mphase_txcal_numcmds = MPHASE_TXCAL_NUMCMDS;
14490 pi->nphy_gain_boost = true;
14491 pi->nphy_elna_gain_config = false;
14492 pi->radio_is_on = false;
14494 for (i = 0; i < pi->pubpi.phy_corenum; i++) {
14495 pi->nphy_txpwrindex[i].index = AUTO;
14498 wlc_phy_txpwrctrl_config_nphy(pi);
14499 if (pi->nphy_txpwrctrl == PHY_TPC_HW_ON)
14500 pi->hwpwrctrl_capable = true;
14502 pi->pi_fptr.init = wlc_phy_init_nphy;
14503 pi->pi_fptr.calinit = wlc_phy_cal_init_nphy;
14504 pi->pi_fptr.chanset = wlc_phy_chanspec_set_nphy;
14505 pi->pi_fptr.txpwrrecalc = wlc_phy_txpower_recalc_target_nphy;
14507 if (!wlc_phy_txpwr_srom_read_nphy(pi))
14513 static void wlc_phy_txpwrctrl_config_nphy(phy_info_t *pi)
14516 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14517 pi->nphy_txpwrctrl = PHY_TPC_HW_ON;
14518 pi->phy_5g_pwrgain = true;
14522 pi->nphy_txpwrctrl = PHY_TPC_HW_OFF;
14523 pi->phy_5g_pwrgain = false;
14525 if ((pi->sh->boardflags2 & BFL2_TXPWRCTRL_EN) &&
14526 NREV_GE(pi->pubpi.phy_rev, 2) && (pi->sh->sromrev >= 4))
14527 pi->nphy_txpwrctrl = PHY_TPC_HW_ON;
14528 else if ((pi->sh->sromrev >= 4)
14529 && (pi->sh->boardflags2 & BFL2_5G_PWRGAIN))
14530 pi->phy_5g_pwrgain = true;
14533 void WLBANDINITFN(wlc_phy_init_nphy) (phy_info_t *pi)
14537 nphy_txgains_t target_gain;
14538 u8 tx_pwr_ctrl_state;
14539 bool do_nphy_cal = false;
14541 uint origidx, intr_val;
14543 u32 d11_clk_ctl_st;
14547 if (!(pi->measure_hold & PHY_HOLD_FOR_SCAN)) {
14548 pi->measure_hold |= PHY_HOLD_FOR_NOT_ASSOC;
14551 if ((ISNPHY(pi)) && (NREV_GE(pi->pubpi.phy_rev, 5)) &&
14552 ((pi->sh->chippkg == BCM4717_PKG_ID) ||
14553 (pi->sh->chippkg == BCM4718_PKG_ID))) {
14554 if ((pi->sh->boardflags & BFL_EXTLNA) &&
14555 (CHSPEC_IS2G(pi->radio_chanspec))) {
14556 si_corereg(pi->sh->sih, SI_CC_IDX,
14557 offsetof(chipcregs_t, chipcontrol), 0x40,
14562 if ((!PHY_IPA(pi)) && (pi->sh->chip == BCM5357_CHIP_ID)) {
14563 si_pmu_chipcontrol(pi->sh->sih, 1, CCTRL5357_EXTPA,
14567 if ((pi->nphy_gband_spurwar2_en) && CHSPEC_IS2G(pi->radio_chanspec) &&
14568 CHSPEC_IS40(pi->radio_chanspec)) {
14570 regs = (d11regs_t *) si_switch_core(pi->sh->sih, D11_CORE_ID,
14571 &origidx, &intr_val);
14572 ASSERT(regs != NULL);
14574 d11_clk_ctl_st = R_REG(pi->sh->osh, ®s->clk_ctl_st);
14575 AND_REG(pi->sh->osh, ®s->clk_ctl_st,
14576 ~(CCS_FORCEHT | CCS_HTAREQ));
14578 W_REG(pi->sh->osh, ®s->clk_ctl_st, d11_clk_ctl_st);
14580 si_restore_core(pi->sh->sih, origidx, intr_val);
14583 pi->use_int_tx_iqlo_cal_nphy =
14585 (NREV_GE(pi->pubpi.phy_rev, 7) ||
14586 (NREV_GE(pi->pubpi.phy_rev, 5)
14587 && pi->sh->boardflags2 & BFL2_INTERNDET_TXIQCAL)));
14589 pi->internal_tx_iqlo_cal_tapoff_intpa_nphy = false;
14591 pi->nphy_deaf_count = 0;
14593 wlc_phy_tbl_init_nphy(pi);
14595 pi->nphy_crsminpwr_adjusted = false;
14596 pi->nphy_noisevars_adjusted = false;
14598 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14599 write_phy_reg(pi, 0xe7, 0);
14600 write_phy_reg(pi, 0xec, 0);
14601 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14602 write_phy_reg(pi, 0x342, 0);
14603 write_phy_reg(pi, 0x343, 0);
14604 write_phy_reg(pi, 0x346, 0);
14605 write_phy_reg(pi, 0x347, 0);
14607 write_phy_reg(pi, 0xe5, 0);
14608 write_phy_reg(pi, 0xe6, 0);
14610 write_phy_reg(pi, 0xec, 0);
14613 write_phy_reg(pi, 0x91, 0);
14614 write_phy_reg(pi, 0x92, 0);
14615 if (NREV_LT(pi->pubpi.phy_rev, 6)) {
14616 write_phy_reg(pi, 0x93, 0);
14617 write_phy_reg(pi, 0x94, 0);
14620 and_phy_reg(pi, 0xa1, ~3);
14622 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14623 write_phy_reg(pi, 0x8f, 0);
14624 write_phy_reg(pi, 0xa5, 0);
14626 write_phy_reg(pi, 0xa5, 0);
14629 if (NREV_IS(pi->pubpi.phy_rev, 2))
14630 mod_phy_reg(pi, 0xdc, 0x00ff, 0x3b);
14631 else if (NREV_LT(pi->pubpi.phy_rev, 2))
14632 mod_phy_reg(pi, 0xdc, 0x00ff, 0x40);
14634 write_phy_reg(pi, 0x203, 32);
14635 write_phy_reg(pi, 0x201, 32);
14637 if (pi->sh->boardflags2 & BFL2_SKWRKFEM_BRD)
14638 write_phy_reg(pi, 0x20d, 160);
14640 write_phy_reg(pi, 0x20d, 184);
14642 write_phy_reg(pi, 0x13a, 200);
14644 write_phy_reg(pi, 0x70, 80);
14646 write_phy_reg(pi, 0x1ff, 48);
14648 if (NREV_LT(pi->pubpi.phy_rev, 8)) {
14649 wlc_phy_update_mimoconfig_nphy(pi, pi->n_preamble_override);
14652 wlc_phy_stf_chain_upd_nphy(pi);
14654 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
14655 write_phy_reg(pi, 0x180, 0xaa8);
14656 write_phy_reg(pi, 0x181, 0x9a4);
14660 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
14662 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
14663 0x29b, (0x1 << 0), (1) << 0);
14665 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x298 :
14666 0x29c, (0x1ff << 7),
14667 (pi->nphy_papd_epsilon_offset[core]) << 7);
14671 wlc_phy_ipa_set_tx_digi_filts_nphy(pi);
14674 if (NREV_GE(pi->pubpi.phy_rev, 5)) {
14675 wlc_phy_extpa_set_tx_digi_filts_nphy(pi);
14679 wlc_phy_workarounds_nphy(pi);
14681 wlapi_bmac_phyclk_fgc(pi->sh->physhim, ON);
14683 val = read_phy_reg(pi, 0x01);
14684 write_phy_reg(pi, 0x01, val | BBCFG_RESETCCA);
14685 write_phy_reg(pi, 0x01, val & (~BBCFG_RESETCCA));
14686 wlapi_bmac_phyclk_fgc(pi->sh->physhim, OFF);
14688 wlapi_bmac_macphyclk_set(pi->sh->physhim, ON);
14690 wlc_phy_pa_override_nphy(pi, OFF);
14691 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX);
14692 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
14693 wlc_phy_pa_override_nphy(pi, ON);
14695 wlc_phy_classifier_nphy(pi, 0, 0);
14696 wlc_phy_clip_det_nphy(pi, 0, clip1_ths);
14698 if (CHSPEC_IS2G(pi->radio_chanspec))
14699 wlc_phy_bphy_init_nphy(pi);
14701 tx_pwr_ctrl_state = pi->nphy_txpwrctrl;
14702 wlc_phy_txpwrctrl_enable_nphy(pi, PHY_TPC_HW_OFF);
14704 wlc_phy_txpwr_fixpower_nphy(pi);
14706 wlc_phy_txpwrctrl_idle_tssi_nphy(pi);
14708 wlc_phy_txpwrctrl_pwr_setup_nphy(pi);
14710 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14711 u32 *tx_pwrctrl_tbl = NULL;
14715 s32 rfpwr_offset = 0;
14718 tx_pwrctrl_tbl = wlc_phy_get_ipa_gaintbl_nphy(pi);
14720 if (CHSPEC_IS5G(pi->radio_chanspec)) {
14722 (pi->pubpi.phy_rev, 3) {
14724 nphy_tpc_5GHz_txgain_rev3;
14726 (pi->pubpi.phy_rev, 4) {
14728 (pi->srom_fem5g.extpagain == 3) ?
14729 nphy_tpc_5GHz_txgain_HiPwrEPA :
14730 nphy_tpc_5GHz_txgain_rev4;
14733 nphy_tpc_5GHz_txgain_rev5;
14737 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14738 if (pi->pubpi.radiorev == 5) {
14740 nphy_tpc_txgain_epa_2057rev5;
14741 } else if (pi->pubpi.radiorev == 3) {
14743 nphy_tpc_txgain_epa_2057rev3;
14747 if (NREV_GE(pi->pubpi.phy_rev, 5) &&
14748 (pi->srom_fem2g.extpagain == 3)) {
14750 nphy_tpc_txgain_HiPwrEPA;
14753 nphy_tpc_txgain_rev3;
14759 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 128,
14760 192, 32, tx_pwrctrl_tbl);
14761 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 128,
14762 192, 32, tx_pwrctrl_tbl);
14764 pi->nphy_gmval = (u16) ((*tx_pwrctrl_tbl >> 16) & 0x7000);
14766 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14768 for (idx = 0; idx < 128; idx++) {
14769 pga_gn = (tx_pwrctrl_tbl[idx] >> 24) & 0xf;
14770 pad_gn = (tx_pwrctrl_tbl[idx] >> 19) & 0x1f;
14772 if (CHSPEC_IS2G(pi->radio_chanspec)) {
14773 if ((pi->pubpi.radiorev == 3) ||
14774 (pi->pubpi.radiorev == 4) ||
14775 (pi->pubpi.radiorev == 6)) {
14776 rfpwr_offset = (s16)
14777 nphy_papd_padgain_dlt_2g_2057rev3n4
14779 } else if (pi->pubpi.radiorev == 5) {
14780 rfpwr_offset = (s16)
14781 nphy_papd_padgain_dlt_2g_2057rev5
14783 } else if ((pi->pubpi.radiorev == 7)
14784 || (pi->pubpi.radiorev ==
14786 rfpwr_offset = (s16)
14787 nphy_papd_padgain_dlt_2g_2057rev7
14794 if ((pi->pubpi.radiorev == 3) ||
14795 (pi->pubpi.radiorev == 4) ||
14796 (pi->pubpi.radiorev == 6)) {
14797 rfpwr_offset = (s16)
14798 nphy_papd_pgagain_dlt_5g_2057
14800 } else if ((pi->pubpi.radiorev == 7)
14801 || (pi->pubpi.radiorev ==
14803 rfpwr_offset = (s16)
14804 nphy_papd_pgagain_dlt_5g_2057rev7
14810 wlc_phy_table_write_nphy(pi,
14811 NPHY_TBL_ID_CORE1TXPWRCTL,
14814 wlc_phy_table_write_nphy(pi,
14815 NPHY_TBL_ID_CORE2TXPWRCTL,
14821 for (idx = 0; idx < 128; idx++) {
14822 pga_gn = (tx_pwrctrl_tbl[idx] >> 24) & 0xf;
14823 if (CHSPEC_IS2G(pi->radio_chanspec)) {
14824 rfpwr_offset = (s16)
14825 nphy_papd_pga_gain_delta_ipa_2g
14828 rfpwr_offset = (s16)
14829 nphy_papd_pga_gain_delta_ipa_5g
14833 wlc_phy_table_write_nphy(pi,
14834 NPHY_TBL_ID_CORE1TXPWRCTL,
14837 wlc_phy_table_write_nphy(pi,
14838 NPHY_TBL_ID_CORE2TXPWRCTL,
14846 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 128,
14847 192, 32, nphy_tpc_txgain);
14848 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 128,
14849 192, 32, nphy_tpc_txgain);
14852 if (pi->sh->phyrxchain != 0x3) {
14853 wlc_phy_rxcore_setstate_nphy((wlc_phy_t *) pi,
14854 pi->sh->phyrxchain);
14857 if (PHY_PERICAL_MPHASE_PENDING(pi)) {
14858 wlc_phy_cal_perical_mphase_restart(pi);
14861 if (!NORADIO_ENAB(pi->pubpi)) {
14862 bool do_rssi_cal = false;
14864 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14865 do_rssi_cal = (CHSPEC_IS2G(pi->radio_chanspec)) ?
14866 (pi->nphy_rssical_chanspec_2G == 0) :
14867 (pi->nphy_rssical_chanspec_5G == 0);
14870 wlc_phy_rssi_cal_nphy(pi);
14872 wlc_phy_restore_rssical_nphy(pi);
14875 wlc_phy_rssi_cal_nphy(pi);
14878 if (!SCAN_RM_IN_PROGRESS(pi)) {
14879 do_nphy_cal = (CHSPEC_IS2G(pi->radio_chanspec)) ?
14880 (pi->nphy_iqcal_chanspec_2G == 0) :
14881 (pi->nphy_iqcal_chanspec_5G == 0);
14884 if (!pi->do_initcal)
14885 do_nphy_cal = false;
14889 target_gain = wlc_phy_get_tx_gain_nphy(pi);
14891 if (pi->antsel_type == ANTSEL_2x3)
14892 wlc_phy_antsel_init((wlc_phy_t *) pi, true);
14894 if (pi->nphy_perical != PHY_PERICAL_MPHASE) {
14895 wlc_phy_rssi_cal_nphy(pi);
14897 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14898 pi->nphy_cal_orig_pwr_idx[0] =
14899 pi->nphy_txpwrindex[PHY_CORE_0].
14901 pi->nphy_cal_orig_pwr_idx[1] =
14902 pi->nphy_txpwrindex[PHY_CORE_1].
14905 wlc_phy_precal_txgain_nphy(pi);
14907 wlc_phy_get_tx_gain_nphy(pi);
14910 if (wlc_phy_cal_txiqlo_nphy
14911 (pi, target_gain, true, false) == BCME_OK) {
14912 if (wlc_phy_cal_rxiq_nphy
14913 (pi, target_gain, 2,
14914 false) == BCME_OK) {
14915 wlc_phy_savecal_nphy(pi);
14919 } else if (pi->mphase_cal_phase_id ==
14920 MPHASE_CAL_STATE_IDLE) {
14922 wlc_phy_cal_perical((wlc_phy_t *) pi,
14923 PHY_PERICAL_PHYINIT);
14926 wlc_phy_restorecal_nphy(pi);
14930 wlc_phy_txpwrctrl_coeff_setup_nphy(pi);
14932 wlc_phy_txpwrctrl_enable_nphy(pi, tx_pwr_ctrl_state);
14934 wlc_phy_nphy_tkip_rifs_war(pi, pi->sh->_rifs_phy);
14936 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LE(pi->pubpi.phy_rev, 6))
14938 write_phy_reg(pi, 0x70, 50);
14940 wlc_phy_txlpfbw_nphy(pi);
14942 wlc_phy_spurwar_nphy(pi);
14946 static void wlc_phy_update_mimoconfig_nphy(phy_info_t *pi, s32 preamble)
14948 bool gf_preamble = false;
14951 if (preamble == WLC_N_PREAMBLE_GF) {
14952 gf_preamble = true;
14955 val = read_phy_reg(pi, 0xed);
14957 val |= RX_GF_MM_AUTO;
14958 val &= ~RX_GF_OR_MM;
14960 val |= RX_GF_OR_MM;
14962 write_phy_reg(pi, 0xed, val);
14965 static void wlc_phy_resetcca_nphy(phy_info_t *pi)
14969 ASSERT(0 == (R_REG(pi->sh->osh, &pi->regs->maccontrol) & MCTL_EN_MAC));
14971 wlapi_bmac_phyclk_fgc(pi->sh->physhim, ON);
14973 val = read_phy_reg(pi, 0x01);
14974 write_phy_reg(pi, 0x01, val | BBCFG_RESETCCA);
14976 write_phy_reg(pi, 0x01, val & (~BBCFG_RESETCCA));
14978 wlapi_bmac_phyclk_fgc(pi->sh->physhim, OFF);
14980 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
14983 void wlc_phy_pa_override_nphy(phy_info_t *pi, bool en)
14985 u16 rfctrlintc_override_val;
14989 pi->rfctrlIntc1_save = read_phy_reg(pi, 0x91);
14990 pi->rfctrlIntc2_save = read_phy_reg(pi, 0x92);
14992 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14993 rfctrlintc_override_val = 0x1480;
14994 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14995 rfctrlintc_override_val =
14996 CHSPEC_IS5G(pi->radio_chanspec) ? 0x600 : 0x480;
14998 rfctrlintc_override_val =
14999 CHSPEC_IS5G(pi->radio_chanspec) ? 0x180 : 0x120;
15002 write_phy_reg(pi, 0x91, rfctrlintc_override_val);
15003 write_phy_reg(pi, 0x92, rfctrlintc_override_val);
15006 write_phy_reg(pi, 0x91, pi->rfctrlIntc1_save);
15007 write_phy_reg(pi, 0x92, pi->rfctrlIntc2_save);
15012 void wlc_phy_stf_chain_upd_nphy(phy_info_t *pi)
15016 (NPHY_RfseqCoreActv_TxRxChain0 | NPHY_RfseqCoreActv_TxRxChain1);
15017 bool CoreActv_override = false;
15019 if (pi->nphy_txrx_chain == WLC_N_TXRX_CHAIN0) {
15020 txrx_chain = NPHY_RfseqCoreActv_TxRxChain0;
15021 CoreActv_override = true;
15023 if (NREV_LE(pi->pubpi.phy_rev, 2)) {
15024 and_phy_reg(pi, 0xa0, ~0x20);
15026 } else if (pi->nphy_txrx_chain == WLC_N_TXRX_CHAIN1) {
15027 txrx_chain = NPHY_RfseqCoreActv_TxRxChain1;
15028 CoreActv_override = true;
15030 if (NREV_LE(pi->pubpi.phy_rev, 2)) {
15031 or_phy_reg(pi, 0xa0, 0x20);
15035 mod_phy_reg(pi, 0xa2, ((0xf << 0) | (0xf << 4)), txrx_chain);
15037 if (CoreActv_override) {
15039 pi->nphy_perical = PHY_PERICAL_DISABLE;
15040 or_phy_reg(pi, 0xa1, NPHY_RfseqMode_CoreActv_override);
15042 pi->nphy_perical = PHY_PERICAL_MPHASE;
15043 and_phy_reg(pi, 0xa1, ~NPHY_RfseqMode_CoreActv_override);
15047 void wlc_phy_rxcore_setstate_nphy(wlc_phy_t *pih, u8 rxcore_bitmask)
15052 phy_info_t *pi = (phy_info_t *) pih;
15056 pi->sh->phyrxchain = rxcore_bitmask;
15062 (0 == (R_REG(pi->sh->osh, &pi->regs->maccontrol) & MCTL_EN_MAC));
15064 wlapi_suspend_mac_and_wait(pi->sh->physhim);
15066 if (pi->phyhang_avoid)
15067 wlc_phy_stay_in_carriersearch_nphy(pi, true);
15069 regval = read_phy_reg(pi, 0xa2);
15070 regval &= ~(0xf << 4);
15071 regval |= ((u16) (rxcore_bitmask & 0x3)) << 4;
15072 write_phy_reg(pi, 0xa2, regval);
15074 if ((rxcore_bitmask & 0x3) != 0x3) {
15076 write_phy_reg(pi, 0x20e, 1);
15078 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
15079 if (pi->rx2tx_biasentry == -1) {
15080 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ,
15081 ARRAY_SIZE(tbl_buf), 80,
15084 for (i = 0; i < ARRAY_SIZE(tbl_buf); i++) {
15086 NPHY_REV3_RFSEQ_CMD_CLR_RXRX_BIAS) {
15088 pi->rx2tx_biasentry = (u8) i;
15090 NPHY_REV3_RFSEQ_CMD_NOP;
15091 wlc_phy_table_write_nphy(pi,
15097 } else if (tbl_buf[i] ==
15098 NPHY_REV3_RFSEQ_CMD_END) {
15106 write_phy_reg(pi, 0x20e, 30);
15108 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
15109 if (pi->rx2tx_biasentry != -1) {
15110 tbl_opcode = NPHY_REV3_RFSEQ_CMD_CLR_RXRX_BIAS;
15111 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15112 1, pi->rx2tx_biasentry,
15114 pi->rx2tx_biasentry = -1;
15119 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
15121 if (pi->phyhang_avoid)
15122 wlc_phy_stay_in_carriersearch_nphy(pi, false);
15125 wlapi_enable_mac(pi->sh->physhim);
15128 u8 wlc_phy_rxcore_getstate_nphy(wlc_phy_t *pih)
15130 u16 regval, rxen_bits;
15131 phy_info_t *pi = (phy_info_t *) pih;
15133 regval = read_phy_reg(pi, 0xa2);
15134 rxen_bits = (regval >> 4) & 0xf;
15136 return (u8) rxen_bits;
15139 bool wlc_phy_n_txpower_ipa_ison(phy_info_t *pi)
15141 return PHY_IPA(pi);
15144 static void wlc_phy_txpwr_limit_to_tbl_nphy(phy_info_t *pi)
15146 u8 idx, idx2, i, delta_ind;
15148 for (idx = TXP_FIRST_CCK; idx <= TXP_LAST_CCK; idx++) {
15149 pi->adj_pwr_tbl_nphy[idx] = pi->tx_power_offset[idx];
15152 for (i = 0; i < 4; i++) {
15160 if (CHSPEC_IS40(pi->radio_chanspec)
15161 && NPHY_IS_SROM_REINTERPRET) {
15162 idx = TXP_FIRST_MCS_40_SISO;
15164 idx = (CHSPEC_IS40(pi->radio_chanspec)) ?
15165 TXP_FIRST_OFDM_40_SISO : TXP_FIRST_OFDM;
15172 idx = (CHSPEC_IS40(pi->radio_chanspec)) ?
15173 TXP_FIRST_MCS_40_CDD : TXP_FIRST_MCS_20_CDD;
15178 idx = (CHSPEC_IS40(pi->radio_chanspec)) ?
15179 TXP_FIRST_MCS_40_STBC : TXP_FIRST_MCS_20_STBC;
15184 idx = (CHSPEC_IS40(pi->radio_chanspec)) ?
15185 TXP_FIRST_MCS_40_SDM : TXP_FIRST_MCS_20_SDM;
15189 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15190 pi->tx_power_offset[idx];
15191 idx = idx + delta_ind;
15192 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15193 pi->tx_power_offset[idx];
15194 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15195 pi->tx_power_offset[idx];
15196 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15197 pi->tx_power_offset[idx++];
15199 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15200 pi->tx_power_offset[idx++];
15201 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15202 pi->tx_power_offset[idx];
15203 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15204 pi->tx_power_offset[idx];
15205 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15206 pi->tx_power_offset[idx++];
15208 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15209 pi->tx_power_offset[idx++];
15210 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15211 pi->tx_power_offset[idx];
15212 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15213 pi->tx_power_offset[idx];
15214 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15215 pi->tx_power_offset[idx++];
15217 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15218 pi->tx_power_offset[idx];
15219 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15220 pi->tx_power_offset[idx++];
15221 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15222 pi->tx_power_offset[idx];
15223 idx = idx + 1 - delta_ind;
15224 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15225 pi->tx_power_offset[idx];
15227 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15228 pi->tx_power_offset[idx];
15229 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15230 pi->tx_power_offset[idx];
15231 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15232 pi->tx_power_offset[idx];
15233 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15234 pi->tx_power_offset[idx];
15238 void wlc_phy_cal_init_nphy(phy_info_t *pi)
15242 static void wlc_phy_war_force_trsw_to_R_cliplo_nphy(phy_info_t *pi, u8 core)
15244 if (core == PHY_CORE_0) {
15245 write_phy_reg(pi, 0x38, 0x4);
15246 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15247 write_phy_reg(pi, 0x37, 0x0060);
15249 write_phy_reg(pi, 0x37, 0x1080);
15251 } else if (core == PHY_CORE_1) {
15252 write_phy_reg(pi, 0x2ae, 0x4);
15253 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15254 write_phy_reg(pi, 0x2ad, 0x0060);
15256 write_phy_reg(pi, 0x2ad, 0x1080);
15261 static void wlc_phy_war_txchain_upd_nphy(phy_info_t *pi, u8 txchain)
15263 u8 txchain0, txchain1;
15265 txchain0 = txchain & 0x1;
15266 txchain1 = (txchain & 0x2) >> 1;
15268 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi, PHY_CORE_0);
15272 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi, PHY_CORE_1);
15276 static void wlc_phy_workarounds_nphy(phy_info_t *pi)
15278 u8 rfseq_rx2tx_events[] = {
15279 NPHY_RFSEQ_CMD_NOP,
15280 NPHY_RFSEQ_CMD_RXG_FBW,
15281 NPHY_RFSEQ_CMD_TR_SWITCH,
15282 NPHY_RFSEQ_CMD_CLR_HIQ_DIS,
15283 NPHY_RFSEQ_CMD_RXPD_TXPD,
15284 NPHY_RFSEQ_CMD_TX_GAIN,
15285 NPHY_RFSEQ_CMD_EXT_PA
15287 u8 rfseq_rx2tx_dlys[] = { 8, 6, 6, 2, 4, 60, 1 };
15288 u8 rfseq_tx2rx_events[] = {
15289 NPHY_RFSEQ_CMD_NOP,
15290 NPHY_RFSEQ_CMD_EXT_PA,
15291 NPHY_RFSEQ_CMD_TX_GAIN,
15292 NPHY_RFSEQ_CMD_RXPD_TXPD,
15293 NPHY_RFSEQ_CMD_TR_SWITCH,
15294 NPHY_RFSEQ_CMD_RXG_FBW,
15295 NPHY_RFSEQ_CMD_CLR_HIQ_DIS
15297 u8 rfseq_tx2rx_dlys[] = { 8, 6, 2, 4, 4, 6, 1 };
15298 u8 rfseq_tx2rx_events_rev3[] = {
15299 NPHY_REV3_RFSEQ_CMD_EXT_PA,
15300 NPHY_REV3_RFSEQ_CMD_INT_PA_PU,
15301 NPHY_REV3_RFSEQ_CMD_TX_GAIN,
15302 NPHY_REV3_RFSEQ_CMD_RXPD_TXPD,
15303 NPHY_REV3_RFSEQ_CMD_TR_SWITCH,
15304 NPHY_REV3_RFSEQ_CMD_RXG_FBW,
15305 NPHY_REV3_RFSEQ_CMD_CLR_HIQ_DIS,
15306 NPHY_REV3_RFSEQ_CMD_END
15308 u8 rfseq_tx2rx_dlys_rev3[] = { 8, 4, 2, 2, 4, 4, 6, 1 };
15309 u8 rfseq_rx2tx_events_rev3[] = {
15310 NPHY_REV3_RFSEQ_CMD_NOP,
15311 NPHY_REV3_RFSEQ_CMD_RXG_FBW,
15312 NPHY_REV3_RFSEQ_CMD_TR_SWITCH,
15313 NPHY_REV3_RFSEQ_CMD_CLR_HIQ_DIS,
15314 NPHY_REV3_RFSEQ_CMD_RXPD_TXPD,
15315 NPHY_REV3_RFSEQ_CMD_TX_GAIN,
15316 NPHY_REV3_RFSEQ_CMD_INT_PA_PU,
15317 NPHY_REV3_RFSEQ_CMD_EXT_PA,
15318 NPHY_REV3_RFSEQ_CMD_END
15320 u8 rfseq_rx2tx_dlys_rev3[] = { 8, 6, 6, 4, 4, 18, 42, 1, 1 };
15322 u8 rfseq_rx2tx_events_rev3_ipa[] = {
15323 NPHY_REV3_RFSEQ_CMD_NOP,
15324 NPHY_REV3_RFSEQ_CMD_RXG_FBW,
15325 NPHY_REV3_RFSEQ_CMD_TR_SWITCH,
15326 NPHY_REV3_RFSEQ_CMD_CLR_HIQ_DIS,
15327 NPHY_REV3_RFSEQ_CMD_RXPD_TXPD,
15328 NPHY_REV3_RFSEQ_CMD_TX_GAIN,
15329 NPHY_REV3_RFSEQ_CMD_CLR_RXRX_BIAS,
15330 NPHY_REV3_RFSEQ_CMD_INT_PA_PU,
15331 NPHY_REV3_RFSEQ_CMD_END
15333 u8 rfseq_rx2tx_dlys_rev3_ipa[] = { 8, 6, 6, 4, 4, 16, 43, 1, 1 };
15334 u16 rfseq_rx2tx_dacbufpu_rev7[] = { 0x10f, 0x10f };
15336 s16 alpha0, alpha1, alpha2;
15337 s16 beta0, beta1, beta2;
15338 u32 leg_data_weights, ht_data_weights, nss1_data_weights,
15340 u8 chan_freq_range = 0;
15341 u16 dac_control = 0x0002;
15342 u16 aux_adc_vmid_rev7_core0[] = { 0x8e, 0x96, 0x96, 0x96 };
15343 u16 aux_adc_vmid_rev7_core1[] = { 0x8f, 0x9f, 0x9f, 0x96 };
15344 u16 aux_adc_vmid_rev4[] = { 0xa2, 0xb4, 0xb4, 0x89 };
15345 u16 aux_adc_vmid_rev3[] = { 0xa2, 0xb4, 0xb4, 0x89 };
15347 u16 aux_adc_gain_rev7[] = { 0x02, 0x02, 0x02, 0x02 };
15348 u16 aux_adc_gain_rev4[] = { 0x02, 0x02, 0x02, 0x00 };
15349 u16 aux_adc_gain_rev3[] = { 0x02, 0x02, 0x02, 0x00 };
15351 u16 sk_adc_vmid[] = { 0xb4, 0xb4, 0xb4, 0x24 };
15352 u16 sk_adc_gain[] = { 0x02, 0x02, 0x02, 0x02 };
15353 s32 min_nvar_val = 0x18d;
15354 s32 min_nvar_offset_6mbps = 20;
15358 u16 afectrl_adc_ctrl1_rev7 = 0x20;
15359 u16 afectrl_adc_ctrl2_rev7 = 0x0;
15360 u16 rfseq_rx2tx_lpf_h_hpc_rev7 = 0x77;
15361 u16 rfseq_tx2rx_lpf_h_hpc_rev7 = 0x77;
15362 u16 rfseq_pktgn_lpf_h_hpc_rev7 = 0x77;
15363 u16 rfseq_htpktgn_lpf_hpc_rev7[] = { 0x77, 0x11, 0x11 };
15364 u16 rfseq_pktgn_lpf_hpc_rev7[] = { 0x11, 0x11 };
15365 u16 rfseq_cckpktgn_lpf_hpc_rev7[] = { 0x11, 0x11 };
15366 u16 ipalvlshift_3p3_war_en = 0;
15367 u16 rccal_bcap_val, rccal_scap_val;
15368 u16 rccal_tx20_11b_bcap = 0;
15369 u16 rccal_tx20_11b_scap = 0;
15370 u16 rccal_tx20_11n_bcap = 0;
15371 u16 rccal_tx20_11n_scap = 0;
15372 u16 rccal_tx40_11n_bcap = 0;
15373 u16 rccal_tx40_11n_scap = 0;
15374 u16 rx2tx_lpf_rc_lut_tx20_11b = 0;
15375 u16 rx2tx_lpf_rc_lut_tx20_11n = 0;
15376 u16 rx2tx_lpf_rc_lut_tx40_11n = 0;
15377 u16 tx_lpf_bw_ofdm_20mhz = 0;
15378 u16 tx_lpf_bw_ofdm_40mhz = 0;
15379 u16 tx_lpf_bw_11b = 0;
15380 u16 ipa2g_mainbias, ipa2g_casconv, ipa2g_biasfilt;
15381 u16 txgm_idac_bleed = 0;
15382 bool rccal_ovrd = false;
15386 if (CHSPEC_IS5G(pi->radio_chanspec)) {
15387 wlc_phy_classifier_nphy(pi, NPHY_ClassifierCtrl_cck_en, 0);
15389 wlc_phy_classifier_nphy(pi, NPHY_ClassifierCtrl_cck_en, 1);
15392 if (pi->phyhang_avoid)
15393 wlc_phy_stay_in_carriersearch_nphy(pi, true);
15395 if (!ISSIM_ENAB(pi->sh->sih)) {
15396 or_phy_reg(pi, 0xb1, NPHY_IQFlip_ADC1 | NPHY_IQFlip_ADC2);
15399 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
15401 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
15402 mod_phy_reg(pi, 0x221, (0x1 << 4), (1 << 4));
15404 mod_phy_reg(pi, 0x160, (0x7f << 0), (32 << 0));
15405 mod_phy_reg(pi, 0x160, (0x7f << 8), (39 << 8));
15406 mod_phy_reg(pi, 0x161, (0x7f << 0), (46 << 0));
15407 mod_phy_reg(pi, 0x161, (0x7f << 8), (51 << 8));
15408 mod_phy_reg(pi, 0x162, (0x7f << 0), (55 << 0));
15409 mod_phy_reg(pi, 0x162, (0x7f << 8), (58 << 8));
15410 mod_phy_reg(pi, 0x163, (0x7f << 0), (60 << 0));
15411 mod_phy_reg(pi, 0x163, (0x7f << 8), (62 << 8));
15412 mod_phy_reg(pi, 0x164, (0x7f << 0), (62 << 0));
15413 mod_phy_reg(pi, 0x164, (0x7f << 8), (63 << 8));
15414 mod_phy_reg(pi, 0x165, (0x7f << 0), (63 << 0));
15415 mod_phy_reg(pi, 0x165, (0x7f << 8), (64 << 8));
15416 mod_phy_reg(pi, 0x166, (0x7f << 0), (64 << 0));
15417 mod_phy_reg(pi, 0x166, (0x7f << 8), (64 << 8));
15418 mod_phy_reg(pi, 0x167, (0x7f << 0), (64 << 0));
15419 mod_phy_reg(pi, 0x167, (0x7f << 8), (64 << 8));
15422 if (NREV_LE(pi->pubpi.phy_rev, 8)) {
15423 write_phy_reg(pi, 0x23f, 0x1b0);
15424 write_phy_reg(pi, 0x240, 0x1b0);
15427 if (NREV_GE(pi->pubpi.phy_rev, 8)) {
15428 mod_phy_reg(pi, 0xbd, (0xff << 0), (114 << 0));
15431 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x00, 16,
15433 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x10, 16,
15436 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
15437 1, 0, 32, &leg_data_weights);
15438 leg_data_weights = leg_data_weights & 0xffffff;
15439 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
15440 1, 0, 32, &leg_data_weights);
15442 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15444 rfseq_rx2tx_dacbufpu_rev7);
15445 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x16e, 16,
15446 rfseq_rx2tx_dacbufpu_rev7);
15449 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX,
15450 rfseq_rx2tx_events_rev3_ipa,
15451 rfseq_rx2tx_dlys_rev3_ipa,
15453 (rfseq_rx2tx_events_rev3_ipa) /
15455 (rfseq_rx2tx_events_rev3_ipa
15459 mod_phy_reg(pi, 0x299, (0x3 << 14), (0x1 << 14));
15460 mod_phy_reg(pi, 0x29d, (0x3 << 14), (0x1 << 14));
15462 tx_lpf_bw_ofdm_20mhz = wlc_phy_read_lpf_bw_ctl_nphy(pi, 0x154);
15463 tx_lpf_bw_ofdm_40mhz = wlc_phy_read_lpf_bw_ctl_nphy(pi, 0x159);
15464 tx_lpf_bw_11b = wlc_phy_read_lpf_bw_ctl_nphy(pi, 0x152);
15468 if (((pi->pubpi.radiorev == 5)
15469 && (CHSPEC_IS40(pi->radio_chanspec) == 1))
15470 || (pi->pubpi.radiorev == 7)
15471 || (pi->pubpi.radiorev == 8)) {
15475 RADIO_2057_RCCAL_BCAP_VAL);
15478 RADIO_2057_RCCAL_SCAP_VAL);
15480 rccal_tx20_11b_bcap = rccal_bcap_val;
15481 rccal_tx20_11b_scap = rccal_scap_val;
15483 if ((pi->pubpi.radiorev == 5) &&
15484 (CHSPEC_IS40(pi->radio_chanspec) == 1)) {
15486 rccal_tx20_11n_bcap = rccal_bcap_val;
15487 rccal_tx20_11n_scap = rccal_scap_val;
15488 rccal_tx40_11n_bcap = 0xc;
15489 rccal_tx40_11n_scap = 0xc;
15493 } else if ((pi->pubpi.radiorev == 7)
15494 || (pi->pubpi.radiorev == 8)) {
15496 tx_lpf_bw_ofdm_20mhz = 4;
15499 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15500 rccal_tx20_11n_bcap = 0xc;
15501 rccal_tx20_11n_scap = 0xc;
15502 rccal_tx40_11n_bcap = 0xa;
15503 rccal_tx40_11n_scap = 0xa;
15505 rccal_tx20_11n_bcap = 0x14;
15506 rccal_tx20_11n_scap = 0x14;
15507 rccal_tx40_11n_bcap = 0xf;
15508 rccal_tx40_11n_scap = 0xf;
15517 if (pi->pubpi.radiorev == 5) {
15519 tx_lpf_bw_ofdm_20mhz = 1;
15520 tx_lpf_bw_ofdm_40mhz = 3;
15524 RADIO_2057_RCCAL_BCAP_VAL);
15527 RADIO_2057_RCCAL_SCAP_VAL);
15529 rccal_tx20_11b_bcap = rccal_bcap_val;
15530 rccal_tx20_11b_scap = rccal_scap_val;
15532 rccal_tx20_11n_bcap = 0x13;
15533 rccal_tx20_11n_scap = 0x11;
15534 rccal_tx40_11n_bcap = 0x13;
15535 rccal_tx40_11n_scap = 0x11;
15543 rx2tx_lpf_rc_lut_tx20_11b = (rccal_tx20_11b_bcap << 8) |
15544 (rccal_tx20_11b_scap << 3) | tx_lpf_bw_11b;
15545 rx2tx_lpf_rc_lut_tx20_11n = (rccal_tx20_11n_bcap << 8) |
15546 (rccal_tx20_11n_scap << 3) | tx_lpf_bw_ofdm_20mhz;
15547 rx2tx_lpf_rc_lut_tx40_11n = (rccal_tx40_11n_bcap << 8) |
15548 (rccal_tx40_11n_scap << 3) | tx_lpf_bw_ofdm_40mhz;
15550 for (coreNum = 0; coreNum <= 1; coreNum++) {
15551 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15553 0x152 + coreNum * 0x10,
15555 &rx2tx_lpf_rc_lut_tx20_11b);
15556 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15558 0x153 + coreNum * 0x10,
15560 &rx2tx_lpf_rc_lut_tx20_11n);
15561 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15563 0x154 + coreNum * 0x10,
15565 &rx2tx_lpf_rc_lut_tx20_11n);
15566 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15568 0x155 + coreNum * 0x10,
15570 &rx2tx_lpf_rc_lut_tx40_11n);
15571 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15573 0x156 + coreNum * 0x10,
15575 &rx2tx_lpf_rc_lut_tx40_11n);
15576 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15578 0x157 + coreNum * 0x10,
15580 &rx2tx_lpf_rc_lut_tx40_11n);
15581 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15583 0x158 + coreNum * 0x10,
15585 &rx2tx_lpf_rc_lut_tx40_11n);
15586 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15588 0x159 + coreNum * 0x10,
15590 &rx2tx_lpf_rc_lut_tx40_11n);
15593 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4),
15595 NPHY_REV7_RFCTRLOVERRIDE_ID2);
15598 if (!NORADIO_ENAB(pi->pubpi)) {
15599 write_phy_reg(pi, 0x32f, 0x3);
15602 if ((pi->pubpi.radiorev == 4) || (pi->pubpi.radiorev == 6)) {
15603 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2),
15605 NPHY_REV7_RFCTRLOVERRIDE_ID0);
15608 if ((pi->pubpi.radiorev == 3) || (pi->pubpi.radiorev == 4) ||
15609 (pi->pubpi.radiorev == 6)) {
15610 if ((pi->sh->sromrev >= 8)
15611 && (pi->sh->boardflags2 & BFL2_IPALVLSHIFT_3P3))
15612 ipalvlshift_3p3_war_en = 1;
15614 if (ipalvlshift_3p3_war_en) {
15615 write_radio_reg(pi, RADIO_2057_GPAIO_CONFIG,
15617 write_radio_reg(pi, RADIO_2057_GPAIO_SEL1,
15619 write_radio_reg(pi, RADIO_2057_GPAIO_SEL0, 0x0);
15621 RADIO_2057_RXTXBIAS_CONFIG_CORE0,
15624 RADIO_2057_RXTXBIAS_CONFIG_CORE1,
15627 ipa2g_mainbias = 0x1f;
15629 ipa2g_casconv = 0x6f;
15631 ipa2g_biasfilt = 0xaa;
15634 ipa2g_mainbias = 0x2b;
15636 ipa2g_casconv = 0x7f;
15638 ipa2g_biasfilt = 0xee;
15641 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15642 for (coreNum = 0; coreNum <= 1; coreNum++) {
15643 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15644 coreNum, IPA2G_IMAIN,
15646 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15647 coreNum, IPA2G_CASCONV,
15649 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15658 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15659 if ((pi->pubpi.radiorev == 3)
15660 || (pi->pubpi.radiorev == 4)
15661 || (pi->pubpi.radiorev == 6)) {
15663 txgm_idac_bleed = 0x7f;
15666 for (coreNum = 0; coreNum <= 1; coreNum++) {
15667 if (txgm_idac_bleed != 0)
15668 WRITE_RADIO_REG4(pi, RADIO_2057,
15674 if (pi->pubpi.radiorev == 5) {
15676 for (coreNum = 0; coreNum <= 1;
15678 WRITE_RADIO_REG4(pi, RADIO_2057,
15682 WRITE_RADIO_REG4(pi, RADIO_2057,
15686 WRITE_RADIO_REG4(pi, RADIO_2057,
15690 WRITE_RADIO_REG4(pi, RADIO_2057,
15694 WRITE_RADIO_REG4(pi, RADIO_2057,
15696 PAD_BIAS_FILTER_BWS,
15700 } else if ((pi->pubpi.radiorev == 7)
15701 || (pi->pubpi.radiorev == 8)) {
15703 if (CHSPEC_IS40(pi->radio_chanspec) ==
15705 WRITE_RADIO_REG4(pi, RADIO_2057,
15709 WRITE_RADIO_REG4(pi, RADIO_2057,
15714 WRITE_RADIO_REG4(pi, RADIO_2057,
15718 WRITE_RADIO_REG4(pi, RADIO_2057,
15727 CHAN5G_FREQ(CHSPEC_CHANNEL
15728 (pi->radio_chanspec));
15729 if (((freq >= 5180) && (freq <= 5230))
15730 || ((freq >= 5745) && (freq <= 5805))) {
15731 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15732 0, IPA5G_BIAS_FILTER,
15734 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15735 1, IPA5G_BIAS_FILTER,
15741 if (pi->pubpi.radiorev != 5) {
15742 for (coreNum = 0; coreNum <= 1; coreNum++) {
15743 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15745 TXMIX2G_TUNE_BOOST_PU,
15747 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15749 TXGM_IDAC_BLEED, 0x70);
15754 if (pi->pubpi.radiorev == 4) {
15755 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1,
15757 &afectrl_adc_ctrl1_rev7);
15758 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1,
15760 &afectrl_adc_ctrl1_rev7);
15762 for (coreNum = 0; coreNum <= 1; coreNum++) {
15763 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
15764 AFE_VCM_CAL_MASTER, 0x0);
15765 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
15766 AFE_SET_VCM_I, 0x3f);
15767 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
15768 AFE_SET_VCM_Q, 0x3f);
15771 mod_phy_reg(pi, 0xa6, (0x1 << 2), (0x1 << 2));
15772 mod_phy_reg(pi, 0x8f, (0x1 << 2), (0x1 << 2));
15773 mod_phy_reg(pi, 0xa7, (0x1 << 2), (0x1 << 2));
15774 mod_phy_reg(pi, 0xa5, (0x1 << 2), (0x1 << 2));
15776 mod_phy_reg(pi, 0xa6, (0x1 << 0), 0);
15777 mod_phy_reg(pi, 0x8f, (0x1 << 0), (0x1 << 0));
15778 mod_phy_reg(pi, 0xa7, (0x1 << 0), 0);
15779 mod_phy_reg(pi, 0xa5, (0x1 << 0), (0x1 << 0));
15781 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1,
15783 &afectrl_adc_ctrl2_rev7);
15784 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1,
15786 &afectrl_adc_ctrl2_rev7);
15788 mod_phy_reg(pi, 0xa6, (0x1 << 2), 0);
15789 mod_phy_reg(pi, 0x8f, (0x1 << 2), 0);
15790 mod_phy_reg(pi, 0xa7, (0x1 << 2), 0);
15791 mod_phy_reg(pi, 0xa5, (0x1 << 2), 0);
15794 write_phy_reg(pi, 0x6a, 0x2);
15796 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 256, 32,
15797 &min_nvar_offset_6mbps);
15799 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x138, 16,
15800 &rfseq_pktgn_lpf_hpc_rev7);
15802 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1, 0x141, 16,
15803 &rfseq_pktgn_lpf_h_hpc_rev7);
15805 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 3, 0x133, 16,
15806 &rfseq_htpktgn_lpf_hpc_rev7);
15808 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x146, 16,
15809 &rfseq_cckpktgn_lpf_hpc_rev7);
15811 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1, 0x123, 16,
15812 &rfseq_tx2rx_lpf_h_hpc_rev7);
15814 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1, 0x12A, 16,
15815 &rfseq_rx2tx_lpf_h_hpc_rev7);
15817 if (CHSPEC_IS40(pi->radio_chanspec) == 0) {
15818 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 3,
15819 32, &min_nvar_val);
15820 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
15821 127, 32, &min_nvar_val);
15823 min_nvar_val = noise_var_tbl_rev7[3];
15824 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 3,
15825 32, &min_nvar_val);
15827 min_nvar_val = noise_var_tbl_rev7[127];
15828 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
15829 127, 32, &min_nvar_val);
15832 wlc_phy_workarounds_nphy_gainctrl(pi);
15835 (CHSPEC_IS5G(pi->radio_chanspec)) ? pi->srom_fem5g.
15836 pdetrange : pi->srom_fem2g.pdetrange;
15838 if (pdetrange == 0) {
15840 wlc_phy_get_chan_freq_range_nphy(pi, 0);
15841 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
15842 aux_adc_vmid_rev7_core0[3] = 0x70;
15843 aux_adc_vmid_rev7_core1[3] = 0x70;
15844 aux_adc_gain_rev7[3] = 2;
15846 aux_adc_vmid_rev7_core0[3] = 0x80;
15847 aux_adc_vmid_rev7_core1[3] = 0x80;
15848 aux_adc_gain_rev7[3] = 3;
15850 } else if (pdetrange == 1) {
15851 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
15852 aux_adc_vmid_rev7_core0[3] = 0x7c;
15853 aux_adc_vmid_rev7_core1[3] = 0x7c;
15854 aux_adc_gain_rev7[3] = 2;
15856 aux_adc_vmid_rev7_core0[3] = 0x8c;
15857 aux_adc_vmid_rev7_core1[3] = 0x8c;
15858 aux_adc_gain_rev7[3] = 1;
15860 } else if (pdetrange == 2) {
15861 if (pi->pubpi.radioid == BCM2057_ID) {
15862 if ((pi->pubpi.radiorev == 5)
15863 || (pi->pubpi.radiorev == 7)
15864 || (pi->pubpi.radiorev == 8)) {
15865 if (chan_freq_range ==
15866 WL_CHAN_FREQ_RANGE_2G) {
15867 aux_adc_vmid_rev7_core0[3] =
15869 aux_adc_vmid_rev7_core1[3] =
15871 aux_adc_gain_rev7[3] = 0;
15873 aux_adc_vmid_rev7_core0[3] =
15875 aux_adc_vmid_rev7_core1[3] =
15877 aux_adc_gain_rev7[3] = 0;
15882 } else if (pdetrange == 3) {
15883 if (chan_freq_range == WL_CHAN_FREQ_RANGE_2G) {
15884 aux_adc_vmid_rev7_core0[3] = 0x89;
15885 aux_adc_vmid_rev7_core1[3] = 0x89;
15886 aux_adc_gain_rev7[3] = 0;
15889 } else if (pdetrange == 5) {
15891 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
15892 aux_adc_vmid_rev7_core0[3] = 0x80;
15893 aux_adc_vmid_rev7_core1[3] = 0x80;
15894 aux_adc_gain_rev7[3] = 3;
15896 aux_adc_vmid_rev7_core0[3] = 0x70;
15897 aux_adc_vmid_rev7_core1[3] = 0x70;
15898 aux_adc_gain_rev7[3] = 2;
15902 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4, 0x08, 16,
15903 &aux_adc_vmid_rev7_core0);
15904 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4, 0x18, 16,
15905 &aux_adc_vmid_rev7_core1);
15906 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4, 0x0c, 16,
15907 &aux_adc_gain_rev7);
15908 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4, 0x1c, 16,
15909 &aux_adc_gain_rev7);
15911 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
15913 write_phy_reg(pi, 0x23f, 0x1f8);
15914 write_phy_reg(pi, 0x240, 0x1f8);
15916 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
15917 1, 0, 32, &leg_data_weights);
15918 leg_data_weights = leg_data_weights & 0xffffff;
15919 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
15920 1, 0, 32, &leg_data_weights);
15928 write_phy_reg(pi, 0x145, alpha0);
15929 write_phy_reg(pi, 0x146, alpha1);
15930 write_phy_reg(pi, 0x147, alpha2);
15931 write_phy_reg(pi, 0x148, beta0);
15932 write_phy_reg(pi, 0x149, beta1);
15933 write_phy_reg(pi, 0x14a, beta2);
15935 write_phy_reg(pi, 0x38, 0xC);
15936 write_phy_reg(pi, 0x2ae, 0xC);
15938 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_TX2RX,
15939 rfseq_tx2rx_events_rev3,
15940 rfseq_tx2rx_dlys_rev3,
15941 sizeof(rfseq_tx2rx_events_rev3) /
15942 sizeof(rfseq_tx2rx_events_rev3[0]));
15945 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX,
15946 rfseq_rx2tx_events_rev3_ipa,
15947 rfseq_rx2tx_dlys_rev3_ipa,
15949 (rfseq_rx2tx_events_rev3_ipa) /
15951 (rfseq_rx2tx_events_rev3_ipa
15955 if ((pi->sh->hw_phyrxchain != 0x3) &&
15956 (pi->sh->hw_phyrxchain != pi->sh->hw_phytxchain)) {
15959 rfseq_rx2tx_dlys_rev3[5] = 59;
15960 rfseq_rx2tx_dlys_rev3[6] = 1;
15961 rfseq_rx2tx_events_rev3[7] =
15962 NPHY_REV3_RFSEQ_CMD_END;
15965 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX,
15966 rfseq_rx2tx_events_rev3,
15967 rfseq_rx2tx_dlys_rev3,
15968 sizeof(rfseq_rx2tx_events_rev3) /
15969 sizeof(rfseq_rx2tx_events_rev3
15973 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15974 write_phy_reg(pi, 0x6a, 0x2);
15976 write_phy_reg(pi, 0x6a, 0x9c40);
15979 mod_phy_reg(pi, 0x294, (0xf << 8), (7 << 8));
15981 if (CHSPEC_IS40(pi->radio_chanspec) == 0) {
15982 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 3,
15983 32, &min_nvar_val);
15984 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
15985 127, 32, &min_nvar_val);
15987 min_nvar_val = noise_var_tbl_rev3[3];
15988 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 3,
15989 32, &min_nvar_val);
15991 min_nvar_val = noise_var_tbl_rev3[127];
15992 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
15993 127, 32, &min_nvar_val);
15996 wlc_phy_workarounds_nphy_gainctrl(pi);
15998 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x00, 16,
16000 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x10, 16,
16004 (CHSPEC_IS5G(pi->radio_chanspec)) ? pi->srom_fem5g.
16005 pdetrange : pi->srom_fem2g.pdetrange;
16007 if (pdetrange == 0) {
16008 if (NREV_GE(pi->pubpi.phy_rev, 4)) {
16009 aux_adc_vmid = aux_adc_vmid_rev4;
16010 aux_adc_gain = aux_adc_gain_rev4;
16012 aux_adc_vmid = aux_adc_vmid_rev3;
16013 aux_adc_gain = aux_adc_gain_rev3;
16016 wlc_phy_get_chan_freq_range_nphy(pi, 0);
16017 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
16018 switch (chan_freq_range) {
16019 case WL_CHAN_FREQ_RANGE_5GL:
16020 aux_adc_vmid[3] = 0x89;
16021 aux_adc_gain[3] = 0;
16023 case WL_CHAN_FREQ_RANGE_5GM:
16024 aux_adc_vmid[3] = 0x89;
16025 aux_adc_gain[3] = 0;
16027 case WL_CHAN_FREQ_RANGE_5GH:
16028 aux_adc_vmid[3] = 0x89;
16029 aux_adc_gain[3] = 0;
16035 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16036 0x08, 16, aux_adc_vmid);
16037 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16038 0x18, 16, aux_adc_vmid);
16039 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16040 0x0c, 16, aux_adc_gain);
16041 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16042 0x1c, 16, aux_adc_gain);
16043 } else if (pdetrange == 1) {
16044 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16045 0x08, 16, sk_adc_vmid);
16046 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16047 0x18, 16, sk_adc_vmid);
16048 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16049 0x0c, 16, sk_adc_gain);
16050 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16051 0x1c, 16, sk_adc_gain);
16052 } else if (pdetrange == 2) {
16054 u16 bcm_adc_vmid[] = { 0xa2, 0xb4, 0xb4, 0x74 };
16055 u16 bcm_adc_gain[] = { 0x02, 0x02, 0x02, 0x04 };
16057 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
16059 wlc_phy_get_chan_freq_range_nphy(pi, 0);
16060 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
16061 bcm_adc_vmid[3] = 0x8e;
16062 bcm_adc_gain[3] = 0x03;
16064 bcm_adc_vmid[3] = 0x94;
16065 bcm_adc_gain[3] = 0x03;
16067 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
16068 bcm_adc_vmid[3] = 0x84;
16069 bcm_adc_gain[3] = 0x02;
16072 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16073 0x08, 16, bcm_adc_vmid);
16074 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16075 0x18, 16, bcm_adc_vmid);
16076 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16077 0x0c, 16, bcm_adc_gain);
16078 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16079 0x1c, 16, bcm_adc_gain);
16080 } else if (pdetrange == 3) {
16082 wlc_phy_get_chan_freq_range_nphy(pi, 0);
16083 if ((NREV_GE(pi->pubpi.phy_rev, 4))
16084 && (chan_freq_range == WL_CHAN_FREQ_RANGE_2G)) {
16086 u16 auxadc_vmid[] = {
16087 0xa2, 0xb4, 0xb4, 0x270 };
16088 u16 auxadc_gain[] = {
16089 0x02, 0x02, 0x02, 0x00 };
16091 wlc_phy_table_write_nphy(pi,
16092 NPHY_TBL_ID_AFECTRL, 4,
16093 0x08, 16, auxadc_vmid);
16094 wlc_phy_table_write_nphy(pi,
16095 NPHY_TBL_ID_AFECTRL, 4,
16096 0x18, 16, auxadc_vmid);
16097 wlc_phy_table_write_nphy(pi,
16098 NPHY_TBL_ID_AFECTRL, 4,
16099 0x0c, 16, auxadc_gain);
16100 wlc_phy_table_write_nphy(pi,
16101 NPHY_TBL_ID_AFECTRL, 4,
16102 0x1c, 16, auxadc_gain);
16104 } else if ((pdetrange == 4) || (pdetrange == 5)) {
16105 u16 bcm_adc_vmid[] = { 0xa2, 0xb4, 0xb4, 0x0 };
16106 u16 bcm_adc_gain[] = { 0x02, 0x02, 0x02, 0x0 };
16107 u16 Vmid[2], Av[2];
16110 wlc_phy_get_chan_freq_range_nphy(pi, 0);
16111 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
16112 Vmid[0] = (pdetrange == 4) ? 0x8e : 0x89;
16113 Vmid[1] = (pdetrange == 4) ? 0x96 : 0x89;
16114 Av[0] = (pdetrange == 4) ? 2 : 0;
16115 Av[1] = (pdetrange == 4) ? 2 : 0;
16117 Vmid[0] = (pdetrange == 4) ? 0x89 : 0x74;
16118 Vmid[1] = (pdetrange == 4) ? 0x8b : 0x70;
16119 Av[0] = (pdetrange == 4) ? 2 : 0;
16120 Av[1] = (pdetrange == 4) ? 2 : 0;
16123 bcm_adc_vmid[3] = Vmid[0];
16124 bcm_adc_gain[3] = Av[0];
16125 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16126 0x08, 16, bcm_adc_vmid);
16127 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16128 0x0c, 16, bcm_adc_gain);
16130 bcm_adc_vmid[3] = Vmid[1];
16131 bcm_adc_gain[3] = Av[1];
16132 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16133 0x18, 16, bcm_adc_vmid);
16134 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16135 0x1c, 16, bcm_adc_gain);
16140 write_radio_reg(pi,
16141 (RADIO_2056_RX_MIXA_MAST_BIAS | RADIO_2056_RX0),
16143 write_radio_reg(pi,
16144 (RADIO_2056_RX_MIXA_MAST_BIAS | RADIO_2056_RX1),
16147 write_radio_reg(pi,
16148 (RADIO_2056_RX_MIXA_BIAS_MAIN | RADIO_2056_RX0),
16150 write_radio_reg(pi,
16151 (RADIO_2056_RX_MIXA_BIAS_MAIN | RADIO_2056_RX1),
16154 write_radio_reg(pi,
16155 (RADIO_2056_RX_MIXA_BIAS_AUX | RADIO_2056_RX0),
16157 write_radio_reg(pi,
16158 (RADIO_2056_RX_MIXA_BIAS_AUX | RADIO_2056_RX1),
16161 write_radio_reg(pi,
16162 (RADIO_2056_RX_MIXA_LOB_BIAS | RADIO_2056_RX0),
16164 write_radio_reg(pi,
16165 (RADIO_2056_RX_MIXA_LOB_BIAS | RADIO_2056_RX1),
16168 write_radio_reg(pi,
16169 (RADIO_2056_RX_MIXA_CMFB_IDAC | RADIO_2056_RX0),
16171 write_radio_reg(pi,
16172 (RADIO_2056_RX_MIXA_CMFB_IDAC | RADIO_2056_RX1),
16175 write_radio_reg(pi,
16176 (RADIO_2056_RX_MIXG_CMFB_IDAC | RADIO_2056_RX0),
16178 write_radio_reg(pi,
16179 (RADIO_2056_RX_MIXG_CMFB_IDAC | RADIO_2056_RX1),
16183 (CHSPEC_IS5G(pi->radio_chanspec)) ? pi->srom_fem5g.
16184 triso : pi->srom_fem2g.triso;
16186 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi, PHY_CORE_0);
16187 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi, PHY_CORE_1);
16190 wlc_phy_war_txchain_upd_nphy(pi, pi->sh->hw_phytxchain);
16192 if (((pi->sh->boardflags2 & BFL2_APLL_WAR) &&
16193 (CHSPEC_IS5G(pi->radio_chanspec))) ||
16194 (((pi->sh->boardflags2 & BFL2_GPLL_WAR) ||
16195 (pi->sh->boardflags2 & BFL2_GPLL_WAR2)) &&
16196 (CHSPEC_IS2G(pi->radio_chanspec)))) {
16197 nss1_data_weights = 0x00088888;
16198 ht_data_weights = 0x00088888;
16199 stbc_data_weights = 0x00088888;
16201 nss1_data_weights = 0x88888888;
16202 ht_data_weights = 0x88888888;
16203 stbc_data_weights = 0x88888888;
16205 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
16206 1, 1, 32, &nss1_data_weights);
16207 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
16208 1, 2, 32, &ht_data_weights);
16209 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
16210 1, 3, 32, &stbc_data_weights);
16212 if (NREV_IS(pi->pubpi.phy_rev, 4)) {
16213 if (CHSPEC_IS5G(pi->radio_chanspec)) {
16214 write_radio_reg(pi,
16215 RADIO_2056_TX_GMBB_IDAC |
16216 RADIO_2056_TX0, 0x70);
16217 write_radio_reg(pi,
16218 RADIO_2056_TX_GMBB_IDAC |
16219 RADIO_2056_TX1, 0x70);
16223 if (!pi->edcrs_threshold_lock) {
16224 write_phy_reg(pi, 0x224, 0x3eb);
16225 write_phy_reg(pi, 0x225, 0x3eb);
16226 write_phy_reg(pi, 0x226, 0x341);
16227 write_phy_reg(pi, 0x227, 0x341);
16228 write_phy_reg(pi, 0x228, 0x42b);
16229 write_phy_reg(pi, 0x229, 0x42b);
16230 write_phy_reg(pi, 0x22a, 0x381);
16231 write_phy_reg(pi, 0x22b, 0x381);
16232 write_phy_reg(pi, 0x22c, 0x42b);
16233 write_phy_reg(pi, 0x22d, 0x42b);
16234 write_phy_reg(pi, 0x22e, 0x381);
16235 write_phy_reg(pi, 0x22f, 0x381);
16238 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
16240 if (pi->sh->boardflags2 & BFL2_SINGLEANT_CCK) {
16241 wlapi_bmac_mhf(pi->sh->physhim, MHF4,
16243 MHF4_BPHY_TXCORE0, WLC_BAND_ALL);
16248 if (pi->sh->boardflags2 & BFL2_SKWRKFEM_BRD ||
16249 (pi->sh->boardtype == 0x8b)) {
16251 u8 war_dlys[] = { 1, 6, 6, 2, 4, 20, 1 };
16252 for (i = 0; i < ARRAY_SIZE(rfseq_rx2tx_dlys); i++)
16253 rfseq_rx2tx_dlys[i] = war_dlys[i];
16256 if (CHSPEC_IS5G(pi->radio_chanspec) && pi->phy_5g_pwrgain) {
16257 and_radio_reg(pi, RADIO_2055_CORE1_TX_RF_SPARE, 0xf7);
16258 and_radio_reg(pi, RADIO_2055_CORE2_TX_RF_SPARE, 0xf7);
16260 or_radio_reg(pi, RADIO_2055_CORE1_TX_RF_SPARE, 0x8);
16261 or_radio_reg(pi, RADIO_2055_CORE2_TX_RF_SPARE, 0x8);
16265 wlc_phy_table_write_nphy(pi, 8, 1, 0, 16, ®val);
16266 wlc_phy_table_write_nphy(pi, 8, 1, 0x10, 16, ®val);
16268 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
16270 wlc_phy_table_write_nphy(pi, 8, 1, 0x02, 16, ®val);
16271 wlc_phy_table_write_nphy(pi, 8, 1, 0x12, 16, ®val);
16274 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
16276 wlc_phy_table_write_nphy(pi, 8, 1, 0x08, 16, ®val);
16277 wlc_phy_table_write_nphy(pi, 8, 1, 0x18, 16, ®val);
16280 wlc_phy_table_write_nphy(pi, 8, 1, 0x07, 16, ®val);
16281 wlc_phy_table_write_nphy(pi, 8, 1, 0x17, 16, ®val);
16284 wlc_phy_table_write_nphy(pi, 8, 1, 0x06, 16, ®val);
16285 wlc_phy_table_write_nphy(pi, 8, 1, 0x16, 16, ®val);
16288 write_phy_reg(pi, 0xf8, 0x02d8);
16289 write_phy_reg(pi, 0xf9, 0x0301);
16290 write_phy_reg(pi, 0xfa, 0x02d8);
16291 write_phy_reg(pi, 0xfb, 0x0301);
16293 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX, rfseq_rx2tx_events,
16295 sizeof(rfseq_rx2tx_events) /
16296 sizeof(rfseq_rx2tx_events[0]));
16298 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_TX2RX, rfseq_tx2rx_events,
16300 sizeof(rfseq_tx2rx_events) /
16301 sizeof(rfseq_tx2rx_events[0]));
16303 wlc_phy_workarounds_nphy_gainctrl(pi);
16305 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
16307 if (read_phy_reg(pi, 0xa0) & NPHY_MLenable)
16308 wlapi_bmac_mhf(pi->sh->physhim, MHF3,
16309 MHF3_NPHY_MLADV_WAR,
16310 MHF3_NPHY_MLADV_WAR,
16313 } else if (NREV_IS(pi->pubpi.phy_rev, 2)) {
16314 write_phy_reg(pi, 0x1e3, 0x0);
16315 write_phy_reg(pi, 0x1e4, 0x0);
16318 if (NREV_LT(pi->pubpi.phy_rev, 2))
16319 mod_phy_reg(pi, 0x90, (0x1 << 7), 0);
16327 write_phy_reg(pi, 0x145, alpha0);
16328 write_phy_reg(pi, 0x146, alpha1);
16329 write_phy_reg(pi, 0x147, alpha2);
16330 write_phy_reg(pi, 0x148, beta0);
16331 write_phy_reg(pi, 0x149, beta1);
16332 write_phy_reg(pi, 0x14a, beta2);
16334 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
16335 mod_phy_reg(pi, 0x142, (0xf << 12), 0);
16337 write_phy_reg(pi, 0x192, 0xb5);
16338 write_phy_reg(pi, 0x193, 0xa4);
16339 write_phy_reg(pi, 0x194, 0x0);
16342 if (NREV_IS(pi->pubpi.phy_rev, 2)) {
16343 mod_phy_reg(pi, 0x221,
16344 NPHY_FORCESIG_DECODEGATEDCLKS,
16345 NPHY_FORCESIG_DECODEGATEDCLKS);
16349 if (pi->phyhang_avoid)
16350 wlc_phy_stay_in_carriersearch_nphy(pi, false);
16353 static void wlc_phy_workarounds_nphy_gainctrl(phy_info_t *pi)
16355 u16 w1th, hpf_code, currband;
16357 u8 rfseq_updategainu_events[] = {
16358 NPHY_RFSEQ_CMD_RX_GAIN,
16359 NPHY_RFSEQ_CMD_CLR_HIQ_DIS,
16360 NPHY_RFSEQ_CMD_SET_HPF_BW
16362 u8 rfseq_updategainu_dlys[] = { 10, 30, 1 };
16363 s8 lna1G_gain_db[] = { 7, 11, 16, 23 };
16364 s8 lna1G_gain_db_rev4[] = { 8, 12, 17, 25 };
16365 s8 lna1G_gain_db_rev5[] = { 9, 13, 18, 26 };
16366 s8 lna1G_gain_db_rev6[] = { 8, 13, 18, 25 };
16367 s8 lna1G_gain_db_rev6_224B0[] = { 10, 14, 19, 27 };
16368 s8 lna1A_gain_db[] = { 7, 11, 17, 23 };
16369 s8 lna1A_gain_db_rev4[] = { 8, 12, 18, 23 };
16370 s8 lna1A_gain_db_rev5[] = { 6, 10, 16, 21 };
16371 s8 lna1A_gain_db_rev6[] = { 6, 10, 16, 21 };
16372 s8 *lna1_gain_db = NULL;
16373 s8 lna2G_gain_db[] = { -5, 6, 10, 14 };
16374 s8 lna2G_gain_db_rev5[] = { -3, 7, 11, 16 };
16375 s8 lna2G_gain_db_rev6[] = { -5, 6, 10, 14 };
16376 s8 lna2G_gain_db_rev6_224B0[] = { -5, 6, 10, 15 };
16377 s8 lna2A_gain_db[] = { -6, 2, 6, 10 };
16378 s8 lna2A_gain_db_rev4[] = { -5, 2, 6, 10 };
16379 s8 lna2A_gain_db_rev5[] = { -7, 0, 4, 8 };
16380 s8 lna2A_gain_db_rev6[] = { -7, 0, 4, 8 };
16381 s8 *lna2_gain_db = NULL;
16382 s8 tiaG_gain_db[] = {
16383 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A };
16384 s8 tiaA_gain_db[] = {
16385 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13 };
16386 s8 tiaA_gain_db_rev4[] = {
16387 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d };
16388 s8 tiaA_gain_db_rev5[] = {
16389 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d };
16390 s8 tiaA_gain_db_rev6[] = {
16391 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d };
16393 s8 tiaG_gainbits[] = {
16394 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03 };
16395 s8 tiaA_gainbits[] = {
16396 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06 };
16397 s8 tiaA_gainbits_rev4[] = {
16398 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 };
16399 s8 tiaA_gainbits_rev5[] = {
16400 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 };
16401 s8 tiaA_gainbits_rev6[] = {
16402 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 };
16404 s8 lpf_gain_db[] = { 0x00, 0x06, 0x0c, 0x12, 0x12, 0x12 };
16405 s8 lpf_gainbits[] = { 0x00, 0x01, 0x02, 0x03, 0x03, 0x03 };
16406 u16 rfseqG_init_gain[] = { 0x613f, 0x613f, 0x613f, 0x613f };
16407 u16 rfseqG_init_gain_rev4[] = { 0x513f, 0x513f, 0x513f, 0x513f };
16408 u16 rfseqG_init_gain_rev5[] = { 0x413f, 0x413f, 0x413f, 0x413f };
16409 u16 rfseqG_init_gain_rev5_elna[] = {
16410 0x013f, 0x013f, 0x013f, 0x013f };
16411 u16 rfseqG_init_gain_rev6[] = { 0x513f, 0x513f };
16412 u16 rfseqG_init_gain_rev6_224B0[] = { 0x413f, 0x413f };
16413 u16 rfseqG_init_gain_rev6_elna[] = { 0x113f, 0x113f };
16414 u16 rfseqA_init_gain[] = { 0x516f, 0x516f, 0x516f, 0x516f };
16415 u16 rfseqA_init_gain_rev4[] = { 0x614f, 0x614f, 0x614f, 0x614f };
16416 u16 rfseqA_init_gain_rev4_elna[] = {
16417 0x314f, 0x314f, 0x314f, 0x314f };
16418 u16 rfseqA_init_gain_rev5[] = { 0x714f, 0x714f, 0x714f, 0x714f };
16419 u16 rfseqA_init_gain_rev6[] = { 0x714f, 0x714f };
16420 u16 *rfseq_init_gain;
16421 u16 initG_gaincode = 0x627e;
16422 u16 initG_gaincode_rev4 = 0x527e;
16423 u16 initG_gaincode_rev5 = 0x427e;
16424 u16 initG_gaincode_rev5_elna = 0x027e;
16425 u16 initG_gaincode_rev6 = 0x527e;
16426 u16 initG_gaincode_rev6_224B0 = 0x427e;
16427 u16 initG_gaincode_rev6_elna = 0x127e;
16428 u16 initA_gaincode = 0x52de;
16429 u16 initA_gaincode_rev4 = 0x629e;
16430 u16 initA_gaincode_rev4_elna = 0x329e;
16431 u16 initA_gaincode_rev5 = 0x729e;
16432 u16 initA_gaincode_rev6 = 0x729e;
16434 u16 clip1hiG_gaincode = 0x107e;
16435 u16 clip1hiG_gaincode_rev4 = 0x007e;
16436 u16 clip1hiG_gaincode_rev5 = 0x1076;
16437 u16 clip1hiG_gaincode_rev6 = 0x007e;
16438 u16 clip1hiA_gaincode = 0x00de;
16439 u16 clip1hiA_gaincode_rev4 = 0x029e;
16440 u16 clip1hiA_gaincode_rev5 = 0x029e;
16441 u16 clip1hiA_gaincode_rev6 = 0x029e;
16442 u16 clip1hi_gaincode;
16443 u16 clip1mdG_gaincode = 0x0066;
16444 u16 clip1mdA_gaincode = 0x00ca;
16445 u16 clip1mdA_gaincode_rev4 = 0x1084;
16446 u16 clip1mdA_gaincode_rev5 = 0x2084;
16447 u16 clip1mdA_gaincode_rev6 = 0x2084;
16448 u16 clip1md_gaincode = 0;
16449 u16 clip1loG_gaincode = 0x0074;
16450 u16 clip1loG_gaincode_rev5[] = {
16451 0x0062, 0x0064, 0x006a, 0x106a, 0x106c, 0x1074, 0x107c, 0x207c
16453 u16 clip1loG_gaincode_rev6[] = {
16454 0x106a, 0x106c, 0x1074, 0x107c, 0x007e, 0x107e, 0x207e, 0x307e
16456 u16 clip1loG_gaincode_rev6_224B0 = 0x1074;
16457 u16 clip1loA_gaincode = 0x00cc;
16458 u16 clip1loA_gaincode_rev4 = 0x0086;
16459 u16 clip1loA_gaincode_rev5 = 0x2086;
16460 u16 clip1loA_gaincode_rev6 = 0x2086;
16461 u16 clip1lo_gaincode;
16462 u8 crsminG_th = 0x18;
16463 u8 crsminG_th_rev5 = 0x18;
16464 u8 crsminG_th_rev6 = 0x18;
16465 u8 crsminA_th = 0x1e;
16466 u8 crsminA_th_rev4 = 0x24;
16467 u8 crsminA_th_rev5 = 0x24;
16468 u8 crsminA_th_rev6 = 0x24;
16470 u8 crsminlG_th = 0x18;
16471 u8 crsminlG_th_rev5 = 0x18;
16472 u8 crsminlG_th_rev6 = 0x18;
16473 u8 crsminlA_th = 0x1e;
16474 u8 crsminlA_th_rev4 = 0x24;
16475 u8 crsminlA_th_rev5 = 0x24;
16476 u8 crsminlA_th_rev6 = 0x24;
16478 u8 crsminuG_th = 0x18;
16479 u8 crsminuG_th_rev5 = 0x18;
16480 u8 crsminuG_th_rev6 = 0x18;
16481 u8 crsminuA_th = 0x1e;
16482 u8 crsminuA_th_rev4 = 0x24;
16483 u8 crsminuA_th_rev5 = 0x24;
16484 u8 crsminuA_th_rev6 = 0x24;
16485 u8 crsminuA_th_rev6_224B0 = 0x2d;
16487 u16 nbclipG_th = 0x20d;
16488 u16 nbclipG_th_rev4 = 0x1a1;
16489 u16 nbclipG_th_rev5 = 0x1d0;
16490 u16 nbclipG_th_rev6 = 0x1d0;
16491 u16 nbclipA_th = 0x1a1;
16492 u16 nbclipA_th_rev4 = 0x107;
16493 u16 nbclipA_th_rev5 = 0x0a9;
16494 u16 nbclipA_th_rev6 = 0x0f0;
16497 u8 w1clipG_th_rev5 = 9;
16498 u8 w1clipG_th_rev6 = 5;
16499 u8 w1clipA_th = 25, w1clip_th;
16500 u8 rssi_gain_default = 0x50;
16501 u8 rssiG_gain_rev6_224B0 = 0x50;
16502 u8 rssiA_gain_rev5 = 0x90;
16503 u8 rssiA_gain_rev6 = 0x90;
16508 triso = (CHSPEC_IS5G(pi->radio_chanspec)) ? pi->srom_fem5g.triso :
16509 pi->srom_fem2g.triso;
16511 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
16512 if (pi->pubpi.radiorev == 5) {
16514 wlc_phy_workarounds_nphy_gainctrl_2057_rev5(pi);
16515 } else if (pi->pubpi.radiorev == 7) {
16516 wlc_phy_workarounds_nphy_gainctrl_2057_rev6(pi);
16518 mod_phy_reg(pi, 0x283, (0xff << 0), (0x44 << 0));
16519 mod_phy_reg(pi, 0x280, (0xff << 0), (0x44 << 0));
16521 } else if ((pi->pubpi.radiorev == 3)
16522 || (pi->pubpi.radiorev == 8)) {
16523 wlc_phy_workarounds_nphy_gainctrl_2057_rev6(pi);
16525 if (pi->pubpi.radiorev == 8) {
16526 mod_phy_reg(pi, 0x283,
16527 (0xff << 0), (0x44 << 0));
16528 mod_phy_reg(pi, 0x280,
16529 (0xff << 0), (0x44 << 0));
16532 wlc_phy_workarounds_nphy_gainctrl_2057_rev6(pi);
16534 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
16536 mod_phy_reg(pi, 0xa0, (0x1 << 6), (1 << 6));
16538 mod_phy_reg(pi, 0x1c, (0x1 << 13), (1 << 13));
16539 mod_phy_reg(pi, 0x32, (0x1 << 13), (1 << 13));
16542 read_phy_reg(pi, 0x09) & NPHY_BandControl_currentBand;
16543 if (currband == 0) {
16544 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
16545 if (pi->pubpi.radiorev == 11) {
16546 lna1_gain_db = lna1G_gain_db_rev6_224B0;
16547 lna2_gain_db = lna2G_gain_db_rev6_224B0;
16549 rfseqG_init_gain_rev6_224B0;
16551 initG_gaincode_rev6_224B0;
16553 clip1hiG_gaincode_rev6;
16555 clip1loG_gaincode_rev6_224B0;
16556 nbclip_th = nbclipG_th_rev6;
16557 w1clip_th = w1clipG_th_rev6;
16558 crsmin_th = crsminG_th_rev6;
16559 crsminl_th = crsminlG_th_rev6;
16560 crsminu_th = crsminuG_th_rev6;
16561 rssi_gain = rssiG_gain_rev6_224B0;
16563 lna1_gain_db = lna1G_gain_db_rev6;
16564 lna2_gain_db = lna2G_gain_db_rev6;
16565 if (pi->sh->boardflags & BFL_EXTLNA) {
16568 rfseqG_init_gain_rev6_elna;
16570 initG_gaincode_rev6_elna;
16573 rfseqG_init_gain_rev6;
16575 initG_gaincode_rev6;
16578 clip1hiG_gaincode_rev6;
16582 clip1loG_gaincode_rev6[0];
16586 clip1loG_gaincode_rev6[1];
16590 clip1loG_gaincode_rev6[2];
16596 clip1loG_gaincode_rev6[3];
16600 clip1loG_gaincode_rev6[4];
16604 clip1loG_gaincode_rev6[5];
16608 clip1loG_gaincode_rev6[6];
16612 clip1loG_gaincode_rev6[7];
16615 nbclip_th = nbclipG_th_rev6;
16616 w1clip_th = w1clipG_th_rev6;
16617 crsmin_th = crsminG_th_rev6;
16618 crsminl_th = crsminlG_th_rev6;
16619 crsminu_th = crsminuG_th_rev6;
16620 rssi_gain = rssi_gain_default;
16622 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
16623 lna1_gain_db = lna1G_gain_db_rev5;
16624 lna2_gain_db = lna2G_gain_db_rev5;
16625 if (pi->sh->boardflags & BFL_EXTLNA) {
16628 rfseqG_init_gain_rev5_elna;
16630 initG_gaincode_rev5_elna;
16632 rfseq_init_gain = rfseqG_init_gain_rev5;
16633 init_gaincode = initG_gaincode_rev5;
16635 clip1hi_gaincode = clip1hiG_gaincode_rev5;
16639 clip1loG_gaincode_rev5[0];
16643 clip1loG_gaincode_rev5[1];
16647 clip1loG_gaincode_rev5[2];
16652 clip1loG_gaincode_rev5[3];
16656 clip1loG_gaincode_rev5[4];
16660 clip1loG_gaincode_rev5[5];
16664 clip1loG_gaincode_rev5[6];
16668 clip1loG_gaincode_rev5[7];
16672 clip1loG_gaincode_rev5[3];
16675 nbclip_th = nbclipG_th_rev5;
16676 w1clip_th = w1clipG_th_rev5;
16677 crsmin_th = crsminG_th_rev5;
16678 crsminl_th = crsminlG_th_rev5;
16679 crsminu_th = crsminuG_th_rev5;
16680 rssi_gain = rssi_gain_default;
16681 } else if (NREV_IS(pi->pubpi.phy_rev, 4)) {
16682 lna1_gain_db = lna1G_gain_db_rev4;
16683 lna2_gain_db = lna2G_gain_db;
16684 rfseq_init_gain = rfseqG_init_gain_rev4;
16685 init_gaincode = initG_gaincode_rev4;
16686 clip1hi_gaincode = clip1hiG_gaincode_rev4;
16687 clip1lo_gaincode = clip1loG_gaincode;
16688 nbclip_th = nbclipG_th_rev4;
16689 w1clip_th = w1clipG_th;
16690 crsmin_th = crsminG_th;
16691 crsminl_th = crsminlG_th;
16692 crsminu_th = crsminuG_th;
16693 rssi_gain = rssi_gain_default;
16695 lna1_gain_db = lna1G_gain_db;
16696 lna2_gain_db = lna2G_gain_db;
16697 rfseq_init_gain = rfseqG_init_gain;
16698 init_gaincode = initG_gaincode;
16699 clip1hi_gaincode = clip1hiG_gaincode;
16700 clip1lo_gaincode = clip1loG_gaincode;
16701 nbclip_th = nbclipG_th;
16702 w1clip_th = w1clipG_th;
16703 crsmin_th = crsminG_th;
16704 crsminl_th = crsminlG_th;
16705 crsminu_th = crsminuG_th;
16706 rssi_gain = rssi_gain_default;
16708 tia_gain_db = tiaG_gain_db;
16709 tia_gainbits = tiaG_gainbits;
16710 clip1md_gaincode = clip1mdG_gaincode;
16712 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
16713 lna1_gain_db = lna1A_gain_db_rev6;
16714 lna2_gain_db = lna2A_gain_db_rev6;
16715 tia_gain_db = tiaA_gain_db_rev6;
16716 tia_gainbits = tiaA_gainbits_rev6;
16717 rfseq_init_gain = rfseqA_init_gain_rev6;
16718 init_gaincode = initA_gaincode_rev6;
16719 clip1hi_gaincode = clip1hiA_gaincode_rev6;
16720 clip1md_gaincode = clip1mdA_gaincode_rev6;
16721 clip1lo_gaincode = clip1loA_gaincode_rev6;
16722 crsmin_th = crsminA_th_rev6;
16723 crsminl_th = crsminlA_th_rev6;
16724 if ((pi->pubpi.radiorev == 11) &&
16725 (CHSPEC_IS40(pi->radio_chanspec) == 0)) {
16726 crsminu_th = crsminuA_th_rev6_224B0;
16728 crsminu_th = crsminuA_th_rev6;
16730 nbclip_th = nbclipA_th_rev6;
16731 rssi_gain = rssiA_gain_rev6;
16732 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
16733 lna1_gain_db = lna1A_gain_db_rev5;
16734 lna2_gain_db = lna2A_gain_db_rev5;
16735 tia_gain_db = tiaA_gain_db_rev5;
16736 tia_gainbits = tiaA_gainbits_rev5;
16737 rfseq_init_gain = rfseqA_init_gain_rev5;
16738 init_gaincode = initA_gaincode_rev5;
16739 clip1hi_gaincode = clip1hiA_gaincode_rev5;
16740 clip1md_gaincode = clip1mdA_gaincode_rev5;
16741 clip1lo_gaincode = clip1loA_gaincode_rev5;
16742 crsmin_th = crsminA_th_rev5;
16743 crsminl_th = crsminlA_th_rev5;
16744 crsminu_th = crsminuA_th_rev5;
16745 nbclip_th = nbclipA_th_rev5;
16746 rssi_gain = rssiA_gain_rev5;
16747 } else if (NREV_IS(pi->pubpi.phy_rev, 4)) {
16748 lna1_gain_db = lna1A_gain_db_rev4;
16749 lna2_gain_db = lna2A_gain_db_rev4;
16750 tia_gain_db = tiaA_gain_db_rev4;
16751 tia_gainbits = tiaA_gainbits_rev4;
16752 if (pi->sh->boardflags & BFL_EXTLNA_5GHz) {
16755 rfseqA_init_gain_rev4_elna;
16757 initA_gaincode_rev4_elna;
16759 rfseq_init_gain = rfseqA_init_gain_rev4;
16760 init_gaincode = initA_gaincode_rev4;
16762 clip1hi_gaincode = clip1hiA_gaincode_rev4;
16763 clip1md_gaincode = clip1mdA_gaincode_rev4;
16764 clip1lo_gaincode = clip1loA_gaincode_rev4;
16765 crsmin_th = crsminA_th_rev4;
16766 crsminl_th = crsminlA_th_rev4;
16767 crsminu_th = crsminuA_th_rev4;
16768 nbclip_th = nbclipA_th_rev4;
16769 rssi_gain = rssi_gain_default;
16771 lna1_gain_db = lna1A_gain_db;
16772 lna2_gain_db = lna2A_gain_db;
16773 tia_gain_db = tiaA_gain_db;
16774 tia_gainbits = tiaA_gainbits;
16775 rfseq_init_gain = rfseqA_init_gain;
16776 init_gaincode = initA_gaincode;
16777 clip1hi_gaincode = clip1hiA_gaincode;
16778 clip1md_gaincode = clip1mdA_gaincode;
16779 clip1lo_gaincode = clip1loA_gaincode;
16780 crsmin_th = crsminA_th;
16781 crsminl_th = crsminlA_th;
16782 crsminu_th = crsminuA_th;
16783 nbclip_th = nbclipA_th;
16784 rssi_gain = rssi_gain_default;
16786 w1clip_th = w1clipA_th;
16789 write_radio_reg(pi,
16790 (RADIO_2056_RX_BIASPOLE_LNAG1_IDAC |
16791 RADIO_2056_RX0), 0x17);
16792 write_radio_reg(pi,
16793 (RADIO_2056_RX_BIASPOLE_LNAG1_IDAC |
16794 RADIO_2056_RX1), 0x17);
16796 write_radio_reg(pi, (RADIO_2056_RX_LNAG2_IDAC | RADIO_2056_RX0),
16798 write_radio_reg(pi, (RADIO_2056_RX_LNAG2_IDAC | RADIO_2056_RX1),
16801 write_radio_reg(pi, (RADIO_2056_RX_RSSI_POLE | RADIO_2056_RX0),
16803 write_radio_reg(pi, (RADIO_2056_RX_RSSI_POLE | RADIO_2056_RX1),
16806 write_radio_reg(pi, (RADIO_2056_RX_RSSI_GAIN | RADIO_2056_RX0),
16808 write_radio_reg(pi, (RADIO_2056_RX_RSSI_GAIN | RADIO_2056_RX1),
16811 write_radio_reg(pi,
16812 (RADIO_2056_RX_BIASPOLE_LNAA1_IDAC |
16813 RADIO_2056_RX0), 0x17);
16814 write_radio_reg(pi,
16815 (RADIO_2056_RX_BIASPOLE_LNAA1_IDAC |
16816 RADIO_2056_RX1), 0x17);
16818 write_radio_reg(pi, (RADIO_2056_RX_LNAA2_IDAC | RADIO_2056_RX0),
16820 write_radio_reg(pi, (RADIO_2056_RX_LNAA2_IDAC | RADIO_2056_RX1),
16823 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 8,
16825 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 8,
16828 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 0x10,
16830 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 0x10,
16833 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 10, 0x20,
16835 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 10, 0x20,
16838 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS1, 10, 0x20,
16840 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS2, 10, 0x20,
16843 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 6, 0x40,
16845 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 6, 0x40,
16847 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS1, 6, 0x40,
16849 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS2, 6, 0x40,
16852 write_phy_reg(pi, 0x20, init_gaincode);
16853 write_phy_reg(pi, 0x2a7, init_gaincode);
16855 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
16856 pi->pubpi.phy_corenum, 0x106, 16,
16859 write_phy_reg(pi, 0x22, clip1hi_gaincode);
16860 write_phy_reg(pi, 0x2a9, clip1hi_gaincode);
16862 write_phy_reg(pi, 0x24, clip1md_gaincode);
16863 write_phy_reg(pi, 0x2ab, clip1md_gaincode);
16865 write_phy_reg(pi, 0x37, clip1lo_gaincode);
16866 write_phy_reg(pi, 0x2ad, clip1lo_gaincode);
16868 mod_phy_reg(pi, 0x27d, (0xff << 0), (crsmin_th << 0));
16869 mod_phy_reg(pi, 0x280, (0xff << 0), (crsminl_th << 0));
16870 mod_phy_reg(pi, 0x283, (0xff << 0), (crsminu_th << 0));
16872 write_phy_reg(pi, 0x2b, nbclip_th);
16873 write_phy_reg(pi, 0x41, nbclip_th);
16875 mod_phy_reg(pi, 0x27, (0x3f << 0), (w1clip_th << 0));
16876 mod_phy_reg(pi, 0x3d, (0x3f << 0), (w1clip_th << 0));
16878 write_phy_reg(pi, 0x150, 0x809c);
16882 mod_phy_reg(pi, 0x1c, (0x1 << 13), (1 << 13));
16883 mod_phy_reg(pi, 0x32, (0x1 << 13), (1 << 13));
16885 write_phy_reg(pi, 0x2b, 0x84);
16886 write_phy_reg(pi, 0x41, 0x84);
16888 if (CHSPEC_IS20(pi->radio_chanspec)) {
16889 write_phy_reg(pi, 0x6b, 0x2b);
16890 write_phy_reg(pi, 0x6c, 0x2b);
16891 write_phy_reg(pi, 0x6d, 0x9);
16892 write_phy_reg(pi, 0x6e, 0x9);
16895 w1th = NPHY_RSSICAL_W1_TARGET - 4;
16896 mod_phy_reg(pi, 0x27, (0x3f << 0), (w1th << 0));
16897 mod_phy_reg(pi, 0x3d, (0x3f << 0), (w1th << 0));
16899 if (CHSPEC_IS20(pi->radio_chanspec)) {
16900 mod_phy_reg(pi, 0x1c, (0x1f << 0), (0x1 << 0));
16901 mod_phy_reg(pi, 0x32, (0x1f << 0), (0x1 << 0));
16903 mod_phy_reg(pi, 0x1d, (0x1f << 0), (0x1 << 0));
16904 mod_phy_reg(pi, 0x33, (0x1f << 0), (0x1 << 0));
16907 write_phy_reg(pi, 0x150, 0x809c);
16909 if (pi->nphy_gain_boost)
16910 if ((CHSPEC_IS2G(pi->radio_chanspec)) &&
16911 (CHSPEC_IS40(pi->radio_chanspec)))
16915 else if (CHSPEC_IS40(pi->radio_chanspec))
16920 mod_phy_reg(pi, 0x20, (0x1f << 7), (hpf_code << 7));
16921 mod_phy_reg(pi, 0x36, (0x1f << 7), (hpf_code << 7));
16923 for (ctr = 0; ctr < 4; ctr++) {
16924 regval[ctr] = (hpf_code << 8) | 0x7c;
16926 wlc_phy_table_write_nphy(pi, 7, 4, 0x106, 16, regval);
16928 wlc_phy_adjust_lnagaintbl_nphy(pi);
16930 if (pi->nphy_elna_gain_config) {
16935 wlc_phy_table_write_nphy(pi, 2, 4, 8, 16, regval);
16936 wlc_phy_table_write_nphy(pi, 3, 4, 8, 16, regval);
16938 for (ctr = 0; ctr < 4; ctr++) {
16939 regval[ctr] = (hpf_code << 8) | 0x74;
16941 wlc_phy_table_write_nphy(pi, 7, 4, 0x106, 16, regval);
16944 if (NREV_IS(pi->pubpi.phy_rev, 2)) {
16945 for (ctr = 0; ctr < 21; ctr++) {
16946 regval[ctr] = 3 * ctr;
16948 wlc_phy_table_write_nphy(pi, 0, 21, 32, 16, regval);
16949 wlc_phy_table_write_nphy(pi, 1, 21, 32, 16, regval);
16951 for (ctr = 0; ctr < 21; ctr++) {
16952 regval[ctr] = (u16) ctr;
16954 wlc_phy_table_write_nphy(pi, 2, 21, 32, 16, regval);
16955 wlc_phy_table_write_nphy(pi, 3, 21, 32, 16, regval);
16958 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_UPDATEGAINU,
16959 rfseq_updategainu_events,
16960 rfseq_updategainu_dlys,
16961 sizeof(rfseq_updategainu_events) /
16962 sizeof(rfseq_updategainu_events[0]));
16964 mod_phy_reg(pi, 0x153, (0xff << 8), (90 << 8));
16966 if (CHSPEC_IS2G(pi->radio_chanspec))
16968 (NPHY_TO_BPHY_OFF + BPHY_OPTIONAL_MODES),
16973 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev5(phy_info_t *pi)
16975 s8 lna1_gain_db[] = { 8, 13, 17, 22 };
16976 s8 lna2_gain_db[] = { -2, 7, 11, 15 };
16977 s8 tia_gain_db[] = { -4, -1, 2, 5, 5, 5, 5, 5, 5, 5 };
16978 s8 tia_gainbits[] = {
16979 0x0, 0x01, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03 };
16981 mod_phy_reg(pi, 0x1c, (0x1 << 13), (1 << 13));
16982 mod_phy_reg(pi, 0x32, (0x1 << 13), (1 << 13));
16984 mod_phy_reg(pi, 0x289, (0xff << 0), (0x46 << 0));
16986 mod_phy_reg(pi, 0x283, (0xff << 0), (0x3c << 0));
16987 mod_phy_reg(pi, 0x280, (0xff << 0), (0x3c << 0));
16989 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 0x8, 8,
16991 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 0x8, 8,
16994 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 0x10, 8,
16996 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 0x10, 8,
16999 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 10, 0x20, 8,
17001 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 10, 0x20, 8,
17004 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS1, 10, 0x20, 8,
17006 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS2, 10, 0x20, 8,
17009 write_phy_reg(pi, 0x37, 0x74);
17010 write_phy_reg(pi, 0x2ad, 0x74);
17011 write_phy_reg(pi, 0x38, 0x18);
17012 write_phy_reg(pi, 0x2ae, 0x18);
17014 write_phy_reg(pi, 0x2b, 0xe8);
17015 write_phy_reg(pi, 0x41, 0xe8);
17017 if (CHSPEC_IS20(pi->radio_chanspec)) {
17019 mod_phy_reg(pi, 0x300, (0x3f << 0), (0x12 << 0));
17020 mod_phy_reg(pi, 0x301, (0x3f << 0), (0x12 << 0));
17023 mod_phy_reg(pi, 0x300, (0x3f << 0), (0x10 << 0));
17024 mod_phy_reg(pi, 0x301, (0x3f << 0), (0x10 << 0));
17028 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev6(phy_info_t *pi)
17031 s8 lna1G_gain_db_rev7[] = { 9, 14, 19, 24 };
17032 s8 *lna1_gain_db = NULL;
17033 s8 *lna1_gain_db_2 = NULL;
17034 s8 *lna2_gain_db = NULL;
17035 s8 tiaA_gain_db_rev7[] = { -9, -6, -3, 0, 3, 3, 3, 3, 3, 3 };
17037 s8 tiaA_gainbits_rev7[] = { 0, 1, 2, 3, 4, 4, 4, 4, 4, 4 };
17039 u16 rfseqA_init_gain_rev7[] = { 0x624f, 0x624f };
17040 u16 *rfseq_init_gain;
17042 u16 clip1hi_gaincode;
17043 u16 clip1md_gaincode = 0;
17044 u16 clip1md_gaincode_B;
17045 u16 clip1lo_gaincode;
17046 u16 clip1lo_gaincode_B;
17052 s8 nvar_baseline_offset0 = 0, nvar_baseline_offset1 = 0;
17053 u8 chg_nbclip_th = 0;
17055 mod_phy_reg(pi, 0x1c, (0x1 << 13), (1 << 13));
17056 mod_phy_reg(pi, 0x32, (0x1 << 13), (1 << 13));
17058 currband = read_phy_reg(pi, 0x09) & NPHY_BandControl_currentBand;
17059 if (currband == 0) {
17061 lna1_gain_db = lna1G_gain_db_rev7;
17063 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 8, 8,
17065 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 8, 8,
17068 mod_phy_reg(pi, 0x283, (0xff << 0), (0x40 << 0));
17070 if (CHSPEC_IS40(pi->radio_chanspec)) {
17071 mod_phy_reg(pi, 0x280, (0xff << 0), (0x3e << 0));
17072 mod_phy_reg(pi, 0x283, (0xff << 0), (0x3e << 0));
17075 mod_phy_reg(pi, 0x289, (0xff << 0), (0x46 << 0));
17077 if (CHSPEC_IS20(pi->radio_chanspec)) {
17078 mod_phy_reg(pi, 0x300, (0x3f << 0), (13 << 0));
17079 mod_phy_reg(pi, 0x301, (0x3f << 0), (13 << 0));
17083 init_gaincode = 0x9e;
17084 clip1hi_gaincode = 0x9e;
17085 clip1md_gaincode_B = 0x24;
17086 clip1lo_gaincode = 0x8a;
17087 clip1lo_gaincode_B = 8;
17088 rfseq_init_gain = rfseqA_init_gain_rev7;
17090 tia_gain_db = tiaA_gain_db_rev7;
17091 tia_gainbits = tiaA_gainbits_rev7;
17093 freq = CHAN5G_FREQ(CHSPEC_CHANNEL(pi->radio_chanspec));
17094 if (CHSPEC_IS20(pi->radio_chanspec)) {
17097 clip1md_gaincode = 0x82;
17099 if ((freq <= 5080) || (freq == 5825)) {
17101 s8 lna1A_gain_db_rev7[] = { 11, 16, 20, 24 };
17102 s8 lna1A_gain_db_2_rev7[] = {
17104 s8 lna2A_gain_db_rev7[] = { -1, 6, 10, 14 };
17107 lna1_gain_db = lna1A_gain_db_rev7;
17108 lna1_gain_db_2 = lna1A_gain_db_2_rev7;
17109 lna2_gain_db = lna2A_gain_db_rev7;
17110 } else if ((freq >= 5500) && (freq <= 5700)) {
17112 s8 lna1A_gain_db_rev7[] = { 11, 17, 21, 25 };
17113 s8 lna1A_gain_db_2_rev7[] = {
17115 s8 lna2A_gain_db_rev7[] = { 1, 8, 12, 16 };
17118 clip1md_gaincode_B = 0x14;
17121 lna1_gain_db = lna1A_gain_db_rev7;
17122 lna1_gain_db_2 = lna1A_gain_db_2_rev7;
17123 lna2_gain_db = lna2A_gain_db_rev7;
17126 s8 lna1A_gain_db_rev7[] = { 12, 18, 22, 26 };
17127 s8 lna1A_gain_db_2_rev7[] = {
17129 s8 lna2A_gain_db_rev7[] = { -1, 6, 10, 14 };
17132 lna1_gain_db = lna1A_gain_db_rev7;
17133 lna1_gain_db_2 = lna1A_gain_db_2_rev7;
17134 lna2_gain_db = lna2A_gain_db_rev7;
17137 if (freq <= 4920) {
17138 nvar_baseline_offset0 = 5;
17139 nvar_baseline_offset1 = 5;
17140 } else if ((freq > 4920) && (freq <= 5320)) {
17141 nvar_baseline_offset0 = 3;
17142 nvar_baseline_offset1 = 5;
17143 } else if ((freq > 5320) && (freq <= 5700)) {
17144 nvar_baseline_offset0 = 3;
17145 nvar_baseline_offset1 = 2;
17147 nvar_baseline_offset0 = 4;
17148 nvar_baseline_offset1 = 0;
17156 if ((freq >= 4920) && (freq <= 5320)) {
17157 nvar_baseline_offset0 = 4;
17158 nvar_baseline_offset1 = 5;
17159 } else if ((freq > 5320) && (freq <= 5550)) {
17160 nvar_baseline_offset0 = 4;
17161 nvar_baseline_offset1 = 2;
17163 nvar_baseline_offset0 = 5;
17164 nvar_baseline_offset1 = 3;
17168 write_phy_reg(pi, 0x20, init_gaincode);
17169 write_phy_reg(pi, 0x2a7, init_gaincode);
17171 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
17172 pi->pubpi.phy_corenum, 0x106, 16,
17175 write_phy_reg(pi, 0x22, clip1hi_gaincode);
17176 write_phy_reg(pi, 0x2a9, clip1hi_gaincode);
17178 write_phy_reg(pi, 0x36, clip1md_gaincode_B);
17179 write_phy_reg(pi, 0x2ac, clip1md_gaincode_B);
17181 write_phy_reg(pi, 0x37, clip1lo_gaincode);
17182 write_phy_reg(pi, 0x2ad, clip1lo_gaincode);
17183 write_phy_reg(pi, 0x38, clip1lo_gaincode_B);
17184 write_phy_reg(pi, 0x2ae, clip1lo_gaincode_B);
17186 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 10, 0x20, 8,
17188 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 10, 0x20, 8,
17191 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS1, 10, 0x20, 8,
17193 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS2, 10, 0x20, 8,
17196 mod_phy_reg(pi, 0x283, (0xff << 0), (crsminu_th << 0));
17198 if (chg_nbclip_th == 1) {
17199 write_phy_reg(pi, 0x2b, nbclip_th);
17200 write_phy_reg(pi, 0x41, nbclip_th);
17203 mod_phy_reg(pi, 0x300, (0x3f << 0), (w1clip_th << 0));
17204 mod_phy_reg(pi, 0x301, (0x3f << 0), (w1clip_th << 0));
17206 mod_phy_reg(pi, 0x2e4,
17207 (0x3f << 0), (nvar_baseline_offset0 << 0));
17209 mod_phy_reg(pi, 0x2e4,
17210 (0x3f << 6), (nvar_baseline_offset1 << 6));
17212 if (CHSPEC_IS20(pi->radio_chanspec)) {
17214 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 8, 8,
17216 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 8, 8,
17219 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 0x10,
17221 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 0x10,
17224 write_phy_reg(pi, 0x24, clip1md_gaincode);
17225 write_phy_reg(pi, 0x2ab, clip1md_gaincode);
17227 mod_phy_reg(pi, 0x280, (0xff << 0), (crsminl_th << 0));
17234 static void wlc_phy_adjust_lnagaintbl_nphy(phy_info_t *pi)
17240 u16 minmax_gain[2];
17243 if (pi->phyhang_avoid)
17244 wlc_phy_stay_in_carriersearch_nphy(pi, true);
17246 if (pi->nphy_gain_boost) {
17247 if ((CHSPEC_IS2G(pi->radio_chanspec))) {
17253 curr_channel = CHSPEC_CHANNEL(pi->radio_chanspec);
17256 PHY_HW_ROUND(((nphy_lnagain_est0[0] *
17258 nphy_lnagain_est0[1]), 13);
17261 PHY_HW_ROUND(((nphy_lnagain_est1[0] *
17263 nphy_lnagain_est1[1]), 13);
17271 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
17272 if (pi->nphy_elna_gain_config) {
17274 regval[0] = nphy_def_lnagains[2] + gain_delta[core];
17275 regval[1] = nphy_def_lnagains[3] + gain_delta[core];
17276 regval[2] = nphy_def_lnagains[3] + gain_delta[core];
17277 regval[3] = nphy_def_lnagains[3] + gain_delta[core];
17279 for (ctr = 0; ctr < 4; ctr++) {
17281 nphy_def_lnagains[ctr] + gain_delta[core];
17284 wlc_phy_table_write_nphy(pi, core, 4, 8, 16, regval);
17286 minmax_gain[core] =
17287 (u16) (nphy_def_lnagains[2] + gain_delta[core] + 4);
17290 mod_phy_reg(pi, 0x1e, (0xff << 0), (minmax_gain[0] << 0));
17291 mod_phy_reg(pi, 0x34, (0xff << 0), (minmax_gain[1] << 0));
17293 if (pi->phyhang_avoid)
17294 wlc_phy_stay_in_carriersearch_nphy(pi, false);
17297 void wlc_phy_switch_radio_nphy(phy_info_t *pi, bool on)
17300 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
17301 if (!pi->radio_is_on) {
17302 wlc_phy_radio_preinit_205x(pi);
17303 wlc_phy_radio_init_2057(pi);
17304 wlc_phy_radio_postinit_2057(pi);
17307 wlc_phy_chanspec_set((wlc_phy_t *) pi,
17308 pi->radio_chanspec);
17309 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
17310 wlc_phy_radio_preinit_205x(pi);
17311 wlc_phy_radio_init_2056(pi);
17312 wlc_phy_radio_postinit_2056(pi);
17314 wlc_phy_chanspec_set((wlc_phy_t *) pi,
17315 pi->radio_chanspec);
17317 wlc_phy_radio_preinit_2055(pi);
17318 wlc_phy_radio_init_2055(pi);
17319 wlc_phy_radio_postinit_2055(pi);
17322 pi->radio_is_on = true;
17326 if (NREV_GE(pi->pubpi.phy_rev, 3)
17327 && NREV_LT(pi->pubpi.phy_rev, 7)) {
17328 and_phy_reg(pi, 0x78, ~RFCC_CHIP0_PU);
17329 mod_radio_reg(pi, RADIO_2056_SYN_COM_PU, 0x2, 0x0);
17331 write_radio_reg(pi,
17332 RADIO_2056_TX_PADA_BOOST_TUNE |
17333 RADIO_2056_TX0, 0);
17334 write_radio_reg(pi,
17335 RADIO_2056_TX_PADG_BOOST_TUNE |
17336 RADIO_2056_TX0, 0);
17337 write_radio_reg(pi,
17338 RADIO_2056_TX_PGAA_BOOST_TUNE |
17339 RADIO_2056_TX0, 0);
17340 write_radio_reg(pi,
17341 RADIO_2056_TX_PGAG_BOOST_TUNE |
17342 RADIO_2056_TX0, 0);
17344 RADIO_2056_TX_MIXA_BOOST_TUNE |
17345 RADIO_2056_TX0, 0xf0, 0);
17346 write_radio_reg(pi,
17347 RADIO_2056_TX_MIXG_BOOST_TUNE |
17348 RADIO_2056_TX0, 0);
17350 write_radio_reg(pi,
17351 RADIO_2056_TX_PADA_BOOST_TUNE |
17352 RADIO_2056_TX1, 0);
17353 write_radio_reg(pi,
17354 RADIO_2056_TX_PADG_BOOST_TUNE |
17355 RADIO_2056_TX1, 0);
17356 write_radio_reg(pi,
17357 RADIO_2056_TX_PGAA_BOOST_TUNE |
17358 RADIO_2056_TX1, 0);
17359 write_radio_reg(pi,
17360 RADIO_2056_TX_PGAG_BOOST_TUNE |
17361 RADIO_2056_TX1, 0);
17363 RADIO_2056_TX_MIXA_BOOST_TUNE |
17364 RADIO_2056_TX1, 0xf0, 0);
17365 write_radio_reg(pi,
17366 RADIO_2056_TX_MIXG_BOOST_TUNE |
17367 RADIO_2056_TX1, 0);
17369 pi->radio_is_on = false;
17372 if (NREV_GE(pi->pubpi.phy_rev, 8)) {
17373 and_phy_reg(pi, 0x78, ~RFCC_CHIP0_PU);
17374 pi->radio_is_on = false;
17380 static void wlc_phy_radio_preinit_2055(phy_info_t *pi)
17383 and_phy_reg(pi, 0x78, ~RFCC_POR_FORCE);
17384 or_phy_reg(pi, 0x78, RFCC_CHIP0_PU | RFCC_OE_POR_FORCE);
17386 or_phy_reg(pi, 0x78, RFCC_POR_FORCE);
17389 static void wlc_phy_radio_init_2055(phy_info_t *pi)
17391 wlc_phy_init_radio_regs(pi, regs_2055, RADIO_DEFAULT_CORE);
17394 static void wlc_phy_radio_postinit_2055(phy_info_t *pi)
17397 and_radio_reg(pi, RADIO_2055_MASTER_CNTRL1,
17398 ~(RADIO_2055_JTAGCTRL_MASK | RADIO_2055_JTAGSYNC_MASK));
17400 if (((pi->sh->sromrev >= 4)
17401 && !(pi->sh->boardflags2 & BFL2_RXBB_INT_REG_DIS))
17402 || ((pi->sh->sromrev < 4))) {
17403 and_radio_reg(pi, RADIO_2055_CORE1_RXBB_REGULATOR, 0x7F);
17404 and_radio_reg(pi, RADIO_2055_CORE2_RXBB_REGULATOR, 0x7F);
17407 mod_radio_reg(pi, RADIO_2055_RRCCAL_N_OPT_SEL, 0x3F, 0x2C);
17408 write_radio_reg(pi, RADIO_2055_CAL_MISC, 0x3C);
17410 and_radio_reg(pi, RADIO_2055_CAL_MISC,
17411 ~(RADIO_2055_RRCAL_START | RADIO_2055_RRCAL_RST_N));
17413 or_radio_reg(pi, RADIO_2055_CAL_LPO_CNTRL, RADIO_2055_CAL_LPO_ENABLE);
17415 or_radio_reg(pi, RADIO_2055_CAL_MISC, RADIO_2055_RRCAL_RST_N);
17419 or_radio_reg(pi, RADIO_2055_CAL_MISC, RADIO_2055_RRCAL_START);
17421 SPINWAIT(((read_radio_reg(pi, RADIO_2055_CAL_COUNTER_OUT2) &
17422 RADIO_2055_RCAL_DONE) != RADIO_2055_RCAL_DONE), 2000);
17424 ASSERT((read_radio_reg(pi, RADIO_2055_CAL_COUNTER_OUT2) &
17425 RADIO_2055_RCAL_DONE) == RADIO_2055_RCAL_DONE);
17427 and_radio_reg(pi, RADIO_2055_CAL_LPO_CNTRL,
17428 ~(RADIO_2055_CAL_LPO_ENABLE));
17430 wlc_phy_chanspec_set((wlc_phy_t *) pi, pi->radio_chanspec);
17432 write_radio_reg(pi, RADIO_2055_CORE1_RXBB_LPF, 9);
17433 write_radio_reg(pi, RADIO_2055_CORE2_RXBB_LPF, 9);
17435 write_radio_reg(pi, RADIO_2055_CORE1_RXBB_MIDAC_HIPAS, 0x83);
17436 write_radio_reg(pi, RADIO_2055_CORE2_RXBB_MIDAC_HIPAS, 0x83);
17438 mod_radio_reg(pi, RADIO_2055_CORE1_LNA_GAINBST,
17439 RADIO_2055_GAINBST_VAL_MASK, RADIO_2055_GAINBST_CODE);
17440 mod_radio_reg(pi, RADIO_2055_CORE2_LNA_GAINBST,
17441 RADIO_2055_GAINBST_VAL_MASK, RADIO_2055_GAINBST_CODE);
17442 if (pi->nphy_gain_boost) {
17443 and_radio_reg(pi, RADIO_2055_CORE1_RXRF_SPC1,
17444 ~(RADIO_2055_GAINBST_DISABLE));
17445 and_radio_reg(pi, RADIO_2055_CORE2_RXRF_SPC1,
17446 ~(RADIO_2055_GAINBST_DISABLE));
17448 or_radio_reg(pi, RADIO_2055_CORE1_RXRF_SPC1,
17449 RADIO_2055_GAINBST_DISABLE);
17450 or_radio_reg(pi, RADIO_2055_CORE2_RXRF_SPC1,
17451 RADIO_2055_GAINBST_DISABLE);
17457 static void wlc_phy_radio_preinit_205x(phy_info_t *pi)
17460 and_phy_reg(pi, 0x78, ~RFCC_CHIP0_PU);
17461 and_phy_reg(pi, 0x78, RFCC_OE_POR_FORCE);
17463 or_phy_reg(pi, 0x78, ~RFCC_OE_POR_FORCE);
17464 or_phy_reg(pi, 0x78, RFCC_CHIP0_PU);
17468 static void wlc_phy_radio_init_2056(phy_info_t *pi)
17470 radio_regs_t *regs_SYN_2056_ptr = NULL;
17471 radio_regs_t *regs_TX_2056_ptr = NULL;
17472 radio_regs_t *regs_RX_2056_ptr = NULL;
17474 if (NREV_IS(pi->pubpi.phy_rev, 3)) {
17475 regs_SYN_2056_ptr = regs_SYN_2056;
17476 regs_TX_2056_ptr = regs_TX_2056;
17477 regs_RX_2056_ptr = regs_RX_2056;
17478 } else if (NREV_IS(pi->pubpi.phy_rev, 4)) {
17479 regs_SYN_2056_ptr = regs_SYN_2056_A1;
17480 regs_TX_2056_ptr = regs_TX_2056_A1;
17481 regs_RX_2056_ptr = regs_RX_2056_A1;
17483 switch (pi->pubpi.radiorev) {
17485 regs_SYN_2056_ptr = regs_SYN_2056_rev5;
17486 regs_TX_2056_ptr = regs_TX_2056_rev5;
17487 regs_RX_2056_ptr = regs_RX_2056_rev5;
17491 regs_SYN_2056_ptr = regs_SYN_2056_rev6;
17492 regs_TX_2056_ptr = regs_TX_2056_rev6;
17493 regs_RX_2056_ptr = regs_RX_2056_rev6;
17498 regs_SYN_2056_ptr = regs_SYN_2056_rev7;
17499 regs_TX_2056_ptr = regs_TX_2056_rev7;
17500 regs_RX_2056_ptr = regs_RX_2056_rev7;
17504 regs_SYN_2056_ptr = regs_SYN_2056_rev8;
17505 regs_TX_2056_ptr = regs_TX_2056_rev8;
17506 regs_RX_2056_ptr = regs_RX_2056_rev8;
17510 regs_SYN_2056_ptr = regs_SYN_2056_rev11;
17511 regs_TX_2056_ptr = regs_TX_2056_rev11;
17512 regs_RX_2056_ptr = regs_RX_2056_rev11;
17521 wlc_phy_init_radio_regs(pi, regs_SYN_2056_ptr, (u16) RADIO_2056_SYN);
17523 wlc_phy_init_radio_regs(pi, regs_TX_2056_ptr, (u16) RADIO_2056_TX0);
17525 wlc_phy_init_radio_regs(pi, regs_TX_2056_ptr, (u16) RADIO_2056_TX1);
17527 wlc_phy_init_radio_regs(pi, regs_RX_2056_ptr, (u16) RADIO_2056_RX0);
17529 wlc_phy_init_radio_regs(pi, regs_RX_2056_ptr, (u16) RADIO_2056_RX1);
17532 static void wlc_phy_radio_postinit_2056(phy_info_t *pi)
17534 mod_radio_reg(pi, RADIO_2056_SYN_COM_CTRL, 0xb, 0xb);
17536 mod_radio_reg(pi, RADIO_2056_SYN_COM_PU, 0x2, 0x2);
17537 mod_radio_reg(pi, RADIO_2056_SYN_COM_RESET, 0x2, 0x2);
17539 mod_radio_reg(pi, RADIO_2056_SYN_COM_RESET, 0x2, 0x0);
17541 if ((pi->sh->boardflags2 & BFL2_LEGACY)
17542 || (pi->sh->boardflags2 & BFL2_XTALBUFOUTEN)) {
17544 mod_radio_reg(pi, RADIO_2056_SYN_PLL_MAST2, 0xf4, 0x0);
17547 mod_radio_reg(pi, RADIO_2056_SYN_PLL_MAST2, 0xfc, 0x0);
17550 mod_radio_reg(pi, RADIO_2056_SYN_RCCAL_CTRL0, 0x1, 0x0);
17552 if (pi->phy_init_por) {
17553 wlc_phy_radio205x_rcal(pi);
17557 static void wlc_phy_radio_init_2057(phy_info_t *pi)
17559 radio_20xx_regs_t *regs_2057_ptr = NULL;
17561 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
17563 regs_2057_ptr = regs_2057_rev4;
17564 } else if (NREV_IS(pi->pubpi.phy_rev, 8)
17565 || NREV_IS(pi->pubpi.phy_rev, 9)) {
17566 switch (pi->pubpi.radiorev) {
17569 if (pi->pubpi.radiover == 0x0) {
17571 regs_2057_ptr = regs_2057_rev5;
17573 } else if (pi->pubpi.radiover == 0x1) {
17575 regs_2057_ptr = regs_2057_rev5v1;
17583 regs_2057_ptr = regs_2057_rev7;
17588 regs_2057_ptr = regs_2057_rev8;
17599 wlc_phy_init_radio_regs_allbands(pi, regs_2057_ptr);
17602 static void wlc_phy_radio_postinit_2057(phy_info_t *pi)
17605 mod_radio_reg(pi, RADIO_2057_XTALPUOVR_PINCTRL, 0x1, 0x1);
17607 if (pi->sh->chip == !BCM6362_CHIP_ID) {
17609 mod_radio_reg(pi, RADIO_2057_XTALPUOVR_PINCTRL, 0x2, 0x2);
17612 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_CAL_RESETN, 0x78, 0x78);
17613 mod_radio_reg(pi, RADIO_2057_XTAL_CONFIG2, 0x80, 0x80);
17615 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_CAL_RESETN, 0x78, 0x0);
17616 mod_radio_reg(pi, RADIO_2057_XTAL_CONFIG2, 0x80, 0x0);
17618 if (pi->phy_init_por) {
17619 wlc_phy_radio205x_rcal(pi);
17620 wlc_phy_radio2057_rccal(pi);
17623 mod_radio_reg(pi, RADIO_2057_RFPLL_MASTER, 0x8, 0x0);
17627 wlc_phy_chan2freq_nphy(phy_info_t *pi, uint channel, int *f,
17628 chan_info_nphy_radio2057_t **t0,
17629 chan_info_nphy_radio205x_t **t1,
17630 chan_info_nphy_radio2057_rev5_t **t2,
17631 chan_info_nphy_2055_t **t3)
17634 chan_info_nphy_radio2057_t *chan_info_tbl_p_0 = NULL;
17635 chan_info_nphy_radio205x_t *chan_info_tbl_p_1 = NULL;
17636 chan_info_nphy_radio2057_rev5_t *chan_info_tbl_p_2 = NULL;
17641 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
17643 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
17645 chan_info_tbl_p_0 = chan_info_nphyrev7_2057_rev4;
17646 tbl_len = ARRAY_SIZE(chan_info_nphyrev7_2057_rev4);
17648 } else if (NREV_IS(pi->pubpi.phy_rev, 8)
17649 || NREV_IS(pi->pubpi.phy_rev, 9)) {
17650 switch (pi->pubpi.radiorev) {
17654 if (pi->pubpi.radiover == 0x0) {
17656 chan_info_tbl_p_2 =
17657 chan_info_nphyrev8_2057_rev5;
17660 (chan_info_nphyrev8_2057_rev5);
17662 } else if (pi->pubpi.radiover == 0x1) {
17664 chan_info_tbl_p_2 =
17665 chan_info_nphyrev9_2057_rev5v1;
17668 (chan_info_nphyrev9_2057_rev5v1);
17674 chan_info_tbl_p_0 =
17675 chan_info_nphyrev8_2057_rev7;
17677 ARRAY_SIZE(chan_info_nphyrev8_2057_rev7);
17681 chan_info_tbl_p_0 =
17682 chan_info_nphyrev8_2057_rev8;
17684 ARRAY_SIZE(chan_info_nphyrev8_2057_rev8);
17688 if (NORADIO_ENAB(pi->pubpi)) {
17693 } else if (NREV_IS(pi->pubpi.phy_rev, 16)) {
17695 chan_info_tbl_p_0 = chan_info_nphyrev8_2057_rev8;
17696 tbl_len = ARRAY_SIZE(chan_info_nphyrev8_2057_rev8);
17701 for (i = 0; i < tbl_len; i++) {
17702 if (pi->pubpi.radiorev == 5) {
17704 if (chan_info_tbl_p_2[i].chan == channel)
17708 if (chan_info_tbl_p_0[i].chan == channel)
17713 if (i >= tbl_len) {
17714 ASSERT(i < tbl_len);
17717 if (pi->pubpi.radiorev == 5) {
17718 *t2 = &chan_info_tbl_p_2[i];
17719 freq = chan_info_tbl_p_2[i].freq;
17721 *t0 = &chan_info_tbl_p_0[i];
17722 freq = chan_info_tbl_p_0[i].freq;
17725 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
17726 if (NREV_IS(pi->pubpi.phy_rev, 3)) {
17727 chan_info_tbl_p_1 = chan_info_nphyrev3_2056;
17728 tbl_len = ARRAY_SIZE(chan_info_nphyrev3_2056);
17729 } else if (NREV_IS(pi->pubpi.phy_rev, 4)) {
17730 chan_info_tbl_p_1 = chan_info_nphyrev4_2056_A1;
17731 tbl_len = ARRAY_SIZE(chan_info_nphyrev4_2056_A1);
17732 } else if (NREV_IS(pi->pubpi.phy_rev, 5)
17733 || NREV_IS(pi->pubpi.phy_rev, 6)) {
17734 switch (pi->pubpi.radiorev) {
17736 chan_info_tbl_p_1 = chan_info_nphyrev5_2056v5;
17737 tbl_len = ARRAY_SIZE(chan_info_nphyrev5_2056v5);
17740 chan_info_tbl_p_1 = chan_info_nphyrev6_2056v6;
17741 tbl_len = ARRAY_SIZE(chan_info_nphyrev6_2056v6);
17745 chan_info_tbl_p_1 = chan_info_nphyrev5n6_2056v7;
17747 ARRAY_SIZE(chan_info_nphyrev5n6_2056v7);
17750 chan_info_tbl_p_1 = chan_info_nphyrev6_2056v8;
17751 tbl_len = ARRAY_SIZE(chan_info_nphyrev6_2056v8);
17754 chan_info_tbl_p_1 = chan_info_nphyrev6_2056v11;
17755 tbl_len = ARRAY_SIZE(chan_info_nphyrev6_2056v11);
17758 if (NORADIO_ENAB(pi->pubpi)) {
17765 for (i = 0; i < tbl_len; i++) {
17766 if (chan_info_tbl_p_1[i].chan == channel)
17770 if (i >= tbl_len) {
17771 ASSERT(i < tbl_len);
17774 *t1 = &chan_info_tbl_p_1[i];
17775 freq = chan_info_tbl_p_1[i].freq;
17778 for (i = 0; i < ARRAY_SIZE(chan_info_nphy_2055); i++)
17779 if (chan_info_nphy_2055[i].chan == channel)
17782 if (i >= ARRAY_SIZE(chan_info_nphy_2055)) {
17783 ASSERT(i < ARRAY_SIZE(chan_info_nphy_2055));
17786 *t3 = &chan_info_nphy_2055[i];
17787 freq = chan_info_nphy_2055[i].freq;
17794 *f = WL_CHAN_FREQ_RANGE_2G;
17798 u8 wlc_phy_get_chan_freq_range_nphy(phy_info_t *pi, uint channel)
17801 chan_info_nphy_radio2057_t *t0 = NULL;
17802 chan_info_nphy_radio205x_t *t1 = NULL;
17803 chan_info_nphy_radio2057_rev5_t *t2 = NULL;
17804 chan_info_nphy_2055_t *t3 = NULL;
17806 if (NORADIO_ENAB(pi->pubpi))
17807 return WL_CHAN_FREQ_RANGE_2G;
17810 channel = CHSPEC_CHANNEL(pi->radio_chanspec);
17812 wlc_phy_chan2freq_nphy(pi, channel, &freq, &t0, &t1, &t2, &t3);
17814 if (CHSPEC_IS2G(pi->radio_chanspec))
17815 return WL_CHAN_FREQ_RANGE_2G;
17817 if ((freq >= BASE_LOW_5G_CHAN) && (freq < BASE_MID_5G_CHAN)) {
17818 return WL_CHAN_FREQ_RANGE_5GL;
17819 } else if ((freq >= BASE_MID_5G_CHAN) && (freq < BASE_HIGH_5G_CHAN)) {
17820 return WL_CHAN_FREQ_RANGE_5GM;
17822 return WL_CHAN_FREQ_RANGE_5GH;
17827 wlc_phy_chanspec_radio2055_setup(phy_info_t *pi, chan_info_nphy_2055_t *ci)
17830 write_radio_reg(pi, RADIO_2055_PLL_REF, ci->RF_pll_ref);
17831 write_radio_reg(pi, RADIO_2055_RF_PLL_MOD0, ci->RF_rf_pll_mod0);
17832 write_radio_reg(pi, RADIO_2055_RF_PLL_MOD1, ci->RF_rf_pll_mod1);
17833 write_radio_reg(pi, RADIO_2055_VCO_CAP_TAIL, ci->RF_vco_cap_tail);
17835 WLC_PHY_WAR_PR51571(pi);
17837 write_radio_reg(pi, RADIO_2055_VCO_CAL1, ci->RF_vco_cal1);
17838 write_radio_reg(pi, RADIO_2055_VCO_CAL2, ci->RF_vco_cal2);
17839 write_radio_reg(pi, RADIO_2055_PLL_LF_C1, ci->RF_pll_lf_c1);
17840 write_radio_reg(pi, RADIO_2055_PLL_LF_R1, ci->RF_pll_lf_r1);
17842 WLC_PHY_WAR_PR51571(pi);
17844 write_radio_reg(pi, RADIO_2055_PLL_LF_C2, ci->RF_pll_lf_c2);
17845 write_radio_reg(pi, RADIO_2055_LGBUF_CEN_BUF, ci->RF_lgbuf_cen_buf);
17846 write_radio_reg(pi, RADIO_2055_LGEN_TUNE1, ci->RF_lgen_tune1);
17847 write_radio_reg(pi, RADIO_2055_LGEN_TUNE2, ci->RF_lgen_tune2);
17849 WLC_PHY_WAR_PR51571(pi);
17851 write_radio_reg(pi, RADIO_2055_CORE1_LGBUF_A_TUNE,
17852 ci->RF_core1_lgbuf_a_tune);
17853 write_radio_reg(pi, RADIO_2055_CORE1_LGBUF_G_TUNE,
17854 ci->RF_core1_lgbuf_g_tune);
17855 write_radio_reg(pi, RADIO_2055_CORE1_RXRF_REG1, ci->RF_core1_rxrf_reg1);
17856 write_radio_reg(pi, RADIO_2055_CORE1_TX_PGA_PAD_TN,
17857 ci->RF_core1_tx_pga_pad_tn);
17859 WLC_PHY_WAR_PR51571(pi);
17861 write_radio_reg(pi, RADIO_2055_CORE1_TX_MX_BGTRIM,
17862 ci->RF_core1_tx_mx_bgtrim);
17863 write_radio_reg(pi, RADIO_2055_CORE2_LGBUF_A_TUNE,
17864 ci->RF_core2_lgbuf_a_tune);
17865 write_radio_reg(pi, RADIO_2055_CORE2_LGBUF_G_TUNE,
17866 ci->RF_core2_lgbuf_g_tune);
17867 write_radio_reg(pi, RADIO_2055_CORE2_RXRF_REG1, ci->RF_core2_rxrf_reg1);
17869 WLC_PHY_WAR_PR51571(pi);
17871 write_radio_reg(pi, RADIO_2055_CORE2_TX_PGA_PAD_TN,
17872 ci->RF_core2_tx_pga_pad_tn);
17873 write_radio_reg(pi, RADIO_2055_CORE2_TX_MX_BGTRIM,
17874 ci->RF_core2_tx_mx_bgtrim);
17878 write_radio_reg(pi, RADIO_2055_VCO_CAL10, 0x05);
17879 write_radio_reg(pi, RADIO_2055_VCO_CAL10, 0x45);
17881 WLC_PHY_WAR_PR51571(pi);
17883 write_radio_reg(pi, RADIO_2055_VCO_CAL10, 0x65);
17889 wlc_phy_chanspec_radio2056_setup(phy_info_t *pi,
17890 const chan_info_nphy_radio205x_t *ci)
17892 radio_regs_t *regs_SYN_2056_ptr = NULL;
17894 write_radio_reg(pi,
17895 RADIO_2056_SYN_PLL_VCOCAL1 | RADIO_2056_SYN,
17896 ci->RF_SYN_pll_vcocal1);
17897 write_radio_reg(pi, RADIO_2056_SYN_PLL_VCOCAL2 | RADIO_2056_SYN,
17898 ci->RF_SYN_pll_vcocal2);
17899 write_radio_reg(pi, RADIO_2056_SYN_PLL_REFDIV | RADIO_2056_SYN,
17900 ci->RF_SYN_pll_refdiv);
17901 write_radio_reg(pi, RADIO_2056_SYN_PLL_MMD2 | RADIO_2056_SYN,
17902 ci->RF_SYN_pll_mmd2);
17903 write_radio_reg(pi, RADIO_2056_SYN_PLL_MMD1 | RADIO_2056_SYN,
17904 ci->RF_SYN_pll_mmd1);
17905 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER1 | RADIO_2056_SYN,
17906 ci->RF_SYN_pll_loopfilter1);
17907 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER2 | RADIO_2056_SYN,
17908 ci->RF_SYN_pll_loopfilter2);
17909 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER3 | RADIO_2056_SYN,
17910 ci->RF_SYN_pll_loopfilter3);
17911 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER4 | RADIO_2056_SYN,
17912 ci->RF_SYN_pll_loopfilter4);
17913 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER5 | RADIO_2056_SYN,
17914 ci->RF_SYN_pll_loopfilter5);
17915 write_radio_reg(pi, RADIO_2056_SYN_RESERVED_ADDR27 | RADIO_2056_SYN,
17916 ci->RF_SYN_reserved_addr27);
17917 write_radio_reg(pi, RADIO_2056_SYN_RESERVED_ADDR28 | RADIO_2056_SYN,
17918 ci->RF_SYN_reserved_addr28);
17919 write_radio_reg(pi, RADIO_2056_SYN_RESERVED_ADDR29 | RADIO_2056_SYN,
17920 ci->RF_SYN_reserved_addr29);
17921 write_radio_reg(pi, RADIO_2056_SYN_LOGEN_VCOBUF1 | RADIO_2056_SYN,
17922 ci->RF_SYN_logen_VCOBUF1);
17923 write_radio_reg(pi, RADIO_2056_SYN_LOGEN_MIXER2 | RADIO_2056_SYN,
17924 ci->RF_SYN_logen_MIXER2);
17925 write_radio_reg(pi, RADIO_2056_SYN_LOGEN_BUF3 | RADIO_2056_SYN,
17926 ci->RF_SYN_logen_BUF3);
17927 write_radio_reg(pi, RADIO_2056_SYN_LOGEN_BUF4 | RADIO_2056_SYN,
17928 ci->RF_SYN_logen_BUF4);
17930 write_radio_reg(pi,
17931 RADIO_2056_RX_LNAA_TUNE | RADIO_2056_RX0,
17932 ci->RF_RX0_lnaa_tune);
17933 write_radio_reg(pi, RADIO_2056_RX_LNAG_TUNE | RADIO_2056_RX0,
17934 ci->RF_RX0_lnag_tune);
17935 write_radio_reg(pi, RADIO_2056_TX_INTPAA_BOOST_TUNE | RADIO_2056_TX0,
17936 ci->RF_TX0_intpaa_boost_tune);
17937 write_radio_reg(pi, RADIO_2056_TX_INTPAG_BOOST_TUNE | RADIO_2056_TX0,
17938 ci->RF_TX0_intpag_boost_tune);
17939 write_radio_reg(pi, RADIO_2056_TX_PADA_BOOST_TUNE | RADIO_2056_TX0,
17940 ci->RF_TX0_pada_boost_tune);
17941 write_radio_reg(pi, RADIO_2056_TX_PADG_BOOST_TUNE | RADIO_2056_TX0,
17942 ci->RF_TX0_padg_boost_tune);
17943 write_radio_reg(pi, RADIO_2056_TX_PGAA_BOOST_TUNE | RADIO_2056_TX0,
17944 ci->RF_TX0_pgaa_boost_tune);
17945 write_radio_reg(pi, RADIO_2056_TX_PGAG_BOOST_TUNE | RADIO_2056_TX0,
17946 ci->RF_TX0_pgag_boost_tune);
17947 write_radio_reg(pi, RADIO_2056_TX_MIXA_BOOST_TUNE | RADIO_2056_TX0,
17948 ci->RF_TX0_mixa_boost_tune);
17949 write_radio_reg(pi, RADIO_2056_TX_MIXG_BOOST_TUNE | RADIO_2056_TX0,
17950 ci->RF_TX0_mixg_boost_tune);
17952 write_radio_reg(pi,
17953 RADIO_2056_RX_LNAA_TUNE | RADIO_2056_RX1,
17954 ci->RF_RX1_lnaa_tune);
17955 write_radio_reg(pi, RADIO_2056_RX_LNAG_TUNE | RADIO_2056_RX1,
17956 ci->RF_RX1_lnag_tune);
17957 write_radio_reg(pi, RADIO_2056_TX_INTPAA_BOOST_TUNE | RADIO_2056_TX1,
17958 ci->RF_TX1_intpaa_boost_tune);
17959 write_radio_reg(pi, RADIO_2056_TX_INTPAG_BOOST_TUNE | RADIO_2056_TX1,
17960 ci->RF_TX1_intpag_boost_tune);
17961 write_radio_reg(pi, RADIO_2056_TX_PADA_BOOST_TUNE | RADIO_2056_TX1,
17962 ci->RF_TX1_pada_boost_tune);
17963 write_radio_reg(pi, RADIO_2056_TX_PADG_BOOST_TUNE | RADIO_2056_TX1,
17964 ci->RF_TX1_padg_boost_tune);
17965 write_radio_reg(pi, RADIO_2056_TX_PGAA_BOOST_TUNE | RADIO_2056_TX1,
17966 ci->RF_TX1_pgaa_boost_tune);
17967 write_radio_reg(pi, RADIO_2056_TX_PGAG_BOOST_TUNE | RADIO_2056_TX1,
17968 ci->RF_TX1_pgag_boost_tune);
17969 write_radio_reg(pi, RADIO_2056_TX_MIXA_BOOST_TUNE | RADIO_2056_TX1,
17970 ci->RF_TX1_mixa_boost_tune);
17971 write_radio_reg(pi, RADIO_2056_TX_MIXG_BOOST_TUNE | RADIO_2056_TX1,
17972 ci->RF_TX1_mixg_boost_tune);
17974 if (NREV_IS(pi->pubpi.phy_rev, 3))
17975 regs_SYN_2056_ptr = regs_SYN_2056;
17976 else if (NREV_IS(pi->pubpi.phy_rev, 4))
17977 regs_SYN_2056_ptr = regs_SYN_2056_A1;
17979 switch (pi->pubpi.radiorev) {
17981 regs_SYN_2056_ptr = regs_SYN_2056_rev5;
17984 regs_SYN_2056_ptr = regs_SYN_2056_rev6;
17988 regs_SYN_2056_ptr = regs_SYN_2056_rev7;
17991 regs_SYN_2056_ptr = regs_SYN_2056_rev8;
17994 regs_SYN_2056_ptr = regs_SYN_2056_rev11;
17998 if (CHSPEC_IS2G(pi->radio_chanspec)) {
17999 write_radio_reg(pi, RADIO_2056_SYN_PLL_CP2 |
18001 (u16) regs_SYN_2056_ptr[0x49 - 2].init_g);
18003 write_radio_reg(pi, RADIO_2056_SYN_PLL_CP2 |
18005 (u16) regs_SYN_2056_ptr[0x49 - 2].init_a);
18008 if (pi->sh->boardflags2 & BFL2_GPLL_WAR) {
18009 if (CHSPEC_IS2G(pi->radio_chanspec)) {
18010 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER1 |
18011 RADIO_2056_SYN, 0x1f);
18012 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER2 |
18013 RADIO_2056_SYN, 0x1f);
18015 if ((pi->sh->chip == BCM4716_CHIP_ID) ||
18016 (pi->sh->chip == BCM47162_CHIP_ID)) {
18018 write_radio_reg(pi,
18019 RADIO_2056_SYN_PLL_LOOPFILTER4 |
18020 RADIO_2056_SYN, 0x14);
18021 write_radio_reg(pi,
18022 RADIO_2056_SYN_PLL_CP2 |
18023 RADIO_2056_SYN, 0x00);
18025 write_radio_reg(pi,
18026 RADIO_2056_SYN_PLL_LOOPFILTER4 |
18027 RADIO_2056_SYN, 0xb);
18028 write_radio_reg(pi,
18029 RADIO_2056_SYN_PLL_CP2 |
18030 RADIO_2056_SYN, 0x14);
18035 if ((pi->sh->boardflags2 & BFL2_GPLL_WAR2) &&
18036 (CHSPEC_IS2G(pi->radio_chanspec))) {
18037 write_radio_reg(pi,
18038 RADIO_2056_SYN_PLL_LOOPFILTER1 | RADIO_2056_SYN,
18040 write_radio_reg(pi,
18041 RADIO_2056_SYN_PLL_LOOPFILTER2 | RADIO_2056_SYN,
18043 write_radio_reg(pi,
18044 RADIO_2056_SYN_PLL_LOOPFILTER4 | RADIO_2056_SYN,
18046 write_radio_reg(pi, RADIO_2056_SYN_PLL_CP2 | RADIO_2056_SYN,
18050 if (pi->sh->boardflags2 & BFL2_APLL_WAR) {
18051 if (CHSPEC_IS5G(pi->radio_chanspec)) {
18052 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER1 |
18053 RADIO_2056_SYN, 0x1f);
18054 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER2 |
18055 RADIO_2056_SYN, 0x1f);
18056 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER4 |
18057 RADIO_2056_SYN, 0x5);
18058 write_radio_reg(pi, RADIO_2056_SYN_PLL_CP2 |
18059 RADIO_2056_SYN, 0xc);
18063 if (PHY_IPA(pi) && CHSPEC_IS2G(pi->radio_chanspec)) {
18064 u16 pag_boost_tune;
18065 u16 padg_boost_tune;
18066 u16 pgag_boost_tune;
18067 u16 mixg_boost_tune;
18068 u16 bias, cascbias;
18071 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
18073 if (NREV_GE(pi->pubpi.phy_rev, 5)) {
18075 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18078 if ((pi->sh->chip == BCM4716_CHIP_ID) ||
18080 BCM47162_CHIP_ID)) {
18083 pag_boost_tune = 0x5;
18084 pgag_boost_tune = 0x33;
18085 padg_boost_tune = 0x77;
18086 mixg_boost_tune = 0x55;
18091 if ((pi->sh->chip ==
18093 || (pi->sh->chip ==
18095 || (pi->sh->chip ==
18096 BCM43421_CHIP_ID)) {
18097 if (pi->sh->chippkg ==
18098 BCM43224_FAB_SMIC) {
18104 pag_boost_tune = 0x4;
18105 pgag_boost_tune = 0x03;
18106 padg_boost_tune = 0x77;
18107 mixg_boost_tune = 0x65;
18110 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18111 INTPAG_IMAIN_STAT, bias);
18112 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18113 INTPAG_IAUX_STAT, bias);
18114 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18115 INTPAG_CASCBIAS, cascbias);
18117 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18120 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18123 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18126 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18131 bias = IS40MHZ(pi) ? 0x40 : 0x20;
18133 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18134 INTPAG_IMAIN_STAT, bias);
18135 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18136 INTPAG_IAUX_STAT, bias);
18137 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18138 INTPAG_CASCBIAS, 0x30);
18140 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, PA_SPARE1,
18145 if (PHY_IPA(pi) && NREV_IS(pi->pubpi.phy_rev, 6)
18146 && CHSPEC_IS5G(pi->radio_chanspec)) {
18147 u16 paa_boost_tune;
18148 u16 pada_boost_tune;
18149 u16 pgaa_boost_tune;
18150 u16 mixa_boost_tune;
18151 u16 freq, pabias, cascbias;
18154 freq = CHAN5G_FREQ(CHSPEC_CHANNEL(pi->radio_chanspec));
18158 paa_boost_tune = 0xa;
18159 pada_boost_tune = 0x77;
18160 pgaa_boost_tune = 0xf;
18161 mixa_boost_tune = 0xf;
18162 } else if (freq < 5340) {
18164 paa_boost_tune = 0x8;
18165 pada_boost_tune = 0x77;
18166 pgaa_boost_tune = 0xfb;
18167 mixa_boost_tune = 0xf;
18168 } else if (freq < 5650) {
18170 paa_boost_tune = 0x0;
18171 pada_boost_tune = 0x77;
18172 pgaa_boost_tune = 0xb;
18173 mixa_boost_tune = 0xf;
18176 paa_boost_tune = 0x0;
18177 pada_boost_tune = 0x77;
18178 if (freq != 5825) {
18179 pgaa_boost_tune = -(int)(freq - 18) / 36 + 168;
18181 pgaa_boost_tune = 6;
18183 mixa_boost_tune = 0xf;
18186 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
18187 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18188 INTPAA_BOOST_TUNE, paa_boost_tune);
18189 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18190 PADA_BOOST_TUNE, pada_boost_tune);
18191 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18192 PGAA_BOOST_TUNE, pgaa_boost_tune);
18193 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18194 MIXA_BOOST_TUNE, mixa_boost_tune);
18196 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18198 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18201 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18202 PADA_CASCBIAS, 0x3);
18206 if ((pi->sh->chip == BCM43224_CHIP_ID) ||
18207 (pi->sh->chip == BCM43225_CHIP_ID) ||
18208 (pi->sh->chip == BCM43421_CHIP_ID)) {
18209 if (pi->sh->chippkg == BCM43224_FAB_SMIC) {
18214 pabias = (pi->phy_pabias == 0) ? 0x30 : pi->phy_pabias;
18216 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18217 INTPAA_IAUX_STAT, pabias);
18218 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18219 INTPAA_IMAIN_STAT, pabias);
18220 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18221 INTPAA_CASCBIAS, cascbias);
18227 wlc_phy_radio205x_vcocal_nphy(pi);
18230 void wlc_phy_radio205x_vcocal_nphy(phy_info_t *pi)
18232 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
18233 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_EN, 0x01, 0x0);
18234 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_CAL_RESETN, 0x04, 0x0);
18235 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_CAL_RESETN, 0x04,
18237 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_EN, 0x01, 0x01);
18238 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
18239 write_radio_reg(pi, RADIO_2056_SYN_PLL_VCOCAL12, 0x0);
18240 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST3, 0x38);
18241 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST3, 0x18);
18242 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST3, 0x38);
18243 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST3, 0x39);
18249 #define MAX_205x_RCAL_WAITLOOPS 10000
18251 static u16 wlc_phy_radio205x_rcal(phy_info_t *pi)
18256 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
18258 if (pi->pubpi.radiorev == 5) {
18260 and_phy_reg(pi, 0x342, ~(0x1 << 1));
18264 mod_radio_reg(pi, RADIO_2057_IQTEST_SEL_PU, 0x1, 0x1);
18265 mod_radio_reg(pi, RADIO_2057v7_IQTEST_SEL_PU2, 0x2,
18268 mod_radio_reg(pi, RADIO_2057_RCAL_CONFIG, 0x1, 0x1);
18272 mod_radio_reg(pi, RADIO_2057_RCAL_CONFIG, 0x3, 0x3);
18274 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
18275 rcal_reg = read_radio_reg(pi, RADIO_2057_RCAL_STATUS);
18276 if (rcal_reg & 0x1) {
18282 ASSERT(i < MAX_205x_RCAL_WAITLOOPS);
18284 mod_radio_reg(pi, RADIO_2057_RCAL_CONFIG, 0x2, 0x0);
18286 rcal_reg = read_radio_reg(pi, RADIO_2057_RCAL_STATUS) & 0x3e;
18288 mod_radio_reg(pi, RADIO_2057_RCAL_CONFIG, 0x1, 0x0);
18289 if (pi->pubpi.radiorev == 5) {
18291 mod_radio_reg(pi, RADIO_2057_IQTEST_SEL_PU, 0x1, 0x0);
18292 mod_radio_reg(pi, RADIO_2057v7_IQTEST_SEL_PU2, 0x2,
18296 if ((pi->pubpi.radiorev <= 4) || (pi->pubpi.radiorev == 6)) {
18298 mod_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG, 0x3c,
18300 mod_radio_reg(pi, RADIO_2057_BANDGAP_RCAL_TRIM, 0xf0,
18304 } else if (NREV_IS(pi->pubpi.phy_rev, 3)) {
18309 RADIO_2056_SYN_PLL_MAST2 | RADIO_2056_SYN);
18310 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST2 | RADIO_2056_SYN,
18314 write_radio_reg(pi, RADIO_2056_SYN_RCAL_MASTER | RADIO_2056_SYN,
18318 write_radio_reg(pi, RADIO_2056_SYN_RCAL_MASTER | RADIO_2056_SYN,
18321 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
18322 rcal_reg = read_radio_reg(pi,
18323 RADIO_2056_SYN_RCAL_CODE_OUT |
18325 if (rcal_reg & 0x80) {
18331 ASSERT(i < MAX_205x_RCAL_WAITLOOPS);
18333 write_radio_reg(pi, RADIO_2056_SYN_RCAL_MASTER | RADIO_2056_SYN,
18338 RADIO_2056_SYN_RCAL_CODE_OUT |
18341 write_radio_reg(pi, RADIO_2056_SYN_RCAL_MASTER | RADIO_2056_SYN,
18344 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST2 | RADIO_2056_SYN,
18347 return rcal_reg & 0x1f;
18349 return rcal_reg & 0x3e;
18353 wlc_phy_chanspec_radio2057_setup(phy_info_t *pi,
18354 const chan_info_nphy_radio2057_t *ci,
18355 const chan_info_nphy_radio2057_rev5_t *ci2)
18358 u16 txmix2g_tune_boost_pu = 0;
18359 u16 pad2g_tune_pus = 0;
18361 if (pi->pubpi.radiorev == 5) {
18363 write_radio_reg(pi,
18364 RADIO_2057_VCOCAL_COUNTVAL0,
18365 ci2->RF_vcocal_countval0);
18366 write_radio_reg(pi, RADIO_2057_VCOCAL_COUNTVAL1,
18367 ci2->RF_vcocal_countval1);
18368 write_radio_reg(pi, RADIO_2057_RFPLL_REFMASTER_SPAREXTALSIZE,
18369 ci2->RF_rfpll_refmaster_sparextalsize);
18370 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18371 ci2->RF_rfpll_loopfilter_r1);
18372 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18373 ci2->RF_rfpll_loopfilter_c2);
18374 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18375 ci2->RF_rfpll_loopfilter_c1);
18376 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC,
18377 ci2->RF_cp_kpd_idac);
18378 write_radio_reg(pi, RADIO_2057_RFPLL_MMD0, ci2->RF_rfpll_mmd0);
18379 write_radio_reg(pi, RADIO_2057_RFPLL_MMD1, ci2->RF_rfpll_mmd1);
18380 write_radio_reg(pi,
18381 RADIO_2057_VCOBUF_TUNE, ci2->RF_vcobuf_tune);
18382 write_radio_reg(pi,
18383 RADIO_2057_LOGEN_MX2G_TUNE,
18384 ci2->RF_logen_mx2g_tune);
18385 write_radio_reg(pi, RADIO_2057_LOGEN_INDBUF2G_TUNE,
18386 ci2->RF_logen_indbuf2g_tune);
18388 write_radio_reg(pi,
18389 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE0,
18390 ci2->RF_txmix2g_tune_boost_pu_core0);
18391 write_radio_reg(pi,
18392 RADIO_2057_PAD2G_TUNE_PUS_CORE0,
18393 ci2->RF_pad2g_tune_pus_core0);
18394 write_radio_reg(pi, RADIO_2057_LNA2G_TUNE_CORE0,
18395 ci2->RF_lna2g_tune_core0);
18397 write_radio_reg(pi,
18398 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE1,
18399 ci2->RF_txmix2g_tune_boost_pu_core1);
18400 write_radio_reg(pi,
18401 RADIO_2057_PAD2G_TUNE_PUS_CORE1,
18402 ci2->RF_pad2g_tune_pus_core1);
18403 write_radio_reg(pi, RADIO_2057_LNA2G_TUNE_CORE1,
18404 ci2->RF_lna2g_tune_core1);
18408 write_radio_reg(pi,
18409 RADIO_2057_VCOCAL_COUNTVAL0,
18410 ci->RF_vcocal_countval0);
18411 write_radio_reg(pi, RADIO_2057_VCOCAL_COUNTVAL1,
18412 ci->RF_vcocal_countval1);
18413 write_radio_reg(pi, RADIO_2057_RFPLL_REFMASTER_SPAREXTALSIZE,
18414 ci->RF_rfpll_refmaster_sparextalsize);
18415 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18416 ci->RF_rfpll_loopfilter_r1);
18417 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18418 ci->RF_rfpll_loopfilter_c2);
18419 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18420 ci->RF_rfpll_loopfilter_c1);
18421 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, ci->RF_cp_kpd_idac);
18422 write_radio_reg(pi, RADIO_2057_RFPLL_MMD0, ci->RF_rfpll_mmd0);
18423 write_radio_reg(pi, RADIO_2057_RFPLL_MMD1, ci->RF_rfpll_mmd1);
18424 write_radio_reg(pi, RADIO_2057_VCOBUF_TUNE, ci->RF_vcobuf_tune);
18425 write_radio_reg(pi,
18426 RADIO_2057_LOGEN_MX2G_TUNE,
18427 ci->RF_logen_mx2g_tune);
18428 write_radio_reg(pi, RADIO_2057_LOGEN_MX5G_TUNE,
18429 ci->RF_logen_mx5g_tune);
18430 write_radio_reg(pi, RADIO_2057_LOGEN_INDBUF2G_TUNE,
18431 ci->RF_logen_indbuf2g_tune);
18432 write_radio_reg(pi, RADIO_2057_LOGEN_INDBUF5G_TUNE,
18433 ci->RF_logen_indbuf5g_tune);
18435 write_radio_reg(pi,
18436 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE0,
18437 ci->RF_txmix2g_tune_boost_pu_core0);
18438 write_radio_reg(pi,
18439 RADIO_2057_PAD2G_TUNE_PUS_CORE0,
18440 ci->RF_pad2g_tune_pus_core0);
18441 write_radio_reg(pi, RADIO_2057_PGA_BOOST_TUNE_CORE0,
18442 ci->RF_pga_boost_tune_core0);
18443 write_radio_reg(pi, RADIO_2057_TXMIX5G_BOOST_TUNE_CORE0,
18444 ci->RF_txmix5g_boost_tune_core0);
18445 write_radio_reg(pi, RADIO_2057_PAD5G_TUNE_MISC_PUS_CORE0,
18446 ci->RF_pad5g_tune_misc_pus_core0);
18447 write_radio_reg(pi, RADIO_2057_LNA2G_TUNE_CORE0,
18448 ci->RF_lna2g_tune_core0);
18449 write_radio_reg(pi, RADIO_2057_LNA5G_TUNE_CORE0,
18450 ci->RF_lna5g_tune_core0);
18452 write_radio_reg(pi,
18453 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE1,
18454 ci->RF_txmix2g_tune_boost_pu_core1);
18455 write_radio_reg(pi,
18456 RADIO_2057_PAD2G_TUNE_PUS_CORE1,
18457 ci->RF_pad2g_tune_pus_core1);
18458 write_radio_reg(pi, RADIO_2057_PGA_BOOST_TUNE_CORE1,
18459 ci->RF_pga_boost_tune_core1);
18460 write_radio_reg(pi, RADIO_2057_TXMIX5G_BOOST_TUNE_CORE1,
18461 ci->RF_txmix5g_boost_tune_core1);
18462 write_radio_reg(pi, RADIO_2057_PAD5G_TUNE_MISC_PUS_CORE1,
18463 ci->RF_pad5g_tune_misc_pus_core1);
18464 write_radio_reg(pi, RADIO_2057_LNA2G_TUNE_CORE1,
18465 ci->RF_lna2g_tune_core1);
18466 write_radio_reg(pi, RADIO_2057_LNA5G_TUNE_CORE1,
18467 ci->RF_lna5g_tune_core1);
18470 if ((pi->pubpi.radiorev <= 4) || (pi->pubpi.radiorev == 6)) {
18472 if (CHSPEC_IS2G(pi->radio_chanspec)) {
18473 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18475 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, 0x3f);
18476 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18478 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18481 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18483 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, 0x3f);
18484 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18486 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18489 } else if ((pi->pubpi.radiorev == 5) || (pi->pubpi.radiorev == 7) ||
18490 (pi->pubpi.radiorev == 8)) {
18492 if (CHSPEC_IS2G(pi->radio_chanspec)) {
18493 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18495 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, 0x30);
18496 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18498 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18501 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18503 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, 0x3f);
18504 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18506 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18512 if (CHSPEC_IS2G(pi->radio_chanspec)) {
18514 if (pi->pubpi.radiorev == 3) {
18515 txmix2g_tune_boost_pu = 0x6b;
18518 if (pi->pubpi.radiorev == 5)
18519 pad2g_tune_pus = 0x73;
18522 if (pi->pubpi.radiorev != 5) {
18523 pad2g_tune_pus = 0x3;
18525 txmix2g_tune_boost_pu = 0x61;
18529 for (coreNum = 0; coreNum <= 1; coreNum++) {
18531 if (txmix2g_tune_boost_pu != 0)
18532 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
18533 TXMIX2G_TUNE_BOOST_PU,
18534 txmix2g_tune_boost_pu);
18536 if (pad2g_tune_pus != 0)
18537 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
18545 wlc_phy_radio205x_vcocal_nphy(pi);
18548 static u16 wlc_phy_radio2057_rccal(phy_info_t *pi)
18552 bool chip43226_6362A0;
18554 chip43226_6362A0 = ((pi->pubpi.radiorev == 3)
18555 || (pi->pubpi.radiorev == 4)
18556 || (pi->pubpi.radiorev == 6));
18559 if (chip43226_6362A0) {
18560 write_radio_reg(pi, RADIO_2057_RCCAL_MASTER, 0x61);
18561 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xc0);
18563 write_radio_reg(pi, RADIO_2057v7_RCCAL_MASTER, 0x61);
18565 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xe9);
18567 write_radio_reg(pi, RADIO_2057_RCCAL_X1, 0x6e);
18568 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x55);
18570 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
18571 rccal_valid = read_radio_reg(pi, RADIO_2057_RCCAL_DONE_OSCCAP);
18572 if (rccal_valid & 0x2) {
18578 ASSERT(rccal_valid & 0x2);
18580 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x15);
18583 if (chip43226_6362A0) {
18584 write_radio_reg(pi, RADIO_2057_RCCAL_MASTER, 0x69);
18585 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xb0);
18587 write_radio_reg(pi, RADIO_2057v7_RCCAL_MASTER, 0x69);
18589 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xd5);
18591 write_radio_reg(pi, RADIO_2057_RCCAL_X1, 0x6e);
18592 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x55);
18594 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
18595 rccal_valid = read_radio_reg(pi, RADIO_2057_RCCAL_DONE_OSCCAP);
18596 if (rccal_valid & 0x2) {
18602 ASSERT(rccal_valid & 0x2);
18604 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x15);
18607 if (chip43226_6362A0) {
18608 write_radio_reg(pi, RADIO_2057_RCCAL_MASTER, 0x73);
18610 write_radio_reg(pi, RADIO_2057_RCCAL_X1, 0x28);
18611 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xb0);
18613 write_radio_reg(pi, RADIO_2057v7_RCCAL_MASTER, 0x73);
18614 write_radio_reg(pi, RADIO_2057_RCCAL_X1, 0x6e);
18615 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0x99);
18617 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x55);
18619 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
18620 rccal_valid = read_radio_reg(pi, RADIO_2057_RCCAL_DONE_OSCCAP);
18621 if (rccal_valid & 0x2) {
18627 ASSERT(rccal_valid & 0x2);
18629 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x15);
18631 return rccal_valid;
18635 wlc_phy_adjust_rx_analpfbw_nphy(phy_info_t *pi, u16 reduction_factr)
18637 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 7)) {
18638 if ((CHSPEC_CHANNEL(pi->radio_chanspec) == 11) &&
18639 CHSPEC_IS40(pi->radio_chanspec)) {
18640 if (!pi->nphy_anarxlpf_adjusted) {
18641 write_radio_reg(pi,
18642 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
18644 ((pi->nphy_rccal_value +
18645 reduction_factr) | 0x80));
18647 pi->nphy_anarxlpf_adjusted = true;
18650 if (pi->nphy_anarxlpf_adjusted) {
18651 write_radio_reg(pi,
18652 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
18654 (pi->nphy_rccal_value | 0x80));
18656 pi->nphy_anarxlpf_adjusted = false;
18663 wlc_phy_adjust_min_noisevar_nphy(phy_info_t *pi, int ntones, int *tone_id_buf,
18664 u32 *noise_var_buf)
18671 radio_chanspec) ? NPHY_NOISEVAR_TBLLEN40 :
18672 NPHY_NOISEVAR_TBLLEN20;
18674 if (pi->nphy_noisevars_adjusted) {
18675 for (i = 0; i < pi->nphy_saved_noisevars.bufcount; i++) {
18676 tone_id = pi->nphy_saved_noisevars.tone_id[i];
18677 offset = (tone_id >= 0) ?
18678 ((tone_id * 2) + 1) : (tbllen + (tone_id * 2) + 1);
18679 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
18682 nphy_saved_noisevars.
18683 min_noise_vars[i]);
18686 pi->nphy_saved_noisevars.bufcount = 0;
18687 pi->nphy_noisevars_adjusted = false;
18690 if ((noise_var_buf != NULL) && (tone_id_buf != NULL)) {
18691 pi->nphy_saved_noisevars.bufcount = 0;
18693 for (i = 0; i < ntones; i++) {
18694 tone_id = tone_id_buf[i];
18695 offset = (tone_id >= 0) ?
18696 ((tone_id * 2) + 1) : (tbllen + (tone_id * 2) + 1);
18697 pi->nphy_saved_noisevars.tone_id[i] = tone_id;
18698 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
18700 &pi->nphy_saved_noisevars.
18701 min_noise_vars[i]);
18702 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
18704 (void *)&noise_var_buf[i]);
18705 pi->nphy_saved_noisevars.bufcount++;
18708 pi->nphy_noisevars_adjusted = true;
18712 static void wlc_phy_adjust_crsminpwr_nphy(phy_info_t *pi, u8 minpwr)
18716 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
18717 if ((CHSPEC_CHANNEL(pi->radio_chanspec) == 11) &&
18718 CHSPEC_IS40(pi->radio_chanspec)) {
18719 if (!pi->nphy_crsminpwr_adjusted) {
18720 regval = read_phy_reg(pi, 0x27d);
18721 pi->nphy_crsminpwr[0] = regval & 0xff;
18723 regval |= (u16) minpwr;
18724 write_phy_reg(pi, 0x27d, regval);
18726 regval = read_phy_reg(pi, 0x280);
18727 pi->nphy_crsminpwr[1] = regval & 0xff;
18729 regval |= (u16) minpwr;
18730 write_phy_reg(pi, 0x280, regval);
18732 regval = read_phy_reg(pi, 0x283);
18733 pi->nphy_crsminpwr[2] = regval & 0xff;
18735 regval |= (u16) minpwr;
18736 write_phy_reg(pi, 0x283, regval);
18738 pi->nphy_crsminpwr_adjusted = true;
18741 if (pi->nphy_crsminpwr_adjusted) {
18742 regval = read_phy_reg(pi, 0x27d);
18744 regval |= pi->nphy_crsminpwr[0];
18745 write_phy_reg(pi, 0x27d, regval);
18747 regval = read_phy_reg(pi, 0x280);
18749 regval |= pi->nphy_crsminpwr[1];
18750 write_phy_reg(pi, 0x280, regval);
18752 regval = read_phy_reg(pi, 0x283);
18754 regval |= pi->nphy_crsminpwr[2];
18755 write_phy_reg(pi, 0x283, regval);
18757 pi->nphy_crsminpwr_adjusted = false;
18763 static void wlc_phy_txlpfbw_nphy(phy_info_t *pi)
18767 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 7)) {
18768 if (CHSPEC_IS40(pi->radio_chanspec)) {
18775 if (CHSPEC_IS40(pi->radio_chanspec)) {
18781 write_phy_reg(pi, 0xe8,
18784 (tx_lpf_bw << 6) | (tx_lpf_bw << 9));
18788 if (CHSPEC_IS40(pi->radio_chanspec)) {
18794 write_phy_reg(pi, 0xe9,
18797 (tx_lpf_bw << 6) | (tx_lpf_bw << 9));
18802 static void wlc_phy_spurwar_nphy(phy_info_t *pi)
18804 u16 cur_channel = 0;
18805 int nphy_adj_tone_id_buf[] = { 57, 58 };
18806 u32 nphy_adj_noise_var_buf[] = { 0x3ff, 0x3ff };
18807 bool isAdjustNoiseVar = false;
18808 uint numTonesAdjust = 0;
18811 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
18812 if (pi->phyhang_avoid)
18813 wlc_phy_stay_in_carriersearch_nphy(pi, true);
18815 cur_channel = CHSPEC_CHANNEL(pi->radio_chanspec);
18817 if (pi->nphy_gband_spurwar_en) {
18819 wlc_phy_adjust_rx_analpfbw_nphy(pi,
18820 NPHY_ANARXLPFBW_REDUCTIONFACT);
18822 if (CHSPEC_IS2G(pi->radio_chanspec)) {
18823 if ((cur_channel == 11)
18824 && CHSPEC_IS40(pi->radio_chanspec)) {
18826 wlc_phy_adjust_min_noisevar_nphy(pi, 2,
18827 nphy_adj_tone_id_buf,
18828 nphy_adj_noise_var_buf);
18831 wlc_phy_adjust_min_noisevar_nphy(pi, 0,
18836 wlc_phy_adjust_crsminpwr_nphy(pi,
18837 NPHY_ADJUSTED_MINCRSPOWER);
18840 if ((pi->nphy_gband_spurwar2_en)
18841 && CHSPEC_IS2G(pi->radio_chanspec)) {
18843 if (CHSPEC_IS40(pi->radio_chanspec)) {
18844 switch (cur_channel) {
18846 nphy_adj_tone_id_buf[0] = 57;
18847 nphy_adj_tone_id_buf[1] = 58;
18848 nphy_adj_noise_var_buf[0] = 0x22f;
18849 nphy_adj_noise_var_buf[1] = 0x25f;
18850 isAdjustNoiseVar = true;
18853 nphy_adj_tone_id_buf[0] = 41;
18854 nphy_adj_tone_id_buf[1] = 42;
18855 nphy_adj_noise_var_buf[0] = 0x22f;
18856 nphy_adj_noise_var_buf[1] = 0x25f;
18857 isAdjustNoiseVar = true;
18860 nphy_adj_tone_id_buf[0] = 25;
18861 nphy_adj_tone_id_buf[1] = 26;
18862 nphy_adj_noise_var_buf[0] = 0x24f;
18863 nphy_adj_noise_var_buf[1] = 0x25f;
18864 isAdjustNoiseVar = true;
18867 nphy_adj_tone_id_buf[0] = 9;
18868 nphy_adj_tone_id_buf[1] = 10;
18869 nphy_adj_noise_var_buf[0] = 0x22f;
18870 nphy_adj_noise_var_buf[1] = 0x24f;
18871 isAdjustNoiseVar = true;
18874 nphy_adj_tone_id_buf[0] = 121;
18875 nphy_adj_tone_id_buf[1] = 122;
18876 nphy_adj_noise_var_buf[0] = 0x18f;
18877 nphy_adj_noise_var_buf[1] = 0x24f;
18878 isAdjustNoiseVar = true;
18881 nphy_adj_tone_id_buf[0] = 105;
18882 nphy_adj_tone_id_buf[1] = 106;
18883 nphy_adj_noise_var_buf[0] = 0x22f;
18884 nphy_adj_noise_var_buf[1] = 0x25f;
18885 isAdjustNoiseVar = true;
18888 nphy_adj_tone_id_buf[0] = 89;
18889 nphy_adj_tone_id_buf[1] = 90;
18890 nphy_adj_noise_var_buf[0] = 0x22f;
18891 nphy_adj_noise_var_buf[1] = 0x24f;
18892 isAdjustNoiseVar = true;
18895 nphy_adj_tone_id_buf[0] = 73;
18896 nphy_adj_tone_id_buf[1] = 74;
18897 nphy_adj_noise_var_buf[0] = 0x22f;
18898 nphy_adj_noise_var_buf[1] = 0x24f;
18899 isAdjustNoiseVar = true;
18902 isAdjustNoiseVar = false;
18907 if (isAdjustNoiseVar) {
18908 numTonesAdjust = sizeof(nphy_adj_tone_id_buf) /
18909 sizeof(nphy_adj_tone_id_buf[0]);
18911 wlc_phy_adjust_min_noisevar_nphy(pi,
18913 nphy_adj_tone_id_buf,
18914 nphy_adj_noise_var_buf);
18920 wlc_phy_adjust_min_noisevar_nphy(pi, 0, NULL,
18925 if ((pi->nphy_aband_spurwar_en) &&
18926 (CHSPEC_IS5G(pi->radio_chanspec))) {
18927 switch (cur_channel) {
18929 nphy_adj_tone_id_buf[0] = 32;
18930 nphy_adj_noise_var_buf[0] = 0x25f;
18935 if ((pi->sh->chip == BCM4716_CHIP_ID) &&
18936 (pi->sh->chippkg == BCM4717_PKG_ID)) {
18937 nphy_adj_tone_id_buf[0] = 32;
18938 nphy_adj_noise_var_buf[0] = 0x21f;
18940 nphy_adj_tone_id_buf[0] = 0;
18941 nphy_adj_noise_var_buf[0] = 0x0;
18945 nphy_adj_tone_id_buf[0] = 32;
18946 nphy_adj_noise_var_buf[0] = 0x21f;
18949 nphy_adj_tone_id_buf[0] = 16;
18950 nphy_adj_noise_var_buf[0] = 0x23f;
18954 nphy_adj_tone_id_buf[0] = 48;
18955 nphy_adj_noise_var_buf[0] = 0x23f;
18958 nphy_adj_tone_id_buf[0] = 0;
18959 nphy_adj_noise_var_buf[0] = 0x0;
18963 if (nphy_adj_tone_id_buf[0]
18964 && nphy_adj_noise_var_buf[0]) {
18965 wlc_phy_adjust_min_noisevar_nphy(pi, 1,
18966 nphy_adj_tone_id_buf,
18967 nphy_adj_noise_var_buf);
18969 wlc_phy_adjust_min_noisevar_nphy(pi, 0, NULL,
18974 if (pi->phyhang_avoid)
18975 wlc_phy_stay_in_carriersearch_nphy(pi, false);
18980 wlc_phy_chanspec_nphy_setup(phy_info_t *pi, chanspec_t chanspec,
18981 const nphy_sfo_cfg_t *ci)
18985 val = read_phy_reg(pi, 0x09) & NPHY_BandControl_currentBand;
18986 if (CHSPEC_IS5G(chanspec) && !val) {
18988 val = R_REG(pi->sh->osh, &pi->regs->psm_phy_hdr_param);
18989 W_REG(pi->sh->osh, &pi->regs->psm_phy_hdr_param,
18990 (val | MAC_PHY_FORCE_CLK));
18992 or_phy_reg(pi, (NPHY_TO_BPHY_OFF + BPHY_BB_CONFIG),
18993 (BBCFG_RESETCCA | BBCFG_RESETRX));
18995 W_REG(pi->sh->osh, &pi->regs->psm_phy_hdr_param, val);
18997 or_phy_reg(pi, 0x09, NPHY_BandControl_currentBand);
18998 } else if (!CHSPEC_IS5G(chanspec) && val) {
19000 and_phy_reg(pi, 0x09, ~NPHY_BandControl_currentBand);
19002 val = R_REG(pi->sh->osh, &pi->regs->psm_phy_hdr_param);
19003 W_REG(pi->sh->osh, &pi->regs->psm_phy_hdr_param,
19004 (val | MAC_PHY_FORCE_CLK));
19006 and_phy_reg(pi, (NPHY_TO_BPHY_OFF + BPHY_BB_CONFIG),
19007 (u16) (~(BBCFG_RESETCCA | BBCFG_RESETRX)));
19009 W_REG(pi->sh->osh, &pi->regs->psm_phy_hdr_param, val);
19012 write_phy_reg(pi, 0x1ce, ci->PHY_BW1a);
19013 write_phy_reg(pi, 0x1cf, ci->PHY_BW2);
19014 write_phy_reg(pi, 0x1d0, ci->PHY_BW3);
19016 write_phy_reg(pi, 0x1d1, ci->PHY_BW4);
19017 write_phy_reg(pi, 0x1d2, ci->PHY_BW5);
19018 write_phy_reg(pi, 0x1d3, ci->PHY_BW6);
19020 if (CHSPEC_CHANNEL(pi->radio_chanspec) == 14) {
19021 wlc_phy_classifier_nphy(pi, NPHY_ClassifierCtrl_ofdm_en, 0);
19023 or_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_TEST, 0x800);
19025 wlc_phy_classifier_nphy(pi, NPHY_ClassifierCtrl_ofdm_en,
19026 NPHY_ClassifierCtrl_ofdm_en);
19028 if (CHSPEC_IS2G(chanspec))
19029 and_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_TEST, ~0x840);
19032 if (pi->nphy_txpwrctrl == PHY_TPC_HW_OFF) {
19033 wlc_phy_txpwr_fixpower_nphy(pi);
19036 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
19038 wlc_phy_adjust_lnagaintbl_nphy(pi);
19041 wlc_phy_txlpfbw_nphy(pi);
19043 if (NREV_GE(pi->pubpi.phy_rev, 3)
19044 && (pi->phy_spuravoid != SPURAVOID_DISABLE)) {
19047 val = CHSPEC_CHANNEL(chanspec);
19048 if (!CHSPEC_IS40(pi->radio_chanspec)) {
19049 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19050 if ((val == 13) || (val == 14) || (val == 153)) {
19055 if (((val >= 5) && (val <= 8)) || (val == 13)
19061 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19067 if (pi->nphy_aband_spurwar_en &&
19068 ((val == 38) || (val == 102)
19069 || (val == 118))) {
19070 if ((pi->sh->chip ==
19072 && (pi->sh->chippkg ==
19082 if (pi->phy_spuravoid == SPURAVOID_FORCEON)
19085 if ((pi->sh->chip == BCM4716_CHIP_ID) ||
19086 (pi->sh->chip == BCM47162_CHIP_ID)) {
19087 si_pmu_spuravoid(pi->sh->sih, pi->sh->osh, spuravoid);
19089 wlapi_bmac_core_phypll_ctl(pi->sh->physhim, false);
19090 si_pmu_spuravoid(pi->sh->sih, pi->sh->osh, spuravoid);
19091 wlapi_bmac_core_phypll_ctl(pi->sh->physhim, true);
19094 if ((pi->sh->chip == BCM43224_CHIP_ID) ||
19095 (pi->sh->chip == BCM43225_CHIP_ID) ||
19096 (pi->sh->chip == BCM43421_CHIP_ID)) {
19098 if (spuravoid == 1) {
19100 W_REG(pi->sh->osh, &pi->regs->tsf_clk_frac_l,
19102 W_REG(pi->sh->osh, &pi->regs->tsf_clk_frac_h,
19106 W_REG(pi->sh->osh, &pi->regs->tsf_clk_frac_l,
19108 W_REG(pi->sh->osh, &pi->regs->tsf_clk_frac_h,
19113 if (!((pi->sh->chip == BCM4716_CHIP_ID) ||
19114 (pi->sh->chip == BCM47162_CHIP_ID))) {
19115 wlapi_bmac_core_phypll_reset(pi->sh->physhim);
19118 mod_phy_reg(pi, 0x01, (0x1 << 15),
19119 ((spuravoid > 0) ? (0x1 << 15) : 0));
19121 wlc_phy_resetcca_nphy(pi);
19123 pi->phy_isspuravoid = (spuravoid > 0);
19126 if (NREV_LT(pi->pubpi.phy_rev, 7))
19127 write_phy_reg(pi, 0x17e, 0x3830);
19129 wlc_phy_spurwar_nphy(pi);
19132 void wlc_phy_chanspec_set_nphy(phy_info_t *pi, chanspec_t chanspec)
19135 chan_info_nphy_radio2057_t *t0 = NULL;
19136 chan_info_nphy_radio205x_t *t1 = NULL;
19137 chan_info_nphy_radio2057_rev5_t *t2 = NULL;
19138 chan_info_nphy_2055_t *t3 = NULL;
19140 if (NORADIO_ENAB(pi->pubpi)) {
19144 if (!wlc_phy_chan2freq_nphy
19145 (pi, CHSPEC_CHANNEL(chanspec), &freq, &t0, &t1, &t2, &t3))
19148 wlc_phy_chanspec_radio_set((wlc_phy_t *) pi, chanspec);
19150 if (CHSPEC_BW(chanspec) != pi->bw)
19151 wlapi_bmac_bw_set(pi->sh->physhim, CHSPEC_BW(chanspec));
19153 if (CHSPEC_IS40(chanspec)) {
19154 if (CHSPEC_SB_UPPER(chanspec)) {
19155 or_phy_reg(pi, 0xa0, BPHY_BAND_SEL_UP20);
19156 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19157 or_phy_reg(pi, 0x310, PRIM_SEL_UP20);
19160 and_phy_reg(pi, 0xa0, ~BPHY_BAND_SEL_UP20);
19161 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19162 and_phy_reg(pi, 0x310,
19163 (~PRIM_SEL_UP20 & 0xffff));
19168 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19169 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19171 if ((pi->pubpi.radiorev <= 4)
19172 || (pi->pubpi.radiorev == 6)) {
19173 mod_radio_reg(pi, RADIO_2057_TIA_CONFIG_CORE0,
19175 (CHSPEC_IS5G(chanspec) ? (1 << 1)
19177 mod_radio_reg(pi, RADIO_2057_TIA_CONFIG_CORE1,
19179 (CHSPEC_IS5G(chanspec) ? (1 << 1)
19183 wlc_phy_chanspec_radio2057_setup(pi, t0, t2);
19184 wlc_phy_chanspec_nphy_setup(pi, chanspec,
19185 (pi->pubpi.radiorev ==
19186 5) ? (const nphy_sfo_cfg_t
19189 : (const nphy_sfo_cfg_t *)
19195 RADIO_2056_SYN_COM_CTRL | RADIO_2056_SYN,
19197 (CHSPEC_IS5G(chanspec) ? (0x1 << 2) : 0));
19198 wlc_phy_chanspec_radio2056_setup(pi, t1);
19200 wlc_phy_chanspec_nphy_setup(pi, chanspec,
19201 (const nphy_sfo_cfg_t *)
19207 mod_radio_reg(pi, RADIO_2055_MASTER_CNTRL1, 0x70,
19208 (CHSPEC_IS5G(chanspec) ? (0x02 << 4)
19211 wlc_phy_chanspec_radio2055_setup(pi, t3);
19212 wlc_phy_chanspec_nphy_setup(pi, chanspec,
19213 (const nphy_sfo_cfg_t *)&(t3->
19219 static void wlc_phy_savecal_nphy(phy_info_t *pi)
19223 u16 *txcal_radio_regs = NULL;
19225 if (pi->phyhang_avoid)
19226 wlc_phy_stay_in_carriersearch_nphy(pi, true);
19228 if (CHSPEC_IS2G(pi->radio_chanspec)) {
19230 wlc_phy_rx_iq_coeffs_nphy(pi, 0,
19231 &pi->calibration_cache.
19234 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19236 pi->calibration_cache.txcal_radio_regs_2G;
19237 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19239 pi->calibration_cache.txcal_radio_regs_2G[0] =
19241 RADIO_2056_TX_LOFT_FINE_I |
19243 pi->calibration_cache.txcal_radio_regs_2G[1] =
19245 RADIO_2056_TX_LOFT_FINE_Q |
19247 pi->calibration_cache.txcal_radio_regs_2G[2] =
19249 RADIO_2056_TX_LOFT_FINE_I |
19251 pi->calibration_cache.txcal_radio_regs_2G[3] =
19253 RADIO_2056_TX_LOFT_FINE_Q |
19256 pi->calibration_cache.txcal_radio_regs_2G[4] =
19258 RADIO_2056_TX_LOFT_COARSE_I |
19260 pi->calibration_cache.txcal_radio_regs_2G[5] =
19262 RADIO_2056_TX_LOFT_COARSE_Q |
19264 pi->calibration_cache.txcal_radio_regs_2G[6] =
19266 RADIO_2056_TX_LOFT_COARSE_I |
19268 pi->calibration_cache.txcal_radio_regs_2G[7] =
19270 RADIO_2056_TX_LOFT_COARSE_Q |
19273 pi->calibration_cache.txcal_radio_regs_2G[0] =
19274 read_radio_reg(pi, RADIO_2055_CORE1_TX_VOS_CNCL);
19275 pi->calibration_cache.txcal_radio_regs_2G[1] =
19276 read_radio_reg(pi, RADIO_2055_CORE2_TX_VOS_CNCL);
19277 pi->calibration_cache.txcal_radio_regs_2G[2] =
19278 read_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM);
19279 pi->calibration_cache.txcal_radio_regs_2G[3] =
19280 read_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM);
19283 pi->nphy_iqcal_chanspec_2G = pi->radio_chanspec;
19284 tbl_ptr = pi->calibration_cache.txcal_coeffs_2G;
19287 wlc_phy_rx_iq_coeffs_nphy(pi, 0,
19288 &pi->calibration_cache.
19291 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19293 pi->calibration_cache.txcal_radio_regs_5G;
19294 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19296 pi->calibration_cache.txcal_radio_regs_5G[0] =
19298 RADIO_2056_TX_LOFT_FINE_I |
19300 pi->calibration_cache.txcal_radio_regs_5G[1] =
19302 RADIO_2056_TX_LOFT_FINE_Q |
19304 pi->calibration_cache.txcal_radio_regs_5G[2] =
19306 RADIO_2056_TX_LOFT_FINE_I |
19308 pi->calibration_cache.txcal_radio_regs_5G[3] =
19310 RADIO_2056_TX_LOFT_FINE_Q |
19313 pi->calibration_cache.txcal_radio_regs_5G[4] =
19315 RADIO_2056_TX_LOFT_COARSE_I |
19317 pi->calibration_cache.txcal_radio_regs_5G[5] =
19319 RADIO_2056_TX_LOFT_COARSE_Q |
19321 pi->calibration_cache.txcal_radio_regs_5G[6] =
19323 RADIO_2056_TX_LOFT_COARSE_I |
19325 pi->calibration_cache.txcal_radio_regs_5G[7] =
19327 RADIO_2056_TX_LOFT_COARSE_Q |
19330 pi->calibration_cache.txcal_radio_regs_5G[0] =
19331 read_radio_reg(pi, RADIO_2055_CORE1_TX_VOS_CNCL);
19332 pi->calibration_cache.txcal_radio_regs_5G[1] =
19333 read_radio_reg(pi, RADIO_2055_CORE2_TX_VOS_CNCL);
19334 pi->calibration_cache.txcal_radio_regs_5G[2] =
19335 read_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM);
19336 pi->calibration_cache.txcal_radio_regs_5G[3] =
19337 read_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM);
19340 pi->nphy_iqcal_chanspec_5G = pi->radio_chanspec;
19341 tbl_ptr = pi->calibration_cache.txcal_coeffs_5G;
19343 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19344 for (coreNum = 0; coreNum <= 1; coreNum++) {
19346 txcal_radio_regs[2 * coreNum] =
19347 READ_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19349 txcal_radio_regs[2 * coreNum + 1] =
19350 READ_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19353 txcal_radio_regs[2 * coreNum + 4] =
19354 READ_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19356 txcal_radio_regs[2 * coreNum + 5] =
19357 READ_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19362 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL, 8, 80, 16, tbl_ptr);
19364 if (pi->phyhang_avoid)
19365 wlc_phy_stay_in_carriersearch_nphy(pi, false);
19368 static void wlc_phy_restorecal_nphy(phy_info_t *pi)
19371 u16 txcal_coeffs_bphy[4];
19374 u16 *txcal_radio_regs = NULL;
19376 if (CHSPEC_IS2G(pi->radio_chanspec)) {
19377 if (pi->nphy_iqcal_chanspec_2G == 0)
19380 tbl_ptr = pi->calibration_cache.txcal_coeffs_2G;
19381 loft_comp = &pi->calibration_cache.txcal_coeffs_2G[5];
19383 if (pi->nphy_iqcal_chanspec_5G == 0)
19386 tbl_ptr = pi->calibration_cache.txcal_coeffs_5G;
19387 loft_comp = &pi->calibration_cache.txcal_coeffs_5G[5];
19390 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 80, 16,
19393 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19394 txcal_coeffs_bphy[0] = tbl_ptr[0];
19395 txcal_coeffs_bphy[1] = tbl_ptr[1];
19396 txcal_coeffs_bphy[2] = tbl_ptr[2];
19397 txcal_coeffs_bphy[3] = tbl_ptr[3];
19399 txcal_coeffs_bphy[0] = 0;
19400 txcal_coeffs_bphy[1] = 0;
19401 txcal_coeffs_bphy[2] = 0;
19402 txcal_coeffs_bphy[3] = 0;
19405 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 88, 16,
19406 txcal_coeffs_bphy);
19408 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 85, 16, loft_comp);
19410 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 93, 16, loft_comp);
19412 if (NREV_LT(pi->pubpi.phy_rev, 2))
19413 wlc_phy_tx_iq_war_nphy(pi);
19415 if (CHSPEC_IS2G(pi->radio_chanspec)) {
19416 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19418 pi->calibration_cache.txcal_radio_regs_2G;
19419 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19421 write_radio_reg(pi,
19422 RADIO_2056_TX_LOFT_FINE_I |
19424 pi->calibration_cache.
19425 txcal_radio_regs_2G[0]);
19426 write_radio_reg(pi,
19427 RADIO_2056_TX_LOFT_FINE_Q |
19429 pi->calibration_cache.
19430 txcal_radio_regs_2G[1]);
19431 write_radio_reg(pi,
19432 RADIO_2056_TX_LOFT_FINE_I |
19434 pi->calibration_cache.
19435 txcal_radio_regs_2G[2]);
19436 write_radio_reg(pi,
19437 RADIO_2056_TX_LOFT_FINE_Q |
19439 pi->calibration_cache.
19440 txcal_radio_regs_2G[3]);
19442 write_radio_reg(pi,
19443 RADIO_2056_TX_LOFT_COARSE_I |
19445 pi->calibration_cache.
19446 txcal_radio_regs_2G[4]);
19447 write_radio_reg(pi,
19448 RADIO_2056_TX_LOFT_COARSE_Q |
19450 pi->calibration_cache.
19451 txcal_radio_regs_2G[5]);
19452 write_radio_reg(pi,
19453 RADIO_2056_TX_LOFT_COARSE_I |
19455 pi->calibration_cache.
19456 txcal_radio_regs_2G[6]);
19457 write_radio_reg(pi,
19458 RADIO_2056_TX_LOFT_COARSE_Q |
19460 pi->calibration_cache.
19461 txcal_radio_regs_2G[7]);
19463 write_radio_reg(pi, RADIO_2055_CORE1_TX_VOS_CNCL,
19464 pi->calibration_cache.
19465 txcal_radio_regs_2G[0]);
19466 write_radio_reg(pi, RADIO_2055_CORE2_TX_VOS_CNCL,
19467 pi->calibration_cache.
19468 txcal_radio_regs_2G[1]);
19469 write_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM,
19470 pi->calibration_cache.
19471 txcal_radio_regs_2G[2]);
19472 write_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM,
19473 pi->calibration_cache.
19474 txcal_radio_regs_2G[3]);
19477 wlc_phy_rx_iq_coeffs_nphy(pi, 1,
19478 &pi->calibration_cache.
19481 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19483 pi->calibration_cache.txcal_radio_regs_5G;
19484 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19486 write_radio_reg(pi,
19487 RADIO_2056_TX_LOFT_FINE_I |
19489 pi->calibration_cache.
19490 txcal_radio_regs_5G[0]);
19491 write_radio_reg(pi,
19492 RADIO_2056_TX_LOFT_FINE_Q |
19494 pi->calibration_cache.
19495 txcal_radio_regs_5G[1]);
19496 write_radio_reg(pi,
19497 RADIO_2056_TX_LOFT_FINE_I |
19499 pi->calibration_cache.
19500 txcal_radio_regs_5G[2]);
19501 write_radio_reg(pi,
19502 RADIO_2056_TX_LOFT_FINE_Q |
19504 pi->calibration_cache.
19505 txcal_radio_regs_5G[3]);
19507 write_radio_reg(pi,
19508 RADIO_2056_TX_LOFT_COARSE_I |
19510 pi->calibration_cache.
19511 txcal_radio_regs_5G[4]);
19512 write_radio_reg(pi,
19513 RADIO_2056_TX_LOFT_COARSE_Q |
19515 pi->calibration_cache.
19516 txcal_radio_regs_5G[5]);
19517 write_radio_reg(pi,
19518 RADIO_2056_TX_LOFT_COARSE_I |
19520 pi->calibration_cache.
19521 txcal_radio_regs_5G[6]);
19522 write_radio_reg(pi,
19523 RADIO_2056_TX_LOFT_COARSE_Q |
19525 pi->calibration_cache.
19526 txcal_radio_regs_5G[7]);
19528 write_radio_reg(pi, RADIO_2055_CORE1_TX_VOS_CNCL,
19529 pi->calibration_cache.
19530 txcal_radio_regs_5G[0]);
19531 write_radio_reg(pi, RADIO_2055_CORE2_TX_VOS_CNCL,
19532 pi->calibration_cache.
19533 txcal_radio_regs_5G[1]);
19534 write_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM,
19535 pi->calibration_cache.
19536 txcal_radio_regs_5G[2]);
19537 write_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM,
19538 pi->calibration_cache.
19539 txcal_radio_regs_5G[3]);
19542 wlc_phy_rx_iq_coeffs_nphy(pi, 1,
19543 &pi->calibration_cache.
19547 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19548 for (coreNum = 0; coreNum <= 1; coreNum++) {
19550 WRITE_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19552 txcal_radio_regs[2 * coreNum]);
19553 WRITE_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19555 txcal_radio_regs[2 * coreNum + 1]);
19557 WRITE_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19559 txcal_radio_regs[2 * coreNum + 4]);
19560 WRITE_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19562 txcal_radio_regs[2 * coreNum + 5]);
19567 void wlc_phy_antsel_init(wlc_phy_t *ppi, bool lut_init)
19569 phy_info_t *pi = (phy_info_t *) ppi;
19573 if (NREV_GE(pi->pubpi.phy_rev, 7))
19576 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19577 u16 v0 = 0x211, v1 = 0x222, v2 = 0x144, v3 = 0x188;
19579 if (lut_init == false)
19582 if (pi->srom_fem2g.antswctrllut == 0) {
19583 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19585 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19587 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19589 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19595 if (pi->srom_fem5g.antswctrllut == 0) {
19596 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19598 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19600 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19602 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19609 write_phy_reg(pi, 0xc8, 0x0);
19610 write_phy_reg(pi, 0xc9, 0x0);
19612 si_gpiocontrol(pi->sh->sih, mask, mask, GPIO_DRV_PRIORITY);
19614 mc = R_REG(pi->sh->osh, &pi->regs->maccontrol);
19615 mc &= ~MCTL_GPOUT_SEL_MASK;
19616 W_REG(pi->sh->osh, &pi->regs->maccontrol, mc);
19618 OR_REG(pi->sh->osh, &pi->regs->psm_gpio_oe, mask);
19620 AND_REG(pi->sh->osh, &pi->regs->psm_gpio_out, ~mask);
19623 write_phy_reg(pi, 0xf8, 0x02d8);
19624 write_phy_reg(pi, 0xf9, 0x0301);
19625 write_phy_reg(pi, 0xfa, 0x02d8);
19626 write_phy_reg(pi, 0xfb, 0x0301);
19631 u16 wlc_phy_classifier_nphy(phy_info_t *pi, u16 mask, u16 val)
19633 u16 curr_ctl, new_ctl;
19634 bool suspended = false;
19636 if (D11REV_IS(pi->sh->corerev, 16)) {
19638 (R_REG(pi->sh->osh, &pi->regs->maccontrol) & MCTL_EN_MAC) ?
19641 wlapi_suspend_mac_and_wait(pi->sh->physhim);
19644 curr_ctl = read_phy_reg(pi, 0xb0) & (0x7 << 0);
19646 new_ctl = (curr_ctl & (~mask)) | (val & mask);
19648 mod_phy_reg(pi, 0xb0, (0x7 << 0), new_ctl);
19650 if (D11REV_IS(pi->sh->corerev, 16) && !suspended)
19651 wlapi_enable_mac(pi->sh->physhim);
19656 static void wlc_phy_clip_det_nphy(phy_info_t *pi, u8 write, u16 *vals)
19660 vals[0] = read_phy_reg(pi, 0x2c);
19661 vals[1] = read_phy_reg(pi, 0x42);
19663 write_phy_reg(pi, 0x2c, vals[0]);
19664 write_phy_reg(pi, 0x42, vals[1]);
19668 void wlc_phy_force_rfseq_nphy(phy_info_t *pi, u8 cmd)
19670 u16 trigger_mask, status_mask;
19671 u16 orig_RfseqCoreActv;
19674 case NPHY_RFSEQ_RX2TX:
19675 trigger_mask = NPHY_RfseqTrigger_rx2tx;
19676 status_mask = NPHY_RfseqStatus_rx2tx;
19678 case NPHY_RFSEQ_TX2RX:
19679 trigger_mask = NPHY_RfseqTrigger_tx2rx;
19680 status_mask = NPHY_RfseqStatus_tx2rx;
19682 case NPHY_RFSEQ_RESET2RX:
19683 trigger_mask = NPHY_RfseqTrigger_reset2rx;
19684 status_mask = NPHY_RfseqStatus_reset2rx;
19686 case NPHY_RFSEQ_UPDATEGAINH:
19687 trigger_mask = NPHY_RfseqTrigger_updategainh;
19688 status_mask = NPHY_RfseqStatus_updategainh;
19690 case NPHY_RFSEQ_UPDATEGAINL:
19691 trigger_mask = NPHY_RfseqTrigger_updategainl;
19692 status_mask = NPHY_RfseqStatus_updategainl;
19694 case NPHY_RFSEQ_UPDATEGAINU:
19695 trigger_mask = NPHY_RfseqTrigger_updategainu;
19696 status_mask = NPHY_RfseqStatus_updategainu;
19702 orig_RfseqCoreActv = read_phy_reg(pi, 0xa1);
19703 or_phy_reg(pi, 0xa1,
19704 (NPHY_RfseqMode_CoreActv_override |
19705 NPHY_RfseqMode_Trigger_override));
19706 or_phy_reg(pi, 0xa3, trigger_mask);
19707 SPINWAIT((read_phy_reg(pi, 0xa4) & status_mask), 200000);
19708 write_phy_reg(pi, 0xa1, orig_RfseqCoreActv);
19710 ASSERT((read_phy_reg(pi, 0xa4) & status_mask) == 0);
19714 wlc_phy_set_rfseq_nphy(phy_info_t *pi, u8 cmd, u8 *events, u8 *dlys,
19717 u32 t1_offset, t2_offset;
19720 NREV_GE(pi->pubpi.phy_rev,
19721 3) ? NPHY_REV3_RFSEQ_CMD_END : NPHY_RFSEQ_CMD_END;
19726 if (pi->phyhang_avoid)
19727 wlc_phy_stay_in_carriersearch_nphy(pi, true);
19729 t1_offset = cmd << 4;
19730 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, len, t1_offset, 8,
19732 t2_offset = t1_offset + 0x080;
19733 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, len, t2_offset, 8,
19736 for (ctr = len; ctr < 16; ctr++) {
19737 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1,
19738 t1_offset + ctr, 8, &end_event);
19739 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1,
19740 t2_offset + ctr, 8, &end_dly);
19743 if (pi->phyhang_avoid)
19744 wlc_phy_stay_in_carriersearch_nphy(pi, false);
19747 static u16 wlc_phy_read_lpf_bw_ctl_nphy(phy_info_t *pi, u16 offset)
19749 u16 lpf_bw_ctl_val = 0;
19750 u16 rx2tx_lpf_rc_lut_offset = 0;
19753 if (CHSPEC_IS40(pi->radio_chanspec)) {
19754 rx2tx_lpf_rc_lut_offset = 0x159;
19756 rx2tx_lpf_rc_lut_offset = 0x154;
19759 rx2tx_lpf_rc_lut_offset = offset;
19761 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 1,
19762 (u32) rx2tx_lpf_rc_lut_offset, 16,
19765 lpf_bw_ctl_val = lpf_bw_ctl_val & 0x7;
19767 return lpf_bw_ctl_val;
19771 wlc_phy_rfctrl_override_nphy_rev7(phy_info_t *pi, u16 field, u16 value,
19772 u8 core_mask, u8 off, u8 override_id)
19775 u16 addr = 0, en_addr = 0, val_addr = 0, en_mask = 0, val_mask = 0;
19778 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19780 for (core_num = 0; core_num < 2; core_num++) {
19781 if (override_id == NPHY_REV7_RFCTRLOVERRIDE_ID0) {
19785 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19786 val_addr = (core_num == 0) ? 0x7a :
19788 val_mask = (0x1 << 1);
19792 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19793 val_addr = (core_num == 0) ? 0x7a :
19795 val_mask = (0x1 << 2);
19799 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19800 val_addr = (core_num == 0) ? 0x7a :
19802 val_mask = (0x1 << 4);
19806 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19807 val_addr = (core_num == 0) ? 0x7a :
19809 val_mask = (0x1 << 5);
19813 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19814 val_addr = (core_num == 0) ? 0x7a :
19816 val_mask = (0x1 << 6);
19820 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19821 val_addr = (core_num == 0) ? 0x7a :
19823 val_mask = (0x1 << 7);
19827 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19828 val_addr = (core_num == 0) ? 0xf8 :
19830 val_mask = (0x7 << 4);
19834 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19835 val_addr = (core_num == 0) ? 0x7b :
19837 val_mask = (0xffff << 0);
19841 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19842 val_addr = (core_num == 0) ? 0x7c :
19844 val_mask = (0xffff << 0);
19848 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19849 val_addr = (core_num == 0) ? 0x348 :
19851 val_mask = (0xff << 0);
19855 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19856 val_addr = (core_num == 0) ? 0x348 :
19858 val_mask = (0xf << 0);
19865 } else if (override_id == NPHY_REV7_RFCTRLOVERRIDE_ID1) {
19869 en_addr = (core_num == 0) ? 0x342 :
19871 val_addr = (core_num == 0) ? 0x340 :
19873 val_mask = (0x1 << 1);
19877 en_addr = (core_num == 0) ? 0x342 :
19879 val_addr = (core_num == 0) ? 0x340 :
19881 val_mask = (0x1 << 3);
19885 en_addr = (core_num == 0) ? 0x342 :
19887 val_addr = (core_num == 0) ? 0x340 :
19889 val_mask = (0x1 << 5);
19893 en_addr = (core_num == 0) ? 0x342 :
19895 val_addr = (core_num == 0) ? 0x340 :
19897 val_mask = (0x1 << 4);
19902 en_addr = (core_num == 0) ? 0x342 :
19904 val_addr = (core_num == 0) ? 0x340 :
19906 val_mask = (0x1 << 2);
19911 en_addr = (core_num == 0) ? 0x342 :
19913 val_addr = (core_num == 0) ? 0x340 :
19915 val_mask = (0x7 << 8);
19919 en_addr = (core_num == 0) ? 0x342 :
19921 val_addr = (core_num == 0) ? 0x340 :
19923 val_mask = (0x1 << 14);
19927 en_addr = (core_num == 0) ? 0x342 :
19929 val_addr = (core_num == 0) ? 0x340 :
19931 val_mask = (0x1 << 13);
19935 en_addr = (core_num == 0) ? 0x342 :
19937 val_addr = (core_num == 0) ? 0x340 :
19939 val_mask = (0x1 << 12);
19943 en_addr = (core_num == 0) ? 0x342 :
19945 val_addr = (core_num == 0) ? 0x340 :
19947 val_mask = (0x1 << 11);
19951 en_addr = (core_num == 0) ? 0x342 :
19953 val_addr = (core_num == 0) ? 0x340 :
19955 val_mask = (0x1 << 6);
19959 en_addr = (core_num == 0) ? 0x342 :
19961 val_addr = (core_num == 0) ? 0x340 :
19963 val_mask = (0x1 << 0);
19970 } else if (override_id == NPHY_REV7_RFCTRLOVERRIDE_ID2) {
19974 en_addr = (core_num == 0) ? 0x346 :
19976 val_addr = (core_num == 0) ? 0x344 :
19978 val_mask = (0x1 << 3);
19982 en_addr = (core_num == 0) ? 0x346 :
19984 val_addr = (core_num == 0) ? 0x344 :
19986 val_mask = (0x1 << 1);
19990 en_addr = (core_num == 0) ? 0x346 :
19992 val_addr = (core_num == 0) ? 0x344 :
19994 val_mask = (0x1 << 0);
19998 en_addr = (core_num == 0) ? 0x346 :
20000 val_addr = (core_num == 0) ? 0x344 :
20002 val_mask = (0x1 << 2);
20006 en_addr = (core_num == 0) ? 0x346 :
20008 val_addr = (core_num == 0) ? 0x344 :
20010 val_mask = (0x1 << 4);
20020 and_phy_reg(pi, en_addr, ~en_mask);
20021 and_phy_reg(pi, val_addr, ~val_mask);
20024 if ((core_mask == 0)
20025 || (core_mask & (1 << core_num))) {
20026 or_phy_reg(pi, en_addr, en_mask);
20028 if (addr != 0xffff) {
20029 mod_phy_reg(pi, val_addr,
20041 wlc_phy_rfctrl_override_nphy(phy_info_t *pi, u16 field, u16 value,
20042 u8 core_mask, u8 off)
20045 u16 addr = 0, mask = 0, en_addr = 0, val_addr = 0, en_mask =
20047 u8 shift = 0, val_shift = 0;
20049 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 7)) {
20052 for (core_num = 0; core_num < 2; core_num++) {
20056 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20057 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20058 val_mask = (0x1 << 0);
20062 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20063 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20064 val_mask = (0x1 << 1);
20068 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20069 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20070 val_mask = (0x1 << 2);
20074 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20075 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20076 val_mask = (0x1 << 4);
20080 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20081 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20082 val_mask = (0x1 << 5);
20086 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20087 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20088 val_mask = (0x1 << 6);
20092 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20093 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20094 val_mask = (0x1 << 7);
20098 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20099 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20100 val_mask = (0x7 << 8);
20104 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20105 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20106 val_mask = (0x7 << 13);
20111 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20112 val_addr = (core_num == 0) ? 0xf8 : 0xfa;
20113 val_mask = (0x7 << 0);
20118 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20119 val_addr = (core_num == 0) ? 0xf8 : 0xfa;
20120 val_mask = (0x7 << 4);
20125 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20126 val_addr = (core_num == 0) ? 0x7b : 0x7e;
20127 val_mask = (0xffff << 0);
20131 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20132 val_addr = (core_num == 0) ? 0x7c : 0x7f;
20133 val_mask = (0xffff << 0);
20137 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20138 val_addr = (core_num == 0) ? 0xf9 : 0xfb;
20139 val_mask = (0x3 << 6);
20143 en_addr = (core_num == 0) ? 0xe5 : 0xe6;
20144 val_addr = (core_num == 0) ? 0xf9 : 0xfb;
20145 val_mask = (0x1 << 15);
20154 and_phy_reg(pi, en_addr, ~en_mask);
20155 and_phy_reg(pi, val_addr, ~val_mask);
20158 if ((core_mask == 0)
20159 || (core_mask & (1 << core_num))) {
20160 or_phy_reg(pi, en_addr, en_mask);
20162 if (addr != 0xffff) {
20163 mod_phy_reg(pi, val_addr,
20174 and_phy_reg(pi, 0xec, ~field);
20177 or_phy_reg(pi, 0xec, field);
20180 for (core_num = 0; core_num < 2; core_num++) {
20199 addr = (core_num == 0) ? 0x7a : 0x7d;
20202 addr = (core_num == 0) ? 0x7b : 0x7e;
20205 addr = (core_num == 0) ? 0x7c : 0x7f;
20229 mask = (0xf << 12);
20274 if ((addr != 0xffff) && (core_mask & (1 << core_num))) {
20275 mod_phy_reg(pi, addr, mask, (value << shift));
20279 or_phy_reg(pi, 0xec, (0x1 << 0));
20280 or_phy_reg(pi, 0x78, (0x1 << 0));
20282 and_phy_reg(pi, 0xec, ~(0x1 << 0));
20287 wlc_phy_rfctrl_override_1tomany_nphy(phy_info_t *pi, u16 cmd, u16 value,
20288 u8 core_mask, u8 off)
20290 u16 rfmxgain = 0, lpfgain = 0;
20293 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
20296 case NPHY_REV7_RfctrlOverride_cmd_rxrf_pu:
20297 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5),
20298 value, core_mask, off,
20299 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20300 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4), value,
20302 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20303 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3), value,
20305 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20307 case NPHY_REV7_RfctrlOverride_cmd_rx_pu:
20308 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2),
20309 value, core_mask, off,
20310 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20311 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), value,
20313 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20314 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), value,
20316 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20317 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), value,
20319 NPHY_REV7_RFCTRLOVERRIDE_ID2);
20320 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 0,
20322 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20324 case NPHY_REV7_RfctrlOverride_cmd_tx_pu:
20325 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2),
20326 value, core_mask, off,
20327 NPHY_REV7_RFCTRLOVERRIDE_ID0);
20328 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), value,
20330 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20331 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), value,
20333 NPHY_REV7_RFCTRLOVERRIDE_ID2);
20334 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2), value,
20336 NPHY_REV7_RFCTRLOVERRIDE_ID2);
20337 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 1,
20339 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20341 case NPHY_REV7_RfctrlOverride_cmd_rxgain:
20342 rfmxgain = value & 0x000ff;
20343 lpfgain = value & 0x0ff00;
20344 lpfgain = lpfgain >> 8;
20346 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11),
20347 rfmxgain, core_mask,
20349 NPHY_REV7_RFCTRLOVERRIDE_ID0);
20350 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x3 << 13),
20351 lpfgain, core_mask,
20353 NPHY_REV7_RFCTRLOVERRIDE_ID0);
20355 case NPHY_REV7_RfctrlOverride_cmd_txgain:
20356 tgain = value & 0x7fff;
20357 lpfgain = value & 0x8000;
20358 lpfgain = lpfgain >> 14;
20360 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 12),
20361 tgain, core_mask, off,
20362 NPHY_REV7_RFCTRLOVERRIDE_ID0);
20363 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 13),
20364 lpfgain, core_mask,
20366 NPHY_REV7_RFCTRLOVERRIDE_ID0);
20373 wlc_phy_scale_offset_rssi_nphy(phy_info_t *pi, u16 scale, s8 offset,
20374 u8 coresel, u8 rail, u8 rssi_type)
20378 offset = (offset > NPHY_RSSICAL_MAXREAD) ?
20379 NPHY_RSSICAL_MAXREAD : offset;
20380 offset = (offset < (-NPHY_RSSICAL_MAXREAD - 1)) ?
20381 -NPHY_RSSICAL_MAXREAD - 1 : offset;
20383 valuetostuff = ((scale & 0x3f) << 8) | (offset & 0x3f);
20385 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20386 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20387 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_NB)) {
20388 write_phy_reg(pi, 0x1a6, valuetostuff);
20390 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20391 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20392 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_NB)) {
20393 write_phy_reg(pi, 0x1ac, valuetostuff);
20395 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20396 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20397 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_NB)) {
20398 write_phy_reg(pi, 0x1b2, valuetostuff);
20400 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20401 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20402 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_NB)) {
20403 write_phy_reg(pi, 0x1b8, valuetostuff);
20406 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20407 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20408 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_W1)) {
20409 write_phy_reg(pi, 0x1a4, valuetostuff);
20411 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20412 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20413 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_W1)) {
20414 write_phy_reg(pi, 0x1aa, valuetostuff);
20416 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20417 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20418 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_W1)) {
20419 write_phy_reg(pi, 0x1b0, valuetostuff);
20421 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20422 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20423 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_W1)) {
20424 write_phy_reg(pi, 0x1b6, valuetostuff);
20427 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20428 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20429 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_W2)) {
20430 write_phy_reg(pi, 0x1a5, valuetostuff);
20432 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20433 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20434 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_W2)) {
20435 write_phy_reg(pi, 0x1ab, valuetostuff);
20437 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20438 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20439 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_W2)) {
20440 write_phy_reg(pi, 0x1b1, valuetostuff);
20442 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20443 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20444 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_W2)) {
20445 write_phy_reg(pi, 0x1b7, valuetostuff);
20448 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20449 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20450 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_TBD)) {
20451 write_phy_reg(pi, 0x1a7, valuetostuff);
20453 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20454 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20455 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_TBD)) {
20456 write_phy_reg(pi, 0x1ad, valuetostuff);
20458 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20459 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20460 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_TBD)) {
20461 write_phy_reg(pi, 0x1b3, valuetostuff);
20463 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20464 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20465 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_TBD)) {
20466 write_phy_reg(pi, 0x1b9, valuetostuff);
20469 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20470 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20471 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_IQ)) {
20472 write_phy_reg(pi, 0x1a8, valuetostuff);
20474 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20475 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20476 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_IQ)) {
20477 write_phy_reg(pi, 0x1ae, valuetostuff);
20479 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20480 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20481 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_IQ)) {
20482 write_phy_reg(pi, 0x1b4, valuetostuff);
20484 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20485 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20486 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_IQ)) {
20487 write_phy_reg(pi, 0x1ba, valuetostuff);
20490 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20491 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20492 (rssi_type == NPHY_RSSI_SEL_TSSI_2G)) {
20493 write_phy_reg(pi, 0x1a9, valuetostuff);
20495 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20496 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20497 (rssi_type == NPHY_RSSI_SEL_TSSI_2G)) {
20498 write_phy_reg(pi, 0x1b5, valuetostuff);
20501 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20502 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20503 (rssi_type == NPHY_RSSI_SEL_TSSI_5G)) {
20504 write_phy_reg(pi, 0x1af, valuetostuff);
20506 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20507 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20508 (rssi_type == NPHY_RSSI_SEL_TSSI_5G)) {
20509 write_phy_reg(pi, 0x1bb, valuetostuff);
20513 void wlc_phy_rssisel_nphy(phy_info_t *pi, u8 core_code, u8 rssi_type)
20516 u16 afectrlovr_rssi_val, rfctrlcmd_rxen_val, rfctrlcmd_coresel_val,
20518 u16 rfctrlovr_rssi_val, rfctrlovr_rxen_val, rfctrlovr_coresel_val,
20519 rfctrlovr_trigger_val;
20520 u16 afectrlovr_rssi_mask, rfctrlcmd_mask, rfctrlovr_mask;
20521 u16 rfctrlcmd_val, rfctrlovr_val;
20524 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
20525 if (core_code == RADIO_MIMO_CORESEL_OFF) {
20526 mod_phy_reg(pi, 0x8f, (0x1 << 9), 0);
20527 mod_phy_reg(pi, 0xa5, (0x1 << 9), 0);
20529 mod_phy_reg(pi, 0xa6, (0x3 << 8), 0);
20530 mod_phy_reg(pi, 0xa7, (0x3 << 8), 0);
20532 mod_phy_reg(pi, 0xe5, (0x1 << 5), 0);
20533 mod_phy_reg(pi, 0xe6, (0x1 << 5), 0);
20535 mask = (0x1 << 2) |
20536 (0x1 << 3) | (0x1 << 4) | (0x1 << 5);
20537 mod_phy_reg(pi, 0xf9, mask, 0);
20538 mod_phy_reg(pi, 0xfb, mask, 0);
20541 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
20542 if (core_code == RADIO_MIMO_CORESEL_CORE1
20543 && core == PHY_CORE_1)
20545 else if (core_code == RADIO_MIMO_CORESEL_CORE2
20546 && core == PHY_CORE_0)
20549 mod_phy_reg(pi, (core == PHY_CORE_0) ?
20550 0x8f : 0xa5, (0x1 << 9), 1 << 9);
20552 if (rssi_type == NPHY_RSSI_SEL_W1 ||
20553 rssi_type == NPHY_RSSI_SEL_W2 ||
20554 rssi_type == NPHY_RSSI_SEL_NB) {
20558 PHY_CORE_0) ? 0xa6 : 0xa7,
20561 mask = (0x1 << 2) |
20563 (0x1 << 4) | (0x1 << 5);
20566 PHY_CORE_0) ? 0xf9 : 0xfb,
20569 if (rssi_type == NPHY_RSSI_SEL_W1) {
20571 (pi->radio_chanspec)) {
20578 } else if (rssi_type ==
20579 NPHY_RSSI_SEL_W2) {
20588 PHY_CORE_0) ? 0xf9 : 0xfb,
20593 mod_phy_reg(pi, (core == PHY_CORE_0) ?
20594 0xe5 : 0xe6, mask, val);
20596 if (rssi_type == NPHY_RSSI_SEL_TBD) {
20603 : 0xa7, mask, val);
20604 mask = (0x3 << 10);
20609 : 0xa7, mask, val);
20610 } else if (rssi_type ==
20611 NPHY_RSSI_SEL_IQ) {
20618 : 0xa7, mask, val);
20619 mask = (0x3 << 10);
20624 : 0xa7, mask, val);
20632 : 0xa7, mask, val);
20633 mask = (0x3 << 10);
20638 : 0xa7, mask, val);
20642 (pi->pubpi.phy_rev,
20650 RADIO_2057_TX0_TX_SSI_MUX
20652 RADIO_2057_TX1_TX_SSI_MUX),
20661 RADIO_2056_TX_TX_SSI_MUX
20678 (pi->pubpi.phy_rev,
20685 RADIO_2057_TX0_TX_SSI_MUX
20687 RADIO_2057_TX1_TX_SSI_MUX),
20695 RADIO_2057_IQTEST_SEL_PU,
20701 RADIO_2056_TX_TX_SSI_MUX
20713 afectrlovr_rssi_val = 1 << 9;
20717 : 0xa5, (0x1 << 9),
20718 afectrlovr_rssi_val);
20725 if ((rssi_type == NPHY_RSSI_SEL_W1) ||
20726 (rssi_type == NPHY_RSSI_SEL_W2) ||
20727 (rssi_type == NPHY_RSSI_SEL_NB)) {
20730 } else if (rssi_type == NPHY_RSSI_SEL_TBD) {
20733 } else if (rssi_type == NPHY_RSSI_SEL_IQ) {
20740 mask = ((0x3 << 12) | (0x3 << 14));
20741 val = (val << 12) | (val << 14);
20742 mod_phy_reg(pi, 0xa6, mask, val);
20743 mod_phy_reg(pi, 0xa7, mask, val);
20745 if ((rssi_type == NPHY_RSSI_SEL_W1) ||
20746 (rssi_type == NPHY_RSSI_SEL_W2) ||
20747 (rssi_type == NPHY_RSSI_SEL_NB)) {
20748 if (rssi_type == NPHY_RSSI_SEL_W1) {
20751 if (rssi_type == NPHY_RSSI_SEL_W2) {
20754 if (rssi_type == NPHY_RSSI_SEL_NB) {
20759 mod_phy_reg(pi, 0x7a, mask, val);
20760 mod_phy_reg(pi, 0x7d, mask, val);
20763 if (core_code == RADIO_MIMO_CORESEL_OFF) {
20764 afectrlovr_rssi_val = 0;
20765 rfctrlcmd_rxen_val = 0;
20766 rfctrlcmd_coresel_val = 0;
20767 rfctrlovr_rssi_val = 0;
20768 rfctrlovr_rxen_val = 0;
20769 rfctrlovr_coresel_val = 0;
20770 rfctrlovr_trigger_val = 0;
20773 afectrlovr_rssi_val = 1;
20774 rfctrlcmd_rxen_val = 1;
20775 rfctrlcmd_coresel_val = core_code;
20776 rfctrlovr_rssi_val = 1;
20777 rfctrlovr_rxen_val = 1;
20778 rfctrlovr_coresel_val = 1;
20779 rfctrlovr_trigger_val = 1;
20783 afectrlovr_rssi_mask = ((0x1 << 12) | (0x1 << 13));
20784 afectrlovr_rssi_val = (afectrlovr_rssi_val <<
20785 12) | (afectrlovr_rssi_val << 13);
20786 mod_phy_reg(pi, 0xa5, afectrlovr_rssi_mask,
20787 afectrlovr_rssi_val);
20789 if ((rssi_type == NPHY_RSSI_SEL_W1) ||
20790 (rssi_type == NPHY_RSSI_SEL_W2) ||
20791 (rssi_type == NPHY_RSSI_SEL_NB)) {
20792 rfctrlcmd_mask = ((0x1 << 8) | (0x7 << 3));
20793 rfctrlcmd_val = (rfctrlcmd_rxen_val << 8) |
20794 (rfctrlcmd_coresel_val << 3);
20796 rfctrlovr_mask = ((0x1 << 5) |
20798 (0x1 << 1) | (0x1 << 0));
20799 rfctrlovr_val = (rfctrlovr_rssi_val <<
20801 (rfctrlovr_rxen_val << 12) |
20802 (rfctrlovr_coresel_val << 1) |
20803 (rfctrlovr_trigger_val << 0);
20805 mod_phy_reg(pi, 0x78, rfctrlcmd_mask, rfctrlcmd_val);
20806 mod_phy_reg(pi, 0xec, rfctrlovr_mask, rfctrlovr_val);
20808 mod_phy_reg(pi, 0x78, (0x1 << 0), (startseq << 0));
20811 mod_phy_reg(pi, 0xec, (0x1 << 0), 0);
20817 wlc_phy_poll_rssi_nphy(phy_info_t *pi, u8 rssi_type, s32 *rssi_buf,
20821 u16 afectrlCore1_save = 0;
20822 u16 afectrlCore2_save = 0;
20823 u16 afectrlOverride1_save = 0;
20824 u16 afectrlOverride2_save = 0;
20825 u16 rfctrlOverrideAux0_save = 0;
20826 u16 rfctrlOverrideAux1_save = 0;
20827 u16 rfctrlMiscReg1_save = 0;
20828 u16 rfctrlMiscReg2_save = 0;
20829 u16 rfctrlcmd_save = 0;
20830 u16 rfctrloverride_save = 0;
20831 u16 rfctrlrssiothers1_save = 0;
20832 u16 rfctrlrssiothers2_save = 0;
20834 u8 ctr = 0, samp = 0;
20838 afectrlCore1_save = read_phy_reg(pi, 0xa6);
20839 afectrlCore2_save = read_phy_reg(pi, 0xa7);
20840 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
20841 rfctrlMiscReg1_save = read_phy_reg(pi, 0xf9);
20842 rfctrlMiscReg2_save = read_phy_reg(pi, 0xfb);
20843 afectrlOverride1_save = read_phy_reg(pi, 0x8f);
20844 afectrlOverride2_save = read_phy_reg(pi, 0xa5);
20845 rfctrlOverrideAux0_save = read_phy_reg(pi, 0xe5);
20846 rfctrlOverrideAux1_save = read_phy_reg(pi, 0xe6);
20848 afectrlOverride1_save = read_phy_reg(pi, 0xa5);
20849 rfctrlcmd_save = read_phy_reg(pi, 0x78);
20850 rfctrloverride_save = read_phy_reg(pi, 0xec);
20851 rfctrlrssiothers1_save = read_phy_reg(pi, 0x7a);
20852 rfctrlrssiothers2_save = read_phy_reg(pi, 0x7d);
20855 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_ALLRX, rssi_type);
20857 gpiosel_orig = read_phy_reg(pi, 0xca);
20858 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
20859 write_phy_reg(pi, 0xca, 5);
20862 for (ctr = 0; ctr < 4; ctr++) {
20866 for (samp = 0; samp < nsamps; samp++) {
20867 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
20868 rssi0 = read_phy_reg(pi, 0x1c9);
20869 rssi1 = read_phy_reg(pi, 0x1ca);
20871 rssi0 = read_phy_reg(pi, 0x219);
20872 rssi1 = read_phy_reg(pi, 0x21a);
20876 tmp_buf[ctr++] = ((s8) ((rssi0 & 0x3f) << 2)) >> 2;
20877 tmp_buf[ctr++] = ((s8) (((rssi0 >> 8) & 0x3f) << 2)) >> 2;
20878 tmp_buf[ctr++] = ((s8) ((rssi1 & 0x3f) << 2)) >> 2;
20879 tmp_buf[ctr++] = ((s8) (((rssi1 >> 8) & 0x3f) << 2)) >> 2;
20881 for (ctr = 0; ctr < 4; ctr++) {
20882 rssi_buf[ctr] += tmp_buf[ctr];
20887 rssi_out_val = rssi_buf[3] & 0xff;
20888 rssi_out_val |= (rssi_buf[2] & 0xff) << 8;
20889 rssi_out_val |= (rssi_buf[1] & 0xff) << 16;
20890 rssi_out_val |= (rssi_buf[0] & 0xff) << 24;
20892 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
20893 write_phy_reg(pi, 0xca, gpiosel_orig);
20896 write_phy_reg(pi, 0xa6, afectrlCore1_save);
20897 write_phy_reg(pi, 0xa7, afectrlCore2_save);
20898 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
20899 write_phy_reg(pi, 0xf9, rfctrlMiscReg1_save);
20900 write_phy_reg(pi, 0xfb, rfctrlMiscReg2_save);
20901 write_phy_reg(pi, 0x8f, afectrlOverride1_save);
20902 write_phy_reg(pi, 0xa5, afectrlOverride2_save);
20903 write_phy_reg(pi, 0xe5, rfctrlOverrideAux0_save);
20904 write_phy_reg(pi, 0xe6, rfctrlOverrideAux1_save);
20906 write_phy_reg(pi, 0xa5, afectrlOverride1_save);
20907 write_phy_reg(pi, 0x78, rfctrlcmd_save);
20908 write_phy_reg(pi, 0xec, rfctrloverride_save);
20909 write_phy_reg(pi, 0x7a, rfctrlrssiothers1_save);
20910 write_phy_reg(pi, 0x7d, rfctrlrssiothers2_save);
20913 return rssi_out_val;
20916 s16 wlc_phy_tempsense_nphy(phy_info_t *pi)
20918 u16 core1_txrf_iqcal1_save, core1_txrf_iqcal2_save;
20919 u16 core2_txrf_iqcal1_save, core2_txrf_iqcal2_save;
20920 u16 pwrdet_rxtx_core1_save;
20921 u16 pwrdet_rxtx_core2_save;
20922 u16 afectrlCore1_save;
20923 u16 afectrlCore2_save;
20924 u16 afectrlOverride_save;
20925 u16 afectrlOverride2_save;
20926 u16 pd_pll_ts_save;
20929 s32 radio_temp2[4];
20930 u16 syn_tempprocsense_save;
20933 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
20934 u16 auxADC_Vmid, auxADC_Av, auxADC_Vmid_save, auxADC_Av_save;
20935 u16 auxADC_rssi_ctrlL_save, auxADC_rssi_ctrlH_save;
20936 u16 auxADC_rssi_ctrlL, auxADC_rssi_ctrlH;
20938 u16 RfctrlOverride5_save, RfctrlOverride6_save;
20939 u16 RfctrlMiscReg5_save, RfctrlMiscReg6_save;
20940 u16 RSSIMultCoef0QPowerDet_save;
20941 u16 tempsense_Rcal;
20943 syn_tempprocsense_save =
20944 read_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG);
20946 afectrlCore1_save = read_phy_reg(pi, 0xa6);
20947 afectrlCore2_save = read_phy_reg(pi, 0xa7);
20948 afectrlOverride_save = read_phy_reg(pi, 0x8f);
20949 afectrlOverride2_save = read_phy_reg(pi, 0xa5);
20950 RSSIMultCoef0QPowerDet_save = read_phy_reg(pi, 0x1ae);
20951 RfctrlOverride5_save = read_phy_reg(pi, 0x346);
20952 RfctrlOverride6_save = read_phy_reg(pi, 0x347);
20953 RfctrlMiscReg5_save = read_phy_reg(pi, 0x344);
20954 RfctrlMiscReg6_save = read_phy_reg(pi, 0x345);
20956 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0A, 16,
20957 &auxADC_Vmid_save);
20958 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0E, 16,
20960 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x02, 16,
20961 &auxADC_rssi_ctrlL_save);
20962 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x03, 16,
20963 &auxADC_rssi_ctrlH_save);
20965 write_phy_reg(pi, 0x1ae, 0x0);
20967 auxADC_rssi_ctrlL = 0x0;
20968 auxADC_rssi_ctrlH = 0x20;
20969 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x02, 16,
20970 &auxADC_rssi_ctrlL);
20971 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x03, 16,
20972 &auxADC_rssi_ctrlH);
20974 tempsense_Rcal = syn_tempprocsense_save & 0x1c;
20976 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG,
20977 tempsense_Rcal | 0x01);
20979 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1),
20981 NPHY_REV7_RFCTRLOVERRIDE_ID2);
20982 mod_phy_reg(pi, 0xa6, (0x1 << 7), 0);
20983 mod_phy_reg(pi, 0xa7, (0x1 << 7), 0);
20984 mod_phy_reg(pi, 0x8f, (0x1 << 7), (0x1 << 7));
20985 mod_phy_reg(pi, 0xa5, (0x1 << 7), (0x1 << 7));
20987 mod_phy_reg(pi, 0xa6, (0x1 << 2), (0x1 << 2));
20988 mod_phy_reg(pi, 0xa7, (0x1 << 2), (0x1 << 2));
20989 mod_phy_reg(pi, 0x8f, (0x1 << 2), (0x1 << 2));
20990 mod_phy_reg(pi, 0xa5, (0x1 << 2), (0x1 << 2));
20992 mod_phy_reg(pi, 0xa6, (0x1 << 2), 0);
20993 mod_phy_reg(pi, 0xa7, (0x1 << 2), 0);
20994 mod_phy_reg(pi, 0xa6, (0x1 << 3), 0);
20995 mod_phy_reg(pi, 0xa7, (0x1 << 3), 0);
20996 mod_phy_reg(pi, 0x8f, (0x1 << 3), (0x1 << 3));
20997 mod_phy_reg(pi, 0xa5, (0x1 << 3), (0x1 << 3));
20998 mod_phy_reg(pi, 0xa6, (0x1 << 6), 0);
20999 mod_phy_reg(pi, 0xa7, (0x1 << 6), 0);
21000 mod_phy_reg(pi, 0x8f, (0x1 << 6), (0x1 << 6));
21001 mod_phy_reg(pi, 0xa5, (0x1 << 6), (0x1 << 6));
21003 auxADC_Vmid = 0xA3;
21005 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0A, 16,
21007 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0E, 16,
21012 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
21013 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG,
21014 tempsense_Rcal | 0x03);
21017 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp2, 1);
21020 if (radio_temp[1] + radio_temp2[1] < -30) {
21021 auxADC_Vmid = 0x45;
21023 } else if (radio_temp[1] + radio_temp2[1] < -9) {
21024 auxADC_Vmid = 0x200;
21026 } else if (radio_temp[1] + radio_temp2[1] < 11) {
21027 auxADC_Vmid = 0x266;
21030 auxADC_Vmid = 0x2D5;
21034 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0A, 16,
21036 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0E, 16,
21041 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp2, 1);
21042 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG,
21043 tempsense_Rcal | 0x01);
21046 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
21048 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG,
21049 syn_tempprocsense_save);
21051 write_phy_reg(pi, 0xa6, afectrlCore1_save);
21052 write_phy_reg(pi, 0xa7, afectrlCore2_save);
21053 write_phy_reg(pi, 0x8f, afectrlOverride_save);
21054 write_phy_reg(pi, 0xa5, afectrlOverride2_save);
21055 write_phy_reg(pi, 0x1ae, RSSIMultCoef0QPowerDet_save);
21056 write_phy_reg(pi, 0x346, RfctrlOverride5_save);
21057 write_phy_reg(pi, 0x347, RfctrlOverride6_save);
21058 write_phy_reg(pi, 0x344, RfctrlMiscReg5_save);
21059 write_phy_reg(pi, 0x345, RfctrlMiscReg5_save);
21061 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0A, 16,
21062 &auxADC_Vmid_save);
21063 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0E, 16,
21065 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x02, 16,
21066 &auxADC_rssi_ctrlL_save);
21067 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x03, 16,
21068 &auxADC_rssi_ctrlH_save);
21070 if (pi->sh->chip == BCM5357_CHIP_ID) {
21071 radio_temp[0] = (193 * (radio_temp[1] + radio_temp2[1])
21072 + 88 * (auxADC_Vl) - 27111 +
21074 } else if (pi->sh->chip == BCM43236_CHIP_ID) {
21075 radio_temp[0] = (198 * (radio_temp[1] + radio_temp2[1])
21076 + 91 * (auxADC_Vl) - 27243 +
21079 radio_temp[0] = (179 * (radio_temp[1] + radio_temp2[1])
21080 + 82 * (auxADC_Vl) - 28861 +
21084 offset = (s16) pi->phy_tempsense_offset;
21086 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
21087 syn_tempprocsense_save =
21088 read_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE);
21090 afectrlCore1_save = read_phy_reg(pi, 0xa6);
21091 afectrlCore2_save = read_phy_reg(pi, 0xa7);
21092 afectrlOverride_save = read_phy_reg(pi, 0x8f);
21093 afectrlOverride2_save = read_phy_reg(pi, 0xa5);
21094 gpioSel_save = read_phy_reg(pi, 0xca);
21096 write_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE, 0x01);
21098 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
21099 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21101 write_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE, 0x05);
21104 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp2, 1);
21105 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21106 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG, 0x01);
21108 write_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE, 0x01);
21112 (126 * (radio_temp[1] + radio_temp2[1]) + 3987) / 64;
21114 write_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE,
21115 syn_tempprocsense_save);
21117 write_phy_reg(pi, 0xca, gpioSel_save);
21118 write_phy_reg(pi, 0xa6, afectrlCore1_save);
21119 write_phy_reg(pi, 0xa7, afectrlCore2_save);
21120 write_phy_reg(pi, 0x8f, afectrlOverride_save);
21121 write_phy_reg(pi, 0xa5, afectrlOverride2_save);
21123 offset = (s16) pi->phy_tempsense_offset;
21126 pwrdet_rxtx_core1_save =
21127 read_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1);
21128 pwrdet_rxtx_core2_save =
21129 read_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2);
21130 core1_txrf_iqcal1_save =
21131 read_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1);
21132 core1_txrf_iqcal2_save =
21133 read_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2);
21134 core2_txrf_iqcal1_save =
21135 read_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1);
21136 core2_txrf_iqcal2_save =
21137 read_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2);
21138 pd_pll_ts_save = read_radio_reg(pi, RADIO_2055_PD_PLL_TS);
21140 afectrlCore1_save = read_phy_reg(pi, 0xa6);
21141 afectrlCore2_save = read_phy_reg(pi, 0xa7);
21142 afectrlOverride_save = read_phy_reg(pi, 0xa5);
21143 gpioSel_save = read_phy_reg(pi, 0xca);
21145 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1, 0x01);
21146 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1, 0x01);
21147 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2, 0x08);
21148 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2, 0x08);
21149 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1, 0x04);
21150 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2, 0x04);
21151 write_radio_reg(pi, RADIO_2055_PD_PLL_TS, 0x00);
21153 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
21154 xor_radio_reg(pi, RADIO_2055_CAL_TS, 0x80);
21156 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
21157 xor_radio_reg(pi, RADIO_2055_CAL_TS, 0x80);
21159 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp2, 1);
21160 xor_radio_reg(pi, RADIO_2055_CAL_TS, 0x80);
21162 radio_temp[0] = (radio_temp[0] + radio_temp2[0]);
21163 radio_temp[1] = (radio_temp[1] + radio_temp2[1]);
21164 radio_temp[2] = (radio_temp[2] + radio_temp2[2]);
21165 radio_temp[3] = (radio_temp[3] + radio_temp2[3]);
21168 (radio_temp[0] + radio_temp[1] + radio_temp[2] +
21172 (radio_temp[0] + (8 * 32)) * (950 - 350) / 63 + (350 * 8);
21174 radio_temp[0] = (radio_temp[0] - (8 * 420)) / 38;
21176 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1,
21177 pwrdet_rxtx_core1_save);
21178 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2,
21179 pwrdet_rxtx_core2_save);
21180 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1,
21181 core1_txrf_iqcal1_save);
21182 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1,
21183 core2_txrf_iqcal1_save);
21184 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2,
21185 core1_txrf_iqcal2_save);
21186 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2,
21187 core2_txrf_iqcal2_save);
21188 write_radio_reg(pi, RADIO_2055_PD_PLL_TS, pd_pll_ts_save);
21190 write_phy_reg(pi, 0xca, gpioSel_save);
21191 write_phy_reg(pi, 0xa6, afectrlCore1_save);
21192 write_phy_reg(pi, 0xa7, afectrlCore2_save);
21193 write_phy_reg(pi, 0xa5, afectrlOverride_save);
21196 return (s16) radio_temp[0] + offset;
21200 wlc_phy_set_rssi_2055_vcm(phy_info_t *pi, u8 rssi_type, u8 *vcm_buf)
21204 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
21205 if (rssi_type == NPHY_RSSI_SEL_NB) {
21206 if (core == PHY_CORE_0) {
21208 RADIO_2055_CORE1_B0_NBRSSI_VCM,
21209 RADIO_2055_NBRSSI_VCM_I_MASK,
21212 RADIO_2055_NBRSSI_VCM_I_SHIFT);
21214 RADIO_2055_CORE1_RXBB_RSSI_CTRL5,
21215 RADIO_2055_NBRSSI_VCM_Q_MASK,
21218 RADIO_2055_NBRSSI_VCM_Q_SHIFT);
21221 RADIO_2055_CORE2_B0_NBRSSI_VCM,
21222 RADIO_2055_NBRSSI_VCM_I_MASK,
21225 RADIO_2055_NBRSSI_VCM_I_SHIFT);
21227 RADIO_2055_CORE2_RXBB_RSSI_CTRL5,
21228 RADIO_2055_NBRSSI_VCM_Q_MASK,
21231 RADIO_2055_NBRSSI_VCM_Q_SHIFT);
21235 if (core == PHY_CORE_0) {
21237 RADIO_2055_CORE1_RXBB_RSSI_CTRL5,
21238 RADIO_2055_WBRSSI_VCM_IQ_MASK,
21241 RADIO_2055_WBRSSI_VCM_IQ_SHIFT);
21244 RADIO_2055_CORE2_RXBB_RSSI_CTRL5,
21245 RADIO_2055_WBRSSI_VCM_IQ_MASK,
21248 RADIO_2055_WBRSSI_VCM_IQ_SHIFT);
21254 void wlc_phy_rssi_cal_nphy(phy_info_t *pi)
21256 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
21258 wlc_phy_rssi_cal_nphy_rev3(pi);
21260 wlc_phy_rssi_cal_nphy_rev2(pi, NPHY_RSSI_SEL_NB);
21261 wlc_phy_rssi_cal_nphy_rev2(pi, NPHY_RSSI_SEL_W1);
21262 wlc_phy_rssi_cal_nphy_rev2(pi, NPHY_RSSI_SEL_W2);
21266 static void wlc_phy_rssi_cal_nphy_rev2(phy_info_t *pi, u8 rssi_type)
21271 u16 rssi_ctrl_state[2], pd_state[2];
21272 u16 rfctrlintc_state[2], rfpdcorerxtx_state[2];
21273 u16 rfctrlintc_override_val;
21274 u16 clip_off[] = { 0xffff, 0xffff };
21275 u16 rf_pd_val, pd_mask, rssi_ctrl_mask;
21276 u8 vcm, min_vcm, vcm_tmp[4];
21277 u8 vcm_final[4] = { 0, 0, 0, 0 };
21278 u8 result_idx, ctr;
21279 s32 poll_results[4][4] = {
21285 s32 poll_miniq[4][2] = {
21292 s32 fine_digital_offset[4];
21293 s32 poll_results_min[4] = { 0, 0, 0, 0 };
21296 switch (rssi_type) {
21297 case NPHY_RSSI_SEL_NB:
21298 target_code = NPHY_RSSICAL_NB_TARGET;
21300 case NPHY_RSSI_SEL_W1:
21301 target_code = NPHY_RSSICAL_W1_TARGET;
21303 case NPHY_RSSI_SEL_W2:
21304 target_code = NPHY_RSSICAL_W2_TARGET;
21311 classif_state = wlc_phy_classifier_nphy(pi, 0, 0);
21312 wlc_phy_classifier_nphy(pi, (0x7 << 0), 4);
21313 wlc_phy_clip_det_nphy(pi, 0, clip_state);
21314 wlc_phy_clip_det_nphy(pi, 1, clip_off);
21316 rf_pd_val = (rssi_type == NPHY_RSSI_SEL_NB) ? 0x6 : 0x4;
21317 rfctrlintc_override_val =
21318 CHSPEC_IS5G(pi->radio_chanspec) ? 0x140 : 0x110;
21320 rfctrlintc_state[0] = read_phy_reg(pi, 0x91);
21321 rfpdcorerxtx_state[0] = read_radio_reg(pi, RADIO_2055_PD_CORE1_RXTX);
21322 write_phy_reg(pi, 0x91, rfctrlintc_override_val);
21323 write_radio_reg(pi, RADIO_2055_PD_CORE1_RXTX, rf_pd_val);
21325 rfctrlintc_state[1] = read_phy_reg(pi, 0x92);
21326 rfpdcorerxtx_state[1] = read_radio_reg(pi, RADIO_2055_PD_CORE2_RXTX);
21327 write_phy_reg(pi, 0x92, rfctrlintc_override_val);
21328 write_radio_reg(pi, RADIO_2055_PD_CORE2_RXTX, rf_pd_val);
21330 pd_mask = RADIO_2055_NBRSSI_PD | RADIO_2055_WBRSSI_G1_PD |
21331 RADIO_2055_WBRSSI_G2_PD;
21333 read_radio_reg(pi, RADIO_2055_PD_CORE1_RSSI_MISC) & pd_mask;
21335 read_radio_reg(pi, RADIO_2055_PD_CORE2_RSSI_MISC) & pd_mask;
21336 mod_radio_reg(pi, RADIO_2055_PD_CORE1_RSSI_MISC, pd_mask, 0);
21337 mod_radio_reg(pi, RADIO_2055_PD_CORE2_RSSI_MISC, pd_mask, 0);
21338 rssi_ctrl_mask = RADIO_2055_NBRSSI_SEL | RADIO_2055_WBRSSI_G1_SEL |
21339 RADIO_2055_WBRSSI_G2_SEL;
21340 rssi_ctrl_state[0] =
21341 read_radio_reg(pi, RADIO_2055_SP_RSSI_CORE1) & rssi_ctrl_mask;
21342 rssi_ctrl_state[1] =
21343 read_radio_reg(pi, RADIO_2055_SP_RSSI_CORE2) & rssi_ctrl_mask;
21344 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_ALLRX, rssi_type);
21346 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0, RADIO_MIMO_CORESEL_ALLRX,
21347 NPHY_RAIL_I, rssi_type);
21348 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0, RADIO_MIMO_CORESEL_ALLRX,
21349 NPHY_RAIL_Q, rssi_type);
21351 for (vcm = 0; vcm < 4; vcm++) {
21353 vcm_tmp[0] = vcm_tmp[1] = vcm_tmp[2] = vcm_tmp[3] = vcm;
21354 if (rssi_type != NPHY_RSSI_SEL_W2) {
21355 wlc_phy_set_rssi_2055_vcm(pi, rssi_type, vcm_tmp);
21358 wlc_phy_poll_rssi_nphy(pi, rssi_type, &poll_results[vcm][0],
21359 NPHY_RSSICAL_NPOLL);
21361 if ((rssi_type == NPHY_RSSI_SEL_W1)
21362 || (rssi_type == NPHY_RSSI_SEL_W2)) {
21363 for (ctr = 0; ctr < 2; ctr++) {
21364 poll_miniq[vcm][ctr] =
21365 min(poll_results[vcm][ctr * 2 + 0],
21366 poll_results[vcm][ctr * 2 + 1]);
21371 for (result_idx = 0; result_idx < 4; result_idx++) {
21372 min_d = NPHY_RSSICAL_MAXD;
21374 min_poll = NPHY_RSSICAL_MAXREAD * NPHY_RSSICAL_NPOLL + 1;
21375 for (vcm = 0; vcm < 4; vcm++) {
21376 curr_d = ABS(((rssi_type == NPHY_RSSI_SEL_NB) ?
21377 poll_results[vcm][result_idx] :
21378 poll_miniq[vcm][result_idx / 2]) -
21379 (target_code * NPHY_RSSICAL_NPOLL));
21380 if (curr_d < min_d) {
21384 if (poll_results[vcm][result_idx] < min_poll) {
21385 min_poll = poll_results[vcm][result_idx];
21388 vcm_final[result_idx] = min_vcm;
21389 poll_results_min[result_idx] = min_poll;
21392 if (rssi_type != NPHY_RSSI_SEL_W2) {
21393 wlc_phy_set_rssi_2055_vcm(pi, rssi_type, vcm_final);
21396 for (result_idx = 0; result_idx < 4; result_idx++) {
21397 fine_digital_offset[result_idx] =
21398 (target_code * NPHY_RSSICAL_NPOLL) -
21399 poll_results[vcm_final[result_idx]][result_idx];
21400 if (fine_digital_offset[result_idx] < 0) {
21401 fine_digital_offset[result_idx] =
21402 ABS(fine_digital_offset[result_idx]);
21403 fine_digital_offset[result_idx] +=
21404 (NPHY_RSSICAL_NPOLL / 2);
21405 fine_digital_offset[result_idx] /= NPHY_RSSICAL_NPOLL;
21406 fine_digital_offset[result_idx] =
21407 -fine_digital_offset[result_idx];
21409 fine_digital_offset[result_idx] +=
21410 (NPHY_RSSICAL_NPOLL / 2);
21411 fine_digital_offset[result_idx] /= NPHY_RSSICAL_NPOLL;
21414 if (poll_results_min[result_idx] ==
21415 NPHY_RSSICAL_MAXREAD * NPHY_RSSICAL_NPOLL) {
21416 fine_digital_offset[result_idx] =
21417 (target_code - NPHY_RSSICAL_MAXREAD - 1);
21420 wlc_phy_scale_offset_rssi_nphy(pi, 0x0,
21422 fine_digital_offset[result_idx],
21424 0) ? RADIO_MIMO_CORESEL_CORE1 :
21425 RADIO_MIMO_CORESEL_CORE2,
21427 0) ? NPHY_RAIL_I : NPHY_RAIL_Q,
21431 mod_radio_reg(pi, RADIO_2055_PD_CORE1_RSSI_MISC, pd_mask, pd_state[0]);
21432 mod_radio_reg(pi, RADIO_2055_PD_CORE2_RSSI_MISC, pd_mask, pd_state[1]);
21433 if (rssi_ctrl_state[0] == RADIO_2055_NBRSSI_SEL) {
21434 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE1,
21436 } else if (rssi_ctrl_state[0] == RADIO_2055_WBRSSI_G1_SEL) {
21437 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE1,
21439 } else if (rssi_ctrl_state[0] == RADIO_2055_WBRSSI_G2_SEL) {
21440 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE1,
21443 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE1,
21446 if (rssi_ctrl_state[1] == RADIO_2055_NBRSSI_SEL) {
21447 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE2,
21449 } else if (rssi_ctrl_state[1] == RADIO_2055_WBRSSI_G1_SEL) {
21450 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE2,
21452 } else if (rssi_ctrl_state[1] == RADIO_2055_WBRSSI_G2_SEL) {
21453 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE2,
21456 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE2,
21460 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_OFF, rssi_type);
21462 write_phy_reg(pi, 0x91, rfctrlintc_state[0]);
21463 write_radio_reg(pi, RADIO_2055_PD_CORE1_RXTX, rfpdcorerxtx_state[0]);
21464 write_phy_reg(pi, 0x92, rfctrlintc_state[1]);
21465 write_radio_reg(pi, RADIO_2055_PD_CORE2_RXTX, rfpdcorerxtx_state[1]);
21467 wlc_phy_classifier_nphy(pi, (0x7 << 0), classif_state);
21468 wlc_phy_clip_det_nphy(pi, 1, clip_state);
21470 wlc_phy_resetcca_nphy(pi);
21474 wlc_phy_rssi_compute_nphy(phy_info_t *pi, wlc_d11rxhdr_t *wlc_rxh)
21476 d11rxhdr_t *rxh = &wlc_rxh->rxhdr;
21477 s16 rxpwr, rxpwr0, rxpwr1;
21478 s16 phyRx0_l, phyRx2_l;
21481 rxpwr0 = ltoh16(rxh->PhyRxStatus_1) & PRXS1_nphy_PWR0_MASK;
21482 rxpwr1 = (ltoh16(rxh->PhyRxStatus_1) & PRXS1_nphy_PWR1_MASK) >> 8;
21489 phyRx0_l = ltoh16(rxh->PhyRxStatus_0) & 0x00ff;
21490 phyRx2_l = ltoh16(rxh->PhyRxStatus_2) & 0x00ff;
21491 if (phyRx2_l > 127)
21494 if (((rxpwr0 == 16) || (rxpwr0 == 32))) {
21499 wlc_rxh->rxpwr[0] = (s8) rxpwr0;
21500 wlc_rxh->rxpwr[1] = (s8) rxpwr1;
21501 wlc_rxh->do_rssi_ma = 0;
21503 if (pi->sh->rssi_mode == RSSI_ANT_MERGE_MAX)
21504 rxpwr = (rxpwr0 > rxpwr1) ? rxpwr0 : rxpwr1;
21505 else if (pi->sh->rssi_mode == RSSI_ANT_MERGE_MIN)
21506 rxpwr = (rxpwr0 < rxpwr1) ? rxpwr0 : rxpwr1;
21507 else if (pi->sh->rssi_mode == RSSI_ANT_MERGE_AVG)
21508 rxpwr = (rxpwr0 + rxpwr1) >> 1;
21516 wlc_phy_rfctrlintc_override_nphy(phy_info_t *pi, u8 field, u16 value,
21523 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
21524 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
21525 if (core_code == RADIO_MIMO_CORESEL_CORE1
21526 && core == PHY_CORE_1)
21528 else if (core_code == RADIO_MIMO_CORESEL_CORE2
21529 && core == PHY_CORE_0)
21532 if (NREV_LT(pi->pubpi.phy_rev, 7)) {
21534 mask = (0x1 << 10);
21536 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x91 :
21540 if (field == NPHY_RfctrlIntc_override_OFF) {
21542 write_phy_reg(pi, (core == PHY_CORE_0) ? 0x91 :
21545 wlc_phy_force_rfseq_nphy(pi,
21546 NPHY_RFSEQ_RESET2RX);
21547 } else if (field == NPHY_RfctrlIntc_override_TRSW) {
21549 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21551 mask = (0x1 << 6) | (0x1 << 7);
21556 PHY_CORE_0) ? 0x91 : 0x92,
21561 PHY_CORE_0) ? 0x91 : 0x92,
21564 and_phy_reg(pi, 0x2ff, (u16)
21566 or_phy_reg(pi, 0x2ff, (0x1 << 13));
21567 or_phy_reg(pi, 0x2ff, (0x1 << 0));
21570 mask = (0x1 << 6) |
21572 (0x1 << 8) | (0x1 << 9);
21576 PHY_CORE_0) ? 0x91 : 0x92,
21583 PHY_CORE_0) ? 0xe7 : 0xec,
21586 mask = (core == PHY_CORE_0) ? (0x1 << 0)
21588 val = 1 << ((core == PHY_CORE_0) ?
21590 mod_phy_reg(pi, 0x78, mask, val);
21592 SPINWAIT(((read_phy_reg(pi, 0x78) & val)
21594 ASSERT((read_phy_reg(pi, 0x78) & val) ==
21601 PHY_CORE_0) ? 0xe7 : 0xec,
21604 } else if (field == NPHY_RfctrlIntc_override_PA) {
21605 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21607 mask = (0x1 << 4) | (0x1 << 5);
21609 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21617 PHY_CORE_0) ? 0x91 : 0x92,
21622 PHY_CORE_0) ? 0x91 : 0x92,
21626 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21635 PHY_CORE_0) ? 0x91 : 0x92,
21638 } else if (field == NPHY_RfctrlIntc_override_EXT_LNA_PU) {
21639 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21640 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21647 : 0x92, mask, val);
21661 : 0x92, mask, val);
21670 mask = (0x1 << 11);
21674 PHY_CORE_0) ? 0x91 : 0x92,
21678 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21687 PHY_CORE_0) ? 0x91 : 0x92,
21690 } else if (field ==
21691 NPHY_RfctrlIntc_override_EXT_LNA_GAIN) {
21692 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21693 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21700 : 0x92, mask, val);
21714 : 0x92, mask, val);
21723 mask = (0x1 << 11);
21727 PHY_CORE_0) ? 0x91 : 0x92,
21731 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21740 PHY_CORE_0) ? 0x91 : 0x92,
21750 static void wlc_phy_rssi_cal_nphy_rev3(phy_info_t *pi)
21754 u16 clip_off[] = { 0xffff, 0xffff };
21759 s32 poll_results[8][4] = {
21769 s32 poll_result_core[4] = { 0, 0, 0, 0 };
21770 s32 min_d = NPHY_RSSICAL_MAXD, curr_d;
21771 s32 fine_digital_offset[4];
21772 s32 poll_results_min[4] = { 0, 0, 0, 0 };
21778 u16 NPHY_Rfctrlintc1_save, NPHY_Rfctrlintc2_save;
21779 u16 NPHY_AfectrlOverride1_save, NPHY_AfectrlOverride2_save;
21780 u16 NPHY_AfectrlCore1_save, NPHY_AfectrlCore2_save;
21781 u16 NPHY_RfctrlOverride0_save, NPHY_RfctrlOverride1_save;
21782 u16 NPHY_RfctrlOverrideAux0_save, NPHY_RfctrlOverrideAux1_save;
21783 u16 NPHY_RfctrlCmd_save;
21784 u16 NPHY_RfctrlMiscReg1_save, NPHY_RfctrlMiscReg2_save;
21785 u16 NPHY_RfctrlRSSIOTHERS1_save, NPHY_RfctrlRSSIOTHERS2_save;
21787 u16 NPHY_REV7_RfctrlOverride3_save, NPHY_REV7_RfctrlOverride4_save;
21788 u16 NPHY_REV7_RfctrlOverride5_save, NPHY_REV7_RfctrlOverride6_save;
21789 u16 NPHY_REV7_RfctrlMiscReg3_save, NPHY_REV7_RfctrlMiscReg4_save;
21790 u16 NPHY_REV7_RfctrlMiscReg5_save, NPHY_REV7_RfctrlMiscReg6_save;
21792 NPHY_REV7_RfctrlOverride3_save = NPHY_REV7_RfctrlOverride4_save =
21793 NPHY_REV7_RfctrlOverride5_save = NPHY_REV7_RfctrlOverride6_save =
21794 NPHY_REV7_RfctrlMiscReg3_save = NPHY_REV7_RfctrlMiscReg4_save =
21795 NPHY_REV7_RfctrlMiscReg5_save = NPHY_REV7_RfctrlMiscReg6_save = 0;
21797 classif_state = wlc_phy_classifier_nphy(pi, 0, 0);
21798 wlc_phy_classifier_nphy(pi, (0x7 << 0), 4);
21799 wlc_phy_clip_det_nphy(pi, 0, clip_state);
21800 wlc_phy_clip_det_nphy(pi, 1, clip_off);
21802 NPHY_Rfctrlintc1_save = read_phy_reg(pi, 0x91);
21803 NPHY_Rfctrlintc2_save = read_phy_reg(pi, 0x92);
21804 NPHY_AfectrlOverride1_save = read_phy_reg(pi, 0x8f);
21805 NPHY_AfectrlOverride2_save = read_phy_reg(pi, 0xa5);
21806 NPHY_AfectrlCore1_save = read_phy_reg(pi, 0xa6);
21807 NPHY_AfectrlCore2_save = read_phy_reg(pi, 0xa7);
21808 NPHY_RfctrlOverride0_save = read_phy_reg(pi, 0xe7);
21809 NPHY_RfctrlOverride1_save = read_phy_reg(pi, 0xec);
21810 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21811 NPHY_REV7_RfctrlOverride3_save = read_phy_reg(pi, 0x342);
21812 NPHY_REV7_RfctrlOverride4_save = read_phy_reg(pi, 0x343);
21813 NPHY_REV7_RfctrlOverride5_save = read_phy_reg(pi, 0x346);
21814 NPHY_REV7_RfctrlOverride6_save = read_phy_reg(pi, 0x347);
21816 NPHY_RfctrlOverrideAux0_save = read_phy_reg(pi, 0xe5);
21817 NPHY_RfctrlOverrideAux1_save = read_phy_reg(pi, 0xe6);
21818 NPHY_RfctrlCmd_save = read_phy_reg(pi, 0x78);
21819 NPHY_RfctrlMiscReg1_save = read_phy_reg(pi, 0xf9);
21820 NPHY_RfctrlMiscReg2_save = read_phy_reg(pi, 0xfb);
21821 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21822 NPHY_REV7_RfctrlMiscReg3_save = read_phy_reg(pi, 0x340);
21823 NPHY_REV7_RfctrlMiscReg4_save = read_phy_reg(pi, 0x341);
21824 NPHY_REV7_RfctrlMiscReg5_save = read_phy_reg(pi, 0x344);
21825 NPHY_REV7_RfctrlMiscReg6_save = read_phy_reg(pi, 0x345);
21827 NPHY_RfctrlRSSIOTHERS1_save = read_phy_reg(pi, 0x7a);
21828 NPHY_RfctrlRSSIOTHERS2_save = read_phy_reg(pi, 0x7d);
21830 wlc_phy_rfctrlintc_override_nphy(pi, NPHY_RfctrlIntc_override_OFF, 0,
21831 RADIO_MIMO_CORESEL_ALLRXTX);
21832 wlc_phy_rfctrlintc_override_nphy(pi, NPHY_RfctrlIntc_override_TRSW, 1,
21833 RADIO_MIMO_CORESEL_ALLRXTX);
21835 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21836 wlc_phy_rfctrl_override_1tomany_nphy(pi,
21837 NPHY_REV7_RfctrlOverride_cmd_rxrf_pu,
21840 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 0), 0, 0, 0);
21843 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21844 wlc_phy_rfctrl_override_1tomany_nphy(pi,
21845 NPHY_REV7_RfctrlOverride_cmd_rx_pu,
21848 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 1), 1, 0, 0);
21851 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21852 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7),
21854 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21855 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 6), 1, 0, 0,
21856 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21858 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 7), 1, 0, 0);
21859 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 6), 1, 0, 0);
21862 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21863 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21864 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5),
21866 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21867 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4), 1, 0,
21869 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21871 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 5), 0, 0, 0);
21872 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 4), 1, 0, 0);
21876 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21877 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4),
21879 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21880 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5), 1, 0,
21882 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21884 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 4), 0, 0, 0);
21885 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 5), 1, 0, 0);
21889 rxcore_state = wlc_phy_rxcore_getstate_nphy((wlc_phy_t *) pi);
21893 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
21895 if ((rxcore_state & (1 << core)) == 0)
21898 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0,
21901 RADIO_MIMO_CORESEL_CORE1 :
21902 RADIO_MIMO_CORESEL_CORE2,
21903 NPHY_RAIL_I, NPHY_RSSI_SEL_NB);
21904 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0,
21907 RADIO_MIMO_CORESEL_CORE1 :
21908 RADIO_MIMO_CORESEL_CORE2,
21909 NPHY_RAIL_Q, NPHY_RSSI_SEL_NB);
21911 for (vcm = 0; vcm < vcm_level_max; vcm++) {
21912 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21914 mod_radio_reg(pi, (core == PHY_CORE_0) ?
21915 RADIO_2057_NB_MASTER_CORE0 :
21916 RADIO_2057_NB_MASTER_CORE1,
21917 RADIO_2057_VCM_MASK, vcm);
21920 mod_radio_reg(pi, RADIO_2056_RX_RSSI_MISC |
21922 PHY_CORE_0) ? RADIO_2056_RX0 :
21924 RADIO_2056_VCM_MASK,
21925 vcm << RADIO_2056_RSSI_VCM_SHIFT);
21928 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_NB,
21929 &poll_results[vcm][0],
21930 NPHY_RSSICAL_NPOLL);
21933 for (result_idx = 0; result_idx < 4; result_idx++) {
21934 if ((core == result_idx / 2) && (result_idx % 2 == 0)) {
21936 min_d = NPHY_RSSICAL_MAXD;
21939 NPHY_RSSICAL_MAXREAD * NPHY_RSSICAL_NPOLL +
21941 for (vcm = 0; vcm < vcm_level_max; vcm++) {
21942 curr_d = poll_results[vcm][result_idx] *
21943 poll_results[vcm][result_idx] +
21944 poll_results[vcm][result_idx + 1] *
21945 poll_results[vcm][result_idx + 1];
21946 if (curr_d < min_d) {
21950 if (poll_results[vcm][result_idx] <
21957 vcm_final = min_vcm;
21958 poll_results_min[result_idx] = min_poll;
21962 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21963 mod_radio_reg(pi, (core == PHY_CORE_0) ?
21964 RADIO_2057_NB_MASTER_CORE0 :
21965 RADIO_2057_NB_MASTER_CORE1,
21966 RADIO_2057_VCM_MASK, vcm_final);
21968 mod_radio_reg(pi, RADIO_2056_RX_RSSI_MISC |
21970 PHY_CORE_0) ? RADIO_2056_RX0 :
21971 RADIO_2056_RX1), RADIO_2056_VCM_MASK,
21972 vcm_final << RADIO_2056_RSSI_VCM_SHIFT);
21975 for (result_idx = 0; result_idx < 4; result_idx++) {
21976 if (core == result_idx / 2) {
21977 fine_digital_offset[result_idx] =
21978 (NPHY_RSSICAL_NB_TARGET *
21979 NPHY_RSSICAL_NPOLL) -
21980 poll_results[vcm_final][result_idx];
21981 if (fine_digital_offset[result_idx] < 0) {
21982 fine_digital_offset[result_idx] =
21983 ABS(fine_digital_offset
21985 fine_digital_offset[result_idx] +=
21986 (NPHY_RSSICAL_NPOLL / 2);
21987 fine_digital_offset[result_idx] /=
21988 NPHY_RSSICAL_NPOLL;
21989 fine_digital_offset[result_idx] =
21990 -fine_digital_offset[result_idx];
21992 fine_digital_offset[result_idx] +=
21993 (NPHY_RSSICAL_NPOLL / 2);
21994 fine_digital_offset[result_idx] /=
21995 NPHY_RSSICAL_NPOLL;
21998 if (poll_results_min[result_idx] ==
21999 NPHY_RSSICAL_MAXREAD * NPHY_RSSICAL_NPOLL) {
22000 fine_digital_offset[result_idx] =
22001 (NPHY_RSSICAL_NB_TARGET -
22002 NPHY_RSSICAL_MAXREAD - 1);
22005 wlc_phy_scale_offset_rssi_nphy(pi, 0x0,
22007 fine_digital_offset
22012 RADIO_MIMO_CORESEL_CORE1
22014 RADIO_MIMO_CORESEL_CORE2,
22025 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
22027 if ((rxcore_state & (1 << core)) == 0)
22030 for (wb_cnt = 0; wb_cnt < 2; wb_cnt++) {
22032 rssi_type = NPHY_RSSI_SEL_W1;
22033 target_code = NPHY_RSSICAL_W1_TARGET_REV3;
22035 rssi_type = NPHY_RSSI_SEL_W2;
22036 target_code = NPHY_RSSICAL_W2_TARGET_REV3;
22039 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0,
22042 RADIO_MIMO_CORESEL_CORE1
22044 RADIO_MIMO_CORESEL_CORE2,
22045 NPHY_RAIL_I, rssi_type);
22046 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0,
22049 RADIO_MIMO_CORESEL_CORE1
22051 RADIO_MIMO_CORESEL_CORE2,
22052 NPHY_RAIL_Q, rssi_type);
22054 wlc_phy_poll_rssi_nphy(pi, rssi_type, poll_result_core,
22055 NPHY_RSSICAL_NPOLL);
22057 for (result_idx = 0; result_idx < 4; result_idx++) {
22058 if (core == result_idx / 2) {
22059 fine_digital_offset[result_idx] =
22060 (target_code * NPHY_RSSICAL_NPOLL) -
22061 poll_result_core[result_idx];
22062 if (fine_digital_offset[result_idx] < 0) {
22063 fine_digital_offset[result_idx]
22065 ABS(fine_digital_offset
22067 fine_digital_offset[result_idx]
22068 += (NPHY_RSSICAL_NPOLL / 2);
22069 fine_digital_offset[result_idx]
22070 /= NPHY_RSSICAL_NPOLL;
22071 fine_digital_offset[result_idx]
22073 -fine_digital_offset
22076 fine_digital_offset[result_idx]
22077 += (NPHY_RSSICAL_NPOLL / 2);
22078 fine_digital_offset[result_idx]
22079 /= NPHY_RSSICAL_NPOLL;
22082 wlc_phy_scale_offset_rssi_nphy(pi, 0x0,
22084 fine_digital_offset
22090 RADIO_MIMO_CORESEL_CORE1
22092 RADIO_MIMO_CORESEL_CORE2,
22106 write_phy_reg(pi, 0x91, NPHY_Rfctrlintc1_save);
22107 write_phy_reg(pi, 0x92, NPHY_Rfctrlintc2_save);
22109 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
22111 mod_phy_reg(pi, 0xe7, (0x1 << 0), 1 << 0);
22112 mod_phy_reg(pi, 0x78, (0x1 << 0), 1 << 0);
22113 mod_phy_reg(pi, 0xe7, (0x1 << 0), 0);
22115 mod_phy_reg(pi, 0xec, (0x1 << 0), 1 << 0);
22116 mod_phy_reg(pi, 0x78, (0x1 << 1), 1 << 1);
22117 mod_phy_reg(pi, 0xec, (0x1 << 0), 0);
22119 write_phy_reg(pi, 0x8f, NPHY_AfectrlOverride1_save);
22120 write_phy_reg(pi, 0xa5, NPHY_AfectrlOverride2_save);
22121 write_phy_reg(pi, 0xa6, NPHY_AfectrlCore1_save);
22122 write_phy_reg(pi, 0xa7, NPHY_AfectrlCore2_save);
22123 write_phy_reg(pi, 0xe7, NPHY_RfctrlOverride0_save);
22124 write_phy_reg(pi, 0xec, NPHY_RfctrlOverride1_save);
22125 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22126 write_phy_reg(pi, 0x342, NPHY_REV7_RfctrlOverride3_save);
22127 write_phy_reg(pi, 0x343, NPHY_REV7_RfctrlOverride4_save);
22128 write_phy_reg(pi, 0x346, NPHY_REV7_RfctrlOverride5_save);
22129 write_phy_reg(pi, 0x347, NPHY_REV7_RfctrlOverride6_save);
22131 write_phy_reg(pi, 0xe5, NPHY_RfctrlOverrideAux0_save);
22132 write_phy_reg(pi, 0xe6, NPHY_RfctrlOverrideAux1_save);
22133 write_phy_reg(pi, 0x78, NPHY_RfctrlCmd_save);
22134 write_phy_reg(pi, 0xf9, NPHY_RfctrlMiscReg1_save);
22135 write_phy_reg(pi, 0xfb, NPHY_RfctrlMiscReg2_save);
22136 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22137 write_phy_reg(pi, 0x340, NPHY_REV7_RfctrlMiscReg3_save);
22138 write_phy_reg(pi, 0x341, NPHY_REV7_RfctrlMiscReg4_save);
22139 write_phy_reg(pi, 0x344, NPHY_REV7_RfctrlMiscReg5_save);
22140 write_phy_reg(pi, 0x345, NPHY_REV7_RfctrlMiscReg6_save);
22142 write_phy_reg(pi, 0x7a, NPHY_RfctrlRSSIOTHERS1_save);
22143 write_phy_reg(pi, 0x7d, NPHY_RfctrlRSSIOTHERS2_save);
22145 if (CHSPEC_IS2G(pi->radio_chanspec)) {
22146 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22147 pi->rssical_cache.rssical_radio_regs_2G[0] =
22148 read_radio_reg(pi, RADIO_2057_NB_MASTER_CORE0);
22149 pi->rssical_cache.rssical_radio_regs_2G[1] =
22150 read_radio_reg(pi, RADIO_2057_NB_MASTER_CORE1);
22152 pi->rssical_cache.rssical_radio_regs_2G[0] =
22154 RADIO_2056_RX_RSSI_MISC |
22156 pi->rssical_cache.rssical_radio_regs_2G[1] =
22158 RADIO_2056_RX_RSSI_MISC |
22162 pi->rssical_cache.rssical_phyregs_2G[0] =
22163 read_phy_reg(pi, 0x1a6);
22164 pi->rssical_cache.rssical_phyregs_2G[1] =
22165 read_phy_reg(pi, 0x1ac);
22166 pi->rssical_cache.rssical_phyregs_2G[2] =
22167 read_phy_reg(pi, 0x1b2);
22168 pi->rssical_cache.rssical_phyregs_2G[3] =
22169 read_phy_reg(pi, 0x1b8);
22170 pi->rssical_cache.rssical_phyregs_2G[4] =
22171 read_phy_reg(pi, 0x1a4);
22172 pi->rssical_cache.rssical_phyregs_2G[5] =
22173 read_phy_reg(pi, 0x1aa);
22174 pi->rssical_cache.rssical_phyregs_2G[6] =
22175 read_phy_reg(pi, 0x1b0);
22176 pi->rssical_cache.rssical_phyregs_2G[7] =
22177 read_phy_reg(pi, 0x1b6);
22178 pi->rssical_cache.rssical_phyregs_2G[8] =
22179 read_phy_reg(pi, 0x1a5);
22180 pi->rssical_cache.rssical_phyregs_2G[9] =
22181 read_phy_reg(pi, 0x1ab);
22182 pi->rssical_cache.rssical_phyregs_2G[10] =
22183 read_phy_reg(pi, 0x1b1);
22184 pi->rssical_cache.rssical_phyregs_2G[11] =
22185 read_phy_reg(pi, 0x1b7);
22187 pi->nphy_rssical_chanspec_2G = pi->radio_chanspec;
22189 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22190 pi->rssical_cache.rssical_radio_regs_5G[0] =
22191 read_radio_reg(pi, RADIO_2057_NB_MASTER_CORE0);
22192 pi->rssical_cache.rssical_radio_regs_5G[1] =
22193 read_radio_reg(pi, RADIO_2057_NB_MASTER_CORE1);
22195 pi->rssical_cache.rssical_radio_regs_5G[0] =
22197 RADIO_2056_RX_RSSI_MISC |
22199 pi->rssical_cache.rssical_radio_regs_5G[1] =
22201 RADIO_2056_RX_RSSI_MISC |
22205 pi->rssical_cache.rssical_phyregs_5G[0] =
22206 read_phy_reg(pi, 0x1a6);
22207 pi->rssical_cache.rssical_phyregs_5G[1] =
22208 read_phy_reg(pi, 0x1ac);
22209 pi->rssical_cache.rssical_phyregs_5G[2] =
22210 read_phy_reg(pi, 0x1b2);
22211 pi->rssical_cache.rssical_phyregs_5G[3] =
22212 read_phy_reg(pi, 0x1b8);
22213 pi->rssical_cache.rssical_phyregs_5G[4] =
22214 read_phy_reg(pi, 0x1a4);
22215 pi->rssical_cache.rssical_phyregs_5G[5] =
22216 read_phy_reg(pi, 0x1aa);
22217 pi->rssical_cache.rssical_phyregs_5G[6] =
22218 read_phy_reg(pi, 0x1b0);
22219 pi->rssical_cache.rssical_phyregs_5G[7] =
22220 read_phy_reg(pi, 0x1b6);
22221 pi->rssical_cache.rssical_phyregs_5G[8] =
22222 read_phy_reg(pi, 0x1a5);
22223 pi->rssical_cache.rssical_phyregs_5G[9] =
22224 read_phy_reg(pi, 0x1ab);
22225 pi->rssical_cache.rssical_phyregs_5G[10] =
22226 read_phy_reg(pi, 0x1b1);
22227 pi->rssical_cache.rssical_phyregs_5G[11] =
22228 read_phy_reg(pi, 0x1b7);
22230 pi->nphy_rssical_chanspec_5G = pi->radio_chanspec;
22233 wlc_phy_classifier_nphy(pi, (0x7 << 0), classif_state);
22234 wlc_phy_clip_det_nphy(pi, 1, clip_state);
22237 static void wlc_phy_restore_rssical_nphy(phy_info_t *pi)
22239 ASSERT(NREV_GE(pi->pubpi.phy_rev, 3));
22241 if (CHSPEC_IS2G(pi->radio_chanspec)) {
22242 if (pi->nphy_rssical_chanspec_2G == 0)
22245 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22246 mod_radio_reg(pi, RADIO_2057_NB_MASTER_CORE0,
22247 RADIO_2057_VCM_MASK,
22249 rssical_radio_regs_2G[0]);
22250 mod_radio_reg(pi, RADIO_2057_NB_MASTER_CORE1,
22251 RADIO_2057_VCM_MASK,
22253 rssical_radio_regs_2G[1]);
22256 RADIO_2056_RX_RSSI_MISC | RADIO_2056_RX0,
22257 RADIO_2056_VCM_MASK,
22259 rssical_radio_regs_2G[0]);
22261 RADIO_2056_RX_RSSI_MISC | RADIO_2056_RX1,
22262 RADIO_2056_VCM_MASK,
22264 rssical_radio_regs_2G[1]);
22267 write_phy_reg(pi, 0x1a6,
22268 pi->rssical_cache.rssical_phyregs_2G[0]);
22269 write_phy_reg(pi, 0x1ac,
22270 pi->rssical_cache.rssical_phyregs_2G[1]);
22271 write_phy_reg(pi, 0x1b2,
22272 pi->rssical_cache.rssical_phyregs_2G[2]);
22273 write_phy_reg(pi, 0x1b8,
22274 pi->rssical_cache.rssical_phyregs_2G[3]);
22275 write_phy_reg(pi, 0x1a4,
22276 pi->rssical_cache.rssical_phyregs_2G[4]);
22277 write_phy_reg(pi, 0x1aa,
22278 pi->rssical_cache.rssical_phyregs_2G[5]);
22279 write_phy_reg(pi, 0x1b0,
22280 pi->rssical_cache.rssical_phyregs_2G[6]);
22281 write_phy_reg(pi, 0x1b6,
22282 pi->rssical_cache.rssical_phyregs_2G[7]);
22283 write_phy_reg(pi, 0x1a5,
22284 pi->rssical_cache.rssical_phyregs_2G[8]);
22285 write_phy_reg(pi, 0x1ab,
22286 pi->rssical_cache.rssical_phyregs_2G[9]);
22287 write_phy_reg(pi, 0x1b1,
22288 pi->rssical_cache.rssical_phyregs_2G[10]);
22289 write_phy_reg(pi, 0x1b7,
22290 pi->rssical_cache.rssical_phyregs_2G[11]);
22293 if (pi->nphy_rssical_chanspec_5G == 0)
22296 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22297 mod_radio_reg(pi, RADIO_2057_NB_MASTER_CORE0,
22298 RADIO_2057_VCM_MASK,
22300 rssical_radio_regs_5G[0]);
22301 mod_radio_reg(pi, RADIO_2057_NB_MASTER_CORE1,
22302 RADIO_2057_VCM_MASK,
22304 rssical_radio_regs_5G[1]);
22307 RADIO_2056_RX_RSSI_MISC | RADIO_2056_RX0,
22308 RADIO_2056_VCM_MASK,
22310 rssical_radio_regs_5G[0]);
22312 RADIO_2056_RX_RSSI_MISC | RADIO_2056_RX1,
22313 RADIO_2056_VCM_MASK,
22315 rssical_radio_regs_5G[1]);
22318 write_phy_reg(pi, 0x1a6,
22319 pi->rssical_cache.rssical_phyregs_5G[0]);
22320 write_phy_reg(pi, 0x1ac,
22321 pi->rssical_cache.rssical_phyregs_5G[1]);
22322 write_phy_reg(pi, 0x1b2,
22323 pi->rssical_cache.rssical_phyregs_5G[2]);
22324 write_phy_reg(pi, 0x1b8,
22325 pi->rssical_cache.rssical_phyregs_5G[3]);
22326 write_phy_reg(pi, 0x1a4,
22327 pi->rssical_cache.rssical_phyregs_5G[4]);
22328 write_phy_reg(pi, 0x1aa,
22329 pi->rssical_cache.rssical_phyregs_5G[5]);
22330 write_phy_reg(pi, 0x1b0,
22331 pi->rssical_cache.rssical_phyregs_5G[6]);
22332 write_phy_reg(pi, 0x1b6,
22333 pi->rssical_cache.rssical_phyregs_5G[7]);
22334 write_phy_reg(pi, 0x1a5,
22335 pi->rssical_cache.rssical_phyregs_5G[8]);
22336 write_phy_reg(pi, 0x1ab,
22337 pi->rssical_cache.rssical_phyregs_5G[9]);
22338 write_phy_reg(pi, 0x1b1,
22339 pi->rssical_cache.rssical_phyregs_5G[10]);
22340 write_phy_reg(pi, 0x1b7,
22341 pi->rssical_cache.rssical_phyregs_5G[11]);
22346 wlc_phy_gen_load_samples_nphy(phy_info_t *pi, u32 f_kHz, u16 max_val,
22349 u8 phy_bw, is_phybw40;
22350 u16 num_samps, t, spur;
22351 fixed theta = 0, rot = 0;
22353 cs32 *tone_buf = NULL;
22355 is_phybw40 = CHSPEC_IS40(pi->radio_chanspec);
22356 phy_bw = (is_phybw40 == 1) ? 40 : 20;
22357 tbl_len = (phy_bw << 3);
22359 if (dac_test_mode == 1) {
22360 spur = read_phy_reg(pi, 0x01);
22361 spur = (spur >> 15) & 1;
22362 phy_bw = (spur == 1) ? 82 : 80;
22363 phy_bw = (is_phybw40 == 1) ? (phy_bw << 1) : phy_bw;
22365 tbl_len = (phy_bw << 1);
22368 tone_buf = kmalloc(sizeof(cs32) * tbl_len, GFP_ATOMIC);
22369 if (tone_buf == NULL) {
22373 num_samps = (u16) tbl_len;
22374 rot = FIXED((f_kHz * 36) / phy_bw) / 100;
22377 for (t = 0; t < num_samps; t++) {
22379 wlc_phy_cordic(theta, &tone_buf[t]);
22383 tone_buf[t].q = (s32) FLOAT(tone_buf[t].q * max_val);
22384 tone_buf[t].i = (s32) FLOAT(tone_buf[t].i * max_val);
22387 wlc_phy_loadsampletable_nphy(pi, tone_buf, num_samps);
22389 if (tone_buf != NULL)
22396 wlc_phy_tx_tone_nphy(phy_info_t *pi, u32 f_kHz, u16 max_val,
22397 u8 iqmode, u8 dac_test_mode, bool modify_bbmult)
22400 u16 loops = 0xffff;
22404 wlc_phy_gen_load_samples_nphy(pi, f_kHz, max_val, dac_test_mode);
22405 if (num_samps == 0) {
22409 wlc_phy_runsamples_nphy(pi, num_samps, loops, wait, iqmode,
22410 dac_test_mode, modify_bbmult);
22416 wlc_phy_loadsampletable_nphy(phy_info_t *pi, cs32 *tone_buf,
22420 u32 *data_buf = NULL;
22422 data_buf = kmalloc(sizeof(u32) * num_samps, GFP_ATOMIC);
22423 if (data_buf == NULL) {
22427 if (pi->phyhang_avoid)
22428 wlc_phy_stay_in_carriersearch_nphy(pi, true);
22430 for (t = 0; t < num_samps; t++) {
22431 data_buf[t] = ((((unsigned int)tone_buf[t].i) & 0x3ff) << 10) |
22432 (((unsigned int)tone_buf[t].q) & 0x3ff);
22434 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_SAMPLEPLAY, num_samps, 0, 32,
22437 if (data_buf != NULL)
22440 if (pi->phyhang_avoid)
22441 wlc_phy_stay_in_carriersearch_nphy(pi, false);
22445 wlc_phy_runsamples_nphy(phy_info_t *pi, u16 num_samps, u16 loops,
22446 u16 wait, u8 iqmode, u8 dac_test_mode,
22447 bool modify_bbmult)
22450 u8 phy_bw, sample_cmd;
22451 u16 orig_RfseqCoreActv;
22452 u16 lpf_bw_ctl_override3, lpf_bw_ctl_override4, lpf_bw_ctl_miscreg3,
22453 lpf_bw_ctl_miscreg4;
22455 if (pi->phyhang_avoid)
22456 wlc_phy_stay_in_carriersearch_nphy(pi, true);
22459 if (CHSPEC_IS40(pi->radio_chanspec))
22462 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22464 lpf_bw_ctl_override3 = read_phy_reg(pi, 0x342) & (0x1 << 7);
22465 lpf_bw_ctl_override4 = read_phy_reg(pi, 0x343) & (0x1 << 7);
22466 if (lpf_bw_ctl_override3 | lpf_bw_ctl_override4) {
22467 lpf_bw_ctl_miscreg3 = read_phy_reg(pi, 0x340) &
22469 lpf_bw_ctl_miscreg4 = read_phy_reg(pi, 0x341) &
22472 wlc_phy_rfctrl_override_nphy_rev7(pi,
22474 wlc_phy_read_lpf_bw_ctl_nphy
22476 NPHY_REV7_RFCTRLOVERRIDE_ID1);
22478 pi->nphy_sample_play_lpf_bw_ctl_ovr = true;
22480 lpf_bw_ctl_miscreg3 = read_phy_reg(pi, 0x340) &
22482 lpf_bw_ctl_miscreg4 = read_phy_reg(pi, 0x341) &
22487 if ((pi->nphy_bb_mult_save & BB_MULT_VALID_MASK) == 0) {
22489 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, 87, 16,
22491 pi->nphy_bb_mult_save =
22492 BB_MULT_VALID_MASK | (bb_mult & BB_MULT_MASK);
22495 if (modify_bbmult) {
22496 bb_mult = (phy_bw == 20) ? 100 : 71;
22497 bb_mult = (bb_mult << 8) + bb_mult;
22498 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, 87, 16,
22502 if (pi->phyhang_avoid)
22503 wlc_phy_stay_in_carriersearch_nphy(pi, false);
22505 write_phy_reg(pi, 0xc6, num_samps - 1);
22507 if (loops != 0xffff) {
22508 write_phy_reg(pi, 0xc4, loops - 1);
22510 write_phy_reg(pi, 0xc4, loops);
22512 write_phy_reg(pi, 0xc5, wait);
22514 orig_RfseqCoreActv = read_phy_reg(pi, 0xa1);
22515 or_phy_reg(pi, 0xa1, NPHY_RfseqMode_CoreActv_override);
22518 and_phy_reg(pi, 0xc2, 0x7FFF);
22520 or_phy_reg(pi, 0xc2, 0x8000);
22523 sample_cmd = (dac_test_mode == 1) ? 0x5 : 0x1;
22524 write_phy_reg(pi, 0xc3, sample_cmd);
22527 SPINWAIT(((read_phy_reg(pi, 0xa4) & 0x1) == 1), 1000);
22529 write_phy_reg(pi, 0xa1, orig_RfseqCoreActv);
22532 void wlc_phy_stopplayback_nphy(phy_info_t *pi)
22534 u16 playback_status;
22537 if (pi->phyhang_avoid)
22538 wlc_phy_stay_in_carriersearch_nphy(pi, true);
22540 playback_status = read_phy_reg(pi, 0xc7);
22541 if (playback_status & 0x1) {
22542 or_phy_reg(pi, 0xc3, NPHY_sampleCmd_STOP);
22543 } else if (playback_status & 0x2) {
22545 and_phy_reg(pi, 0xc2,
22546 (u16) ~NPHY_iqloCalCmdGctl_IQLO_CAL_EN);
22549 and_phy_reg(pi, 0xc3, (u16) ~(0x1 << 2));
22551 if ((pi->nphy_bb_mult_save & BB_MULT_VALID_MASK) != 0) {
22553 bb_mult = pi->nphy_bb_mult_save & BB_MULT_MASK;
22554 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, 87, 16,
22557 pi->nphy_bb_mult_save = 0;
22560 if (NREV_IS(pi->pubpi.phy_rev, 7) || NREV_GE(pi->pubpi.phy_rev, 8)) {
22561 if (pi->nphy_sample_play_lpf_bw_ctl_ovr) {
22562 wlc_phy_rfctrl_override_nphy_rev7(pi,
22565 NPHY_REV7_RFCTRLOVERRIDE_ID1);
22566 pi->nphy_sample_play_lpf_bw_ctl_ovr = false;
22570 if (pi->phyhang_avoid)
22571 wlc_phy_stay_in_carriersearch_nphy(pi, false);
22574 nphy_txgains_t wlc_phy_get_tx_gain_nphy(phy_info_t *pi)
22576 u16 base_idx[2], curr_gain[2];
22578 nphy_txgains_t target_gain;
22579 u32 *tx_pwrctrl_tbl = NULL;
22581 if (pi->nphy_txpwrctrl == PHY_TPC_HW_OFF) {
22582 if (pi->phyhang_avoid)
22583 wlc_phy_stay_in_carriersearch_nphy(pi, true);
22585 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
22588 if (pi->phyhang_avoid)
22589 wlc_phy_stay_in_carriersearch_nphy(pi, false);
22591 for (core_no = 0; core_no < 2; core_no++) {
22592 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22593 target_gain.ipa[core_no] =
22594 curr_gain[core_no] & 0x0007;
22595 target_gain.pad[core_no] =
22596 ((curr_gain[core_no] & 0x00F8) >> 3);
22597 target_gain.pga[core_no] =
22598 ((curr_gain[core_no] & 0x0F00) >> 8);
22599 target_gain.txgm[core_no] =
22600 ((curr_gain[core_no] & 0x7000) >> 12);
22601 target_gain.txlpf[core_no] =
22602 ((curr_gain[core_no] & 0x8000) >> 15);
22603 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
22604 target_gain.ipa[core_no] =
22605 curr_gain[core_no] & 0x000F;
22606 target_gain.pad[core_no] =
22607 ((curr_gain[core_no] & 0x00F0) >> 4);
22608 target_gain.pga[core_no] =
22609 ((curr_gain[core_no] & 0x0F00) >> 8);
22610 target_gain.txgm[core_no] =
22611 ((curr_gain[core_no] & 0x7000) >> 12);
22613 target_gain.ipa[core_no] =
22614 curr_gain[core_no] & 0x0003;
22615 target_gain.pad[core_no] =
22616 ((curr_gain[core_no] & 0x000C) >> 2);
22617 target_gain.pga[core_no] =
22618 ((curr_gain[core_no] & 0x0070) >> 4);
22619 target_gain.txgm[core_no] =
22620 ((curr_gain[core_no] & 0x0380) >> 7);
22624 base_idx[0] = (read_phy_reg(pi, 0x1ed) >> 8) & 0x7f;
22625 base_idx[1] = (read_phy_reg(pi, 0x1ee) >> 8) & 0x7f;
22626 for (core_no = 0; core_no < 2; core_no++) {
22627 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
22630 wlc_phy_get_ipa_gaintbl_nphy(pi);
22632 if (CHSPEC_IS5G(pi->radio_chanspec)) {
22634 (pi->pubpi.phy_rev, 3) {
22636 nphy_tpc_5GHz_txgain_rev3;
22638 (pi->pubpi.phy_rev, 4) {
22643 nphy_tpc_5GHz_txgain_HiPwrEPA
22645 nphy_tpc_5GHz_txgain_rev4;
22648 nphy_tpc_5GHz_txgain_rev5;
22652 (pi->pubpi.phy_rev, 7)) {
22656 nphy_tpc_txgain_epa_2057rev3;
22657 } else if (pi->pubpi.
22661 nphy_tpc_txgain_epa_2057rev5;
22666 (pi->pubpi.phy_rev,
22668 && (pi->srom_fem2g.
22672 nphy_tpc_txgain_HiPwrEPA;
22675 nphy_tpc_txgain_rev3;
22681 (pi->pubpi.phy_rev, 7) {
22682 target_gain.ipa[core_no] =
22683 (tx_pwrctrl_tbl[base_idx[core_no]]
22685 target_gain.pad[core_no] =
22686 (tx_pwrctrl_tbl[base_idx[core_no]]
22688 target_gain.pga[core_no] =
22689 (tx_pwrctrl_tbl[base_idx[core_no]]
22691 target_gain.txgm[core_no] =
22692 (tx_pwrctrl_tbl[base_idx[core_no]]
22694 target_gain.txlpf[core_no] =
22695 (tx_pwrctrl_tbl[base_idx[core_no]]
22698 target_gain.ipa[core_no] =
22699 (tx_pwrctrl_tbl[base_idx[core_no]]
22701 target_gain.pad[core_no] =
22702 (tx_pwrctrl_tbl[base_idx[core_no]]
22704 target_gain.pga[core_no] =
22705 (tx_pwrctrl_tbl[base_idx[core_no]]
22707 target_gain.txgm[core_no] =
22708 (tx_pwrctrl_tbl[base_idx[core_no]]
22712 target_gain.ipa[core_no] =
22713 (nphy_tpc_txgain[base_idx[core_no]] >> 16) &
22715 target_gain.pad[core_no] =
22716 (nphy_tpc_txgain[base_idx[core_no]] >> 18) &
22718 target_gain.pga[core_no] =
22719 (nphy_tpc_txgain[base_idx[core_no]] >> 20) &
22721 target_gain.txgm[core_no] =
22722 (nphy_tpc_txgain[base_idx[core_no]] >> 23) &
22728 return target_gain;
22732 wlc_phy_iqcal_gainparams_nphy(phy_info_t *pi, u16 core_no,
22733 nphy_txgains_t target_gain,
22734 nphy_iqcal_params_t *params)
22739 u8 band_idx = (CHSPEC_IS5G(pi->radio_chanspec) ? 1 : 0);
22741 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
22742 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22743 params->txlpf = target_gain.txlpf[core_no];
22745 params->txgm = target_gain.txgm[core_no];
22746 params->pga = target_gain.pga[core_no];
22747 params->pad = target_gain.pad[core_no];
22748 params->ipa = target_gain.ipa[core_no];
22749 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22751 ((params->txlpf << 15) | (params->
22752 txgm << 12) | (params->
22754 (params->pad << 3) | (params->ipa));
22757 ((params->txgm << 12) | (params->
22758 pga << 8) | (params->
22762 params->ncorr[0] = 0x79;
22763 params->ncorr[1] = 0x79;
22764 params->ncorr[2] = 0x79;
22765 params->ncorr[3] = 0x79;
22766 params->ncorr[4] = 0x79;
22769 gain_index = ((target_gain.pad[core_no] << 0) |
22770 (target_gain.pga[core_no] << 4) | (target_gain.
22775 for (k = 0; k < NPHY_IQCAL_NUMGAINS; k++) {
22776 if (tbl_iqcal_gainparams_nphy[band_idx][k][0] ==
22785 params->txgm = tbl_iqcal_gainparams_nphy[band_idx][k][1];
22786 params->pga = tbl_iqcal_gainparams_nphy[band_idx][k][2];
22787 params->pad = tbl_iqcal_gainparams_nphy[band_idx][k][3];
22788 params->cal_gain = ((params->txgm << 7) | (params->pga << 4) |
22789 (params->pad << 2));
22790 params->ncorr[0] = tbl_iqcal_gainparams_nphy[band_idx][k][4];
22791 params->ncorr[1] = tbl_iqcal_gainparams_nphy[band_idx][k][5];
22792 params->ncorr[2] = tbl_iqcal_gainparams_nphy[band_idx][k][6];
22793 params->ncorr[3] = tbl_iqcal_gainparams_nphy[band_idx][k][7];
22797 static void wlc_phy_txcal_radio_setup_nphy(phy_info_t *pi)
22799 u16 jtag_core, core;
22801 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22803 for (core = 0; core <= 1; core++) {
22805 pi->tx_rx_cal_radio_saveregs[(core * 11) + 0] =
22806 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22809 pi->tx_rx_cal_radio_saveregs[(core * 11) + 1] =
22810 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22813 pi->tx_rx_cal_radio_saveregs[(core * 11) + 2] =
22814 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22817 pi->tx_rx_cal_radio_saveregs[(core * 11) + 3] =
22818 READ_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_VCM);
22820 pi->tx_rx_cal_radio_saveregs[(core * 11) + 4] = 0;
22822 pi->tx_rx_cal_radio_saveregs[(core * 11) + 5] =
22823 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22826 if (pi->pubpi.radiorev != 5)
22827 pi->tx_rx_cal_radio_saveregs[(core * 11) + 6] =
22828 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22831 pi->tx_rx_cal_radio_saveregs[(core * 11) + 7] =
22832 READ_RADIO_REG3(pi, RADIO_2057, TX, core, TSSIG);
22834 pi->tx_rx_cal_radio_saveregs[(core * 11) + 8] =
22835 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22838 if (CHSPEC_IS5G(pi->radio_chanspec)) {
22839 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22840 TX_SSI_MASTER, 0x0a);
22841 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22842 IQCAL_VCM_HG, 0x43);
22843 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22845 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22847 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22849 if (pi->use_int_tx_iqlo_cal_nphy) {
22850 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
22851 core, TX_SSI_MUX, 0x4);
22854 internal_tx_iqlo_cal_tapoff_intpa_nphy)) {
22856 WRITE_RADIO_REG3(pi, RADIO_2057,
22861 WRITE_RADIO_REG3(pi, RADIO_2057,
22866 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22869 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22870 TX_SSI_MASTER, 0x06);
22871 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22872 IQCAL_VCM_HG, 0x43);
22873 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22875 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22878 if (pi->pubpi.radiorev != 5)
22879 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
22880 core, TSSIA, 0x00);
22881 if (pi->use_int_tx_iqlo_cal_nphy) {
22882 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
22887 internal_tx_iqlo_cal_tapoff_intpa_nphy)) {
22889 WRITE_RADIO_REG3(pi, RADIO_2057,
22894 WRITE_RADIO_REG3(pi, RADIO_2057,
22899 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22903 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
22905 for (core = 0; core <= 1; core++) {
22908 PHY_CORE_0) ? RADIO_2056_TX0 : RADIO_2056_TX1;
22910 pi->tx_rx_cal_radio_saveregs[(core * 11) + 0] =
22912 RADIO_2056_TX_TX_SSI_MASTER |
22915 pi->tx_rx_cal_radio_saveregs[(core * 11) + 1] =
22917 RADIO_2056_TX_IQCAL_VCM_HG |
22920 pi->tx_rx_cal_radio_saveregs[(core * 11) + 2] =
22922 RADIO_2056_TX_IQCAL_IDAC |
22925 pi->tx_rx_cal_radio_saveregs[(core * 11) + 3] =
22927 RADIO_2056_TX_TSSI_VCM | jtag_core);
22929 pi->tx_rx_cal_radio_saveregs[(core * 11) + 4] =
22931 RADIO_2056_TX_TX_AMP_DET |
22934 pi->tx_rx_cal_radio_saveregs[(core * 11) + 5] =
22936 RADIO_2056_TX_TX_SSI_MUX |
22939 pi->tx_rx_cal_radio_saveregs[(core * 11) + 6] =
22940 read_radio_reg(pi, RADIO_2056_TX_TSSIA | jtag_core);
22942 pi->tx_rx_cal_radio_saveregs[(core * 11) + 7] =
22943 read_radio_reg(pi, RADIO_2056_TX_TSSIG | jtag_core);
22945 pi->tx_rx_cal_radio_saveregs[(core * 11) + 8] =
22947 RADIO_2056_TX_TSSI_MISC1 |
22950 pi->tx_rx_cal_radio_saveregs[(core * 11) + 9] =
22952 RADIO_2056_TX_TSSI_MISC2 |
22955 pi->tx_rx_cal_radio_saveregs[(core * 11) + 10] =
22957 RADIO_2056_TX_TSSI_MISC3 |
22960 if (CHSPEC_IS5G(pi->radio_chanspec)) {
22961 write_radio_reg(pi,
22962 RADIO_2056_TX_TX_SSI_MASTER |
22964 write_radio_reg(pi,
22965 RADIO_2056_TX_IQCAL_VCM_HG |
22967 write_radio_reg(pi,
22968 RADIO_2056_TX_IQCAL_IDAC |
22970 write_radio_reg(pi,
22971 RADIO_2056_TX_TSSI_VCM |
22973 write_radio_reg(pi,
22974 RADIO_2056_TX_TX_AMP_DET |
22978 write_radio_reg(pi,
22979 RADIO_2056_TX_TX_SSI_MUX
22981 write_radio_reg(pi,
22982 RADIO_2056_TX_TSSIA |
22985 write_radio_reg(pi,
22986 RADIO_2056_TX_TX_SSI_MUX
22987 | jtag_core, 0x00);
22988 write_radio_reg(pi,
22989 RADIO_2056_TX_TSSIA |
22992 write_radio_reg(pi,
22993 RADIO_2056_TX_TSSIG | jtag_core,
22995 write_radio_reg(pi,
22996 RADIO_2056_TX_TSSI_MISC1 |
22999 write_radio_reg(pi,
23000 RADIO_2056_TX_TSSI_MISC2 |
23002 write_radio_reg(pi,
23003 RADIO_2056_TX_TSSI_MISC3 |
23006 write_radio_reg(pi,
23007 RADIO_2056_TX_TX_SSI_MASTER |
23009 write_radio_reg(pi,
23010 RADIO_2056_TX_IQCAL_VCM_HG |
23012 write_radio_reg(pi,
23013 RADIO_2056_TX_IQCAL_IDAC |
23015 write_radio_reg(pi,
23016 RADIO_2056_TX_TSSI_VCM |
23018 write_radio_reg(pi,
23019 RADIO_2056_TX_TX_AMP_DET |
23021 write_radio_reg(pi,
23022 RADIO_2056_TX_TSSIA | jtag_core,
23027 write_radio_reg(pi,
23028 RADIO_2056_TX_TX_SSI_MUX
23029 | jtag_core, 0x06);
23030 if (NREV_LT(pi->pubpi.phy_rev, 5)) {
23032 write_radio_reg(pi,
23033 RADIO_2056_TX_TSSIG
23038 write_radio_reg(pi,
23039 RADIO_2056_TX_TSSIG
23044 write_radio_reg(pi,
23045 RADIO_2056_TX_TX_SSI_MUX
23046 | jtag_core, 0x00);
23047 write_radio_reg(pi,
23048 RADIO_2056_TX_TSSIG |
23052 write_radio_reg(pi,
23053 RADIO_2056_TX_TSSI_MISC1 |
23055 write_radio_reg(pi,
23056 RADIO_2056_TX_TSSI_MISC2 |
23058 write_radio_reg(pi,
23059 RADIO_2056_TX_TSSI_MISC3 |
23065 pi->tx_rx_cal_radio_saveregs[0] =
23066 read_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1);
23067 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1, 0x29);
23068 pi->tx_rx_cal_radio_saveregs[1] =
23069 read_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2);
23070 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2, 0x54);
23072 pi->tx_rx_cal_radio_saveregs[2] =
23073 read_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1);
23074 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1, 0x29);
23075 pi->tx_rx_cal_radio_saveregs[3] =
23076 read_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2);
23077 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2, 0x54);
23079 pi->tx_rx_cal_radio_saveregs[4] =
23080 read_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1);
23081 pi->tx_rx_cal_radio_saveregs[5] =
23082 read_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2);
23084 if ((read_phy_reg(pi, 0x09) & NPHY_BandControl_currentBand) ==
23087 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1, 0x04);
23088 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2, 0x04);
23091 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1, 0x20);
23092 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2, 0x20);
23095 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
23097 or_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM, 0x20);
23098 or_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM, 0x20);
23101 and_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM, 0xdf);
23102 and_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM, 0xdf);
23107 static void wlc_phy_txcal_radio_cleanup_nphy(phy_info_t *pi)
23109 u16 jtag_core, core;
23111 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
23112 for (core = 0; core <= 1; core++) {
23114 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
23117 tx_rx_cal_radio_saveregs[(core * 11) +
23120 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, IQCAL_VCM_HG,
23122 tx_rx_cal_radio_saveregs[(core * 11) +
23125 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, IQCAL_IDAC,
23127 tx_rx_cal_radio_saveregs[(core * 11) +
23130 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_VCM,
23132 tx_rx_cal_radio_saveregs[(core * 11) +
23135 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TX_SSI_MUX,
23137 tx_rx_cal_radio_saveregs[(core * 11) +
23140 if (pi->pubpi.radiorev != 5)
23141 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
23144 tx_rx_cal_radio_saveregs[(core
23149 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSIG,
23151 tx_rx_cal_radio_saveregs[(core * 11) +
23154 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_MISC1,
23156 tx_rx_cal_radio_saveregs[(core * 11) +
23159 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23160 for (core = 0; core <= 1; core++) {
23163 PHY_CORE_0) ? RADIO_2056_TX0 : RADIO_2056_TX1;
23165 write_radio_reg(pi,
23166 RADIO_2056_TX_TX_SSI_MASTER | jtag_core,
23168 tx_rx_cal_radio_saveregs[(core * 11) +
23171 write_radio_reg(pi,
23172 RADIO_2056_TX_IQCAL_VCM_HG | jtag_core,
23174 tx_rx_cal_radio_saveregs[(core * 11) +
23177 write_radio_reg(pi,
23178 RADIO_2056_TX_IQCAL_IDAC | jtag_core,
23180 tx_rx_cal_radio_saveregs[(core * 11) +
23183 write_radio_reg(pi, RADIO_2056_TX_TSSI_VCM | jtag_core,
23185 tx_rx_cal_radio_saveregs[(core * 11) +
23188 write_radio_reg(pi,
23189 RADIO_2056_TX_TX_AMP_DET | jtag_core,
23191 tx_rx_cal_radio_saveregs[(core * 11) +
23194 write_radio_reg(pi,
23195 RADIO_2056_TX_TX_SSI_MUX | jtag_core,
23197 tx_rx_cal_radio_saveregs[(core * 11) +
23200 write_radio_reg(pi, RADIO_2056_TX_TSSIA | jtag_core,
23202 tx_rx_cal_radio_saveregs[(core * 11) +
23205 write_radio_reg(pi, RADIO_2056_TX_TSSIG | jtag_core,
23207 tx_rx_cal_radio_saveregs[(core * 11) +
23210 write_radio_reg(pi,
23211 RADIO_2056_TX_TSSI_MISC1 | jtag_core,
23213 tx_rx_cal_radio_saveregs[(core * 11) +
23216 write_radio_reg(pi,
23217 RADIO_2056_TX_TSSI_MISC2 | jtag_core,
23219 tx_rx_cal_radio_saveregs[(core * 11) +
23222 write_radio_reg(pi,
23223 RADIO_2056_TX_TSSI_MISC3 | jtag_core,
23225 tx_rx_cal_radio_saveregs[(core * 11) +
23230 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1,
23231 pi->tx_rx_cal_radio_saveregs[0]);
23232 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2,
23233 pi->tx_rx_cal_radio_saveregs[1]);
23234 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1,
23235 pi->tx_rx_cal_radio_saveregs[2]);
23236 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2,
23237 pi->tx_rx_cal_radio_saveregs[3]);
23238 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1,
23239 pi->tx_rx_cal_radio_saveregs[4]);
23240 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2,
23241 pi->tx_rx_cal_radio_saveregs[5]);
23245 static void wlc_phy_txcal_physetup_nphy(phy_info_t *pi)
23249 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23250 pi->tx_rx_cal_phy_saveregs[0] = read_phy_reg(pi, 0xa6);
23251 pi->tx_rx_cal_phy_saveregs[1] = read_phy_reg(pi, 0xa7);
23253 mask = ((0x3 << 8) | (0x3 << 10));
23255 val |= (0x2 << 10);
23256 mod_phy_reg(pi, 0xa6, mask, val);
23257 mod_phy_reg(pi, 0xa7, mask, val);
23259 val = read_phy_reg(pi, 0x8f);
23260 pi->tx_rx_cal_phy_saveregs[2] = val;
23261 val |= ((0x1 << 9) | (0x1 << 10));
23262 write_phy_reg(pi, 0x8f, val);
23264 val = read_phy_reg(pi, 0xa5);
23265 pi->tx_rx_cal_phy_saveregs[3] = val;
23266 val |= ((0x1 << 9) | (0x1 << 10));
23267 write_phy_reg(pi, 0xa5, val);
23269 pi->tx_rx_cal_phy_saveregs[4] = read_phy_reg(pi, 0x01);
23270 mod_phy_reg(pi, 0x01, (0x1 << 15), 0);
23272 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 3, 16,
23274 pi->tx_rx_cal_phy_saveregs[5] = val;
23276 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 3, 16,
23279 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 19, 16,
23281 pi->tx_rx_cal_phy_saveregs[6] = val;
23283 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 19, 16,
23286 pi->tx_rx_cal_phy_saveregs[7] = read_phy_reg(pi, 0x91);
23287 pi->tx_rx_cal_phy_saveregs[8] = read_phy_reg(pi, 0x92);
23289 if (!(pi->use_int_tx_iqlo_cal_nphy)) {
23291 wlc_phy_rfctrlintc_override_nphy(pi,
23292 NPHY_RfctrlIntc_override_PA,
23294 RADIO_MIMO_CORESEL_CORE1
23296 RADIO_MIMO_CORESEL_CORE2);
23299 wlc_phy_rfctrlintc_override_nphy(pi,
23300 NPHY_RfctrlIntc_override_PA,
23302 RADIO_MIMO_CORESEL_CORE1
23304 RADIO_MIMO_CORESEL_CORE2);
23307 wlc_phy_rfctrlintc_override_nphy(pi,
23308 NPHY_RfctrlIntc_override_TRSW,
23309 0x2, RADIO_MIMO_CORESEL_CORE1);
23310 wlc_phy_rfctrlintc_override_nphy(pi,
23311 NPHY_RfctrlIntc_override_TRSW,
23312 0x8, RADIO_MIMO_CORESEL_CORE2);
23314 pi->tx_rx_cal_phy_saveregs[9] = read_phy_reg(pi, 0x297);
23315 pi->tx_rx_cal_phy_saveregs[10] = read_phy_reg(pi, 0x29b);
23316 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x297 :
23317 0x29b, (0x1 << 0), (0) << 0);
23319 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x297 :
23320 0x29b, (0x1 << 0), (0) << 0);
23322 if (NREV_IS(pi->pubpi.phy_rev, 7)
23323 || NREV_GE(pi->pubpi.phy_rev, 8)) {
23324 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7),
23325 wlc_phy_read_lpf_bw_ctl_nphy
23327 NPHY_REV7_RFCTRLOVERRIDE_ID1);
23330 if (pi->use_int_tx_iqlo_cal_nphy
23331 && !(pi->internal_tx_iqlo_cal_tapoff_intpa_nphy)) {
23333 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
23335 mod_radio_reg(pi, RADIO_2057_OVR_REG0, 1 << 4,
23338 if (CHSPEC_IS2G(pi->radio_chanspec)) {
23340 RADIO_2057_PAD2G_TUNE_PUS_CORE0,
23343 RADIO_2057_PAD2G_TUNE_PUS_CORE1,
23347 RADIO_2057_IPA5G_CASCOFFV_PU_CORE0,
23350 RADIO_2057_IPA5G_CASCOFFV_PU_CORE1,
23353 } else if (NREV_GE(pi->pubpi.phy_rev, 8)) {
23354 wlc_phy_rfctrl_override_nphy_rev7(pi,
23357 NPHY_REV7_RFCTRLOVERRIDE_ID0);
23361 pi->tx_rx_cal_phy_saveregs[0] = read_phy_reg(pi, 0xa6);
23362 pi->tx_rx_cal_phy_saveregs[1] = read_phy_reg(pi, 0xa7);
23364 mask = ((0x3 << 12) | (0x3 << 14));
23366 val |= (0x2 << 14);
23367 mod_phy_reg(pi, 0xa6, mask, val);
23368 mod_phy_reg(pi, 0xa7, mask, val);
23370 val = read_phy_reg(pi, 0xa5);
23371 pi->tx_rx_cal_phy_saveregs[2] = val;
23372 val |= ((0x1 << 12) | (0x1 << 13));
23373 write_phy_reg(pi, 0xa5, val);
23375 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 2, 16,
23377 pi->tx_rx_cal_phy_saveregs[3] = val;
23379 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 2, 16,
23382 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 18, 16,
23384 pi->tx_rx_cal_phy_saveregs[4] = val;
23386 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 18, 16,
23389 pi->tx_rx_cal_phy_saveregs[5] = read_phy_reg(pi, 0x91);
23390 pi->tx_rx_cal_phy_saveregs[6] = read_phy_reg(pi, 0x92);
23391 val = CHSPEC_IS5G(pi->radio_chanspec) ? 0x180 : 0x120;
23392 write_phy_reg(pi, 0x91, val);
23393 write_phy_reg(pi, 0x92, val);
23397 static void wlc_phy_txcal_phycleanup_nphy(phy_info_t *pi)
23401 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23402 write_phy_reg(pi, 0xa6, pi->tx_rx_cal_phy_saveregs[0]);
23403 write_phy_reg(pi, 0xa7, pi->tx_rx_cal_phy_saveregs[1]);
23404 write_phy_reg(pi, 0x8f, pi->tx_rx_cal_phy_saveregs[2]);
23405 write_phy_reg(pi, 0xa5, pi->tx_rx_cal_phy_saveregs[3]);
23406 write_phy_reg(pi, 0x01, pi->tx_rx_cal_phy_saveregs[4]);
23408 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 3, 16,
23409 &pi->tx_rx_cal_phy_saveregs[5]);
23410 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 19, 16,
23411 &pi->tx_rx_cal_phy_saveregs[6]);
23413 write_phy_reg(pi, 0x91, pi->tx_rx_cal_phy_saveregs[7]);
23414 write_phy_reg(pi, 0x92, pi->tx_rx_cal_phy_saveregs[8]);
23416 write_phy_reg(pi, 0x297, pi->tx_rx_cal_phy_saveregs[9]);
23417 write_phy_reg(pi, 0x29b, pi->tx_rx_cal_phy_saveregs[10]);
23419 if (NREV_IS(pi->pubpi.phy_rev, 7)
23420 || NREV_GE(pi->pubpi.phy_rev, 8)) {
23421 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7), 0, 0,
23423 NPHY_REV7_RFCTRLOVERRIDE_ID1);
23426 wlc_phy_resetcca_nphy(pi);
23428 if (pi->use_int_tx_iqlo_cal_nphy
23429 && !(pi->internal_tx_iqlo_cal_tapoff_intpa_nphy)) {
23431 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
23432 if (CHSPEC_IS2G(pi->radio_chanspec)) {
23434 RADIO_2057_PAD2G_TUNE_PUS_CORE0,
23437 RADIO_2057_PAD2G_TUNE_PUS_CORE1,
23441 RADIO_2057_IPA5G_CASCOFFV_PU_CORE0,
23444 RADIO_2057_IPA5G_CASCOFFV_PU_CORE1,
23448 mod_radio_reg(pi, RADIO_2057_OVR_REG0, 1 << 4,
23450 } else if (NREV_GE(pi->pubpi.phy_rev, 8)) {
23451 wlc_phy_rfctrl_override_nphy_rev7(pi,
23454 NPHY_REV7_RFCTRLOVERRIDE_ID0);
23458 mask = ((0x3 << 12) | (0x3 << 14));
23459 mod_phy_reg(pi, 0xa6, mask, pi->tx_rx_cal_phy_saveregs[0]);
23460 mod_phy_reg(pi, 0xa7, mask, pi->tx_rx_cal_phy_saveregs[1]);
23461 write_phy_reg(pi, 0xa5, pi->tx_rx_cal_phy_saveregs[2]);
23463 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 2, 16,
23464 &pi->tx_rx_cal_phy_saveregs[3]);
23466 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 18, 16,
23467 &pi->tx_rx_cal_phy_saveregs[4]);
23469 write_phy_reg(pi, 0x91, pi->tx_rx_cal_phy_saveregs[5]);
23470 write_phy_reg(pi, 0x92, pi->tx_rx_cal_phy_saveregs[6]);
23474 #define NPHY_CAL_TSSISAMPS 64
23475 #define NPHY_TEST_TONE_FREQ_40MHz 4000
23476 #define NPHY_TEST_TONE_FREQ_20MHz 2500
23479 wlc_phy_est_tonepwr_nphy(phy_info_t *pi, s32 *qdBm_pwrbuf, u8 num_samps)
23482 s32 temp, pwrindex[2];
23488 tssi_reg = read_phy_reg(pi, 0x1e9);
23490 temp = (s32) (tssi_reg & 0x3f);
23491 idle_tssi[0] = (temp <= 31) ? temp : (temp - 64);
23493 temp = (s32) ((tssi_reg >> 8) & 0x3f);
23494 idle_tssi[1] = (temp <= 31) ? temp : (temp - 64);
23497 CHSPEC_IS5G(pi->radio_chanspec) ?
23498 (u8)NPHY_RSSI_SEL_TSSI_5G:(u8)NPHY_RSSI_SEL_TSSI_2G;
23500 wlc_phy_poll_rssi_nphy(pi, tssi_type, rssi_buf, num_samps);
23502 tssival[0] = rssi_buf[0] / ((s32) num_samps);
23503 tssival[1] = rssi_buf[2] / ((s32) num_samps);
23505 pwrindex[0] = idle_tssi[0] - tssival[0] + 64;
23506 pwrindex[1] = idle_tssi[1] - tssival[1] + 64;
23508 if (pwrindex[0] < 0) {
23510 } else if (pwrindex[0] > 63) {
23514 if (pwrindex[1] < 0) {
23516 } else if (pwrindex[1] > 63) {
23520 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 1,
23521 (u32) pwrindex[0], 32, &qdBm_pwrbuf[0]);
23522 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 1,
23523 (u32) pwrindex[1], 32, &qdBm_pwrbuf[1]);
23526 static void wlc_phy_internal_cal_txgain_nphy(phy_info_t *pi)
23530 pi->nphy_txcal_pwr_idx[0] = pi->nphy_cal_orig_pwr_idx[0];
23531 pi->nphy_txcal_pwr_idx[1] = pi->nphy_cal_orig_pwr_idx[0];
23532 wlc_phy_txpwr_index_nphy(pi, 1, pi->nphy_cal_orig_pwr_idx[0], true);
23533 wlc_phy_txpwr_index_nphy(pi, 2, pi->nphy_cal_orig_pwr_idx[1], true);
23535 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
23538 if (CHSPEC_IS2G(pi->radio_chanspec)) {
23539 txcal_gain[0] = (txcal_gain[0] & 0xF000) | 0x0F40;
23540 txcal_gain[1] = (txcal_gain[1] & 0xF000) | 0x0F40;
23542 txcal_gain[0] = (txcal_gain[0] & 0xF000) | 0x0F60;
23543 txcal_gain[1] = (txcal_gain[1] & 0xF000) | 0x0F60;
23546 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
23550 static void wlc_phy_precal_txgain_nphy(phy_info_t *pi)
23552 bool save_bbmult = false;
23553 u8 txcal_index_2057_rev5n7 = 0;
23554 u8 txcal_index_2057_rev3n4n6 = 10;
23556 if (pi->use_int_tx_iqlo_cal_nphy) {
23557 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
23558 if ((pi->pubpi.radiorev == 3) ||
23559 (pi->pubpi.radiorev == 4) ||
23560 (pi->pubpi.radiorev == 6)) {
23562 pi->nphy_txcal_pwr_idx[0] =
23563 txcal_index_2057_rev3n4n6;
23564 pi->nphy_txcal_pwr_idx[1] =
23565 txcal_index_2057_rev3n4n6;
23566 wlc_phy_txpwr_index_nphy(pi, 3,
23567 txcal_index_2057_rev3n4n6,
23571 pi->nphy_txcal_pwr_idx[0] =
23572 txcal_index_2057_rev5n7;
23573 pi->nphy_txcal_pwr_idx[1] =
23574 txcal_index_2057_rev5n7;
23575 wlc_phy_txpwr_index_nphy(pi, 3,
23576 txcal_index_2057_rev5n7,
23579 save_bbmult = true;
23581 } else if (NREV_LT(pi->pubpi.phy_rev, 5)) {
23582 wlc_phy_cal_txgainctrl_nphy(pi, 11, false);
23583 if (pi->sh->hw_phytxchain != 3) {
23584 pi->nphy_txcal_pwr_idx[1] =
23585 pi->nphy_txcal_pwr_idx[0];
23586 wlc_phy_txpwr_index_nphy(pi, 3,
23588 nphy_txcal_pwr_idx[0],
23590 save_bbmult = true;
23593 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
23595 if (CHSPEC_IS2G(pi->radio_chanspec)) {
23596 wlc_phy_cal_txgainctrl_nphy(pi, 12,
23599 pi->nphy_txcal_pwr_idx[0] = 80;
23600 pi->nphy_txcal_pwr_idx[1] = 80;
23601 wlc_phy_txpwr_index_nphy(pi, 3, 80,
23603 save_bbmult = true;
23607 wlc_phy_internal_cal_txgain_nphy(pi);
23608 save_bbmult = true;
23611 } else if (NREV_IS(pi->pubpi.phy_rev, 6)) {
23613 if (CHSPEC_IS2G(pi->radio_chanspec)) {
23614 wlc_phy_cal_txgainctrl_nphy(pi, 12,
23617 wlc_phy_cal_txgainctrl_nphy(pi, 14,
23622 wlc_phy_internal_cal_txgain_nphy(pi);
23623 save_bbmult = true;
23628 wlc_phy_cal_txgainctrl_nphy(pi, 10, false);
23632 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16,
23633 &pi->nphy_txcal_bbmult);
23638 wlc_phy_cal_txgainctrl_nphy(phy_info_t *pi, s32 dBm_targetpower, bool debug)
23640 int gainctrl_loopidx;
23642 u16 m0m1, curr_m0m1;
23647 u16 phy_saveregs[4];
23649 u16 ampl_test = 250;
23651 bool phyhang_avoid_state = false;
23653 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
23661 if (CHSPEC_IS40(pi->radio_chanspec)) {
23667 wlc_phy_txpwr_index_nphy(pi, 1, pi->nphy_cal_orig_pwr_idx[0], true);
23668 wlc_phy_txpwr_index_nphy(pi, 2, pi->nphy_cal_orig_pwr_idx[1], true);
23670 if (pi->phyhang_avoid)
23671 wlc_phy_stay_in_carriersearch_nphy(pi, true);
23673 phyhang_avoid_state = pi->phyhang_avoid;
23674 pi->phyhang_avoid = false;
23676 phy_saveregs[0] = read_phy_reg(pi, 0x91);
23677 phy_saveregs[1] = read_phy_reg(pi, 0x92);
23678 phy_saveregs[2] = read_phy_reg(pi, 0xe7);
23679 phy_saveregs[3] = read_phy_reg(pi, 0xec);
23680 wlc_phy_rfctrlintc_override_nphy(pi, NPHY_RfctrlIntc_override_PA, 1,
23681 RADIO_MIMO_CORESEL_CORE1 |
23682 RADIO_MIMO_CORESEL_CORE2);
23685 wlc_phy_rfctrlintc_override_nphy(pi,
23686 NPHY_RfctrlIntc_override_TRSW,
23687 0x2, RADIO_MIMO_CORESEL_CORE1);
23688 wlc_phy_rfctrlintc_override_nphy(pi,
23689 NPHY_RfctrlIntc_override_TRSW,
23690 0x8, RADIO_MIMO_CORESEL_CORE2);
23692 wlc_phy_rfctrlintc_override_nphy(pi,
23693 NPHY_RfctrlIntc_override_TRSW,
23694 0x1, RADIO_MIMO_CORESEL_CORE1);
23695 wlc_phy_rfctrlintc_override_nphy(pi,
23696 NPHY_RfctrlIntc_override_TRSW,
23697 0x7, RADIO_MIMO_CORESEL_CORE2);
23700 orig_BBConfig = read_phy_reg(pi, 0x01);
23701 mod_phy_reg(pi, 0x01, (0x1 << 15), 0);
23703 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m0m1);
23705 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
23706 txpwrindex = (s32) pi->nphy_cal_orig_pwr_idx[core];
23708 for (gainctrl_loopidx = 0; gainctrl_loopidx < 2;
23709 gainctrl_loopidx++) {
23710 wlc_phy_tx_tone_nphy(pi, freq_test, ampl_test, 0, 0,
23713 if (core == PHY_CORE_0) {
23714 curr_m0m1 = m0m1 & 0xff00;
23716 curr_m0m1 = m0m1 & 0x00ff;
23719 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &curr_m0m1);
23720 wlc_phy_table_write_nphy(pi, 15, 1, 95, 16, &curr_m0m1);
23724 wlc_phy_est_tonepwr_nphy(pi, qdBm_power,
23725 NPHY_CAL_TSSISAMPS);
23727 pi->nphy_bb_mult_save = 0;
23728 wlc_phy_stopplayback_nphy(pi);
23730 delta_power = (dBm_targetpower * 4) - qdBm_power[core];
23732 txpwrindex -= stepsize * delta_power;
23733 if (txpwrindex < 0) {
23735 } else if (txpwrindex > 127) {
23739 if (CHSPEC_IS5G(pi->radio_chanspec)) {
23740 if (NREV_IS(pi->pubpi.phy_rev, 4) &&
23741 (pi->srom_fem5g.extpagain == 3)) {
23742 if (txpwrindex < 30) {
23747 if (NREV_GE(pi->pubpi.phy_rev, 5) &&
23748 (pi->srom_fem2g.extpagain == 3)) {
23749 if (txpwrindex < 50) {
23755 wlc_phy_txpwr_index_nphy(pi, (1 << core),
23756 (u8) txpwrindex, true);
23759 pi->nphy_txcal_pwr_idx[core] = (u8) txpwrindex;
23765 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &dbg_m0m1);
23767 wlc_phy_tx_tone_nphy(pi, freq_test, ampl_test, 0, 0,
23770 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &dbg_m0m1);
23771 wlc_phy_table_write_nphy(pi, 15, 1, 95, 16, &dbg_m0m1);
23775 wlc_phy_est_tonepwr_nphy(pi, qdBm_power,
23776 NPHY_CAL_TSSISAMPS);
23778 wlc_phy_table_read_nphy(pi, 7, 1, (0x110 + core), 16,
23782 pi->nphy_bb_mult_save = 0;
23783 wlc_phy_stopplayback_nphy(pi);
23787 wlc_phy_txpwr_index_nphy(pi, 1, pi->nphy_txcal_pwr_idx[0], true);
23788 wlc_phy_txpwr_index_nphy(pi, 2, pi->nphy_txcal_pwr_idx[1], true);
23790 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &pi->nphy_txcal_bbmult);
23792 write_phy_reg(pi, 0x01, orig_BBConfig);
23794 write_phy_reg(pi, 0x91, phy_saveregs[0]);
23795 write_phy_reg(pi, 0x92, phy_saveregs[1]);
23796 write_phy_reg(pi, 0xe7, phy_saveregs[2]);
23797 write_phy_reg(pi, 0xec, phy_saveregs[3]);
23799 pi->phyhang_avoid = phyhang_avoid_state;
23801 if (pi->phyhang_avoid)
23802 wlc_phy_stay_in_carriersearch_nphy(pi, false);
23805 static void wlc_phy_update_txcal_ladder_nphy(phy_info_t *pi, u16 core)
23812 nphy_txiqcal_ladder_t ladder_lo[] = {
23813 {3, 0}, {4, 0}, {6, 0}, {9, 0}, {13, 0}, {18, 0},
23814 {25, 0}, {25, 1}, {25, 2}, {25, 3}, {25, 4}, {25, 5},
23815 {25, 6}, {25, 7}, {35, 7}, {50, 7}, {71, 7}, {100, 7}
23818 nphy_txiqcal_ladder_t ladder_iq[] = {
23819 {3, 0}, {4, 0}, {6, 0}, {9, 0}, {13, 0}, {18, 0},
23820 {25, 0}, {35, 0}, {50, 0}, {71, 0}, {100, 0}, {100, 1},
23821 {100, 2}, {100, 3}, {100, 4}, {100, 5}, {100, 6}, {100, 7}
23824 bbmult = (core == PHY_CORE_0) ?
23825 ((pi->nphy_txcal_bbmult >> 8) & 0xff) : (pi->
23826 nphy_txcal_bbmult & 0xff);
23828 for (index = 0; index < 18; index++) {
23829 bbmult_scale = ladder_lo[index].percent * bbmult;
23830 bbmult_scale /= 100;
23833 ((bbmult_scale & 0xff) << 8) | ladder_lo[index].g_env;
23834 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, index, 16,
23837 bbmult_scale = ladder_iq[index].percent * bbmult;
23838 bbmult_scale /= 100;
23841 ((bbmult_scale & 0xff) << 8) | ladder_iq[index].g_env;
23842 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, index + 32,
23847 void wlc_phy_cal_perical_nphy_run(phy_info_t *pi, u8 caltype)
23849 nphy_txgains_t target_gain;
23850 u8 tx_pwr_ctrl_state;
23851 bool fullcal = true;
23852 bool restore_tx_gain = false;
23855 if (NORADIO_ENAB(pi->pubpi)) {
23856 wlc_phy_cal_perical_mphase_reset(pi);
23863 ASSERT(pi->nphy_perical != PHY_PERICAL_DISABLE);
23865 if (caltype == PHY_PERICAL_AUTO)
23866 fullcal = (pi->radio_chanspec != pi->nphy_txiqlocal_chanspec);
23867 else if (caltype == PHY_PERICAL_PARTIAL)
23870 if (pi->cal_type_override != PHY_PERICAL_AUTO) {
23872 (pi->cal_type_override == PHY_PERICAL_FULL) ? true : false;
23875 if ((pi->mphase_cal_phase_id > MPHASE_CAL_STATE_INIT)) {
23876 if (pi->nphy_txiqlocal_chanspec != pi->radio_chanspec)
23877 wlc_phy_cal_perical_mphase_restart(pi);
23880 if ((pi->mphase_cal_phase_id == MPHASE_CAL_STATE_RXCAL)) {
23881 wlapi_bmac_write_shm(pi->sh->physhim, M_CTS_DURATION, 10000);
23884 wlapi_suspend_mac_and_wait(pi->sh->physhim);
23886 wlc_phyreg_enter((wlc_phy_t *) pi);
23888 if ((pi->mphase_cal_phase_id == MPHASE_CAL_STATE_IDLE) ||
23889 (pi->mphase_cal_phase_id == MPHASE_CAL_STATE_INIT)) {
23890 pi->nphy_cal_orig_pwr_idx[0] =
23891 (u8) ((read_phy_reg(pi, 0x1ed) >> 8) & 0x7f);
23892 pi->nphy_cal_orig_pwr_idx[1] =
23893 (u8) ((read_phy_reg(pi, 0x1ee) >> 8) & 0x7f);
23895 if (pi->nphy_txpwrctrl != PHY_TPC_HW_OFF) {
23896 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2,
23898 pi->nphy_cal_orig_tx_gain);
23900 pi->nphy_cal_orig_tx_gain[0] = 0;
23901 pi->nphy_cal_orig_tx_gain[1] = 0;
23904 target_gain = wlc_phy_get_tx_gain_nphy(pi);
23905 tx_pwr_ctrl_state = pi->nphy_txpwrctrl;
23906 wlc_phy_txpwrctrl_enable_nphy(pi, PHY_TPC_HW_OFF);
23908 if (pi->antsel_type == ANTSEL_2x3)
23909 wlc_phy_antsel_init((wlc_phy_t *) pi, true);
23911 mphase = (pi->mphase_cal_phase_id != MPHASE_CAL_STATE_IDLE);
23914 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23915 wlc_phy_precal_txgain_nphy(pi);
23916 pi->nphy_cal_target_gain = wlc_phy_get_tx_gain_nphy(pi);
23917 restore_tx_gain = true;
23919 target_gain = pi->nphy_cal_target_gain;
23922 wlc_phy_cal_txiqlo_nphy(pi, target_gain, fullcal, mphase)) {
23924 wlc_phy_a4(pi, true);
23926 wlc_phyreg_exit((wlc_phy_t *) pi);
23927 wlapi_enable_mac(pi->sh->physhim);
23928 wlapi_bmac_write_shm(pi->sh->physhim, M_CTS_DURATION,
23930 wlapi_suspend_mac_and_wait(pi->sh->physhim);
23931 wlc_phyreg_enter((wlc_phy_t *) pi);
23933 if (BCME_OK == wlc_phy_cal_rxiq_nphy(pi, target_gain,
23935 first_cal_after_assoc
23941 wlc_phy_savecal_nphy(pi);
23943 wlc_phy_txpwrctrl_coeff_setup_nphy(pi);
23945 pi->nphy_perical_last = pi->sh->now;
23948 if (caltype != PHY_PERICAL_AUTO) {
23949 wlc_phy_rssi_cal_nphy(pi);
23952 if (pi->first_cal_after_assoc
23953 || (pi->cal_type_override == PHY_PERICAL_FULL)) {
23954 pi->first_cal_after_assoc = false;
23955 wlc_phy_txpwrctrl_idle_tssi_nphy(pi);
23956 wlc_phy_txpwrctrl_pwr_setup_nphy(pi);
23959 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23960 wlc_phy_radio205x_vcocal_nphy(pi);
23963 ASSERT(pi->nphy_perical >= PHY_PERICAL_MPHASE);
23965 switch (pi->mphase_cal_phase_id) {
23966 case MPHASE_CAL_STATE_INIT:
23967 pi->nphy_perical_last = pi->sh->now;
23968 pi->nphy_txiqlocal_chanspec = pi->radio_chanspec;
23970 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23971 wlc_phy_precal_txgain_nphy(pi);
23973 pi->nphy_cal_target_gain = wlc_phy_get_tx_gain_nphy(pi);
23974 pi->mphase_cal_phase_id++;
23977 case MPHASE_CAL_STATE_TXPHASE0:
23978 case MPHASE_CAL_STATE_TXPHASE1:
23979 case MPHASE_CAL_STATE_TXPHASE2:
23980 case MPHASE_CAL_STATE_TXPHASE3:
23981 case MPHASE_CAL_STATE_TXPHASE4:
23982 case MPHASE_CAL_STATE_TXPHASE5:
23983 if ((pi->radar_percal_mask & 0x10) != 0)
23984 pi->nphy_rxcal_active = true;
23986 if (wlc_phy_cal_txiqlo_nphy
23987 (pi, pi->nphy_cal_target_gain, fullcal,
23988 true) != BCME_OK) {
23990 wlc_phy_cal_perical_mphase_reset(pi);
23994 if (NREV_LE(pi->pubpi.phy_rev, 2) &&
23995 (pi->mphase_cal_phase_id ==
23996 MPHASE_CAL_STATE_TXPHASE4)) {
23997 pi->mphase_cal_phase_id += 2;
23999 pi->mphase_cal_phase_id++;
24003 case MPHASE_CAL_STATE_PAPDCAL:
24004 if ((pi->radar_percal_mask & 0x2) != 0)
24005 pi->nphy_rxcal_active = true;
24008 wlc_phy_a4(pi, true);
24010 pi->mphase_cal_phase_id++;
24013 case MPHASE_CAL_STATE_RXCAL:
24014 if ((pi->radar_percal_mask & 0x1) != 0)
24015 pi->nphy_rxcal_active = true;
24016 if (wlc_phy_cal_rxiq_nphy(pi, target_gain,
24017 (pi->first_cal_after_assoc ||
24018 (pi->cal_type_override ==
24019 PHY_PERICAL_FULL)) ? 2 : 0,
24020 false) == BCME_OK) {
24021 wlc_phy_savecal_nphy(pi);
24024 pi->mphase_cal_phase_id++;
24027 case MPHASE_CAL_STATE_RSSICAL:
24028 if ((pi->radar_percal_mask & 0x4) != 0)
24029 pi->nphy_rxcal_active = true;
24030 wlc_phy_txpwrctrl_coeff_setup_nphy(pi);
24031 wlc_phy_rssi_cal_nphy(pi);
24033 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
24034 wlc_phy_radio205x_vcocal_nphy(pi);
24036 restore_tx_gain = true;
24038 if (pi->first_cal_after_assoc) {
24039 pi->mphase_cal_phase_id++;
24041 wlc_phy_cal_perical_mphase_reset(pi);
24046 case MPHASE_CAL_STATE_IDLETSSI:
24047 if ((pi->radar_percal_mask & 0x8) != 0)
24048 pi->nphy_rxcal_active = true;
24050 if (pi->first_cal_after_assoc) {
24051 pi->first_cal_after_assoc = false;
24052 wlc_phy_txpwrctrl_idle_tssi_nphy(pi);
24053 wlc_phy_txpwrctrl_pwr_setup_nphy(pi);
24056 wlc_phy_cal_perical_mphase_reset(pi);
24061 wlc_phy_cal_perical_mphase_reset(pi);
24066 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
24067 if (restore_tx_gain) {
24068 if (tx_pwr_ctrl_state != PHY_TPC_HW_OFF) {
24070 wlc_phy_txpwr_index_nphy(pi, 1,
24072 nphy_cal_orig_pwr_idx
24074 wlc_phy_txpwr_index_nphy(pi, 2,
24076 nphy_cal_orig_pwr_idx
24079 pi->nphy_txpwrindex[0].index = -1;
24080 pi->nphy_txpwrindex[1].index = -1;
24082 wlc_phy_txpwr_index_nphy(pi, (1 << 0),
24088 wlc_phy_txpwr_index_nphy(pi, (1 << 1),
24098 wlc_phy_txpwrctrl_enable_nphy(pi, tx_pwr_ctrl_state);
24099 wlc_phyreg_exit((wlc_phy_t *) pi);
24100 wlapi_enable_mac(pi->sh->physhim);
24104 wlc_phy_cal_txiqlo_nphy(phy_info_t *pi, nphy_txgains_t target_gain,
24105 bool fullcal, bool mphase)
24111 u8 num_cals, max_cal_cmds;
24112 u16 core_no, cal_type;
24119 nphy_iqcal_params_t cal_params[2];
24122 bool ladder_updated[2];
24123 u8 mphase_cal_lastphase = 0;
24124 int bcmerror = BCME_OK;
24125 bool phyhang_avoid_state = false;
24127 u16 tbl_tx_iqlo_cal_loft_ladder_20[] = {
24128 0x0300, 0x0500, 0x0700, 0x0900, 0x0d00, 0x1100, 0x1900, 0x1901,
24130 0x1903, 0x1904, 0x1905, 0x1906, 0x1907, 0x2407, 0x3207, 0x4607,
24134 u16 tbl_tx_iqlo_cal_iqimb_ladder_20[] = {
24135 0x0200, 0x0300, 0x0600, 0x0900, 0x0d00, 0x1100, 0x1900, 0x2400,
24137 0x4600, 0x6400, 0x6401, 0x6402, 0x6403, 0x6404, 0x6405, 0x6406,
24141 u16 tbl_tx_iqlo_cal_loft_ladder_40[] = {
24142 0x0200, 0x0300, 0x0400, 0x0700, 0x0900, 0x0c00, 0x1200, 0x1201,
24144 0x1203, 0x1204, 0x1205, 0x1206, 0x1207, 0x1907, 0x2307, 0x3207,
24148 u16 tbl_tx_iqlo_cal_iqimb_ladder_40[] = {
24149 0x0100, 0x0200, 0x0400, 0x0700, 0x0900, 0x0c00, 0x1200, 0x1900,
24151 0x3200, 0x4700, 0x4701, 0x4702, 0x4703, 0x4704, 0x4705, 0x4706,
24155 u16 tbl_tx_iqlo_cal_startcoefs[] = {
24156 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
24160 u16 tbl_tx_iqlo_cal_cmds_fullcal[] = {
24161 0x8123, 0x8264, 0x8086, 0x8245, 0x8056,
24162 0x9123, 0x9264, 0x9086, 0x9245, 0x9056
24165 u16 tbl_tx_iqlo_cal_cmds_recal[] = {
24166 0x8101, 0x8253, 0x8053, 0x8234, 0x8034,
24167 0x9101, 0x9253, 0x9053, 0x9234, 0x9034
24170 u16 tbl_tx_iqlo_cal_startcoefs_nphyrev3[] = {
24171 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
24172 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
24176 u16 tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3[] = {
24177 0x8434, 0x8334, 0x8084, 0x8267, 0x8056, 0x8234,
24178 0x9434, 0x9334, 0x9084, 0x9267, 0x9056, 0x9234
24181 u16 tbl_tx_iqlo_cal_cmds_recal_nphyrev3[] = {
24182 0x8423, 0x8323, 0x8073, 0x8256, 0x8045, 0x8223,
24183 0x9423, 0x9323, 0x9073, 0x9256, 0x9045, 0x9223
24186 wlc_phy_stay_in_carriersearch_nphy(pi, true);
24188 if (NREV_GE(pi->pubpi.phy_rev, 4)) {
24189 phyhang_avoid_state = pi->phyhang_avoid;
24190 pi->phyhang_avoid = false;
24193 if (CHSPEC_IS40(pi->radio_chanspec)) {
24199 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, gain_save);
24201 for (core_no = 0; core_no <= 1; core_no++) {
24202 wlc_phy_iqcal_gainparams_nphy(pi, core_no, target_gain,
24203 &cal_params[core_no]);
24204 cal_gain[core_no] = cal_params[core_no].cal_gain;
24207 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, cal_gain);
24209 wlc_phy_txcal_radio_setup_nphy(pi);
24211 wlc_phy_txcal_physetup_nphy(pi);
24213 ladder_updated[0] = ladder_updated[1] = false;
24214 if (!(NREV_GE(pi->pubpi.phy_rev, 6) ||
24215 (NREV_IS(pi->pubpi.phy_rev, 5) && PHY_IPA(pi)
24216 && (CHSPEC_IS2G(pi->radio_chanspec))))) {
24218 if (phy_bw == 40) {
24219 tbl_ptr = tbl_tx_iqlo_cal_loft_ladder_40;
24220 tbl_len = ARRAY_SIZE(tbl_tx_iqlo_cal_loft_ladder_40);
24222 tbl_ptr = tbl_tx_iqlo_cal_loft_ladder_20;
24223 tbl_len = ARRAY_SIZE(tbl_tx_iqlo_cal_loft_ladder_20);
24225 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, tbl_len, 0,
24228 if (phy_bw == 40) {
24229 tbl_ptr = tbl_tx_iqlo_cal_iqimb_ladder_40;
24230 tbl_len = ARRAY_SIZE(tbl_tx_iqlo_cal_iqimb_ladder_40);
24232 tbl_ptr = tbl_tx_iqlo_cal_iqimb_ladder_20;
24233 tbl_len = ARRAY_SIZE(tbl_tx_iqlo_cal_iqimb_ladder_20);
24235 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, tbl_len, 32,
24239 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
24240 write_phy_reg(pi, 0xc2, 0x8ad9);
24242 write_phy_reg(pi, 0xc2, 0x8aa9);
24246 tone_freq = (phy_bw == 20) ? 2500 : 5000;
24248 if (pi->mphase_cal_phase_id > MPHASE_CAL_STATE_TXPHASE0) {
24249 wlc_phy_runsamples_nphy(pi, phy_bw * 8, 0xffff, 0, 1, 0, false);
24250 bcmerror = BCME_OK;
24253 wlc_phy_tx_tone_nphy(pi, tone_freq, max_val, 1, 0, false);
24256 if (bcmerror == BCME_OK) {
24258 if (pi->mphase_cal_phase_id > MPHASE_CAL_STATE_TXPHASE0) {
24259 tbl_ptr = pi->mphase_txcal_bestcoeffs;
24260 tbl_len = ARRAY_SIZE(pi->mphase_txcal_bestcoeffs);
24261 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
24266 if ((!fullcal) && (pi->nphy_txiqlocal_coeffsvalid)) {
24268 tbl_ptr = pi->nphy_txiqlocal_bestc;
24269 tbl_len = ARRAY_SIZE(pi->nphy_txiqlocal_bestc);
24270 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
24278 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
24280 tbl_tx_iqlo_cal_startcoefs_nphyrev3;
24283 (tbl_tx_iqlo_cal_startcoefs_nphyrev3);
24285 tbl_ptr = tbl_tx_iqlo_cal_startcoefs;
24288 (tbl_tx_iqlo_cal_startcoefs);
24292 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, tbl_len, 64,
24296 max_cal_cmds = (NREV_GE(pi->pubpi.phy_rev, 3)) ?
24297 ARRAY_SIZE(tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3) :
24298 ARRAY_SIZE(tbl_tx_iqlo_cal_cmds_fullcal);
24300 max_cal_cmds = (NREV_GE(pi->pubpi.phy_rev, 3)) ?
24301 ARRAY_SIZE(tbl_tx_iqlo_cal_cmds_recal_nphyrev3) :
24302 ARRAY_SIZE(tbl_tx_iqlo_cal_cmds_recal);
24306 cal_cnt = pi->mphase_txcal_cmdidx;
24307 if ((cal_cnt + pi->mphase_txcal_numcmds) < max_cal_cmds) {
24308 num_cals = cal_cnt + pi->mphase_txcal_numcmds;
24310 num_cals = max_cal_cmds;
24314 num_cals = max_cal_cmds;
24317 for (; cal_cnt < num_cals; cal_cnt++) {
24320 cal_cmd = (NREV_GE(pi->pubpi.phy_rev, 3)) ?
24321 tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3
24323 tbl_tx_iqlo_cal_cmds_fullcal[cal_cnt];
24325 cal_cmd = (NREV_GE(pi->pubpi.phy_rev, 3)) ?
24326 tbl_tx_iqlo_cal_cmds_recal_nphyrev3[cal_cnt]
24327 : tbl_tx_iqlo_cal_cmds_recal[cal_cnt];
24330 core_no = ((cal_cmd & 0x3000) >> 12);
24331 cal_type = ((cal_cmd & 0x0F00) >> 8);
24333 if (NREV_GE(pi->pubpi.phy_rev, 6) ||
24334 (NREV_IS(pi->pubpi.phy_rev, 5) &&
24336 && (CHSPEC_IS2G(pi->radio_chanspec)))) {
24337 if (!ladder_updated[core_no]) {
24338 wlc_phy_update_txcal_ladder_nphy(pi,
24340 ladder_updated[core_no] = true;
24345 (cal_params[core_no].
24346 ncorr[cal_type] << 8) | NPHY_N_GCTL;
24347 write_phy_reg(pi, 0xc1, val);
24349 if ((cal_type == 1) || (cal_type == 3)
24350 || (cal_type == 4)) {
24352 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24353 1, 69 + core_no, 16,
24356 diq_start = tbl_buf[0];
24359 wlc_phy_table_write_nphy(pi,
24360 NPHY_TBL_ID_IQLOCAL, 1,
24365 write_phy_reg(pi, 0xc0, cal_cmd);
24367 SPINWAIT(((read_phy_reg(pi, 0xc0) & 0xc000) != 0),
24369 ASSERT((read_phy_reg(pi, 0xc0) & 0xc000) == 0);
24371 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24372 tbl_len, 96, 16, tbl_buf);
24373 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24374 tbl_len, 64, 16, tbl_buf);
24376 if ((cal_type == 1) || (cal_type == 3)
24377 || (cal_type == 4)) {
24379 tbl_buf[0] = diq_start;
24386 pi->mphase_txcal_cmdidx = num_cals;
24387 if (pi->mphase_txcal_cmdidx >= max_cal_cmds)
24388 pi->mphase_txcal_cmdidx = 0;
24391 mphase_cal_lastphase =
24392 (NREV_LE(pi->pubpi.phy_rev, 2)) ?
24393 MPHASE_CAL_STATE_TXPHASE4 : MPHASE_CAL_STATE_TXPHASE5;
24396 || (pi->mphase_cal_phase_id == mphase_cal_lastphase)) {
24398 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 96,
24400 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 80,
24403 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
24411 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 88,
24414 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 101,
24416 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 85,
24419 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 93,
24422 tbl_len = ARRAY_SIZE(pi->nphy_txiqlocal_bestc);
24423 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
24427 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24429 pi->nphy_txiqlocal_bestc);
24431 pi->nphy_txiqlocal_coeffsvalid = true;
24432 pi->nphy_txiqlocal_chanspec = pi->radio_chanspec;
24434 tbl_len = ARRAY_SIZE(pi->mphase_txcal_bestcoeffs);
24435 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
24439 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24441 pi->mphase_txcal_bestcoeffs);
24444 wlc_phy_stopplayback_nphy(pi);
24446 write_phy_reg(pi, 0xc2, 0x0000);
24450 wlc_phy_txcal_phycleanup_nphy(pi);
24452 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
24455 wlc_phy_txcal_radio_cleanup_nphy(pi);
24457 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
24459 || (pi->mphase_cal_phase_id == mphase_cal_lastphase))
24460 wlc_phy_tx_iq_war_nphy(pi);
24463 if (NREV_GE(pi->pubpi.phy_rev, 4)) {
24464 pi->phyhang_avoid = phyhang_avoid_state;
24467 wlc_phy_stay_in_carriersearch_nphy(pi, false);
24472 static void wlc_phy_reapply_txcal_coeffs_nphy(phy_info_t *pi)
24476 ASSERT(NREV_LT(pi->pubpi.phy_rev, 2));
24478 if ((pi->nphy_txiqlocal_chanspec == pi->radio_chanspec) &&
24479 (pi->nphy_txiqlocal_coeffsvalid)) {
24480 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24481 ARRAY_SIZE(tbl_buf), 80, 16, tbl_buf);
24483 if ((pi->nphy_txiqlocal_bestc[0] != tbl_buf[0]) ||
24484 (pi->nphy_txiqlocal_bestc[1] != tbl_buf[1]) ||
24485 (pi->nphy_txiqlocal_bestc[2] != tbl_buf[2]) ||
24486 (pi->nphy_txiqlocal_bestc[3] != tbl_buf[3])) {
24488 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 80,
24489 16, pi->nphy_txiqlocal_bestc);
24495 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 88,
24498 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 85,
24500 &pi->nphy_txiqlocal_bestc[5]);
24502 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 93,
24504 &pi->nphy_txiqlocal_bestc[5]);
24509 static void wlc_phy_tx_iq_war_nphy(phy_info_t *pi)
24511 nphy_iq_comp_t tx_comp;
24513 wlc_phy_table_read_nphy(pi, 15, 4, 0x50, 16, (void *)&tx_comp);
24515 wlapi_bmac_write_shm(pi->sh->physhim, M_20IN40_IQ, tx_comp.a0);
24516 wlapi_bmac_write_shm(pi->sh->physhim, M_20IN40_IQ + 2, tx_comp.b0);
24517 wlapi_bmac_write_shm(pi->sh->physhim, M_20IN40_IQ + 4, tx_comp.a1);
24518 wlapi_bmac_write_shm(pi->sh->physhim, M_20IN40_IQ + 6, tx_comp.b1);
24522 wlc_phy_rx_iq_coeffs_nphy(phy_info_t *pi, u8 write, nphy_iq_comp_t *pcomp)
24525 write_phy_reg(pi, 0x9a, pcomp->a0);
24526 write_phy_reg(pi, 0x9b, pcomp->b0);
24527 write_phy_reg(pi, 0x9c, pcomp->a1);
24528 write_phy_reg(pi, 0x9d, pcomp->b1);
24530 pcomp->a0 = read_phy_reg(pi, 0x9a);
24531 pcomp->b0 = read_phy_reg(pi, 0x9b);
24532 pcomp->a1 = read_phy_reg(pi, 0x9c);
24533 pcomp->b1 = read_phy_reg(pi, 0x9d);
24538 wlc_phy_rx_iq_est_nphy(phy_info_t *pi, phy_iq_est_t *est, u16 num_samps,
24539 u8 wait_time, u8 wait_for_crs)
24543 write_phy_reg(pi, 0x12b, num_samps);
24544 mod_phy_reg(pi, 0x12a, (0xff << 0), (wait_time << 0));
24545 mod_phy_reg(pi, 0x129, NPHY_IqestCmd_iqMode,
24546 (wait_for_crs) ? NPHY_IqestCmd_iqMode : 0);
24548 mod_phy_reg(pi, 0x129, NPHY_IqestCmd_iqstart, NPHY_IqestCmd_iqstart);
24550 SPINWAIT(((read_phy_reg(pi, 0x129) & NPHY_IqestCmd_iqstart) != 0),
24552 ASSERT((read_phy_reg(pi, 0x129) & NPHY_IqestCmd_iqstart) == 0);
24554 if ((read_phy_reg(pi, 0x129) & NPHY_IqestCmd_iqstart) == 0) {
24555 ASSERT(pi->pubpi.phy_corenum <= PHY_CORE_MAX);
24556 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
24558 (read_phy_reg(pi, NPHY_IqestipwrAccHi(core)) << 16)
24559 | read_phy_reg(pi, NPHY_IqestipwrAccLo(core));
24561 (read_phy_reg(pi, NPHY_IqestqpwrAccHi(core)) << 16)
24562 | read_phy_reg(pi, NPHY_IqestqpwrAccLo(core));
24563 est[core].iq_prod =
24564 (read_phy_reg(pi, NPHY_IqestIqAccHi(core)) << 16) |
24565 read_phy_reg(pi, NPHY_IqestIqAccLo(core));
24570 #define CAL_RETRY_CNT 2
24571 static void wlc_phy_calc_rx_iq_comp_nphy(phy_info_t *pi, u8 core_mask)
24574 phy_iq_est_t est[PHY_CORE_MAX];
24575 nphy_iq_comp_t old_comp, new_comp;
24577 u32 ii = 0, qq = 0;
24578 s16 iq_nbits, qq_nbits, brsh, arsh;
24580 int bcmerror = BCME_OK;
24581 uint cal_retry = 0;
24583 if (core_mask == 0x0)
24586 wlc_phy_rx_iq_coeffs_nphy(pi, 0, &old_comp);
24587 new_comp.a0 = new_comp.b0 = new_comp.a1 = new_comp.b1 = 0x0;
24588 wlc_phy_rx_iq_coeffs_nphy(pi, 1, &new_comp);
24591 wlc_phy_rx_iq_est_nphy(pi, est, 0x4000, 32, 0);
24593 new_comp = old_comp;
24595 for (curr_core = 0; curr_core < pi->pubpi.phy_corenum; curr_core++) {
24597 if ((curr_core == PHY_CORE_0) && (core_mask & 0x1)) {
24598 iq = est[curr_core].iq_prod;
24599 ii = est[curr_core].i_pwr;
24600 qq = est[curr_core].q_pwr;
24601 } else if ((curr_core == PHY_CORE_1) && (core_mask & 0x2)) {
24602 iq = est[curr_core].iq_prod;
24603 ii = est[curr_core].i_pwr;
24604 qq = est[curr_core].q_pwr;
24609 if ((ii + qq) < NPHY_MIN_RXIQ_PWR) {
24610 bcmerror = BCME_ERROR;
24614 iq_nbits = wlc_phy_nbits(iq);
24615 qq_nbits = wlc_phy_nbits(qq);
24617 arsh = 10 - (30 - iq_nbits);
24619 a = (-(iq << (30 - iq_nbits)) + (ii >> (1 + arsh)));
24620 temp = (s32) (ii >> arsh);
24622 bcmerror = BCME_ERROR;
24626 a = (-(iq << (30 - iq_nbits)) + (ii << (-1 - arsh)));
24627 temp = (s32) (ii << -arsh);
24629 bcmerror = BCME_ERROR;
24636 brsh = qq_nbits - 31 + 20;
24638 b = (qq << (31 - qq_nbits));
24639 temp = (s32) (ii >> brsh);
24641 bcmerror = BCME_ERROR;
24645 b = (qq << (31 - qq_nbits));
24646 temp = (s32) (ii << -brsh);
24648 bcmerror = BCME_ERROR;
24654 b = (s32) wlc_phy_sqrt_int((u32) b);
24657 if ((curr_core == PHY_CORE_0) && (core_mask & 0x1)) {
24658 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
24659 new_comp.a0 = (s16) a & 0x3ff;
24660 new_comp.b0 = (s16) b & 0x3ff;
24663 new_comp.a0 = (s16) b & 0x3ff;
24664 new_comp.b0 = (s16) a & 0x3ff;
24667 if ((curr_core == PHY_CORE_1) && (core_mask & 0x2)) {
24668 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
24669 new_comp.a1 = (s16) a & 0x3ff;
24670 new_comp.b1 = (s16) b & 0x3ff;
24673 new_comp.a1 = (s16) b & 0x3ff;
24674 new_comp.b1 = (s16) a & 0x3ff;
24679 if (bcmerror != BCME_OK) {
24680 printk("%s: Failed, cnt = %d\n", __func__, cal_retry);
24682 if (cal_retry < CAL_RETRY_CNT) {
24687 new_comp = old_comp;
24688 } else if (cal_retry > 0) {
24691 wlc_phy_rx_iq_coeffs_nphy(pi, 1, &new_comp);
24694 static void wlc_phy_rxcal_radio_setup_nphy(phy_info_t *pi, u8 rx_core)
24700 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
24701 if (rx_core == PHY_CORE_0) {
24702 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24703 pi->tx_rx_cal_radio_saveregs[0] =
24705 RADIO_2057_TX0_TXRXCOUPLE_5G_PWRUP);
24706 pi->tx_rx_cal_radio_saveregs[1] =
24708 RADIO_2057_TX0_TXRXCOUPLE_5G_ATTEN);
24710 write_radio_reg(pi,
24711 RADIO_2057_TX0_TXRXCOUPLE_5G_PWRUP,
24713 write_radio_reg(pi,
24714 RADIO_2057_TX0_TXRXCOUPLE_5G_ATTEN,
24718 pi->tx_rx_cal_radio_saveregs[0] =
24720 RADIO_2057_TX0_TXRXCOUPLE_2G_PWRUP);
24721 pi->tx_rx_cal_radio_saveregs[1] =
24723 RADIO_2057_TX0_TXRXCOUPLE_2G_ATTEN);
24725 write_radio_reg(pi,
24726 RADIO_2057_TX0_TXRXCOUPLE_2G_PWRUP,
24728 write_radio_reg(pi,
24729 RADIO_2057_TX0_TXRXCOUPLE_2G_ATTEN,
24734 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24735 pi->tx_rx_cal_radio_saveregs[0] =
24737 RADIO_2057_TX1_TXRXCOUPLE_5G_PWRUP);
24738 pi->tx_rx_cal_radio_saveregs[1] =
24740 RADIO_2057_TX1_TXRXCOUPLE_5G_ATTEN);
24742 write_radio_reg(pi,
24743 RADIO_2057_TX1_TXRXCOUPLE_5G_PWRUP,
24745 write_radio_reg(pi,
24746 RADIO_2057_TX1_TXRXCOUPLE_5G_ATTEN,
24750 pi->tx_rx_cal_radio_saveregs[0] =
24752 RADIO_2057_TX1_TXRXCOUPLE_2G_PWRUP);
24753 pi->tx_rx_cal_radio_saveregs[1] =
24755 RADIO_2057_TX1_TXRXCOUPLE_2G_ATTEN);
24757 write_radio_reg(pi,
24758 RADIO_2057_TX1_TXRXCOUPLE_2G_PWRUP,
24760 write_radio_reg(pi,
24761 RADIO_2057_TX1_TXRXCOUPLE_2G_ATTEN,
24767 if (rx_core == PHY_CORE_0) {
24768 pi->tx_rx_cal_radio_saveregs[0] =
24770 RADIO_2056_TX_RXIQCAL_TXMUX |
24772 pi->tx_rx_cal_radio_saveregs[1] =
24774 RADIO_2056_RX_RXIQCAL_RXMUX |
24777 if (pi->pubpi.radiorev >= 5) {
24778 pi->tx_rx_cal_radio_saveregs[2] =
24780 RADIO_2056_RX_RXSPARE2 |
24782 pi->tx_rx_cal_radio_saveregs[3] =
24784 RADIO_2056_TX_TXSPARE2 |
24788 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24790 if (pi->pubpi.radiorev >= 5) {
24791 pi->tx_rx_cal_radio_saveregs[4] =
24793 RADIO_2056_RX_LNAA_MASTER
24796 write_radio_reg(pi,
24797 RADIO_2056_RX_LNAA_MASTER
24798 | RADIO_2056_RX0, 0x40);
24800 write_radio_reg(pi,
24801 RADIO_2056_TX_TXSPARE2 |
24802 RADIO_2056_TX1, bias_a);
24804 write_radio_reg(pi,
24805 RADIO_2056_RX_RXSPARE2 |
24806 RADIO_2056_RX0, bias_a);
24808 pi->tx_rx_cal_radio_saveregs[4] =
24810 RADIO_2056_RX_LNAA_TUNE
24815 tx_rx_cal_radio_saveregs[2] & 0xF0)
24818 (offtune_val <= 0x7) ? 0xF : 0;
24821 RADIO_2056_RX_LNAA_TUNE |
24822 RADIO_2056_RX0, 0xF0,
24823 (offtune_val << 8));
24826 write_radio_reg(pi,
24827 RADIO_2056_TX_RXIQCAL_TXMUX |
24828 RADIO_2056_TX1, 0x9);
24829 write_radio_reg(pi,
24830 RADIO_2056_RX_RXIQCAL_RXMUX |
24831 RADIO_2056_RX0, 0x9);
24833 if (pi->pubpi.radiorev >= 5) {
24834 pi->tx_rx_cal_radio_saveregs[4] =
24836 RADIO_2056_RX_LNAG_MASTER
24839 write_radio_reg(pi,
24840 RADIO_2056_RX_LNAG_MASTER
24841 | RADIO_2056_RX0, 0x40);
24843 write_radio_reg(pi,
24844 RADIO_2056_TX_TXSPARE2 |
24845 RADIO_2056_TX1, bias_g);
24847 write_radio_reg(pi,
24848 RADIO_2056_RX_RXSPARE2 |
24849 RADIO_2056_RX0, bias_g);
24852 pi->tx_rx_cal_radio_saveregs[4] =
24854 RADIO_2056_RX_LNAG_TUNE
24859 tx_rx_cal_radio_saveregs[2] & 0xF0)
24862 (offtune_val <= 0x7) ? 0xF : 0;
24865 RADIO_2056_RX_LNAG_TUNE |
24866 RADIO_2056_RX0, 0xF0,
24867 (offtune_val << 8));
24870 write_radio_reg(pi,
24871 RADIO_2056_TX_RXIQCAL_TXMUX |
24872 RADIO_2056_TX1, 0x6);
24873 write_radio_reg(pi,
24874 RADIO_2056_RX_RXIQCAL_RXMUX |
24875 RADIO_2056_RX0, 0x6);
24879 pi->tx_rx_cal_radio_saveregs[0] =
24881 RADIO_2056_TX_RXIQCAL_TXMUX |
24883 pi->tx_rx_cal_radio_saveregs[1] =
24885 RADIO_2056_RX_RXIQCAL_RXMUX |
24888 if (pi->pubpi.radiorev >= 5) {
24889 pi->tx_rx_cal_radio_saveregs[2] =
24891 RADIO_2056_RX_RXSPARE2 |
24893 pi->tx_rx_cal_radio_saveregs[3] =
24895 RADIO_2056_TX_TXSPARE2 |
24899 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24901 if (pi->pubpi.radiorev >= 5) {
24902 pi->tx_rx_cal_radio_saveregs[4] =
24904 RADIO_2056_RX_LNAA_MASTER
24907 write_radio_reg(pi,
24908 RADIO_2056_RX_LNAA_MASTER
24909 | RADIO_2056_RX1, 0x40);
24911 write_radio_reg(pi,
24912 RADIO_2056_TX_TXSPARE2 |
24913 RADIO_2056_TX0, bias_a);
24915 write_radio_reg(pi,
24916 RADIO_2056_RX_RXSPARE2 |
24917 RADIO_2056_RX1, bias_a);
24919 pi->tx_rx_cal_radio_saveregs[4] =
24921 RADIO_2056_RX_LNAA_TUNE
24926 tx_rx_cal_radio_saveregs[2] & 0xF0)
24929 (offtune_val <= 0x7) ? 0xF : 0;
24932 RADIO_2056_RX_LNAA_TUNE |
24933 RADIO_2056_RX1, 0xF0,
24934 (offtune_val << 8));
24937 write_radio_reg(pi,
24938 RADIO_2056_TX_RXIQCAL_TXMUX |
24939 RADIO_2056_TX0, 0x9);
24940 write_radio_reg(pi,
24941 RADIO_2056_RX_RXIQCAL_RXMUX |
24942 RADIO_2056_RX1, 0x9);
24944 if (pi->pubpi.radiorev >= 5) {
24945 pi->tx_rx_cal_radio_saveregs[4] =
24947 RADIO_2056_RX_LNAG_MASTER
24950 write_radio_reg(pi,
24951 RADIO_2056_RX_LNAG_MASTER
24952 | RADIO_2056_RX1, 0x40);
24954 write_radio_reg(pi,
24955 RADIO_2056_TX_TXSPARE2 |
24956 RADIO_2056_TX0, bias_g);
24958 write_radio_reg(pi,
24959 RADIO_2056_RX_RXSPARE2 |
24960 RADIO_2056_RX1, bias_g);
24962 pi->tx_rx_cal_radio_saveregs[4] =
24964 RADIO_2056_RX_LNAG_TUNE
24969 tx_rx_cal_radio_saveregs[2] & 0xF0)
24972 (offtune_val <= 0x7) ? 0xF : 0;
24975 RADIO_2056_RX_LNAG_TUNE |
24976 RADIO_2056_RX1, 0xF0,
24977 (offtune_val << 8));
24980 write_radio_reg(pi,
24981 RADIO_2056_TX_RXIQCAL_TXMUX |
24982 RADIO_2056_TX0, 0x6);
24983 write_radio_reg(pi,
24984 RADIO_2056_RX_RXIQCAL_RXMUX |
24985 RADIO_2056_RX1, 0x6);
24991 static void wlc_phy_rxcal_radio_cleanup_nphy(phy_info_t *pi, u8 rx_core)
24993 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
24994 if (rx_core == PHY_CORE_0) {
24995 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24996 write_radio_reg(pi,
24997 RADIO_2057_TX0_TXRXCOUPLE_5G_PWRUP,
24999 tx_rx_cal_radio_saveregs[0]);
25000 write_radio_reg(pi,
25001 RADIO_2057_TX0_TXRXCOUPLE_5G_ATTEN,
25003 tx_rx_cal_radio_saveregs[1]);
25006 write_radio_reg(pi,
25007 RADIO_2057_TX0_TXRXCOUPLE_2G_PWRUP,
25009 tx_rx_cal_radio_saveregs[0]);
25010 write_radio_reg(pi,
25011 RADIO_2057_TX0_TXRXCOUPLE_2G_ATTEN,
25013 tx_rx_cal_radio_saveregs[1]);
25017 if (CHSPEC_IS5G(pi->radio_chanspec)) {
25018 write_radio_reg(pi,
25019 RADIO_2057_TX1_TXRXCOUPLE_5G_PWRUP,
25021 tx_rx_cal_radio_saveregs[0]);
25022 write_radio_reg(pi,
25023 RADIO_2057_TX1_TXRXCOUPLE_5G_ATTEN,
25025 tx_rx_cal_radio_saveregs[1]);
25028 write_radio_reg(pi,
25029 RADIO_2057_TX1_TXRXCOUPLE_2G_PWRUP,
25031 tx_rx_cal_radio_saveregs[0]);
25032 write_radio_reg(pi,
25033 RADIO_2057_TX1_TXRXCOUPLE_2G_ATTEN,
25035 tx_rx_cal_radio_saveregs[1]);
25040 if (rx_core == PHY_CORE_0) {
25041 write_radio_reg(pi,
25042 RADIO_2056_TX_RXIQCAL_TXMUX |
25044 pi->tx_rx_cal_radio_saveregs[0]);
25046 write_radio_reg(pi,
25047 RADIO_2056_RX_RXIQCAL_RXMUX |
25049 pi->tx_rx_cal_radio_saveregs[1]);
25051 if (pi->pubpi.radiorev >= 5) {
25052 write_radio_reg(pi,
25053 RADIO_2056_RX_RXSPARE2 |
25056 tx_rx_cal_radio_saveregs[2]);
25058 write_radio_reg(pi,
25059 RADIO_2056_TX_TXSPARE2 |
25062 tx_rx_cal_radio_saveregs[3]);
25065 if (CHSPEC_IS5G(pi->radio_chanspec)) {
25066 if (pi->pubpi.radiorev >= 5) {
25067 write_radio_reg(pi,
25068 RADIO_2056_RX_LNAA_MASTER
25071 tx_rx_cal_radio_saveregs
25074 write_radio_reg(pi,
25075 RADIO_2056_RX_LNAA_TUNE
25078 tx_rx_cal_radio_saveregs
25082 if (pi->pubpi.radiorev >= 5) {
25083 write_radio_reg(pi,
25084 RADIO_2056_RX_LNAG_MASTER
25087 tx_rx_cal_radio_saveregs
25090 write_radio_reg(pi,
25091 RADIO_2056_RX_LNAG_TUNE
25094 tx_rx_cal_radio_saveregs
25100 write_radio_reg(pi,
25101 RADIO_2056_TX_RXIQCAL_TXMUX |
25103 pi->tx_rx_cal_radio_saveregs[0]);
25105 write_radio_reg(pi,
25106 RADIO_2056_RX_RXIQCAL_RXMUX |
25108 pi->tx_rx_cal_radio_saveregs[1]);
25110 if (pi->pubpi.radiorev >= 5) {
25111 write_radio_reg(pi,
25112 RADIO_2056_RX_RXSPARE2 |
25115 tx_rx_cal_radio_saveregs[2]);
25117 write_radio_reg(pi,
25118 RADIO_2056_TX_TXSPARE2 |
25121 tx_rx_cal_radio_saveregs[3]);
25124 if (CHSPEC_IS5G(pi->radio_chanspec)) {
25125 if (pi->pubpi.radiorev >= 5) {
25126 write_radio_reg(pi,
25127 RADIO_2056_RX_LNAA_MASTER
25130 tx_rx_cal_radio_saveregs
25133 write_radio_reg(pi,
25134 RADIO_2056_RX_LNAA_TUNE
25137 tx_rx_cal_radio_saveregs
25141 if (pi->pubpi.radiorev >= 5) {
25142 write_radio_reg(pi,
25143 RADIO_2056_RX_LNAG_MASTER
25146 tx_rx_cal_radio_saveregs
25149 write_radio_reg(pi,
25150 RADIO_2056_RX_LNAG_TUNE
25153 tx_rx_cal_radio_saveregs
25161 static void wlc_phy_rxcal_physetup_nphy(phy_info_t *pi, u8 rx_core)
25164 u16 rx_antval, tx_antval;
25166 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25170 tx_core = (rx_core == PHY_CORE_0) ? 1 : 0;
25173 pi->tx_rx_cal_phy_saveregs[0] = read_phy_reg(pi, 0xa2);
25174 pi->tx_rx_cal_phy_saveregs[1] =
25175 read_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0xa6 : 0xa7);
25176 pi->tx_rx_cal_phy_saveregs[2] =
25177 read_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0x8f : 0xa5);
25178 pi->tx_rx_cal_phy_saveregs[3] = read_phy_reg(pi, 0x91);
25179 pi->tx_rx_cal_phy_saveregs[4] = read_phy_reg(pi, 0x92);
25180 pi->tx_rx_cal_phy_saveregs[5] = read_phy_reg(pi, 0x7a);
25181 pi->tx_rx_cal_phy_saveregs[6] = read_phy_reg(pi, 0x7d);
25182 pi->tx_rx_cal_phy_saveregs[7] = read_phy_reg(pi, 0xe7);
25183 pi->tx_rx_cal_phy_saveregs[8] = read_phy_reg(pi, 0xec);
25184 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25185 pi->tx_rx_cal_phy_saveregs[11] = read_phy_reg(pi, 0x342);
25186 pi->tx_rx_cal_phy_saveregs[12] = read_phy_reg(pi, 0x343);
25187 pi->tx_rx_cal_phy_saveregs[13] = read_phy_reg(pi, 0x346);
25188 pi->tx_rx_cal_phy_saveregs[14] = read_phy_reg(pi, 0x347);
25191 pi->tx_rx_cal_phy_saveregs[9] = read_phy_reg(pi, 0x297);
25192 pi->tx_rx_cal_phy_saveregs[10] = read_phy_reg(pi, 0x29b);
25193 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x297 :
25194 0x29b, (0x1 << 0), (0) << 0);
25196 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x297 :
25197 0x29b, (0x1 << 0), (0) << 0);
25199 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25201 mod_phy_reg(pi, 0xa2, (0xf << 0), (1 << tx_core) << 0);
25203 mod_phy_reg(pi, 0xa2, (0xf << 12), (1 << (1 - rx_core)) << 12);
25207 mod_phy_reg(pi, 0xa2, (0xf << 12), (1 << tx_core) << 12);
25208 mod_phy_reg(pi, 0xa2, (0xf << 0), (1 << tx_core) << 0);
25209 mod_phy_reg(pi, 0xa2, (0xf << 4), (1 << rx_core) << 4);
25210 mod_phy_reg(pi, 0xa2, (0xf << 8), (1 << rx_core) << 8);
25213 mod_phy_reg(pi, ((rx_core == PHY_CORE_0) ? 0xa6 : 0xa7), (0x1 << 2), 0);
25214 mod_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0x8f : 0xa5,
25215 (0x1 << 2), (0x1 << 2));
25216 if (NREV_LT(pi->pubpi.phy_rev, 7)) {
25217 mod_phy_reg(pi, ((rx_core == PHY_CORE_0) ? 0xa6 : 0xa7),
25218 (0x1 << 0) | (0x1 << 1), 0);
25219 mod_phy_reg(pi, (rx_core == PHY_CORE_0) ?
25221 (0x1 << 0) | (0x1 << 1), (0x1 << 0) | (0x1 << 1));
25224 wlc_phy_rfctrlintc_override_nphy(pi, NPHY_RfctrlIntc_override_PA, 0,
25225 RADIO_MIMO_CORESEL_CORE1 |
25226 RADIO_MIMO_CORESEL_CORE2);
25228 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25229 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
25231 NPHY_REV7_RFCTRLOVERRIDE_ID0);
25232 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 9), 0, 0, 0,
25233 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25234 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 10), 1, 0, 0,
25235 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25236 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), 1, 0, 0,
25237 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25238 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), 1, 0, 0,
25239 NPHY_REV7_RFCTRLOVERRIDE_ID2);
25240 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 0, 0, 0,
25241 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25242 if (CHSPEC_IS40(pi->radio_chanspec)) {
25243 wlc_phy_rfctrl_override_nphy_rev7(pi,
25246 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25248 wlc_phy_rfctrl_override_nphy_rev7(pi,
25251 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25253 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7),
25255 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25256 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5), 0, 0, 0,
25257 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25259 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 0, 3, 0);
25262 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX);
25264 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25266 wlc_phy_rfctrlintc_override_nphy(pi,
25267 NPHY_RfctrlIntc_override_TRSW,
25271 if (rx_core == PHY_CORE_0) {
25279 wlc_phy_rfctrlintc_override_nphy(pi,
25280 NPHY_RfctrlIntc_override_TRSW,
25281 rx_antval, rx_core + 1);
25282 wlc_phy_rfctrlintc_override_nphy(pi,
25283 NPHY_RfctrlIntc_override_TRSW,
25284 tx_antval, tx_core + 1);
25288 static void wlc_phy_rxcal_phycleanup_nphy(phy_info_t *pi, u8 rx_core)
25291 write_phy_reg(pi, 0xa2, pi->tx_rx_cal_phy_saveregs[0]);
25292 write_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0xa6 : 0xa7,
25293 pi->tx_rx_cal_phy_saveregs[1]);
25294 write_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0x8f : 0xa5,
25295 pi->tx_rx_cal_phy_saveregs[2]);
25296 write_phy_reg(pi, 0x91, pi->tx_rx_cal_phy_saveregs[3]);
25297 write_phy_reg(pi, 0x92, pi->tx_rx_cal_phy_saveregs[4]);
25299 write_phy_reg(pi, 0x7a, pi->tx_rx_cal_phy_saveregs[5]);
25300 write_phy_reg(pi, 0x7d, pi->tx_rx_cal_phy_saveregs[6]);
25301 write_phy_reg(pi, 0xe7, pi->tx_rx_cal_phy_saveregs[7]);
25302 write_phy_reg(pi, 0xec, pi->tx_rx_cal_phy_saveregs[8]);
25303 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25304 write_phy_reg(pi, 0x342, pi->tx_rx_cal_phy_saveregs[11]);
25305 write_phy_reg(pi, 0x343, pi->tx_rx_cal_phy_saveregs[12]);
25306 write_phy_reg(pi, 0x346, pi->tx_rx_cal_phy_saveregs[13]);
25307 write_phy_reg(pi, 0x347, pi->tx_rx_cal_phy_saveregs[14]);
25310 write_phy_reg(pi, 0x297, pi->tx_rx_cal_phy_saveregs[9]);
25311 write_phy_reg(pi, 0x29b, pi->tx_rx_cal_phy_saveregs[10]);
25315 wlc_phy_rxcal_gainctrl_nphy_rev5(phy_info_t *pi, u8 rx_core,
25316 u16 *rxgain, u8 cal_type)
25320 phy_iq_est_t est[PHY_CORE_MAX];
25322 nphy_iq_comp_t save_comp, zero_comp;
25323 u32 i_pwr, q_pwr, curr_pwr, optim_pwr = 0, prev_pwr = 0, thresh_pwr =
25325 s16 desired_log2_pwr, actual_log2_pwr, delta_pwr;
25326 bool gainctrl_done = false;
25327 u8 mix_tia_gain = 3;
25328 s8 optim_gaintbl_index = 0, prev_gaintbl_index = 0;
25329 s8 curr_gaintbl_index = 3;
25330 u8 gainctrl_dirn = NPHY_RXCAL_GAIN_INIT;
25331 nphy_ipa_txrxgain_t *nphy_rxcal_gaintbl;
25332 u16 hpvga, lpf_biq1, lpf_biq0, lna2, lna1;
25335 u16 nphy_rxcal_txgain[2];
25337 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25341 tx_core = 1 - rx_core;
25345 desired_log2_pwr = (cal_type == 0) ? 13 : 13;
25347 wlc_phy_rx_iq_coeffs_nphy(pi, 0, &save_comp);
25348 zero_comp.a0 = zero_comp.b0 = zero_comp.a1 = zero_comp.b1 = 0x0;
25349 wlc_phy_rx_iq_coeffs_nphy(pi, 1, &zero_comp);
25351 if (CHSPEC_IS5G(pi->radio_chanspec)) {
25352 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25354 } else if (NREV_GE(pi->pubpi.phy_rev, 4)) {
25359 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25360 nphy_rxcal_gaintbl = nphy_ipa_rxcal_gaintbl_5GHz_rev7;
25362 nphy_rxcal_gaintbl = nphy_ipa_rxcal_gaintbl_5GHz;
25365 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25366 nphy_rxcal_gaintbl = nphy_ipa_rxcal_gaintbl_2GHz_rev7;
25368 nphy_rxcal_gaintbl = nphy_ipa_rxcal_gaintbl_2GHz;
25374 hpvga = (NREV_GE(pi->pubpi.phy_rev, 7)) ?
25375 0 : nphy_rxcal_gaintbl[curr_gaintbl_index].hpvga;
25376 lpf_biq1 = nphy_rxcal_gaintbl[curr_gaintbl_index].lpf_biq1;
25377 lpf_biq0 = nphy_rxcal_gaintbl[curr_gaintbl_index].lpf_biq0;
25378 lna2 = nphy_rxcal_gaintbl[curr_gaintbl_index].lna2;
25379 lna1 = nphy_rxcal_gaintbl[curr_gaintbl_index].lna1;
25380 txpwrindex = nphy_rxcal_gaintbl[curr_gaintbl_index].txpwrindex;
25382 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25383 wlc_phy_rfctrl_override_1tomany_nphy(pi,
25384 NPHY_REV7_RfctrlOverride_cmd_rxgain,
25385 ((lpf_biq1 << 12) |
25391 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12),
25395 (mix_tia_gain << 4) |
25396 (lna2 << 2) | lna1), 0x3,
25400 pi->nphy_rxcal_pwr_idx[tx_core] = txpwrindex;
25402 if (txpwrindex == -1) {
25403 nphy_rxcal_txgain[0] = 0x8ff0 | pi->nphy_gmval;
25404 nphy_rxcal_txgain[1] = 0x8ff0 | pi->nphy_gmval;
25405 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
25407 nphy_rxcal_txgain);
25409 wlc_phy_txpwr_index_nphy(pi, tx_core + 1, txpwrindex,
25413 wlc_phy_tx_tone_nphy(pi, (CHSPEC_IS40(pi->radio_chanspec)) ?
25414 NPHY_RXCAL_TONEFREQ_40MHz :
25415 NPHY_RXCAL_TONEFREQ_20MHz,
25416 NPHY_RXCAL_TONEAMP, 0, cal_type, false);
25418 wlc_phy_rx_iq_est_nphy(pi, est, num_samps, 32, 0);
25419 i_pwr = (est[rx_core].i_pwr + num_samps / 2) / num_samps;
25420 q_pwr = (est[rx_core].q_pwr + num_samps / 2) / num_samps;
25421 curr_pwr = i_pwr + q_pwr;
25423 switch (gainctrl_dirn) {
25424 case NPHY_RXCAL_GAIN_INIT:
25425 if (curr_pwr > thresh_pwr) {
25426 gainctrl_dirn = NPHY_RXCAL_GAIN_DOWN;
25427 prev_gaintbl_index = curr_gaintbl_index;
25428 curr_gaintbl_index--;
25430 gainctrl_dirn = NPHY_RXCAL_GAIN_UP;
25431 prev_gaintbl_index = curr_gaintbl_index;
25432 curr_gaintbl_index++;
25436 case NPHY_RXCAL_GAIN_UP:
25437 if (curr_pwr > thresh_pwr) {
25438 gainctrl_done = true;
25439 optim_pwr = prev_pwr;
25440 optim_gaintbl_index = prev_gaintbl_index;
25442 prev_gaintbl_index = curr_gaintbl_index;
25443 curr_gaintbl_index++;
25447 case NPHY_RXCAL_GAIN_DOWN:
25448 if (curr_pwr > thresh_pwr) {
25449 prev_gaintbl_index = curr_gaintbl_index;
25450 curr_gaintbl_index--;
25452 gainctrl_done = true;
25453 optim_pwr = curr_pwr;
25454 optim_gaintbl_index = curr_gaintbl_index;
25462 if ((curr_gaintbl_index < 0) ||
25463 (curr_gaintbl_index > NPHY_IPA_RXCAL_MAXGAININDEX)) {
25464 gainctrl_done = true;
25465 optim_pwr = curr_pwr;
25466 optim_gaintbl_index = prev_gaintbl_index;
25468 prev_pwr = curr_pwr;
25471 wlc_phy_stopplayback_nphy(pi);
25472 } while (!gainctrl_done);
25474 hpvga = nphy_rxcal_gaintbl[optim_gaintbl_index].hpvga;
25475 lpf_biq1 = nphy_rxcal_gaintbl[optim_gaintbl_index].lpf_biq1;
25476 lpf_biq0 = nphy_rxcal_gaintbl[optim_gaintbl_index].lpf_biq0;
25477 lna2 = nphy_rxcal_gaintbl[optim_gaintbl_index].lna2;
25478 lna1 = nphy_rxcal_gaintbl[optim_gaintbl_index].lna1;
25479 txpwrindex = nphy_rxcal_gaintbl[optim_gaintbl_index].txpwrindex;
25481 actual_log2_pwr = wlc_phy_nbits(optim_pwr);
25482 delta_pwr = desired_log2_pwr - actual_log2_pwr;
25484 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25485 fine_gain_idx = (int)lpf_biq1 + delta_pwr;
25487 if (fine_gain_idx + (int)lpf_biq0 > 10) {
25488 lpf_biq1 = 10 - lpf_biq0;
25490 lpf_biq1 = (u16) max(fine_gain_idx, 0);
25492 wlc_phy_rfctrl_override_1tomany_nphy(pi,
25493 NPHY_REV7_RfctrlOverride_cmd_rxgain,
25494 ((lpf_biq1 << 12) |
25496 (mix_tia_gain << 4) |
25497 (lna2 << 2) | lna1), 0x3,
25500 hpvga = (u16) max(min(((int)hpvga) + delta_pwr, 10), 0);
25501 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12),
25502 ((hpvga << 12) | (lpf_biq1 << 10) |
25503 (lpf_biq0 << 8) | (mix_tia_gain <<
25510 if (rxgain != NULL) {
25513 *rxgain++ = mix_tia_gain;
25514 *rxgain++ = lpf_biq0;
25515 *rxgain++ = lpf_biq1;
25519 wlc_phy_rx_iq_coeffs_nphy(pi, 1, &save_comp);
25523 wlc_phy_rxcal_gainctrl_nphy(phy_info_t *pi, u8 rx_core, u16 *rxgain,
25526 wlc_phy_rxcal_gainctrl_nphy_rev5(pi, rx_core, rxgain, cal_type);
25530 wlc_phy_rc_sweep_nphy(phy_info_t *pi, u8 core_idx, u8 loopback_type)
25532 u32 target_bws[2] = { 9500, 21000 };
25533 u32 ref_tones[2] = { 3000, 6000 };
25534 u32 target_bw, ref_tone;
25536 u32 target_pwr_ratios[2] = { 28606, 18468 };
25537 u32 target_pwr_ratio, pwr_ratio, last_pwr_ratio = 0;
25539 u16 start_rccal_ovr_val = 128;
25540 u16 txlpf_rccal_lpc_ovr_val = 128;
25541 u16 rxlpf_rccal_hpc_ovr_val = 159;
25543 u16 orig_txlpf_rccal_lpc_ovr_val;
25544 u16 orig_rxlpf_rccal_hpc_ovr_val;
25545 u16 radio_addr_offset_rx;
25546 u16 radio_addr_offset_tx;
25548 u16 orig_RxStrnFilt40Num[6];
25549 u16 orig_RxStrnFilt40Den[4];
25550 u16 orig_rfctrloverride[2];
25551 u16 orig_rfctrlauxreg[2];
25552 u16 orig_rfctrlrssiothers;
25555 u16 rx_lpf_bw, rx_lpf_bws[2] = { 2, 4 };
25556 u16 lpf_hpc = 7, hpvga_hpc = 7;
25559 u16 rccal_val, last_rccal_val = 0, best_rccal_val = 0;
25560 u32 ref_iq_vals = 0, target_iq_vals = 0;
25561 u16 num_samps, log_num_samps = 10;
25562 phy_iq_est_t est[PHY_CORE_MAX];
25564 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25568 num_samps = (1 << log_num_samps);
25570 if (CHSPEC_IS40(pi->radio_chanspec)) {
25571 target_bw = target_bws[1];
25572 target_pwr_ratio = target_pwr_ratios[1];
25573 ref_tone = ref_tones[1];
25574 rx_lpf_bw = rx_lpf_bws[1];
25576 target_bw = target_bws[0];
25577 target_pwr_ratio = target_pwr_ratios[0];
25578 ref_tone = ref_tones[0];
25579 rx_lpf_bw = rx_lpf_bws[0];
25582 if (core_idx == 0) {
25583 radio_addr_offset_rx = RADIO_2056_RX0;
25584 radio_addr_offset_tx =
25585 (loopback_type == 0) ? RADIO_2056_TX0 : RADIO_2056_TX1;
25587 radio_addr_offset_rx = RADIO_2056_RX1;
25588 radio_addr_offset_tx =
25589 (loopback_type == 0) ? RADIO_2056_TX1 : RADIO_2056_TX0;
25592 orig_txlpf_rccal_lpc_ovr_val =
25594 (RADIO_2056_TX_TXLPF_RCCAL | radio_addr_offset_tx));
25595 orig_rxlpf_rccal_hpc_ovr_val =
25597 (RADIO_2056_RX_RXLPF_RCCAL_HPC |
25598 radio_addr_offset_rx));
25600 orig_dcBypass = ((read_phy_reg(pi, 0x48) >> 8) & 1);
25602 orig_RxStrnFilt40Num[0] = read_phy_reg(pi, 0x267);
25603 orig_RxStrnFilt40Num[1] = read_phy_reg(pi, 0x268);
25604 orig_RxStrnFilt40Num[2] = read_phy_reg(pi, 0x269);
25605 orig_RxStrnFilt40Den[0] = read_phy_reg(pi, 0x26a);
25606 orig_RxStrnFilt40Den[1] = read_phy_reg(pi, 0x26b);
25607 orig_RxStrnFilt40Num[3] = read_phy_reg(pi, 0x26c);
25608 orig_RxStrnFilt40Num[4] = read_phy_reg(pi, 0x26d);
25609 orig_RxStrnFilt40Num[5] = read_phy_reg(pi, 0x26e);
25610 orig_RxStrnFilt40Den[2] = read_phy_reg(pi, 0x26f);
25611 orig_RxStrnFilt40Den[3] = read_phy_reg(pi, 0x270);
25613 orig_rfctrloverride[0] = read_phy_reg(pi, 0xe7);
25614 orig_rfctrloverride[1] = read_phy_reg(pi, 0xec);
25615 orig_rfctrlauxreg[0] = read_phy_reg(pi, 0xf8);
25616 orig_rfctrlauxreg[1] = read_phy_reg(pi, 0xfa);
25617 orig_rfctrlrssiothers = read_phy_reg(pi, (core_idx == 0) ? 0x7a : 0x7d);
25619 write_radio_reg(pi, (RADIO_2056_TX_TXLPF_RCCAL | radio_addr_offset_tx),
25620 txlpf_rccal_lpc_ovr_val);
25622 write_radio_reg(pi,
25623 (RADIO_2056_RX_RXLPF_RCCAL_HPC | radio_addr_offset_rx),
25624 rxlpf_rccal_hpc_ovr_val);
25626 mod_phy_reg(pi, 0x48, (0x1 << 8), (0x1 << 8));
25628 write_phy_reg(pi, 0x267, 0x02d4);
25629 write_phy_reg(pi, 0x268, 0x0000);
25630 write_phy_reg(pi, 0x269, 0x0000);
25631 write_phy_reg(pi, 0x26a, 0x0000);
25632 write_phy_reg(pi, 0x26b, 0x0000);
25633 write_phy_reg(pi, 0x26c, 0x02d4);
25634 write_phy_reg(pi, 0x26d, 0x0000);
25635 write_phy_reg(pi, 0x26e, 0x0000);
25636 write_phy_reg(pi, 0x26f, 0x0000);
25637 write_phy_reg(pi, 0x270, 0x0000);
25639 or_phy_reg(pi, (core_idx == 0) ? 0xe7 : 0xec, (0x1 << 8));
25640 or_phy_reg(pi, (core_idx == 0) ? 0xec : 0xe7, (0x1 << 15));
25641 or_phy_reg(pi, (core_idx == 0) ? 0xe7 : 0xec, (0x1 << 9));
25642 or_phy_reg(pi, (core_idx == 0) ? 0xe7 : 0xec, (0x1 << 10));
25644 mod_phy_reg(pi, (core_idx == 0) ? 0xfa : 0xf8,
25645 (0x7 << 10), (tx_lpf_bw << 10));
25646 mod_phy_reg(pi, (core_idx == 0) ? 0xf8 : 0xfa,
25647 (0x7 << 0), (hpvga_hpc << 0));
25648 mod_phy_reg(pi, (core_idx == 0) ? 0xf8 : 0xfa,
25649 (0x7 << 4), (lpf_hpc << 4));
25650 mod_phy_reg(pi, (core_idx == 0) ? 0x7a : 0x7d,
25651 (0x7 << 8), (rx_lpf_bw << 8));
25653 rccal_stepsize = 16;
25654 rccal_val = start_rccal_ovr_val + rccal_stepsize;
25656 while (rccal_stepsize >= 0) {
25657 write_radio_reg(pi,
25658 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
25659 radio_addr_offset_rx), rccal_val);
25661 if (rccal_stepsize == 16) {
25663 wlc_phy_tx_tone_nphy(pi, ref_tone, NPHY_RXCAL_TONEAMP,
25667 wlc_phy_rx_iq_est_nphy(pi, est, num_samps, 32, 0);
25669 if (core_idx == 0) {
25671 max_t(u32, (est[0].i_pwr +
25672 est[0].q_pwr) >> (log_num_samps + 1),
25676 max_t(u32, (est[1].i_pwr +
25677 est[1].q_pwr) >> (log_num_samps + 1),
25681 wlc_phy_tx_tone_nphy(pi, target_bw, NPHY_RXCAL_TONEAMP,
25686 wlc_phy_rx_iq_est_nphy(pi, est, num_samps, 32, 0);
25688 if (core_idx == 0) {
25690 (est[0].i_pwr + est[0].q_pwr) >> (log_num_samps +
25694 (est[1].i_pwr + est[1].q_pwr) >> (log_num_samps +
25697 pwr_ratio = (uint) ((target_iq_vals << 16) / ref_iq_vals);
25699 if (rccal_stepsize == 0) {
25701 } else if (rccal_stepsize == 1) {
25702 last_rccal_val = rccal_val;
25703 rccal_val += (pwr_ratio > target_pwr_ratio) ? 1 : -1;
25704 last_pwr_ratio = pwr_ratio;
25707 rccal_stepsize = (rccal_stepsize >> 1);
25708 rccal_val += ((pwr_ratio > target_pwr_ratio) ?
25709 rccal_stepsize : (-rccal_stepsize));
25712 if (rccal_stepsize == -1) {
25714 (ABS((int)last_pwr_ratio - (int)target_pwr_ratio) <
25715 ABS((int)pwr_ratio -
25716 (int)target_pwr_ratio)) ? last_rccal_val :
25719 if (CHSPEC_IS40(pi->radio_chanspec)) {
25720 if ((best_rccal_val > 140)
25721 || (best_rccal_val < 135)) {
25722 best_rccal_val = 138;
25725 if ((best_rccal_val > 142)
25726 || (best_rccal_val < 137)) {
25727 best_rccal_val = 140;
25731 write_radio_reg(pi,
25732 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
25733 radio_addr_offset_rx), best_rccal_val);
25737 wlc_phy_stopplayback_nphy(pi);
25739 write_radio_reg(pi, (RADIO_2056_TX_TXLPF_RCCAL | radio_addr_offset_tx),
25740 orig_txlpf_rccal_lpc_ovr_val);
25741 write_radio_reg(pi,
25742 (RADIO_2056_RX_RXLPF_RCCAL_HPC | radio_addr_offset_rx),
25743 orig_rxlpf_rccal_hpc_ovr_val);
25745 mod_phy_reg(pi, 0x48, (0x1 << 8), (orig_dcBypass << 8));
25747 write_phy_reg(pi, 0x267, orig_RxStrnFilt40Num[0]);
25748 write_phy_reg(pi, 0x268, orig_RxStrnFilt40Num[1]);
25749 write_phy_reg(pi, 0x269, orig_RxStrnFilt40Num[2]);
25750 write_phy_reg(pi, 0x26a, orig_RxStrnFilt40Den[0]);
25751 write_phy_reg(pi, 0x26b, orig_RxStrnFilt40Den[1]);
25752 write_phy_reg(pi, 0x26c, orig_RxStrnFilt40Num[3]);
25753 write_phy_reg(pi, 0x26d, orig_RxStrnFilt40Num[4]);
25754 write_phy_reg(pi, 0x26e, orig_RxStrnFilt40Num[5]);
25755 write_phy_reg(pi, 0x26f, orig_RxStrnFilt40Den[2]);
25756 write_phy_reg(pi, 0x270, orig_RxStrnFilt40Den[3]);
25758 write_phy_reg(pi, 0xe7, orig_rfctrloverride[0]);
25759 write_phy_reg(pi, 0xec, orig_rfctrloverride[1]);
25760 write_phy_reg(pi, 0xf8, orig_rfctrlauxreg[0]);
25761 write_phy_reg(pi, 0xfa, orig_rfctrlauxreg[1]);
25762 write_phy_reg(pi, (core_idx == 0) ? 0x7a : 0x7d, orig_rfctrlrssiothers);
25764 pi->nphy_anarxlpf_adjusted = false;
25766 return best_rccal_val - 0x80;
25769 #define WAIT_FOR_SCOPE 4000
25771 wlc_phy_cal_rxiq_nphy_rev3(phy_info_t *pi, nphy_txgains_t target_gain,
25772 u8 cal_type, bool debug)
25775 u8 core_no, rx_core;
25779 nphy_iqcal_params_t cal_params[2];
25781 s8 rxlpf_rccal_hpc, txlpf_rccal_lpc;
25783 bool phyhang_avoid_state = false;
25784 bool skip_rxiqcal = false;
25786 orig_BBConfig = read_phy_reg(pi, 0x01);
25787 mod_phy_reg(pi, 0x01, (0x1 << 15), 0);
25789 wlc_phy_stay_in_carriersearch_nphy(pi, true);
25791 if (NREV_GE(pi->pubpi.phy_rev, 4)) {
25792 phyhang_avoid_state = pi->phyhang_avoid;
25793 pi->phyhang_avoid = false;
25796 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, gain_save);
25798 for (core_no = 0; core_no <= 1; core_no++) {
25799 wlc_phy_iqcal_gainparams_nphy(pi, core_no, target_gain,
25800 &cal_params[core_no]);
25801 cal_gain[core_no] = cal_params[core_no].cal_gain;
25804 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, cal_gain);
25806 rxcore_state = wlc_phy_rxcore_getstate_nphy((wlc_phy_t *) pi);
25808 for (rx_core = 0; rx_core < pi->pubpi.phy_corenum; rx_core++) {
25811 ((rxcore_state & (1 << rx_core)) == 0) ? true : false;
25813 wlc_phy_rxcal_physetup_nphy(pi, rx_core);
25815 wlc_phy_rxcal_radio_setup_nphy(pi, rx_core);
25817 if ((!skip_rxiqcal) && ((cal_type == 0) || (cal_type == 2))) {
25819 wlc_phy_rxcal_gainctrl_nphy(pi, rx_core, NULL, 0);
25821 wlc_phy_tx_tone_nphy(pi,
25822 (CHSPEC_IS40(pi->radio_chanspec)) ?
25823 NPHY_RXCAL_TONEFREQ_40MHz :
25824 NPHY_RXCAL_TONEFREQ_20MHz,
25825 NPHY_RXCAL_TONEAMP, 0, cal_type,
25829 mdelay(WAIT_FOR_SCOPE);
25831 wlc_phy_calc_rx_iq_comp_nphy(pi, rx_core + 1);
25832 wlc_phy_stopplayback_nphy(pi);
25835 if (((cal_type == 1) || (cal_type == 2))
25836 && NREV_LT(pi->pubpi.phy_rev, 7)) {
25838 if (rx_core == PHY_CORE_1) {
25840 if (rxcore_state == 1) {
25841 wlc_phy_rxcore_setstate_nphy((wlc_phy_t
25845 wlc_phy_rxcal_gainctrl_nphy(pi, rx_core, NULL,
25848 best_rccal[rx_core] =
25849 wlc_phy_rc_sweep_nphy(pi, rx_core, 1);
25850 pi->nphy_rccal_value = best_rccal[rx_core];
25852 if (rxcore_state == 1) {
25853 wlc_phy_rxcore_setstate_nphy((wlc_phy_t
25860 wlc_phy_rxcal_radio_cleanup_nphy(pi, rx_core);
25862 wlc_phy_rxcal_phycleanup_nphy(pi, rx_core);
25863 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
25866 if ((cal_type == 1) || (cal_type == 2)) {
25868 best_rccal[0] = best_rccal[1];
25869 write_radio_reg(pi,
25870 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
25871 RADIO_2056_RX0), (best_rccal[0] | 0x80));
25873 for (rx_core = 0; rx_core < pi->pubpi.phy_corenum; rx_core++) {
25875 (((int)best_rccal[rx_core] - 12) >> 1) + 10;
25876 txlpf_rccal_lpc = ((int)best_rccal[rx_core] - 12) + 10;
25879 txlpf_rccal_lpc += IS40MHZ(pi) ? 24 : 12;
25880 txlpf_idac = IS40MHZ(pi) ? 0x0e : 0x13;
25881 WRITE_RADIO_REG2(pi, RADIO_2056, TX, rx_core,
25882 TXLPF_IDAC_4, txlpf_idac);
25885 rxlpf_rccal_hpc = max(min_t(u8, rxlpf_rccal_hpc, 31), 0);
25886 txlpf_rccal_lpc = max(min_t(u8, txlpf_rccal_lpc, 31), 0);
25888 write_radio_reg(pi, (RADIO_2056_RX_RXLPF_RCCAL_HPC |
25890 PHY_CORE_0) ? RADIO_2056_RX0 :
25892 (rxlpf_rccal_hpc | 0x80));
25894 write_radio_reg(pi, (RADIO_2056_TX_TXLPF_RCCAL |
25896 PHY_CORE_0) ? RADIO_2056_TX0 :
25898 (txlpf_rccal_lpc | 0x80));
25902 write_phy_reg(pi, 0x01, orig_BBConfig);
25904 wlc_phy_resetcca_nphy(pi);
25906 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25907 wlc_phy_rfctrl_override_1tomany_nphy(pi,
25908 NPHY_REV7_RfctrlOverride_cmd_rxgain,
25911 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12), 0, 0x3, 1);
25913 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
25915 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
25918 if (NREV_GE(pi->pubpi.phy_rev, 4)) {
25919 pi->phyhang_avoid = phyhang_avoid_state;
25922 wlc_phy_stay_in_carriersearch_nphy(pi, false);
25928 wlc_phy_cal_rxiq_nphy_rev2(phy_info_t *pi, nphy_txgains_t target_gain,
25931 phy_iq_est_t est[PHY_CORE_MAX];
25932 u8 core_num, rx_core, tx_core;
25933 u16 lna_vals[] = { 0x3, 0x3, 0x1 };
25934 u16 hpf1_vals[] = { 0x7, 0x2, 0x0 };
25935 u16 hpf2_vals[] = { 0x2, 0x0, 0x0 };
25936 s16 curr_hpf1, curr_hpf2, curr_hpf, curr_lna;
25937 s16 desired_log2_pwr, actual_log2_pwr, hpf_change;
25938 u16 orig_RfseqCoreActv, orig_AfectrlCore, orig_AfectrlOverride;
25939 u16 orig_RfctrlIntcRx, orig_RfctrlIntcTx;
25941 u32 i_pwr, q_pwr, tot_pwr[3];
25942 u8 gain_pass, use_hpf_num;
25943 u16 mask, val1, val2;
25947 nphy_iqcal_params_t cal_params[2];
25949 int bcmerror = BCME_OK;
25950 bool first_playtone = true;
25952 wlc_phy_stay_in_carriersearch_nphy(pi, true);
25954 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
25956 wlc_phy_reapply_txcal_coeffs_nphy(pi);
25959 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, gain_save);
25961 for (core_no = 0; core_no <= 1; core_no++) {
25962 wlc_phy_iqcal_gainparams_nphy(pi, core_no, target_gain,
25963 &cal_params[core_no]);
25964 cal_gain[core_no] = cal_params[core_no].cal_gain;
25967 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, cal_gain);
25970 desired_log2_pwr = 13;
25972 for (core_num = 0; core_num < 2; core_num++) {
25974 rx_core = core_num;
25975 tx_core = 1 - core_num;
25977 orig_RfseqCoreActv = read_phy_reg(pi, 0xa2);
25978 orig_AfectrlCore = read_phy_reg(pi, (rx_core == PHY_CORE_0) ?
25980 orig_AfectrlOverride = read_phy_reg(pi, 0xa5);
25981 orig_RfctrlIntcRx = read_phy_reg(pi, (rx_core == PHY_CORE_0) ?
25983 orig_RfctrlIntcTx = read_phy_reg(pi, (tx_core == PHY_CORE_0) ?
25986 mod_phy_reg(pi, 0xa2, (0xf << 12), (1 << tx_core) << 12);
25987 mod_phy_reg(pi, 0xa2, (0xf << 0), (1 << tx_core) << 0);
25989 or_phy_reg(pi, ((rx_core == PHY_CORE_0) ? 0xa6 : 0xa7),
25990 ((0x1 << 1) | (0x1 << 2)));
25991 or_phy_reg(pi, 0xa5, ((0x1 << 1) | (0x1 << 2)));
25993 if (((pi->nphy_rxcalparams) & 0xff000000)) {
25996 (rx_core == PHY_CORE_0) ? 0x91 : 0x92,
25997 (CHSPEC_IS5G(pi->radio_chanspec) ? 0x140 :
26002 (rx_core == PHY_CORE_0) ? 0x91 : 0x92,
26003 (CHSPEC_IS5G(pi->radio_chanspec) ? 0x180 :
26007 write_phy_reg(pi, (tx_core == PHY_CORE_0) ? 0x91 : 0x92,
26008 (CHSPEC_IS5G(pi->radio_chanspec) ? 0x148 :
26011 mask = RADIO_2055_COUPLE_RX_MASK | RADIO_2055_COUPLE_TX_MASK;
26012 if (rx_core == PHY_CORE_0) {
26013 val1 = RADIO_2055_COUPLE_RX_MASK;
26014 val2 = RADIO_2055_COUPLE_TX_MASK;
26016 val1 = RADIO_2055_COUPLE_TX_MASK;
26017 val2 = RADIO_2055_COUPLE_RX_MASK;
26020 if ((pi->nphy_rxcalparams & 0x10000)) {
26021 mod_radio_reg(pi, RADIO_2055_CORE1_GEN_SPARE2, mask,
26023 mod_radio_reg(pi, RADIO_2055_CORE2_GEN_SPARE2, mask,
26027 for (gain_pass = 0; gain_pass < 4; gain_pass++) {
26030 mdelay(WAIT_FOR_SCOPE);
26032 if (gain_pass < 3) {
26033 curr_lna = lna_vals[gain_pass];
26034 curr_hpf1 = hpf1_vals[gain_pass];
26035 curr_hpf2 = hpf2_vals[gain_pass];
26038 if (tot_pwr[1] > 10000) {
26039 curr_lna = lna_vals[2];
26040 curr_hpf1 = hpf1_vals[2];
26041 curr_hpf2 = hpf2_vals[2];
26043 curr_hpf = curr_hpf1;
26045 wlc_phy_nbits(tot_pwr[2]);
26047 if (tot_pwr[0] > 10000) {
26048 curr_lna = lna_vals[1];
26049 curr_hpf1 = hpf1_vals[1];
26050 curr_hpf2 = hpf2_vals[1];
26052 curr_hpf = curr_hpf1;
26054 wlc_phy_nbits(tot_pwr[1]);
26056 curr_lna = lna_vals[0];
26057 curr_hpf1 = hpf1_vals[0];
26058 curr_hpf2 = hpf2_vals[0];
26060 curr_hpf = curr_hpf2;
26062 wlc_phy_nbits(tot_pwr[0]);
26066 hpf_change = desired_log2_pwr - actual_log2_pwr;
26067 curr_hpf += hpf_change;
26068 curr_hpf = max(min_t(u16, curr_hpf, 10), 0);
26069 if (use_hpf_num == 1) {
26070 curr_hpf1 = curr_hpf;
26072 curr_hpf2 = curr_hpf;
26076 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 10),
26077 ((curr_hpf2 << 8) |
26079 (curr_lna << 2)), 0x3, 0);
26080 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
26082 wlc_phy_stopplayback_nphy(pi);
26084 if (first_playtone) {
26085 bcmerror = wlc_phy_tx_tone_nphy(pi, 4000,
26091 first_playtone = false;
26094 (CHSPEC_IS40(pi->radio_chanspec)) ? 40 : 20;
26095 wlc_phy_runsamples_nphy(pi, phy_bw * 8, 0xffff,
26099 if (bcmerror == BCME_OK) {
26100 if (gain_pass < 3) {
26102 wlc_phy_rx_iq_est_nphy(pi, est,
26106 (est[rx_core].i_pwr +
26107 num_samps / 2) / num_samps;
26109 (est[rx_core].q_pwr +
26110 num_samps / 2) / num_samps;
26111 tot_pwr[gain_pass] = i_pwr + q_pwr;
26114 wlc_phy_calc_rx_iq_comp_nphy(pi,
26119 wlc_phy_stopplayback_nphy(pi);
26122 if (bcmerror != BCME_OK)
26126 and_radio_reg(pi, RADIO_2055_CORE1_GEN_SPARE2, ~mask);
26127 and_radio_reg(pi, RADIO_2055_CORE2_GEN_SPARE2, ~mask);
26129 write_phy_reg(pi, (tx_core == PHY_CORE_0) ? 0x91 :
26130 0x92, orig_RfctrlIntcTx);
26131 write_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0x91 :
26132 0x92, orig_RfctrlIntcRx);
26133 write_phy_reg(pi, 0xa5, orig_AfectrlOverride);
26134 write_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0xa6 :
26135 0xa7, orig_AfectrlCore);
26136 write_phy_reg(pi, 0xa2, orig_RfseqCoreActv);
26138 if (bcmerror != BCME_OK)
26142 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 10), 0, 0x3, 1);
26143 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
26145 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
26148 wlc_phy_stay_in_carriersearch_nphy(pi, false);
26154 wlc_phy_cal_rxiq_nphy(phy_info_t *pi, nphy_txgains_t target_gain,
26155 u8 cal_type, bool debug)
26157 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26161 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
26162 return wlc_phy_cal_rxiq_nphy_rev3(pi, target_gain, cal_type,
26165 return wlc_phy_cal_rxiq_nphy_rev2(pi, target_gain, debug);
26169 static void wlc_phy_extpa_set_tx_digi_filts_nphy(phy_info_t *pi)
26172 u16 addr_offset = 0x2c5;
26174 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26175 write_phy_reg(pi, addr_offset + j,
26176 NPHY_IPA_REV4_txdigi_filtcoeffs[type][j]);
26180 static void wlc_phy_ipa_set_tx_digi_filts_nphy(phy_info_t *pi)
26183 u16 addr_offset[] = { 0x186, 0x195,
26187 for (type = 0; type < 3; type++) {
26188 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26189 write_phy_reg(pi, addr_offset[type] + j,
26190 NPHY_IPA_REV4_txdigi_filtcoeffs[type][j]);
26195 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26196 write_phy_reg(pi, 0x186 + j,
26197 NPHY_IPA_REV4_txdigi_filtcoeffs[3][j]);
26200 if (CHSPEC_IS5G(pi->radio_chanspec)) {
26201 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26202 write_phy_reg(pi, 0x186 + j,
26203 NPHY_IPA_REV4_txdigi_filtcoeffs[5]
26208 if (CHSPEC_CHANNEL(pi->radio_chanspec) == 14) {
26209 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26210 write_phy_reg(pi, 0x2c5 + j,
26211 NPHY_IPA_REV4_txdigi_filtcoeffs[6]
26218 static void wlc_phy_ipa_restore_tx_digi_filts_nphy(phy_info_t *pi)
26223 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26224 write_phy_reg(pi, 0x195 + j,
26225 NPHY_IPA_REV4_txdigi_filtcoeffs[4][j]);
26228 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26229 write_phy_reg(pi, 0x186 + j,
26230 NPHY_IPA_REV4_txdigi_filtcoeffs[3][j]);
26235 static u16 wlc_phy_ipa_get_bbmult_nphy(phy_info_t *pi)
26239 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m0m1);
26244 static void wlc_phy_ipa_set_bbmult_nphy(phy_info_t *pi, u8 m0, u8 m1)
26246 u16 m0m1 = (u16) ((m0 << 8) | m1);
26248 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &m0m1);
26249 wlc_phy_table_write_nphy(pi, 15, 1, 95, 16, &m0m1);
26252 static u32 *wlc_phy_get_ipa_gaintbl_nphy(phy_info_t *pi)
26254 u32 *tx_pwrctrl_tbl = NULL;
26256 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26258 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26260 if ((pi->pubpi.radiorev == 4)
26261 || (pi->pubpi.radiorev == 6)) {
26264 nphy_tpc_txgain_ipa_2g_2057rev4n6;
26265 } else if (pi->pubpi.radiorev == 3) {
26268 nphy_tpc_txgain_ipa_2g_2057rev3;
26269 } else if (pi->pubpi.radiorev == 5) {
26272 nphy_tpc_txgain_ipa_2g_2057rev5;
26273 } else if ((pi->pubpi.radiorev == 7)
26274 || (pi->pubpi.radiorev == 8)) {
26277 nphy_tpc_txgain_ipa_2g_2057rev7;
26282 } else if (NREV_IS(pi->pubpi.phy_rev, 6)) {
26284 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_rev6;
26285 if (pi->sh->chip == BCM47162_CHIP_ID) {
26287 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_rev5;
26290 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
26292 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_rev5;
26295 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa;
26300 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26301 if ((pi->pubpi.radiorev == 3) ||
26302 (pi->pubpi.radiorev == 4) ||
26303 (pi->pubpi.radiorev == 6)) {
26305 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_5g_2057;
26306 } else if ((pi->pubpi.radiorev == 7)
26307 || (pi->pubpi.radiorev == 8)) {
26310 nphy_tpc_txgain_ipa_5g_2057rev7;
26316 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_5g;
26320 return tx_pwrctrl_tbl;
26324 wlc_phy_papd_cal_setup_nphy(phy_info_t *pi, nphy_papd_restore_state *state,
26331 off_core = core ^ 0x1;
26332 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26334 if (NREV_IS(pi->pubpi.phy_rev, 7)
26335 || NREV_GE(pi->pubpi.phy_rev, 8)) {
26336 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7),
26337 wlc_phy_read_lpf_bw_ctl_nphy
26339 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26342 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26343 if (pi->pubpi.radiorev == 5) {
26344 mixgain = (core == 0) ? 0x20 : 0x00;
26346 } else if ((pi->pubpi.radiorev == 7)
26347 || (pi->pubpi.radiorev == 8)) {
26351 } else if ((pi->pubpi.radiorev <= 4)
26352 || (pi->pubpi.radiorev == 6)) {
26360 if ((pi->pubpi.radiorev == 4) ||
26361 (pi->pubpi.radiorev == 6)) {
26364 } else if ((pi->pubpi.radiorev == 3)
26365 || (pi->pubpi.radiorev == 7)
26366 || (pi->pubpi.radiorev == 8)) {
26374 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11),
26375 mixgain, (1 << core), 0,
26376 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26378 wlc_phy_rfctrl_override_1tomany_nphy(pi,
26379 NPHY_REV7_RfctrlOverride_cmd_tx_pu,
26380 1, (1 << core), 0);
26381 wlc_phy_rfctrl_override_1tomany_nphy(pi,
26382 NPHY_REV7_RfctrlOverride_cmd_tx_pu,
26383 0, (1 << off_core), 0);
26385 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
26387 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26388 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2), 1,
26390 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26391 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), 0,
26393 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26394 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), 1,
26396 NPHY_REV7_RFCTRLOVERRIDE_ID2);
26397 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 8), 0,
26399 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26400 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 9), 1,
26402 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26403 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 10), 0,
26405 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26406 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3), 1,
26408 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26410 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5),
26412 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26413 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4), 0,
26415 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26417 state->afectrl[core] = read_phy_reg(pi, (core == PHY_CORE_0) ?
26419 state->afeoverride[core] =
26420 read_phy_reg(pi, (core == PHY_CORE_0) ? 0x8f : 0xa5);
26421 state->afectrl[off_core] =
26422 read_phy_reg(pi, (core == PHY_CORE_0) ? 0xa7 : 0xa6);
26423 state->afeoverride[off_core] =
26424 read_phy_reg(pi, (core == PHY_CORE_0) ? 0xa5 : 0x8f);
26426 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0xa6 : 0xa7),
26428 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0x8f :
26429 0xa5), (0x1 << 2), (0x1 << 2));
26431 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0xa7 : 0xa6),
26432 (0x1 << 2), (0x1 << 2));
26433 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0xa5 :
26434 0x8f), (0x1 << 2), (0x1 << 2));
26436 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26437 state->pwrup[core] =
26438 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
26439 TXRXCOUPLE_2G_PWRUP);
26440 state->atten[core] =
26441 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
26442 TXRXCOUPLE_2G_ATTEN);
26443 state->pwrup[off_core] =
26444 READ_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26445 TXRXCOUPLE_2G_PWRUP);
26446 state->atten[off_core] =
26447 READ_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26448 TXRXCOUPLE_2G_ATTEN);
26450 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26451 TXRXCOUPLE_2G_PWRUP, 0xc);
26453 if ((pi->pubpi.radiorev == 3) ||
26454 (pi->pubpi.radiorev == 4) ||
26455 (pi->pubpi.radiorev == 6)) {
26457 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26458 TXRXCOUPLE_2G_ATTEN, 0xf0);
26460 } else if (pi->pubpi.radiorev == 5) {
26462 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26463 TXRXCOUPLE_2G_ATTEN,
26464 (core == 0) ? 0xf7 : 0xf2);
26466 } else if ((pi->pubpi.radiorev == 7)
26467 || (pi->pubpi.radiorev == 8)) {
26469 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26470 TXRXCOUPLE_2G_ATTEN, 0xf0);
26476 WRITE_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26477 TXRXCOUPLE_2G_PWRUP, 0x0);
26478 WRITE_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26479 TXRXCOUPLE_2G_ATTEN, 0xff);
26482 state->pwrup[core] =
26483 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
26484 TXRXCOUPLE_5G_PWRUP);
26485 state->atten[core] =
26486 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
26487 TXRXCOUPLE_5G_ATTEN);
26488 state->pwrup[off_core] =
26489 READ_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26490 TXRXCOUPLE_5G_PWRUP);
26491 state->atten[off_core] =
26492 READ_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26493 TXRXCOUPLE_5G_ATTEN);
26495 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26496 TXRXCOUPLE_5G_PWRUP, 0xc);
26498 if ((pi->pubpi.radiorev == 7)
26499 || (pi->pubpi.radiorev == 8)) {
26501 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26502 TXRXCOUPLE_5G_ATTEN, 0xf4);
26505 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26506 TXRXCOUPLE_5G_ATTEN, 0xf0);
26509 WRITE_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26510 TXRXCOUPLE_5G_PWRUP, 0x0);
26511 WRITE_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26512 TXRXCOUPLE_5G_ATTEN, 0xff);
26517 wlc_phy_tx_tone_nphy(pi, tone_freq, 181, 0, 0, false);
26519 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
26520 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_ON) << 0);
26522 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26523 0x2a4, (0x1 << 13), (1) << 13);
26525 mod_phy_reg(pi, (off_core == PHY_CORE_0) ? 0x297 :
26526 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_OFF) << 0);
26528 mod_phy_reg(pi, (off_core == PHY_CORE_0) ? 0x2a3 :
26529 0x2a4, (0x1 << 13), (0) << 13);
26533 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12), 0, 0x3, 0);
26535 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 1, 0, 0);
26537 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 0), 0, 0x3, 0);
26539 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 2), 1, 0x3, 0);
26540 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 1), 1, 0x3, 0);
26542 state->afectrl[core] = read_phy_reg(pi, (core == PHY_CORE_0) ?
26544 state->afeoverride[core] =
26545 read_phy_reg(pi, (core == PHY_CORE_0) ? 0x8f : 0xa5);
26547 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0xa6 : 0xa7),
26548 (0x1 << 0) | (0x1 << 1) | (0x1 << 2), 0);
26549 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0x8f :
26553 (0x1 << 2), (0x1 << 0) | (0x1 << 1) | (0x1 << 2));
26555 state->vga_master[core] =
26556 READ_RADIO_REG2(pi, RADIO_2056, RX, core, VGA_MASTER);
26557 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core, VGA_MASTER, 0x2b);
26558 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26559 state->fbmix[core] =
26560 READ_RADIO_REG2(pi, RADIO_2056, RX, core,
26562 state->intpa_master[core] =
26563 READ_RADIO_REG2(pi, RADIO_2056, TX, core,
26566 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core, TXFBMIX_G,
26568 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
26569 INTPAG_MASTER, 0x04);
26571 state->fbmix[core] =
26572 READ_RADIO_REG2(pi, RADIO_2056, RX, core,
26574 state->intpa_master[core] =
26575 READ_RADIO_REG2(pi, RADIO_2056, TX, core,
26578 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core, TXFBMIX_A,
26580 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
26581 INTPAA_MASTER, 0x04);
26587 wlc_phy_tx_tone_nphy(pi, tone_freq, 181, 0, 0, false);
26589 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
26590 0x29b, (0x1 << 0), (1) << 0);
26592 mod_phy_reg(pi, (off_core == PHY_CORE_0) ? 0x297 :
26593 0x29b, (0x1 << 0), (0) << 0);
26595 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 0, 0x3, 0);
26600 wlc_phy_papd_cal_cleanup_nphy(phy_info_t *pi, nphy_papd_restore_state *state)
26604 wlc_phy_stopplayback_nphy(pi);
26606 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26608 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
26610 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26611 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26612 TXRXCOUPLE_2G_PWRUP, 0);
26613 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26614 TXRXCOUPLE_2G_ATTEN,
26615 state->atten[core]);
26617 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26618 TXRXCOUPLE_5G_PWRUP, 0);
26619 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26620 TXRXCOUPLE_5G_ATTEN,
26621 state->atten[core]);
26625 if ((pi->pubpi.radiorev == 4) || (pi->pubpi.radiorev == 6)) {
26626 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2),
26628 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26630 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2),
26632 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26634 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1),
26636 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26637 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), 0, 0x3, 1,
26638 NPHY_REV7_RFCTRLOVERRIDE_ID2);
26639 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2), 0, 0x3, 1,
26640 NPHY_REV7_RFCTRLOVERRIDE_ID2);
26641 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 1, 0x3, 1,
26642 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26643 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3), 0, 0x3, 1,
26644 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26645 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 0, 0x3, 1,
26646 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26647 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 12), 0, 0x3, 1,
26648 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26649 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2), 1, 0x3, 1,
26650 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26651 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), 0, 0x3, 1,
26652 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26653 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), 1, 0x3, 1,
26654 NPHY_REV7_RFCTRLOVERRIDE_ID2);
26655 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 8), 0, 0x3, 1,
26656 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26657 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 9), 1, 0x3, 1,
26658 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26659 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 10), 0, 0x3, 1,
26660 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26661 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3), 1, 0x3, 1,
26662 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26663 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5), 0, 0x3, 1,
26664 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26665 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4), 0, 0x3, 1,
26666 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26668 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
26670 write_phy_reg(pi, (core == PHY_CORE_0) ?
26671 0xa6 : 0xa7, state->afectrl[core]);
26672 write_phy_reg(pi, (core == PHY_CORE_0) ? 0x8f :
26673 0xa5, state->afeoverride[core]);
26676 wlc_phy_ipa_set_bbmult_nphy(pi, (state->mm >> 8) & 0xff,
26677 (state->mm & 0xff));
26679 if (NREV_IS(pi->pubpi.phy_rev, 7)
26680 || NREV_GE(pi->pubpi.phy_rev, 8)) {
26681 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7), 0, 0,
26683 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26687 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12), 0, 0x3, 1);
26688 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 13), 0, 0x3, 1);
26689 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 0), 0, 0x3, 1);
26691 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 2), 0, 0x3, 1);
26692 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 1), 0, 0x3, 1);
26694 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
26696 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core, VGA_MASTER,
26697 state->vga_master[core]);
26698 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26699 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core,
26700 TXFBMIX_G, state->fbmix[core]);
26701 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
26703 state->intpa_master[core]);
26705 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core,
26706 TXFBMIX_A, state->fbmix[core]);
26707 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
26709 state->intpa_master[core]);
26712 write_phy_reg(pi, (core == PHY_CORE_0) ?
26713 0xa6 : 0xa7, state->afectrl[core]);
26714 write_phy_reg(pi, (core == PHY_CORE_0) ? 0x8f :
26715 0xa5, state->afeoverride[core]);
26718 wlc_phy_ipa_set_bbmult_nphy(pi, (state->mm >> 8) & 0xff,
26719 (state->mm & 0xff));
26721 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 0, 0x3, 1);
26726 wlc_phy_a1_nphy(phy_info_t *pi, u8 core, u32 winsz, u32 start,
26729 u32 *buf, *src, *dst, sz;
26731 sz = end - start + 1;
26732 ASSERT(end > start);
26733 ASSERT(end < NPHY_PAPD_EPS_TBL_SIZE);
26735 buf = kmalloc(2 * sizeof(u32) * NPHY_PAPD_EPS_TBL_SIZE, GFP_ATOMIC);
26741 dst = buf + NPHY_PAPD_EPS_TBL_SIZE;
26743 wlc_phy_table_read_nphy(pi,
26745 PHY_CORE_0 ? NPHY_TBL_ID_EPSILONTBL0 :
26746 NPHY_TBL_ID_EPSILONTBL1),
26747 NPHY_PAPD_EPS_TBL_SIZE, 0, 32, src);
26750 u32 phy_a1, phy_a2;
26751 s32 phy_a3, phy_a4, phy_a5, phy_a6, phy_a7;
26753 phy_a1 = end - min(end, (winsz >> 1));
26754 phy_a2 = min_t(u32, NPHY_PAPD_EPS_TBL_SIZE - 1, end + (winsz >> 1));
26755 phy_a3 = phy_a2 - phy_a1 + 1;
26760 wlc_phy_papd_decode_epsilon(src[phy_a2], &phy_a4,
26764 } while (phy_a2-- != phy_a1);
26768 dst[end] = ((u32) phy_a7 << 13) | ((u32) phy_a6 & 0x1fff);
26769 } while (end-- != start);
26771 wlc_phy_table_write_nphy(pi,
26773 PHY_CORE_0) ? NPHY_TBL_ID_EPSILONTBL0 :
26774 NPHY_TBL_ID_EPSILONTBL1, sz, start, 32, dst);
26780 wlc_phy_a2_nphy(phy_info_t *pi, nphy_ipa_txcalgains_t *txgains,
26781 phy_cal_mode_t cal_mode, u8 core)
26783 u16 phy_a1, phy_a2, phy_a3;
26784 u16 phy_a4, phy_a5;
26788 nphy_txgains_t phy_a9;
26790 if (NREV_LT(pi->pubpi.phy_rev, 3))
26793 phy_a7 = (core == PHY_CORE_0) ? 1 : 0;
26795 ASSERT((cal_mode == CAL_FULL) || (cal_mode == CAL_GCTRL)
26796 || (cal_mode == CAL_SOFT));
26797 phy_a6 = ((cal_mode == CAL_GCTRL)
26798 || (cal_mode == CAL_SOFT)) ? true : false;
26800 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26802 phy_a9 = wlc_phy_get_tx_gain_nphy(pi);
26804 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26805 phy_a5 = ((phy_a9.txlpf[core] << 15) |
26806 (phy_a9.txgm[core] << 12) |
26807 (phy_a9.pga[core] << 8) |
26808 (txgains->gains.pad[core] << 3) |
26809 (phy_a9.ipa[core]));
26811 phy_a5 = ((phy_a9.txlpf[core] << 15) |
26812 (phy_a9.txgm[core] << 12) |
26813 (txgains->gains.pga[core] << 8) |
26814 (phy_a9.pad[core] << 3) | (phy_a9.ipa[core]));
26817 wlc_phy_rfctrl_override_1tomany_nphy(pi,
26818 NPHY_REV7_RfctrlOverride_cmd_txgain,
26819 phy_a5, (1 << core), 0);
26821 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26822 if ((pi->pubpi.radiorev <= 4)
26823 || (pi->pubpi.radiorev == 6)) {
26825 m[core] = IS40MHZ(pi) ? 60 : 79;
26828 m[core] = IS40MHZ(pi) ? 45 : 64;
26832 m[core] = IS40MHZ(pi) ? 75 : 107;
26836 wlc_phy_ipa_set_bbmult_nphy(pi, m[0], m[1]);
26840 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26841 if (pi->sh->chip == BCM6362_CHIP_ID) {
26844 } else if ((pi->pubpi.radiorev == 4)
26845 || (pi->pubpi.radiorev == 6)) {
26853 if ((pi->pubpi.radiorev == 5)
26854 || (pi->pubpi.radiorev == 7)
26855 || (pi->pubpi.radiorev == 8)) {
26864 if (cal_mode == CAL_GCTRL) {
26865 if ((pi->pubpi.radiorev == 5)
26866 && (CHSPEC_IS2G(pi->radio_chanspec))) {
26868 } else if (((pi->pubpi.radiorev == 7) &&
26869 (CHSPEC_IS2G(pi->radio_chanspec))) ||
26870 ((pi->pubpi.radiorev == 8) &&
26871 (CHSPEC_IS2G(pi->radio_chanspec)))) {
26877 } else if ((cal_mode != CAL_FULL) && (cal_mode != CAL_SOFT)) {
26883 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
26884 0x29b, (0x1 << 0), (1) << 0);
26886 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x297 :
26887 0x29b, (0x1 << 0), (0) << 0);
26889 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26890 0x2a4, (0x1 << 13), (1) << 13);
26892 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x2a3 :
26893 0x2a4, (0x1 << 13), (0) << 13);
26895 write_phy_reg(pi, 0x2a1, 0x80);
26896 write_phy_reg(pi, 0x2a2, 0x100);
26898 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26899 0x2a4, (0x7 << 4), (11) << 4);
26901 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26902 0x2a4, (0x7 << 8), (11) << 8);
26904 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26905 0x2a4, (0x7 << 0), (0x3) << 0);
26907 write_phy_reg(pi, 0x2e5, 0x20);
26909 mod_phy_reg(pi, 0x2a0, (0x3f << 0), (phy_a3) << 0);
26911 mod_phy_reg(pi, 0x29f, (0x3f << 0), (phy_a1) << 0);
26913 mod_phy_reg(pi, 0x29f, (0x3f << 8), (phy_a2) << 8);
26915 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
26916 1, ((core == 0) ? 1 : 2), 0,
26917 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26918 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
26919 0, ((core == 0) ? 2 : 1), 0,
26920 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26922 write_phy_reg(pi, 0x2be, 1);
26923 SPINWAIT(read_phy_reg(pi, 0x2be), 10 * 1000 * 1000);
26925 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
26927 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26929 wlc_phy_table_write_nphy(pi,
26931 PHY_CORE_0) ? NPHY_TBL_ID_EPSILONTBL0
26932 : NPHY_TBL_ID_EPSILONTBL1, 1, phy_a3,
26935 if (cal_mode != CAL_GCTRL) {
26936 if (CHSPEC_IS5G(pi->radio_chanspec)) {
26937 wlc_phy_a1_nphy(pi, core, 5, 0, 35);
26941 wlc_phy_rfctrl_override_1tomany_nphy(pi,
26942 NPHY_REV7_RfctrlOverride_cmd_txgain,
26943 phy_a5, (1 << core), 1);
26948 if (txgains->useindex) {
26949 phy_a4 = 15 - ((txgains->index) >> 3);
26950 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26951 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
26952 phy_a5 = 0x00f7 | (phy_a4 << 8);
26954 if (pi->sh->chip ==
26955 BCM47162_CHIP_ID) {
26957 0x10f7 | (phy_a4 <<
26961 if (NREV_IS(pi->pubpi.phy_rev, 5))
26962 phy_a5 = 0x10f7 | (phy_a4 << 8);
26964 phy_a5 = 0x50f7 | (phy_a4 << 8);
26966 phy_a5 = 0x70f7 | (phy_a4 << 8);
26968 wlc_phy_rfctrl_override_nphy(pi,
26973 wlc_phy_rfctrl_override_nphy(pi,
26980 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26981 m[core] = IS40MHZ(pi) ? 45 : 64;
26983 m[core] = IS40MHZ(pi) ? 75 : 107;
26987 wlc_phy_ipa_set_bbmult_nphy(pi, m[0], m[1]);
26991 if (cal_mode == CAL_FULL) {
26994 } else if (cal_mode == CAL_SOFT) {
26997 } else if (cal_mode == CAL_GCTRL) {
27006 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
27007 0x29b, (0x1 << 0), (1) << 0);
27009 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x297 :
27010 0x29b, (0x1 << 0), (0) << 0);
27012 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
27013 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
27014 0x2a4, (0x1 << 13), (1) << 13);
27016 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x2a3 :
27017 0x2a4, (0x1 << 13), (0) << 13);
27019 write_phy_reg(pi, 0x2a1, 0x20);
27020 write_phy_reg(pi, 0x2a2, 0x60);
27022 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
27023 0x2a4, (0xf << 4), (9) << 4);
27025 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
27026 0x2a4, (0xf << 8), (9) << 8);
27028 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
27029 0x2a4, (0xf << 0), (0x2) << 0);
27031 write_phy_reg(pi, 0x2e5, 0x20);
27033 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
27034 0x2a4, (0x1 << 11), (1) << 11);
27036 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x2a3 :
27037 0x2a4, (0x1 << 11), (0) << 11);
27039 write_phy_reg(pi, 0x2a1, 0x80);
27040 write_phy_reg(pi, 0x2a2, 0x600);
27042 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
27043 0x2a4, (0x7 << 4), (0) << 4);
27045 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
27046 0x2a4, (0x7 << 8), (0) << 8);
27048 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
27049 0x2a4, (0x7 << 0), (0x3) << 0);
27051 mod_phy_reg(pi, 0x2a0, (0x3f << 8), (0x20) << 8);
27055 mod_phy_reg(pi, 0x2a0, (0x3f << 0), (phy_a3) << 0);
27057 mod_phy_reg(pi, 0x29f, (0x3f << 0), (phy_a1) << 0);
27059 mod_phy_reg(pi, 0x29f, (0x3f << 8), (phy_a2) << 8);
27061 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 1, 0x3, 0);
27063 write_phy_reg(pi, 0x2be, 1);
27064 SPINWAIT(read_phy_reg(pi, 0x2be), 10 * 1000 * 1000);
27066 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 0, 0x3, 0);
27068 wlc_phy_table_write_nphy(pi,
27070 PHY_CORE_0) ? NPHY_TBL_ID_EPSILONTBL0
27071 : NPHY_TBL_ID_EPSILONTBL1, 1, phy_a3,
27074 if (cal_mode != CAL_GCTRL) {
27075 wlc_phy_a1_nphy(pi, core, 5, 0, 40);
27080 static u8 wlc_phy_a3_nphy(phy_info_t *pi, u8 start_gain, u8 core)
27085 nphy_ipa_txcalgains_t phy_a4;
27086 bool phy_a5 = false;
27087 bool phy_a6 = true;
27088 s32 phy_a7, phy_a8;
27091 bool phy_a11 = false;
27095 u8 *phy_a15 = NULL;
27097 phy_a4.useindex = true;
27098 phy_a12 = start_gain;
27100 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27105 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27106 if (pi->pubpi.radiorev == 5) {
27108 phy_a15 = pad_gain_codes_used_2057rev5;
27109 phy_a13 = sizeof(pad_gain_codes_used_2057rev5) /
27110 sizeof(pad_gain_codes_used_2057rev5[0]) - 1;
27112 } else if ((pi->pubpi.radiorev == 7)
27113 || (pi->pubpi.radiorev == 8)) {
27115 phy_a15 = pad_gain_codes_used_2057rev7;
27116 phy_a13 = sizeof(pad_gain_codes_used_2057rev7) /
27117 sizeof(pad_gain_codes_used_2057rev7[0]) - 1;
27121 phy_a15 = pad_all_gain_codes_2057;
27122 phy_a13 = sizeof(pad_all_gain_codes_2057) /
27123 sizeof(pad_all_gain_codes_2057[0]) - 1;
27128 phy_a15 = pga_all_gain_codes_2057;
27129 phy_a13 = sizeof(pga_all_gain_codes_2057) /
27130 sizeof(pga_all_gain_codes_2057[0]) - 1;
27135 for (phy_a10 = 0; phy_a10 < phy_a2; phy_a10++) {
27136 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27137 phy_a4.gains.pad[core] =
27138 (u16) phy_a15[phy_a12];
27140 phy_a4.gains.pga[core] =
27141 (u16) phy_a15[phy_a12];
27144 wlc_phy_a2_nphy(pi, &phy_a4, CAL_GCTRL, core);
27146 wlc_phy_table_read_nphy(pi,
27149 NPHY_TBL_ID_EPSILONTBL0 :
27150 NPHY_TBL_ID_EPSILONTBL1), 1,
27153 wlc_phy_papd_decode_epsilon(phy_a9, &phy_a7, &phy_a8);
27155 phy_a3 = ((phy_a7 == 4095) || (phy_a7 == -4096) ||
27156 (phy_a8 == 4095) || (phy_a8 == -4096));
27158 if (!phy_a6 && (phy_a3 != phy_a5)) {
27160 phy_a12 -= (u8) phy_a1;
27167 phy_a12 += (u8) phy_a1;
27169 phy_a12 -= (u8) phy_a1;
27171 if ((phy_a12 < phy_a14) || (phy_a12 > phy_a13)) {
27172 if (phy_a12 < phy_a14) {
27188 for (phy_a10 = 0; phy_a10 < phy_a2; phy_a10++) {
27189 phy_a4.index = (u8) phy_a12;
27190 wlc_phy_a2_nphy(pi, &phy_a4, CAL_GCTRL, core);
27192 wlc_phy_table_read_nphy(pi,
27195 NPHY_TBL_ID_EPSILONTBL0 :
27196 NPHY_TBL_ID_EPSILONTBL1), 1,
27199 wlc_phy_papd_decode_epsilon(phy_a9, &phy_a7, &phy_a8);
27201 phy_a3 = ((phy_a7 == 4095) || (phy_a7 == -4096) ||
27202 (phy_a8 == 4095) || (phy_a8 == -4096));
27204 if (!phy_a6 && (phy_a3 != phy_a5)) {
27206 phy_a12 -= (u8) phy_a1;
27213 phy_a12 += (u8) phy_a1;
27215 phy_a12 -= (u8) phy_a1;
27217 if ((phy_a12 < 0) || (phy_a12 > 127)) {
27233 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27234 return (u8) phy_a15[phy_a12];
27236 return (u8) phy_a12;
27241 static void wlc_phy_a4(phy_info_t *pi, bool full_cal)
27243 nphy_ipa_txcalgains_t phy_b1[2];
27244 nphy_papd_restore_state phy_b2;
27248 s16 phy_b6, phy_b7, phy_b8;
27250 s16 phy_b10, phy_b11, phy_b12;
27258 if (pi->nphy_papd_skip == 1)
27262 (0 == (R_REG(pi->sh->osh, &pi->regs->maccontrol) & MCTL_EN_MAC));
27264 wlapi_suspend_mac_and_wait(pi->sh->physhim);
27267 wlc_phy_stay_in_carriersearch_nphy(pi, true);
27269 pi->nphy_force_papd_cal = false;
27271 for (phy_b5 = 0; phy_b5 < pi->pubpi.phy_corenum; phy_b5++)
27272 pi->nphy_papd_tx_gain_at_last_cal[phy_b5] =
27273 wlc_phy_txpwr_idx_cur_get_nphy(pi, phy_b5);
27275 pi->nphy_papd_last_cal = pi->sh->now;
27276 pi->nphy_papd_recal_counter++;
27278 if (NORADIO_ENAB(pi->pubpi))
27281 phy_b4 = pi->nphy_txpwrctrl;
27282 wlc_phy_txpwrctrl_enable_nphy(pi, PHY_TPC_HW_OFF);
27284 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_SCALARTBL0, 64, 0, 32,
27285 nphy_papd_scaltbl);
27286 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_SCALARTBL1, 64, 0, 32,
27287 nphy_papd_scaltbl);
27289 phy_b9 = read_phy_reg(pi, 0x01);
27290 mod_phy_reg(pi, 0x01, (0x1 << 15), 0);
27292 for (phy_b5 = 0; phy_b5 < pi->pubpi.phy_corenum; phy_b5++) {
27294 for (i = 0; i < 64; i++) {
27295 wlc_phy_table_write_nphy(pi,
27298 NPHY_TBL_ID_EPSILONTBL0 :
27299 NPHY_TBL_ID_EPSILONTBL1), 1,
27304 wlc_phy_ipa_restore_tx_digi_filts_nphy(pi);
27306 phy_b2.mm = wlc_phy_ipa_get_bbmult_nphy(pi);
27307 for (phy_b5 = 0; phy_b5 < pi->pubpi.phy_corenum; phy_b5++) {
27308 wlc_phy_papd_cal_setup_nphy(pi, &phy_b2, phy_b5);
27310 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27311 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27313 if ((pi->pubpi.radiorev == 3)
27314 || (pi->pubpi.radiorev == 4)
27315 || (pi->pubpi.radiorev == 6)) {
27317 pi->nphy_papd_cal_gain_index[phy_b5] =
27320 } else if (pi->pubpi.radiorev == 5) {
27322 pi->nphy_papd_cal_gain_index[phy_b5] =
27324 pi->nphy_papd_cal_gain_index[phy_b5] =
27325 wlc_phy_a3_nphy(pi,
27327 nphy_papd_cal_gain_index
27330 } else if ((pi->pubpi.radiorev == 7)
27331 || (pi->pubpi.radiorev == 8)) {
27333 pi->nphy_papd_cal_gain_index[phy_b5] =
27335 pi->nphy_papd_cal_gain_index[phy_b5] =
27336 wlc_phy_a3_nphy(pi,
27338 nphy_papd_cal_gain_index
27345 phy_b1[phy_b5].gains.pad[phy_b5] =
27346 pi->nphy_papd_cal_gain_index[phy_b5];
27349 pi->nphy_papd_cal_gain_index[phy_b5] = 0;
27350 pi->nphy_papd_cal_gain_index[phy_b5] =
27351 wlc_phy_a3_nphy(pi,
27353 nphy_papd_cal_gain_index
27355 phy_b1[phy_b5].gains.pga[phy_b5] =
27356 pi->nphy_papd_cal_gain_index[phy_b5];
27359 phy_b1[phy_b5].useindex = true;
27360 phy_b1[phy_b5].index = 16;
27361 phy_b1[phy_b5].index =
27362 wlc_phy_a3_nphy(pi, phy_b1[phy_b5].index, phy_b5);
27364 pi->nphy_papd_cal_gain_index[phy_b5] =
27365 15 - ((phy_b1[phy_b5].index) >> 3);
27368 switch (pi->nphy_papd_cal_type) {
27370 wlc_phy_a2_nphy(pi, &phy_b1[phy_b5], CAL_FULL, phy_b5);
27373 wlc_phy_a2_nphy(pi, &phy_b1[phy_b5], CAL_SOFT, phy_b5);
27377 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27378 wlc_phy_papd_cal_cleanup_nphy(pi, &phy_b2);
27382 if (NREV_LT(pi->pubpi.phy_rev, 7)) {
27383 wlc_phy_papd_cal_cleanup_nphy(pi, &phy_b2);
27386 for (phy_b5 = 0; phy_b5 < pi->pubpi.phy_corenum; phy_b5++) {
27387 int eps_offset = 0;
27389 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27390 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27391 if (pi->pubpi.radiorev == 3) {
27393 } else if (pi->pubpi.radiorev == 5) {
27402 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27403 phy_b8 = phy_b1[phy_b5].gains.pad[phy_b5];
27405 if ((pi->pubpi.radiorev == 3) ||
27406 (pi->pubpi.radiorev == 4) ||
27407 (pi->pubpi.radiorev == 6)) {
27410 (nphy_papd_padgain_dlt_2g_2057rev3n4
27414 } else if (pi->pubpi.radiorev == 5) {
27416 -(nphy_papd_padgain_dlt_2g_2057rev5
27419 } else if ((pi->pubpi.radiorev == 7) ||
27420 (pi->pubpi.radiorev == 8)) {
27422 -(nphy_papd_padgain_dlt_2g_2057rev7
27429 phy_b7 = phy_b1[phy_b5].gains.pga[phy_b5];
27430 if ((pi->pubpi.radiorev == 3) ||
27431 (pi->pubpi.radiorev == 4) ||
27432 (pi->pubpi.radiorev == 6)) {
27434 -(nphy_papd_pgagain_dlt_5g_2057
27437 } else if ((pi->pubpi.radiorev == 7)
27438 || (pi->pubpi.radiorev == 8)) {
27440 -(nphy_papd_pgagain_dlt_5g_2057rev7
27450 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27452 -60 + 27 + eps_offset + phy_b12 + phy_b10;
27455 -60 + 27 + eps_offset + phy_b11 + phy_b10;
27458 mod_phy_reg(pi, (phy_b5 == PHY_CORE_0) ? 0x298 :
27459 0x29c, (0x1ff << 7), (phy_b6) << 7);
27461 pi->nphy_papd_epsilon_offset[phy_b5] = phy_b6;
27463 if (NREV_LT(pi->pubpi.phy_rev, 5)) {
27469 phy_b7 = 15 - ((phy_b1[phy_b5].index) >> 3);
27471 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27473 -(nphy_papd_pga_gain_delta_ipa_2g[phy_b7] +
27478 -(nphy_papd_pga_gain_delta_ipa_5g[phy_b7] +
27483 phy_b6 = -60 + 27 + eps_offset + phy_b11 + phy_b10;
27485 mod_phy_reg(pi, (phy_b5 == PHY_CORE_0) ? 0x298 :
27486 0x29c, (0x1ff << 7), (phy_b6) << 7);
27488 pi->nphy_papd_epsilon_offset[phy_b5] = phy_b6;
27492 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x297 :
27493 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_ON) << 0);
27495 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x297 :
27496 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_ON) << 0);
27498 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
27499 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x2a3 :
27500 0x2a4, (0x1 << 13), (0) << 13);
27502 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x2a3 :
27503 0x2a4, (0x1 << 13), (0) << 13);
27506 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x2a3 :
27507 0x2a4, (0x1 << 11), (0) << 11);
27509 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x2a3 :
27510 0x2a4, (0x1 << 11), (0) << 11);
27513 pi->nphy_papdcomp = NPHY_PAPD_COMP_ON;
27515 write_phy_reg(pi, 0x01, phy_b9);
27517 wlc_phy_ipa_set_tx_digi_filts_nphy(pi);
27519 wlc_phy_txpwrctrl_enable_nphy(pi, phy_b4);
27520 if (phy_b4 == PHY_TPC_HW_OFF) {
27521 wlc_phy_txpwr_index_nphy(pi, (1 << 0),
27522 (s8) (pi->nphy_txpwrindex[0].
27523 index_internal), false);
27524 wlc_phy_txpwr_index_nphy(pi, (1 << 1),
27525 (s8) (pi->nphy_txpwrindex[1].
27526 index_internal), false);
27529 wlc_phy_stay_in_carriersearch_nphy(pi, false);
27532 wlapi_enable_mac(pi->sh->physhim);
27536 void wlc_phy_txpwr_fixpower_nphy(phy_info_t *pi)
27540 u16 rad_gain, dac_gain, bbmult, m1m2;
27541 u8 txpi[2], chan_freq_range;
27544 ASSERT(pi->nphy_txpwrctrl == PHY_TPC_HW_OFF);
27546 if (pi->phyhang_avoid)
27547 wlc_phy_stay_in_carriersearch_nphy(pi, true);
27549 if (pi->sh->sromrev < 4) {
27550 txpi[0] = txpi[1] = 72;
27553 chan_freq_range = wlc_phy_get_chan_freq_range_nphy(pi, 0);
27554 switch (chan_freq_range) {
27555 case WL_CHAN_FREQ_RANGE_2G:
27556 txpi[0] = pi->nphy_txpid2g[0];
27557 txpi[1] = pi->nphy_txpid2g[1];
27559 case WL_CHAN_FREQ_RANGE_5GL:
27560 txpi[0] = pi->nphy_txpid5gl[0];
27561 txpi[1] = pi->nphy_txpid5gl[1];
27563 case WL_CHAN_FREQ_RANGE_5GM:
27564 txpi[0] = pi->nphy_txpid5g[0];
27565 txpi[1] = pi->nphy_txpid5g[1];
27567 case WL_CHAN_FREQ_RANGE_5GH:
27568 txpi[0] = pi->nphy_txpid5gh[0];
27569 txpi[1] = pi->nphy_txpid5gh[1];
27572 txpi[0] = txpi[1] = 91;
27577 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27578 txpi[0] = txpi[1] = 30;
27579 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27580 txpi[0] = txpi[1] = 40;
27583 if (NREV_LT(pi->pubpi.phy_rev, 7)) {
27585 if ((txpi[0] < 40) || (txpi[0] > 100) ||
27586 (txpi[1] < 40) || (txpi[1] > 100))
27587 txpi[0] = txpi[1] = 91;
27590 pi->nphy_txpwrindex[PHY_CORE_0].index_internal = txpi[0];
27591 pi->nphy_txpwrindex[PHY_CORE_1].index_internal = txpi[1];
27592 pi->nphy_txpwrindex[PHY_CORE_0].index_internal_save = txpi[0];
27593 pi->nphy_txpwrindex[PHY_CORE_1].index_internal_save = txpi[1];
27595 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
27596 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27599 wlc_phy_get_ipa_gaintbl_nphy(pi);
27600 txgain = tx_gaintbl[txpi[core]];
27602 if (CHSPEC_IS5G(pi->radio_chanspec)) {
27604 (pi->pubpi.phy_rev, 3) {
27606 nphy_tpc_5GHz_txgain_rev3
27609 (pi->pubpi.phy_rev, 4) {
27611 (pi->srom_fem5g.extpagain ==
27613 nphy_tpc_5GHz_txgain_HiPwrEPA
27615 nphy_tpc_5GHz_txgain_rev4
27619 nphy_tpc_5GHz_txgain_rev5
27623 if (NREV_GE(pi->pubpi.phy_rev, 5) &&
27624 (pi->srom_fem2g.extpagain == 3)) {
27626 nphy_tpc_txgain_HiPwrEPA
27630 nphy_tpc_txgain_rev3[txpi
27636 txgain = nphy_tpc_txgain[txpi[core]];
27639 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27640 rad_gain = (txgain >> 16) & ((1 << (32 - 16 + 1)) - 1);
27642 rad_gain = (txgain >> 16) & ((1 << (28 - 16 + 1)) - 1);
27645 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27646 dac_gain = (txgain >> 8) & ((1 << (10 - 8 + 1)) - 1);
27648 dac_gain = (txgain >> 8) & ((1 << (13 - 8 + 1)) - 1);
27650 bbmult = (txgain >> 0) & ((1 << (7 - 0 + 1)) - 1);
27652 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27653 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0x8f :
27654 0xa5), (0x1 << 8), (0x1 << 8));
27656 mod_phy_reg(pi, 0xa5, (0x1 << 14), (0x1 << 14));
27658 write_phy_reg(pi, (core == PHY_CORE_0) ? 0xaa : 0xab, dac_gain);
27660 wlc_phy_table_write_nphy(pi, 7, 1, (0x110 + core), 16,
27663 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m1m2);
27664 m1m2 &= ((core == PHY_CORE_0) ? 0x00ff : 0xff00);
27665 m1m2 |= ((core == PHY_CORE_0) ? (bbmult << 8) : (bbmult << 0));
27666 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &m1m2);
27669 wlc_phy_table_read_nphy(pi,
27672 NPHY_TBL_ID_CORE1TXPWRCTL :
27673 NPHY_TBL_ID_CORE2TXPWRCTL), 1,
27674 576 + txpi[core], 32,
27677 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
27678 0x29b, (0x1ff << 4),
27679 ((s16) rfpwr_offset) << 4);
27681 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
27682 0x29b, (0x1 << 2), (1) << 2);
27687 and_phy_reg(pi, 0xbf, (u16) (~(0x1f << 0)));
27689 if (pi->phyhang_avoid)
27690 wlc_phy_stay_in_carriersearch_nphy(pi, false);
27694 wlc_phy_txpwr_nphy_srom_convert(u8 *srom_max, u16 *pwr_offset,
27695 u8 tmp_max_pwr, u8 rate_start,
27699 u8 word_num, nibble_num;
27702 for (rate = rate_start; rate <= rate_end; rate++) {
27703 word_num = (rate - rate_start) >> 2;
27704 nibble_num = (rate - rate_start) & 0x3;
27705 tmp_nibble = (pwr_offset[word_num] >> 4 * nibble_num) & 0xf;
27707 srom_max[rate] = tmp_max_pwr - 2 * tmp_nibble;
27712 wlc_phy_txpwr_nphy_po_apply(u8 *srom_max, u8 pwr_offset,
27713 u8 rate_start, u8 rate_end)
27717 for (rate = rate_start; rate <= rate_end; rate++) {
27718 srom_max[rate] -= 2 * pwr_offset;
27723 wlc_phy_ofdm_to_mcs_powers_nphy(u8 *power, u8 rate_mcs_start,
27724 u8 rate_mcs_end, u8 rate_ofdm_start)
27728 rate2 = rate_ofdm_start;
27729 for (rate1 = rate_mcs_start; rate1 <= rate_mcs_end - 1; rate1++) {
27730 power[rate1] = power[rate2];
27731 rate2 += (rate1 == rate_mcs_start) ? 2 : 1;
27733 power[rate_mcs_end] = power[rate_mcs_end - 1];
27737 wlc_phy_mcs_to_ofdm_powers_nphy(u8 *power, u8 rate_ofdm_start,
27738 u8 rate_ofdm_end, u8 rate_mcs_start)
27742 for (rate1 = rate_ofdm_start, rate2 = rate_mcs_start;
27743 rate1 <= rate_ofdm_end; rate1++, rate2++) {
27744 power[rate1] = power[rate2];
27745 if (rate1 == rate_ofdm_start)
27746 power[++rate1] = power[rate2];
27750 void wlc_phy_txpwr_apply_nphy(phy_info_t *pi)
27752 uint rate1, rate2, band_num;
27753 u8 tmp_bw40po = 0, tmp_cddpo = 0, tmp_stbcpo = 0;
27754 u8 tmp_max_pwr = 0;
27755 u16 pwr_offsets1[2], *pwr_offsets2 = NULL;
27756 u8 *tx_srom_max_rate = NULL;
27758 for (band_num = 0; band_num < (CH_2G_GROUP + CH_5G_GROUP); band_num++) {
27759 switch (band_num) {
27762 tmp_max_pwr = min(pi->nphy_pwrctrl_info[0].max_pwr_2g,
27763 pi->nphy_pwrctrl_info[1].max_pwr_2g);
27765 pwr_offsets1[0] = pi->cck2gpo;
27766 wlc_phy_txpwr_nphy_srom_convert(pi->tx_srom_max_rate_2g,
27772 pwr_offsets1[0] = (u16) (pi->ofdm2gpo & 0xffff);
27774 (u16) (pi->ofdm2gpo >> 16) & 0xffff;
27776 pwr_offsets2 = pi->mcs2gpo;
27778 tmp_cddpo = pi->cdd2gpo;
27779 tmp_stbcpo = pi->stbc2gpo;
27780 tmp_bw40po = pi->bw402gpo;
27782 tx_srom_max_rate = pi->tx_srom_max_rate_2g;
27786 tmp_max_pwr = min(pi->nphy_pwrctrl_info[0].max_pwr_5gm,
27787 pi->nphy_pwrctrl_info[1].max_pwr_5gm);
27789 pwr_offsets1[0] = (u16) (pi->ofdm5gpo & 0xffff);
27791 (u16) (pi->ofdm5gpo >> 16) & 0xffff;
27793 pwr_offsets2 = pi->mcs5gpo;
27795 tmp_cddpo = pi->cdd5gpo;
27796 tmp_stbcpo = pi->stbc5gpo;
27797 tmp_bw40po = pi->bw405gpo;
27799 tx_srom_max_rate = pi->tx_srom_max_rate_5g_mid;
27803 tmp_max_pwr = min(pi->nphy_pwrctrl_info[0].max_pwr_5gl,
27804 pi->nphy_pwrctrl_info[1].max_pwr_5gl);
27806 pwr_offsets1[0] = (u16) (pi->ofdm5glpo & 0xffff);
27808 (u16) (pi->ofdm5glpo >> 16) & 0xffff;
27810 pwr_offsets2 = pi->mcs5glpo;
27812 tmp_cddpo = pi->cdd5glpo;
27813 tmp_stbcpo = pi->stbc5glpo;
27814 tmp_bw40po = pi->bw405glpo;
27816 tx_srom_max_rate = pi->tx_srom_max_rate_5g_low;
27820 tmp_max_pwr = min(pi->nphy_pwrctrl_info[0].max_pwr_5gh,
27821 pi->nphy_pwrctrl_info[1].max_pwr_5gh);
27823 pwr_offsets1[0] = (u16) (pi->ofdm5ghpo & 0xffff);
27825 (u16) (pi->ofdm5ghpo >> 16) & 0xffff;
27827 pwr_offsets2 = pi->mcs5ghpo;
27829 tmp_cddpo = pi->cdd5ghpo;
27830 tmp_stbcpo = pi->stbc5ghpo;
27831 tmp_bw40po = pi->bw405ghpo;
27833 tx_srom_max_rate = pi->tx_srom_max_rate_5g_hi;
27837 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate, pwr_offsets1,
27838 tmp_max_pwr, TXP_FIRST_OFDM,
27841 wlc_phy_ofdm_to_mcs_powers_nphy(tx_srom_max_rate,
27842 TXP_FIRST_MCS_20_SISO,
27843 TXP_LAST_MCS_20_SISO,
27846 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate, pwr_offsets2,
27848 TXP_FIRST_MCS_20_CDD,
27849 TXP_LAST_MCS_20_CDD);
27851 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27853 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate, tmp_cddpo,
27854 TXP_FIRST_MCS_20_CDD,
27855 TXP_LAST_MCS_20_CDD);
27858 wlc_phy_mcs_to_ofdm_powers_nphy(tx_srom_max_rate,
27859 TXP_FIRST_OFDM_20_CDD,
27860 TXP_LAST_OFDM_20_CDD,
27861 TXP_FIRST_MCS_20_CDD);
27863 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate, pwr_offsets2,
27865 TXP_FIRST_MCS_20_STBC,
27866 TXP_LAST_MCS_20_STBC);
27868 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27870 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate,
27872 TXP_FIRST_MCS_20_STBC,
27873 TXP_LAST_MCS_20_STBC);
27876 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
27877 &pwr_offsets2[2], tmp_max_pwr,
27878 TXP_FIRST_MCS_20_SDM,
27879 TXP_LAST_MCS_20_SDM);
27881 if (NPHY_IS_SROM_REINTERPRET) {
27883 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
27886 TXP_FIRST_MCS_40_SISO,
27887 TXP_LAST_MCS_40_SISO);
27889 wlc_phy_mcs_to_ofdm_powers_nphy(tx_srom_max_rate,
27890 TXP_FIRST_OFDM_40_SISO,
27891 TXP_LAST_OFDM_40_SISO,
27892 TXP_FIRST_MCS_40_SISO);
27894 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
27897 TXP_FIRST_MCS_40_CDD,
27898 TXP_LAST_MCS_40_CDD);
27900 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate, tmp_cddpo,
27901 TXP_FIRST_MCS_40_CDD,
27902 TXP_LAST_MCS_40_CDD);
27904 wlc_phy_mcs_to_ofdm_powers_nphy(tx_srom_max_rate,
27905 TXP_FIRST_OFDM_40_CDD,
27906 TXP_LAST_OFDM_40_CDD,
27907 TXP_FIRST_MCS_40_CDD);
27909 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
27912 TXP_FIRST_MCS_40_STBC,
27913 TXP_LAST_MCS_40_STBC);
27915 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate,
27917 TXP_FIRST_MCS_40_STBC,
27918 TXP_LAST_MCS_40_STBC);
27920 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
27923 TXP_FIRST_MCS_40_SDM,
27924 TXP_LAST_MCS_40_SDM);
27927 for (rate1 = TXP_FIRST_OFDM_40_SISO, rate2 =
27928 TXP_FIRST_OFDM; rate1 <= TXP_LAST_MCS_40_SDM;
27930 tx_srom_max_rate[rate1] =
27931 tx_srom_max_rate[rate2];
27934 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27935 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate,
27937 TXP_FIRST_OFDM_40_SISO,
27938 TXP_LAST_MCS_40_SDM);
27941 tx_srom_max_rate[TXP_MCS_32] =
27942 tx_srom_max_rate[TXP_FIRST_MCS_40_CDD];
27948 static void wlc_phy_txpwr_srom_read_ppr_nphy(phy_info_t *pi)
27950 u16 bw40po, cddpo, stbcpo, bwduppo;
27953 if (pi->sh->sromrev >= 9) {
27958 bw40po = (u16) PHY_GETINTVAR(pi, "bw40po");
27959 pi->bw402gpo = bw40po & 0xf;
27960 pi->bw405gpo = (bw40po & 0xf0) >> 4;
27961 pi->bw405glpo = (bw40po & 0xf00) >> 8;
27962 pi->bw405ghpo = (bw40po & 0xf000) >> 12;
27964 cddpo = (u16) PHY_GETINTVAR(pi, "cddpo");
27965 pi->cdd2gpo = cddpo & 0xf;
27966 pi->cdd5gpo = (cddpo & 0xf0) >> 4;
27967 pi->cdd5glpo = (cddpo & 0xf00) >> 8;
27968 pi->cdd5ghpo = (cddpo & 0xf000) >> 12;
27970 stbcpo = (u16) PHY_GETINTVAR(pi, "stbcpo");
27971 pi->stbc2gpo = stbcpo & 0xf;
27972 pi->stbc5gpo = (stbcpo & 0xf0) >> 4;
27973 pi->stbc5glpo = (stbcpo & 0xf00) >> 8;
27974 pi->stbc5ghpo = (stbcpo & 0xf000) >> 12;
27976 bwduppo = (u16) PHY_GETINTVAR(pi, "bwduppo");
27977 pi->bwdup2gpo = bwduppo & 0xf;
27978 pi->bwdup5gpo = (bwduppo & 0xf0) >> 4;
27979 pi->bwdup5glpo = (bwduppo & 0xf00) >> 8;
27980 pi->bwdup5ghpo = (bwduppo & 0xf000) >> 12;
27982 for (band_num = 0; band_num < (CH_2G_GROUP + CH_5G_GROUP); band_num++) {
27983 switch (band_num) {
27986 pi->nphy_txpid2g[PHY_CORE_0] =
27987 (u8) PHY_GETINTVAR(pi, "txpid2ga0");
27988 pi->nphy_txpid2g[PHY_CORE_1] =
27989 (u8) PHY_GETINTVAR(pi, "txpid2ga1");
27990 pi->nphy_pwrctrl_info[PHY_CORE_0].max_pwr_2g =
27991 (s8) PHY_GETINTVAR(pi, "maxp2ga0");
27992 pi->nphy_pwrctrl_info[PHY_CORE_1].max_pwr_2g =
27993 (s8) PHY_GETINTVAR(pi, "maxp2ga1");
27994 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_2g_a1 =
27995 (s16) PHY_GETINTVAR(pi, "pa2gw0a0");
27996 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_2g_a1 =
27997 (s16) PHY_GETINTVAR(pi, "pa2gw0a1");
27998 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_2g_b0 =
27999 (s16) PHY_GETINTVAR(pi, "pa2gw1a0");
28000 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_2g_b0 =
28001 (s16) PHY_GETINTVAR(pi, "pa2gw1a1");
28002 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_2g_b1 =
28003 (s16) PHY_GETINTVAR(pi, "pa2gw2a0");
28004 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_2g_b1 =
28005 (s16) PHY_GETINTVAR(pi, "pa2gw2a1");
28006 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_targ_2g =
28007 (s8) PHY_GETINTVAR(pi, "itt2ga0");
28008 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_targ_2g =
28009 (s8) PHY_GETINTVAR(pi, "itt2ga1");
28011 pi->cck2gpo = (u16) PHY_GETINTVAR(pi, "cck2gpo");
28013 pi->ofdm2gpo = (u32) PHY_GETINTVAR(pi, "ofdm2gpo");
28015 pi->mcs2gpo[0] = (u16) PHY_GETINTVAR(pi, "mcs2gpo0");
28016 pi->mcs2gpo[1] = (u16) PHY_GETINTVAR(pi, "mcs2gpo1");
28017 pi->mcs2gpo[2] = (u16) PHY_GETINTVAR(pi, "mcs2gpo2");
28018 pi->mcs2gpo[3] = (u16) PHY_GETINTVAR(pi, "mcs2gpo3");
28019 pi->mcs2gpo[4] = (u16) PHY_GETINTVAR(pi, "mcs2gpo4");
28020 pi->mcs2gpo[5] = (u16) PHY_GETINTVAR(pi, "mcs2gpo5");
28021 pi->mcs2gpo[6] = (u16) PHY_GETINTVAR(pi, "mcs2gpo6");
28022 pi->mcs2gpo[7] = (u16) PHY_GETINTVAR(pi, "mcs2gpo7");
28026 pi->nphy_txpid5g[PHY_CORE_0] =
28027 (u8) PHY_GETINTVAR(pi, "txpid5ga0");
28028 pi->nphy_txpid5g[PHY_CORE_1] =
28029 (u8) PHY_GETINTVAR(pi, "txpid5ga1");
28030 pi->nphy_pwrctrl_info[PHY_CORE_0].max_pwr_5gm =
28031 (s8) PHY_GETINTVAR(pi, "maxp5ga0");
28032 pi->nphy_pwrctrl_info[PHY_CORE_1].max_pwr_5gm =
28033 (s8) PHY_GETINTVAR(pi, "maxp5ga1");
28034 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_5gm_a1 =
28035 (s16) PHY_GETINTVAR(pi, "pa5gw0a0");
28036 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_5gm_a1 =
28037 (s16) PHY_GETINTVAR(pi, "pa5gw0a1");
28038 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_5gm_b0 =
28039 (s16) PHY_GETINTVAR(pi, "pa5gw1a0");
28040 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_5gm_b0 =
28041 (s16) PHY_GETINTVAR(pi, "pa5gw1a1");
28042 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_5gm_b1 =
28043 (s16) PHY_GETINTVAR(pi, "pa5gw2a0");
28044 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_5gm_b1 =
28045 (s16) PHY_GETINTVAR(pi, "pa5gw2a1");
28046 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_targ_5gm =
28047 (s8) PHY_GETINTVAR(pi, "itt5ga0");
28048 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_targ_5gm =
28049 (s8) PHY_GETINTVAR(pi, "itt5ga1");
28051 pi->ofdm5gpo = (u32) PHY_GETINTVAR(pi, "ofdm5gpo");
28053 pi->mcs5gpo[0] = (u16) PHY_GETINTVAR(pi, "mcs5gpo0");
28054 pi->mcs5gpo[1] = (u16) PHY_GETINTVAR(pi, "mcs5gpo1");
28055 pi->mcs5gpo[2] = (u16) PHY_GETINTVAR(pi, "mcs5gpo2");
28056 pi->mcs5gpo[3] = (u16) PHY_GETINTVAR(pi, "mcs5gpo3");
28057 pi->mcs5gpo[4] = (u16) PHY_GETINTVAR(pi, "mcs5gpo4");
28058 pi->mcs5gpo[5] = (u16) PHY_GETINTVAR(pi, "mcs5gpo5");
28059 pi->mcs5gpo[6] = (u16) PHY_GETINTVAR(pi, "mcs5gpo6");
28060 pi->mcs5gpo[7] = (u16) PHY_GETINTVAR(pi, "mcs5gpo7");
28064 pi->nphy_txpid5gl[0] =
28065 (u8) PHY_GETINTVAR(pi, "txpid5gla0");
28066 pi->nphy_txpid5gl[1] =
28067 (u8) PHY_GETINTVAR(pi, "txpid5gla1");
28068 pi->nphy_pwrctrl_info[0].max_pwr_5gl =
28069 (s8) PHY_GETINTVAR(pi, "maxp5gla0");
28070 pi->nphy_pwrctrl_info[1].max_pwr_5gl =
28071 (s8) PHY_GETINTVAR(pi, "maxp5gla1");
28072 pi->nphy_pwrctrl_info[0].pwrdet_5gl_a1 =
28073 (s16) PHY_GETINTVAR(pi, "pa5glw0a0");
28074 pi->nphy_pwrctrl_info[1].pwrdet_5gl_a1 =
28075 (s16) PHY_GETINTVAR(pi, "pa5glw0a1");
28076 pi->nphy_pwrctrl_info[0].pwrdet_5gl_b0 =
28077 (s16) PHY_GETINTVAR(pi, "pa5glw1a0");
28078 pi->nphy_pwrctrl_info[1].pwrdet_5gl_b0 =
28079 (s16) PHY_GETINTVAR(pi, "pa5glw1a1");
28080 pi->nphy_pwrctrl_info[0].pwrdet_5gl_b1 =
28081 (s16) PHY_GETINTVAR(pi, "pa5glw2a0");
28082 pi->nphy_pwrctrl_info[1].pwrdet_5gl_b1 =
28083 (s16) PHY_GETINTVAR(pi, "pa5glw2a1");
28084 pi->nphy_pwrctrl_info[0].idle_targ_5gl = 0;
28085 pi->nphy_pwrctrl_info[1].idle_targ_5gl = 0;
28087 pi->ofdm5glpo = (u32) PHY_GETINTVAR(pi, "ofdm5glpo");
28090 (u16) PHY_GETINTVAR(pi, "mcs5glpo0");
28092 (u16) PHY_GETINTVAR(pi, "mcs5glpo1");
28094 (u16) PHY_GETINTVAR(pi, "mcs5glpo2");
28096 (u16) PHY_GETINTVAR(pi, "mcs5glpo3");
28098 (u16) PHY_GETINTVAR(pi, "mcs5glpo4");
28100 (u16) PHY_GETINTVAR(pi, "mcs5glpo5");
28102 (u16) PHY_GETINTVAR(pi, "mcs5glpo6");
28104 (u16) PHY_GETINTVAR(pi, "mcs5glpo7");
28108 pi->nphy_txpid5gh[0] =
28109 (u8) PHY_GETINTVAR(pi, "txpid5gha0");
28110 pi->nphy_txpid5gh[1] =
28111 (u8) PHY_GETINTVAR(pi, "txpid5gha1");
28112 pi->nphy_pwrctrl_info[0].max_pwr_5gh =
28113 (s8) PHY_GETINTVAR(pi, "maxp5gha0");
28114 pi->nphy_pwrctrl_info[1].max_pwr_5gh =
28115 (s8) PHY_GETINTVAR(pi, "maxp5gha1");
28116 pi->nphy_pwrctrl_info[0].pwrdet_5gh_a1 =
28117 (s16) PHY_GETINTVAR(pi, "pa5ghw0a0");
28118 pi->nphy_pwrctrl_info[1].pwrdet_5gh_a1 =
28119 (s16) PHY_GETINTVAR(pi, "pa5ghw0a1");
28120 pi->nphy_pwrctrl_info[0].pwrdet_5gh_b0 =
28121 (s16) PHY_GETINTVAR(pi, "pa5ghw1a0");
28122 pi->nphy_pwrctrl_info[1].pwrdet_5gh_b0 =
28123 (s16) PHY_GETINTVAR(pi, "pa5ghw1a1");
28124 pi->nphy_pwrctrl_info[0].pwrdet_5gh_b1 =
28125 (s16) PHY_GETINTVAR(pi, "pa5ghw2a0");
28126 pi->nphy_pwrctrl_info[1].pwrdet_5gh_b1 =
28127 (s16) PHY_GETINTVAR(pi, "pa5ghw2a1");
28128 pi->nphy_pwrctrl_info[0].idle_targ_5gh = 0;
28129 pi->nphy_pwrctrl_info[1].idle_targ_5gh = 0;
28131 pi->ofdm5ghpo = (u32) PHY_GETINTVAR(pi, "ofdm5ghpo");
28134 (u16) PHY_GETINTVAR(pi, "mcs5ghpo0");
28136 (u16) PHY_GETINTVAR(pi, "mcs5ghpo1");
28138 (u16) PHY_GETINTVAR(pi, "mcs5ghpo2");
28140 (u16) PHY_GETINTVAR(pi, "mcs5ghpo3");
28142 (u16) PHY_GETINTVAR(pi, "mcs5ghpo4");
28144 (u16) PHY_GETINTVAR(pi, "mcs5ghpo5");
28146 (u16) PHY_GETINTVAR(pi, "mcs5ghpo6");
28148 (u16) PHY_GETINTVAR(pi, "mcs5ghpo7");
28153 wlc_phy_txpwr_apply_nphy(pi);
28156 static bool wlc_phy_txpwr_srom_read_nphy(phy_info_t *pi)
28159 pi->antswitch = (u8) PHY_GETINTVAR(pi, "antswitch");
28160 pi->aa2g = (u8) PHY_GETINTVAR(pi, "aa2g");
28161 pi->aa5g = (u8) PHY_GETINTVAR(pi, "aa5g");
28163 pi->srom_fem2g.tssipos = (u8) PHY_GETINTVAR(pi, "tssipos2g");
28164 pi->srom_fem2g.extpagain = (u8) PHY_GETINTVAR(pi, "extpagain2g");
28165 pi->srom_fem2g.pdetrange = (u8) PHY_GETINTVAR(pi, "pdetrange2g");
28166 pi->srom_fem2g.triso = (u8) PHY_GETINTVAR(pi, "triso2g");
28167 pi->srom_fem2g.antswctrllut = (u8) PHY_GETINTVAR(pi, "antswctl2g");
28169 pi->srom_fem5g.tssipos = (u8) PHY_GETINTVAR(pi, "tssipos5g");
28170 pi->srom_fem5g.extpagain = (u8) PHY_GETINTVAR(pi, "extpagain5g");
28171 pi->srom_fem5g.pdetrange = (u8) PHY_GETINTVAR(pi, "pdetrange5g");
28172 pi->srom_fem5g.triso = (u8) PHY_GETINTVAR(pi, "triso5g");
28173 if (PHY_GETVAR(pi, "antswctl5g")) {
28175 pi->srom_fem5g.antswctrllut =
28176 (u8) PHY_GETINTVAR(pi, "antswctl5g");
28179 pi->srom_fem5g.antswctrllut =
28180 (u8) PHY_GETINTVAR(pi, "antswctl2g");
28183 wlc_phy_txpower_ipa_upd(pi);
28185 pi->phy_txcore_disable_temp = (s16) PHY_GETINTVAR(pi, "tempthresh");
28186 if (pi->phy_txcore_disable_temp == 0) {
28187 pi->phy_txcore_disable_temp = PHY_CHAIN_TX_DISABLE_TEMP;
28190 pi->phy_tempsense_offset = (s8) PHY_GETINTVAR(pi, "tempoffset");
28191 if (pi->phy_tempsense_offset != 0) {
28192 if (pi->phy_tempsense_offset >
28193 (NPHY_SROM_TEMPSHIFT + NPHY_SROM_MAXTEMPOFFSET)) {
28194 pi->phy_tempsense_offset = NPHY_SROM_MAXTEMPOFFSET;
28195 } else if (pi->phy_tempsense_offset < (NPHY_SROM_TEMPSHIFT +
28196 NPHY_SROM_MINTEMPOFFSET)) {
28197 pi->phy_tempsense_offset = NPHY_SROM_MINTEMPOFFSET;
28199 pi->phy_tempsense_offset -= NPHY_SROM_TEMPSHIFT;
28203 pi->phy_txcore_enable_temp =
28204 pi->phy_txcore_disable_temp - PHY_HYSTERESIS_DELTATEMP;
28206 pi->phycal_tempdelta = (u8) PHY_GETINTVAR(pi, "phycal_tempdelta");
28207 if (pi->phycal_tempdelta > NPHY_CAL_MAXTEMPDELTA) {
28208 pi->phycal_tempdelta = 0;
28211 wlc_phy_txpwr_srom_read_ppr_nphy(pi);
28216 void wlc_phy_txpower_recalc_target_nphy(phy_info_t *pi)
28218 u8 tx_pwr_ctrl_state;
28219 wlc_phy_txpwr_limit_to_tbl_nphy(pi);
28220 wlc_phy_txpwrctrl_pwr_setup_nphy(pi);
28222 tx_pwr_ctrl_state = pi->nphy_txpwrctrl;
28224 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12)) {
28225 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, MCTL_PHYLOCK);
28226 (void)R_REG(pi->sh->osh, &pi->regs->maccontrol);
28230 wlc_phy_txpwrctrl_enable_nphy(pi, tx_pwr_ctrl_state);
28232 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12))
28233 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, 0);
28236 static void wlc_phy_txpwrctrl_coeff_setup_nphy(phy_info_t *pi)
28240 u32 iqcomp, locomp, curr_locomp;
28241 s8 locomp_i, locomp_q;
28242 s8 curr_locomp_i, curr_locomp_q;
28243 u32 tbl_id, tbl_len, tbl_offset;
28246 if (pi->phyhang_avoid)
28247 wlc_phy_stay_in_carriersearch_nphy(pi, true);
28249 wlc_phy_table_read_nphy(pi, 15, 7, 80, 16, iqloCalbuf);
28253 for (tbl_id = NPHY_TBL_ID_CORE1TXPWRCTL;
28254 tbl_id <= NPHY_TBL_ID_CORE2TXPWRCTL; tbl_id++) {
28257 26) ? (((u32) (iqloCalbuf[0] & 0x3ff)) << 10) |
28258 (iqloCalbuf[1] & 0x3ff)
28259 : (((u32) (iqloCalbuf[2] & 0x3ff)) << 10) |
28260 (iqloCalbuf[3] & 0x3ff);
28262 for (idx = 0; idx < tbl_len; idx++) {
28263 regval[idx] = iqcomp;
28265 wlc_phy_table_write_nphy(pi, tbl_id, tbl_len, tbl_offset, 32,
28270 for (tbl_id = NPHY_TBL_ID_CORE1TXPWRCTL;
28271 tbl_id <= NPHY_TBL_ID_CORE2TXPWRCTL; tbl_id++) {
28274 (u32) ((tbl_id == 26) ? iqloCalbuf[5] : iqloCalbuf[6]);
28275 locomp_i = (s8) ((locomp >> 8) & 0xff);
28276 locomp_q = (s8) ((locomp) & 0xff);
28277 for (idx = 0; idx < tbl_len; idx++) {
28278 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28279 curr_locomp_i = locomp_i;
28280 curr_locomp_q = locomp_q;
28282 curr_locomp_i = (s8) ((locomp_i *
28283 nphy_tpc_loscale[idx] +
28286 (s8) ((locomp_q * nphy_tpc_loscale[idx] +
28289 curr_locomp = (u32) ((curr_locomp_i & 0xff) << 8);
28290 curr_locomp |= (u32) (curr_locomp_q & 0xff);
28291 regval[idx] = curr_locomp;
28293 wlc_phy_table_write_nphy(pi, tbl_id, tbl_len, tbl_offset, 32,
28297 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
28299 wlapi_bmac_write_shm(pi->sh->physhim, M_CURR_IDX1, 0xFFFF);
28300 wlapi_bmac_write_shm(pi->sh->physhim, M_CURR_IDX2, 0xFFFF);
28303 if (pi->phyhang_avoid)
28304 wlc_phy_stay_in_carriersearch_nphy(pi, false);
28307 static void wlc_phy_ipa_internal_tssi_setup_nphy(phy_info_t *pi)
28311 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28312 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
28313 if (CHSPEC_IS2G(pi->radio_chanspec)) {
28314 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
28315 TX_SSI_MASTER, 0x5);
28316 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
28319 if (pi->pubpi.radiorev != 5)
28320 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
28323 if (!NREV_IS(pi->pubpi.phy_rev, 7)) {
28325 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
28329 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
28330 core, TSSIG, 0x31);
28333 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
28334 TX_SSI_MASTER, 0x9);
28335 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
28337 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
28340 if (pi->pubpi.radiorev != 5) {
28341 if (!NREV_IS(pi->pubpi.phy_rev, 7)) {
28343 WRITE_RADIO_REG3(pi, RADIO_2057,
28348 WRITE_RADIO_REG3(pi, RADIO_2057,
28354 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, IQCAL_VCM_HG,
28356 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, IQCAL_IDAC,
28358 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_VCM,
28360 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_MISC1,
28364 WRITE_RADIO_SYN(pi, RADIO_2056, RESERVED_ADDR31,
28365 (CHSPEC_IS2G(pi->radio_chanspec)) ? 0x128 :
28367 WRITE_RADIO_SYN(pi, RADIO_2056, RESERVED_ADDR30, 0x0);
28368 WRITE_RADIO_SYN(pi, RADIO_2056, GPIO_MASTER1, 0x29);
28370 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
28371 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, IQCAL_VCM_HG,
28373 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, IQCAL_IDAC,
28375 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TSSI_VCM,
28377 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TX_AMP_DET,
28379 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TSSI_MISC1,
28381 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TSSI_MISC2,
28383 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TSSI_MISC3,
28386 if (CHSPEC_IS2G(pi->radio_chanspec)) {
28387 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28388 TX_SSI_MASTER, 0x5);
28390 if (pi->pubpi.radiorev != 5)
28391 WRITE_RADIO_REG2(pi, RADIO_2056, TX,
28393 if (NREV_GE(pi->pubpi.phy_rev, 5)) {
28395 WRITE_RADIO_REG2(pi, RADIO_2056, TX,
28396 core, TSSIG, 0x31);
28398 WRITE_RADIO_REG2(pi, RADIO_2056, TX,
28399 core, TSSIG, 0x11);
28401 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28404 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28405 TX_SSI_MASTER, 0x9);
28406 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28408 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28410 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28417 static void wlc_phy_txpwrctrl_idle_tssi_nphy(phy_info_t *pi)
28422 if (SCAN_RM_IN_PROGRESS(pi) || PLT_INPROG_PHY(pi) || PHY_MUTED(pi))
28427 wlc_phy_ipa_internal_tssi_setup_nphy(pi);
28430 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28431 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 12),
28433 NPHY_REV7_RFCTRLOVERRIDE_ID0);
28434 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28435 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 13), 0, 3, 0);
28438 wlc_phy_stopplayback_nphy(pi);
28440 wlc_phy_tx_tone_nphy(pi, 4000, 0, 0, 0, false);
28444 wlc_phy_poll_rssi_nphy(pi, (u8) NPHY_RSSI_SEL_TSSI_2G, rssi_buf,
28446 wlc_phy_stopplayback_nphy(pi);
28447 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_OFF, 0);
28449 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28450 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 12),
28452 NPHY_REV7_RFCTRLOVERRIDE_ID0);
28453 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28454 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 13), 0, 3, 1);
28457 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28459 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_tssi_2g =
28460 (u8) ((int_val >> 24) & 0xff);
28461 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_tssi_5g =
28462 (u8) ((int_val >> 24) & 0xff);
28464 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_tssi_2g =
28465 (u8) ((int_val >> 8) & 0xff);
28466 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_tssi_5g =
28467 (u8) ((int_val >> 8) & 0xff);
28469 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_tssi_2g =
28470 (u8) ((int_val >> 24) & 0xff);
28472 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_tssi_2g =
28473 (u8) ((int_val >> 8) & 0xff);
28475 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_tssi_5g =
28476 (u8) ((int_val >> 16) & 0xff);
28477 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_tssi_5g =
28478 (u8) ((int_val) & 0xff);
28483 static void wlc_phy_txpwrctrl_pwr_setup_nphy(phy_info_t *pi)
28486 s16 a1[2], b0[2], b1[2];
28487 s8 target_pwr_qtrdbm[2];
28488 s32 num, den, pwr_est;
28489 u8 chan_freq_range;
28491 u32 tbl_id, tbl_len, tbl_offset;
28495 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12)) {
28496 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, MCTL_PHYLOCK);
28497 (void)R_REG(pi->sh->osh, &pi->regs->maccontrol);
28501 if (pi->phyhang_avoid)
28502 wlc_phy_stay_in_carriersearch_nphy(pi, true);
28504 or_phy_reg(pi, 0x122, (0x1 << 0));
28506 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28507 and_phy_reg(pi, 0x1e7, (u16) (~(0x1 << 15)));
28510 or_phy_reg(pi, 0x1e7, (0x1 << 15));
28513 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12))
28514 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, 0);
28516 if (pi->sh->sromrev < 4) {
28517 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_2g;
28518 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_2g;
28519 target_pwr_qtrdbm[0] = 13 * 4;
28520 target_pwr_qtrdbm[1] = 13 * 4;
28529 chan_freq_range = wlc_phy_get_chan_freq_range_nphy(pi, 0);
28530 switch (chan_freq_range) {
28531 case WL_CHAN_FREQ_RANGE_2G:
28532 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_2g;
28533 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_2g;
28534 target_pwr_qtrdbm[0] =
28535 pi->nphy_pwrctrl_info[0].max_pwr_2g;
28536 target_pwr_qtrdbm[1] =
28537 pi->nphy_pwrctrl_info[1].max_pwr_2g;
28538 a1[0] = pi->nphy_pwrctrl_info[0].pwrdet_2g_a1;
28539 a1[1] = pi->nphy_pwrctrl_info[1].pwrdet_2g_a1;
28540 b0[0] = pi->nphy_pwrctrl_info[0].pwrdet_2g_b0;
28541 b0[1] = pi->nphy_pwrctrl_info[1].pwrdet_2g_b0;
28542 b1[0] = pi->nphy_pwrctrl_info[0].pwrdet_2g_b1;
28543 b1[1] = pi->nphy_pwrctrl_info[1].pwrdet_2g_b1;
28545 case WL_CHAN_FREQ_RANGE_5GL:
28546 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_5g;
28547 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_5g;
28548 target_pwr_qtrdbm[0] =
28549 pi->nphy_pwrctrl_info[0].max_pwr_5gl;
28550 target_pwr_qtrdbm[1] =
28551 pi->nphy_pwrctrl_info[1].max_pwr_5gl;
28552 a1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gl_a1;
28553 a1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gl_a1;
28554 b0[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gl_b0;
28555 b0[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gl_b0;
28556 b1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gl_b1;
28557 b1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gl_b1;
28559 case WL_CHAN_FREQ_RANGE_5GM:
28560 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_5g;
28561 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_5g;
28562 target_pwr_qtrdbm[0] =
28563 pi->nphy_pwrctrl_info[0].max_pwr_5gm;
28564 target_pwr_qtrdbm[1] =
28565 pi->nphy_pwrctrl_info[1].max_pwr_5gm;
28566 a1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gm_a1;
28567 a1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gm_a1;
28568 b0[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gm_b0;
28569 b0[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gm_b0;
28570 b1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gm_b1;
28571 b1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gm_b1;
28573 case WL_CHAN_FREQ_RANGE_5GH:
28574 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_5g;
28575 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_5g;
28576 target_pwr_qtrdbm[0] =
28577 pi->nphy_pwrctrl_info[0].max_pwr_5gh;
28578 target_pwr_qtrdbm[1] =
28579 pi->nphy_pwrctrl_info[1].max_pwr_5gh;
28580 a1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gh_a1;
28581 a1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gh_a1;
28582 b0[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gh_b0;
28583 b0[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gh_b0;
28584 b1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gh_b1;
28585 b1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gh_b1;
28588 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_2g;
28589 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_2g;
28590 target_pwr_qtrdbm[0] = 13 * 4;
28591 target_pwr_qtrdbm[1] = 13 * 4;
28602 target_pwr_qtrdbm[0] = (s8) pi->tx_power_max;
28603 target_pwr_qtrdbm[1] = (s8) pi->tx_power_max;
28605 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28606 if (pi->srom_fem2g.tssipos) {
28607 or_phy_reg(pi, 0x1e9, (0x1 << 14));
28610 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28611 for (core = 0; core <= 1; core++) {
28614 if (CHSPEC_IS2G(pi->radio_chanspec)) {
28615 WRITE_RADIO_REG3(pi, RADIO_2057,
28620 WRITE_RADIO_REG3(pi, RADIO_2057,
28631 write_radio_reg(pi, RADIO_2056_TX_TX_SSI_MUX |
28635 radio_chanspec)) ? 0xc : 0xe);
28636 write_radio_reg(pi,
28637 RADIO_2056_TX_TX_SSI_MUX |
28641 radio_chanspec)) ? 0xc : 0xe);
28644 write_radio_reg(pi, RADIO_2056_TX_TX_SSI_MUX |
28645 RADIO_2056_TX0, 0x11);
28646 write_radio_reg(pi, RADIO_2056_TX_TX_SSI_MUX |
28647 RADIO_2056_TX1, 0x11);
28652 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12)) {
28653 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, MCTL_PHYLOCK);
28654 (void)R_REG(pi->sh->osh, &pi->regs->maccontrol);
28658 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28659 mod_phy_reg(pi, 0x1e7, (0x7f << 0),
28660 (NPHY_TxPwrCtrlCmd_pwrIndex_init_rev7 << 0));
28662 mod_phy_reg(pi, 0x1e7, (0x7f << 0),
28663 (NPHY_TxPwrCtrlCmd_pwrIndex_init << 0));
28666 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28667 mod_phy_reg(pi, 0x222, (0xff << 0),
28668 (NPHY_TxPwrCtrlCmd_pwrIndex_init_rev7 << 0));
28669 } else if (NREV_GT(pi->pubpi.phy_rev, 1)) {
28670 mod_phy_reg(pi, 0x222, (0xff << 0),
28671 (NPHY_TxPwrCtrlCmd_pwrIndex_init << 0));
28674 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12))
28675 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, 0);
28677 write_phy_reg(pi, 0x1e8, (0x3 << 8) | (240 << 0));
28679 write_phy_reg(pi, 0x1e9,
28680 (1 << 15) | (idle_tssi[0] << 0) | (idle_tssi[1] << 8));
28682 write_phy_reg(pi, 0x1ea,
28683 (target_pwr_qtrdbm[0] << 0) |
28684 (target_pwr_qtrdbm[1] << 8));
28688 for (tbl_id = NPHY_TBL_ID_CORE1TXPWRCTL;
28689 tbl_id <= NPHY_TBL_ID_CORE2TXPWRCTL; tbl_id++) {
28691 for (idx = 0; idx < tbl_len; idx++) {
28693 8 * (16 * b0[tbl_id - 26] + b1[tbl_id - 26] * idx);
28694 den = 32768 + a1[tbl_id - 26] * idx;
28695 pwr_est = max(((4 * num + den / 2) / den), -8);
28696 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
28698 (uint) (31 - idle_tssi[tbl_id - 26] + 1))
28701 target_pwr_qtrdbm[tbl_id - 26] +
28704 regval[idx] = (u32) pwr_est;
28706 wlc_phy_table_write_nphy(pi, tbl_id, tbl_len, tbl_offset, 32,
28710 wlc_phy_txpwr_limit_to_tbl_nphy(pi);
28711 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 84, 64, 8,
28712 pi->adj_pwr_tbl_nphy);
28713 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 84, 64, 8,
28714 pi->adj_pwr_tbl_nphy);
28716 if (pi->phyhang_avoid)
28717 wlc_phy_stay_in_carriersearch_nphy(pi, false);
28720 static bool wlc_phy_txpwr_ison_nphy(phy_info_t *pi)
28722 return read_phy_reg((pi), 0x1e7) & ((0x1 << 15) |
28723 (0x1 << 14) | (0x1 << 13));
28726 static u8 wlc_phy_txpwr_idx_cur_get_nphy(phy_info_t *pi, u8 core)
28729 tmp = read_phy_reg(pi, ((core == PHY_CORE_0) ? 0x1ed : 0x1ee));
28731 tmp = (tmp & (0x7f << 8)) >> 8;
28736 wlc_phy_txpwr_idx_cur_set_nphy(phy_info_t *pi, u8 idx0, u8 idx1)
28738 mod_phy_reg(pi, 0x1e7, (0x7f << 0), idx0);
28740 if (NREV_GT(pi->pubpi.phy_rev, 1))
28741 mod_phy_reg(pi, 0x222, (0xff << 0), idx1);
28744 u16 wlc_phy_txpwr_idx_get_nphy(phy_info_t *pi)
28749 if (wlc_phy_txpwr_ison_nphy(pi)) {
28750 pwr_idx[0] = wlc_phy_txpwr_idx_cur_get_nphy(pi, PHY_CORE_0);
28751 pwr_idx[1] = wlc_phy_txpwr_idx_cur_get_nphy(pi, PHY_CORE_1);
28753 tmp = (pwr_idx[0] << 8) | pwr_idx[1];
28756 ((pi->nphy_txpwrindex[PHY_CORE_0].
28757 index_internal & 0xff) << 8) | (pi->
28760 index_internal & 0xff);
28766 void wlc_phy_txpwr_papd_cal_nphy(phy_info_t *pi)
28769 && (pi->nphy_force_papd_cal
28770 || (wlc_phy_txpwr_ison_nphy(pi)
28773 ABS(wlc_phy_txpwr_idx_cur_get_nphy(pi, 0) -
28774 pi->nphy_papd_tx_gain_at_last_cal[0]) >= 4)
28776 ABS(wlc_phy_txpwr_idx_cur_get_nphy(pi, 1) -
28777 pi->nphy_papd_tx_gain_at_last_cal[1]) >= 4))))) {
28778 wlc_phy_a4(pi, true);
28782 void wlc_phy_txpwrctrl_enable_nphy(phy_info_t *pi, u8 ctrl_type)
28784 u16 mask = 0, val = 0, ishw = 0;
28791 if (pi->phyhang_avoid)
28792 wlc_phy_stay_in_carriersearch_nphy(pi, true);
28794 switch (ctrl_type) {
28795 case PHY_TPC_HW_OFF:
28796 case PHY_TPC_HW_ON:
28797 pi->nphy_txpwrctrl = ctrl_type;
28803 if (ctrl_type == PHY_TPC_HW_OFF) {
28804 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28806 if (wlc_phy_txpwr_ison_nphy(pi)) {
28807 for (core = 0; core < pi->pubpi.phy_corenum;
28809 pi->nphy_txpwr_idx[core] =
28810 wlc_phy_txpwr_idx_cur_get_nphy(pi,
28819 for (ctr = 0; ctr < tbl_len; ctr++) {
28822 wlc_phy_table_write_nphy(pi, 26, tbl_len, tbl_offset, 16,
28824 wlc_phy_table_write_nphy(pi, 27, tbl_len, tbl_offset, 16,
28827 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28829 and_phy_reg(pi, 0x1e7,
28830 (u16) (~((0x1 << 15) |
28831 (0x1 << 14) | (0x1 << 13))));
28833 and_phy_reg(pi, 0x1e7,
28834 (u16) (~((0x1 << 14) | (0x1 << 13))));
28837 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28838 or_phy_reg(pi, 0x8f, (0x1 << 8));
28839 or_phy_reg(pi, 0xa5, (0x1 << 8));
28841 or_phy_reg(pi, 0xa5, (0x1 << 14));
28844 if (NREV_IS(pi->pubpi.phy_rev, 2))
28845 mod_phy_reg(pi, 0xdc, 0x00ff, 0x53);
28846 else if (NREV_LT(pi->pubpi.phy_rev, 2))
28847 mod_phy_reg(pi, 0xdc, 0x00ff, 0x5a);
28849 if (NREV_LT(pi->pubpi.phy_rev, 2) && IS40MHZ(pi))
28850 wlapi_bmac_mhf(pi->sh->physhim, MHF1, MHF1_IQSWAP_WAR,
28851 MHF1_IQSWAP_WAR, WLC_BAND_ALL);
28855 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 84, 64,
28856 8, pi->adj_pwr_tbl_nphy);
28857 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 84, 64,
28858 8, pi->adj_pwr_tbl_nphy);
28860 ishw = (ctrl_type == PHY_TPC_HW_ON) ? 0x1 : 0x0;
28861 mask = (0x1 << 14) | (0x1 << 13);
28862 val = (ishw << 14) | (ishw << 13);
28864 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28865 mask |= (0x1 << 15);
28866 val |= (ishw << 15);
28869 mod_phy_reg(pi, 0x1e7, mask, val);
28871 if (CHSPEC_IS5G(pi->radio_chanspec)) {
28872 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28873 mod_phy_reg(pi, 0x1e7, (0x7f << 0), 0x32);
28874 mod_phy_reg(pi, 0x222, (0xff << 0), 0x32);
28876 mod_phy_reg(pi, 0x1e7, (0x7f << 0), 0x64);
28877 if (NREV_GT(pi->pubpi.phy_rev, 1))
28878 mod_phy_reg(pi, 0x222,
28879 (0xff << 0), 0x64);
28883 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28884 if ((pi->nphy_txpwr_idx[0] != 128)
28885 && (pi->nphy_txpwr_idx[1] != 128)) {
28886 wlc_phy_txpwr_idx_cur_set_nphy(pi,
28896 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28897 and_phy_reg(pi, 0x8f, ~(0x1 << 8));
28898 and_phy_reg(pi, 0xa5, ~(0x1 << 8));
28900 and_phy_reg(pi, 0xa5, ~(0x1 << 14));
28903 if (NREV_IS(pi->pubpi.phy_rev, 2))
28904 mod_phy_reg(pi, 0xdc, 0x00ff, 0x3b);
28905 else if (NREV_LT(pi->pubpi.phy_rev, 2))
28906 mod_phy_reg(pi, 0xdc, 0x00ff, 0x40);
28908 if (NREV_LT(pi->pubpi.phy_rev, 2) && IS40MHZ(pi))
28909 wlapi_bmac_mhf(pi->sh->physhim, MHF1, MHF1_IQSWAP_WAR,
28910 0x0, WLC_BAND_ALL);
28913 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x297 :
28914 0x29b, (0x1 << 2), (0) << 2);
28916 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x297 :
28917 0x29b, (0x1 << 2), (0) << 2);
28923 if (pi->phyhang_avoid)
28924 wlc_phy_stay_in_carriersearch_nphy(pi, false);
28928 wlc_phy_txpwr_index_nphy(phy_info_t *pi, u8 core_mask, s8 txpwrindex,
28931 u8 core, txpwrctl_tbl;
28932 u16 tx_ind0, iq_ind0, lo_ind0;
28935 u16 rad_gain, dac_gain;
28938 u16 iqcomp_a, iqcomp_b;
28941 u8 tx_pwr_ctrl_state;
28945 if (pi->phyhang_avoid)
28946 wlc_phy_stay_in_carriersearch_nphy(pi, true);
28952 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
28954 if ((core_mask & (1 << core)) == 0) {
28958 txpwrctl_tbl = (core == PHY_CORE_0) ? 26 : 27;
28960 if (txpwrindex < 0) {
28961 if (pi->nphy_txpwrindex[core].index < 0) {
28966 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28967 mod_phy_reg(pi, 0x8f,
28969 pi->nphy_txpwrindex[core].
28971 mod_phy_reg(pi, 0xa5, (0x1 << 8),
28972 pi->nphy_txpwrindex[core].
28975 mod_phy_reg(pi, 0xa5,
28977 pi->nphy_txpwrindex[core].
28981 write_phy_reg(pi, (core == PHY_CORE_0) ?
28983 pi->nphy_txpwrindex[core].AfeCtrlDacGain);
28985 wlc_phy_table_write_nphy(pi, 7, 1, (0x110 + core), 16,
28986 &pi->nphy_txpwrindex[core].
28989 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m1m2);
28990 m1m2 &= ((core == PHY_CORE_0) ? 0x00ff : 0xff00);
28991 m1m2 |= ((core == PHY_CORE_0) ?
28992 (pi->nphy_txpwrindex[core].bbmult << 8) :
28993 (pi->nphy_txpwrindex[core].bbmult << 0));
28994 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &m1m2);
28996 if (restore_cals) {
28998 wlc_phy_table_write_nphy(pi, 15, 2,
28999 (80 + 2 * core), 16,
29001 nphy_txpwrindex[core].
29004 wlc_phy_table_write_nphy(pi, 15, 1, (85 + core),
29007 nphy_txpwrindex[core].
29009 wlc_phy_table_write_nphy(pi, 15, 1, (93 + core),
29012 nphy_txpwrindex[core].
29016 wlc_phy_txpwrctrl_enable_nphy(pi, pi->nphy_txpwrctrl);
29018 pi->nphy_txpwrindex[core].index_internal =
29019 pi->nphy_txpwrindex[core].index_internal_save;
29022 if (pi->nphy_txpwrindex[core].index < 0) {
29024 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
29025 mod_phy_reg(pi, 0x8f,
29027 pi->nphy_txpwrindex[core].
29029 mod_phy_reg(pi, 0xa5, (0x1 << 8),
29030 pi->nphy_txpwrindex[core].
29033 pi->nphy_txpwrindex[core].
29035 read_phy_reg(pi, 0xa5);
29038 pi->nphy_txpwrindex[core].AfeCtrlDacGain =
29041 PHY_CORE_0) ? 0xaa : 0xab);
29043 wlc_phy_table_read_nphy(pi, 7, 1,
29044 (0x110 + core), 16,
29046 nphy_txpwrindex[core].
29049 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16,
29051 tmpval >>= ((core == PHY_CORE_0) ? 8 : 0);
29053 pi->nphy_txpwrindex[core].bbmult =
29056 wlc_phy_table_read_nphy(pi, 15, 2,
29057 (80 + 2 * core), 16,
29059 nphy_txpwrindex[core].
29062 wlc_phy_table_read_nphy(pi, 15, 1, (85 + core),
29065 nphy_txpwrindex[core].
29068 pi->nphy_txpwrindex[core].index_internal_save =
29069 pi->nphy_txpwrindex[core].index_internal;
29072 tx_pwr_ctrl_state = pi->nphy_txpwrctrl;
29073 wlc_phy_txpwrctrl_enable_nphy(pi, PHY_TPC_HW_OFF);
29075 if (NREV_IS(pi->pubpi.phy_rev, 1))
29076 wlapi_bmac_phyclk_fgc(pi->sh->physhim, ON);
29078 wlc_phy_table_read_nphy(pi, txpwrctl_tbl, 1,
29079 (tx_ind0 + txpwrindex), 32,
29082 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
29084 (txgain >> 16) & ((1 << (32 - 16 + 1)) - 1);
29087 (txgain >> 16) & ((1 << (28 - 16 + 1)) - 1);
29089 dac_gain = (txgain >> 8) & ((1 << (13 - 8 + 1)) - 1);
29090 bbmult = (txgain >> 0) & ((1 << (7 - 0 + 1)) - 1);
29092 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
29093 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0x8f :
29094 0xa5), (0x1 << 8), (0x1 << 8));
29096 mod_phy_reg(pi, 0xa5, (0x1 << 14), (0x1 << 14));
29098 write_phy_reg(pi, (core == PHY_CORE_0) ?
29099 0xaa : 0xab, dac_gain);
29101 wlc_phy_table_write_nphy(pi, 7, 1, (0x110 + core), 16,
29104 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m1m2);
29105 m1m2 &= ((core == PHY_CORE_0) ? 0x00ff : 0xff00);
29108 PHY_CORE_0) ? (bbmult << 8) : (bbmult << 0));
29110 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &m1m2);
29112 wlc_phy_table_read_nphy(pi, txpwrctl_tbl, 1,
29113 (iq_ind0 + txpwrindex), 32,
29115 iqcomp_a = (iqcomp >> 10) & ((1 << (19 - 10 + 1)) - 1);
29116 iqcomp_b = (iqcomp >> 0) & ((1 << (9 - 0 + 1)) - 1);
29118 if (restore_cals) {
29119 regval[0] = (u16) iqcomp_a;
29120 regval[1] = (u16) iqcomp_b;
29121 wlc_phy_table_write_nphy(pi, 15, 2,
29122 (80 + 2 * core), 16,
29126 wlc_phy_table_read_nphy(pi, txpwrctl_tbl, 1,
29127 (lo_ind0 + txpwrindex), 32,
29129 if (restore_cals) {
29130 wlc_phy_table_write_nphy(pi, 15, 1, (85 + core),
29134 if (NREV_IS(pi->pubpi.phy_rev, 1))
29135 wlapi_bmac_phyclk_fgc(pi->sh->physhim, OFF);
29138 wlc_phy_table_read_nphy(pi,
29141 NPHY_TBL_ID_CORE1TXPWRCTL
29143 NPHY_TBL_ID_CORE2TXPWRCTL),
29144 1, 576 + txpwrindex, 32,
29147 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
29148 0x29b, (0x1ff << 4),
29149 ((s16) rfpwr_offset) << 4);
29151 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
29152 0x29b, (0x1 << 2), (1) << 2);
29156 wlc_phy_txpwrctrl_enable_nphy(pi, tx_pwr_ctrl_state);
29159 pi->nphy_txpwrindex[core].index = txpwrindex;
29162 if (pi->phyhang_avoid)
29163 wlc_phy_stay_in_carriersearch_nphy(pi, false);
29167 wlc_phy_txpower_sromlimit_get_nphy(phy_info_t *pi, uint chan, u8 *max_pwr,
29170 u8 chan_freq_range;
29172 chan_freq_range = wlc_phy_get_chan_freq_range_nphy(pi, chan);
29173 switch (chan_freq_range) {
29174 case WL_CHAN_FREQ_RANGE_2G:
29175 *max_pwr = pi->tx_srom_max_rate_2g[txp_rate_idx];
29177 case WL_CHAN_FREQ_RANGE_5GM:
29178 *max_pwr = pi->tx_srom_max_rate_5g_mid[txp_rate_idx];
29180 case WL_CHAN_FREQ_RANGE_5GL:
29181 *max_pwr = pi->tx_srom_max_rate_5g_low[txp_rate_idx];
29183 case WL_CHAN_FREQ_RANGE_5GH:
29184 *max_pwr = pi->tx_srom_max_rate_5g_hi[txp_rate_idx];
29188 *max_pwr = pi->tx_srom_max_rate_2g[txp_rate_idx];
29195 void wlc_phy_stay_in_carriersearch_nphy(phy_info_t *pi, bool enable)
29197 u16 clip_off[] = { 0xffff, 0xffff };
29199 ASSERT(0 == (R_REG(pi->sh->osh, &pi->regs->maccontrol) & MCTL_EN_MAC));
29202 if (pi->nphy_deaf_count == 0) {
29203 pi->classifier_state =
29204 wlc_phy_classifier_nphy(pi, 0, 0);
29205 wlc_phy_classifier_nphy(pi, (0x7 << 0), 4);
29206 wlc_phy_clip_det_nphy(pi, 0, pi->clip_state);
29207 wlc_phy_clip_det_nphy(pi, 1, clip_off);
29210 pi->nphy_deaf_count++;
29212 wlc_phy_resetcca_nphy(pi);
29215 ASSERT(pi->nphy_deaf_count > 0);
29217 pi->nphy_deaf_count--;
29219 if (pi->nphy_deaf_count == 0) {
29220 wlc_phy_classifier_nphy(pi, (0x7 << 0),
29221 pi->classifier_state);
29222 wlc_phy_clip_det_nphy(pi, 1, pi->clip_state);
29227 void wlc_nphy_deaf_mode(phy_info_t *pi, bool mode)
29229 wlapi_suspend_mac_and_wait(pi->sh->physhim);
29232 if (pi->nphy_deaf_count == 0)
29233 wlc_phy_stay_in_carriersearch_nphy(pi, true);
29235 if (pi->nphy_deaf_count > 0)
29236 wlc_phy_stay_in_carriersearch_nphy(pi, false);
29238 wlapi_enable_mac(pi->sh->physhim);