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>
30 #include <wlc_phy_radio.h>
31 #include <wlc_phy_int.h>
32 #include <wlc_phyreg_n.h>
33 #include <wlc_phytbl_n.h>
35 #define READ_RADIO_REG2(pi, radio_type, jspace, core, reg_name) \
36 read_radio_reg(pi, radio_type##_##jspace##_##reg_name | \
37 ((core == PHY_CORE_0) ? radio_type##_##jspace##0 : radio_type##_##jspace##1))
38 #define WRITE_RADIO_REG2(pi, radio_type, jspace, core, reg_name, value) \
39 write_radio_reg(pi, radio_type##_##jspace##_##reg_name | \
40 ((core == PHY_CORE_0) ? radio_type##_##jspace##0 : radio_type##_##jspace##1), value);
41 #define WRITE_RADIO_SYN(pi, radio_type, reg_name, value) \
42 write_radio_reg(pi, radio_type##_##SYN##_##reg_name, value);
44 #define READ_RADIO_REG3(pi, radio_type, jspace, core, reg_name) \
45 read_radio_reg(pi, ((core == PHY_CORE_0) ? radio_type##_##jspace##0##_##reg_name : \
46 radio_type##_##jspace##1##_##reg_name));
47 #define WRITE_RADIO_REG3(pi, radio_type, jspace, core, reg_name, value) \
48 write_radio_reg(pi, ((core == PHY_CORE_0) ? radio_type##_##jspace##0##_##reg_name : \
49 radio_type##_##jspace##1##_##reg_name), value);
50 #define READ_RADIO_REG4(pi, radio_type, jspace, core, reg_name) \
51 read_radio_reg(pi, ((core == PHY_CORE_0) ? radio_type##_##reg_name##_##jspace##0 : \
52 radio_type##_##reg_name##_##jspace##1));
53 #define WRITE_RADIO_REG4(pi, radio_type, jspace, core, reg_name, value) \
54 write_radio_reg(pi, ((core == PHY_CORE_0) ? radio_type##_##reg_name##_##jspace##0 : \
55 radio_type##_##reg_name##_##jspace##1), value);
57 #define NPHY_ACI_MAX_UNDETECT_WINDOW_SZ 40
58 #define NPHY_ACI_CHANNEL_DELTA 5
59 #define NPHY_ACI_CHANNEL_SKIP 4
60 #define NPHY_ACI_40MHZ_CHANNEL_DELTA 6
61 #define NPHY_ACI_40MHZ_CHANNEL_SKIP 5
62 #define NPHY_ACI_40MHZ_CHANNEL_DELTA_GE_REV3 6
63 #define NPHY_ACI_40MHZ_CHANNEL_SKIP_GE_REV3 5
64 #define NPHY_ACI_CHANNEL_DELTA_GE_REV3 4
65 #define NPHY_ACI_CHANNEL_SKIP_GE_REV3 3
67 #define NPHY_NOISE_NOASSOC_GLITCH_TH_UP 2
69 #define NPHY_NOISE_NOASSOC_GLITCH_TH_DN 8
71 #define NPHY_NOISE_ASSOC_GLITCH_TH_UP 2
73 #define NPHY_NOISE_ASSOC_GLITCH_TH_DN 8
75 #define NPHY_NOISE_ASSOC_ACI_GLITCH_TH_UP 2
77 #define NPHY_NOISE_ASSOC_ACI_GLITCH_TH_DN 8
79 #define NPHY_NOISE_NOASSOC_ENTER_TH 400
81 #define NPHY_NOISE_ASSOC_ENTER_TH 400
83 #define NPHY_NOISE_ASSOC_RX_GLITCH_BADPLCP_ENTER_TH 400
85 #define NPHY_NOISE_CRSMINPWR_ARRAY_MAX_INDEX 44
86 #define NPHY_NOISE_CRSMINPWR_ARRAY_MAX_INDEX_REV_7 56
88 #define NPHY_NOISE_NOASSOC_CRSIDX_INCR 16
90 #define NPHY_NOISE_ASSOC_CRSIDX_INCR 8
92 #define NPHY_IS_SROM_REINTERPRET NREV_GE(pi->pubpi.phy_rev, 5)
94 #define NPHY_RSSICAL_MAXREAD 31
96 #define NPHY_RSSICAL_NPOLL 8
97 #define NPHY_RSSICAL_MAXD (1<<20)
98 #define NPHY_MIN_RXIQ_PWR 2
100 #define NPHY_RSSICAL_W1_TARGET 25
101 #define NPHY_RSSICAL_W2_TARGET NPHY_RSSICAL_W1_TARGET
102 #define NPHY_RSSICAL_NB_TARGET 0
104 #define NPHY_RSSICAL_W1_TARGET_REV3 29
105 #define NPHY_RSSICAL_W2_TARGET_REV3 NPHY_RSSICAL_W1_TARGET_REV3
107 #define NPHY_CALSANITY_RSSI_NB_MAX_POS 9
108 #define NPHY_CALSANITY_RSSI_NB_MAX_NEG -9
109 #define NPHY_CALSANITY_RSSI_W1_MAX_POS 12
110 #define NPHY_CALSANITY_RSSI_W1_MAX_NEG (NPHY_RSSICAL_W1_TARGET - NPHY_RSSICAL_MAXREAD)
111 #define NPHY_CALSANITY_RSSI_W2_MAX_POS NPHY_CALSANITY_RSSI_W1_MAX_POS
112 #define NPHY_CALSANITY_RSSI_W2_MAX_NEG (NPHY_RSSICAL_W2_TARGET - NPHY_RSSICAL_MAXREAD)
113 #define NPHY_RSSI_SXT(x) ((s8) (-((x) & 0x20) + ((x) & 0x1f)))
114 #define NPHY_RSSI_NB_VIOL(x) (((x) > NPHY_CALSANITY_RSSI_NB_MAX_POS) || \
115 ((x) < NPHY_CALSANITY_RSSI_NB_MAX_NEG))
116 #define NPHY_RSSI_W1_VIOL(x) (((x) > NPHY_CALSANITY_RSSI_W1_MAX_POS) || \
117 ((x) < NPHY_CALSANITY_RSSI_W1_MAX_NEG))
118 #define NPHY_RSSI_W2_VIOL(x) (((x) > NPHY_CALSANITY_RSSI_W2_MAX_POS) || \
119 ((x) < NPHY_CALSANITY_RSSI_W2_MAX_NEG))
121 #define NPHY_IQCAL_NUMGAINS 9
122 #define NPHY_N_GCTL 0x66
124 #define NPHY_PAPD_EPS_TBL_SIZE 64
125 #define NPHY_PAPD_SCL_TBL_SIZE 64
126 #define NPHY_NUM_DIG_FILT_COEFFS 15
128 #define NPHY_PAPD_COMP_OFF 0
129 #define NPHY_PAPD_COMP_ON 1
131 #define NPHY_SROM_TEMPSHIFT 32
132 #define NPHY_SROM_MAXTEMPOFFSET 16
133 #define NPHY_SROM_MINTEMPOFFSET -16
135 #define NPHY_CAL_MAXTEMPDELTA 64
137 #define NPHY_NOISEVAR_TBLLEN40 256
138 #define NPHY_NOISEVAR_TBLLEN20 128
140 #define NPHY_ANARXLPFBW_REDUCTIONFACT 7
142 #define NPHY_ADJUSTED_MINCRSPOWER 0x1e
144 typedef struct _nphy_iqcal_params {
152 } nphy_iqcal_params_t;
154 typedef struct _nphy_txiqcal_ladder {
157 } nphy_txiqcal_ladder_t;
160 nphy_txgains_t gains;
163 } nphy_ipa_txcalgains_t;
165 typedef struct nphy_papd_restore_state_t {
174 } nphy_papd_restore_state;
176 typedef struct _nphy_ipa_txrxgain {
183 } nphy_ipa_txrxgain_t;
185 #define NPHY_IPA_RXCAL_MAXGAININDEX (6 - 1)
187 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_5GHz[] = { {0, 0, 0, 0, 0, 100},
195 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_2GHz[] = { {0, 0, 0, 0, 0, 128},
203 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_5GHz_rev7[] = { {0, 0, 0, 0, 0, 100},
211 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_2GHz_rev7[] = { {0, 0, 0, 0, 0, 10},
219 #define NPHY_RXCAL_TONEAMP 181
220 #define NPHY_RXCAL_TONEFREQ_40MHz 4000
221 #define NPHY_RXCAL_TONEFREQ_20MHz 2000
224 NPHY_RXCAL_GAIN_INIT = 0,
229 #define wlc_phy_get_papd_nphy(pi) \
230 (read_phy_reg((pi), 0x1e7) & \
235 #define TXFILT_SHAPING_OFDM20 0
236 #define TXFILT_SHAPING_OFDM40 1
237 #define TXFILT_SHAPING_CCK 2
238 #define TXFILT_DEFAULT_OFDM20 3
239 #define TXFILT_DEFAULT_OFDM40 4
241 u16 NPHY_IPA_REV4_txdigi_filtcoeffs[][NPHY_NUM_DIG_FILT_COEFFS] = {
242 {-377, 137, -407, 208, -1527, 956, 93, 186, 93,
243 230, -44, 230, 201, -191, 201},
244 {-77, 20, -98, 49, -93, 60, 56, 111, 56, 26, -5,
246 {-360, 164, -376, 164, -1533, 576, 308, -314, 308,
247 121, -73, 121, 91, 124, 91},
248 {-295, 200, -363, 142, -1391, 826, 151, 301, 151,
249 151, 301, 151, 602, -752, 602},
250 {-92, 58, -96, 49, -104, 44, 17, 35, 17,
251 12, 25, 12, 13, 27, 13},
252 {-375, 136, -399, 209, -1479, 949, 130, 260, 130,
253 230, -44, 230, 201, -191, 201},
254 {0xed9, 0xc8, 0xe95, 0x8e, 0xa91, 0x33a, 0x97, 0x12d, 0x97,
255 0x97, 0x12d, 0x97, 0x25a, 0xd10, 0x25a}
258 typedef struct _chan_info_nphy_2055 {
274 u8 RF_core1_lgbuf_a_tune;
275 u8 RF_core1_lgbuf_g_tune;
276 u8 RF_core1_rxrf_reg1;
277 u8 RF_core1_tx_pga_pad_tn;
278 u8 RF_core1_tx_mx_bgtrim;
279 u8 RF_core2_lgbuf_a_tune;
280 u8 RF_core2_lgbuf_g_tune;
281 u8 RF_core2_rxrf_reg1;
282 u8 RF_core2_tx_pga_pad_tn;
283 u8 RF_core2_tx_mx_bgtrim;
290 } chan_info_nphy_2055_t;
292 typedef struct _chan_info_nphy_radio205x {
295 u8 RF_SYN_pll_vcocal1;
296 u8 RF_SYN_pll_vcocal2;
297 u8 RF_SYN_pll_refdiv;
300 u8 RF_SYN_pll_loopfilter1;
301 u8 RF_SYN_pll_loopfilter2;
302 u8 RF_SYN_pll_loopfilter3;
303 u8 RF_SYN_pll_loopfilter4;
304 u8 RF_SYN_pll_loopfilter5;
305 u8 RF_SYN_reserved_addr27;
306 u8 RF_SYN_reserved_addr28;
307 u8 RF_SYN_reserved_addr29;
308 u8 RF_SYN_logen_VCOBUF1;
309 u8 RF_SYN_logen_MIXER2;
310 u8 RF_SYN_logen_BUF3;
311 u8 RF_SYN_logen_BUF4;
314 u8 RF_TX0_intpaa_boost_tune;
315 u8 RF_TX0_intpag_boost_tune;
316 u8 RF_TX0_pada_boost_tune;
317 u8 RF_TX0_padg_boost_tune;
318 u8 RF_TX0_pgaa_boost_tune;
319 u8 RF_TX0_pgag_boost_tune;
320 u8 RF_TX0_mixa_boost_tune;
321 u8 RF_TX0_mixg_boost_tune;
324 u8 RF_TX1_intpaa_boost_tune;
325 u8 RF_TX1_intpag_boost_tune;
326 u8 RF_TX1_pada_boost_tune;
327 u8 RF_TX1_padg_boost_tune;
328 u8 RF_TX1_pgaa_boost_tune;
329 u8 RF_TX1_pgag_boost_tune;
330 u8 RF_TX1_mixa_boost_tune;
331 u8 RF_TX1_mixg_boost_tune;
338 } chan_info_nphy_radio205x_t;
340 typedef struct _chan_info_nphy_radio2057 {
343 u8 RF_vcocal_countval0;
344 u8 RF_vcocal_countval1;
345 u8 RF_rfpll_refmaster_sparextalsize;
346 u8 RF_rfpll_loopfilter_r1;
347 u8 RF_rfpll_loopfilter_c2;
348 u8 RF_rfpll_loopfilter_c1;
353 u8 RF_logen_mx2g_tune;
354 u8 RF_logen_mx5g_tune;
355 u8 RF_logen_indbuf2g_tune;
356 u8 RF_logen_indbuf5g_tune;
357 u8 RF_txmix2g_tune_boost_pu_core0;
358 u8 RF_pad2g_tune_pus_core0;
359 u8 RF_pga_boost_tune_core0;
360 u8 RF_txmix5g_boost_tune_core0;
361 u8 RF_pad5g_tune_misc_pus_core0;
362 u8 RF_lna2g_tune_core0;
363 u8 RF_lna5g_tune_core0;
364 u8 RF_txmix2g_tune_boost_pu_core1;
365 u8 RF_pad2g_tune_pus_core1;
366 u8 RF_pga_boost_tune_core1;
367 u8 RF_txmix5g_boost_tune_core1;
368 u8 RF_pad5g_tune_misc_pus_core1;
369 u8 RF_lna2g_tune_core1;
370 u8 RF_lna5g_tune_core1;
377 } chan_info_nphy_radio2057_t;
379 typedef struct _chan_info_nphy_radio2057_rev5 {
382 u8 RF_vcocal_countval0;
383 u8 RF_vcocal_countval1;
384 u8 RF_rfpll_refmaster_sparextalsize;
385 u8 RF_rfpll_loopfilter_r1;
386 u8 RF_rfpll_loopfilter_c2;
387 u8 RF_rfpll_loopfilter_c1;
392 u8 RF_logen_mx2g_tune;
393 u8 RF_logen_indbuf2g_tune;
394 u8 RF_txmix2g_tune_boost_pu_core0;
395 u8 RF_pad2g_tune_pus_core0;
396 u8 RF_lna2g_tune_core0;
397 u8 RF_txmix2g_tune_boost_pu_core1;
398 u8 RF_pad2g_tune_pus_core1;
399 u8 RF_lna2g_tune_core1;
406 } chan_info_nphy_radio2057_rev5_t;
408 typedef struct nphy_sfo_cfg {
417 static chan_info_nphy_2055_t chan_info_nphy_2055[] = {
419 184, 4920, 3280, 0x71, 0x01, 0xEC, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
420 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
421 0x0F, 0x8F, 0x7B4, 0x7B0, 0x7AC, 0x214, 0x215, 0x216},
423 186, 4930, 3287, 0x71, 0x01, 0xED, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
424 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
425 0x0F, 0x8F, 0x7B8, 0x7B4, 0x7B0, 0x213, 0x214, 0x215},
427 188, 4940, 3293, 0x71, 0x01, 0xEE, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
428 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
429 0x0F, 0x8F, 0x7BC, 0x7B8, 0x7B4, 0x212, 0x213, 0x214},
431 190, 4950, 3300, 0x71, 0x01, 0xEF, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
432 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
433 0x0F, 0x8F, 0x7C0, 0x7BC, 0x7B8, 0x211, 0x212, 0x213},
435 192, 4960, 3307, 0x71, 0x01, 0xF0, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
436 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
437 0x0F, 0x8F, 0x7C4, 0x7C0, 0x7BC, 0x20F, 0x211, 0x212},
439 194, 4970, 3313, 0x71, 0x01, 0xF1, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
440 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
441 0x0F, 0x8F, 0x7C8, 0x7C4, 0x7C0, 0x20E, 0x20F, 0x211},
443 196, 4980, 3320, 0x71, 0x01, 0xF2, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
444 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
445 0x0F, 0x8F, 0x7CC, 0x7C8, 0x7C4, 0x20D, 0x20E, 0x20F},
447 198, 4990, 3327, 0x71, 0x01, 0xF3, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
448 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
449 0x0F, 0x8F, 0x7D0, 0x7CC, 0x7C8, 0x20C, 0x20D, 0x20E},
451 200, 5000, 3333, 0x71, 0x01, 0xF4, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
452 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
453 0x0F, 0x8F, 0x7D4, 0x7D0, 0x7CC, 0x20B, 0x20C, 0x20D},
455 202, 5010, 3340, 0x71, 0x01, 0xF5, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
456 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
457 0x0F, 0x8F, 0x7D8, 0x7D4, 0x7D0, 0x20A, 0x20B, 0x20C},
459 204, 5020, 3347, 0x71, 0x01, 0xF6, 0x0E, 0xF7, 0x01, 0x04, 0x0A,
460 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
461 0x0F, 0x8F, 0x7DC, 0x7D8, 0x7D4, 0x209, 0x20A, 0x20B},
463 206, 5030, 3353, 0x71, 0x01, 0xF7, 0x0E, 0xF7, 0x01, 0x04, 0x0A,
464 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
465 0x0F, 0x8F, 0x7E0, 0x7DC, 0x7D8, 0x208, 0x209, 0x20A},
467 208, 5040, 3360, 0x71, 0x01, 0xF8, 0x0D, 0xEF, 0x01, 0x04, 0x0A,
468 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
469 0x0F, 0x8F, 0x7E4, 0x7E0, 0x7DC, 0x207, 0x208, 0x209},
471 210, 5050, 3367, 0x71, 0x01, 0xF9, 0x0D, 0xEF, 0x01, 0x04, 0x0A,
472 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
473 0x0F, 0x8F, 0x7E8, 0x7E4, 0x7E0, 0x206, 0x207, 0x208},
475 212, 5060, 3373, 0x71, 0x01, 0xFA, 0x0D, 0xE6, 0x01, 0x04, 0x0A,
476 0x00, 0x8F, 0xBB, 0xBB, 0xFF, 0x00, 0x0E, 0x0F, 0x8E, 0xFF, 0x00, 0x0E,
477 0x0F, 0x8E, 0x7EC, 0x7E8, 0x7E4, 0x205, 0x206, 0x207},
479 214, 5070, 3380, 0x71, 0x01, 0xFB, 0x0D, 0xE6, 0x01, 0x04, 0x0A,
480 0x00, 0x8F, 0xBB, 0xBB, 0xFF, 0x00, 0x0E, 0x0F, 0x8E, 0xFF, 0x00, 0x0E,
481 0x0F, 0x8E, 0x7F0, 0x7EC, 0x7E8, 0x204, 0x205, 0x206},
483 216, 5080, 3387, 0x71, 0x01, 0xFC, 0x0D, 0xDE, 0x01, 0x04, 0x0A,
484 0x00, 0x8E, 0xBB, 0xBB, 0xEE, 0x00, 0x0E, 0x0F, 0x8D, 0xEE, 0x00, 0x0E,
485 0x0F, 0x8D, 0x7F4, 0x7F0, 0x7EC, 0x203, 0x204, 0x205},
487 218, 5090, 3393, 0x71, 0x01, 0xFD, 0x0D, 0xDE, 0x01, 0x04, 0x0A,
488 0x00, 0x8E, 0xBB, 0xBB, 0xEE, 0x00, 0x0E, 0x0F, 0x8D, 0xEE, 0x00, 0x0E,
489 0x0F, 0x8D, 0x7F8, 0x7F4, 0x7F0, 0x202, 0x203, 0x204},
491 220, 5100, 3400, 0x71, 0x01, 0xFE, 0x0C, 0xD6, 0x01, 0x04, 0x0A,
492 0x00, 0x8E, 0xAA, 0xAA, 0xEE, 0x00, 0x0D, 0x0F, 0x8D, 0xEE, 0x00, 0x0D,
493 0x0F, 0x8D, 0x7FC, 0x7F8, 0x7F4, 0x201, 0x202, 0x203},
495 222, 5110, 3407, 0x71, 0x01, 0xFF, 0x0C, 0xD6, 0x01, 0x04, 0x0A,
496 0x00, 0x8E, 0xAA, 0xAA, 0xEE, 0x00, 0x0D, 0x0F, 0x8D, 0xEE, 0x00, 0x0D,
497 0x0F, 0x8D, 0x800, 0x7FC, 0x7F8, 0x200, 0x201, 0x202},
499 224, 5120, 3413, 0x71, 0x02, 0x00, 0x0C, 0xCE, 0x01, 0x04, 0x0A,
500 0x00, 0x8D, 0xAA, 0xAA, 0xDD, 0x00, 0x0D, 0x0F, 0x8C, 0xDD, 0x00, 0x0D,
501 0x0F, 0x8C, 0x804, 0x800, 0x7FC, 0x1FF, 0x200, 0x201},
503 226, 5130, 3420, 0x71, 0x02, 0x01, 0x0C, 0xCE, 0x01, 0x04, 0x0A,
504 0x00, 0x8D, 0xAA, 0xAA, 0xDD, 0x00, 0x0D, 0x0F, 0x8C, 0xDD, 0x00, 0x0D,
505 0x0F, 0x8C, 0x808, 0x804, 0x800, 0x1FE, 0x1FF, 0x200},
507 228, 5140, 3427, 0x71, 0x02, 0x02, 0x0C, 0xC6, 0x01, 0x04, 0x0A,
508 0x00, 0x8D, 0x99, 0x99, 0xDD, 0x00, 0x0C, 0x0E, 0x8B, 0xDD, 0x00, 0x0C,
509 0x0E, 0x8B, 0x80C, 0x808, 0x804, 0x1FD, 0x1FE, 0x1FF},
511 32, 5160, 3440, 0x71, 0x02, 0x04, 0x0B, 0xBE, 0x01, 0x04, 0x0A,
512 0x00, 0x8C, 0x99, 0x99, 0xCC, 0x00, 0x0B, 0x0D, 0x8A, 0xCC, 0x00, 0x0B,
513 0x0D, 0x8A, 0x814, 0x810, 0x80C, 0x1FB, 0x1FC, 0x1FD},
515 34, 5170, 3447, 0x71, 0x02, 0x05, 0x0B, 0xBE, 0x01, 0x04, 0x0A,
516 0x00, 0x8C, 0x99, 0x99, 0xCC, 0x00, 0x0B, 0x0D, 0x8A, 0xCC, 0x00, 0x0B,
517 0x0D, 0x8A, 0x818, 0x814, 0x810, 0x1FA, 0x1FB, 0x1FC},
519 36, 5180, 3453, 0x71, 0x02, 0x06, 0x0B, 0xB6, 0x01, 0x04, 0x0A,
520 0x00, 0x8C, 0x88, 0x88, 0xCC, 0x00, 0x0B, 0x0C, 0x89, 0xCC, 0x00, 0x0B,
521 0x0C, 0x89, 0x81C, 0x818, 0x814, 0x1F9, 0x1FA, 0x1FB},
523 38, 5190, 3460, 0x71, 0x02, 0x07, 0x0B, 0xB6, 0x01, 0x04, 0x0A,
524 0x00, 0x8C, 0x88, 0x88, 0xCC, 0x00, 0x0B, 0x0C, 0x89, 0xCC, 0x00, 0x0B,
525 0x0C, 0x89, 0x820, 0x81C, 0x818, 0x1F8, 0x1F9, 0x1FA},
527 40, 5200, 3467, 0x71, 0x02, 0x08, 0x0B, 0xAF, 0x01, 0x04, 0x0A,
528 0x00, 0x8B, 0x88, 0x88, 0xBB, 0x00, 0x0A, 0x0B, 0x89, 0xBB, 0x00, 0x0A,
529 0x0B, 0x89, 0x824, 0x820, 0x81C, 0x1F7, 0x1F8, 0x1F9},
531 42, 5210, 3473, 0x71, 0x02, 0x09, 0x0B, 0xAF, 0x01, 0x04, 0x0A,
532 0x00, 0x8B, 0x88, 0x88, 0xBB, 0x00, 0x0A, 0x0B, 0x89, 0xBB, 0x00, 0x0A,
533 0x0B, 0x89, 0x828, 0x824, 0x820, 0x1F6, 0x1F7, 0x1F8},
535 44, 5220, 3480, 0x71, 0x02, 0x0A, 0x0A, 0xA7, 0x01, 0x04, 0x0A,
536 0x00, 0x8B, 0x77, 0x77, 0xBB, 0x00, 0x09, 0x0A, 0x88, 0xBB, 0x00, 0x09,
537 0x0A, 0x88, 0x82C, 0x828, 0x824, 0x1F5, 0x1F6, 0x1F7},
539 46, 5230, 3487, 0x71, 0x02, 0x0B, 0x0A, 0xA7, 0x01, 0x04, 0x0A,
540 0x00, 0x8B, 0x77, 0x77, 0xBB, 0x00, 0x09, 0x0A, 0x88, 0xBB, 0x00, 0x09,
541 0x0A, 0x88, 0x830, 0x82C, 0x828, 0x1F4, 0x1F5, 0x1F6},
543 48, 5240, 3493, 0x71, 0x02, 0x0C, 0x0A, 0xA0, 0x01, 0x04, 0x0A,
544 0x00, 0x8A, 0x77, 0x77, 0xAA, 0x00, 0x09, 0x0A, 0x87, 0xAA, 0x00, 0x09,
545 0x0A, 0x87, 0x834, 0x830, 0x82C, 0x1F3, 0x1F4, 0x1F5},
547 50, 5250, 3500, 0x71, 0x02, 0x0D, 0x0A, 0xA0, 0x01, 0x04, 0x0A,
548 0x00, 0x8A, 0x77, 0x77, 0xAA, 0x00, 0x09, 0x0A, 0x87, 0xAA, 0x00, 0x09,
549 0x0A, 0x87, 0x838, 0x834, 0x830, 0x1F2, 0x1F3, 0x1F4},
551 52, 5260, 3507, 0x71, 0x02, 0x0E, 0x0A, 0x98, 0x01, 0x04, 0x0A,
552 0x00, 0x8A, 0x66, 0x66, 0xAA, 0x00, 0x08, 0x09, 0x87, 0xAA, 0x00, 0x08,
553 0x09, 0x87, 0x83C, 0x838, 0x834, 0x1F1, 0x1F2, 0x1F3},
555 54, 5270, 3513, 0x71, 0x02, 0x0F, 0x0A, 0x98, 0x01, 0x04, 0x0A,
556 0x00, 0x8A, 0x66, 0x66, 0xAA, 0x00, 0x08, 0x09, 0x87, 0xAA, 0x00, 0x08,
557 0x09, 0x87, 0x840, 0x83C, 0x838, 0x1F0, 0x1F1, 0x1F2},
559 56, 5280, 3520, 0x71, 0x02, 0x10, 0x09, 0x91, 0x01, 0x04, 0x0A,
560 0x00, 0x89, 0x66, 0x66, 0x99, 0x00, 0x08, 0x08, 0x86, 0x99, 0x00, 0x08,
561 0x08, 0x86, 0x844, 0x840, 0x83C, 0x1F0, 0x1F0, 0x1F1},
563 58, 5290, 3527, 0x71, 0x02, 0x11, 0x09, 0x91, 0x01, 0x04, 0x0A,
564 0x00, 0x89, 0x66, 0x66, 0x99, 0x00, 0x08, 0x08, 0x86, 0x99, 0x00, 0x08,
565 0x08, 0x86, 0x848, 0x844, 0x840, 0x1EF, 0x1F0, 0x1F0},
567 60, 5300, 3533, 0x71, 0x02, 0x12, 0x09, 0x8A, 0x01, 0x04, 0x0A,
568 0x00, 0x89, 0x55, 0x55, 0x99, 0x00, 0x08, 0x07, 0x85, 0x99, 0x00, 0x08,
569 0x07, 0x85, 0x84C, 0x848, 0x844, 0x1EE, 0x1EF, 0x1F0},
571 62, 5310, 3540, 0x71, 0x02, 0x13, 0x09, 0x8A, 0x01, 0x04, 0x0A,
572 0x00, 0x89, 0x55, 0x55, 0x99, 0x00, 0x08, 0x07, 0x85, 0x99, 0x00, 0x08,
573 0x07, 0x85, 0x850, 0x84C, 0x848, 0x1ED, 0x1EE, 0x1EF},
575 64, 5320, 3547, 0x71, 0x02, 0x14, 0x09, 0x83, 0x01, 0x04, 0x0A,
576 0x00, 0x88, 0x55, 0x55, 0x88, 0x00, 0x07, 0x07, 0x84, 0x88, 0x00, 0x07,
577 0x07, 0x84, 0x854, 0x850, 0x84C, 0x1EC, 0x1ED, 0x1EE},
579 66, 5330, 3553, 0x71, 0x02, 0x15, 0x09, 0x83, 0x01, 0x04, 0x0A,
580 0x00, 0x88, 0x55, 0x55, 0x88, 0x00, 0x07, 0x07, 0x84, 0x88, 0x00, 0x07,
581 0x07, 0x84, 0x858, 0x854, 0x850, 0x1EB, 0x1EC, 0x1ED},
583 68, 5340, 3560, 0x71, 0x02, 0x16, 0x08, 0x7C, 0x01, 0x04, 0x0A,
584 0x00, 0x88, 0x44, 0x44, 0x88, 0x00, 0x07, 0x06, 0x84, 0x88, 0x00, 0x07,
585 0x06, 0x84, 0x85C, 0x858, 0x854, 0x1EA, 0x1EB, 0x1EC},
587 70, 5350, 3567, 0x71, 0x02, 0x17, 0x08, 0x7C, 0x01, 0x04, 0x0A,
588 0x00, 0x88, 0x44, 0x44, 0x88, 0x00, 0x07, 0x06, 0x84, 0x88, 0x00, 0x07,
589 0x06, 0x84, 0x860, 0x85C, 0x858, 0x1E9, 0x1EA, 0x1EB},
591 72, 5360, 3573, 0x71, 0x02, 0x18, 0x08, 0x75, 0x01, 0x04, 0x0A,
592 0x00, 0x87, 0x44, 0x44, 0x77, 0x00, 0x06, 0x05, 0x83, 0x77, 0x00, 0x06,
593 0x05, 0x83, 0x864, 0x860, 0x85C, 0x1E8, 0x1E9, 0x1EA},
595 74, 5370, 3580, 0x71, 0x02, 0x19, 0x08, 0x75, 0x01, 0x04, 0x0A,
596 0x00, 0x87, 0x44, 0x44, 0x77, 0x00, 0x06, 0x05, 0x83, 0x77, 0x00, 0x06,
597 0x05, 0x83, 0x868, 0x864, 0x860, 0x1E7, 0x1E8, 0x1E9},
599 76, 5380, 3587, 0x71, 0x02, 0x1A, 0x08, 0x6E, 0x01, 0x04, 0x0A,
600 0x00, 0x87, 0x33, 0x33, 0x77, 0x00, 0x06, 0x04, 0x82, 0x77, 0x00, 0x06,
601 0x04, 0x82, 0x86C, 0x868, 0x864, 0x1E6, 0x1E7, 0x1E8},
603 78, 5390, 3593, 0x71, 0x02, 0x1B, 0x08, 0x6E, 0x01, 0x04, 0x0A,
604 0x00, 0x87, 0x33, 0x33, 0x77, 0x00, 0x06, 0x04, 0x82, 0x77, 0x00, 0x06,
605 0x04, 0x82, 0x870, 0x86C, 0x868, 0x1E5, 0x1E6, 0x1E7},
607 80, 5400, 3600, 0x71, 0x02, 0x1C, 0x07, 0x67, 0x01, 0x04, 0x0A,
608 0x00, 0x86, 0x33, 0x33, 0x66, 0x00, 0x05, 0x04, 0x81, 0x66, 0x00, 0x05,
609 0x04, 0x81, 0x874, 0x870, 0x86C, 0x1E5, 0x1E5, 0x1E6},
611 82, 5410, 3607, 0x71, 0x02, 0x1D, 0x07, 0x67, 0x01, 0x04, 0x0A,
612 0x00, 0x86, 0x33, 0x33, 0x66, 0x00, 0x05, 0x04, 0x81, 0x66, 0x00, 0x05,
613 0x04, 0x81, 0x878, 0x874, 0x870, 0x1E4, 0x1E5, 0x1E5},
615 84, 5420, 3613, 0x71, 0x02, 0x1E, 0x07, 0x61, 0x01, 0x04, 0x0A,
616 0x00, 0x86, 0x22, 0x22, 0x66, 0x00, 0x05, 0x03, 0x80, 0x66, 0x00, 0x05,
617 0x03, 0x80, 0x87C, 0x878, 0x874, 0x1E3, 0x1E4, 0x1E5},
619 86, 5430, 3620, 0x71, 0x02, 0x1F, 0x07, 0x61, 0x01, 0x04, 0x0A,
620 0x00, 0x86, 0x22, 0x22, 0x66, 0x00, 0x05, 0x03, 0x80, 0x66, 0x00, 0x05,
621 0x03, 0x80, 0x880, 0x87C, 0x878, 0x1E2, 0x1E3, 0x1E4},
623 88, 5440, 3627, 0x71, 0x02, 0x20, 0x07, 0x5A, 0x01, 0x04, 0x0A,
624 0x00, 0x85, 0x22, 0x22, 0x55, 0x00, 0x04, 0x02, 0x80, 0x55, 0x00, 0x04,
625 0x02, 0x80, 0x884, 0x880, 0x87C, 0x1E1, 0x1E2, 0x1E3},
627 90, 5450, 3633, 0x71, 0x02, 0x21, 0x07, 0x5A, 0x01, 0x04, 0x0A,
628 0x00, 0x85, 0x22, 0x22, 0x55, 0x00, 0x04, 0x02, 0x80, 0x55, 0x00, 0x04,
629 0x02, 0x80, 0x888, 0x884, 0x880, 0x1E0, 0x1E1, 0x1E2},
631 92, 5460, 3640, 0x71, 0x02, 0x22, 0x06, 0x53, 0x01, 0x04, 0x0A,
632 0x00, 0x85, 0x11, 0x11, 0x55, 0x00, 0x04, 0x01, 0x80, 0x55, 0x00, 0x04,
633 0x01, 0x80, 0x88C, 0x888, 0x884, 0x1DF, 0x1E0, 0x1E1},
635 94, 5470, 3647, 0x71, 0x02, 0x23, 0x06, 0x53, 0x01, 0x04, 0x0A,
636 0x00, 0x85, 0x11, 0x11, 0x55, 0x00, 0x04, 0x01, 0x80, 0x55, 0x00, 0x04,
637 0x01, 0x80, 0x890, 0x88C, 0x888, 0x1DE, 0x1DF, 0x1E0},
639 96, 5480, 3653, 0x71, 0x02, 0x24, 0x06, 0x4D, 0x01, 0x04, 0x0A,
640 0x00, 0x84, 0x11, 0x11, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
641 0x00, 0x80, 0x894, 0x890, 0x88C, 0x1DD, 0x1DE, 0x1DF},
643 98, 5490, 3660, 0x71, 0x02, 0x25, 0x06, 0x4D, 0x01, 0x04, 0x0A,
644 0x00, 0x84, 0x11, 0x11, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
645 0x00, 0x80, 0x898, 0x894, 0x890, 0x1DD, 0x1DD, 0x1DE},
647 100, 5500, 3667, 0x71, 0x02, 0x26, 0x06, 0x47, 0x01, 0x04, 0x0A,
648 0x00, 0x84, 0x00, 0x00, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
649 0x00, 0x80, 0x89C, 0x898, 0x894, 0x1DC, 0x1DD, 0x1DD},
651 102, 5510, 3673, 0x71, 0x02, 0x27, 0x06, 0x47, 0x01, 0x04, 0x0A,
652 0x00, 0x84, 0x00, 0x00, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
653 0x00, 0x80, 0x8A0, 0x89C, 0x898, 0x1DB, 0x1DC, 0x1DD},
655 104, 5520, 3680, 0x71, 0x02, 0x28, 0x05, 0x40, 0x01, 0x04, 0x0A,
656 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
657 0x00, 0x80, 0x8A4, 0x8A0, 0x89C, 0x1DA, 0x1DB, 0x1DC},
659 106, 5530, 3687, 0x71, 0x02, 0x29, 0x05, 0x40, 0x01, 0x04, 0x0A,
660 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
661 0x00, 0x80, 0x8A8, 0x8A4, 0x8A0, 0x1D9, 0x1DA, 0x1DB},
663 108, 5540, 3693, 0x71, 0x02, 0x2A, 0x05, 0x3A, 0x01, 0x04, 0x0A,
664 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
665 0x00, 0x80, 0x8AC, 0x8A8, 0x8A4, 0x1D8, 0x1D9, 0x1DA},
667 110, 5550, 3700, 0x71, 0x02, 0x2B, 0x05, 0x3A, 0x01, 0x04, 0x0A,
668 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
669 0x00, 0x80, 0x8B0, 0x8AC, 0x8A8, 0x1D7, 0x1D8, 0x1D9},
671 112, 5560, 3707, 0x71, 0x02, 0x2C, 0x05, 0x34, 0x01, 0x04, 0x0A,
672 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
673 0x00, 0x80, 0x8B4, 0x8B0, 0x8AC, 0x1D7, 0x1D7, 0x1D8},
675 114, 5570, 3713, 0x71, 0x02, 0x2D, 0x05, 0x34, 0x01, 0x04, 0x0A,
676 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
677 0x00, 0x80, 0x8B8, 0x8B4, 0x8B0, 0x1D6, 0x1D7, 0x1D7},
679 116, 5580, 3720, 0x71, 0x02, 0x2E, 0x04, 0x2E, 0x01, 0x04, 0x0A,
680 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
681 0x00, 0x80, 0x8BC, 0x8B8, 0x8B4, 0x1D5, 0x1D6, 0x1D7},
683 118, 5590, 3727, 0x71, 0x02, 0x2F, 0x04, 0x2E, 0x01, 0x04, 0x0A,
684 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
685 0x00, 0x80, 0x8C0, 0x8BC, 0x8B8, 0x1D4, 0x1D5, 0x1D6},
687 120, 5600, 3733, 0x71, 0x02, 0x30, 0x04, 0x28, 0x01, 0x04, 0x0A,
688 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, 0x80, 0x11, 0x00, 0x01,
689 0x00, 0x80, 0x8C4, 0x8C0, 0x8BC, 0x1D3, 0x1D4, 0x1D5},
691 122, 5610, 3740, 0x71, 0x02, 0x31, 0x04, 0x28, 0x01, 0x04, 0x0A,
692 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, 0x80, 0x11, 0x00, 0x01,
693 0x00, 0x80, 0x8C8, 0x8C4, 0x8C0, 0x1D2, 0x1D3, 0x1D4},
695 124, 5620, 3747, 0x71, 0x02, 0x32, 0x04, 0x21, 0x01, 0x04, 0x0A,
696 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x80, 0x11, 0x00, 0x00,
697 0x00, 0x80, 0x8CC, 0x8C8, 0x8C4, 0x1D2, 0x1D2, 0x1D3},
699 126, 5630, 3753, 0x71, 0x02, 0x33, 0x04, 0x21, 0x01, 0x04, 0x0A,
700 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x80, 0x11, 0x00, 0x00,
701 0x00, 0x80, 0x8D0, 0x8CC, 0x8C8, 0x1D1, 0x1D2, 0x1D2},
703 128, 5640, 3760, 0x71, 0x02, 0x34, 0x03, 0x1C, 0x01, 0x04, 0x0A,
704 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
705 0x00, 0x80, 0x8D4, 0x8D0, 0x8CC, 0x1D0, 0x1D1, 0x1D2},
707 130, 5650, 3767, 0x71, 0x02, 0x35, 0x03, 0x1C, 0x01, 0x04, 0x0A,
708 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
709 0x00, 0x80, 0x8D8, 0x8D4, 0x8D0, 0x1CF, 0x1D0, 0x1D1},
711 132, 5660, 3773, 0x71, 0x02, 0x36, 0x03, 0x16, 0x01, 0x04, 0x0A,
712 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
713 0x00, 0x80, 0x8DC, 0x8D8, 0x8D4, 0x1CE, 0x1CF, 0x1D0},
715 134, 5670, 3780, 0x71, 0x02, 0x37, 0x03, 0x16, 0x01, 0x04, 0x0A,
716 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
717 0x00, 0x80, 0x8E0, 0x8DC, 0x8D8, 0x1CE, 0x1CE, 0x1CF},
719 136, 5680, 3787, 0x71, 0x02, 0x38, 0x03, 0x10, 0x01, 0x04, 0x0A,
720 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
721 0x00, 0x80, 0x8E4, 0x8E0, 0x8DC, 0x1CD, 0x1CE, 0x1CE},
723 138, 5690, 3793, 0x71, 0x02, 0x39, 0x03, 0x10, 0x01, 0x04, 0x0A,
724 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
725 0x00, 0x80, 0x8E8, 0x8E4, 0x8E0, 0x1CC, 0x1CD, 0x1CE},
727 140, 5700, 3800, 0x71, 0x02, 0x3A, 0x02, 0x0A, 0x01, 0x04, 0x0A,
728 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
729 0x00, 0x80, 0x8EC, 0x8E8, 0x8E4, 0x1CB, 0x1CC, 0x1CD},
731 142, 5710, 3807, 0x71, 0x02, 0x3B, 0x02, 0x0A, 0x01, 0x04, 0x0A,
732 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
733 0x00, 0x80, 0x8F0, 0x8EC, 0x8E8, 0x1CA, 0x1CB, 0x1CC},
735 144, 5720, 3813, 0x71, 0x02, 0x3C, 0x02, 0x0A, 0x01, 0x04, 0x0A,
736 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
737 0x00, 0x80, 0x8F4, 0x8F0, 0x8EC, 0x1C9, 0x1CA, 0x1CB},
739 145, 5725, 3817, 0x72, 0x04, 0x79, 0x02, 0x03, 0x01, 0x03, 0x14,
740 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
741 0x00, 0x80, 0x8F6, 0x8F2, 0x8EE, 0x1C9, 0x1CA, 0x1CB},
743 146, 5730, 3820, 0x71, 0x02, 0x3D, 0x02, 0x0A, 0x01, 0x04, 0x0A,
744 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
745 0x00, 0x80, 0x8F8, 0x8F4, 0x8F0, 0x1C9, 0x1C9, 0x1CA},
747 147, 5735, 3823, 0x72, 0x04, 0x7B, 0x02, 0x03, 0x01, 0x03, 0x14,
748 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
749 0x00, 0x80, 0x8FA, 0x8F6, 0x8F2, 0x1C8, 0x1C9, 0x1CA},
751 148, 5740, 3827, 0x71, 0x02, 0x3E, 0x02, 0x0A, 0x01, 0x04, 0x0A,
752 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
753 0x00, 0x80, 0x8FC, 0x8F8, 0x8F4, 0x1C8, 0x1C9, 0x1C9},
755 149, 5745, 3830, 0x72, 0x04, 0x7D, 0x02, 0xFE, 0x00, 0x03, 0x14,
756 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
757 0x00, 0x80, 0x8FE, 0x8FA, 0x8F6, 0x1C8, 0x1C8, 0x1C9},
759 150, 5750, 3833, 0x71, 0x02, 0x3F, 0x02, 0x0A, 0x01, 0x04, 0x0A,
760 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
761 0x00, 0x80, 0x900, 0x8FC, 0x8F8, 0x1C7, 0x1C8, 0x1C9},
763 151, 5755, 3837, 0x72, 0x04, 0x7F, 0x02, 0xFE, 0x00, 0x03, 0x14,
764 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
765 0x00, 0x80, 0x902, 0x8FE, 0x8FA, 0x1C7, 0x1C8, 0x1C8},
767 152, 5760, 3840, 0x71, 0x02, 0x40, 0x02, 0x0A, 0x01, 0x04, 0x0A,
768 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
769 0x00, 0x80, 0x904, 0x900, 0x8FC, 0x1C6, 0x1C7, 0x1C8},
771 153, 5765, 3843, 0x72, 0x04, 0x81, 0x02, 0xF8, 0x00, 0x03, 0x14,
772 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
773 0x00, 0x80, 0x906, 0x902, 0x8FE, 0x1C6, 0x1C7, 0x1C8},
775 154, 5770, 3847, 0x71, 0x02, 0x41, 0x02, 0x0A, 0x01, 0x04, 0x0A,
776 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
777 0x00, 0x80, 0x908, 0x904, 0x900, 0x1C6, 0x1C6, 0x1C7},
779 155, 5775, 3850, 0x72, 0x04, 0x83, 0x02, 0xF8, 0x00, 0x03, 0x14,
780 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
781 0x00, 0x80, 0x90A, 0x906, 0x902, 0x1C5, 0x1C6, 0x1C7},
783 156, 5780, 3853, 0x71, 0x02, 0x42, 0x02, 0x0A, 0x01, 0x04, 0x0A,
784 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
785 0x00, 0x80, 0x90C, 0x908, 0x904, 0x1C5, 0x1C6, 0x1C6},
787 157, 5785, 3857, 0x72, 0x04, 0x85, 0x02, 0xF2, 0x00, 0x03, 0x14,
788 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
789 0x00, 0x80, 0x90E, 0x90A, 0x906, 0x1C4, 0x1C5, 0x1C6},
791 158, 5790, 3860, 0x71, 0x02, 0x43, 0x02, 0x0A, 0x01, 0x04, 0x0A,
792 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
793 0x00, 0x80, 0x910, 0x90C, 0x908, 0x1C4, 0x1C5, 0x1C6},
795 159, 5795, 3863, 0x72, 0x04, 0x87, 0x02, 0xF2, 0x00, 0x03, 0x14,
796 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
797 0x00, 0x80, 0x912, 0x90E, 0x90A, 0x1C4, 0x1C4, 0x1C5},
799 160, 5800, 3867, 0x71, 0x02, 0x44, 0x01, 0x0A, 0x01, 0x04, 0x0A,
800 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
801 0x00, 0x80, 0x914, 0x910, 0x90C, 0x1C3, 0x1C4, 0x1C5},
803 161, 5805, 3870, 0x72, 0x04, 0x89, 0x01, 0xED, 0x00, 0x03, 0x14,
804 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
805 0x00, 0x80, 0x916, 0x912, 0x90E, 0x1C3, 0x1C4, 0x1C4},
807 162, 5810, 3873, 0x71, 0x02, 0x45, 0x01, 0x0A, 0x01, 0x04, 0x0A,
808 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
809 0x00, 0x80, 0x918, 0x914, 0x910, 0x1C2, 0x1C3, 0x1C4},
811 163, 5815, 3877, 0x72, 0x04, 0x8B, 0x01, 0xED, 0x00, 0x03, 0x14,
812 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
813 0x00, 0x80, 0x91A, 0x916, 0x912, 0x1C2, 0x1C3, 0x1C4},
815 164, 5820, 3880, 0x71, 0x02, 0x46, 0x01, 0x0A, 0x01, 0x04, 0x0A,
816 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
817 0x00, 0x80, 0x91C, 0x918, 0x914, 0x1C2, 0x1C2, 0x1C3},
819 165, 5825, 3883, 0x72, 0x04, 0x8D, 0x01, 0xED, 0x00, 0x03, 0x14,
820 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
821 0x00, 0x80, 0x91E, 0x91A, 0x916, 0x1C1, 0x1C2, 0x1C3},
823 166, 5830, 3887, 0x71, 0x02, 0x47, 0x01, 0x0A, 0x01, 0x04, 0x0A,
824 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
825 0x00, 0x80, 0x920, 0x91C, 0x918, 0x1C1, 0x1C2, 0x1C2},
827 168, 5840, 3893, 0x71, 0x02, 0x48, 0x01, 0x0A, 0x01, 0x04, 0x0A,
828 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
829 0x00, 0x80, 0x924, 0x920, 0x91C, 0x1C0, 0x1C1, 0x1C2},
831 170, 5850, 3900, 0x71, 0x02, 0x49, 0x01, 0xE0, 0x00, 0x04, 0x0A,
832 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
833 0x00, 0x80, 0x928, 0x924, 0x920, 0x1BF, 0x1C0, 0x1C1},
835 172, 5860, 3907, 0x71, 0x02, 0x4A, 0x01, 0xDE, 0x00, 0x04, 0x0A,
836 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
837 0x00, 0x80, 0x92C, 0x928, 0x924, 0x1BF, 0x1BF, 0x1C0},
839 174, 5870, 3913, 0x71, 0x02, 0x4B, 0x00, 0xDB, 0x00, 0x04, 0x0A,
840 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
841 0x00, 0x80, 0x930, 0x92C, 0x928, 0x1BE, 0x1BF, 0x1BF},
843 176, 5880, 3920, 0x71, 0x02, 0x4C, 0x00, 0xD8, 0x00, 0x04, 0x0A,
844 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
845 0x00, 0x80, 0x934, 0x930, 0x92C, 0x1BD, 0x1BE, 0x1BF},
847 178, 5890, 3927, 0x71, 0x02, 0x4D, 0x00, 0xD6, 0x00, 0x04, 0x0A,
848 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
849 0x00, 0x80, 0x938, 0x934, 0x930, 0x1BC, 0x1BD, 0x1BE},
851 180, 5900, 3933, 0x71, 0x02, 0x4E, 0x00, 0xD3, 0x00, 0x04, 0x0A,
852 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
853 0x00, 0x80, 0x93C, 0x938, 0x934, 0x1BC, 0x1BC, 0x1BD},
855 182, 5910, 3940, 0x71, 0x02, 0x4F, 0x00, 0xD6, 0x00, 0x04, 0x0A,
856 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
857 0x00, 0x80, 0x940, 0x93C, 0x938, 0x1BB, 0x1BC, 0x1BC},
859 1, 2412, 3216, 0x73, 0x09, 0x6C, 0x0F, 0x00, 0x01, 0x07, 0x15,
860 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0D, 0x0C, 0x80, 0xFF, 0x88, 0x0D,
861 0x0C, 0x80, 0x3C9, 0x3C5, 0x3C1, 0x43A, 0x43F, 0x443},
863 2, 2417, 3223, 0x73, 0x09, 0x71, 0x0F, 0x00, 0x01, 0x07, 0x15,
864 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0B, 0x80, 0xFF, 0x88, 0x0C,
865 0x0B, 0x80, 0x3CB, 0x3C7, 0x3C3, 0x438, 0x43D, 0x441},
867 3, 2422, 3229, 0x73, 0x09, 0x76, 0x0F, 0x00, 0x01, 0x07, 0x15,
868 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0A, 0x80, 0xFF, 0x88, 0x0C,
869 0x0A, 0x80, 0x3CD, 0x3C9, 0x3C5, 0x436, 0x43A, 0x43F},
871 4, 2427, 3236, 0x73, 0x09, 0x7B, 0x0F, 0x00, 0x01, 0x07, 0x15,
872 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0A, 0x80, 0xFF, 0x88, 0x0C,
873 0x0A, 0x80, 0x3CF, 0x3CB, 0x3C7, 0x434, 0x438, 0x43D},
875 5, 2432, 3243, 0x73, 0x09, 0x80, 0x0F, 0x00, 0x01, 0x07, 0x15,
876 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x09, 0x80, 0xFF, 0x88, 0x0C,
877 0x09, 0x80, 0x3D1, 0x3CD, 0x3C9, 0x431, 0x436, 0x43A},
879 6, 2437, 3249, 0x73, 0x09, 0x85, 0x0F, 0x00, 0x01, 0x07, 0x15,
880 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0B, 0x08, 0x80, 0xFF, 0x88, 0x0B,
881 0x08, 0x80, 0x3D3, 0x3CF, 0x3CB, 0x42F, 0x434, 0x438},
883 7, 2442, 3256, 0x73, 0x09, 0x8A, 0x0F, 0x00, 0x01, 0x07, 0x15,
884 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0A, 0x07, 0x80, 0xFF, 0x88, 0x0A,
885 0x07, 0x80, 0x3D5, 0x3D1, 0x3CD, 0x42D, 0x431, 0x436},
887 8, 2447, 3263, 0x73, 0x09, 0x8F, 0x0F, 0x00, 0x01, 0x07, 0x15,
888 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0A, 0x06, 0x80, 0xFF, 0x88, 0x0A,
889 0x06, 0x80, 0x3D7, 0x3D3, 0x3CF, 0x42B, 0x42F, 0x434},
891 9, 2452, 3269, 0x73, 0x09, 0x94, 0x0F, 0x00, 0x01, 0x07, 0x15,
892 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x09, 0x06, 0x80, 0xFF, 0x88, 0x09,
893 0x06, 0x80, 0x3D9, 0x3D5, 0x3D1, 0x429, 0x42D, 0x431},
895 10, 2457, 3276, 0x73, 0x09, 0x99, 0x0F, 0x00, 0x01, 0x07, 0x15,
896 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x05, 0x80, 0xFF, 0x88, 0x08,
897 0x05, 0x80, 0x3DB, 0x3D7, 0x3D3, 0x427, 0x42B, 0x42F},
899 11, 2462, 3283, 0x73, 0x09, 0x9E, 0x0F, 0x00, 0x01, 0x07, 0x15,
900 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x04, 0x80, 0xFF, 0x88, 0x08,
901 0x04, 0x80, 0x3DD, 0x3D9, 0x3D5, 0x424, 0x429, 0x42D},
903 12, 2467, 3289, 0x73, 0x09, 0xA3, 0x0F, 0x00, 0x01, 0x07, 0x15,
904 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x03, 0x80, 0xFF, 0x88, 0x08,
905 0x03, 0x80, 0x3DF, 0x3DB, 0x3D7, 0x422, 0x427, 0x42B},
907 13, 2472, 3296, 0x73, 0x09, 0xA8, 0x0F, 0x00, 0x01, 0x07, 0x15,
908 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x07, 0x03, 0x80, 0xFF, 0x88, 0x07,
909 0x03, 0x80, 0x3E1, 0x3DD, 0x3D9, 0x420, 0x424, 0x429},
911 14, 2484, 3312, 0x73, 0x09, 0xB4, 0x0F, 0xFF, 0x01, 0x07, 0x15,
912 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x07, 0x01, 0x80, 0xFF, 0x88, 0x07,
913 0x01, 0x80, 0x3E6, 0x3E2, 0x3DE, 0x41B, 0x41F, 0x424}
916 static chan_info_nphy_radio205x_t chan_info_nphyrev3_2056[] = {
918 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
919 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
920 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
921 0x00, 0xff, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
923 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
924 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
925 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
926 0x00, 0xff, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
928 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
929 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
930 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
931 0x00, 0xff, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
933 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
934 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
935 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
936 0x00, 0xff, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
938 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
939 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
940 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
941 0x00, 0xff, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
943 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
944 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
945 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
946 0x00, 0xff, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
948 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
949 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
950 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
951 0x00, 0xff, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
953 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
954 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
955 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
956 0x00, 0xff, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
958 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
959 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
960 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
961 0x00, 0xff, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
963 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
964 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
965 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
966 0x00, 0xff, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
968 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
969 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
970 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
971 0x00, 0xff, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
973 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
974 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
975 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
976 0x00, 0xff, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
978 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
979 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
980 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
981 0x00, 0xff, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
983 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
984 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
985 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
986 0x00, 0xff, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
988 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
989 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
990 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
991 0x00, 0xff, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
993 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
994 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
995 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
996 0x00, 0xff, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
998 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
999 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1000 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1001 0x00, 0xff, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
1003 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
1004 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1005 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1006 0x00, 0xff, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
1008 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
1009 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1010 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1011 0x00, 0xff, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
1013 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
1014 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1015 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1016 0x00, 0xfc, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
1018 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
1019 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1020 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1021 0x00, 0xfc, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
1023 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
1024 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1025 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1026 0x00, 0xfc, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
1028 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
1029 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1030 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1031 0x00, 0xfc, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
1033 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
1034 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1035 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1036 0x00, 0xfc, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
1038 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
1039 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1040 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1041 0x00, 0xfc, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
1043 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
1044 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x07, 0x00, 0x7f,
1045 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1046 0x00, 0xfc, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
1048 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
1049 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x07, 0x00, 0x7f,
1050 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1051 0x00, 0xfc, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
1053 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
1054 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x06, 0x00, 0x7f,
1055 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1056 0x00, 0xfc, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
1058 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
1059 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x06, 0x00, 0x7f,
1060 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1061 0x00, 0xfc, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
1063 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1064 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x06, 0x00, 0x7f,
1065 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1066 0x00, 0xfc, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
1068 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1069 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x06, 0x00, 0x7f,
1070 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1071 0x00, 0xfc, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
1073 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1074 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1075 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1076 0x00, 0xfc, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
1078 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1079 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1080 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1081 0x00, 0xfc, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
1083 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1084 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1085 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1086 0x00, 0xfc, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
1088 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1089 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1090 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1091 0x00, 0xfc, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
1093 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
1094 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x06, 0x00, 0x7f,
1095 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1096 0x00, 0xfc, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
1098 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
1099 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x06, 0x00, 0x7f,
1100 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1101 0x00, 0xfc, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
1103 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
1104 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x05, 0x00, 0x7f,
1105 0x00, 0x09, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1106 0x00, 0xfc, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
1108 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
1109 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x05, 0x00, 0x7f,
1110 0x00, 0x09, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1111 0x00, 0xfa, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
1113 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
1114 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x05, 0x00, 0x7f,
1115 0x00, 0x09, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1116 0x00, 0xfa, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
1118 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
1119 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x05, 0x00, 0x7f,
1120 0x00, 0x09, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1121 0x00, 0xfa, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
1123 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
1124 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x05, 0x00, 0x7f,
1125 0x00, 0x09, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1126 0x00, 0xfa, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
1128 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
1129 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1130 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1131 0x00, 0xfa, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
1133 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
1134 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1135 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1136 0x00, 0xfa, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
1138 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
1139 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1140 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1141 0x00, 0xfa, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
1143 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1144 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1145 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1146 0x00, 0xfa, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
1148 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1149 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x8f, 0x00, 0x05, 0x00, 0x7f,
1150 0x00, 0x09, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1151 0x00, 0xfa, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
1153 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1154 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x04, 0x00, 0x7f,
1155 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1156 0x00, 0xfa, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
1158 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1159 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x04, 0x00, 0x7f,
1160 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1161 0x00, 0xfa, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
1163 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1164 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x04, 0x00, 0x7f,
1165 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8e, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1166 0x00, 0xfa, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
1168 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1169 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x04, 0x00, 0x7f,
1170 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8e, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1171 0x00, 0xfa, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
1173 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
1174 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7e, 0x00, 0x04, 0x00, 0x7f,
1175 0x00, 0x08, 0x00, 0xfa, 0x00, 0x7e, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1176 0x00, 0xfa, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
1178 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
1179 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7d, 0x00, 0x04, 0x00, 0x7f,
1180 0x00, 0x08, 0x00, 0xfa, 0x00, 0x7d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1181 0x00, 0xfa, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
1183 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
1184 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x04, 0x00, 0x7f,
1185 0x00, 0x08, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1186 0x00, 0xf8, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
1188 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
1189 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x04, 0x00, 0x7f,
1190 0x00, 0x08, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1191 0x00, 0xf8, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
1193 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
1194 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5d, 0x00, 0x04, 0x00, 0x7f,
1195 0x00, 0x08, 0x00, 0xf8, 0x00, 0x5d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1196 0x00, 0xf8, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
1198 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
1199 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5c, 0x00, 0x04, 0x00, 0x7f,
1200 0x00, 0x08, 0x00, 0xf8, 0x00, 0x5c, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1201 0x00, 0xf8, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
1203 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
1204 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x5c, 0x00, 0x03, 0x00, 0x7f,
1205 0x00, 0x07, 0x00, 0xf8, 0x00, 0x5c, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1206 0x00, 0xf8, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
1208 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
1209 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x03, 0x00, 0x7f,
1210 0x00, 0x07, 0x00, 0xf8, 0x00, 0x4c, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1211 0x00, 0xf8, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
1213 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
1214 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x03, 0x00, 0x7f,
1215 0x00, 0x07, 0x00, 0xf8, 0x00, 0x4c, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1216 0x00, 0xf8, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
1218 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
1219 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x03, 0x00, 0x7f,
1220 0x00, 0x07, 0x00, 0xf8, 0x00, 0x3b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1221 0x00, 0xf8, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
1223 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1224 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x03, 0x00, 0x7f,
1225 0x00, 0x07, 0x00, 0xf8, 0x00, 0x3b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1226 0x00, 0xf8, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
1228 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1229 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x03, 0x00, 0x7f,
1230 0x00, 0x07, 0x00, 0xf8, 0x00, 0x3b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1231 0x00, 0xf8, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
1233 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1234 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2b, 0x00, 0x03, 0x00, 0x7f,
1235 0x00, 0x07, 0x00, 0xf8, 0x00, 0x2b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1236 0x00, 0xf8, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
1238 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1239 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2a, 0x00, 0x03, 0x00, 0x7f,
1240 0x00, 0x07, 0x00, 0xf8, 0x00, 0x2a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1241 0x00, 0xf8, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
1243 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1244 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x03, 0x00, 0x7f,
1245 0x00, 0x07, 0x00, 0xf8, 0x00, 0x1a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1246 0x00, 0xf8, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
1248 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1249 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x03, 0x00, 0x7f,
1250 0x00, 0x07, 0x00, 0xf8, 0x00, 0x1a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1251 0x00, 0xf8, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
1253 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
1254 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x1a, 0x00, 0x03, 0x00, 0x7f,
1255 0x00, 0x07, 0x00, 0xf8, 0x00, 0x1a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1256 0x00, 0xf8, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
1258 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
1259 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x03, 0x00, 0x7f,
1260 0x00, 0x07, 0x00, 0xf8, 0x00, 0x19, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1261 0x00, 0xf8, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
1263 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
1264 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x03, 0x00, 0x7f,
1265 0x00, 0x07, 0x00, 0xf8, 0x00, 0x19, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1266 0x00, 0xf8, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
1268 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
1269 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x03, 0x00, 0x7f,
1270 0x00, 0x07, 0x00, 0xf8, 0x00, 0x09, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1271 0x00, 0xf8, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
1273 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
1274 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x03, 0x00, 0x7f,
1275 0x00, 0x07, 0x00, 0xf8, 0x00, 0x09, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1276 0x00, 0xf8, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
1278 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
1279 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1280 0x00, 0x07, 0x00, 0xf8, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1281 0x00, 0xf8, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
1283 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
1284 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1285 0x00, 0x07, 0x00, 0xf6, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1286 0x00, 0xf6, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
1288 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
1289 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1290 0x00, 0x07, 0x00, 0xf6, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1291 0x00, 0xf6, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
1293 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
1294 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1295 0x00, 0x07, 0x00, 0xf6, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1296 0x00, 0xf6, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
1298 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
1299 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x07, 0x00, 0x03, 0x00, 0x7f,
1300 0x00, 0x07, 0x00, 0xf6, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1301 0x00, 0xf6, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
1303 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1304 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x02, 0x00, 0x7f,
1305 0x00, 0x06, 0x00, 0xf6, 0x00, 0x07, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1306 0x00, 0xf6, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
1308 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1309 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x02, 0x00, 0x7f,
1310 0x00, 0x06, 0x00, 0xf4, 0x00, 0x07, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1311 0x00, 0xf4, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
1313 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1314 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x02, 0x00, 0x7f,
1315 0x00, 0x06, 0x00, 0xf4, 0x00, 0x07, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1316 0x00, 0xf4, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
1318 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
1319 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1320 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1321 0x00, 0xf4, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
1323 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1324 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1325 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1326 0x00, 0xf4, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
1328 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
1329 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1330 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1331 0x00, 0xf4, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
1333 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1334 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1335 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1336 0x00, 0xf4, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
1338 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
1339 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1340 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1341 0x00, 0xf4, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
1343 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1344 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1345 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1346 0x00, 0xf4, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
1348 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
1349 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1350 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1351 0x00, 0xf4, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
1353 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
1354 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1355 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1356 0x00, 0xf4, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
1358 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
1359 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1360 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1361 0x00, 0xf4, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
1363 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
1364 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1365 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1366 0x00, 0xf4, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
1368 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
1369 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1370 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1371 0x00, 0xf4, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
1373 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
1374 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1375 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1376 0x00, 0xf4, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
1378 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
1379 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x02, 0x00, 0x7f,
1380 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1381 0x00, 0xf4, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
1383 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
1384 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x02, 0x00, 0x7f,
1385 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1386 0x00, 0xf4, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
1388 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
1389 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x02, 0x00, 0x7f,
1390 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1391 0x00, 0xf4, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
1393 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
1394 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1395 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1396 0x00, 0xf4, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
1398 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
1399 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1400 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1401 0x00, 0xf4, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
1403 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
1404 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1405 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1406 0x00, 0xf4, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
1408 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
1409 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1410 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1411 0x00, 0xf4, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
1413 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
1414 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1415 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1416 0x00, 0xf4, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
1418 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
1419 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1420 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1421 0x00, 0xf4, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
1423 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
1424 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1425 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1426 0x00, 0xf4, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
1428 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
1429 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1430 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1431 0x00, 0xf4, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
1433 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
1434 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1435 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1436 0x00, 0xf4, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
1438 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1439 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1440 0x00, 0x06, 0x00, 0xf2, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1441 0x00, 0xf2, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
1443 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1444 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x7f,
1445 0x00, 0x06, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1446 0x00, 0xf2, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
1448 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1449 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x7f,
1450 0x00, 0x06, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1451 0x00, 0xf2, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
1453 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1454 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x7f,
1455 0x00, 0x06, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1456 0x00, 0xf2, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
1458 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1459 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f,
1460 0x00, 0x05, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x05,
1461 0x00, 0xf2, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
1463 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1464 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f,
1465 0x00, 0x05, 0x00, 0xf2, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x05,
1466 0x00, 0xf2, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
1468 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
1469 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x05, 0x00,
1470 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xff, 0x00, 0x05, 0x00, 0x70, 0x00,
1471 0x0f, 0x00, 0x0f, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
1473 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
1474 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x05, 0x00,
1475 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xff, 0x00, 0x05, 0x00, 0x70, 0x00,
1476 0x0f, 0x00, 0x0f, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
1478 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
1479 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x05, 0x00,
1480 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xff, 0x00, 0x05, 0x00, 0x70, 0x00,
1481 0x0f, 0x00, 0x0f, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
1483 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
1484 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x05, 0x00,
1485 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xfd, 0x00, 0x05, 0x00, 0x70, 0x00,
1486 0x0f, 0x00, 0x0f, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
1488 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
1489 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfb, 0x00, 0x05, 0x00,
1490 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xfb, 0x00, 0x05, 0x00, 0x70, 0x00,
1491 0x0f, 0x00, 0x0f, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
1493 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
1494 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x05, 0x00,
1495 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x05, 0x00, 0x70, 0x00,
1496 0x0f, 0x00, 0x0f, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
1498 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
1499 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x05, 0x00,
1500 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x05, 0x00, 0x70, 0x00,
1501 0x0f, 0x00, 0x0f, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
1503 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
1504 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x05, 0x00,
1505 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xf7, 0x00, 0x05, 0x00, 0x70, 0x00,
1506 0x0f, 0x00, 0x0f, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
1508 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
1509 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf6, 0x00, 0x05, 0x00,
1510 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xf6, 0x00, 0x05, 0x00, 0x70, 0x00,
1511 0x0f, 0x00, 0x0f, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
1513 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
1514 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x05, 0x00,
1515 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf5, 0x00, 0x05, 0x00, 0x70, 0x00,
1516 0x0f, 0x00, 0x0d, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
1518 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
1519 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x05, 0x00,
1520 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x70, 0x00,
1521 0x0f, 0x00, 0x0d, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
1523 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
1524 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf3, 0x00, 0x05, 0x00,
1525 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf3, 0x00, 0x05, 0x00, 0x70, 0x00,
1526 0x0f, 0x00, 0x0d, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
1528 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
1529 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x05, 0x00,
1530 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x70, 0x00,
1531 0x0f, 0x00, 0x0d, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
1533 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
1534 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x05, 0x00,
1535 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf0, 0x00, 0x05, 0x00, 0x70, 0x00,
1536 0x0f, 0x00, 0x0d, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
1539 static chan_info_nphy_radio205x_t chan_info_nphyrev4_2056_A1[] = {
1541 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
1542 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1543 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1544 0x00, 0xff, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
1546 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
1547 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1548 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1549 0x00, 0xff, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
1551 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
1552 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1553 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1554 0x00, 0xff, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
1556 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
1557 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1558 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1559 0x00, 0xff, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
1561 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
1562 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1563 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1564 0x00, 0xff, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
1566 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
1567 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1568 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1569 0x00, 0xff, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
1571 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
1572 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1573 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1574 0x00, 0xff, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
1576 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
1577 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1578 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1579 0x00, 0xff, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
1581 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
1582 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1583 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1584 0x00, 0xff, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
1586 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
1587 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1588 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1589 0x00, 0xff, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
1591 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
1592 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1593 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1594 0x00, 0xff, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
1596 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
1597 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1598 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1599 0x00, 0xff, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
1601 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
1602 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1603 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1604 0x00, 0xff, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
1606 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
1607 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1608 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1609 0x00, 0xff, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
1611 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
1612 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1613 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1614 0x00, 0xff, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
1616 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
1617 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1618 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1619 0x00, 0xff, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
1621 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
1622 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1623 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1624 0x00, 0xff, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
1626 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
1627 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1628 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1629 0x00, 0xff, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
1631 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
1632 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1633 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1634 0x00, 0xfe, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
1636 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
1637 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1638 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1639 0x00, 0xfe, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
1641 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
1642 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1643 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1644 0x00, 0xfe, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
1646 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
1647 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1648 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1649 0x00, 0xfe, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
1651 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
1652 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1653 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1654 0x00, 0xfe, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
1656 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
1657 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1658 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1659 0x00, 0xfe, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
1661 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
1662 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1663 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1664 0x00, 0xfe, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
1666 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
1667 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x0c, 0x00, 0x7f,
1668 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xef, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1669 0x00, 0xfe, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
1671 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
1672 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x0c, 0x00, 0x7f,
1673 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xef, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1674 0x00, 0xfe, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
1676 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
1677 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x0a, 0x00, 0x7f,
1678 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1679 0x00, 0xfc, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
1681 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
1682 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x0a, 0x00, 0x7f,
1683 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1684 0x00, 0xfc, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
1686 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1687 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x0a, 0x00, 0x7f,
1688 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1689 0x00, 0xfc, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
1691 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1692 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x0a, 0x00, 0x7f,
1693 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1694 0x00, 0xfc, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
1696 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1697 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1698 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1699 0x00, 0xfc, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
1701 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1702 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1703 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1704 0x00, 0xfc, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
1706 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1707 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1708 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1709 0x00, 0xfc, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
1711 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1712 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1713 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1714 0x00, 0xfc, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
1716 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
1717 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x0a, 0x00, 0x7f,
1718 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1719 0x00, 0xfc, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
1721 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
1722 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x0a, 0x00, 0x7f,
1723 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1724 0x00, 0xfc, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
1726 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
1727 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x08, 0x00, 0x7f,
1728 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1729 0x00, 0xfa, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
1731 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
1732 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x08, 0x00, 0x7f,
1733 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1734 0x00, 0xfa, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
1736 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
1737 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x08, 0x00, 0x7f,
1738 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1739 0x00, 0xfa, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
1741 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
1742 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x08, 0x00, 0x7f,
1743 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1744 0x00, 0xfa, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
1746 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
1747 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x08, 0x00, 0x7f,
1748 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1749 0x00, 0xfa, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
1751 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
1752 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1753 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1754 0x00, 0xfa, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
1756 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
1757 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1758 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1759 0x00, 0xfa, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
1761 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
1762 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1763 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1764 0x00, 0xfa, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
1766 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1767 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1768 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1769 0x00, 0xfa, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
1771 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1772 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x8f, 0x00, 0x08, 0x00, 0x7f,
1773 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1774 0x00, 0xfa, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
1776 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1777 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x07, 0x00, 0x7f,
1778 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8f, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1779 0x00, 0xf8, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
1781 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1782 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x07, 0x00, 0x7f,
1783 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8f, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1784 0x00, 0xf8, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
1786 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1787 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x07, 0x00, 0x7f,
1788 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8e, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1789 0x00, 0xf8, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
1791 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1792 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x07, 0x00, 0x7f,
1793 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8e, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1794 0x00, 0xf8, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
1796 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
1797 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7e, 0x00, 0x07, 0x00, 0x7f,
1798 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x7e, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1799 0x00, 0xf8, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
1801 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
1802 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7d, 0x00, 0x07, 0x00, 0x7f,
1803 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x7d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1804 0x00, 0xf8, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
1806 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
1807 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x07, 0x00, 0x7f,
1808 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1809 0x00, 0xf8, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
1811 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
1812 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x07, 0x00, 0x7f,
1813 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1814 0x00, 0xf8, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
1816 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
1817 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5d, 0x00, 0x07, 0x00, 0x7f,
1818 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x5d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1819 0x00, 0xf8, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
1821 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
1822 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5c, 0x00, 0x07, 0x00, 0x7f,
1823 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x5c, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1824 0x00, 0xf8, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
1826 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
1827 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x5c, 0x00, 0x06, 0x00, 0x7f,
1828 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x5c, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1829 0x00, 0xf6, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
1831 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
1832 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x06, 0x00, 0x7f,
1833 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x4c, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1834 0x00, 0xf6, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
1836 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
1837 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x06, 0x00, 0x7f,
1838 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x4c, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1839 0x00, 0xf6, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
1841 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
1842 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x06, 0x00, 0x7f,
1843 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x3b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1844 0x00, 0xf6, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
1846 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1847 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x06, 0x00, 0x7f,
1848 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x3b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1849 0x00, 0xf6, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
1851 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1852 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x06, 0x00, 0x7f,
1853 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x3b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1854 0x00, 0xf6, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
1856 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1857 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2b, 0x00, 0x06, 0x00, 0x7f,
1858 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x2b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1859 0x00, 0xf6, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
1861 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1862 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2a, 0x00, 0x06, 0x00, 0x7f,
1863 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x2a, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1864 0x00, 0xf6, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
1866 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1867 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x06, 0x00, 0x7f,
1868 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x1a, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1869 0x00, 0xf6, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
1871 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1872 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x06, 0x00, 0x7f,
1873 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x1a, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1874 0x00, 0xf6, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
1876 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
1877 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x1a, 0x00, 0x04, 0x00, 0x7f,
1878 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x1a, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1879 0x00, 0xf4, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
1881 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
1882 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x04, 0x00, 0x7f,
1883 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x19, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1884 0x00, 0xf4, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
1886 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
1887 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x04, 0x00, 0x7f,
1888 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x19, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1889 0x00, 0xf4, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
1891 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
1892 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x04, 0x00, 0x7f,
1893 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x09, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1894 0x00, 0xf4, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
1896 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
1897 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x04, 0x00, 0x7f,
1898 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x09, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1899 0x00, 0xf4, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
1901 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
1902 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1903 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1904 0x00, 0xf4, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
1906 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
1907 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1908 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1909 0x00, 0xf4, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
1911 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
1912 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1913 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1914 0x00, 0xf4, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
1916 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
1917 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1918 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1919 0x00, 0xf4, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
1921 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
1922 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x07, 0x00, 0x04, 0x00, 0x7f,
1923 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x07, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1924 0x00, 0xf4, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
1926 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1927 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x03, 0x00, 0x7f,
1928 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1929 0x00, 0xf2, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
1931 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1932 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x03, 0x00, 0x7f,
1933 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1934 0x00, 0xf2, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
1936 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1937 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x03, 0x00, 0x7f,
1938 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1939 0x00, 0xf2, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
1941 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
1942 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1943 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1944 0x00, 0xf2, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
1946 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1947 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1948 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1949 0x00, 0xf2, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
1951 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
1952 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1953 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1954 0x00, 0xf2, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
1956 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1957 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1958 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1959 0x00, 0xf2, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
1961 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
1962 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1963 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1964 0x00, 0xf2, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
1966 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1967 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1968 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1969 0x00, 0xf2, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
1971 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
1972 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1973 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1974 0x00, 0xf2, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
1976 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
1977 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1978 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1979 0x00, 0xf2, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
1981 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
1982 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1983 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1984 0x00, 0xf2, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
1986 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
1987 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1988 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1989 0x00, 0xf2, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
1991 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
1992 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1993 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1994 0x00, 0xf2, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
1996 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
1997 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1998 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1999 0x00, 0xf2, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
2001 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
2002 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x03, 0x00, 0x7f,
2003 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2004 0x00, 0xf2, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
2006 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
2007 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x03, 0x00, 0x7f,
2008 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2009 0x00, 0xf2, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
2011 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
2012 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x03, 0x00, 0x7f,
2013 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2014 0x00, 0xf2, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
2016 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
2017 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2018 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2019 0x00, 0xf0, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
2021 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
2022 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2023 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2024 0x00, 0xf0, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
2026 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
2027 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2028 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2029 0x00, 0xf0, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
2031 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
2032 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2033 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2034 0x00, 0xf0, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
2036 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
2037 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2038 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2039 0x00, 0xf0, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
2041 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
2042 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2043 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2044 0x00, 0xf0, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
2046 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
2047 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2048 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2049 0x00, 0xf0, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
2051 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
2052 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2053 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2054 0x00, 0xf0, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
2056 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
2057 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2058 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2059 0x00, 0xf0, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
2061 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2062 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2063 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2064 0x00, 0xf0, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
2066 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2067 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x02, 0x00, 0x7f,
2068 0x00, 0x09, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2069 0x00, 0xf0, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
2071 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2072 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x02, 0x00, 0x7f,
2073 0x00, 0x09, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2074 0x00, 0xf0, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
2076 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2077 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x02, 0x00, 0x7f,
2078 0x00, 0x09, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2079 0x00, 0xf0, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
2081 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2082 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f,
2083 0x00, 0x07, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x07,
2084 0x00, 0xf0, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
2086 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2087 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f,
2088 0x00, 0x07, 0x00, 0xf0, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x07,
2089 0x00, 0xf0, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
2091 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
2092 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x04, 0x00,
2093 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xff, 0x00, 0x04, 0x00, 0x70, 0x00,
2094 0x0f, 0x00, 0x0e, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
2096 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
2097 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x04, 0x00,
2098 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xff, 0x00, 0x04, 0x00, 0x70, 0x00,
2099 0x0f, 0x00, 0x0e, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
2101 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
2102 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x04, 0x00,
2103 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xff, 0x00, 0x04, 0x00, 0x70, 0x00,
2104 0x0f, 0x00, 0x0e, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
2106 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
2107 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x04, 0x00,
2108 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xfd, 0x00, 0x04, 0x00, 0x70, 0x00,
2109 0x0f, 0x00, 0x0e, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
2111 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
2112 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfb, 0x00, 0x04, 0x00,
2113 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xfb, 0x00, 0x04, 0x00, 0x70, 0x00,
2114 0x0f, 0x00, 0x0e, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
2116 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
2117 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00,
2118 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xfa, 0x00, 0x04, 0x00, 0x70, 0x00,
2119 0x0f, 0x00, 0x0e, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
2121 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
2122 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x04, 0x00,
2123 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf8, 0x00, 0x04, 0x00, 0x70, 0x00,
2124 0x0f, 0x00, 0x0e, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
2126 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
2127 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x04, 0x00,
2128 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf7, 0x00, 0x04, 0x00, 0x70, 0x00,
2129 0x0f, 0x00, 0x0e, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
2131 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
2132 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf6, 0x00, 0x04, 0x00,
2133 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf6, 0x00, 0x04, 0x00, 0x70, 0x00,
2134 0x0f, 0x00, 0x0e, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
2136 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
2137 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x04, 0x00,
2138 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf5, 0x00, 0x04, 0x00, 0x70, 0x00,
2139 0x0f, 0x00, 0x0e, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
2141 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
2142 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x04, 0x00,
2143 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x70, 0x00,
2144 0x0f, 0x00, 0x0e, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
2146 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
2147 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf3, 0x00, 0x04, 0x00,
2148 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf3, 0x00, 0x04, 0x00, 0x70, 0x00,
2149 0x0f, 0x00, 0x0e, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
2151 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
2152 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x04, 0x00,
2153 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x70, 0x00,
2154 0x0f, 0x00, 0x0e, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
2156 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
2157 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x04, 0x00,
2158 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x70, 0x00,
2159 0x0f, 0x00, 0x0e, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
2162 static chan_info_nphy_radio205x_t chan_info_nphyrev5_2056v5[] = {
2164 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
2165 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2166 0x00, 0x0f, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0f,
2167 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
2169 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
2170 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2171 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
2172 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
2174 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
2175 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2176 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
2177 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
2179 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
2180 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2181 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
2182 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
2184 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
2185 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2186 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0e,
2187 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
2189 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
2190 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2191 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2192 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
2194 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
2195 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2196 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2197 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
2199 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
2200 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2201 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2202 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
2204 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
2205 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2206 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2207 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
2209 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
2210 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2211 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2212 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
2214 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
2215 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
2216 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0d,
2217 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
2219 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
2220 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
2221 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2222 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
2224 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
2225 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
2226 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2227 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
2229 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
2230 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
2231 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2232 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
2234 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
2235 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x70,
2236 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2237 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
2239 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
2240 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x70,
2241 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2242 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
2244 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
2245 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2246 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2247 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
2249 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
2250 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2251 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2252 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
2254 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
2255 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2256 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2257 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
2259 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
2260 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2261 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2262 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
2264 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
2265 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2266 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2267 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
2269 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
2270 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x70,
2271 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0a,
2272 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
2274 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
2275 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
2276 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x0a,
2277 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
2279 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
2280 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
2281 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x09,
2282 0x00, 0x6e, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
2284 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
2285 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x06, 0x00, 0x70,
2286 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2287 0x00, 0x6e, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
2289 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
2290 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2291 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2292 0x00, 0x6e, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
2294 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
2295 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2296 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2297 0x00, 0x6e, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
2299 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
2300 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2301 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2302 0x00, 0x6e, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
2304 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
2305 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2306 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2307 0x00, 0x6e, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
2309 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2310 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2311 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2312 0x00, 0x6e, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
2314 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2315 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xea, 0x00, 0x06, 0x00, 0x70,
2316 0x00, 0x08, 0x00, 0x9e, 0x00, 0xea, 0x00, 0x06, 0x00, 0x70, 0x00, 0x08,
2317 0x00, 0x6e, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
2319 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2320 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xe9, 0x00, 0x05, 0x00, 0x70,
2321 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
2322 0x00, 0x6d, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
2324 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2325 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xe9, 0x00, 0x05, 0x00, 0x70,
2326 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
2327 0x00, 0x6d, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
2329 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2330 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xd9, 0x00, 0x05, 0x00, 0x70,
2331 0x00, 0x08, 0x00, 0x9d, 0x00, 0xd9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
2332 0x00, 0x6d, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
2334 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2335 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xd8, 0x00, 0x04, 0x00, 0x70,
2336 0x00, 0x07, 0x00, 0x9c, 0x00, 0xd8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2337 0x00, 0x6c, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
2339 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
2340 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2341 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2342 0x00, 0x6c, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
2344 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
2345 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2346 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2347 0x00, 0x6c, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
2349 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
2350 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2351 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2352 0x00, 0x6c, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
2354 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
2355 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2356 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2357 0x00, 0x6c, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
2359 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
2360 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xb8, 0x00, 0x04, 0x00, 0x70,
2361 0x00, 0x07, 0x00, 0x9c, 0x00, 0xb8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2362 0x00, 0x6c, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
2364 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
2365 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xb7, 0x00, 0x04, 0x00, 0x70,
2366 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2367 0x00, 0x6b, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
2369 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
2370 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xb7, 0x00, 0x03, 0x00, 0x70,
2371 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x07,
2372 0x00, 0x6b, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
2374 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
2375 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xa7, 0x00, 0x03, 0x00, 0x70,
2376 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2377 0x00, 0x6b, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
2379 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
2380 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xa6, 0x00, 0x03, 0x00, 0x70,
2381 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2382 0x00, 0x6b, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
2384 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
2385 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xa6, 0x00, 0x03, 0x00, 0x70,
2386 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2387 0x00, 0x5b, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
2389 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2390 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x96, 0x00, 0x03, 0x00, 0x70,
2391 0x00, 0x06, 0x00, 0x9a, 0x00, 0x96, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2392 0x00, 0x5a, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
2394 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2395 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x95, 0x00, 0x03, 0x00, 0x70,
2396 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2397 0x00, 0x5a, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
2399 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2400 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x95, 0x00, 0x03, 0x00, 0x70,
2401 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2402 0x00, 0x5a, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
2404 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2405 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x95, 0x00, 0x03, 0x00, 0x70,
2406 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
2407 0x00, 0x5a, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
2409 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2410 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x95, 0x00, 0x03, 0x00, 0x70,
2411 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
2412 0x00, 0x5a, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
2414 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2415 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x85, 0x00, 0x02, 0x00, 0x70,
2416 0x00, 0x05, 0x00, 0x99, 0x00, 0x85, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
2417 0x00, 0x59, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
2419 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
2420 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x84, 0x00, 0x02, 0x00, 0x70,
2421 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
2422 0x00, 0x59, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
2424 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
2425 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x84, 0x00, 0x02, 0x00, 0x70,
2426 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
2427 0x00, 0x59, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
2429 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
2430 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x84, 0x00, 0x02, 0x00, 0x70,
2431 0x00, 0x04, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x04,
2432 0x00, 0x69, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
2434 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
2435 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x74, 0x00, 0x01, 0x00, 0x70,
2436 0x00, 0x04, 0x00, 0x99, 0x00, 0x74, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2437 0x00, 0x69, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
2439 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
2440 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x73, 0x00, 0x01, 0x00, 0x70,
2441 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2442 0x00, 0x68, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
2444 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
2445 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x73, 0x00, 0x01, 0x00, 0x70,
2446 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2447 0x00, 0x68, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
2449 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
2450 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
2451 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2452 0x00, 0x78, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
2454 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
2455 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
2456 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2457 0x00, 0x78, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
2459 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
2460 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
2461 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2462 0x00, 0x78, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
2464 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
2465 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x63, 0x00, 0x01, 0x00, 0x70,
2466 0x00, 0x03, 0x00, 0x98, 0x00, 0x63, 0x00, 0x01, 0x00, 0x70, 0x00, 0x03,
2467 0x00, 0x78, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
2469 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2470 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x62, 0x00, 0x00, 0x00, 0x70,
2471 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
2472 0x00, 0x77, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
2474 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2475 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x62, 0x00, 0x00, 0x00, 0x70,
2476 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
2477 0x00, 0x77, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
2479 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2480 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x62, 0x00, 0x00, 0x00, 0x70,
2481 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
2482 0x00, 0x77, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
2484 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2485 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x52, 0x00, 0x00, 0x00, 0x70,
2486 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2487 0x00, 0x76, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
2489 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2490 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x52, 0x00, 0x00, 0x00, 0x70,
2491 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2492 0x00, 0x76, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
2494 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2495 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x51, 0x00, 0x00, 0x00, 0x70,
2496 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2497 0x00, 0x76, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
2499 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
2500 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2501 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2502 0x00, 0x76, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
2504 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
2505 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2506 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2507 0x00, 0x76, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
2509 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
2510 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2511 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2512 0x00, 0x76, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
2514 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
2515 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2516 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2517 0x00, 0x76, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
2519 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
2520 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2521 0x00, 0x02, 0x00, 0x95, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2522 0x00, 0x75, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
2524 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
2525 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x50, 0x00, 0x00, 0x00, 0x70,
2526 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2527 0x00, 0x75, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
2529 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
2530 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x50, 0x00, 0x00, 0x00, 0x70,
2531 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2532 0x00, 0x75, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
2534 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
2535 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x40, 0x00, 0x00, 0x00, 0x70,
2536 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2537 0x00, 0x74, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
2539 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
2540 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x40, 0x00, 0x00, 0x00, 0x70,
2541 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2542 0x00, 0x74, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
2544 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
2545 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x40, 0x00, 0x00, 0x00, 0x70,
2546 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2547 0x00, 0x74, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
2549 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2550 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2551 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2552 0x00, 0x74, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
2554 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2555 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2556 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2557 0x00, 0x74, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
2559 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2560 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2561 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2562 0x00, 0x74, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
2564 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
2565 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2566 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2567 0x00, 0x74, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
2569 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2570 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2571 0x00, 0x01, 0x00, 0x94, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2572 0x00, 0x84, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
2574 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
2575 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2576 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2577 0x00, 0x83, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
2579 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2580 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2581 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2582 0x00, 0x83, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
2584 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
2585 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2586 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2587 0x00, 0x83, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
2589 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2590 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2591 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2592 0x00, 0x83, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
2594 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
2595 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2596 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2597 0x00, 0x83, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
2599 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
2600 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2601 0x00, 0x00, 0x00, 0x93, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2602 0x00, 0x83, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
2604 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
2605 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2606 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2607 0x00, 0x82, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
2609 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
2610 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2611 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2612 0x00, 0x82, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
2614 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
2615 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2616 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2617 0x00, 0x82, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
2619 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
2620 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2621 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2622 0x00, 0x82, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
2624 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
2625 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2626 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2627 0x00, 0x82, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
2629 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
2630 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2631 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2632 0x00, 0x82, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
2634 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
2635 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2636 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2637 0x00, 0x82, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
2639 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
2640 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2641 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2642 0x00, 0x82, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
2644 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
2645 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2646 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2647 0x00, 0x82, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
2649 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
2650 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2651 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2652 0x00, 0x82, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
2654 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
2655 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2656 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2657 0x00, 0x82, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
2659 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
2660 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2661 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2662 0x00, 0x82, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
2664 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
2665 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2666 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2667 0x00, 0x82, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
2669 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
2670 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2671 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2672 0x00, 0x72, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
2674 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
2675 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2676 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2677 0x00, 0x72, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
2679 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
2680 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2681 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2682 0x00, 0x72, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
2684 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2685 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2686 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2687 0x00, 0x72, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
2689 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2690 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2691 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2692 0x00, 0x71, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
2694 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2695 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2696 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2697 0x00, 0x71, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
2699 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2700 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2701 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2702 0x00, 0x71, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
2704 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2705 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
2706 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2707 0x00, 0x71, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
2709 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2710 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
2711 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2712 0x00, 0x71, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
2714 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
2715 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x03, 0x00,
2716 0x70, 0x00, 0x0f, 0x00, 0x0b, 0x00, 0x1f, 0x00, 0x03, 0x00, 0x70, 0x00,
2717 0x0f, 0x00, 0x0b, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
2719 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
2720 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x03, 0x00,
2721 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x1f, 0x00, 0x03, 0x00, 0x70, 0x00,
2722 0x0f, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
2724 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
2725 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00,
2726 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x70, 0x00,
2727 0x0f, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
2729 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
2730 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x03, 0x00,
2731 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x03, 0x00, 0x70, 0x00,
2732 0x0e, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
2734 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
2735 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x03, 0x00,
2736 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x0c, 0x00, 0x03, 0x00, 0x70, 0x00,
2737 0x0e, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
2739 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
2740 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x03, 0x00,
2741 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x03, 0x00, 0x70, 0x00,
2742 0x0e, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
2744 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
2745 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x09, 0x00, 0x03, 0x00,
2746 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x03, 0x00, 0x70, 0x00,
2747 0x0e, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
2749 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
2750 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00,
2751 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x08, 0x00, 0x02, 0x00, 0x70, 0x00,
2752 0x0e, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
2754 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
2755 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x07, 0x00, 0x02, 0x00,
2756 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x07, 0x00, 0x02, 0x00, 0x70, 0x00,
2757 0x0e, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
2759 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
2760 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00,
2761 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x06, 0x00, 0x02, 0x00, 0x70, 0x00,
2762 0x0d, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
2764 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
2765 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x05, 0x00, 0x02, 0x00,
2766 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x05, 0x00, 0x02, 0x00, 0x70, 0x00,
2767 0x0d, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
2769 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
2770 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00,
2771 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x04, 0x00, 0x02, 0x00, 0x70, 0x00,
2772 0x0d, 0x00, 0x08, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
2774 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
2775 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02, 0x00,
2776 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x03, 0x00, 0x02, 0x00, 0x70, 0x00,
2777 0x0d, 0x00, 0x08, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
2779 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
2780 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
2781 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
2782 0x0d, 0x00, 0x08, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
2785 static chan_info_nphy_radio205x_t chan_info_nphyrev6_2056v6[] = {
2787 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
2788 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2789 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2790 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
2792 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
2793 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2794 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2795 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
2797 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
2798 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2799 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2800 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
2802 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
2803 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2804 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2805 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
2807 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
2808 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2809 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2810 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
2812 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
2813 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2814 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2815 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
2817 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
2818 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2819 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2820 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
2822 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
2823 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2824 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2825 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
2827 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
2828 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2829 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2830 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
2832 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
2833 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2834 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2835 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
2837 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
2838 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2839 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2840 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
2842 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
2843 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2844 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2845 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
2847 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
2848 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2849 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2850 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
2852 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
2853 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2854 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2855 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
2857 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
2858 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2859 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2860 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
2862 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
2863 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
2864 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2865 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
2867 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
2868 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
2869 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2870 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
2872 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
2873 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
2874 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2875 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
2877 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
2878 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x77,
2879 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2880 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
2882 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
2883 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
2884 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2885 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
2887 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
2888 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
2889 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2890 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
2892 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
2893 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
2894 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2895 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
2897 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
2898 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x77,
2899 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2900 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
2902 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
2903 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
2904 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
2905 0x00, 0x6f, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
2907 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
2908 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
2909 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
2910 0x00, 0x6f, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
2912 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
2913 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
2914 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0e,
2915 0x00, 0x6f, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
2917 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
2918 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
2919 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0d,
2920 0x00, 0x6f, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
2922 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
2923 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
2924 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2925 0x00, 0x6f, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
2927 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
2928 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
2929 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2930 0x00, 0x6f, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
2932 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2933 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xd8, 0x00, 0x05, 0x00, 0x77,
2934 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2935 0x00, 0x6f, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
2937 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2938 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xd8, 0x00, 0x05, 0x00, 0x77,
2939 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2940 0x00, 0x6f, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
2942 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2943 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xc8, 0x00, 0x05, 0x00, 0x77,
2944 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2945 0x00, 0x6f, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
2947 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2948 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xc7, 0x00, 0x05, 0x00, 0x77,
2949 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2950 0x00, 0x6f, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
2952 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2953 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
2954 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0d,
2955 0x00, 0x6f, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
2957 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2958 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
2959 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0c,
2960 0x00, 0x6f, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
2962 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
2963 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2964 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2965 0x00, 0x6f, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
2967 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
2968 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2969 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2970 0x00, 0x6f, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
2972 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
2973 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2974 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2975 0x00, 0x6f, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
2977 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
2978 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2979 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2980 0x00, 0x6f, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
2982 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
2983 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb7, 0x00, 0x03, 0x00, 0x77,
2984 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2985 0x00, 0x6f, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
2987 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
2988 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xa6, 0x00, 0x03, 0x00, 0x77,
2989 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
2990 0x00, 0x6f, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
2992 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
2993 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
2994 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
2995 0x00, 0x6f, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
2997 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
2998 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
2999 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
3000 0x00, 0x6f, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
3002 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
3003 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
3004 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3005 0x00, 0x6f, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
3007 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
3008 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
3009 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3010 0x00, 0x6f, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
3012 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3013 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x77,
3014 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3015 0x00, 0x6f, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
3017 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3018 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
3019 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3020 0x00, 0x6f, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
3022 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3023 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
3024 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3025 0x00, 0x6f, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
3027 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3028 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x84, 0x00, 0x02, 0x00, 0x77,
3029 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
3030 0x00, 0x6f, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
3032 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3033 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x84, 0x00, 0x02, 0x00, 0x77,
3034 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
3035 0x00, 0x6f, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
3037 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3038 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
3039 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
3040 0x00, 0x6f, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
3042 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
3043 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
3044 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x09,
3045 0x00, 0x6f, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
3047 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
3048 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
3049 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
3050 0x00, 0x6f, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
3052 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
3053 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
3054 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
3055 0x00, 0x6f, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
3057 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
3058 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x73, 0x00, 0x01, 0x00, 0x77,
3059 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
3060 0x00, 0x6f, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
3062 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
3063 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x00, 0x00, 0x77,
3064 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3065 0x00, 0x6f, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
3067 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
3068 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x00, 0x00, 0x77,
3069 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3070 0x00, 0x6f, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
3072 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
3073 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
3074 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3075 0x00, 0x6f, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
3077 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
3078 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
3079 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3080 0x00, 0x6f, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
3082 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
3083 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
3084 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3085 0x00, 0x6f, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
3087 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
3088 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
3089 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3090 0x00, 0x6f, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
3092 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3093 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x73, 0x00, 0x00, 0x00, 0x77,
3094 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3095 0x00, 0x6f, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
3097 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3098 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
3099 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3100 0x00, 0x6f, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
3102 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3103 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
3104 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3105 0x00, 0x6f, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
3107 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3108 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x77,
3109 0x00, 0x09, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3110 0x00, 0x6f, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
3112 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3113 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x62, 0x00, 0x00, 0x00, 0x77,
3114 0x00, 0x08, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3115 0x00, 0x6f, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
3117 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3118 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x61, 0x00, 0x00, 0x00, 0x77,
3119 0x00, 0x08, 0x00, 0x6f, 0x00, 0x61, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3120 0x00, 0x6f, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
3122 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
3123 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
3124 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3125 0x00, 0x6f, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
3127 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
3128 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
3129 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3130 0x00, 0x6f, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
3132 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
3133 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
3134 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3135 0x00, 0x6f, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
3137 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
3138 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
3139 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3140 0x00, 0x6f, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
3142 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
3143 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x77,
3144 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3145 0x00, 0x6f, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
3147 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
3148 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
3149 0x00, 0x07, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3150 0x00, 0x6f, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
3152 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
3153 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
3154 0x00, 0x06, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3155 0x00, 0x6f, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
3157 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
3158 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x77,
3159 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3160 0x00, 0x6f, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
3162 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
3163 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3164 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3165 0x00, 0x6f, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
3167 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
3168 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3169 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3170 0x00, 0x6f, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
3172 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3173 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3174 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3175 0x00, 0x6e, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
3177 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3178 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3179 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3180 0x00, 0x6e, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
3182 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3183 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3184 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3185 0x00, 0x6e, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
3187 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
3188 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3189 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3190 0x00, 0x6e, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
3192 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3193 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3194 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3195 0x00, 0x6e, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
3197 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
3198 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3199 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3200 0x00, 0x6d, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
3202 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3203 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3204 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3205 0x00, 0x6d, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
3207 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
3208 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3209 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3210 0x00, 0x6d, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
3212 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3213 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x77,
3214 0x00, 0x05, 0x00, 0x6d, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3215 0x00, 0x6d, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
3217 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
3218 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
3219 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3220 0x00, 0x6c, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
3222 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
3223 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
3224 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3225 0x00, 0x6c, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
3227 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
3228 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3229 0x00, 0x05, 0x00, 0x6c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3230 0x00, 0x6c, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
3232 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
3233 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3234 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3235 0x00, 0x6b, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
3237 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
3238 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3239 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3240 0x00, 0x6b, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
3242 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
3243 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3244 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3245 0x00, 0x6b, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
3247 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
3248 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
3249 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3250 0x00, 0x6b, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
3252 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
3253 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
3254 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3255 0x00, 0x6b, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
3257 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
3258 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3259 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3260 0x00, 0x6b, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
3262 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
3263 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3264 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3265 0x00, 0x6b, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
3267 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
3268 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3269 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3270 0x00, 0x6a, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
3272 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
3273 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3274 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3275 0x00, 0x6a, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
3277 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
3278 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3279 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3280 0x00, 0x6a, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
3282 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
3283 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3284 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3285 0x00, 0x6a, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
3287 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
3288 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3289 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3290 0x00, 0x69, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
3292 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
3293 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3294 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3295 0x00, 0x69, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
3297 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
3298 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3299 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3300 0x00, 0x69, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
3302 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
3303 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3304 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3305 0x00, 0x69, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
3307 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3308 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3309 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3310 0x00, 0x69, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
3312 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3313 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3314 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3315 0x00, 0x68, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
3317 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3318 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3319 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3320 0x00, 0x68, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
3322 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3323 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3324 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3325 0x00, 0x68, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
3327 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3328 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3329 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3330 0x00, 0x68, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
3332 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3333 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3334 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3335 0x00, 0x68, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
3337 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
3338 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
3339 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
3340 0x0b, 0x00, 0x0a, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
3342 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
3343 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
3344 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
3345 0x0b, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
3347 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
3348 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x67, 0x00, 0x03, 0x00,
3349 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x67, 0x00, 0x03, 0x00, 0x70, 0x00,
3350 0x0b, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
3352 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
3353 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x57, 0x00, 0x03, 0x00,
3354 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x57, 0x00, 0x03, 0x00, 0x70, 0x00,
3355 0x0a, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
3357 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
3358 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x56, 0x00, 0x03, 0x00,
3359 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x56, 0x00, 0x03, 0x00, 0x70, 0x00,
3360 0x0a, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
3362 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
3363 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x46, 0x00, 0x03, 0x00,
3364 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x46, 0x00, 0x03, 0x00, 0x70, 0x00,
3365 0x0a, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
3367 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
3368 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
3369 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
3370 0x0a, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
3372 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
3373 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
3374 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
3375 0x0a, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
3377 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
3378 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x23, 0x00, 0x02, 0x00,
3379 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x23, 0x00, 0x02, 0x00, 0x70, 0x00,
3380 0x0a, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
3382 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
3383 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x12, 0x00, 0x02, 0x00,
3384 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x12, 0x00, 0x02, 0x00, 0x70, 0x00,
3385 0x0a, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
3387 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
3388 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00,
3389 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x02, 0x00, 0x02, 0x00, 0x70, 0x00,
3390 0x09, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
3392 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
3393 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
3394 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x01, 0x00, 0x02, 0x00, 0x70, 0x00,
3395 0x09, 0x00, 0x09, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
3397 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
3398 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
3399 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x01, 0x00, 0x02, 0x00, 0x70, 0x00,
3400 0x09, 0x00, 0x09, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
3402 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
3403 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
3404 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
3405 0x09, 0x00, 0x09, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
3408 static chan_info_nphy_radio205x_t chan_info_nphyrev5n6_2056v7[] = {
3410 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
3411 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3412 0x00, 0x0f, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0f,
3413 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
3415 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
3416 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3417 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
3418 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
3420 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
3421 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3422 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
3423 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
3425 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
3426 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3427 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
3428 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
3430 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
3431 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3432 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0e,
3433 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
3435 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
3436 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3437 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3438 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
3440 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
3441 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3442 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3443 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
3445 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
3446 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3447 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3448 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
3450 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
3451 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3452 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3453 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
3455 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
3456 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3457 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3458 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
3460 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
3461 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
3462 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0d,
3463 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
3465 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
3466 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
3467 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3468 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
3470 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
3471 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
3472 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3473 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
3475 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
3476 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
3477 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3478 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
3480 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
3481 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x70,
3482 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3483 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
3485 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
3486 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x70,
3487 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3488 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
3490 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
3491 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3492 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3493 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
3495 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
3496 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3497 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3498 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
3500 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
3501 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3502 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3503 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
3505 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
3506 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3507 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3508 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
3510 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
3511 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3512 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3513 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
3515 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
3516 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x70,
3517 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0a,
3518 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
3520 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
3521 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
3522 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x0a,
3523 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
3525 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
3526 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
3527 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x09,
3528 0x00, 0x6e, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
3530 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
3531 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x06, 0x00, 0x70,
3532 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3533 0x00, 0x6e, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
3535 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
3536 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3537 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3538 0x00, 0x6e, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
3540 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
3541 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3542 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3543 0x00, 0x6e, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
3545 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
3546 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3547 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3548 0x00, 0x6e, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
3550 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
3551 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3552 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3553 0x00, 0x6e, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
3555 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3556 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xfa, 0x00, 0x06, 0x00, 0x70,
3557 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3558 0x00, 0x6e, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
3560 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3561 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xea, 0x00, 0x06, 0x00, 0x70,
3562 0x00, 0x08, 0x00, 0x9e, 0x00, 0xea, 0x00, 0x06, 0x00, 0x70, 0x00, 0x08,
3563 0x00, 0x6e, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
3565 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3566 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xe9, 0x00, 0x05, 0x00, 0x70,
3567 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
3568 0x00, 0x6d, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
3570 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3571 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xe9, 0x00, 0x05, 0x00, 0x70,
3572 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
3573 0x00, 0x6d, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
3575 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3576 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xd9, 0x00, 0x05, 0x00, 0x70,
3577 0x00, 0x08, 0x00, 0x9d, 0x00, 0xd9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
3578 0x00, 0x6d, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
3580 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3581 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xd8, 0x00, 0x04, 0x00, 0x70,
3582 0x00, 0x07, 0x00, 0x9c, 0x00, 0xd8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3583 0x00, 0x6c, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
3585 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
3586 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3587 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3588 0x00, 0x6c, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
3590 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
3591 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3592 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3593 0x00, 0x6c, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
3595 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
3596 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3597 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3598 0x00, 0x6c, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
3600 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
3601 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3602 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3603 0x00, 0x6c, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
3605 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
3606 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb8, 0x00, 0x04, 0x00, 0x70,
3607 0x00, 0x07, 0x00, 0x9c, 0x00, 0xb8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3608 0x00, 0x6c, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
3610 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
3611 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xb7, 0x00, 0x04, 0x00, 0x70,
3612 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3613 0x00, 0x6b, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
3615 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
3616 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xb7, 0x00, 0x03, 0x00, 0x70,
3617 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x07,
3618 0x00, 0x6b, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
3620 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
3621 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa7, 0x00, 0x03, 0x00, 0x70,
3622 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3623 0x00, 0x6b, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
3625 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
3626 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0xa6, 0x00, 0x03, 0x00, 0x70,
3627 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3628 0x00, 0x6b, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
3630 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
3631 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0xa6, 0x00, 0x03, 0x00, 0x70,
3632 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3633 0x00, 0x7b, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
3635 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3636 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x96, 0x00, 0x03, 0x00, 0x70,
3637 0x00, 0x06, 0x00, 0x9a, 0x00, 0x96, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3638 0x00, 0x7a, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
3640 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3641 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x70,
3642 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3643 0x00, 0x7a, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
3645 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3646 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x70,
3647 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3648 0x00, 0x7a, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
3650 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3651 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x95, 0x00, 0x03, 0x00, 0x70,
3652 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
3653 0x00, 0x7a, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
3655 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3656 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x95, 0x00, 0x03, 0x00, 0x70,
3657 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
3658 0x00, 0x7a, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
3660 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3661 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x85, 0x00, 0x02, 0x00, 0x70,
3662 0x00, 0x05, 0x00, 0x99, 0x00, 0x85, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
3663 0x00, 0x79, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
3665 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
3666 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x70,
3667 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
3668 0x00, 0x79, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
3670 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
3671 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x02, 0x00, 0x70,
3672 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
3673 0x00, 0x79, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
3675 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
3676 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x02, 0x00, 0x70,
3677 0x00, 0x04, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x04,
3678 0x00, 0x79, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
3680 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
3681 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x74, 0x00, 0x01, 0x00, 0x70,
3682 0x00, 0x04, 0x00, 0x99, 0x00, 0x74, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3683 0x00, 0x79, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
3685 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
3686 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
3687 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3688 0x00, 0x78, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
3690 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
3691 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x01, 0x00, 0x70,
3692 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3693 0x00, 0x78, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
3695 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
3696 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x01, 0x00, 0x70,
3697 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3698 0x00, 0x78, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
3700 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
3701 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x01, 0x00, 0x70,
3702 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3703 0x00, 0x78, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
3705 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
3706 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x01, 0x00, 0x70,
3707 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3708 0x00, 0x78, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
3710 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
3711 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x63, 0x00, 0x01, 0x00, 0x70,
3712 0x00, 0x03, 0x00, 0x98, 0x00, 0x63, 0x00, 0x01, 0x00, 0x70, 0x00, 0x03,
3713 0x00, 0x78, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
3715 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3716 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x62, 0x00, 0x00, 0x00, 0x70,
3717 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
3718 0x00, 0x77, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
3720 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3721 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x70,
3722 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
3723 0x00, 0x77, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
3725 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3726 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x70,
3727 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
3728 0x00, 0x77, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
3730 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3731 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x52, 0x00, 0x00, 0x00, 0x70,
3732 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3733 0x00, 0x76, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
3735 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3736 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x52, 0x00, 0x00, 0x00, 0x70,
3737 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3738 0x00, 0x86, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
3740 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3741 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3742 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3743 0x00, 0x86, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
3745 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
3746 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3747 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3748 0x00, 0x86, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
3750 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
3751 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3752 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3753 0x00, 0x86, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
3755 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
3756 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3757 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3758 0x00, 0x86, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
3760 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
3761 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3762 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3763 0x00, 0x86, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
3765 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
3766 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x51, 0x00, 0x00, 0x00, 0x70,
3767 0x00, 0x02, 0x00, 0x95, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3768 0x00, 0x85, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
3770 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
3771 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x70,
3772 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3773 0x00, 0x85, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
3775 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
3776 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x70,
3777 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3778 0x00, 0x85, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
3780 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
3781 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
3782 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3783 0x00, 0x84, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
3785 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
3786 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3787 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3788 0x00, 0x84, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
3790 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
3791 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3792 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3793 0x00, 0x94, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
3795 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3796 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3797 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3798 0x00, 0x94, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
3800 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3801 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3802 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3803 0x00, 0x94, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
3805 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3806 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3807 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3808 0x00, 0x94, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
3810 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
3811 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3812 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3813 0x00, 0x94, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
3815 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3816 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3817 0x00, 0x01, 0x00, 0x94, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3818 0x00, 0x94, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
3820 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
3821 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3822 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3823 0x00, 0x93, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
3825 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3826 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3827 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3828 0x00, 0x93, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
3830 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
3831 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3832 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3833 0x00, 0x93, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
3835 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3836 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3837 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3838 0x00, 0x93, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
3840 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
3841 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x30, 0x00, 0x00, 0x00, 0x70,
3842 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3843 0x00, 0x93, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
3845 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
3846 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3847 0x00, 0x00, 0x00, 0x93, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3848 0x00, 0x93, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
3850 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
3851 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3852 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3853 0x00, 0x92, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
3855 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
3856 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3857 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3858 0x00, 0x92, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
3860 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
3861 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3862 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3863 0x00, 0x92, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
3865 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
3866 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x70,
3867 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3868 0x00, 0x92, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
3870 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
3871 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3872 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3873 0x00, 0x92, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
3875 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
3876 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3877 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3878 0x00, 0x92, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
3880 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
3881 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3882 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3883 0x00, 0x92, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
3885 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
3886 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3887 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3888 0x00, 0x92, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
3890 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
3891 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3892 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3893 0x00, 0x92, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
3895 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
3896 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3897 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3898 0x00, 0x92, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
3900 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
3901 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3902 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3903 0x00, 0x92, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
3905 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
3906 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3907 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3908 0x00, 0x92, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
3910 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
3911 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3912 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3913 0x00, 0x92, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
3915 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
3916 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3917 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3918 0x00, 0x92, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
3920 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
3921 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3922 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3923 0x00, 0x92, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
3925 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
3926 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3927 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3928 0x00, 0x92, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
3930 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3931 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3932 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3933 0x00, 0x92, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
3935 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3936 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3937 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3938 0x00, 0x91, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
3940 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3941 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3942 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3943 0x00, 0x91, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
3945 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3946 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3947 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3948 0x00, 0x91, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
3950 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3951 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3952 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3953 0x00, 0x91, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
3955 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3956 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3957 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3958 0x00, 0x91, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
3960 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
3961 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x89, 0x00, 0x03, 0x00,
3962 0x70, 0x00, 0x0f, 0x00, 0x0b, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
3963 0x0f, 0x00, 0x0b, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
3965 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
3966 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x89, 0x00, 0x03, 0x00,
3967 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
3968 0x0f, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
3970 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
3971 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x89, 0x00, 0x03, 0x00,
3972 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
3973 0x0f, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
3975 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
3976 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
3977 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
3978 0x0e, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
3980 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
3981 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x03, 0x00,
3982 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x03, 0x00, 0x70, 0x00,
3983 0x0e, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
3985 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
3986 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x76, 0x00, 0x03, 0x00,
3987 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x76, 0x00, 0x03, 0x00, 0x70, 0x00,
3988 0x0e, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
3990 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
3991 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x66, 0x00, 0x03, 0x00,
3992 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x66, 0x00, 0x03, 0x00, 0x70, 0x00,
3993 0x0e, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
3995 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
3996 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x55, 0x00, 0x02, 0x00,
3997 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x55, 0x00, 0x02, 0x00, 0x70, 0x00,
3998 0x0e, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
4000 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
4001 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
4002 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
4003 0x0e, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
4005 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
4006 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
4007 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
4008 0x0d, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
4010 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
4011 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00,
4012 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x33, 0x00, 0x02, 0x00, 0x70, 0x00,
4013 0x0d, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
4015 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
4016 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x22, 0x00, 0x02, 0x00,
4017 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x22, 0x00, 0x02, 0x00, 0x70, 0x00,
4018 0x0d, 0x00, 0x08, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
4020 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
4021 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00,
4022 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x11, 0x00, 0x02, 0x00, 0x70, 0x00,
4023 0x0d, 0x00, 0x08, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
4025 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
4026 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
4027 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
4028 0x0d, 0x00, 0x08, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
4031 static chan_info_nphy_radio205x_t chan_info_nphyrev6_2056v8[] = {
4033 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
4034 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4035 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4036 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
4038 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
4039 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4040 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4041 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
4043 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
4044 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4045 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4046 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
4048 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
4049 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4050 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4051 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
4053 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
4054 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4055 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4056 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
4058 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
4059 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4060 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4061 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
4063 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
4064 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4065 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4066 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
4068 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
4069 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4070 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4071 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
4073 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
4074 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4075 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4076 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
4078 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
4079 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4080 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4081 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
4083 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
4084 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4085 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4086 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
4088 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
4089 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4090 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4091 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
4093 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
4094 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4095 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4096 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
4098 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
4099 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4100 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4101 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
4103 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
4104 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4105 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4106 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
4108 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
4109 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4110 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4111 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
4113 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
4114 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4115 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4116 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
4118 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
4119 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4120 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4121 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
4123 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
4124 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x77,
4125 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4126 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
4128 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
4129 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4130 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4131 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
4133 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
4134 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4135 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4136 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
4138 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
4139 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4140 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4141 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
4143 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
4144 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x77,
4145 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4146 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
4148 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
4149 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4150 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4151 0x00, 0x6f, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
4153 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
4154 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4155 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4156 0x00, 0x6f, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
4158 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
4159 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4160 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0e,
4161 0x00, 0x6f, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
4163 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
4164 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4165 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0d,
4166 0x00, 0x6f, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
4168 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
4169 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4170 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4171 0x00, 0x6f, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
4173 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
4174 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4175 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4176 0x00, 0x6f, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
4178 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4179 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xd8, 0x00, 0x05, 0x00, 0x77,
4180 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4181 0x00, 0x6f, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
4183 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4184 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xd8, 0x00, 0x05, 0x00, 0x77,
4185 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4186 0x00, 0x6f, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
4188 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4189 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xc8, 0x00, 0x05, 0x00, 0x77,
4190 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4191 0x00, 0x6f, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
4193 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4194 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xc7, 0x00, 0x05, 0x00, 0x77,
4195 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4196 0x00, 0x6f, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
4198 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4199 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4200 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0d,
4201 0x00, 0x6f, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
4203 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4204 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4205 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0c,
4206 0x00, 0x6f, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
4208 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
4209 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4210 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4211 0x00, 0x6f, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
4213 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
4214 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4215 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4216 0x00, 0x6f, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
4218 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
4219 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4220 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4221 0x00, 0x6f, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
4223 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
4224 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4225 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4226 0x00, 0x6f, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
4228 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
4229 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb7, 0x00, 0x03, 0x00, 0x77,
4230 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4231 0x00, 0x6f, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
4233 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
4234 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xa6, 0x00, 0x03, 0x00, 0x77,
4235 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4236 0x00, 0x6f, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
4238 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
4239 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4240 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4241 0x00, 0x6f, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
4243 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
4244 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4245 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4246 0x00, 0x6f, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
4248 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
4249 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4250 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4251 0x00, 0x6f, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
4253 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
4254 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4255 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4256 0x00, 0x6f, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
4258 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4259 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x77,
4260 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4261 0x00, 0x6f, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
4263 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4264 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4265 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4266 0x00, 0x6f, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
4268 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4269 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4270 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4271 0x00, 0x6f, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
4273 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4274 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x84, 0x00, 0x02, 0x00, 0x77,
4275 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4276 0x00, 0x6f, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
4278 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4279 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x84, 0x00, 0x02, 0x00, 0x77,
4280 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4281 0x00, 0x6f, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
4283 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4284 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4285 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4286 0x00, 0x6f, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
4288 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
4289 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4290 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x09,
4291 0x00, 0x6f, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
4293 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
4294 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4295 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4296 0x00, 0x6f, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
4298 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
4299 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4300 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4301 0x00, 0x6f, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
4303 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
4304 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x73, 0x00, 0x01, 0x00, 0x77,
4305 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4306 0x00, 0x6f, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
4308 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
4309 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x00, 0x00, 0x77,
4310 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4311 0x00, 0x6f, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
4313 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
4314 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x00, 0x00, 0x77,
4315 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4316 0x00, 0x6f, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
4318 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
4319 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4320 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4321 0x00, 0x6f, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
4323 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
4324 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4325 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4326 0x00, 0x6f, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
4328 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
4329 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4330 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4331 0x00, 0x6f, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
4333 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
4334 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4335 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4336 0x00, 0x6f, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
4338 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4339 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x73, 0x00, 0x00, 0x00, 0x77,
4340 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4341 0x00, 0x6f, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
4343 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4344 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4345 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4346 0x00, 0x6f, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
4348 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4349 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4350 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4351 0x00, 0x6f, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
4353 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4354 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x77,
4355 0x00, 0x09, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4356 0x00, 0x6f, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
4358 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4359 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x62, 0x00, 0x00, 0x00, 0x77,
4360 0x00, 0x08, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4361 0x00, 0x6f, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
4363 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4364 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x61, 0x00, 0x00, 0x00, 0x77,
4365 0x00, 0x08, 0x00, 0x6f, 0x00, 0x61, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4366 0x00, 0x6f, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
4368 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
4369 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
4370 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4371 0x00, 0x6f, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
4373 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
4374 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
4375 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4376 0x00, 0x6f, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
4378 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
4379 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
4380 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4381 0x00, 0x6f, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
4383 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
4384 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
4385 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4386 0x00, 0x6f, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
4388 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
4389 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x77,
4390 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4391 0x00, 0x6f, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
4393 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
4394 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
4395 0x00, 0x07, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4396 0x00, 0x6f, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
4398 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
4399 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
4400 0x00, 0x06, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4401 0x00, 0x6f, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
4403 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
4404 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x77,
4405 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4406 0x00, 0x6f, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
4408 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
4409 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4410 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4411 0x00, 0x6f, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
4413 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
4414 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4415 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4416 0x00, 0x6f, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
4418 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4419 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4420 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4421 0x00, 0x6e, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
4423 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4424 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4425 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4426 0x00, 0x6e, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
4428 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4429 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4430 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4431 0x00, 0x6e, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
4433 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
4434 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4435 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4436 0x00, 0x6e, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
4438 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4439 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4440 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4441 0x00, 0x6e, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
4443 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
4444 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4445 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4446 0x00, 0x6d, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
4448 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4449 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4450 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4451 0x00, 0x6d, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
4453 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
4454 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4455 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4456 0x00, 0x6d, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
4458 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4459 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x77,
4460 0x00, 0x05, 0x00, 0x6d, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4461 0x00, 0x6d, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
4463 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
4464 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
4465 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4466 0x00, 0x6c, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
4468 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
4469 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
4470 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4471 0x00, 0x6c, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
4473 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
4474 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4475 0x00, 0x05, 0x00, 0x6c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4476 0x00, 0x6c, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
4478 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
4479 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4480 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4481 0x00, 0x6b, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
4483 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
4484 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4485 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4486 0x00, 0x6b, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
4488 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
4489 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4490 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4491 0x00, 0x6b, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
4493 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
4494 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
4495 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4496 0x00, 0x6b, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
4498 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
4499 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
4500 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4501 0x00, 0x6b, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
4503 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
4504 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4505 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4506 0x00, 0x6b, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
4508 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
4509 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4510 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4511 0x00, 0x6b, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
4513 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
4514 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4515 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4516 0x00, 0x6a, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
4518 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
4519 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4520 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4521 0x00, 0x6a, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
4523 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
4524 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4525 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4526 0x00, 0x6a, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
4528 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
4529 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4530 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4531 0x00, 0x6a, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
4533 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
4534 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4535 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4536 0x00, 0x69, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
4538 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
4539 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4540 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4541 0x00, 0x69, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
4543 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
4544 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4545 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4546 0x00, 0x69, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
4548 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
4549 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4550 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4551 0x00, 0x69, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
4553 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4554 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4555 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4556 0x00, 0x69, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
4558 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4559 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4560 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4561 0x00, 0x68, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
4563 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4564 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4565 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4566 0x00, 0x68, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
4568 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4569 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4570 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4571 0x00, 0x68, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
4573 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4574 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4575 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4576 0x00, 0x68, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
4578 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4579 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4580 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4581 0x00, 0x68, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
4583 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
4584 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
4585 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
4586 0x0b, 0x00, 0x0a, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
4588 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
4589 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
4590 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
4591 0x0b, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
4593 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
4594 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x67, 0x00, 0x03, 0x00,
4595 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
4596 0x0b, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
4598 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
4599 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x57, 0x00, 0x03, 0x00,
4600 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
4601 0x0a, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
4603 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
4604 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x56, 0x00, 0x03, 0x00,
4605 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x03, 0x00, 0x70, 0x00,
4606 0x0a, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
4608 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
4609 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x46, 0x00, 0x03, 0x00,
4610 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x76, 0x00, 0x03, 0x00, 0x70, 0x00,
4611 0x0a, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
4613 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
4614 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
4615 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x66, 0x00, 0x02, 0x00, 0x70, 0x00,
4616 0x0a, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
4618 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
4619 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
4620 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x55, 0x00, 0x02, 0x00, 0x70, 0x00,
4621 0x0a, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
4623 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
4624 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x23, 0x00, 0x02, 0x00,
4625 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
4626 0x0a, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
4628 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
4629 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x12, 0x00, 0x02, 0x00,
4630 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
4631 0x0a, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
4633 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
4634 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00,
4635 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x33, 0x00, 0x02, 0x00, 0x70, 0x00,
4636 0x09, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
4638 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
4639 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
4640 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x22, 0x00, 0x02, 0x00, 0x70, 0x00,
4641 0x09, 0x00, 0x09, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
4643 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
4644 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
4645 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x11, 0x00, 0x02, 0x00, 0x70, 0x00,
4646 0x09, 0x00, 0x09, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
4648 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
4649 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
4650 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
4651 0x09, 0x00, 0x09, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
4654 static chan_info_nphy_radio205x_t chan_info_nphyrev6_2056v11[] = {
4656 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x02, 0x0c, 0x01,
4657 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4658 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4659 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
4661 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x02, 0x0c, 0x01,
4662 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4663 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4664 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
4666 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x02, 0x0c, 0x01,
4667 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4668 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4669 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
4671 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x02, 0x0c, 0x01,
4672 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4673 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4674 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
4676 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x02, 0x0c, 0x01,
4677 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4678 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4679 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
4681 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x02, 0x0c, 0x01,
4682 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4683 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4684 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
4686 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x02, 0x0c, 0x01,
4687 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4688 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4689 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
4691 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x02, 0x0c, 0x01,
4692 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4693 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4694 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
4696 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x02, 0x0c, 0x01,
4697 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4698 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4699 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
4701 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x02, 0x0c, 0x01,
4702 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4703 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4704 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
4706 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x02, 0x0c, 0x01,
4707 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4708 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4709 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
4711 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x02, 0x0c, 0x01,
4712 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4713 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4714 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
4716 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x02, 0x0c, 0x01,
4717 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4718 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4719 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
4721 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x02, 0x0c, 0x01,
4722 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4723 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4724 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
4726 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x02, 0x0c, 0x01,
4727 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4728 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4729 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
4731 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x02, 0x0c, 0x01,
4732 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4733 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4734 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
4736 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x02, 0x0c, 0x01,
4737 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4738 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4739 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
4741 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x02, 0x0c, 0x01,
4742 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4743 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4744 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
4746 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x02, 0x0c, 0x01,
4747 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x77,
4748 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4749 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
4751 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x02, 0x0c, 0x01,
4752 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4753 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4754 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
4756 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x02, 0x0c, 0x01,
4757 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4758 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4759 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
4761 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x02, 0x0c, 0x01,
4762 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4763 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4764 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
4766 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x02, 0x0c, 0x01,
4767 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x77,
4768 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4769 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
4771 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x02, 0x0c, 0x01,
4772 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4773 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4774 0x00, 0x6f, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
4776 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x02, 0x0c, 0x01,
4777 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4778 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4779 0x00, 0x6f, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
4781 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x02, 0x0c, 0x01,
4782 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4783 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0e,
4784 0x00, 0x6f, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
4786 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x02, 0x0c, 0x01,
4787 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4788 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0d,
4789 0x00, 0x6f, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
4791 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x02, 0x0c, 0x01,
4792 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4793 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4794 0x00, 0x6f, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
4796 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x02, 0x0c, 0x01,
4797 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4798 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4799 0x00, 0x6f, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
4801 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x02, 0x0c, 0x01,
4802 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xd8, 0x00, 0x05, 0x00, 0x77,
4803 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4804 0x00, 0x6f, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
4806 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x02, 0x0c, 0x01,
4807 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xd8, 0x00, 0x05, 0x00, 0x77,
4808 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4809 0x00, 0x6f, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
4811 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x02, 0x0c, 0x01,
4812 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xc8, 0x00, 0x05, 0x00, 0x77,
4813 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4814 0x00, 0x6f, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
4816 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x02, 0x0c, 0x01,
4817 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xc7, 0x00, 0x05, 0x00, 0x77,
4818 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4819 0x00, 0x6f, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
4821 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x02, 0x0c, 0x01,
4822 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4823 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0d,
4824 0x00, 0x6f, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
4826 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x02, 0x0c, 0x01,
4827 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4828 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0c,
4829 0x00, 0x6f, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
4831 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x02, 0x0c, 0x01,
4832 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4833 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4834 0x00, 0x6f, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
4836 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x02, 0x0c, 0x01,
4837 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4838 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4839 0x00, 0x6f, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
4841 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x02, 0x0c, 0x01,
4842 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4843 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4844 0x00, 0x6f, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
4846 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x02, 0x0c, 0x01,
4847 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4848 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4849 0x00, 0x6f, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
4851 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x02, 0x0c, 0x01,
4852 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb7, 0x00, 0x03, 0x00, 0x77,
4853 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4854 0x00, 0x6f, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
4856 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x02, 0x0c, 0x01,
4857 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xa6, 0x00, 0x03, 0x00, 0x77,
4858 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4859 0x00, 0x6f, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
4861 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x02, 0x0c, 0x01,
4862 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4863 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4864 0x00, 0x6f, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
4866 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x02, 0x0c, 0x01,
4867 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4868 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4869 0x00, 0x6f, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
4871 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x02, 0x0c, 0x01,
4872 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4873 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4874 0x00, 0x6f, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
4876 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x02, 0x0c, 0x01,
4877 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4878 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4879 0x00, 0x6f, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
4881 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x02, 0x0c, 0x01,
4882 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x77,
4883 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4884 0x00, 0x6f, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
4886 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x02, 0x0c, 0x01,
4887 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4888 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4889 0x00, 0x6f, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
4891 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x02, 0x0c, 0x01,
4892 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4893 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4894 0x00, 0x6f, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
4896 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x02, 0x0c, 0x01,
4897 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x84, 0x00, 0x02, 0x00, 0x77,
4898 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4899 0x00, 0x6f, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
4901 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x02, 0x0c, 0x01,
4902 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x84, 0x00, 0x02, 0x00, 0x77,
4903 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4904 0x00, 0x6f, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
4906 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x02, 0x0c, 0x01,
4907 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4908 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4909 0x00, 0x6f, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
4911 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x02, 0x0c, 0x01,
4912 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4913 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x09,
4914 0x00, 0x6f, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
4916 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x02, 0x0c, 0x01,
4917 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4918 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4919 0x00, 0x6f, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
4921 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x02, 0x0c, 0x01,
4922 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4923 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4924 0x00, 0x6f, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
4926 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x02, 0x0c, 0x01,
4927 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x73, 0x00, 0x01, 0x00, 0x77,
4928 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4929 0x00, 0x6f, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
4931 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x02, 0x0c, 0x01,
4932 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x00, 0x00, 0x77,
4933 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4934 0x00, 0x6f, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
4936 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x02, 0x0c, 0x01,
4937 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x00, 0x00, 0x77,
4938 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4939 0x00, 0x6f, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
4941 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x02, 0x0c, 0x01,
4942 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4943 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4944 0x00, 0x6f, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
4946 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x02, 0x0c, 0x01,
4947 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4948 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4949 0x00, 0x6f, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
4951 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x02, 0x0c, 0x01,
4952 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4953 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4954 0x00, 0x6f, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
4956 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x02, 0x0c, 0x01,
4957 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4958 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4959 0x00, 0x6f, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
4961 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x02, 0x0c, 0x01,
4962 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x73, 0x00, 0x00, 0x00, 0x77,
4963 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4964 0x00, 0x6f, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
4966 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x02, 0x0c, 0x01,
4967 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4968 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4969 0x00, 0x6f, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
4971 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x02, 0x0c, 0x01,
4972 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4973 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4974 0x00, 0x6f, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
4976 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x02, 0x0c, 0x01,
4977 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x77,
4978 0x00, 0x09, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4979 0x00, 0x6f, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
4981 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x02, 0x0c, 0x01,
4982 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x62, 0x00, 0x00, 0x00, 0x77,
4983 0x00, 0x08, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4984 0x00, 0x6f, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
4986 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x02, 0x0c, 0x01,
4987 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x61, 0x00, 0x00, 0x00, 0x77,
4988 0x00, 0x08, 0x00, 0x6f, 0x00, 0x61, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4989 0x00, 0x6f, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
4991 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x02, 0x0c, 0x01,
4992 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
4993 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4994 0x00, 0x6f, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
4996 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x02, 0x0c, 0x01,
4997 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
4998 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4999 0x00, 0x6f, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
5001 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x02, 0x0c, 0x01,
5002 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
5003 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5004 0x00, 0x6f, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
5006 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x02, 0x0c, 0x01,
5007 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
5008 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5009 0x00, 0x6f, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
5011 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x02, 0x0c, 0x01,
5012 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x77,
5013 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5014 0x00, 0x6f, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
5016 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x02, 0x0c, 0x01,
5017 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
5018 0x00, 0x07, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5019 0x00, 0x6f, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
5021 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x02, 0x0c, 0x01,
5022 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
5023 0x00, 0x06, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5024 0x00, 0x6f, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
5026 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x02, 0x0c, 0x01,
5027 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x77,
5028 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5029 0x00, 0x6f, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
5031 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x02, 0x0c, 0x01,
5032 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5033 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5034 0x00, 0x6f, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
5036 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x02, 0x0c, 0x01,
5037 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5038 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5039 0x00, 0x6f, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
5041 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x02, 0x0c, 0x01,
5042 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5043 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5044 0x00, 0x6e, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
5046 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x02, 0x0c, 0x01,
5047 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5048 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5049 0x00, 0x6e, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
5051 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x02, 0x0c, 0x01,
5052 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5053 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5054 0x00, 0x6e, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
5056 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x05, 0x05, 0x02, 0x15, 0x01,
5057 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5058 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5059 0x00, 0x6e, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
5061 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x02, 0x0c, 0x01,
5062 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5063 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5064 0x00, 0x6e, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
5066 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x05, 0x05, 0x02, 0x15, 0x01,
5067 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5068 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5069 0x00, 0x6d, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
5071 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x02, 0x0c, 0x01,
5072 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5073 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5074 0x00, 0x6d, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
5076 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x05, 0x05, 0x02, 0x15, 0x01,
5077 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5078 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5079 0x00, 0x6d, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
5081 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x02, 0x0c, 0x01,
5082 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x77,
5083 0x00, 0x05, 0x00, 0x6d, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5084 0x00, 0x6d, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
5086 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x05, 0x05, 0x02, 0x15, 0x01,
5087 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
5088 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5089 0x00, 0x6c, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
5091 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x02, 0x0c, 0x01,
5092 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
5093 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5094 0x00, 0x6c, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
5096 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x05, 0x05, 0x02, 0x15, 0x01,
5097 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5098 0x00, 0x05, 0x00, 0x6c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5099 0x00, 0x6c, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
5101 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x02, 0x0c, 0x01,
5102 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5103 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5104 0x00, 0x6b, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
5106 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x05, 0x05, 0x02, 0x15, 0x01,
5107 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5108 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5109 0x00, 0x6b, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
5111 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x02, 0x0c, 0x01,
5112 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5113 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5114 0x00, 0x6b, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
5116 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x05, 0x05, 0x02, 0x15, 0x01,
5117 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
5118 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5119 0x00, 0x6b, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
5121 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x02, 0x0c, 0x01,
5122 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
5123 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5124 0x00, 0x6b, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
5126 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x05, 0x05, 0x02, 0x15, 0x01,
5127 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5128 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5129 0x00, 0x6b, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
5131 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x02, 0x0c, 0x01,
5132 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5133 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5134 0x00, 0x6b, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
5136 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x05, 0x05, 0x02, 0x15, 0x01,
5137 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5138 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5139 0x00, 0x6a, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
5141 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x02, 0x0c, 0x01,
5142 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5143 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5144 0x00, 0x6a, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
5146 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x05, 0x05, 0x02, 0x15, 0x01,
5147 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5148 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5149 0x00, 0x6a, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
5151 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x02, 0x0c, 0x01,
5152 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5153 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5154 0x00, 0x6a, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
5156 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x05, 0x05, 0x02, 0x15, 0x01,
5157 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5158 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5159 0x00, 0x69, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
5161 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x02, 0x0c, 0x01,
5162 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5163 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5164 0x00, 0x69, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
5166 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x02, 0x0c, 0x01,
5167 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5168 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5169 0x00, 0x69, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
5171 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x02, 0x0c, 0x01,
5172 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5173 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5174 0x00, 0x69, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
5176 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x02, 0x0c, 0x01,
5177 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5178 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5179 0x00, 0x69, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
5181 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x02, 0x0c, 0x01,
5182 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5183 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5184 0x00, 0x68, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
5186 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x02, 0x0c, 0x01,
5187 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5188 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5189 0x00, 0x68, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
5191 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x02, 0x0c, 0x01,
5192 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5193 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5194 0x00, 0x68, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
5196 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x02, 0x0c, 0x01,
5197 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5198 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5199 0x00, 0x68, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
5201 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x02, 0x0c, 0x01,
5202 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5203 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5204 0x00, 0x68, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
5206 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x06, 0x06, 0x04, 0x2b, 0x01,
5207 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
5208 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
5209 0x0b, 0x00, 0x0a, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
5211 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x06, 0x06, 0x04, 0x2b, 0x01,
5212 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
5213 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
5214 0x0b, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
5216 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x06, 0x06, 0x04, 0x2b, 0x01,
5217 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x67, 0x00, 0x03, 0x00,
5218 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
5219 0x0b, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
5221 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x06, 0x06, 0x04, 0x2b, 0x01,
5222 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x57, 0x00, 0x03, 0x00,
5223 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
5224 0x0a, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
5226 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x06, 0x06, 0x04, 0x2b, 0x01,
5227 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x56, 0x00, 0x03, 0x00,
5228 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x03, 0x00, 0x70, 0x00,
5229 0x0a, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
5231 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x06, 0x06, 0x04, 0x2b, 0x01,
5232 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x46, 0x00, 0x03, 0x00,
5233 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x76, 0x00, 0x03, 0x00, 0x70, 0x00,
5234 0x0a, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
5236 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x06, 0x06, 0x04, 0x2b, 0x01,
5237 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
5238 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x66, 0x00, 0x02, 0x00, 0x70, 0x00,
5239 0x0a, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
5241 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x06, 0x06, 0x04, 0x2b, 0x01,
5242 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
5243 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x55, 0x00, 0x02, 0x00, 0x70, 0x00,
5244 0x0a, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
5246 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x06, 0x06, 0x04, 0x2b, 0x01,
5247 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x23, 0x00, 0x02, 0x00,
5248 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
5249 0x0a, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
5251 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x06, 0x06, 0x04, 0x2b, 0x01,
5252 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x12, 0x00, 0x02, 0x00,
5253 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
5254 0x0a, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
5256 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x06, 0x06, 0x04, 0x2b, 0x01,
5257 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00,
5258 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x33, 0x00, 0x02, 0x00, 0x70, 0x00,
5259 0x09, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
5261 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x06, 0x06, 0x04, 0x2b, 0x01,
5262 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
5263 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x22, 0x00, 0x02, 0x00, 0x70, 0x00,
5264 0x09, 0x00, 0x09, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
5266 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x06, 0x06, 0x04, 0x2b, 0x01,
5267 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
5268 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x11, 0x00, 0x02, 0x00, 0x70, 0x00,
5269 0x09, 0x00, 0x09, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
5271 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x06, 0x06, 0x04, 0x2b, 0x01,
5272 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
5273 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
5274 0x09, 0x00, 0x09, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
5277 static chan_info_nphy_radio2057_t chan_info_nphyrev7_2057_rev4[] = {
5279 184, 4920, 0x68, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xec, 0x01, 0x0f,
5280 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5281 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07b4, 0x07b0, 0x07ac, 0x0214,
5286 186, 4930, 0x6b, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xed, 0x01, 0x0f,
5287 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5288 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07b8, 0x07b4, 0x07b0, 0x0213,
5293 188, 4940, 0x6e, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xee, 0x01, 0x0f,
5294 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5295 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07bc, 0x07b8, 0x07b4, 0x0212,
5300 190, 4950, 0x72, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xef, 0x01, 0x0f,
5301 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5302 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07c0, 0x07bc, 0x07b8, 0x0211,
5307 192, 4960, 0x75, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf0, 0x01, 0x0f,
5308 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5309 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07c4, 0x07c0, 0x07bc, 0x020f,
5314 194, 4970, 0x78, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf1, 0x01, 0x0f,
5315 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5316 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07c8, 0x07c4, 0x07c0, 0x020e,
5321 196, 4980, 0x7c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf2, 0x01, 0x0f,
5322 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5323 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07cc, 0x07c8, 0x07c4, 0x020d,
5328 198, 4990, 0x7f, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf3, 0x01, 0x0f,
5329 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5330 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07d0, 0x07cc, 0x07c8, 0x020c,
5335 200, 5000, 0x82, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf4, 0x01, 0x0f,
5336 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5337 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07d4, 0x07d0, 0x07cc, 0x020b,
5342 202, 5010, 0x86, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf5, 0x01, 0x0f,
5343 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5344 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07d8, 0x07d4, 0x07d0, 0x020a,
5349 204, 5020, 0x89, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf6, 0x01, 0x0e,
5350 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5351 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07dc, 0x07d8, 0x07d4, 0x0209,
5356 206, 5030, 0x8c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf7, 0x01, 0x0e,
5357 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5358 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07e0, 0x07dc, 0x07d8, 0x0208,
5363 208, 5040, 0x90, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf8, 0x01, 0x0e,
5364 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5365 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07e4, 0x07e0, 0x07dc, 0x0207,
5370 210, 5050, 0x93, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf9, 0x01, 0x0e,
5371 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5372 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07e8, 0x07e4, 0x07e0, 0x0206,
5377 212, 5060, 0x96, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfa, 0x01, 0x0e,
5378 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xe3, 0x00, 0xef, 0x00,
5379 0x00, 0x0f, 0x0f, 0xe3, 0x00, 0xef, 0x07ec, 0x07e8, 0x07e4, 0x0205,
5384 214, 5070, 0x9a, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfb, 0x01, 0x0e,
5385 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x00,
5386 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x07f0, 0x07ec, 0x07e8, 0x0204,
5391 216, 5080, 0x9d, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfc, 0x01, 0x0e,
5392 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x00,
5393 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x07f4, 0x07f0, 0x07ec, 0x0203,
5398 218, 5090, 0xa0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfd, 0x01, 0x0e,
5399 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5400 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x07f8, 0x07f4, 0x07f0, 0x0202,
5405 220, 5100, 0xa4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfe, 0x01, 0x0d,
5406 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5407 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x07fc, 0x07f8, 0x07f4, 0x0201,
5412 222, 5110, 0xa7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xff, 0x01, 0x0d,
5413 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5414 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x0800, 0x07fc, 0x07f8, 0x0200,
5419 224, 5120, 0xaa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x00, 0x02, 0x0d,
5420 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5421 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x0804, 0x0800, 0x07fc, 0x01ff,
5426 226, 5130, 0xae, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x01, 0x02, 0x0d,
5427 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5428 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x0808, 0x0804, 0x0800, 0x01fe,
5433 228, 5140, 0xb1, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x02, 0x02, 0x0d,
5434 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0e, 0xe3, 0x00, 0xd6, 0x00,
5435 0x00, 0x0e, 0x0e, 0xe3, 0x00, 0xd6, 0x080c, 0x0808, 0x0804, 0x01fd,
5440 32, 5160, 0xb8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x04, 0x02, 0x0d,
5441 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x00,
5442 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x0814, 0x0810, 0x080c, 0x01fb,
5447 34, 5170, 0xbb, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x05, 0x02, 0x0d,
5448 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x00,
5449 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x0818, 0x0814, 0x0810, 0x01fa,
5454 36, 5180, 0xbe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x06, 0x02, 0x0c,
5455 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5456 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x081c, 0x0818, 0x0814, 0x01f9,
5461 38, 5190, 0xc2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x07, 0x02, 0x0c,
5462 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5463 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x0820, 0x081c, 0x0818, 0x01f8,
5468 40, 5200, 0xc5, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x08, 0x02, 0x0c,
5469 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5470 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x0824, 0x0820, 0x081c, 0x01f7,
5475 42, 5210, 0xc8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x09, 0x02, 0x0c,
5476 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5477 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x0828, 0x0824, 0x0820, 0x01f6,
5482 44, 5220, 0xcc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0a, 0x02, 0x0c,
5483 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5484 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x082c, 0x0828, 0x0824, 0x01f5,
5489 46, 5230, 0xcf, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0b, 0x02, 0x0c,
5490 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5491 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x0830, 0x082c, 0x0828, 0x01f4,
5496 48, 5240, 0xd2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0c, 0x02, 0x0c,
5497 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5498 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x0834, 0x0830, 0x082c, 0x01f3,
5503 50, 5250, 0xd6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0d, 0x02, 0x0c,
5504 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5505 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x0838, 0x0834, 0x0830, 0x01f2,
5510 52, 5260, 0xd9, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0e, 0x02, 0x0b,
5511 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x00,
5512 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x083c, 0x0838, 0x0834, 0x01f1,
5517 54, 5270, 0xdc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0f, 0x02, 0x0b,
5518 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x00,
5519 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x0840, 0x083c, 0x0838, 0x01f0,
5524 56, 5280, 0xe0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x10, 0x02, 0x0b,
5525 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5526 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x0844, 0x0840, 0x083c, 0x01f0,
5531 58, 5290, 0xe3, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x11, 0x02, 0x0b,
5532 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5533 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x0848, 0x0844, 0x0840, 0x01ef,
5538 60, 5300, 0xe6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x12, 0x02, 0x0b,
5539 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5540 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x084c, 0x0848, 0x0844, 0x01ee,
5545 62, 5310, 0xea, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x13, 0x02, 0x0b,
5546 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5547 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x0850, 0x084c, 0x0848, 0x01ed,
5552 64, 5320, 0xed, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x14, 0x02, 0x0b,
5553 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5554 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x0854, 0x0850, 0x084c, 0x01ec,
5559 66, 5330, 0xf0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x15, 0x02, 0x0b,
5560 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5561 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x0858, 0x0854, 0x0850, 0x01eb,
5566 68, 5340, 0xf4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x16, 0x02, 0x0a,
5567 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0c, 0xc3, 0x00, 0xa1, 0x00,
5568 0x00, 0x0a, 0x0c, 0xc3, 0x00, 0xa1, 0x085c, 0x0858, 0x0854, 0x01ea,
5573 70, 5350, 0xf7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x17, 0x02, 0x0a,
5574 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5575 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x0860, 0x085c, 0x0858, 0x01e9,
5580 72, 5360, 0xfa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x18, 0x02, 0x0a,
5581 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5582 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x0864, 0x0860, 0x085c, 0x01e8,
5587 74, 5370, 0xfe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x19, 0x02, 0x0a,
5588 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5589 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x0868, 0x0864, 0x0860, 0x01e7,
5594 76, 5380, 0x01, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1a, 0x02, 0x0a,
5595 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5596 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x086c, 0x0868, 0x0864, 0x01e6,
5601 78, 5390, 0x04, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1b, 0x02, 0x0a,
5602 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0a, 0xa3, 0x00, 0xa1, 0x00,
5603 0x00, 0x0a, 0x0a, 0xa3, 0x00, 0xa1, 0x0870, 0x086c, 0x0868, 0x01e5,
5608 80, 5400, 0x08, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1c, 0x02, 0x0a,
5609 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x00,
5610 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x0874, 0x0870, 0x086c, 0x01e5,
5615 82, 5410, 0x0b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1d, 0x02, 0x0a,
5616 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x00,
5617 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x0878, 0x0874, 0x0870, 0x01e4,
5622 84, 5420, 0x0e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1e, 0x02, 0x09,
5623 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0xa3, 0x00, 0x90, 0x00,
5624 0x00, 0x09, 0x09, 0xa3, 0x00, 0x90, 0x087c, 0x0878, 0x0874, 0x01e3,
5629 86, 5430, 0x12, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1f, 0x02, 0x09,
5630 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x00,
5631 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x0880, 0x087c, 0x0878, 0x01e2,
5636 88, 5440, 0x15, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x20, 0x02, 0x09,
5637 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x00,
5638 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x0884, 0x0880, 0x087c, 0x01e1,
5643 90, 5450, 0x18, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x21, 0x02, 0x09,
5644 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x00,
5645 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x0888, 0x0884, 0x0880, 0x01e0,
5650 92, 5460, 0x1c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x22, 0x02, 0x09,
5651 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x08, 0x93, 0x00, 0x90, 0x00,
5652 0x00, 0x08, 0x08, 0x93, 0x00, 0x90, 0x088c, 0x0888, 0x0884, 0x01df,
5657 94, 5470, 0x1f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x23, 0x02, 0x09,
5658 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x08, 0x93, 0x00, 0x60, 0x00,
5659 0x00, 0x08, 0x08, 0x93, 0x00, 0x60, 0x0890, 0x088c, 0x0888, 0x01de,
5664 96, 5480, 0x22, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x24, 0x02, 0x09,
5665 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5666 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x0894, 0x0890, 0x088c, 0x01dd,
5671 98, 5490, 0x26, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x25, 0x02, 0x09,
5672 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5673 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x0898, 0x0894, 0x0890, 0x01dd,
5678 100, 5500, 0x29, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x26, 0x02, 0x09,
5679 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5680 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x089c, 0x0898, 0x0894, 0x01dc,
5685 102, 5510, 0x2c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x27, 0x02, 0x09,
5686 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5687 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x08a0, 0x089c, 0x0898, 0x01db,
5692 104, 5520, 0x30, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x28, 0x02, 0x08,
5693 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x00,
5694 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x08a4, 0x08a0, 0x089c, 0x01da,
5699 106, 5530, 0x33, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x29, 0x02, 0x08,
5700 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x00,
5701 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x08a8, 0x08a4, 0x08a0, 0x01d9,
5706 108, 5540, 0x36, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2a, 0x02, 0x08,
5707 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x00,
5708 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x08ac, 0x08a8, 0x08a4, 0x01d8,
5713 110, 5550, 0x3a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2b, 0x02, 0x08,
5714 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x00,
5715 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x08b0, 0x08ac, 0x08a8, 0x01d7,
5720 112, 5560, 0x3d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2c, 0x02, 0x08,
5721 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x00,
5722 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x08b4, 0x08b0, 0x08ac, 0x01d7,
5727 114, 5570, 0x40, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2d, 0x02, 0x08,
5728 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x00,
5729 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x08b8, 0x08b4, 0x08b0, 0x01d6,
5734 116, 5580, 0x44, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2e, 0x02, 0x08,
5735 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x07, 0x05, 0x83, 0x00, 0x60, 0x00,
5736 0x00, 0x07, 0x05, 0x83, 0x00, 0x60, 0x08bc, 0x08b8, 0x08b4, 0x01d5,
5741 118, 5590, 0x47, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2f, 0x02, 0x08,
5742 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x07, 0x04, 0x83, 0x00, 0x60, 0x00,
5743 0x00, 0x07, 0x04, 0x83, 0x00, 0x60, 0x08c0, 0x08bc, 0x08b8, 0x01d4,
5748 120, 5600, 0x4a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x30, 0x02, 0x08,
5749 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x07, 0x04, 0x73, 0x00, 0x30, 0x00,
5750 0x00, 0x07, 0x04, 0x73, 0x00, 0x30, 0x08c4, 0x08c0, 0x08bc, 0x01d3,
5755 122, 5610, 0x4e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x31, 0x02, 0x08,
5756 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5757 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08c8, 0x08c4, 0x08c0, 0x01d2,
5762 124, 5620, 0x51, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x32, 0x02, 0x07,
5763 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5764 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08cc, 0x08c8, 0x08c4, 0x01d2,
5769 126, 5630, 0x54, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x33, 0x02, 0x07,
5770 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5771 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08d0, 0x08cc, 0x08c8, 0x01d1,
5776 128, 5640, 0x58, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x34, 0x02, 0x07,
5777 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5778 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08d4, 0x08d0, 0x08cc, 0x01d0,
5783 130, 5650, 0x5b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x35, 0x02, 0x07,
5784 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x00,
5785 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x08d8, 0x08d4, 0x08d0, 0x01cf,
5790 132, 5660, 0x5e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x36, 0x02, 0x07,
5791 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x00,
5792 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x08dc, 0x08d8, 0x08d4, 0x01ce,
5797 134, 5670, 0x62, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x37, 0x02, 0x07,
5798 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x03, 0x63, 0x00, 0x00, 0x00,
5799 0x00, 0x05, 0x03, 0x63, 0x00, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce,
5804 136, 5680, 0x65, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x38, 0x02, 0x07,
5805 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5806 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd,
5811 138, 5690, 0x68, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x39, 0x02, 0x07,
5812 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5813 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc,
5818 140, 5700, 0x6c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3a, 0x02, 0x07,
5819 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5820 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb,
5825 142, 5710, 0x6f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3b, 0x02, 0x07,
5826 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5827 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca,
5832 144, 5720, 0x72, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3c, 0x02, 0x07,
5833 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5834 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9,
5839 145, 5725, 0x74, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x79, 0x04, 0x06,
5840 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x05, 0x01, 0x53, 0x00, 0x00, 0x00,
5841 0x00, 0x05, 0x01, 0x53, 0x00, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9,
5846 146, 5730, 0x76, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3d, 0x02, 0x06,
5847 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5848 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9,
5853 147, 5735, 0x77, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7b, 0x04, 0x06,
5854 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5855 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8,
5860 148, 5740, 0x79, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3e, 0x02, 0x06,
5861 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5862 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8,
5867 149, 5745, 0x7b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7d, 0x04, 0x06,
5868 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5869 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8,
5874 150, 5750, 0x7c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3f, 0x02, 0x06,
5875 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5876 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7,
5881 151, 5755, 0x7e, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7f, 0x04, 0x06,
5882 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5883 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7,
5888 152, 5760, 0x80, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x40, 0x02, 0x06,
5889 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5890 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6,
5895 153, 5765, 0x81, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x81, 0x04, 0x06,
5896 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5897 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6,
5902 154, 5770, 0x83, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x41, 0x02, 0x06,
5903 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5904 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6,
5909 155, 5775, 0x85, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x83, 0x04, 0x06,
5910 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5911 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5,
5916 156, 5780, 0x86, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x42, 0x02, 0x06,
5917 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x03, 0x01, 0x43, 0x00, 0x00, 0x00,
5918 0x00, 0x03, 0x01, 0x43, 0x00, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5,
5923 157, 5785, 0x88, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x85, 0x04, 0x05,
5924 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5925 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4,
5930 158, 5790, 0x8a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x43, 0x02, 0x05,
5931 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5932 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4,
5937 159, 5795, 0x8b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x87, 0x04, 0x05,
5938 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5939 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4,
5944 160, 5800, 0x8d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x44, 0x02, 0x05,
5945 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5946 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3,
5951 161, 5805, 0x8f, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x89, 0x04, 0x05,
5952 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5953 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3,
5958 162, 5810, 0x90, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x45, 0x02, 0x05,
5959 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5960 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2,
5965 163, 5815, 0x92, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8b, 0x04, 0x05,
5966 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5967 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2,
5972 164, 5820, 0x94, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x46, 0x02, 0x05,
5973 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5974 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2,
5979 165, 5825, 0x95, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8d, 0x04, 0x05,
5980 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5981 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1,
5986 166, 5830, 0x97, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x47, 0x02, 0x05,
5987 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5988 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1,
5993 168, 5840, 0x9a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x48, 0x02, 0x05,
5994 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5995 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0,
6000 170, 5850, 0x9e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x49, 0x02, 0x04,
6001 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6002 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf,
6007 172, 5860, 0xa1, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4a, 0x02, 0x04,
6008 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6009 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf,
6014 174, 5870, 0xa4, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4b, 0x02, 0x04,
6015 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6016 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0930, 0x092c, 0x0928, 0x01be,
6021 176, 5880, 0xa8, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4c, 0x02, 0x03,
6022 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6023 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd,
6028 178, 5890, 0xab, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4d, 0x02, 0x03,
6029 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6030 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc,
6035 180, 5900, 0xae, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4e, 0x02, 0x03,
6036 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6037 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc,
6042 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0f,
6043 0x0a, 0x00, 0x0a, 0x00, 0x71, 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6044 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03c9, 0x03c5, 0x03c1, 0x043a,
6049 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0f,
6050 0x0a, 0x00, 0x0a, 0x00, 0x71, 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6051 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cb, 0x03c7, 0x03c3, 0x0438,
6056 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0f,
6057 0x09, 0x00, 0x09, 0x00, 0x71, 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6058 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cd, 0x03c9, 0x03c5, 0x0436,
6063 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0f,
6064 0x09, 0x00, 0x09, 0x00, 0x71, 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6065 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cf, 0x03cb, 0x03c7, 0x0434,
6070 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0f,
6071 0x08, 0x00, 0x08, 0x00, 0x51, 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x51,
6072 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d1, 0x03cd, 0x03c9, 0x0431,
6077 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0f,
6078 0x08, 0x00, 0x08, 0x00, 0x51, 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x51,
6079 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d3, 0x03cf, 0x03cb, 0x042f,
6084 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0f,
6085 0x07, 0x00, 0x07, 0x00, 0x51, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x51,
6086 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d5, 0x03d1, 0x03cd, 0x042d,
6091 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0f,
6092 0x07, 0x00, 0x07, 0x00, 0x31, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6093 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d7, 0x03d3, 0x03cf, 0x042b,
6098 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0f,
6099 0x07, 0x00, 0x07, 0x00, 0x31, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6100 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d9, 0x03d5, 0x03d1, 0x0429,
6105 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0f,
6106 0x06, 0x00, 0x06, 0x00, 0x31, 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6107 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03db, 0x03d7, 0x03d3, 0x0427,
6112 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0f,
6113 0x06, 0x00, 0x06, 0x00, 0x31, 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6114 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03dd, 0x03d9, 0x03d5, 0x0424,
6119 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0f,
6120 0x05, 0x00, 0x05, 0x00, 0x11, 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x11,
6121 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03df, 0x03db, 0x03d7, 0x0422,
6126 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0f,
6127 0x05, 0x00, 0x05, 0x00, 0x11, 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x11,
6128 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03e1, 0x03dd, 0x03d9, 0x0420,
6133 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0f,
6134 0x04, 0x00, 0x04, 0x00, 0x11, 0x43, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x11,
6135 0x43, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x03e6, 0x03e2, 0x03de, 0x041b,
6140 static chan_info_nphy_radio2057_rev5_t chan_info_nphyrev8_2057_rev5[] = {
6142 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0d,
6143 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03c9, 0x03c5, 0x03c1,
6144 0x043a, 0x043f, 0x0443},
6146 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0d,
6147 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03cb, 0x03c7, 0x03c3,
6148 0x0438, 0x043d, 0x0441},
6150 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0d,
6151 0x08, 0x0e, 0x61, 0x03, 0xef, 0x61, 0x03, 0xef, 0x03cd, 0x03c9, 0x03c5,
6152 0x0436, 0x043a, 0x043f},
6154 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0c,
6155 0x08, 0x0e, 0x61, 0x03, 0xdf, 0x61, 0x03, 0xdf, 0x03cf, 0x03cb, 0x03c7,
6156 0x0434, 0x0438, 0x043d},
6158 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0c,
6159 0x07, 0x0d, 0x61, 0x03, 0xcf, 0x61, 0x03, 0xcf, 0x03d1, 0x03cd, 0x03c9,
6160 0x0431, 0x0436, 0x043a},
6162 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0c,
6163 0x07, 0x0d, 0x61, 0x03, 0xbf, 0x61, 0x03, 0xbf, 0x03d3, 0x03cf, 0x03cb,
6164 0x042f, 0x0434, 0x0438},
6166 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0b,
6167 0x07, 0x0d, 0x61, 0x03, 0xaf, 0x61, 0x03, 0xaf, 0x03d5, 0x03d1, 0x03cd,
6168 0x042d, 0x0431, 0x0436},
6170 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0b,
6171 0x07, 0x0d, 0x61, 0x03, 0x9f, 0x61, 0x03, 0x9f, 0x03d7, 0x03d3, 0x03cf,
6172 0x042b, 0x042f, 0x0434},
6174 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0b,
6175 0x07, 0x0d, 0x61, 0x03, 0x8f, 0x61, 0x03, 0x8f, 0x03d9, 0x03d5, 0x03d1,
6176 0x0429, 0x042d, 0x0431},
6178 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0b,
6179 0x07, 0x0c, 0x61, 0x03, 0x7f, 0x61, 0x03, 0x7f, 0x03db, 0x03d7, 0x03d3,
6180 0x0427, 0x042b, 0x042f},
6182 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0b,
6183 0x07, 0x0c, 0x61, 0x03, 0x6f, 0x61, 0x03, 0x6f, 0x03dd, 0x03d9, 0x03d5,
6184 0x0424, 0x0429, 0x042d},
6186 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0b,
6187 0x06, 0x0c, 0x61, 0x03, 0x5f, 0x61, 0x03, 0x5f, 0x03df, 0x03db, 0x03d7,
6188 0x0422, 0x0427, 0x042b},
6190 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0a,
6191 0x06, 0x0b, 0x61, 0x03, 0x4f, 0x61, 0x03, 0x4f, 0x03e1, 0x03dd, 0x03d9,
6192 0x0420, 0x0424, 0x0429},
6194 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0a,
6195 0x06, 0x0b, 0x61, 0x03, 0x3f, 0x61, 0x03, 0x3f, 0x03e6, 0x03e2, 0x03de,
6196 0x041b, 0x041f, 0x0424}
6199 static chan_info_nphy_radio2057_rev5_t chan_info_nphyrev9_2057_rev5v1[] = {
6201 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0d,
6202 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03c9, 0x03c5, 0x03c1,
6203 0x043a, 0x043f, 0x0443},
6205 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0d,
6206 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03cb, 0x03c7, 0x03c3,
6207 0x0438, 0x043d, 0x0441},
6209 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0d,
6210 0x08, 0x0e, 0x61, 0x03, 0xef, 0x61, 0x03, 0xef, 0x03cd, 0x03c9, 0x03c5,
6211 0x0436, 0x043a, 0x043f},
6213 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0c,
6214 0x08, 0x0e, 0x61, 0x03, 0xdf, 0x61, 0x03, 0xdf, 0x03cf, 0x03cb, 0x03c7,
6215 0x0434, 0x0438, 0x043d},
6217 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0c,
6218 0x07, 0x0d, 0x61, 0x03, 0xcf, 0x61, 0x03, 0xcf, 0x03d1, 0x03cd, 0x03c9,
6219 0x0431, 0x0436, 0x043a},
6221 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0c,
6222 0x07, 0x0d, 0x61, 0x03, 0xbf, 0x61, 0x03, 0xbf, 0x03d3, 0x03cf, 0x03cb,
6223 0x042f, 0x0434, 0x0438},
6225 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0b,
6226 0x07, 0x0d, 0x61, 0x03, 0xaf, 0x61, 0x03, 0xaf, 0x03d5, 0x03d1, 0x03cd,
6227 0x042d, 0x0431, 0x0436},
6229 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0b,
6230 0x07, 0x0d, 0x61, 0x03, 0x9f, 0x61, 0x03, 0x9f, 0x03d7, 0x03d3, 0x03cf,
6231 0x042b, 0x042f, 0x0434},
6233 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0b,
6234 0x07, 0x0d, 0x61, 0x03, 0x8f, 0x61, 0x03, 0x8f, 0x03d9, 0x03d5, 0x03d1,
6235 0x0429, 0x042d, 0x0431},
6237 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0b,
6238 0x07, 0x0c, 0x61, 0x03, 0x7f, 0x61, 0x03, 0x7f, 0x03db, 0x03d7, 0x03d3,
6239 0x0427, 0x042b, 0x042f},
6241 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0b,
6242 0x07, 0x0c, 0x61, 0x03, 0x6f, 0x61, 0x03, 0x6f, 0x03dd, 0x03d9, 0x03d5,
6243 0x0424, 0x0429, 0x042d},
6245 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0b,
6246 0x06, 0x0c, 0x61, 0x03, 0x5f, 0x61, 0x03, 0x5f, 0x03df, 0x03db, 0x03d7,
6247 0x0422, 0x0427, 0x042b},
6249 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0a,
6250 0x06, 0x0b, 0x61, 0x03, 0x4f, 0x61, 0x03, 0x4f, 0x03e1, 0x03dd, 0x03d9,
6251 0x0420, 0x0424, 0x0429},
6253 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0a,
6254 0x06, 0x0b, 0x61, 0x03, 0x3f, 0x61, 0x03, 0x3f, 0x03e6, 0x03e2, 0x03de,
6255 0x041b, 0x041f, 0x0424}
6258 static chan_info_nphy_radio2057_t chan_info_nphyrev8_2057_rev7[] = {
6260 184, 4920, 0x68, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xec, 0x01, 0x0f,
6261 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6262 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07b4, 0x07b0, 0x07ac, 0x0214,
6266 186, 4930, 0x6b, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xed, 0x01, 0x0f,
6267 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6268 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07b8, 0x07b4, 0x07b0, 0x0213,
6272 188, 4940, 0x6e, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xee, 0x01, 0x0f,
6273 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6274 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07bc, 0x07b8, 0x07b4, 0x0212,
6278 190, 4950, 0x72, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xef, 0x01, 0x0f,
6279 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6280 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c0, 0x07bc, 0x07b8, 0x0211,
6284 192, 4960, 0x75, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf0, 0x01, 0x0f,
6285 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6286 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c4, 0x07c0, 0x07bc, 0x020f,
6290 194, 4970, 0x78, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf1, 0x01, 0x0f,
6291 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6292 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c8, 0x07c4, 0x07c0, 0x020e,
6296 196, 4980, 0x7c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf2, 0x01, 0x0f,
6297 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6298 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07cc, 0x07c8, 0x07c4, 0x020d,
6302 198, 4990, 0x7f, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf3, 0x01, 0x0f,
6303 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6304 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07d0, 0x07cc, 0x07c8, 0x020c,
6308 200, 5000, 0x82, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf4, 0x01, 0x0f,
6309 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6310 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d4, 0x07d0, 0x07cc, 0x020b,
6314 202, 5010, 0x86, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf5, 0x01, 0x0f,
6315 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6316 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d8, 0x07d4, 0x07d0, 0x020a,
6320 204, 5020, 0x89, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf6, 0x01, 0x0e,
6321 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6322 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07dc, 0x07d8, 0x07d4, 0x0209,
6326 206, 5030, 0x8c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf7, 0x01, 0x0e,
6327 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6328 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e0, 0x07dc, 0x07d8, 0x0208,
6332 208, 5040, 0x90, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf8, 0x01, 0x0e,
6333 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6334 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e4, 0x07e0, 0x07dc, 0x0207,
6338 210, 5050, 0x93, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf9, 0x01, 0x0e,
6339 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6340 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e8, 0x07e4, 0x07e0, 0x0206,
6344 212, 5060, 0x96, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfa, 0x01, 0x0e,
6345 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6346 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07ec, 0x07e8, 0x07e4, 0x0205,
6350 214, 5070, 0x9a, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfb, 0x01, 0x0e,
6351 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6352 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f0, 0x07ec, 0x07e8, 0x0204,
6356 216, 5080, 0x9d, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfc, 0x01, 0x0e,
6357 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6358 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f4, 0x07f0, 0x07ec, 0x0203,
6362 218, 5090, 0xa0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfd, 0x01, 0x0e,
6363 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6364 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f8, 0x07f4, 0x07f0, 0x0202,
6368 220, 5100, 0xa4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfe, 0x01, 0x0d,
6369 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6370 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x07fc, 0x07f8, 0x07f4, 0x0201,
6374 222, 5110, 0xa7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xff, 0x01, 0x0d,
6375 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6376 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0800, 0x07fc, 0x07f8, 0x0200,
6380 224, 5120, 0xaa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x00, 0x02, 0x0d,
6381 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6382 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0804, 0x0800, 0x07fc, 0x01ff,
6386 226, 5130, 0xae, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x01, 0x02, 0x0d,
6387 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6388 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0808, 0x0804, 0x0800, 0x01fe,
6392 228, 5140, 0xb1, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x02, 0x02, 0x0d,
6393 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6394 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x080c, 0x0808, 0x0804, 0x01fd,
6398 32, 5160, 0xb8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x04, 0x02, 0x0d,
6399 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6400 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0814, 0x0810, 0x080c, 0x01fb,
6404 34, 5170, 0xbb, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x05, 0x02, 0x0d,
6405 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6406 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0818, 0x0814, 0x0810, 0x01fa,
6410 36, 5180, 0xbe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x06, 0x02, 0x0c,
6411 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6412 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x081c, 0x0818, 0x0814, 0x01f9,
6416 38, 5190, 0xc2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x07, 0x02, 0x0c,
6417 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6418 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0820, 0x081c, 0x0818, 0x01f8,
6422 40, 5200, 0xc5, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x08, 0x02, 0x0c,
6423 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6424 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0824, 0x0820, 0x081c, 0x01f7,
6428 42, 5210, 0xc8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x09, 0x02, 0x0c,
6429 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6430 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0828, 0x0824, 0x0820, 0x01f6,
6434 44, 5220, 0xcc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0a, 0x02, 0x0c,
6435 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6436 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x082c, 0x0828, 0x0824, 0x01f5,
6440 46, 5230, 0xcf, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0b, 0x02, 0x0c,
6441 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6442 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0830, 0x082c, 0x0828, 0x01f4,
6446 48, 5240, 0xd2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0c, 0x02, 0x0c,
6447 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6448 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0834, 0x0830, 0x082c, 0x01f3,
6452 50, 5250, 0xd6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0d, 0x02, 0x0c,
6453 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6454 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0838, 0x0834, 0x0830, 0x01f2,
6458 52, 5260, 0xd9, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0e, 0x02, 0x0b,
6459 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6460 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x083c, 0x0838, 0x0834, 0x01f1,
6464 54, 5270, 0xdc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0f, 0x02, 0x0b,
6465 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6466 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0840, 0x083c, 0x0838, 0x01f0,
6470 56, 5280, 0xe0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x10, 0x02, 0x0b,
6471 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6472 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0844, 0x0840, 0x083c, 0x01f0,
6476 58, 5290, 0xe3, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x11, 0x02, 0x0b,
6477 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6478 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0848, 0x0844, 0x0840, 0x01ef,
6482 60, 5300, 0xe6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x12, 0x02, 0x0b,
6483 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6484 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x084c, 0x0848, 0x0844, 0x01ee,
6488 62, 5310, 0xea, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x13, 0x02, 0x0b,
6489 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6490 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0850, 0x084c, 0x0848, 0x01ed,
6494 64, 5320, 0xed, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x14, 0x02, 0x0b,
6495 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6496 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0854, 0x0850, 0x084c, 0x01ec,
6500 66, 5330, 0xf0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x15, 0x02, 0x0b,
6501 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6502 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0858, 0x0854, 0x0850, 0x01eb,
6506 68, 5340, 0xf4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x16, 0x02, 0x0a,
6507 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6508 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x085c, 0x0858, 0x0854, 0x01ea,
6512 70, 5350, 0xf7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x17, 0x02, 0x0a,
6513 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6514 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0860, 0x085c, 0x0858, 0x01e9,
6518 72, 5360, 0xfa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x18, 0x02, 0x0a,
6519 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6520 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0864, 0x0860, 0x085c, 0x01e8,
6524 74, 5370, 0xfe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x19, 0x02, 0x0a,
6525 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6526 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0868, 0x0864, 0x0860, 0x01e7,
6530 76, 5380, 0x01, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1a, 0x02, 0x0a,
6531 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6532 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x086c, 0x0868, 0x0864, 0x01e6,
6536 78, 5390, 0x04, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1b, 0x02, 0x0a,
6537 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6538 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0870, 0x086c, 0x0868, 0x01e5,
6542 80, 5400, 0x08, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1c, 0x02, 0x0a,
6543 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6544 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0874, 0x0870, 0x086c, 0x01e5,
6548 82, 5410, 0x0b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1d, 0x02, 0x0a,
6549 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6550 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0878, 0x0874, 0x0870, 0x01e4,
6554 84, 5420, 0x0e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1e, 0x02, 0x09,
6555 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6556 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x087c, 0x0878, 0x0874, 0x01e3,
6560 86, 5430, 0x12, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1f, 0x02, 0x09,
6561 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6562 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0880, 0x087c, 0x0878, 0x01e2,
6566 88, 5440, 0x15, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x20, 0x02, 0x09,
6567 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6568 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0884, 0x0880, 0x087c, 0x01e1,
6572 90, 5450, 0x18, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x21, 0x02, 0x09,
6573 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6574 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0888, 0x0884, 0x0880, 0x01e0,
6578 92, 5460, 0x1c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x22, 0x02, 0x09,
6579 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6580 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x088c, 0x0888, 0x0884, 0x01df,
6584 94, 5470, 0x1f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x23, 0x02, 0x09,
6585 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6586 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0890, 0x088c, 0x0888, 0x01de,
6590 96, 5480, 0x22, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x24, 0x02, 0x09,
6591 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6592 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0894, 0x0890, 0x088c, 0x01dd,
6596 98, 5490, 0x26, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x25, 0x02, 0x09,
6597 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6598 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0898, 0x0894, 0x0890, 0x01dd,
6602 100, 5500, 0x29, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x26, 0x02, 0x09,
6603 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6604 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x089c, 0x0898, 0x0894, 0x01dc,
6608 102, 5510, 0x2c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x27, 0x02, 0x09,
6609 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6610 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a0, 0x089c, 0x0898, 0x01db,
6614 104, 5520, 0x30, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x28, 0x02, 0x08,
6615 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6616 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a4, 0x08a0, 0x089c, 0x01da,
6620 106, 5530, 0x33, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x29, 0x02, 0x08,
6621 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6622 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a8, 0x08a4, 0x08a0, 0x01d9,
6626 108, 5540, 0x36, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2a, 0x02, 0x08,
6627 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6628 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08ac, 0x08a8, 0x08a4, 0x01d8,
6632 110, 5550, 0x3a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2b, 0x02, 0x08,
6633 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6634 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b0, 0x08ac, 0x08a8, 0x01d7,
6638 112, 5560, 0x3d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2c, 0x02, 0x08,
6639 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6640 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b4, 0x08b0, 0x08ac, 0x01d7,
6644 114, 5570, 0x40, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2d, 0x02, 0x08,
6645 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6646 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b8, 0x08b4, 0x08b0, 0x01d6,
6650 116, 5580, 0x44, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2e, 0x02, 0x08,
6651 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6652 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08bc, 0x08b8, 0x08b4, 0x01d5,
6656 118, 5590, 0x47, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2f, 0x02, 0x08,
6657 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6658 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08c0, 0x08bc, 0x08b8, 0x01d4,
6662 120, 5600, 0x4a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x30, 0x02, 0x08,
6663 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6664 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c4, 0x08c0, 0x08bc, 0x01d3,
6668 122, 5610, 0x4e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x31, 0x02, 0x08,
6669 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6670 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c8, 0x08c4, 0x08c0, 0x01d2,
6674 124, 5620, 0x51, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x32, 0x02, 0x07,
6675 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6676 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08cc, 0x08c8, 0x08c4, 0x01d2,
6680 126, 5630, 0x54, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x33, 0x02, 0x07,
6681 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6682 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d0, 0x08cc, 0x08c8, 0x01d1,
6686 128, 5640, 0x58, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x34, 0x02, 0x07,
6687 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6688 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d4, 0x08d0, 0x08cc, 0x01d0,
6692 130, 5650, 0x5b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x35, 0x02, 0x07,
6693 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
6694 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08d8, 0x08d4, 0x08d0, 0x01cf,
6698 132, 5660, 0x5e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x36, 0x02, 0x07,
6699 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
6700 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08dc, 0x08d8, 0x08d4, 0x01ce,
6704 134, 5670, 0x62, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x37, 0x02, 0x07,
6705 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
6706 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08e0, 0x08dc, 0x08d8, 0x01ce,
6710 136, 5680, 0x65, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x38, 0x02, 0x07,
6711 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
6712 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e4, 0x08e0, 0x08dc, 0x01cd,
6716 138, 5690, 0x68, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x39, 0x02, 0x07,
6717 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
6718 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e8, 0x08e4, 0x08e0, 0x01cc,
6722 140, 5700, 0x6c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3a, 0x02, 0x07,
6723 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6724 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08ec, 0x08e8, 0x08e4, 0x01cb,
6728 142, 5710, 0x6f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3b, 0x02, 0x07,
6729 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6730 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f0, 0x08ec, 0x08e8, 0x01ca,
6734 144, 5720, 0x72, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3c, 0x02, 0x07,
6735 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6736 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f4, 0x08f0, 0x08ec, 0x01c9,
6740 145, 5725, 0x74, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x79, 0x04, 0x06,
6741 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6742 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f6, 0x08f2, 0x08ee, 0x01c9,
6746 146, 5730, 0x76, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3d, 0x02, 0x06,
6747 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6748 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f8, 0x08f4, 0x08f0, 0x01c9,
6752 147, 5735, 0x77, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7b, 0x04, 0x06,
6753 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6754 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fa, 0x08f6, 0x08f2, 0x01c8,
6758 148, 5740, 0x79, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3e, 0x02, 0x06,
6759 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6760 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fc, 0x08f8, 0x08f4, 0x01c8,
6764 149, 5745, 0x7b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7d, 0x04, 0x06,
6765 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6766 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fe, 0x08fa, 0x08f6, 0x01c8,
6770 150, 5750, 0x7c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3f, 0x02, 0x06,
6771 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6772 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7,
6776 151, 5755, 0x7e, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7f, 0x04, 0x06,
6777 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6778 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7,
6782 152, 5760, 0x80, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x40, 0x02, 0x06,
6783 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6784 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6,
6788 153, 5765, 0x81, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x81, 0x04, 0x06,
6789 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6790 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6,
6794 154, 5770, 0x83, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x41, 0x02, 0x06,
6795 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6796 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6,
6800 155, 5775, 0x85, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x83, 0x04, 0x06,
6801 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6802 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5,
6806 156, 5780, 0x86, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x42, 0x02, 0x06,
6807 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6808 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5,
6812 157, 5785, 0x88, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x85, 0x04, 0x05,
6813 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6814 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4,
6818 158, 5790, 0x8a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x43, 0x02, 0x05,
6819 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6820 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4,
6824 159, 5795, 0x8b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x87, 0x04, 0x05,
6825 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6826 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4,
6830 160, 5800, 0x8d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x44, 0x02, 0x05,
6831 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x00,
6832 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3,
6836 161, 5805, 0x8f, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x89, 0x04, 0x05,
6837 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6838 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3,
6842 162, 5810, 0x90, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x45, 0x02, 0x05,
6843 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6844 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2,
6848 163, 5815, 0x92, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8b, 0x04, 0x05,
6849 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6850 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2,
6854 164, 5820, 0x94, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x46, 0x02, 0x05,
6855 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6856 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2,
6860 165, 5825, 0x95, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8d, 0x04, 0x05,
6861 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6862 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1,
6866 166, 5830, 0x97, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x47, 0x02, 0x05,
6867 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6868 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1,
6872 168, 5840, 0x9a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x48, 0x02, 0x05,
6873 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6874 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0,
6878 170, 5850, 0x9e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x49, 0x02, 0x04,
6879 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6880 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf,
6884 172, 5860, 0xa1, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4a, 0x02, 0x04,
6885 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6886 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf,
6890 174, 5870, 0xa4, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4b, 0x02, 0x04,
6891 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6892 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0930, 0x092c, 0x0928, 0x01be,
6896 176, 5880, 0xa8, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4c, 0x02, 0x03,
6897 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6898 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd,
6902 178, 5890, 0xab, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4d, 0x02, 0x03,
6903 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6904 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc,
6908 180, 5900, 0xae, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4e, 0x02, 0x03,
6909 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6910 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc,
6914 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0f,
6915 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6916 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03c9, 0x03c5, 0x03c1, 0x043a,
6920 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0f,
6921 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6922 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cb, 0x03c7, 0x03c3, 0x0438,
6926 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0f,
6927 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6928 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cd, 0x03c9, 0x03c5, 0x0436,
6932 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0f,
6933 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6934 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cf, 0x03cb, 0x03c7, 0x0434,
6938 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0f,
6939 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6940 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d1, 0x03cd, 0x03c9, 0x0431,
6944 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0f,
6945 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6946 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d3, 0x03cf, 0x03cb, 0x042f,
6950 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0f,
6951 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6952 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d5, 0x03d1, 0x03cd, 0x042d,
6956 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0f,
6957 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6958 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d7, 0x03d3, 0x03cf, 0x042b,
6962 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0f,
6963 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6964 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d9, 0x03d5, 0x03d1, 0x0429,
6968 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0f,
6969 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6970 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03db, 0x03d7, 0x03d3, 0x0427,
6974 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0f,
6975 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6976 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03dd, 0x03d9, 0x03d5, 0x0424,
6980 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0f,
6981 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6982 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03df, 0x03db, 0x03d7, 0x0422,
6986 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0f,
6987 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6988 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03e1, 0x03dd, 0x03d9, 0x0420,
6992 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0f,
6993 0x04, 0x00, 0x04, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x61,
6994 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x03e6, 0x03e2, 0x03de, 0x041b,
6999 static chan_info_nphy_radio2057_t chan_info_nphyrev8_2057_rev8[] = {
7001 186, 4930, 0x6b, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xed, 0x01, 0x0f,
7002 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7003 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07b8, 0x07b4, 0x07b0, 0x0213,
7007 188, 4940, 0x6e, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xee, 0x01, 0x0f,
7008 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7009 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07bc, 0x07b8, 0x07b4, 0x0212,
7013 190, 4950, 0x72, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xef, 0x01, 0x0f,
7014 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7015 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c0, 0x07bc, 0x07b8, 0x0211,
7019 192, 4960, 0x75, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf0, 0x01, 0x0f,
7020 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7021 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c4, 0x07c0, 0x07bc, 0x020f,
7025 194, 4970, 0x78, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf1, 0x01, 0x0f,
7026 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7027 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c8, 0x07c4, 0x07c0, 0x020e,
7031 196, 4980, 0x7c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf2, 0x01, 0x0f,
7032 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7033 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07cc, 0x07c8, 0x07c4, 0x020d,
7037 198, 4990, 0x7f, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf3, 0x01, 0x0f,
7038 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7039 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07d0, 0x07cc, 0x07c8, 0x020c,
7043 200, 5000, 0x82, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf4, 0x01, 0x0f,
7044 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7045 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d4, 0x07d0, 0x07cc, 0x020b,
7049 202, 5010, 0x86, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf5, 0x01, 0x0f,
7050 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7051 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d8, 0x07d4, 0x07d0, 0x020a,
7055 204, 5020, 0x89, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf6, 0x01, 0x0e,
7056 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7057 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07dc, 0x07d8, 0x07d4, 0x0209,
7061 206, 5030, 0x8c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf7, 0x01, 0x0e,
7062 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7063 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e0, 0x07dc, 0x07d8, 0x0208,
7067 208, 5040, 0x90, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf8, 0x01, 0x0e,
7068 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7069 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e4, 0x07e0, 0x07dc, 0x0207,
7073 210, 5050, 0x93, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf9, 0x01, 0x0e,
7074 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7075 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e8, 0x07e4, 0x07e0, 0x0206,
7079 212, 5060, 0x96, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfa, 0x01, 0x0e,
7080 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7081 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07ec, 0x07e8, 0x07e4, 0x0205,
7085 214, 5070, 0x9a, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfb, 0x01, 0x0e,
7086 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7087 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f0, 0x07ec, 0x07e8, 0x0204,
7091 216, 5080, 0x9d, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfc, 0x01, 0x0e,
7092 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7093 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f4, 0x07f0, 0x07ec, 0x0203,
7097 218, 5090, 0xa0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfd, 0x01, 0x0e,
7098 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7099 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f8, 0x07f4, 0x07f0, 0x0202,
7103 220, 5100, 0xa4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfe, 0x01, 0x0d,
7104 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7105 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x07fc, 0x07f8, 0x07f4, 0x0201,
7109 222, 5110, 0xa7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xff, 0x01, 0x0d,
7110 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7111 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0800, 0x07fc, 0x07f8, 0x0200,
7115 224, 5120, 0xaa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x00, 0x02, 0x0d,
7116 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7117 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0804, 0x0800, 0x07fc, 0x01ff,
7121 226, 5130, 0xae, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x01, 0x02, 0x0d,
7122 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7123 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0808, 0x0804, 0x0800, 0x01fe,
7127 228, 5140, 0xb1, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x02, 0x02, 0x0d,
7128 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7129 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x080c, 0x0808, 0x0804, 0x01fd,
7133 32, 5160, 0xb8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x04, 0x02, 0x0d,
7134 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7135 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0814, 0x0810, 0x080c, 0x01fb,
7139 34, 5170, 0xbb, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x05, 0x02, 0x0d,
7140 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7141 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0818, 0x0814, 0x0810, 0x01fa,
7145 36, 5180, 0xbe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x06, 0x02, 0x0c,
7146 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7147 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x081c, 0x0818, 0x0814, 0x01f9,
7151 38, 5190, 0xc2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x07, 0x02, 0x0c,
7152 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7153 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0820, 0x081c, 0x0818, 0x01f8,
7157 40, 5200, 0xc5, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x08, 0x02, 0x0c,
7158 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7159 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0824, 0x0820, 0x081c, 0x01f7,
7163 42, 5210, 0xc8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x09, 0x02, 0x0c,
7164 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7165 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0828, 0x0824, 0x0820, 0x01f6,
7169 44, 5220, 0xcc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0a, 0x02, 0x0c,
7170 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7171 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x082c, 0x0828, 0x0824, 0x01f5,
7175 46, 5230, 0xcf, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0b, 0x02, 0x0c,
7176 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7177 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0830, 0x082c, 0x0828, 0x01f4,
7181 48, 5240, 0xd2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0c, 0x02, 0x0c,
7182 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7183 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0834, 0x0830, 0x082c, 0x01f3,
7187 50, 5250, 0xd6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0d, 0x02, 0x0c,
7188 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7189 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0838, 0x0834, 0x0830, 0x01f2,
7193 52, 5260, 0xd9, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0e, 0x02, 0x0b,
7194 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7195 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x083c, 0x0838, 0x0834, 0x01f1,
7199 54, 5270, 0xdc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0f, 0x02, 0x0b,
7200 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7201 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0840, 0x083c, 0x0838, 0x01f0,
7205 56, 5280, 0xe0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x10, 0x02, 0x0b,
7206 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7207 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0844, 0x0840, 0x083c, 0x01f0,
7211 58, 5290, 0xe3, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x11, 0x02, 0x0b,
7212 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7213 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0848, 0x0844, 0x0840, 0x01ef,
7217 60, 5300, 0xe6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x12, 0x02, 0x0b,
7218 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7219 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x084c, 0x0848, 0x0844, 0x01ee,
7223 62, 5310, 0xea, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x13, 0x02, 0x0b,
7224 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7225 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0850, 0x084c, 0x0848, 0x01ed,
7229 64, 5320, 0xed, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x14, 0x02, 0x0b,
7230 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7231 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0854, 0x0850, 0x084c, 0x01ec,
7235 66, 5330, 0xf0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x15, 0x02, 0x0b,
7236 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7237 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0858, 0x0854, 0x0850, 0x01eb,
7241 68, 5340, 0xf4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x16, 0x02, 0x0a,
7242 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7243 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x085c, 0x0858, 0x0854, 0x01ea,
7247 70, 5350, 0xf7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x17, 0x02, 0x0a,
7248 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7249 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0860, 0x085c, 0x0858, 0x01e9,
7253 72, 5360, 0xfa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x18, 0x02, 0x0a,
7254 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7255 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0864, 0x0860, 0x085c, 0x01e8,
7259 74, 5370, 0xfe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x19, 0x02, 0x0a,
7260 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7261 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0868, 0x0864, 0x0860, 0x01e7,
7265 76, 5380, 0x01, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1a, 0x02, 0x0a,
7266 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7267 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x086c, 0x0868, 0x0864, 0x01e6,
7271 78, 5390, 0x04, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1b, 0x02, 0x0a,
7272 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7273 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0870, 0x086c, 0x0868, 0x01e5,
7277 80, 5400, 0x08, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1c, 0x02, 0x0a,
7278 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7279 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0874, 0x0870, 0x086c, 0x01e5,
7283 82, 5410, 0x0b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1d, 0x02, 0x0a,
7284 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7285 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0878, 0x0874, 0x0870, 0x01e4,
7289 84, 5420, 0x0e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1e, 0x02, 0x09,
7290 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7291 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x087c, 0x0878, 0x0874, 0x01e3,
7295 86, 5430, 0x12, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1f, 0x02, 0x09,
7296 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7297 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0880, 0x087c, 0x0878, 0x01e2,
7301 88, 5440, 0x15, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x20, 0x02, 0x09,
7302 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7303 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0884, 0x0880, 0x087c, 0x01e1,
7307 90, 5450, 0x18, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x21, 0x02, 0x09,
7308 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7309 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0888, 0x0884, 0x0880, 0x01e0,
7313 92, 5460, 0x1c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x22, 0x02, 0x09,
7314 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7315 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x088c, 0x0888, 0x0884, 0x01df,
7319 94, 5470, 0x1f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x23, 0x02, 0x09,
7320 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7321 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0890, 0x088c, 0x0888, 0x01de,
7325 96, 5480, 0x22, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x24, 0x02, 0x09,
7326 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7327 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0894, 0x0890, 0x088c, 0x01dd,
7331 98, 5490, 0x26, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x25, 0x02, 0x09,
7332 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7333 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0898, 0x0894, 0x0890, 0x01dd,
7337 100, 5500, 0x29, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x26, 0x02, 0x09,
7338 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7339 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x089c, 0x0898, 0x0894, 0x01dc,
7343 102, 5510, 0x2c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x27, 0x02, 0x09,
7344 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7345 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a0, 0x089c, 0x0898, 0x01db,
7349 104, 5520, 0x30, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x28, 0x02, 0x08,
7350 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7351 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a4, 0x08a0, 0x089c, 0x01da,
7355 106, 5530, 0x33, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x29, 0x02, 0x08,
7356 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7357 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a8, 0x08a4, 0x08a0, 0x01d9,
7361 108, 5540, 0x36, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2a, 0x02, 0x08,
7362 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7363 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08ac, 0x08a8, 0x08a4, 0x01d8,
7367 110, 5550, 0x3a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2b, 0x02, 0x08,
7368 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7369 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b0, 0x08ac, 0x08a8, 0x01d7,
7373 112, 5560, 0x3d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2c, 0x02, 0x08,
7374 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7375 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b4, 0x08b0, 0x08ac, 0x01d7,
7379 114, 5570, 0x40, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2d, 0x02, 0x08,
7380 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7381 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b8, 0x08b4, 0x08b0, 0x01d6,
7385 116, 5580, 0x44, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2e, 0x02, 0x08,
7386 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7387 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08bc, 0x08b8, 0x08b4, 0x01d5,
7391 118, 5590, 0x47, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2f, 0x02, 0x08,
7392 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7393 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08c0, 0x08bc, 0x08b8, 0x01d4,
7397 120, 5600, 0x4a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x30, 0x02, 0x08,
7398 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7399 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c4, 0x08c0, 0x08bc, 0x01d3,
7403 122, 5610, 0x4e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x31, 0x02, 0x08,
7404 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7405 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c8, 0x08c4, 0x08c0, 0x01d2,
7409 124, 5620, 0x51, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x32, 0x02, 0x07,
7410 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7411 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08cc, 0x08c8, 0x08c4, 0x01d2,
7415 126, 5630, 0x54, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x33, 0x02, 0x07,
7416 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7417 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d0, 0x08cc, 0x08c8, 0x01d1,
7421 128, 5640, 0x58, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x34, 0x02, 0x07,
7422 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7423 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d4, 0x08d0, 0x08cc, 0x01d0,
7427 130, 5650, 0x5b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x35, 0x02, 0x07,
7428 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
7429 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08d8, 0x08d4, 0x08d0, 0x01cf,
7433 132, 5660, 0x5e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x36, 0x02, 0x07,
7434 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
7435 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08dc, 0x08d8, 0x08d4, 0x01ce,
7439 134, 5670, 0x62, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x37, 0x02, 0x07,
7440 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
7441 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08e0, 0x08dc, 0x08d8, 0x01ce,
7445 136, 5680, 0x65, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x38, 0x02, 0x07,
7446 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
7447 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e4, 0x08e0, 0x08dc, 0x01cd,
7451 138, 5690, 0x68, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x39, 0x02, 0x07,
7452 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
7453 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e8, 0x08e4, 0x08e0, 0x01cc,
7457 140, 5700, 0x6c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3a, 0x02, 0x07,
7458 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7459 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08ec, 0x08e8, 0x08e4, 0x01cb,
7463 142, 5710, 0x6f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3b, 0x02, 0x07,
7464 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7465 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f0, 0x08ec, 0x08e8, 0x01ca,
7469 144, 5720, 0x72, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3c, 0x02, 0x07,
7470 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7471 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f4, 0x08f0, 0x08ec, 0x01c9,
7475 145, 5725, 0x74, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x79, 0x04, 0x06,
7476 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7477 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f6, 0x08f2, 0x08ee, 0x01c9,
7481 146, 5730, 0x76, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3d, 0x02, 0x06,
7482 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7483 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f8, 0x08f4, 0x08f0, 0x01c9,
7487 147, 5735, 0x77, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7b, 0x04, 0x06,
7488 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7489 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fa, 0x08f6, 0x08f2, 0x01c8,
7493 148, 5740, 0x79, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3e, 0x02, 0x06,
7494 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7495 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fc, 0x08f8, 0x08f4, 0x01c8,
7499 149, 5745, 0x7b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7d, 0x04, 0x06,
7500 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7501 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fe, 0x08fa, 0x08f6, 0x01c8,
7505 150, 5750, 0x7c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3f, 0x02, 0x06,
7506 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7507 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7,
7511 151, 5755, 0x7e, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7f, 0x04, 0x06,
7512 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7513 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7,
7517 152, 5760, 0x80, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x40, 0x02, 0x06,
7518 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7519 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6,
7523 153, 5765, 0x81, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x81, 0x04, 0x06,
7524 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7525 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6,
7529 154, 5770, 0x83, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x41, 0x02, 0x06,
7530 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7531 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6,
7535 155, 5775, 0x85, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x83, 0x04, 0x06,
7536 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7537 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5,
7541 156, 5780, 0x86, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x42, 0x02, 0x06,
7542 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7543 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5,
7547 157, 5785, 0x88, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x85, 0x04, 0x05,
7548 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7549 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4,
7553 158, 5790, 0x8a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x43, 0x02, 0x05,
7554 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7555 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4,
7559 159, 5795, 0x8b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x87, 0x04, 0x05,
7560 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7561 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4,
7565 160, 5800, 0x8d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x44, 0x02, 0x05,
7566 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x00,
7567 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3,
7571 161, 5805, 0x8f, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x89, 0x04, 0x05,
7572 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7573 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3,
7577 162, 5810, 0x90, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x45, 0x02, 0x05,
7578 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7579 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2,
7583 163, 5815, 0x92, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8b, 0x04, 0x05,
7584 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7585 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2,
7589 164, 5820, 0x94, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x46, 0x02, 0x05,
7590 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7591 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2,
7595 165, 5825, 0x95, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8d, 0x04, 0x05,
7596 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7597 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1,
7601 166, 5830, 0x97, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x47, 0x02, 0x05,
7602 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7603 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1,
7607 168, 5840, 0x9a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x48, 0x02, 0x05,
7608 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7609 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0,
7613 170, 5850, 0x9e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x49, 0x02, 0x04,
7614 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7615 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf,
7619 172, 5860, 0xa1, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4a, 0x02, 0x04,
7620 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7621 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf,
7625 174, 5870, 0xa4, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4b, 0x02, 0x04,
7626 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7627 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0930, 0x092c, 0x0928, 0x01be,
7631 176, 5880, 0xa8, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4c, 0x02, 0x03,
7632 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7633 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd,
7637 178, 5890, 0xab, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4d, 0x02, 0x03,
7638 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7639 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc,
7643 180, 5900, 0xae, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4e, 0x02, 0x03,
7644 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7645 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc,
7649 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0f,
7650 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7651 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03c9, 0x03c5, 0x03c1, 0x043a,
7655 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0f,
7656 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7657 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cb, 0x03c7, 0x03c3, 0x0438,
7661 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0f,
7662 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7663 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cd, 0x03c9, 0x03c5, 0x0436,
7667 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0f,
7668 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7669 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cf, 0x03cb, 0x03c7, 0x0434,
7673 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0f,
7674 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7675 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d1, 0x03cd, 0x03c9, 0x0431,
7679 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0f,
7680 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7681 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d3, 0x03cf, 0x03cb, 0x042f,
7685 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0f,
7686 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7687 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d5, 0x03d1, 0x03cd, 0x042d,
7691 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0f,
7692 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7693 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d7, 0x03d3, 0x03cf, 0x042b,
7697 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0f,
7698 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7699 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d9, 0x03d5, 0x03d1, 0x0429,
7703 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0f,
7704 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7705 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03db, 0x03d7, 0x03d3, 0x0427,
7709 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0f,
7710 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7711 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03dd, 0x03d9, 0x03d5, 0x0424,
7715 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0f,
7716 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7717 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03df, 0x03db, 0x03d7, 0x0422,
7721 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0f,
7722 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7723 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03e1, 0x03dd, 0x03d9, 0x0420,
7727 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0f,
7728 0x04, 0x00, 0x04, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x61,
7729 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x03e6, 0x03e2, 0x03de, 0x041b,
7734 radio_regs_t regs_2055[] = {
7735 {0x02, 0x80, 0x80, 0, 0},
7737 {0x04, 0x27, 0x27, 0, 0},
7739 {0x06, 0x27, 0x27, 0, 0},
7740 {0x07, 0x7f, 0x7f, 1, 1},
7741 {0x08, 0x7, 0x7, 1, 1},
7742 {0x09, 0x7f, 0x7f, 1, 1},
7743 {0x0A, 0x7, 0x7, 1, 1},
7744 {0x0B, 0x15, 0x15, 0, 0},
7745 {0x0C, 0x15, 0x15, 0, 0},
7746 {0x0D, 0x4f, 0x4f, 1, 1},
7747 {0x0E, 0x5, 0x5, 1, 1},
7748 {0x0F, 0x4f, 0x4f, 1, 1},
7749 {0x10, 0x5, 0x5, 1, 1},
7750 {0x11, 0xd0, 0xd0, 0, 0},
7751 {0x12, 0x2, 0x2, 0, 0},
7753 {0x14, 0x40, 0x40, 0, 0},
7762 {0x1D, 0xc0, 0xc0, 0, 0},
7763 {0x1E, 0xff, 0xff, 0, 0},
7764 {0x1F, 0xc0, 0xc0, 0, 0},
7765 {0x20, 0xff, 0xff, 0, 0},
7766 {0x21, 0xc0, 0xc0, 0, 0},
7768 {0x23, 0x2c, 0x2c, 0, 0},
7778 {0x2D, 0xa4, 0xa4, 0, 0},
7779 {0x2E, 0x38, 0x38, 0, 0},
7781 {0x30, 0x4, 0x4, 1, 1},
7783 {0x32, 0xa, 0xa, 0, 0},
7784 {0x33, 0x87, 0x87, 0, 0},
7785 {0x34, 0x9, 0x9, 0, 0},
7786 {0x35, 0x70, 0x70, 0, 0},
7787 {0x36, 0x11, 0x11, 0, 0},
7788 {0x37, 0x18, 0x18, 1, 1},
7789 {0x38, 0x6, 0x6, 0, 0},
7790 {0x39, 0x4, 0x4, 1, 1},
7791 {0x3A, 0x6, 0x6, 0, 0},
7792 {0x3B, 0x9e, 0x9e, 0, 0},
7793 {0x3C, 0x9, 0x9, 0, 0},
7794 {0x3D, 0xc8, 0xc8, 1, 1},
7795 {0x3E, 0x88, 0x88, 0, 0},
7799 {0x42, 0x1, 0x1, 0, 0},
7800 {0x43, 0x2, 0x2, 0, 0},
7801 {0x44, 0x96, 0x96, 0, 0},
7802 {0x45, 0x3e, 0x3e, 0, 0},
7803 {0x46, 0x3e, 0x3e, 0, 0},
7804 {0x47, 0x13, 0x13, 0, 0},
7805 {0x48, 0x2, 0x2, 0, 0},
7806 {0x49, 0x15, 0x15, 0, 0},
7807 {0x4A, 0x7, 0x7, 0, 0},
7813 {0x50, 0x8, 0x8, 0, 0},
7814 {0x51, 0x8, 0x8, 0, 0},
7815 {0x52, 0x6, 0x6, 0, 0},
7816 {0x53, 0x84, 0x84, 1, 1},
7817 {0x54, 0xc3, 0xc3, 0, 0},
7818 {0x55, 0x8f, 0x8f, 0, 0},
7819 {0x56, 0xff, 0xff, 0, 0},
7820 {0x57, 0xff, 0xff, 0, 0},
7821 {0x58, 0x88, 0x88, 0, 0},
7822 {0x59, 0x88, 0x88, 0, 0},
7824 {0x5B, 0xcc, 0xcc, 0, 0},
7825 {0x5C, 0x6, 0x6, 0, 0},
7826 {0x5D, 0x80, 0x80, 0, 0},
7827 {0x5E, 0x80, 0x80, 0, 0},
7828 {0x5F, 0xf8, 0xf8, 0, 0},
7829 {0x60, 0x88, 0x88, 0, 0},
7830 {0x61, 0x88, 0x88, 0, 0},
7831 {0x62, 0x88, 0x8, 1, 1},
7832 {0x63, 0x88, 0x88, 0, 0},
7834 {0x65, 0x1, 0x1, 1, 1},
7835 {0x66, 0x8a, 0x8a, 0, 0},
7836 {0x67, 0x8, 0x8, 0, 0},
7837 {0x68, 0x83, 0x83, 0, 0},
7838 {0x69, 0x6, 0x6, 0, 0},
7839 {0x6A, 0xa0, 0xa0, 0, 0},
7840 {0x6B, 0xa, 0xa, 0, 0},
7841 {0x6C, 0x87, 0x87, 1, 1},
7842 {0x6D, 0x2a, 0x2a, 0, 0},
7843 {0x6E, 0x2a, 0x2a, 0, 0},
7844 {0x6F, 0x2a, 0x2a, 0, 0},
7845 {0x70, 0x2a, 0x2a, 0, 0},
7846 {0x71, 0x18, 0x18, 0, 0},
7847 {0x72, 0x6a, 0x6a, 1, 1},
7848 {0x73, 0xab, 0xab, 1, 1},
7849 {0x74, 0x13, 0x13, 1, 1},
7850 {0x75, 0xc1, 0xc1, 1, 1},
7851 {0x76, 0xaa, 0xaa, 1, 1},
7852 {0x77, 0x87, 0x87, 1, 1},
7854 {0x79, 0x6, 0x6, 0, 0},
7855 {0x7A, 0x7, 0x7, 0, 0},
7856 {0x7B, 0x7, 0x7, 0, 0},
7857 {0x7C, 0x15, 0x15, 0, 0},
7858 {0x7D, 0x55, 0x55, 0, 0},
7859 {0x7E, 0x97, 0x97, 1, 1},
7860 {0x7F, 0x8, 0x8, 0, 0},
7861 {0x80, 0x14, 0x14, 1, 1},
7862 {0x81, 0x33, 0x33, 0, 0},
7863 {0x82, 0x88, 0x88, 0, 0},
7864 {0x83, 0x6, 0x6, 0, 0},
7865 {0x84, 0x3, 0x3, 1, 1},
7866 {0x85, 0xa, 0xa, 0, 0},
7867 {0x86, 0x3, 0x3, 1, 1},
7868 {0x87, 0x2a, 0x2a, 0, 0},
7869 {0x88, 0xa4, 0xa4, 0, 0},
7870 {0x89, 0x18, 0x18, 0, 0},
7871 {0x8A, 0x28, 0x28, 0, 0},
7873 {0x8C, 0x4a, 0x4a, 0, 0},
7875 {0x8E, 0xf8, 0xf8, 0, 0},
7876 {0x8F, 0x88, 0x88, 0, 0},
7877 {0x90, 0x88, 0x88, 0, 0},
7878 {0x91, 0x88, 0x8, 1, 1},
7879 {0x92, 0x88, 0x88, 0, 0},
7881 {0x94, 0x1, 0x1, 1, 1},
7882 {0x95, 0x8a, 0x8a, 0, 0},
7883 {0x96, 0x8, 0x8, 0, 0},
7884 {0x97, 0x83, 0x83, 0, 0},
7885 {0x98, 0x6, 0x6, 0, 0},
7886 {0x99, 0xa0, 0xa0, 0, 0},
7887 {0x9A, 0xa, 0xa, 0, 0},
7888 {0x9B, 0x87, 0x87, 1, 1},
7889 {0x9C, 0x2a, 0x2a, 0, 0},
7890 {0x9D, 0x2a, 0x2a, 0, 0},
7891 {0x9E, 0x2a, 0x2a, 0, 0},
7892 {0x9F, 0x2a, 0x2a, 0, 0},
7893 {0xA0, 0x18, 0x18, 0, 0},
7894 {0xA1, 0x6a, 0x6a, 1, 1},
7895 {0xA2, 0xab, 0xab, 1, 1},
7896 {0xA3, 0x13, 0x13, 1, 1},
7897 {0xA4, 0xc1, 0xc1, 1, 1},
7898 {0xA5, 0xaa, 0xaa, 1, 1},
7899 {0xA6, 0x87, 0x87, 1, 1},
7901 {0xA8, 0x6, 0x6, 0, 0},
7902 {0xA9, 0x7, 0x7, 0, 0},
7903 {0xAA, 0x7, 0x7, 0, 0},
7904 {0xAB, 0x15, 0x15, 0, 0},
7905 {0xAC, 0x55, 0x55, 0, 0},
7906 {0xAD, 0x97, 0x97, 1, 1},
7907 {0xAE, 0x8, 0x8, 0, 0},
7908 {0xAF, 0x14, 0x14, 1, 1},
7909 {0xB0, 0x33, 0x33, 0, 0},
7910 {0xB1, 0x88, 0x88, 0, 0},
7911 {0xB2, 0x6, 0x6, 0, 0},
7912 {0xB3, 0x3, 0x3, 1, 1},
7913 {0xB4, 0xa, 0xa, 0, 0},
7914 {0xB5, 0x3, 0x3, 1, 1},
7915 {0xB6, 0x2a, 0x2a, 0, 0},
7916 {0xB7, 0xa4, 0xa4, 0, 0},
7917 {0xB8, 0x18, 0x18, 0, 0},
7918 {0xB9, 0x28, 0x28, 0, 0},
7920 {0xBB, 0x4a, 0x4a, 0, 0},
7922 {0xBD, 0x71, 0x71, 0, 0},
7923 {0xBE, 0x72, 0x72, 0, 0},
7924 {0xBF, 0x73, 0x73, 0, 0},
7925 {0xC0, 0x74, 0x74, 0, 0},
7926 {0xC1, 0x75, 0x75, 0, 0},
7927 {0xC2, 0x76, 0x76, 0, 0},
7928 {0xC3, 0x77, 0x77, 0, 0},
7929 {0xC4, 0x78, 0x78, 0, 0},
7930 {0xC5, 0x79, 0x79, 0, 0},
7931 {0xC6, 0x7a, 0x7a, 0, 0},
7939 {0xCE, 0x6, 0x6, 0, 0},
7942 {0xD1, 0x18, 0x18, 0, 0},
7943 {0xD2, 0x88, 0x88, 0, 0},
7951 {0xDA, 0x6, 0x6, 0, 0},
7954 {0xDD, 0x18, 0x18, 0, 0},
7955 {0xDE, 0x88, 0x88, 0, 0},
7960 {0xFFFF, 0, 0, 0, 0},
7963 radio_regs_t regs_SYN_2056[] = {
7971 {0x09, 0x1, 0x1, 0, 0},
7996 {0x22, 0x60, 0x60, 0, 0},
7997 {0x23, 0x6, 0x6, 0, 0},
7998 {0x24, 0xc, 0xc, 0, 0},
8002 {0x28, 0x1, 0x1, 0, 0},
8008 {0x2E, 0xd, 0xd, 0, 0},
8009 {0x2F, 0x1f, 0x1f, 0, 0},
8010 {0x30, 0x15, 0x15, 0, 0},
8011 {0x31, 0xf, 0xf, 0, 0},
8022 {0x3C, 0x13, 0x13, 0, 0},
8023 {0x3D, 0xf, 0xf, 0, 0},
8024 {0x3E, 0x18, 0x18, 0, 0},
8027 {0x41, 0x20, 0x20, 0, 0},
8028 {0x42, 0x20, 0x20, 0, 0},
8030 {0x44, 0x77, 0x77, 0, 0},
8031 {0x45, 0x7, 0x7, 0, 0},
8032 {0x46, 0x1, 0x1, 0, 0},
8033 {0x47, 0x4, 0x4, 0, 0},
8034 {0x48, 0xf, 0xf, 0, 0},
8035 {0x49, 0x30, 0x30, 0, 0},
8036 {0x4A, 0x32, 0x32, 0, 0},
8037 {0x4B, 0xd, 0xd, 0, 0},
8038 {0x4C, 0xd, 0xd, 0, 0},
8039 {0x4D, 0x4, 0x4, 0, 0},
8040 {0x4E, 0x6, 0x6, 0, 0},
8041 {0x4F, 0x1, 0x1, 0, 0},
8042 {0x50, 0x1c, 0x1c, 0, 0},
8043 {0x51, 0x2, 0x2, 0, 0},
8044 {0x52, 0x2, 0x2, 0, 0},
8045 {0x53, 0xf7, 0xf7, 1, 1},
8046 {0x54, 0xb4, 0xb4, 0, 0},
8047 {0x55, 0xd2, 0xd2, 0, 0},
8050 {0x58, 0x4, 0x4, 0, 0},
8051 {0x59, 0x96, 0x96, 0, 0},
8052 {0x5A, 0x3e, 0x3e, 0, 0},
8053 {0x5B, 0x3e, 0x3e, 0, 0},
8054 {0x5C, 0x13, 0x13, 0, 0},
8055 {0x5D, 0x2, 0x2, 0, 0},
8057 {0x5F, 0x7, 0x7, 0, 0},
8058 {0x60, 0x7, 0x7, 1, 1},
8059 {0x61, 0x8, 0x8, 0, 0},
8060 {0x62, 0x3, 0x3, 0, 0},
8066 {0x68, 0x40, 0x40, 0, 0},
8071 {0x6D, 0x1, 0x1, 0, 0},
8074 {0x70, 0x60, 0x60, 0, 0},
8075 {0x71, 0x66, 0x66, 0, 0},
8076 {0x72, 0xc, 0xc, 0, 0},
8077 {0x73, 0x66, 0x66, 0, 0},
8078 {0x74, 0x8f, 0x8f, 1, 1},
8080 {0x76, 0xcc, 0xcc, 0, 0},
8081 {0x77, 0x1, 0x1, 0, 0},
8082 {0x78, 0x66, 0x66, 0, 0},
8083 {0x79, 0x66, 0x66, 0, 0},
8095 {0x85, 0xff, 0xff, 0, 0},
8121 {0x9F, 0x6, 0x6, 0, 0},
8122 {0xA0, 0x66, 0x66, 0, 0},
8123 {0xA1, 0x66, 0x66, 0, 0},
8124 {0xA2, 0x66, 0x66, 0, 0},
8125 {0xA3, 0x66, 0x66, 0, 0},
8126 {0xA4, 0x66, 0x66, 0, 0},
8127 {0xA5, 0x66, 0x66, 0, 0},
8128 {0xA6, 0x66, 0x66, 0, 0},
8129 {0xA7, 0x66, 0x66, 0, 0},
8130 {0xA8, 0x66, 0x66, 0, 0},
8131 {0xA9, 0x66, 0x66, 0, 0},
8132 {0xAA, 0x66, 0x66, 0, 0},
8133 {0xAB, 0x66, 0x66, 0, 0},
8134 {0xAC, 0x66, 0x66, 0, 0},
8135 {0xAD, 0x66, 0x66, 0, 0},
8136 {0xAE, 0x66, 0x66, 0, 0},
8137 {0xAF, 0x66, 0x66, 0, 0},
8138 {0xB0, 0x66, 0x66, 0, 0},
8139 {0xB1, 0x66, 0x66, 0, 0},
8140 {0xB2, 0x66, 0x66, 0, 0},
8141 {0xB3, 0xa, 0xa, 0, 0},
8145 {0xFFFF, 0, 0, 0, 0}
8148 radio_regs_t regs_TX_2056[] = {
8180 {0x21, 0x88, 0x88, 0, 0},
8181 {0x22, 0x88, 0x88, 0, 0},
8182 {0x23, 0x88, 0x88, 0, 0},
8183 {0x24, 0x88, 0x88, 0, 0},
8184 {0x25, 0xc, 0xc, 0, 0},
8186 {0x27, 0x3, 0x3, 0, 0},
8188 {0x29, 0x3, 0x3, 0, 0},
8189 {0x2A, 0x37, 0x37, 0, 0},
8190 {0x2B, 0x3, 0x3, 0, 0},
8193 {0x2E, 0x1, 0x1, 0, 0},
8194 {0x2F, 0x1, 0x1, 0, 0},
8198 {0x33, 0x11, 0x11, 0, 0},
8199 {0x34, 0x11, 0x11, 0, 0},
8202 {0x37, 0x3, 0x3, 0, 0},
8203 {0x38, 0xf, 0xf, 0, 0},
8205 {0x3A, 0x2d, 0x2d, 0, 0},
8207 {0x3C, 0x6e, 0x6e, 0, 0},
8208 {0x3D, 0xf0, 0xf0, 1, 1},
8212 {0x41, 0x3, 0x3, 0, 0},
8213 {0x42, 0x3, 0x3, 0, 0},
8215 {0x44, 0x1e, 0x1e, 0, 0},
8217 {0x46, 0x6e, 0x6e, 0, 0},
8218 {0x47, 0xf0, 0xf0, 1, 1},
8220 {0x49, 0x2, 0x2, 0, 0},
8221 {0x4A, 0xff, 0xff, 1, 1},
8222 {0x4B, 0xc, 0xc, 0, 0},
8224 {0x4D, 0x38, 0x38, 0, 0},
8225 {0x4E, 0x70, 0x70, 1, 1},
8226 {0x4F, 0x2, 0x2, 0, 0},
8227 {0x50, 0x88, 0x88, 0, 0},
8228 {0x51, 0xc, 0xc, 0, 0},
8230 {0x53, 0x8, 0x8, 0, 0},
8231 {0x54, 0x70, 0x70, 1, 1},
8232 {0x55, 0x2, 0x2, 0, 0},
8233 {0x56, 0xff, 0xff, 1, 1},
8235 {0x58, 0x83, 0x83, 0, 0},
8236 {0x59, 0x77, 0x77, 1, 1},
8238 {0x5B, 0x2, 0x2, 0, 0},
8239 {0x5C, 0x88, 0x88, 0, 0},
8241 {0x5E, 0x8, 0x8, 0, 0},
8242 {0x5F, 0x77, 0x77, 1, 1},
8243 {0x60, 0x1, 0x1, 0, 0},
8245 {0x62, 0x7, 0x7, 0, 0},
8247 {0x64, 0x7, 0x7, 0, 0},
8250 {0x67, 0x74, 0x74, 1, 1},
8252 {0x69, 0xa, 0xa, 0, 0},
8260 {0x71, 0x2, 0x2, 0, 0},
8263 {0x74, 0xe, 0xe, 0, 0},
8264 {0x75, 0xe, 0xe, 0, 0},
8265 {0x76, 0xe, 0xe, 0, 0},
8266 {0x77, 0x13, 0x13, 0, 0},
8267 {0x78, 0x13, 0x13, 0, 0},
8268 {0x79, 0x1b, 0x1b, 0, 0},
8269 {0x7A, 0x1b, 0x1b, 0, 0},
8270 {0x7B, 0x55, 0x55, 0, 0},
8271 {0x7C, 0x5b, 0x5b, 0, 0},
8294 {0xFFFF, 0, 0, 0, 0}
8297 radio_regs_t regs_RX_2056[] = {
8328 {0x20, 0x3, 0x3, 0, 0},
8331 {0x23, 0x90, 0x90, 0, 0},
8332 {0x24, 0x55, 0x55, 0, 0},
8333 {0x25, 0x15, 0x15, 0, 0},
8334 {0x26, 0x5, 0x5, 0, 0},
8335 {0x27, 0x15, 0x15, 0, 0},
8336 {0x28, 0x5, 0x5, 0, 0},
8337 {0x29, 0x20, 0x20, 0, 0},
8338 {0x2A, 0x11, 0x11, 0, 0},
8339 {0x2B, 0x90, 0x90, 0, 0},
8341 {0x2D, 0x88, 0x88, 0, 0},
8342 {0x2E, 0x32, 0x32, 0, 0},
8343 {0x2F, 0x77, 0x77, 0, 0},
8344 {0x30, 0x17, 0x17, 1, 1},
8345 {0x31, 0xff, 0xff, 1, 1},
8346 {0x32, 0x20, 0x20, 0, 0},
8348 {0x34, 0x88, 0x88, 0, 0},
8349 {0x35, 0x32, 0x32, 0, 0},
8350 {0x36, 0x77, 0x77, 0, 0},
8351 {0x37, 0x17, 0x17, 1, 1},
8352 {0x38, 0xf0, 0xf0, 1, 1},
8353 {0x39, 0x20, 0x20, 0, 0},
8354 {0x3A, 0x8, 0x8, 0, 0},
8355 {0x3B, 0x99, 0x99, 0, 0},
8357 {0x3D, 0x44, 0x44, 1, 1},
8359 {0x3F, 0x44, 0x44, 0, 0},
8360 {0x40, 0xf, 0xf, 1, 1},
8361 {0x41, 0x6, 0x6, 0, 0},
8362 {0x42, 0x4, 0x4, 0, 0},
8363 {0x43, 0x50, 0x50, 1, 1},
8364 {0x44, 0x8, 0x8, 0, 0},
8365 {0x45, 0x99, 0x99, 0, 0},
8367 {0x47, 0x11, 0x11, 0, 0},
8369 {0x49, 0x44, 0x44, 0, 0},
8370 {0x4A, 0x7, 0x7, 0, 0},
8371 {0x4B, 0x6, 0x6, 0, 0},
8372 {0x4C, 0x4, 0x4, 0, 0},
8375 {0x4F, 0x66, 0x66, 0, 0},
8376 {0x50, 0x66, 0x66, 0, 0},
8377 {0x51, 0x57, 0x57, 0, 0},
8378 {0x52, 0x57, 0x57, 0, 0},
8379 {0x53, 0x44, 0x44, 0, 0},
8382 {0x56, 0x8, 0x8, 0, 0},
8383 {0x57, 0x8, 0x8, 0, 0},
8384 {0x58, 0x7, 0x7, 0, 0},
8385 {0x59, 0x22, 0x22, 0, 0},
8386 {0x5A, 0x22, 0x22, 0, 0},
8387 {0x5B, 0x2, 0x2, 0, 0},
8388 {0x5C, 0x23, 0x23, 0, 0},
8389 {0x5D, 0x7, 0x7, 0, 0},
8390 {0x5E, 0x55, 0x55, 0, 0},
8391 {0x5F, 0x23, 0x23, 0, 0},
8392 {0x60, 0x41, 0x41, 0, 0},
8393 {0x61, 0x1, 0x1, 0, 0},
8394 {0x62, 0xa, 0xa, 0, 0},
8403 {0x6B, 0xc, 0xc, 0, 0},
8410 {0x72, 0x22, 0x22, 0, 0},
8411 {0x73, 0x22, 0x22, 0, 0},
8412 {0x74, 0x2, 0x2, 0, 0},
8413 {0x75, 0xa, 0xa, 0, 0},
8414 {0x76, 0x1, 0x1, 0, 0},
8415 {0x77, 0x22, 0x22, 0, 0},
8416 {0x78, 0x30, 0x30, 0, 0},
8445 {0xFFFF, 0, 0, 0, 0}
8448 radio_regs_t regs_SYN_2056_A1[] = {
8456 {0x09, 0x1, 0x1, 0, 0},
8481 {0x22, 0x60, 0x60, 0, 0},
8482 {0x23, 0x6, 0x6, 0, 0},
8483 {0x24, 0xc, 0xc, 0, 0},
8487 {0x28, 0x1, 0x1, 0, 0},
8493 {0x2E, 0xd, 0xd, 0, 0},
8494 {0x2F, 0x1f, 0x1f, 0, 0},
8495 {0x30, 0x15, 0x15, 0, 0},
8496 {0x31, 0xf, 0xf, 0, 0},
8507 {0x3C, 0x13, 0x13, 0, 0},
8508 {0x3D, 0xf, 0xf, 0, 0},
8509 {0x3E, 0x18, 0x18, 0, 0},
8512 {0x41, 0x20, 0x20, 0, 0},
8513 {0x42, 0x20, 0x20, 0, 0},
8515 {0x44, 0x77, 0x77, 0, 0},
8516 {0x45, 0x7, 0x7, 0, 0},
8517 {0x46, 0x1, 0x1, 0, 0},
8518 {0x47, 0x4, 0x4, 0, 0},
8519 {0x48, 0xf, 0xf, 0, 0},
8520 {0x49, 0x30, 0x30, 0, 0},
8521 {0x4A, 0x32, 0x32, 0, 0},
8522 {0x4B, 0xd, 0xd, 0, 0},
8523 {0x4C, 0xd, 0xd, 0, 0},
8524 {0x4D, 0x4, 0x4, 0, 0},
8525 {0x4E, 0x6, 0x6, 0, 0},
8526 {0x4F, 0x1, 0x1, 0, 0},
8527 {0x50, 0x1c, 0x1c, 0, 0},
8528 {0x51, 0x2, 0x2, 0, 0},
8529 {0x52, 0x2, 0x2, 0, 0},
8530 {0x53, 0xf7, 0xf7, 1, 1},
8531 {0x54, 0xb4, 0xb4, 0, 0},
8532 {0x55, 0xd2, 0xd2, 0, 0},
8535 {0x58, 0x4, 0x4, 0, 0},
8536 {0x59, 0x96, 0x96, 0, 0},
8537 {0x5A, 0x3e, 0x3e, 0, 0},
8538 {0x5B, 0x3e, 0x3e, 0, 0},
8539 {0x5C, 0x13, 0x13, 0, 0},
8540 {0x5D, 0x2, 0x2, 0, 0},
8542 {0x5F, 0x7, 0x7, 0, 0},
8543 {0x60, 0x7, 0x7, 1, 1},
8544 {0x61, 0x8, 0x8, 0, 0},
8545 {0x62, 0x3, 0x3, 0, 0},
8551 {0x68, 0x40, 0x40, 0, 0},
8556 {0x6D, 0x1, 0x1, 0, 0},
8559 {0x70, 0x60, 0x60, 0, 0},
8560 {0x71, 0x66, 0x66, 0, 0},
8561 {0x72, 0xc, 0xc, 0, 0},
8562 {0x73, 0x66, 0x66, 0, 0},
8563 {0x74, 0x8f, 0x8f, 1, 1},
8565 {0x76, 0xcc, 0xcc, 0, 0},
8566 {0x77, 0x1, 0x1, 0, 0},
8567 {0x78, 0x66, 0x66, 0, 0},
8568 {0x79, 0x66, 0x66, 0, 0},
8580 {0x85, 0xff, 0xff, 0, 0},
8606 {0x9F, 0x6, 0x6, 0, 0},
8607 {0xA0, 0x66, 0x66, 0, 0},
8608 {0xA1, 0x66, 0x66, 0, 0},
8609 {0xA2, 0x66, 0x66, 0, 0},
8610 {0xA3, 0x66, 0x66, 0, 0},
8611 {0xA4, 0x66, 0x66, 0, 0},
8612 {0xA5, 0x66, 0x66, 0, 0},
8613 {0xA6, 0x66, 0x66, 0, 0},
8614 {0xA7, 0x66, 0x66, 0, 0},
8615 {0xA8, 0x66, 0x66, 0, 0},
8616 {0xA9, 0x66, 0x66, 0, 0},
8617 {0xAA, 0x66, 0x66, 0, 0},
8618 {0xAB, 0x66, 0x66, 0, 0},
8619 {0xAC, 0x66, 0x66, 0, 0},
8620 {0xAD, 0x66, 0x66, 0, 0},
8621 {0xAE, 0x66, 0x66, 0, 0},
8622 {0xAF, 0x66, 0x66, 0, 0},
8623 {0xB0, 0x66, 0x66, 0, 0},
8624 {0xB1, 0x66, 0x66, 0, 0},
8625 {0xB2, 0x66, 0x66, 0, 0},
8626 {0xB3, 0xa, 0xa, 0, 0},
8630 {0xFFFF, 0, 0, 0, 0}
8633 radio_regs_t regs_TX_2056_A1[] = {
8665 {0x21, 0x88, 0x88, 0, 0},
8666 {0x22, 0x88, 0x88, 0, 0},
8667 {0x23, 0x88, 0x88, 0, 0},
8668 {0x24, 0x88, 0x88, 0, 0},
8669 {0x25, 0xc, 0xc, 0, 0},
8671 {0x27, 0x3, 0x3, 0, 0},
8673 {0x29, 0x3, 0x3, 0, 0},
8674 {0x2A, 0x37, 0x37, 0, 0},
8675 {0x2B, 0x3, 0x3, 0, 0},
8678 {0x2E, 0x1, 0x1, 0, 0},
8679 {0x2F, 0x1, 0x1, 0, 0},
8683 {0x33, 0x11, 0x11, 0, 0},
8684 {0x34, 0x11, 0x11, 0, 0},
8687 {0x37, 0x3, 0x3, 0, 0},
8688 {0x38, 0xf, 0xf, 0, 0},
8690 {0x3A, 0x2d, 0x2d, 0, 0},
8692 {0x3C, 0x6e, 0x6e, 0, 0},
8693 {0x3D, 0xf0, 0xf0, 1, 1},
8697 {0x41, 0x3, 0x3, 0, 0},
8698 {0x42, 0x3, 0x3, 0, 0},
8700 {0x44, 0x1e, 0x1e, 0, 0},
8702 {0x46, 0x6e, 0x6e, 0, 0},
8703 {0x47, 0xf0, 0xf0, 1, 1},
8705 {0x49, 0x2, 0x2, 0, 0},
8706 {0x4A, 0xff, 0xff, 1, 1},
8707 {0x4B, 0xc, 0xc, 0, 0},
8709 {0x4D, 0x38, 0x38, 0, 0},
8710 {0x4E, 0x70, 0x70, 1, 1},
8711 {0x4F, 0x2, 0x2, 0, 0},
8712 {0x50, 0x88, 0x88, 0, 0},
8713 {0x51, 0xc, 0xc, 0, 0},
8715 {0x53, 0x8, 0x8, 0, 0},
8716 {0x54, 0x70, 0x70, 1, 1},
8717 {0x55, 0x2, 0x2, 0, 0},
8718 {0x56, 0xff, 0xff, 1, 1},
8720 {0x58, 0x83, 0x83, 0, 0},
8721 {0x59, 0x77, 0x77, 1, 1},
8723 {0x5B, 0x2, 0x2, 0, 0},
8724 {0x5C, 0x88, 0x88, 0, 0},
8726 {0x5E, 0x8, 0x8, 0, 0},
8727 {0x5F, 0x77, 0x77, 1, 1},
8728 {0x60, 0x1, 0x1, 0, 0},
8730 {0x62, 0x7, 0x7, 0, 0},
8732 {0x64, 0x7, 0x7, 0, 0},
8735 {0x67, 0x72, 0x72, 1, 1},
8737 {0x69, 0xa, 0xa, 0, 0},
8745 {0x71, 0x2, 0x2, 0, 0},
8748 {0x74, 0xe, 0xe, 0, 0},
8749 {0x75, 0xe, 0xe, 0, 0},
8750 {0x76, 0xe, 0xe, 0, 0},
8751 {0x77, 0x13, 0x13, 0, 0},
8752 {0x78, 0x13, 0x13, 0, 0},
8753 {0x79, 0x1b, 0x1b, 0, 0},
8754 {0x7A, 0x1b, 0x1b, 0, 0},
8755 {0x7B, 0x55, 0x55, 0, 0},
8756 {0x7C, 0x5b, 0x5b, 0, 0},
8779 {0xFFFF, 0, 0, 0, 0}
8782 radio_regs_t regs_RX_2056_A1[] = {
8813 {0x20, 0x3, 0x3, 0, 0},
8816 {0x23, 0x90, 0x90, 0, 0},
8817 {0x24, 0x55, 0x55, 0, 0},
8818 {0x25, 0x15, 0x15, 0, 0},
8819 {0x26, 0x5, 0x5, 0, 0},
8820 {0x27, 0x15, 0x15, 0, 0},
8821 {0x28, 0x5, 0x5, 0, 0},
8822 {0x29, 0x20, 0x20, 0, 0},
8823 {0x2A, 0x11, 0x11, 0, 0},
8824 {0x2B, 0x90, 0x90, 0, 0},
8826 {0x2D, 0x88, 0x88, 0, 0},
8827 {0x2E, 0x32, 0x32, 0, 0},
8828 {0x2F, 0x77, 0x77, 0, 0},
8829 {0x30, 0x17, 0x17, 1, 1},
8830 {0x31, 0xff, 0xff, 1, 1},
8831 {0x32, 0x20, 0x20, 0, 0},
8833 {0x34, 0x88, 0x88, 0, 0},
8834 {0x35, 0x32, 0x32, 0, 0},
8835 {0x36, 0x77, 0x77, 0, 0},
8836 {0x37, 0x17, 0x17, 1, 1},
8837 {0x38, 0xf0, 0xf0, 1, 1},
8838 {0x39, 0x20, 0x20, 0, 0},
8839 {0x3A, 0x8, 0x8, 0, 0},
8840 {0x3B, 0x55, 0x55, 1, 1},
8842 {0x3D, 0x44, 0x44, 1, 1},
8844 {0x3F, 0x44, 0x44, 0, 0},
8845 {0x40, 0xf, 0xf, 1, 1},
8846 {0x41, 0x6, 0x6, 0, 0},
8847 {0x42, 0x4, 0x4, 0, 0},
8848 {0x43, 0x50, 0x50, 1, 1},
8849 {0x44, 0x8, 0x8, 0, 0},
8850 {0x45, 0x55, 0x55, 1, 1},
8852 {0x47, 0x11, 0x11, 0, 0},
8854 {0x49, 0x44, 0x44, 0, 0},
8855 {0x4A, 0x7, 0x7, 0, 0},
8856 {0x4B, 0x6, 0x6, 0, 0},
8857 {0x4C, 0x4, 0x4, 0, 0},
8860 {0x4F, 0x26, 0x26, 1, 1},
8861 {0x50, 0x26, 0x26, 1, 1},
8862 {0x51, 0xf, 0xf, 1, 1},
8863 {0x52, 0xf, 0xf, 1, 1},
8864 {0x53, 0x44, 0x44, 0, 0},
8867 {0x56, 0x8, 0x8, 0, 0},
8868 {0x57, 0x8, 0x8, 0, 0},
8869 {0x58, 0x7, 0x7, 0, 0},
8870 {0x59, 0x22, 0x22, 0, 0},
8871 {0x5A, 0x22, 0x22, 0, 0},
8872 {0x5B, 0x2, 0x2, 0, 0},
8873 {0x5C, 0x2f, 0x2f, 1, 1},
8874 {0x5D, 0x7, 0x7, 0, 0},
8875 {0x5E, 0x55, 0x55, 0, 0},
8876 {0x5F, 0x23, 0x23, 0, 0},
8877 {0x60, 0x41, 0x41, 0, 0},
8878 {0x61, 0x1, 0x1, 0, 0},
8879 {0x62, 0xa, 0xa, 0, 0},
8888 {0x6B, 0xc, 0xc, 0, 0},
8895 {0x72, 0x22, 0x22, 0, 0},
8896 {0x73, 0x22, 0x22, 0, 0},
8898 {0x75, 0xa, 0xa, 0, 0},
8899 {0x76, 0x1, 0x1, 0, 0},
8900 {0x77, 0x22, 0x22, 0, 0},
8901 {0x78, 0x30, 0x30, 0, 0},
8930 {0xFFFF, 0, 0, 0, 0}
8933 radio_regs_t regs_SYN_2056_rev5[] = {
8941 {0x09, 0x1, 0x1, 0, 0},
8966 {0x22, 0x60, 0x60, 0, 0},
8967 {0x23, 0x6, 0x6, 0, 0},
8968 {0x24, 0xc, 0xc, 0, 0},
8972 {0x28, 0x1, 0x1, 0, 0},
8979 {0x2F, 0x1f, 0x1f, 0, 0},
8980 {0x30, 0x15, 0x15, 0, 0},
8981 {0x31, 0xf, 0xf, 0, 0},
8992 {0x3C, 0x13, 0x13, 0, 0},
8993 {0x3D, 0xf, 0xf, 0, 0},
8994 {0x3E, 0x18, 0x18, 0, 0},
8997 {0x41, 0x20, 0x20, 0, 0},
8998 {0x42, 0x20, 0x20, 0, 0},
9000 {0x44, 0x77, 0x77, 0, 0},
9001 {0x45, 0x7, 0x7, 0, 0},
9002 {0x46, 0x1, 0x1, 0, 0},
9003 {0x47, 0x4, 0x4, 0, 0},
9004 {0x48, 0xf, 0xf, 0, 0},
9005 {0x49, 0x30, 0x30, 0, 0},
9006 {0x4A, 0x32, 0x32, 0, 0},
9007 {0x4B, 0xd, 0xd, 0, 0},
9008 {0x4C, 0xd, 0xd, 0, 0},
9009 {0x4D, 0x4, 0x4, 0, 0},
9010 {0x4E, 0x6, 0x6, 0, 0},
9011 {0x4F, 0x1, 0x1, 0, 0},
9012 {0x50, 0x1c, 0x1c, 0, 0},
9013 {0x51, 0x2, 0x2, 0, 0},
9014 {0x52, 0x2, 0x2, 0, 0},
9015 {0x53, 0xf7, 0xf7, 1, 1},
9016 {0x54, 0xb4, 0xb4, 0, 0},
9017 {0x55, 0xd2, 0xd2, 0, 0},
9020 {0x58, 0x4, 0x4, 0, 0},
9021 {0x59, 0x96, 0x96, 0, 0},
9022 {0x5A, 0x3e, 0x3e, 0, 0},
9023 {0x5B, 0x3e, 0x3e, 0, 0},
9024 {0x5C, 0x13, 0x13, 0, 0},
9025 {0x5D, 0x2, 0x2, 0, 0},
9027 {0x5F, 0x7, 0x7, 0, 0},
9028 {0x60, 0x7, 0x7, 1, 1},
9029 {0x61, 0x8, 0x8, 0, 0},
9030 {0x62, 0x3, 0x3, 0, 0},
9036 {0x68, 0x40, 0x40, 0, 0},
9041 {0x6D, 0x1, 0x1, 0, 0},
9044 {0x70, 0x60, 0x60, 0, 0},
9045 {0x71, 0x66, 0x66, 0, 0},
9046 {0x72, 0xc, 0xc, 0, 0},
9047 {0x73, 0x66, 0x66, 0, 0},
9048 {0x74, 0x8f, 0x8f, 1, 1},
9050 {0x76, 0xcc, 0xcc, 0, 0},
9051 {0x77, 0x1, 0x1, 0, 0},
9052 {0x78, 0x66, 0x66, 0, 0},
9053 {0x79, 0x66, 0x66, 0, 0},
9065 {0x85, 0xff, 0xff, 0, 0},
9091 {0x9F, 0x6, 0x6, 0, 0},
9092 {0xA0, 0x66, 0x66, 0, 0},
9093 {0xA1, 0x66, 0x66, 0, 0},
9094 {0xA2, 0x66, 0x66, 0, 0},
9095 {0xA3, 0x66, 0x66, 0, 0},
9096 {0xA4, 0x66, 0x66, 0, 0},
9097 {0xA5, 0x66, 0x66, 0, 0},
9098 {0xA6, 0x66, 0x66, 0, 0},
9099 {0xA7, 0x66, 0x66, 0, 0},
9100 {0xA8, 0x66, 0x66, 0, 0},
9101 {0xA9, 0x66, 0x66, 0, 0},
9102 {0xAA, 0x66, 0x66, 0, 0},
9103 {0xAB, 0x66, 0x66, 0, 0},
9104 {0xAC, 0x66, 0x66, 0, 0},
9105 {0xAD, 0x66, 0x66, 0, 0},
9106 {0xAE, 0x66, 0x66, 0, 0},
9107 {0xAF, 0x66, 0x66, 0, 0},
9108 {0xB0, 0x66, 0x66, 0, 0},
9109 {0xB1, 0x66, 0x66, 0, 0},
9110 {0xB2, 0x66, 0x66, 0, 0},
9111 {0xB3, 0xa, 0xa, 0, 0},
9115 {0xFFFF, 0, 0, 0, 0}
9118 radio_regs_t regs_TX_2056_rev5[] = {
9150 {0x21, 0x88, 0x88, 0, 0},
9151 {0x22, 0x88, 0x88, 0, 0},
9152 {0x23, 0x88, 0x88, 0, 0},
9153 {0x24, 0x88, 0x88, 0, 0},
9154 {0x25, 0xc, 0xc, 0, 0},
9156 {0x27, 0x3, 0x3, 0, 0},
9158 {0x29, 0x3, 0x3, 0, 0},
9159 {0x2A, 0x37, 0x37, 0, 0},
9160 {0x2B, 0x3, 0x3, 0, 0},
9163 {0x2E, 0x1, 0x1, 0, 0},
9164 {0x2F, 0x1, 0x1, 0, 0},
9168 {0x33, 0x11, 0x11, 0, 0},
9169 {0x34, 0x11, 0x11, 0, 0},
9172 {0x37, 0x3, 0x3, 0, 0},
9173 {0x38, 0xf, 0xf, 0, 0},
9175 {0x3A, 0x2d, 0x2d, 0, 0},
9177 {0x3C, 0x6e, 0x6e, 0, 0},
9178 {0x3D, 0xf0, 0xf0, 1, 1},
9182 {0x41, 0x3, 0x3, 0, 0},
9183 {0x42, 0x3, 0x3, 0, 0},
9185 {0x44, 0x1e, 0x1e, 0, 0},
9187 {0x46, 0x6e, 0x6e, 0, 0},
9188 {0x47, 0xf0, 0xf0, 1, 1},
9190 {0x49, 0x2, 0x2, 0, 0},
9191 {0x4A, 0xff, 0xff, 1, 1},
9192 {0x4B, 0xc, 0xc, 0, 0},
9194 {0x4D, 0x38, 0x38, 0, 0},
9195 {0x4E, 0x70, 0x70, 1, 1},
9196 {0x4F, 0x2, 0x2, 0, 0},
9197 {0x50, 0x88, 0x88, 0, 0},
9198 {0x51, 0xc, 0xc, 0, 0},
9200 {0x53, 0x8, 0x8, 0, 0},
9201 {0x54, 0x70, 0x70, 1, 1},
9202 {0x55, 0x2, 0x2, 0, 0},
9203 {0x56, 0xff, 0xff, 1, 1},
9205 {0x58, 0x83, 0x83, 0, 0},
9206 {0x59, 0x77, 0x77, 1, 1},
9208 {0x5B, 0x2, 0x2, 0, 0},
9209 {0x5C, 0x88, 0x88, 0, 0},
9211 {0x5E, 0x8, 0x8, 0, 0},
9212 {0x5F, 0x77, 0x77, 1, 1},
9213 {0x60, 0x1, 0x1, 0, 0},
9215 {0x62, 0x7, 0x7, 0, 0},
9217 {0x64, 0x7, 0x7, 0, 0},
9222 {0x69, 0xa, 0xa, 0, 0},
9230 {0x71, 0x2, 0x2, 0, 0},
9233 {0x74, 0xe, 0xe, 0, 0},
9234 {0x75, 0xe, 0xe, 0, 0},
9235 {0x76, 0xe, 0xe, 0, 0},
9236 {0x77, 0x13, 0x13, 0, 0},
9237 {0x78, 0x13, 0x13, 0, 0},
9238 {0x79, 0x1b, 0x1b, 0, 0},
9239 {0x7A, 0x1b, 0x1b, 0, 0},
9240 {0x7B, 0x55, 0x55, 0, 0},
9241 {0x7C, 0x5b, 0x5b, 0, 0},
9264 {0x93, 0x70, 0x70, 0, 0},
9265 {0x94, 0x70, 0x70, 0, 0},
9266 {0x95, 0x71, 0x71, 1, 1},
9267 {0x96, 0x71, 0x71, 1, 1},
9268 {0x97, 0x72, 0x72, 1, 1},
9269 {0x98, 0x73, 0x73, 1, 1},
9270 {0x99, 0x74, 0x74, 1, 1},
9271 {0x9A, 0x75, 0x75, 1, 1},
9272 {0xFFFF, 0, 0, 0, 0}
9275 radio_regs_t regs_RX_2056_rev5[] = {
9306 {0x20, 0x3, 0x3, 0, 0},
9309 {0x23, 0x90, 0x90, 0, 0},
9310 {0x24, 0x55, 0x55, 0, 0},
9311 {0x25, 0x15, 0x15, 0, 0},
9312 {0x26, 0x5, 0x5, 0, 0},
9313 {0x27, 0x15, 0x15, 0, 0},
9314 {0x28, 0x5, 0x5, 0, 0},
9315 {0x29, 0x20, 0x20, 0, 0},
9316 {0x2A, 0x11, 0x11, 0, 0},
9317 {0x2B, 0x90, 0x90, 0, 0},
9319 {0x2D, 0x88, 0x88, 0, 0},
9320 {0x2E, 0x32, 0x32, 0, 0},
9321 {0x2F, 0x77, 0x77, 0, 0},
9322 {0x30, 0x17, 0x17, 1, 1},
9323 {0x31, 0xff, 0xff, 1, 1},
9324 {0x32, 0x20, 0x20, 0, 0},
9326 {0x34, 0x88, 0x88, 0, 0},
9327 {0x35, 0x32, 0x32, 0, 0},
9328 {0x36, 0x77, 0x77, 0, 0},
9329 {0x37, 0x17, 0x17, 1, 1},
9330 {0x38, 0xf0, 0xf0, 1, 1},
9331 {0x39, 0x20, 0x20, 0, 0},
9332 {0x3A, 0x8, 0x8, 0, 0},
9333 {0x3B, 0x55, 0x55, 1, 1},
9335 {0x3D, 0x88, 0x88, 1, 1},
9338 {0x40, 0x7, 0x7, 1, 1},
9339 {0x41, 0x6, 0x6, 0, 0},
9340 {0x42, 0x4, 0x4, 0, 0},
9342 {0x44, 0x8, 0x8, 0, 0},
9343 {0x45, 0x55, 0x55, 1, 1},
9345 {0x47, 0x11, 0x11, 0, 0},
9348 {0x4A, 0x7, 0x7, 0, 0},
9349 {0x4B, 0x6, 0x6, 0, 0},
9350 {0x4C, 0x4, 0x4, 0, 0},
9353 {0x4F, 0x26, 0x26, 1, 1},
9354 {0x50, 0x26, 0x26, 1, 1},
9355 {0x51, 0xf, 0xf, 1, 1},
9356 {0x52, 0xf, 0xf, 1, 1},
9357 {0x53, 0x44, 0x44, 0, 0},
9360 {0x56, 0x8, 0x8, 0, 0},
9361 {0x57, 0x8, 0x8, 0, 0},
9362 {0x58, 0x7, 0x7, 0, 0},
9363 {0x59, 0x22, 0x22, 0, 0},
9364 {0x5A, 0x22, 0x22, 0, 0},
9365 {0x5B, 0x2, 0x2, 0, 0},
9366 {0x5C, 0x4, 0x4, 1, 1},
9367 {0x5D, 0x7, 0x7, 0, 0},
9368 {0x5E, 0x55, 0x55, 0, 0},
9369 {0x5F, 0x23, 0x23, 0, 0},
9370 {0x60, 0x41, 0x41, 0, 0},
9371 {0x61, 0x1, 0x1, 0, 0},
9372 {0x62, 0xa, 0xa, 0, 0},
9381 {0x6B, 0xc, 0xc, 0, 0},
9388 {0x72, 0x22, 0x22, 0, 0},
9389 {0x73, 0x22, 0x22, 0, 0},
9391 {0x75, 0xa, 0xa, 0, 0},
9392 {0x76, 0x1, 0x1, 0, 0},
9393 {0x77, 0x22, 0x22, 0, 0},
9394 {0x78, 0x30, 0x30, 0, 0},
9423 {0xFFFF, 0, 0, 0, 0}
9426 radio_regs_t regs_SYN_2056_rev6[] = {
9434 {0x09, 0x1, 0x1, 0, 0},
9459 {0x22, 0x60, 0x60, 0, 0},
9460 {0x23, 0x6, 0x6, 0, 0},
9461 {0x24, 0xc, 0xc, 0, 0},
9465 {0x28, 0x1, 0x1, 0, 0},
9472 {0x2F, 0x1f, 0x1f, 0, 0},
9473 {0x30, 0x15, 0x15, 0, 0},
9474 {0x31, 0xf, 0xf, 0, 0},
9485 {0x3C, 0x13, 0x13, 0, 0},
9486 {0x3D, 0xf, 0xf, 0, 0},
9487 {0x3E, 0x18, 0x18, 0, 0},
9490 {0x41, 0x20, 0x20, 0, 0},
9491 {0x42, 0x20, 0x20, 0, 0},
9493 {0x44, 0x77, 0x77, 0, 0},
9494 {0x45, 0x7, 0x7, 0, 0},
9495 {0x46, 0x1, 0x1, 0, 0},
9496 {0x47, 0x4, 0x4, 0, 0},
9497 {0x48, 0xf, 0xf, 0, 0},
9498 {0x49, 0x30, 0x30, 0, 0},
9499 {0x4A, 0x32, 0x32, 0, 0},
9500 {0x4B, 0xd, 0xd, 0, 0},
9501 {0x4C, 0xd, 0xd, 0, 0},
9502 {0x4D, 0x4, 0x4, 0, 0},
9503 {0x4E, 0x6, 0x6, 0, 0},
9504 {0x4F, 0x1, 0x1, 0, 0},
9505 {0x50, 0x1c, 0x1c, 0, 0},
9506 {0x51, 0x2, 0x2, 0, 0},
9507 {0x52, 0x2, 0x2, 0, 0},
9508 {0x53, 0xf7, 0xf7, 1, 1},
9509 {0x54, 0xb4, 0xb4, 0, 0},
9510 {0x55, 0xd2, 0xd2, 0, 0},
9513 {0x58, 0x4, 0x4, 0, 0},
9514 {0x59, 0x96, 0x96, 0, 0},
9515 {0x5A, 0x3e, 0x3e, 0, 0},
9516 {0x5B, 0x3e, 0x3e, 0, 0},
9517 {0x5C, 0x13, 0x13, 0, 0},
9518 {0x5D, 0x2, 0x2, 0, 0},
9520 {0x5F, 0x7, 0x7, 0, 0},
9521 {0x60, 0x7, 0x7, 1, 1},
9522 {0x61, 0x8, 0x8, 0, 0},
9523 {0x62, 0x3, 0x3, 0, 0},
9529 {0x68, 0x40, 0x40, 0, 0},
9534 {0x6D, 0x1, 0x1, 0, 0},
9537 {0x70, 0x60, 0x60, 0, 0},
9538 {0x71, 0x66, 0x66, 0, 0},
9539 {0x72, 0xc, 0xc, 0, 0},
9540 {0x73, 0x66, 0x66, 0, 0},
9541 {0x74, 0x8f, 0x8f, 1, 1},
9543 {0x76, 0xcc, 0xcc, 0, 0},
9544 {0x77, 0x1, 0x1, 0, 0},
9545 {0x78, 0x66, 0x66, 0, 0},
9546 {0x79, 0x66, 0x66, 0, 0},
9558 {0x85, 0xff, 0xff, 0, 0},
9584 {0x9F, 0x6, 0x6, 0, 0},
9585 {0xA0, 0x66, 0x66, 0, 0},
9586 {0xA1, 0x66, 0x66, 0, 0},
9587 {0xA2, 0x66, 0x66, 0, 0},
9588 {0xA3, 0x66, 0x66, 0, 0},
9589 {0xA4, 0x66, 0x66, 0, 0},
9590 {0xA5, 0x66, 0x66, 0, 0},
9591 {0xA6, 0x66, 0x66, 0, 0},
9592 {0xA7, 0x66, 0x66, 0, 0},
9593 {0xA8, 0x66, 0x66, 0, 0},
9594 {0xA9, 0x66, 0x66, 0, 0},
9595 {0xAA, 0x66, 0x66, 0, 0},
9596 {0xAB, 0x66, 0x66, 0, 0},
9597 {0xAC, 0x66, 0x66, 0, 0},
9598 {0xAD, 0x66, 0x66, 0, 0},
9599 {0xAE, 0x66, 0x66, 0, 0},
9600 {0xAF, 0x66, 0x66, 0, 0},
9601 {0xB0, 0x66, 0x66, 0, 0},
9602 {0xB1, 0x66, 0x66, 0, 0},
9603 {0xB2, 0x66, 0x66, 0, 0},
9604 {0xB3, 0xa, 0xa, 0, 0},
9608 {0xFFFF, 0, 0, 0, 0}
9611 radio_regs_t regs_TX_2056_rev6[] = {
9643 {0x21, 0x88, 0x88, 0, 0},
9644 {0x22, 0x88, 0x88, 0, 0},
9645 {0x23, 0x88, 0x88, 0, 0},
9646 {0x24, 0x88, 0x88, 0, 0},
9647 {0x25, 0xc, 0xc, 0, 0},
9649 {0x27, 0x3, 0x3, 0, 0},
9651 {0x29, 0x3, 0x3, 0, 0},
9652 {0x2A, 0x37, 0x37, 0, 0},
9653 {0x2B, 0x3, 0x3, 0, 0},
9656 {0x2E, 0x1, 0x1, 0, 0},
9657 {0x2F, 0x1, 0x1, 0, 0},
9661 {0x33, 0x11, 0x11, 0, 0},
9662 {0x34, 0xee, 0xee, 1, 1},
9665 {0x37, 0x3, 0x3, 0, 0},
9666 {0x38, 0x50, 0x50, 1, 1},
9668 {0x3A, 0x50, 0x50, 1, 1},
9670 {0x3C, 0x6e, 0x6e, 0, 0},
9671 {0x3D, 0xf0, 0xf0, 1, 1},
9675 {0x41, 0x3, 0x3, 0, 0},
9676 {0x42, 0x3, 0x3, 0, 0},
9678 {0x44, 0x1e, 0x1e, 0, 0},
9680 {0x46, 0x6e, 0x6e, 0, 0},
9681 {0x47, 0xf0, 0xf0, 1, 1},
9683 {0x49, 0x2, 0x2, 0, 0},
9684 {0x4A, 0xff, 0xff, 1, 1},
9685 {0x4B, 0xc, 0xc, 0, 0},
9687 {0x4D, 0x38, 0x38, 0, 0},
9688 {0x4E, 0x70, 0x70, 1, 1},
9689 {0x4F, 0x2, 0x2, 0, 0},
9690 {0x50, 0x88, 0x88, 0, 0},
9691 {0x51, 0xc, 0xc, 0, 0},
9693 {0x53, 0x8, 0x8, 0, 0},
9694 {0x54, 0x70, 0x70, 1, 1},
9695 {0x55, 0x2, 0x2, 0, 0},
9696 {0x56, 0xff, 0xff, 1, 1},
9698 {0x58, 0x83, 0x83, 0, 0},
9699 {0x59, 0x77, 0x77, 1, 1},
9701 {0x5B, 0x2, 0x2, 0, 0},
9702 {0x5C, 0x88, 0x88, 0, 0},
9704 {0x5E, 0x8, 0x8, 0, 0},
9705 {0x5F, 0x77, 0x77, 1, 1},
9706 {0x60, 0x1, 0x1, 0, 0},
9708 {0x62, 0x7, 0x7, 0, 0},
9710 {0x64, 0x7, 0x7, 0, 0},
9715 {0x69, 0xa, 0xa, 0, 0},
9723 {0x71, 0x2, 0x2, 0, 0},
9726 {0x74, 0xe, 0xe, 0, 0},
9727 {0x75, 0xe, 0xe, 0, 0},
9728 {0x76, 0xe, 0xe, 0, 0},
9729 {0x77, 0x13, 0x13, 0, 0},
9730 {0x78, 0x13, 0x13, 0, 0},
9731 {0x79, 0x1b, 0x1b, 0, 0},
9732 {0x7A, 0x1b, 0x1b, 0, 0},
9733 {0x7B, 0x55, 0x55, 0, 0},
9734 {0x7C, 0x5b, 0x5b, 0, 0},
9735 {0x7D, 0x30, 0x30, 1, 1},
9757 {0x93, 0x70, 0x70, 0, 0},
9758 {0x94, 0x70, 0x70, 0, 0},
9759 {0x95, 0x70, 0x70, 0, 0},
9760 {0x96, 0x70, 0x70, 0, 0},
9761 {0x97, 0x70, 0x70, 0, 0},
9762 {0x98, 0x70, 0x70, 0, 0},
9763 {0x99, 0x70, 0x70, 0, 0},
9764 {0x9A, 0x70, 0x70, 0, 0},
9765 {0xFFFF, 0, 0, 0, 0}
9768 radio_regs_t regs_RX_2056_rev6[] = {
9799 {0x20, 0x3, 0x3, 0, 0},
9802 {0x23, 0x90, 0x90, 0, 0},
9803 {0x24, 0x55, 0x55, 0, 0},
9804 {0x25, 0x15, 0x15, 0, 0},
9805 {0x26, 0x5, 0x5, 0, 0},
9806 {0x27, 0x15, 0x15, 0, 0},
9807 {0x28, 0x5, 0x5, 0, 0},
9808 {0x29, 0x20, 0x20, 0, 0},
9809 {0x2A, 0x11, 0x11, 0, 0},
9810 {0x2B, 0x90, 0x90, 0, 0},
9812 {0x2D, 0x88, 0x88, 0, 0},
9813 {0x2E, 0x32, 0x32, 0, 0},
9814 {0x2F, 0x77, 0x77, 0, 0},
9815 {0x30, 0x17, 0x17, 1, 1},
9816 {0x31, 0xff, 0xff, 1, 1},
9817 {0x32, 0x20, 0x20, 0, 0},
9819 {0x34, 0x88, 0x88, 0, 0},
9820 {0x35, 0x32, 0x32, 0, 0},
9821 {0x36, 0x77, 0x77, 0, 0},
9822 {0x37, 0x17, 0x17, 1, 1},
9823 {0x38, 0xf0, 0xf0, 1, 1},
9824 {0x39, 0x20, 0x20, 0, 0},
9825 {0x3A, 0x8, 0x8, 0, 0},
9826 {0x3B, 0x55, 0x55, 1, 1},
9828 {0x3D, 0x88, 0x88, 1, 1},
9830 {0x3F, 0x44, 0x44, 0, 0},
9831 {0x40, 0x7, 0x7, 1, 1},
9832 {0x41, 0x6, 0x6, 0, 0},
9833 {0x42, 0x4, 0x4, 0, 0},
9835 {0x44, 0x8, 0x8, 0, 0},
9836 {0x45, 0x55, 0x55, 1, 1},
9838 {0x47, 0x11, 0x11, 0, 0},
9840 {0x49, 0x44, 0x44, 0, 0},
9841 {0x4A, 0x7, 0x7, 0, 0},
9842 {0x4B, 0x6, 0x6, 0, 0},
9843 {0x4C, 0x4, 0x4, 0, 0},
9846 {0x4F, 0x26, 0x26, 1, 1},
9847 {0x50, 0x26, 0x26, 1, 1},
9848 {0x51, 0xf, 0xf, 1, 1},
9849 {0x52, 0xf, 0xf, 1, 1},
9850 {0x53, 0x44, 0x44, 0, 0},
9853 {0x56, 0x8, 0x8, 0, 0},
9854 {0x57, 0x8, 0x8, 0, 0},
9855 {0x58, 0x7, 0x7, 0, 0},
9856 {0x59, 0x22, 0x22, 0, 0},
9857 {0x5A, 0x22, 0x22, 0, 0},
9858 {0x5B, 0x2, 0x2, 0, 0},
9859 {0x5C, 0x4, 0x4, 1, 1},
9860 {0x5D, 0x7, 0x7, 0, 0},
9861 {0x5E, 0x55, 0x55, 0, 0},
9862 {0x5F, 0x23, 0x23, 0, 0},
9863 {0x60, 0x41, 0x41, 0, 0},
9864 {0x61, 0x1, 0x1, 0, 0},
9865 {0x62, 0xa, 0xa, 0, 0},
9874 {0x6B, 0xc, 0xc, 0, 0},
9881 {0x72, 0x22, 0x22, 0, 0},
9882 {0x73, 0x22, 0x22, 0, 0},
9884 {0x75, 0xa, 0xa, 0, 0},
9885 {0x76, 0x1, 0x1, 0, 0},
9886 {0x77, 0x22, 0x22, 0, 0},
9887 {0x78, 0x30, 0x30, 0, 0},
9892 {0x7D, 0x5, 0x5, 1, 1},
9916 {0xFFFF, 0, 0, 0, 0}
9919 radio_regs_t regs_SYN_2056_rev7[] = {
9927 {0x09, 0x1, 0x1, 0, 0},
9952 {0x22, 0x60, 0x60, 0, 0},
9953 {0x23, 0x6, 0x6, 0, 0},
9954 {0x24, 0xc, 0xc, 0, 0},
9958 {0x28, 0x1, 0x1, 0, 0},
9965 {0x2F, 0x1f, 0x1f, 0, 0},
9966 {0x30, 0x15, 0x15, 0, 0},
9967 {0x31, 0xf, 0xf, 0, 0},
9978 {0x3C, 0x13, 0x13, 0, 0},
9979 {0x3D, 0xf, 0xf, 0, 0},
9980 {0x3E, 0x18, 0x18, 0, 0},
9983 {0x41, 0x20, 0x20, 0, 0},
9984 {0x42, 0x20, 0x20, 0, 0},
9986 {0x44, 0x77, 0x77, 0, 0},
9987 {0x45, 0x7, 0x7, 0, 0},
9988 {0x46, 0x1, 0x1, 0, 0},
9989 {0x47, 0x4, 0x4, 0, 0},
9990 {0x48, 0xf, 0xf, 0, 0},
9991 {0x49, 0x30, 0x30, 0, 0},
9992 {0x4A, 0x32, 0x32, 0, 0},
9993 {0x4B, 0xd, 0xd, 0, 0},
9994 {0x4C, 0xd, 0xd, 0, 0},
9995 {0x4D, 0x4, 0x4, 0, 0},
9996 {0x4E, 0x6, 0x6, 0, 0},
9997 {0x4F, 0x1, 0x1, 0, 0},
9998 {0x50, 0x1c, 0x1c, 0, 0},
9999 {0x51, 0x2, 0x2, 0, 0},
10000 {0x52, 0x2, 0x2, 0, 0},
10001 {0x53, 0xf7, 0xf7, 1, 1},
10002 {0x54, 0xb4, 0xb4, 0, 0},
10003 {0x55, 0xd2, 0xd2, 0, 0},
10004 {0x56, 0, 0, 0, 0},
10005 {0x57, 0, 0, 0, 0},
10006 {0x58, 0x4, 0x4, 0, 0},
10007 {0x59, 0x96, 0x96, 0, 0},
10008 {0x5A, 0x3e, 0x3e, 0, 0},
10009 {0x5B, 0x3e, 0x3e, 0, 0},
10010 {0x5C, 0x13, 0x13, 0, 0},
10011 {0x5D, 0x2, 0x2, 0, 0},
10012 {0x5E, 0, 0, 0, 0},
10013 {0x5F, 0x7, 0x7, 0, 0},
10014 {0x60, 0x7, 0x7, 1, 1},
10015 {0x61, 0x8, 0x8, 0, 0},
10016 {0x62, 0x3, 0x3, 0, 0},
10017 {0x63, 0, 0, 0, 0},
10018 {0x64, 0, 0, 0, 0},
10019 {0x65, 0, 0, 0, 0},
10020 {0x66, 0, 0, 0, 0},
10021 {0x67, 0, 0, 0, 0},
10022 {0x68, 0x40, 0x40, 0, 0},
10023 {0x69, 0, 0, 0, 0},
10024 {0x6A, 0, 0, 0, 0},
10025 {0x6B, 0, 0, 0, 0},
10026 {0x6C, 0, 0, 0, 0},
10027 {0x6D, 0x1, 0x1, 0, 0},
10028 {0x6E, 0, 0, 0, 0},
10029 {0x6F, 0, 0, 0, 0},
10030 {0x70, 0x60, 0x60, 0, 0},
10031 {0x71, 0x66, 0x66, 0, 0},
10032 {0x72, 0xc, 0xc, 0, 0},
10033 {0x73, 0x66, 0x66, 0, 0},
10034 {0x74, 0x8f, 0x8f, 1, 1},
10035 {0x75, 0, 0, 0, 0},
10036 {0x76, 0xcc, 0xcc, 0, 0},
10037 {0x77, 0x1, 0x1, 0, 0},
10038 {0x78, 0x66, 0x66, 0, 0},
10039 {0x79, 0x66, 0x66, 0, 0},
10040 {0x7A, 0, 0, 0, 0},
10041 {0x7B, 0, 0, 0, 0},
10042 {0x7C, 0, 0, 0, 0},
10043 {0x7D, 0, 0, 0, 0},
10044 {0x7E, 0, 0, 0, 0},
10045 {0x7F, 0, 0, 0, 0},
10046 {0x80, 0, 0, 0, 0},
10047 {0x81, 0, 0, 0, 0},
10048 {0x82, 0, 0, 0, 0},
10049 {0x83, 0, 0, 0, 0},
10050 {0x84, 0, 0, 0, 0},
10051 {0x85, 0xff, 0xff, 0, 0},
10052 {0x86, 0, 0, 0, 0},
10053 {0x87, 0, 0, 0, 0},
10054 {0x88, 0, 0, 0, 0},
10055 {0x89, 0, 0, 0, 0},
10056 {0x8A, 0, 0, 0, 0},
10057 {0x8B, 0, 0, 0, 0},
10058 {0x8C, 0, 0, 0, 0},
10059 {0x8D, 0, 0, 0, 0},
10060 {0x8E, 0, 0, 0, 0},
10061 {0x8F, 0, 0, 0, 0},
10062 {0x90, 0, 0, 0, 0},
10063 {0x91, 0, 0, 0, 0},
10064 {0x92, 0, 0, 0, 0},
10065 {0x93, 0, 0, 0, 0},
10066 {0x94, 0, 0, 0, 0},
10067 {0x95, 0, 0, 0, 0},
10068 {0x96, 0, 0, 0, 0},
10069 {0x97, 0, 0, 0, 0},
10070 {0x98, 0, 0, 0, 0},
10071 {0x99, 0, 0, 0, 0},
10072 {0x9A, 0, 0, 0, 0},
10073 {0x9B, 0, 0, 0, 0},
10074 {0x9C, 0, 0, 0, 0},
10075 {0x9D, 0, 0, 0, 0},
10076 {0x9E, 0, 0, 0, 0},
10077 {0x9F, 0x6, 0x6, 0, 0},
10078 {0xA0, 0x66, 0x66, 0, 0},
10079 {0xA1, 0x66, 0x66, 0, 0},
10080 {0xA2, 0x66, 0x66, 0, 0},
10081 {0xA3, 0x66, 0x66, 0, 0},
10082 {0xA4, 0x66, 0x66, 0, 0},
10083 {0xA5, 0x66, 0x66, 0, 0},
10084 {0xA6, 0x66, 0x66, 0, 0},
10085 {0xA7, 0x66, 0x66, 0, 0},
10086 {0xA8, 0x66, 0x66, 0, 0},
10087 {0xA9, 0x66, 0x66, 0, 0},
10088 {0xAA, 0x66, 0x66, 0, 0},
10089 {0xAB, 0x66, 0x66, 0, 0},
10090 {0xAC, 0x66, 0x66, 0, 0},
10091 {0xAD, 0x66, 0x66, 0, 0},
10092 {0xAE, 0x66, 0x66, 0, 0},
10093 {0xAF, 0x66, 0x66, 0, 0},
10094 {0xB0, 0x66, 0x66, 0, 0},
10095 {0xB1, 0x66, 0x66, 0, 0},
10096 {0xB2, 0x66, 0x66, 0, 0},
10097 {0xB3, 0xa, 0xa, 0, 0},
10098 {0xB4, 0, 0, 0, 0},
10099 {0xB5, 0, 0, 0, 0},
10100 {0xB6, 0, 0, 0, 0},
10101 {0xFFFF, 0, 0, 0, 0},
10104 radio_regs_t regs_TX_2056_rev7[] = {
10105 {0x02, 0, 0, 0, 0},
10106 {0x03, 0, 0, 0, 0},
10107 {0x04, 0, 0, 0, 0},
10108 {0x05, 0, 0, 0, 0},
10109 {0x06, 0, 0, 0, 0},
10110 {0x07, 0, 0, 0, 0},
10111 {0x08, 0, 0, 0, 0},
10112 {0x09, 0, 0, 0, 0},
10113 {0x0A, 0, 0, 0, 0},
10114 {0x0B, 0, 0, 0, 0},
10115 {0x0C, 0, 0, 0, 0},
10116 {0x0D, 0, 0, 0, 0},
10117 {0x0E, 0, 0, 0, 0},
10118 {0x0F, 0, 0, 0, 0},
10119 {0x10, 0, 0, 0, 0},
10120 {0x11, 0, 0, 0, 0},
10121 {0x12, 0, 0, 0, 0},
10122 {0x13, 0, 0, 0, 0},
10123 {0x14, 0, 0, 0, 0},
10124 {0x15, 0, 0, 0, 0},
10125 {0x16, 0, 0, 0, 0},
10126 {0x17, 0, 0, 0, 0},
10127 {0x18, 0, 0, 0, 0},
10128 {0x19, 0, 0, 0, 0},
10129 {0x1A, 0, 0, 0, 0},
10130 {0x1B, 0, 0, 0, 0},
10131 {0x1C, 0, 0, 0, 0},
10132 {0x1D, 0, 0, 0, 0},
10133 {0x1E, 0, 0, 0, 0},
10134 {0x1F, 0, 0, 0, 0},
10135 {0x20, 0, 0, 0, 0},
10136 {0x21, 0x88, 0x88, 0, 0},
10137 {0x22, 0x88, 0x88, 0, 0},
10138 {0x23, 0x88, 0x88, 0, 0},
10139 {0x24, 0x88, 0x88, 0, 0},
10140 {0x25, 0xc, 0xc, 0, 0},
10141 {0x26, 0, 0, 0, 0},
10142 {0x27, 0x3, 0x3, 0, 0},
10143 {0x28, 0, 0, 0, 0},
10144 {0x29, 0x3, 0x3, 0, 0},
10145 {0x2A, 0x37, 0x37, 0, 0},
10146 {0x2B, 0x3, 0x3, 0, 0},
10147 {0x2C, 0, 0, 0, 0},
10148 {0x2D, 0, 0, 0, 0},
10149 {0x2E, 0x1, 0x1, 0, 0},
10150 {0x2F, 0x1, 0x1, 0, 0},
10151 {0x30, 0, 0, 0, 0},
10152 {0x31, 0, 0, 0, 0},
10153 {0x32, 0, 0, 0, 0},
10154 {0x33, 0x11, 0x11, 0, 0},
10155 {0x34, 0xee, 0xee, 1, 1},
10156 {0x35, 0, 0, 0, 0},
10157 {0x36, 0, 0, 0, 0},
10158 {0x37, 0x3, 0x3, 0, 0},
10159 {0x38, 0x50, 0x50, 1, 1},
10160 {0x39, 0, 0, 0, 0},
10161 {0x3A, 0x50, 0x50, 1, 1},
10162 {0x3B, 0, 0, 0, 0},
10163 {0x3C, 0x6e, 0x6e, 0, 0},
10164 {0x3D, 0xf0, 0xf0, 1, 1},
10165 {0x3E, 0, 0, 0, 0},
10166 {0x3F, 0, 0, 0, 0},
10167 {0x40, 0, 0, 0, 0},
10168 {0x41, 0x3, 0x3, 0, 0},
10169 {0x42, 0x3, 0x3, 0, 0},
10170 {0x43, 0, 0, 0, 0},
10171 {0x44, 0x1e, 0x1e, 0, 0},
10172 {0x45, 0, 0, 0, 0},
10173 {0x46, 0x6e, 0x6e, 0, 0},
10174 {0x47, 0xf0, 0xf0, 1, 1},
10175 {0x48, 0, 0, 0, 0},
10176 {0x49, 0x2, 0x2, 0, 0},
10177 {0x4A, 0xff, 0xff, 1, 1},
10178 {0x4B, 0xc, 0xc, 0, 0},
10179 {0x4C, 0, 0, 0, 0},
10180 {0x4D, 0x38, 0x38, 0, 0},
10181 {0x4E, 0x70, 0x70, 1, 1},
10182 {0x4F, 0x2, 0x2, 0, 0},
10183 {0x50, 0x88, 0x88, 0, 0},
10184 {0x51, 0xc, 0xc, 0, 0},
10185 {0x52, 0, 0, 0, 0},
10186 {0x53, 0x8, 0x8, 0, 0},
10187 {0x54, 0x70, 0x70, 1, 1},
10188 {0x55, 0x2, 0x2, 0, 0},
10189 {0x56, 0xff, 0xff, 1, 1},
10190 {0x57, 0, 0, 0, 0},
10191 {0x58, 0x83, 0x83, 0, 0},
10192 {0x59, 0x77, 0x77, 1, 1},
10193 {0x5A, 0, 0, 0, 0},
10194 {0x5B, 0x2, 0x2, 0, 0},
10195 {0x5C, 0x88, 0x88, 0, 0},
10196 {0x5D, 0, 0, 0, 0},
10197 {0x5E, 0x8, 0x8, 0, 0},
10198 {0x5F, 0x77, 0x77, 1, 1},
10199 {0x60, 0x1, 0x1, 0, 0},
10200 {0x61, 0, 0, 0, 0},
10201 {0x62, 0x7, 0x7, 0, 0},
10202 {0x63, 0, 0, 0, 0},
10203 {0x64, 0x7, 0x7, 0, 0},
10204 {0x65, 0, 0, 0, 0},
10205 {0x66, 0, 0, 0, 0},
10206 {0x67, 0, 0, 1, 1},
10207 {0x68, 0, 0, 0, 0},
10208 {0x69, 0xa, 0xa, 0, 0},
10209 {0x6A, 0, 0, 0, 0},
10210 {0x6B, 0, 0, 0, 0},
10211 {0x6C, 0, 0, 0, 0},
10212 {0x6D, 0, 0, 0, 0},
10213 {0x6E, 0, 0, 0, 0},
10214 {0x6F, 0, 0, 0, 0},
10215 {0x70, 0, 0, 0, 0},
10216 {0x71, 0x2, 0x2, 0, 0},
10217 {0x72, 0, 0, 0, 0},
10218 {0x73, 0, 0, 0, 0},
10219 {0x74, 0xe, 0xe, 0, 0},
10220 {0x75, 0xe, 0xe, 0, 0},
10221 {0x76, 0xe, 0xe, 0, 0},
10222 {0x77, 0x13, 0x13, 0, 0},
10223 {0x78, 0x13, 0x13, 0, 0},
10224 {0x79, 0x1b, 0x1b, 0, 0},
10225 {0x7A, 0x1b, 0x1b, 0, 0},
10226 {0x7B, 0x55, 0x55, 0, 0},
10227 {0x7C, 0x5b, 0x5b, 0, 0},
10228 {0x7D, 0x30, 0x30, 1, 1},
10229 {0x7E, 0, 0, 0, 0},
10230 {0x7F, 0, 0, 0, 0},
10231 {0x80, 0, 0, 0, 0},
10232 {0x81, 0, 0, 0, 0},
10233 {0x82, 0, 0, 0, 0},
10234 {0x83, 0, 0, 0, 0},
10235 {0x84, 0, 0, 0, 0},
10236 {0x85, 0, 0, 0, 0},
10237 {0x86, 0, 0, 0, 0},
10238 {0x87, 0, 0, 0, 0},
10239 {0x88, 0, 0, 0, 0},
10240 {0x89, 0, 0, 0, 0},
10241 {0x8A, 0, 0, 0, 0},
10242 {0x8B, 0, 0, 0, 0},
10243 {0x8C, 0, 0, 0, 0},
10244 {0x8D, 0, 0, 0, 0},
10245 {0x8E, 0, 0, 0, 0},
10246 {0x8F, 0, 0, 0, 0},
10247 {0x90, 0, 0, 0, 0},
10248 {0x91, 0, 0, 0, 0},
10249 {0x92, 0, 0, 0, 0},
10250 {0x93, 0x70, 0x70, 0, 0},
10251 {0x94, 0x70, 0x70, 0, 0},
10252 {0x95, 0x71, 0x71, 1, 1},
10253 {0x96, 0x71, 0x71, 1, 1},
10254 {0x97, 0x72, 0x72, 1, 1},
10255 {0x98, 0x73, 0x73, 1, 1},
10256 {0x99, 0x74, 0x74, 1, 1},
10257 {0x9A, 0x75, 0x75, 1, 1},
10258 {0xFFFF, 0, 0, 0, 0},
10261 radio_regs_t regs_RX_2056_rev7[] = {
10262 {0x02, 0, 0, 0, 0},
10263 {0x03, 0, 0, 0, 0},
10264 {0x04, 0, 0, 0, 0},
10265 {0x05, 0, 0, 0, 0},
10266 {0x06, 0, 0, 0, 0},
10267 {0x07, 0, 0, 0, 0},
10268 {0x08, 0, 0, 0, 0},
10269 {0x09, 0, 0, 0, 0},
10270 {0x0A, 0, 0, 0, 0},
10271 {0x0B, 0, 0, 0, 0},
10272 {0x0C, 0, 0, 0, 0},
10273 {0x0D, 0, 0, 0, 0},
10274 {0x0E, 0, 0, 0, 0},
10275 {0x0F, 0, 0, 0, 0},
10276 {0x10, 0, 0, 0, 0},
10277 {0x11, 0, 0, 0, 0},
10278 {0x12, 0, 0, 0, 0},
10279 {0x13, 0, 0, 0, 0},
10280 {0x14, 0, 0, 0, 0},
10281 {0x15, 0, 0, 0, 0},
10282 {0x16, 0, 0, 0, 0},
10283 {0x17, 0, 0, 0, 0},
10284 {0x18, 0, 0, 0, 0},
10285 {0x19, 0, 0, 0, 0},
10286 {0x1A, 0, 0, 0, 0},
10287 {0x1B, 0, 0, 0, 0},
10288 {0x1C, 0, 0, 0, 0},
10289 {0x1D, 0, 0, 0, 0},
10290 {0x1E, 0, 0, 0, 0},
10291 {0x1F, 0, 0, 0, 0},
10292 {0x20, 0x3, 0x3, 0, 0},
10293 {0x21, 0, 0, 0, 0},
10294 {0x22, 0, 0, 0, 0},
10295 {0x23, 0x90, 0x90, 0, 0},
10296 {0x24, 0x55, 0x55, 0, 0},
10297 {0x25, 0x15, 0x15, 0, 0},
10298 {0x26, 0x5, 0x5, 0, 0},
10299 {0x27, 0x15, 0x15, 0, 0},
10300 {0x28, 0x5, 0x5, 0, 0},
10301 {0x29, 0x20, 0x20, 0, 0},
10302 {0x2A, 0x11, 0x11, 0, 0},
10303 {0x2B, 0x90, 0x90, 0, 0},
10304 {0x2C, 0, 0, 0, 0},
10305 {0x2D, 0x88, 0x88, 0, 0},
10306 {0x2E, 0x32, 0x32, 0, 0},
10307 {0x2F, 0x77, 0x77, 0, 0},
10308 {0x30, 0x17, 0x17, 1, 1},
10309 {0x31, 0xff, 0xff, 1, 1},
10310 {0x32, 0x20, 0x20, 0, 0},
10311 {0x33, 0, 0, 0, 0},
10312 {0x34, 0x88, 0x88, 0, 0},
10313 {0x35, 0x32, 0x32, 0, 0},
10314 {0x36, 0x77, 0x77, 0, 0},
10315 {0x37, 0x17, 0x17, 1, 1},
10316 {0x38, 0xf0, 0xf0, 1, 1},
10317 {0x39, 0x20, 0x20, 0, 0},
10318 {0x3A, 0x8, 0x8, 0, 0},
10319 {0x3B, 0x55, 0x55, 1, 1},
10320 {0x3C, 0, 0, 0, 0},
10321 {0x3D, 0x88, 0x88, 1, 1},
10322 {0x3E, 0, 0, 0, 0},
10323 {0x3F, 0, 0, 1, 1},
10324 {0x40, 0x7, 0x7, 1, 1},
10325 {0x41, 0x6, 0x6, 0, 0},
10326 {0x42, 0x4, 0x4, 0, 0},
10327 {0x43, 0, 0, 0, 0},
10328 {0x44, 0x8, 0x8, 0, 0},
10329 {0x45, 0x55, 0x55, 1, 1},
10330 {0x46, 0, 0, 0, 0},
10331 {0x47, 0x11, 0x11, 0, 0},
10332 {0x48, 0, 0, 0, 0},
10333 {0x49, 0, 0, 1, 1},
10334 {0x4A, 0x7, 0x7, 0, 0},
10335 {0x4B, 0x6, 0x6, 0, 0},
10336 {0x4C, 0x4, 0x4, 0, 0},
10337 {0x4D, 0, 0, 0, 0},
10338 {0x4E, 0, 0, 0, 0},
10339 {0x4F, 0x26, 0x26, 1, 1},
10340 {0x50, 0x26, 0x26, 1, 1},
10341 {0x51, 0xf, 0xf, 1, 1},
10342 {0x52, 0xf, 0xf, 1, 1},
10343 {0x53, 0x44, 0x44, 0, 0},
10344 {0x54, 0, 0, 0, 0},
10345 {0x55, 0, 0, 0, 0},
10346 {0x56, 0x8, 0x8, 0, 0},
10347 {0x57, 0x8, 0x8, 0, 0},
10348 {0x58, 0x7, 0x7, 0, 0},
10349 {0x59, 0x22, 0x22, 0, 0},
10350 {0x5A, 0x22, 0x22, 0, 0},
10351 {0x5B, 0x2, 0x2, 0, 0},
10352 {0x5C, 0x4, 0x4, 1, 1},
10353 {0x5D, 0x7, 0x7, 0, 0},
10354 {0x5E, 0x55, 0x55, 0, 0},
10355 {0x5F, 0x23, 0x23, 0, 0},
10356 {0x60, 0x41, 0x41, 0, 0},
10357 {0x61, 0x1, 0x1, 0, 0},
10358 {0x62, 0xa, 0xa, 0, 0},
10359 {0x63, 0, 0, 0, 0},
10360 {0x64, 0, 0, 0, 0},
10361 {0x65, 0, 0, 0, 0},
10362 {0x66, 0, 0, 0, 0},
10363 {0x67, 0, 0, 0, 0},
10364 {0x68, 0, 0, 0, 0},
10365 {0x69, 0, 0, 0, 0},
10366 {0x6A, 0, 0, 0, 0},
10367 {0x6B, 0xc, 0xc, 0, 0},
10368 {0x6C, 0, 0, 0, 0},
10369 {0x6D, 0, 0, 0, 0},
10370 {0x6E, 0, 0, 0, 0},
10371 {0x6F, 0, 0, 0, 0},
10372 {0x70, 0, 0, 0, 0},
10373 {0x71, 0, 0, 0, 0},
10374 {0x72, 0x22, 0x22, 0, 0},
10375 {0x73, 0x22, 0x22, 0, 0},
10376 {0x74, 0, 0, 1, 1},
10377 {0x75, 0xa, 0xa, 0, 0},
10378 {0x76, 0x1, 0x1, 0, 0},
10379 {0x77, 0x22, 0x22, 0, 0},
10380 {0x78, 0x30, 0x30, 0, 0},
10381 {0x79, 0, 0, 0, 0},
10382 {0x7A, 0, 0, 0, 0},
10383 {0x7B, 0, 0, 0, 0},
10384 {0x7C, 0, 0, 0, 0},
10385 {0x7D, 0, 0, 0, 0},
10386 {0x7E, 0, 0, 0, 0},
10387 {0x7F, 0, 0, 0, 0},
10388 {0x80, 0, 0, 0, 0},
10389 {0x81, 0, 0, 0, 0},
10390 {0x82, 0, 0, 0, 0},
10391 {0x83, 0, 0, 0, 0},
10392 {0x84, 0, 0, 0, 0},
10393 {0x85, 0, 0, 0, 0},
10394 {0x86, 0, 0, 0, 0},
10395 {0x87, 0, 0, 0, 0},
10396 {0x88, 0, 0, 0, 0},
10397 {0x89, 0, 0, 0, 0},
10398 {0x8A, 0, 0, 0, 0},
10399 {0x8B, 0, 0, 0, 0},
10400 {0x8C, 0, 0, 0, 0},
10401 {0x8D, 0, 0, 0, 0},
10402 {0x8E, 0, 0, 0, 0},
10403 {0x8F, 0, 0, 0, 0},
10404 {0x90, 0, 0, 0, 0},
10405 {0x91, 0, 0, 0, 0},
10406 {0x92, 0, 0, 0, 0},
10407 {0x93, 0, 0, 0, 0},
10408 {0x94, 0, 0, 0, 0},
10409 {0xFFFF, 0, 0, 0, 0},
10412 radio_regs_t regs_SYN_2056_rev8[] = {
10413 {0x02, 0, 0, 0, 0},
10414 {0x03, 0, 0, 0, 0},
10415 {0x04, 0, 0, 0, 0},
10416 {0x05, 0, 0, 0, 0},
10417 {0x06, 0, 0, 0, 0},
10418 {0x07, 0, 0, 0, 0},
10419 {0x08, 0, 0, 0, 0},
10420 {0x09, 0x1, 0x1, 0, 0},
10421 {0x0A, 0, 0, 0, 0},
10422 {0x0B, 0, 0, 0, 0},
10423 {0x0C, 0, 0, 0, 0},
10424 {0x0D, 0, 0, 0, 0},
10425 {0x0E, 0, 0, 0, 0},
10426 {0x0F, 0, 0, 0, 0},
10427 {0x10, 0, 0, 0, 0},
10428 {0x11, 0, 0, 0, 0},
10429 {0x12, 0, 0, 0, 0},
10430 {0x13, 0, 0, 0, 0},
10431 {0x14, 0, 0, 0, 0},
10432 {0x15, 0, 0, 0, 0},
10433 {0x16, 0, 0, 0, 0},
10434 {0x17, 0, 0, 0, 0},
10435 {0x18, 0, 0, 0, 0},
10436 {0x19, 0, 0, 0, 0},
10437 {0x1A, 0, 0, 0, 0},
10438 {0x1B, 0, 0, 0, 0},
10439 {0x1C, 0, 0, 0, 0},
10440 {0x1D, 0, 0, 0, 0},
10441 {0x1E, 0, 0, 0, 0},
10442 {0x1F, 0, 0, 0, 0},
10443 {0x20, 0, 0, 0, 0},
10444 {0x21, 0, 0, 0, 0},
10445 {0x22, 0x60, 0x60, 0, 0},
10446 {0x23, 0x6, 0x6, 0, 0},
10447 {0x24, 0xc, 0xc, 0, 0},
10448 {0x25, 0, 0, 0, 0},
10449 {0x26, 0, 0, 0, 0},
10450 {0x27, 0, 0, 0, 0},
10451 {0x28, 0x1, 0x1, 0, 0},
10452 {0x29, 0, 0, 0, 0},
10453 {0x2A, 0, 0, 0, 0},
10454 {0x2B, 0, 0, 0, 0},
10455 {0x2C, 0, 0, 0, 0},
10456 {0x2D, 0, 0, 0, 0},
10457 {0x2E, 0, 0, 0, 0},
10458 {0x2F, 0x1f, 0x1f, 0, 0},
10459 {0x30, 0x15, 0x15, 0, 0},
10460 {0x31, 0xf, 0xf, 0, 0},
10461 {0x32, 0, 0, 0, 0},
10462 {0x33, 0, 0, 0, 0},
10463 {0x34, 0, 0, 0, 0},
10464 {0x35, 0, 0, 0, 0},
10465 {0x36, 0, 0, 0, 0},
10466 {0x37, 0, 0, 0, 0},
10467 {0x38, 0, 0, 0, 0},
10468 {0x39, 0, 0, 0, 0},
10469 {0x3A, 0, 0, 0, 0},
10470 {0x3B, 0, 0, 0, 0},
10471 {0x3C, 0x13, 0x13, 0, 0},
10472 {0x3D, 0xf, 0xf, 0, 0},
10473 {0x3E, 0x18, 0x18, 0, 0},
10474 {0x3F, 0, 0, 0, 0},
10475 {0x40, 0, 0, 0, 0},
10476 {0x41, 0x20, 0x20, 0, 0},
10477 {0x42, 0x20, 0x20, 0, 0},
10478 {0x43, 0, 0, 0, 0},
10479 {0x44, 0x77, 0x77, 0, 0},
10480 {0x45, 0x7, 0x7, 0, 0},
10481 {0x46, 0x1, 0x1, 0, 0},
10482 {0x47, 0x4, 0x4, 0, 0},
10483 {0x48, 0xf, 0xf, 0, 0},
10484 {0x49, 0x30, 0x30, 0, 0},
10485 {0x4A, 0x32, 0x32, 0, 0},
10486 {0x4B, 0xd, 0xd, 0, 0},
10487 {0x4C, 0xd, 0xd, 0, 0},
10488 {0x4D, 0x4, 0x4, 0, 0},
10489 {0x4E, 0x6, 0x6, 0, 0},
10490 {0x4F, 0x1, 0x1, 0, 0},
10491 {0x50, 0x1c, 0x1c, 0, 0},
10492 {0x51, 0x2, 0x2, 0, 0},
10493 {0x52, 0x2, 0x2, 0, 0},
10494 {0x53, 0xf7, 0xf7, 1, 1},
10495 {0x54, 0xb4, 0xb4, 0, 0},
10496 {0x55, 0xd2, 0xd2, 0, 0},
10497 {0x56, 0, 0, 0, 0},
10498 {0x57, 0, 0, 0, 0},
10499 {0x58, 0x4, 0x4, 0, 0},
10500 {0x59, 0x96, 0x96, 0, 0},
10501 {0x5A, 0x3e, 0x3e, 0, 0},
10502 {0x5B, 0x3e, 0x3e, 0, 0},
10503 {0x5C, 0x13, 0x13, 0, 0},
10504 {0x5D, 0x2, 0x2, 0, 0},
10505 {0x5E, 0, 0, 0, 0},
10506 {0x5F, 0x7, 0x7, 0, 0},
10507 {0x60, 0x7, 0x7, 1, 1},
10508 {0x61, 0x8, 0x8, 0, 0},
10509 {0x62, 0x3, 0x3, 0, 0},
10510 {0x63, 0, 0, 0, 0},
10511 {0x64, 0, 0, 0, 0},
10512 {0x65, 0, 0, 0, 0},
10513 {0x66, 0, 0, 0, 0},
10514 {0x67, 0, 0, 0, 0},
10515 {0x68, 0x40, 0x40, 0, 0},
10516 {0x69, 0, 0, 0, 0},
10517 {0x6A, 0, 0, 0, 0},
10518 {0x6B, 0, 0, 0, 0},
10519 {0x6C, 0, 0, 0, 0},
10520 {0x6D, 0x1, 0x1, 0, 0},
10521 {0x6E, 0, 0, 0, 0},
10522 {0x6F, 0, 0, 0, 0},
10523 {0x70, 0x60, 0x60, 0, 0},
10524 {0x71, 0x66, 0x66, 0, 0},
10525 {0x72, 0xc, 0xc, 0, 0},
10526 {0x73, 0x66, 0x66, 0, 0},
10527 {0x74, 0x8f, 0x8f, 1, 1},
10528 {0x75, 0, 0, 0, 0},
10529 {0x76, 0xcc, 0xcc, 0, 0},
10530 {0x77, 0x1, 0x1, 0, 0},
10531 {0x78, 0x66, 0x66, 0, 0},
10532 {0x79, 0x66, 0x66, 0, 0},
10533 {0x7A, 0, 0, 0, 0},
10534 {0x7B, 0, 0, 0, 0},
10535 {0x7C, 0, 0, 0, 0},
10536 {0x7D, 0, 0, 0, 0},
10537 {0x7E, 0, 0, 0, 0},
10538 {0x7F, 0, 0, 0, 0},
10539 {0x80, 0, 0, 0, 0},
10540 {0x81, 0, 0, 0, 0},
10541 {0x82, 0, 0, 0, 0},
10542 {0x83, 0, 0, 0, 0},
10543 {0x84, 0, 0, 0, 0},
10544 {0x85, 0xff, 0xff, 0, 0},
10545 {0x86, 0, 0, 0, 0},
10546 {0x87, 0, 0, 0, 0},
10547 {0x88, 0, 0, 0, 0},
10548 {0x89, 0, 0, 0, 0},
10549 {0x8A, 0, 0, 0, 0},
10550 {0x8B, 0, 0, 0, 0},
10551 {0x8C, 0, 0, 0, 0},
10552 {0x8D, 0, 0, 0, 0},
10553 {0x8E, 0, 0, 0, 0},
10554 {0x8F, 0, 0, 0, 0},
10555 {0x90, 0, 0, 0, 0},
10556 {0x91, 0, 0, 0, 0},
10557 {0x92, 0, 0, 0, 0},
10558 {0x93, 0, 0, 0, 0},
10559 {0x94, 0, 0, 0, 0},
10560 {0x95, 0, 0, 0, 0},
10561 {0x96, 0, 0, 0, 0},
10562 {0x97, 0, 0, 0, 0},
10563 {0x98, 0, 0, 0, 0},
10564 {0x99, 0, 0, 0, 0},
10565 {0x9A, 0, 0, 0, 0},
10566 {0x9B, 0, 0, 0, 0},
10567 {0x9C, 0, 0, 0, 0},
10568 {0x9D, 0, 0, 0, 0},
10569 {0x9E, 0, 0, 0, 0},
10570 {0x9F, 0x6, 0x6, 0, 0},
10571 {0xA0, 0x66, 0x66, 0, 0},
10572 {0xA1, 0x66, 0x66, 0, 0},
10573 {0xA2, 0x66, 0x66, 0, 0},
10574 {0xA3, 0x66, 0x66, 0, 0},
10575 {0xA4, 0x66, 0x66, 0, 0},
10576 {0xA5, 0x66, 0x66, 0, 0},
10577 {0xA6, 0x66, 0x66, 0, 0},
10578 {0xA7, 0x66, 0x66, 0, 0},
10579 {0xA8, 0x66, 0x66, 0, 0},
10580 {0xA9, 0x66, 0x66, 0, 0},
10581 {0xAA, 0x66, 0x66, 0, 0},
10582 {0xAB, 0x66, 0x66, 0, 0},
10583 {0xAC, 0x66, 0x66, 0, 0},
10584 {0xAD, 0x66, 0x66, 0, 0},
10585 {0xAE, 0x66, 0x66, 0, 0},
10586 {0xAF, 0x66, 0x66, 0, 0},
10587 {0xB0, 0x66, 0x66, 0, 0},
10588 {0xB1, 0x66, 0x66, 0, 0},
10589 {0xB2, 0x66, 0x66, 0, 0},
10590 {0xB3, 0xa, 0xa, 0, 0},
10591 {0xB4, 0, 0, 0, 0},
10592 {0xB5, 0, 0, 0, 0},
10593 {0xB6, 0, 0, 0, 0},
10594 {0xFFFF, 0, 0, 0, 0},
10597 radio_regs_t regs_TX_2056_rev8[] = {
10598 {0x02, 0, 0, 0, 0},
10599 {0x03, 0, 0, 0, 0},
10600 {0x04, 0, 0, 0, 0},
10601 {0x05, 0, 0, 0, 0},
10602 {0x06, 0, 0, 0, 0},
10603 {0x07, 0, 0, 0, 0},
10604 {0x08, 0, 0, 0, 0},
10605 {0x09, 0, 0, 0, 0},
10606 {0x0A, 0, 0, 0, 0},
10607 {0x0B, 0, 0, 0, 0},
10608 {0x0C, 0, 0, 0, 0},
10609 {0x0D, 0, 0, 0, 0},
10610 {0x0E, 0, 0, 0, 0},
10611 {0x0F, 0, 0, 0, 0},
10612 {0x10, 0, 0, 0, 0},
10613 {0x11, 0, 0, 0, 0},
10614 {0x12, 0, 0, 0, 0},
10615 {0x13, 0, 0, 0, 0},
10616 {0x14, 0, 0, 0, 0},
10617 {0x15, 0, 0, 0, 0},
10618 {0x16, 0, 0, 0, 0},
10619 {0x17, 0, 0, 0, 0},
10620 {0x18, 0, 0, 0, 0},
10621 {0x19, 0, 0, 0, 0},
10622 {0x1A, 0, 0, 0, 0},
10623 {0x1B, 0, 0, 0, 0},
10624 {0x1C, 0, 0, 0, 0},
10625 {0x1D, 0, 0, 0, 0},
10626 {0x1E, 0, 0, 0, 0},
10627 {0x1F, 0, 0, 0, 0},
10628 {0x20, 0, 0, 0, 0},
10629 {0x21, 0x88, 0x88, 0, 0},
10630 {0x22, 0x88, 0x88, 0, 0},
10631 {0x23, 0x88, 0x88, 0, 0},
10632 {0x24, 0x88, 0x88, 0, 0},
10633 {0x25, 0xc, 0xc, 0, 0},
10634 {0x26, 0, 0, 0, 0},
10635 {0x27, 0x3, 0x3, 0, 0},
10636 {0x28, 0, 0, 0, 0},
10637 {0x29, 0x3, 0x3, 0, 0},
10638 {0x2A, 0x37, 0x37, 0, 0},
10639 {0x2B, 0x3, 0x3, 0, 0},
10640 {0x2C, 0, 0, 0, 0},
10641 {0x2D, 0, 0, 0, 0},
10642 {0x2E, 0x1, 0x1, 0, 0},
10643 {0x2F, 0x1, 0x1, 0, 0},
10644 {0x30, 0, 0, 0, 0},
10645 {0x31, 0, 0, 0, 0},
10646 {0x32, 0, 0, 0, 0},
10647 {0x33, 0x11, 0x11, 0, 0},
10648 {0x34, 0xee, 0xee, 1, 1},
10649 {0x35, 0, 0, 0, 0},
10650 {0x36, 0, 0, 0, 0},
10651 {0x37, 0x3, 0x3, 0, 0},
10652 {0x38, 0x50, 0x50, 1, 1},
10653 {0x39, 0, 0, 0, 0},
10654 {0x3A, 0x50, 0x50, 1, 1},
10655 {0x3B, 0, 0, 0, 0},
10656 {0x3C, 0x6e, 0x6e, 0, 0},
10657 {0x3D, 0xf0, 0xf0, 1, 1},
10658 {0x3E, 0, 0, 0, 0},
10659 {0x3F, 0, 0, 0, 0},
10660 {0x40, 0, 0, 0, 0},
10661 {0x41, 0x3, 0x3, 0, 0},
10662 {0x42, 0x3, 0x3, 0, 0},
10663 {0x43, 0, 0, 0, 0},
10664 {0x44, 0x1e, 0x1e, 0, 0},
10665 {0x45, 0, 0, 0, 0},
10666 {0x46, 0x6e, 0x6e, 0, 0},
10667 {0x47, 0xf0, 0xf0, 1, 1},
10668 {0x48, 0, 0, 0, 0},
10669 {0x49, 0x2, 0x2, 0, 0},
10670 {0x4A, 0xff, 0xff, 1, 1},
10671 {0x4B, 0xc, 0xc, 0, 0},
10672 {0x4C, 0, 0, 0, 0},
10673 {0x4D, 0x38, 0x38, 0, 0},
10674 {0x4E, 0x70, 0x70, 1, 1},
10675 {0x4F, 0x2, 0x2, 0, 0},
10676 {0x50, 0x88, 0x88, 0, 0},
10677 {0x51, 0xc, 0xc, 0, 0},
10678 {0x52, 0, 0, 0, 0},
10679 {0x53, 0x8, 0x8, 0, 0},
10680 {0x54, 0x70, 0x70, 1, 1},
10681 {0x55, 0x2, 0x2, 0, 0},
10682 {0x56, 0xff, 0xff, 1, 1},
10683 {0x57, 0, 0, 0, 0},
10684 {0x58, 0x83, 0x83, 0, 0},
10685 {0x59, 0x77, 0x77, 1, 1},
10686 {0x5A, 0, 0, 0, 0},
10687 {0x5B, 0x2, 0x2, 0, 0},
10688 {0x5C, 0x88, 0x88, 0, 0},
10689 {0x5D, 0, 0, 0, 0},
10690 {0x5E, 0x8, 0x8, 0, 0},
10691 {0x5F, 0x77, 0x77, 1, 1},
10692 {0x60, 0x1, 0x1, 0, 0},
10693 {0x61, 0, 0, 0, 0},
10694 {0x62, 0x7, 0x7, 0, 0},
10695 {0x63, 0, 0, 0, 0},
10696 {0x64, 0x7, 0x7, 0, 0},
10697 {0x65, 0, 0, 0, 0},
10698 {0x66, 0, 0, 0, 0},
10699 {0x67, 0, 0, 1, 1},
10700 {0x68, 0, 0, 0, 0},
10701 {0x69, 0xa, 0xa, 0, 0},
10702 {0x6A, 0, 0, 0, 0},
10703 {0x6B, 0, 0, 0, 0},
10704 {0x6C, 0, 0, 0, 0},
10705 {0x6D, 0, 0, 0, 0},
10706 {0x6E, 0, 0, 0, 0},
10707 {0x6F, 0, 0, 0, 0},
10708 {0x70, 0, 0, 0, 0},
10709 {0x71, 0x2, 0x2, 0, 0},
10710 {0x72, 0, 0, 0, 0},
10711 {0x73, 0, 0, 0, 0},
10712 {0x74, 0xe, 0xe, 0, 0},
10713 {0x75, 0xe, 0xe, 0, 0},
10714 {0x76, 0xe, 0xe, 0, 0},
10715 {0x77, 0x13, 0x13, 0, 0},
10716 {0x78, 0x13, 0x13, 0, 0},
10717 {0x79, 0x1b, 0x1b, 0, 0},
10718 {0x7A, 0x1b, 0x1b, 0, 0},
10719 {0x7B, 0x55, 0x55, 0, 0},
10720 {0x7C, 0x5b, 0x5b, 0, 0},
10721 {0x7D, 0x30, 0x30, 1, 1},
10722 {0x7E, 0, 0, 0, 0},
10723 {0x7F, 0, 0, 0, 0},
10724 {0x80, 0, 0, 0, 0},
10725 {0x81, 0, 0, 0, 0},
10726 {0x82, 0, 0, 0, 0},
10727 {0x83, 0, 0, 0, 0},
10728 {0x84, 0, 0, 0, 0},
10729 {0x85, 0, 0, 0, 0},
10730 {0x86, 0, 0, 0, 0},
10731 {0x87, 0, 0, 0, 0},
10732 {0x88, 0, 0, 0, 0},
10733 {0x89, 0, 0, 0, 0},
10734 {0x8A, 0, 0, 0, 0},
10735 {0x8B, 0, 0, 0, 0},
10736 {0x8C, 0, 0, 0, 0},
10737 {0x8D, 0, 0, 0, 0},
10738 {0x8E, 0, 0, 0, 0},
10739 {0x8F, 0, 0, 0, 0},
10740 {0x90, 0, 0, 0, 0},
10741 {0x91, 0, 0, 0, 0},
10742 {0x92, 0, 0, 0, 0},
10743 {0x93, 0x70, 0x70, 0, 0},
10744 {0x94, 0x70, 0x70, 0, 0},
10745 {0x95, 0x70, 0x70, 0, 0},
10746 {0x96, 0x70, 0x70, 0, 0},
10747 {0x97, 0x70, 0x70, 0, 0},
10748 {0x98, 0x70, 0x70, 0, 0},
10749 {0x99, 0x70, 0x70, 0, 0},
10750 {0x9A, 0x70, 0x70, 0, 0},
10751 {0xFFFF, 0, 0, 0, 0},
10754 radio_regs_t regs_RX_2056_rev8[] = {
10755 {0x02, 0, 0, 0, 0},
10756 {0x03, 0, 0, 0, 0},
10757 {0x04, 0, 0, 0, 0},
10758 {0x05, 0, 0, 0, 0},
10759 {0x06, 0, 0, 0, 0},
10760 {0x07, 0, 0, 0, 0},
10761 {0x08, 0, 0, 0, 0},
10762 {0x09, 0, 0, 0, 0},
10763 {0x0A, 0, 0, 0, 0},
10764 {0x0B, 0, 0, 0, 0},
10765 {0x0C, 0, 0, 0, 0},
10766 {0x0D, 0, 0, 0, 0},
10767 {0x0E, 0, 0, 0, 0},
10768 {0x0F, 0, 0, 0, 0},
10769 {0x10, 0, 0, 0, 0},
10770 {0x11, 0, 0, 0, 0},
10771 {0x12, 0, 0, 0, 0},
10772 {0x13, 0, 0, 0, 0},
10773 {0x14, 0, 0, 0, 0},
10774 {0x15, 0, 0, 0, 0},
10775 {0x16, 0, 0, 0, 0},
10776 {0x17, 0, 0, 0, 0},
10777 {0x18, 0, 0, 0, 0},
10778 {0x19, 0, 0, 0, 0},
10779 {0x1A, 0, 0, 0, 0},
10780 {0x1B, 0, 0, 0, 0},
10781 {0x1C, 0, 0, 0, 0},
10782 {0x1D, 0, 0, 0, 0},
10783 {0x1E, 0, 0, 0, 0},
10784 {0x1F, 0, 0, 0, 0},
10785 {0x20, 0x3, 0x3, 0, 0},
10786 {0x21, 0, 0, 0, 0},
10787 {0x22, 0, 0, 0, 0},
10788 {0x23, 0x90, 0x90, 0, 0},
10789 {0x24, 0x55, 0x55, 0, 0},
10790 {0x25, 0x15, 0x15, 0, 0},
10791 {0x26, 0x5, 0x5, 0, 0},
10792 {0x27, 0x15, 0x15, 0, 0},
10793 {0x28, 0x5, 0x5, 0, 0},
10794 {0x29, 0x20, 0x20, 0, 0},
10795 {0x2A, 0x11, 0x11, 0, 0},
10796 {0x2B, 0x90, 0x90, 0, 0},
10797 {0x2C, 0, 0, 0, 0},
10798 {0x2D, 0x88, 0x88, 0, 0},
10799 {0x2E, 0x32, 0x32, 0, 0},
10800 {0x2F, 0x77, 0x77, 0, 0},
10801 {0x30, 0x17, 0x17, 1, 1},
10802 {0x31, 0xff, 0xff, 1, 1},
10803 {0x32, 0x20, 0x20, 0, 0},
10804 {0x33, 0, 0, 0, 0},
10805 {0x34, 0x88, 0x88, 0, 0},
10806 {0x35, 0x32, 0x32, 0, 0},
10807 {0x36, 0x77, 0x77, 0, 0},
10808 {0x37, 0x17, 0x17, 1, 1},
10809 {0x38, 0xf0, 0xf0, 1, 1},
10810 {0x39, 0x20, 0x20, 0, 0},
10811 {0x3A, 0x8, 0x8, 0, 0},
10812 {0x3B, 0x55, 0x55, 1, 1},
10813 {0x3C, 0, 0, 0, 0},
10814 {0x3D, 0x88, 0x88, 1, 1},
10815 {0x3E, 0, 0, 0, 0},
10816 {0x3F, 0x44, 0x44, 0, 0},
10817 {0x40, 0x7, 0x7, 1, 1},
10818 {0x41, 0x6, 0x6, 0, 0},
10819 {0x42, 0x4, 0x4, 0, 0},
10820 {0x43, 0, 0, 0, 0},
10821 {0x44, 0x8, 0x8, 0, 0},
10822 {0x45, 0x55, 0x55, 1, 1},
10823 {0x46, 0, 0, 0, 0},
10824 {0x47, 0x11, 0x11, 0, 0},
10825 {0x48, 0, 0, 0, 0},
10826 {0x49, 0x44, 0x44, 0, 0},
10827 {0x4A, 0x7, 0x7, 0, 0},
10828 {0x4B, 0x6, 0x6, 0, 0},
10829 {0x4C, 0x4, 0x4, 0, 0},
10830 {0x4D, 0, 0, 0, 0},
10831 {0x4E, 0, 0, 0, 0},
10832 {0x4F, 0x26, 0x26, 1, 1},
10833 {0x50, 0x26, 0x26, 1, 1},
10834 {0x51, 0xf, 0xf, 1, 1},
10835 {0x52, 0xf, 0xf, 1, 1},
10836 {0x53, 0x44, 0x44, 0, 0},
10837 {0x54, 0, 0, 0, 0},
10838 {0x55, 0, 0, 0, 0},
10839 {0x56, 0x8, 0x8, 0, 0},
10840 {0x57, 0x8, 0x8, 0, 0},
10841 {0x58, 0x7, 0x7, 0, 0},
10842 {0x59, 0x22, 0x22, 0, 0},
10843 {0x5A, 0x22, 0x22, 0, 0},
10844 {0x5B, 0x2, 0x2, 0, 0},
10845 {0x5C, 0x4, 0x4, 1, 1},
10846 {0x5D, 0x7, 0x7, 0, 0},
10847 {0x5E, 0x55, 0x55, 0, 0},
10848 {0x5F, 0x23, 0x23, 0, 0},
10849 {0x60, 0x41, 0x41, 0, 0},
10850 {0x61, 0x1, 0x1, 0, 0},
10851 {0x62, 0xa, 0xa, 0, 0},
10852 {0x63, 0, 0, 0, 0},
10853 {0x64, 0, 0, 0, 0},
10854 {0x65, 0, 0, 0, 0},
10855 {0x66, 0, 0, 0, 0},
10856 {0x67, 0, 0, 0, 0},
10857 {0x68, 0, 0, 0, 0},
10858 {0x69, 0, 0, 0, 0},
10859 {0x6A, 0, 0, 0, 0},
10860 {0x6B, 0xc, 0xc, 0, 0},
10861 {0x6C, 0, 0, 0, 0},
10862 {0x6D, 0, 0, 0, 0},
10863 {0x6E, 0, 0, 0, 0},
10864 {0x6F, 0, 0, 0, 0},
10865 {0x70, 0, 0, 0, 0},
10866 {0x71, 0, 0, 0, 0},
10867 {0x72, 0x22, 0x22, 0, 0},
10868 {0x73, 0x22, 0x22, 0, 0},
10869 {0x74, 0, 0, 1, 1},
10870 {0x75, 0xa, 0xa, 0, 0},
10871 {0x76, 0x1, 0x1, 0, 0},
10872 {0x77, 0x22, 0x22, 0, 0},
10873 {0x78, 0x30, 0x30, 0, 0},
10874 {0x79, 0, 0, 0, 0},
10875 {0x7A, 0, 0, 0, 0},
10876 {0x7B, 0, 0, 0, 0},
10877 {0x7C, 0, 0, 0, 0},
10878 {0x7D, 0x5, 0x5, 1, 1},
10879 {0x7E, 0, 0, 0, 0},
10880 {0x7F, 0, 0, 0, 0},
10881 {0x80, 0, 0, 0, 0},
10882 {0x81, 0, 0, 0, 0},
10883 {0x82, 0, 0, 0, 0},
10884 {0x83, 0, 0, 0, 0},
10885 {0x84, 0, 0, 0, 0},
10886 {0x85, 0, 0, 0, 0},
10887 {0x86, 0, 0, 0, 0},
10888 {0x87, 0, 0, 0, 0},
10889 {0x88, 0, 0, 0, 0},
10890 {0x89, 0, 0, 0, 0},
10891 {0x8A, 0, 0, 0, 0},
10892 {0x8B, 0, 0, 0, 0},
10893 {0x8C, 0, 0, 0, 0},
10894 {0x8D, 0, 0, 0, 0},
10895 {0x8E, 0, 0, 0, 0},
10896 {0x8F, 0, 0, 0, 0},
10897 {0x90, 0, 0, 0, 0},
10898 {0x91, 0, 0, 0, 0},
10899 {0x92, 0, 0, 0, 0},
10900 {0x93, 0, 0, 0, 0},
10901 {0x94, 0, 0, 0, 0},
10902 {0xFFFF, 0, 0, 0, 0},
10905 radio_regs_t regs_SYN_2056_rev11[] = {
10906 {0x02, 0, 0, 0, 0},
10907 {0x03, 0, 0, 0, 0},
10908 {0x04, 0, 0, 0, 0},
10909 {0x05, 0, 0, 0, 0},
10910 {0x06, 0, 0, 0, 0},
10911 {0x07, 0, 0, 0, 0},
10912 {0x08, 0, 0, 0, 0},
10913 {0x09, 0x1, 0x1, 0, 0},
10914 {0x0A, 0, 0, 0, 0},
10915 {0x0B, 0, 0, 0, 0},
10916 {0x0C, 0, 0, 0, 0},
10917 {0x0D, 0, 0, 0, 0},
10918 {0x0E, 0, 0, 0, 0},
10919 {0x0F, 0, 0, 0, 0},
10920 {0x10, 0, 0, 0, 0},
10921 {0x11, 0, 0, 0, 0},
10922 {0x12, 0, 0, 0, 0},
10923 {0x13, 0, 0, 0, 0},
10924 {0x14, 0, 0, 0, 0},
10925 {0x15, 0, 0, 0, 0},
10926 {0x16, 0, 0, 0, 0},
10927 {0x17, 0, 0, 0, 0},
10928 {0x18, 0, 0, 0, 0},
10929 {0x19, 0, 0, 0, 0},
10930 {0x1A, 0, 0, 0, 0},
10931 {0x1B, 0, 0, 0, 0},
10932 {0x1C, 0, 0, 0, 0},
10933 {0x1D, 0, 0, 0, 0},
10934 {0x1E, 0, 0, 0, 0},
10935 {0x1F, 0, 0, 0, 0},
10936 {0x20, 0, 0, 0, 0},
10937 {0x21, 0, 0, 0, 0},
10938 {0x22, 0x60, 0x60, 0, 0},
10939 {0x23, 0x6, 0x6, 0, 0},
10940 {0x24, 0xc, 0xc, 0, 0},
10941 {0x25, 0, 0, 0, 0},
10942 {0x26, 0, 0, 0, 0},
10943 {0x27, 0, 0, 0, 0},
10944 {0x28, 0x1, 0x1, 0, 0},
10945 {0x29, 0, 0, 0, 0},
10946 {0x2A, 0, 0, 0, 0},
10947 {0x2B, 0, 0, 0, 0},
10948 {0x2C, 0, 0, 0, 0},
10949 {0x2D, 0, 0, 0, 0},
10950 {0x2E, 0, 0, 0, 0},
10951 {0x2F, 0x1f, 0x1f, 0, 0},
10952 {0x30, 0x15, 0x15, 0, 0},
10953 {0x31, 0xf, 0xf, 0, 0},
10954 {0x32, 0, 0, 0, 0},
10955 {0x33, 0, 0, 0, 0},
10956 {0x34, 0, 0, 0, 0},
10957 {0x35, 0, 0, 0, 0},
10958 {0x36, 0, 0, 0, 0},
10959 {0x37, 0, 0, 0, 0},
10960 {0x38, 0, 0, 0, 0},
10961 {0x39, 0, 0, 0, 0},
10962 {0x3A, 0, 0, 0, 0},
10963 {0x3B, 0, 0, 0, 0},
10964 {0x3C, 0x13, 0x13, 0, 0},
10965 {0x3D, 0xf, 0xf, 0, 0},
10966 {0x3E, 0x18, 0x18, 0, 0},
10967 {0x3F, 0, 0, 0, 0},
10968 {0x40, 0, 0, 0, 0},
10969 {0x41, 0x20, 0x20, 0, 0},
10970 {0x42, 0x20, 0x20, 0, 0},
10971 {0x43, 0, 0, 0, 0},
10972 {0x44, 0x77, 0x77, 0, 0},
10973 {0x45, 0x7, 0x7, 0, 0},
10974 {0x46, 0x1, 0x1, 0, 0},
10975 {0x47, 0x6, 0x6, 1, 1},
10976 {0x48, 0xf, 0xf, 0, 0},
10977 {0x49, 0x3f, 0x3f, 1, 1},
10978 {0x4A, 0x32, 0x32, 0, 0},
10979 {0x4B, 0x6, 0x6, 1, 1},
10980 {0x4C, 0x6, 0x6, 1, 1},
10981 {0x4D, 0x4, 0x4, 0, 0},
10982 {0x4E, 0x2b, 0x2b, 1, 1},
10983 {0x4F, 0x1, 0x1, 0, 0},
10984 {0x50, 0x1c, 0x1c, 0, 0},
10985 {0x51, 0x2, 0x2, 0, 0},
10986 {0x52, 0x2, 0x2, 0, 0},
10987 {0x53, 0xf7, 0xf7, 1, 1},
10988 {0x54, 0xb4, 0xb4, 0, 0},
10989 {0x55, 0xd2, 0xd2, 0, 0},
10990 {0x56, 0, 0, 0, 0},
10991 {0x57, 0, 0, 0, 0},
10992 {0x58, 0x4, 0x4, 0, 0},
10993 {0x59, 0x96, 0x96, 0, 0},
10994 {0x5A, 0x3e, 0x3e, 0, 0},
10995 {0x5B, 0x3e, 0x3e, 0, 0},
10996 {0x5C, 0x13, 0x13, 0, 0},
10997 {0x5D, 0x2, 0x2, 0, 0},
10998 {0x5E, 0, 0, 0, 0},
10999 {0x5F, 0x7, 0x7, 0, 0},
11000 {0x60, 0x7, 0x7, 1, 1},
11001 {0x61, 0x8, 0x8, 0, 0},
11002 {0x62, 0x3, 0x3, 0, 0},
11003 {0x63, 0, 0, 0, 0},
11004 {0x64, 0, 0, 0, 0},
11005 {0x65, 0, 0, 0, 0},
11006 {0x66, 0, 0, 0, 0},
11007 {0x67, 0, 0, 0, 0},
11008 {0x68, 0x40, 0x40, 0, 0},
11009 {0x69, 0, 0, 0, 0},
11010 {0x6A, 0, 0, 0, 0},
11011 {0x6B, 0, 0, 0, 0},
11012 {0x6C, 0, 0, 0, 0},
11013 {0x6D, 0x1, 0x1, 0, 0},
11014 {0x6E, 0, 0, 0, 0},
11015 {0x6F, 0, 0, 0, 0},
11016 {0x70, 0x60, 0x60, 0, 0},
11017 {0x71, 0x66, 0x66, 0, 0},
11018 {0x72, 0xc, 0xc, 0, 0},
11019 {0x73, 0x66, 0x66, 0, 0},
11020 {0x74, 0x8f, 0x8f, 1, 1},
11021 {0x75, 0, 0, 0, 0},
11022 {0x76, 0xcc, 0xcc, 0, 0},
11023 {0x77, 0x1, 0x1, 0, 0},
11024 {0x78, 0x66, 0x66, 0, 0},
11025 {0x79, 0x66, 0x66, 0, 0},
11026 {0x7A, 0, 0, 0, 0},
11027 {0x7B, 0, 0, 0, 0},
11028 {0x7C, 0, 0, 0, 0},
11029 {0x7D, 0, 0, 0, 0},
11030 {0x7E, 0, 0, 0, 0},
11031 {0x7F, 0, 0, 0, 0},
11032 {0x80, 0, 0, 0, 0},
11033 {0x81, 0, 0, 0, 0},
11034 {0x82, 0, 0, 0, 0},
11035 {0x83, 0, 0, 0, 0},
11036 {0x84, 0, 0, 0, 0},
11037 {0x85, 0xff, 0xff, 0, 0},
11038 {0x86, 0, 0, 0, 0},
11039 {0x87, 0, 0, 0, 0},
11040 {0x88, 0, 0, 0, 0},
11041 {0x89, 0, 0, 0, 0},
11042 {0x8A, 0, 0, 0, 0},
11043 {0x8B, 0, 0, 0, 0},
11044 {0x8C, 0, 0, 0, 0},
11045 {0x8D, 0, 0, 0, 0},
11046 {0x8E, 0, 0, 0, 0},
11047 {0x8F, 0, 0, 0, 0},
11048 {0x90, 0, 0, 0, 0},
11049 {0x91, 0, 0, 0, 0},
11050 {0x92, 0, 0, 0, 0},
11051 {0x93, 0, 0, 0, 0},
11052 {0x94, 0, 0, 0, 0},
11053 {0x95, 0, 0, 0, 0},
11054 {0x96, 0, 0, 0, 0},
11055 {0x97, 0, 0, 0, 0},
11056 {0x98, 0, 0, 0, 0},
11057 {0x99, 0, 0, 0, 0},
11058 {0x9A, 0, 0, 0, 0},
11059 {0x9B, 0, 0, 0, 0},
11060 {0x9C, 0, 0, 0, 0},
11061 {0x9D, 0, 0, 0, 0},
11062 {0x9E, 0, 0, 0, 0},
11063 {0x9F, 0x6, 0x6, 0, 0},
11064 {0xA0, 0x66, 0x66, 0, 0},
11065 {0xA1, 0x66, 0x66, 0, 0},
11066 {0xA2, 0x66, 0x66, 0, 0},
11067 {0xA3, 0x66, 0x66, 0, 0},
11068 {0xA4, 0x66, 0x66, 0, 0},
11069 {0xA5, 0x66, 0x66, 0, 0},
11070 {0xA6, 0x66, 0x66, 0, 0},
11071 {0xA7, 0x66, 0x66, 0, 0},
11072 {0xA8, 0x66, 0x66, 0, 0},
11073 {0xA9, 0x66, 0x66, 0, 0},
11074 {0xAA, 0x66, 0x66, 0, 0},
11075 {0xAB, 0x66, 0x66, 0, 0},
11076 {0xAC, 0x66, 0x66, 0, 0},
11077 {0xAD, 0x66, 0x66, 0, 0},
11078 {0xAE, 0x66, 0x66, 0, 0},
11079 {0xAF, 0x66, 0x66, 0, 0},
11080 {0xB0, 0x66, 0x66, 0, 0},
11081 {0xB1, 0x66, 0x66, 0, 0},
11082 {0xB2, 0x66, 0x66, 0, 0},
11083 {0xB3, 0xa, 0xa, 0, 0},
11084 {0xB4, 0, 0, 0, 0},
11085 {0xB5, 0, 0, 0, 0},
11086 {0xB6, 0, 0, 0, 0},
11087 {0xFFFF, 0, 0, 0, 0},
11090 radio_regs_t regs_TX_2056_rev11[] = {
11091 {0x02, 0, 0, 0, 0},
11092 {0x03, 0, 0, 0, 0},
11093 {0x04, 0, 0, 0, 0},
11094 {0x05, 0, 0, 0, 0},
11095 {0x06, 0, 0, 0, 0},
11096 {0x07, 0, 0, 0, 0},
11097 {0x08, 0, 0, 0, 0},
11098 {0x09, 0, 0, 0, 0},
11099 {0x0A, 0, 0, 0, 0},
11100 {0x0B, 0, 0, 0, 0},
11101 {0x0C, 0, 0, 0, 0},
11102 {0x0D, 0, 0, 0, 0},
11103 {0x0E, 0, 0, 0, 0},
11104 {0x0F, 0, 0, 0, 0},
11105 {0x10, 0, 0, 0, 0},
11106 {0x11, 0, 0, 0, 0},
11107 {0x12, 0, 0, 0, 0},
11108 {0x13, 0, 0, 0, 0},
11109 {0x14, 0, 0, 0, 0},
11110 {0x15, 0, 0, 0, 0},
11111 {0x16, 0, 0, 0, 0},
11112 {0x17, 0, 0, 0, 0},
11113 {0x18, 0, 0, 0, 0},
11114 {0x19, 0, 0, 0, 0},
11115 {0x1A, 0, 0, 0, 0},
11116 {0x1B, 0, 0, 0, 0},
11117 {0x1C, 0, 0, 0, 0},
11118 {0x1D, 0, 0, 0, 0},
11119 {0x1E, 0, 0, 0, 0},
11120 {0x1F, 0, 0, 0, 0},
11121 {0x20, 0, 0, 0, 0},
11122 {0x21, 0x88, 0x88, 0, 0},
11123 {0x22, 0x88, 0x88, 0, 0},
11124 {0x23, 0x88, 0x88, 0, 0},
11125 {0x24, 0x88, 0x88, 0, 0},
11126 {0x25, 0xc, 0xc, 0, 0},
11127 {0x26, 0, 0, 0, 0},
11128 {0x27, 0x3, 0x3, 0, 0},
11129 {0x28, 0, 0, 0, 0},
11130 {0x29, 0x3, 0x3, 0, 0},
11131 {0x2A, 0x37, 0x37, 0, 0},
11132 {0x2B, 0x3, 0x3, 0, 0},
11133 {0x2C, 0, 0, 0, 0},
11134 {0x2D, 0, 0, 0, 0},
11135 {0x2E, 0x1, 0x1, 0, 0},
11136 {0x2F, 0x1, 0x1, 0, 0},
11137 {0x30, 0, 0, 0, 0},
11138 {0x31, 0, 0, 0, 0},
11139 {0x32, 0, 0, 0, 0},
11140 {0x33, 0x11, 0x11, 0, 0},
11141 {0x34, 0xee, 0xee, 1, 1},
11142 {0x35, 0, 0, 0, 0},
11143 {0x36, 0, 0, 0, 0},
11144 {0x37, 0x3, 0x3, 0, 0},
11145 {0x38, 0x50, 0x50, 1, 1},
11146 {0x39, 0, 0, 0, 0},
11147 {0x3A, 0x50, 0x50, 1, 1},
11148 {0x3B, 0, 0, 0, 0},
11149 {0x3C, 0x6e, 0x6e, 0, 0},
11150 {0x3D, 0xf0, 0xf0, 1, 1},
11151 {0x3E, 0, 0, 0, 0},
11152 {0x3F, 0, 0, 0, 0},
11153 {0x40, 0, 0, 0, 0},
11154 {0x41, 0x3, 0x3, 0, 0},
11155 {0x42, 0x3, 0x3, 0, 0},
11156 {0x43, 0, 0, 0, 0},
11157 {0x44, 0x1e, 0x1e, 0, 0},
11158 {0x45, 0, 0, 0, 0},
11159 {0x46, 0x6e, 0x6e, 0, 0},
11160 {0x47, 0xf0, 0xf0, 1, 1},
11161 {0x48, 0, 0, 0, 0},
11162 {0x49, 0x2, 0x2, 0, 0},
11163 {0x4A, 0xff, 0xff, 1, 1},
11164 {0x4B, 0xc, 0xc, 0, 0},
11165 {0x4C, 0, 0, 0, 0},
11166 {0x4D, 0x38, 0x38, 0, 0},
11167 {0x4E, 0x70, 0x70, 1, 1},
11168 {0x4F, 0x2, 0x2, 0, 0},
11169 {0x50, 0x88, 0x88, 0, 0},
11170 {0x51, 0xc, 0xc, 0, 0},
11171 {0x52, 0, 0, 0, 0},
11172 {0x53, 0x8, 0x8, 0, 0},
11173 {0x54, 0x70, 0x70, 1, 1},
11174 {0x55, 0x2, 0x2, 0, 0},
11175 {0x56, 0xff, 0xff, 1, 1},
11176 {0x57, 0, 0, 0, 0},
11177 {0x58, 0x83, 0x83, 0, 0},
11178 {0x59, 0x77, 0x77, 1, 1},
11179 {0x5A, 0, 0, 0, 0},
11180 {0x5B, 0x2, 0x2, 0, 0},
11181 {0x5C, 0x88, 0x88, 0, 0},
11182 {0x5D, 0, 0, 0, 0},
11183 {0x5E, 0x8, 0x8, 0, 0},
11184 {0x5F, 0x77, 0x77, 1, 1},
11185 {0x60, 0x1, 0x1, 0, 0},
11186 {0x61, 0, 0, 0, 0},
11187 {0x62, 0x7, 0x7, 0, 0},
11188 {0x63, 0, 0, 0, 0},
11189 {0x64, 0x7, 0x7, 0, 0},
11190 {0x65, 0, 0, 0, 0},
11191 {0x66, 0, 0, 0, 0},
11192 {0x67, 0, 0, 1, 1},
11193 {0x68, 0, 0, 0, 0},
11194 {0x69, 0xa, 0xa, 0, 0},
11195 {0x6A, 0, 0, 0, 0},
11196 {0x6B, 0, 0, 0, 0},
11197 {0x6C, 0, 0, 0, 0},
11198 {0x6D, 0, 0, 0, 0},
11199 {0x6E, 0, 0, 0, 0},
11200 {0x6F, 0, 0, 0, 0},
11201 {0x70, 0, 0, 0, 0},
11202 {0x71, 0x2, 0x2, 0, 0},
11203 {0x72, 0, 0, 0, 0},
11204 {0x73, 0, 0, 0, 0},
11205 {0x74, 0xe, 0xe, 0, 0},
11206 {0x75, 0xe, 0xe, 0, 0},
11207 {0x76, 0xe, 0xe, 0, 0},
11208 {0x77, 0x13, 0x13, 0, 0},
11209 {0x78, 0x13, 0x13, 0, 0},
11210 {0x79, 0x1b, 0x1b, 0, 0},
11211 {0x7A, 0x1b, 0x1b, 0, 0},
11212 {0x7B, 0x55, 0x55, 0, 0},
11213 {0x7C, 0x5b, 0x5b, 0, 0},
11214 {0x7D, 0x30, 0x30, 1, 1},
11215 {0x7E, 0, 0, 0, 0},
11216 {0x7F, 0, 0, 0, 0},
11217 {0x80, 0, 0, 0, 0},
11218 {0x81, 0, 0, 0, 0},
11219 {0x82, 0, 0, 0, 0},
11220 {0x83, 0, 0, 0, 0},
11221 {0x84, 0, 0, 0, 0},
11222 {0x85, 0, 0, 0, 0},
11223 {0x86, 0, 0, 0, 0},
11224 {0x87, 0, 0, 0, 0},
11225 {0x88, 0, 0, 0, 0},
11226 {0x89, 0, 0, 0, 0},
11227 {0x8A, 0, 0, 0, 0},
11228 {0x8B, 0, 0, 0, 0},
11229 {0x8C, 0, 0, 0, 0},
11230 {0x8D, 0, 0, 0, 0},
11231 {0x8E, 0, 0, 0, 0},
11232 {0x8F, 0, 0, 0, 0},
11233 {0x90, 0, 0, 0, 0},
11234 {0x91, 0, 0, 0, 0},
11235 {0x92, 0, 0, 0, 0},
11236 {0x93, 0x70, 0x70, 0, 0},
11237 {0x94, 0x70, 0x70, 0, 0},
11238 {0x95, 0x70, 0x70, 0, 0},
11239 {0x96, 0x70, 0x70, 0, 0},
11240 {0x97, 0x70, 0x70, 0, 0},
11241 {0x98, 0x70, 0x70, 0, 0},
11242 {0x99, 0x70, 0x70, 0, 0},
11243 {0x9A, 0x70, 0x70, 0, 0},
11244 {0xFFFF, 0, 0, 0, 0},
11247 radio_regs_t regs_RX_2056_rev11[] = {
11248 {0x02, 0, 0, 0, 0},
11249 {0x03, 0, 0, 0, 0},
11250 {0x04, 0, 0, 0, 0},
11251 {0x05, 0, 0, 0, 0},
11252 {0x06, 0, 0, 0, 0},
11253 {0x07, 0, 0, 0, 0},
11254 {0x08, 0, 0, 0, 0},
11255 {0x09, 0, 0, 0, 0},
11256 {0x0A, 0, 0, 0, 0},
11257 {0x0B, 0, 0, 0, 0},
11258 {0x0C, 0, 0, 0, 0},
11259 {0x0D, 0, 0, 0, 0},
11260 {0x0E, 0, 0, 0, 0},
11261 {0x0F, 0, 0, 0, 0},
11262 {0x10, 0, 0, 0, 0},
11263 {0x11, 0, 0, 0, 0},
11264 {0x12, 0, 0, 0, 0},
11265 {0x13, 0, 0, 0, 0},
11266 {0x14, 0, 0, 0, 0},
11267 {0x15, 0, 0, 0, 0},
11268 {0x16, 0, 0, 0, 0},
11269 {0x17, 0, 0, 0, 0},
11270 {0x18, 0, 0, 0, 0},
11271 {0x19, 0, 0, 0, 0},
11272 {0x1A, 0, 0, 0, 0},
11273 {0x1B, 0, 0, 0, 0},
11274 {0x1C, 0, 0, 0, 0},
11275 {0x1D, 0, 0, 0, 0},
11276 {0x1E, 0, 0, 0, 0},
11277 {0x1F, 0, 0, 0, 0},
11278 {0x20, 0x3, 0x3, 0, 0},
11279 {0x21, 0, 0, 0, 0},
11280 {0x22, 0, 0, 0, 0},
11281 {0x23, 0x90, 0x90, 0, 0},
11282 {0x24, 0x55, 0x55, 0, 0},
11283 {0x25, 0x15, 0x15, 0, 0},
11284 {0x26, 0x5, 0x5, 0, 0},
11285 {0x27, 0x15, 0x15, 0, 0},
11286 {0x28, 0x5, 0x5, 0, 0},
11287 {0x29, 0x20, 0x20, 0, 0},
11288 {0x2A, 0x11, 0x11, 0, 0},
11289 {0x2B, 0x90, 0x90, 0, 0},
11290 {0x2C, 0, 0, 0, 0},
11291 {0x2D, 0x88, 0x88, 0, 0},
11292 {0x2E, 0x32, 0x32, 0, 0},
11293 {0x2F, 0x77, 0x77, 0, 0},
11294 {0x30, 0x17, 0x17, 1, 1},
11295 {0x31, 0xff, 0xff, 1, 1},
11296 {0x32, 0x20, 0x20, 0, 0},
11297 {0x33, 0, 0, 0, 0},
11298 {0x34, 0x88, 0x88, 0, 0},
11299 {0x35, 0x32, 0x32, 0, 0},
11300 {0x36, 0x77, 0x77, 0, 0},
11301 {0x37, 0x17, 0x17, 1, 1},
11302 {0x38, 0xf0, 0xf0, 1, 1},
11303 {0x39, 0x20, 0x20, 0, 0},
11304 {0x3A, 0x8, 0x8, 0, 0},
11305 {0x3B, 0x55, 0x55, 1, 1},
11306 {0x3C, 0, 0, 0, 0},
11307 {0x3D, 0x88, 0x88, 1, 1},
11308 {0x3E, 0, 0, 0, 0},
11309 {0x3F, 0x44, 0x44, 0, 0},
11310 {0x40, 0x7, 0x7, 1, 1},
11311 {0x41, 0x6, 0x6, 0, 0},
11312 {0x42, 0x4, 0x4, 0, 0},
11313 {0x43, 0, 0, 0, 0},
11314 {0x44, 0x8, 0x8, 0, 0},
11315 {0x45, 0x55, 0x55, 1, 1},
11316 {0x46, 0, 0, 0, 0},
11317 {0x47, 0x11, 0x11, 0, 0},
11318 {0x48, 0, 0, 0, 0},
11319 {0x49, 0x44, 0x44, 0, 0},
11320 {0x4A, 0x7, 0x7, 0, 0},
11321 {0x4B, 0x6, 0x6, 0, 0},
11322 {0x4C, 0x4, 0x4, 0, 0},
11323 {0x4D, 0, 0, 0, 0},
11324 {0x4E, 0, 0, 0, 0},
11325 {0x4F, 0x26, 0x26, 1, 1},
11326 {0x50, 0x26, 0x26, 1, 1},
11327 {0x51, 0xf, 0xf, 1, 1},
11328 {0x52, 0xf, 0xf, 1, 1},
11329 {0x53, 0x44, 0x44, 0, 0},
11330 {0x54, 0, 0, 0, 0},
11331 {0x55, 0, 0, 0, 0},
11332 {0x56, 0x8, 0x8, 0, 0},
11333 {0x57, 0x8, 0x8, 0, 0},
11334 {0x58, 0x7, 0x7, 0, 0},
11335 {0x59, 0x22, 0x22, 0, 0},
11336 {0x5A, 0x22, 0x22, 0, 0},
11337 {0x5B, 0x2, 0x2, 0, 0},
11338 {0x5C, 0x4, 0x4, 1, 1},
11339 {0x5D, 0x7, 0x7, 0, 0},
11340 {0x5E, 0x55, 0x55, 0, 0},
11341 {0x5F, 0x23, 0x23, 0, 0},
11342 {0x60, 0x41, 0x41, 0, 0},
11343 {0x61, 0x1, 0x1, 0, 0},
11344 {0x62, 0xa, 0xa, 0, 0},
11345 {0x63, 0, 0, 0, 0},
11346 {0x64, 0, 0, 0, 0},
11347 {0x65, 0, 0, 0, 0},
11348 {0x66, 0, 0, 0, 0},
11349 {0x67, 0, 0, 0, 0},
11350 {0x68, 0, 0, 0, 0},
11351 {0x69, 0, 0, 0, 0},
11352 {0x6A, 0, 0, 0, 0},
11353 {0x6B, 0xc, 0xc, 0, 0},
11354 {0x6C, 0, 0, 0, 0},
11355 {0x6D, 0, 0, 0, 0},
11356 {0x6E, 0, 0, 0, 0},
11357 {0x6F, 0, 0, 0, 0},
11358 {0x70, 0, 0, 0, 0},
11359 {0x71, 0, 0, 0, 0},
11360 {0x72, 0x22, 0x22, 0, 0},
11361 {0x73, 0x22, 0x22, 0, 0},
11362 {0x74, 0, 0, 1, 1},
11363 {0x75, 0xa, 0xa, 0, 0},
11364 {0x76, 0x1, 0x1, 0, 0},
11365 {0x77, 0x22, 0x22, 0, 0},
11366 {0x78, 0x30, 0x30, 0, 0},
11367 {0x79, 0, 0, 0, 0},
11368 {0x7A, 0, 0, 0, 0},
11369 {0x7B, 0, 0, 0, 0},
11370 {0x7C, 0, 0, 0, 0},
11371 {0x7D, 0x5, 0x5, 1, 1},
11372 {0x7E, 0, 0, 0, 0},
11373 {0x7F, 0, 0, 0, 0},
11374 {0x80, 0, 0, 0, 0},
11375 {0x81, 0, 0, 0, 0},
11376 {0x82, 0, 0, 0, 0},
11377 {0x83, 0, 0, 0, 0},
11378 {0x84, 0, 0, 0, 0},
11379 {0x85, 0, 0, 0, 0},
11380 {0x86, 0, 0, 0, 0},
11381 {0x87, 0, 0, 0, 0},
11382 {0x88, 0, 0, 0, 0},
11383 {0x89, 0, 0, 0, 0},
11384 {0x8A, 0, 0, 0, 0},
11385 {0x8B, 0, 0, 0, 0},
11386 {0x8C, 0, 0, 0, 0},
11387 {0x8D, 0, 0, 0, 0},
11388 {0x8E, 0, 0, 0, 0},
11389 {0x8F, 0, 0, 0, 0},
11390 {0x90, 0, 0, 0, 0},
11391 {0x91, 0, 0, 0, 0},
11392 {0x92, 0, 0, 0, 0},
11393 {0x93, 0, 0, 0, 0},
11394 {0x94, 0, 0, 0, 0},
11395 {0xFFFF, 0, 0, 0, 0},
11398 radio_20xx_regs_t regs_2057_rev4[] = {
11788 radio_20xx_regs_t regs_2057_rev5[] = {
12120 radio_20xx_regs_t regs_2057_rev5v1[] = {
12452 radio_20xx_regs_t regs_2057_rev7[] = {
12868 radio_20xx_regs_t regs_2057_rev8[] = {
13284 static s16 nphy_def_lnagains[] = { -2, 10, 19, 25 };
13286 static s32 nphy_lnagain_est0[] = { -315, 40370 };
13287 static s32 nphy_lnagain_est1[] = { -224, 23242 };
13289 static const u16 tbl_iqcal_gainparams_nphy[2][NPHY_IQCAL_NUMGAINS][8] = {
13291 {0x000, 0, 0, 2, 0x69, 0x69, 0x69, 0x69},
13292 {0x700, 7, 0, 0, 0x69, 0x69, 0x69, 0x69},
13293 {0x710, 7, 1, 0, 0x68, 0x68, 0x68, 0x68},
13294 {0x720, 7, 2, 0, 0x67, 0x67, 0x67, 0x67},
13295 {0x730, 7, 3, 0, 0x66, 0x66, 0x66, 0x66},
13296 {0x740, 7, 4, 0, 0x65, 0x65, 0x65, 0x65},
13297 {0x741, 7, 4, 1, 0x65, 0x65, 0x65, 0x65},
13298 {0x742, 7, 4, 2, 0x65, 0x65, 0x65, 0x65},
13299 {0x743, 7, 4, 3, 0x65, 0x65, 0x65, 0x65}
13302 {0x000, 7, 0, 0, 0x79, 0x79, 0x79, 0x79},
13303 {0x700, 7, 0, 0, 0x79, 0x79, 0x79, 0x79},
13304 {0x710, 7, 1, 0, 0x79, 0x79, 0x79, 0x79},
13305 {0x720, 7, 2, 0, 0x78, 0x78, 0x78, 0x78},
13306 {0x730, 7, 3, 0, 0x78, 0x78, 0x78, 0x78},
13307 {0x740, 7, 4, 0, 0x78, 0x78, 0x78, 0x78},
13308 {0x741, 7, 4, 1, 0x78, 0x78, 0x78, 0x78},
13309 {0x742, 7, 4, 2, 0x78, 0x78, 0x78, 0x78},
13310 {0x743, 7, 4, 3, 0x78, 0x78, 0x78, 0x78}
13314 static const u32 nphy_tpc_txgain[] = {
13315 0x03cc2b44, 0x03cc2b42, 0x03cc2a44, 0x03cc2a42,
13316 0x03cc2944, 0x03c82b44, 0x03c82b42, 0x03c82a44,
13317 0x03c82a42, 0x03c82944, 0x03c82942, 0x03c82844,
13318 0x03c82842, 0x03c42b44, 0x03c42b42, 0x03c42a44,
13319 0x03c42a42, 0x03c42944, 0x03c42942, 0x03c42844,
13320 0x03c42842, 0x03c42744, 0x03c42742, 0x03c42644,
13321 0x03c42642, 0x03c42544, 0x03c42542, 0x03c42444,
13322 0x03c42442, 0x03c02b44, 0x03c02b42, 0x03c02a44,
13323 0x03c02a42, 0x03c02944, 0x03c02942, 0x03c02844,
13324 0x03c02842, 0x03c02744, 0x03c02742, 0x03b02b44,
13325 0x03b02b42, 0x03b02a44, 0x03b02a42, 0x03b02944,
13326 0x03b02942, 0x03b02844, 0x03b02842, 0x03b02744,
13327 0x03b02742, 0x03b02644, 0x03b02642, 0x03b02544,
13328 0x03b02542, 0x03a02b44, 0x03a02b42, 0x03a02a44,
13329 0x03a02a42, 0x03a02944, 0x03a02942, 0x03a02844,
13330 0x03a02842, 0x03a02744, 0x03a02742, 0x03902b44,
13331 0x03902b42, 0x03902a44, 0x03902a42, 0x03902944,
13332 0x03902942, 0x03902844, 0x03902842, 0x03902744,
13333 0x03902742, 0x03902644, 0x03902642, 0x03902544,
13334 0x03902542, 0x03802b44, 0x03802b42, 0x03802a44,
13335 0x03802a42, 0x03802944, 0x03802942, 0x03802844,
13336 0x03802842, 0x03802744, 0x03802742, 0x03802644,
13337 0x03802642, 0x03802544, 0x03802542, 0x03802444,
13338 0x03802442, 0x03802344, 0x03802342, 0x03802244,
13339 0x03802242, 0x03802144, 0x03802142, 0x03802044,
13340 0x03802042, 0x03801f44, 0x03801f42, 0x03801e44,
13341 0x03801e42, 0x03801d44, 0x03801d42, 0x03801c44,
13342 0x03801c42, 0x03801b44, 0x03801b42, 0x03801a44,
13343 0x03801a42, 0x03801944, 0x03801942, 0x03801844,
13344 0x03801842, 0x03801744, 0x03801742, 0x03801644,
13345 0x03801642, 0x03801544, 0x03801542, 0x03801444,
13346 0x03801442, 0x03801344, 0x03801342, 0x00002b00
13349 static const u16 nphy_tpc_loscale[] = {
13350 256, 256, 271, 271, 287, 256, 256, 271,
13351 271, 287, 287, 304, 304, 256, 256, 271,
13352 271, 287, 287, 304, 304, 322, 322, 341,
13353 341, 362, 362, 383, 383, 256, 256, 271,
13354 271, 287, 287, 304, 304, 322, 322, 256,
13355 256, 271, 271, 287, 287, 304, 304, 322,
13356 322, 341, 341, 362, 362, 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, 341,
13361 341, 362, 362, 383, 383, 406, 406, 430,
13362 430, 455, 455, 482, 482, 511, 511, 541,
13363 541, 573, 573, 607, 607, 643, 643, 681,
13364 681, 722, 722, 764, 764, 810, 810, 858,
13365 858, 908, 908, 962, 962, 1019, 1019, 256
13368 static u32 nphy_tpc_txgain_ipa[] = {
13369 0x5ff7002d, 0x5ff7002b, 0x5ff7002a, 0x5ff70029,
13370 0x5ff70028, 0x5ff70027, 0x5ff70026, 0x5ff70025,
13371 0x5ef7002d, 0x5ef7002b, 0x5ef7002a, 0x5ef70029,
13372 0x5ef70028, 0x5ef70027, 0x5ef70026, 0x5ef70025,
13373 0x5df7002d, 0x5df7002b, 0x5df7002a, 0x5df70029,
13374 0x5df70028, 0x5df70027, 0x5df70026, 0x5df70025,
13375 0x5cf7002d, 0x5cf7002b, 0x5cf7002a, 0x5cf70029,
13376 0x5cf70028, 0x5cf70027, 0x5cf70026, 0x5cf70025,
13377 0x5bf7002d, 0x5bf7002b, 0x5bf7002a, 0x5bf70029,
13378 0x5bf70028, 0x5bf70027, 0x5bf70026, 0x5bf70025,
13379 0x5af7002d, 0x5af7002b, 0x5af7002a, 0x5af70029,
13380 0x5af70028, 0x5af70027, 0x5af70026, 0x5af70025,
13381 0x59f7002d, 0x59f7002b, 0x59f7002a, 0x59f70029,
13382 0x59f70028, 0x59f70027, 0x59f70026, 0x59f70025,
13383 0x58f7002d, 0x58f7002b, 0x58f7002a, 0x58f70029,
13384 0x58f70028, 0x58f70027, 0x58f70026, 0x58f70025,
13385 0x57f7002d, 0x57f7002b, 0x57f7002a, 0x57f70029,
13386 0x57f70028, 0x57f70027, 0x57f70026, 0x57f70025,
13387 0x56f7002d, 0x56f7002b, 0x56f7002a, 0x56f70029,
13388 0x56f70028, 0x56f70027, 0x56f70026, 0x56f70025,
13389 0x55f7002d, 0x55f7002b, 0x55f7002a, 0x55f70029,
13390 0x55f70028, 0x55f70027, 0x55f70026, 0x55f70025,
13391 0x54f7002d, 0x54f7002b, 0x54f7002a, 0x54f70029,
13392 0x54f70028, 0x54f70027, 0x54f70026, 0x54f70025,
13393 0x53f7002d, 0x53f7002b, 0x53f7002a, 0x53f70029,
13394 0x53f70028, 0x53f70027, 0x53f70026, 0x53f70025,
13395 0x52f7002d, 0x52f7002b, 0x52f7002a, 0x52f70029,
13396 0x52f70028, 0x52f70027, 0x52f70026, 0x52f70025,
13397 0x51f7002d, 0x51f7002b, 0x51f7002a, 0x51f70029,
13398 0x51f70028, 0x51f70027, 0x51f70026, 0x51f70025,
13399 0x50f7002d, 0x50f7002b, 0x50f7002a, 0x50f70029,
13400 0x50f70028, 0x50f70027, 0x50f70026, 0x50f70025
13403 static u32 nphy_tpc_txgain_ipa_rev5[] = {
13404 0x1ff7002d, 0x1ff7002b, 0x1ff7002a, 0x1ff70029,
13405 0x1ff70028, 0x1ff70027, 0x1ff70026, 0x1ff70025,
13406 0x1ef7002d, 0x1ef7002b, 0x1ef7002a, 0x1ef70029,
13407 0x1ef70028, 0x1ef70027, 0x1ef70026, 0x1ef70025,
13408 0x1df7002d, 0x1df7002b, 0x1df7002a, 0x1df70029,
13409 0x1df70028, 0x1df70027, 0x1df70026, 0x1df70025,
13410 0x1cf7002d, 0x1cf7002b, 0x1cf7002a, 0x1cf70029,
13411 0x1cf70028, 0x1cf70027, 0x1cf70026, 0x1cf70025,
13412 0x1bf7002d, 0x1bf7002b, 0x1bf7002a, 0x1bf70029,
13413 0x1bf70028, 0x1bf70027, 0x1bf70026, 0x1bf70025,
13414 0x1af7002d, 0x1af7002b, 0x1af7002a, 0x1af70029,
13415 0x1af70028, 0x1af70027, 0x1af70026, 0x1af70025,
13416 0x19f7002d, 0x19f7002b, 0x19f7002a, 0x19f70029,
13417 0x19f70028, 0x19f70027, 0x19f70026, 0x19f70025,
13418 0x18f7002d, 0x18f7002b, 0x18f7002a, 0x18f70029,
13419 0x18f70028, 0x18f70027, 0x18f70026, 0x18f70025,
13420 0x17f7002d, 0x17f7002b, 0x17f7002a, 0x17f70029,
13421 0x17f70028, 0x17f70027, 0x17f70026, 0x17f70025,
13422 0x16f7002d, 0x16f7002b, 0x16f7002a, 0x16f70029,
13423 0x16f70028, 0x16f70027, 0x16f70026, 0x16f70025,
13424 0x15f7002d, 0x15f7002b, 0x15f7002a, 0x15f70029,
13425 0x15f70028, 0x15f70027, 0x15f70026, 0x15f70025,
13426 0x14f7002d, 0x14f7002b, 0x14f7002a, 0x14f70029,
13427 0x14f70028, 0x14f70027, 0x14f70026, 0x14f70025,
13428 0x13f7002d, 0x13f7002b, 0x13f7002a, 0x13f70029,
13429 0x13f70028, 0x13f70027, 0x13f70026, 0x13f70025,
13430 0x12f7002d, 0x12f7002b, 0x12f7002a, 0x12f70029,
13431 0x12f70028, 0x12f70027, 0x12f70026, 0x12f70025,
13432 0x11f7002d, 0x11f7002b, 0x11f7002a, 0x11f70029,
13433 0x11f70028, 0x11f70027, 0x11f70026, 0x11f70025,
13434 0x10f7002d, 0x10f7002b, 0x10f7002a, 0x10f70029,
13435 0x10f70028, 0x10f70027, 0x10f70026, 0x10f70025
13438 static u32 nphy_tpc_txgain_ipa_rev6[] = {
13439 0x0ff7002d, 0x0ff7002b, 0x0ff7002a, 0x0ff70029,
13440 0x0ff70028, 0x0ff70027, 0x0ff70026, 0x0ff70025,
13441 0x0ef7002d, 0x0ef7002b, 0x0ef7002a, 0x0ef70029,
13442 0x0ef70028, 0x0ef70027, 0x0ef70026, 0x0ef70025,
13443 0x0df7002d, 0x0df7002b, 0x0df7002a, 0x0df70029,
13444 0x0df70028, 0x0df70027, 0x0df70026, 0x0df70025,
13445 0x0cf7002d, 0x0cf7002b, 0x0cf7002a, 0x0cf70029,
13446 0x0cf70028, 0x0cf70027, 0x0cf70026, 0x0cf70025,
13447 0x0bf7002d, 0x0bf7002b, 0x0bf7002a, 0x0bf70029,
13448 0x0bf70028, 0x0bf70027, 0x0bf70026, 0x0bf70025,
13449 0x0af7002d, 0x0af7002b, 0x0af7002a, 0x0af70029,
13450 0x0af70028, 0x0af70027, 0x0af70026, 0x0af70025,
13451 0x09f7002d, 0x09f7002b, 0x09f7002a, 0x09f70029,
13452 0x09f70028, 0x09f70027, 0x09f70026, 0x09f70025,
13453 0x08f7002d, 0x08f7002b, 0x08f7002a, 0x08f70029,
13454 0x08f70028, 0x08f70027, 0x08f70026, 0x08f70025,
13455 0x07f7002d, 0x07f7002b, 0x07f7002a, 0x07f70029,
13456 0x07f70028, 0x07f70027, 0x07f70026, 0x07f70025,
13457 0x06f7002d, 0x06f7002b, 0x06f7002a, 0x06f70029,
13458 0x06f70028, 0x06f70027, 0x06f70026, 0x06f70025,
13459 0x05f7002d, 0x05f7002b, 0x05f7002a, 0x05f70029,
13460 0x05f70028, 0x05f70027, 0x05f70026, 0x05f70025,
13461 0x04f7002d, 0x04f7002b, 0x04f7002a, 0x04f70029,
13462 0x04f70028, 0x04f70027, 0x04f70026, 0x04f70025,
13463 0x03f7002d, 0x03f7002b, 0x03f7002a, 0x03f70029,
13464 0x03f70028, 0x03f70027, 0x03f70026, 0x03f70025,
13465 0x02f7002d, 0x02f7002b, 0x02f7002a, 0x02f70029,
13466 0x02f70028, 0x02f70027, 0x02f70026, 0x02f70025,
13467 0x01f7002d, 0x01f7002b, 0x01f7002a, 0x01f70029,
13468 0x01f70028, 0x01f70027, 0x01f70026, 0x01f70025,
13469 0x00f7002d, 0x00f7002b, 0x00f7002a, 0x00f70029,
13470 0x00f70028, 0x00f70027, 0x00f70026, 0x00f70025
13473 static u32 nphy_tpc_txgain_ipa_2g_2057rev3[] = {
13474 0x70ff0040, 0x70f7003e, 0x70ef003b, 0x70e70039,
13475 0x70df0037, 0x70d70036, 0x70cf0033, 0x70c70032,
13476 0x70bf0031, 0x70b7002f, 0x70af002e, 0x70a7002d,
13477 0x709f002d, 0x7097002c, 0x708f002c, 0x7087002c,
13478 0x707f002b, 0x7077002c, 0x706f002c, 0x7067002d,
13479 0x705f002e, 0x705f002b, 0x705f0029, 0x7057002a,
13480 0x70570028, 0x704f002a, 0x7047002c, 0x7047002a,
13481 0x70470028, 0x70470026, 0x70470024, 0x70470022,
13482 0x7047001f, 0x70370027, 0x70370024, 0x70370022,
13483 0x70370020, 0x7037001f, 0x7037001d, 0x7037001b,
13484 0x7037001a, 0x70370018, 0x70370017, 0x7027001e,
13485 0x7027001d, 0x7027001a, 0x701f0024, 0x701f0022,
13486 0x701f0020, 0x701f001f, 0x701f001d, 0x701f001b,
13487 0x701f001a, 0x701f0018, 0x701f0017, 0x701f0015,
13488 0x701f0014, 0x701f0013, 0x701f0012, 0x701f0011,
13489 0x70170019, 0x70170018, 0x70170016, 0x70170015,
13490 0x70170014, 0x70170013, 0x70170012, 0x70170010,
13491 0x70170010, 0x7017000f, 0x700f001d, 0x700f001b,
13492 0x700f001a, 0x700f0018, 0x700f0017, 0x700f0015,
13493 0x700f0015, 0x700f0013, 0x700f0013, 0x700f0011,
13494 0x700f0010, 0x700f0010, 0x700f000f, 0x700f000e,
13495 0x700f000d, 0x700f000c, 0x700f000b, 0x700f000b,
13496 0x700f000b, 0x700f000a, 0x700f0009, 0x700f0009,
13497 0x700f0009, 0x700f0008, 0x700f0007, 0x700f0007,
13498 0x700f0006, 0x700f0006, 0x700f0006, 0x700f0006,
13499 0x700f0005, 0x700f0005, 0x700f0005, 0x700f0004,
13500 0x700f0004, 0x700f0004, 0x700f0004, 0x700f0004,
13501 0x700f0004, 0x700f0003, 0x700f0003, 0x700f0003,
13502 0x700f0003, 0x700f0002, 0x700f0002, 0x700f0002,
13503 0x700f0002, 0x700f0002, 0x700f0002, 0x700f0001,
13504 0x700f0001, 0x700f0001, 0x700f0001, 0x700f0001,
13505 0x700f0001, 0x700f0001, 0x700f0001, 0x700f0001
13508 static u32 nphy_tpc_txgain_ipa_2g_2057rev4n6[] = {
13509 0xf0ff0040, 0xf0f7003e, 0xf0ef003b, 0xf0e70039,
13510 0xf0df0037, 0xf0d70036, 0xf0cf0033, 0xf0c70032,
13511 0xf0bf0031, 0xf0b7002f, 0xf0af002e, 0xf0a7002d,
13512 0xf09f002d, 0xf097002c, 0xf08f002c, 0xf087002c,
13513 0xf07f002b, 0xf077002c, 0xf06f002c, 0xf067002d,
13514 0xf05f002e, 0xf05f002b, 0xf05f0029, 0xf057002a,
13515 0xf0570028, 0xf04f002a, 0xf047002c, 0xf047002a,
13516 0xf0470028, 0xf0470026, 0xf0470024, 0xf0470022,
13517 0xf047001f, 0xf0370027, 0xf0370024, 0xf0370022,
13518 0xf0370020, 0xf037001f, 0xf037001d, 0xf037001b,
13519 0xf037001a, 0xf0370018, 0xf0370017, 0xf027001e,
13520 0xf027001d, 0xf027001a, 0xf01f0024, 0xf01f0022,
13521 0xf01f0020, 0xf01f001f, 0xf01f001d, 0xf01f001b,
13522 0xf01f001a, 0xf01f0018, 0xf01f0017, 0xf01f0015,
13523 0xf01f0014, 0xf01f0013, 0xf01f0012, 0xf01f0011,
13524 0xf0170019, 0xf0170018, 0xf0170016, 0xf0170015,
13525 0xf0170014, 0xf0170013, 0xf0170012, 0xf0170010,
13526 0xf0170010, 0xf017000f, 0xf00f001d, 0xf00f001b,
13527 0xf00f001a, 0xf00f0018, 0xf00f0017, 0xf00f0015,
13528 0xf00f0015, 0xf00f0013, 0xf00f0013, 0xf00f0011,
13529 0xf00f0010, 0xf00f0010, 0xf00f000f, 0xf00f000e,
13530 0xf00f000d, 0xf00f000c, 0xf00f000b, 0xf00f000b,
13531 0xf00f000b, 0xf00f000a, 0xf00f0009, 0xf00f0009,
13532 0xf00f0009, 0xf00f0008, 0xf00f0007, 0xf00f0007,
13533 0xf00f0006, 0xf00f0006, 0xf00f0006, 0xf00f0006,
13534 0xf00f0005, 0xf00f0005, 0xf00f0005, 0xf00f0004,
13535 0xf00f0004, 0xf00f0004, 0xf00f0004, 0xf00f0004,
13536 0xf00f0004, 0xf00f0003, 0xf00f0003, 0xf00f0003,
13537 0xf00f0003, 0xf00f0002, 0xf00f0002, 0xf00f0002,
13538 0xf00f0002, 0xf00f0002, 0xf00f0002, 0xf00f0001,
13539 0xf00f0001, 0xf00f0001, 0xf00f0001, 0xf00f0001,
13540 0xf00f0001, 0xf00f0001, 0xf00f0001, 0xf00f0001
13543 static u32 nphy_tpc_txgain_ipa_2g_2057rev5[] = {
13544 0x30ff0031, 0x30e70031, 0x30e7002e, 0x30cf002e,
13545 0x30bf002e, 0x30af002e, 0x309f002f, 0x307f0033,
13546 0x307f0031, 0x307f002e, 0x3077002e, 0x306f002e,
13547 0x3067002e, 0x305f002f, 0x30570030, 0x3057002d,
13548 0x304f002e, 0x30470031, 0x3047002e, 0x3047002c,
13549 0x30470029, 0x303f002c, 0x303f0029, 0x3037002d,
13550 0x3037002a, 0x30370028, 0x302f002c, 0x302f002a,
13551 0x302f0028, 0x302f0026, 0x3027002c, 0x30270029,
13552 0x30270027, 0x30270025, 0x30270023, 0x301f002c,
13553 0x301f002a, 0x301f0028, 0x301f0025, 0x301f0024,
13554 0x301f0022, 0x301f001f, 0x3017002d, 0x3017002b,
13555 0x30170028, 0x30170026, 0x30170024, 0x30170022,
13556 0x30170020, 0x3017001e, 0x3017001d, 0x3017001b,
13557 0x3017001a, 0x30170018, 0x30170017, 0x30170015,
13558 0x300f002c, 0x300f0029, 0x300f0027, 0x300f0024,
13559 0x300f0022, 0x300f0021, 0x300f001f, 0x300f001d,
13560 0x300f001b, 0x300f001a, 0x300f0018, 0x300f0017,
13561 0x300f0016, 0x300f0015, 0x300f0115, 0x300f0215,
13562 0x300f0315, 0x300f0415, 0x300f0515, 0x300f0615,
13563 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13564 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13565 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13566 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13567 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13568 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13569 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13570 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13571 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13572 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13573 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13574 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13575 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715
13578 static u32 nphy_tpc_txgain_ipa_2g_2057rev7[] = {
13579 0x30ff0031, 0x30e70031, 0x30e7002e, 0x30cf002e,
13580 0x30bf002e, 0x30af002e, 0x309f002f, 0x307f0033,
13581 0x307f0031, 0x307f002e, 0x3077002e, 0x306f002e,
13582 0x3067002e, 0x305f002f, 0x30570030, 0x3057002d,
13583 0x304f002e, 0x30470031, 0x3047002e, 0x3047002c,
13584 0x30470029, 0x303f002c, 0x303f0029, 0x3037002d,
13585 0x3037002a, 0x30370028, 0x302f002c, 0x302f002a,
13586 0x302f0028, 0x302f0026, 0x3027002c, 0x30270029,
13587 0x30270027, 0x30270025, 0x30270023, 0x301f002c,
13588 0x301f002a, 0x301f0028, 0x301f0025, 0x301f0024,
13589 0x301f0022, 0x301f001f, 0x3017002d, 0x3017002b,
13590 0x30170028, 0x30170026, 0x30170024, 0x30170022,
13591 0x30170020, 0x3017001e, 0x3017001d, 0x3017001b,
13592 0x3017001a, 0x30170018, 0x30170017, 0x30170015,
13593 0x300f002c, 0x300f0029, 0x300f0027, 0x300f0024,
13594 0x300f0022, 0x300f0021, 0x300f001f, 0x300f001d,
13595 0x300f001b, 0x300f001a, 0x300f0018, 0x300f0017,
13596 0x300f0016, 0x300f0015, 0x300f0115, 0x300f0215,
13597 0x300f0315, 0x300f0415, 0x300f0515, 0x300f0615,
13598 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13599 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13600 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13601 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13602 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13603 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13604 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13605 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13606 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13607 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13608 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13609 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13610 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715
13613 static u32 nphy_tpc_txgain_ipa_5g[] = {
13614 0x7ff70035, 0x7ff70033, 0x7ff70032, 0x7ff70031,
13615 0x7ff7002f, 0x7ff7002e, 0x7ff7002d, 0x7ff7002b,
13616 0x7ff7002a, 0x7ff70029, 0x7ff70028, 0x7ff70027,
13617 0x7ff70026, 0x7ff70024, 0x7ff70023, 0x7ff70022,
13618 0x7ef70028, 0x7ef70027, 0x7ef70026, 0x7ef70025,
13619 0x7ef70024, 0x7ef70023, 0x7df70028, 0x7df70027,
13620 0x7df70026, 0x7df70025, 0x7df70024, 0x7df70023,
13621 0x7df70022, 0x7cf70029, 0x7cf70028, 0x7cf70027,
13622 0x7cf70026, 0x7cf70025, 0x7cf70023, 0x7cf70022,
13623 0x7bf70029, 0x7bf70028, 0x7bf70026, 0x7bf70025,
13624 0x7bf70024, 0x7bf70023, 0x7bf70022, 0x7bf70021,
13625 0x7af70029, 0x7af70028, 0x7af70027, 0x7af70026,
13626 0x7af70025, 0x7af70024, 0x7af70023, 0x7af70022,
13627 0x79f70029, 0x79f70028, 0x79f70027, 0x79f70026,
13628 0x79f70025, 0x79f70024, 0x79f70023, 0x79f70022,
13629 0x78f70029, 0x78f70028, 0x78f70027, 0x78f70026,
13630 0x78f70025, 0x78f70024, 0x78f70023, 0x78f70022,
13631 0x77f70029, 0x77f70028, 0x77f70027, 0x77f70026,
13632 0x77f70025, 0x77f70024, 0x77f70023, 0x77f70022,
13633 0x76f70029, 0x76f70028, 0x76f70027, 0x76f70026,
13634 0x76f70024, 0x76f70023, 0x76f70022, 0x76f70021,
13635 0x75f70029, 0x75f70028, 0x75f70027, 0x75f70026,
13636 0x75f70025, 0x75f70024, 0x75f70023, 0x74f70029,
13637 0x74f70028, 0x74f70026, 0x74f70025, 0x74f70024,
13638 0x74f70023, 0x74f70022, 0x73f70029, 0x73f70027,
13639 0x73f70026, 0x73f70025, 0x73f70024, 0x73f70023,
13640 0x73f70022, 0x72f70028, 0x72f70027, 0x72f70026,
13641 0x72f70025, 0x72f70024, 0x72f70023, 0x72f70022,
13642 0x71f70028, 0x71f70027, 0x71f70026, 0x71f70025,
13643 0x71f70024, 0x71f70023, 0x70f70028, 0x70f70027,
13644 0x70f70026, 0x70f70024, 0x70f70023, 0x70f70022,
13645 0x70f70021, 0x70f70020, 0x70f70020, 0x70f7001f
13648 static u32 nphy_tpc_txgain_ipa_5g_2057[] = {
13649 0x7f7f0044, 0x7f7f0040, 0x7f7f003c, 0x7f7f0039,
13650 0x7f7f0036, 0x7e7f003c, 0x7e7f0038, 0x7e7f0035,
13651 0x7d7f003c, 0x7d7f0039, 0x7d7f0036, 0x7d7f0033,
13652 0x7c7f003b, 0x7c7f0037, 0x7c7f0034, 0x7b7f003a,
13653 0x7b7f0036, 0x7b7f0033, 0x7a7f003c, 0x7a7f0039,
13654 0x7a7f0036, 0x7a7f0033, 0x797f003b, 0x797f0038,
13655 0x797f0035, 0x797f0032, 0x787f003b, 0x787f0038,
13656 0x787f0035, 0x787f0032, 0x777f003a, 0x777f0037,
13657 0x777f0034, 0x777f0031, 0x767f003a, 0x767f0036,
13658 0x767f0033, 0x767f0031, 0x757f003a, 0x757f0037,
13659 0x757f0034, 0x747f003c, 0x747f0039, 0x747f0036,
13660 0x747f0033, 0x737f003b, 0x737f0038, 0x737f0035,
13661 0x737f0032, 0x727f0039, 0x727f0036, 0x727f0033,
13662 0x727f0030, 0x717f003a, 0x717f0037, 0x717f0034,
13663 0x707f003b, 0x707f0038, 0x707f0035, 0x707f0032,
13664 0x707f002f, 0x707f002d, 0x707f002a, 0x707f0028,
13665 0x707f0025, 0x707f0023, 0x707f0021, 0x707f0020,
13666 0x707f001e, 0x707f001c, 0x707f001b, 0x707f0019,
13667 0x707f0018, 0x707f0016, 0x707f0015, 0x707f0014,
13668 0x707f0013, 0x707f0012, 0x707f0011, 0x707f0010,
13669 0x707f000f, 0x707f000e, 0x707f000d, 0x707f000d,
13670 0x707f000c, 0x707f000b, 0x707f000b, 0x707f000a,
13671 0x707f0009, 0x707f0009, 0x707f0008, 0x707f0008,
13672 0x707f0007, 0x707f0007, 0x707f0007, 0x707f0006,
13673 0x707f0006, 0x707f0006, 0x707f0005, 0x707f0005,
13674 0x707f0005, 0x707f0004, 0x707f0004, 0x707f0004,
13675 0x707f0004, 0x707f0004, 0x707f0003, 0x707f0003,
13676 0x707f0003, 0x707f0003, 0x707f0003, 0x707f0003,
13677 0x707f0002, 0x707f0002, 0x707f0002, 0x707f0002,
13678 0x707f0002, 0x707f0002, 0x707f0002, 0x707f0002,
13679 0x707f0001, 0x707f0001, 0x707f0001, 0x707f0001,
13680 0x707f0001, 0x707f0001, 0x707f0001, 0x707f0001
13683 static u32 nphy_tpc_txgain_ipa_5g_2057rev7[] = {
13684 0x6f7f0031, 0x6f7f002e, 0x6f7f002c, 0x6f7f002a,
13685 0x6f7f0027, 0x6e7f002e, 0x6e7f002c, 0x6e7f002a,
13686 0x6d7f0030, 0x6d7f002d, 0x6d7f002a, 0x6d7f0028,
13687 0x6c7f0030, 0x6c7f002d, 0x6c7f002b, 0x6b7f002e,
13688 0x6b7f002c, 0x6b7f002a, 0x6b7f0027, 0x6a7f002e,
13689 0x6a7f002c, 0x6a7f002a, 0x697f0030, 0x697f002e,
13690 0x697f002b, 0x697f0029, 0x687f002f, 0x687f002d,
13691 0x687f002a, 0x687f0027, 0x677f002f, 0x677f002d,
13692 0x677f002a, 0x667f0031, 0x667f002e, 0x667f002c,
13693 0x667f002a, 0x657f0030, 0x657f002e, 0x657f002b,
13694 0x657f0029, 0x647f0030, 0x647f002d, 0x647f002b,
13695 0x647f0029, 0x637f002f, 0x637f002d, 0x637f002a,
13696 0x627f0030, 0x627f002d, 0x627f002b, 0x627f0029,
13697 0x617f0030, 0x617f002e, 0x617f002b, 0x617f0029,
13698 0x607f002f, 0x607f002d, 0x607f002a, 0x607f0027,
13699 0x607f0026, 0x607f0023, 0x607f0021, 0x607f0020,
13700 0x607f001e, 0x607f001c, 0x607f001a, 0x607f0019,
13701 0x607f0018, 0x607f0016, 0x607f0015, 0x607f0014,
13702 0x607f0012, 0x607f0012, 0x607f0011, 0x607f000f,
13703 0x607f000f, 0x607f000e, 0x607f000d, 0x607f000c,
13704 0x607f000c, 0x607f000b, 0x607f000b, 0x607f000a,
13705 0x607f0009, 0x607f0009, 0x607f0008, 0x607f0008,
13706 0x607f0008, 0x607f0007, 0x607f0007, 0x607f0006,
13707 0x607f0006, 0x607f0005, 0x607f0005, 0x607f0005,
13708 0x607f0005, 0x607f0005, 0x607f0004, 0x607f0004,
13709 0x607f0004, 0x607f0004, 0x607f0003, 0x607f0003,
13710 0x607f0003, 0x607f0003, 0x607f0002, 0x607f0002,
13711 0x607f0002, 0x607f0002, 0x607f0002, 0x607f0002,
13712 0x607f0002, 0x607f0002, 0x607f0002, 0x607f0002,
13713 0x607f0002, 0x607f0002, 0x607f0002, 0x607f0002,
13714 0x607f0002, 0x607f0001, 0x607f0001, 0x607f0001,
13715 0x607f0001, 0x607f0001, 0x607f0001, 0x607f0001
13718 static s8 nphy_papd_pga_gain_delta_ipa_2g[] = {
13719 -114, -108, -98, -91, -84, -78, -70, -62,
13720 -54, -46, -39, -31, -23, -15, -8, 0
13723 static s8 nphy_papd_pga_gain_delta_ipa_5g[] = {
13724 -100, -95, -89, -83, -77, -70, -63, -56,
13725 -48, -41, -33, -25, -19, -12, -6, 0
13728 static s16 nphy_papd_padgain_dlt_2g_2057rev3n4[] = {
13729 -159, -113, -86, -72, -62, -54, -48, -43,
13730 -39, -35, -31, -28, -25, -23, -20, -18,
13731 -17, -15, -13, -11, -10, -8, -7, -6,
13732 -5, -4, -3, -3, -2, -1, -1, 0
13735 static s16 nphy_papd_padgain_dlt_2g_2057rev5[] = {
13736 -109, -109, -82, -68, -58, -50, -44, -39,
13737 -35, -31, -28, -26, -23, -21, -19, -17,
13738 -16, -14, -13, -11, -10, -9, -8, -7,
13739 -5, -5, -4, -3, -2, -1, -1, 0
13742 static s16 nphy_papd_padgain_dlt_2g_2057rev7[] = {
13743 -122, -122, -95, -80, -69, -61, -54, -49,
13744 -43, -39, -35, -32, -28, -26, -23, -21,
13745 -18, -16, -15, -13, -11, -10, -8, -7,
13746 -6, -5, -4, -3, -2, -1, -1, 0
13749 static s8 nphy_papd_pgagain_dlt_5g_2057[] = {
13750 -107, -101, -92, -85, -78, -71, -62, -55,
13751 -47, -39, -32, -24, -19, -12, -6, 0
13754 static s8 nphy_papd_pgagain_dlt_5g_2057rev7[] = {
13755 -110, -104, -95, -88, -81, -74, -66, -58,
13756 -50, -44, -36, -28, -23, -15, -8, 0
13759 static u8 pad_gain_codes_used_2057rev5[] = {
13760 20, 19, 18, 17, 16, 15, 14, 13, 12, 11,
13761 10, 9, 8, 7, 6, 5, 4, 3, 2, 1
13764 static u8 pad_gain_codes_used_2057rev7[] = {
13765 15, 14, 13, 12, 11, 10, 9, 8, 7, 6,
13769 static u8 pad_all_gain_codes_2057[] = {
13770 31, 30, 29, 28, 27, 26, 25, 24, 23, 22,
13771 21, 20, 19, 18, 17, 16, 15, 14, 13, 12,
13772 11, 10, 9, 8, 7, 6, 5, 4, 3, 2,
13776 static u8 pga_all_gain_codes_2057[] = {
13777 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
13780 static u32 nphy_papd_scaltbl[] = {
13781 0x0ae2002f, 0x0a3b0032, 0x09a70035, 0x09220038,
13782 0x0887003c, 0x081f003f, 0x07a20043, 0x07340047,
13783 0x06d2004b, 0x067a004f, 0x06170054, 0x05bf0059,
13784 0x0571005e, 0x051e0064, 0x04d3006a, 0x04910070,
13785 0x044c0077, 0x040f007e, 0x03d90085, 0x03a1008d,
13786 0x036f0095, 0x033d009e, 0x030b00a8, 0x02e000b2,
13787 0x02b900bc, 0x029200c7, 0x026d00d3, 0x024900e0,
13788 0x022900ed, 0x020a00fb, 0x01ec010a, 0x01d0011a,
13789 0x01b7012a, 0x019e013c, 0x0187014f, 0x01720162,
13790 0x015d0177, 0x0149018e, 0x013701a5, 0x012601be,
13791 0x011501d9, 0x010501f5, 0x00f70212, 0x00e90232,
13792 0x00dc0253, 0x00d00276, 0x00c4029c, 0x00b902c3,
13793 0x00af02ed, 0x00a5031a, 0x009c0349, 0x0093037a,
13794 0x008b03af, 0x008303e7, 0x007c0422, 0x00750461,
13795 0x006e04a3, 0x006804ea, 0x00620534, 0x005d0583,
13796 0x005805d7, 0x0053062f, 0x004e068d, 0x004a06f1
13799 static u32 nphy_tpc_txgain_rev3[] = {
13800 0x1f410044, 0x1f410042, 0x1f410040, 0x1f41003e,
13801 0x1f41003c, 0x1f41003b, 0x1f410039, 0x1f410037,
13802 0x1e410044, 0x1e410042, 0x1e410040, 0x1e41003e,
13803 0x1e41003c, 0x1e41003b, 0x1e410039, 0x1e410037,
13804 0x1d410044, 0x1d410042, 0x1d410040, 0x1d41003e,
13805 0x1d41003c, 0x1d41003b, 0x1d410039, 0x1d410037,
13806 0x1c410044, 0x1c410042, 0x1c410040, 0x1c41003e,
13807 0x1c41003c, 0x1c41003b, 0x1c410039, 0x1c410037,
13808 0x1b410044, 0x1b410042, 0x1b410040, 0x1b41003e,
13809 0x1b41003c, 0x1b41003b, 0x1b410039, 0x1b410037,
13810 0x1a410044, 0x1a410042, 0x1a410040, 0x1a41003e,
13811 0x1a41003c, 0x1a41003b, 0x1a410039, 0x1a410037,
13812 0x19410044, 0x19410042, 0x19410040, 0x1941003e,
13813 0x1941003c, 0x1941003b, 0x19410039, 0x19410037,
13814 0x18410044, 0x18410042, 0x18410040, 0x1841003e,
13815 0x1841003c, 0x1841003b, 0x18410039, 0x18410037,
13816 0x17410044, 0x17410042, 0x17410040, 0x1741003e,
13817 0x1741003c, 0x1741003b, 0x17410039, 0x17410037,
13818 0x16410044, 0x16410042, 0x16410040, 0x1641003e,
13819 0x1641003c, 0x1641003b, 0x16410039, 0x16410037,
13820 0x15410044, 0x15410042, 0x15410040, 0x1541003e,
13821 0x1541003c, 0x1541003b, 0x15410039, 0x15410037,
13822 0x14410044, 0x14410042, 0x14410040, 0x1441003e,
13823 0x1441003c, 0x1441003b, 0x14410039, 0x14410037,
13824 0x13410044, 0x13410042, 0x13410040, 0x1341003e,
13825 0x1341003c, 0x1341003b, 0x13410039, 0x13410037,
13826 0x12410044, 0x12410042, 0x12410040, 0x1241003e,
13827 0x1241003c, 0x1241003b, 0x12410039, 0x12410037,
13828 0x11410044, 0x11410042, 0x11410040, 0x1141003e,
13829 0x1141003c, 0x1141003b, 0x11410039, 0x11410037,
13830 0x10410044, 0x10410042, 0x10410040, 0x1041003e,
13831 0x1041003c, 0x1041003b, 0x10410039, 0x10410037
13834 static u32 nphy_tpc_txgain_HiPwrEPA[] = {
13835 0x0f410044, 0x0f410042, 0x0f410040, 0x0f41003e,
13836 0x0f41003c, 0x0f41003b, 0x0f410039, 0x0f410037,
13837 0x0e410044, 0x0e410042, 0x0e410040, 0x0e41003e,
13838 0x0e41003c, 0x0e41003b, 0x0e410039, 0x0e410037,
13839 0x0d410044, 0x0d410042, 0x0d410040, 0x0d41003e,
13840 0x0d41003c, 0x0d41003b, 0x0d410039, 0x0d410037,
13841 0x0c410044, 0x0c410042, 0x0c410040, 0x0c41003e,
13842 0x0c41003c, 0x0c41003b, 0x0c410039, 0x0c410037,
13843 0x0b410044, 0x0b410042, 0x0b410040, 0x0b41003e,
13844 0x0b41003c, 0x0b41003b, 0x0b410039, 0x0b410037,
13845 0x0a410044, 0x0a410042, 0x0a410040, 0x0a41003e,
13846 0x0a41003c, 0x0a41003b, 0x0a410039, 0x0a410037,
13847 0x09410044, 0x09410042, 0x09410040, 0x0941003e,
13848 0x0941003c, 0x0941003b, 0x09410039, 0x09410037,
13849 0x08410044, 0x08410042, 0x08410040, 0x0841003e,
13850 0x0841003c, 0x0841003b, 0x08410039, 0x08410037,
13851 0x07410044, 0x07410042, 0x07410040, 0x0741003e,
13852 0x0741003c, 0x0741003b, 0x07410039, 0x07410037,
13853 0x06410044, 0x06410042, 0x06410040, 0x0641003e,
13854 0x0641003c, 0x0641003b, 0x06410039, 0x06410037,
13855 0x05410044, 0x05410042, 0x05410040, 0x0541003e,
13856 0x0541003c, 0x0541003b, 0x05410039, 0x05410037,
13857 0x04410044, 0x04410042, 0x04410040, 0x0441003e,
13858 0x0441003c, 0x0441003b, 0x04410039, 0x04410037,
13859 0x03410044, 0x03410042, 0x03410040, 0x0341003e,
13860 0x0341003c, 0x0341003b, 0x03410039, 0x03410037,
13861 0x02410044, 0x02410042, 0x02410040, 0x0241003e,
13862 0x0241003c, 0x0241003b, 0x02410039, 0x02410037,
13863 0x01410044, 0x01410042, 0x01410040, 0x0141003e,
13864 0x0141003c, 0x0141003b, 0x01410039, 0x01410037,
13865 0x00410044, 0x00410042, 0x00410040, 0x0041003e,
13866 0x0041003c, 0x0041003b, 0x00410039, 0x00410037
13869 static u32 nphy_tpc_txgain_epa_2057rev3[] = {
13870 0x80f90040, 0x80e10040, 0x80e1003c, 0x80c9003d,
13871 0x80b9003c, 0x80a9003d, 0x80a1003c, 0x8099003b,
13872 0x8091003b, 0x8089003a, 0x8081003a, 0x80790039,
13873 0x80710039, 0x8069003a, 0x8061003b, 0x8059003d,
13874 0x8051003f, 0x80490042, 0x8049003e, 0x8049003b,
13875 0x8041003e, 0x8041003b, 0x8039003e, 0x8039003b,
13876 0x80390038, 0x80390035, 0x8031003a, 0x80310036,
13877 0x80310033, 0x8029003a, 0x80290037, 0x80290034,
13878 0x80290031, 0x80210039, 0x80210036, 0x80210033,
13879 0x80210030, 0x8019003c, 0x80190039, 0x80190036,
13880 0x80190033, 0x80190030, 0x8019002d, 0x8019002b,
13881 0x80190028, 0x8011003a, 0x80110036, 0x80110033,
13882 0x80110030, 0x8011002e, 0x8011002b, 0x80110029,
13883 0x80110027, 0x80110024, 0x80110022, 0x80110020,
13884 0x8011001f, 0x8011001d, 0x8009003a, 0x80090037,
13885 0x80090034, 0x80090031, 0x8009002e, 0x8009002c,
13886 0x80090029, 0x80090027, 0x80090025, 0x80090023,
13887 0x80090021, 0x8009001f, 0x8009001d, 0x8009011d,
13888 0x8009021d, 0x8009031d, 0x8009041d, 0x8009051d,
13889 0x8009061d, 0x8009071d, 0x8009071d, 0x8009071d,
13890 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13891 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13892 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13893 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13894 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13895 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13896 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13897 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13898 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13899 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13900 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13901 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d
13904 static u32 nphy_tpc_txgain_epa_2057rev5[] = {
13905 0x10f90040, 0x10e10040, 0x10e1003c, 0x10c9003d,
13906 0x10b9003c, 0x10a9003d, 0x10a1003c, 0x1099003b,
13907 0x1091003b, 0x1089003a, 0x1081003a, 0x10790039,
13908 0x10710039, 0x1069003a, 0x1061003b, 0x1059003d,
13909 0x1051003f, 0x10490042, 0x1049003e, 0x1049003b,
13910 0x1041003e, 0x1041003b, 0x1039003e, 0x1039003b,
13911 0x10390038, 0x10390035, 0x1031003a, 0x10310036,
13912 0x10310033, 0x1029003a, 0x10290037, 0x10290034,
13913 0x10290031, 0x10210039, 0x10210036, 0x10210033,
13914 0x10210030, 0x1019003c, 0x10190039, 0x10190036,
13915 0x10190033, 0x10190030, 0x1019002d, 0x1019002b,
13916 0x10190028, 0x1011003a, 0x10110036, 0x10110033,
13917 0x10110030, 0x1011002e, 0x1011002b, 0x10110029,
13918 0x10110027, 0x10110024, 0x10110022, 0x10110020,
13919 0x1011001f, 0x1011001d, 0x1009003a, 0x10090037,
13920 0x10090034, 0x10090031, 0x1009002e, 0x1009002c,
13921 0x10090029, 0x10090027, 0x10090025, 0x10090023,
13922 0x10090021, 0x1009001f, 0x1009001d, 0x1009001b,
13923 0x1009001a, 0x10090018, 0x10090017, 0x10090016,
13924 0x10090015, 0x10090013, 0x10090012, 0x10090011,
13925 0x10090010, 0x1009000f, 0x1009000f, 0x1009000e,
13926 0x1009000d, 0x1009000c, 0x1009000c, 0x1009000b,
13927 0x1009000a, 0x1009000a, 0x10090009, 0x10090009,
13928 0x10090008, 0x10090008, 0x10090007, 0x10090007,
13929 0x10090007, 0x10090006, 0x10090006, 0x10090005,
13930 0x10090005, 0x10090005, 0x10090005, 0x10090004,
13931 0x10090004, 0x10090004, 0x10090004, 0x10090003,
13932 0x10090003, 0x10090003, 0x10090003, 0x10090003,
13933 0x10090003, 0x10090002, 0x10090002, 0x10090002,
13934 0x10090002, 0x10090002, 0x10090002, 0x10090002,
13935 0x10090002, 0x10090002, 0x10090001, 0x10090001,
13936 0x10090001, 0x10090001, 0x10090001, 0x10090001
13939 static u32 nphy_tpc_5GHz_txgain_rev3[] = {
13940 0xcff70044, 0xcff70042, 0xcff70040, 0xcff7003e,
13941 0xcff7003c, 0xcff7003b, 0xcff70039, 0xcff70037,
13942 0xcef70044, 0xcef70042, 0xcef70040, 0xcef7003e,
13943 0xcef7003c, 0xcef7003b, 0xcef70039, 0xcef70037,
13944 0xcdf70044, 0xcdf70042, 0xcdf70040, 0xcdf7003e,
13945 0xcdf7003c, 0xcdf7003b, 0xcdf70039, 0xcdf70037,
13946 0xccf70044, 0xccf70042, 0xccf70040, 0xccf7003e,
13947 0xccf7003c, 0xccf7003b, 0xccf70039, 0xccf70037,
13948 0xcbf70044, 0xcbf70042, 0xcbf70040, 0xcbf7003e,
13949 0xcbf7003c, 0xcbf7003b, 0xcbf70039, 0xcbf70037,
13950 0xcaf70044, 0xcaf70042, 0xcaf70040, 0xcaf7003e,
13951 0xcaf7003c, 0xcaf7003b, 0xcaf70039, 0xcaf70037,
13952 0xc9f70044, 0xc9f70042, 0xc9f70040, 0xc9f7003e,
13953 0xc9f7003c, 0xc9f7003b, 0xc9f70039, 0xc9f70037,
13954 0xc8f70044, 0xc8f70042, 0xc8f70040, 0xc8f7003e,
13955 0xc8f7003c, 0xc8f7003b, 0xc8f70039, 0xc8f70037,
13956 0xc7f70044, 0xc7f70042, 0xc7f70040, 0xc7f7003e,
13957 0xc7f7003c, 0xc7f7003b, 0xc7f70039, 0xc7f70037,
13958 0xc6f70044, 0xc6f70042, 0xc6f70040, 0xc6f7003e,
13959 0xc6f7003c, 0xc6f7003b, 0xc6f70039, 0xc6f70037,
13960 0xc5f70044, 0xc5f70042, 0xc5f70040, 0xc5f7003e,
13961 0xc5f7003c, 0xc5f7003b, 0xc5f70039, 0xc5f70037,
13962 0xc4f70044, 0xc4f70042, 0xc4f70040, 0xc4f7003e,
13963 0xc4f7003c, 0xc4f7003b, 0xc4f70039, 0xc4f70037,
13964 0xc3f70044, 0xc3f70042, 0xc3f70040, 0xc3f7003e,
13965 0xc3f7003c, 0xc3f7003b, 0xc3f70039, 0xc3f70037,
13966 0xc2f70044, 0xc2f70042, 0xc2f70040, 0xc2f7003e,
13967 0xc2f7003c, 0xc2f7003b, 0xc2f70039, 0xc2f70037,
13968 0xc1f70044, 0xc1f70042, 0xc1f70040, 0xc1f7003e,
13969 0xc1f7003c, 0xc1f7003b, 0xc1f70039, 0xc1f70037,
13970 0xc0f70044, 0xc0f70042, 0xc0f70040, 0xc0f7003e,
13971 0xc0f7003c, 0xc0f7003b, 0xc0f70039, 0xc0f70037
13974 static u32 nphy_tpc_5GHz_txgain_rev4[] = {
13975 0x2ff20044, 0x2ff20042, 0x2ff20040, 0x2ff2003e,
13976 0x2ff2003c, 0x2ff2003b, 0x2ff20039, 0x2ff20037,
13977 0x2ef20044, 0x2ef20042, 0x2ef20040, 0x2ef2003e,
13978 0x2ef2003c, 0x2ef2003b, 0x2ef20039, 0x2ef20037,
13979 0x2df20044, 0x2df20042, 0x2df20040, 0x2df2003e,
13980 0x2df2003c, 0x2df2003b, 0x2df20039, 0x2df20037,
13981 0x2cf20044, 0x2cf20042, 0x2cf20040, 0x2cf2003e,
13982 0x2cf2003c, 0x2cf2003b, 0x2cf20039, 0x2cf20037,
13983 0x2bf20044, 0x2bf20042, 0x2bf20040, 0x2bf2003e,
13984 0x2bf2003c, 0x2bf2003b, 0x2bf20039, 0x2bf20037,
13985 0x2af20044, 0x2af20042, 0x2af20040, 0x2af2003e,
13986 0x2af2003c, 0x2af2003b, 0x2af20039, 0x2af20037,
13987 0x29f20044, 0x29f20042, 0x29f20040, 0x29f2003e,
13988 0x29f2003c, 0x29f2003b, 0x29f20039, 0x29f20037,
13989 0x28f20044, 0x28f20042, 0x28f20040, 0x28f2003e,
13990 0x28f2003c, 0x28f2003b, 0x28f20039, 0x28f20037,
13991 0x27f20044, 0x27f20042, 0x27f20040, 0x27f2003e,
13992 0x27f2003c, 0x27f2003b, 0x27f20039, 0x27f20037,
13993 0x26f20044, 0x26f20042, 0x26f20040, 0x26f2003e,
13994 0x26f2003c, 0x26f2003b, 0x26f20039, 0x26f20037,
13995 0x25f20044, 0x25f20042, 0x25f20040, 0x25f2003e,
13996 0x25f2003c, 0x25f2003b, 0x25f20039, 0x25f20037,
13997 0x24f20044, 0x24f20042, 0x24f20040, 0x24f2003e,
13998 0x24f2003c, 0x24f2003b, 0x24f20039, 0x24f20038,
13999 0x23f20041, 0x23f20040, 0x23f2003f, 0x23f2003e,
14000 0x23f2003c, 0x23f2003b, 0x23f20039, 0x23f20037,
14001 0x22f20044, 0x22f20042, 0x22f20040, 0x22f2003e,
14002 0x22f2003c, 0x22f2003b, 0x22f20039, 0x22f20037,
14003 0x21f20044, 0x21f20042, 0x21f20040, 0x21f2003e,
14004 0x21f2003c, 0x21f2003b, 0x21f20039, 0x21f20037,
14005 0x20d20043, 0x20d20041, 0x20d2003e, 0x20d2003c,
14006 0x20d2003a, 0x20d20038, 0x20d20036, 0x20d20034
14009 static u32 nphy_tpc_5GHz_txgain_rev5[] = {
14010 0x0f62004a, 0x0f620048, 0x0f620046, 0x0f620044,
14011 0x0f620042, 0x0f620040, 0x0f62003e, 0x0f62003c,
14012 0x0e620044, 0x0e620042, 0x0e620040, 0x0e62003e,
14013 0x0e62003c, 0x0e62003d, 0x0e62003b, 0x0e62003a,
14014 0x0d620043, 0x0d620041, 0x0d620040, 0x0d62003e,
14015 0x0d62003d, 0x0d62003c, 0x0d62003b, 0x0d62003a,
14016 0x0c620041, 0x0c620040, 0x0c62003f, 0x0c62003e,
14017 0x0c62003c, 0x0c62003b, 0x0c620039, 0x0c620037,
14018 0x0b620046, 0x0b620044, 0x0b620042, 0x0b620040,
14019 0x0b62003e, 0x0b62003c, 0x0b62003b, 0x0b62003a,
14020 0x0a620041, 0x0a620040, 0x0a62003e, 0x0a62003c,
14021 0x0a62003b, 0x0a62003a, 0x0a620039, 0x0a620038,
14022 0x0962003e, 0x0962003d, 0x0962003c, 0x0962003b,
14023 0x09620039, 0x09620037, 0x09620035, 0x09620033,
14024 0x08620044, 0x08620042, 0x08620040, 0x0862003e,
14025 0x0862003c, 0x0862003b, 0x0862003a, 0x08620039,
14026 0x07620043, 0x07620042, 0x07620040, 0x0762003f,
14027 0x0762003d, 0x0762003b, 0x0762003a, 0x07620039,
14028 0x0662003e, 0x0662003d, 0x0662003c, 0x0662003b,
14029 0x06620039, 0x06620037, 0x06620035, 0x06620033,
14030 0x05620046, 0x05620044, 0x05620042, 0x05620040,
14031 0x0562003e, 0x0562003c, 0x0562003b, 0x05620039,
14032 0x04620044, 0x04620042, 0x04620040, 0x0462003e,
14033 0x0462003c, 0x0462003b, 0x04620039, 0x04620038,
14034 0x0362003c, 0x0362003b, 0x0362003a, 0x03620039,
14035 0x03620038, 0x03620037, 0x03620035, 0x03620033,
14036 0x0262004c, 0x0262004a, 0x02620048, 0x02620047,
14037 0x02620046, 0x02620044, 0x02620043, 0x02620042,
14038 0x0162004a, 0x01620048, 0x01620046, 0x01620044,
14039 0x01620043, 0x01620042, 0x01620041, 0x01620040,
14040 0x00620042, 0x00620040, 0x0062003e, 0x0062003c,
14041 0x0062003b, 0x00620039, 0x00620037, 0x00620035
14044 static u32 nphy_tpc_5GHz_txgain_HiPwrEPA[] = {
14045 0x2ff10044, 0x2ff10042, 0x2ff10040, 0x2ff1003e,
14046 0x2ff1003c, 0x2ff1003b, 0x2ff10039, 0x2ff10037,
14047 0x2ef10044, 0x2ef10042, 0x2ef10040, 0x2ef1003e,
14048 0x2ef1003c, 0x2ef1003b, 0x2ef10039, 0x2ef10037,
14049 0x2df10044, 0x2df10042, 0x2df10040, 0x2df1003e,
14050 0x2df1003c, 0x2df1003b, 0x2df10039, 0x2df10037,
14051 0x2cf10044, 0x2cf10042, 0x2cf10040, 0x2cf1003e,
14052 0x2cf1003c, 0x2cf1003b, 0x2cf10039, 0x2cf10037,
14053 0x2bf10044, 0x2bf10042, 0x2bf10040, 0x2bf1003e,
14054 0x2bf1003c, 0x2bf1003b, 0x2bf10039, 0x2bf10037,
14055 0x2af10044, 0x2af10042, 0x2af10040, 0x2af1003e,
14056 0x2af1003c, 0x2af1003b, 0x2af10039, 0x2af10037,
14057 0x29f10044, 0x29f10042, 0x29f10040, 0x29f1003e,
14058 0x29f1003c, 0x29f1003b, 0x29f10039, 0x29f10037,
14059 0x28f10044, 0x28f10042, 0x28f10040, 0x28f1003e,
14060 0x28f1003c, 0x28f1003b, 0x28f10039, 0x28f10037,
14061 0x27f10044, 0x27f10042, 0x27f10040, 0x27f1003e,
14062 0x27f1003c, 0x27f1003b, 0x27f10039, 0x27f10037,
14063 0x26f10044, 0x26f10042, 0x26f10040, 0x26f1003e,
14064 0x26f1003c, 0x26f1003b, 0x26f10039, 0x26f10037,
14065 0x25f10044, 0x25f10042, 0x25f10040, 0x25f1003e,
14066 0x25f1003c, 0x25f1003b, 0x25f10039, 0x25f10037,
14067 0x24f10044, 0x24f10042, 0x24f10040, 0x24f1003e,
14068 0x24f1003c, 0x24f1003b, 0x24f10039, 0x24f10038,
14069 0x23f10041, 0x23f10040, 0x23f1003f, 0x23f1003e,
14070 0x23f1003c, 0x23f1003b, 0x23f10039, 0x23f10037,
14071 0x22f10044, 0x22f10042, 0x22f10040, 0x22f1003e,
14072 0x22f1003c, 0x22f1003b, 0x22f10039, 0x22f10037,
14073 0x21f10044, 0x21f10042, 0x21f10040, 0x21f1003e,
14074 0x21f1003c, 0x21f1003b, 0x21f10039, 0x21f10037,
14075 0x20d10043, 0x20d10041, 0x20d1003e, 0x20d1003c,
14076 0x20d1003a, 0x20d10038, 0x20d10036, 0x20d10034
14079 static u8 ant_sw_ctrl_tbl_rev8_2o3[] = { 0x14, 0x18 };
14080 static u8 ant_sw_ctrl_tbl_rev8[] = { 0x4, 0x8, 0x4, 0x8, 0x11, 0x12 };
14081 static u8 ant_sw_ctrl_tbl_rev8_2057v7_core0[] = {
14082 0x09, 0x0a, 0x15, 0x16, 0x09, 0x0a };
14083 static u8 ant_sw_ctrl_tbl_rev8_2057v7_core1[] = {
14084 0x09, 0x0a, 0x09, 0x0a, 0x15, 0x16 };
14086 static bool wlc_phy_chan2freq_nphy(phy_info_t *pi, uint channel, int *f,
14087 chan_info_nphy_radio2057_t **t0,
14088 chan_info_nphy_radio205x_t **t1,
14089 chan_info_nphy_radio2057_rev5_t **t2,
14090 chan_info_nphy_2055_t **t3);
14091 static void wlc_phy_chanspec_nphy_setup(phy_info_t *pi, chanspec_t chans,
14092 const nphy_sfo_cfg_t *c);
14094 static void wlc_phy_adjust_rx_analpfbw_nphy(phy_info_t *pi,
14095 u16 reduction_factr);
14096 static void wlc_phy_adjust_min_noisevar_nphy(phy_info_t *pi, int ntones, int *,
14098 static void wlc_phy_adjust_crsminpwr_nphy(phy_info_t *pi, u8 minpwr);
14099 static void wlc_phy_txlpfbw_nphy(phy_info_t *pi);
14100 static void wlc_phy_spurwar_nphy(phy_info_t *pi);
14102 static void wlc_phy_radio_preinit_2055(phy_info_t *pi);
14103 static void wlc_phy_radio_init_2055(phy_info_t *pi);
14104 static void wlc_phy_radio_postinit_2055(phy_info_t *pi);
14105 static void wlc_phy_radio_preinit_205x(phy_info_t *pi);
14106 static void wlc_phy_radio_init_2056(phy_info_t *pi);
14107 static void wlc_phy_radio_postinit_2056(phy_info_t *pi);
14108 static void wlc_phy_radio_init_2057(phy_info_t *pi);
14109 static void wlc_phy_radio_postinit_2057(phy_info_t *pi);
14110 static void wlc_phy_workarounds_nphy(phy_info_t *pi);
14111 static void wlc_phy_workarounds_nphy_gainctrl(phy_info_t *pi);
14112 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev5(phy_info_t *pi);
14113 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev6(phy_info_t *pi);
14114 static void wlc_phy_adjust_lnagaintbl_nphy(phy_info_t *pi);
14116 static void wlc_phy_restore_rssical_nphy(phy_info_t *pi);
14117 static void wlc_phy_reapply_txcal_coeffs_nphy(phy_info_t *pi);
14118 static void wlc_phy_tx_iq_war_nphy(phy_info_t *pi);
14119 static int wlc_phy_cal_rxiq_nphy_rev3(phy_info_t *pi, nphy_txgains_t tg,
14121 static void wlc_phy_rxcal_gainctrl_nphy_rev5(phy_info_t *pi, u8 rxcore,
14123 static void wlc_phy_update_mimoconfig_nphy(phy_info_t *pi, s32 preamble);
14124 static void wlc_phy_savecal_nphy(phy_info_t *pi);
14125 static void wlc_phy_restorecal_nphy(phy_info_t *pi);
14126 static void wlc_phy_resetcca_nphy(phy_info_t *pi);
14128 static void wlc_phy_txpwrctrl_config_nphy(phy_info_t *pi);
14129 static void wlc_phy_internal_cal_txgain_nphy(phy_info_t *pi);
14130 static void wlc_phy_precal_txgain_nphy(phy_info_t *pi);
14131 static void wlc_phy_update_txcal_ladder_nphy(phy_info_t *pi, u16 core);
14133 static void wlc_phy_extpa_set_tx_digi_filts_nphy(phy_info_t *pi);
14134 static void wlc_phy_ipa_set_tx_digi_filts_nphy(phy_info_t *pi);
14135 static void wlc_phy_ipa_restore_tx_digi_filts_nphy(phy_info_t *pi);
14136 static u16 wlc_phy_ipa_get_bbmult_nphy(phy_info_t *pi);
14137 static void wlc_phy_ipa_set_bbmult_nphy(phy_info_t *pi, u8 m0, u8 m1);
14138 static u32 *wlc_phy_get_ipa_gaintbl_nphy(phy_info_t *pi);
14140 static void wlc_phy_a1_nphy(phy_info_t *pi, u8 core, u32 winsz, u32,
14142 static u8 wlc_phy_a3_nphy(phy_info_t *pi, u8 start_gain, u8 core);
14143 static void wlc_phy_a2_nphy(phy_info_t *pi, nphy_ipa_txcalgains_t *,
14144 phy_cal_mode_t, u8);
14145 static void wlc_phy_papd_cal_cleanup_nphy(phy_info_t *pi,
14146 nphy_papd_restore_state *state);
14147 static void wlc_phy_papd_cal_setup_nphy(phy_info_t *pi,
14148 nphy_papd_restore_state *state, u8);
14150 static void wlc_phy_clip_det_nphy(phy_info_t *pi, u8 write, u16 *vals);
14152 static void wlc_phy_set_rfseq_nphy(phy_info_t *pi, u8 cmd, u8 *evts,
14155 static u16 wlc_phy_read_lpf_bw_ctl_nphy(phy_info_t *pi, u16 offset);
14158 wlc_phy_rfctrl_override_nphy_rev7(phy_info_t *pi, u16 field, u16 value,
14159 u8 core_mask, u8 off,
14162 static void wlc_phy_rssi_cal_nphy_rev2(phy_info_t *pi, u8 rssi_type);
14163 static void wlc_phy_rssi_cal_nphy_rev3(phy_info_t *pi);
14165 static bool wlc_phy_txpwr_srom_read_nphy(phy_info_t *pi);
14166 static void wlc_phy_txpwr_nphy_srom_convert(u8 *srom_max,
14168 u8 tmp_max_pwr, u8 rate_start,
14171 static void wlc_phy_txpwr_limit_to_tbl_nphy(phy_info_t *pi);
14172 static void wlc_phy_txpwrctrl_coeff_setup_nphy(phy_info_t *pi);
14173 static void wlc_phy_txpwrctrl_idle_tssi_nphy(phy_info_t *pi);
14174 static void wlc_phy_txpwrctrl_pwr_setup_nphy(phy_info_t *pi);
14176 static bool wlc_phy_txpwr_ison_nphy(phy_info_t *pi);
14177 static u8 wlc_phy_txpwr_idx_cur_get_nphy(phy_info_t *pi, u8 core);
14178 static void wlc_phy_txpwr_idx_cur_set_nphy(phy_info_t *pi, u8 idx0,
14180 static void wlc_phy_a4(phy_info_t *pi, bool full_cal);
14182 static u16 wlc_phy_radio205x_rcal(phy_info_t *pi);
14184 static u16 wlc_phy_radio2057_rccal(phy_info_t *pi);
14186 static u16 wlc_phy_gen_load_samples_nphy(phy_info_t *pi, u32 f_kHz,
14189 static void wlc_phy_loadsampletable_nphy(phy_info_t *pi, cs32 *tone_buf,
14191 static void wlc_phy_runsamples_nphy(phy_info_t *pi, u16 n, u16 lps,
14192 u16 wait, u8 iq, u8 dac_test_mode,
14193 bool modify_bbmult);
14195 bool wlc_phy_bist_check_phy(wlc_phy_t *pih)
14197 phy_info_t *pi = (phy_info_t *) pih;
14198 u32 phybist0, phybist1, phybist2, phybist3, phybist4;
14200 if (NREV_GE(pi->pubpi.phy_rev, 16))
14203 phybist0 = read_phy_reg(pi, 0x0e);
14204 phybist1 = read_phy_reg(pi, 0x0f);
14205 phybist2 = read_phy_reg(pi, 0xea);
14206 phybist3 = read_phy_reg(pi, 0xeb);
14207 phybist4 = read_phy_reg(pi, 0x156);
14209 if ((phybist0 == 0) && (phybist1 == 0x4000) && (phybist2 == 0x1fe0) &&
14210 (phybist3 == 0) && (phybist4 == 0)) {
14217 static void WLBANDINITFN(wlc_phy_bphy_init_nphy) (phy_info_t *pi)
14222 for (addr = (NPHY_TO_BPHY_OFF + BPHY_RSSI_LUT);
14223 addr <= (NPHY_TO_BPHY_OFF + BPHY_RSSI_LUT_END); addr++) {
14224 write_phy_reg(pi, addr, val);
14225 if (addr == (NPHY_TO_BPHY_OFF + 0x97))
14231 if (NORADIO_ENAB(pi->pubpi)) {
14233 write_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_PHYCRSTH, 0x3206);
14235 write_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_RSSI_TRESH, 0x281e);
14237 or_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_LNA_GAIN_RANGE, 0x1a);
14241 write_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_STEP, 0x668);
14246 wlc_phy_table_write_nphy(phy_info_t *pi, u32 id, u32 len, u32 offset,
14247 u32 width, const void *data)
14249 mimophytbl_info_t tbl;
14253 tbl.tbl_offset = offset;
14254 tbl.tbl_width = width;
14255 tbl.tbl_ptr = data;
14256 wlc_phy_write_table_nphy(pi, &tbl);
14260 wlc_phy_table_read_nphy(phy_info_t *pi, u32 id, u32 len, u32 offset,
14261 u32 width, void *data)
14263 mimophytbl_info_t tbl;
14267 tbl.tbl_offset = offset;
14268 tbl.tbl_width = width;
14269 tbl.tbl_ptr = data;
14270 wlc_phy_read_table_nphy(pi, &tbl);
14273 static void WLBANDINITFN(wlc_phy_static_table_download_nphy) (phy_info_t *pi)
14277 if (NREV_GE(pi->pubpi.phy_rev, 16)) {
14278 for (idx = 0; idx < mimophytbl_info_sz_rev16; idx++)
14279 wlc_phy_write_table_nphy(pi,
14280 &mimophytbl_info_rev16[idx]);
14281 } else if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14282 for (idx = 0; idx < mimophytbl_info_sz_rev7; idx++)
14283 wlc_phy_write_table_nphy(pi,
14284 &mimophytbl_info_rev7[idx]);
14285 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14286 for (idx = 0; idx < mimophytbl_info_sz_rev3; idx++)
14287 wlc_phy_write_table_nphy(pi,
14288 &mimophytbl_info_rev3[idx]);
14290 for (idx = 0; idx < mimophytbl_info_sz_rev0; idx++)
14291 wlc_phy_write_table_nphy(pi,
14292 &mimophytbl_info_rev0[idx]);
14296 static void WLBANDINITFN(wlc_phy_tbl_init_nphy) (phy_info_t *pi)
14301 if (pi->phy_init_por)
14302 wlc_phy_static_table_download_nphy(pi);
14304 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14306 antswctrllut = CHSPEC_IS2G(pi->radio_chanspec) ?
14307 pi->srom_fem2g.antswctrllut : pi->srom_fem5g.antswctrllut;
14309 switch (antswctrllut) {
14316 if (pi->aa2g == 7) {
14318 wlc_phy_table_write_nphy(pi,
14319 NPHY_TBL_ID_ANTSWCTRLLUT,
14321 &ant_sw_ctrl_tbl_rev8_2o3
14324 wlc_phy_table_write_nphy(pi,
14325 NPHY_TBL_ID_ANTSWCTRLLUT,
14327 &ant_sw_ctrl_tbl_rev8
14330 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14332 &ant_sw_ctrl_tbl_rev8[2]);
14333 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14335 &ant_sw_ctrl_tbl_rev8[4]);
14340 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14342 &ant_sw_ctrl_tbl_rev8_2057v7_core0
14344 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14346 &ant_sw_ctrl_tbl_rev8_2057v7_core0
14348 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14350 &ant_sw_ctrl_tbl_rev8_2057v7_core0
14353 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14355 &ant_sw_ctrl_tbl_rev8_2057v7_core1
14357 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14359 &ant_sw_ctrl_tbl_rev8_2057v7_core1
14361 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14363 &ant_sw_ctrl_tbl_rev8_2057v7_core1
14371 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14372 for (idx = 0; idx < mimophytbl_info_sz_rev3_volatile; idx++) {
14374 if (idx == ANT_SWCTRL_TBL_REV3_IDX) {
14375 antswctrllut = CHSPEC_IS2G(pi->radio_chanspec) ?
14376 pi->srom_fem2g.antswctrllut : pi->
14377 srom_fem5g.antswctrllut;
14378 switch (antswctrllut) {
14380 wlc_phy_write_table_nphy(pi,
14381 &mimophytbl_info_rev3_volatile
14385 wlc_phy_write_table_nphy(pi,
14386 &mimophytbl_info_rev3_volatile1
14390 wlc_phy_write_table_nphy(pi,
14391 &mimophytbl_info_rev3_volatile2
14395 wlc_phy_write_table_nphy(pi,
14396 &mimophytbl_info_rev3_volatile3
14403 wlc_phy_write_table_nphy(pi,
14404 &mimophytbl_info_rev3_volatile
14409 for (idx = 0; idx < mimophytbl_info_sz_rev0_volatile; idx++) {
14410 wlc_phy_write_table_nphy(pi,
14411 &mimophytbl_info_rev0_volatile
14418 wlc_phy_write_txmacreg_nphy(phy_info_t *pi, u16 holdoff, u16 delay)
14420 write_phy_reg(pi, 0x77, holdoff);
14421 write_phy_reg(pi, 0xb4, delay);
14424 void wlc_phy_nphy_tkip_rifs_war(phy_info_t *pi, u8 rifs)
14426 u16 holdoff, delay;
14438 wlc_phy_write_txmacreg_nphy(pi, holdoff, delay);
14440 if (pi && pi->sh && (pi->sh->_rifs_phy != rifs)) {
14441 pi->sh->_rifs_phy = rifs;
14445 bool wlc_phy_attach_nphy(phy_info_t *pi)
14449 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 6)) {
14450 pi->phyhang_avoid = true;
14453 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 7)) {
14455 pi->nphy_gband_spurwar_en = true;
14457 if (pi->sh->boardflags2 & BFL2_SPUR_WAR) {
14458 pi->nphy_aband_spurwar_en = true;
14461 if (NREV_GE(pi->pubpi.phy_rev, 6) && NREV_LT(pi->pubpi.phy_rev, 7)) {
14463 if (pi->sh->boardflags2 & BFL2_2G_SPUR_WAR) {
14464 pi->nphy_gband_spurwar2_en = true;
14468 pi->n_preamble_override = AUTO;
14469 if (NREV_IS(pi->pubpi.phy_rev, 3) || NREV_IS(pi->pubpi.phy_rev, 4))
14470 pi->n_preamble_override = WLC_N_PREAMBLE_MIXEDMODE;
14472 pi->nphy_txrx_chain = AUTO;
14473 pi->phy_scraminit = AUTO;
14475 pi->nphy_rxcalparams = 0x010100B5;
14477 pi->nphy_perical = PHY_PERICAL_MPHASE;
14478 pi->mphase_cal_phase_id = MPHASE_CAL_STATE_IDLE;
14479 pi->mphase_txcal_numcmds = MPHASE_TXCAL_NUMCMDS;
14481 pi->nphy_gain_boost = true;
14482 pi->nphy_elna_gain_config = false;
14483 pi->radio_is_on = false;
14485 for (i = 0; i < pi->pubpi.phy_corenum; i++) {
14486 pi->nphy_txpwrindex[i].index = AUTO;
14489 wlc_phy_txpwrctrl_config_nphy(pi);
14490 if (pi->nphy_txpwrctrl == PHY_TPC_HW_ON)
14491 pi->hwpwrctrl_capable = true;
14493 pi->pi_fptr.init = wlc_phy_init_nphy;
14494 pi->pi_fptr.calinit = wlc_phy_cal_init_nphy;
14495 pi->pi_fptr.chanset = wlc_phy_chanspec_set_nphy;
14496 pi->pi_fptr.txpwrrecalc = wlc_phy_txpower_recalc_target_nphy;
14498 if (!wlc_phy_txpwr_srom_read_nphy(pi))
14504 static void wlc_phy_txpwrctrl_config_nphy(phy_info_t *pi)
14507 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14508 pi->nphy_txpwrctrl = PHY_TPC_HW_ON;
14509 pi->phy_5g_pwrgain = true;
14513 pi->nphy_txpwrctrl = PHY_TPC_HW_OFF;
14514 pi->phy_5g_pwrgain = false;
14516 if ((pi->sh->boardflags2 & BFL2_TXPWRCTRL_EN) &&
14517 NREV_GE(pi->pubpi.phy_rev, 2) && (pi->sh->sromrev >= 4))
14518 pi->nphy_txpwrctrl = PHY_TPC_HW_ON;
14519 else if ((pi->sh->sromrev >= 4)
14520 && (pi->sh->boardflags2 & BFL2_5G_PWRGAIN))
14521 pi->phy_5g_pwrgain = true;
14524 void WLBANDINITFN(wlc_phy_init_nphy) (phy_info_t *pi)
14528 nphy_txgains_t target_gain;
14529 u8 tx_pwr_ctrl_state;
14530 bool do_nphy_cal = false;
14532 uint origidx, intr_val;
14534 u32 d11_clk_ctl_st;
14538 if (!(pi->measure_hold & PHY_HOLD_FOR_SCAN)) {
14539 pi->measure_hold |= PHY_HOLD_FOR_NOT_ASSOC;
14542 if ((ISNPHY(pi)) && (NREV_GE(pi->pubpi.phy_rev, 5)) &&
14543 ((pi->sh->chippkg == BCM4717_PKG_ID) ||
14544 (pi->sh->chippkg == BCM4718_PKG_ID))) {
14545 if ((pi->sh->boardflags & BFL_EXTLNA) &&
14546 (CHSPEC_IS2G(pi->radio_chanspec))) {
14547 ai_corereg(pi->sh->sih, SI_CC_IDX,
14548 offsetof(chipcregs_t, chipcontrol), 0x40,
14553 if ((!PHY_IPA(pi)) && (pi->sh->chip == BCM5357_CHIP_ID)) {
14554 si_pmu_chipcontrol(pi->sh->sih, 1, CCTRL5357_EXTPA,
14558 if ((pi->nphy_gband_spurwar2_en) && CHSPEC_IS2G(pi->radio_chanspec) &&
14559 CHSPEC_IS40(pi->radio_chanspec)) {
14561 regs = (d11regs_t *) ai_switch_core(pi->sh->sih, D11_CORE_ID,
14562 &origidx, &intr_val);
14563 d11_clk_ctl_st = R_REG(®s->clk_ctl_st);
14564 AND_REG(®s->clk_ctl_st,
14565 ~(CCS_FORCEHT | CCS_HTAREQ));
14567 W_REG(®s->clk_ctl_st, d11_clk_ctl_st);
14569 ai_restore_core(pi->sh->sih, origidx, intr_val);
14572 pi->use_int_tx_iqlo_cal_nphy =
14574 (NREV_GE(pi->pubpi.phy_rev, 7) ||
14575 (NREV_GE(pi->pubpi.phy_rev, 5)
14576 && pi->sh->boardflags2 & BFL2_INTERNDET_TXIQCAL)));
14578 pi->internal_tx_iqlo_cal_tapoff_intpa_nphy = false;
14580 pi->nphy_deaf_count = 0;
14582 wlc_phy_tbl_init_nphy(pi);
14584 pi->nphy_crsminpwr_adjusted = false;
14585 pi->nphy_noisevars_adjusted = false;
14587 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14588 write_phy_reg(pi, 0xe7, 0);
14589 write_phy_reg(pi, 0xec, 0);
14590 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14591 write_phy_reg(pi, 0x342, 0);
14592 write_phy_reg(pi, 0x343, 0);
14593 write_phy_reg(pi, 0x346, 0);
14594 write_phy_reg(pi, 0x347, 0);
14596 write_phy_reg(pi, 0xe5, 0);
14597 write_phy_reg(pi, 0xe6, 0);
14599 write_phy_reg(pi, 0xec, 0);
14602 write_phy_reg(pi, 0x91, 0);
14603 write_phy_reg(pi, 0x92, 0);
14604 if (NREV_LT(pi->pubpi.phy_rev, 6)) {
14605 write_phy_reg(pi, 0x93, 0);
14606 write_phy_reg(pi, 0x94, 0);
14609 and_phy_reg(pi, 0xa1, ~3);
14611 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14612 write_phy_reg(pi, 0x8f, 0);
14613 write_phy_reg(pi, 0xa5, 0);
14615 write_phy_reg(pi, 0xa5, 0);
14618 if (NREV_IS(pi->pubpi.phy_rev, 2))
14619 mod_phy_reg(pi, 0xdc, 0x00ff, 0x3b);
14620 else if (NREV_LT(pi->pubpi.phy_rev, 2))
14621 mod_phy_reg(pi, 0xdc, 0x00ff, 0x40);
14623 write_phy_reg(pi, 0x203, 32);
14624 write_phy_reg(pi, 0x201, 32);
14626 if (pi->sh->boardflags2 & BFL2_SKWRKFEM_BRD)
14627 write_phy_reg(pi, 0x20d, 160);
14629 write_phy_reg(pi, 0x20d, 184);
14631 write_phy_reg(pi, 0x13a, 200);
14633 write_phy_reg(pi, 0x70, 80);
14635 write_phy_reg(pi, 0x1ff, 48);
14637 if (NREV_LT(pi->pubpi.phy_rev, 8)) {
14638 wlc_phy_update_mimoconfig_nphy(pi, pi->n_preamble_override);
14641 wlc_phy_stf_chain_upd_nphy(pi);
14643 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
14644 write_phy_reg(pi, 0x180, 0xaa8);
14645 write_phy_reg(pi, 0x181, 0x9a4);
14649 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
14651 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
14652 0x29b, (0x1 << 0), (1) << 0);
14654 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x298 :
14655 0x29c, (0x1ff << 7),
14656 (pi->nphy_papd_epsilon_offset[core]) << 7);
14660 wlc_phy_ipa_set_tx_digi_filts_nphy(pi);
14663 if (NREV_GE(pi->pubpi.phy_rev, 5)) {
14664 wlc_phy_extpa_set_tx_digi_filts_nphy(pi);
14668 wlc_phy_workarounds_nphy(pi);
14670 wlapi_bmac_phyclk_fgc(pi->sh->physhim, ON);
14672 val = read_phy_reg(pi, 0x01);
14673 write_phy_reg(pi, 0x01, val | BBCFG_RESETCCA);
14674 write_phy_reg(pi, 0x01, val & (~BBCFG_RESETCCA));
14675 wlapi_bmac_phyclk_fgc(pi->sh->physhim, OFF);
14677 wlapi_bmac_macphyclk_set(pi->sh->physhim, ON);
14679 wlc_phy_pa_override_nphy(pi, OFF);
14680 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX);
14681 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
14682 wlc_phy_pa_override_nphy(pi, ON);
14684 wlc_phy_classifier_nphy(pi, 0, 0);
14685 wlc_phy_clip_det_nphy(pi, 0, clip1_ths);
14687 if (CHSPEC_IS2G(pi->radio_chanspec))
14688 wlc_phy_bphy_init_nphy(pi);
14690 tx_pwr_ctrl_state = pi->nphy_txpwrctrl;
14691 wlc_phy_txpwrctrl_enable_nphy(pi, PHY_TPC_HW_OFF);
14693 wlc_phy_txpwr_fixpower_nphy(pi);
14695 wlc_phy_txpwrctrl_idle_tssi_nphy(pi);
14697 wlc_phy_txpwrctrl_pwr_setup_nphy(pi);
14699 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14700 u32 *tx_pwrctrl_tbl = NULL;
14704 s32 rfpwr_offset = 0;
14707 tx_pwrctrl_tbl = wlc_phy_get_ipa_gaintbl_nphy(pi);
14709 if (CHSPEC_IS5G(pi->radio_chanspec)) {
14711 (pi->pubpi.phy_rev, 3) {
14713 nphy_tpc_5GHz_txgain_rev3;
14715 (pi->pubpi.phy_rev, 4) {
14717 (pi->srom_fem5g.extpagain == 3) ?
14718 nphy_tpc_5GHz_txgain_HiPwrEPA :
14719 nphy_tpc_5GHz_txgain_rev4;
14722 nphy_tpc_5GHz_txgain_rev5;
14726 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14727 if (pi->pubpi.radiorev == 5) {
14729 nphy_tpc_txgain_epa_2057rev5;
14730 } else if (pi->pubpi.radiorev == 3) {
14732 nphy_tpc_txgain_epa_2057rev3;
14736 if (NREV_GE(pi->pubpi.phy_rev, 5) &&
14737 (pi->srom_fem2g.extpagain == 3)) {
14739 nphy_tpc_txgain_HiPwrEPA;
14742 nphy_tpc_txgain_rev3;
14748 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 128,
14749 192, 32, tx_pwrctrl_tbl);
14750 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 128,
14751 192, 32, tx_pwrctrl_tbl);
14753 pi->nphy_gmval = (u16) ((*tx_pwrctrl_tbl >> 16) & 0x7000);
14755 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14757 for (idx = 0; idx < 128; idx++) {
14758 pga_gn = (tx_pwrctrl_tbl[idx] >> 24) & 0xf;
14759 pad_gn = (tx_pwrctrl_tbl[idx] >> 19) & 0x1f;
14761 if (CHSPEC_IS2G(pi->radio_chanspec)) {
14762 if ((pi->pubpi.radiorev == 3) ||
14763 (pi->pubpi.radiorev == 4) ||
14764 (pi->pubpi.radiorev == 6)) {
14765 rfpwr_offset = (s16)
14766 nphy_papd_padgain_dlt_2g_2057rev3n4
14768 } else if (pi->pubpi.radiorev == 5) {
14769 rfpwr_offset = (s16)
14770 nphy_papd_padgain_dlt_2g_2057rev5
14772 } else if ((pi->pubpi.radiorev == 7)
14773 || (pi->pubpi.radiorev ==
14775 rfpwr_offset = (s16)
14776 nphy_papd_padgain_dlt_2g_2057rev7
14780 if ((pi->pubpi.radiorev == 3) ||
14781 (pi->pubpi.radiorev == 4) ||
14782 (pi->pubpi.radiorev == 6)) {
14783 rfpwr_offset = (s16)
14784 nphy_papd_pgagain_dlt_5g_2057
14786 } else if ((pi->pubpi.radiorev == 7)
14787 || (pi->pubpi.radiorev ==
14789 rfpwr_offset = (s16)
14790 nphy_papd_pgagain_dlt_5g_2057rev7
14794 wlc_phy_table_write_nphy(pi,
14795 NPHY_TBL_ID_CORE1TXPWRCTL,
14798 wlc_phy_table_write_nphy(pi,
14799 NPHY_TBL_ID_CORE2TXPWRCTL,
14805 for (idx = 0; idx < 128; idx++) {
14806 pga_gn = (tx_pwrctrl_tbl[idx] >> 24) & 0xf;
14807 if (CHSPEC_IS2G(pi->radio_chanspec)) {
14808 rfpwr_offset = (s16)
14809 nphy_papd_pga_gain_delta_ipa_2g
14812 rfpwr_offset = (s16)
14813 nphy_papd_pga_gain_delta_ipa_5g
14817 wlc_phy_table_write_nphy(pi,
14818 NPHY_TBL_ID_CORE1TXPWRCTL,
14821 wlc_phy_table_write_nphy(pi,
14822 NPHY_TBL_ID_CORE2TXPWRCTL,
14830 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 128,
14831 192, 32, nphy_tpc_txgain);
14832 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 128,
14833 192, 32, nphy_tpc_txgain);
14836 if (pi->sh->phyrxchain != 0x3) {
14837 wlc_phy_rxcore_setstate_nphy((wlc_phy_t *) pi,
14838 pi->sh->phyrxchain);
14841 if (PHY_PERICAL_MPHASE_PENDING(pi)) {
14842 wlc_phy_cal_perical_mphase_restart(pi);
14845 if (!NORADIO_ENAB(pi->pubpi)) {
14846 bool do_rssi_cal = false;
14848 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14849 do_rssi_cal = (CHSPEC_IS2G(pi->radio_chanspec)) ?
14850 (pi->nphy_rssical_chanspec_2G == 0) :
14851 (pi->nphy_rssical_chanspec_5G == 0);
14854 wlc_phy_rssi_cal_nphy(pi);
14856 wlc_phy_restore_rssical_nphy(pi);
14859 wlc_phy_rssi_cal_nphy(pi);
14862 if (!SCAN_RM_IN_PROGRESS(pi)) {
14863 do_nphy_cal = (CHSPEC_IS2G(pi->radio_chanspec)) ?
14864 (pi->nphy_iqcal_chanspec_2G == 0) :
14865 (pi->nphy_iqcal_chanspec_5G == 0);
14868 if (!pi->do_initcal)
14869 do_nphy_cal = false;
14873 target_gain = wlc_phy_get_tx_gain_nphy(pi);
14875 if (pi->antsel_type == ANTSEL_2x3)
14876 wlc_phy_antsel_init((wlc_phy_t *) pi, true);
14878 if (pi->nphy_perical != PHY_PERICAL_MPHASE) {
14879 wlc_phy_rssi_cal_nphy(pi);
14881 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14882 pi->nphy_cal_orig_pwr_idx[0] =
14883 pi->nphy_txpwrindex[PHY_CORE_0].
14885 pi->nphy_cal_orig_pwr_idx[1] =
14886 pi->nphy_txpwrindex[PHY_CORE_1].
14889 wlc_phy_precal_txgain_nphy(pi);
14891 wlc_phy_get_tx_gain_nphy(pi);
14894 if (wlc_phy_cal_txiqlo_nphy
14895 (pi, target_gain, true, false) == 0) {
14896 if (wlc_phy_cal_rxiq_nphy
14897 (pi, target_gain, 2,
14899 wlc_phy_savecal_nphy(pi);
14903 } else if (pi->mphase_cal_phase_id ==
14904 MPHASE_CAL_STATE_IDLE) {
14906 wlc_phy_cal_perical((wlc_phy_t *) pi,
14907 PHY_PERICAL_PHYINIT);
14910 wlc_phy_restorecal_nphy(pi);
14914 wlc_phy_txpwrctrl_coeff_setup_nphy(pi);
14916 wlc_phy_txpwrctrl_enable_nphy(pi, tx_pwr_ctrl_state);
14918 wlc_phy_nphy_tkip_rifs_war(pi, pi->sh->_rifs_phy);
14920 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LE(pi->pubpi.phy_rev, 6))
14922 write_phy_reg(pi, 0x70, 50);
14924 wlc_phy_txlpfbw_nphy(pi);
14926 wlc_phy_spurwar_nphy(pi);
14930 static void wlc_phy_update_mimoconfig_nphy(phy_info_t *pi, s32 preamble)
14932 bool gf_preamble = false;
14935 if (preamble == WLC_N_PREAMBLE_GF) {
14936 gf_preamble = true;
14939 val = read_phy_reg(pi, 0xed);
14941 val |= RX_GF_MM_AUTO;
14942 val &= ~RX_GF_OR_MM;
14944 val |= RX_GF_OR_MM;
14946 write_phy_reg(pi, 0xed, val);
14949 static void wlc_phy_resetcca_nphy(phy_info_t *pi)
14953 wlapi_bmac_phyclk_fgc(pi->sh->physhim, ON);
14955 val = read_phy_reg(pi, 0x01);
14956 write_phy_reg(pi, 0x01, val | BBCFG_RESETCCA);
14958 write_phy_reg(pi, 0x01, val & (~BBCFG_RESETCCA));
14960 wlapi_bmac_phyclk_fgc(pi->sh->physhim, OFF);
14962 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
14965 void wlc_phy_pa_override_nphy(phy_info_t *pi, bool en)
14967 u16 rfctrlintc_override_val;
14971 pi->rfctrlIntc1_save = read_phy_reg(pi, 0x91);
14972 pi->rfctrlIntc2_save = read_phy_reg(pi, 0x92);
14974 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14975 rfctrlintc_override_val = 0x1480;
14976 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14977 rfctrlintc_override_val =
14978 CHSPEC_IS5G(pi->radio_chanspec) ? 0x600 : 0x480;
14980 rfctrlintc_override_val =
14981 CHSPEC_IS5G(pi->radio_chanspec) ? 0x180 : 0x120;
14984 write_phy_reg(pi, 0x91, rfctrlintc_override_val);
14985 write_phy_reg(pi, 0x92, rfctrlintc_override_val);
14988 write_phy_reg(pi, 0x91, pi->rfctrlIntc1_save);
14989 write_phy_reg(pi, 0x92, pi->rfctrlIntc2_save);
14994 void wlc_phy_stf_chain_upd_nphy(phy_info_t *pi)
14998 (NPHY_RfseqCoreActv_TxRxChain0 | NPHY_RfseqCoreActv_TxRxChain1);
14999 bool CoreActv_override = false;
15001 if (pi->nphy_txrx_chain == WLC_N_TXRX_CHAIN0) {
15002 txrx_chain = NPHY_RfseqCoreActv_TxRxChain0;
15003 CoreActv_override = true;
15005 if (NREV_LE(pi->pubpi.phy_rev, 2)) {
15006 and_phy_reg(pi, 0xa0, ~0x20);
15008 } else if (pi->nphy_txrx_chain == WLC_N_TXRX_CHAIN1) {
15009 txrx_chain = NPHY_RfseqCoreActv_TxRxChain1;
15010 CoreActv_override = true;
15012 if (NREV_LE(pi->pubpi.phy_rev, 2)) {
15013 or_phy_reg(pi, 0xa0, 0x20);
15017 mod_phy_reg(pi, 0xa2, ((0xf << 0) | (0xf << 4)), txrx_chain);
15019 if (CoreActv_override) {
15021 pi->nphy_perical = PHY_PERICAL_DISABLE;
15022 or_phy_reg(pi, 0xa1, NPHY_RfseqMode_CoreActv_override);
15024 pi->nphy_perical = PHY_PERICAL_MPHASE;
15025 and_phy_reg(pi, 0xa1, ~NPHY_RfseqMode_CoreActv_override);
15029 void wlc_phy_rxcore_setstate_nphy(wlc_phy_t *pih, u8 rxcore_bitmask)
15034 phy_info_t *pi = (phy_info_t *) pih;
15038 pi->sh->phyrxchain = rxcore_bitmask;
15044 (0 == (R_REG(&pi->regs->maccontrol) & MCTL_EN_MAC));
15046 wlapi_suspend_mac_and_wait(pi->sh->physhim);
15048 if (pi->phyhang_avoid)
15049 wlc_phy_stay_in_carriersearch_nphy(pi, true);
15051 regval = read_phy_reg(pi, 0xa2);
15052 regval &= ~(0xf << 4);
15053 regval |= ((u16) (rxcore_bitmask & 0x3)) << 4;
15054 write_phy_reg(pi, 0xa2, regval);
15056 if ((rxcore_bitmask & 0x3) != 0x3) {
15058 write_phy_reg(pi, 0x20e, 1);
15060 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
15061 if (pi->rx2tx_biasentry == -1) {
15062 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ,
15063 ARRAY_SIZE(tbl_buf), 80,
15066 for (i = 0; i < ARRAY_SIZE(tbl_buf); i++) {
15068 NPHY_REV3_RFSEQ_CMD_CLR_RXRX_BIAS) {
15070 pi->rx2tx_biasentry = (u8) i;
15072 NPHY_REV3_RFSEQ_CMD_NOP;
15073 wlc_phy_table_write_nphy(pi,
15079 } else if (tbl_buf[i] ==
15080 NPHY_REV3_RFSEQ_CMD_END) {
15088 write_phy_reg(pi, 0x20e, 30);
15090 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
15091 if (pi->rx2tx_biasentry != -1) {
15092 tbl_opcode = NPHY_REV3_RFSEQ_CMD_CLR_RXRX_BIAS;
15093 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15094 1, pi->rx2tx_biasentry,
15096 pi->rx2tx_biasentry = -1;
15101 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
15103 if (pi->phyhang_avoid)
15104 wlc_phy_stay_in_carriersearch_nphy(pi, false);
15107 wlapi_enable_mac(pi->sh->physhim);
15110 u8 wlc_phy_rxcore_getstate_nphy(wlc_phy_t *pih)
15112 u16 regval, rxen_bits;
15113 phy_info_t *pi = (phy_info_t *) pih;
15115 regval = read_phy_reg(pi, 0xa2);
15116 rxen_bits = (regval >> 4) & 0xf;
15118 return (u8) rxen_bits;
15121 bool wlc_phy_n_txpower_ipa_ison(phy_info_t *pi)
15123 return PHY_IPA(pi);
15126 static void wlc_phy_txpwr_limit_to_tbl_nphy(phy_info_t *pi)
15128 u8 idx, idx2, i, delta_ind;
15130 for (idx = TXP_FIRST_CCK; idx <= TXP_LAST_CCK; idx++) {
15131 pi->adj_pwr_tbl_nphy[idx] = pi->tx_power_offset[idx];
15134 for (i = 0; i < 4; i++) {
15142 if (CHSPEC_IS40(pi->radio_chanspec)
15143 && NPHY_IS_SROM_REINTERPRET) {
15144 idx = TXP_FIRST_MCS_40_SISO;
15146 idx = (CHSPEC_IS40(pi->radio_chanspec)) ?
15147 TXP_FIRST_OFDM_40_SISO : TXP_FIRST_OFDM;
15154 idx = (CHSPEC_IS40(pi->radio_chanspec)) ?
15155 TXP_FIRST_MCS_40_CDD : TXP_FIRST_MCS_20_CDD;
15160 idx = (CHSPEC_IS40(pi->radio_chanspec)) ?
15161 TXP_FIRST_MCS_40_STBC : TXP_FIRST_MCS_20_STBC;
15166 idx = (CHSPEC_IS40(pi->radio_chanspec)) ?
15167 TXP_FIRST_MCS_40_SDM : TXP_FIRST_MCS_20_SDM;
15171 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15172 pi->tx_power_offset[idx];
15173 idx = idx + delta_ind;
15174 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15175 pi->tx_power_offset[idx];
15176 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15177 pi->tx_power_offset[idx];
15178 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15179 pi->tx_power_offset[idx++];
15181 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15182 pi->tx_power_offset[idx++];
15183 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15184 pi->tx_power_offset[idx];
15185 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15186 pi->tx_power_offset[idx];
15187 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15188 pi->tx_power_offset[idx++];
15190 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15191 pi->tx_power_offset[idx++];
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 idx = idx + 1 - delta_ind;
15206 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15207 pi->tx_power_offset[idx];
15209 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15210 pi->tx_power_offset[idx];
15211 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15212 pi->tx_power_offset[idx];
15213 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15214 pi->tx_power_offset[idx];
15215 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15216 pi->tx_power_offset[idx];
15220 void wlc_phy_cal_init_nphy(phy_info_t *pi)
15224 static void wlc_phy_war_force_trsw_to_R_cliplo_nphy(phy_info_t *pi, u8 core)
15226 if (core == PHY_CORE_0) {
15227 write_phy_reg(pi, 0x38, 0x4);
15228 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15229 write_phy_reg(pi, 0x37, 0x0060);
15231 write_phy_reg(pi, 0x37, 0x1080);
15233 } else if (core == PHY_CORE_1) {
15234 write_phy_reg(pi, 0x2ae, 0x4);
15235 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15236 write_phy_reg(pi, 0x2ad, 0x0060);
15238 write_phy_reg(pi, 0x2ad, 0x1080);
15243 static void wlc_phy_war_txchain_upd_nphy(phy_info_t *pi, u8 txchain)
15245 u8 txchain0, txchain1;
15247 txchain0 = txchain & 0x1;
15248 txchain1 = (txchain & 0x2) >> 1;
15250 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi, PHY_CORE_0);
15254 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi, PHY_CORE_1);
15258 static void wlc_phy_workarounds_nphy(phy_info_t *pi)
15260 u8 rfseq_rx2tx_events[] = {
15261 NPHY_RFSEQ_CMD_NOP,
15262 NPHY_RFSEQ_CMD_RXG_FBW,
15263 NPHY_RFSEQ_CMD_TR_SWITCH,
15264 NPHY_RFSEQ_CMD_CLR_HIQ_DIS,
15265 NPHY_RFSEQ_CMD_RXPD_TXPD,
15266 NPHY_RFSEQ_CMD_TX_GAIN,
15267 NPHY_RFSEQ_CMD_EXT_PA
15269 u8 rfseq_rx2tx_dlys[] = { 8, 6, 6, 2, 4, 60, 1 };
15270 u8 rfseq_tx2rx_events[] = {
15271 NPHY_RFSEQ_CMD_NOP,
15272 NPHY_RFSEQ_CMD_EXT_PA,
15273 NPHY_RFSEQ_CMD_TX_GAIN,
15274 NPHY_RFSEQ_CMD_RXPD_TXPD,
15275 NPHY_RFSEQ_CMD_TR_SWITCH,
15276 NPHY_RFSEQ_CMD_RXG_FBW,
15277 NPHY_RFSEQ_CMD_CLR_HIQ_DIS
15279 u8 rfseq_tx2rx_dlys[] = { 8, 6, 2, 4, 4, 6, 1 };
15280 u8 rfseq_tx2rx_events_rev3[] = {
15281 NPHY_REV3_RFSEQ_CMD_EXT_PA,
15282 NPHY_REV3_RFSEQ_CMD_INT_PA_PU,
15283 NPHY_REV3_RFSEQ_CMD_TX_GAIN,
15284 NPHY_REV3_RFSEQ_CMD_RXPD_TXPD,
15285 NPHY_REV3_RFSEQ_CMD_TR_SWITCH,
15286 NPHY_REV3_RFSEQ_CMD_RXG_FBW,
15287 NPHY_REV3_RFSEQ_CMD_CLR_HIQ_DIS,
15288 NPHY_REV3_RFSEQ_CMD_END
15290 u8 rfseq_tx2rx_dlys_rev3[] = { 8, 4, 2, 2, 4, 4, 6, 1 };
15291 u8 rfseq_rx2tx_events_rev3[] = {
15292 NPHY_REV3_RFSEQ_CMD_NOP,
15293 NPHY_REV3_RFSEQ_CMD_RXG_FBW,
15294 NPHY_REV3_RFSEQ_CMD_TR_SWITCH,
15295 NPHY_REV3_RFSEQ_CMD_CLR_HIQ_DIS,
15296 NPHY_REV3_RFSEQ_CMD_RXPD_TXPD,
15297 NPHY_REV3_RFSEQ_CMD_TX_GAIN,
15298 NPHY_REV3_RFSEQ_CMD_INT_PA_PU,
15299 NPHY_REV3_RFSEQ_CMD_EXT_PA,
15300 NPHY_REV3_RFSEQ_CMD_END
15302 u8 rfseq_rx2tx_dlys_rev3[] = { 8, 6, 6, 4, 4, 18, 42, 1, 1 };
15304 u8 rfseq_rx2tx_events_rev3_ipa[] = {
15305 NPHY_REV3_RFSEQ_CMD_NOP,
15306 NPHY_REV3_RFSEQ_CMD_RXG_FBW,
15307 NPHY_REV3_RFSEQ_CMD_TR_SWITCH,
15308 NPHY_REV3_RFSEQ_CMD_CLR_HIQ_DIS,
15309 NPHY_REV3_RFSEQ_CMD_RXPD_TXPD,
15310 NPHY_REV3_RFSEQ_CMD_TX_GAIN,
15311 NPHY_REV3_RFSEQ_CMD_CLR_RXRX_BIAS,
15312 NPHY_REV3_RFSEQ_CMD_INT_PA_PU,
15313 NPHY_REV3_RFSEQ_CMD_END
15315 u8 rfseq_rx2tx_dlys_rev3_ipa[] = { 8, 6, 6, 4, 4, 16, 43, 1, 1 };
15316 u16 rfseq_rx2tx_dacbufpu_rev7[] = { 0x10f, 0x10f };
15318 s16 alpha0, alpha1, alpha2;
15319 s16 beta0, beta1, beta2;
15320 u32 leg_data_weights, ht_data_weights, nss1_data_weights,
15322 u8 chan_freq_range = 0;
15323 u16 dac_control = 0x0002;
15324 u16 aux_adc_vmid_rev7_core0[] = { 0x8e, 0x96, 0x96, 0x96 };
15325 u16 aux_adc_vmid_rev7_core1[] = { 0x8f, 0x9f, 0x9f, 0x96 };
15326 u16 aux_adc_vmid_rev4[] = { 0xa2, 0xb4, 0xb4, 0x89 };
15327 u16 aux_adc_vmid_rev3[] = { 0xa2, 0xb4, 0xb4, 0x89 };
15329 u16 aux_adc_gain_rev7[] = { 0x02, 0x02, 0x02, 0x02 };
15330 u16 aux_adc_gain_rev4[] = { 0x02, 0x02, 0x02, 0x00 };
15331 u16 aux_adc_gain_rev3[] = { 0x02, 0x02, 0x02, 0x00 };
15333 u16 sk_adc_vmid[] = { 0xb4, 0xb4, 0xb4, 0x24 };
15334 u16 sk_adc_gain[] = { 0x02, 0x02, 0x02, 0x02 };
15335 s32 min_nvar_val = 0x18d;
15336 s32 min_nvar_offset_6mbps = 20;
15340 u16 afectrl_adc_ctrl1_rev7 = 0x20;
15341 u16 afectrl_adc_ctrl2_rev7 = 0x0;
15342 u16 rfseq_rx2tx_lpf_h_hpc_rev7 = 0x77;
15343 u16 rfseq_tx2rx_lpf_h_hpc_rev7 = 0x77;
15344 u16 rfseq_pktgn_lpf_h_hpc_rev7 = 0x77;
15345 u16 rfseq_htpktgn_lpf_hpc_rev7[] = { 0x77, 0x11, 0x11 };
15346 u16 rfseq_pktgn_lpf_hpc_rev7[] = { 0x11, 0x11 };
15347 u16 rfseq_cckpktgn_lpf_hpc_rev7[] = { 0x11, 0x11 };
15348 u16 ipalvlshift_3p3_war_en = 0;
15349 u16 rccal_bcap_val, rccal_scap_val;
15350 u16 rccal_tx20_11b_bcap = 0;
15351 u16 rccal_tx20_11b_scap = 0;
15352 u16 rccal_tx20_11n_bcap = 0;
15353 u16 rccal_tx20_11n_scap = 0;
15354 u16 rccal_tx40_11n_bcap = 0;
15355 u16 rccal_tx40_11n_scap = 0;
15356 u16 rx2tx_lpf_rc_lut_tx20_11b = 0;
15357 u16 rx2tx_lpf_rc_lut_tx20_11n = 0;
15358 u16 rx2tx_lpf_rc_lut_tx40_11n = 0;
15359 u16 tx_lpf_bw_ofdm_20mhz = 0;
15360 u16 tx_lpf_bw_ofdm_40mhz = 0;
15361 u16 tx_lpf_bw_11b = 0;
15362 u16 ipa2g_mainbias, ipa2g_casconv, ipa2g_biasfilt;
15363 u16 txgm_idac_bleed = 0;
15364 bool rccal_ovrd = false;
15368 if (CHSPEC_IS5G(pi->radio_chanspec)) {
15369 wlc_phy_classifier_nphy(pi, NPHY_ClassifierCtrl_cck_en, 0);
15371 wlc_phy_classifier_nphy(pi, NPHY_ClassifierCtrl_cck_en, 1);
15374 if (pi->phyhang_avoid)
15375 wlc_phy_stay_in_carriersearch_nphy(pi, true);
15377 if (!ISSIM_ENAB(pi->sh->sih)) {
15378 or_phy_reg(pi, 0xb1, NPHY_IQFlip_ADC1 | NPHY_IQFlip_ADC2);
15381 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
15383 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
15384 mod_phy_reg(pi, 0x221, (0x1 << 4), (1 << 4));
15386 mod_phy_reg(pi, 0x160, (0x7f << 0), (32 << 0));
15387 mod_phy_reg(pi, 0x160, (0x7f << 8), (39 << 8));
15388 mod_phy_reg(pi, 0x161, (0x7f << 0), (46 << 0));
15389 mod_phy_reg(pi, 0x161, (0x7f << 8), (51 << 8));
15390 mod_phy_reg(pi, 0x162, (0x7f << 0), (55 << 0));
15391 mod_phy_reg(pi, 0x162, (0x7f << 8), (58 << 8));
15392 mod_phy_reg(pi, 0x163, (0x7f << 0), (60 << 0));
15393 mod_phy_reg(pi, 0x163, (0x7f << 8), (62 << 8));
15394 mod_phy_reg(pi, 0x164, (0x7f << 0), (62 << 0));
15395 mod_phy_reg(pi, 0x164, (0x7f << 8), (63 << 8));
15396 mod_phy_reg(pi, 0x165, (0x7f << 0), (63 << 0));
15397 mod_phy_reg(pi, 0x165, (0x7f << 8), (64 << 8));
15398 mod_phy_reg(pi, 0x166, (0x7f << 0), (64 << 0));
15399 mod_phy_reg(pi, 0x166, (0x7f << 8), (64 << 8));
15400 mod_phy_reg(pi, 0x167, (0x7f << 0), (64 << 0));
15401 mod_phy_reg(pi, 0x167, (0x7f << 8), (64 << 8));
15404 if (NREV_LE(pi->pubpi.phy_rev, 8)) {
15405 write_phy_reg(pi, 0x23f, 0x1b0);
15406 write_phy_reg(pi, 0x240, 0x1b0);
15409 if (NREV_GE(pi->pubpi.phy_rev, 8)) {
15410 mod_phy_reg(pi, 0xbd, (0xff << 0), (114 << 0));
15413 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x00, 16,
15415 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x10, 16,
15418 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
15419 1, 0, 32, &leg_data_weights);
15420 leg_data_weights = leg_data_weights & 0xffffff;
15421 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
15422 1, 0, 32, &leg_data_weights);
15424 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15426 rfseq_rx2tx_dacbufpu_rev7);
15427 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x16e, 16,
15428 rfseq_rx2tx_dacbufpu_rev7);
15431 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX,
15432 rfseq_rx2tx_events_rev3_ipa,
15433 rfseq_rx2tx_dlys_rev3_ipa,
15435 (rfseq_rx2tx_events_rev3_ipa) /
15437 (rfseq_rx2tx_events_rev3_ipa
15441 mod_phy_reg(pi, 0x299, (0x3 << 14), (0x1 << 14));
15442 mod_phy_reg(pi, 0x29d, (0x3 << 14), (0x1 << 14));
15444 tx_lpf_bw_ofdm_20mhz = wlc_phy_read_lpf_bw_ctl_nphy(pi, 0x154);
15445 tx_lpf_bw_ofdm_40mhz = wlc_phy_read_lpf_bw_ctl_nphy(pi, 0x159);
15446 tx_lpf_bw_11b = wlc_phy_read_lpf_bw_ctl_nphy(pi, 0x152);
15450 if (((pi->pubpi.radiorev == 5)
15451 && (CHSPEC_IS40(pi->radio_chanspec) == 1))
15452 || (pi->pubpi.radiorev == 7)
15453 || (pi->pubpi.radiorev == 8)) {
15457 RADIO_2057_RCCAL_BCAP_VAL);
15460 RADIO_2057_RCCAL_SCAP_VAL);
15462 rccal_tx20_11b_bcap = rccal_bcap_val;
15463 rccal_tx20_11b_scap = rccal_scap_val;
15465 if ((pi->pubpi.radiorev == 5) &&
15466 (CHSPEC_IS40(pi->radio_chanspec) == 1)) {
15468 rccal_tx20_11n_bcap = rccal_bcap_val;
15469 rccal_tx20_11n_scap = rccal_scap_val;
15470 rccal_tx40_11n_bcap = 0xc;
15471 rccal_tx40_11n_scap = 0xc;
15475 } else if ((pi->pubpi.radiorev == 7)
15476 || (pi->pubpi.radiorev == 8)) {
15478 tx_lpf_bw_ofdm_20mhz = 4;
15481 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15482 rccal_tx20_11n_bcap = 0xc;
15483 rccal_tx20_11n_scap = 0xc;
15484 rccal_tx40_11n_bcap = 0xa;
15485 rccal_tx40_11n_scap = 0xa;
15487 rccal_tx20_11n_bcap = 0x14;
15488 rccal_tx20_11n_scap = 0x14;
15489 rccal_tx40_11n_bcap = 0xf;
15490 rccal_tx40_11n_scap = 0xf;
15499 if (pi->pubpi.radiorev == 5) {
15501 tx_lpf_bw_ofdm_20mhz = 1;
15502 tx_lpf_bw_ofdm_40mhz = 3;
15506 RADIO_2057_RCCAL_BCAP_VAL);
15509 RADIO_2057_RCCAL_SCAP_VAL);
15511 rccal_tx20_11b_bcap = rccal_bcap_val;
15512 rccal_tx20_11b_scap = rccal_scap_val;
15514 rccal_tx20_11n_bcap = 0x13;
15515 rccal_tx20_11n_scap = 0x11;
15516 rccal_tx40_11n_bcap = 0x13;
15517 rccal_tx40_11n_scap = 0x11;
15525 rx2tx_lpf_rc_lut_tx20_11b = (rccal_tx20_11b_bcap << 8) |
15526 (rccal_tx20_11b_scap << 3) | tx_lpf_bw_11b;
15527 rx2tx_lpf_rc_lut_tx20_11n = (rccal_tx20_11n_bcap << 8) |
15528 (rccal_tx20_11n_scap << 3) | tx_lpf_bw_ofdm_20mhz;
15529 rx2tx_lpf_rc_lut_tx40_11n = (rccal_tx40_11n_bcap << 8) |
15530 (rccal_tx40_11n_scap << 3) | tx_lpf_bw_ofdm_40mhz;
15532 for (coreNum = 0; coreNum <= 1; coreNum++) {
15533 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15535 0x152 + coreNum * 0x10,
15537 &rx2tx_lpf_rc_lut_tx20_11b);
15538 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15540 0x153 + coreNum * 0x10,
15542 &rx2tx_lpf_rc_lut_tx20_11n);
15543 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15545 0x154 + coreNum * 0x10,
15547 &rx2tx_lpf_rc_lut_tx20_11n);
15548 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15550 0x155 + coreNum * 0x10,
15552 &rx2tx_lpf_rc_lut_tx40_11n);
15553 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15555 0x156 + coreNum * 0x10,
15557 &rx2tx_lpf_rc_lut_tx40_11n);
15558 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15560 0x157 + coreNum * 0x10,
15562 &rx2tx_lpf_rc_lut_tx40_11n);
15563 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15565 0x158 + coreNum * 0x10,
15567 &rx2tx_lpf_rc_lut_tx40_11n);
15568 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15570 0x159 + coreNum * 0x10,
15572 &rx2tx_lpf_rc_lut_tx40_11n);
15575 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4),
15577 NPHY_REV7_RFCTRLOVERRIDE_ID2);
15580 if (!NORADIO_ENAB(pi->pubpi)) {
15581 write_phy_reg(pi, 0x32f, 0x3);
15584 if ((pi->pubpi.radiorev == 4) || (pi->pubpi.radiorev == 6)) {
15585 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2),
15587 NPHY_REV7_RFCTRLOVERRIDE_ID0);
15590 if ((pi->pubpi.radiorev == 3) || (pi->pubpi.radiorev == 4) ||
15591 (pi->pubpi.radiorev == 6)) {
15592 if ((pi->sh->sromrev >= 8)
15593 && (pi->sh->boardflags2 & BFL2_IPALVLSHIFT_3P3))
15594 ipalvlshift_3p3_war_en = 1;
15596 if (ipalvlshift_3p3_war_en) {
15597 write_radio_reg(pi, RADIO_2057_GPAIO_CONFIG,
15599 write_radio_reg(pi, RADIO_2057_GPAIO_SEL1,
15601 write_radio_reg(pi, RADIO_2057_GPAIO_SEL0, 0x0);
15603 RADIO_2057_RXTXBIAS_CONFIG_CORE0,
15606 RADIO_2057_RXTXBIAS_CONFIG_CORE1,
15609 ipa2g_mainbias = 0x1f;
15611 ipa2g_casconv = 0x6f;
15613 ipa2g_biasfilt = 0xaa;
15616 ipa2g_mainbias = 0x2b;
15618 ipa2g_casconv = 0x7f;
15620 ipa2g_biasfilt = 0xee;
15623 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15624 for (coreNum = 0; coreNum <= 1; coreNum++) {
15625 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15626 coreNum, IPA2G_IMAIN,
15628 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15629 coreNum, IPA2G_CASCONV,
15631 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15640 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15641 if ((pi->pubpi.radiorev == 3)
15642 || (pi->pubpi.radiorev == 4)
15643 || (pi->pubpi.radiorev == 6)) {
15645 txgm_idac_bleed = 0x7f;
15648 for (coreNum = 0; coreNum <= 1; coreNum++) {
15649 if (txgm_idac_bleed != 0)
15650 WRITE_RADIO_REG4(pi, RADIO_2057,
15656 if (pi->pubpi.radiorev == 5) {
15658 for (coreNum = 0; coreNum <= 1;
15660 WRITE_RADIO_REG4(pi, RADIO_2057,
15664 WRITE_RADIO_REG4(pi, RADIO_2057,
15668 WRITE_RADIO_REG4(pi, RADIO_2057,
15672 WRITE_RADIO_REG4(pi, RADIO_2057,
15676 WRITE_RADIO_REG4(pi, RADIO_2057,
15678 PAD_BIAS_FILTER_BWS,
15682 } else if ((pi->pubpi.radiorev == 7)
15683 || (pi->pubpi.radiorev == 8)) {
15685 if (CHSPEC_IS40(pi->radio_chanspec) ==
15687 WRITE_RADIO_REG4(pi, RADIO_2057,
15691 WRITE_RADIO_REG4(pi, RADIO_2057,
15696 WRITE_RADIO_REG4(pi, RADIO_2057,
15700 WRITE_RADIO_REG4(pi, RADIO_2057,
15709 CHAN5G_FREQ(CHSPEC_CHANNEL
15710 (pi->radio_chanspec));
15711 if (((freq >= 5180) && (freq <= 5230))
15712 || ((freq >= 5745) && (freq <= 5805))) {
15713 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15714 0, IPA5G_BIAS_FILTER,
15716 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15717 1, IPA5G_BIAS_FILTER,
15723 if (pi->pubpi.radiorev != 5) {
15724 for (coreNum = 0; coreNum <= 1; coreNum++) {
15725 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15727 TXMIX2G_TUNE_BOOST_PU,
15729 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15731 TXGM_IDAC_BLEED, 0x70);
15736 if (pi->pubpi.radiorev == 4) {
15737 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1,
15739 &afectrl_adc_ctrl1_rev7);
15740 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1,
15742 &afectrl_adc_ctrl1_rev7);
15744 for (coreNum = 0; coreNum <= 1; coreNum++) {
15745 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
15746 AFE_VCM_CAL_MASTER, 0x0);
15747 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
15748 AFE_SET_VCM_I, 0x3f);
15749 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
15750 AFE_SET_VCM_Q, 0x3f);
15753 mod_phy_reg(pi, 0xa6, (0x1 << 2), (0x1 << 2));
15754 mod_phy_reg(pi, 0x8f, (0x1 << 2), (0x1 << 2));
15755 mod_phy_reg(pi, 0xa7, (0x1 << 2), (0x1 << 2));
15756 mod_phy_reg(pi, 0xa5, (0x1 << 2), (0x1 << 2));
15758 mod_phy_reg(pi, 0xa6, (0x1 << 0), 0);
15759 mod_phy_reg(pi, 0x8f, (0x1 << 0), (0x1 << 0));
15760 mod_phy_reg(pi, 0xa7, (0x1 << 0), 0);
15761 mod_phy_reg(pi, 0xa5, (0x1 << 0), (0x1 << 0));
15763 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1,
15765 &afectrl_adc_ctrl2_rev7);
15766 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1,
15768 &afectrl_adc_ctrl2_rev7);
15770 mod_phy_reg(pi, 0xa6, (0x1 << 2), 0);
15771 mod_phy_reg(pi, 0x8f, (0x1 << 2), 0);
15772 mod_phy_reg(pi, 0xa7, (0x1 << 2), 0);
15773 mod_phy_reg(pi, 0xa5, (0x1 << 2), 0);
15776 write_phy_reg(pi, 0x6a, 0x2);
15778 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 256, 32,
15779 &min_nvar_offset_6mbps);
15781 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x138, 16,
15782 &rfseq_pktgn_lpf_hpc_rev7);
15784 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1, 0x141, 16,
15785 &rfseq_pktgn_lpf_h_hpc_rev7);
15787 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 3, 0x133, 16,
15788 &rfseq_htpktgn_lpf_hpc_rev7);
15790 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x146, 16,
15791 &rfseq_cckpktgn_lpf_hpc_rev7);
15793 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1, 0x123, 16,
15794 &rfseq_tx2rx_lpf_h_hpc_rev7);
15796 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1, 0x12A, 16,
15797 &rfseq_rx2tx_lpf_h_hpc_rev7);
15799 if (CHSPEC_IS40(pi->radio_chanspec) == 0) {
15800 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 3,
15801 32, &min_nvar_val);
15802 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
15803 127, 32, &min_nvar_val);
15805 min_nvar_val = noise_var_tbl_rev7[3];
15806 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 3,
15807 32, &min_nvar_val);
15809 min_nvar_val = noise_var_tbl_rev7[127];
15810 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
15811 127, 32, &min_nvar_val);
15814 wlc_phy_workarounds_nphy_gainctrl(pi);
15817 (CHSPEC_IS5G(pi->radio_chanspec)) ? pi->srom_fem5g.
15818 pdetrange : pi->srom_fem2g.pdetrange;
15820 if (pdetrange == 0) {
15822 wlc_phy_get_chan_freq_range_nphy(pi, 0);
15823 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
15824 aux_adc_vmid_rev7_core0[3] = 0x70;
15825 aux_adc_vmid_rev7_core1[3] = 0x70;
15826 aux_adc_gain_rev7[3] = 2;
15828 aux_adc_vmid_rev7_core0[3] = 0x80;
15829 aux_adc_vmid_rev7_core1[3] = 0x80;
15830 aux_adc_gain_rev7[3] = 3;
15832 } else if (pdetrange == 1) {
15833 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
15834 aux_adc_vmid_rev7_core0[3] = 0x7c;
15835 aux_adc_vmid_rev7_core1[3] = 0x7c;
15836 aux_adc_gain_rev7[3] = 2;
15838 aux_adc_vmid_rev7_core0[3] = 0x8c;
15839 aux_adc_vmid_rev7_core1[3] = 0x8c;
15840 aux_adc_gain_rev7[3] = 1;
15842 } else if (pdetrange == 2) {
15843 if (pi->pubpi.radioid == BCM2057_ID) {
15844 if ((pi->pubpi.radiorev == 5)
15845 || (pi->pubpi.radiorev == 7)
15846 || (pi->pubpi.radiorev == 8)) {
15847 if (chan_freq_range ==
15848 WL_CHAN_FREQ_RANGE_2G) {
15849 aux_adc_vmid_rev7_core0[3] =
15851 aux_adc_vmid_rev7_core1[3] =
15853 aux_adc_gain_rev7[3] = 0;
15855 aux_adc_vmid_rev7_core0[3] =
15857 aux_adc_vmid_rev7_core1[3] =
15859 aux_adc_gain_rev7[3] = 0;
15864 } else if (pdetrange == 3) {
15865 if (chan_freq_range == WL_CHAN_FREQ_RANGE_2G) {
15866 aux_adc_vmid_rev7_core0[3] = 0x89;
15867 aux_adc_vmid_rev7_core1[3] = 0x89;
15868 aux_adc_gain_rev7[3] = 0;
15871 } else if (pdetrange == 5) {
15873 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
15874 aux_adc_vmid_rev7_core0[3] = 0x80;
15875 aux_adc_vmid_rev7_core1[3] = 0x80;
15876 aux_adc_gain_rev7[3] = 3;
15878 aux_adc_vmid_rev7_core0[3] = 0x70;
15879 aux_adc_vmid_rev7_core1[3] = 0x70;
15880 aux_adc_gain_rev7[3] = 2;
15884 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4, 0x08, 16,
15885 &aux_adc_vmid_rev7_core0);
15886 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4, 0x18, 16,
15887 &aux_adc_vmid_rev7_core1);
15888 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4, 0x0c, 16,
15889 &aux_adc_gain_rev7);
15890 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4, 0x1c, 16,
15891 &aux_adc_gain_rev7);
15893 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
15895 write_phy_reg(pi, 0x23f, 0x1f8);
15896 write_phy_reg(pi, 0x240, 0x1f8);
15898 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
15899 1, 0, 32, &leg_data_weights);
15900 leg_data_weights = leg_data_weights & 0xffffff;
15901 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
15902 1, 0, 32, &leg_data_weights);
15910 write_phy_reg(pi, 0x145, alpha0);
15911 write_phy_reg(pi, 0x146, alpha1);
15912 write_phy_reg(pi, 0x147, alpha2);
15913 write_phy_reg(pi, 0x148, beta0);
15914 write_phy_reg(pi, 0x149, beta1);
15915 write_phy_reg(pi, 0x14a, beta2);
15917 write_phy_reg(pi, 0x38, 0xC);
15918 write_phy_reg(pi, 0x2ae, 0xC);
15920 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_TX2RX,
15921 rfseq_tx2rx_events_rev3,
15922 rfseq_tx2rx_dlys_rev3,
15923 sizeof(rfseq_tx2rx_events_rev3) /
15924 sizeof(rfseq_tx2rx_events_rev3[0]));
15927 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX,
15928 rfseq_rx2tx_events_rev3_ipa,
15929 rfseq_rx2tx_dlys_rev3_ipa,
15931 (rfseq_rx2tx_events_rev3_ipa) /
15933 (rfseq_rx2tx_events_rev3_ipa
15937 if ((pi->sh->hw_phyrxchain != 0x3) &&
15938 (pi->sh->hw_phyrxchain != pi->sh->hw_phytxchain)) {
15941 rfseq_rx2tx_dlys_rev3[5] = 59;
15942 rfseq_rx2tx_dlys_rev3[6] = 1;
15943 rfseq_rx2tx_events_rev3[7] =
15944 NPHY_REV3_RFSEQ_CMD_END;
15947 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX,
15948 rfseq_rx2tx_events_rev3,
15949 rfseq_rx2tx_dlys_rev3,
15950 sizeof(rfseq_rx2tx_events_rev3) /
15951 sizeof(rfseq_rx2tx_events_rev3
15955 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15956 write_phy_reg(pi, 0x6a, 0x2);
15958 write_phy_reg(pi, 0x6a, 0x9c40);
15961 mod_phy_reg(pi, 0x294, (0xf << 8), (7 << 8));
15963 if (CHSPEC_IS40(pi->radio_chanspec) == 0) {
15964 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 3,
15965 32, &min_nvar_val);
15966 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
15967 127, 32, &min_nvar_val);
15969 min_nvar_val = noise_var_tbl_rev3[3];
15970 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 3,
15971 32, &min_nvar_val);
15973 min_nvar_val = noise_var_tbl_rev3[127];
15974 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
15975 127, 32, &min_nvar_val);
15978 wlc_phy_workarounds_nphy_gainctrl(pi);
15980 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x00, 16,
15982 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x10, 16,
15986 (CHSPEC_IS5G(pi->radio_chanspec)) ? pi->srom_fem5g.
15987 pdetrange : pi->srom_fem2g.pdetrange;
15989 if (pdetrange == 0) {
15990 if (NREV_GE(pi->pubpi.phy_rev, 4)) {
15991 aux_adc_vmid = aux_adc_vmid_rev4;
15992 aux_adc_gain = aux_adc_gain_rev4;
15994 aux_adc_vmid = aux_adc_vmid_rev3;
15995 aux_adc_gain = aux_adc_gain_rev3;
15998 wlc_phy_get_chan_freq_range_nphy(pi, 0);
15999 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
16000 switch (chan_freq_range) {
16001 case WL_CHAN_FREQ_RANGE_5GL:
16002 aux_adc_vmid[3] = 0x89;
16003 aux_adc_gain[3] = 0;
16005 case WL_CHAN_FREQ_RANGE_5GM:
16006 aux_adc_vmid[3] = 0x89;
16007 aux_adc_gain[3] = 0;
16009 case WL_CHAN_FREQ_RANGE_5GH:
16010 aux_adc_vmid[3] = 0x89;
16011 aux_adc_gain[3] = 0;
16017 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16018 0x08, 16, aux_adc_vmid);
16019 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16020 0x18, 16, aux_adc_vmid);
16021 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16022 0x0c, 16, aux_adc_gain);
16023 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16024 0x1c, 16, aux_adc_gain);
16025 } else if (pdetrange == 1) {
16026 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16027 0x08, 16, sk_adc_vmid);
16028 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16029 0x18, 16, sk_adc_vmid);
16030 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16031 0x0c, 16, sk_adc_gain);
16032 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16033 0x1c, 16, sk_adc_gain);
16034 } else if (pdetrange == 2) {
16036 u16 bcm_adc_vmid[] = { 0xa2, 0xb4, 0xb4, 0x74 };
16037 u16 bcm_adc_gain[] = { 0x02, 0x02, 0x02, 0x04 };
16039 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
16041 wlc_phy_get_chan_freq_range_nphy(pi, 0);
16042 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
16043 bcm_adc_vmid[3] = 0x8e;
16044 bcm_adc_gain[3] = 0x03;
16046 bcm_adc_vmid[3] = 0x94;
16047 bcm_adc_gain[3] = 0x03;
16049 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
16050 bcm_adc_vmid[3] = 0x84;
16051 bcm_adc_gain[3] = 0x02;
16054 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16055 0x08, 16, bcm_adc_vmid);
16056 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16057 0x18, 16, bcm_adc_vmid);
16058 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16059 0x0c, 16, bcm_adc_gain);
16060 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16061 0x1c, 16, bcm_adc_gain);
16062 } else if (pdetrange == 3) {
16064 wlc_phy_get_chan_freq_range_nphy(pi, 0);
16065 if ((NREV_GE(pi->pubpi.phy_rev, 4))
16066 && (chan_freq_range == WL_CHAN_FREQ_RANGE_2G)) {
16068 u16 auxadc_vmid[] = {
16069 0xa2, 0xb4, 0xb4, 0x270 };
16070 u16 auxadc_gain[] = {
16071 0x02, 0x02, 0x02, 0x00 };
16073 wlc_phy_table_write_nphy(pi,
16074 NPHY_TBL_ID_AFECTRL, 4,
16075 0x08, 16, auxadc_vmid);
16076 wlc_phy_table_write_nphy(pi,
16077 NPHY_TBL_ID_AFECTRL, 4,
16078 0x18, 16, auxadc_vmid);
16079 wlc_phy_table_write_nphy(pi,
16080 NPHY_TBL_ID_AFECTRL, 4,
16081 0x0c, 16, auxadc_gain);
16082 wlc_phy_table_write_nphy(pi,
16083 NPHY_TBL_ID_AFECTRL, 4,
16084 0x1c, 16, auxadc_gain);
16086 } else if ((pdetrange == 4) || (pdetrange == 5)) {
16087 u16 bcm_adc_vmid[] = { 0xa2, 0xb4, 0xb4, 0x0 };
16088 u16 bcm_adc_gain[] = { 0x02, 0x02, 0x02, 0x0 };
16089 u16 Vmid[2], Av[2];
16092 wlc_phy_get_chan_freq_range_nphy(pi, 0);
16093 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
16094 Vmid[0] = (pdetrange == 4) ? 0x8e : 0x89;
16095 Vmid[1] = (pdetrange == 4) ? 0x96 : 0x89;
16096 Av[0] = (pdetrange == 4) ? 2 : 0;
16097 Av[1] = (pdetrange == 4) ? 2 : 0;
16099 Vmid[0] = (pdetrange == 4) ? 0x89 : 0x74;
16100 Vmid[1] = (pdetrange == 4) ? 0x8b : 0x70;
16101 Av[0] = (pdetrange == 4) ? 2 : 0;
16102 Av[1] = (pdetrange == 4) ? 2 : 0;
16105 bcm_adc_vmid[3] = Vmid[0];
16106 bcm_adc_gain[3] = Av[0];
16107 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16108 0x08, 16, bcm_adc_vmid);
16109 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16110 0x0c, 16, bcm_adc_gain);
16112 bcm_adc_vmid[3] = Vmid[1];
16113 bcm_adc_gain[3] = Av[1];
16114 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16115 0x18, 16, bcm_adc_vmid);
16116 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16117 0x1c, 16, bcm_adc_gain);
16120 write_radio_reg(pi,
16121 (RADIO_2056_RX_MIXA_MAST_BIAS | RADIO_2056_RX0),
16123 write_radio_reg(pi,
16124 (RADIO_2056_RX_MIXA_MAST_BIAS | RADIO_2056_RX1),
16127 write_radio_reg(pi,
16128 (RADIO_2056_RX_MIXA_BIAS_MAIN | RADIO_2056_RX0),
16130 write_radio_reg(pi,
16131 (RADIO_2056_RX_MIXA_BIAS_MAIN | RADIO_2056_RX1),
16134 write_radio_reg(pi,
16135 (RADIO_2056_RX_MIXA_BIAS_AUX | RADIO_2056_RX0),
16137 write_radio_reg(pi,
16138 (RADIO_2056_RX_MIXA_BIAS_AUX | RADIO_2056_RX1),
16141 write_radio_reg(pi,
16142 (RADIO_2056_RX_MIXA_LOB_BIAS | RADIO_2056_RX0),
16144 write_radio_reg(pi,
16145 (RADIO_2056_RX_MIXA_LOB_BIAS | RADIO_2056_RX1),
16148 write_radio_reg(pi,
16149 (RADIO_2056_RX_MIXA_CMFB_IDAC | RADIO_2056_RX0),
16151 write_radio_reg(pi,
16152 (RADIO_2056_RX_MIXA_CMFB_IDAC | RADIO_2056_RX1),
16155 write_radio_reg(pi,
16156 (RADIO_2056_RX_MIXG_CMFB_IDAC | RADIO_2056_RX0),
16158 write_radio_reg(pi,
16159 (RADIO_2056_RX_MIXG_CMFB_IDAC | RADIO_2056_RX1),
16163 (CHSPEC_IS5G(pi->radio_chanspec)) ? pi->srom_fem5g.
16164 triso : pi->srom_fem2g.triso;
16166 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi, PHY_CORE_0);
16167 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi, PHY_CORE_1);
16170 wlc_phy_war_txchain_upd_nphy(pi, pi->sh->hw_phytxchain);
16172 if (((pi->sh->boardflags2 & BFL2_APLL_WAR) &&
16173 (CHSPEC_IS5G(pi->radio_chanspec))) ||
16174 (((pi->sh->boardflags2 & BFL2_GPLL_WAR) ||
16175 (pi->sh->boardflags2 & BFL2_GPLL_WAR2)) &&
16176 (CHSPEC_IS2G(pi->radio_chanspec)))) {
16177 nss1_data_weights = 0x00088888;
16178 ht_data_weights = 0x00088888;
16179 stbc_data_weights = 0x00088888;
16181 nss1_data_weights = 0x88888888;
16182 ht_data_weights = 0x88888888;
16183 stbc_data_weights = 0x88888888;
16185 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
16186 1, 1, 32, &nss1_data_weights);
16187 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
16188 1, 2, 32, &ht_data_weights);
16189 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
16190 1, 3, 32, &stbc_data_weights);
16192 if (NREV_IS(pi->pubpi.phy_rev, 4)) {
16193 if (CHSPEC_IS5G(pi->radio_chanspec)) {
16194 write_radio_reg(pi,
16195 RADIO_2056_TX_GMBB_IDAC |
16196 RADIO_2056_TX0, 0x70);
16197 write_radio_reg(pi,
16198 RADIO_2056_TX_GMBB_IDAC |
16199 RADIO_2056_TX1, 0x70);
16203 if (!pi->edcrs_threshold_lock) {
16204 write_phy_reg(pi, 0x224, 0x3eb);
16205 write_phy_reg(pi, 0x225, 0x3eb);
16206 write_phy_reg(pi, 0x226, 0x341);
16207 write_phy_reg(pi, 0x227, 0x341);
16208 write_phy_reg(pi, 0x228, 0x42b);
16209 write_phy_reg(pi, 0x229, 0x42b);
16210 write_phy_reg(pi, 0x22a, 0x381);
16211 write_phy_reg(pi, 0x22b, 0x381);
16212 write_phy_reg(pi, 0x22c, 0x42b);
16213 write_phy_reg(pi, 0x22d, 0x42b);
16214 write_phy_reg(pi, 0x22e, 0x381);
16215 write_phy_reg(pi, 0x22f, 0x381);
16218 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
16220 if (pi->sh->boardflags2 & BFL2_SINGLEANT_CCK) {
16221 wlapi_bmac_mhf(pi->sh->physhim, MHF4,
16223 MHF4_BPHY_TXCORE0, WLC_BAND_ALL);
16228 if (pi->sh->boardflags2 & BFL2_SKWRKFEM_BRD ||
16229 (pi->sh->boardtype == 0x8b)) {
16231 u8 war_dlys[] = { 1, 6, 6, 2, 4, 20, 1 };
16232 for (i = 0; i < ARRAY_SIZE(rfseq_rx2tx_dlys); i++)
16233 rfseq_rx2tx_dlys[i] = war_dlys[i];
16236 if (CHSPEC_IS5G(pi->radio_chanspec) && pi->phy_5g_pwrgain) {
16237 and_radio_reg(pi, RADIO_2055_CORE1_TX_RF_SPARE, 0xf7);
16238 and_radio_reg(pi, RADIO_2055_CORE2_TX_RF_SPARE, 0xf7);
16240 or_radio_reg(pi, RADIO_2055_CORE1_TX_RF_SPARE, 0x8);
16241 or_radio_reg(pi, RADIO_2055_CORE2_TX_RF_SPARE, 0x8);
16245 wlc_phy_table_write_nphy(pi, 8, 1, 0, 16, ®val);
16246 wlc_phy_table_write_nphy(pi, 8, 1, 0x10, 16, ®val);
16248 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
16250 wlc_phy_table_write_nphy(pi, 8, 1, 0x02, 16, ®val);
16251 wlc_phy_table_write_nphy(pi, 8, 1, 0x12, 16, ®val);
16254 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
16256 wlc_phy_table_write_nphy(pi, 8, 1, 0x08, 16, ®val);
16257 wlc_phy_table_write_nphy(pi, 8, 1, 0x18, 16, ®val);
16260 wlc_phy_table_write_nphy(pi, 8, 1, 0x07, 16, ®val);
16261 wlc_phy_table_write_nphy(pi, 8, 1, 0x17, 16, ®val);
16264 wlc_phy_table_write_nphy(pi, 8, 1, 0x06, 16, ®val);
16265 wlc_phy_table_write_nphy(pi, 8, 1, 0x16, 16, ®val);
16268 write_phy_reg(pi, 0xf8, 0x02d8);
16269 write_phy_reg(pi, 0xf9, 0x0301);
16270 write_phy_reg(pi, 0xfa, 0x02d8);
16271 write_phy_reg(pi, 0xfb, 0x0301);
16273 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX, rfseq_rx2tx_events,
16275 sizeof(rfseq_rx2tx_events) /
16276 sizeof(rfseq_rx2tx_events[0]));
16278 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_TX2RX, rfseq_tx2rx_events,
16280 sizeof(rfseq_tx2rx_events) /
16281 sizeof(rfseq_tx2rx_events[0]));
16283 wlc_phy_workarounds_nphy_gainctrl(pi);
16285 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
16287 if (read_phy_reg(pi, 0xa0) & NPHY_MLenable)
16288 wlapi_bmac_mhf(pi->sh->physhim, MHF3,
16289 MHF3_NPHY_MLADV_WAR,
16290 MHF3_NPHY_MLADV_WAR,
16293 } else if (NREV_IS(pi->pubpi.phy_rev, 2)) {
16294 write_phy_reg(pi, 0x1e3, 0x0);
16295 write_phy_reg(pi, 0x1e4, 0x0);
16298 if (NREV_LT(pi->pubpi.phy_rev, 2))
16299 mod_phy_reg(pi, 0x90, (0x1 << 7), 0);
16307 write_phy_reg(pi, 0x145, alpha0);
16308 write_phy_reg(pi, 0x146, alpha1);
16309 write_phy_reg(pi, 0x147, alpha2);
16310 write_phy_reg(pi, 0x148, beta0);
16311 write_phy_reg(pi, 0x149, beta1);
16312 write_phy_reg(pi, 0x14a, beta2);
16314 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
16315 mod_phy_reg(pi, 0x142, (0xf << 12), 0);
16317 write_phy_reg(pi, 0x192, 0xb5);
16318 write_phy_reg(pi, 0x193, 0xa4);
16319 write_phy_reg(pi, 0x194, 0x0);
16322 if (NREV_IS(pi->pubpi.phy_rev, 2)) {
16323 mod_phy_reg(pi, 0x221,
16324 NPHY_FORCESIG_DECODEGATEDCLKS,
16325 NPHY_FORCESIG_DECODEGATEDCLKS);
16329 if (pi->phyhang_avoid)
16330 wlc_phy_stay_in_carriersearch_nphy(pi, false);
16333 static void wlc_phy_workarounds_nphy_gainctrl(phy_info_t *pi)
16335 u16 w1th, hpf_code, currband;
16337 u8 rfseq_updategainu_events[] = {
16338 NPHY_RFSEQ_CMD_RX_GAIN,
16339 NPHY_RFSEQ_CMD_CLR_HIQ_DIS,
16340 NPHY_RFSEQ_CMD_SET_HPF_BW
16342 u8 rfseq_updategainu_dlys[] = { 10, 30, 1 };
16343 s8 lna1G_gain_db[] = { 7, 11, 16, 23 };
16344 s8 lna1G_gain_db_rev4[] = { 8, 12, 17, 25 };
16345 s8 lna1G_gain_db_rev5[] = { 9, 13, 18, 26 };
16346 s8 lna1G_gain_db_rev6[] = { 8, 13, 18, 25 };
16347 s8 lna1G_gain_db_rev6_224B0[] = { 10, 14, 19, 27 };
16348 s8 lna1A_gain_db[] = { 7, 11, 17, 23 };
16349 s8 lna1A_gain_db_rev4[] = { 8, 12, 18, 23 };
16350 s8 lna1A_gain_db_rev5[] = { 6, 10, 16, 21 };
16351 s8 lna1A_gain_db_rev6[] = { 6, 10, 16, 21 };
16352 s8 *lna1_gain_db = NULL;
16353 s8 lna2G_gain_db[] = { -5, 6, 10, 14 };
16354 s8 lna2G_gain_db_rev5[] = { -3, 7, 11, 16 };
16355 s8 lna2G_gain_db_rev6[] = { -5, 6, 10, 14 };
16356 s8 lna2G_gain_db_rev6_224B0[] = { -5, 6, 10, 15 };
16357 s8 lna2A_gain_db[] = { -6, 2, 6, 10 };
16358 s8 lna2A_gain_db_rev4[] = { -5, 2, 6, 10 };
16359 s8 lna2A_gain_db_rev5[] = { -7, 0, 4, 8 };
16360 s8 lna2A_gain_db_rev6[] = { -7, 0, 4, 8 };
16361 s8 *lna2_gain_db = NULL;
16362 s8 tiaG_gain_db[] = {
16363 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A };
16364 s8 tiaA_gain_db[] = {
16365 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13 };
16366 s8 tiaA_gain_db_rev4[] = {
16367 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d };
16368 s8 tiaA_gain_db_rev5[] = {
16369 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d };
16370 s8 tiaA_gain_db_rev6[] = {
16371 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d };
16373 s8 tiaG_gainbits[] = {
16374 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03 };
16375 s8 tiaA_gainbits[] = {
16376 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06 };
16377 s8 tiaA_gainbits_rev4[] = {
16378 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 };
16379 s8 tiaA_gainbits_rev5[] = {
16380 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 };
16381 s8 tiaA_gainbits_rev6[] = {
16382 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 };
16384 s8 lpf_gain_db[] = { 0x00, 0x06, 0x0c, 0x12, 0x12, 0x12 };
16385 s8 lpf_gainbits[] = { 0x00, 0x01, 0x02, 0x03, 0x03, 0x03 };
16386 u16 rfseqG_init_gain[] = { 0x613f, 0x613f, 0x613f, 0x613f };
16387 u16 rfseqG_init_gain_rev4[] = { 0x513f, 0x513f, 0x513f, 0x513f };
16388 u16 rfseqG_init_gain_rev5[] = { 0x413f, 0x413f, 0x413f, 0x413f };
16389 u16 rfseqG_init_gain_rev5_elna[] = {
16390 0x013f, 0x013f, 0x013f, 0x013f };
16391 u16 rfseqG_init_gain_rev6[] = { 0x513f, 0x513f };
16392 u16 rfseqG_init_gain_rev6_224B0[] = { 0x413f, 0x413f };
16393 u16 rfseqG_init_gain_rev6_elna[] = { 0x113f, 0x113f };
16394 u16 rfseqA_init_gain[] = { 0x516f, 0x516f, 0x516f, 0x516f };
16395 u16 rfseqA_init_gain_rev4[] = { 0x614f, 0x614f, 0x614f, 0x614f };
16396 u16 rfseqA_init_gain_rev4_elna[] = {
16397 0x314f, 0x314f, 0x314f, 0x314f };
16398 u16 rfseqA_init_gain_rev5[] = { 0x714f, 0x714f, 0x714f, 0x714f };
16399 u16 rfseqA_init_gain_rev6[] = { 0x714f, 0x714f };
16400 u16 *rfseq_init_gain;
16401 u16 initG_gaincode = 0x627e;
16402 u16 initG_gaincode_rev4 = 0x527e;
16403 u16 initG_gaincode_rev5 = 0x427e;
16404 u16 initG_gaincode_rev5_elna = 0x027e;
16405 u16 initG_gaincode_rev6 = 0x527e;
16406 u16 initG_gaincode_rev6_224B0 = 0x427e;
16407 u16 initG_gaincode_rev6_elna = 0x127e;
16408 u16 initA_gaincode = 0x52de;
16409 u16 initA_gaincode_rev4 = 0x629e;
16410 u16 initA_gaincode_rev4_elna = 0x329e;
16411 u16 initA_gaincode_rev5 = 0x729e;
16412 u16 initA_gaincode_rev6 = 0x729e;
16414 u16 clip1hiG_gaincode = 0x107e;
16415 u16 clip1hiG_gaincode_rev4 = 0x007e;
16416 u16 clip1hiG_gaincode_rev5 = 0x1076;
16417 u16 clip1hiG_gaincode_rev6 = 0x007e;
16418 u16 clip1hiA_gaincode = 0x00de;
16419 u16 clip1hiA_gaincode_rev4 = 0x029e;
16420 u16 clip1hiA_gaincode_rev5 = 0x029e;
16421 u16 clip1hiA_gaincode_rev6 = 0x029e;
16422 u16 clip1hi_gaincode;
16423 u16 clip1mdG_gaincode = 0x0066;
16424 u16 clip1mdA_gaincode = 0x00ca;
16425 u16 clip1mdA_gaincode_rev4 = 0x1084;
16426 u16 clip1mdA_gaincode_rev5 = 0x2084;
16427 u16 clip1mdA_gaincode_rev6 = 0x2084;
16428 u16 clip1md_gaincode = 0;
16429 u16 clip1loG_gaincode = 0x0074;
16430 u16 clip1loG_gaincode_rev5[] = {
16431 0x0062, 0x0064, 0x006a, 0x106a, 0x106c, 0x1074, 0x107c, 0x207c
16433 u16 clip1loG_gaincode_rev6[] = {
16434 0x106a, 0x106c, 0x1074, 0x107c, 0x007e, 0x107e, 0x207e, 0x307e
16436 u16 clip1loG_gaincode_rev6_224B0 = 0x1074;
16437 u16 clip1loA_gaincode = 0x00cc;
16438 u16 clip1loA_gaincode_rev4 = 0x0086;
16439 u16 clip1loA_gaincode_rev5 = 0x2086;
16440 u16 clip1loA_gaincode_rev6 = 0x2086;
16441 u16 clip1lo_gaincode;
16442 u8 crsminG_th = 0x18;
16443 u8 crsminG_th_rev5 = 0x18;
16444 u8 crsminG_th_rev6 = 0x18;
16445 u8 crsminA_th = 0x1e;
16446 u8 crsminA_th_rev4 = 0x24;
16447 u8 crsminA_th_rev5 = 0x24;
16448 u8 crsminA_th_rev6 = 0x24;
16450 u8 crsminlG_th = 0x18;
16451 u8 crsminlG_th_rev5 = 0x18;
16452 u8 crsminlG_th_rev6 = 0x18;
16453 u8 crsminlA_th = 0x1e;
16454 u8 crsminlA_th_rev4 = 0x24;
16455 u8 crsminlA_th_rev5 = 0x24;
16456 u8 crsminlA_th_rev6 = 0x24;
16458 u8 crsminuG_th = 0x18;
16459 u8 crsminuG_th_rev5 = 0x18;
16460 u8 crsminuG_th_rev6 = 0x18;
16461 u8 crsminuA_th = 0x1e;
16462 u8 crsminuA_th_rev4 = 0x24;
16463 u8 crsminuA_th_rev5 = 0x24;
16464 u8 crsminuA_th_rev6 = 0x24;
16465 u8 crsminuA_th_rev6_224B0 = 0x2d;
16467 u16 nbclipG_th = 0x20d;
16468 u16 nbclipG_th_rev4 = 0x1a1;
16469 u16 nbclipG_th_rev5 = 0x1d0;
16470 u16 nbclipG_th_rev6 = 0x1d0;
16471 u16 nbclipA_th = 0x1a1;
16472 u16 nbclipA_th_rev4 = 0x107;
16473 u16 nbclipA_th_rev5 = 0x0a9;
16474 u16 nbclipA_th_rev6 = 0x0f0;
16477 u8 w1clipG_th_rev5 = 9;
16478 u8 w1clipG_th_rev6 = 5;
16479 u8 w1clipA_th = 25, w1clip_th;
16480 u8 rssi_gain_default = 0x50;
16481 u8 rssiG_gain_rev6_224B0 = 0x50;
16482 u8 rssiA_gain_rev5 = 0x90;
16483 u8 rssiA_gain_rev6 = 0x90;
16488 triso = (CHSPEC_IS5G(pi->radio_chanspec)) ? pi->srom_fem5g.triso :
16489 pi->srom_fem2g.triso;
16491 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
16492 if (pi->pubpi.radiorev == 5) {
16494 wlc_phy_workarounds_nphy_gainctrl_2057_rev5(pi);
16495 } else if (pi->pubpi.radiorev == 7) {
16496 wlc_phy_workarounds_nphy_gainctrl_2057_rev6(pi);
16498 mod_phy_reg(pi, 0x283, (0xff << 0), (0x44 << 0));
16499 mod_phy_reg(pi, 0x280, (0xff << 0), (0x44 << 0));
16501 } else if ((pi->pubpi.radiorev == 3)
16502 || (pi->pubpi.radiorev == 8)) {
16503 wlc_phy_workarounds_nphy_gainctrl_2057_rev6(pi);
16505 if (pi->pubpi.radiorev == 8) {
16506 mod_phy_reg(pi, 0x283,
16507 (0xff << 0), (0x44 << 0));
16508 mod_phy_reg(pi, 0x280,
16509 (0xff << 0), (0x44 << 0));
16512 wlc_phy_workarounds_nphy_gainctrl_2057_rev6(pi);
16514 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
16516 mod_phy_reg(pi, 0xa0, (0x1 << 6), (1 << 6));
16518 mod_phy_reg(pi, 0x1c, (0x1 << 13), (1 << 13));
16519 mod_phy_reg(pi, 0x32, (0x1 << 13), (1 << 13));
16522 read_phy_reg(pi, 0x09) & NPHY_BandControl_currentBand;
16523 if (currband == 0) {
16524 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
16525 if (pi->pubpi.radiorev == 11) {
16526 lna1_gain_db = lna1G_gain_db_rev6_224B0;
16527 lna2_gain_db = lna2G_gain_db_rev6_224B0;
16529 rfseqG_init_gain_rev6_224B0;
16531 initG_gaincode_rev6_224B0;
16533 clip1hiG_gaincode_rev6;
16535 clip1loG_gaincode_rev6_224B0;
16536 nbclip_th = nbclipG_th_rev6;
16537 w1clip_th = w1clipG_th_rev6;
16538 crsmin_th = crsminG_th_rev6;
16539 crsminl_th = crsminlG_th_rev6;
16540 crsminu_th = crsminuG_th_rev6;
16541 rssi_gain = rssiG_gain_rev6_224B0;
16543 lna1_gain_db = lna1G_gain_db_rev6;
16544 lna2_gain_db = lna2G_gain_db_rev6;
16545 if (pi->sh->boardflags & BFL_EXTLNA) {
16548 rfseqG_init_gain_rev6_elna;
16550 initG_gaincode_rev6_elna;
16553 rfseqG_init_gain_rev6;
16555 initG_gaincode_rev6;
16558 clip1hiG_gaincode_rev6;
16562 clip1loG_gaincode_rev6[0];
16566 clip1loG_gaincode_rev6[1];
16570 clip1loG_gaincode_rev6[2];
16576 clip1loG_gaincode_rev6[3];
16580 clip1loG_gaincode_rev6[4];
16584 clip1loG_gaincode_rev6[5];
16588 clip1loG_gaincode_rev6[6];
16592 clip1loG_gaincode_rev6[7];
16595 nbclip_th = nbclipG_th_rev6;
16596 w1clip_th = w1clipG_th_rev6;
16597 crsmin_th = crsminG_th_rev6;
16598 crsminl_th = crsminlG_th_rev6;
16599 crsminu_th = crsminuG_th_rev6;
16600 rssi_gain = rssi_gain_default;
16602 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
16603 lna1_gain_db = lna1G_gain_db_rev5;
16604 lna2_gain_db = lna2G_gain_db_rev5;
16605 if (pi->sh->boardflags & BFL_EXTLNA) {
16608 rfseqG_init_gain_rev5_elna;
16610 initG_gaincode_rev5_elna;
16612 rfseq_init_gain = rfseqG_init_gain_rev5;
16613 init_gaincode = initG_gaincode_rev5;
16615 clip1hi_gaincode = clip1hiG_gaincode_rev5;
16619 clip1loG_gaincode_rev5[0];
16623 clip1loG_gaincode_rev5[1];
16627 clip1loG_gaincode_rev5[2];
16632 clip1loG_gaincode_rev5[3];
16636 clip1loG_gaincode_rev5[4];
16640 clip1loG_gaincode_rev5[5];
16644 clip1loG_gaincode_rev5[6];
16648 clip1loG_gaincode_rev5[7];
16652 clip1loG_gaincode_rev5[3];
16655 nbclip_th = nbclipG_th_rev5;
16656 w1clip_th = w1clipG_th_rev5;
16657 crsmin_th = crsminG_th_rev5;
16658 crsminl_th = crsminlG_th_rev5;
16659 crsminu_th = crsminuG_th_rev5;
16660 rssi_gain = rssi_gain_default;
16661 } else if (NREV_IS(pi->pubpi.phy_rev, 4)) {
16662 lna1_gain_db = lna1G_gain_db_rev4;
16663 lna2_gain_db = lna2G_gain_db;
16664 rfseq_init_gain = rfseqG_init_gain_rev4;
16665 init_gaincode = initG_gaincode_rev4;
16666 clip1hi_gaincode = clip1hiG_gaincode_rev4;
16667 clip1lo_gaincode = clip1loG_gaincode;
16668 nbclip_th = nbclipG_th_rev4;
16669 w1clip_th = w1clipG_th;
16670 crsmin_th = crsminG_th;
16671 crsminl_th = crsminlG_th;
16672 crsminu_th = crsminuG_th;
16673 rssi_gain = rssi_gain_default;
16675 lna1_gain_db = lna1G_gain_db;
16676 lna2_gain_db = lna2G_gain_db;
16677 rfseq_init_gain = rfseqG_init_gain;
16678 init_gaincode = initG_gaincode;
16679 clip1hi_gaincode = clip1hiG_gaincode;
16680 clip1lo_gaincode = clip1loG_gaincode;
16681 nbclip_th = nbclipG_th;
16682 w1clip_th = w1clipG_th;
16683 crsmin_th = crsminG_th;
16684 crsminl_th = crsminlG_th;
16685 crsminu_th = crsminuG_th;
16686 rssi_gain = rssi_gain_default;
16688 tia_gain_db = tiaG_gain_db;
16689 tia_gainbits = tiaG_gainbits;
16690 clip1md_gaincode = clip1mdG_gaincode;
16692 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
16693 lna1_gain_db = lna1A_gain_db_rev6;
16694 lna2_gain_db = lna2A_gain_db_rev6;
16695 tia_gain_db = tiaA_gain_db_rev6;
16696 tia_gainbits = tiaA_gainbits_rev6;
16697 rfseq_init_gain = rfseqA_init_gain_rev6;
16698 init_gaincode = initA_gaincode_rev6;
16699 clip1hi_gaincode = clip1hiA_gaincode_rev6;
16700 clip1md_gaincode = clip1mdA_gaincode_rev6;
16701 clip1lo_gaincode = clip1loA_gaincode_rev6;
16702 crsmin_th = crsminA_th_rev6;
16703 crsminl_th = crsminlA_th_rev6;
16704 if ((pi->pubpi.radiorev == 11) &&
16705 (CHSPEC_IS40(pi->radio_chanspec) == 0)) {
16706 crsminu_th = crsminuA_th_rev6_224B0;
16708 crsminu_th = crsminuA_th_rev6;
16710 nbclip_th = nbclipA_th_rev6;
16711 rssi_gain = rssiA_gain_rev6;
16712 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
16713 lna1_gain_db = lna1A_gain_db_rev5;
16714 lna2_gain_db = lna2A_gain_db_rev5;
16715 tia_gain_db = tiaA_gain_db_rev5;
16716 tia_gainbits = tiaA_gainbits_rev5;
16717 rfseq_init_gain = rfseqA_init_gain_rev5;
16718 init_gaincode = initA_gaincode_rev5;
16719 clip1hi_gaincode = clip1hiA_gaincode_rev5;
16720 clip1md_gaincode = clip1mdA_gaincode_rev5;
16721 clip1lo_gaincode = clip1loA_gaincode_rev5;
16722 crsmin_th = crsminA_th_rev5;
16723 crsminl_th = crsminlA_th_rev5;
16724 crsminu_th = crsminuA_th_rev5;
16725 nbclip_th = nbclipA_th_rev5;
16726 rssi_gain = rssiA_gain_rev5;
16727 } else if (NREV_IS(pi->pubpi.phy_rev, 4)) {
16728 lna1_gain_db = lna1A_gain_db_rev4;
16729 lna2_gain_db = lna2A_gain_db_rev4;
16730 tia_gain_db = tiaA_gain_db_rev4;
16731 tia_gainbits = tiaA_gainbits_rev4;
16732 if (pi->sh->boardflags & BFL_EXTLNA_5GHz) {
16735 rfseqA_init_gain_rev4_elna;
16737 initA_gaincode_rev4_elna;
16739 rfseq_init_gain = rfseqA_init_gain_rev4;
16740 init_gaincode = initA_gaincode_rev4;
16742 clip1hi_gaincode = clip1hiA_gaincode_rev4;
16743 clip1md_gaincode = clip1mdA_gaincode_rev4;
16744 clip1lo_gaincode = clip1loA_gaincode_rev4;
16745 crsmin_th = crsminA_th_rev4;
16746 crsminl_th = crsminlA_th_rev4;
16747 crsminu_th = crsminuA_th_rev4;
16748 nbclip_th = nbclipA_th_rev4;
16749 rssi_gain = rssi_gain_default;
16751 lna1_gain_db = lna1A_gain_db;
16752 lna2_gain_db = lna2A_gain_db;
16753 tia_gain_db = tiaA_gain_db;
16754 tia_gainbits = tiaA_gainbits;
16755 rfseq_init_gain = rfseqA_init_gain;
16756 init_gaincode = initA_gaincode;
16757 clip1hi_gaincode = clip1hiA_gaincode;
16758 clip1md_gaincode = clip1mdA_gaincode;
16759 clip1lo_gaincode = clip1loA_gaincode;
16760 crsmin_th = crsminA_th;
16761 crsminl_th = crsminlA_th;
16762 crsminu_th = crsminuA_th;
16763 nbclip_th = nbclipA_th;
16764 rssi_gain = rssi_gain_default;
16766 w1clip_th = w1clipA_th;
16769 write_radio_reg(pi,
16770 (RADIO_2056_RX_BIASPOLE_LNAG1_IDAC |
16771 RADIO_2056_RX0), 0x17);
16772 write_radio_reg(pi,
16773 (RADIO_2056_RX_BIASPOLE_LNAG1_IDAC |
16774 RADIO_2056_RX1), 0x17);
16776 write_radio_reg(pi, (RADIO_2056_RX_LNAG2_IDAC | RADIO_2056_RX0),
16778 write_radio_reg(pi, (RADIO_2056_RX_LNAG2_IDAC | RADIO_2056_RX1),
16781 write_radio_reg(pi, (RADIO_2056_RX_RSSI_POLE | RADIO_2056_RX0),
16783 write_radio_reg(pi, (RADIO_2056_RX_RSSI_POLE | RADIO_2056_RX1),
16786 write_radio_reg(pi, (RADIO_2056_RX_RSSI_GAIN | RADIO_2056_RX0),
16788 write_radio_reg(pi, (RADIO_2056_RX_RSSI_GAIN | RADIO_2056_RX1),
16791 write_radio_reg(pi,
16792 (RADIO_2056_RX_BIASPOLE_LNAA1_IDAC |
16793 RADIO_2056_RX0), 0x17);
16794 write_radio_reg(pi,
16795 (RADIO_2056_RX_BIASPOLE_LNAA1_IDAC |
16796 RADIO_2056_RX1), 0x17);
16798 write_radio_reg(pi, (RADIO_2056_RX_LNAA2_IDAC | RADIO_2056_RX0),
16800 write_radio_reg(pi, (RADIO_2056_RX_LNAA2_IDAC | RADIO_2056_RX1),
16803 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 8,
16805 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 8,
16808 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 0x10,
16810 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 0x10,
16813 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 10, 0x20,
16815 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 10, 0x20,
16818 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS1, 10, 0x20,
16820 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS2, 10, 0x20,
16823 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 6, 0x40,
16825 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 6, 0x40,
16827 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS1, 6, 0x40,
16829 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS2, 6, 0x40,
16832 write_phy_reg(pi, 0x20, init_gaincode);
16833 write_phy_reg(pi, 0x2a7, init_gaincode);
16835 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
16836 pi->pubpi.phy_corenum, 0x106, 16,
16839 write_phy_reg(pi, 0x22, clip1hi_gaincode);
16840 write_phy_reg(pi, 0x2a9, clip1hi_gaincode);
16842 write_phy_reg(pi, 0x24, clip1md_gaincode);
16843 write_phy_reg(pi, 0x2ab, clip1md_gaincode);
16845 write_phy_reg(pi, 0x37, clip1lo_gaincode);
16846 write_phy_reg(pi, 0x2ad, clip1lo_gaincode);
16848 mod_phy_reg(pi, 0x27d, (0xff << 0), (crsmin_th << 0));
16849 mod_phy_reg(pi, 0x280, (0xff << 0), (crsminl_th << 0));
16850 mod_phy_reg(pi, 0x283, (0xff << 0), (crsminu_th << 0));
16852 write_phy_reg(pi, 0x2b, nbclip_th);
16853 write_phy_reg(pi, 0x41, nbclip_th);
16855 mod_phy_reg(pi, 0x27, (0x3f << 0), (w1clip_th << 0));
16856 mod_phy_reg(pi, 0x3d, (0x3f << 0), (w1clip_th << 0));
16858 write_phy_reg(pi, 0x150, 0x809c);
16862 mod_phy_reg(pi, 0x1c, (0x1 << 13), (1 << 13));
16863 mod_phy_reg(pi, 0x32, (0x1 << 13), (1 << 13));
16865 write_phy_reg(pi, 0x2b, 0x84);
16866 write_phy_reg(pi, 0x41, 0x84);
16868 if (CHSPEC_IS20(pi->radio_chanspec)) {
16869 write_phy_reg(pi, 0x6b, 0x2b);
16870 write_phy_reg(pi, 0x6c, 0x2b);
16871 write_phy_reg(pi, 0x6d, 0x9);
16872 write_phy_reg(pi, 0x6e, 0x9);
16875 w1th = NPHY_RSSICAL_W1_TARGET - 4;
16876 mod_phy_reg(pi, 0x27, (0x3f << 0), (w1th << 0));
16877 mod_phy_reg(pi, 0x3d, (0x3f << 0), (w1th << 0));
16879 if (CHSPEC_IS20(pi->radio_chanspec)) {
16880 mod_phy_reg(pi, 0x1c, (0x1f << 0), (0x1 << 0));
16881 mod_phy_reg(pi, 0x32, (0x1f << 0), (0x1 << 0));
16883 mod_phy_reg(pi, 0x1d, (0x1f << 0), (0x1 << 0));
16884 mod_phy_reg(pi, 0x33, (0x1f << 0), (0x1 << 0));
16887 write_phy_reg(pi, 0x150, 0x809c);
16889 if (pi->nphy_gain_boost)
16890 if ((CHSPEC_IS2G(pi->radio_chanspec)) &&
16891 (CHSPEC_IS40(pi->radio_chanspec)))
16895 else if (CHSPEC_IS40(pi->radio_chanspec))
16900 mod_phy_reg(pi, 0x20, (0x1f << 7), (hpf_code << 7));
16901 mod_phy_reg(pi, 0x36, (0x1f << 7), (hpf_code << 7));
16903 for (ctr = 0; ctr < 4; ctr++) {
16904 regval[ctr] = (hpf_code << 8) | 0x7c;
16906 wlc_phy_table_write_nphy(pi, 7, 4, 0x106, 16, regval);
16908 wlc_phy_adjust_lnagaintbl_nphy(pi);
16910 if (pi->nphy_elna_gain_config) {
16915 wlc_phy_table_write_nphy(pi, 2, 4, 8, 16, regval);
16916 wlc_phy_table_write_nphy(pi, 3, 4, 8, 16, regval);
16918 for (ctr = 0; ctr < 4; ctr++) {
16919 regval[ctr] = (hpf_code << 8) | 0x74;
16921 wlc_phy_table_write_nphy(pi, 7, 4, 0x106, 16, regval);
16924 if (NREV_IS(pi->pubpi.phy_rev, 2)) {
16925 for (ctr = 0; ctr < 21; ctr++) {
16926 regval[ctr] = 3 * ctr;
16928 wlc_phy_table_write_nphy(pi, 0, 21, 32, 16, regval);
16929 wlc_phy_table_write_nphy(pi, 1, 21, 32, 16, regval);
16931 for (ctr = 0; ctr < 21; ctr++) {
16932 regval[ctr] = (u16) ctr;
16934 wlc_phy_table_write_nphy(pi, 2, 21, 32, 16, regval);
16935 wlc_phy_table_write_nphy(pi, 3, 21, 32, 16, regval);
16938 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_UPDATEGAINU,
16939 rfseq_updategainu_events,
16940 rfseq_updategainu_dlys,
16941 sizeof(rfseq_updategainu_events) /
16942 sizeof(rfseq_updategainu_events[0]));
16944 mod_phy_reg(pi, 0x153, (0xff << 8), (90 << 8));
16946 if (CHSPEC_IS2G(pi->radio_chanspec))
16948 (NPHY_TO_BPHY_OFF + BPHY_OPTIONAL_MODES),
16953 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev5(phy_info_t *pi)
16955 s8 lna1_gain_db[] = { 8, 13, 17, 22 };
16956 s8 lna2_gain_db[] = { -2, 7, 11, 15 };
16957 s8 tia_gain_db[] = { -4, -1, 2, 5, 5, 5, 5, 5, 5, 5 };
16958 s8 tia_gainbits[] = {
16959 0x0, 0x01, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03 };
16961 mod_phy_reg(pi, 0x1c, (0x1 << 13), (1 << 13));
16962 mod_phy_reg(pi, 0x32, (0x1 << 13), (1 << 13));
16964 mod_phy_reg(pi, 0x289, (0xff << 0), (0x46 << 0));
16966 mod_phy_reg(pi, 0x283, (0xff << 0), (0x3c << 0));
16967 mod_phy_reg(pi, 0x280, (0xff << 0), (0x3c << 0));
16969 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 0x8, 8,
16971 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 0x8, 8,
16974 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 0x10, 8,
16976 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 0x10, 8,
16979 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 10, 0x20, 8,
16981 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 10, 0x20, 8,
16984 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS1, 10, 0x20, 8,
16986 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS2, 10, 0x20, 8,
16989 write_phy_reg(pi, 0x37, 0x74);
16990 write_phy_reg(pi, 0x2ad, 0x74);
16991 write_phy_reg(pi, 0x38, 0x18);
16992 write_phy_reg(pi, 0x2ae, 0x18);
16994 write_phy_reg(pi, 0x2b, 0xe8);
16995 write_phy_reg(pi, 0x41, 0xe8);
16997 if (CHSPEC_IS20(pi->radio_chanspec)) {
16999 mod_phy_reg(pi, 0x300, (0x3f << 0), (0x12 << 0));
17000 mod_phy_reg(pi, 0x301, (0x3f << 0), (0x12 << 0));
17003 mod_phy_reg(pi, 0x300, (0x3f << 0), (0x10 << 0));
17004 mod_phy_reg(pi, 0x301, (0x3f << 0), (0x10 << 0));
17008 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev6(phy_info_t *pi)
17011 s8 lna1G_gain_db_rev7[] = { 9, 14, 19, 24 };
17012 s8 *lna1_gain_db = NULL;
17013 s8 *lna1_gain_db_2 = NULL;
17014 s8 *lna2_gain_db = NULL;
17015 s8 tiaA_gain_db_rev7[] = { -9, -6, -3, 0, 3, 3, 3, 3, 3, 3 };
17017 s8 tiaA_gainbits_rev7[] = { 0, 1, 2, 3, 4, 4, 4, 4, 4, 4 };
17019 u16 rfseqA_init_gain_rev7[] = { 0x624f, 0x624f };
17020 u16 *rfseq_init_gain;
17022 u16 clip1hi_gaincode;
17023 u16 clip1md_gaincode = 0;
17024 u16 clip1md_gaincode_B;
17025 u16 clip1lo_gaincode;
17026 u16 clip1lo_gaincode_B;
17032 s8 nvar_baseline_offset0 = 0, nvar_baseline_offset1 = 0;
17033 u8 chg_nbclip_th = 0;
17035 mod_phy_reg(pi, 0x1c, (0x1 << 13), (1 << 13));
17036 mod_phy_reg(pi, 0x32, (0x1 << 13), (1 << 13));
17038 currband = read_phy_reg(pi, 0x09) & NPHY_BandControl_currentBand;
17039 if (currband == 0) {
17041 lna1_gain_db = lna1G_gain_db_rev7;
17043 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 8, 8,
17045 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 8, 8,
17048 mod_phy_reg(pi, 0x283, (0xff << 0), (0x40 << 0));
17050 if (CHSPEC_IS40(pi->radio_chanspec)) {
17051 mod_phy_reg(pi, 0x280, (0xff << 0), (0x3e << 0));
17052 mod_phy_reg(pi, 0x283, (0xff << 0), (0x3e << 0));
17055 mod_phy_reg(pi, 0x289, (0xff << 0), (0x46 << 0));
17057 if (CHSPEC_IS20(pi->radio_chanspec)) {
17058 mod_phy_reg(pi, 0x300, (0x3f << 0), (13 << 0));
17059 mod_phy_reg(pi, 0x301, (0x3f << 0), (13 << 0));
17063 init_gaincode = 0x9e;
17064 clip1hi_gaincode = 0x9e;
17065 clip1md_gaincode_B = 0x24;
17066 clip1lo_gaincode = 0x8a;
17067 clip1lo_gaincode_B = 8;
17068 rfseq_init_gain = rfseqA_init_gain_rev7;
17070 tia_gain_db = tiaA_gain_db_rev7;
17071 tia_gainbits = tiaA_gainbits_rev7;
17073 freq = CHAN5G_FREQ(CHSPEC_CHANNEL(pi->radio_chanspec));
17074 if (CHSPEC_IS20(pi->radio_chanspec)) {
17077 clip1md_gaincode = 0x82;
17079 if ((freq <= 5080) || (freq == 5825)) {
17081 s8 lna1A_gain_db_rev7[] = { 11, 16, 20, 24 };
17082 s8 lna1A_gain_db_2_rev7[] = {
17084 s8 lna2A_gain_db_rev7[] = { -1, 6, 10, 14 };
17087 lna1_gain_db = lna1A_gain_db_rev7;
17088 lna1_gain_db_2 = lna1A_gain_db_2_rev7;
17089 lna2_gain_db = lna2A_gain_db_rev7;
17090 } else if ((freq >= 5500) && (freq <= 5700)) {
17092 s8 lna1A_gain_db_rev7[] = { 11, 17, 21, 25 };
17093 s8 lna1A_gain_db_2_rev7[] = {
17095 s8 lna2A_gain_db_rev7[] = { 1, 8, 12, 16 };
17098 clip1md_gaincode_B = 0x14;
17101 lna1_gain_db = lna1A_gain_db_rev7;
17102 lna1_gain_db_2 = lna1A_gain_db_2_rev7;
17103 lna2_gain_db = lna2A_gain_db_rev7;
17106 s8 lna1A_gain_db_rev7[] = { 12, 18, 22, 26 };
17107 s8 lna1A_gain_db_2_rev7[] = {
17109 s8 lna2A_gain_db_rev7[] = { -1, 6, 10, 14 };
17112 lna1_gain_db = lna1A_gain_db_rev7;
17113 lna1_gain_db_2 = lna1A_gain_db_2_rev7;
17114 lna2_gain_db = lna2A_gain_db_rev7;
17117 if (freq <= 4920) {
17118 nvar_baseline_offset0 = 5;
17119 nvar_baseline_offset1 = 5;
17120 } else if ((freq > 4920) && (freq <= 5320)) {
17121 nvar_baseline_offset0 = 3;
17122 nvar_baseline_offset1 = 5;
17123 } else if ((freq > 5320) && (freq <= 5700)) {
17124 nvar_baseline_offset0 = 3;
17125 nvar_baseline_offset1 = 2;
17127 nvar_baseline_offset0 = 4;
17128 nvar_baseline_offset1 = 0;
17136 if ((freq >= 4920) && (freq <= 5320)) {
17137 nvar_baseline_offset0 = 4;
17138 nvar_baseline_offset1 = 5;
17139 } else if ((freq > 5320) && (freq <= 5550)) {
17140 nvar_baseline_offset0 = 4;
17141 nvar_baseline_offset1 = 2;
17143 nvar_baseline_offset0 = 5;
17144 nvar_baseline_offset1 = 3;
17148 write_phy_reg(pi, 0x20, init_gaincode);
17149 write_phy_reg(pi, 0x2a7, init_gaincode);
17151 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
17152 pi->pubpi.phy_corenum, 0x106, 16,
17155 write_phy_reg(pi, 0x22, clip1hi_gaincode);
17156 write_phy_reg(pi, 0x2a9, clip1hi_gaincode);
17158 write_phy_reg(pi, 0x36, clip1md_gaincode_B);
17159 write_phy_reg(pi, 0x2ac, clip1md_gaincode_B);
17161 write_phy_reg(pi, 0x37, clip1lo_gaincode);
17162 write_phy_reg(pi, 0x2ad, clip1lo_gaincode);
17163 write_phy_reg(pi, 0x38, clip1lo_gaincode_B);
17164 write_phy_reg(pi, 0x2ae, clip1lo_gaincode_B);
17166 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 10, 0x20, 8,
17168 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 10, 0x20, 8,
17171 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS1, 10, 0x20, 8,
17173 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS2, 10, 0x20, 8,
17176 mod_phy_reg(pi, 0x283, (0xff << 0), (crsminu_th << 0));
17178 if (chg_nbclip_th == 1) {
17179 write_phy_reg(pi, 0x2b, nbclip_th);
17180 write_phy_reg(pi, 0x41, nbclip_th);
17183 mod_phy_reg(pi, 0x300, (0x3f << 0), (w1clip_th << 0));
17184 mod_phy_reg(pi, 0x301, (0x3f << 0), (w1clip_th << 0));
17186 mod_phy_reg(pi, 0x2e4,
17187 (0x3f << 0), (nvar_baseline_offset0 << 0));
17189 mod_phy_reg(pi, 0x2e4,
17190 (0x3f << 6), (nvar_baseline_offset1 << 6));
17192 if (CHSPEC_IS20(pi->radio_chanspec)) {
17194 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 8, 8,
17196 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 8, 8,
17199 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 0x10,
17201 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 0x10,
17204 write_phy_reg(pi, 0x24, clip1md_gaincode);
17205 write_phy_reg(pi, 0x2ab, clip1md_gaincode);
17207 mod_phy_reg(pi, 0x280, (0xff << 0), (crsminl_th << 0));
17214 static void wlc_phy_adjust_lnagaintbl_nphy(phy_info_t *pi)
17220 u16 minmax_gain[2];
17223 if (pi->phyhang_avoid)
17224 wlc_phy_stay_in_carriersearch_nphy(pi, true);
17226 if (pi->nphy_gain_boost) {
17227 if ((CHSPEC_IS2G(pi->radio_chanspec))) {
17233 curr_channel = CHSPEC_CHANNEL(pi->radio_chanspec);
17236 PHY_HW_ROUND(((nphy_lnagain_est0[0] *
17238 nphy_lnagain_est0[1]), 13);
17241 PHY_HW_ROUND(((nphy_lnagain_est1[0] *
17243 nphy_lnagain_est1[1]), 13);
17251 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
17252 if (pi->nphy_elna_gain_config) {
17254 regval[0] = nphy_def_lnagains[2] + gain_delta[core];
17255 regval[1] = nphy_def_lnagains[3] + gain_delta[core];
17256 regval[2] = nphy_def_lnagains[3] + gain_delta[core];
17257 regval[3] = nphy_def_lnagains[3] + gain_delta[core];
17259 for (ctr = 0; ctr < 4; ctr++) {
17261 nphy_def_lnagains[ctr] + gain_delta[core];
17264 wlc_phy_table_write_nphy(pi, core, 4, 8, 16, regval);
17266 minmax_gain[core] =
17267 (u16) (nphy_def_lnagains[2] + gain_delta[core] + 4);
17270 mod_phy_reg(pi, 0x1e, (0xff << 0), (minmax_gain[0] << 0));
17271 mod_phy_reg(pi, 0x34, (0xff << 0), (minmax_gain[1] << 0));
17273 if (pi->phyhang_avoid)
17274 wlc_phy_stay_in_carriersearch_nphy(pi, false);
17277 void wlc_phy_switch_radio_nphy(phy_info_t *pi, bool on)
17280 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
17281 if (!pi->radio_is_on) {
17282 wlc_phy_radio_preinit_205x(pi);
17283 wlc_phy_radio_init_2057(pi);
17284 wlc_phy_radio_postinit_2057(pi);
17287 wlc_phy_chanspec_set((wlc_phy_t *) pi,
17288 pi->radio_chanspec);
17289 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
17290 wlc_phy_radio_preinit_205x(pi);
17291 wlc_phy_radio_init_2056(pi);
17292 wlc_phy_radio_postinit_2056(pi);
17294 wlc_phy_chanspec_set((wlc_phy_t *) pi,
17295 pi->radio_chanspec);
17297 wlc_phy_radio_preinit_2055(pi);
17298 wlc_phy_radio_init_2055(pi);
17299 wlc_phy_radio_postinit_2055(pi);
17302 pi->radio_is_on = true;
17306 if (NREV_GE(pi->pubpi.phy_rev, 3)
17307 && NREV_LT(pi->pubpi.phy_rev, 7)) {
17308 and_phy_reg(pi, 0x78, ~RFCC_CHIP0_PU);
17309 mod_radio_reg(pi, RADIO_2056_SYN_COM_PU, 0x2, 0x0);
17311 write_radio_reg(pi,
17312 RADIO_2056_TX_PADA_BOOST_TUNE |
17313 RADIO_2056_TX0, 0);
17314 write_radio_reg(pi,
17315 RADIO_2056_TX_PADG_BOOST_TUNE |
17316 RADIO_2056_TX0, 0);
17317 write_radio_reg(pi,
17318 RADIO_2056_TX_PGAA_BOOST_TUNE |
17319 RADIO_2056_TX0, 0);
17320 write_radio_reg(pi,
17321 RADIO_2056_TX_PGAG_BOOST_TUNE |
17322 RADIO_2056_TX0, 0);
17324 RADIO_2056_TX_MIXA_BOOST_TUNE |
17325 RADIO_2056_TX0, 0xf0, 0);
17326 write_radio_reg(pi,
17327 RADIO_2056_TX_MIXG_BOOST_TUNE |
17328 RADIO_2056_TX0, 0);
17330 write_radio_reg(pi,
17331 RADIO_2056_TX_PADA_BOOST_TUNE |
17332 RADIO_2056_TX1, 0);
17333 write_radio_reg(pi,
17334 RADIO_2056_TX_PADG_BOOST_TUNE |
17335 RADIO_2056_TX1, 0);
17336 write_radio_reg(pi,
17337 RADIO_2056_TX_PGAA_BOOST_TUNE |
17338 RADIO_2056_TX1, 0);
17339 write_radio_reg(pi,
17340 RADIO_2056_TX_PGAG_BOOST_TUNE |
17341 RADIO_2056_TX1, 0);
17343 RADIO_2056_TX_MIXA_BOOST_TUNE |
17344 RADIO_2056_TX1, 0xf0, 0);
17345 write_radio_reg(pi,
17346 RADIO_2056_TX_MIXG_BOOST_TUNE |
17347 RADIO_2056_TX1, 0);
17349 pi->radio_is_on = false;
17352 if (NREV_GE(pi->pubpi.phy_rev, 8)) {
17353 and_phy_reg(pi, 0x78, ~RFCC_CHIP0_PU);
17354 pi->radio_is_on = false;
17360 static void wlc_phy_radio_preinit_2055(phy_info_t *pi)
17363 and_phy_reg(pi, 0x78, ~RFCC_POR_FORCE);
17364 or_phy_reg(pi, 0x78, RFCC_CHIP0_PU | RFCC_OE_POR_FORCE);
17366 or_phy_reg(pi, 0x78, RFCC_POR_FORCE);
17369 static void wlc_phy_radio_init_2055(phy_info_t *pi)
17371 wlc_phy_init_radio_regs(pi, regs_2055, RADIO_DEFAULT_CORE);
17374 static void wlc_phy_radio_postinit_2055(phy_info_t *pi)
17377 and_radio_reg(pi, RADIO_2055_MASTER_CNTRL1,
17378 ~(RADIO_2055_JTAGCTRL_MASK | RADIO_2055_JTAGSYNC_MASK));
17380 if (((pi->sh->sromrev >= 4)
17381 && !(pi->sh->boardflags2 & BFL2_RXBB_INT_REG_DIS))
17382 || ((pi->sh->sromrev < 4))) {
17383 and_radio_reg(pi, RADIO_2055_CORE1_RXBB_REGULATOR, 0x7F);
17384 and_radio_reg(pi, RADIO_2055_CORE2_RXBB_REGULATOR, 0x7F);
17387 mod_radio_reg(pi, RADIO_2055_RRCCAL_N_OPT_SEL, 0x3F, 0x2C);
17388 write_radio_reg(pi, RADIO_2055_CAL_MISC, 0x3C);
17390 and_radio_reg(pi, RADIO_2055_CAL_MISC,
17391 ~(RADIO_2055_RRCAL_START | RADIO_2055_RRCAL_RST_N));
17393 or_radio_reg(pi, RADIO_2055_CAL_LPO_CNTRL, RADIO_2055_CAL_LPO_ENABLE);
17395 or_radio_reg(pi, RADIO_2055_CAL_MISC, RADIO_2055_RRCAL_RST_N);
17399 or_radio_reg(pi, RADIO_2055_CAL_MISC, RADIO_2055_RRCAL_START);
17401 SPINWAIT(((read_radio_reg(pi, RADIO_2055_CAL_COUNTER_OUT2) &
17402 RADIO_2055_RCAL_DONE) != RADIO_2055_RCAL_DONE), 2000);
17404 if (WARN((read_radio_reg(pi, RADIO_2055_CAL_COUNTER_OUT2) &
17405 RADIO_2055_RCAL_DONE) != RADIO_2055_RCAL_DONE,
17406 "HW error: radio calibration1\n"))
17409 and_radio_reg(pi, RADIO_2055_CAL_LPO_CNTRL,
17410 ~(RADIO_2055_CAL_LPO_ENABLE));
17412 wlc_phy_chanspec_set((wlc_phy_t *) pi, pi->radio_chanspec);
17414 write_radio_reg(pi, RADIO_2055_CORE1_RXBB_LPF, 9);
17415 write_radio_reg(pi, RADIO_2055_CORE2_RXBB_LPF, 9);
17417 write_radio_reg(pi, RADIO_2055_CORE1_RXBB_MIDAC_HIPAS, 0x83);
17418 write_radio_reg(pi, RADIO_2055_CORE2_RXBB_MIDAC_HIPAS, 0x83);
17420 mod_radio_reg(pi, RADIO_2055_CORE1_LNA_GAINBST,
17421 RADIO_2055_GAINBST_VAL_MASK, RADIO_2055_GAINBST_CODE);
17422 mod_radio_reg(pi, RADIO_2055_CORE2_LNA_GAINBST,
17423 RADIO_2055_GAINBST_VAL_MASK, RADIO_2055_GAINBST_CODE);
17424 if (pi->nphy_gain_boost) {
17425 and_radio_reg(pi, RADIO_2055_CORE1_RXRF_SPC1,
17426 ~(RADIO_2055_GAINBST_DISABLE));
17427 and_radio_reg(pi, RADIO_2055_CORE2_RXRF_SPC1,
17428 ~(RADIO_2055_GAINBST_DISABLE));
17430 or_radio_reg(pi, RADIO_2055_CORE1_RXRF_SPC1,
17431 RADIO_2055_GAINBST_DISABLE);
17432 or_radio_reg(pi, RADIO_2055_CORE2_RXRF_SPC1,
17433 RADIO_2055_GAINBST_DISABLE);
17439 static void wlc_phy_radio_preinit_205x(phy_info_t *pi)
17442 and_phy_reg(pi, 0x78, ~RFCC_CHIP0_PU);
17443 and_phy_reg(pi, 0x78, RFCC_OE_POR_FORCE);
17445 or_phy_reg(pi, 0x78, ~RFCC_OE_POR_FORCE);
17446 or_phy_reg(pi, 0x78, RFCC_CHIP0_PU);
17450 static void wlc_phy_radio_init_2056(phy_info_t *pi)
17452 radio_regs_t *regs_SYN_2056_ptr = NULL;
17453 radio_regs_t *regs_TX_2056_ptr = NULL;
17454 radio_regs_t *regs_RX_2056_ptr = NULL;
17456 if (NREV_IS(pi->pubpi.phy_rev, 3)) {
17457 regs_SYN_2056_ptr = regs_SYN_2056;
17458 regs_TX_2056_ptr = regs_TX_2056;
17459 regs_RX_2056_ptr = regs_RX_2056;
17460 } else if (NREV_IS(pi->pubpi.phy_rev, 4)) {
17461 regs_SYN_2056_ptr = regs_SYN_2056_A1;
17462 regs_TX_2056_ptr = regs_TX_2056_A1;
17463 regs_RX_2056_ptr = regs_RX_2056_A1;
17465 switch (pi->pubpi.radiorev) {
17467 regs_SYN_2056_ptr = regs_SYN_2056_rev5;
17468 regs_TX_2056_ptr = regs_TX_2056_rev5;
17469 regs_RX_2056_ptr = regs_RX_2056_rev5;
17473 regs_SYN_2056_ptr = regs_SYN_2056_rev6;
17474 regs_TX_2056_ptr = regs_TX_2056_rev6;
17475 regs_RX_2056_ptr = regs_RX_2056_rev6;
17480 regs_SYN_2056_ptr = regs_SYN_2056_rev7;
17481 regs_TX_2056_ptr = regs_TX_2056_rev7;
17482 regs_RX_2056_ptr = regs_RX_2056_rev7;
17486 regs_SYN_2056_ptr = regs_SYN_2056_rev8;
17487 regs_TX_2056_ptr = regs_TX_2056_rev8;
17488 regs_RX_2056_ptr = regs_RX_2056_rev8;
17492 regs_SYN_2056_ptr = regs_SYN_2056_rev11;
17493 regs_TX_2056_ptr = regs_TX_2056_rev11;
17494 regs_RX_2056_ptr = regs_RX_2056_rev11;
17502 wlc_phy_init_radio_regs(pi, regs_SYN_2056_ptr, (u16) RADIO_2056_SYN);
17504 wlc_phy_init_radio_regs(pi, regs_TX_2056_ptr, (u16) RADIO_2056_TX0);
17506 wlc_phy_init_radio_regs(pi, regs_TX_2056_ptr, (u16) RADIO_2056_TX1);
17508 wlc_phy_init_radio_regs(pi, regs_RX_2056_ptr, (u16) RADIO_2056_RX0);
17510 wlc_phy_init_radio_regs(pi, regs_RX_2056_ptr, (u16) RADIO_2056_RX1);
17513 static void wlc_phy_radio_postinit_2056(phy_info_t *pi)
17515 mod_radio_reg(pi, RADIO_2056_SYN_COM_CTRL, 0xb, 0xb);
17517 mod_radio_reg(pi, RADIO_2056_SYN_COM_PU, 0x2, 0x2);
17518 mod_radio_reg(pi, RADIO_2056_SYN_COM_RESET, 0x2, 0x2);
17520 mod_radio_reg(pi, RADIO_2056_SYN_COM_RESET, 0x2, 0x0);
17522 if ((pi->sh->boardflags2 & BFL2_LEGACY)
17523 || (pi->sh->boardflags2 & BFL2_XTALBUFOUTEN)) {
17525 mod_radio_reg(pi, RADIO_2056_SYN_PLL_MAST2, 0xf4, 0x0);
17528 mod_radio_reg(pi, RADIO_2056_SYN_PLL_MAST2, 0xfc, 0x0);
17531 mod_radio_reg(pi, RADIO_2056_SYN_RCCAL_CTRL0, 0x1, 0x0);
17533 if (pi->phy_init_por) {
17534 wlc_phy_radio205x_rcal(pi);
17538 static void wlc_phy_radio_init_2057(phy_info_t *pi)
17540 radio_20xx_regs_t *regs_2057_ptr = NULL;
17542 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
17544 regs_2057_ptr = regs_2057_rev4;
17545 } else if (NREV_IS(pi->pubpi.phy_rev, 8)
17546 || NREV_IS(pi->pubpi.phy_rev, 9)) {
17547 switch (pi->pubpi.radiorev) {
17550 if (pi->pubpi.radiover == 0x0) {
17552 regs_2057_ptr = regs_2057_rev5;
17554 } else if (pi->pubpi.radiover == 0x1) {
17556 regs_2057_ptr = regs_2057_rev5v1;
17563 regs_2057_ptr = regs_2057_rev7;
17568 regs_2057_ptr = regs_2057_rev8;
17576 wlc_phy_init_radio_regs_allbands(pi, regs_2057_ptr);
17579 static void wlc_phy_radio_postinit_2057(phy_info_t *pi)
17582 mod_radio_reg(pi, RADIO_2057_XTALPUOVR_PINCTRL, 0x1, 0x1);
17584 if (pi->sh->chip == !BCM6362_CHIP_ID) {
17586 mod_radio_reg(pi, RADIO_2057_XTALPUOVR_PINCTRL, 0x2, 0x2);
17589 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_CAL_RESETN, 0x78, 0x78);
17590 mod_radio_reg(pi, RADIO_2057_XTAL_CONFIG2, 0x80, 0x80);
17592 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_CAL_RESETN, 0x78, 0x0);
17593 mod_radio_reg(pi, RADIO_2057_XTAL_CONFIG2, 0x80, 0x0);
17595 if (pi->phy_init_por) {
17596 wlc_phy_radio205x_rcal(pi);
17597 wlc_phy_radio2057_rccal(pi);
17600 mod_radio_reg(pi, RADIO_2057_RFPLL_MASTER, 0x8, 0x0);
17604 wlc_phy_chan2freq_nphy(phy_info_t *pi, uint channel, int *f,
17605 chan_info_nphy_radio2057_t **t0,
17606 chan_info_nphy_radio205x_t **t1,
17607 chan_info_nphy_radio2057_rev5_t **t2,
17608 chan_info_nphy_2055_t **t3)
17611 chan_info_nphy_radio2057_t *chan_info_tbl_p_0 = NULL;
17612 chan_info_nphy_radio205x_t *chan_info_tbl_p_1 = NULL;
17613 chan_info_nphy_radio2057_rev5_t *chan_info_tbl_p_2 = NULL;
17618 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
17620 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
17622 chan_info_tbl_p_0 = chan_info_nphyrev7_2057_rev4;
17623 tbl_len = ARRAY_SIZE(chan_info_nphyrev7_2057_rev4);
17625 } else if (NREV_IS(pi->pubpi.phy_rev, 8)
17626 || NREV_IS(pi->pubpi.phy_rev, 9)) {
17627 switch (pi->pubpi.radiorev) {
17631 if (pi->pubpi.radiover == 0x0) {
17633 chan_info_tbl_p_2 =
17634 chan_info_nphyrev8_2057_rev5;
17637 (chan_info_nphyrev8_2057_rev5);
17639 } else if (pi->pubpi.radiover == 0x1) {
17641 chan_info_tbl_p_2 =
17642 chan_info_nphyrev9_2057_rev5v1;
17645 (chan_info_nphyrev9_2057_rev5v1);
17651 chan_info_tbl_p_0 =
17652 chan_info_nphyrev8_2057_rev7;
17654 ARRAY_SIZE(chan_info_nphyrev8_2057_rev7);
17658 chan_info_tbl_p_0 =
17659 chan_info_nphyrev8_2057_rev8;
17661 ARRAY_SIZE(chan_info_nphyrev8_2057_rev8);
17665 if (NORADIO_ENAB(pi->pubpi)) {
17670 } else if (NREV_IS(pi->pubpi.phy_rev, 16)) {
17672 chan_info_tbl_p_0 = chan_info_nphyrev8_2057_rev8;
17673 tbl_len = ARRAY_SIZE(chan_info_nphyrev8_2057_rev8);
17678 for (i = 0; i < tbl_len; i++) {
17679 if (pi->pubpi.radiorev == 5) {
17681 if (chan_info_tbl_p_2[i].chan == channel)
17685 if (chan_info_tbl_p_0[i].chan == channel)
17690 if (i >= tbl_len) {
17693 if (pi->pubpi.radiorev == 5) {
17694 *t2 = &chan_info_tbl_p_2[i];
17695 freq = chan_info_tbl_p_2[i].freq;
17697 *t0 = &chan_info_tbl_p_0[i];
17698 freq = chan_info_tbl_p_0[i].freq;
17701 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
17702 if (NREV_IS(pi->pubpi.phy_rev, 3)) {
17703 chan_info_tbl_p_1 = chan_info_nphyrev3_2056;
17704 tbl_len = ARRAY_SIZE(chan_info_nphyrev3_2056);
17705 } else if (NREV_IS(pi->pubpi.phy_rev, 4)) {
17706 chan_info_tbl_p_1 = chan_info_nphyrev4_2056_A1;
17707 tbl_len = ARRAY_SIZE(chan_info_nphyrev4_2056_A1);
17708 } else if (NREV_IS(pi->pubpi.phy_rev, 5)
17709 || NREV_IS(pi->pubpi.phy_rev, 6)) {
17710 switch (pi->pubpi.radiorev) {
17712 chan_info_tbl_p_1 = chan_info_nphyrev5_2056v5;
17713 tbl_len = ARRAY_SIZE(chan_info_nphyrev5_2056v5);
17716 chan_info_tbl_p_1 = chan_info_nphyrev6_2056v6;
17717 tbl_len = ARRAY_SIZE(chan_info_nphyrev6_2056v6);
17721 chan_info_tbl_p_1 = chan_info_nphyrev5n6_2056v7;
17723 ARRAY_SIZE(chan_info_nphyrev5n6_2056v7);
17726 chan_info_tbl_p_1 = chan_info_nphyrev6_2056v8;
17727 tbl_len = ARRAY_SIZE(chan_info_nphyrev6_2056v8);
17730 chan_info_tbl_p_1 = chan_info_nphyrev6_2056v11;
17731 tbl_len = ARRAY_SIZE(chan_info_nphyrev6_2056v11);
17734 if (NORADIO_ENAB(pi->pubpi)) {
17741 for (i = 0; i < tbl_len; i++) {
17742 if (chan_info_tbl_p_1[i].chan == channel)
17746 if (i >= tbl_len) {
17749 *t1 = &chan_info_tbl_p_1[i];
17750 freq = chan_info_tbl_p_1[i].freq;
17753 for (i = 0; i < ARRAY_SIZE(chan_info_nphy_2055); i++)
17754 if (chan_info_nphy_2055[i].chan == channel)
17757 if (i >= ARRAY_SIZE(chan_info_nphy_2055)) {
17760 *t3 = &chan_info_nphy_2055[i];
17761 freq = chan_info_nphy_2055[i].freq;
17768 *f = WL_CHAN_FREQ_RANGE_2G;
17772 u8 wlc_phy_get_chan_freq_range_nphy(phy_info_t *pi, uint channel)
17775 chan_info_nphy_radio2057_t *t0 = NULL;
17776 chan_info_nphy_radio205x_t *t1 = NULL;
17777 chan_info_nphy_radio2057_rev5_t *t2 = NULL;
17778 chan_info_nphy_2055_t *t3 = NULL;
17780 if (NORADIO_ENAB(pi->pubpi))
17781 return WL_CHAN_FREQ_RANGE_2G;
17784 channel = CHSPEC_CHANNEL(pi->radio_chanspec);
17786 wlc_phy_chan2freq_nphy(pi, channel, &freq, &t0, &t1, &t2, &t3);
17788 if (CHSPEC_IS2G(pi->radio_chanspec))
17789 return WL_CHAN_FREQ_RANGE_2G;
17791 if ((freq >= BASE_LOW_5G_CHAN) && (freq < BASE_MID_5G_CHAN)) {
17792 return WL_CHAN_FREQ_RANGE_5GL;
17793 } else if ((freq >= BASE_MID_5G_CHAN) && (freq < BASE_HIGH_5G_CHAN)) {
17794 return WL_CHAN_FREQ_RANGE_5GM;
17796 return WL_CHAN_FREQ_RANGE_5GH;
17801 wlc_phy_chanspec_radio2055_setup(phy_info_t *pi, chan_info_nphy_2055_t *ci)
17804 write_radio_reg(pi, RADIO_2055_PLL_REF, ci->RF_pll_ref);
17805 write_radio_reg(pi, RADIO_2055_RF_PLL_MOD0, ci->RF_rf_pll_mod0);
17806 write_radio_reg(pi, RADIO_2055_RF_PLL_MOD1, ci->RF_rf_pll_mod1);
17807 write_radio_reg(pi, RADIO_2055_VCO_CAP_TAIL, ci->RF_vco_cap_tail);
17809 WLC_PHY_WAR_PR51571(pi);
17811 write_radio_reg(pi, RADIO_2055_VCO_CAL1, ci->RF_vco_cal1);
17812 write_radio_reg(pi, RADIO_2055_VCO_CAL2, ci->RF_vco_cal2);
17813 write_radio_reg(pi, RADIO_2055_PLL_LF_C1, ci->RF_pll_lf_c1);
17814 write_radio_reg(pi, RADIO_2055_PLL_LF_R1, ci->RF_pll_lf_r1);
17816 WLC_PHY_WAR_PR51571(pi);
17818 write_radio_reg(pi, RADIO_2055_PLL_LF_C2, ci->RF_pll_lf_c2);
17819 write_radio_reg(pi, RADIO_2055_LGBUF_CEN_BUF, ci->RF_lgbuf_cen_buf);
17820 write_radio_reg(pi, RADIO_2055_LGEN_TUNE1, ci->RF_lgen_tune1);
17821 write_radio_reg(pi, RADIO_2055_LGEN_TUNE2, ci->RF_lgen_tune2);
17823 WLC_PHY_WAR_PR51571(pi);
17825 write_radio_reg(pi, RADIO_2055_CORE1_LGBUF_A_TUNE,
17826 ci->RF_core1_lgbuf_a_tune);
17827 write_radio_reg(pi, RADIO_2055_CORE1_LGBUF_G_TUNE,
17828 ci->RF_core1_lgbuf_g_tune);
17829 write_radio_reg(pi, RADIO_2055_CORE1_RXRF_REG1, ci->RF_core1_rxrf_reg1);
17830 write_radio_reg(pi, RADIO_2055_CORE1_TX_PGA_PAD_TN,
17831 ci->RF_core1_tx_pga_pad_tn);
17833 WLC_PHY_WAR_PR51571(pi);
17835 write_radio_reg(pi, RADIO_2055_CORE1_TX_MX_BGTRIM,
17836 ci->RF_core1_tx_mx_bgtrim);
17837 write_radio_reg(pi, RADIO_2055_CORE2_LGBUF_A_TUNE,
17838 ci->RF_core2_lgbuf_a_tune);
17839 write_radio_reg(pi, RADIO_2055_CORE2_LGBUF_G_TUNE,
17840 ci->RF_core2_lgbuf_g_tune);
17841 write_radio_reg(pi, RADIO_2055_CORE2_RXRF_REG1, ci->RF_core2_rxrf_reg1);
17843 WLC_PHY_WAR_PR51571(pi);
17845 write_radio_reg(pi, RADIO_2055_CORE2_TX_PGA_PAD_TN,
17846 ci->RF_core2_tx_pga_pad_tn);
17847 write_radio_reg(pi, RADIO_2055_CORE2_TX_MX_BGTRIM,
17848 ci->RF_core2_tx_mx_bgtrim);
17852 write_radio_reg(pi, RADIO_2055_VCO_CAL10, 0x05);
17853 write_radio_reg(pi, RADIO_2055_VCO_CAL10, 0x45);
17855 WLC_PHY_WAR_PR51571(pi);
17857 write_radio_reg(pi, RADIO_2055_VCO_CAL10, 0x65);
17863 wlc_phy_chanspec_radio2056_setup(phy_info_t *pi,
17864 const chan_info_nphy_radio205x_t *ci)
17866 radio_regs_t *regs_SYN_2056_ptr = NULL;
17868 write_radio_reg(pi,
17869 RADIO_2056_SYN_PLL_VCOCAL1 | RADIO_2056_SYN,
17870 ci->RF_SYN_pll_vcocal1);
17871 write_radio_reg(pi, RADIO_2056_SYN_PLL_VCOCAL2 | RADIO_2056_SYN,
17872 ci->RF_SYN_pll_vcocal2);
17873 write_radio_reg(pi, RADIO_2056_SYN_PLL_REFDIV | RADIO_2056_SYN,
17874 ci->RF_SYN_pll_refdiv);
17875 write_radio_reg(pi, RADIO_2056_SYN_PLL_MMD2 | RADIO_2056_SYN,
17876 ci->RF_SYN_pll_mmd2);
17877 write_radio_reg(pi, RADIO_2056_SYN_PLL_MMD1 | RADIO_2056_SYN,
17878 ci->RF_SYN_pll_mmd1);
17879 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER1 | RADIO_2056_SYN,
17880 ci->RF_SYN_pll_loopfilter1);
17881 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER2 | RADIO_2056_SYN,
17882 ci->RF_SYN_pll_loopfilter2);
17883 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER3 | RADIO_2056_SYN,
17884 ci->RF_SYN_pll_loopfilter3);
17885 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER4 | RADIO_2056_SYN,
17886 ci->RF_SYN_pll_loopfilter4);
17887 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER5 | RADIO_2056_SYN,
17888 ci->RF_SYN_pll_loopfilter5);
17889 write_radio_reg(pi, RADIO_2056_SYN_RESERVED_ADDR27 | RADIO_2056_SYN,
17890 ci->RF_SYN_reserved_addr27);
17891 write_radio_reg(pi, RADIO_2056_SYN_RESERVED_ADDR28 | RADIO_2056_SYN,
17892 ci->RF_SYN_reserved_addr28);
17893 write_radio_reg(pi, RADIO_2056_SYN_RESERVED_ADDR29 | RADIO_2056_SYN,
17894 ci->RF_SYN_reserved_addr29);
17895 write_radio_reg(pi, RADIO_2056_SYN_LOGEN_VCOBUF1 | RADIO_2056_SYN,
17896 ci->RF_SYN_logen_VCOBUF1);
17897 write_radio_reg(pi, RADIO_2056_SYN_LOGEN_MIXER2 | RADIO_2056_SYN,
17898 ci->RF_SYN_logen_MIXER2);
17899 write_radio_reg(pi, RADIO_2056_SYN_LOGEN_BUF3 | RADIO_2056_SYN,
17900 ci->RF_SYN_logen_BUF3);
17901 write_radio_reg(pi, RADIO_2056_SYN_LOGEN_BUF4 | RADIO_2056_SYN,
17902 ci->RF_SYN_logen_BUF4);
17904 write_radio_reg(pi,
17905 RADIO_2056_RX_LNAA_TUNE | RADIO_2056_RX0,
17906 ci->RF_RX0_lnaa_tune);
17907 write_radio_reg(pi, RADIO_2056_RX_LNAG_TUNE | RADIO_2056_RX0,
17908 ci->RF_RX0_lnag_tune);
17909 write_radio_reg(pi, RADIO_2056_TX_INTPAA_BOOST_TUNE | RADIO_2056_TX0,
17910 ci->RF_TX0_intpaa_boost_tune);
17911 write_radio_reg(pi, RADIO_2056_TX_INTPAG_BOOST_TUNE | RADIO_2056_TX0,
17912 ci->RF_TX0_intpag_boost_tune);
17913 write_radio_reg(pi, RADIO_2056_TX_PADA_BOOST_TUNE | RADIO_2056_TX0,
17914 ci->RF_TX0_pada_boost_tune);
17915 write_radio_reg(pi, RADIO_2056_TX_PADG_BOOST_TUNE | RADIO_2056_TX0,
17916 ci->RF_TX0_padg_boost_tune);
17917 write_radio_reg(pi, RADIO_2056_TX_PGAA_BOOST_TUNE | RADIO_2056_TX0,
17918 ci->RF_TX0_pgaa_boost_tune);
17919 write_radio_reg(pi, RADIO_2056_TX_PGAG_BOOST_TUNE | RADIO_2056_TX0,
17920 ci->RF_TX0_pgag_boost_tune);
17921 write_radio_reg(pi, RADIO_2056_TX_MIXA_BOOST_TUNE | RADIO_2056_TX0,
17922 ci->RF_TX0_mixa_boost_tune);
17923 write_radio_reg(pi, RADIO_2056_TX_MIXG_BOOST_TUNE | RADIO_2056_TX0,
17924 ci->RF_TX0_mixg_boost_tune);
17926 write_radio_reg(pi,
17927 RADIO_2056_RX_LNAA_TUNE | RADIO_2056_RX1,
17928 ci->RF_RX1_lnaa_tune);
17929 write_radio_reg(pi, RADIO_2056_RX_LNAG_TUNE | RADIO_2056_RX1,
17930 ci->RF_RX1_lnag_tune);
17931 write_radio_reg(pi, RADIO_2056_TX_INTPAA_BOOST_TUNE | RADIO_2056_TX1,
17932 ci->RF_TX1_intpaa_boost_tune);
17933 write_radio_reg(pi, RADIO_2056_TX_INTPAG_BOOST_TUNE | RADIO_2056_TX1,
17934 ci->RF_TX1_intpag_boost_tune);
17935 write_radio_reg(pi, RADIO_2056_TX_PADA_BOOST_TUNE | RADIO_2056_TX1,
17936 ci->RF_TX1_pada_boost_tune);
17937 write_radio_reg(pi, RADIO_2056_TX_PADG_BOOST_TUNE | RADIO_2056_TX1,
17938 ci->RF_TX1_padg_boost_tune);
17939 write_radio_reg(pi, RADIO_2056_TX_PGAA_BOOST_TUNE | RADIO_2056_TX1,
17940 ci->RF_TX1_pgaa_boost_tune);
17941 write_radio_reg(pi, RADIO_2056_TX_PGAG_BOOST_TUNE | RADIO_2056_TX1,
17942 ci->RF_TX1_pgag_boost_tune);
17943 write_radio_reg(pi, RADIO_2056_TX_MIXA_BOOST_TUNE | RADIO_2056_TX1,
17944 ci->RF_TX1_mixa_boost_tune);
17945 write_radio_reg(pi, RADIO_2056_TX_MIXG_BOOST_TUNE | RADIO_2056_TX1,
17946 ci->RF_TX1_mixg_boost_tune);
17948 if (NREV_IS(pi->pubpi.phy_rev, 3))
17949 regs_SYN_2056_ptr = regs_SYN_2056;
17950 else if (NREV_IS(pi->pubpi.phy_rev, 4))
17951 regs_SYN_2056_ptr = regs_SYN_2056_A1;
17953 switch (pi->pubpi.radiorev) {
17955 regs_SYN_2056_ptr = regs_SYN_2056_rev5;
17958 regs_SYN_2056_ptr = regs_SYN_2056_rev6;
17962 regs_SYN_2056_ptr = regs_SYN_2056_rev7;
17965 regs_SYN_2056_ptr = regs_SYN_2056_rev8;
17968 regs_SYN_2056_ptr = regs_SYN_2056_rev11;
17972 if (CHSPEC_IS2G(pi->radio_chanspec)) {
17973 write_radio_reg(pi, RADIO_2056_SYN_PLL_CP2 |
17975 (u16) regs_SYN_2056_ptr[0x49 - 2].init_g);
17977 write_radio_reg(pi, RADIO_2056_SYN_PLL_CP2 |
17979 (u16) regs_SYN_2056_ptr[0x49 - 2].init_a);
17982 if (pi->sh->boardflags2 & BFL2_GPLL_WAR) {
17983 if (CHSPEC_IS2G(pi->radio_chanspec)) {
17984 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER1 |
17985 RADIO_2056_SYN, 0x1f);
17986 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER2 |
17987 RADIO_2056_SYN, 0x1f);
17989 if ((pi->sh->chip == BCM4716_CHIP_ID) ||
17990 (pi->sh->chip == BCM47162_CHIP_ID)) {
17992 write_radio_reg(pi,
17993 RADIO_2056_SYN_PLL_LOOPFILTER4 |
17994 RADIO_2056_SYN, 0x14);
17995 write_radio_reg(pi,
17996 RADIO_2056_SYN_PLL_CP2 |
17997 RADIO_2056_SYN, 0x00);
17999 write_radio_reg(pi,
18000 RADIO_2056_SYN_PLL_LOOPFILTER4 |
18001 RADIO_2056_SYN, 0xb);
18002 write_radio_reg(pi,
18003 RADIO_2056_SYN_PLL_CP2 |
18004 RADIO_2056_SYN, 0x14);
18009 if ((pi->sh->boardflags2 & BFL2_GPLL_WAR2) &&
18010 (CHSPEC_IS2G(pi->radio_chanspec))) {
18011 write_radio_reg(pi,
18012 RADIO_2056_SYN_PLL_LOOPFILTER1 | RADIO_2056_SYN,
18014 write_radio_reg(pi,
18015 RADIO_2056_SYN_PLL_LOOPFILTER2 | RADIO_2056_SYN,
18017 write_radio_reg(pi,
18018 RADIO_2056_SYN_PLL_LOOPFILTER4 | RADIO_2056_SYN,
18020 write_radio_reg(pi, RADIO_2056_SYN_PLL_CP2 | RADIO_2056_SYN,
18024 if (pi->sh->boardflags2 & BFL2_APLL_WAR) {
18025 if (CHSPEC_IS5G(pi->radio_chanspec)) {
18026 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER1 |
18027 RADIO_2056_SYN, 0x1f);
18028 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER2 |
18029 RADIO_2056_SYN, 0x1f);
18030 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER4 |
18031 RADIO_2056_SYN, 0x5);
18032 write_radio_reg(pi, RADIO_2056_SYN_PLL_CP2 |
18033 RADIO_2056_SYN, 0xc);
18037 if (PHY_IPA(pi) && CHSPEC_IS2G(pi->radio_chanspec)) {
18038 u16 pag_boost_tune;
18039 u16 padg_boost_tune;
18040 u16 pgag_boost_tune;
18041 u16 mixg_boost_tune;
18042 u16 bias, cascbias;
18045 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
18047 if (NREV_GE(pi->pubpi.phy_rev, 5)) {
18049 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18052 if ((pi->sh->chip == BCM4716_CHIP_ID) ||
18054 BCM47162_CHIP_ID)) {
18057 pag_boost_tune = 0x5;
18058 pgag_boost_tune = 0x33;
18059 padg_boost_tune = 0x77;
18060 mixg_boost_tune = 0x55;
18065 if ((pi->sh->chip ==
18067 || (pi->sh->chip ==
18069 || (pi->sh->chip ==
18070 BCM43421_CHIP_ID)) {
18071 if (pi->sh->chippkg ==
18072 BCM43224_FAB_SMIC) {
18078 pag_boost_tune = 0x4;
18079 pgag_boost_tune = 0x03;
18080 padg_boost_tune = 0x77;
18081 mixg_boost_tune = 0x65;
18084 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18085 INTPAG_IMAIN_STAT, bias);
18086 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18087 INTPAG_IAUX_STAT, bias);
18088 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18089 INTPAG_CASCBIAS, cascbias);
18091 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18094 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18097 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18100 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18105 bias = IS40MHZ(pi) ? 0x40 : 0x20;
18107 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18108 INTPAG_IMAIN_STAT, bias);
18109 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18110 INTPAG_IAUX_STAT, bias);
18111 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18112 INTPAG_CASCBIAS, 0x30);
18114 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, PA_SPARE1,
18119 if (PHY_IPA(pi) && NREV_IS(pi->pubpi.phy_rev, 6)
18120 && CHSPEC_IS5G(pi->radio_chanspec)) {
18121 u16 paa_boost_tune;
18122 u16 pada_boost_tune;
18123 u16 pgaa_boost_tune;
18124 u16 mixa_boost_tune;
18125 u16 freq, pabias, cascbias;
18128 freq = CHAN5G_FREQ(CHSPEC_CHANNEL(pi->radio_chanspec));
18132 paa_boost_tune = 0xa;
18133 pada_boost_tune = 0x77;
18134 pgaa_boost_tune = 0xf;
18135 mixa_boost_tune = 0xf;
18136 } else if (freq < 5340) {
18138 paa_boost_tune = 0x8;
18139 pada_boost_tune = 0x77;
18140 pgaa_boost_tune = 0xfb;
18141 mixa_boost_tune = 0xf;
18142 } else if (freq < 5650) {
18144 paa_boost_tune = 0x0;
18145 pada_boost_tune = 0x77;
18146 pgaa_boost_tune = 0xb;
18147 mixa_boost_tune = 0xf;
18150 paa_boost_tune = 0x0;
18151 pada_boost_tune = 0x77;
18152 if (freq != 5825) {
18153 pgaa_boost_tune = -(int)(freq - 18) / 36 + 168;
18155 pgaa_boost_tune = 6;
18157 mixa_boost_tune = 0xf;
18160 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
18161 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18162 INTPAA_BOOST_TUNE, paa_boost_tune);
18163 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18164 PADA_BOOST_TUNE, pada_boost_tune);
18165 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18166 PGAA_BOOST_TUNE, pgaa_boost_tune);
18167 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18168 MIXA_BOOST_TUNE, mixa_boost_tune);
18170 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18172 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18175 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18176 PADA_CASCBIAS, 0x3);
18180 if ((pi->sh->chip == BCM43224_CHIP_ID) ||
18181 (pi->sh->chip == BCM43225_CHIP_ID) ||
18182 (pi->sh->chip == BCM43421_CHIP_ID)) {
18183 if (pi->sh->chippkg == BCM43224_FAB_SMIC) {
18188 pabias = (pi->phy_pabias == 0) ? 0x30 : pi->phy_pabias;
18190 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18191 INTPAA_IAUX_STAT, pabias);
18192 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18193 INTPAA_IMAIN_STAT, pabias);
18194 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18195 INTPAA_CASCBIAS, cascbias);
18201 wlc_phy_radio205x_vcocal_nphy(pi);
18204 void wlc_phy_radio205x_vcocal_nphy(phy_info_t *pi)
18206 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
18207 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_EN, 0x01, 0x0);
18208 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_CAL_RESETN, 0x04, 0x0);
18209 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_CAL_RESETN, 0x04,
18211 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_EN, 0x01, 0x01);
18212 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
18213 write_radio_reg(pi, RADIO_2056_SYN_PLL_VCOCAL12, 0x0);
18214 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST3, 0x38);
18215 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST3, 0x18);
18216 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST3, 0x38);
18217 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST3, 0x39);
18223 #define MAX_205x_RCAL_WAITLOOPS 10000
18225 static u16 wlc_phy_radio205x_rcal(phy_info_t *pi)
18230 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
18232 if (pi->pubpi.radiorev == 5) {
18234 and_phy_reg(pi, 0x342, ~(0x1 << 1));
18238 mod_radio_reg(pi, RADIO_2057_IQTEST_SEL_PU, 0x1, 0x1);
18239 mod_radio_reg(pi, RADIO_2057v7_IQTEST_SEL_PU2, 0x2,
18242 mod_radio_reg(pi, RADIO_2057_RCAL_CONFIG, 0x1, 0x1);
18246 mod_radio_reg(pi, RADIO_2057_RCAL_CONFIG, 0x3, 0x3);
18248 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
18249 rcal_reg = read_radio_reg(pi, RADIO_2057_RCAL_STATUS);
18250 if (rcal_reg & 0x1) {
18256 if (WARN(i == MAX_205x_RCAL_WAITLOOPS,
18257 "HW error: radio calib2"))
18260 mod_radio_reg(pi, RADIO_2057_RCAL_CONFIG, 0x2, 0x0);
18262 rcal_reg = read_radio_reg(pi, RADIO_2057_RCAL_STATUS) & 0x3e;
18264 mod_radio_reg(pi, RADIO_2057_RCAL_CONFIG, 0x1, 0x0);
18265 if (pi->pubpi.radiorev == 5) {
18267 mod_radio_reg(pi, RADIO_2057_IQTEST_SEL_PU, 0x1, 0x0);
18268 mod_radio_reg(pi, RADIO_2057v7_IQTEST_SEL_PU2, 0x2,
18272 if ((pi->pubpi.radiorev <= 4) || (pi->pubpi.radiorev == 6)) {
18274 mod_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG, 0x3c,
18276 mod_radio_reg(pi, RADIO_2057_BANDGAP_RCAL_TRIM, 0xf0,
18280 } else if (NREV_IS(pi->pubpi.phy_rev, 3)) {
18285 RADIO_2056_SYN_PLL_MAST2 | RADIO_2056_SYN);
18286 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST2 | RADIO_2056_SYN,
18290 write_radio_reg(pi, RADIO_2056_SYN_RCAL_MASTER | RADIO_2056_SYN,
18294 write_radio_reg(pi, RADIO_2056_SYN_RCAL_MASTER | RADIO_2056_SYN,
18297 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
18298 rcal_reg = read_radio_reg(pi,
18299 RADIO_2056_SYN_RCAL_CODE_OUT |
18301 if (rcal_reg & 0x80) {
18307 if (WARN(i == MAX_205x_RCAL_WAITLOOPS,
18308 "HW error: radio calib3"))
18311 write_radio_reg(pi, RADIO_2056_SYN_RCAL_MASTER | RADIO_2056_SYN,
18316 RADIO_2056_SYN_RCAL_CODE_OUT |
18319 write_radio_reg(pi, RADIO_2056_SYN_RCAL_MASTER | RADIO_2056_SYN,
18322 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST2 | RADIO_2056_SYN,
18325 return rcal_reg & 0x1f;
18327 return rcal_reg & 0x3e;
18331 wlc_phy_chanspec_radio2057_setup(phy_info_t *pi,
18332 const chan_info_nphy_radio2057_t *ci,
18333 const chan_info_nphy_radio2057_rev5_t *ci2)
18336 u16 txmix2g_tune_boost_pu = 0;
18337 u16 pad2g_tune_pus = 0;
18339 if (pi->pubpi.radiorev == 5) {
18341 write_radio_reg(pi,
18342 RADIO_2057_VCOCAL_COUNTVAL0,
18343 ci2->RF_vcocal_countval0);
18344 write_radio_reg(pi, RADIO_2057_VCOCAL_COUNTVAL1,
18345 ci2->RF_vcocal_countval1);
18346 write_radio_reg(pi, RADIO_2057_RFPLL_REFMASTER_SPAREXTALSIZE,
18347 ci2->RF_rfpll_refmaster_sparextalsize);
18348 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18349 ci2->RF_rfpll_loopfilter_r1);
18350 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18351 ci2->RF_rfpll_loopfilter_c2);
18352 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18353 ci2->RF_rfpll_loopfilter_c1);
18354 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC,
18355 ci2->RF_cp_kpd_idac);
18356 write_radio_reg(pi, RADIO_2057_RFPLL_MMD0, ci2->RF_rfpll_mmd0);
18357 write_radio_reg(pi, RADIO_2057_RFPLL_MMD1, ci2->RF_rfpll_mmd1);
18358 write_radio_reg(pi,
18359 RADIO_2057_VCOBUF_TUNE, ci2->RF_vcobuf_tune);
18360 write_radio_reg(pi,
18361 RADIO_2057_LOGEN_MX2G_TUNE,
18362 ci2->RF_logen_mx2g_tune);
18363 write_radio_reg(pi, RADIO_2057_LOGEN_INDBUF2G_TUNE,
18364 ci2->RF_logen_indbuf2g_tune);
18366 write_radio_reg(pi,
18367 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE0,
18368 ci2->RF_txmix2g_tune_boost_pu_core0);
18369 write_radio_reg(pi,
18370 RADIO_2057_PAD2G_TUNE_PUS_CORE0,
18371 ci2->RF_pad2g_tune_pus_core0);
18372 write_radio_reg(pi, RADIO_2057_LNA2G_TUNE_CORE0,
18373 ci2->RF_lna2g_tune_core0);
18375 write_radio_reg(pi,
18376 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE1,
18377 ci2->RF_txmix2g_tune_boost_pu_core1);
18378 write_radio_reg(pi,
18379 RADIO_2057_PAD2G_TUNE_PUS_CORE1,
18380 ci2->RF_pad2g_tune_pus_core1);
18381 write_radio_reg(pi, RADIO_2057_LNA2G_TUNE_CORE1,
18382 ci2->RF_lna2g_tune_core1);
18386 write_radio_reg(pi,
18387 RADIO_2057_VCOCAL_COUNTVAL0,
18388 ci->RF_vcocal_countval0);
18389 write_radio_reg(pi, RADIO_2057_VCOCAL_COUNTVAL1,
18390 ci->RF_vcocal_countval1);
18391 write_radio_reg(pi, RADIO_2057_RFPLL_REFMASTER_SPAREXTALSIZE,
18392 ci->RF_rfpll_refmaster_sparextalsize);
18393 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18394 ci->RF_rfpll_loopfilter_r1);
18395 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18396 ci->RF_rfpll_loopfilter_c2);
18397 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18398 ci->RF_rfpll_loopfilter_c1);
18399 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, ci->RF_cp_kpd_idac);
18400 write_radio_reg(pi, RADIO_2057_RFPLL_MMD0, ci->RF_rfpll_mmd0);
18401 write_radio_reg(pi, RADIO_2057_RFPLL_MMD1, ci->RF_rfpll_mmd1);
18402 write_radio_reg(pi, RADIO_2057_VCOBUF_TUNE, ci->RF_vcobuf_tune);
18403 write_radio_reg(pi,
18404 RADIO_2057_LOGEN_MX2G_TUNE,
18405 ci->RF_logen_mx2g_tune);
18406 write_radio_reg(pi, RADIO_2057_LOGEN_MX5G_TUNE,
18407 ci->RF_logen_mx5g_tune);
18408 write_radio_reg(pi, RADIO_2057_LOGEN_INDBUF2G_TUNE,
18409 ci->RF_logen_indbuf2g_tune);
18410 write_radio_reg(pi, RADIO_2057_LOGEN_INDBUF5G_TUNE,
18411 ci->RF_logen_indbuf5g_tune);
18413 write_radio_reg(pi,
18414 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE0,
18415 ci->RF_txmix2g_tune_boost_pu_core0);
18416 write_radio_reg(pi,
18417 RADIO_2057_PAD2G_TUNE_PUS_CORE0,
18418 ci->RF_pad2g_tune_pus_core0);
18419 write_radio_reg(pi, RADIO_2057_PGA_BOOST_TUNE_CORE0,
18420 ci->RF_pga_boost_tune_core0);
18421 write_radio_reg(pi, RADIO_2057_TXMIX5G_BOOST_TUNE_CORE0,
18422 ci->RF_txmix5g_boost_tune_core0);
18423 write_radio_reg(pi, RADIO_2057_PAD5G_TUNE_MISC_PUS_CORE0,
18424 ci->RF_pad5g_tune_misc_pus_core0);
18425 write_radio_reg(pi, RADIO_2057_LNA2G_TUNE_CORE0,
18426 ci->RF_lna2g_tune_core0);
18427 write_radio_reg(pi, RADIO_2057_LNA5G_TUNE_CORE0,
18428 ci->RF_lna5g_tune_core0);
18430 write_radio_reg(pi,
18431 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE1,
18432 ci->RF_txmix2g_tune_boost_pu_core1);
18433 write_radio_reg(pi,
18434 RADIO_2057_PAD2G_TUNE_PUS_CORE1,
18435 ci->RF_pad2g_tune_pus_core1);
18436 write_radio_reg(pi, RADIO_2057_PGA_BOOST_TUNE_CORE1,
18437 ci->RF_pga_boost_tune_core1);
18438 write_radio_reg(pi, RADIO_2057_TXMIX5G_BOOST_TUNE_CORE1,
18439 ci->RF_txmix5g_boost_tune_core1);
18440 write_radio_reg(pi, RADIO_2057_PAD5G_TUNE_MISC_PUS_CORE1,
18441 ci->RF_pad5g_tune_misc_pus_core1);
18442 write_radio_reg(pi, RADIO_2057_LNA2G_TUNE_CORE1,
18443 ci->RF_lna2g_tune_core1);
18444 write_radio_reg(pi, RADIO_2057_LNA5G_TUNE_CORE1,
18445 ci->RF_lna5g_tune_core1);
18448 if ((pi->pubpi.radiorev <= 4) || (pi->pubpi.radiorev == 6)) {
18450 if (CHSPEC_IS2G(pi->radio_chanspec)) {
18451 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18453 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, 0x3f);
18454 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18456 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18459 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18461 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, 0x3f);
18462 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18464 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18467 } else if ((pi->pubpi.radiorev == 5) || (pi->pubpi.radiorev == 7) ||
18468 (pi->pubpi.radiorev == 8)) {
18470 if (CHSPEC_IS2G(pi->radio_chanspec)) {
18471 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18473 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, 0x30);
18474 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18476 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18479 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18481 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, 0x3f);
18482 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18484 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18490 if (CHSPEC_IS2G(pi->radio_chanspec)) {
18492 if (pi->pubpi.radiorev == 3) {
18493 txmix2g_tune_boost_pu = 0x6b;
18496 if (pi->pubpi.radiorev == 5)
18497 pad2g_tune_pus = 0x73;
18500 if (pi->pubpi.radiorev != 5) {
18501 pad2g_tune_pus = 0x3;
18503 txmix2g_tune_boost_pu = 0x61;
18507 for (coreNum = 0; coreNum <= 1; coreNum++) {
18509 if (txmix2g_tune_boost_pu != 0)
18510 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
18511 TXMIX2G_TUNE_BOOST_PU,
18512 txmix2g_tune_boost_pu);
18514 if (pad2g_tune_pus != 0)
18515 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
18523 wlc_phy_radio205x_vcocal_nphy(pi);
18526 static u16 wlc_phy_radio2057_rccal(phy_info_t *pi)
18530 bool chip43226_6362A0;
18532 chip43226_6362A0 = ((pi->pubpi.radiorev == 3)
18533 || (pi->pubpi.radiorev == 4)
18534 || (pi->pubpi.radiorev == 6));
18537 if (chip43226_6362A0) {
18538 write_radio_reg(pi, RADIO_2057_RCCAL_MASTER, 0x61);
18539 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xc0);
18541 write_radio_reg(pi, RADIO_2057v7_RCCAL_MASTER, 0x61);
18543 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xe9);
18545 write_radio_reg(pi, RADIO_2057_RCCAL_X1, 0x6e);
18546 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x55);
18548 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
18549 rccal_valid = read_radio_reg(pi, RADIO_2057_RCCAL_DONE_OSCCAP);
18550 if (rccal_valid & 0x2) {
18556 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x15);
18559 if (chip43226_6362A0) {
18560 write_radio_reg(pi, RADIO_2057_RCCAL_MASTER, 0x69);
18561 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xb0);
18563 write_radio_reg(pi, RADIO_2057v7_RCCAL_MASTER, 0x69);
18565 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xd5);
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 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x15);
18581 if (chip43226_6362A0) {
18582 write_radio_reg(pi, RADIO_2057_RCCAL_MASTER, 0x73);
18584 write_radio_reg(pi, RADIO_2057_RCCAL_X1, 0x28);
18585 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xb0);
18587 write_radio_reg(pi, RADIO_2057v7_RCCAL_MASTER, 0x73);
18588 write_radio_reg(pi, RADIO_2057_RCCAL_X1, 0x6e);
18589 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0x99);
18591 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x55);
18593 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
18594 rccal_valid = read_radio_reg(pi, RADIO_2057_RCCAL_DONE_OSCCAP);
18595 if (rccal_valid & 0x2) {
18601 if (WARN(!(rccal_valid & 0x2), "HW error: radio calib4"))
18604 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x15);
18606 return rccal_valid;
18610 wlc_phy_adjust_rx_analpfbw_nphy(phy_info_t *pi, u16 reduction_factr)
18612 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 7)) {
18613 if ((CHSPEC_CHANNEL(pi->radio_chanspec) == 11) &&
18614 CHSPEC_IS40(pi->radio_chanspec)) {
18615 if (!pi->nphy_anarxlpf_adjusted) {
18616 write_radio_reg(pi,
18617 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
18619 ((pi->nphy_rccal_value +
18620 reduction_factr) | 0x80));
18622 pi->nphy_anarxlpf_adjusted = true;
18625 if (pi->nphy_anarxlpf_adjusted) {
18626 write_radio_reg(pi,
18627 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
18629 (pi->nphy_rccal_value | 0x80));
18631 pi->nphy_anarxlpf_adjusted = false;
18638 wlc_phy_adjust_min_noisevar_nphy(phy_info_t *pi, int ntones, int *tone_id_buf,
18639 u32 *noise_var_buf)
18646 radio_chanspec) ? NPHY_NOISEVAR_TBLLEN40 :
18647 NPHY_NOISEVAR_TBLLEN20;
18649 if (pi->nphy_noisevars_adjusted) {
18650 for (i = 0; i < pi->nphy_saved_noisevars.bufcount; i++) {
18651 tone_id = pi->nphy_saved_noisevars.tone_id[i];
18652 offset = (tone_id >= 0) ?
18653 ((tone_id * 2) + 1) : (tbllen + (tone_id * 2) + 1);
18654 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
18657 nphy_saved_noisevars.
18658 min_noise_vars[i]);
18661 pi->nphy_saved_noisevars.bufcount = 0;
18662 pi->nphy_noisevars_adjusted = false;
18665 if ((noise_var_buf != NULL) && (tone_id_buf != NULL)) {
18666 pi->nphy_saved_noisevars.bufcount = 0;
18668 for (i = 0; i < ntones; i++) {
18669 tone_id = tone_id_buf[i];
18670 offset = (tone_id >= 0) ?
18671 ((tone_id * 2) + 1) : (tbllen + (tone_id * 2) + 1);
18672 pi->nphy_saved_noisevars.tone_id[i] = tone_id;
18673 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
18675 &pi->nphy_saved_noisevars.
18676 min_noise_vars[i]);
18677 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
18679 (void *)&noise_var_buf[i]);
18680 pi->nphy_saved_noisevars.bufcount++;
18683 pi->nphy_noisevars_adjusted = true;
18687 static void wlc_phy_adjust_crsminpwr_nphy(phy_info_t *pi, u8 minpwr)
18691 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
18692 if ((CHSPEC_CHANNEL(pi->radio_chanspec) == 11) &&
18693 CHSPEC_IS40(pi->radio_chanspec)) {
18694 if (!pi->nphy_crsminpwr_adjusted) {
18695 regval = read_phy_reg(pi, 0x27d);
18696 pi->nphy_crsminpwr[0] = regval & 0xff;
18698 regval |= (u16) minpwr;
18699 write_phy_reg(pi, 0x27d, regval);
18701 regval = read_phy_reg(pi, 0x280);
18702 pi->nphy_crsminpwr[1] = regval & 0xff;
18704 regval |= (u16) minpwr;
18705 write_phy_reg(pi, 0x280, regval);
18707 regval = read_phy_reg(pi, 0x283);
18708 pi->nphy_crsminpwr[2] = regval & 0xff;
18710 regval |= (u16) minpwr;
18711 write_phy_reg(pi, 0x283, regval);
18713 pi->nphy_crsminpwr_adjusted = true;
18716 if (pi->nphy_crsminpwr_adjusted) {
18717 regval = read_phy_reg(pi, 0x27d);
18719 regval |= pi->nphy_crsminpwr[0];
18720 write_phy_reg(pi, 0x27d, regval);
18722 regval = read_phy_reg(pi, 0x280);
18724 regval |= pi->nphy_crsminpwr[1];
18725 write_phy_reg(pi, 0x280, regval);
18727 regval = read_phy_reg(pi, 0x283);
18729 regval |= pi->nphy_crsminpwr[2];
18730 write_phy_reg(pi, 0x283, regval);
18732 pi->nphy_crsminpwr_adjusted = false;
18738 static void wlc_phy_txlpfbw_nphy(phy_info_t *pi)
18742 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 7)) {
18743 if (CHSPEC_IS40(pi->radio_chanspec)) {
18750 if (CHSPEC_IS40(pi->radio_chanspec)) {
18756 write_phy_reg(pi, 0xe8,
18759 (tx_lpf_bw << 6) | (tx_lpf_bw << 9));
18763 if (CHSPEC_IS40(pi->radio_chanspec)) {
18769 write_phy_reg(pi, 0xe9,
18772 (tx_lpf_bw << 6) | (tx_lpf_bw << 9));
18777 static void wlc_phy_spurwar_nphy(phy_info_t *pi)
18779 u16 cur_channel = 0;
18780 int nphy_adj_tone_id_buf[] = { 57, 58 };
18781 u32 nphy_adj_noise_var_buf[] = { 0x3ff, 0x3ff };
18782 bool isAdjustNoiseVar = false;
18783 uint numTonesAdjust = 0;
18786 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
18787 if (pi->phyhang_avoid)
18788 wlc_phy_stay_in_carriersearch_nphy(pi, true);
18790 cur_channel = CHSPEC_CHANNEL(pi->radio_chanspec);
18792 if (pi->nphy_gband_spurwar_en) {
18794 wlc_phy_adjust_rx_analpfbw_nphy(pi,
18795 NPHY_ANARXLPFBW_REDUCTIONFACT);
18797 if (CHSPEC_IS2G(pi->radio_chanspec)) {
18798 if ((cur_channel == 11)
18799 && CHSPEC_IS40(pi->radio_chanspec)) {
18801 wlc_phy_adjust_min_noisevar_nphy(pi, 2,
18802 nphy_adj_tone_id_buf,
18803 nphy_adj_noise_var_buf);
18806 wlc_phy_adjust_min_noisevar_nphy(pi, 0,
18811 wlc_phy_adjust_crsminpwr_nphy(pi,
18812 NPHY_ADJUSTED_MINCRSPOWER);
18815 if ((pi->nphy_gband_spurwar2_en)
18816 && CHSPEC_IS2G(pi->radio_chanspec)) {
18818 if (CHSPEC_IS40(pi->radio_chanspec)) {
18819 switch (cur_channel) {
18821 nphy_adj_tone_id_buf[0] = 57;
18822 nphy_adj_tone_id_buf[1] = 58;
18823 nphy_adj_noise_var_buf[0] = 0x22f;
18824 nphy_adj_noise_var_buf[1] = 0x25f;
18825 isAdjustNoiseVar = true;
18828 nphy_adj_tone_id_buf[0] = 41;
18829 nphy_adj_tone_id_buf[1] = 42;
18830 nphy_adj_noise_var_buf[0] = 0x22f;
18831 nphy_adj_noise_var_buf[1] = 0x25f;
18832 isAdjustNoiseVar = true;
18835 nphy_adj_tone_id_buf[0] = 25;
18836 nphy_adj_tone_id_buf[1] = 26;
18837 nphy_adj_noise_var_buf[0] = 0x24f;
18838 nphy_adj_noise_var_buf[1] = 0x25f;
18839 isAdjustNoiseVar = true;
18842 nphy_adj_tone_id_buf[0] = 9;
18843 nphy_adj_tone_id_buf[1] = 10;
18844 nphy_adj_noise_var_buf[0] = 0x22f;
18845 nphy_adj_noise_var_buf[1] = 0x24f;
18846 isAdjustNoiseVar = true;
18849 nphy_adj_tone_id_buf[0] = 121;
18850 nphy_adj_tone_id_buf[1] = 122;
18851 nphy_adj_noise_var_buf[0] = 0x18f;
18852 nphy_adj_noise_var_buf[1] = 0x24f;
18853 isAdjustNoiseVar = true;
18856 nphy_adj_tone_id_buf[0] = 105;
18857 nphy_adj_tone_id_buf[1] = 106;
18858 nphy_adj_noise_var_buf[0] = 0x22f;
18859 nphy_adj_noise_var_buf[1] = 0x25f;
18860 isAdjustNoiseVar = true;
18863 nphy_adj_tone_id_buf[0] = 89;
18864 nphy_adj_tone_id_buf[1] = 90;
18865 nphy_adj_noise_var_buf[0] = 0x22f;
18866 nphy_adj_noise_var_buf[1] = 0x24f;
18867 isAdjustNoiseVar = true;
18870 nphy_adj_tone_id_buf[0] = 73;
18871 nphy_adj_tone_id_buf[1] = 74;
18872 nphy_adj_noise_var_buf[0] = 0x22f;
18873 nphy_adj_noise_var_buf[1] = 0x24f;
18874 isAdjustNoiseVar = true;
18877 isAdjustNoiseVar = false;
18882 if (isAdjustNoiseVar) {
18883 numTonesAdjust = sizeof(nphy_adj_tone_id_buf) /
18884 sizeof(nphy_adj_tone_id_buf[0]);
18886 wlc_phy_adjust_min_noisevar_nphy(pi,
18888 nphy_adj_tone_id_buf,
18889 nphy_adj_noise_var_buf);
18895 wlc_phy_adjust_min_noisevar_nphy(pi, 0, NULL,
18900 if ((pi->nphy_aband_spurwar_en) &&
18901 (CHSPEC_IS5G(pi->radio_chanspec))) {
18902 switch (cur_channel) {
18904 nphy_adj_tone_id_buf[0] = 32;
18905 nphy_adj_noise_var_buf[0] = 0x25f;
18910 if ((pi->sh->chip == BCM4716_CHIP_ID) &&
18911 (pi->sh->chippkg == BCM4717_PKG_ID)) {
18912 nphy_adj_tone_id_buf[0] = 32;
18913 nphy_adj_noise_var_buf[0] = 0x21f;
18915 nphy_adj_tone_id_buf[0] = 0;
18916 nphy_adj_noise_var_buf[0] = 0x0;
18920 nphy_adj_tone_id_buf[0] = 32;
18921 nphy_adj_noise_var_buf[0] = 0x21f;
18924 nphy_adj_tone_id_buf[0] = 16;
18925 nphy_adj_noise_var_buf[0] = 0x23f;
18929 nphy_adj_tone_id_buf[0] = 48;
18930 nphy_adj_noise_var_buf[0] = 0x23f;
18933 nphy_adj_tone_id_buf[0] = 0;
18934 nphy_adj_noise_var_buf[0] = 0x0;
18938 if (nphy_adj_tone_id_buf[0]
18939 && nphy_adj_noise_var_buf[0]) {
18940 wlc_phy_adjust_min_noisevar_nphy(pi, 1,
18941 nphy_adj_tone_id_buf,
18942 nphy_adj_noise_var_buf);
18944 wlc_phy_adjust_min_noisevar_nphy(pi, 0, NULL,
18949 if (pi->phyhang_avoid)
18950 wlc_phy_stay_in_carriersearch_nphy(pi, false);
18955 wlc_phy_chanspec_nphy_setup(phy_info_t *pi, chanspec_t chanspec,
18956 const nphy_sfo_cfg_t *ci)
18960 val = read_phy_reg(pi, 0x09) & NPHY_BandControl_currentBand;
18961 if (CHSPEC_IS5G(chanspec) && !val) {
18963 val = R_REG(&pi->regs->psm_phy_hdr_param);
18964 W_REG(&pi->regs->psm_phy_hdr_param,
18965 (val | MAC_PHY_FORCE_CLK));
18967 or_phy_reg(pi, (NPHY_TO_BPHY_OFF + BPHY_BB_CONFIG),
18968 (BBCFG_RESETCCA | BBCFG_RESETRX));
18970 W_REG(&pi->regs->psm_phy_hdr_param, val);
18972 or_phy_reg(pi, 0x09, NPHY_BandControl_currentBand);
18973 } else if (!CHSPEC_IS5G(chanspec) && val) {
18975 and_phy_reg(pi, 0x09, ~NPHY_BandControl_currentBand);
18977 val = R_REG(&pi->regs->psm_phy_hdr_param);
18978 W_REG(&pi->regs->psm_phy_hdr_param,
18979 (val | MAC_PHY_FORCE_CLK));
18981 and_phy_reg(pi, (NPHY_TO_BPHY_OFF + BPHY_BB_CONFIG),
18982 (u16) (~(BBCFG_RESETCCA | BBCFG_RESETRX)));
18984 W_REG(&pi->regs->psm_phy_hdr_param, val);
18987 write_phy_reg(pi, 0x1ce, ci->PHY_BW1a);
18988 write_phy_reg(pi, 0x1cf, ci->PHY_BW2);
18989 write_phy_reg(pi, 0x1d0, ci->PHY_BW3);
18991 write_phy_reg(pi, 0x1d1, ci->PHY_BW4);
18992 write_phy_reg(pi, 0x1d2, ci->PHY_BW5);
18993 write_phy_reg(pi, 0x1d3, ci->PHY_BW6);
18995 if (CHSPEC_CHANNEL(pi->radio_chanspec) == 14) {
18996 wlc_phy_classifier_nphy(pi, NPHY_ClassifierCtrl_ofdm_en, 0);
18998 or_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_TEST, 0x800);
19000 wlc_phy_classifier_nphy(pi, NPHY_ClassifierCtrl_ofdm_en,
19001 NPHY_ClassifierCtrl_ofdm_en);
19003 if (CHSPEC_IS2G(chanspec))
19004 and_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_TEST, ~0x840);
19007 if (pi->nphy_txpwrctrl == PHY_TPC_HW_OFF) {
19008 wlc_phy_txpwr_fixpower_nphy(pi);
19011 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
19013 wlc_phy_adjust_lnagaintbl_nphy(pi);
19016 wlc_phy_txlpfbw_nphy(pi);
19018 if (NREV_GE(pi->pubpi.phy_rev, 3)
19019 && (pi->phy_spuravoid != SPURAVOID_DISABLE)) {
19022 val = CHSPEC_CHANNEL(chanspec);
19023 if (!CHSPEC_IS40(pi->radio_chanspec)) {
19024 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19025 if ((val == 13) || (val == 14) || (val == 153)) {
19030 if (((val >= 5) && (val <= 8)) || (val == 13)
19036 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19042 if (pi->nphy_aband_spurwar_en &&
19043 ((val == 38) || (val == 102)
19044 || (val == 118))) {
19045 if ((pi->sh->chip ==
19047 && (pi->sh->chippkg ==
19057 if (pi->phy_spuravoid == SPURAVOID_FORCEON)
19060 if ((pi->sh->chip == BCM4716_CHIP_ID) ||
19061 (pi->sh->chip == BCM47162_CHIP_ID)) {
19062 si_pmu_spuravoid(pi->sh->sih, spuravoid);
19064 wlapi_bmac_core_phypll_ctl(pi->sh->physhim, false);
19065 si_pmu_spuravoid(pi->sh->sih, spuravoid);
19066 wlapi_bmac_core_phypll_ctl(pi->sh->physhim, true);
19069 if ((pi->sh->chip == BCM43224_CHIP_ID) ||
19070 (pi->sh->chip == BCM43225_CHIP_ID) ||
19071 (pi->sh->chip == BCM43421_CHIP_ID)) {
19073 if (spuravoid == 1) {
19075 W_REG(&pi->regs->tsf_clk_frac_l,
19077 W_REG(&pi->regs->tsf_clk_frac_h,
19081 W_REG(&pi->regs->tsf_clk_frac_l,
19083 W_REG(&pi->regs->tsf_clk_frac_h,
19088 if (!((pi->sh->chip == BCM4716_CHIP_ID) ||
19089 (pi->sh->chip == BCM47162_CHIP_ID))) {
19090 wlapi_bmac_core_phypll_reset(pi->sh->physhim);
19093 mod_phy_reg(pi, 0x01, (0x1 << 15),
19094 ((spuravoid > 0) ? (0x1 << 15) : 0));
19096 wlc_phy_resetcca_nphy(pi);
19098 pi->phy_isspuravoid = (spuravoid > 0);
19101 if (NREV_LT(pi->pubpi.phy_rev, 7))
19102 write_phy_reg(pi, 0x17e, 0x3830);
19104 wlc_phy_spurwar_nphy(pi);
19107 void wlc_phy_chanspec_set_nphy(phy_info_t *pi, chanspec_t chanspec)
19110 chan_info_nphy_radio2057_t *t0 = NULL;
19111 chan_info_nphy_radio205x_t *t1 = NULL;
19112 chan_info_nphy_radio2057_rev5_t *t2 = NULL;
19113 chan_info_nphy_2055_t *t3 = NULL;
19115 if (NORADIO_ENAB(pi->pubpi)) {
19119 if (!wlc_phy_chan2freq_nphy
19120 (pi, CHSPEC_CHANNEL(chanspec), &freq, &t0, &t1, &t2, &t3))
19123 wlc_phy_chanspec_radio_set((wlc_phy_t *) pi, chanspec);
19125 if (CHSPEC_BW(chanspec) != pi->bw)
19126 wlapi_bmac_bw_set(pi->sh->physhim, CHSPEC_BW(chanspec));
19128 if (CHSPEC_IS40(chanspec)) {
19129 if (CHSPEC_SB_UPPER(chanspec)) {
19130 or_phy_reg(pi, 0xa0, BPHY_BAND_SEL_UP20);
19131 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19132 or_phy_reg(pi, 0x310, PRIM_SEL_UP20);
19135 and_phy_reg(pi, 0xa0, ~BPHY_BAND_SEL_UP20);
19136 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19137 and_phy_reg(pi, 0x310,
19138 (~PRIM_SEL_UP20 & 0xffff));
19143 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19144 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19146 if ((pi->pubpi.radiorev <= 4)
19147 || (pi->pubpi.radiorev == 6)) {
19148 mod_radio_reg(pi, RADIO_2057_TIA_CONFIG_CORE0,
19150 (CHSPEC_IS5G(chanspec) ? (1 << 1)
19152 mod_radio_reg(pi, RADIO_2057_TIA_CONFIG_CORE1,
19154 (CHSPEC_IS5G(chanspec) ? (1 << 1)
19158 wlc_phy_chanspec_radio2057_setup(pi, t0, t2);
19159 wlc_phy_chanspec_nphy_setup(pi, chanspec,
19160 (pi->pubpi.radiorev ==
19161 5) ? (const nphy_sfo_cfg_t
19164 : (const nphy_sfo_cfg_t *)
19170 RADIO_2056_SYN_COM_CTRL | RADIO_2056_SYN,
19172 (CHSPEC_IS5G(chanspec) ? (0x1 << 2) : 0));
19173 wlc_phy_chanspec_radio2056_setup(pi, t1);
19175 wlc_phy_chanspec_nphy_setup(pi, chanspec,
19176 (const nphy_sfo_cfg_t *)
19182 mod_radio_reg(pi, RADIO_2055_MASTER_CNTRL1, 0x70,
19183 (CHSPEC_IS5G(chanspec) ? (0x02 << 4)
19186 wlc_phy_chanspec_radio2055_setup(pi, t3);
19187 wlc_phy_chanspec_nphy_setup(pi, chanspec,
19188 (const nphy_sfo_cfg_t *)&(t3->
19194 static void wlc_phy_savecal_nphy(phy_info_t *pi)
19198 u16 *txcal_radio_regs = NULL;
19200 if (pi->phyhang_avoid)
19201 wlc_phy_stay_in_carriersearch_nphy(pi, true);
19203 if (CHSPEC_IS2G(pi->radio_chanspec)) {
19205 wlc_phy_rx_iq_coeffs_nphy(pi, 0,
19206 &pi->calibration_cache.
19209 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19211 pi->calibration_cache.txcal_radio_regs_2G;
19212 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19214 pi->calibration_cache.txcal_radio_regs_2G[0] =
19216 RADIO_2056_TX_LOFT_FINE_I |
19218 pi->calibration_cache.txcal_radio_regs_2G[1] =
19220 RADIO_2056_TX_LOFT_FINE_Q |
19222 pi->calibration_cache.txcal_radio_regs_2G[2] =
19224 RADIO_2056_TX_LOFT_FINE_I |
19226 pi->calibration_cache.txcal_radio_regs_2G[3] =
19228 RADIO_2056_TX_LOFT_FINE_Q |
19231 pi->calibration_cache.txcal_radio_regs_2G[4] =
19233 RADIO_2056_TX_LOFT_COARSE_I |
19235 pi->calibration_cache.txcal_radio_regs_2G[5] =
19237 RADIO_2056_TX_LOFT_COARSE_Q |
19239 pi->calibration_cache.txcal_radio_regs_2G[6] =
19241 RADIO_2056_TX_LOFT_COARSE_I |
19243 pi->calibration_cache.txcal_radio_regs_2G[7] =
19245 RADIO_2056_TX_LOFT_COARSE_Q |
19248 pi->calibration_cache.txcal_radio_regs_2G[0] =
19249 read_radio_reg(pi, RADIO_2055_CORE1_TX_VOS_CNCL);
19250 pi->calibration_cache.txcal_radio_regs_2G[1] =
19251 read_radio_reg(pi, RADIO_2055_CORE2_TX_VOS_CNCL);
19252 pi->calibration_cache.txcal_radio_regs_2G[2] =
19253 read_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM);
19254 pi->calibration_cache.txcal_radio_regs_2G[3] =
19255 read_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM);
19258 pi->nphy_iqcal_chanspec_2G = pi->radio_chanspec;
19259 tbl_ptr = pi->calibration_cache.txcal_coeffs_2G;
19262 wlc_phy_rx_iq_coeffs_nphy(pi, 0,
19263 &pi->calibration_cache.
19266 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19268 pi->calibration_cache.txcal_radio_regs_5G;
19269 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19271 pi->calibration_cache.txcal_radio_regs_5G[0] =
19273 RADIO_2056_TX_LOFT_FINE_I |
19275 pi->calibration_cache.txcal_radio_regs_5G[1] =
19277 RADIO_2056_TX_LOFT_FINE_Q |
19279 pi->calibration_cache.txcal_radio_regs_5G[2] =
19281 RADIO_2056_TX_LOFT_FINE_I |
19283 pi->calibration_cache.txcal_radio_regs_5G[3] =
19285 RADIO_2056_TX_LOFT_FINE_Q |
19288 pi->calibration_cache.txcal_radio_regs_5G[4] =
19290 RADIO_2056_TX_LOFT_COARSE_I |
19292 pi->calibration_cache.txcal_radio_regs_5G[5] =
19294 RADIO_2056_TX_LOFT_COARSE_Q |
19296 pi->calibration_cache.txcal_radio_regs_5G[6] =
19298 RADIO_2056_TX_LOFT_COARSE_I |
19300 pi->calibration_cache.txcal_radio_regs_5G[7] =
19302 RADIO_2056_TX_LOFT_COARSE_Q |
19305 pi->calibration_cache.txcal_radio_regs_5G[0] =
19306 read_radio_reg(pi, RADIO_2055_CORE1_TX_VOS_CNCL);
19307 pi->calibration_cache.txcal_radio_regs_5G[1] =
19308 read_radio_reg(pi, RADIO_2055_CORE2_TX_VOS_CNCL);
19309 pi->calibration_cache.txcal_radio_regs_5G[2] =
19310 read_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM);
19311 pi->calibration_cache.txcal_radio_regs_5G[3] =
19312 read_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM);
19315 pi->nphy_iqcal_chanspec_5G = pi->radio_chanspec;
19316 tbl_ptr = pi->calibration_cache.txcal_coeffs_5G;
19318 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19319 for (coreNum = 0; coreNum <= 1; coreNum++) {
19321 txcal_radio_regs[2 * coreNum] =
19322 READ_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19324 txcal_radio_regs[2 * coreNum + 1] =
19325 READ_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19328 txcal_radio_regs[2 * coreNum + 4] =
19329 READ_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19331 txcal_radio_regs[2 * coreNum + 5] =
19332 READ_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19337 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL, 8, 80, 16, tbl_ptr);
19339 if (pi->phyhang_avoid)
19340 wlc_phy_stay_in_carriersearch_nphy(pi, false);
19343 static void wlc_phy_restorecal_nphy(phy_info_t *pi)
19346 u16 txcal_coeffs_bphy[4];
19349 u16 *txcal_radio_regs = NULL;
19351 if (CHSPEC_IS2G(pi->radio_chanspec)) {
19352 if (pi->nphy_iqcal_chanspec_2G == 0)
19355 tbl_ptr = pi->calibration_cache.txcal_coeffs_2G;
19356 loft_comp = &pi->calibration_cache.txcal_coeffs_2G[5];
19358 if (pi->nphy_iqcal_chanspec_5G == 0)
19361 tbl_ptr = pi->calibration_cache.txcal_coeffs_5G;
19362 loft_comp = &pi->calibration_cache.txcal_coeffs_5G[5];
19365 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 80, 16,
19368 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19369 txcal_coeffs_bphy[0] = tbl_ptr[0];
19370 txcal_coeffs_bphy[1] = tbl_ptr[1];
19371 txcal_coeffs_bphy[2] = tbl_ptr[2];
19372 txcal_coeffs_bphy[3] = tbl_ptr[3];
19374 txcal_coeffs_bphy[0] = 0;
19375 txcal_coeffs_bphy[1] = 0;
19376 txcal_coeffs_bphy[2] = 0;
19377 txcal_coeffs_bphy[3] = 0;
19380 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 88, 16,
19381 txcal_coeffs_bphy);
19383 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 85, 16, loft_comp);
19385 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 93, 16, loft_comp);
19387 if (NREV_LT(pi->pubpi.phy_rev, 2))
19388 wlc_phy_tx_iq_war_nphy(pi);
19390 if (CHSPEC_IS2G(pi->radio_chanspec)) {
19391 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19393 pi->calibration_cache.txcal_radio_regs_2G;
19394 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19396 write_radio_reg(pi,
19397 RADIO_2056_TX_LOFT_FINE_I |
19399 pi->calibration_cache.
19400 txcal_radio_regs_2G[0]);
19401 write_radio_reg(pi,
19402 RADIO_2056_TX_LOFT_FINE_Q |
19404 pi->calibration_cache.
19405 txcal_radio_regs_2G[1]);
19406 write_radio_reg(pi,
19407 RADIO_2056_TX_LOFT_FINE_I |
19409 pi->calibration_cache.
19410 txcal_radio_regs_2G[2]);
19411 write_radio_reg(pi,
19412 RADIO_2056_TX_LOFT_FINE_Q |
19414 pi->calibration_cache.
19415 txcal_radio_regs_2G[3]);
19417 write_radio_reg(pi,
19418 RADIO_2056_TX_LOFT_COARSE_I |
19420 pi->calibration_cache.
19421 txcal_radio_regs_2G[4]);
19422 write_radio_reg(pi,
19423 RADIO_2056_TX_LOFT_COARSE_Q |
19425 pi->calibration_cache.
19426 txcal_radio_regs_2G[5]);
19427 write_radio_reg(pi,
19428 RADIO_2056_TX_LOFT_COARSE_I |
19430 pi->calibration_cache.
19431 txcal_radio_regs_2G[6]);
19432 write_radio_reg(pi,
19433 RADIO_2056_TX_LOFT_COARSE_Q |
19435 pi->calibration_cache.
19436 txcal_radio_regs_2G[7]);
19438 write_radio_reg(pi, RADIO_2055_CORE1_TX_VOS_CNCL,
19439 pi->calibration_cache.
19440 txcal_radio_regs_2G[0]);
19441 write_radio_reg(pi, RADIO_2055_CORE2_TX_VOS_CNCL,
19442 pi->calibration_cache.
19443 txcal_radio_regs_2G[1]);
19444 write_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM,
19445 pi->calibration_cache.
19446 txcal_radio_regs_2G[2]);
19447 write_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM,
19448 pi->calibration_cache.
19449 txcal_radio_regs_2G[3]);
19452 wlc_phy_rx_iq_coeffs_nphy(pi, 1,
19453 &pi->calibration_cache.
19456 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19458 pi->calibration_cache.txcal_radio_regs_5G;
19459 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19461 write_radio_reg(pi,
19462 RADIO_2056_TX_LOFT_FINE_I |
19464 pi->calibration_cache.
19465 txcal_radio_regs_5G[0]);
19466 write_radio_reg(pi,
19467 RADIO_2056_TX_LOFT_FINE_Q |
19469 pi->calibration_cache.
19470 txcal_radio_regs_5G[1]);
19471 write_radio_reg(pi,
19472 RADIO_2056_TX_LOFT_FINE_I |
19474 pi->calibration_cache.
19475 txcal_radio_regs_5G[2]);
19476 write_radio_reg(pi,
19477 RADIO_2056_TX_LOFT_FINE_Q |
19479 pi->calibration_cache.
19480 txcal_radio_regs_5G[3]);
19482 write_radio_reg(pi,
19483 RADIO_2056_TX_LOFT_COARSE_I |
19485 pi->calibration_cache.
19486 txcal_radio_regs_5G[4]);
19487 write_radio_reg(pi,
19488 RADIO_2056_TX_LOFT_COARSE_Q |
19490 pi->calibration_cache.
19491 txcal_radio_regs_5G[5]);
19492 write_radio_reg(pi,
19493 RADIO_2056_TX_LOFT_COARSE_I |
19495 pi->calibration_cache.
19496 txcal_radio_regs_5G[6]);
19497 write_radio_reg(pi,
19498 RADIO_2056_TX_LOFT_COARSE_Q |
19500 pi->calibration_cache.
19501 txcal_radio_regs_5G[7]);
19503 write_radio_reg(pi, RADIO_2055_CORE1_TX_VOS_CNCL,
19504 pi->calibration_cache.
19505 txcal_radio_regs_5G[0]);
19506 write_radio_reg(pi, RADIO_2055_CORE2_TX_VOS_CNCL,
19507 pi->calibration_cache.
19508 txcal_radio_regs_5G[1]);
19509 write_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM,
19510 pi->calibration_cache.
19511 txcal_radio_regs_5G[2]);
19512 write_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM,
19513 pi->calibration_cache.
19514 txcal_radio_regs_5G[3]);
19517 wlc_phy_rx_iq_coeffs_nphy(pi, 1,
19518 &pi->calibration_cache.
19522 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19523 for (coreNum = 0; coreNum <= 1; coreNum++) {
19525 WRITE_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19527 txcal_radio_regs[2 * coreNum]);
19528 WRITE_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19530 txcal_radio_regs[2 * coreNum + 1]);
19532 WRITE_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19534 txcal_radio_regs[2 * coreNum + 4]);
19535 WRITE_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19537 txcal_radio_regs[2 * coreNum + 5]);
19542 void wlc_phy_antsel_init(wlc_phy_t *ppi, bool lut_init)
19544 phy_info_t *pi = (phy_info_t *) ppi;
19548 if (NREV_GE(pi->pubpi.phy_rev, 7))
19551 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19552 u16 v0 = 0x211, v1 = 0x222, v2 = 0x144, v3 = 0x188;
19554 if (lut_init == false)
19557 if (pi->srom_fem2g.antswctrllut == 0) {
19558 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19560 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19562 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19564 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19568 if (pi->srom_fem5g.antswctrllut == 0) {
19569 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19571 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19573 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19575 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19580 write_phy_reg(pi, 0xc8, 0x0);
19581 write_phy_reg(pi, 0xc9, 0x0);
19583 ai_gpiocontrol(pi->sh->sih, mask, mask, GPIO_DRV_PRIORITY);
19585 mc = R_REG(&pi->regs->maccontrol);
19586 mc &= ~MCTL_GPOUT_SEL_MASK;
19587 W_REG(&pi->regs->maccontrol, mc);
19589 OR_REG(&pi->regs->psm_gpio_oe, mask);
19591 AND_REG(&pi->regs->psm_gpio_out, ~mask);
19594 write_phy_reg(pi, 0xf8, 0x02d8);
19595 write_phy_reg(pi, 0xf9, 0x0301);
19596 write_phy_reg(pi, 0xfa, 0x02d8);
19597 write_phy_reg(pi, 0xfb, 0x0301);
19602 u16 wlc_phy_classifier_nphy(phy_info_t *pi, u16 mask, u16 val)
19604 u16 curr_ctl, new_ctl;
19605 bool suspended = false;
19607 if (D11REV_IS(pi->sh->corerev, 16)) {
19609 (R_REG(&pi->regs->maccontrol) & MCTL_EN_MAC) ?
19612 wlapi_suspend_mac_and_wait(pi->sh->physhim);
19615 curr_ctl = read_phy_reg(pi, 0xb0) & (0x7 << 0);
19617 new_ctl = (curr_ctl & (~mask)) | (val & mask);
19619 mod_phy_reg(pi, 0xb0, (0x7 << 0), new_ctl);
19621 if (D11REV_IS(pi->sh->corerev, 16) && !suspended)
19622 wlapi_enable_mac(pi->sh->physhim);
19627 static void wlc_phy_clip_det_nphy(phy_info_t *pi, u8 write, u16 *vals)
19631 vals[0] = read_phy_reg(pi, 0x2c);
19632 vals[1] = read_phy_reg(pi, 0x42);
19634 write_phy_reg(pi, 0x2c, vals[0]);
19635 write_phy_reg(pi, 0x42, vals[1]);
19639 void wlc_phy_force_rfseq_nphy(phy_info_t *pi, u8 cmd)
19641 u16 trigger_mask, status_mask;
19642 u16 orig_RfseqCoreActv;
19645 case NPHY_RFSEQ_RX2TX:
19646 trigger_mask = NPHY_RfseqTrigger_rx2tx;
19647 status_mask = NPHY_RfseqStatus_rx2tx;
19649 case NPHY_RFSEQ_TX2RX:
19650 trigger_mask = NPHY_RfseqTrigger_tx2rx;
19651 status_mask = NPHY_RfseqStatus_tx2rx;
19653 case NPHY_RFSEQ_RESET2RX:
19654 trigger_mask = NPHY_RfseqTrigger_reset2rx;
19655 status_mask = NPHY_RfseqStatus_reset2rx;
19657 case NPHY_RFSEQ_UPDATEGAINH:
19658 trigger_mask = NPHY_RfseqTrigger_updategainh;
19659 status_mask = NPHY_RfseqStatus_updategainh;
19661 case NPHY_RFSEQ_UPDATEGAINL:
19662 trigger_mask = NPHY_RfseqTrigger_updategainl;
19663 status_mask = NPHY_RfseqStatus_updategainl;
19665 case NPHY_RFSEQ_UPDATEGAINU:
19666 trigger_mask = NPHY_RfseqTrigger_updategainu;
19667 status_mask = NPHY_RfseqStatus_updategainu;
19673 orig_RfseqCoreActv = read_phy_reg(pi, 0xa1);
19674 or_phy_reg(pi, 0xa1,
19675 (NPHY_RfseqMode_CoreActv_override |
19676 NPHY_RfseqMode_Trigger_override));
19677 or_phy_reg(pi, 0xa3, trigger_mask);
19678 SPINWAIT((read_phy_reg(pi, 0xa4) & status_mask), 200000);
19679 write_phy_reg(pi, 0xa1, orig_RfseqCoreActv);
19680 WARN(read_phy_reg(pi, 0xa4) & status_mask, "HW error in rf");
19684 wlc_phy_set_rfseq_nphy(phy_info_t *pi, u8 cmd, u8 *events, u8 *dlys,
19687 u32 t1_offset, t2_offset;
19690 NREV_GE(pi->pubpi.phy_rev,
19691 3) ? NPHY_REV3_RFSEQ_CMD_END : NPHY_RFSEQ_CMD_END;
19694 if (pi->phyhang_avoid)
19695 wlc_phy_stay_in_carriersearch_nphy(pi, true);
19697 t1_offset = cmd << 4;
19698 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, len, t1_offset, 8,
19700 t2_offset = t1_offset + 0x080;
19701 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, len, t2_offset, 8,
19704 for (ctr = len; ctr < 16; ctr++) {
19705 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1,
19706 t1_offset + ctr, 8, &end_event);
19707 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1,
19708 t2_offset + ctr, 8, &end_dly);
19711 if (pi->phyhang_avoid)
19712 wlc_phy_stay_in_carriersearch_nphy(pi, false);
19715 static u16 wlc_phy_read_lpf_bw_ctl_nphy(phy_info_t *pi, u16 offset)
19717 u16 lpf_bw_ctl_val = 0;
19718 u16 rx2tx_lpf_rc_lut_offset = 0;
19721 if (CHSPEC_IS40(pi->radio_chanspec)) {
19722 rx2tx_lpf_rc_lut_offset = 0x159;
19724 rx2tx_lpf_rc_lut_offset = 0x154;
19727 rx2tx_lpf_rc_lut_offset = offset;
19729 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 1,
19730 (u32) rx2tx_lpf_rc_lut_offset, 16,
19733 lpf_bw_ctl_val = lpf_bw_ctl_val & 0x7;
19735 return lpf_bw_ctl_val;
19739 wlc_phy_rfctrl_override_nphy_rev7(phy_info_t *pi, u16 field, u16 value,
19740 u8 core_mask, u8 off, u8 override_id)
19743 u16 addr = 0, en_addr = 0, val_addr = 0, en_mask = 0, val_mask = 0;
19746 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19748 for (core_num = 0; core_num < 2; core_num++) {
19749 if (override_id == NPHY_REV7_RFCTRLOVERRIDE_ID0) {
19753 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19754 val_addr = (core_num == 0) ? 0x7a :
19756 val_mask = (0x1 << 1);
19760 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19761 val_addr = (core_num == 0) ? 0x7a :
19763 val_mask = (0x1 << 2);
19767 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19768 val_addr = (core_num == 0) ? 0x7a :
19770 val_mask = (0x1 << 4);
19774 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19775 val_addr = (core_num == 0) ? 0x7a :
19777 val_mask = (0x1 << 5);
19781 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19782 val_addr = (core_num == 0) ? 0x7a :
19784 val_mask = (0x1 << 6);
19788 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19789 val_addr = (core_num == 0) ? 0x7a :
19791 val_mask = (0x1 << 7);
19795 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19796 val_addr = (core_num == 0) ? 0xf8 :
19798 val_mask = (0x7 << 4);
19802 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19803 val_addr = (core_num == 0) ? 0x7b :
19805 val_mask = (0xffff << 0);
19809 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19810 val_addr = (core_num == 0) ? 0x7c :
19812 val_mask = (0xffff << 0);
19816 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19817 val_addr = (core_num == 0) ? 0x348 :
19819 val_mask = (0xff << 0);
19823 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19824 val_addr = (core_num == 0) ? 0x348 :
19826 val_mask = (0xf << 0);
19833 } else if (override_id == NPHY_REV7_RFCTRLOVERRIDE_ID1) {
19837 en_addr = (core_num == 0) ? 0x342 :
19839 val_addr = (core_num == 0) ? 0x340 :
19841 val_mask = (0x1 << 1);
19845 en_addr = (core_num == 0) ? 0x342 :
19847 val_addr = (core_num == 0) ? 0x340 :
19849 val_mask = (0x1 << 3);
19853 en_addr = (core_num == 0) ? 0x342 :
19855 val_addr = (core_num == 0) ? 0x340 :
19857 val_mask = (0x1 << 5);
19861 en_addr = (core_num == 0) ? 0x342 :
19863 val_addr = (core_num == 0) ? 0x340 :
19865 val_mask = (0x1 << 4);
19870 en_addr = (core_num == 0) ? 0x342 :
19872 val_addr = (core_num == 0) ? 0x340 :
19874 val_mask = (0x1 << 2);
19879 en_addr = (core_num == 0) ? 0x342 :
19881 val_addr = (core_num == 0) ? 0x340 :
19883 val_mask = (0x7 << 8);
19887 en_addr = (core_num == 0) ? 0x342 :
19889 val_addr = (core_num == 0) ? 0x340 :
19891 val_mask = (0x1 << 14);
19895 en_addr = (core_num == 0) ? 0x342 :
19897 val_addr = (core_num == 0) ? 0x340 :
19899 val_mask = (0x1 << 13);
19903 en_addr = (core_num == 0) ? 0x342 :
19905 val_addr = (core_num == 0) ? 0x340 :
19907 val_mask = (0x1 << 12);
19911 en_addr = (core_num == 0) ? 0x342 :
19913 val_addr = (core_num == 0) ? 0x340 :
19915 val_mask = (0x1 << 11);
19919 en_addr = (core_num == 0) ? 0x342 :
19921 val_addr = (core_num == 0) ? 0x340 :
19923 val_mask = (0x1 << 6);
19927 en_addr = (core_num == 0) ? 0x342 :
19929 val_addr = (core_num == 0) ? 0x340 :
19931 val_mask = (0x1 << 0);
19938 } else if (override_id == NPHY_REV7_RFCTRLOVERRIDE_ID2) {
19942 en_addr = (core_num == 0) ? 0x346 :
19944 val_addr = (core_num == 0) ? 0x344 :
19946 val_mask = (0x1 << 3);
19950 en_addr = (core_num == 0) ? 0x346 :
19952 val_addr = (core_num == 0) ? 0x344 :
19954 val_mask = (0x1 << 1);
19958 en_addr = (core_num == 0) ? 0x346 :
19960 val_addr = (core_num == 0) ? 0x344 :
19962 val_mask = (0x1 << 0);
19966 en_addr = (core_num == 0) ? 0x346 :
19968 val_addr = (core_num == 0) ? 0x344 :
19970 val_mask = (0x1 << 2);
19974 en_addr = (core_num == 0) ? 0x346 :
19976 val_addr = (core_num == 0) ? 0x344 :
19978 val_mask = (0x1 << 4);
19988 and_phy_reg(pi, en_addr, ~en_mask);
19989 and_phy_reg(pi, val_addr, ~val_mask);
19992 if ((core_mask == 0)
19993 || (core_mask & (1 << core_num))) {
19994 or_phy_reg(pi, en_addr, en_mask);
19996 if (addr != 0xffff) {
19997 mod_phy_reg(pi, val_addr,
20009 wlc_phy_rfctrl_override_nphy(phy_info_t *pi, u16 field, u16 value,
20010 u8 core_mask, u8 off)
20013 u16 addr = 0, mask = 0, en_addr = 0, val_addr = 0, en_mask =
20015 u8 shift = 0, val_shift = 0;
20017 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 7)) {
20020 for (core_num = 0; core_num < 2; core_num++) {
20024 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20025 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20026 val_mask = (0x1 << 0);
20030 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20031 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20032 val_mask = (0x1 << 1);
20036 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20037 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20038 val_mask = (0x1 << 2);
20042 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20043 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20044 val_mask = (0x1 << 4);
20048 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20049 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20050 val_mask = (0x1 << 5);
20054 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20055 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20056 val_mask = (0x1 << 6);
20060 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20061 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20062 val_mask = (0x1 << 7);
20066 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20067 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20068 val_mask = (0x7 << 8);
20072 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20073 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20074 val_mask = (0x7 << 13);
20079 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20080 val_addr = (core_num == 0) ? 0xf8 : 0xfa;
20081 val_mask = (0x7 << 0);
20086 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20087 val_addr = (core_num == 0) ? 0xf8 : 0xfa;
20088 val_mask = (0x7 << 4);
20093 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20094 val_addr = (core_num == 0) ? 0x7b : 0x7e;
20095 val_mask = (0xffff << 0);
20099 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20100 val_addr = (core_num == 0) ? 0x7c : 0x7f;
20101 val_mask = (0xffff << 0);
20105 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20106 val_addr = (core_num == 0) ? 0xf9 : 0xfb;
20107 val_mask = (0x3 << 6);
20111 en_addr = (core_num == 0) ? 0xe5 : 0xe6;
20112 val_addr = (core_num == 0) ? 0xf9 : 0xfb;
20113 val_mask = (0x1 << 15);
20122 and_phy_reg(pi, en_addr, ~en_mask);
20123 and_phy_reg(pi, val_addr, ~val_mask);
20126 if ((core_mask == 0)
20127 || (core_mask & (1 << core_num))) {
20128 or_phy_reg(pi, en_addr, en_mask);
20130 if (addr != 0xffff) {
20131 mod_phy_reg(pi, val_addr,
20142 and_phy_reg(pi, 0xec, ~field);
20145 or_phy_reg(pi, 0xec, field);
20148 for (core_num = 0; core_num < 2; core_num++) {
20167 addr = (core_num == 0) ? 0x7a : 0x7d;
20170 addr = (core_num == 0) ? 0x7b : 0x7e;
20173 addr = (core_num == 0) ? 0x7c : 0x7f;
20197 mask = (0xf << 12);
20242 if ((addr != 0xffff) && (core_mask & (1 << core_num))) {
20243 mod_phy_reg(pi, addr, mask, (value << shift));
20247 or_phy_reg(pi, 0xec, (0x1 << 0));
20248 or_phy_reg(pi, 0x78, (0x1 << 0));
20250 and_phy_reg(pi, 0xec, ~(0x1 << 0));
20255 wlc_phy_rfctrl_override_1tomany_nphy(phy_info_t *pi, u16 cmd, u16 value,
20256 u8 core_mask, u8 off)
20258 u16 rfmxgain = 0, lpfgain = 0;
20261 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
20264 case NPHY_REV7_RfctrlOverride_cmd_rxrf_pu:
20265 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5),
20266 value, core_mask, off,
20267 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20268 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4), value,
20270 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20271 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3), value,
20273 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20275 case NPHY_REV7_RfctrlOverride_cmd_rx_pu:
20276 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2),
20277 value, core_mask, off,
20278 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20279 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), value,
20281 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20282 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), value,
20284 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20285 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), value,
20287 NPHY_REV7_RFCTRLOVERRIDE_ID2);
20288 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 0,
20290 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20292 case NPHY_REV7_RfctrlOverride_cmd_tx_pu:
20293 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2),
20294 value, core_mask, off,
20295 NPHY_REV7_RFCTRLOVERRIDE_ID0);
20296 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), value,
20298 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20299 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), value,
20301 NPHY_REV7_RFCTRLOVERRIDE_ID2);
20302 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2), value,
20304 NPHY_REV7_RFCTRLOVERRIDE_ID2);
20305 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 1,
20307 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20309 case NPHY_REV7_RfctrlOverride_cmd_rxgain:
20310 rfmxgain = value & 0x000ff;
20311 lpfgain = value & 0x0ff00;
20312 lpfgain = lpfgain >> 8;
20314 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11),
20315 rfmxgain, core_mask,
20317 NPHY_REV7_RFCTRLOVERRIDE_ID0);
20318 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x3 << 13),
20319 lpfgain, core_mask,
20321 NPHY_REV7_RFCTRLOVERRIDE_ID0);
20323 case NPHY_REV7_RfctrlOverride_cmd_txgain:
20324 tgain = value & 0x7fff;
20325 lpfgain = value & 0x8000;
20326 lpfgain = lpfgain >> 14;
20328 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 12),
20329 tgain, core_mask, off,
20330 NPHY_REV7_RFCTRLOVERRIDE_ID0);
20331 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 13),
20332 lpfgain, core_mask,
20334 NPHY_REV7_RFCTRLOVERRIDE_ID0);
20341 wlc_phy_scale_offset_rssi_nphy(phy_info_t *pi, u16 scale, s8 offset,
20342 u8 coresel, u8 rail, u8 rssi_type)
20346 offset = (offset > NPHY_RSSICAL_MAXREAD) ?
20347 NPHY_RSSICAL_MAXREAD : offset;
20348 offset = (offset < (-NPHY_RSSICAL_MAXREAD - 1)) ?
20349 -NPHY_RSSICAL_MAXREAD - 1 : offset;
20351 valuetostuff = ((scale & 0x3f) << 8) | (offset & 0x3f);
20353 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20354 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20355 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_NB)) {
20356 write_phy_reg(pi, 0x1a6, valuetostuff);
20358 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20359 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20360 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_NB)) {
20361 write_phy_reg(pi, 0x1ac, valuetostuff);
20363 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20364 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20365 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_NB)) {
20366 write_phy_reg(pi, 0x1b2, valuetostuff);
20368 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20369 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20370 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_NB)) {
20371 write_phy_reg(pi, 0x1b8, valuetostuff);
20374 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20375 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20376 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_W1)) {
20377 write_phy_reg(pi, 0x1a4, valuetostuff);
20379 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20380 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20381 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_W1)) {
20382 write_phy_reg(pi, 0x1aa, valuetostuff);
20384 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20385 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20386 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_W1)) {
20387 write_phy_reg(pi, 0x1b0, valuetostuff);
20389 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20390 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20391 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_W1)) {
20392 write_phy_reg(pi, 0x1b6, valuetostuff);
20395 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20396 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20397 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_W2)) {
20398 write_phy_reg(pi, 0x1a5, valuetostuff);
20400 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20401 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20402 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_W2)) {
20403 write_phy_reg(pi, 0x1ab, valuetostuff);
20405 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20406 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20407 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_W2)) {
20408 write_phy_reg(pi, 0x1b1, valuetostuff);
20410 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20411 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20412 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_W2)) {
20413 write_phy_reg(pi, 0x1b7, valuetostuff);
20416 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20417 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20418 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_TBD)) {
20419 write_phy_reg(pi, 0x1a7, valuetostuff);
20421 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20422 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20423 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_TBD)) {
20424 write_phy_reg(pi, 0x1ad, valuetostuff);
20426 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20427 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20428 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_TBD)) {
20429 write_phy_reg(pi, 0x1b3, valuetostuff);
20431 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20432 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20433 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_TBD)) {
20434 write_phy_reg(pi, 0x1b9, valuetostuff);
20437 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20438 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20439 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_IQ)) {
20440 write_phy_reg(pi, 0x1a8, valuetostuff);
20442 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20443 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20444 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_IQ)) {
20445 write_phy_reg(pi, 0x1ae, valuetostuff);
20447 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20448 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20449 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_IQ)) {
20450 write_phy_reg(pi, 0x1b4, valuetostuff);
20452 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20453 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20454 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_IQ)) {
20455 write_phy_reg(pi, 0x1ba, valuetostuff);
20458 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20459 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20460 (rssi_type == NPHY_RSSI_SEL_TSSI_2G)) {
20461 write_phy_reg(pi, 0x1a9, valuetostuff);
20463 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20464 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20465 (rssi_type == NPHY_RSSI_SEL_TSSI_2G)) {
20466 write_phy_reg(pi, 0x1b5, valuetostuff);
20469 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20470 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20471 (rssi_type == NPHY_RSSI_SEL_TSSI_5G)) {
20472 write_phy_reg(pi, 0x1af, valuetostuff);
20474 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20475 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20476 (rssi_type == NPHY_RSSI_SEL_TSSI_5G)) {
20477 write_phy_reg(pi, 0x1bb, valuetostuff);
20481 void wlc_phy_rssisel_nphy(phy_info_t *pi, u8 core_code, u8 rssi_type)
20484 u16 afectrlovr_rssi_val, rfctrlcmd_rxen_val, rfctrlcmd_coresel_val,
20486 u16 rfctrlovr_rssi_val, rfctrlovr_rxen_val, rfctrlovr_coresel_val,
20487 rfctrlovr_trigger_val;
20488 u16 afectrlovr_rssi_mask, rfctrlcmd_mask, rfctrlovr_mask;
20489 u16 rfctrlcmd_val, rfctrlovr_val;
20492 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
20493 if (core_code == RADIO_MIMO_CORESEL_OFF) {
20494 mod_phy_reg(pi, 0x8f, (0x1 << 9), 0);
20495 mod_phy_reg(pi, 0xa5, (0x1 << 9), 0);
20497 mod_phy_reg(pi, 0xa6, (0x3 << 8), 0);
20498 mod_phy_reg(pi, 0xa7, (0x3 << 8), 0);
20500 mod_phy_reg(pi, 0xe5, (0x1 << 5), 0);
20501 mod_phy_reg(pi, 0xe6, (0x1 << 5), 0);
20503 mask = (0x1 << 2) |
20504 (0x1 << 3) | (0x1 << 4) | (0x1 << 5);
20505 mod_phy_reg(pi, 0xf9, mask, 0);
20506 mod_phy_reg(pi, 0xfb, mask, 0);
20509 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
20510 if (core_code == RADIO_MIMO_CORESEL_CORE1
20511 && core == PHY_CORE_1)
20513 else if (core_code == RADIO_MIMO_CORESEL_CORE2
20514 && core == PHY_CORE_0)
20517 mod_phy_reg(pi, (core == PHY_CORE_0) ?
20518 0x8f : 0xa5, (0x1 << 9), 1 << 9);
20520 if (rssi_type == NPHY_RSSI_SEL_W1 ||
20521 rssi_type == NPHY_RSSI_SEL_W2 ||
20522 rssi_type == NPHY_RSSI_SEL_NB) {
20526 PHY_CORE_0) ? 0xa6 : 0xa7,
20529 mask = (0x1 << 2) |
20531 (0x1 << 4) | (0x1 << 5);
20534 PHY_CORE_0) ? 0xf9 : 0xfb,
20537 if (rssi_type == NPHY_RSSI_SEL_W1) {
20539 (pi->radio_chanspec)) {
20546 } else if (rssi_type ==
20547 NPHY_RSSI_SEL_W2) {
20556 PHY_CORE_0) ? 0xf9 : 0xfb,
20561 mod_phy_reg(pi, (core == PHY_CORE_0) ?
20562 0xe5 : 0xe6, mask, val);
20564 if (rssi_type == NPHY_RSSI_SEL_TBD) {
20571 : 0xa7, mask, val);
20572 mask = (0x3 << 10);
20577 : 0xa7, mask, val);
20578 } else if (rssi_type ==
20579 NPHY_RSSI_SEL_IQ) {
20586 : 0xa7, mask, val);
20587 mask = (0x3 << 10);
20592 : 0xa7, mask, val);
20600 : 0xa7, mask, val);
20601 mask = (0x3 << 10);
20606 : 0xa7, mask, val);
20610 (pi->pubpi.phy_rev,
20618 RADIO_2057_TX0_TX_SSI_MUX
20620 RADIO_2057_TX1_TX_SSI_MUX),
20629 RADIO_2056_TX_TX_SSI_MUX
20646 (pi->pubpi.phy_rev,
20653 RADIO_2057_TX0_TX_SSI_MUX
20655 RADIO_2057_TX1_TX_SSI_MUX),
20663 RADIO_2057_IQTEST_SEL_PU,
20669 RADIO_2056_TX_TX_SSI_MUX
20681 afectrlovr_rssi_val = 1 << 9;
20685 : 0xa5, (0x1 << 9),
20686 afectrlovr_rssi_val);
20693 if ((rssi_type == NPHY_RSSI_SEL_W1) ||
20694 (rssi_type == NPHY_RSSI_SEL_W2) ||
20695 (rssi_type == NPHY_RSSI_SEL_NB)) {
20698 } else if (rssi_type == NPHY_RSSI_SEL_TBD) {
20701 } else if (rssi_type == NPHY_RSSI_SEL_IQ) {
20708 mask = ((0x3 << 12) | (0x3 << 14));
20709 val = (val << 12) | (val << 14);
20710 mod_phy_reg(pi, 0xa6, mask, val);
20711 mod_phy_reg(pi, 0xa7, mask, val);
20713 if ((rssi_type == NPHY_RSSI_SEL_W1) ||
20714 (rssi_type == NPHY_RSSI_SEL_W2) ||
20715 (rssi_type == NPHY_RSSI_SEL_NB)) {
20716 if (rssi_type == NPHY_RSSI_SEL_W1) {
20719 if (rssi_type == NPHY_RSSI_SEL_W2) {
20722 if (rssi_type == NPHY_RSSI_SEL_NB) {
20727 mod_phy_reg(pi, 0x7a, mask, val);
20728 mod_phy_reg(pi, 0x7d, mask, val);
20731 if (core_code == RADIO_MIMO_CORESEL_OFF) {
20732 afectrlovr_rssi_val = 0;
20733 rfctrlcmd_rxen_val = 0;
20734 rfctrlcmd_coresel_val = 0;
20735 rfctrlovr_rssi_val = 0;
20736 rfctrlovr_rxen_val = 0;
20737 rfctrlovr_coresel_val = 0;
20738 rfctrlovr_trigger_val = 0;
20741 afectrlovr_rssi_val = 1;
20742 rfctrlcmd_rxen_val = 1;
20743 rfctrlcmd_coresel_val = core_code;
20744 rfctrlovr_rssi_val = 1;
20745 rfctrlovr_rxen_val = 1;
20746 rfctrlovr_coresel_val = 1;
20747 rfctrlovr_trigger_val = 1;
20751 afectrlovr_rssi_mask = ((0x1 << 12) | (0x1 << 13));
20752 afectrlovr_rssi_val = (afectrlovr_rssi_val <<
20753 12) | (afectrlovr_rssi_val << 13);
20754 mod_phy_reg(pi, 0xa5, afectrlovr_rssi_mask,
20755 afectrlovr_rssi_val);
20757 if ((rssi_type == NPHY_RSSI_SEL_W1) ||
20758 (rssi_type == NPHY_RSSI_SEL_W2) ||
20759 (rssi_type == NPHY_RSSI_SEL_NB)) {
20760 rfctrlcmd_mask = ((0x1 << 8) | (0x7 << 3));
20761 rfctrlcmd_val = (rfctrlcmd_rxen_val << 8) |
20762 (rfctrlcmd_coresel_val << 3);
20764 rfctrlovr_mask = ((0x1 << 5) |
20766 (0x1 << 1) | (0x1 << 0));
20767 rfctrlovr_val = (rfctrlovr_rssi_val <<
20769 (rfctrlovr_rxen_val << 12) |
20770 (rfctrlovr_coresel_val << 1) |
20771 (rfctrlovr_trigger_val << 0);
20773 mod_phy_reg(pi, 0x78, rfctrlcmd_mask, rfctrlcmd_val);
20774 mod_phy_reg(pi, 0xec, rfctrlovr_mask, rfctrlovr_val);
20776 mod_phy_reg(pi, 0x78, (0x1 << 0), (startseq << 0));
20779 mod_phy_reg(pi, 0xec, (0x1 << 0), 0);
20785 wlc_phy_poll_rssi_nphy(phy_info_t *pi, u8 rssi_type, s32 *rssi_buf,
20789 u16 afectrlCore1_save = 0;
20790 u16 afectrlCore2_save = 0;
20791 u16 afectrlOverride1_save = 0;
20792 u16 afectrlOverride2_save = 0;
20793 u16 rfctrlOverrideAux0_save = 0;
20794 u16 rfctrlOverrideAux1_save = 0;
20795 u16 rfctrlMiscReg1_save = 0;
20796 u16 rfctrlMiscReg2_save = 0;
20797 u16 rfctrlcmd_save = 0;
20798 u16 rfctrloverride_save = 0;
20799 u16 rfctrlrssiothers1_save = 0;
20800 u16 rfctrlrssiothers2_save = 0;
20802 u8 ctr = 0, samp = 0;
20806 afectrlCore1_save = read_phy_reg(pi, 0xa6);
20807 afectrlCore2_save = read_phy_reg(pi, 0xa7);
20808 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
20809 rfctrlMiscReg1_save = read_phy_reg(pi, 0xf9);
20810 rfctrlMiscReg2_save = read_phy_reg(pi, 0xfb);
20811 afectrlOverride1_save = read_phy_reg(pi, 0x8f);
20812 afectrlOverride2_save = read_phy_reg(pi, 0xa5);
20813 rfctrlOverrideAux0_save = read_phy_reg(pi, 0xe5);
20814 rfctrlOverrideAux1_save = read_phy_reg(pi, 0xe6);
20816 afectrlOverride1_save = read_phy_reg(pi, 0xa5);
20817 rfctrlcmd_save = read_phy_reg(pi, 0x78);
20818 rfctrloverride_save = read_phy_reg(pi, 0xec);
20819 rfctrlrssiothers1_save = read_phy_reg(pi, 0x7a);
20820 rfctrlrssiothers2_save = read_phy_reg(pi, 0x7d);
20823 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_ALLRX, rssi_type);
20825 gpiosel_orig = read_phy_reg(pi, 0xca);
20826 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
20827 write_phy_reg(pi, 0xca, 5);
20830 for (ctr = 0; ctr < 4; ctr++) {
20834 for (samp = 0; samp < nsamps; samp++) {
20835 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
20836 rssi0 = read_phy_reg(pi, 0x1c9);
20837 rssi1 = read_phy_reg(pi, 0x1ca);
20839 rssi0 = read_phy_reg(pi, 0x219);
20840 rssi1 = read_phy_reg(pi, 0x21a);
20844 tmp_buf[ctr++] = ((s8) ((rssi0 & 0x3f) << 2)) >> 2;
20845 tmp_buf[ctr++] = ((s8) (((rssi0 >> 8) & 0x3f) << 2)) >> 2;
20846 tmp_buf[ctr++] = ((s8) ((rssi1 & 0x3f) << 2)) >> 2;
20847 tmp_buf[ctr++] = ((s8) (((rssi1 >> 8) & 0x3f) << 2)) >> 2;
20849 for (ctr = 0; ctr < 4; ctr++) {
20850 rssi_buf[ctr] += tmp_buf[ctr];
20855 rssi_out_val = rssi_buf[3] & 0xff;
20856 rssi_out_val |= (rssi_buf[2] & 0xff) << 8;
20857 rssi_out_val |= (rssi_buf[1] & 0xff) << 16;
20858 rssi_out_val |= (rssi_buf[0] & 0xff) << 24;
20860 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
20861 write_phy_reg(pi, 0xca, gpiosel_orig);
20864 write_phy_reg(pi, 0xa6, afectrlCore1_save);
20865 write_phy_reg(pi, 0xa7, afectrlCore2_save);
20866 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
20867 write_phy_reg(pi, 0xf9, rfctrlMiscReg1_save);
20868 write_phy_reg(pi, 0xfb, rfctrlMiscReg2_save);
20869 write_phy_reg(pi, 0x8f, afectrlOverride1_save);
20870 write_phy_reg(pi, 0xa5, afectrlOverride2_save);
20871 write_phy_reg(pi, 0xe5, rfctrlOverrideAux0_save);
20872 write_phy_reg(pi, 0xe6, rfctrlOverrideAux1_save);
20874 write_phy_reg(pi, 0xa5, afectrlOverride1_save);
20875 write_phy_reg(pi, 0x78, rfctrlcmd_save);
20876 write_phy_reg(pi, 0xec, rfctrloverride_save);
20877 write_phy_reg(pi, 0x7a, rfctrlrssiothers1_save);
20878 write_phy_reg(pi, 0x7d, rfctrlrssiothers2_save);
20881 return rssi_out_val;
20884 s16 wlc_phy_tempsense_nphy(phy_info_t *pi)
20886 u16 core1_txrf_iqcal1_save, core1_txrf_iqcal2_save;
20887 u16 core2_txrf_iqcal1_save, core2_txrf_iqcal2_save;
20888 u16 pwrdet_rxtx_core1_save;
20889 u16 pwrdet_rxtx_core2_save;
20890 u16 afectrlCore1_save;
20891 u16 afectrlCore2_save;
20892 u16 afectrlOverride_save;
20893 u16 afectrlOverride2_save;
20894 u16 pd_pll_ts_save;
20897 s32 radio_temp2[4];
20898 u16 syn_tempprocsense_save;
20901 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
20902 u16 auxADC_Vmid, auxADC_Av, auxADC_Vmid_save, auxADC_Av_save;
20903 u16 auxADC_rssi_ctrlL_save, auxADC_rssi_ctrlH_save;
20904 u16 auxADC_rssi_ctrlL, auxADC_rssi_ctrlH;
20906 u16 RfctrlOverride5_save, RfctrlOverride6_save;
20907 u16 RfctrlMiscReg5_save, RfctrlMiscReg6_save;
20908 u16 RSSIMultCoef0QPowerDet_save;
20909 u16 tempsense_Rcal;
20911 syn_tempprocsense_save =
20912 read_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG);
20914 afectrlCore1_save = read_phy_reg(pi, 0xa6);
20915 afectrlCore2_save = read_phy_reg(pi, 0xa7);
20916 afectrlOverride_save = read_phy_reg(pi, 0x8f);
20917 afectrlOverride2_save = read_phy_reg(pi, 0xa5);
20918 RSSIMultCoef0QPowerDet_save = read_phy_reg(pi, 0x1ae);
20919 RfctrlOverride5_save = read_phy_reg(pi, 0x346);
20920 RfctrlOverride6_save = read_phy_reg(pi, 0x347);
20921 RfctrlMiscReg5_save = read_phy_reg(pi, 0x344);
20922 RfctrlMiscReg6_save = read_phy_reg(pi, 0x345);
20924 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0A, 16,
20925 &auxADC_Vmid_save);
20926 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0E, 16,
20928 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x02, 16,
20929 &auxADC_rssi_ctrlL_save);
20930 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x03, 16,
20931 &auxADC_rssi_ctrlH_save);
20933 write_phy_reg(pi, 0x1ae, 0x0);
20935 auxADC_rssi_ctrlL = 0x0;
20936 auxADC_rssi_ctrlH = 0x20;
20937 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x02, 16,
20938 &auxADC_rssi_ctrlL);
20939 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x03, 16,
20940 &auxADC_rssi_ctrlH);
20942 tempsense_Rcal = syn_tempprocsense_save & 0x1c;
20944 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG,
20945 tempsense_Rcal | 0x01);
20947 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1),
20949 NPHY_REV7_RFCTRLOVERRIDE_ID2);
20950 mod_phy_reg(pi, 0xa6, (0x1 << 7), 0);
20951 mod_phy_reg(pi, 0xa7, (0x1 << 7), 0);
20952 mod_phy_reg(pi, 0x8f, (0x1 << 7), (0x1 << 7));
20953 mod_phy_reg(pi, 0xa5, (0x1 << 7), (0x1 << 7));
20955 mod_phy_reg(pi, 0xa6, (0x1 << 2), (0x1 << 2));
20956 mod_phy_reg(pi, 0xa7, (0x1 << 2), (0x1 << 2));
20957 mod_phy_reg(pi, 0x8f, (0x1 << 2), (0x1 << 2));
20958 mod_phy_reg(pi, 0xa5, (0x1 << 2), (0x1 << 2));
20960 mod_phy_reg(pi, 0xa6, (0x1 << 2), 0);
20961 mod_phy_reg(pi, 0xa7, (0x1 << 2), 0);
20962 mod_phy_reg(pi, 0xa6, (0x1 << 3), 0);
20963 mod_phy_reg(pi, 0xa7, (0x1 << 3), 0);
20964 mod_phy_reg(pi, 0x8f, (0x1 << 3), (0x1 << 3));
20965 mod_phy_reg(pi, 0xa5, (0x1 << 3), (0x1 << 3));
20966 mod_phy_reg(pi, 0xa6, (0x1 << 6), 0);
20967 mod_phy_reg(pi, 0xa7, (0x1 << 6), 0);
20968 mod_phy_reg(pi, 0x8f, (0x1 << 6), (0x1 << 6));
20969 mod_phy_reg(pi, 0xa5, (0x1 << 6), (0x1 << 6));
20971 auxADC_Vmid = 0xA3;
20973 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0A, 16,
20975 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0E, 16,
20980 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
20981 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG,
20982 tempsense_Rcal | 0x03);
20985 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp2, 1);
20988 if (radio_temp[1] + radio_temp2[1] < -30) {
20989 auxADC_Vmid = 0x45;
20991 } else if (radio_temp[1] + radio_temp2[1] < -9) {
20992 auxADC_Vmid = 0x200;
20994 } else if (radio_temp[1] + radio_temp2[1] < 11) {
20995 auxADC_Vmid = 0x266;
20998 auxADC_Vmid = 0x2D5;
21002 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0A, 16,
21004 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0E, 16,
21009 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp2, 1);
21010 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG,
21011 tempsense_Rcal | 0x01);
21014 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
21016 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG,
21017 syn_tempprocsense_save);
21019 write_phy_reg(pi, 0xa6, afectrlCore1_save);
21020 write_phy_reg(pi, 0xa7, afectrlCore2_save);
21021 write_phy_reg(pi, 0x8f, afectrlOverride_save);
21022 write_phy_reg(pi, 0xa5, afectrlOverride2_save);
21023 write_phy_reg(pi, 0x1ae, RSSIMultCoef0QPowerDet_save);
21024 write_phy_reg(pi, 0x346, RfctrlOverride5_save);
21025 write_phy_reg(pi, 0x347, RfctrlOverride6_save);
21026 write_phy_reg(pi, 0x344, RfctrlMiscReg5_save);
21027 write_phy_reg(pi, 0x345, RfctrlMiscReg5_save);
21029 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0A, 16,
21030 &auxADC_Vmid_save);
21031 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0E, 16,
21033 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x02, 16,
21034 &auxADC_rssi_ctrlL_save);
21035 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x03, 16,
21036 &auxADC_rssi_ctrlH_save);
21038 if (pi->sh->chip == BCM5357_CHIP_ID) {
21039 radio_temp[0] = (193 * (radio_temp[1] + radio_temp2[1])
21040 + 88 * (auxADC_Vl) - 27111 +
21042 } else if (pi->sh->chip == BCM43236_CHIP_ID) {
21043 radio_temp[0] = (198 * (radio_temp[1] + radio_temp2[1])
21044 + 91 * (auxADC_Vl) - 27243 +
21047 radio_temp[0] = (179 * (radio_temp[1] + radio_temp2[1])
21048 + 82 * (auxADC_Vl) - 28861 +
21052 offset = (s16) pi->phy_tempsense_offset;
21054 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
21055 syn_tempprocsense_save =
21056 read_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE);
21058 afectrlCore1_save = read_phy_reg(pi, 0xa6);
21059 afectrlCore2_save = read_phy_reg(pi, 0xa7);
21060 afectrlOverride_save = read_phy_reg(pi, 0x8f);
21061 afectrlOverride2_save = read_phy_reg(pi, 0xa5);
21062 gpioSel_save = read_phy_reg(pi, 0xca);
21064 write_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE, 0x01);
21066 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
21067 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21069 write_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE, 0x05);
21072 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp2, 1);
21073 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21074 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG, 0x01);
21076 write_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE, 0x01);
21080 (126 * (radio_temp[1] + radio_temp2[1]) + 3987) / 64;
21082 write_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE,
21083 syn_tempprocsense_save);
21085 write_phy_reg(pi, 0xca, gpioSel_save);
21086 write_phy_reg(pi, 0xa6, afectrlCore1_save);
21087 write_phy_reg(pi, 0xa7, afectrlCore2_save);
21088 write_phy_reg(pi, 0x8f, afectrlOverride_save);
21089 write_phy_reg(pi, 0xa5, afectrlOverride2_save);
21091 offset = (s16) pi->phy_tempsense_offset;
21094 pwrdet_rxtx_core1_save =
21095 read_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1);
21096 pwrdet_rxtx_core2_save =
21097 read_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2);
21098 core1_txrf_iqcal1_save =
21099 read_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1);
21100 core1_txrf_iqcal2_save =
21101 read_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2);
21102 core2_txrf_iqcal1_save =
21103 read_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1);
21104 core2_txrf_iqcal2_save =
21105 read_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2);
21106 pd_pll_ts_save = read_radio_reg(pi, RADIO_2055_PD_PLL_TS);
21108 afectrlCore1_save = read_phy_reg(pi, 0xa6);
21109 afectrlCore2_save = read_phy_reg(pi, 0xa7);
21110 afectrlOverride_save = read_phy_reg(pi, 0xa5);
21111 gpioSel_save = read_phy_reg(pi, 0xca);
21113 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1, 0x01);
21114 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1, 0x01);
21115 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2, 0x08);
21116 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2, 0x08);
21117 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1, 0x04);
21118 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2, 0x04);
21119 write_radio_reg(pi, RADIO_2055_PD_PLL_TS, 0x00);
21121 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
21122 xor_radio_reg(pi, RADIO_2055_CAL_TS, 0x80);
21124 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
21125 xor_radio_reg(pi, RADIO_2055_CAL_TS, 0x80);
21127 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp2, 1);
21128 xor_radio_reg(pi, RADIO_2055_CAL_TS, 0x80);
21130 radio_temp[0] = (radio_temp[0] + radio_temp2[0]);
21131 radio_temp[1] = (radio_temp[1] + radio_temp2[1]);
21132 radio_temp[2] = (radio_temp[2] + radio_temp2[2]);
21133 radio_temp[3] = (radio_temp[3] + radio_temp2[3]);
21136 (radio_temp[0] + radio_temp[1] + radio_temp[2] +
21140 (radio_temp[0] + (8 * 32)) * (950 - 350) / 63 + (350 * 8);
21142 radio_temp[0] = (radio_temp[0] - (8 * 420)) / 38;
21144 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1,
21145 pwrdet_rxtx_core1_save);
21146 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2,
21147 pwrdet_rxtx_core2_save);
21148 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1,
21149 core1_txrf_iqcal1_save);
21150 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1,
21151 core2_txrf_iqcal1_save);
21152 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2,
21153 core1_txrf_iqcal2_save);
21154 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2,
21155 core2_txrf_iqcal2_save);
21156 write_radio_reg(pi, RADIO_2055_PD_PLL_TS, pd_pll_ts_save);
21158 write_phy_reg(pi, 0xca, gpioSel_save);
21159 write_phy_reg(pi, 0xa6, afectrlCore1_save);
21160 write_phy_reg(pi, 0xa7, afectrlCore2_save);
21161 write_phy_reg(pi, 0xa5, afectrlOverride_save);
21164 return (s16) radio_temp[0] + offset;
21168 wlc_phy_set_rssi_2055_vcm(phy_info_t *pi, u8 rssi_type, u8 *vcm_buf)
21172 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
21173 if (rssi_type == NPHY_RSSI_SEL_NB) {
21174 if (core == PHY_CORE_0) {
21176 RADIO_2055_CORE1_B0_NBRSSI_VCM,
21177 RADIO_2055_NBRSSI_VCM_I_MASK,
21180 RADIO_2055_NBRSSI_VCM_I_SHIFT);
21182 RADIO_2055_CORE1_RXBB_RSSI_CTRL5,
21183 RADIO_2055_NBRSSI_VCM_Q_MASK,
21186 RADIO_2055_NBRSSI_VCM_Q_SHIFT);
21189 RADIO_2055_CORE2_B0_NBRSSI_VCM,
21190 RADIO_2055_NBRSSI_VCM_I_MASK,
21193 RADIO_2055_NBRSSI_VCM_I_SHIFT);
21195 RADIO_2055_CORE2_RXBB_RSSI_CTRL5,
21196 RADIO_2055_NBRSSI_VCM_Q_MASK,
21199 RADIO_2055_NBRSSI_VCM_Q_SHIFT);
21203 if (core == PHY_CORE_0) {
21205 RADIO_2055_CORE1_RXBB_RSSI_CTRL5,
21206 RADIO_2055_WBRSSI_VCM_IQ_MASK,
21209 RADIO_2055_WBRSSI_VCM_IQ_SHIFT);
21212 RADIO_2055_CORE2_RXBB_RSSI_CTRL5,
21213 RADIO_2055_WBRSSI_VCM_IQ_MASK,
21216 RADIO_2055_WBRSSI_VCM_IQ_SHIFT);
21222 void wlc_phy_rssi_cal_nphy(phy_info_t *pi)
21224 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
21226 wlc_phy_rssi_cal_nphy_rev3(pi);
21228 wlc_phy_rssi_cal_nphy_rev2(pi, NPHY_RSSI_SEL_NB);
21229 wlc_phy_rssi_cal_nphy_rev2(pi, NPHY_RSSI_SEL_W1);
21230 wlc_phy_rssi_cal_nphy_rev2(pi, NPHY_RSSI_SEL_W2);
21234 static void wlc_phy_rssi_cal_nphy_rev2(phy_info_t *pi, u8 rssi_type)
21239 u16 rssi_ctrl_state[2], pd_state[2];
21240 u16 rfctrlintc_state[2], rfpdcorerxtx_state[2];
21241 u16 rfctrlintc_override_val;
21242 u16 clip_off[] = { 0xffff, 0xffff };
21243 u16 rf_pd_val, pd_mask, rssi_ctrl_mask;
21244 u8 vcm, min_vcm, vcm_tmp[4];
21245 u8 vcm_final[4] = { 0, 0, 0, 0 };
21246 u8 result_idx, ctr;
21247 s32 poll_results[4][4] = {
21253 s32 poll_miniq[4][2] = {
21260 s32 fine_digital_offset[4];
21261 s32 poll_results_min[4] = { 0, 0, 0, 0 };
21264 switch (rssi_type) {
21265 case NPHY_RSSI_SEL_NB:
21266 target_code = NPHY_RSSICAL_NB_TARGET;
21268 case NPHY_RSSI_SEL_W1:
21269 target_code = NPHY_RSSICAL_W1_TARGET;
21271 case NPHY_RSSI_SEL_W2:
21272 target_code = NPHY_RSSICAL_W2_TARGET;
21279 classif_state = wlc_phy_classifier_nphy(pi, 0, 0);
21280 wlc_phy_classifier_nphy(pi, (0x7 << 0), 4);
21281 wlc_phy_clip_det_nphy(pi, 0, clip_state);
21282 wlc_phy_clip_det_nphy(pi, 1, clip_off);
21284 rf_pd_val = (rssi_type == NPHY_RSSI_SEL_NB) ? 0x6 : 0x4;
21285 rfctrlintc_override_val =
21286 CHSPEC_IS5G(pi->radio_chanspec) ? 0x140 : 0x110;
21288 rfctrlintc_state[0] = read_phy_reg(pi, 0x91);
21289 rfpdcorerxtx_state[0] = read_radio_reg(pi, RADIO_2055_PD_CORE1_RXTX);
21290 write_phy_reg(pi, 0x91, rfctrlintc_override_val);
21291 write_radio_reg(pi, RADIO_2055_PD_CORE1_RXTX, rf_pd_val);
21293 rfctrlintc_state[1] = read_phy_reg(pi, 0x92);
21294 rfpdcorerxtx_state[1] = read_radio_reg(pi, RADIO_2055_PD_CORE2_RXTX);
21295 write_phy_reg(pi, 0x92, rfctrlintc_override_val);
21296 write_radio_reg(pi, RADIO_2055_PD_CORE2_RXTX, rf_pd_val);
21298 pd_mask = RADIO_2055_NBRSSI_PD | RADIO_2055_WBRSSI_G1_PD |
21299 RADIO_2055_WBRSSI_G2_PD;
21301 read_radio_reg(pi, RADIO_2055_PD_CORE1_RSSI_MISC) & pd_mask;
21303 read_radio_reg(pi, RADIO_2055_PD_CORE2_RSSI_MISC) & pd_mask;
21304 mod_radio_reg(pi, RADIO_2055_PD_CORE1_RSSI_MISC, pd_mask, 0);
21305 mod_radio_reg(pi, RADIO_2055_PD_CORE2_RSSI_MISC, pd_mask, 0);
21306 rssi_ctrl_mask = RADIO_2055_NBRSSI_SEL | RADIO_2055_WBRSSI_G1_SEL |
21307 RADIO_2055_WBRSSI_G2_SEL;
21308 rssi_ctrl_state[0] =
21309 read_radio_reg(pi, RADIO_2055_SP_RSSI_CORE1) & rssi_ctrl_mask;
21310 rssi_ctrl_state[1] =
21311 read_radio_reg(pi, RADIO_2055_SP_RSSI_CORE2) & rssi_ctrl_mask;
21312 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_ALLRX, rssi_type);
21314 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0, RADIO_MIMO_CORESEL_ALLRX,
21315 NPHY_RAIL_I, rssi_type);
21316 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0, RADIO_MIMO_CORESEL_ALLRX,
21317 NPHY_RAIL_Q, rssi_type);
21319 for (vcm = 0; vcm < 4; vcm++) {
21321 vcm_tmp[0] = vcm_tmp[1] = vcm_tmp[2] = vcm_tmp[3] = vcm;
21322 if (rssi_type != NPHY_RSSI_SEL_W2) {
21323 wlc_phy_set_rssi_2055_vcm(pi, rssi_type, vcm_tmp);
21326 wlc_phy_poll_rssi_nphy(pi, rssi_type, &poll_results[vcm][0],
21327 NPHY_RSSICAL_NPOLL);
21329 if ((rssi_type == NPHY_RSSI_SEL_W1)
21330 || (rssi_type == NPHY_RSSI_SEL_W2)) {
21331 for (ctr = 0; ctr < 2; ctr++) {
21332 poll_miniq[vcm][ctr] =
21333 min(poll_results[vcm][ctr * 2 + 0],
21334 poll_results[vcm][ctr * 2 + 1]);
21339 for (result_idx = 0; result_idx < 4; result_idx++) {
21340 min_d = NPHY_RSSICAL_MAXD;
21342 min_poll = NPHY_RSSICAL_MAXREAD * NPHY_RSSICAL_NPOLL + 1;
21343 for (vcm = 0; vcm < 4; vcm++) {
21344 curr_d = ABS(((rssi_type == NPHY_RSSI_SEL_NB) ?
21345 poll_results[vcm][result_idx] :
21346 poll_miniq[vcm][result_idx / 2]) -
21347 (target_code * NPHY_RSSICAL_NPOLL));
21348 if (curr_d < min_d) {
21352 if (poll_results[vcm][result_idx] < min_poll) {
21353 min_poll = poll_results[vcm][result_idx];
21356 vcm_final[result_idx] = min_vcm;
21357 poll_results_min[result_idx] = min_poll;
21360 if (rssi_type != NPHY_RSSI_SEL_W2) {
21361 wlc_phy_set_rssi_2055_vcm(pi, rssi_type, vcm_final);
21364 for (result_idx = 0; result_idx < 4; result_idx++) {
21365 fine_digital_offset[result_idx] =
21366 (target_code * NPHY_RSSICAL_NPOLL) -
21367 poll_results[vcm_final[result_idx]][result_idx];
21368 if (fine_digital_offset[result_idx] < 0) {
21369 fine_digital_offset[result_idx] =
21370 ABS(fine_digital_offset[result_idx]);
21371 fine_digital_offset[result_idx] +=
21372 (NPHY_RSSICAL_NPOLL / 2);
21373 fine_digital_offset[result_idx] /= NPHY_RSSICAL_NPOLL;
21374 fine_digital_offset[result_idx] =
21375 -fine_digital_offset[result_idx];
21377 fine_digital_offset[result_idx] +=
21378 (NPHY_RSSICAL_NPOLL / 2);
21379 fine_digital_offset[result_idx] /= NPHY_RSSICAL_NPOLL;
21382 if (poll_results_min[result_idx] ==
21383 NPHY_RSSICAL_MAXREAD * NPHY_RSSICAL_NPOLL) {
21384 fine_digital_offset[result_idx] =
21385 (target_code - NPHY_RSSICAL_MAXREAD - 1);
21388 wlc_phy_scale_offset_rssi_nphy(pi, 0x0,
21390 fine_digital_offset[result_idx],
21392 0) ? RADIO_MIMO_CORESEL_CORE1 :
21393 RADIO_MIMO_CORESEL_CORE2,
21395 0) ? NPHY_RAIL_I : NPHY_RAIL_Q,
21399 mod_radio_reg(pi, RADIO_2055_PD_CORE1_RSSI_MISC, pd_mask, pd_state[0]);
21400 mod_radio_reg(pi, RADIO_2055_PD_CORE2_RSSI_MISC, pd_mask, pd_state[1]);
21401 if (rssi_ctrl_state[0] == RADIO_2055_NBRSSI_SEL) {
21402 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE1,
21404 } else if (rssi_ctrl_state[0] == RADIO_2055_WBRSSI_G1_SEL) {
21405 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE1,
21407 } else if (rssi_ctrl_state[0] == RADIO_2055_WBRSSI_G2_SEL) {
21408 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE1,
21411 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE1,
21414 if (rssi_ctrl_state[1] == RADIO_2055_NBRSSI_SEL) {
21415 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE2,
21417 } else if (rssi_ctrl_state[1] == RADIO_2055_WBRSSI_G1_SEL) {
21418 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE2,
21420 } else if (rssi_ctrl_state[1] == RADIO_2055_WBRSSI_G2_SEL) {
21421 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE2,
21424 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE2,
21428 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_OFF, rssi_type);
21430 write_phy_reg(pi, 0x91, rfctrlintc_state[0]);
21431 write_radio_reg(pi, RADIO_2055_PD_CORE1_RXTX, rfpdcorerxtx_state[0]);
21432 write_phy_reg(pi, 0x92, rfctrlintc_state[1]);
21433 write_radio_reg(pi, RADIO_2055_PD_CORE2_RXTX, rfpdcorerxtx_state[1]);
21435 wlc_phy_classifier_nphy(pi, (0x7 << 0), classif_state);
21436 wlc_phy_clip_det_nphy(pi, 1, clip_state);
21438 wlc_phy_resetcca_nphy(pi);
21442 wlc_phy_rssi_compute_nphy(phy_info_t *pi, wlc_d11rxhdr_t *wlc_rxh)
21444 d11rxhdr_t *rxh = &wlc_rxh->rxhdr;
21445 s16 rxpwr, rxpwr0, rxpwr1;
21446 s16 phyRx0_l, phyRx2_l;
21449 rxpwr0 = le16_to_cpu(rxh->PhyRxStatus_1) & PRXS1_nphy_PWR0_MASK;
21450 rxpwr1 = (le16_to_cpu(rxh->PhyRxStatus_1) & PRXS1_nphy_PWR1_MASK) >> 8;
21457 phyRx0_l = le16_to_cpu(rxh->PhyRxStatus_0) & 0x00ff;
21458 phyRx2_l = le16_to_cpu(rxh->PhyRxStatus_2) & 0x00ff;
21459 if (phyRx2_l > 127)
21462 if (((rxpwr0 == 16) || (rxpwr0 == 32))) {
21467 wlc_rxh->rxpwr[0] = (s8) rxpwr0;
21468 wlc_rxh->rxpwr[1] = (s8) rxpwr1;
21469 wlc_rxh->do_rssi_ma = 0;
21471 if (pi->sh->rssi_mode == RSSI_ANT_MERGE_MAX)
21472 rxpwr = (rxpwr0 > rxpwr1) ? rxpwr0 : rxpwr1;
21473 else if (pi->sh->rssi_mode == RSSI_ANT_MERGE_MIN)
21474 rxpwr = (rxpwr0 < rxpwr1) ? rxpwr0 : rxpwr1;
21475 else if (pi->sh->rssi_mode == RSSI_ANT_MERGE_AVG)
21476 rxpwr = (rxpwr0 + rxpwr1) >> 1;
21482 wlc_phy_rfctrlintc_override_nphy(phy_info_t *pi, u8 field, u16 value,
21489 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
21490 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
21491 if (core_code == RADIO_MIMO_CORESEL_CORE1
21492 && core == PHY_CORE_1)
21494 else if (core_code == RADIO_MIMO_CORESEL_CORE2
21495 && core == PHY_CORE_0)
21498 if (NREV_LT(pi->pubpi.phy_rev, 7)) {
21500 mask = (0x1 << 10);
21502 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x91 :
21506 if (field == NPHY_RfctrlIntc_override_OFF) {
21508 write_phy_reg(pi, (core == PHY_CORE_0) ? 0x91 :
21511 wlc_phy_force_rfseq_nphy(pi,
21512 NPHY_RFSEQ_RESET2RX);
21513 } else if (field == NPHY_RfctrlIntc_override_TRSW) {
21515 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21517 mask = (0x1 << 6) | (0x1 << 7);
21522 PHY_CORE_0) ? 0x91 : 0x92,
21527 PHY_CORE_0) ? 0x91 : 0x92,
21530 and_phy_reg(pi, 0x2ff, (u16)
21532 or_phy_reg(pi, 0x2ff, (0x1 << 13));
21533 or_phy_reg(pi, 0x2ff, (0x1 << 0));
21536 mask = (0x1 << 6) |
21538 (0x1 << 8) | (0x1 << 9);
21542 PHY_CORE_0) ? 0x91 : 0x92,
21549 PHY_CORE_0) ? 0xe7 : 0xec,
21552 mask = (core == PHY_CORE_0) ? (0x1 << 0)
21554 val = 1 << ((core == PHY_CORE_0) ?
21556 mod_phy_reg(pi, 0x78, mask, val);
21558 SPINWAIT(((read_phy_reg(pi, 0x78) & val)
21560 if (WARN(read_phy_reg(pi, 0x78) & val,
21561 "HW error: override failed"))
21568 PHY_CORE_0) ? 0xe7 : 0xec,
21571 } else if (field == NPHY_RfctrlIntc_override_PA) {
21572 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21574 mask = (0x1 << 4) | (0x1 << 5);
21576 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21584 PHY_CORE_0) ? 0x91 : 0x92,
21589 PHY_CORE_0) ? 0x91 : 0x92,
21593 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21602 PHY_CORE_0) ? 0x91 : 0x92,
21605 } else if (field == NPHY_RfctrlIntc_override_EXT_LNA_PU) {
21606 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21607 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21614 : 0x92, mask, val);
21628 : 0x92, mask, val);
21637 mask = (0x1 << 11);
21641 PHY_CORE_0) ? 0x91 : 0x92,
21645 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21654 PHY_CORE_0) ? 0x91 : 0x92,
21657 } else if (field ==
21658 NPHY_RfctrlIntc_override_EXT_LNA_GAIN) {
21659 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21660 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21667 : 0x92, mask, val);
21681 : 0x92, mask, val);
21690 mask = (0x1 << 11);
21694 PHY_CORE_0) ? 0x91 : 0x92,
21698 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21707 PHY_CORE_0) ? 0x91 : 0x92,
21717 static void wlc_phy_rssi_cal_nphy_rev3(phy_info_t *pi)
21721 u16 clip_off[] = { 0xffff, 0xffff };
21726 s32 poll_results[8][4] = {
21736 s32 poll_result_core[4] = { 0, 0, 0, 0 };
21737 s32 min_d = NPHY_RSSICAL_MAXD, curr_d;
21738 s32 fine_digital_offset[4];
21739 s32 poll_results_min[4] = { 0, 0, 0, 0 };
21745 u16 NPHY_Rfctrlintc1_save, NPHY_Rfctrlintc2_save;
21746 u16 NPHY_AfectrlOverride1_save, NPHY_AfectrlOverride2_save;
21747 u16 NPHY_AfectrlCore1_save, NPHY_AfectrlCore2_save;
21748 u16 NPHY_RfctrlOverride0_save, NPHY_RfctrlOverride1_save;
21749 u16 NPHY_RfctrlOverrideAux0_save, NPHY_RfctrlOverrideAux1_save;
21750 u16 NPHY_RfctrlCmd_save;
21751 u16 NPHY_RfctrlMiscReg1_save, NPHY_RfctrlMiscReg2_save;
21752 u16 NPHY_RfctrlRSSIOTHERS1_save, NPHY_RfctrlRSSIOTHERS2_save;
21754 u16 NPHY_REV7_RfctrlOverride3_save, NPHY_REV7_RfctrlOverride4_save;
21755 u16 NPHY_REV7_RfctrlOverride5_save, NPHY_REV7_RfctrlOverride6_save;
21756 u16 NPHY_REV7_RfctrlMiscReg3_save, NPHY_REV7_RfctrlMiscReg4_save;
21757 u16 NPHY_REV7_RfctrlMiscReg5_save, NPHY_REV7_RfctrlMiscReg6_save;
21759 NPHY_REV7_RfctrlOverride3_save = NPHY_REV7_RfctrlOverride4_save =
21760 NPHY_REV7_RfctrlOverride5_save = NPHY_REV7_RfctrlOverride6_save =
21761 NPHY_REV7_RfctrlMiscReg3_save = NPHY_REV7_RfctrlMiscReg4_save =
21762 NPHY_REV7_RfctrlMiscReg5_save = NPHY_REV7_RfctrlMiscReg6_save = 0;
21764 classif_state = wlc_phy_classifier_nphy(pi, 0, 0);
21765 wlc_phy_classifier_nphy(pi, (0x7 << 0), 4);
21766 wlc_phy_clip_det_nphy(pi, 0, clip_state);
21767 wlc_phy_clip_det_nphy(pi, 1, clip_off);
21769 NPHY_Rfctrlintc1_save = read_phy_reg(pi, 0x91);
21770 NPHY_Rfctrlintc2_save = read_phy_reg(pi, 0x92);
21771 NPHY_AfectrlOverride1_save = read_phy_reg(pi, 0x8f);
21772 NPHY_AfectrlOverride2_save = read_phy_reg(pi, 0xa5);
21773 NPHY_AfectrlCore1_save = read_phy_reg(pi, 0xa6);
21774 NPHY_AfectrlCore2_save = read_phy_reg(pi, 0xa7);
21775 NPHY_RfctrlOverride0_save = read_phy_reg(pi, 0xe7);
21776 NPHY_RfctrlOverride1_save = read_phy_reg(pi, 0xec);
21777 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21778 NPHY_REV7_RfctrlOverride3_save = read_phy_reg(pi, 0x342);
21779 NPHY_REV7_RfctrlOverride4_save = read_phy_reg(pi, 0x343);
21780 NPHY_REV7_RfctrlOverride5_save = read_phy_reg(pi, 0x346);
21781 NPHY_REV7_RfctrlOverride6_save = read_phy_reg(pi, 0x347);
21783 NPHY_RfctrlOverrideAux0_save = read_phy_reg(pi, 0xe5);
21784 NPHY_RfctrlOverrideAux1_save = read_phy_reg(pi, 0xe6);
21785 NPHY_RfctrlCmd_save = read_phy_reg(pi, 0x78);
21786 NPHY_RfctrlMiscReg1_save = read_phy_reg(pi, 0xf9);
21787 NPHY_RfctrlMiscReg2_save = read_phy_reg(pi, 0xfb);
21788 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21789 NPHY_REV7_RfctrlMiscReg3_save = read_phy_reg(pi, 0x340);
21790 NPHY_REV7_RfctrlMiscReg4_save = read_phy_reg(pi, 0x341);
21791 NPHY_REV7_RfctrlMiscReg5_save = read_phy_reg(pi, 0x344);
21792 NPHY_REV7_RfctrlMiscReg6_save = read_phy_reg(pi, 0x345);
21794 NPHY_RfctrlRSSIOTHERS1_save = read_phy_reg(pi, 0x7a);
21795 NPHY_RfctrlRSSIOTHERS2_save = read_phy_reg(pi, 0x7d);
21797 wlc_phy_rfctrlintc_override_nphy(pi, NPHY_RfctrlIntc_override_OFF, 0,
21798 RADIO_MIMO_CORESEL_ALLRXTX);
21799 wlc_phy_rfctrlintc_override_nphy(pi, NPHY_RfctrlIntc_override_TRSW, 1,
21800 RADIO_MIMO_CORESEL_ALLRXTX);
21802 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21803 wlc_phy_rfctrl_override_1tomany_nphy(pi,
21804 NPHY_REV7_RfctrlOverride_cmd_rxrf_pu,
21807 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 0), 0, 0, 0);
21810 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21811 wlc_phy_rfctrl_override_1tomany_nphy(pi,
21812 NPHY_REV7_RfctrlOverride_cmd_rx_pu,
21815 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 1), 1, 0, 0);
21818 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21819 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7),
21821 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21822 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 6), 1, 0, 0,
21823 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21825 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 7), 1, 0, 0);
21826 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 6), 1, 0, 0);
21829 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21830 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21831 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5),
21833 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21834 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4), 1, 0,
21836 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21838 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 5), 0, 0, 0);
21839 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 4), 1, 0, 0);
21843 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21844 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4),
21846 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21847 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5), 1, 0,
21849 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21851 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 4), 0, 0, 0);
21852 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 5), 1, 0, 0);
21856 rxcore_state = wlc_phy_rxcore_getstate_nphy((wlc_phy_t *) pi);
21860 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
21862 if ((rxcore_state & (1 << core)) == 0)
21865 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0,
21868 RADIO_MIMO_CORESEL_CORE1 :
21869 RADIO_MIMO_CORESEL_CORE2,
21870 NPHY_RAIL_I, NPHY_RSSI_SEL_NB);
21871 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0,
21874 RADIO_MIMO_CORESEL_CORE1 :
21875 RADIO_MIMO_CORESEL_CORE2,
21876 NPHY_RAIL_Q, NPHY_RSSI_SEL_NB);
21878 for (vcm = 0; vcm < vcm_level_max; vcm++) {
21879 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21881 mod_radio_reg(pi, (core == PHY_CORE_0) ?
21882 RADIO_2057_NB_MASTER_CORE0 :
21883 RADIO_2057_NB_MASTER_CORE1,
21884 RADIO_2057_VCM_MASK, vcm);
21887 mod_radio_reg(pi, RADIO_2056_RX_RSSI_MISC |
21889 PHY_CORE_0) ? RADIO_2056_RX0 :
21891 RADIO_2056_VCM_MASK,
21892 vcm << RADIO_2056_RSSI_VCM_SHIFT);
21895 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_NB,
21896 &poll_results[vcm][0],
21897 NPHY_RSSICAL_NPOLL);
21900 for (result_idx = 0; result_idx < 4; result_idx++) {
21901 if ((core == result_idx / 2) && (result_idx % 2 == 0)) {
21903 min_d = NPHY_RSSICAL_MAXD;
21906 NPHY_RSSICAL_MAXREAD * NPHY_RSSICAL_NPOLL +
21908 for (vcm = 0; vcm < vcm_level_max; vcm++) {
21909 curr_d = poll_results[vcm][result_idx] *
21910 poll_results[vcm][result_idx] +
21911 poll_results[vcm][result_idx + 1] *
21912 poll_results[vcm][result_idx + 1];
21913 if (curr_d < min_d) {
21917 if (poll_results[vcm][result_idx] <
21924 vcm_final = min_vcm;
21925 poll_results_min[result_idx] = min_poll;
21929 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21930 mod_radio_reg(pi, (core == PHY_CORE_0) ?
21931 RADIO_2057_NB_MASTER_CORE0 :
21932 RADIO_2057_NB_MASTER_CORE1,
21933 RADIO_2057_VCM_MASK, vcm_final);
21935 mod_radio_reg(pi, RADIO_2056_RX_RSSI_MISC |
21937 PHY_CORE_0) ? RADIO_2056_RX0 :
21938 RADIO_2056_RX1), RADIO_2056_VCM_MASK,
21939 vcm_final << RADIO_2056_RSSI_VCM_SHIFT);
21942 for (result_idx = 0; result_idx < 4; result_idx++) {
21943 if (core == result_idx / 2) {
21944 fine_digital_offset[result_idx] =
21945 (NPHY_RSSICAL_NB_TARGET *
21946 NPHY_RSSICAL_NPOLL) -
21947 poll_results[vcm_final][result_idx];
21948 if (fine_digital_offset[result_idx] < 0) {
21949 fine_digital_offset[result_idx] =
21950 ABS(fine_digital_offset
21952 fine_digital_offset[result_idx] +=
21953 (NPHY_RSSICAL_NPOLL / 2);
21954 fine_digital_offset[result_idx] /=
21955 NPHY_RSSICAL_NPOLL;
21956 fine_digital_offset[result_idx] =
21957 -fine_digital_offset[result_idx];
21959 fine_digital_offset[result_idx] +=
21960 (NPHY_RSSICAL_NPOLL / 2);
21961 fine_digital_offset[result_idx] /=
21962 NPHY_RSSICAL_NPOLL;
21965 if (poll_results_min[result_idx] ==
21966 NPHY_RSSICAL_MAXREAD * NPHY_RSSICAL_NPOLL) {
21967 fine_digital_offset[result_idx] =
21968 (NPHY_RSSICAL_NB_TARGET -
21969 NPHY_RSSICAL_MAXREAD - 1);
21972 wlc_phy_scale_offset_rssi_nphy(pi, 0x0,
21974 fine_digital_offset
21979 RADIO_MIMO_CORESEL_CORE1
21981 RADIO_MIMO_CORESEL_CORE2,
21992 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
21994 if ((rxcore_state & (1 << core)) == 0)
21997 for (wb_cnt = 0; wb_cnt < 2; wb_cnt++) {
21999 rssi_type = NPHY_RSSI_SEL_W1;
22000 target_code = NPHY_RSSICAL_W1_TARGET_REV3;
22002 rssi_type = NPHY_RSSI_SEL_W2;
22003 target_code = NPHY_RSSICAL_W2_TARGET_REV3;
22006 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0,
22009 RADIO_MIMO_CORESEL_CORE1
22011 RADIO_MIMO_CORESEL_CORE2,
22012 NPHY_RAIL_I, rssi_type);
22013 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0,
22016 RADIO_MIMO_CORESEL_CORE1
22018 RADIO_MIMO_CORESEL_CORE2,
22019 NPHY_RAIL_Q, rssi_type);
22021 wlc_phy_poll_rssi_nphy(pi, rssi_type, poll_result_core,
22022 NPHY_RSSICAL_NPOLL);
22024 for (result_idx = 0; result_idx < 4; result_idx++) {
22025 if (core == result_idx / 2) {
22026 fine_digital_offset[result_idx] =
22027 (target_code * NPHY_RSSICAL_NPOLL) -
22028 poll_result_core[result_idx];
22029 if (fine_digital_offset[result_idx] < 0) {
22030 fine_digital_offset[result_idx]
22032 ABS(fine_digital_offset
22034 fine_digital_offset[result_idx]
22035 += (NPHY_RSSICAL_NPOLL / 2);
22036 fine_digital_offset[result_idx]
22037 /= NPHY_RSSICAL_NPOLL;
22038 fine_digital_offset[result_idx]
22040 -fine_digital_offset
22043 fine_digital_offset[result_idx]
22044 += (NPHY_RSSICAL_NPOLL / 2);
22045 fine_digital_offset[result_idx]
22046 /= NPHY_RSSICAL_NPOLL;
22049 wlc_phy_scale_offset_rssi_nphy(pi, 0x0,
22051 fine_digital_offset
22057 RADIO_MIMO_CORESEL_CORE1
22059 RADIO_MIMO_CORESEL_CORE2,
22073 write_phy_reg(pi, 0x91, NPHY_Rfctrlintc1_save);
22074 write_phy_reg(pi, 0x92, NPHY_Rfctrlintc2_save);
22076 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
22078 mod_phy_reg(pi, 0xe7, (0x1 << 0), 1 << 0);
22079 mod_phy_reg(pi, 0x78, (0x1 << 0), 1 << 0);
22080 mod_phy_reg(pi, 0xe7, (0x1 << 0), 0);
22082 mod_phy_reg(pi, 0xec, (0x1 << 0), 1 << 0);
22083 mod_phy_reg(pi, 0x78, (0x1 << 1), 1 << 1);
22084 mod_phy_reg(pi, 0xec, (0x1 << 0), 0);
22086 write_phy_reg(pi, 0x8f, NPHY_AfectrlOverride1_save);
22087 write_phy_reg(pi, 0xa5, NPHY_AfectrlOverride2_save);
22088 write_phy_reg(pi, 0xa6, NPHY_AfectrlCore1_save);
22089 write_phy_reg(pi, 0xa7, NPHY_AfectrlCore2_save);
22090 write_phy_reg(pi, 0xe7, NPHY_RfctrlOverride0_save);
22091 write_phy_reg(pi, 0xec, NPHY_RfctrlOverride1_save);
22092 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22093 write_phy_reg(pi, 0x342, NPHY_REV7_RfctrlOverride3_save);
22094 write_phy_reg(pi, 0x343, NPHY_REV7_RfctrlOverride4_save);
22095 write_phy_reg(pi, 0x346, NPHY_REV7_RfctrlOverride5_save);
22096 write_phy_reg(pi, 0x347, NPHY_REV7_RfctrlOverride6_save);
22098 write_phy_reg(pi, 0xe5, NPHY_RfctrlOverrideAux0_save);
22099 write_phy_reg(pi, 0xe6, NPHY_RfctrlOverrideAux1_save);
22100 write_phy_reg(pi, 0x78, NPHY_RfctrlCmd_save);
22101 write_phy_reg(pi, 0xf9, NPHY_RfctrlMiscReg1_save);
22102 write_phy_reg(pi, 0xfb, NPHY_RfctrlMiscReg2_save);
22103 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22104 write_phy_reg(pi, 0x340, NPHY_REV7_RfctrlMiscReg3_save);
22105 write_phy_reg(pi, 0x341, NPHY_REV7_RfctrlMiscReg4_save);
22106 write_phy_reg(pi, 0x344, NPHY_REV7_RfctrlMiscReg5_save);
22107 write_phy_reg(pi, 0x345, NPHY_REV7_RfctrlMiscReg6_save);
22109 write_phy_reg(pi, 0x7a, NPHY_RfctrlRSSIOTHERS1_save);
22110 write_phy_reg(pi, 0x7d, NPHY_RfctrlRSSIOTHERS2_save);
22112 if (CHSPEC_IS2G(pi->radio_chanspec)) {
22113 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22114 pi->rssical_cache.rssical_radio_regs_2G[0] =
22115 read_radio_reg(pi, RADIO_2057_NB_MASTER_CORE0);
22116 pi->rssical_cache.rssical_radio_regs_2G[1] =
22117 read_radio_reg(pi, RADIO_2057_NB_MASTER_CORE1);
22119 pi->rssical_cache.rssical_radio_regs_2G[0] =
22121 RADIO_2056_RX_RSSI_MISC |
22123 pi->rssical_cache.rssical_radio_regs_2G[1] =
22125 RADIO_2056_RX_RSSI_MISC |
22129 pi->rssical_cache.rssical_phyregs_2G[0] =
22130 read_phy_reg(pi, 0x1a6);
22131 pi->rssical_cache.rssical_phyregs_2G[1] =
22132 read_phy_reg(pi, 0x1ac);
22133 pi->rssical_cache.rssical_phyregs_2G[2] =
22134 read_phy_reg(pi, 0x1b2);
22135 pi->rssical_cache.rssical_phyregs_2G[3] =
22136 read_phy_reg(pi, 0x1b8);
22137 pi->rssical_cache.rssical_phyregs_2G[4] =
22138 read_phy_reg(pi, 0x1a4);
22139 pi->rssical_cache.rssical_phyregs_2G[5] =
22140 read_phy_reg(pi, 0x1aa);
22141 pi->rssical_cache.rssical_phyregs_2G[6] =
22142 read_phy_reg(pi, 0x1b0);
22143 pi->rssical_cache.rssical_phyregs_2G[7] =
22144 read_phy_reg(pi, 0x1b6);
22145 pi->rssical_cache.rssical_phyregs_2G[8] =
22146 read_phy_reg(pi, 0x1a5);
22147 pi->rssical_cache.rssical_phyregs_2G[9] =
22148 read_phy_reg(pi, 0x1ab);
22149 pi->rssical_cache.rssical_phyregs_2G[10] =
22150 read_phy_reg(pi, 0x1b1);
22151 pi->rssical_cache.rssical_phyregs_2G[11] =
22152 read_phy_reg(pi, 0x1b7);
22154 pi->nphy_rssical_chanspec_2G = pi->radio_chanspec;
22156 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22157 pi->rssical_cache.rssical_radio_regs_5G[0] =
22158 read_radio_reg(pi, RADIO_2057_NB_MASTER_CORE0);
22159 pi->rssical_cache.rssical_radio_regs_5G[1] =
22160 read_radio_reg(pi, RADIO_2057_NB_MASTER_CORE1);
22162 pi->rssical_cache.rssical_radio_regs_5G[0] =
22164 RADIO_2056_RX_RSSI_MISC |
22166 pi->rssical_cache.rssical_radio_regs_5G[1] =
22168 RADIO_2056_RX_RSSI_MISC |
22172 pi->rssical_cache.rssical_phyregs_5G[0] =
22173 read_phy_reg(pi, 0x1a6);
22174 pi->rssical_cache.rssical_phyregs_5G[1] =
22175 read_phy_reg(pi, 0x1ac);
22176 pi->rssical_cache.rssical_phyregs_5G[2] =
22177 read_phy_reg(pi, 0x1b2);
22178 pi->rssical_cache.rssical_phyregs_5G[3] =
22179 read_phy_reg(pi, 0x1b8);
22180 pi->rssical_cache.rssical_phyregs_5G[4] =
22181 read_phy_reg(pi, 0x1a4);
22182 pi->rssical_cache.rssical_phyregs_5G[5] =
22183 read_phy_reg(pi, 0x1aa);
22184 pi->rssical_cache.rssical_phyregs_5G[6] =
22185 read_phy_reg(pi, 0x1b0);
22186 pi->rssical_cache.rssical_phyregs_5G[7] =
22187 read_phy_reg(pi, 0x1b6);
22188 pi->rssical_cache.rssical_phyregs_5G[8] =
22189 read_phy_reg(pi, 0x1a5);
22190 pi->rssical_cache.rssical_phyregs_5G[9] =
22191 read_phy_reg(pi, 0x1ab);
22192 pi->rssical_cache.rssical_phyregs_5G[10] =
22193 read_phy_reg(pi, 0x1b1);
22194 pi->rssical_cache.rssical_phyregs_5G[11] =
22195 read_phy_reg(pi, 0x1b7);
22197 pi->nphy_rssical_chanspec_5G = pi->radio_chanspec;
22200 wlc_phy_classifier_nphy(pi, (0x7 << 0), classif_state);
22201 wlc_phy_clip_det_nphy(pi, 1, clip_state);
22204 static void wlc_phy_restore_rssical_nphy(phy_info_t *pi)
22206 if (CHSPEC_IS2G(pi->radio_chanspec)) {
22207 if (pi->nphy_rssical_chanspec_2G == 0)
22210 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22211 mod_radio_reg(pi, RADIO_2057_NB_MASTER_CORE0,
22212 RADIO_2057_VCM_MASK,
22214 rssical_radio_regs_2G[0]);
22215 mod_radio_reg(pi, RADIO_2057_NB_MASTER_CORE1,
22216 RADIO_2057_VCM_MASK,
22218 rssical_radio_regs_2G[1]);
22221 RADIO_2056_RX_RSSI_MISC | RADIO_2056_RX0,
22222 RADIO_2056_VCM_MASK,
22224 rssical_radio_regs_2G[0]);
22226 RADIO_2056_RX_RSSI_MISC | RADIO_2056_RX1,
22227 RADIO_2056_VCM_MASK,
22229 rssical_radio_regs_2G[1]);
22232 write_phy_reg(pi, 0x1a6,
22233 pi->rssical_cache.rssical_phyregs_2G[0]);
22234 write_phy_reg(pi, 0x1ac,
22235 pi->rssical_cache.rssical_phyregs_2G[1]);
22236 write_phy_reg(pi, 0x1b2,
22237 pi->rssical_cache.rssical_phyregs_2G[2]);
22238 write_phy_reg(pi, 0x1b8,
22239 pi->rssical_cache.rssical_phyregs_2G[3]);
22240 write_phy_reg(pi, 0x1a4,
22241 pi->rssical_cache.rssical_phyregs_2G[4]);
22242 write_phy_reg(pi, 0x1aa,
22243 pi->rssical_cache.rssical_phyregs_2G[5]);
22244 write_phy_reg(pi, 0x1b0,
22245 pi->rssical_cache.rssical_phyregs_2G[6]);
22246 write_phy_reg(pi, 0x1b6,
22247 pi->rssical_cache.rssical_phyregs_2G[7]);
22248 write_phy_reg(pi, 0x1a5,
22249 pi->rssical_cache.rssical_phyregs_2G[8]);
22250 write_phy_reg(pi, 0x1ab,
22251 pi->rssical_cache.rssical_phyregs_2G[9]);
22252 write_phy_reg(pi, 0x1b1,
22253 pi->rssical_cache.rssical_phyregs_2G[10]);
22254 write_phy_reg(pi, 0x1b7,
22255 pi->rssical_cache.rssical_phyregs_2G[11]);
22258 if (pi->nphy_rssical_chanspec_5G == 0)
22261 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22262 mod_radio_reg(pi, RADIO_2057_NB_MASTER_CORE0,
22263 RADIO_2057_VCM_MASK,
22265 rssical_radio_regs_5G[0]);
22266 mod_radio_reg(pi, RADIO_2057_NB_MASTER_CORE1,
22267 RADIO_2057_VCM_MASK,
22269 rssical_radio_regs_5G[1]);
22272 RADIO_2056_RX_RSSI_MISC | RADIO_2056_RX0,
22273 RADIO_2056_VCM_MASK,
22275 rssical_radio_regs_5G[0]);
22277 RADIO_2056_RX_RSSI_MISC | RADIO_2056_RX1,
22278 RADIO_2056_VCM_MASK,
22280 rssical_radio_regs_5G[1]);
22283 write_phy_reg(pi, 0x1a6,
22284 pi->rssical_cache.rssical_phyregs_5G[0]);
22285 write_phy_reg(pi, 0x1ac,
22286 pi->rssical_cache.rssical_phyregs_5G[1]);
22287 write_phy_reg(pi, 0x1b2,
22288 pi->rssical_cache.rssical_phyregs_5G[2]);
22289 write_phy_reg(pi, 0x1b8,
22290 pi->rssical_cache.rssical_phyregs_5G[3]);
22291 write_phy_reg(pi, 0x1a4,
22292 pi->rssical_cache.rssical_phyregs_5G[4]);
22293 write_phy_reg(pi, 0x1aa,
22294 pi->rssical_cache.rssical_phyregs_5G[5]);
22295 write_phy_reg(pi, 0x1b0,
22296 pi->rssical_cache.rssical_phyregs_5G[6]);
22297 write_phy_reg(pi, 0x1b6,
22298 pi->rssical_cache.rssical_phyregs_5G[7]);
22299 write_phy_reg(pi, 0x1a5,
22300 pi->rssical_cache.rssical_phyregs_5G[8]);
22301 write_phy_reg(pi, 0x1ab,
22302 pi->rssical_cache.rssical_phyregs_5G[9]);
22303 write_phy_reg(pi, 0x1b1,
22304 pi->rssical_cache.rssical_phyregs_5G[10]);
22305 write_phy_reg(pi, 0x1b7,
22306 pi->rssical_cache.rssical_phyregs_5G[11]);
22311 wlc_phy_gen_load_samples_nphy(phy_info_t *pi, u32 f_kHz, u16 max_val,
22314 u8 phy_bw, is_phybw40;
22315 u16 num_samps, t, spur;
22316 fixed theta = 0, rot = 0;
22318 cs32 *tone_buf = NULL;
22320 is_phybw40 = CHSPEC_IS40(pi->radio_chanspec);
22321 phy_bw = (is_phybw40 == 1) ? 40 : 20;
22322 tbl_len = (phy_bw << 3);
22324 if (dac_test_mode == 1) {
22325 spur = read_phy_reg(pi, 0x01);
22326 spur = (spur >> 15) & 1;
22327 phy_bw = (spur == 1) ? 82 : 80;
22328 phy_bw = (is_phybw40 == 1) ? (phy_bw << 1) : phy_bw;
22330 tbl_len = (phy_bw << 1);
22333 tone_buf = kmalloc(sizeof(cs32) * tbl_len, GFP_ATOMIC);
22334 if (tone_buf == NULL) {
22338 num_samps = (u16) tbl_len;
22339 rot = FIXED((f_kHz * 36) / phy_bw) / 100;
22342 for (t = 0; t < num_samps; t++) {
22344 wlc_phy_cordic(theta, &tone_buf[t]);
22348 tone_buf[t].q = (s32) FLOAT(tone_buf[t].q * max_val);
22349 tone_buf[t].i = (s32) FLOAT(tone_buf[t].i * max_val);
22352 wlc_phy_loadsampletable_nphy(pi, tone_buf, num_samps);
22360 wlc_phy_tx_tone_nphy(phy_info_t *pi, u32 f_kHz, u16 max_val,
22361 u8 iqmode, u8 dac_test_mode, bool modify_bbmult)
22364 u16 loops = 0xffff;
22368 wlc_phy_gen_load_samples_nphy(pi, f_kHz, max_val, dac_test_mode);
22369 if (num_samps == 0) {
22373 wlc_phy_runsamples_nphy(pi, num_samps, loops, wait, iqmode,
22374 dac_test_mode, modify_bbmult);
22380 wlc_phy_loadsampletable_nphy(phy_info_t *pi, cs32 *tone_buf,
22384 u32 *data_buf = NULL;
22386 data_buf = kmalloc(sizeof(u32) * num_samps, GFP_ATOMIC);
22387 if (data_buf == NULL) {
22391 if (pi->phyhang_avoid)
22392 wlc_phy_stay_in_carriersearch_nphy(pi, true);
22394 for (t = 0; t < num_samps; t++) {
22395 data_buf[t] = ((((unsigned int)tone_buf[t].i) & 0x3ff) << 10) |
22396 (((unsigned int)tone_buf[t].q) & 0x3ff);
22398 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_SAMPLEPLAY, num_samps, 0, 32,
22403 if (pi->phyhang_avoid)
22404 wlc_phy_stay_in_carriersearch_nphy(pi, false);
22408 wlc_phy_runsamples_nphy(phy_info_t *pi, u16 num_samps, u16 loops,
22409 u16 wait, u8 iqmode, u8 dac_test_mode,
22410 bool modify_bbmult)
22413 u8 phy_bw, sample_cmd;
22414 u16 orig_RfseqCoreActv;
22415 u16 lpf_bw_ctl_override3, lpf_bw_ctl_override4, lpf_bw_ctl_miscreg3,
22416 lpf_bw_ctl_miscreg4;
22418 if (pi->phyhang_avoid)
22419 wlc_phy_stay_in_carriersearch_nphy(pi, true);
22422 if (CHSPEC_IS40(pi->radio_chanspec))
22425 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22427 lpf_bw_ctl_override3 = read_phy_reg(pi, 0x342) & (0x1 << 7);
22428 lpf_bw_ctl_override4 = read_phy_reg(pi, 0x343) & (0x1 << 7);
22429 if (lpf_bw_ctl_override3 | lpf_bw_ctl_override4) {
22430 lpf_bw_ctl_miscreg3 = read_phy_reg(pi, 0x340) &
22432 lpf_bw_ctl_miscreg4 = read_phy_reg(pi, 0x341) &
22435 wlc_phy_rfctrl_override_nphy_rev7(pi,
22437 wlc_phy_read_lpf_bw_ctl_nphy
22439 NPHY_REV7_RFCTRLOVERRIDE_ID1);
22441 pi->nphy_sample_play_lpf_bw_ctl_ovr = true;
22443 lpf_bw_ctl_miscreg3 = read_phy_reg(pi, 0x340) &
22445 lpf_bw_ctl_miscreg4 = read_phy_reg(pi, 0x341) &
22450 if ((pi->nphy_bb_mult_save & BB_MULT_VALID_MASK) == 0) {
22452 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, 87, 16,
22454 pi->nphy_bb_mult_save =
22455 BB_MULT_VALID_MASK | (bb_mult & BB_MULT_MASK);
22458 if (modify_bbmult) {
22459 bb_mult = (phy_bw == 20) ? 100 : 71;
22460 bb_mult = (bb_mult << 8) + bb_mult;
22461 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, 87, 16,
22465 if (pi->phyhang_avoid)
22466 wlc_phy_stay_in_carriersearch_nphy(pi, false);
22468 write_phy_reg(pi, 0xc6, num_samps - 1);
22470 if (loops != 0xffff) {
22471 write_phy_reg(pi, 0xc4, loops - 1);
22473 write_phy_reg(pi, 0xc4, loops);
22475 write_phy_reg(pi, 0xc5, wait);
22477 orig_RfseqCoreActv = read_phy_reg(pi, 0xa1);
22478 or_phy_reg(pi, 0xa1, NPHY_RfseqMode_CoreActv_override);
22481 and_phy_reg(pi, 0xc2, 0x7FFF);
22483 or_phy_reg(pi, 0xc2, 0x8000);
22486 sample_cmd = (dac_test_mode == 1) ? 0x5 : 0x1;
22487 write_phy_reg(pi, 0xc3, sample_cmd);
22490 SPINWAIT(((read_phy_reg(pi, 0xa4) & 0x1) == 1), 1000);
22492 write_phy_reg(pi, 0xa1, orig_RfseqCoreActv);
22495 void wlc_phy_stopplayback_nphy(phy_info_t *pi)
22497 u16 playback_status;
22500 if (pi->phyhang_avoid)
22501 wlc_phy_stay_in_carriersearch_nphy(pi, true);
22503 playback_status = read_phy_reg(pi, 0xc7);
22504 if (playback_status & 0x1) {
22505 or_phy_reg(pi, 0xc3, NPHY_sampleCmd_STOP);
22506 } else if (playback_status & 0x2) {
22508 and_phy_reg(pi, 0xc2,
22509 (u16) ~NPHY_iqloCalCmdGctl_IQLO_CAL_EN);
22512 and_phy_reg(pi, 0xc3, (u16) ~(0x1 << 2));
22514 if ((pi->nphy_bb_mult_save & BB_MULT_VALID_MASK) != 0) {
22516 bb_mult = pi->nphy_bb_mult_save & BB_MULT_MASK;
22517 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, 87, 16,
22520 pi->nphy_bb_mult_save = 0;
22523 if (NREV_IS(pi->pubpi.phy_rev, 7) || NREV_GE(pi->pubpi.phy_rev, 8)) {
22524 if (pi->nphy_sample_play_lpf_bw_ctl_ovr) {
22525 wlc_phy_rfctrl_override_nphy_rev7(pi,
22528 NPHY_REV7_RFCTRLOVERRIDE_ID1);
22529 pi->nphy_sample_play_lpf_bw_ctl_ovr = false;
22533 if (pi->phyhang_avoid)
22534 wlc_phy_stay_in_carriersearch_nphy(pi, false);
22537 nphy_txgains_t wlc_phy_get_tx_gain_nphy(phy_info_t *pi)
22539 u16 base_idx[2], curr_gain[2];
22541 nphy_txgains_t target_gain;
22542 u32 *tx_pwrctrl_tbl = NULL;
22544 if (pi->nphy_txpwrctrl == PHY_TPC_HW_OFF) {
22545 if (pi->phyhang_avoid)
22546 wlc_phy_stay_in_carriersearch_nphy(pi, true);
22548 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
22551 if (pi->phyhang_avoid)
22552 wlc_phy_stay_in_carriersearch_nphy(pi, false);
22554 for (core_no = 0; core_no < 2; core_no++) {
22555 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22556 target_gain.ipa[core_no] =
22557 curr_gain[core_no] & 0x0007;
22558 target_gain.pad[core_no] =
22559 ((curr_gain[core_no] & 0x00F8) >> 3);
22560 target_gain.pga[core_no] =
22561 ((curr_gain[core_no] & 0x0F00) >> 8);
22562 target_gain.txgm[core_no] =
22563 ((curr_gain[core_no] & 0x7000) >> 12);
22564 target_gain.txlpf[core_no] =
22565 ((curr_gain[core_no] & 0x8000) >> 15);
22566 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
22567 target_gain.ipa[core_no] =
22568 curr_gain[core_no] & 0x000F;
22569 target_gain.pad[core_no] =
22570 ((curr_gain[core_no] & 0x00F0) >> 4);
22571 target_gain.pga[core_no] =
22572 ((curr_gain[core_no] & 0x0F00) >> 8);
22573 target_gain.txgm[core_no] =
22574 ((curr_gain[core_no] & 0x7000) >> 12);
22576 target_gain.ipa[core_no] =
22577 curr_gain[core_no] & 0x0003;
22578 target_gain.pad[core_no] =
22579 ((curr_gain[core_no] & 0x000C) >> 2);
22580 target_gain.pga[core_no] =
22581 ((curr_gain[core_no] & 0x0070) >> 4);
22582 target_gain.txgm[core_no] =
22583 ((curr_gain[core_no] & 0x0380) >> 7);
22587 base_idx[0] = (read_phy_reg(pi, 0x1ed) >> 8) & 0x7f;
22588 base_idx[1] = (read_phy_reg(pi, 0x1ee) >> 8) & 0x7f;
22589 for (core_no = 0; core_no < 2; core_no++) {
22590 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
22593 wlc_phy_get_ipa_gaintbl_nphy(pi);
22595 if (CHSPEC_IS5G(pi->radio_chanspec)) {
22597 (pi->pubpi.phy_rev, 3) {
22599 nphy_tpc_5GHz_txgain_rev3;
22601 (pi->pubpi.phy_rev, 4) {
22606 nphy_tpc_5GHz_txgain_HiPwrEPA
22608 nphy_tpc_5GHz_txgain_rev4;
22611 nphy_tpc_5GHz_txgain_rev5;
22615 (pi->pubpi.phy_rev, 7)) {
22619 nphy_tpc_txgain_epa_2057rev3;
22620 } else if (pi->pubpi.
22624 nphy_tpc_txgain_epa_2057rev5;
22629 (pi->pubpi.phy_rev,
22631 && (pi->srom_fem2g.
22635 nphy_tpc_txgain_HiPwrEPA;
22638 nphy_tpc_txgain_rev3;
22644 (pi->pubpi.phy_rev, 7) {
22645 target_gain.ipa[core_no] =
22646 (tx_pwrctrl_tbl[base_idx[core_no]]
22648 target_gain.pad[core_no] =
22649 (tx_pwrctrl_tbl[base_idx[core_no]]
22651 target_gain.pga[core_no] =
22652 (tx_pwrctrl_tbl[base_idx[core_no]]
22654 target_gain.txgm[core_no] =
22655 (tx_pwrctrl_tbl[base_idx[core_no]]
22657 target_gain.txlpf[core_no] =
22658 (tx_pwrctrl_tbl[base_idx[core_no]]
22661 target_gain.ipa[core_no] =
22662 (tx_pwrctrl_tbl[base_idx[core_no]]
22664 target_gain.pad[core_no] =
22665 (tx_pwrctrl_tbl[base_idx[core_no]]
22667 target_gain.pga[core_no] =
22668 (tx_pwrctrl_tbl[base_idx[core_no]]
22670 target_gain.txgm[core_no] =
22671 (tx_pwrctrl_tbl[base_idx[core_no]]
22675 target_gain.ipa[core_no] =
22676 (nphy_tpc_txgain[base_idx[core_no]] >> 16) &
22678 target_gain.pad[core_no] =
22679 (nphy_tpc_txgain[base_idx[core_no]] >> 18) &
22681 target_gain.pga[core_no] =
22682 (nphy_tpc_txgain[base_idx[core_no]] >> 20) &
22684 target_gain.txgm[core_no] =
22685 (nphy_tpc_txgain[base_idx[core_no]] >> 23) &
22691 return target_gain;
22695 wlc_phy_iqcal_gainparams_nphy(phy_info_t *pi, u16 core_no,
22696 nphy_txgains_t target_gain,
22697 nphy_iqcal_params_t *params)
22702 u8 band_idx = (CHSPEC_IS5G(pi->radio_chanspec) ? 1 : 0);
22704 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
22705 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22706 params->txlpf = target_gain.txlpf[core_no];
22708 params->txgm = target_gain.txgm[core_no];
22709 params->pga = target_gain.pga[core_no];
22710 params->pad = target_gain.pad[core_no];
22711 params->ipa = target_gain.ipa[core_no];
22712 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22714 ((params->txlpf << 15) | (params->
22715 txgm << 12) | (params->
22717 (params->pad << 3) | (params->ipa));
22720 ((params->txgm << 12) | (params->
22721 pga << 8) | (params->
22725 params->ncorr[0] = 0x79;
22726 params->ncorr[1] = 0x79;
22727 params->ncorr[2] = 0x79;
22728 params->ncorr[3] = 0x79;
22729 params->ncorr[4] = 0x79;
22732 gain_index = ((target_gain.pad[core_no] << 0) |
22733 (target_gain.pga[core_no] << 4) | (target_gain.
22738 for (k = 0; k < NPHY_IQCAL_NUMGAINS; k++) {
22739 if (tbl_iqcal_gainparams_nphy[band_idx][k][0] ==
22746 params->txgm = tbl_iqcal_gainparams_nphy[band_idx][k][1];
22747 params->pga = tbl_iqcal_gainparams_nphy[band_idx][k][2];
22748 params->pad = tbl_iqcal_gainparams_nphy[band_idx][k][3];
22749 params->cal_gain = ((params->txgm << 7) | (params->pga << 4) |
22750 (params->pad << 2));
22751 params->ncorr[0] = tbl_iqcal_gainparams_nphy[band_idx][k][4];
22752 params->ncorr[1] = tbl_iqcal_gainparams_nphy[band_idx][k][5];
22753 params->ncorr[2] = tbl_iqcal_gainparams_nphy[band_idx][k][6];
22754 params->ncorr[3] = tbl_iqcal_gainparams_nphy[band_idx][k][7];
22758 static void wlc_phy_txcal_radio_setup_nphy(phy_info_t *pi)
22760 u16 jtag_core, core;
22762 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22764 for (core = 0; core <= 1; core++) {
22766 pi->tx_rx_cal_radio_saveregs[(core * 11) + 0] =
22767 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22770 pi->tx_rx_cal_radio_saveregs[(core * 11) + 1] =
22771 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22774 pi->tx_rx_cal_radio_saveregs[(core * 11) + 2] =
22775 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22778 pi->tx_rx_cal_radio_saveregs[(core * 11) + 3] =
22779 READ_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_VCM);
22781 pi->tx_rx_cal_radio_saveregs[(core * 11) + 4] = 0;
22783 pi->tx_rx_cal_radio_saveregs[(core * 11) + 5] =
22784 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22787 if (pi->pubpi.radiorev != 5)
22788 pi->tx_rx_cal_radio_saveregs[(core * 11) + 6] =
22789 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22792 pi->tx_rx_cal_radio_saveregs[(core * 11) + 7] =
22793 READ_RADIO_REG3(pi, RADIO_2057, TX, core, TSSIG);
22795 pi->tx_rx_cal_radio_saveregs[(core * 11) + 8] =
22796 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22799 if (CHSPEC_IS5G(pi->radio_chanspec)) {
22800 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22801 TX_SSI_MASTER, 0x0a);
22802 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22803 IQCAL_VCM_HG, 0x43);
22804 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22806 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22808 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22810 if (pi->use_int_tx_iqlo_cal_nphy) {
22811 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
22812 core, TX_SSI_MUX, 0x4);
22815 internal_tx_iqlo_cal_tapoff_intpa_nphy)) {
22817 WRITE_RADIO_REG3(pi, RADIO_2057,
22822 WRITE_RADIO_REG3(pi, RADIO_2057,
22827 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22830 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22831 TX_SSI_MASTER, 0x06);
22832 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22833 IQCAL_VCM_HG, 0x43);
22834 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22836 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22839 if (pi->pubpi.radiorev != 5)
22840 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
22841 core, TSSIA, 0x00);
22842 if (pi->use_int_tx_iqlo_cal_nphy) {
22843 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
22848 internal_tx_iqlo_cal_tapoff_intpa_nphy)) {
22850 WRITE_RADIO_REG3(pi, RADIO_2057,
22855 WRITE_RADIO_REG3(pi, RADIO_2057,
22860 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22864 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
22866 for (core = 0; core <= 1; core++) {
22869 PHY_CORE_0) ? RADIO_2056_TX0 : RADIO_2056_TX1;
22871 pi->tx_rx_cal_radio_saveregs[(core * 11) + 0] =
22873 RADIO_2056_TX_TX_SSI_MASTER |
22876 pi->tx_rx_cal_radio_saveregs[(core * 11) + 1] =
22878 RADIO_2056_TX_IQCAL_VCM_HG |
22881 pi->tx_rx_cal_radio_saveregs[(core * 11) + 2] =
22883 RADIO_2056_TX_IQCAL_IDAC |
22886 pi->tx_rx_cal_radio_saveregs[(core * 11) + 3] =
22888 RADIO_2056_TX_TSSI_VCM | jtag_core);
22890 pi->tx_rx_cal_radio_saveregs[(core * 11) + 4] =
22892 RADIO_2056_TX_TX_AMP_DET |
22895 pi->tx_rx_cal_radio_saveregs[(core * 11) + 5] =
22897 RADIO_2056_TX_TX_SSI_MUX |
22900 pi->tx_rx_cal_radio_saveregs[(core * 11) + 6] =
22901 read_radio_reg(pi, RADIO_2056_TX_TSSIA | jtag_core);
22903 pi->tx_rx_cal_radio_saveregs[(core * 11) + 7] =
22904 read_radio_reg(pi, RADIO_2056_TX_TSSIG | jtag_core);
22906 pi->tx_rx_cal_radio_saveregs[(core * 11) + 8] =
22908 RADIO_2056_TX_TSSI_MISC1 |
22911 pi->tx_rx_cal_radio_saveregs[(core * 11) + 9] =
22913 RADIO_2056_TX_TSSI_MISC2 |
22916 pi->tx_rx_cal_radio_saveregs[(core * 11) + 10] =
22918 RADIO_2056_TX_TSSI_MISC3 |
22921 if (CHSPEC_IS5G(pi->radio_chanspec)) {
22922 write_radio_reg(pi,
22923 RADIO_2056_TX_TX_SSI_MASTER |
22925 write_radio_reg(pi,
22926 RADIO_2056_TX_IQCAL_VCM_HG |
22928 write_radio_reg(pi,
22929 RADIO_2056_TX_IQCAL_IDAC |
22931 write_radio_reg(pi,
22932 RADIO_2056_TX_TSSI_VCM |
22934 write_radio_reg(pi,
22935 RADIO_2056_TX_TX_AMP_DET |
22939 write_radio_reg(pi,
22940 RADIO_2056_TX_TX_SSI_MUX
22942 write_radio_reg(pi,
22943 RADIO_2056_TX_TSSIA |
22946 write_radio_reg(pi,
22947 RADIO_2056_TX_TX_SSI_MUX
22948 | jtag_core, 0x00);
22949 write_radio_reg(pi,
22950 RADIO_2056_TX_TSSIA |
22953 write_radio_reg(pi,
22954 RADIO_2056_TX_TSSIG | jtag_core,
22956 write_radio_reg(pi,
22957 RADIO_2056_TX_TSSI_MISC1 |
22960 write_radio_reg(pi,
22961 RADIO_2056_TX_TSSI_MISC2 |
22963 write_radio_reg(pi,
22964 RADIO_2056_TX_TSSI_MISC3 |
22967 write_radio_reg(pi,
22968 RADIO_2056_TX_TX_SSI_MASTER |
22970 write_radio_reg(pi,
22971 RADIO_2056_TX_IQCAL_VCM_HG |
22973 write_radio_reg(pi,
22974 RADIO_2056_TX_IQCAL_IDAC |
22976 write_radio_reg(pi,
22977 RADIO_2056_TX_TSSI_VCM |
22979 write_radio_reg(pi,
22980 RADIO_2056_TX_TX_AMP_DET |
22982 write_radio_reg(pi,
22983 RADIO_2056_TX_TSSIA | jtag_core,
22988 write_radio_reg(pi,
22989 RADIO_2056_TX_TX_SSI_MUX
22990 | jtag_core, 0x06);
22991 if (NREV_LT(pi->pubpi.phy_rev, 5)) {
22993 write_radio_reg(pi,
22994 RADIO_2056_TX_TSSIG
22999 write_radio_reg(pi,
23000 RADIO_2056_TX_TSSIG
23005 write_radio_reg(pi,
23006 RADIO_2056_TX_TX_SSI_MUX
23007 | jtag_core, 0x00);
23008 write_radio_reg(pi,
23009 RADIO_2056_TX_TSSIG |
23013 write_radio_reg(pi,
23014 RADIO_2056_TX_TSSI_MISC1 |
23016 write_radio_reg(pi,
23017 RADIO_2056_TX_TSSI_MISC2 |
23019 write_radio_reg(pi,
23020 RADIO_2056_TX_TSSI_MISC3 |
23026 pi->tx_rx_cal_radio_saveregs[0] =
23027 read_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1);
23028 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1, 0x29);
23029 pi->tx_rx_cal_radio_saveregs[1] =
23030 read_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2);
23031 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2, 0x54);
23033 pi->tx_rx_cal_radio_saveregs[2] =
23034 read_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1);
23035 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1, 0x29);
23036 pi->tx_rx_cal_radio_saveregs[3] =
23037 read_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2);
23038 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2, 0x54);
23040 pi->tx_rx_cal_radio_saveregs[4] =
23041 read_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1);
23042 pi->tx_rx_cal_radio_saveregs[5] =
23043 read_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2);
23045 if ((read_phy_reg(pi, 0x09) & NPHY_BandControl_currentBand) ==
23048 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1, 0x04);
23049 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2, 0x04);
23052 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1, 0x20);
23053 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2, 0x20);
23056 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
23058 or_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM, 0x20);
23059 or_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM, 0x20);
23062 and_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM, 0xdf);
23063 and_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM, 0xdf);
23068 static void wlc_phy_txcal_radio_cleanup_nphy(phy_info_t *pi)
23070 u16 jtag_core, core;
23072 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
23073 for (core = 0; core <= 1; core++) {
23075 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
23078 tx_rx_cal_radio_saveregs[(core * 11) +
23081 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, IQCAL_VCM_HG,
23083 tx_rx_cal_radio_saveregs[(core * 11) +
23086 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, IQCAL_IDAC,
23088 tx_rx_cal_radio_saveregs[(core * 11) +
23091 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_VCM,
23093 tx_rx_cal_radio_saveregs[(core * 11) +
23096 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TX_SSI_MUX,
23098 tx_rx_cal_radio_saveregs[(core * 11) +
23101 if (pi->pubpi.radiorev != 5)
23102 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
23105 tx_rx_cal_radio_saveregs[(core
23110 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSIG,
23112 tx_rx_cal_radio_saveregs[(core * 11) +
23115 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_MISC1,
23117 tx_rx_cal_radio_saveregs[(core * 11) +
23120 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23121 for (core = 0; core <= 1; core++) {
23124 PHY_CORE_0) ? RADIO_2056_TX0 : RADIO_2056_TX1;
23126 write_radio_reg(pi,
23127 RADIO_2056_TX_TX_SSI_MASTER | jtag_core,
23129 tx_rx_cal_radio_saveregs[(core * 11) +
23132 write_radio_reg(pi,
23133 RADIO_2056_TX_IQCAL_VCM_HG | jtag_core,
23135 tx_rx_cal_radio_saveregs[(core * 11) +
23138 write_radio_reg(pi,
23139 RADIO_2056_TX_IQCAL_IDAC | jtag_core,
23141 tx_rx_cal_radio_saveregs[(core * 11) +
23144 write_radio_reg(pi, RADIO_2056_TX_TSSI_VCM | jtag_core,
23146 tx_rx_cal_radio_saveregs[(core * 11) +
23149 write_radio_reg(pi,
23150 RADIO_2056_TX_TX_AMP_DET | jtag_core,
23152 tx_rx_cal_radio_saveregs[(core * 11) +
23155 write_radio_reg(pi,
23156 RADIO_2056_TX_TX_SSI_MUX | jtag_core,
23158 tx_rx_cal_radio_saveregs[(core * 11) +
23161 write_radio_reg(pi, RADIO_2056_TX_TSSIA | jtag_core,
23163 tx_rx_cal_radio_saveregs[(core * 11) +
23166 write_radio_reg(pi, RADIO_2056_TX_TSSIG | jtag_core,
23168 tx_rx_cal_radio_saveregs[(core * 11) +
23171 write_radio_reg(pi,
23172 RADIO_2056_TX_TSSI_MISC1 | jtag_core,
23174 tx_rx_cal_radio_saveregs[(core * 11) +
23177 write_radio_reg(pi,
23178 RADIO_2056_TX_TSSI_MISC2 | jtag_core,
23180 tx_rx_cal_radio_saveregs[(core * 11) +
23183 write_radio_reg(pi,
23184 RADIO_2056_TX_TSSI_MISC3 | jtag_core,
23186 tx_rx_cal_radio_saveregs[(core * 11) +
23191 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1,
23192 pi->tx_rx_cal_radio_saveregs[0]);
23193 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2,
23194 pi->tx_rx_cal_radio_saveregs[1]);
23195 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1,
23196 pi->tx_rx_cal_radio_saveregs[2]);
23197 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2,
23198 pi->tx_rx_cal_radio_saveregs[3]);
23199 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1,
23200 pi->tx_rx_cal_radio_saveregs[4]);
23201 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2,
23202 pi->tx_rx_cal_radio_saveregs[5]);
23206 static void wlc_phy_txcal_physetup_nphy(phy_info_t *pi)
23210 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23211 pi->tx_rx_cal_phy_saveregs[0] = read_phy_reg(pi, 0xa6);
23212 pi->tx_rx_cal_phy_saveregs[1] = read_phy_reg(pi, 0xa7);
23214 mask = ((0x3 << 8) | (0x3 << 10));
23216 val |= (0x2 << 10);
23217 mod_phy_reg(pi, 0xa6, mask, val);
23218 mod_phy_reg(pi, 0xa7, mask, val);
23220 val = read_phy_reg(pi, 0x8f);
23221 pi->tx_rx_cal_phy_saveregs[2] = val;
23222 val |= ((0x1 << 9) | (0x1 << 10));
23223 write_phy_reg(pi, 0x8f, val);
23225 val = read_phy_reg(pi, 0xa5);
23226 pi->tx_rx_cal_phy_saveregs[3] = val;
23227 val |= ((0x1 << 9) | (0x1 << 10));
23228 write_phy_reg(pi, 0xa5, val);
23230 pi->tx_rx_cal_phy_saveregs[4] = read_phy_reg(pi, 0x01);
23231 mod_phy_reg(pi, 0x01, (0x1 << 15), 0);
23233 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 3, 16,
23235 pi->tx_rx_cal_phy_saveregs[5] = val;
23237 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 3, 16,
23240 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 19, 16,
23242 pi->tx_rx_cal_phy_saveregs[6] = val;
23244 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 19, 16,
23247 pi->tx_rx_cal_phy_saveregs[7] = read_phy_reg(pi, 0x91);
23248 pi->tx_rx_cal_phy_saveregs[8] = read_phy_reg(pi, 0x92);
23250 if (!(pi->use_int_tx_iqlo_cal_nphy)) {
23252 wlc_phy_rfctrlintc_override_nphy(pi,
23253 NPHY_RfctrlIntc_override_PA,
23255 RADIO_MIMO_CORESEL_CORE1
23257 RADIO_MIMO_CORESEL_CORE2);
23260 wlc_phy_rfctrlintc_override_nphy(pi,
23261 NPHY_RfctrlIntc_override_PA,
23263 RADIO_MIMO_CORESEL_CORE1
23265 RADIO_MIMO_CORESEL_CORE2);
23268 wlc_phy_rfctrlintc_override_nphy(pi,
23269 NPHY_RfctrlIntc_override_TRSW,
23270 0x2, RADIO_MIMO_CORESEL_CORE1);
23271 wlc_phy_rfctrlintc_override_nphy(pi,
23272 NPHY_RfctrlIntc_override_TRSW,
23273 0x8, RADIO_MIMO_CORESEL_CORE2);
23275 pi->tx_rx_cal_phy_saveregs[9] = read_phy_reg(pi, 0x297);
23276 pi->tx_rx_cal_phy_saveregs[10] = read_phy_reg(pi, 0x29b);
23277 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x297 :
23278 0x29b, (0x1 << 0), (0) << 0);
23280 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x297 :
23281 0x29b, (0x1 << 0), (0) << 0);
23283 if (NREV_IS(pi->pubpi.phy_rev, 7)
23284 || NREV_GE(pi->pubpi.phy_rev, 8)) {
23285 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7),
23286 wlc_phy_read_lpf_bw_ctl_nphy
23288 NPHY_REV7_RFCTRLOVERRIDE_ID1);
23291 if (pi->use_int_tx_iqlo_cal_nphy
23292 && !(pi->internal_tx_iqlo_cal_tapoff_intpa_nphy)) {
23294 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
23296 mod_radio_reg(pi, RADIO_2057_OVR_REG0, 1 << 4,
23299 if (CHSPEC_IS2G(pi->radio_chanspec)) {
23301 RADIO_2057_PAD2G_TUNE_PUS_CORE0,
23304 RADIO_2057_PAD2G_TUNE_PUS_CORE1,
23308 RADIO_2057_IPA5G_CASCOFFV_PU_CORE0,
23311 RADIO_2057_IPA5G_CASCOFFV_PU_CORE1,
23314 } else if (NREV_GE(pi->pubpi.phy_rev, 8)) {
23315 wlc_phy_rfctrl_override_nphy_rev7(pi,
23318 NPHY_REV7_RFCTRLOVERRIDE_ID0);
23322 pi->tx_rx_cal_phy_saveregs[0] = read_phy_reg(pi, 0xa6);
23323 pi->tx_rx_cal_phy_saveregs[1] = read_phy_reg(pi, 0xa7);
23325 mask = ((0x3 << 12) | (0x3 << 14));
23327 val |= (0x2 << 14);
23328 mod_phy_reg(pi, 0xa6, mask, val);
23329 mod_phy_reg(pi, 0xa7, mask, val);
23331 val = read_phy_reg(pi, 0xa5);
23332 pi->tx_rx_cal_phy_saveregs[2] = val;
23333 val |= ((0x1 << 12) | (0x1 << 13));
23334 write_phy_reg(pi, 0xa5, val);
23336 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 2, 16,
23338 pi->tx_rx_cal_phy_saveregs[3] = val;
23340 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 2, 16,
23343 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 18, 16,
23345 pi->tx_rx_cal_phy_saveregs[4] = val;
23347 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 18, 16,
23350 pi->tx_rx_cal_phy_saveregs[5] = read_phy_reg(pi, 0x91);
23351 pi->tx_rx_cal_phy_saveregs[6] = read_phy_reg(pi, 0x92);
23352 val = CHSPEC_IS5G(pi->radio_chanspec) ? 0x180 : 0x120;
23353 write_phy_reg(pi, 0x91, val);
23354 write_phy_reg(pi, 0x92, val);
23358 static void wlc_phy_txcal_phycleanup_nphy(phy_info_t *pi)
23362 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23363 write_phy_reg(pi, 0xa6, pi->tx_rx_cal_phy_saveregs[0]);
23364 write_phy_reg(pi, 0xa7, pi->tx_rx_cal_phy_saveregs[1]);
23365 write_phy_reg(pi, 0x8f, pi->tx_rx_cal_phy_saveregs[2]);
23366 write_phy_reg(pi, 0xa5, pi->tx_rx_cal_phy_saveregs[3]);
23367 write_phy_reg(pi, 0x01, pi->tx_rx_cal_phy_saveregs[4]);
23369 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 3, 16,
23370 &pi->tx_rx_cal_phy_saveregs[5]);
23371 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 19, 16,
23372 &pi->tx_rx_cal_phy_saveregs[6]);
23374 write_phy_reg(pi, 0x91, pi->tx_rx_cal_phy_saveregs[7]);
23375 write_phy_reg(pi, 0x92, pi->tx_rx_cal_phy_saveregs[8]);
23377 write_phy_reg(pi, 0x297, pi->tx_rx_cal_phy_saveregs[9]);
23378 write_phy_reg(pi, 0x29b, pi->tx_rx_cal_phy_saveregs[10]);
23380 if (NREV_IS(pi->pubpi.phy_rev, 7)
23381 || NREV_GE(pi->pubpi.phy_rev, 8)) {
23382 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7), 0, 0,
23384 NPHY_REV7_RFCTRLOVERRIDE_ID1);
23387 wlc_phy_resetcca_nphy(pi);
23389 if (pi->use_int_tx_iqlo_cal_nphy
23390 && !(pi->internal_tx_iqlo_cal_tapoff_intpa_nphy)) {
23392 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
23393 if (CHSPEC_IS2G(pi->radio_chanspec)) {
23395 RADIO_2057_PAD2G_TUNE_PUS_CORE0,
23398 RADIO_2057_PAD2G_TUNE_PUS_CORE1,
23402 RADIO_2057_IPA5G_CASCOFFV_PU_CORE0,
23405 RADIO_2057_IPA5G_CASCOFFV_PU_CORE1,
23409 mod_radio_reg(pi, RADIO_2057_OVR_REG0, 1 << 4,
23411 } else if (NREV_GE(pi->pubpi.phy_rev, 8)) {
23412 wlc_phy_rfctrl_override_nphy_rev7(pi,
23415 NPHY_REV7_RFCTRLOVERRIDE_ID0);
23419 mask = ((0x3 << 12) | (0x3 << 14));
23420 mod_phy_reg(pi, 0xa6, mask, pi->tx_rx_cal_phy_saveregs[0]);
23421 mod_phy_reg(pi, 0xa7, mask, pi->tx_rx_cal_phy_saveregs[1]);
23422 write_phy_reg(pi, 0xa5, pi->tx_rx_cal_phy_saveregs[2]);
23424 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 2, 16,
23425 &pi->tx_rx_cal_phy_saveregs[3]);
23427 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 18, 16,
23428 &pi->tx_rx_cal_phy_saveregs[4]);
23430 write_phy_reg(pi, 0x91, pi->tx_rx_cal_phy_saveregs[5]);
23431 write_phy_reg(pi, 0x92, pi->tx_rx_cal_phy_saveregs[6]);
23435 #define NPHY_CAL_TSSISAMPS 64
23436 #define NPHY_TEST_TONE_FREQ_40MHz 4000
23437 #define NPHY_TEST_TONE_FREQ_20MHz 2500
23440 wlc_phy_est_tonepwr_nphy(phy_info_t *pi, s32 *qdBm_pwrbuf, u8 num_samps)
23443 s32 temp, pwrindex[2];
23449 tssi_reg = read_phy_reg(pi, 0x1e9);
23451 temp = (s32) (tssi_reg & 0x3f);
23452 idle_tssi[0] = (temp <= 31) ? temp : (temp - 64);
23454 temp = (s32) ((tssi_reg >> 8) & 0x3f);
23455 idle_tssi[1] = (temp <= 31) ? temp : (temp - 64);
23458 CHSPEC_IS5G(pi->radio_chanspec) ?
23459 (u8)NPHY_RSSI_SEL_TSSI_5G:(u8)NPHY_RSSI_SEL_TSSI_2G;
23461 wlc_phy_poll_rssi_nphy(pi, tssi_type, rssi_buf, num_samps);
23463 tssival[0] = rssi_buf[0] / ((s32) num_samps);
23464 tssival[1] = rssi_buf[2] / ((s32) num_samps);
23466 pwrindex[0] = idle_tssi[0] - tssival[0] + 64;
23467 pwrindex[1] = idle_tssi[1] - tssival[1] + 64;
23469 if (pwrindex[0] < 0) {
23471 } else if (pwrindex[0] > 63) {
23475 if (pwrindex[1] < 0) {
23477 } else if (pwrindex[1] > 63) {
23481 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 1,
23482 (u32) pwrindex[0], 32, &qdBm_pwrbuf[0]);
23483 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 1,
23484 (u32) pwrindex[1], 32, &qdBm_pwrbuf[1]);
23487 static void wlc_phy_internal_cal_txgain_nphy(phy_info_t *pi)
23491 pi->nphy_txcal_pwr_idx[0] = pi->nphy_cal_orig_pwr_idx[0];
23492 pi->nphy_txcal_pwr_idx[1] = pi->nphy_cal_orig_pwr_idx[0];
23493 wlc_phy_txpwr_index_nphy(pi, 1, pi->nphy_cal_orig_pwr_idx[0], true);
23494 wlc_phy_txpwr_index_nphy(pi, 2, pi->nphy_cal_orig_pwr_idx[1], true);
23496 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
23499 if (CHSPEC_IS2G(pi->radio_chanspec)) {
23500 txcal_gain[0] = (txcal_gain[0] & 0xF000) | 0x0F40;
23501 txcal_gain[1] = (txcal_gain[1] & 0xF000) | 0x0F40;
23503 txcal_gain[0] = (txcal_gain[0] & 0xF000) | 0x0F60;
23504 txcal_gain[1] = (txcal_gain[1] & 0xF000) | 0x0F60;
23507 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
23511 static void wlc_phy_precal_txgain_nphy(phy_info_t *pi)
23513 bool save_bbmult = false;
23514 u8 txcal_index_2057_rev5n7 = 0;
23515 u8 txcal_index_2057_rev3n4n6 = 10;
23517 if (pi->use_int_tx_iqlo_cal_nphy) {
23518 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
23519 if ((pi->pubpi.radiorev == 3) ||
23520 (pi->pubpi.radiorev == 4) ||
23521 (pi->pubpi.radiorev == 6)) {
23523 pi->nphy_txcal_pwr_idx[0] =
23524 txcal_index_2057_rev3n4n6;
23525 pi->nphy_txcal_pwr_idx[1] =
23526 txcal_index_2057_rev3n4n6;
23527 wlc_phy_txpwr_index_nphy(pi, 3,
23528 txcal_index_2057_rev3n4n6,
23532 pi->nphy_txcal_pwr_idx[0] =
23533 txcal_index_2057_rev5n7;
23534 pi->nphy_txcal_pwr_idx[1] =
23535 txcal_index_2057_rev5n7;
23536 wlc_phy_txpwr_index_nphy(pi, 3,
23537 txcal_index_2057_rev5n7,
23540 save_bbmult = true;
23542 } else if (NREV_LT(pi->pubpi.phy_rev, 5)) {
23543 wlc_phy_cal_txgainctrl_nphy(pi, 11, false);
23544 if (pi->sh->hw_phytxchain != 3) {
23545 pi->nphy_txcal_pwr_idx[1] =
23546 pi->nphy_txcal_pwr_idx[0];
23547 wlc_phy_txpwr_index_nphy(pi, 3,
23549 nphy_txcal_pwr_idx[0],
23551 save_bbmult = true;
23554 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
23556 if (CHSPEC_IS2G(pi->radio_chanspec)) {
23557 wlc_phy_cal_txgainctrl_nphy(pi, 12,
23560 pi->nphy_txcal_pwr_idx[0] = 80;
23561 pi->nphy_txcal_pwr_idx[1] = 80;
23562 wlc_phy_txpwr_index_nphy(pi, 3, 80,
23564 save_bbmult = true;
23568 wlc_phy_internal_cal_txgain_nphy(pi);
23569 save_bbmult = true;
23572 } else if (NREV_IS(pi->pubpi.phy_rev, 6)) {
23574 if (CHSPEC_IS2G(pi->radio_chanspec)) {
23575 wlc_phy_cal_txgainctrl_nphy(pi, 12,
23578 wlc_phy_cal_txgainctrl_nphy(pi, 14,
23583 wlc_phy_internal_cal_txgain_nphy(pi);
23584 save_bbmult = true;
23589 wlc_phy_cal_txgainctrl_nphy(pi, 10, false);
23593 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16,
23594 &pi->nphy_txcal_bbmult);
23599 wlc_phy_cal_txgainctrl_nphy(phy_info_t *pi, s32 dBm_targetpower, bool debug)
23601 int gainctrl_loopidx;
23603 u16 m0m1, curr_m0m1;
23608 u16 phy_saveregs[4];
23610 u16 ampl_test = 250;
23612 bool phyhang_avoid_state = false;
23614 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
23622 if (CHSPEC_IS40(pi->radio_chanspec)) {
23628 wlc_phy_txpwr_index_nphy(pi, 1, pi->nphy_cal_orig_pwr_idx[0], true);
23629 wlc_phy_txpwr_index_nphy(pi, 2, pi->nphy_cal_orig_pwr_idx[1], true);
23631 if (pi->phyhang_avoid)
23632 wlc_phy_stay_in_carriersearch_nphy(pi, true);
23634 phyhang_avoid_state = pi->phyhang_avoid;
23635 pi->phyhang_avoid = false;
23637 phy_saveregs[0] = read_phy_reg(pi, 0x91);
23638 phy_saveregs[1] = read_phy_reg(pi, 0x92);
23639 phy_saveregs[2] = read_phy_reg(pi, 0xe7);
23640 phy_saveregs[3] = read_phy_reg(pi, 0xec);
23641 wlc_phy_rfctrlintc_override_nphy(pi, NPHY_RfctrlIntc_override_PA, 1,
23642 RADIO_MIMO_CORESEL_CORE1 |
23643 RADIO_MIMO_CORESEL_CORE2);
23646 wlc_phy_rfctrlintc_override_nphy(pi,
23647 NPHY_RfctrlIntc_override_TRSW,
23648 0x2, RADIO_MIMO_CORESEL_CORE1);
23649 wlc_phy_rfctrlintc_override_nphy(pi,
23650 NPHY_RfctrlIntc_override_TRSW,
23651 0x8, RADIO_MIMO_CORESEL_CORE2);
23653 wlc_phy_rfctrlintc_override_nphy(pi,
23654 NPHY_RfctrlIntc_override_TRSW,
23655 0x1, RADIO_MIMO_CORESEL_CORE1);
23656 wlc_phy_rfctrlintc_override_nphy(pi,
23657 NPHY_RfctrlIntc_override_TRSW,
23658 0x7, RADIO_MIMO_CORESEL_CORE2);
23661 orig_BBConfig = read_phy_reg(pi, 0x01);
23662 mod_phy_reg(pi, 0x01, (0x1 << 15), 0);
23664 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m0m1);
23666 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
23667 txpwrindex = (s32) pi->nphy_cal_orig_pwr_idx[core];
23669 for (gainctrl_loopidx = 0; gainctrl_loopidx < 2;
23670 gainctrl_loopidx++) {
23671 wlc_phy_tx_tone_nphy(pi, freq_test, ampl_test, 0, 0,
23674 if (core == PHY_CORE_0) {
23675 curr_m0m1 = m0m1 & 0xff00;
23677 curr_m0m1 = m0m1 & 0x00ff;
23680 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &curr_m0m1);
23681 wlc_phy_table_write_nphy(pi, 15, 1, 95, 16, &curr_m0m1);
23685 wlc_phy_est_tonepwr_nphy(pi, qdBm_power,
23686 NPHY_CAL_TSSISAMPS);
23688 pi->nphy_bb_mult_save = 0;
23689 wlc_phy_stopplayback_nphy(pi);
23691 delta_power = (dBm_targetpower * 4) - qdBm_power[core];
23693 txpwrindex -= stepsize * delta_power;
23694 if (txpwrindex < 0) {
23696 } else if (txpwrindex > 127) {
23700 if (CHSPEC_IS5G(pi->radio_chanspec)) {
23701 if (NREV_IS(pi->pubpi.phy_rev, 4) &&
23702 (pi->srom_fem5g.extpagain == 3)) {
23703 if (txpwrindex < 30) {
23708 if (NREV_GE(pi->pubpi.phy_rev, 5) &&
23709 (pi->srom_fem2g.extpagain == 3)) {
23710 if (txpwrindex < 50) {
23716 wlc_phy_txpwr_index_nphy(pi, (1 << core),
23717 (u8) txpwrindex, true);
23720 pi->nphy_txcal_pwr_idx[core] = (u8) txpwrindex;
23726 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &dbg_m0m1);
23728 wlc_phy_tx_tone_nphy(pi, freq_test, ampl_test, 0, 0,
23731 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &dbg_m0m1);
23732 wlc_phy_table_write_nphy(pi, 15, 1, 95, 16, &dbg_m0m1);
23736 wlc_phy_est_tonepwr_nphy(pi, qdBm_power,
23737 NPHY_CAL_TSSISAMPS);
23739 wlc_phy_table_read_nphy(pi, 7, 1, (0x110 + core), 16,
23743 pi->nphy_bb_mult_save = 0;
23744 wlc_phy_stopplayback_nphy(pi);
23748 wlc_phy_txpwr_index_nphy(pi, 1, pi->nphy_txcal_pwr_idx[0], true);
23749 wlc_phy_txpwr_index_nphy(pi, 2, pi->nphy_txcal_pwr_idx[1], true);
23751 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &pi->nphy_txcal_bbmult);
23753 write_phy_reg(pi, 0x01, orig_BBConfig);
23755 write_phy_reg(pi, 0x91, phy_saveregs[0]);
23756 write_phy_reg(pi, 0x92, phy_saveregs[1]);
23757 write_phy_reg(pi, 0xe7, phy_saveregs[2]);
23758 write_phy_reg(pi, 0xec, phy_saveregs[3]);
23760 pi->phyhang_avoid = phyhang_avoid_state;
23762 if (pi->phyhang_avoid)
23763 wlc_phy_stay_in_carriersearch_nphy(pi, false);
23766 static void wlc_phy_update_txcal_ladder_nphy(phy_info_t *pi, u16 core)
23773 nphy_txiqcal_ladder_t ladder_lo[] = {
23774 {3, 0}, {4, 0}, {6, 0}, {9, 0}, {13, 0}, {18, 0},
23775 {25, 0}, {25, 1}, {25, 2}, {25, 3}, {25, 4}, {25, 5},
23776 {25, 6}, {25, 7}, {35, 7}, {50, 7}, {71, 7}, {100, 7}
23779 nphy_txiqcal_ladder_t ladder_iq[] = {
23780 {3, 0}, {4, 0}, {6, 0}, {9, 0}, {13, 0}, {18, 0},
23781 {25, 0}, {35, 0}, {50, 0}, {71, 0}, {100, 0}, {100, 1},
23782 {100, 2}, {100, 3}, {100, 4}, {100, 5}, {100, 6}, {100, 7}
23785 bbmult = (core == PHY_CORE_0) ?
23786 ((pi->nphy_txcal_bbmult >> 8) & 0xff) : (pi->
23787 nphy_txcal_bbmult & 0xff);
23789 for (index = 0; index < 18; index++) {
23790 bbmult_scale = ladder_lo[index].percent * bbmult;
23791 bbmult_scale /= 100;
23794 ((bbmult_scale & 0xff) << 8) | ladder_lo[index].g_env;
23795 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, index, 16,
23798 bbmult_scale = ladder_iq[index].percent * bbmult;
23799 bbmult_scale /= 100;
23802 ((bbmult_scale & 0xff) << 8) | ladder_iq[index].g_env;
23803 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, index + 32,
23808 void wlc_phy_cal_perical_nphy_run(phy_info_t *pi, u8 caltype)
23810 nphy_txgains_t target_gain;
23811 u8 tx_pwr_ctrl_state;
23812 bool fullcal = true;
23813 bool restore_tx_gain = false;
23816 if (NORADIO_ENAB(pi->pubpi)) {
23817 wlc_phy_cal_perical_mphase_reset(pi);
23824 if (caltype == PHY_PERICAL_AUTO)
23825 fullcal = (pi->radio_chanspec != pi->nphy_txiqlocal_chanspec);
23826 else if (caltype == PHY_PERICAL_PARTIAL)
23829 if (pi->cal_type_override != PHY_PERICAL_AUTO) {
23831 (pi->cal_type_override == PHY_PERICAL_FULL) ? true : false;
23834 if ((pi->mphase_cal_phase_id > MPHASE_CAL_STATE_INIT)) {
23835 if (pi->nphy_txiqlocal_chanspec != pi->radio_chanspec)
23836 wlc_phy_cal_perical_mphase_restart(pi);
23839 if ((pi->mphase_cal_phase_id == MPHASE_CAL_STATE_RXCAL)) {
23840 wlapi_bmac_write_shm(pi->sh->physhim, M_CTS_DURATION, 10000);
23843 wlapi_suspend_mac_and_wait(pi->sh->physhim);
23845 wlc_phyreg_enter((wlc_phy_t *) pi);
23847 if ((pi->mphase_cal_phase_id == MPHASE_CAL_STATE_IDLE) ||
23848 (pi->mphase_cal_phase_id == MPHASE_CAL_STATE_INIT)) {
23849 pi->nphy_cal_orig_pwr_idx[0] =
23850 (u8) ((read_phy_reg(pi, 0x1ed) >> 8) & 0x7f);
23851 pi->nphy_cal_orig_pwr_idx[1] =
23852 (u8) ((read_phy_reg(pi, 0x1ee) >> 8) & 0x7f);
23854 if (pi->nphy_txpwrctrl != PHY_TPC_HW_OFF) {
23855 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2,
23857 pi->nphy_cal_orig_tx_gain);
23859 pi->nphy_cal_orig_tx_gain[0] = 0;
23860 pi->nphy_cal_orig_tx_gain[1] = 0;
23863 target_gain = wlc_phy_get_tx_gain_nphy(pi);
23864 tx_pwr_ctrl_state = pi->nphy_txpwrctrl;
23865 wlc_phy_txpwrctrl_enable_nphy(pi, PHY_TPC_HW_OFF);
23867 if (pi->antsel_type == ANTSEL_2x3)
23868 wlc_phy_antsel_init((wlc_phy_t *) pi, true);
23870 mphase = (pi->mphase_cal_phase_id != MPHASE_CAL_STATE_IDLE);
23873 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23874 wlc_phy_precal_txgain_nphy(pi);
23875 pi->nphy_cal_target_gain = wlc_phy_get_tx_gain_nphy(pi);
23876 restore_tx_gain = true;
23878 target_gain = pi->nphy_cal_target_gain;
23881 wlc_phy_cal_txiqlo_nphy(pi, target_gain, fullcal, mphase)) {
23883 wlc_phy_a4(pi, true);
23885 wlc_phyreg_exit((wlc_phy_t *) pi);
23886 wlapi_enable_mac(pi->sh->physhim);
23887 wlapi_bmac_write_shm(pi->sh->physhim, M_CTS_DURATION,
23889 wlapi_suspend_mac_and_wait(pi->sh->physhim);
23890 wlc_phyreg_enter((wlc_phy_t *) pi);
23892 if (0 == wlc_phy_cal_rxiq_nphy(pi, target_gain,
23894 first_cal_after_assoc
23900 wlc_phy_savecal_nphy(pi);
23902 wlc_phy_txpwrctrl_coeff_setup_nphy(pi);
23904 pi->nphy_perical_last = pi->sh->now;
23907 if (caltype != PHY_PERICAL_AUTO) {
23908 wlc_phy_rssi_cal_nphy(pi);
23911 if (pi->first_cal_after_assoc
23912 || (pi->cal_type_override == PHY_PERICAL_FULL)) {
23913 pi->first_cal_after_assoc = false;
23914 wlc_phy_txpwrctrl_idle_tssi_nphy(pi);
23915 wlc_phy_txpwrctrl_pwr_setup_nphy(pi);
23918 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23919 wlc_phy_radio205x_vcocal_nphy(pi);
23922 switch (pi->mphase_cal_phase_id) {
23923 case MPHASE_CAL_STATE_INIT:
23924 pi->nphy_perical_last = pi->sh->now;
23925 pi->nphy_txiqlocal_chanspec = pi->radio_chanspec;
23927 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23928 wlc_phy_precal_txgain_nphy(pi);
23930 pi->nphy_cal_target_gain = wlc_phy_get_tx_gain_nphy(pi);
23931 pi->mphase_cal_phase_id++;
23934 case MPHASE_CAL_STATE_TXPHASE0:
23935 case MPHASE_CAL_STATE_TXPHASE1:
23936 case MPHASE_CAL_STATE_TXPHASE2:
23937 case MPHASE_CAL_STATE_TXPHASE3:
23938 case MPHASE_CAL_STATE_TXPHASE4:
23939 case MPHASE_CAL_STATE_TXPHASE5:
23940 if ((pi->radar_percal_mask & 0x10) != 0)
23941 pi->nphy_rxcal_active = true;
23943 if (wlc_phy_cal_txiqlo_nphy
23944 (pi, pi->nphy_cal_target_gain, fullcal,
23947 wlc_phy_cal_perical_mphase_reset(pi);
23951 if (NREV_LE(pi->pubpi.phy_rev, 2) &&
23952 (pi->mphase_cal_phase_id ==
23953 MPHASE_CAL_STATE_TXPHASE4)) {
23954 pi->mphase_cal_phase_id += 2;
23956 pi->mphase_cal_phase_id++;
23960 case MPHASE_CAL_STATE_PAPDCAL:
23961 if ((pi->radar_percal_mask & 0x2) != 0)
23962 pi->nphy_rxcal_active = true;
23965 wlc_phy_a4(pi, true);
23967 pi->mphase_cal_phase_id++;
23970 case MPHASE_CAL_STATE_RXCAL:
23971 if ((pi->radar_percal_mask & 0x1) != 0)
23972 pi->nphy_rxcal_active = true;
23973 if (wlc_phy_cal_rxiq_nphy(pi, target_gain,
23974 (pi->first_cal_after_assoc ||
23975 (pi->cal_type_override ==
23976 PHY_PERICAL_FULL)) ? 2 : 0,
23978 wlc_phy_savecal_nphy(pi);
23981 pi->mphase_cal_phase_id++;
23984 case MPHASE_CAL_STATE_RSSICAL:
23985 if ((pi->radar_percal_mask & 0x4) != 0)
23986 pi->nphy_rxcal_active = true;
23987 wlc_phy_txpwrctrl_coeff_setup_nphy(pi);
23988 wlc_phy_rssi_cal_nphy(pi);
23990 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23991 wlc_phy_radio205x_vcocal_nphy(pi);
23993 restore_tx_gain = true;
23995 if (pi->first_cal_after_assoc) {
23996 pi->mphase_cal_phase_id++;
23998 wlc_phy_cal_perical_mphase_reset(pi);
24003 case MPHASE_CAL_STATE_IDLETSSI:
24004 if ((pi->radar_percal_mask & 0x8) != 0)
24005 pi->nphy_rxcal_active = true;
24007 if (pi->first_cal_after_assoc) {
24008 pi->first_cal_after_assoc = false;
24009 wlc_phy_txpwrctrl_idle_tssi_nphy(pi);
24010 wlc_phy_txpwrctrl_pwr_setup_nphy(pi);
24013 wlc_phy_cal_perical_mphase_reset(pi);
24017 wlc_phy_cal_perical_mphase_reset(pi);
24022 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
24023 if (restore_tx_gain) {
24024 if (tx_pwr_ctrl_state != PHY_TPC_HW_OFF) {
24026 wlc_phy_txpwr_index_nphy(pi, 1,
24028 nphy_cal_orig_pwr_idx
24030 wlc_phy_txpwr_index_nphy(pi, 2,
24032 nphy_cal_orig_pwr_idx
24035 pi->nphy_txpwrindex[0].index = -1;
24036 pi->nphy_txpwrindex[1].index = -1;
24038 wlc_phy_txpwr_index_nphy(pi, (1 << 0),
24044 wlc_phy_txpwr_index_nphy(pi, (1 << 1),
24054 wlc_phy_txpwrctrl_enable_nphy(pi, tx_pwr_ctrl_state);
24055 wlc_phyreg_exit((wlc_phy_t *) pi);
24056 wlapi_enable_mac(pi->sh->physhim);
24060 wlc_phy_cal_txiqlo_nphy(phy_info_t *pi, nphy_txgains_t target_gain,
24061 bool fullcal, bool mphase)
24067 u8 num_cals, max_cal_cmds;
24068 u16 core_no, cal_type;
24075 nphy_iqcal_params_t cal_params[2];
24078 bool ladder_updated[2];
24079 u8 mphase_cal_lastphase = 0;
24081 bool phyhang_avoid_state = false;
24083 u16 tbl_tx_iqlo_cal_loft_ladder_20[] = {
24084 0x0300, 0x0500, 0x0700, 0x0900, 0x0d00, 0x1100, 0x1900, 0x1901,
24086 0x1903, 0x1904, 0x1905, 0x1906, 0x1907, 0x2407, 0x3207, 0x4607,
24090 u16 tbl_tx_iqlo_cal_iqimb_ladder_20[] = {
24091 0x0200, 0x0300, 0x0600, 0x0900, 0x0d00, 0x1100, 0x1900, 0x2400,
24093 0x4600, 0x6400, 0x6401, 0x6402, 0x6403, 0x6404, 0x6405, 0x6406,
24097 u16 tbl_tx_iqlo_cal_loft_ladder_40[] = {
24098 0x0200, 0x0300, 0x0400, 0x0700, 0x0900, 0x0c00, 0x1200, 0x1201,
24100 0x1203, 0x1204, 0x1205, 0x1206, 0x1207, 0x1907, 0x2307, 0x3207,
24104 u16 tbl_tx_iqlo_cal_iqimb_ladder_40[] = {
24105 0x0100, 0x0200, 0x0400, 0x0700, 0x0900, 0x0c00, 0x1200, 0x1900,
24107 0x3200, 0x4700, 0x4701, 0x4702, 0x4703, 0x4704, 0x4705, 0x4706,
24111 u16 tbl_tx_iqlo_cal_startcoefs[] = {
24112 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
24116 u16 tbl_tx_iqlo_cal_cmds_fullcal[] = {
24117 0x8123, 0x8264, 0x8086, 0x8245, 0x8056,
24118 0x9123, 0x9264, 0x9086, 0x9245, 0x9056
24121 u16 tbl_tx_iqlo_cal_cmds_recal[] = {
24122 0x8101, 0x8253, 0x8053, 0x8234, 0x8034,
24123 0x9101, 0x9253, 0x9053, 0x9234, 0x9034
24126 u16 tbl_tx_iqlo_cal_startcoefs_nphyrev3[] = {
24127 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
24128 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
24132 u16 tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3[] = {
24133 0x8434, 0x8334, 0x8084, 0x8267, 0x8056, 0x8234,
24134 0x9434, 0x9334, 0x9084, 0x9267, 0x9056, 0x9234
24137 u16 tbl_tx_iqlo_cal_cmds_recal_nphyrev3[] = {
24138 0x8423, 0x8323, 0x8073, 0x8256, 0x8045, 0x8223,
24139 0x9423, 0x9323, 0x9073, 0x9256, 0x9045, 0x9223
24142 wlc_phy_stay_in_carriersearch_nphy(pi, true);
24144 if (NREV_GE(pi->pubpi.phy_rev, 4)) {
24145 phyhang_avoid_state = pi->phyhang_avoid;
24146 pi->phyhang_avoid = false;
24149 if (CHSPEC_IS40(pi->radio_chanspec)) {
24155 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, gain_save);
24157 for (core_no = 0; core_no <= 1; core_no++) {
24158 wlc_phy_iqcal_gainparams_nphy(pi, core_no, target_gain,
24159 &cal_params[core_no]);
24160 cal_gain[core_no] = cal_params[core_no].cal_gain;
24163 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, cal_gain);
24165 wlc_phy_txcal_radio_setup_nphy(pi);
24167 wlc_phy_txcal_physetup_nphy(pi);
24169 ladder_updated[0] = ladder_updated[1] = false;
24170 if (!(NREV_GE(pi->pubpi.phy_rev, 6) ||
24171 (NREV_IS(pi->pubpi.phy_rev, 5) && PHY_IPA(pi)
24172 && (CHSPEC_IS2G(pi->radio_chanspec))))) {
24174 if (phy_bw == 40) {
24175 tbl_ptr = tbl_tx_iqlo_cal_loft_ladder_40;
24176 tbl_len = ARRAY_SIZE(tbl_tx_iqlo_cal_loft_ladder_40);
24178 tbl_ptr = tbl_tx_iqlo_cal_loft_ladder_20;
24179 tbl_len = ARRAY_SIZE(tbl_tx_iqlo_cal_loft_ladder_20);
24181 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, tbl_len, 0,
24184 if (phy_bw == 40) {
24185 tbl_ptr = tbl_tx_iqlo_cal_iqimb_ladder_40;
24186 tbl_len = ARRAY_SIZE(tbl_tx_iqlo_cal_iqimb_ladder_40);
24188 tbl_ptr = tbl_tx_iqlo_cal_iqimb_ladder_20;
24189 tbl_len = ARRAY_SIZE(tbl_tx_iqlo_cal_iqimb_ladder_20);
24191 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, tbl_len, 32,
24195 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
24196 write_phy_reg(pi, 0xc2, 0x8ad9);
24198 write_phy_reg(pi, 0xc2, 0x8aa9);
24202 tone_freq = (phy_bw == 20) ? 2500 : 5000;
24204 if (pi->mphase_cal_phase_id > MPHASE_CAL_STATE_TXPHASE0) {
24205 wlc_phy_runsamples_nphy(pi, phy_bw * 8, 0xffff, 0, 1, 0, false);
24209 wlc_phy_tx_tone_nphy(pi, tone_freq, max_val, 1, 0, false);
24212 if (bcmerror == 0) {
24214 if (pi->mphase_cal_phase_id > MPHASE_CAL_STATE_TXPHASE0) {
24215 tbl_ptr = pi->mphase_txcal_bestcoeffs;
24216 tbl_len = ARRAY_SIZE(pi->mphase_txcal_bestcoeffs);
24217 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
24222 if ((!fullcal) && (pi->nphy_txiqlocal_coeffsvalid)) {
24224 tbl_ptr = pi->nphy_txiqlocal_bestc;
24225 tbl_len = ARRAY_SIZE(pi->nphy_txiqlocal_bestc);
24226 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
24234 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
24236 tbl_tx_iqlo_cal_startcoefs_nphyrev3;
24239 (tbl_tx_iqlo_cal_startcoefs_nphyrev3);
24241 tbl_ptr = tbl_tx_iqlo_cal_startcoefs;
24244 (tbl_tx_iqlo_cal_startcoefs);
24248 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, tbl_len, 64,
24252 max_cal_cmds = (NREV_GE(pi->pubpi.phy_rev, 3)) ?
24253 ARRAY_SIZE(tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3) :
24254 ARRAY_SIZE(tbl_tx_iqlo_cal_cmds_fullcal);
24256 max_cal_cmds = (NREV_GE(pi->pubpi.phy_rev, 3)) ?
24257 ARRAY_SIZE(tbl_tx_iqlo_cal_cmds_recal_nphyrev3) :
24258 ARRAY_SIZE(tbl_tx_iqlo_cal_cmds_recal);
24262 cal_cnt = pi->mphase_txcal_cmdidx;
24263 if ((cal_cnt + pi->mphase_txcal_numcmds) < max_cal_cmds) {
24264 num_cals = cal_cnt + pi->mphase_txcal_numcmds;
24266 num_cals = max_cal_cmds;
24270 num_cals = max_cal_cmds;
24273 for (; cal_cnt < num_cals; cal_cnt++) {
24276 cal_cmd = (NREV_GE(pi->pubpi.phy_rev, 3)) ?
24277 tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3
24279 tbl_tx_iqlo_cal_cmds_fullcal[cal_cnt];
24281 cal_cmd = (NREV_GE(pi->pubpi.phy_rev, 3)) ?
24282 tbl_tx_iqlo_cal_cmds_recal_nphyrev3[cal_cnt]
24283 : tbl_tx_iqlo_cal_cmds_recal[cal_cnt];
24286 core_no = ((cal_cmd & 0x3000) >> 12);
24287 cal_type = ((cal_cmd & 0x0F00) >> 8);
24289 if (NREV_GE(pi->pubpi.phy_rev, 6) ||
24290 (NREV_IS(pi->pubpi.phy_rev, 5) &&
24292 && (CHSPEC_IS2G(pi->radio_chanspec)))) {
24293 if (!ladder_updated[core_no]) {
24294 wlc_phy_update_txcal_ladder_nphy(pi,
24296 ladder_updated[core_no] = true;
24301 (cal_params[core_no].
24302 ncorr[cal_type] << 8) | NPHY_N_GCTL;
24303 write_phy_reg(pi, 0xc1, val);
24305 if ((cal_type == 1) || (cal_type == 3)
24306 || (cal_type == 4)) {
24308 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24309 1, 69 + core_no, 16,
24312 diq_start = tbl_buf[0];
24315 wlc_phy_table_write_nphy(pi,
24316 NPHY_TBL_ID_IQLOCAL, 1,
24321 write_phy_reg(pi, 0xc0, cal_cmd);
24323 SPINWAIT(((read_phy_reg(pi, 0xc0) & 0xc000) != 0),
24325 if (WARN(read_phy_reg(pi, 0xc0) & 0xc000,
24326 "HW error: txiq calib"))
24329 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24330 tbl_len, 96, 16, tbl_buf);
24331 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24332 tbl_len, 64, 16, tbl_buf);
24334 if ((cal_type == 1) || (cal_type == 3)
24335 || (cal_type == 4)) {
24337 tbl_buf[0] = diq_start;
24344 pi->mphase_txcal_cmdidx = num_cals;
24345 if (pi->mphase_txcal_cmdidx >= max_cal_cmds)
24346 pi->mphase_txcal_cmdidx = 0;
24349 mphase_cal_lastphase =
24350 (NREV_LE(pi->pubpi.phy_rev, 2)) ?
24351 MPHASE_CAL_STATE_TXPHASE4 : MPHASE_CAL_STATE_TXPHASE5;
24354 || (pi->mphase_cal_phase_id == mphase_cal_lastphase)) {
24356 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 96,
24358 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 80,
24361 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
24369 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 88,
24372 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 101,
24374 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 85,
24377 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 93,
24380 tbl_len = ARRAY_SIZE(pi->nphy_txiqlocal_bestc);
24381 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
24385 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24387 pi->nphy_txiqlocal_bestc);
24389 pi->nphy_txiqlocal_coeffsvalid = true;
24390 pi->nphy_txiqlocal_chanspec = pi->radio_chanspec;
24392 tbl_len = ARRAY_SIZE(pi->mphase_txcal_bestcoeffs);
24393 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
24397 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24399 pi->mphase_txcal_bestcoeffs);
24402 wlc_phy_stopplayback_nphy(pi);
24404 write_phy_reg(pi, 0xc2, 0x0000);
24408 wlc_phy_txcal_phycleanup_nphy(pi);
24410 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
24413 wlc_phy_txcal_radio_cleanup_nphy(pi);
24415 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
24417 || (pi->mphase_cal_phase_id == mphase_cal_lastphase))
24418 wlc_phy_tx_iq_war_nphy(pi);
24421 if (NREV_GE(pi->pubpi.phy_rev, 4)) {
24422 pi->phyhang_avoid = phyhang_avoid_state;
24425 wlc_phy_stay_in_carriersearch_nphy(pi, false);
24430 static void wlc_phy_reapply_txcal_coeffs_nphy(phy_info_t *pi)
24434 if ((pi->nphy_txiqlocal_chanspec == pi->radio_chanspec) &&
24435 (pi->nphy_txiqlocal_coeffsvalid)) {
24436 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24437 ARRAY_SIZE(tbl_buf), 80, 16, tbl_buf);
24439 if ((pi->nphy_txiqlocal_bestc[0] != tbl_buf[0]) ||
24440 (pi->nphy_txiqlocal_bestc[1] != tbl_buf[1]) ||
24441 (pi->nphy_txiqlocal_bestc[2] != tbl_buf[2]) ||
24442 (pi->nphy_txiqlocal_bestc[3] != tbl_buf[3])) {
24444 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 80,
24445 16, pi->nphy_txiqlocal_bestc);
24451 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 88,
24454 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 85,
24456 &pi->nphy_txiqlocal_bestc[5]);
24458 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 93,
24460 &pi->nphy_txiqlocal_bestc[5]);
24465 static void wlc_phy_tx_iq_war_nphy(phy_info_t *pi)
24467 nphy_iq_comp_t tx_comp;
24469 wlc_phy_table_read_nphy(pi, 15, 4, 0x50, 16, (void *)&tx_comp);
24471 wlapi_bmac_write_shm(pi->sh->physhim, M_20IN40_IQ, tx_comp.a0);
24472 wlapi_bmac_write_shm(pi->sh->physhim, M_20IN40_IQ + 2, tx_comp.b0);
24473 wlapi_bmac_write_shm(pi->sh->physhim, M_20IN40_IQ + 4, tx_comp.a1);
24474 wlapi_bmac_write_shm(pi->sh->physhim, M_20IN40_IQ + 6, tx_comp.b1);
24478 wlc_phy_rx_iq_coeffs_nphy(phy_info_t *pi, u8 write, nphy_iq_comp_t *pcomp)
24481 write_phy_reg(pi, 0x9a, pcomp->a0);
24482 write_phy_reg(pi, 0x9b, pcomp->b0);
24483 write_phy_reg(pi, 0x9c, pcomp->a1);
24484 write_phy_reg(pi, 0x9d, pcomp->b1);
24486 pcomp->a0 = read_phy_reg(pi, 0x9a);
24487 pcomp->b0 = read_phy_reg(pi, 0x9b);
24488 pcomp->a1 = read_phy_reg(pi, 0x9c);
24489 pcomp->b1 = read_phy_reg(pi, 0x9d);
24494 wlc_phy_rx_iq_est_nphy(phy_info_t *pi, phy_iq_est_t *est, u16 num_samps,
24495 u8 wait_time, u8 wait_for_crs)
24499 write_phy_reg(pi, 0x12b, num_samps);
24500 mod_phy_reg(pi, 0x12a, (0xff << 0), (wait_time << 0));
24501 mod_phy_reg(pi, 0x129, NPHY_IqestCmd_iqMode,
24502 (wait_for_crs) ? NPHY_IqestCmd_iqMode : 0);
24504 mod_phy_reg(pi, 0x129, NPHY_IqestCmd_iqstart, NPHY_IqestCmd_iqstart);
24506 SPINWAIT(((read_phy_reg(pi, 0x129) & NPHY_IqestCmd_iqstart) != 0),
24508 if (WARN(read_phy_reg(pi, 0x129) & NPHY_IqestCmd_iqstart,
24509 "HW error: rxiq est"))
24512 if ((read_phy_reg(pi, 0x129) & NPHY_IqestCmd_iqstart) == 0) {
24513 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
24515 (read_phy_reg(pi, NPHY_IqestipwrAccHi(core)) << 16)
24516 | read_phy_reg(pi, NPHY_IqestipwrAccLo(core));
24518 (read_phy_reg(pi, NPHY_IqestqpwrAccHi(core)) << 16)
24519 | read_phy_reg(pi, NPHY_IqestqpwrAccLo(core));
24520 est[core].iq_prod =
24521 (read_phy_reg(pi, NPHY_IqestIqAccHi(core)) << 16) |
24522 read_phy_reg(pi, NPHY_IqestIqAccLo(core));
24527 #define CAL_RETRY_CNT 2
24528 static void wlc_phy_calc_rx_iq_comp_nphy(phy_info_t *pi, u8 core_mask)
24531 phy_iq_est_t est[PHY_CORE_MAX];
24532 nphy_iq_comp_t old_comp, new_comp;
24534 u32 ii = 0, qq = 0;
24535 s16 iq_nbits, qq_nbits, brsh, arsh;
24538 uint cal_retry = 0;
24540 if (core_mask == 0x0)
24543 wlc_phy_rx_iq_coeffs_nphy(pi, 0, &old_comp);
24544 new_comp.a0 = new_comp.b0 = new_comp.a1 = new_comp.b1 = 0x0;
24545 wlc_phy_rx_iq_coeffs_nphy(pi, 1, &new_comp);
24548 wlc_phy_rx_iq_est_nphy(pi, est, 0x4000, 32, 0);
24550 new_comp = old_comp;
24552 for (curr_core = 0; curr_core < pi->pubpi.phy_corenum; curr_core++) {
24554 if ((curr_core == PHY_CORE_0) && (core_mask & 0x1)) {
24555 iq = est[curr_core].iq_prod;
24556 ii = est[curr_core].i_pwr;
24557 qq = est[curr_core].q_pwr;
24558 } else if ((curr_core == PHY_CORE_1) && (core_mask & 0x2)) {
24559 iq = est[curr_core].iq_prod;
24560 ii = est[curr_core].i_pwr;
24561 qq = est[curr_core].q_pwr;
24566 if ((ii + qq) < NPHY_MIN_RXIQ_PWR) {
24571 iq_nbits = wlc_phy_nbits(iq);
24572 qq_nbits = wlc_phy_nbits(qq);
24574 arsh = 10 - (30 - iq_nbits);
24576 a = (-(iq << (30 - iq_nbits)) + (ii >> (1 + arsh)));
24577 temp = (s32) (ii >> arsh);
24583 a = (-(iq << (30 - iq_nbits)) + (ii << (-1 - arsh)));
24584 temp = (s32) (ii << -arsh);
24593 brsh = qq_nbits - 31 + 20;
24595 b = (qq << (31 - qq_nbits));
24596 temp = (s32) (ii >> brsh);
24602 b = (qq << (31 - qq_nbits));
24603 temp = (s32) (ii << -brsh);
24611 b = (s32) int_sqrt((unsigned long) b);
24614 if ((curr_core == PHY_CORE_0) && (core_mask & 0x1)) {
24615 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
24616 new_comp.a0 = (s16) a & 0x3ff;
24617 new_comp.b0 = (s16) b & 0x3ff;
24620 new_comp.a0 = (s16) b & 0x3ff;
24621 new_comp.b0 = (s16) a & 0x3ff;
24624 if ((curr_core == PHY_CORE_1) && (core_mask & 0x2)) {
24625 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
24626 new_comp.a1 = (s16) a & 0x3ff;
24627 new_comp.b1 = (s16) b & 0x3ff;
24630 new_comp.a1 = (s16) b & 0x3ff;
24631 new_comp.b1 = (s16) a & 0x3ff;
24636 if (bcmerror != 0) {
24637 printk("%s: Failed, cnt = %d\n", __func__, cal_retry);
24639 if (cal_retry < CAL_RETRY_CNT) {
24644 new_comp = old_comp;
24645 } else if (cal_retry > 0) {
24648 wlc_phy_rx_iq_coeffs_nphy(pi, 1, &new_comp);
24651 static void wlc_phy_rxcal_radio_setup_nphy(phy_info_t *pi, u8 rx_core)
24657 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
24658 if (rx_core == PHY_CORE_0) {
24659 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24660 pi->tx_rx_cal_radio_saveregs[0] =
24662 RADIO_2057_TX0_TXRXCOUPLE_5G_PWRUP);
24663 pi->tx_rx_cal_radio_saveregs[1] =
24665 RADIO_2057_TX0_TXRXCOUPLE_5G_ATTEN);
24667 write_radio_reg(pi,
24668 RADIO_2057_TX0_TXRXCOUPLE_5G_PWRUP,
24670 write_radio_reg(pi,
24671 RADIO_2057_TX0_TXRXCOUPLE_5G_ATTEN,
24675 pi->tx_rx_cal_radio_saveregs[0] =
24677 RADIO_2057_TX0_TXRXCOUPLE_2G_PWRUP);
24678 pi->tx_rx_cal_radio_saveregs[1] =
24680 RADIO_2057_TX0_TXRXCOUPLE_2G_ATTEN);
24682 write_radio_reg(pi,
24683 RADIO_2057_TX0_TXRXCOUPLE_2G_PWRUP,
24685 write_radio_reg(pi,
24686 RADIO_2057_TX0_TXRXCOUPLE_2G_ATTEN,
24691 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24692 pi->tx_rx_cal_radio_saveregs[0] =
24694 RADIO_2057_TX1_TXRXCOUPLE_5G_PWRUP);
24695 pi->tx_rx_cal_radio_saveregs[1] =
24697 RADIO_2057_TX1_TXRXCOUPLE_5G_ATTEN);
24699 write_radio_reg(pi,
24700 RADIO_2057_TX1_TXRXCOUPLE_5G_PWRUP,
24702 write_radio_reg(pi,
24703 RADIO_2057_TX1_TXRXCOUPLE_5G_ATTEN,
24707 pi->tx_rx_cal_radio_saveregs[0] =
24709 RADIO_2057_TX1_TXRXCOUPLE_2G_PWRUP);
24710 pi->tx_rx_cal_radio_saveregs[1] =
24712 RADIO_2057_TX1_TXRXCOUPLE_2G_ATTEN);
24714 write_radio_reg(pi,
24715 RADIO_2057_TX1_TXRXCOUPLE_2G_PWRUP,
24717 write_radio_reg(pi,
24718 RADIO_2057_TX1_TXRXCOUPLE_2G_ATTEN,
24724 if (rx_core == PHY_CORE_0) {
24725 pi->tx_rx_cal_radio_saveregs[0] =
24727 RADIO_2056_TX_RXIQCAL_TXMUX |
24729 pi->tx_rx_cal_radio_saveregs[1] =
24731 RADIO_2056_RX_RXIQCAL_RXMUX |
24734 if (pi->pubpi.radiorev >= 5) {
24735 pi->tx_rx_cal_radio_saveregs[2] =
24737 RADIO_2056_RX_RXSPARE2 |
24739 pi->tx_rx_cal_radio_saveregs[3] =
24741 RADIO_2056_TX_TXSPARE2 |
24745 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24747 if (pi->pubpi.radiorev >= 5) {
24748 pi->tx_rx_cal_radio_saveregs[4] =
24750 RADIO_2056_RX_LNAA_MASTER
24753 write_radio_reg(pi,
24754 RADIO_2056_RX_LNAA_MASTER
24755 | RADIO_2056_RX0, 0x40);
24757 write_radio_reg(pi,
24758 RADIO_2056_TX_TXSPARE2 |
24759 RADIO_2056_TX1, bias_a);
24761 write_radio_reg(pi,
24762 RADIO_2056_RX_RXSPARE2 |
24763 RADIO_2056_RX0, bias_a);
24765 pi->tx_rx_cal_radio_saveregs[4] =
24767 RADIO_2056_RX_LNAA_TUNE
24772 tx_rx_cal_radio_saveregs[2] & 0xF0)
24775 (offtune_val <= 0x7) ? 0xF : 0;
24778 RADIO_2056_RX_LNAA_TUNE |
24779 RADIO_2056_RX0, 0xF0,
24780 (offtune_val << 8));
24783 write_radio_reg(pi,
24784 RADIO_2056_TX_RXIQCAL_TXMUX |
24785 RADIO_2056_TX1, 0x9);
24786 write_radio_reg(pi,
24787 RADIO_2056_RX_RXIQCAL_RXMUX |
24788 RADIO_2056_RX0, 0x9);
24790 if (pi->pubpi.radiorev >= 5) {
24791 pi->tx_rx_cal_radio_saveregs[4] =
24793 RADIO_2056_RX_LNAG_MASTER
24796 write_radio_reg(pi,
24797 RADIO_2056_RX_LNAG_MASTER
24798 | RADIO_2056_RX0, 0x40);
24800 write_radio_reg(pi,
24801 RADIO_2056_TX_TXSPARE2 |
24802 RADIO_2056_TX1, bias_g);
24804 write_radio_reg(pi,
24805 RADIO_2056_RX_RXSPARE2 |
24806 RADIO_2056_RX0, bias_g);
24809 pi->tx_rx_cal_radio_saveregs[4] =
24811 RADIO_2056_RX_LNAG_TUNE
24816 tx_rx_cal_radio_saveregs[2] & 0xF0)
24819 (offtune_val <= 0x7) ? 0xF : 0;
24822 RADIO_2056_RX_LNAG_TUNE |
24823 RADIO_2056_RX0, 0xF0,
24824 (offtune_val << 8));
24827 write_radio_reg(pi,
24828 RADIO_2056_TX_RXIQCAL_TXMUX |
24829 RADIO_2056_TX1, 0x6);
24830 write_radio_reg(pi,
24831 RADIO_2056_RX_RXIQCAL_RXMUX |
24832 RADIO_2056_RX0, 0x6);
24836 pi->tx_rx_cal_radio_saveregs[0] =
24838 RADIO_2056_TX_RXIQCAL_TXMUX |
24840 pi->tx_rx_cal_radio_saveregs[1] =
24842 RADIO_2056_RX_RXIQCAL_RXMUX |
24845 if (pi->pubpi.radiorev >= 5) {
24846 pi->tx_rx_cal_radio_saveregs[2] =
24848 RADIO_2056_RX_RXSPARE2 |
24850 pi->tx_rx_cal_radio_saveregs[3] =
24852 RADIO_2056_TX_TXSPARE2 |
24856 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24858 if (pi->pubpi.radiorev >= 5) {
24859 pi->tx_rx_cal_radio_saveregs[4] =
24861 RADIO_2056_RX_LNAA_MASTER
24864 write_radio_reg(pi,
24865 RADIO_2056_RX_LNAA_MASTER
24866 | RADIO_2056_RX1, 0x40);
24868 write_radio_reg(pi,
24869 RADIO_2056_TX_TXSPARE2 |
24870 RADIO_2056_TX0, bias_a);
24872 write_radio_reg(pi,
24873 RADIO_2056_RX_RXSPARE2 |
24874 RADIO_2056_RX1, bias_a);
24876 pi->tx_rx_cal_radio_saveregs[4] =
24878 RADIO_2056_RX_LNAA_TUNE
24883 tx_rx_cal_radio_saveregs[2] & 0xF0)
24886 (offtune_val <= 0x7) ? 0xF : 0;
24889 RADIO_2056_RX_LNAA_TUNE |
24890 RADIO_2056_RX1, 0xF0,
24891 (offtune_val << 8));
24894 write_radio_reg(pi,
24895 RADIO_2056_TX_RXIQCAL_TXMUX |
24896 RADIO_2056_TX0, 0x9);
24897 write_radio_reg(pi,
24898 RADIO_2056_RX_RXIQCAL_RXMUX |
24899 RADIO_2056_RX1, 0x9);
24901 if (pi->pubpi.radiorev >= 5) {
24902 pi->tx_rx_cal_radio_saveregs[4] =
24904 RADIO_2056_RX_LNAG_MASTER
24907 write_radio_reg(pi,
24908 RADIO_2056_RX_LNAG_MASTER
24909 | RADIO_2056_RX1, 0x40);
24911 write_radio_reg(pi,
24912 RADIO_2056_TX_TXSPARE2 |
24913 RADIO_2056_TX0, bias_g);
24915 write_radio_reg(pi,
24916 RADIO_2056_RX_RXSPARE2 |
24917 RADIO_2056_RX1, bias_g);
24919 pi->tx_rx_cal_radio_saveregs[4] =
24921 RADIO_2056_RX_LNAG_TUNE
24926 tx_rx_cal_radio_saveregs[2] & 0xF0)
24929 (offtune_val <= 0x7) ? 0xF : 0;
24932 RADIO_2056_RX_LNAG_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, 0x6);
24940 write_radio_reg(pi,
24941 RADIO_2056_RX_RXIQCAL_RXMUX |
24942 RADIO_2056_RX1, 0x6);
24948 static void wlc_phy_rxcal_radio_cleanup_nphy(phy_info_t *pi, u8 rx_core)
24950 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
24951 if (rx_core == PHY_CORE_0) {
24952 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24953 write_radio_reg(pi,
24954 RADIO_2057_TX0_TXRXCOUPLE_5G_PWRUP,
24956 tx_rx_cal_radio_saveregs[0]);
24957 write_radio_reg(pi,
24958 RADIO_2057_TX0_TXRXCOUPLE_5G_ATTEN,
24960 tx_rx_cal_radio_saveregs[1]);
24963 write_radio_reg(pi,
24964 RADIO_2057_TX0_TXRXCOUPLE_2G_PWRUP,
24966 tx_rx_cal_radio_saveregs[0]);
24967 write_radio_reg(pi,
24968 RADIO_2057_TX0_TXRXCOUPLE_2G_ATTEN,
24970 tx_rx_cal_radio_saveregs[1]);
24974 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24975 write_radio_reg(pi,
24976 RADIO_2057_TX1_TXRXCOUPLE_5G_PWRUP,
24978 tx_rx_cal_radio_saveregs[0]);
24979 write_radio_reg(pi,
24980 RADIO_2057_TX1_TXRXCOUPLE_5G_ATTEN,
24982 tx_rx_cal_radio_saveregs[1]);
24985 write_radio_reg(pi,
24986 RADIO_2057_TX1_TXRXCOUPLE_2G_PWRUP,
24988 tx_rx_cal_radio_saveregs[0]);
24989 write_radio_reg(pi,
24990 RADIO_2057_TX1_TXRXCOUPLE_2G_ATTEN,
24992 tx_rx_cal_radio_saveregs[1]);
24997 if (rx_core == PHY_CORE_0) {
24998 write_radio_reg(pi,
24999 RADIO_2056_TX_RXIQCAL_TXMUX |
25001 pi->tx_rx_cal_radio_saveregs[0]);
25003 write_radio_reg(pi,
25004 RADIO_2056_RX_RXIQCAL_RXMUX |
25006 pi->tx_rx_cal_radio_saveregs[1]);
25008 if (pi->pubpi.radiorev >= 5) {
25009 write_radio_reg(pi,
25010 RADIO_2056_RX_RXSPARE2 |
25013 tx_rx_cal_radio_saveregs[2]);
25015 write_radio_reg(pi,
25016 RADIO_2056_TX_TXSPARE2 |
25019 tx_rx_cal_radio_saveregs[3]);
25022 if (CHSPEC_IS5G(pi->radio_chanspec)) {
25023 if (pi->pubpi.radiorev >= 5) {
25024 write_radio_reg(pi,
25025 RADIO_2056_RX_LNAA_MASTER
25028 tx_rx_cal_radio_saveregs
25031 write_radio_reg(pi,
25032 RADIO_2056_RX_LNAA_TUNE
25035 tx_rx_cal_radio_saveregs
25039 if (pi->pubpi.radiorev >= 5) {
25040 write_radio_reg(pi,
25041 RADIO_2056_RX_LNAG_MASTER
25044 tx_rx_cal_radio_saveregs
25047 write_radio_reg(pi,
25048 RADIO_2056_RX_LNAG_TUNE
25051 tx_rx_cal_radio_saveregs
25057 write_radio_reg(pi,
25058 RADIO_2056_TX_RXIQCAL_TXMUX |
25060 pi->tx_rx_cal_radio_saveregs[0]);
25062 write_radio_reg(pi,
25063 RADIO_2056_RX_RXIQCAL_RXMUX |
25065 pi->tx_rx_cal_radio_saveregs[1]);
25067 if (pi->pubpi.radiorev >= 5) {
25068 write_radio_reg(pi,
25069 RADIO_2056_RX_RXSPARE2 |
25072 tx_rx_cal_radio_saveregs[2]);
25074 write_radio_reg(pi,
25075 RADIO_2056_TX_TXSPARE2 |
25078 tx_rx_cal_radio_saveregs[3]);
25081 if (CHSPEC_IS5G(pi->radio_chanspec)) {
25082 if (pi->pubpi.radiorev >= 5) {
25083 write_radio_reg(pi,
25084 RADIO_2056_RX_LNAA_MASTER
25087 tx_rx_cal_radio_saveregs
25090 write_radio_reg(pi,
25091 RADIO_2056_RX_LNAA_TUNE
25094 tx_rx_cal_radio_saveregs
25098 if (pi->pubpi.radiorev >= 5) {
25099 write_radio_reg(pi,
25100 RADIO_2056_RX_LNAG_MASTER
25103 tx_rx_cal_radio_saveregs
25106 write_radio_reg(pi,
25107 RADIO_2056_RX_LNAG_TUNE
25110 tx_rx_cal_radio_saveregs
25118 static void wlc_phy_rxcal_physetup_nphy(phy_info_t *pi, u8 rx_core)
25121 u16 rx_antval, tx_antval;
25123 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25127 tx_core = (rx_core == PHY_CORE_0) ? 1 : 0;
25130 pi->tx_rx_cal_phy_saveregs[0] = read_phy_reg(pi, 0xa2);
25131 pi->tx_rx_cal_phy_saveregs[1] =
25132 read_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0xa6 : 0xa7);
25133 pi->tx_rx_cal_phy_saveregs[2] =
25134 read_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0x8f : 0xa5);
25135 pi->tx_rx_cal_phy_saveregs[3] = read_phy_reg(pi, 0x91);
25136 pi->tx_rx_cal_phy_saveregs[4] = read_phy_reg(pi, 0x92);
25137 pi->tx_rx_cal_phy_saveregs[5] = read_phy_reg(pi, 0x7a);
25138 pi->tx_rx_cal_phy_saveregs[6] = read_phy_reg(pi, 0x7d);
25139 pi->tx_rx_cal_phy_saveregs[7] = read_phy_reg(pi, 0xe7);
25140 pi->tx_rx_cal_phy_saveregs[8] = read_phy_reg(pi, 0xec);
25141 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25142 pi->tx_rx_cal_phy_saveregs[11] = read_phy_reg(pi, 0x342);
25143 pi->tx_rx_cal_phy_saveregs[12] = read_phy_reg(pi, 0x343);
25144 pi->tx_rx_cal_phy_saveregs[13] = read_phy_reg(pi, 0x346);
25145 pi->tx_rx_cal_phy_saveregs[14] = read_phy_reg(pi, 0x347);
25148 pi->tx_rx_cal_phy_saveregs[9] = read_phy_reg(pi, 0x297);
25149 pi->tx_rx_cal_phy_saveregs[10] = read_phy_reg(pi, 0x29b);
25150 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x297 :
25151 0x29b, (0x1 << 0), (0) << 0);
25153 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x297 :
25154 0x29b, (0x1 << 0), (0) << 0);
25156 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25158 mod_phy_reg(pi, 0xa2, (0xf << 0), (1 << tx_core) << 0);
25160 mod_phy_reg(pi, 0xa2, (0xf << 12), (1 << (1 - rx_core)) << 12);
25164 mod_phy_reg(pi, 0xa2, (0xf << 12), (1 << tx_core) << 12);
25165 mod_phy_reg(pi, 0xa2, (0xf << 0), (1 << tx_core) << 0);
25166 mod_phy_reg(pi, 0xa2, (0xf << 4), (1 << rx_core) << 4);
25167 mod_phy_reg(pi, 0xa2, (0xf << 8), (1 << rx_core) << 8);
25170 mod_phy_reg(pi, ((rx_core == PHY_CORE_0) ? 0xa6 : 0xa7), (0x1 << 2), 0);
25171 mod_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0x8f : 0xa5,
25172 (0x1 << 2), (0x1 << 2));
25173 if (NREV_LT(pi->pubpi.phy_rev, 7)) {
25174 mod_phy_reg(pi, ((rx_core == PHY_CORE_0) ? 0xa6 : 0xa7),
25175 (0x1 << 0) | (0x1 << 1), 0);
25176 mod_phy_reg(pi, (rx_core == PHY_CORE_0) ?
25178 (0x1 << 0) | (0x1 << 1), (0x1 << 0) | (0x1 << 1));
25181 wlc_phy_rfctrlintc_override_nphy(pi, NPHY_RfctrlIntc_override_PA, 0,
25182 RADIO_MIMO_CORESEL_CORE1 |
25183 RADIO_MIMO_CORESEL_CORE2);
25185 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25186 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
25188 NPHY_REV7_RFCTRLOVERRIDE_ID0);
25189 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 9), 0, 0, 0,
25190 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25191 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 10), 1, 0, 0,
25192 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25193 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), 1, 0, 0,
25194 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25195 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), 1, 0, 0,
25196 NPHY_REV7_RFCTRLOVERRIDE_ID2);
25197 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 0, 0, 0,
25198 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25199 if (CHSPEC_IS40(pi->radio_chanspec)) {
25200 wlc_phy_rfctrl_override_nphy_rev7(pi,
25203 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25205 wlc_phy_rfctrl_override_nphy_rev7(pi,
25208 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25210 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7),
25212 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25213 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5), 0, 0, 0,
25214 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25216 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 0, 3, 0);
25219 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX);
25221 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25223 wlc_phy_rfctrlintc_override_nphy(pi,
25224 NPHY_RfctrlIntc_override_TRSW,
25228 if (rx_core == PHY_CORE_0) {
25236 wlc_phy_rfctrlintc_override_nphy(pi,
25237 NPHY_RfctrlIntc_override_TRSW,
25238 rx_antval, rx_core + 1);
25239 wlc_phy_rfctrlintc_override_nphy(pi,
25240 NPHY_RfctrlIntc_override_TRSW,
25241 tx_antval, tx_core + 1);
25245 static void wlc_phy_rxcal_phycleanup_nphy(phy_info_t *pi, u8 rx_core)
25248 write_phy_reg(pi, 0xa2, pi->tx_rx_cal_phy_saveregs[0]);
25249 write_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0xa6 : 0xa7,
25250 pi->tx_rx_cal_phy_saveregs[1]);
25251 write_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0x8f : 0xa5,
25252 pi->tx_rx_cal_phy_saveregs[2]);
25253 write_phy_reg(pi, 0x91, pi->tx_rx_cal_phy_saveregs[3]);
25254 write_phy_reg(pi, 0x92, pi->tx_rx_cal_phy_saveregs[4]);
25256 write_phy_reg(pi, 0x7a, pi->tx_rx_cal_phy_saveregs[5]);
25257 write_phy_reg(pi, 0x7d, pi->tx_rx_cal_phy_saveregs[6]);
25258 write_phy_reg(pi, 0xe7, pi->tx_rx_cal_phy_saveregs[7]);
25259 write_phy_reg(pi, 0xec, pi->tx_rx_cal_phy_saveregs[8]);
25260 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25261 write_phy_reg(pi, 0x342, pi->tx_rx_cal_phy_saveregs[11]);
25262 write_phy_reg(pi, 0x343, pi->tx_rx_cal_phy_saveregs[12]);
25263 write_phy_reg(pi, 0x346, pi->tx_rx_cal_phy_saveregs[13]);
25264 write_phy_reg(pi, 0x347, pi->tx_rx_cal_phy_saveregs[14]);
25267 write_phy_reg(pi, 0x297, pi->tx_rx_cal_phy_saveregs[9]);
25268 write_phy_reg(pi, 0x29b, pi->tx_rx_cal_phy_saveregs[10]);
25272 wlc_phy_rxcal_gainctrl_nphy_rev5(phy_info_t *pi, u8 rx_core,
25273 u16 *rxgain, u8 cal_type)
25277 phy_iq_est_t est[PHY_CORE_MAX];
25279 nphy_iq_comp_t save_comp, zero_comp;
25280 u32 i_pwr, q_pwr, curr_pwr, optim_pwr = 0, prev_pwr = 0, thresh_pwr =
25282 s16 desired_log2_pwr, actual_log2_pwr, delta_pwr;
25283 bool gainctrl_done = false;
25284 u8 mix_tia_gain = 3;
25285 s8 optim_gaintbl_index = 0, prev_gaintbl_index = 0;
25286 s8 curr_gaintbl_index = 3;
25287 u8 gainctrl_dirn = NPHY_RXCAL_GAIN_INIT;
25288 nphy_ipa_txrxgain_t *nphy_rxcal_gaintbl;
25289 u16 hpvga, lpf_biq1, lpf_biq0, lna2, lna1;
25292 u16 nphy_rxcal_txgain[2];
25294 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25298 tx_core = 1 - rx_core;
25302 desired_log2_pwr = (cal_type == 0) ? 13 : 13;
25304 wlc_phy_rx_iq_coeffs_nphy(pi, 0, &save_comp);
25305 zero_comp.a0 = zero_comp.b0 = zero_comp.a1 = zero_comp.b1 = 0x0;
25306 wlc_phy_rx_iq_coeffs_nphy(pi, 1, &zero_comp);
25308 if (CHSPEC_IS5G(pi->radio_chanspec)) {
25309 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25311 } else if (NREV_GE(pi->pubpi.phy_rev, 4)) {
25316 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25317 nphy_rxcal_gaintbl = nphy_ipa_rxcal_gaintbl_5GHz_rev7;
25319 nphy_rxcal_gaintbl = nphy_ipa_rxcal_gaintbl_5GHz;
25322 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25323 nphy_rxcal_gaintbl = nphy_ipa_rxcal_gaintbl_2GHz_rev7;
25325 nphy_rxcal_gaintbl = nphy_ipa_rxcal_gaintbl_2GHz;
25331 hpvga = (NREV_GE(pi->pubpi.phy_rev, 7)) ?
25332 0 : nphy_rxcal_gaintbl[curr_gaintbl_index].hpvga;
25333 lpf_biq1 = nphy_rxcal_gaintbl[curr_gaintbl_index].lpf_biq1;
25334 lpf_biq0 = nphy_rxcal_gaintbl[curr_gaintbl_index].lpf_biq0;
25335 lna2 = nphy_rxcal_gaintbl[curr_gaintbl_index].lna2;
25336 lna1 = nphy_rxcal_gaintbl[curr_gaintbl_index].lna1;
25337 txpwrindex = nphy_rxcal_gaintbl[curr_gaintbl_index].txpwrindex;
25339 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25340 wlc_phy_rfctrl_override_1tomany_nphy(pi,
25341 NPHY_REV7_RfctrlOverride_cmd_rxgain,
25342 ((lpf_biq1 << 12) |
25348 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12),
25352 (mix_tia_gain << 4) |
25353 (lna2 << 2) | lna1), 0x3,
25357 pi->nphy_rxcal_pwr_idx[tx_core] = txpwrindex;
25359 if (txpwrindex == -1) {
25360 nphy_rxcal_txgain[0] = 0x8ff0 | pi->nphy_gmval;
25361 nphy_rxcal_txgain[1] = 0x8ff0 | pi->nphy_gmval;
25362 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
25364 nphy_rxcal_txgain);
25366 wlc_phy_txpwr_index_nphy(pi, tx_core + 1, txpwrindex,
25370 wlc_phy_tx_tone_nphy(pi, (CHSPEC_IS40(pi->radio_chanspec)) ?
25371 NPHY_RXCAL_TONEFREQ_40MHz :
25372 NPHY_RXCAL_TONEFREQ_20MHz,
25373 NPHY_RXCAL_TONEAMP, 0, cal_type, false);
25375 wlc_phy_rx_iq_est_nphy(pi, est, num_samps, 32, 0);
25376 i_pwr = (est[rx_core].i_pwr + num_samps / 2) / num_samps;
25377 q_pwr = (est[rx_core].q_pwr + num_samps / 2) / num_samps;
25378 curr_pwr = i_pwr + q_pwr;
25380 switch (gainctrl_dirn) {
25381 case NPHY_RXCAL_GAIN_INIT:
25382 if (curr_pwr > thresh_pwr) {
25383 gainctrl_dirn = NPHY_RXCAL_GAIN_DOWN;
25384 prev_gaintbl_index = curr_gaintbl_index;
25385 curr_gaintbl_index--;
25387 gainctrl_dirn = NPHY_RXCAL_GAIN_UP;
25388 prev_gaintbl_index = curr_gaintbl_index;
25389 curr_gaintbl_index++;
25393 case NPHY_RXCAL_GAIN_UP:
25394 if (curr_pwr > thresh_pwr) {
25395 gainctrl_done = true;
25396 optim_pwr = prev_pwr;
25397 optim_gaintbl_index = prev_gaintbl_index;
25399 prev_gaintbl_index = curr_gaintbl_index;
25400 curr_gaintbl_index++;
25404 case NPHY_RXCAL_GAIN_DOWN:
25405 if (curr_pwr > thresh_pwr) {
25406 prev_gaintbl_index = curr_gaintbl_index;
25407 curr_gaintbl_index--;
25409 gainctrl_done = true;
25410 optim_pwr = curr_pwr;
25411 optim_gaintbl_index = curr_gaintbl_index;
25419 if ((curr_gaintbl_index < 0) ||
25420 (curr_gaintbl_index > NPHY_IPA_RXCAL_MAXGAININDEX)) {
25421 gainctrl_done = true;
25422 optim_pwr = curr_pwr;
25423 optim_gaintbl_index = prev_gaintbl_index;
25425 prev_pwr = curr_pwr;
25428 wlc_phy_stopplayback_nphy(pi);
25429 } while (!gainctrl_done);
25431 hpvga = nphy_rxcal_gaintbl[optim_gaintbl_index].hpvga;
25432 lpf_biq1 = nphy_rxcal_gaintbl[optim_gaintbl_index].lpf_biq1;
25433 lpf_biq0 = nphy_rxcal_gaintbl[optim_gaintbl_index].lpf_biq0;
25434 lna2 = nphy_rxcal_gaintbl[optim_gaintbl_index].lna2;
25435 lna1 = nphy_rxcal_gaintbl[optim_gaintbl_index].lna1;
25436 txpwrindex = nphy_rxcal_gaintbl[optim_gaintbl_index].txpwrindex;
25438 actual_log2_pwr = wlc_phy_nbits(optim_pwr);
25439 delta_pwr = desired_log2_pwr - actual_log2_pwr;
25441 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25442 fine_gain_idx = (int)lpf_biq1 + delta_pwr;
25444 if (fine_gain_idx + (int)lpf_biq0 > 10) {
25445 lpf_biq1 = 10 - lpf_biq0;
25447 lpf_biq1 = (u16) max(fine_gain_idx, 0);
25449 wlc_phy_rfctrl_override_1tomany_nphy(pi,
25450 NPHY_REV7_RfctrlOverride_cmd_rxgain,
25451 ((lpf_biq1 << 12) |
25453 (mix_tia_gain << 4) |
25454 (lna2 << 2) | lna1), 0x3,
25457 hpvga = (u16) max(min(((int)hpvga) + delta_pwr, 10), 0);
25458 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12),
25459 ((hpvga << 12) | (lpf_biq1 << 10) |
25460 (lpf_biq0 << 8) | (mix_tia_gain <<
25467 if (rxgain != NULL) {
25470 *rxgain++ = mix_tia_gain;
25471 *rxgain++ = lpf_biq0;
25472 *rxgain++ = lpf_biq1;
25476 wlc_phy_rx_iq_coeffs_nphy(pi, 1, &save_comp);
25480 wlc_phy_rxcal_gainctrl_nphy(phy_info_t *pi, u8 rx_core, u16 *rxgain,
25483 wlc_phy_rxcal_gainctrl_nphy_rev5(pi, rx_core, rxgain, cal_type);
25487 wlc_phy_rc_sweep_nphy(phy_info_t *pi, u8 core_idx, u8 loopback_type)
25489 u32 target_bws[2] = { 9500, 21000 };
25490 u32 ref_tones[2] = { 3000, 6000 };
25491 u32 target_bw, ref_tone;
25493 u32 target_pwr_ratios[2] = { 28606, 18468 };
25494 u32 target_pwr_ratio, pwr_ratio, last_pwr_ratio = 0;
25496 u16 start_rccal_ovr_val = 128;
25497 u16 txlpf_rccal_lpc_ovr_val = 128;
25498 u16 rxlpf_rccal_hpc_ovr_val = 159;
25500 u16 orig_txlpf_rccal_lpc_ovr_val;
25501 u16 orig_rxlpf_rccal_hpc_ovr_val;
25502 u16 radio_addr_offset_rx;
25503 u16 radio_addr_offset_tx;
25505 u16 orig_RxStrnFilt40Num[6];
25506 u16 orig_RxStrnFilt40Den[4];
25507 u16 orig_rfctrloverride[2];
25508 u16 orig_rfctrlauxreg[2];
25509 u16 orig_rfctrlrssiothers;
25512 u16 rx_lpf_bw, rx_lpf_bws[2] = { 2, 4 };
25513 u16 lpf_hpc = 7, hpvga_hpc = 7;
25516 u16 rccal_val, last_rccal_val = 0, best_rccal_val = 0;
25517 u32 ref_iq_vals = 0, target_iq_vals = 0;
25518 u16 num_samps, log_num_samps = 10;
25519 phy_iq_est_t est[PHY_CORE_MAX];
25521 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25525 num_samps = (1 << log_num_samps);
25527 if (CHSPEC_IS40(pi->radio_chanspec)) {
25528 target_bw = target_bws[1];
25529 target_pwr_ratio = target_pwr_ratios[1];
25530 ref_tone = ref_tones[1];
25531 rx_lpf_bw = rx_lpf_bws[1];
25533 target_bw = target_bws[0];
25534 target_pwr_ratio = target_pwr_ratios[0];
25535 ref_tone = ref_tones[0];
25536 rx_lpf_bw = rx_lpf_bws[0];
25539 if (core_idx == 0) {
25540 radio_addr_offset_rx = RADIO_2056_RX0;
25541 radio_addr_offset_tx =
25542 (loopback_type == 0) ? RADIO_2056_TX0 : RADIO_2056_TX1;
25544 radio_addr_offset_rx = RADIO_2056_RX1;
25545 radio_addr_offset_tx =
25546 (loopback_type == 0) ? RADIO_2056_TX1 : RADIO_2056_TX0;
25549 orig_txlpf_rccal_lpc_ovr_val =
25551 (RADIO_2056_TX_TXLPF_RCCAL | radio_addr_offset_tx));
25552 orig_rxlpf_rccal_hpc_ovr_val =
25554 (RADIO_2056_RX_RXLPF_RCCAL_HPC |
25555 radio_addr_offset_rx));
25557 orig_dcBypass = ((read_phy_reg(pi, 0x48) >> 8) & 1);
25559 orig_RxStrnFilt40Num[0] = read_phy_reg(pi, 0x267);
25560 orig_RxStrnFilt40Num[1] = read_phy_reg(pi, 0x268);
25561 orig_RxStrnFilt40Num[2] = read_phy_reg(pi, 0x269);
25562 orig_RxStrnFilt40Den[0] = read_phy_reg(pi, 0x26a);
25563 orig_RxStrnFilt40Den[1] = read_phy_reg(pi, 0x26b);
25564 orig_RxStrnFilt40Num[3] = read_phy_reg(pi, 0x26c);
25565 orig_RxStrnFilt40Num[4] = read_phy_reg(pi, 0x26d);
25566 orig_RxStrnFilt40Num[5] = read_phy_reg(pi, 0x26e);
25567 orig_RxStrnFilt40Den[2] = read_phy_reg(pi, 0x26f);
25568 orig_RxStrnFilt40Den[3] = read_phy_reg(pi, 0x270);
25570 orig_rfctrloverride[0] = read_phy_reg(pi, 0xe7);
25571 orig_rfctrloverride[1] = read_phy_reg(pi, 0xec);
25572 orig_rfctrlauxreg[0] = read_phy_reg(pi, 0xf8);
25573 orig_rfctrlauxreg[1] = read_phy_reg(pi, 0xfa);
25574 orig_rfctrlrssiothers = read_phy_reg(pi, (core_idx == 0) ? 0x7a : 0x7d);
25576 write_radio_reg(pi, (RADIO_2056_TX_TXLPF_RCCAL | radio_addr_offset_tx),
25577 txlpf_rccal_lpc_ovr_val);
25579 write_radio_reg(pi,
25580 (RADIO_2056_RX_RXLPF_RCCAL_HPC | radio_addr_offset_rx),
25581 rxlpf_rccal_hpc_ovr_val);
25583 mod_phy_reg(pi, 0x48, (0x1 << 8), (0x1 << 8));
25585 write_phy_reg(pi, 0x267, 0x02d4);
25586 write_phy_reg(pi, 0x268, 0x0000);
25587 write_phy_reg(pi, 0x269, 0x0000);
25588 write_phy_reg(pi, 0x26a, 0x0000);
25589 write_phy_reg(pi, 0x26b, 0x0000);
25590 write_phy_reg(pi, 0x26c, 0x02d4);
25591 write_phy_reg(pi, 0x26d, 0x0000);
25592 write_phy_reg(pi, 0x26e, 0x0000);
25593 write_phy_reg(pi, 0x26f, 0x0000);
25594 write_phy_reg(pi, 0x270, 0x0000);
25596 or_phy_reg(pi, (core_idx == 0) ? 0xe7 : 0xec, (0x1 << 8));
25597 or_phy_reg(pi, (core_idx == 0) ? 0xec : 0xe7, (0x1 << 15));
25598 or_phy_reg(pi, (core_idx == 0) ? 0xe7 : 0xec, (0x1 << 9));
25599 or_phy_reg(pi, (core_idx == 0) ? 0xe7 : 0xec, (0x1 << 10));
25601 mod_phy_reg(pi, (core_idx == 0) ? 0xfa : 0xf8,
25602 (0x7 << 10), (tx_lpf_bw << 10));
25603 mod_phy_reg(pi, (core_idx == 0) ? 0xf8 : 0xfa,
25604 (0x7 << 0), (hpvga_hpc << 0));
25605 mod_phy_reg(pi, (core_idx == 0) ? 0xf8 : 0xfa,
25606 (0x7 << 4), (lpf_hpc << 4));
25607 mod_phy_reg(pi, (core_idx == 0) ? 0x7a : 0x7d,
25608 (0x7 << 8), (rx_lpf_bw << 8));
25610 rccal_stepsize = 16;
25611 rccal_val = start_rccal_ovr_val + rccal_stepsize;
25613 while (rccal_stepsize >= 0) {
25614 write_radio_reg(pi,
25615 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
25616 radio_addr_offset_rx), rccal_val);
25618 if (rccal_stepsize == 16) {
25620 wlc_phy_tx_tone_nphy(pi, ref_tone, NPHY_RXCAL_TONEAMP,
25624 wlc_phy_rx_iq_est_nphy(pi, est, num_samps, 32, 0);
25626 if (core_idx == 0) {
25628 max_t(u32, (est[0].i_pwr +
25629 est[0].q_pwr) >> (log_num_samps + 1),
25633 max_t(u32, (est[1].i_pwr +
25634 est[1].q_pwr) >> (log_num_samps + 1),
25638 wlc_phy_tx_tone_nphy(pi, target_bw, NPHY_RXCAL_TONEAMP,
25643 wlc_phy_rx_iq_est_nphy(pi, est, num_samps, 32, 0);
25645 if (core_idx == 0) {
25647 (est[0].i_pwr + est[0].q_pwr) >> (log_num_samps +
25651 (est[1].i_pwr + est[1].q_pwr) >> (log_num_samps +
25654 pwr_ratio = (uint) ((target_iq_vals << 16) / ref_iq_vals);
25656 if (rccal_stepsize == 0) {
25658 } else if (rccal_stepsize == 1) {
25659 last_rccal_val = rccal_val;
25660 rccal_val += (pwr_ratio > target_pwr_ratio) ? 1 : -1;
25661 last_pwr_ratio = pwr_ratio;
25664 rccal_stepsize = (rccal_stepsize >> 1);
25665 rccal_val += ((pwr_ratio > target_pwr_ratio) ?
25666 rccal_stepsize : (-rccal_stepsize));
25669 if (rccal_stepsize == -1) {
25671 (ABS((int)last_pwr_ratio - (int)target_pwr_ratio) <
25672 ABS((int)pwr_ratio -
25673 (int)target_pwr_ratio)) ? last_rccal_val :
25676 if (CHSPEC_IS40(pi->radio_chanspec)) {
25677 if ((best_rccal_val > 140)
25678 || (best_rccal_val < 135)) {
25679 best_rccal_val = 138;
25682 if ((best_rccal_val > 142)
25683 || (best_rccal_val < 137)) {
25684 best_rccal_val = 140;
25688 write_radio_reg(pi,
25689 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
25690 radio_addr_offset_rx), best_rccal_val);
25694 wlc_phy_stopplayback_nphy(pi);
25696 write_radio_reg(pi, (RADIO_2056_TX_TXLPF_RCCAL | radio_addr_offset_tx),
25697 orig_txlpf_rccal_lpc_ovr_val);
25698 write_radio_reg(pi,
25699 (RADIO_2056_RX_RXLPF_RCCAL_HPC | radio_addr_offset_rx),
25700 orig_rxlpf_rccal_hpc_ovr_val);
25702 mod_phy_reg(pi, 0x48, (0x1 << 8), (orig_dcBypass << 8));
25704 write_phy_reg(pi, 0x267, orig_RxStrnFilt40Num[0]);
25705 write_phy_reg(pi, 0x268, orig_RxStrnFilt40Num[1]);
25706 write_phy_reg(pi, 0x269, orig_RxStrnFilt40Num[2]);
25707 write_phy_reg(pi, 0x26a, orig_RxStrnFilt40Den[0]);
25708 write_phy_reg(pi, 0x26b, orig_RxStrnFilt40Den[1]);
25709 write_phy_reg(pi, 0x26c, orig_RxStrnFilt40Num[3]);
25710 write_phy_reg(pi, 0x26d, orig_RxStrnFilt40Num[4]);
25711 write_phy_reg(pi, 0x26e, orig_RxStrnFilt40Num[5]);
25712 write_phy_reg(pi, 0x26f, orig_RxStrnFilt40Den[2]);
25713 write_phy_reg(pi, 0x270, orig_RxStrnFilt40Den[3]);
25715 write_phy_reg(pi, 0xe7, orig_rfctrloverride[0]);
25716 write_phy_reg(pi, 0xec, orig_rfctrloverride[1]);
25717 write_phy_reg(pi, 0xf8, orig_rfctrlauxreg[0]);
25718 write_phy_reg(pi, 0xfa, orig_rfctrlauxreg[1]);
25719 write_phy_reg(pi, (core_idx == 0) ? 0x7a : 0x7d, orig_rfctrlrssiothers);
25721 pi->nphy_anarxlpf_adjusted = false;
25723 return best_rccal_val - 0x80;
25726 #define WAIT_FOR_SCOPE 4000
25728 wlc_phy_cal_rxiq_nphy_rev3(phy_info_t *pi, nphy_txgains_t target_gain,
25729 u8 cal_type, bool debug)
25732 u8 core_no, rx_core;
25736 nphy_iqcal_params_t cal_params[2];
25738 s8 rxlpf_rccal_hpc, txlpf_rccal_lpc;
25740 bool phyhang_avoid_state = false;
25741 bool skip_rxiqcal = false;
25743 orig_BBConfig = read_phy_reg(pi, 0x01);
25744 mod_phy_reg(pi, 0x01, (0x1 << 15), 0);
25746 wlc_phy_stay_in_carriersearch_nphy(pi, true);
25748 if (NREV_GE(pi->pubpi.phy_rev, 4)) {
25749 phyhang_avoid_state = pi->phyhang_avoid;
25750 pi->phyhang_avoid = false;
25753 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, gain_save);
25755 for (core_no = 0; core_no <= 1; core_no++) {
25756 wlc_phy_iqcal_gainparams_nphy(pi, core_no, target_gain,
25757 &cal_params[core_no]);
25758 cal_gain[core_no] = cal_params[core_no].cal_gain;
25761 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, cal_gain);
25763 rxcore_state = wlc_phy_rxcore_getstate_nphy((wlc_phy_t *) pi);
25765 for (rx_core = 0; rx_core < pi->pubpi.phy_corenum; rx_core++) {
25768 ((rxcore_state & (1 << rx_core)) == 0) ? true : false;
25770 wlc_phy_rxcal_physetup_nphy(pi, rx_core);
25772 wlc_phy_rxcal_radio_setup_nphy(pi, rx_core);
25774 if ((!skip_rxiqcal) && ((cal_type == 0) || (cal_type == 2))) {
25776 wlc_phy_rxcal_gainctrl_nphy(pi, rx_core, NULL, 0);
25778 wlc_phy_tx_tone_nphy(pi,
25779 (CHSPEC_IS40(pi->radio_chanspec)) ?
25780 NPHY_RXCAL_TONEFREQ_40MHz :
25781 NPHY_RXCAL_TONEFREQ_20MHz,
25782 NPHY_RXCAL_TONEAMP, 0, cal_type,
25786 mdelay(WAIT_FOR_SCOPE);
25788 wlc_phy_calc_rx_iq_comp_nphy(pi, rx_core + 1);
25789 wlc_phy_stopplayback_nphy(pi);
25792 if (((cal_type == 1) || (cal_type == 2))
25793 && NREV_LT(pi->pubpi.phy_rev, 7)) {
25795 if (rx_core == PHY_CORE_1) {
25797 if (rxcore_state == 1) {
25798 wlc_phy_rxcore_setstate_nphy((wlc_phy_t
25802 wlc_phy_rxcal_gainctrl_nphy(pi, rx_core, NULL,
25805 best_rccal[rx_core] =
25806 wlc_phy_rc_sweep_nphy(pi, rx_core, 1);
25807 pi->nphy_rccal_value = best_rccal[rx_core];
25809 if (rxcore_state == 1) {
25810 wlc_phy_rxcore_setstate_nphy((wlc_phy_t
25817 wlc_phy_rxcal_radio_cleanup_nphy(pi, rx_core);
25819 wlc_phy_rxcal_phycleanup_nphy(pi, rx_core);
25820 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
25823 if ((cal_type == 1) || (cal_type == 2)) {
25825 best_rccal[0] = best_rccal[1];
25826 write_radio_reg(pi,
25827 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
25828 RADIO_2056_RX0), (best_rccal[0] | 0x80));
25830 for (rx_core = 0; rx_core < pi->pubpi.phy_corenum; rx_core++) {
25832 (((int)best_rccal[rx_core] - 12) >> 1) + 10;
25833 txlpf_rccal_lpc = ((int)best_rccal[rx_core] - 12) + 10;
25836 txlpf_rccal_lpc += IS40MHZ(pi) ? 24 : 12;
25837 txlpf_idac = IS40MHZ(pi) ? 0x0e : 0x13;
25838 WRITE_RADIO_REG2(pi, RADIO_2056, TX, rx_core,
25839 TXLPF_IDAC_4, txlpf_idac);
25842 rxlpf_rccal_hpc = max(min_t(u8, rxlpf_rccal_hpc, 31), 0);
25843 txlpf_rccal_lpc = max(min_t(u8, txlpf_rccal_lpc, 31), 0);
25845 write_radio_reg(pi, (RADIO_2056_RX_RXLPF_RCCAL_HPC |
25847 PHY_CORE_0) ? RADIO_2056_RX0 :
25849 (rxlpf_rccal_hpc | 0x80));
25851 write_radio_reg(pi, (RADIO_2056_TX_TXLPF_RCCAL |
25853 PHY_CORE_0) ? RADIO_2056_TX0 :
25855 (txlpf_rccal_lpc | 0x80));
25859 write_phy_reg(pi, 0x01, orig_BBConfig);
25861 wlc_phy_resetcca_nphy(pi);
25863 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25864 wlc_phy_rfctrl_override_1tomany_nphy(pi,
25865 NPHY_REV7_RfctrlOverride_cmd_rxgain,
25868 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12), 0, 0x3, 1);
25870 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
25872 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
25875 if (NREV_GE(pi->pubpi.phy_rev, 4)) {
25876 pi->phyhang_avoid = phyhang_avoid_state;
25879 wlc_phy_stay_in_carriersearch_nphy(pi, false);
25885 wlc_phy_cal_rxiq_nphy_rev2(phy_info_t *pi, nphy_txgains_t target_gain,
25888 phy_iq_est_t est[PHY_CORE_MAX];
25889 u8 core_num, rx_core, tx_core;
25890 u16 lna_vals[] = { 0x3, 0x3, 0x1 };
25891 u16 hpf1_vals[] = { 0x7, 0x2, 0x0 };
25892 u16 hpf2_vals[] = { 0x2, 0x0, 0x0 };
25893 s16 curr_hpf1, curr_hpf2, curr_hpf, curr_lna;
25894 s16 desired_log2_pwr, actual_log2_pwr, hpf_change;
25895 u16 orig_RfseqCoreActv, orig_AfectrlCore, orig_AfectrlOverride;
25896 u16 orig_RfctrlIntcRx, orig_RfctrlIntcTx;
25898 u32 i_pwr, q_pwr, tot_pwr[3];
25899 u8 gain_pass, use_hpf_num;
25900 u16 mask, val1, val2;
25904 nphy_iqcal_params_t cal_params[2];
25907 bool first_playtone = true;
25909 wlc_phy_stay_in_carriersearch_nphy(pi, true);
25911 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
25913 wlc_phy_reapply_txcal_coeffs_nphy(pi);
25916 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, gain_save);
25918 for (core_no = 0; core_no <= 1; core_no++) {
25919 wlc_phy_iqcal_gainparams_nphy(pi, core_no, target_gain,
25920 &cal_params[core_no]);
25921 cal_gain[core_no] = cal_params[core_no].cal_gain;
25924 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, cal_gain);
25927 desired_log2_pwr = 13;
25929 for (core_num = 0; core_num < 2; core_num++) {
25931 rx_core = core_num;
25932 tx_core = 1 - core_num;
25934 orig_RfseqCoreActv = read_phy_reg(pi, 0xa2);
25935 orig_AfectrlCore = read_phy_reg(pi, (rx_core == PHY_CORE_0) ?
25937 orig_AfectrlOverride = read_phy_reg(pi, 0xa5);
25938 orig_RfctrlIntcRx = read_phy_reg(pi, (rx_core == PHY_CORE_0) ?
25940 orig_RfctrlIntcTx = read_phy_reg(pi, (tx_core == PHY_CORE_0) ?
25943 mod_phy_reg(pi, 0xa2, (0xf << 12), (1 << tx_core) << 12);
25944 mod_phy_reg(pi, 0xa2, (0xf << 0), (1 << tx_core) << 0);
25946 or_phy_reg(pi, ((rx_core == PHY_CORE_0) ? 0xa6 : 0xa7),
25947 ((0x1 << 1) | (0x1 << 2)));
25948 or_phy_reg(pi, 0xa5, ((0x1 << 1) | (0x1 << 2)));
25950 if (((pi->nphy_rxcalparams) & 0xff000000)) {
25953 (rx_core == PHY_CORE_0) ? 0x91 : 0x92,
25954 (CHSPEC_IS5G(pi->radio_chanspec) ? 0x140 :
25959 (rx_core == PHY_CORE_0) ? 0x91 : 0x92,
25960 (CHSPEC_IS5G(pi->radio_chanspec) ? 0x180 :
25964 write_phy_reg(pi, (tx_core == PHY_CORE_0) ? 0x91 : 0x92,
25965 (CHSPEC_IS5G(pi->radio_chanspec) ? 0x148 :
25968 mask = RADIO_2055_COUPLE_RX_MASK | RADIO_2055_COUPLE_TX_MASK;
25969 if (rx_core == PHY_CORE_0) {
25970 val1 = RADIO_2055_COUPLE_RX_MASK;
25971 val2 = RADIO_2055_COUPLE_TX_MASK;
25973 val1 = RADIO_2055_COUPLE_TX_MASK;
25974 val2 = RADIO_2055_COUPLE_RX_MASK;
25977 if ((pi->nphy_rxcalparams & 0x10000)) {
25978 mod_radio_reg(pi, RADIO_2055_CORE1_GEN_SPARE2, mask,
25980 mod_radio_reg(pi, RADIO_2055_CORE2_GEN_SPARE2, mask,
25984 for (gain_pass = 0; gain_pass < 4; gain_pass++) {
25987 mdelay(WAIT_FOR_SCOPE);
25989 if (gain_pass < 3) {
25990 curr_lna = lna_vals[gain_pass];
25991 curr_hpf1 = hpf1_vals[gain_pass];
25992 curr_hpf2 = hpf2_vals[gain_pass];
25995 if (tot_pwr[1] > 10000) {
25996 curr_lna = lna_vals[2];
25997 curr_hpf1 = hpf1_vals[2];
25998 curr_hpf2 = hpf2_vals[2];
26000 curr_hpf = curr_hpf1;
26002 wlc_phy_nbits(tot_pwr[2]);
26004 if (tot_pwr[0] > 10000) {
26005 curr_lna = lna_vals[1];
26006 curr_hpf1 = hpf1_vals[1];
26007 curr_hpf2 = hpf2_vals[1];
26009 curr_hpf = curr_hpf1;
26011 wlc_phy_nbits(tot_pwr[1]);
26013 curr_lna = lna_vals[0];
26014 curr_hpf1 = hpf1_vals[0];
26015 curr_hpf2 = hpf2_vals[0];
26017 curr_hpf = curr_hpf2;
26019 wlc_phy_nbits(tot_pwr[0]);
26023 hpf_change = desired_log2_pwr - actual_log2_pwr;
26024 curr_hpf += hpf_change;
26025 curr_hpf = max(min_t(u16, curr_hpf, 10), 0);
26026 if (use_hpf_num == 1) {
26027 curr_hpf1 = curr_hpf;
26029 curr_hpf2 = curr_hpf;
26033 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 10),
26034 ((curr_hpf2 << 8) |
26036 (curr_lna << 2)), 0x3, 0);
26037 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
26039 wlc_phy_stopplayback_nphy(pi);
26041 if (first_playtone) {
26042 bcmerror = wlc_phy_tx_tone_nphy(pi, 4000,
26048 first_playtone = false;
26051 (CHSPEC_IS40(pi->radio_chanspec)) ? 40 : 20;
26052 wlc_phy_runsamples_nphy(pi, phy_bw * 8, 0xffff,
26056 if (bcmerror == 0) {
26057 if (gain_pass < 3) {
26059 wlc_phy_rx_iq_est_nphy(pi, est,
26063 (est[rx_core].i_pwr +
26064 num_samps / 2) / num_samps;
26066 (est[rx_core].q_pwr +
26067 num_samps / 2) / num_samps;
26068 tot_pwr[gain_pass] = i_pwr + q_pwr;
26071 wlc_phy_calc_rx_iq_comp_nphy(pi,
26076 wlc_phy_stopplayback_nphy(pi);
26083 and_radio_reg(pi, RADIO_2055_CORE1_GEN_SPARE2, ~mask);
26084 and_radio_reg(pi, RADIO_2055_CORE2_GEN_SPARE2, ~mask);
26086 write_phy_reg(pi, (tx_core == PHY_CORE_0) ? 0x91 :
26087 0x92, orig_RfctrlIntcTx);
26088 write_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0x91 :
26089 0x92, orig_RfctrlIntcRx);
26090 write_phy_reg(pi, 0xa5, orig_AfectrlOverride);
26091 write_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0xa6 :
26092 0xa7, orig_AfectrlCore);
26093 write_phy_reg(pi, 0xa2, orig_RfseqCoreActv);
26099 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 10), 0, 0x3, 1);
26100 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
26102 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
26105 wlc_phy_stay_in_carriersearch_nphy(pi, false);
26111 wlc_phy_cal_rxiq_nphy(phy_info_t *pi, nphy_txgains_t target_gain,
26112 u8 cal_type, bool debug)
26114 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26118 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
26119 return wlc_phy_cal_rxiq_nphy_rev3(pi, target_gain, cal_type,
26122 return wlc_phy_cal_rxiq_nphy_rev2(pi, target_gain, debug);
26126 static void wlc_phy_extpa_set_tx_digi_filts_nphy(phy_info_t *pi)
26129 u16 addr_offset = 0x2c5;
26131 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26132 write_phy_reg(pi, addr_offset + j,
26133 NPHY_IPA_REV4_txdigi_filtcoeffs[type][j]);
26137 static void wlc_phy_ipa_set_tx_digi_filts_nphy(phy_info_t *pi)
26140 u16 addr_offset[] = { 0x186, 0x195,
26144 for (type = 0; type < 3; type++) {
26145 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26146 write_phy_reg(pi, addr_offset[type] + j,
26147 NPHY_IPA_REV4_txdigi_filtcoeffs[type][j]);
26152 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26153 write_phy_reg(pi, 0x186 + j,
26154 NPHY_IPA_REV4_txdigi_filtcoeffs[3][j]);
26157 if (CHSPEC_IS5G(pi->radio_chanspec)) {
26158 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26159 write_phy_reg(pi, 0x186 + j,
26160 NPHY_IPA_REV4_txdigi_filtcoeffs[5]
26165 if (CHSPEC_CHANNEL(pi->radio_chanspec) == 14) {
26166 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26167 write_phy_reg(pi, 0x2c5 + j,
26168 NPHY_IPA_REV4_txdigi_filtcoeffs[6]
26175 static void wlc_phy_ipa_restore_tx_digi_filts_nphy(phy_info_t *pi)
26180 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26181 write_phy_reg(pi, 0x195 + j,
26182 NPHY_IPA_REV4_txdigi_filtcoeffs[4][j]);
26185 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26186 write_phy_reg(pi, 0x186 + j,
26187 NPHY_IPA_REV4_txdigi_filtcoeffs[3][j]);
26192 static u16 wlc_phy_ipa_get_bbmult_nphy(phy_info_t *pi)
26196 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m0m1);
26201 static void wlc_phy_ipa_set_bbmult_nphy(phy_info_t *pi, u8 m0, u8 m1)
26203 u16 m0m1 = (u16) ((m0 << 8) | m1);
26205 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &m0m1);
26206 wlc_phy_table_write_nphy(pi, 15, 1, 95, 16, &m0m1);
26209 static u32 *wlc_phy_get_ipa_gaintbl_nphy(phy_info_t *pi)
26211 u32 *tx_pwrctrl_tbl = NULL;
26213 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26215 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26217 if ((pi->pubpi.radiorev == 4)
26218 || (pi->pubpi.radiorev == 6)) {
26221 nphy_tpc_txgain_ipa_2g_2057rev4n6;
26222 } else if (pi->pubpi.radiorev == 3) {
26225 nphy_tpc_txgain_ipa_2g_2057rev3;
26226 } else if (pi->pubpi.radiorev == 5) {
26229 nphy_tpc_txgain_ipa_2g_2057rev5;
26230 } else if ((pi->pubpi.radiorev == 7)
26231 || (pi->pubpi.radiorev == 8)) {
26234 nphy_tpc_txgain_ipa_2g_2057rev7;
26237 } else if (NREV_IS(pi->pubpi.phy_rev, 6)) {
26239 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_rev6;
26240 if (pi->sh->chip == BCM47162_CHIP_ID) {
26242 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_rev5;
26245 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
26247 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_rev5;
26250 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa;
26255 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26256 if ((pi->pubpi.radiorev == 3) ||
26257 (pi->pubpi.radiorev == 4) ||
26258 (pi->pubpi.radiorev == 6)) {
26260 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_5g_2057;
26261 } else if ((pi->pubpi.radiorev == 7)
26262 || (pi->pubpi.radiorev == 8)) {
26265 nphy_tpc_txgain_ipa_5g_2057rev7;
26269 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_5g;
26273 return tx_pwrctrl_tbl;
26277 wlc_phy_papd_cal_setup_nphy(phy_info_t *pi, nphy_papd_restore_state *state,
26284 off_core = core ^ 0x1;
26285 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26287 if (NREV_IS(pi->pubpi.phy_rev, 7)
26288 || NREV_GE(pi->pubpi.phy_rev, 8)) {
26289 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7),
26290 wlc_phy_read_lpf_bw_ctl_nphy
26292 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26295 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26296 if (pi->pubpi.radiorev == 5) {
26297 mixgain = (core == 0) ? 0x20 : 0x00;
26299 } else if ((pi->pubpi.radiorev == 7)
26300 || (pi->pubpi.radiorev == 8)) {
26304 } else if ((pi->pubpi.radiorev <= 4)
26305 || (pi->pubpi.radiorev == 6)) {
26311 if ((pi->pubpi.radiorev == 4) ||
26312 (pi->pubpi.radiorev == 6)) {
26315 } else if ((pi->pubpi.radiorev == 3)
26316 || (pi->pubpi.radiorev == 7)
26317 || (pi->pubpi.radiorev == 8)) {
26323 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11),
26324 mixgain, (1 << core), 0,
26325 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26327 wlc_phy_rfctrl_override_1tomany_nphy(pi,
26328 NPHY_REV7_RfctrlOverride_cmd_tx_pu,
26329 1, (1 << core), 0);
26330 wlc_phy_rfctrl_override_1tomany_nphy(pi,
26331 NPHY_REV7_RfctrlOverride_cmd_tx_pu,
26332 0, (1 << off_core), 0);
26334 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
26336 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26337 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2), 1,
26339 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26340 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), 0,
26342 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26343 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), 1,
26345 NPHY_REV7_RFCTRLOVERRIDE_ID2);
26346 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 8), 0,
26348 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26349 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 9), 1,
26351 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26352 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 10), 0,
26354 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26355 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3), 1,
26357 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26359 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5),
26361 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26362 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4), 0,
26364 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26366 state->afectrl[core] = read_phy_reg(pi, (core == PHY_CORE_0) ?
26368 state->afeoverride[core] =
26369 read_phy_reg(pi, (core == PHY_CORE_0) ? 0x8f : 0xa5);
26370 state->afectrl[off_core] =
26371 read_phy_reg(pi, (core == PHY_CORE_0) ? 0xa7 : 0xa6);
26372 state->afeoverride[off_core] =
26373 read_phy_reg(pi, (core == PHY_CORE_0) ? 0xa5 : 0x8f);
26375 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0xa6 : 0xa7),
26377 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0x8f :
26378 0xa5), (0x1 << 2), (0x1 << 2));
26380 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0xa7 : 0xa6),
26381 (0x1 << 2), (0x1 << 2));
26382 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0xa5 :
26383 0x8f), (0x1 << 2), (0x1 << 2));
26385 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26386 state->pwrup[core] =
26387 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
26388 TXRXCOUPLE_2G_PWRUP);
26389 state->atten[core] =
26390 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
26391 TXRXCOUPLE_2G_ATTEN);
26392 state->pwrup[off_core] =
26393 READ_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26394 TXRXCOUPLE_2G_PWRUP);
26395 state->atten[off_core] =
26396 READ_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26397 TXRXCOUPLE_2G_ATTEN);
26399 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26400 TXRXCOUPLE_2G_PWRUP, 0xc);
26402 if ((pi->pubpi.radiorev == 3) ||
26403 (pi->pubpi.radiorev == 4) ||
26404 (pi->pubpi.radiorev == 6)) {
26406 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26407 TXRXCOUPLE_2G_ATTEN, 0xf0);
26409 } else if (pi->pubpi.radiorev == 5) {
26411 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26412 TXRXCOUPLE_2G_ATTEN,
26413 (core == 0) ? 0xf7 : 0xf2);
26415 } else if ((pi->pubpi.radiorev == 7)
26416 || (pi->pubpi.radiorev == 8)) {
26418 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26419 TXRXCOUPLE_2G_ATTEN, 0xf0);
26423 WRITE_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26424 TXRXCOUPLE_2G_PWRUP, 0x0);
26425 WRITE_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26426 TXRXCOUPLE_2G_ATTEN, 0xff);
26429 state->pwrup[core] =
26430 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
26431 TXRXCOUPLE_5G_PWRUP);
26432 state->atten[core] =
26433 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
26434 TXRXCOUPLE_5G_ATTEN);
26435 state->pwrup[off_core] =
26436 READ_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26437 TXRXCOUPLE_5G_PWRUP);
26438 state->atten[off_core] =
26439 READ_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26440 TXRXCOUPLE_5G_ATTEN);
26442 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26443 TXRXCOUPLE_5G_PWRUP, 0xc);
26445 if ((pi->pubpi.radiorev == 7)
26446 || (pi->pubpi.radiorev == 8)) {
26448 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26449 TXRXCOUPLE_5G_ATTEN, 0xf4);
26452 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26453 TXRXCOUPLE_5G_ATTEN, 0xf0);
26456 WRITE_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26457 TXRXCOUPLE_5G_PWRUP, 0x0);
26458 WRITE_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26459 TXRXCOUPLE_5G_ATTEN, 0xff);
26464 wlc_phy_tx_tone_nphy(pi, tone_freq, 181, 0, 0, false);
26466 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
26467 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_ON) << 0);
26469 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26470 0x2a4, (0x1 << 13), (1) << 13);
26472 mod_phy_reg(pi, (off_core == PHY_CORE_0) ? 0x297 :
26473 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_OFF) << 0);
26475 mod_phy_reg(pi, (off_core == PHY_CORE_0) ? 0x2a3 :
26476 0x2a4, (0x1 << 13), (0) << 13);
26480 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12), 0, 0x3, 0);
26482 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 1, 0, 0);
26484 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 0), 0, 0x3, 0);
26486 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 2), 1, 0x3, 0);
26487 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 1), 1, 0x3, 0);
26489 state->afectrl[core] = read_phy_reg(pi, (core == PHY_CORE_0) ?
26491 state->afeoverride[core] =
26492 read_phy_reg(pi, (core == PHY_CORE_0) ? 0x8f : 0xa5);
26494 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0xa6 : 0xa7),
26495 (0x1 << 0) | (0x1 << 1) | (0x1 << 2), 0);
26496 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0x8f :
26500 (0x1 << 2), (0x1 << 0) | (0x1 << 1) | (0x1 << 2));
26502 state->vga_master[core] =
26503 READ_RADIO_REG2(pi, RADIO_2056, RX, core, VGA_MASTER);
26504 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core, VGA_MASTER, 0x2b);
26505 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26506 state->fbmix[core] =
26507 READ_RADIO_REG2(pi, RADIO_2056, RX, core,
26509 state->intpa_master[core] =
26510 READ_RADIO_REG2(pi, RADIO_2056, TX, core,
26513 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core, TXFBMIX_G,
26515 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
26516 INTPAG_MASTER, 0x04);
26518 state->fbmix[core] =
26519 READ_RADIO_REG2(pi, RADIO_2056, RX, core,
26521 state->intpa_master[core] =
26522 READ_RADIO_REG2(pi, RADIO_2056, TX, core,
26525 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core, TXFBMIX_A,
26527 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
26528 INTPAA_MASTER, 0x04);
26534 wlc_phy_tx_tone_nphy(pi, tone_freq, 181, 0, 0, false);
26536 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
26537 0x29b, (0x1 << 0), (1) << 0);
26539 mod_phy_reg(pi, (off_core == PHY_CORE_0) ? 0x297 :
26540 0x29b, (0x1 << 0), (0) << 0);
26542 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 0, 0x3, 0);
26547 wlc_phy_papd_cal_cleanup_nphy(phy_info_t *pi, nphy_papd_restore_state *state)
26551 wlc_phy_stopplayback_nphy(pi);
26553 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26555 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
26557 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26558 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26559 TXRXCOUPLE_2G_PWRUP, 0);
26560 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26561 TXRXCOUPLE_2G_ATTEN,
26562 state->atten[core]);
26564 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26565 TXRXCOUPLE_5G_PWRUP, 0);
26566 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26567 TXRXCOUPLE_5G_ATTEN,
26568 state->atten[core]);
26572 if ((pi->pubpi.radiorev == 4) || (pi->pubpi.radiorev == 6)) {
26573 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2),
26575 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26577 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2),
26579 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26581 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1),
26583 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26584 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), 0, 0x3, 1,
26585 NPHY_REV7_RFCTRLOVERRIDE_ID2);
26586 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2), 0, 0x3, 1,
26587 NPHY_REV7_RFCTRLOVERRIDE_ID2);
26588 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 1, 0x3, 1,
26589 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26590 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3), 0, 0x3, 1,
26591 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26592 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 0, 0x3, 1,
26593 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26594 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 12), 0, 0x3, 1,
26595 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26596 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2), 1, 0x3, 1,
26597 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26598 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), 0, 0x3, 1,
26599 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26600 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), 1, 0x3, 1,
26601 NPHY_REV7_RFCTRLOVERRIDE_ID2);
26602 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 8), 0, 0x3, 1,
26603 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26604 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 9), 1, 0x3, 1,
26605 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26606 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 10), 0, 0x3, 1,
26607 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26608 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3), 1, 0x3, 1,
26609 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26610 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5), 0, 0x3, 1,
26611 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26612 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4), 0, 0x3, 1,
26613 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26615 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
26617 write_phy_reg(pi, (core == PHY_CORE_0) ?
26618 0xa6 : 0xa7, state->afectrl[core]);
26619 write_phy_reg(pi, (core == PHY_CORE_0) ? 0x8f :
26620 0xa5, state->afeoverride[core]);
26623 wlc_phy_ipa_set_bbmult_nphy(pi, (state->mm >> 8) & 0xff,
26624 (state->mm & 0xff));
26626 if (NREV_IS(pi->pubpi.phy_rev, 7)
26627 || NREV_GE(pi->pubpi.phy_rev, 8)) {
26628 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7), 0, 0,
26630 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26634 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12), 0, 0x3, 1);
26635 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 13), 0, 0x3, 1);
26636 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 0), 0, 0x3, 1);
26638 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 2), 0, 0x3, 1);
26639 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 1), 0, 0x3, 1);
26641 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
26643 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core, VGA_MASTER,
26644 state->vga_master[core]);
26645 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26646 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core,
26647 TXFBMIX_G, state->fbmix[core]);
26648 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
26650 state->intpa_master[core]);
26652 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core,
26653 TXFBMIX_A, state->fbmix[core]);
26654 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
26656 state->intpa_master[core]);
26659 write_phy_reg(pi, (core == PHY_CORE_0) ?
26660 0xa6 : 0xa7, state->afectrl[core]);
26661 write_phy_reg(pi, (core == PHY_CORE_0) ? 0x8f :
26662 0xa5, state->afeoverride[core]);
26665 wlc_phy_ipa_set_bbmult_nphy(pi, (state->mm >> 8) & 0xff,
26666 (state->mm & 0xff));
26668 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 0, 0x3, 1);
26673 wlc_phy_a1_nphy(phy_info_t *pi, u8 core, u32 winsz, u32 start,
26676 u32 *buf, *src, *dst, sz;
26678 sz = end - start + 1;
26680 buf = kmalloc(2 * sizeof(u32) * NPHY_PAPD_EPS_TBL_SIZE, GFP_ATOMIC);
26686 dst = buf + NPHY_PAPD_EPS_TBL_SIZE;
26688 wlc_phy_table_read_nphy(pi,
26690 PHY_CORE_0 ? NPHY_TBL_ID_EPSILONTBL0 :
26691 NPHY_TBL_ID_EPSILONTBL1),
26692 NPHY_PAPD_EPS_TBL_SIZE, 0, 32, src);
26695 u32 phy_a1, phy_a2;
26696 s32 phy_a3, phy_a4, phy_a5, phy_a6, phy_a7;
26698 phy_a1 = end - min(end, (winsz >> 1));
26699 phy_a2 = min_t(u32, NPHY_PAPD_EPS_TBL_SIZE - 1, end + (winsz >> 1));
26700 phy_a3 = phy_a2 - phy_a1 + 1;
26705 wlc_phy_papd_decode_epsilon(src[phy_a2], &phy_a4,
26709 } while (phy_a2-- != phy_a1);
26713 dst[end] = ((u32) phy_a7 << 13) | ((u32) phy_a6 & 0x1fff);
26714 } while (end-- != start);
26716 wlc_phy_table_write_nphy(pi,
26718 PHY_CORE_0) ? NPHY_TBL_ID_EPSILONTBL0 :
26719 NPHY_TBL_ID_EPSILONTBL1, sz, start, 32, dst);
26725 wlc_phy_a2_nphy(phy_info_t *pi, nphy_ipa_txcalgains_t *txgains,
26726 phy_cal_mode_t cal_mode, u8 core)
26728 u16 phy_a1, phy_a2, phy_a3;
26729 u16 phy_a4, phy_a5;
26733 nphy_txgains_t phy_a9;
26735 if (NREV_LT(pi->pubpi.phy_rev, 3))
26738 phy_a7 = (core == PHY_CORE_0) ? 1 : 0;
26740 phy_a6 = ((cal_mode == CAL_GCTRL)
26741 || (cal_mode == CAL_SOFT)) ? true : false;
26743 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26745 phy_a9 = wlc_phy_get_tx_gain_nphy(pi);
26747 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26748 phy_a5 = ((phy_a9.txlpf[core] << 15) |
26749 (phy_a9.txgm[core] << 12) |
26750 (phy_a9.pga[core] << 8) |
26751 (txgains->gains.pad[core] << 3) |
26752 (phy_a9.ipa[core]));
26754 phy_a5 = ((phy_a9.txlpf[core] << 15) |
26755 (phy_a9.txgm[core] << 12) |
26756 (txgains->gains.pga[core] << 8) |
26757 (phy_a9.pad[core] << 3) | (phy_a9.ipa[core]));
26760 wlc_phy_rfctrl_override_1tomany_nphy(pi,
26761 NPHY_REV7_RfctrlOverride_cmd_txgain,
26762 phy_a5, (1 << core), 0);
26764 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26765 if ((pi->pubpi.radiorev <= 4)
26766 || (pi->pubpi.radiorev == 6)) {
26768 m[core] = IS40MHZ(pi) ? 60 : 79;
26771 m[core] = IS40MHZ(pi) ? 45 : 64;
26775 m[core] = IS40MHZ(pi) ? 75 : 107;
26779 wlc_phy_ipa_set_bbmult_nphy(pi, m[0], m[1]);
26783 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26784 if (pi->sh->chip == BCM6362_CHIP_ID) {
26787 } else if ((pi->pubpi.radiorev == 4)
26788 || (pi->pubpi.radiorev == 6)) {
26796 if ((pi->pubpi.radiorev == 5)
26797 || (pi->pubpi.radiorev == 7)
26798 || (pi->pubpi.radiorev == 8)) {
26807 if (cal_mode == CAL_GCTRL) {
26808 if ((pi->pubpi.radiorev == 5)
26809 && (CHSPEC_IS2G(pi->radio_chanspec))) {
26811 } else if (((pi->pubpi.radiorev == 7) &&
26812 (CHSPEC_IS2G(pi->radio_chanspec))) ||
26813 ((pi->pubpi.radiorev == 8) &&
26814 (CHSPEC_IS2G(pi->radio_chanspec)))) {
26820 } else if ((cal_mode != CAL_FULL) && (cal_mode != CAL_SOFT)) {
26826 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
26827 0x29b, (0x1 << 0), (1) << 0);
26829 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x297 :
26830 0x29b, (0x1 << 0), (0) << 0);
26832 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26833 0x2a4, (0x1 << 13), (1) << 13);
26835 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x2a3 :
26836 0x2a4, (0x1 << 13), (0) << 13);
26838 write_phy_reg(pi, 0x2a1, 0x80);
26839 write_phy_reg(pi, 0x2a2, 0x100);
26841 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26842 0x2a4, (0x7 << 4), (11) << 4);
26844 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26845 0x2a4, (0x7 << 8), (11) << 8);
26847 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26848 0x2a4, (0x7 << 0), (0x3) << 0);
26850 write_phy_reg(pi, 0x2e5, 0x20);
26852 mod_phy_reg(pi, 0x2a0, (0x3f << 0), (phy_a3) << 0);
26854 mod_phy_reg(pi, 0x29f, (0x3f << 0), (phy_a1) << 0);
26856 mod_phy_reg(pi, 0x29f, (0x3f << 8), (phy_a2) << 8);
26858 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
26859 1, ((core == 0) ? 1 : 2), 0,
26860 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26861 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
26862 0, ((core == 0) ? 2 : 1), 0,
26863 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26865 write_phy_reg(pi, 0x2be, 1);
26866 SPINWAIT(read_phy_reg(pi, 0x2be), 10 * 1000 * 1000);
26868 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
26870 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26872 wlc_phy_table_write_nphy(pi,
26874 PHY_CORE_0) ? NPHY_TBL_ID_EPSILONTBL0
26875 : NPHY_TBL_ID_EPSILONTBL1, 1, phy_a3,
26878 if (cal_mode != CAL_GCTRL) {
26879 if (CHSPEC_IS5G(pi->radio_chanspec)) {
26880 wlc_phy_a1_nphy(pi, core, 5, 0, 35);
26884 wlc_phy_rfctrl_override_1tomany_nphy(pi,
26885 NPHY_REV7_RfctrlOverride_cmd_txgain,
26886 phy_a5, (1 << core), 1);
26891 if (txgains->useindex) {
26892 phy_a4 = 15 - ((txgains->index) >> 3);
26893 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26894 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
26895 phy_a5 = 0x00f7 | (phy_a4 << 8);
26897 if (pi->sh->chip ==
26898 BCM47162_CHIP_ID) {
26900 0x10f7 | (phy_a4 <<
26904 if (NREV_IS(pi->pubpi.phy_rev, 5))
26905 phy_a5 = 0x10f7 | (phy_a4 << 8);
26907 phy_a5 = 0x50f7 | (phy_a4 << 8);
26909 phy_a5 = 0x70f7 | (phy_a4 << 8);
26911 wlc_phy_rfctrl_override_nphy(pi,
26916 wlc_phy_rfctrl_override_nphy(pi,
26923 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26924 m[core] = IS40MHZ(pi) ? 45 : 64;
26926 m[core] = IS40MHZ(pi) ? 75 : 107;
26930 wlc_phy_ipa_set_bbmult_nphy(pi, m[0], m[1]);
26934 if (cal_mode == CAL_FULL) {
26937 } else if (cal_mode == CAL_SOFT) {
26940 } else if (cal_mode == CAL_GCTRL) {
26949 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
26950 0x29b, (0x1 << 0), (1) << 0);
26952 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x297 :
26953 0x29b, (0x1 << 0), (0) << 0);
26955 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
26956 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26957 0x2a4, (0x1 << 13), (1) << 13);
26959 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x2a3 :
26960 0x2a4, (0x1 << 13), (0) << 13);
26962 write_phy_reg(pi, 0x2a1, 0x20);
26963 write_phy_reg(pi, 0x2a2, 0x60);
26965 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26966 0x2a4, (0xf << 4), (9) << 4);
26968 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26969 0x2a4, (0xf << 8), (9) << 8);
26971 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26972 0x2a4, (0xf << 0), (0x2) << 0);
26974 write_phy_reg(pi, 0x2e5, 0x20);
26976 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26977 0x2a4, (0x1 << 11), (1) << 11);
26979 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x2a3 :
26980 0x2a4, (0x1 << 11), (0) << 11);
26982 write_phy_reg(pi, 0x2a1, 0x80);
26983 write_phy_reg(pi, 0x2a2, 0x600);
26985 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26986 0x2a4, (0x7 << 4), (0) << 4);
26988 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26989 0x2a4, (0x7 << 8), (0) << 8);
26991 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26992 0x2a4, (0x7 << 0), (0x3) << 0);
26994 mod_phy_reg(pi, 0x2a0, (0x3f << 8), (0x20) << 8);
26998 mod_phy_reg(pi, 0x2a0, (0x3f << 0), (phy_a3) << 0);
27000 mod_phy_reg(pi, 0x29f, (0x3f << 0), (phy_a1) << 0);
27002 mod_phy_reg(pi, 0x29f, (0x3f << 8), (phy_a2) << 8);
27004 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 1, 0x3, 0);
27006 write_phy_reg(pi, 0x2be, 1);
27007 SPINWAIT(read_phy_reg(pi, 0x2be), 10 * 1000 * 1000);
27009 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 0, 0x3, 0);
27011 wlc_phy_table_write_nphy(pi,
27013 PHY_CORE_0) ? NPHY_TBL_ID_EPSILONTBL0
27014 : NPHY_TBL_ID_EPSILONTBL1, 1, phy_a3,
27017 if (cal_mode != CAL_GCTRL) {
27018 wlc_phy_a1_nphy(pi, core, 5, 0, 40);
27023 static u8 wlc_phy_a3_nphy(phy_info_t *pi, u8 start_gain, u8 core)
27028 nphy_ipa_txcalgains_t phy_a4;
27029 bool phy_a5 = false;
27030 bool phy_a6 = true;
27031 s32 phy_a7, phy_a8;
27034 bool phy_a11 = false;
27038 u8 *phy_a15 = NULL;
27040 phy_a4.useindex = true;
27041 phy_a12 = start_gain;
27043 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27048 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27049 if (pi->pubpi.radiorev == 5) {
27051 phy_a15 = pad_gain_codes_used_2057rev5;
27052 phy_a13 = sizeof(pad_gain_codes_used_2057rev5) /
27053 sizeof(pad_gain_codes_used_2057rev5[0]) - 1;
27055 } else if ((pi->pubpi.radiorev == 7)
27056 || (pi->pubpi.radiorev == 8)) {
27058 phy_a15 = pad_gain_codes_used_2057rev7;
27059 phy_a13 = sizeof(pad_gain_codes_used_2057rev7) /
27060 sizeof(pad_gain_codes_used_2057rev7[0]) - 1;
27064 phy_a15 = pad_all_gain_codes_2057;
27065 phy_a13 = sizeof(pad_all_gain_codes_2057) /
27066 sizeof(pad_all_gain_codes_2057[0]) - 1;
27071 phy_a15 = pga_all_gain_codes_2057;
27072 phy_a13 = sizeof(pga_all_gain_codes_2057) /
27073 sizeof(pga_all_gain_codes_2057[0]) - 1;
27078 for (phy_a10 = 0; phy_a10 < phy_a2; phy_a10++) {
27079 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27080 phy_a4.gains.pad[core] =
27081 (u16) phy_a15[phy_a12];
27083 phy_a4.gains.pga[core] =
27084 (u16) phy_a15[phy_a12];
27087 wlc_phy_a2_nphy(pi, &phy_a4, CAL_GCTRL, core);
27089 wlc_phy_table_read_nphy(pi,
27092 NPHY_TBL_ID_EPSILONTBL0 :
27093 NPHY_TBL_ID_EPSILONTBL1), 1,
27096 wlc_phy_papd_decode_epsilon(phy_a9, &phy_a7, &phy_a8);
27098 phy_a3 = ((phy_a7 == 4095) || (phy_a7 == -4096) ||
27099 (phy_a8 == 4095) || (phy_a8 == -4096));
27101 if (!phy_a6 && (phy_a3 != phy_a5)) {
27103 phy_a12 -= (u8) phy_a1;
27110 phy_a12 += (u8) phy_a1;
27112 phy_a12 -= (u8) phy_a1;
27114 if ((phy_a12 < phy_a14) || (phy_a12 > phy_a13)) {
27115 if (phy_a12 < phy_a14) {
27131 for (phy_a10 = 0; phy_a10 < phy_a2; phy_a10++) {
27132 phy_a4.index = (u8) phy_a12;
27133 wlc_phy_a2_nphy(pi, &phy_a4, CAL_GCTRL, core);
27135 wlc_phy_table_read_nphy(pi,
27138 NPHY_TBL_ID_EPSILONTBL0 :
27139 NPHY_TBL_ID_EPSILONTBL1), 1,
27142 wlc_phy_papd_decode_epsilon(phy_a9, &phy_a7, &phy_a8);
27144 phy_a3 = ((phy_a7 == 4095) || (phy_a7 == -4096) ||
27145 (phy_a8 == 4095) || (phy_a8 == -4096));
27147 if (!phy_a6 && (phy_a3 != phy_a5)) {
27149 phy_a12 -= (u8) phy_a1;
27156 phy_a12 += (u8) phy_a1;
27158 phy_a12 -= (u8) phy_a1;
27160 if ((phy_a12 < 0) || (phy_a12 > 127)) {
27176 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27177 return (u8) phy_a15[phy_a12];
27179 return (u8) phy_a12;
27184 static void wlc_phy_a4(phy_info_t *pi, bool full_cal)
27186 nphy_ipa_txcalgains_t phy_b1[2];
27187 nphy_papd_restore_state phy_b2;
27191 s16 phy_b6, phy_b7, phy_b8;
27193 s16 phy_b10, phy_b11, phy_b12;
27201 if (pi->nphy_papd_skip == 1)
27205 (0 == (R_REG(&pi->regs->maccontrol) & MCTL_EN_MAC));
27207 wlapi_suspend_mac_and_wait(pi->sh->physhim);
27210 wlc_phy_stay_in_carriersearch_nphy(pi, true);
27212 pi->nphy_force_papd_cal = false;
27214 for (phy_b5 = 0; phy_b5 < pi->pubpi.phy_corenum; phy_b5++)
27215 pi->nphy_papd_tx_gain_at_last_cal[phy_b5] =
27216 wlc_phy_txpwr_idx_cur_get_nphy(pi, phy_b5);
27218 pi->nphy_papd_last_cal = pi->sh->now;
27219 pi->nphy_papd_recal_counter++;
27221 if (NORADIO_ENAB(pi->pubpi))
27224 phy_b4 = pi->nphy_txpwrctrl;
27225 wlc_phy_txpwrctrl_enable_nphy(pi, PHY_TPC_HW_OFF);
27227 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_SCALARTBL0, 64, 0, 32,
27228 nphy_papd_scaltbl);
27229 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_SCALARTBL1, 64, 0, 32,
27230 nphy_papd_scaltbl);
27232 phy_b9 = read_phy_reg(pi, 0x01);
27233 mod_phy_reg(pi, 0x01, (0x1 << 15), 0);
27235 for (phy_b5 = 0; phy_b5 < pi->pubpi.phy_corenum; phy_b5++) {
27237 for (i = 0; i < 64; i++) {
27238 wlc_phy_table_write_nphy(pi,
27241 NPHY_TBL_ID_EPSILONTBL0 :
27242 NPHY_TBL_ID_EPSILONTBL1), 1,
27247 wlc_phy_ipa_restore_tx_digi_filts_nphy(pi);
27249 phy_b2.mm = wlc_phy_ipa_get_bbmult_nphy(pi);
27250 for (phy_b5 = 0; phy_b5 < pi->pubpi.phy_corenum; phy_b5++) {
27251 wlc_phy_papd_cal_setup_nphy(pi, &phy_b2, phy_b5);
27253 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27254 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27256 if ((pi->pubpi.radiorev == 3)
27257 || (pi->pubpi.radiorev == 4)
27258 || (pi->pubpi.radiorev == 6)) {
27260 pi->nphy_papd_cal_gain_index[phy_b5] =
27263 } else if (pi->pubpi.radiorev == 5) {
27265 pi->nphy_papd_cal_gain_index[phy_b5] =
27267 pi->nphy_papd_cal_gain_index[phy_b5] =
27268 wlc_phy_a3_nphy(pi,
27270 nphy_papd_cal_gain_index
27273 } else if ((pi->pubpi.radiorev == 7)
27274 || (pi->pubpi.radiorev == 8)) {
27276 pi->nphy_papd_cal_gain_index[phy_b5] =
27278 pi->nphy_papd_cal_gain_index[phy_b5] =
27279 wlc_phy_a3_nphy(pi,
27281 nphy_papd_cal_gain_index
27286 phy_b1[phy_b5].gains.pad[phy_b5] =
27287 pi->nphy_papd_cal_gain_index[phy_b5];
27290 pi->nphy_papd_cal_gain_index[phy_b5] = 0;
27291 pi->nphy_papd_cal_gain_index[phy_b5] =
27292 wlc_phy_a3_nphy(pi,
27294 nphy_papd_cal_gain_index
27296 phy_b1[phy_b5].gains.pga[phy_b5] =
27297 pi->nphy_papd_cal_gain_index[phy_b5];
27300 phy_b1[phy_b5].useindex = true;
27301 phy_b1[phy_b5].index = 16;
27302 phy_b1[phy_b5].index =
27303 wlc_phy_a3_nphy(pi, phy_b1[phy_b5].index, phy_b5);
27305 pi->nphy_papd_cal_gain_index[phy_b5] =
27306 15 - ((phy_b1[phy_b5].index) >> 3);
27309 switch (pi->nphy_papd_cal_type) {
27311 wlc_phy_a2_nphy(pi, &phy_b1[phy_b5], CAL_FULL, phy_b5);
27314 wlc_phy_a2_nphy(pi, &phy_b1[phy_b5], CAL_SOFT, phy_b5);
27318 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27319 wlc_phy_papd_cal_cleanup_nphy(pi, &phy_b2);
27323 if (NREV_LT(pi->pubpi.phy_rev, 7)) {
27324 wlc_phy_papd_cal_cleanup_nphy(pi, &phy_b2);
27327 for (phy_b5 = 0; phy_b5 < pi->pubpi.phy_corenum; phy_b5++) {
27328 int eps_offset = 0;
27330 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27331 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27332 if (pi->pubpi.radiorev == 3) {
27334 } else if (pi->pubpi.radiorev == 5) {
27343 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27344 phy_b8 = phy_b1[phy_b5].gains.pad[phy_b5];
27346 if ((pi->pubpi.radiorev == 3) ||
27347 (pi->pubpi.radiorev == 4) ||
27348 (pi->pubpi.radiorev == 6)) {
27351 (nphy_papd_padgain_dlt_2g_2057rev3n4
27355 } else if (pi->pubpi.radiorev == 5) {
27357 -(nphy_papd_padgain_dlt_2g_2057rev5
27360 } else if ((pi->pubpi.radiorev == 7) ||
27361 (pi->pubpi.radiorev == 8)) {
27363 -(nphy_papd_padgain_dlt_2g_2057rev7
27368 phy_b7 = phy_b1[phy_b5].gains.pga[phy_b5];
27369 if ((pi->pubpi.radiorev == 3) ||
27370 (pi->pubpi.radiorev == 4) ||
27371 (pi->pubpi.radiorev == 6)) {
27373 -(nphy_papd_pgagain_dlt_5g_2057
27376 } else if ((pi->pubpi.radiorev == 7)
27377 || (pi->pubpi.radiorev == 8)) {
27379 -(nphy_papd_pgagain_dlt_5g_2057rev7
27387 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27389 -60 + 27 + eps_offset + phy_b12 + phy_b10;
27392 -60 + 27 + eps_offset + phy_b11 + phy_b10;
27395 mod_phy_reg(pi, (phy_b5 == PHY_CORE_0) ? 0x298 :
27396 0x29c, (0x1ff << 7), (phy_b6) << 7);
27398 pi->nphy_papd_epsilon_offset[phy_b5] = phy_b6;
27400 if (NREV_LT(pi->pubpi.phy_rev, 5)) {
27406 phy_b7 = 15 - ((phy_b1[phy_b5].index) >> 3);
27408 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27410 -(nphy_papd_pga_gain_delta_ipa_2g[phy_b7] +
27415 -(nphy_papd_pga_gain_delta_ipa_5g[phy_b7] +
27420 phy_b6 = -60 + 27 + eps_offset + phy_b11 + phy_b10;
27422 mod_phy_reg(pi, (phy_b5 == PHY_CORE_0) ? 0x298 :
27423 0x29c, (0x1ff << 7), (phy_b6) << 7);
27425 pi->nphy_papd_epsilon_offset[phy_b5] = phy_b6;
27429 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x297 :
27430 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_ON) << 0);
27432 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x297 :
27433 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_ON) << 0);
27435 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
27436 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x2a3 :
27437 0x2a4, (0x1 << 13), (0) << 13);
27439 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x2a3 :
27440 0x2a4, (0x1 << 13), (0) << 13);
27443 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x2a3 :
27444 0x2a4, (0x1 << 11), (0) << 11);
27446 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x2a3 :
27447 0x2a4, (0x1 << 11), (0) << 11);
27450 pi->nphy_papdcomp = NPHY_PAPD_COMP_ON;
27452 write_phy_reg(pi, 0x01, phy_b9);
27454 wlc_phy_ipa_set_tx_digi_filts_nphy(pi);
27456 wlc_phy_txpwrctrl_enable_nphy(pi, phy_b4);
27457 if (phy_b4 == PHY_TPC_HW_OFF) {
27458 wlc_phy_txpwr_index_nphy(pi, (1 << 0),
27459 (s8) (pi->nphy_txpwrindex[0].
27460 index_internal), false);
27461 wlc_phy_txpwr_index_nphy(pi, (1 << 1),
27462 (s8) (pi->nphy_txpwrindex[1].
27463 index_internal), false);
27466 wlc_phy_stay_in_carriersearch_nphy(pi, false);
27469 wlapi_enable_mac(pi->sh->physhim);
27473 void wlc_phy_txpwr_fixpower_nphy(phy_info_t *pi)
27477 u16 rad_gain, dac_gain, bbmult, m1m2;
27478 u8 txpi[2], chan_freq_range;
27481 if (pi->phyhang_avoid)
27482 wlc_phy_stay_in_carriersearch_nphy(pi, true);
27484 if (pi->sh->sromrev < 4) {
27485 txpi[0] = txpi[1] = 72;
27488 chan_freq_range = wlc_phy_get_chan_freq_range_nphy(pi, 0);
27489 switch (chan_freq_range) {
27490 case WL_CHAN_FREQ_RANGE_2G:
27491 txpi[0] = pi->nphy_txpid2g[0];
27492 txpi[1] = pi->nphy_txpid2g[1];
27494 case WL_CHAN_FREQ_RANGE_5GL:
27495 txpi[0] = pi->nphy_txpid5gl[0];
27496 txpi[1] = pi->nphy_txpid5gl[1];
27498 case WL_CHAN_FREQ_RANGE_5GM:
27499 txpi[0] = pi->nphy_txpid5g[0];
27500 txpi[1] = pi->nphy_txpid5g[1];
27502 case WL_CHAN_FREQ_RANGE_5GH:
27503 txpi[0] = pi->nphy_txpid5gh[0];
27504 txpi[1] = pi->nphy_txpid5gh[1];
27507 txpi[0] = txpi[1] = 91;
27512 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27513 txpi[0] = txpi[1] = 30;
27514 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27515 txpi[0] = txpi[1] = 40;
27518 if (NREV_LT(pi->pubpi.phy_rev, 7)) {
27520 if ((txpi[0] < 40) || (txpi[0] > 100) ||
27521 (txpi[1] < 40) || (txpi[1] > 100))
27522 txpi[0] = txpi[1] = 91;
27525 pi->nphy_txpwrindex[PHY_CORE_0].index_internal = txpi[0];
27526 pi->nphy_txpwrindex[PHY_CORE_1].index_internal = txpi[1];
27527 pi->nphy_txpwrindex[PHY_CORE_0].index_internal_save = txpi[0];
27528 pi->nphy_txpwrindex[PHY_CORE_1].index_internal_save = txpi[1];
27530 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
27531 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27534 wlc_phy_get_ipa_gaintbl_nphy(pi);
27535 txgain = tx_gaintbl[txpi[core]];
27537 if (CHSPEC_IS5G(pi->radio_chanspec)) {
27539 (pi->pubpi.phy_rev, 3) {
27541 nphy_tpc_5GHz_txgain_rev3
27544 (pi->pubpi.phy_rev, 4) {
27546 (pi->srom_fem5g.extpagain ==
27548 nphy_tpc_5GHz_txgain_HiPwrEPA
27550 nphy_tpc_5GHz_txgain_rev4
27554 nphy_tpc_5GHz_txgain_rev5
27558 if (NREV_GE(pi->pubpi.phy_rev, 5) &&
27559 (pi->srom_fem2g.extpagain == 3)) {
27561 nphy_tpc_txgain_HiPwrEPA
27565 nphy_tpc_txgain_rev3[txpi
27571 txgain = nphy_tpc_txgain[txpi[core]];
27574 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27575 rad_gain = (txgain >> 16) & ((1 << (32 - 16 + 1)) - 1);
27577 rad_gain = (txgain >> 16) & ((1 << (28 - 16 + 1)) - 1);
27580 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27581 dac_gain = (txgain >> 8) & ((1 << (10 - 8 + 1)) - 1);
27583 dac_gain = (txgain >> 8) & ((1 << (13 - 8 + 1)) - 1);
27585 bbmult = (txgain >> 0) & ((1 << (7 - 0 + 1)) - 1);
27587 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27588 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0x8f :
27589 0xa5), (0x1 << 8), (0x1 << 8));
27591 mod_phy_reg(pi, 0xa5, (0x1 << 14), (0x1 << 14));
27593 write_phy_reg(pi, (core == PHY_CORE_0) ? 0xaa : 0xab, dac_gain);
27595 wlc_phy_table_write_nphy(pi, 7, 1, (0x110 + core), 16,
27598 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m1m2);
27599 m1m2 &= ((core == PHY_CORE_0) ? 0x00ff : 0xff00);
27600 m1m2 |= ((core == PHY_CORE_0) ? (bbmult << 8) : (bbmult << 0));
27601 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &m1m2);
27604 wlc_phy_table_read_nphy(pi,
27607 NPHY_TBL_ID_CORE1TXPWRCTL :
27608 NPHY_TBL_ID_CORE2TXPWRCTL), 1,
27609 576 + txpi[core], 32,
27612 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
27613 0x29b, (0x1ff << 4),
27614 ((s16) rfpwr_offset) << 4);
27616 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
27617 0x29b, (0x1 << 2), (1) << 2);
27622 and_phy_reg(pi, 0xbf, (u16) (~(0x1f << 0)));
27624 if (pi->phyhang_avoid)
27625 wlc_phy_stay_in_carriersearch_nphy(pi, false);
27629 wlc_phy_txpwr_nphy_srom_convert(u8 *srom_max, u16 *pwr_offset,
27630 u8 tmp_max_pwr, u8 rate_start,
27634 u8 word_num, nibble_num;
27637 for (rate = rate_start; rate <= rate_end; rate++) {
27638 word_num = (rate - rate_start) >> 2;
27639 nibble_num = (rate - rate_start) & 0x3;
27640 tmp_nibble = (pwr_offset[word_num] >> 4 * nibble_num) & 0xf;
27642 srom_max[rate] = tmp_max_pwr - 2 * tmp_nibble;
27647 wlc_phy_txpwr_nphy_po_apply(u8 *srom_max, u8 pwr_offset,
27648 u8 rate_start, u8 rate_end)
27652 for (rate = rate_start; rate <= rate_end; rate++) {
27653 srom_max[rate] -= 2 * pwr_offset;
27658 wlc_phy_ofdm_to_mcs_powers_nphy(u8 *power, u8 rate_mcs_start,
27659 u8 rate_mcs_end, u8 rate_ofdm_start)
27663 rate2 = rate_ofdm_start;
27664 for (rate1 = rate_mcs_start; rate1 <= rate_mcs_end - 1; rate1++) {
27665 power[rate1] = power[rate2];
27666 rate2 += (rate1 == rate_mcs_start) ? 2 : 1;
27668 power[rate_mcs_end] = power[rate_mcs_end - 1];
27672 wlc_phy_mcs_to_ofdm_powers_nphy(u8 *power, u8 rate_ofdm_start,
27673 u8 rate_ofdm_end, u8 rate_mcs_start)
27677 for (rate1 = rate_ofdm_start, rate2 = rate_mcs_start;
27678 rate1 <= rate_ofdm_end; rate1++, rate2++) {
27679 power[rate1] = power[rate2];
27680 if (rate1 == rate_ofdm_start)
27681 power[++rate1] = power[rate2];
27685 void wlc_phy_txpwr_apply_nphy(phy_info_t *pi)
27687 uint rate1, rate2, band_num;
27688 u8 tmp_bw40po = 0, tmp_cddpo = 0, tmp_stbcpo = 0;
27689 u8 tmp_max_pwr = 0;
27690 u16 pwr_offsets1[2], *pwr_offsets2 = NULL;
27691 u8 *tx_srom_max_rate = NULL;
27693 for (band_num = 0; band_num < (CH_2G_GROUP + CH_5G_GROUP); band_num++) {
27694 switch (band_num) {
27697 tmp_max_pwr = min(pi->nphy_pwrctrl_info[0].max_pwr_2g,
27698 pi->nphy_pwrctrl_info[1].max_pwr_2g);
27700 pwr_offsets1[0] = pi->cck2gpo;
27701 wlc_phy_txpwr_nphy_srom_convert(pi->tx_srom_max_rate_2g,
27707 pwr_offsets1[0] = (u16) (pi->ofdm2gpo & 0xffff);
27709 (u16) (pi->ofdm2gpo >> 16) & 0xffff;
27711 pwr_offsets2 = pi->mcs2gpo;
27713 tmp_cddpo = pi->cdd2gpo;
27714 tmp_stbcpo = pi->stbc2gpo;
27715 tmp_bw40po = pi->bw402gpo;
27717 tx_srom_max_rate = pi->tx_srom_max_rate_2g;
27721 tmp_max_pwr = min(pi->nphy_pwrctrl_info[0].max_pwr_5gm,
27722 pi->nphy_pwrctrl_info[1].max_pwr_5gm);
27724 pwr_offsets1[0] = (u16) (pi->ofdm5gpo & 0xffff);
27726 (u16) (pi->ofdm5gpo >> 16) & 0xffff;
27728 pwr_offsets2 = pi->mcs5gpo;
27730 tmp_cddpo = pi->cdd5gpo;
27731 tmp_stbcpo = pi->stbc5gpo;
27732 tmp_bw40po = pi->bw405gpo;
27734 tx_srom_max_rate = pi->tx_srom_max_rate_5g_mid;
27738 tmp_max_pwr = min(pi->nphy_pwrctrl_info[0].max_pwr_5gl,
27739 pi->nphy_pwrctrl_info[1].max_pwr_5gl);
27741 pwr_offsets1[0] = (u16) (pi->ofdm5glpo & 0xffff);
27743 (u16) (pi->ofdm5glpo >> 16) & 0xffff;
27745 pwr_offsets2 = pi->mcs5glpo;
27747 tmp_cddpo = pi->cdd5glpo;
27748 tmp_stbcpo = pi->stbc5glpo;
27749 tmp_bw40po = pi->bw405glpo;
27751 tx_srom_max_rate = pi->tx_srom_max_rate_5g_low;
27755 tmp_max_pwr = min(pi->nphy_pwrctrl_info[0].max_pwr_5gh,
27756 pi->nphy_pwrctrl_info[1].max_pwr_5gh);
27758 pwr_offsets1[0] = (u16) (pi->ofdm5ghpo & 0xffff);
27760 (u16) (pi->ofdm5ghpo >> 16) & 0xffff;
27762 pwr_offsets2 = pi->mcs5ghpo;
27764 tmp_cddpo = pi->cdd5ghpo;
27765 tmp_stbcpo = pi->stbc5ghpo;
27766 tmp_bw40po = pi->bw405ghpo;
27768 tx_srom_max_rate = pi->tx_srom_max_rate_5g_hi;
27772 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate, pwr_offsets1,
27773 tmp_max_pwr, TXP_FIRST_OFDM,
27776 wlc_phy_ofdm_to_mcs_powers_nphy(tx_srom_max_rate,
27777 TXP_FIRST_MCS_20_SISO,
27778 TXP_LAST_MCS_20_SISO,
27781 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate, pwr_offsets2,
27783 TXP_FIRST_MCS_20_CDD,
27784 TXP_LAST_MCS_20_CDD);
27786 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27788 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate, tmp_cddpo,
27789 TXP_FIRST_MCS_20_CDD,
27790 TXP_LAST_MCS_20_CDD);
27793 wlc_phy_mcs_to_ofdm_powers_nphy(tx_srom_max_rate,
27794 TXP_FIRST_OFDM_20_CDD,
27795 TXP_LAST_OFDM_20_CDD,
27796 TXP_FIRST_MCS_20_CDD);
27798 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate, pwr_offsets2,
27800 TXP_FIRST_MCS_20_STBC,
27801 TXP_LAST_MCS_20_STBC);
27803 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27805 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate,
27807 TXP_FIRST_MCS_20_STBC,
27808 TXP_LAST_MCS_20_STBC);
27811 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
27812 &pwr_offsets2[2], tmp_max_pwr,
27813 TXP_FIRST_MCS_20_SDM,
27814 TXP_LAST_MCS_20_SDM);
27816 if (NPHY_IS_SROM_REINTERPRET) {
27818 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
27821 TXP_FIRST_MCS_40_SISO,
27822 TXP_LAST_MCS_40_SISO);
27824 wlc_phy_mcs_to_ofdm_powers_nphy(tx_srom_max_rate,
27825 TXP_FIRST_OFDM_40_SISO,
27826 TXP_LAST_OFDM_40_SISO,
27827 TXP_FIRST_MCS_40_SISO);
27829 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
27832 TXP_FIRST_MCS_40_CDD,
27833 TXP_LAST_MCS_40_CDD);
27835 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate, tmp_cddpo,
27836 TXP_FIRST_MCS_40_CDD,
27837 TXP_LAST_MCS_40_CDD);
27839 wlc_phy_mcs_to_ofdm_powers_nphy(tx_srom_max_rate,
27840 TXP_FIRST_OFDM_40_CDD,
27841 TXP_LAST_OFDM_40_CDD,
27842 TXP_FIRST_MCS_40_CDD);
27844 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
27847 TXP_FIRST_MCS_40_STBC,
27848 TXP_LAST_MCS_40_STBC);
27850 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate,
27852 TXP_FIRST_MCS_40_STBC,
27853 TXP_LAST_MCS_40_STBC);
27855 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
27858 TXP_FIRST_MCS_40_SDM,
27859 TXP_LAST_MCS_40_SDM);
27862 for (rate1 = TXP_FIRST_OFDM_40_SISO, rate2 =
27863 TXP_FIRST_OFDM; rate1 <= TXP_LAST_MCS_40_SDM;
27865 tx_srom_max_rate[rate1] =
27866 tx_srom_max_rate[rate2];
27869 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27870 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate,
27872 TXP_FIRST_OFDM_40_SISO,
27873 TXP_LAST_MCS_40_SDM);
27876 tx_srom_max_rate[TXP_MCS_32] =
27877 tx_srom_max_rate[TXP_FIRST_MCS_40_CDD];
27883 static void wlc_phy_txpwr_srom_read_ppr_nphy(phy_info_t *pi)
27885 u16 bw40po, cddpo, stbcpo, bwduppo;
27888 if (pi->sh->sromrev >= 9) {
27893 bw40po = (u16) PHY_GETINTVAR(pi, "bw40po");
27894 pi->bw402gpo = bw40po & 0xf;
27895 pi->bw405gpo = (bw40po & 0xf0) >> 4;
27896 pi->bw405glpo = (bw40po & 0xf00) >> 8;
27897 pi->bw405ghpo = (bw40po & 0xf000) >> 12;
27899 cddpo = (u16) PHY_GETINTVAR(pi, "cddpo");
27900 pi->cdd2gpo = cddpo & 0xf;
27901 pi->cdd5gpo = (cddpo & 0xf0) >> 4;
27902 pi->cdd5glpo = (cddpo & 0xf00) >> 8;
27903 pi->cdd5ghpo = (cddpo & 0xf000) >> 12;
27905 stbcpo = (u16) PHY_GETINTVAR(pi, "stbcpo");
27906 pi->stbc2gpo = stbcpo & 0xf;
27907 pi->stbc5gpo = (stbcpo & 0xf0) >> 4;
27908 pi->stbc5glpo = (stbcpo & 0xf00) >> 8;
27909 pi->stbc5ghpo = (stbcpo & 0xf000) >> 12;
27911 bwduppo = (u16) PHY_GETINTVAR(pi, "bwduppo");
27912 pi->bwdup2gpo = bwduppo & 0xf;
27913 pi->bwdup5gpo = (bwduppo & 0xf0) >> 4;
27914 pi->bwdup5glpo = (bwduppo & 0xf00) >> 8;
27915 pi->bwdup5ghpo = (bwduppo & 0xf000) >> 12;
27917 for (band_num = 0; band_num < (CH_2G_GROUP + CH_5G_GROUP); band_num++) {
27918 switch (band_num) {
27921 pi->nphy_txpid2g[PHY_CORE_0] =
27922 (u8) PHY_GETINTVAR(pi, "txpid2ga0");
27923 pi->nphy_txpid2g[PHY_CORE_1] =
27924 (u8) PHY_GETINTVAR(pi, "txpid2ga1");
27925 pi->nphy_pwrctrl_info[PHY_CORE_0].max_pwr_2g =
27926 (s8) PHY_GETINTVAR(pi, "maxp2ga0");
27927 pi->nphy_pwrctrl_info[PHY_CORE_1].max_pwr_2g =
27928 (s8) PHY_GETINTVAR(pi, "maxp2ga1");
27929 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_2g_a1 =
27930 (s16) PHY_GETINTVAR(pi, "pa2gw0a0");
27931 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_2g_a1 =
27932 (s16) PHY_GETINTVAR(pi, "pa2gw0a1");
27933 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_2g_b0 =
27934 (s16) PHY_GETINTVAR(pi, "pa2gw1a0");
27935 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_2g_b0 =
27936 (s16) PHY_GETINTVAR(pi, "pa2gw1a1");
27937 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_2g_b1 =
27938 (s16) PHY_GETINTVAR(pi, "pa2gw2a0");
27939 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_2g_b1 =
27940 (s16) PHY_GETINTVAR(pi, "pa2gw2a1");
27941 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_targ_2g =
27942 (s8) PHY_GETINTVAR(pi, "itt2ga0");
27943 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_targ_2g =
27944 (s8) PHY_GETINTVAR(pi, "itt2ga1");
27946 pi->cck2gpo = (u16) PHY_GETINTVAR(pi, "cck2gpo");
27948 pi->ofdm2gpo = (u32) PHY_GETINTVAR(pi, "ofdm2gpo");
27950 pi->mcs2gpo[0] = (u16) PHY_GETINTVAR(pi, "mcs2gpo0");
27951 pi->mcs2gpo[1] = (u16) PHY_GETINTVAR(pi, "mcs2gpo1");
27952 pi->mcs2gpo[2] = (u16) PHY_GETINTVAR(pi, "mcs2gpo2");
27953 pi->mcs2gpo[3] = (u16) PHY_GETINTVAR(pi, "mcs2gpo3");
27954 pi->mcs2gpo[4] = (u16) PHY_GETINTVAR(pi, "mcs2gpo4");
27955 pi->mcs2gpo[5] = (u16) PHY_GETINTVAR(pi, "mcs2gpo5");
27956 pi->mcs2gpo[6] = (u16) PHY_GETINTVAR(pi, "mcs2gpo6");
27957 pi->mcs2gpo[7] = (u16) PHY_GETINTVAR(pi, "mcs2gpo7");
27961 pi->nphy_txpid5g[PHY_CORE_0] =
27962 (u8) PHY_GETINTVAR(pi, "txpid5ga0");
27963 pi->nphy_txpid5g[PHY_CORE_1] =
27964 (u8) PHY_GETINTVAR(pi, "txpid5ga1");
27965 pi->nphy_pwrctrl_info[PHY_CORE_0].max_pwr_5gm =
27966 (s8) PHY_GETINTVAR(pi, "maxp5ga0");
27967 pi->nphy_pwrctrl_info[PHY_CORE_1].max_pwr_5gm =
27968 (s8) PHY_GETINTVAR(pi, "maxp5ga1");
27969 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_5gm_a1 =
27970 (s16) PHY_GETINTVAR(pi, "pa5gw0a0");
27971 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_5gm_a1 =
27972 (s16) PHY_GETINTVAR(pi, "pa5gw0a1");
27973 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_5gm_b0 =
27974 (s16) PHY_GETINTVAR(pi, "pa5gw1a0");
27975 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_5gm_b0 =
27976 (s16) PHY_GETINTVAR(pi, "pa5gw1a1");
27977 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_5gm_b1 =
27978 (s16) PHY_GETINTVAR(pi, "pa5gw2a0");
27979 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_5gm_b1 =
27980 (s16) PHY_GETINTVAR(pi, "pa5gw2a1");
27981 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_targ_5gm =
27982 (s8) PHY_GETINTVAR(pi, "itt5ga0");
27983 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_targ_5gm =
27984 (s8) PHY_GETINTVAR(pi, "itt5ga1");
27986 pi->ofdm5gpo = (u32) PHY_GETINTVAR(pi, "ofdm5gpo");
27988 pi->mcs5gpo[0] = (u16) PHY_GETINTVAR(pi, "mcs5gpo0");
27989 pi->mcs5gpo[1] = (u16) PHY_GETINTVAR(pi, "mcs5gpo1");
27990 pi->mcs5gpo[2] = (u16) PHY_GETINTVAR(pi, "mcs5gpo2");
27991 pi->mcs5gpo[3] = (u16) PHY_GETINTVAR(pi, "mcs5gpo3");
27992 pi->mcs5gpo[4] = (u16) PHY_GETINTVAR(pi, "mcs5gpo4");
27993 pi->mcs5gpo[5] = (u16) PHY_GETINTVAR(pi, "mcs5gpo5");
27994 pi->mcs5gpo[6] = (u16) PHY_GETINTVAR(pi, "mcs5gpo6");
27995 pi->mcs5gpo[7] = (u16) PHY_GETINTVAR(pi, "mcs5gpo7");
27999 pi->nphy_txpid5gl[0] =
28000 (u8) PHY_GETINTVAR(pi, "txpid5gla0");
28001 pi->nphy_txpid5gl[1] =
28002 (u8) PHY_GETINTVAR(pi, "txpid5gla1");
28003 pi->nphy_pwrctrl_info[0].max_pwr_5gl =
28004 (s8) PHY_GETINTVAR(pi, "maxp5gla0");
28005 pi->nphy_pwrctrl_info[1].max_pwr_5gl =
28006 (s8) PHY_GETINTVAR(pi, "maxp5gla1");
28007 pi->nphy_pwrctrl_info[0].pwrdet_5gl_a1 =
28008 (s16) PHY_GETINTVAR(pi, "pa5glw0a0");
28009 pi->nphy_pwrctrl_info[1].pwrdet_5gl_a1 =
28010 (s16) PHY_GETINTVAR(pi, "pa5glw0a1");
28011 pi->nphy_pwrctrl_info[0].pwrdet_5gl_b0 =
28012 (s16) PHY_GETINTVAR(pi, "pa5glw1a0");
28013 pi->nphy_pwrctrl_info[1].pwrdet_5gl_b0 =
28014 (s16) PHY_GETINTVAR(pi, "pa5glw1a1");
28015 pi->nphy_pwrctrl_info[0].pwrdet_5gl_b1 =
28016 (s16) PHY_GETINTVAR(pi, "pa5glw2a0");
28017 pi->nphy_pwrctrl_info[1].pwrdet_5gl_b1 =
28018 (s16) PHY_GETINTVAR(pi, "pa5glw2a1");
28019 pi->nphy_pwrctrl_info[0].idle_targ_5gl = 0;
28020 pi->nphy_pwrctrl_info[1].idle_targ_5gl = 0;
28022 pi->ofdm5glpo = (u32) PHY_GETINTVAR(pi, "ofdm5glpo");
28025 (u16) PHY_GETINTVAR(pi, "mcs5glpo0");
28027 (u16) PHY_GETINTVAR(pi, "mcs5glpo1");
28029 (u16) PHY_GETINTVAR(pi, "mcs5glpo2");
28031 (u16) PHY_GETINTVAR(pi, "mcs5glpo3");
28033 (u16) PHY_GETINTVAR(pi, "mcs5glpo4");
28035 (u16) PHY_GETINTVAR(pi, "mcs5glpo5");
28037 (u16) PHY_GETINTVAR(pi, "mcs5glpo6");
28039 (u16) PHY_GETINTVAR(pi, "mcs5glpo7");
28043 pi->nphy_txpid5gh[0] =
28044 (u8) PHY_GETINTVAR(pi, "txpid5gha0");
28045 pi->nphy_txpid5gh[1] =
28046 (u8) PHY_GETINTVAR(pi, "txpid5gha1");
28047 pi->nphy_pwrctrl_info[0].max_pwr_5gh =
28048 (s8) PHY_GETINTVAR(pi, "maxp5gha0");
28049 pi->nphy_pwrctrl_info[1].max_pwr_5gh =
28050 (s8) PHY_GETINTVAR(pi, "maxp5gha1");
28051 pi->nphy_pwrctrl_info[0].pwrdet_5gh_a1 =
28052 (s16) PHY_GETINTVAR(pi, "pa5ghw0a0");
28053 pi->nphy_pwrctrl_info[1].pwrdet_5gh_a1 =
28054 (s16) PHY_GETINTVAR(pi, "pa5ghw0a1");
28055 pi->nphy_pwrctrl_info[0].pwrdet_5gh_b0 =
28056 (s16) PHY_GETINTVAR(pi, "pa5ghw1a0");
28057 pi->nphy_pwrctrl_info[1].pwrdet_5gh_b0 =
28058 (s16) PHY_GETINTVAR(pi, "pa5ghw1a1");
28059 pi->nphy_pwrctrl_info[0].pwrdet_5gh_b1 =
28060 (s16) PHY_GETINTVAR(pi, "pa5ghw2a0");
28061 pi->nphy_pwrctrl_info[1].pwrdet_5gh_b1 =
28062 (s16) PHY_GETINTVAR(pi, "pa5ghw2a1");
28063 pi->nphy_pwrctrl_info[0].idle_targ_5gh = 0;
28064 pi->nphy_pwrctrl_info[1].idle_targ_5gh = 0;
28066 pi->ofdm5ghpo = (u32) PHY_GETINTVAR(pi, "ofdm5ghpo");
28069 (u16) PHY_GETINTVAR(pi, "mcs5ghpo0");
28071 (u16) PHY_GETINTVAR(pi, "mcs5ghpo1");
28073 (u16) PHY_GETINTVAR(pi, "mcs5ghpo2");
28075 (u16) PHY_GETINTVAR(pi, "mcs5ghpo3");
28077 (u16) PHY_GETINTVAR(pi, "mcs5ghpo4");
28079 (u16) PHY_GETINTVAR(pi, "mcs5ghpo5");
28081 (u16) PHY_GETINTVAR(pi, "mcs5ghpo6");
28083 (u16) PHY_GETINTVAR(pi, "mcs5ghpo7");
28088 wlc_phy_txpwr_apply_nphy(pi);
28091 static bool wlc_phy_txpwr_srom_read_nphy(phy_info_t *pi)
28094 pi->antswitch = (u8) PHY_GETINTVAR(pi, "antswitch");
28095 pi->aa2g = (u8) PHY_GETINTVAR(pi, "aa2g");
28096 pi->aa5g = (u8) PHY_GETINTVAR(pi, "aa5g");
28098 pi->srom_fem2g.tssipos = (u8) PHY_GETINTVAR(pi, "tssipos2g");
28099 pi->srom_fem2g.extpagain = (u8) PHY_GETINTVAR(pi, "extpagain2g");
28100 pi->srom_fem2g.pdetrange = (u8) PHY_GETINTVAR(pi, "pdetrange2g");
28101 pi->srom_fem2g.triso = (u8) PHY_GETINTVAR(pi, "triso2g");
28102 pi->srom_fem2g.antswctrllut = (u8) PHY_GETINTVAR(pi, "antswctl2g");
28104 pi->srom_fem5g.tssipos = (u8) PHY_GETINTVAR(pi, "tssipos5g");
28105 pi->srom_fem5g.extpagain = (u8) PHY_GETINTVAR(pi, "extpagain5g");
28106 pi->srom_fem5g.pdetrange = (u8) PHY_GETINTVAR(pi, "pdetrange5g");
28107 pi->srom_fem5g.triso = (u8) PHY_GETINTVAR(pi, "triso5g");
28108 if (PHY_GETVAR(pi, "antswctl5g")) {
28110 pi->srom_fem5g.antswctrllut =
28111 (u8) PHY_GETINTVAR(pi, "antswctl5g");
28114 pi->srom_fem5g.antswctrllut =
28115 (u8) PHY_GETINTVAR(pi, "antswctl2g");
28118 wlc_phy_txpower_ipa_upd(pi);
28120 pi->phy_txcore_disable_temp = (s16) PHY_GETINTVAR(pi, "tempthresh");
28121 if (pi->phy_txcore_disable_temp == 0) {
28122 pi->phy_txcore_disable_temp = PHY_CHAIN_TX_DISABLE_TEMP;
28125 pi->phy_tempsense_offset = (s8) PHY_GETINTVAR(pi, "tempoffset");
28126 if (pi->phy_tempsense_offset != 0) {
28127 if (pi->phy_tempsense_offset >
28128 (NPHY_SROM_TEMPSHIFT + NPHY_SROM_MAXTEMPOFFSET)) {
28129 pi->phy_tempsense_offset = NPHY_SROM_MAXTEMPOFFSET;
28130 } else if (pi->phy_tempsense_offset < (NPHY_SROM_TEMPSHIFT +
28131 NPHY_SROM_MINTEMPOFFSET)) {
28132 pi->phy_tempsense_offset = NPHY_SROM_MINTEMPOFFSET;
28134 pi->phy_tempsense_offset -= NPHY_SROM_TEMPSHIFT;
28138 pi->phy_txcore_enable_temp =
28139 pi->phy_txcore_disable_temp - PHY_HYSTERESIS_DELTATEMP;
28141 pi->phycal_tempdelta = (u8) PHY_GETINTVAR(pi, "phycal_tempdelta");
28142 if (pi->phycal_tempdelta > NPHY_CAL_MAXTEMPDELTA) {
28143 pi->phycal_tempdelta = 0;
28146 wlc_phy_txpwr_srom_read_ppr_nphy(pi);
28151 void wlc_phy_txpower_recalc_target_nphy(phy_info_t *pi)
28153 u8 tx_pwr_ctrl_state;
28154 wlc_phy_txpwr_limit_to_tbl_nphy(pi);
28155 wlc_phy_txpwrctrl_pwr_setup_nphy(pi);
28157 tx_pwr_ctrl_state = pi->nphy_txpwrctrl;
28159 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12)) {
28160 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, MCTL_PHYLOCK);
28161 (void)R_REG(&pi->regs->maccontrol);
28165 wlc_phy_txpwrctrl_enable_nphy(pi, tx_pwr_ctrl_state);
28167 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12))
28168 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, 0);
28171 static void wlc_phy_txpwrctrl_coeff_setup_nphy(phy_info_t *pi)
28175 u32 iqcomp, locomp, curr_locomp;
28176 s8 locomp_i, locomp_q;
28177 s8 curr_locomp_i, curr_locomp_q;
28178 u32 tbl_id, tbl_len, tbl_offset;
28181 if (pi->phyhang_avoid)
28182 wlc_phy_stay_in_carriersearch_nphy(pi, true);
28184 wlc_phy_table_read_nphy(pi, 15, 7, 80, 16, iqloCalbuf);
28188 for (tbl_id = NPHY_TBL_ID_CORE1TXPWRCTL;
28189 tbl_id <= NPHY_TBL_ID_CORE2TXPWRCTL; tbl_id++) {
28192 26) ? (((u32) (iqloCalbuf[0] & 0x3ff)) << 10) |
28193 (iqloCalbuf[1] & 0x3ff)
28194 : (((u32) (iqloCalbuf[2] & 0x3ff)) << 10) |
28195 (iqloCalbuf[3] & 0x3ff);
28197 for (idx = 0; idx < tbl_len; idx++) {
28198 regval[idx] = iqcomp;
28200 wlc_phy_table_write_nphy(pi, tbl_id, tbl_len, tbl_offset, 32,
28205 for (tbl_id = NPHY_TBL_ID_CORE1TXPWRCTL;
28206 tbl_id <= NPHY_TBL_ID_CORE2TXPWRCTL; tbl_id++) {
28209 (u32) ((tbl_id == 26) ? iqloCalbuf[5] : iqloCalbuf[6]);
28210 locomp_i = (s8) ((locomp >> 8) & 0xff);
28211 locomp_q = (s8) ((locomp) & 0xff);
28212 for (idx = 0; idx < tbl_len; idx++) {
28213 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28214 curr_locomp_i = locomp_i;
28215 curr_locomp_q = locomp_q;
28217 curr_locomp_i = (s8) ((locomp_i *
28218 nphy_tpc_loscale[idx] +
28221 (s8) ((locomp_q * nphy_tpc_loscale[idx] +
28224 curr_locomp = (u32) ((curr_locomp_i & 0xff) << 8);
28225 curr_locomp |= (u32) (curr_locomp_q & 0xff);
28226 regval[idx] = curr_locomp;
28228 wlc_phy_table_write_nphy(pi, tbl_id, tbl_len, tbl_offset, 32,
28232 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
28234 wlapi_bmac_write_shm(pi->sh->physhim, M_CURR_IDX1, 0xFFFF);
28235 wlapi_bmac_write_shm(pi->sh->physhim, M_CURR_IDX2, 0xFFFF);
28238 if (pi->phyhang_avoid)
28239 wlc_phy_stay_in_carriersearch_nphy(pi, false);
28242 static void wlc_phy_ipa_internal_tssi_setup_nphy(phy_info_t *pi)
28246 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28247 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
28248 if (CHSPEC_IS2G(pi->radio_chanspec)) {
28249 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
28250 TX_SSI_MASTER, 0x5);
28251 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
28254 if (pi->pubpi.radiorev != 5)
28255 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
28258 if (!NREV_IS(pi->pubpi.phy_rev, 7)) {
28260 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
28264 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
28265 core, TSSIG, 0x31);
28268 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
28269 TX_SSI_MASTER, 0x9);
28270 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
28272 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
28275 if (pi->pubpi.radiorev != 5) {
28276 if (!NREV_IS(pi->pubpi.phy_rev, 7)) {
28278 WRITE_RADIO_REG3(pi, RADIO_2057,
28283 WRITE_RADIO_REG3(pi, RADIO_2057,
28289 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, IQCAL_VCM_HG,
28291 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, IQCAL_IDAC,
28293 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_VCM,
28295 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_MISC1,
28299 WRITE_RADIO_SYN(pi, RADIO_2056, RESERVED_ADDR31,
28300 (CHSPEC_IS2G(pi->radio_chanspec)) ? 0x128 :
28302 WRITE_RADIO_SYN(pi, RADIO_2056, RESERVED_ADDR30, 0x0);
28303 WRITE_RADIO_SYN(pi, RADIO_2056, GPIO_MASTER1, 0x29);
28305 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
28306 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, IQCAL_VCM_HG,
28308 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, IQCAL_IDAC,
28310 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TSSI_VCM,
28312 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TX_AMP_DET,
28314 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TSSI_MISC1,
28316 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TSSI_MISC2,
28318 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TSSI_MISC3,
28321 if (CHSPEC_IS2G(pi->radio_chanspec)) {
28322 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28323 TX_SSI_MASTER, 0x5);
28325 if (pi->pubpi.radiorev != 5)
28326 WRITE_RADIO_REG2(pi, RADIO_2056, TX,
28328 if (NREV_GE(pi->pubpi.phy_rev, 5)) {
28330 WRITE_RADIO_REG2(pi, RADIO_2056, TX,
28331 core, TSSIG, 0x31);
28333 WRITE_RADIO_REG2(pi, RADIO_2056, TX,
28334 core, TSSIG, 0x11);
28336 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28339 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28340 TX_SSI_MASTER, 0x9);
28341 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28343 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28345 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28352 static void wlc_phy_txpwrctrl_idle_tssi_nphy(phy_info_t *pi)
28357 if (SCAN_RM_IN_PROGRESS(pi) || PLT_INPROG_PHY(pi) || PHY_MUTED(pi))
28362 wlc_phy_ipa_internal_tssi_setup_nphy(pi);
28365 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28366 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 12),
28368 NPHY_REV7_RFCTRLOVERRIDE_ID0);
28369 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28370 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 13), 0, 3, 0);
28373 wlc_phy_stopplayback_nphy(pi);
28375 wlc_phy_tx_tone_nphy(pi, 4000, 0, 0, 0, false);
28379 wlc_phy_poll_rssi_nphy(pi, (u8) NPHY_RSSI_SEL_TSSI_2G, rssi_buf,
28381 wlc_phy_stopplayback_nphy(pi);
28382 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_OFF, 0);
28384 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28385 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 12),
28387 NPHY_REV7_RFCTRLOVERRIDE_ID0);
28388 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28389 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 13), 0, 3, 1);
28392 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28394 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_tssi_2g =
28395 (u8) ((int_val >> 24) & 0xff);
28396 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_tssi_5g =
28397 (u8) ((int_val >> 24) & 0xff);
28399 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_tssi_2g =
28400 (u8) ((int_val >> 8) & 0xff);
28401 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_tssi_5g =
28402 (u8) ((int_val >> 8) & 0xff);
28404 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_tssi_2g =
28405 (u8) ((int_val >> 24) & 0xff);
28407 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_tssi_2g =
28408 (u8) ((int_val >> 8) & 0xff);
28410 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_tssi_5g =
28411 (u8) ((int_val >> 16) & 0xff);
28412 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_tssi_5g =
28413 (u8) ((int_val) & 0xff);
28418 static void wlc_phy_txpwrctrl_pwr_setup_nphy(phy_info_t *pi)
28421 s16 a1[2], b0[2], b1[2];
28422 s8 target_pwr_qtrdbm[2];
28423 s32 num, den, pwr_est;
28424 u8 chan_freq_range;
28426 u32 tbl_id, tbl_len, tbl_offset;
28430 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12)) {
28431 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, MCTL_PHYLOCK);
28432 (void)R_REG(&pi->regs->maccontrol);
28436 if (pi->phyhang_avoid)
28437 wlc_phy_stay_in_carriersearch_nphy(pi, true);
28439 or_phy_reg(pi, 0x122, (0x1 << 0));
28441 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28442 and_phy_reg(pi, 0x1e7, (u16) (~(0x1 << 15)));
28445 or_phy_reg(pi, 0x1e7, (0x1 << 15));
28448 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12))
28449 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, 0);
28451 if (pi->sh->sromrev < 4) {
28452 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_2g;
28453 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_2g;
28454 target_pwr_qtrdbm[0] = 13 * 4;
28455 target_pwr_qtrdbm[1] = 13 * 4;
28464 chan_freq_range = wlc_phy_get_chan_freq_range_nphy(pi, 0);
28465 switch (chan_freq_range) {
28466 case WL_CHAN_FREQ_RANGE_2G:
28467 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_2g;
28468 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_2g;
28469 target_pwr_qtrdbm[0] =
28470 pi->nphy_pwrctrl_info[0].max_pwr_2g;
28471 target_pwr_qtrdbm[1] =
28472 pi->nphy_pwrctrl_info[1].max_pwr_2g;
28473 a1[0] = pi->nphy_pwrctrl_info[0].pwrdet_2g_a1;
28474 a1[1] = pi->nphy_pwrctrl_info[1].pwrdet_2g_a1;
28475 b0[0] = pi->nphy_pwrctrl_info[0].pwrdet_2g_b0;
28476 b0[1] = pi->nphy_pwrctrl_info[1].pwrdet_2g_b0;
28477 b1[0] = pi->nphy_pwrctrl_info[0].pwrdet_2g_b1;
28478 b1[1] = pi->nphy_pwrctrl_info[1].pwrdet_2g_b1;
28480 case WL_CHAN_FREQ_RANGE_5GL:
28481 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_5g;
28482 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_5g;
28483 target_pwr_qtrdbm[0] =
28484 pi->nphy_pwrctrl_info[0].max_pwr_5gl;
28485 target_pwr_qtrdbm[1] =
28486 pi->nphy_pwrctrl_info[1].max_pwr_5gl;
28487 a1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gl_a1;
28488 a1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gl_a1;
28489 b0[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gl_b0;
28490 b0[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gl_b0;
28491 b1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gl_b1;
28492 b1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gl_b1;
28494 case WL_CHAN_FREQ_RANGE_5GM:
28495 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_5g;
28496 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_5g;
28497 target_pwr_qtrdbm[0] =
28498 pi->nphy_pwrctrl_info[0].max_pwr_5gm;
28499 target_pwr_qtrdbm[1] =
28500 pi->nphy_pwrctrl_info[1].max_pwr_5gm;
28501 a1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gm_a1;
28502 a1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gm_a1;
28503 b0[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gm_b0;
28504 b0[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gm_b0;
28505 b1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gm_b1;
28506 b1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gm_b1;
28508 case WL_CHAN_FREQ_RANGE_5GH:
28509 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_5g;
28510 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_5g;
28511 target_pwr_qtrdbm[0] =
28512 pi->nphy_pwrctrl_info[0].max_pwr_5gh;
28513 target_pwr_qtrdbm[1] =
28514 pi->nphy_pwrctrl_info[1].max_pwr_5gh;
28515 a1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gh_a1;
28516 a1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gh_a1;
28517 b0[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gh_b0;
28518 b0[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gh_b0;
28519 b1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gh_b1;
28520 b1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gh_b1;
28523 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_2g;
28524 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_2g;
28525 target_pwr_qtrdbm[0] = 13 * 4;
28526 target_pwr_qtrdbm[1] = 13 * 4;
28537 target_pwr_qtrdbm[0] = (s8) pi->tx_power_max;
28538 target_pwr_qtrdbm[1] = (s8) pi->tx_power_max;
28540 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28541 if (pi->srom_fem2g.tssipos) {
28542 or_phy_reg(pi, 0x1e9, (0x1 << 14));
28545 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28546 for (core = 0; core <= 1; core++) {
28549 if (CHSPEC_IS2G(pi->radio_chanspec)) {
28550 WRITE_RADIO_REG3(pi, RADIO_2057,
28555 WRITE_RADIO_REG3(pi, RADIO_2057,
28566 write_radio_reg(pi, RADIO_2056_TX_TX_SSI_MUX |
28570 radio_chanspec)) ? 0xc : 0xe);
28571 write_radio_reg(pi,
28572 RADIO_2056_TX_TX_SSI_MUX |
28576 radio_chanspec)) ? 0xc : 0xe);
28579 write_radio_reg(pi, RADIO_2056_TX_TX_SSI_MUX |
28580 RADIO_2056_TX0, 0x11);
28581 write_radio_reg(pi, RADIO_2056_TX_TX_SSI_MUX |
28582 RADIO_2056_TX1, 0x11);
28587 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12)) {
28588 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, MCTL_PHYLOCK);
28589 (void)R_REG(&pi->regs->maccontrol);
28593 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28594 mod_phy_reg(pi, 0x1e7, (0x7f << 0),
28595 (NPHY_TxPwrCtrlCmd_pwrIndex_init_rev7 << 0));
28597 mod_phy_reg(pi, 0x1e7, (0x7f << 0),
28598 (NPHY_TxPwrCtrlCmd_pwrIndex_init << 0));
28601 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28602 mod_phy_reg(pi, 0x222, (0xff << 0),
28603 (NPHY_TxPwrCtrlCmd_pwrIndex_init_rev7 << 0));
28604 } else if (NREV_GT(pi->pubpi.phy_rev, 1)) {
28605 mod_phy_reg(pi, 0x222, (0xff << 0),
28606 (NPHY_TxPwrCtrlCmd_pwrIndex_init << 0));
28609 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12))
28610 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, 0);
28612 write_phy_reg(pi, 0x1e8, (0x3 << 8) | (240 << 0));
28614 write_phy_reg(pi, 0x1e9,
28615 (1 << 15) | (idle_tssi[0] << 0) | (idle_tssi[1] << 8));
28617 write_phy_reg(pi, 0x1ea,
28618 (target_pwr_qtrdbm[0] << 0) |
28619 (target_pwr_qtrdbm[1] << 8));
28623 for (tbl_id = NPHY_TBL_ID_CORE1TXPWRCTL;
28624 tbl_id <= NPHY_TBL_ID_CORE2TXPWRCTL; tbl_id++) {
28626 for (idx = 0; idx < tbl_len; idx++) {
28628 8 * (16 * b0[tbl_id - 26] + b1[tbl_id - 26] * idx);
28629 den = 32768 + a1[tbl_id - 26] * idx;
28630 pwr_est = max(((4 * num + den / 2) / den), -8);
28631 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
28633 (uint) (31 - idle_tssi[tbl_id - 26] + 1))
28636 target_pwr_qtrdbm[tbl_id - 26] +
28639 regval[idx] = (u32) pwr_est;
28641 wlc_phy_table_write_nphy(pi, tbl_id, tbl_len, tbl_offset, 32,
28645 wlc_phy_txpwr_limit_to_tbl_nphy(pi);
28646 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 84, 64, 8,
28647 pi->adj_pwr_tbl_nphy);
28648 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 84, 64, 8,
28649 pi->adj_pwr_tbl_nphy);
28651 if (pi->phyhang_avoid)
28652 wlc_phy_stay_in_carriersearch_nphy(pi, false);
28655 static bool wlc_phy_txpwr_ison_nphy(phy_info_t *pi)
28657 return read_phy_reg((pi), 0x1e7) & ((0x1 << 15) |
28658 (0x1 << 14) | (0x1 << 13));
28661 static u8 wlc_phy_txpwr_idx_cur_get_nphy(phy_info_t *pi, u8 core)
28664 tmp = read_phy_reg(pi, ((core == PHY_CORE_0) ? 0x1ed : 0x1ee));
28666 tmp = (tmp & (0x7f << 8)) >> 8;
28671 wlc_phy_txpwr_idx_cur_set_nphy(phy_info_t *pi, u8 idx0, u8 idx1)
28673 mod_phy_reg(pi, 0x1e7, (0x7f << 0), idx0);
28675 if (NREV_GT(pi->pubpi.phy_rev, 1))
28676 mod_phy_reg(pi, 0x222, (0xff << 0), idx1);
28679 u16 wlc_phy_txpwr_idx_get_nphy(phy_info_t *pi)
28684 if (wlc_phy_txpwr_ison_nphy(pi)) {
28685 pwr_idx[0] = wlc_phy_txpwr_idx_cur_get_nphy(pi, PHY_CORE_0);
28686 pwr_idx[1] = wlc_phy_txpwr_idx_cur_get_nphy(pi, PHY_CORE_1);
28688 tmp = (pwr_idx[0] << 8) | pwr_idx[1];
28691 ((pi->nphy_txpwrindex[PHY_CORE_0].
28692 index_internal & 0xff) << 8) | (pi->
28695 index_internal & 0xff);
28701 void wlc_phy_txpwr_papd_cal_nphy(phy_info_t *pi)
28704 && (pi->nphy_force_papd_cal
28705 || (wlc_phy_txpwr_ison_nphy(pi)
28708 ABS(wlc_phy_txpwr_idx_cur_get_nphy(pi, 0) -
28709 pi->nphy_papd_tx_gain_at_last_cal[0]) >= 4)
28711 ABS(wlc_phy_txpwr_idx_cur_get_nphy(pi, 1) -
28712 pi->nphy_papd_tx_gain_at_last_cal[1]) >= 4))))) {
28713 wlc_phy_a4(pi, true);
28717 void wlc_phy_txpwrctrl_enable_nphy(phy_info_t *pi, u8 ctrl_type)
28719 u16 mask = 0, val = 0, ishw = 0;
28726 if (pi->phyhang_avoid)
28727 wlc_phy_stay_in_carriersearch_nphy(pi, true);
28729 switch (ctrl_type) {
28730 case PHY_TPC_HW_OFF:
28731 case PHY_TPC_HW_ON:
28732 pi->nphy_txpwrctrl = ctrl_type;
28738 if (ctrl_type == PHY_TPC_HW_OFF) {
28739 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28741 if (wlc_phy_txpwr_ison_nphy(pi)) {
28742 for (core = 0; core < pi->pubpi.phy_corenum;
28744 pi->nphy_txpwr_idx[core] =
28745 wlc_phy_txpwr_idx_cur_get_nphy(pi,
28754 for (ctr = 0; ctr < tbl_len; ctr++) {
28757 wlc_phy_table_write_nphy(pi, 26, tbl_len, tbl_offset, 16,
28759 wlc_phy_table_write_nphy(pi, 27, tbl_len, tbl_offset, 16,
28762 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28764 and_phy_reg(pi, 0x1e7,
28765 (u16) (~((0x1 << 15) |
28766 (0x1 << 14) | (0x1 << 13))));
28768 and_phy_reg(pi, 0x1e7,
28769 (u16) (~((0x1 << 14) | (0x1 << 13))));
28772 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28773 or_phy_reg(pi, 0x8f, (0x1 << 8));
28774 or_phy_reg(pi, 0xa5, (0x1 << 8));
28776 or_phy_reg(pi, 0xa5, (0x1 << 14));
28779 if (NREV_IS(pi->pubpi.phy_rev, 2))
28780 mod_phy_reg(pi, 0xdc, 0x00ff, 0x53);
28781 else if (NREV_LT(pi->pubpi.phy_rev, 2))
28782 mod_phy_reg(pi, 0xdc, 0x00ff, 0x5a);
28784 if (NREV_LT(pi->pubpi.phy_rev, 2) && IS40MHZ(pi))
28785 wlapi_bmac_mhf(pi->sh->physhim, MHF1, MHF1_IQSWAP_WAR,
28786 MHF1_IQSWAP_WAR, WLC_BAND_ALL);
28790 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 84, 64,
28791 8, pi->adj_pwr_tbl_nphy);
28792 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 84, 64,
28793 8, pi->adj_pwr_tbl_nphy);
28795 ishw = (ctrl_type == PHY_TPC_HW_ON) ? 0x1 : 0x0;
28796 mask = (0x1 << 14) | (0x1 << 13);
28797 val = (ishw << 14) | (ishw << 13);
28799 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28800 mask |= (0x1 << 15);
28801 val |= (ishw << 15);
28804 mod_phy_reg(pi, 0x1e7, mask, val);
28806 if (CHSPEC_IS5G(pi->radio_chanspec)) {
28807 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28808 mod_phy_reg(pi, 0x1e7, (0x7f << 0), 0x32);
28809 mod_phy_reg(pi, 0x222, (0xff << 0), 0x32);
28811 mod_phy_reg(pi, 0x1e7, (0x7f << 0), 0x64);
28812 if (NREV_GT(pi->pubpi.phy_rev, 1))
28813 mod_phy_reg(pi, 0x222,
28814 (0xff << 0), 0x64);
28818 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28819 if ((pi->nphy_txpwr_idx[0] != 128)
28820 && (pi->nphy_txpwr_idx[1] != 128)) {
28821 wlc_phy_txpwr_idx_cur_set_nphy(pi,
28831 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28832 and_phy_reg(pi, 0x8f, ~(0x1 << 8));
28833 and_phy_reg(pi, 0xa5, ~(0x1 << 8));
28835 and_phy_reg(pi, 0xa5, ~(0x1 << 14));
28838 if (NREV_IS(pi->pubpi.phy_rev, 2))
28839 mod_phy_reg(pi, 0xdc, 0x00ff, 0x3b);
28840 else if (NREV_LT(pi->pubpi.phy_rev, 2))
28841 mod_phy_reg(pi, 0xdc, 0x00ff, 0x40);
28843 if (NREV_LT(pi->pubpi.phy_rev, 2) && IS40MHZ(pi))
28844 wlapi_bmac_mhf(pi->sh->physhim, MHF1, MHF1_IQSWAP_WAR,
28845 0x0, WLC_BAND_ALL);
28848 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x297 :
28849 0x29b, (0x1 << 2), (0) << 2);
28851 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x297 :
28852 0x29b, (0x1 << 2), (0) << 2);
28858 if (pi->phyhang_avoid)
28859 wlc_phy_stay_in_carriersearch_nphy(pi, false);
28863 wlc_phy_txpwr_index_nphy(phy_info_t *pi, u8 core_mask, s8 txpwrindex,
28866 u8 core, txpwrctl_tbl;
28867 u16 tx_ind0, iq_ind0, lo_ind0;
28870 u16 rad_gain, dac_gain;
28873 u16 iqcomp_a, iqcomp_b;
28876 u8 tx_pwr_ctrl_state;
28880 if (pi->phyhang_avoid)
28881 wlc_phy_stay_in_carriersearch_nphy(pi, true);
28887 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
28889 if ((core_mask & (1 << core)) == 0) {
28893 txpwrctl_tbl = (core == PHY_CORE_0) ? 26 : 27;
28895 if (txpwrindex < 0) {
28896 if (pi->nphy_txpwrindex[core].index < 0) {
28901 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28902 mod_phy_reg(pi, 0x8f,
28904 pi->nphy_txpwrindex[core].
28906 mod_phy_reg(pi, 0xa5, (0x1 << 8),
28907 pi->nphy_txpwrindex[core].
28910 mod_phy_reg(pi, 0xa5,
28912 pi->nphy_txpwrindex[core].
28916 write_phy_reg(pi, (core == PHY_CORE_0) ?
28918 pi->nphy_txpwrindex[core].AfeCtrlDacGain);
28920 wlc_phy_table_write_nphy(pi, 7, 1, (0x110 + core), 16,
28921 &pi->nphy_txpwrindex[core].
28924 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m1m2);
28925 m1m2 &= ((core == PHY_CORE_0) ? 0x00ff : 0xff00);
28926 m1m2 |= ((core == PHY_CORE_0) ?
28927 (pi->nphy_txpwrindex[core].bbmult << 8) :
28928 (pi->nphy_txpwrindex[core].bbmult << 0));
28929 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &m1m2);
28931 if (restore_cals) {
28933 wlc_phy_table_write_nphy(pi, 15, 2,
28934 (80 + 2 * core), 16,
28936 nphy_txpwrindex[core].
28939 wlc_phy_table_write_nphy(pi, 15, 1, (85 + core),
28942 nphy_txpwrindex[core].
28944 wlc_phy_table_write_nphy(pi, 15, 1, (93 + core),
28947 nphy_txpwrindex[core].
28951 wlc_phy_txpwrctrl_enable_nphy(pi, pi->nphy_txpwrctrl);
28953 pi->nphy_txpwrindex[core].index_internal =
28954 pi->nphy_txpwrindex[core].index_internal_save;
28957 if (pi->nphy_txpwrindex[core].index < 0) {
28959 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28960 mod_phy_reg(pi, 0x8f,
28962 pi->nphy_txpwrindex[core].
28964 mod_phy_reg(pi, 0xa5, (0x1 << 8),
28965 pi->nphy_txpwrindex[core].
28968 pi->nphy_txpwrindex[core].
28970 read_phy_reg(pi, 0xa5);
28973 pi->nphy_txpwrindex[core].AfeCtrlDacGain =
28976 PHY_CORE_0) ? 0xaa : 0xab);
28978 wlc_phy_table_read_nphy(pi, 7, 1,
28979 (0x110 + core), 16,
28981 nphy_txpwrindex[core].
28984 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16,
28986 tmpval >>= ((core == PHY_CORE_0) ? 8 : 0);
28988 pi->nphy_txpwrindex[core].bbmult =
28991 wlc_phy_table_read_nphy(pi, 15, 2,
28992 (80 + 2 * core), 16,
28994 nphy_txpwrindex[core].
28997 wlc_phy_table_read_nphy(pi, 15, 1, (85 + core),
29000 nphy_txpwrindex[core].
29003 pi->nphy_txpwrindex[core].index_internal_save =
29004 pi->nphy_txpwrindex[core].index_internal;
29007 tx_pwr_ctrl_state = pi->nphy_txpwrctrl;
29008 wlc_phy_txpwrctrl_enable_nphy(pi, PHY_TPC_HW_OFF);
29010 if (NREV_IS(pi->pubpi.phy_rev, 1))
29011 wlapi_bmac_phyclk_fgc(pi->sh->physhim, ON);
29013 wlc_phy_table_read_nphy(pi, txpwrctl_tbl, 1,
29014 (tx_ind0 + txpwrindex), 32,
29017 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
29019 (txgain >> 16) & ((1 << (32 - 16 + 1)) - 1);
29022 (txgain >> 16) & ((1 << (28 - 16 + 1)) - 1);
29024 dac_gain = (txgain >> 8) & ((1 << (13 - 8 + 1)) - 1);
29025 bbmult = (txgain >> 0) & ((1 << (7 - 0 + 1)) - 1);
29027 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
29028 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0x8f :
29029 0xa5), (0x1 << 8), (0x1 << 8));
29031 mod_phy_reg(pi, 0xa5, (0x1 << 14), (0x1 << 14));
29033 write_phy_reg(pi, (core == PHY_CORE_0) ?
29034 0xaa : 0xab, dac_gain);
29036 wlc_phy_table_write_nphy(pi, 7, 1, (0x110 + core), 16,
29039 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m1m2);
29040 m1m2 &= ((core == PHY_CORE_0) ? 0x00ff : 0xff00);
29043 PHY_CORE_0) ? (bbmult << 8) : (bbmult << 0));
29045 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &m1m2);
29047 wlc_phy_table_read_nphy(pi, txpwrctl_tbl, 1,
29048 (iq_ind0 + txpwrindex), 32,
29050 iqcomp_a = (iqcomp >> 10) & ((1 << (19 - 10 + 1)) - 1);
29051 iqcomp_b = (iqcomp >> 0) & ((1 << (9 - 0 + 1)) - 1);
29053 if (restore_cals) {
29054 regval[0] = (u16) iqcomp_a;
29055 regval[1] = (u16) iqcomp_b;
29056 wlc_phy_table_write_nphy(pi, 15, 2,
29057 (80 + 2 * core), 16,
29061 wlc_phy_table_read_nphy(pi, txpwrctl_tbl, 1,
29062 (lo_ind0 + txpwrindex), 32,
29064 if (restore_cals) {
29065 wlc_phy_table_write_nphy(pi, 15, 1, (85 + core),
29069 if (NREV_IS(pi->pubpi.phy_rev, 1))
29070 wlapi_bmac_phyclk_fgc(pi->sh->physhim, OFF);
29073 wlc_phy_table_read_nphy(pi,
29076 NPHY_TBL_ID_CORE1TXPWRCTL
29078 NPHY_TBL_ID_CORE2TXPWRCTL),
29079 1, 576 + txpwrindex, 32,
29082 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
29083 0x29b, (0x1ff << 4),
29084 ((s16) rfpwr_offset) << 4);
29086 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
29087 0x29b, (0x1 << 2), (1) << 2);
29091 wlc_phy_txpwrctrl_enable_nphy(pi, tx_pwr_ctrl_state);
29094 pi->nphy_txpwrindex[core].index = txpwrindex;
29097 if (pi->phyhang_avoid)
29098 wlc_phy_stay_in_carriersearch_nphy(pi, false);
29102 wlc_phy_txpower_sromlimit_get_nphy(phy_info_t *pi, uint chan, u8 *max_pwr,
29105 u8 chan_freq_range;
29107 chan_freq_range = wlc_phy_get_chan_freq_range_nphy(pi, chan);
29108 switch (chan_freq_range) {
29109 case WL_CHAN_FREQ_RANGE_2G:
29110 *max_pwr = pi->tx_srom_max_rate_2g[txp_rate_idx];
29112 case WL_CHAN_FREQ_RANGE_5GM:
29113 *max_pwr = pi->tx_srom_max_rate_5g_mid[txp_rate_idx];
29115 case WL_CHAN_FREQ_RANGE_5GL:
29116 *max_pwr = pi->tx_srom_max_rate_5g_low[txp_rate_idx];
29118 case WL_CHAN_FREQ_RANGE_5GH:
29119 *max_pwr = pi->tx_srom_max_rate_5g_hi[txp_rate_idx];
29122 *max_pwr = pi->tx_srom_max_rate_2g[txp_rate_idx];
29129 void wlc_phy_stay_in_carriersearch_nphy(phy_info_t *pi, bool enable)
29131 u16 clip_off[] = { 0xffff, 0xffff };
29134 if (pi->nphy_deaf_count == 0) {
29135 pi->classifier_state =
29136 wlc_phy_classifier_nphy(pi, 0, 0);
29137 wlc_phy_classifier_nphy(pi, (0x7 << 0), 4);
29138 wlc_phy_clip_det_nphy(pi, 0, pi->clip_state);
29139 wlc_phy_clip_det_nphy(pi, 1, clip_off);
29142 pi->nphy_deaf_count++;
29144 wlc_phy_resetcca_nphy(pi);
29147 pi->nphy_deaf_count--;
29149 if (pi->nphy_deaf_count == 0) {
29150 wlc_phy_classifier_nphy(pi, (0x7 << 0),
29151 pi->classifier_state);
29152 wlc_phy_clip_det_nphy(pi, 1, pi->clip_state);
29157 void wlc_nphy_deaf_mode(phy_info_t *pi, bool mode)
29159 wlapi_suspend_mac_and_wait(pi->sh->physhim);
29162 if (pi->nphy_deaf_count == 0)
29163 wlc_phy_stay_in_carriersearch_nphy(pi, true);
29165 if (pi->nphy_deaf_count > 0)
29166 wlc_phy_stay_in_carriersearch_nphy(pi, false);
29168 wlapi_enable_mac(pi->sh->physhim);