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>
20 #include <linux/delay.h>
21 #include <linux/pci.h>
23 #include <chipcommon.h>
26 #include <brcm_hw_ids.h>
30 #include <phy_radio.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 /* 5357 Chip specific ChipControl register bits */
145 #define CCTRL5357_EXTPA (1<<14) /* extPA in ChipControl 1, bit 14 */
146 #define CCTRL5357_ANT_MUX_2o3 (1<<15) /* 2o3 in ChipControl 1, bit 15 */
148 typedef struct _nphy_iqcal_params {
156 } nphy_iqcal_params_t;
158 typedef struct _nphy_txiqcal_ladder {
161 } nphy_txiqcal_ladder_t;
164 nphy_txgains_t gains;
167 } nphy_ipa_txcalgains_t;
169 typedef struct nphy_papd_restore_state_t {
178 } nphy_papd_restore_state;
180 typedef struct _nphy_ipa_txrxgain {
187 } nphy_ipa_txrxgain_t;
189 #define NPHY_IPA_RXCAL_MAXGAININDEX (6 - 1)
191 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_5GHz[] = { {0, 0, 0, 0, 0, 100},
199 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_2GHz[] = { {0, 0, 0, 0, 0, 128},
207 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_5GHz_rev7[] = { {0, 0, 0, 0, 0, 100},
215 nphy_ipa_txrxgain_t nphy_ipa_rxcal_gaintbl_2GHz_rev7[] = { {0, 0, 0, 0, 0, 10},
223 #define NPHY_RXCAL_TONEAMP 181
224 #define NPHY_RXCAL_TONEFREQ_40MHz 4000
225 #define NPHY_RXCAL_TONEFREQ_20MHz 2000
228 NPHY_RXCAL_GAIN_INIT = 0,
233 #define wlc_phy_get_papd_nphy(pi) \
234 (read_phy_reg((pi), 0x1e7) & \
239 #define TXFILT_SHAPING_OFDM20 0
240 #define TXFILT_SHAPING_OFDM40 1
241 #define TXFILT_SHAPING_CCK 2
242 #define TXFILT_DEFAULT_OFDM20 3
243 #define TXFILT_DEFAULT_OFDM40 4
245 u16 NPHY_IPA_REV4_txdigi_filtcoeffs[][NPHY_NUM_DIG_FILT_COEFFS] = {
246 {-377, 137, -407, 208, -1527, 956, 93, 186, 93,
247 230, -44, 230, 201, -191, 201},
248 {-77, 20, -98, 49, -93, 60, 56, 111, 56, 26, -5,
250 {-360, 164, -376, 164, -1533, 576, 308, -314, 308,
251 121, -73, 121, 91, 124, 91},
252 {-295, 200, -363, 142, -1391, 826, 151, 301, 151,
253 151, 301, 151, 602, -752, 602},
254 {-92, 58, -96, 49, -104, 44, 17, 35, 17,
255 12, 25, 12, 13, 27, 13},
256 {-375, 136, -399, 209, -1479, 949, 130, 260, 130,
257 230, -44, 230, 201, -191, 201},
258 {0xed9, 0xc8, 0xe95, 0x8e, 0xa91, 0x33a, 0x97, 0x12d, 0x97,
259 0x97, 0x12d, 0x97, 0x25a, 0xd10, 0x25a}
262 typedef struct _chan_info_nphy_2055 {
278 u8 RF_core1_lgbuf_a_tune;
279 u8 RF_core1_lgbuf_g_tune;
280 u8 RF_core1_rxrf_reg1;
281 u8 RF_core1_tx_pga_pad_tn;
282 u8 RF_core1_tx_mx_bgtrim;
283 u8 RF_core2_lgbuf_a_tune;
284 u8 RF_core2_lgbuf_g_tune;
285 u8 RF_core2_rxrf_reg1;
286 u8 RF_core2_tx_pga_pad_tn;
287 u8 RF_core2_tx_mx_bgtrim;
294 } chan_info_nphy_2055_t;
296 typedef struct _chan_info_nphy_radio205x {
299 u8 RF_SYN_pll_vcocal1;
300 u8 RF_SYN_pll_vcocal2;
301 u8 RF_SYN_pll_refdiv;
304 u8 RF_SYN_pll_loopfilter1;
305 u8 RF_SYN_pll_loopfilter2;
306 u8 RF_SYN_pll_loopfilter3;
307 u8 RF_SYN_pll_loopfilter4;
308 u8 RF_SYN_pll_loopfilter5;
309 u8 RF_SYN_reserved_addr27;
310 u8 RF_SYN_reserved_addr28;
311 u8 RF_SYN_reserved_addr29;
312 u8 RF_SYN_logen_VCOBUF1;
313 u8 RF_SYN_logen_MIXER2;
314 u8 RF_SYN_logen_BUF3;
315 u8 RF_SYN_logen_BUF4;
318 u8 RF_TX0_intpaa_boost_tune;
319 u8 RF_TX0_intpag_boost_tune;
320 u8 RF_TX0_pada_boost_tune;
321 u8 RF_TX0_padg_boost_tune;
322 u8 RF_TX0_pgaa_boost_tune;
323 u8 RF_TX0_pgag_boost_tune;
324 u8 RF_TX0_mixa_boost_tune;
325 u8 RF_TX0_mixg_boost_tune;
328 u8 RF_TX1_intpaa_boost_tune;
329 u8 RF_TX1_intpag_boost_tune;
330 u8 RF_TX1_pada_boost_tune;
331 u8 RF_TX1_padg_boost_tune;
332 u8 RF_TX1_pgaa_boost_tune;
333 u8 RF_TX1_pgag_boost_tune;
334 u8 RF_TX1_mixa_boost_tune;
335 u8 RF_TX1_mixg_boost_tune;
342 } chan_info_nphy_radio205x_t;
344 typedef struct _chan_info_nphy_radio2057 {
347 u8 RF_vcocal_countval0;
348 u8 RF_vcocal_countval1;
349 u8 RF_rfpll_refmaster_sparextalsize;
350 u8 RF_rfpll_loopfilter_r1;
351 u8 RF_rfpll_loopfilter_c2;
352 u8 RF_rfpll_loopfilter_c1;
357 u8 RF_logen_mx2g_tune;
358 u8 RF_logen_mx5g_tune;
359 u8 RF_logen_indbuf2g_tune;
360 u8 RF_logen_indbuf5g_tune;
361 u8 RF_txmix2g_tune_boost_pu_core0;
362 u8 RF_pad2g_tune_pus_core0;
363 u8 RF_pga_boost_tune_core0;
364 u8 RF_txmix5g_boost_tune_core0;
365 u8 RF_pad5g_tune_misc_pus_core0;
366 u8 RF_lna2g_tune_core0;
367 u8 RF_lna5g_tune_core0;
368 u8 RF_txmix2g_tune_boost_pu_core1;
369 u8 RF_pad2g_tune_pus_core1;
370 u8 RF_pga_boost_tune_core1;
371 u8 RF_txmix5g_boost_tune_core1;
372 u8 RF_pad5g_tune_misc_pus_core1;
373 u8 RF_lna2g_tune_core1;
374 u8 RF_lna5g_tune_core1;
381 } chan_info_nphy_radio2057_t;
383 typedef struct _chan_info_nphy_radio2057_rev5 {
386 u8 RF_vcocal_countval0;
387 u8 RF_vcocal_countval1;
388 u8 RF_rfpll_refmaster_sparextalsize;
389 u8 RF_rfpll_loopfilter_r1;
390 u8 RF_rfpll_loopfilter_c2;
391 u8 RF_rfpll_loopfilter_c1;
396 u8 RF_logen_mx2g_tune;
397 u8 RF_logen_indbuf2g_tune;
398 u8 RF_txmix2g_tune_boost_pu_core0;
399 u8 RF_pad2g_tune_pus_core0;
400 u8 RF_lna2g_tune_core0;
401 u8 RF_txmix2g_tune_boost_pu_core1;
402 u8 RF_pad2g_tune_pus_core1;
403 u8 RF_lna2g_tune_core1;
410 } chan_info_nphy_radio2057_rev5_t;
412 typedef struct nphy_sfo_cfg {
421 static chan_info_nphy_2055_t chan_info_nphy_2055[] = {
423 184, 4920, 3280, 0x71, 0x01, 0xEC, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
424 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
425 0x0F, 0x8F, 0x7B4, 0x7B0, 0x7AC, 0x214, 0x215, 0x216},
427 186, 4930, 3287, 0x71, 0x01, 0xED, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
428 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
429 0x0F, 0x8F, 0x7B8, 0x7B4, 0x7B0, 0x213, 0x214, 0x215},
431 188, 4940, 3293, 0x71, 0x01, 0xEE, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
432 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
433 0x0F, 0x8F, 0x7BC, 0x7B8, 0x7B4, 0x212, 0x213, 0x214},
435 190, 4950, 3300, 0x71, 0x01, 0xEF, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
436 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
437 0x0F, 0x8F, 0x7C0, 0x7BC, 0x7B8, 0x211, 0x212, 0x213},
439 192, 4960, 3307, 0x71, 0x01, 0xF0, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
440 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
441 0x0F, 0x8F, 0x7C4, 0x7C0, 0x7BC, 0x20F, 0x211, 0x212},
443 194, 4970, 3313, 0x71, 0x01, 0xF1, 0x0F, 0xFF, 0x01, 0x04, 0x0A,
444 0x00, 0x8F, 0xEE, 0xEE, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
445 0x0F, 0x8F, 0x7C8, 0x7C4, 0x7C0, 0x20E, 0x20F, 0x211},
447 196, 4980, 3320, 0x71, 0x01, 0xF2, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
448 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
449 0x0F, 0x8F, 0x7CC, 0x7C8, 0x7C4, 0x20D, 0x20E, 0x20F},
451 198, 4990, 3327, 0x71, 0x01, 0xF3, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
452 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
453 0x0F, 0x8F, 0x7D0, 0x7CC, 0x7C8, 0x20C, 0x20D, 0x20E},
455 200, 5000, 3333, 0x71, 0x01, 0xF4, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
456 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
457 0x0F, 0x8F, 0x7D4, 0x7D0, 0x7CC, 0x20B, 0x20C, 0x20D},
459 202, 5010, 3340, 0x71, 0x01, 0xF5, 0x0E, 0xFF, 0x01, 0x04, 0x0A,
460 0x00, 0x8F, 0xDD, 0xDD, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
461 0x0F, 0x8F, 0x7D8, 0x7D4, 0x7D0, 0x20A, 0x20B, 0x20C},
463 204, 5020, 3347, 0x71, 0x01, 0xF6, 0x0E, 0xF7, 0x01, 0x04, 0x0A,
464 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
465 0x0F, 0x8F, 0x7DC, 0x7D8, 0x7D4, 0x209, 0x20A, 0x20B},
467 206, 5030, 3353, 0x71, 0x01, 0xF7, 0x0E, 0xF7, 0x01, 0x04, 0x0A,
468 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
469 0x0F, 0x8F, 0x7E0, 0x7DC, 0x7D8, 0x208, 0x209, 0x20A},
471 208, 5040, 3360, 0x71, 0x01, 0xF8, 0x0D, 0xEF, 0x01, 0x04, 0x0A,
472 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
473 0x0F, 0x8F, 0x7E4, 0x7E0, 0x7DC, 0x207, 0x208, 0x209},
475 210, 5050, 3367, 0x71, 0x01, 0xF9, 0x0D, 0xEF, 0x01, 0x04, 0x0A,
476 0x00, 0x8F, 0xCC, 0xCC, 0xFF, 0x00, 0x0F, 0x0F, 0x8F, 0xFF, 0x00, 0x0F,
477 0x0F, 0x8F, 0x7E8, 0x7E4, 0x7E0, 0x206, 0x207, 0x208},
479 212, 5060, 3373, 0x71, 0x01, 0xFA, 0x0D, 0xE6, 0x01, 0x04, 0x0A,
480 0x00, 0x8F, 0xBB, 0xBB, 0xFF, 0x00, 0x0E, 0x0F, 0x8E, 0xFF, 0x00, 0x0E,
481 0x0F, 0x8E, 0x7EC, 0x7E8, 0x7E4, 0x205, 0x206, 0x207},
483 214, 5070, 3380, 0x71, 0x01, 0xFB, 0x0D, 0xE6, 0x01, 0x04, 0x0A,
484 0x00, 0x8F, 0xBB, 0xBB, 0xFF, 0x00, 0x0E, 0x0F, 0x8E, 0xFF, 0x00, 0x0E,
485 0x0F, 0x8E, 0x7F0, 0x7EC, 0x7E8, 0x204, 0x205, 0x206},
487 216, 5080, 3387, 0x71, 0x01, 0xFC, 0x0D, 0xDE, 0x01, 0x04, 0x0A,
488 0x00, 0x8E, 0xBB, 0xBB, 0xEE, 0x00, 0x0E, 0x0F, 0x8D, 0xEE, 0x00, 0x0E,
489 0x0F, 0x8D, 0x7F4, 0x7F0, 0x7EC, 0x203, 0x204, 0x205},
491 218, 5090, 3393, 0x71, 0x01, 0xFD, 0x0D, 0xDE, 0x01, 0x04, 0x0A,
492 0x00, 0x8E, 0xBB, 0xBB, 0xEE, 0x00, 0x0E, 0x0F, 0x8D, 0xEE, 0x00, 0x0E,
493 0x0F, 0x8D, 0x7F8, 0x7F4, 0x7F0, 0x202, 0x203, 0x204},
495 220, 5100, 3400, 0x71, 0x01, 0xFE, 0x0C, 0xD6, 0x01, 0x04, 0x0A,
496 0x00, 0x8E, 0xAA, 0xAA, 0xEE, 0x00, 0x0D, 0x0F, 0x8D, 0xEE, 0x00, 0x0D,
497 0x0F, 0x8D, 0x7FC, 0x7F8, 0x7F4, 0x201, 0x202, 0x203},
499 222, 5110, 3407, 0x71, 0x01, 0xFF, 0x0C, 0xD6, 0x01, 0x04, 0x0A,
500 0x00, 0x8E, 0xAA, 0xAA, 0xEE, 0x00, 0x0D, 0x0F, 0x8D, 0xEE, 0x00, 0x0D,
501 0x0F, 0x8D, 0x800, 0x7FC, 0x7F8, 0x200, 0x201, 0x202},
503 224, 5120, 3413, 0x71, 0x02, 0x00, 0x0C, 0xCE, 0x01, 0x04, 0x0A,
504 0x00, 0x8D, 0xAA, 0xAA, 0xDD, 0x00, 0x0D, 0x0F, 0x8C, 0xDD, 0x00, 0x0D,
505 0x0F, 0x8C, 0x804, 0x800, 0x7FC, 0x1FF, 0x200, 0x201},
507 226, 5130, 3420, 0x71, 0x02, 0x01, 0x0C, 0xCE, 0x01, 0x04, 0x0A,
508 0x00, 0x8D, 0xAA, 0xAA, 0xDD, 0x00, 0x0D, 0x0F, 0x8C, 0xDD, 0x00, 0x0D,
509 0x0F, 0x8C, 0x808, 0x804, 0x800, 0x1FE, 0x1FF, 0x200},
511 228, 5140, 3427, 0x71, 0x02, 0x02, 0x0C, 0xC6, 0x01, 0x04, 0x0A,
512 0x00, 0x8D, 0x99, 0x99, 0xDD, 0x00, 0x0C, 0x0E, 0x8B, 0xDD, 0x00, 0x0C,
513 0x0E, 0x8B, 0x80C, 0x808, 0x804, 0x1FD, 0x1FE, 0x1FF},
515 32, 5160, 3440, 0x71, 0x02, 0x04, 0x0B, 0xBE, 0x01, 0x04, 0x0A,
516 0x00, 0x8C, 0x99, 0x99, 0xCC, 0x00, 0x0B, 0x0D, 0x8A, 0xCC, 0x00, 0x0B,
517 0x0D, 0x8A, 0x814, 0x810, 0x80C, 0x1FB, 0x1FC, 0x1FD},
519 34, 5170, 3447, 0x71, 0x02, 0x05, 0x0B, 0xBE, 0x01, 0x04, 0x0A,
520 0x00, 0x8C, 0x99, 0x99, 0xCC, 0x00, 0x0B, 0x0D, 0x8A, 0xCC, 0x00, 0x0B,
521 0x0D, 0x8A, 0x818, 0x814, 0x810, 0x1FA, 0x1FB, 0x1FC},
523 36, 5180, 3453, 0x71, 0x02, 0x06, 0x0B, 0xB6, 0x01, 0x04, 0x0A,
524 0x00, 0x8C, 0x88, 0x88, 0xCC, 0x00, 0x0B, 0x0C, 0x89, 0xCC, 0x00, 0x0B,
525 0x0C, 0x89, 0x81C, 0x818, 0x814, 0x1F9, 0x1FA, 0x1FB},
527 38, 5190, 3460, 0x71, 0x02, 0x07, 0x0B, 0xB6, 0x01, 0x04, 0x0A,
528 0x00, 0x8C, 0x88, 0x88, 0xCC, 0x00, 0x0B, 0x0C, 0x89, 0xCC, 0x00, 0x0B,
529 0x0C, 0x89, 0x820, 0x81C, 0x818, 0x1F8, 0x1F9, 0x1FA},
531 40, 5200, 3467, 0x71, 0x02, 0x08, 0x0B, 0xAF, 0x01, 0x04, 0x0A,
532 0x00, 0x8B, 0x88, 0x88, 0xBB, 0x00, 0x0A, 0x0B, 0x89, 0xBB, 0x00, 0x0A,
533 0x0B, 0x89, 0x824, 0x820, 0x81C, 0x1F7, 0x1F8, 0x1F9},
535 42, 5210, 3473, 0x71, 0x02, 0x09, 0x0B, 0xAF, 0x01, 0x04, 0x0A,
536 0x00, 0x8B, 0x88, 0x88, 0xBB, 0x00, 0x0A, 0x0B, 0x89, 0xBB, 0x00, 0x0A,
537 0x0B, 0x89, 0x828, 0x824, 0x820, 0x1F6, 0x1F7, 0x1F8},
539 44, 5220, 3480, 0x71, 0x02, 0x0A, 0x0A, 0xA7, 0x01, 0x04, 0x0A,
540 0x00, 0x8B, 0x77, 0x77, 0xBB, 0x00, 0x09, 0x0A, 0x88, 0xBB, 0x00, 0x09,
541 0x0A, 0x88, 0x82C, 0x828, 0x824, 0x1F5, 0x1F6, 0x1F7},
543 46, 5230, 3487, 0x71, 0x02, 0x0B, 0x0A, 0xA7, 0x01, 0x04, 0x0A,
544 0x00, 0x8B, 0x77, 0x77, 0xBB, 0x00, 0x09, 0x0A, 0x88, 0xBB, 0x00, 0x09,
545 0x0A, 0x88, 0x830, 0x82C, 0x828, 0x1F4, 0x1F5, 0x1F6},
547 48, 5240, 3493, 0x71, 0x02, 0x0C, 0x0A, 0xA0, 0x01, 0x04, 0x0A,
548 0x00, 0x8A, 0x77, 0x77, 0xAA, 0x00, 0x09, 0x0A, 0x87, 0xAA, 0x00, 0x09,
549 0x0A, 0x87, 0x834, 0x830, 0x82C, 0x1F3, 0x1F4, 0x1F5},
551 50, 5250, 3500, 0x71, 0x02, 0x0D, 0x0A, 0xA0, 0x01, 0x04, 0x0A,
552 0x00, 0x8A, 0x77, 0x77, 0xAA, 0x00, 0x09, 0x0A, 0x87, 0xAA, 0x00, 0x09,
553 0x0A, 0x87, 0x838, 0x834, 0x830, 0x1F2, 0x1F3, 0x1F4},
555 52, 5260, 3507, 0x71, 0x02, 0x0E, 0x0A, 0x98, 0x01, 0x04, 0x0A,
556 0x00, 0x8A, 0x66, 0x66, 0xAA, 0x00, 0x08, 0x09, 0x87, 0xAA, 0x00, 0x08,
557 0x09, 0x87, 0x83C, 0x838, 0x834, 0x1F1, 0x1F2, 0x1F3},
559 54, 5270, 3513, 0x71, 0x02, 0x0F, 0x0A, 0x98, 0x01, 0x04, 0x0A,
560 0x00, 0x8A, 0x66, 0x66, 0xAA, 0x00, 0x08, 0x09, 0x87, 0xAA, 0x00, 0x08,
561 0x09, 0x87, 0x840, 0x83C, 0x838, 0x1F0, 0x1F1, 0x1F2},
563 56, 5280, 3520, 0x71, 0x02, 0x10, 0x09, 0x91, 0x01, 0x04, 0x0A,
564 0x00, 0x89, 0x66, 0x66, 0x99, 0x00, 0x08, 0x08, 0x86, 0x99, 0x00, 0x08,
565 0x08, 0x86, 0x844, 0x840, 0x83C, 0x1F0, 0x1F0, 0x1F1},
567 58, 5290, 3527, 0x71, 0x02, 0x11, 0x09, 0x91, 0x01, 0x04, 0x0A,
568 0x00, 0x89, 0x66, 0x66, 0x99, 0x00, 0x08, 0x08, 0x86, 0x99, 0x00, 0x08,
569 0x08, 0x86, 0x848, 0x844, 0x840, 0x1EF, 0x1F0, 0x1F0},
571 60, 5300, 3533, 0x71, 0x02, 0x12, 0x09, 0x8A, 0x01, 0x04, 0x0A,
572 0x00, 0x89, 0x55, 0x55, 0x99, 0x00, 0x08, 0x07, 0x85, 0x99, 0x00, 0x08,
573 0x07, 0x85, 0x84C, 0x848, 0x844, 0x1EE, 0x1EF, 0x1F0},
575 62, 5310, 3540, 0x71, 0x02, 0x13, 0x09, 0x8A, 0x01, 0x04, 0x0A,
576 0x00, 0x89, 0x55, 0x55, 0x99, 0x00, 0x08, 0x07, 0x85, 0x99, 0x00, 0x08,
577 0x07, 0x85, 0x850, 0x84C, 0x848, 0x1ED, 0x1EE, 0x1EF},
579 64, 5320, 3547, 0x71, 0x02, 0x14, 0x09, 0x83, 0x01, 0x04, 0x0A,
580 0x00, 0x88, 0x55, 0x55, 0x88, 0x00, 0x07, 0x07, 0x84, 0x88, 0x00, 0x07,
581 0x07, 0x84, 0x854, 0x850, 0x84C, 0x1EC, 0x1ED, 0x1EE},
583 66, 5330, 3553, 0x71, 0x02, 0x15, 0x09, 0x83, 0x01, 0x04, 0x0A,
584 0x00, 0x88, 0x55, 0x55, 0x88, 0x00, 0x07, 0x07, 0x84, 0x88, 0x00, 0x07,
585 0x07, 0x84, 0x858, 0x854, 0x850, 0x1EB, 0x1EC, 0x1ED},
587 68, 5340, 3560, 0x71, 0x02, 0x16, 0x08, 0x7C, 0x01, 0x04, 0x0A,
588 0x00, 0x88, 0x44, 0x44, 0x88, 0x00, 0x07, 0x06, 0x84, 0x88, 0x00, 0x07,
589 0x06, 0x84, 0x85C, 0x858, 0x854, 0x1EA, 0x1EB, 0x1EC},
591 70, 5350, 3567, 0x71, 0x02, 0x17, 0x08, 0x7C, 0x01, 0x04, 0x0A,
592 0x00, 0x88, 0x44, 0x44, 0x88, 0x00, 0x07, 0x06, 0x84, 0x88, 0x00, 0x07,
593 0x06, 0x84, 0x860, 0x85C, 0x858, 0x1E9, 0x1EA, 0x1EB},
595 72, 5360, 3573, 0x71, 0x02, 0x18, 0x08, 0x75, 0x01, 0x04, 0x0A,
596 0x00, 0x87, 0x44, 0x44, 0x77, 0x00, 0x06, 0x05, 0x83, 0x77, 0x00, 0x06,
597 0x05, 0x83, 0x864, 0x860, 0x85C, 0x1E8, 0x1E9, 0x1EA},
599 74, 5370, 3580, 0x71, 0x02, 0x19, 0x08, 0x75, 0x01, 0x04, 0x0A,
600 0x00, 0x87, 0x44, 0x44, 0x77, 0x00, 0x06, 0x05, 0x83, 0x77, 0x00, 0x06,
601 0x05, 0x83, 0x868, 0x864, 0x860, 0x1E7, 0x1E8, 0x1E9},
603 76, 5380, 3587, 0x71, 0x02, 0x1A, 0x08, 0x6E, 0x01, 0x04, 0x0A,
604 0x00, 0x87, 0x33, 0x33, 0x77, 0x00, 0x06, 0x04, 0x82, 0x77, 0x00, 0x06,
605 0x04, 0x82, 0x86C, 0x868, 0x864, 0x1E6, 0x1E7, 0x1E8},
607 78, 5390, 3593, 0x71, 0x02, 0x1B, 0x08, 0x6E, 0x01, 0x04, 0x0A,
608 0x00, 0x87, 0x33, 0x33, 0x77, 0x00, 0x06, 0x04, 0x82, 0x77, 0x00, 0x06,
609 0x04, 0x82, 0x870, 0x86C, 0x868, 0x1E5, 0x1E6, 0x1E7},
611 80, 5400, 3600, 0x71, 0x02, 0x1C, 0x07, 0x67, 0x01, 0x04, 0x0A,
612 0x00, 0x86, 0x33, 0x33, 0x66, 0x00, 0x05, 0x04, 0x81, 0x66, 0x00, 0x05,
613 0x04, 0x81, 0x874, 0x870, 0x86C, 0x1E5, 0x1E5, 0x1E6},
615 82, 5410, 3607, 0x71, 0x02, 0x1D, 0x07, 0x67, 0x01, 0x04, 0x0A,
616 0x00, 0x86, 0x33, 0x33, 0x66, 0x00, 0x05, 0x04, 0x81, 0x66, 0x00, 0x05,
617 0x04, 0x81, 0x878, 0x874, 0x870, 0x1E4, 0x1E5, 0x1E5},
619 84, 5420, 3613, 0x71, 0x02, 0x1E, 0x07, 0x61, 0x01, 0x04, 0x0A,
620 0x00, 0x86, 0x22, 0x22, 0x66, 0x00, 0x05, 0x03, 0x80, 0x66, 0x00, 0x05,
621 0x03, 0x80, 0x87C, 0x878, 0x874, 0x1E3, 0x1E4, 0x1E5},
623 86, 5430, 3620, 0x71, 0x02, 0x1F, 0x07, 0x61, 0x01, 0x04, 0x0A,
624 0x00, 0x86, 0x22, 0x22, 0x66, 0x00, 0x05, 0x03, 0x80, 0x66, 0x00, 0x05,
625 0x03, 0x80, 0x880, 0x87C, 0x878, 0x1E2, 0x1E3, 0x1E4},
627 88, 5440, 3627, 0x71, 0x02, 0x20, 0x07, 0x5A, 0x01, 0x04, 0x0A,
628 0x00, 0x85, 0x22, 0x22, 0x55, 0x00, 0x04, 0x02, 0x80, 0x55, 0x00, 0x04,
629 0x02, 0x80, 0x884, 0x880, 0x87C, 0x1E1, 0x1E2, 0x1E3},
631 90, 5450, 3633, 0x71, 0x02, 0x21, 0x07, 0x5A, 0x01, 0x04, 0x0A,
632 0x00, 0x85, 0x22, 0x22, 0x55, 0x00, 0x04, 0x02, 0x80, 0x55, 0x00, 0x04,
633 0x02, 0x80, 0x888, 0x884, 0x880, 0x1E0, 0x1E1, 0x1E2},
635 92, 5460, 3640, 0x71, 0x02, 0x22, 0x06, 0x53, 0x01, 0x04, 0x0A,
636 0x00, 0x85, 0x11, 0x11, 0x55, 0x00, 0x04, 0x01, 0x80, 0x55, 0x00, 0x04,
637 0x01, 0x80, 0x88C, 0x888, 0x884, 0x1DF, 0x1E0, 0x1E1},
639 94, 5470, 3647, 0x71, 0x02, 0x23, 0x06, 0x53, 0x01, 0x04, 0x0A,
640 0x00, 0x85, 0x11, 0x11, 0x55, 0x00, 0x04, 0x01, 0x80, 0x55, 0x00, 0x04,
641 0x01, 0x80, 0x890, 0x88C, 0x888, 0x1DE, 0x1DF, 0x1E0},
643 96, 5480, 3653, 0x71, 0x02, 0x24, 0x06, 0x4D, 0x01, 0x04, 0x0A,
644 0x00, 0x84, 0x11, 0x11, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
645 0x00, 0x80, 0x894, 0x890, 0x88C, 0x1DD, 0x1DE, 0x1DF},
647 98, 5490, 3660, 0x71, 0x02, 0x25, 0x06, 0x4D, 0x01, 0x04, 0x0A,
648 0x00, 0x84, 0x11, 0x11, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
649 0x00, 0x80, 0x898, 0x894, 0x890, 0x1DD, 0x1DD, 0x1DE},
651 100, 5500, 3667, 0x71, 0x02, 0x26, 0x06, 0x47, 0x01, 0x04, 0x0A,
652 0x00, 0x84, 0x00, 0x00, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
653 0x00, 0x80, 0x89C, 0x898, 0x894, 0x1DC, 0x1DD, 0x1DD},
655 102, 5510, 3673, 0x71, 0x02, 0x27, 0x06, 0x47, 0x01, 0x04, 0x0A,
656 0x00, 0x84, 0x00, 0x00, 0x44, 0x00, 0x03, 0x00, 0x80, 0x44, 0x00, 0x03,
657 0x00, 0x80, 0x8A0, 0x89C, 0x898, 0x1DB, 0x1DC, 0x1DD},
659 104, 5520, 3680, 0x71, 0x02, 0x28, 0x05, 0x40, 0x01, 0x04, 0x0A,
660 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
661 0x00, 0x80, 0x8A4, 0x8A0, 0x89C, 0x1DA, 0x1DB, 0x1DC},
663 106, 5530, 3687, 0x71, 0x02, 0x29, 0x05, 0x40, 0x01, 0x04, 0x0A,
664 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
665 0x00, 0x80, 0x8A8, 0x8A4, 0x8A0, 0x1D9, 0x1DA, 0x1DB},
667 108, 5540, 3693, 0x71, 0x02, 0x2A, 0x05, 0x3A, 0x01, 0x04, 0x0A,
668 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
669 0x00, 0x80, 0x8AC, 0x8A8, 0x8A4, 0x1D8, 0x1D9, 0x1DA},
671 110, 5550, 3700, 0x71, 0x02, 0x2B, 0x05, 0x3A, 0x01, 0x04, 0x0A,
672 0x00, 0x83, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00, 0x80, 0x33, 0x00, 0x02,
673 0x00, 0x80, 0x8B0, 0x8AC, 0x8A8, 0x1D7, 0x1D8, 0x1D9},
675 112, 5560, 3707, 0x71, 0x02, 0x2C, 0x05, 0x34, 0x01, 0x04, 0x0A,
676 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
677 0x00, 0x80, 0x8B4, 0x8B0, 0x8AC, 0x1D7, 0x1D7, 0x1D8},
679 114, 5570, 3713, 0x71, 0x02, 0x2D, 0x05, 0x34, 0x01, 0x04, 0x0A,
680 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
681 0x00, 0x80, 0x8B8, 0x8B4, 0x8B0, 0x1D6, 0x1D7, 0x1D7},
683 116, 5580, 3720, 0x71, 0x02, 0x2E, 0x04, 0x2E, 0x01, 0x04, 0x0A,
684 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
685 0x00, 0x80, 0x8BC, 0x8B8, 0x8B4, 0x1D5, 0x1D6, 0x1D7},
687 118, 5590, 3727, 0x71, 0x02, 0x2F, 0x04, 0x2E, 0x01, 0x04, 0x0A,
688 0x00, 0x82, 0x00, 0x00, 0x22, 0x00, 0x01, 0x00, 0x80, 0x22, 0x00, 0x01,
689 0x00, 0x80, 0x8C0, 0x8BC, 0x8B8, 0x1D4, 0x1D5, 0x1D6},
691 120, 5600, 3733, 0x71, 0x02, 0x30, 0x04, 0x28, 0x01, 0x04, 0x0A,
692 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, 0x80, 0x11, 0x00, 0x01,
693 0x00, 0x80, 0x8C4, 0x8C0, 0x8BC, 0x1D3, 0x1D4, 0x1D5},
695 122, 5610, 3740, 0x71, 0x02, 0x31, 0x04, 0x28, 0x01, 0x04, 0x0A,
696 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x01, 0x00, 0x80, 0x11, 0x00, 0x01,
697 0x00, 0x80, 0x8C8, 0x8C4, 0x8C0, 0x1D2, 0x1D3, 0x1D4},
699 124, 5620, 3747, 0x71, 0x02, 0x32, 0x04, 0x21, 0x01, 0x04, 0x0A,
700 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x80, 0x11, 0x00, 0x00,
701 0x00, 0x80, 0x8CC, 0x8C8, 0x8C4, 0x1D2, 0x1D2, 0x1D3},
703 126, 5630, 3753, 0x71, 0x02, 0x33, 0x04, 0x21, 0x01, 0x04, 0x0A,
704 0x00, 0x81, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x80, 0x11, 0x00, 0x00,
705 0x00, 0x80, 0x8D0, 0x8CC, 0x8C8, 0x1D1, 0x1D2, 0x1D2},
707 128, 5640, 3760, 0x71, 0x02, 0x34, 0x03, 0x1C, 0x01, 0x04, 0x0A,
708 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
709 0x00, 0x80, 0x8D4, 0x8D0, 0x8CC, 0x1D0, 0x1D1, 0x1D2},
711 130, 5650, 3767, 0x71, 0x02, 0x35, 0x03, 0x1C, 0x01, 0x04, 0x0A,
712 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
713 0x00, 0x80, 0x8D8, 0x8D4, 0x8D0, 0x1CF, 0x1D0, 0x1D1},
715 132, 5660, 3773, 0x71, 0x02, 0x36, 0x03, 0x16, 0x01, 0x04, 0x0A,
716 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
717 0x00, 0x80, 0x8DC, 0x8D8, 0x8D4, 0x1CE, 0x1CF, 0x1D0},
719 134, 5670, 3780, 0x71, 0x02, 0x37, 0x03, 0x16, 0x01, 0x04, 0x0A,
720 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
721 0x00, 0x80, 0x8E0, 0x8DC, 0x8D8, 0x1CE, 0x1CE, 0x1CF},
723 136, 5680, 3787, 0x71, 0x02, 0x38, 0x03, 0x10, 0x01, 0x04, 0x0A,
724 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
725 0x00, 0x80, 0x8E4, 0x8E0, 0x8DC, 0x1CD, 0x1CE, 0x1CE},
727 138, 5690, 3793, 0x71, 0x02, 0x39, 0x03, 0x10, 0x01, 0x04, 0x0A,
728 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
729 0x00, 0x80, 0x8E8, 0x8E4, 0x8E0, 0x1CC, 0x1CD, 0x1CE},
731 140, 5700, 3800, 0x71, 0x02, 0x3A, 0x02, 0x0A, 0x01, 0x04, 0x0A,
732 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
733 0x00, 0x80, 0x8EC, 0x8E8, 0x8E4, 0x1CB, 0x1CC, 0x1CD},
735 142, 5710, 3807, 0x71, 0x02, 0x3B, 0x02, 0x0A, 0x01, 0x04, 0x0A,
736 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
737 0x00, 0x80, 0x8F0, 0x8EC, 0x8E8, 0x1CA, 0x1CB, 0x1CC},
739 144, 5720, 3813, 0x71, 0x02, 0x3C, 0x02, 0x0A, 0x01, 0x04, 0x0A,
740 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
741 0x00, 0x80, 0x8F4, 0x8F0, 0x8EC, 0x1C9, 0x1CA, 0x1CB},
743 145, 5725, 3817, 0x72, 0x04, 0x79, 0x02, 0x03, 0x01, 0x03, 0x14,
744 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
745 0x00, 0x80, 0x8F6, 0x8F2, 0x8EE, 0x1C9, 0x1CA, 0x1CB},
747 146, 5730, 3820, 0x71, 0x02, 0x3D, 0x02, 0x0A, 0x01, 0x04, 0x0A,
748 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
749 0x00, 0x80, 0x8F8, 0x8F4, 0x8F0, 0x1C9, 0x1C9, 0x1CA},
751 147, 5735, 3823, 0x72, 0x04, 0x7B, 0x02, 0x03, 0x01, 0x03, 0x14,
752 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
753 0x00, 0x80, 0x8FA, 0x8F6, 0x8F2, 0x1C8, 0x1C9, 0x1CA},
755 148, 5740, 3827, 0x71, 0x02, 0x3E, 0x02, 0x0A, 0x01, 0x04, 0x0A,
756 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
757 0x00, 0x80, 0x8FC, 0x8F8, 0x8F4, 0x1C8, 0x1C9, 0x1C9},
759 149, 5745, 3830, 0x72, 0x04, 0x7D, 0x02, 0xFE, 0x00, 0x03, 0x14,
760 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
761 0x00, 0x80, 0x8FE, 0x8FA, 0x8F6, 0x1C8, 0x1C8, 0x1C9},
763 150, 5750, 3833, 0x71, 0x02, 0x3F, 0x02, 0x0A, 0x01, 0x04, 0x0A,
764 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
765 0x00, 0x80, 0x900, 0x8FC, 0x8F8, 0x1C7, 0x1C8, 0x1C9},
767 151, 5755, 3837, 0x72, 0x04, 0x7F, 0x02, 0xFE, 0x00, 0x03, 0x14,
768 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
769 0x00, 0x80, 0x902, 0x8FE, 0x8FA, 0x1C7, 0x1C8, 0x1C8},
771 152, 5760, 3840, 0x71, 0x02, 0x40, 0x02, 0x0A, 0x01, 0x04, 0x0A,
772 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
773 0x00, 0x80, 0x904, 0x900, 0x8FC, 0x1C6, 0x1C7, 0x1C8},
775 153, 5765, 3843, 0x72, 0x04, 0x81, 0x02, 0xF8, 0x00, 0x03, 0x14,
776 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
777 0x00, 0x80, 0x906, 0x902, 0x8FE, 0x1C6, 0x1C7, 0x1C8},
779 154, 5770, 3847, 0x71, 0x02, 0x41, 0x02, 0x0A, 0x01, 0x04, 0x0A,
780 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
781 0x00, 0x80, 0x908, 0x904, 0x900, 0x1C6, 0x1C6, 0x1C7},
783 155, 5775, 3850, 0x72, 0x04, 0x83, 0x02, 0xF8, 0x00, 0x03, 0x14,
784 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
785 0x00, 0x80, 0x90A, 0x906, 0x902, 0x1C5, 0x1C6, 0x1C7},
787 156, 5780, 3853, 0x71, 0x02, 0x42, 0x02, 0x0A, 0x01, 0x04, 0x0A,
788 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
789 0x00, 0x80, 0x90C, 0x908, 0x904, 0x1C5, 0x1C6, 0x1C6},
791 157, 5785, 3857, 0x72, 0x04, 0x85, 0x02, 0xF2, 0x00, 0x03, 0x14,
792 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
793 0x00, 0x80, 0x90E, 0x90A, 0x906, 0x1C4, 0x1C5, 0x1C6},
795 158, 5790, 3860, 0x71, 0x02, 0x43, 0x02, 0x0A, 0x01, 0x04, 0x0A,
796 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
797 0x00, 0x80, 0x910, 0x90C, 0x908, 0x1C4, 0x1C5, 0x1C6},
799 159, 5795, 3863, 0x72, 0x04, 0x87, 0x02, 0xF2, 0x00, 0x03, 0x14,
800 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
801 0x00, 0x80, 0x912, 0x90E, 0x90A, 0x1C4, 0x1C4, 0x1C5},
803 160, 5800, 3867, 0x71, 0x02, 0x44, 0x01, 0x0A, 0x01, 0x04, 0x0A,
804 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
805 0x00, 0x80, 0x914, 0x910, 0x90C, 0x1C3, 0x1C4, 0x1C5},
807 161, 5805, 3870, 0x72, 0x04, 0x89, 0x01, 0xED, 0x00, 0x03, 0x14,
808 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
809 0x00, 0x80, 0x916, 0x912, 0x90E, 0x1C3, 0x1C4, 0x1C4},
811 162, 5810, 3873, 0x71, 0x02, 0x45, 0x01, 0x0A, 0x01, 0x04, 0x0A,
812 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
813 0x00, 0x80, 0x918, 0x914, 0x910, 0x1C2, 0x1C3, 0x1C4},
815 163, 5815, 3877, 0x72, 0x04, 0x8B, 0x01, 0xED, 0x00, 0x03, 0x14,
816 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
817 0x00, 0x80, 0x91A, 0x916, 0x912, 0x1C2, 0x1C3, 0x1C4},
819 164, 5820, 3880, 0x71, 0x02, 0x46, 0x01, 0x0A, 0x01, 0x04, 0x0A,
820 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
821 0x00, 0x80, 0x91C, 0x918, 0x914, 0x1C2, 0x1C2, 0x1C3},
823 165, 5825, 3883, 0x72, 0x04, 0x8D, 0x01, 0xED, 0x00, 0x03, 0x14,
824 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
825 0x00, 0x80, 0x91E, 0x91A, 0x916, 0x1C1, 0x1C2, 0x1C3},
827 166, 5830, 3887, 0x71, 0x02, 0x47, 0x01, 0x0A, 0x01, 0x04, 0x0A,
828 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
829 0x00, 0x80, 0x920, 0x91C, 0x918, 0x1C1, 0x1C2, 0x1C2},
831 168, 5840, 3893, 0x71, 0x02, 0x48, 0x01, 0x0A, 0x01, 0x04, 0x0A,
832 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
833 0x00, 0x80, 0x924, 0x920, 0x91C, 0x1C0, 0x1C1, 0x1C2},
835 170, 5850, 3900, 0x71, 0x02, 0x49, 0x01, 0xE0, 0x00, 0x04, 0x0A,
836 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
837 0x00, 0x80, 0x928, 0x924, 0x920, 0x1BF, 0x1C0, 0x1C1},
839 172, 5860, 3907, 0x71, 0x02, 0x4A, 0x01, 0xDE, 0x00, 0x04, 0x0A,
840 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
841 0x00, 0x80, 0x92C, 0x928, 0x924, 0x1BF, 0x1BF, 0x1C0},
843 174, 5870, 3913, 0x71, 0x02, 0x4B, 0x00, 0xDB, 0x00, 0x04, 0x0A,
844 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
845 0x00, 0x80, 0x930, 0x92C, 0x928, 0x1BE, 0x1BF, 0x1BF},
847 176, 5880, 3920, 0x71, 0x02, 0x4C, 0x00, 0xD8, 0x00, 0x04, 0x0A,
848 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
849 0x00, 0x80, 0x934, 0x930, 0x92C, 0x1BD, 0x1BE, 0x1BF},
851 178, 5890, 3927, 0x71, 0x02, 0x4D, 0x00, 0xD6, 0x00, 0x04, 0x0A,
852 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
853 0x00, 0x80, 0x938, 0x934, 0x930, 0x1BC, 0x1BD, 0x1BE},
855 180, 5900, 3933, 0x71, 0x02, 0x4E, 0x00, 0xD3, 0x00, 0x04, 0x0A,
856 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
857 0x00, 0x80, 0x93C, 0x938, 0x934, 0x1BC, 0x1BC, 0x1BD},
859 182, 5910, 3940, 0x71, 0x02, 0x4F, 0x00, 0xD6, 0x00, 0x04, 0x0A,
860 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
861 0x00, 0x80, 0x940, 0x93C, 0x938, 0x1BB, 0x1BC, 0x1BC},
863 1, 2412, 3216, 0x73, 0x09, 0x6C, 0x0F, 0x00, 0x01, 0x07, 0x15,
864 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0D, 0x0C, 0x80, 0xFF, 0x88, 0x0D,
865 0x0C, 0x80, 0x3C9, 0x3C5, 0x3C1, 0x43A, 0x43F, 0x443},
867 2, 2417, 3223, 0x73, 0x09, 0x71, 0x0F, 0x00, 0x01, 0x07, 0x15,
868 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0B, 0x80, 0xFF, 0x88, 0x0C,
869 0x0B, 0x80, 0x3CB, 0x3C7, 0x3C3, 0x438, 0x43D, 0x441},
871 3, 2422, 3229, 0x73, 0x09, 0x76, 0x0F, 0x00, 0x01, 0x07, 0x15,
872 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0A, 0x80, 0xFF, 0x88, 0x0C,
873 0x0A, 0x80, 0x3CD, 0x3C9, 0x3C5, 0x436, 0x43A, 0x43F},
875 4, 2427, 3236, 0x73, 0x09, 0x7B, 0x0F, 0x00, 0x01, 0x07, 0x15,
876 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x0A, 0x80, 0xFF, 0x88, 0x0C,
877 0x0A, 0x80, 0x3CF, 0x3CB, 0x3C7, 0x434, 0x438, 0x43D},
879 5, 2432, 3243, 0x73, 0x09, 0x80, 0x0F, 0x00, 0x01, 0x07, 0x15,
880 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0C, 0x09, 0x80, 0xFF, 0x88, 0x0C,
881 0x09, 0x80, 0x3D1, 0x3CD, 0x3C9, 0x431, 0x436, 0x43A},
883 6, 2437, 3249, 0x73, 0x09, 0x85, 0x0F, 0x00, 0x01, 0x07, 0x15,
884 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0B, 0x08, 0x80, 0xFF, 0x88, 0x0B,
885 0x08, 0x80, 0x3D3, 0x3CF, 0x3CB, 0x42F, 0x434, 0x438},
887 7, 2442, 3256, 0x73, 0x09, 0x8A, 0x0F, 0x00, 0x01, 0x07, 0x15,
888 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0A, 0x07, 0x80, 0xFF, 0x88, 0x0A,
889 0x07, 0x80, 0x3D5, 0x3D1, 0x3CD, 0x42D, 0x431, 0x436},
891 8, 2447, 3263, 0x73, 0x09, 0x8F, 0x0F, 0x00, 0x01, 0x07, 0x15,
892 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x0A, 0x06, 0x80, 0xFF, 0x88, 0x0A,
893 0x06, 0x80, 0x3D7, 0x3D3, 0x3CF, 0x42B, 0x42F, 0x434},
895 9, 2452, 3269, 0x73, 0x09, 0x94, 0x0F, 0x00, 0x01, 0x07, 0x15,
896 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x09, 0x06, 0x80, 0xFF, 0x88, 0x09,
897 0x06, 0x80, 0x3D9, 0x3D5, 0x3D1, 0x429, 0x42D, 0x431},
899 10, 2457, 3276, 0x73, 0x09, 0x99, 0x0F, 0x00, 0x01, 0x07, 0x15,
900 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x05, 0x80, 0xFF, 0x88, 0x08,
901 0x05, 0x80, 0x3DB, 0x3D7, 0x3D3, 0x427, 0x42B, 0x42F},
903 11, 2462, 3283, 0x73, 0x09, 0x9E, 0x0F, 0x00, 0x01, 0x07, 0x15,
904 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x04, 0x80, 0xFF, 0x88, 0x08,
905 0x04, 0x80, 0x3DD, 0x3D9, 0x3D5, 0x424, 0x429, 0x42D},
907 12, 2467, 3289, 0x73, 0x09, 0xA3, 0x0F, 0x00, 0x01, 0x07, 0x15,
908 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x08, 0x03, 0x80, 0xFF, 0x88, 0x08,
909 0x03, 0x80, 0x3DF, 0x3DB, 0x3D7, 0x422, 0x427, 0x42B},
911 13, 2472, 3296, 0x73, 0x09, 0xA8, 0x0F, 0x00, 0x01, 0x07, 0x15,
912 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x07, 0x03, 0x80, 0xFF, 0x88, 0x07,
913 0x03, 0x80, 0x3E1, 0x3DD, 0x3D9, 0x420, 0x424, 0x429},
915 14, 2484, 3312, 0x73, 0x09, 0xB4, 0x0F, 0xFF, 0x01, 0x07, 0x15,
916 0x01, 0x8F, 0xFF, 0xFF, 0xFF, 0x88, 0x07, 0x01, 0x80, 0xFF, 0x88, 0x07,
917 0x01, 0x80, 0x3E6, 0x3E2, 0x3DE, 0x41B, 0x41F, 0x424}
920 static chan_info_nphy_radio205x_t chan_info_nphyrev3_2056[] = {
922 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
923 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
924 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
925 0x00, 0xff, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
927 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
928 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
929 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
930 0x00, 0xff, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
932 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
933 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
934 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
935 0x00, 0xff, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
937 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
938 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
939 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
940 0x00, 0xff, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
942 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
943 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
944 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
945 0x00, 0xff, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
947 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
948 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
949 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
950 0x00, 0xff, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
952 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
953 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
954 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
955 0x00, 0xff, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
957 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
958 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x08, 0x00, 0x7f,
959 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0b,
960 0x00, 0xff, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
962 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
963 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
964 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
965 0x00, 0xff, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
967 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
968 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
969 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
970 0x00, 0xff, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
972 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
973 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
974 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
975 0x00, 0xff, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
977 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
978 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
979 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
980 0x00, 0xff, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
982 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
983 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
984 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
985 0x00, 0xff, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
987 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
988 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
989 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
990 0x00, 0xff, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
992 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
993 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
994 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
995 0x00, 0xff, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
997 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
998 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
999 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1000 0x00, 0xff, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
1002 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
1003 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1004 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1005 0x00, 0xff, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
1007 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
1008 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1009 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1010 0x00, 0xff, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
1012 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
1013 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1014 0x00, 0x0b, 0x00, 0xff, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1015 0x00, 0xff, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
1017 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
1018 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1019 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1020 0x00, 0xfc, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
1022 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
1023 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1024 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1025 0x00, 0xfc, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
1027 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
1028 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1029 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1030 0x00, 0xfc, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
1032 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
1033 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1034 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1035 0x00, 0xfc, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
1037 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
1038 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1039 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1040 0x00, 0xfc, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
1042 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
1043 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x07, 0x00, 0x7f,
1044 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xff, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1045 0x00, 0xfc, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
1047 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
1048 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x07, 0x00, 0x7f,
1049 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1050 0x00, 0xfc, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
1052 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
1053 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x07, 0x00, 0x7f,
1054 0x00, 0x0b, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0b,
1055 0x00, 0xfc, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
1057 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
1058 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x06, 0x00, 0x7f,
1059 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1060 0x00, 0xfc, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
1062 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
1063 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x06, 0x00, 0x7f,
1064 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1065 0x00, 0xfc, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
1067 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1068 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x06, 0x00, 0x7f,
1069 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1070 0x00, 0xfc, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
1072 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1073 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x06, 0x00, 0x7f,
1074 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1075 0x00, 0xfc, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
1077 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1078 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1079 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1080 0x00, 0xfc, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
1082 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1083 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1084 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1085 0x00, 0xfc, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
1087 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1088 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1089 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1090 0x00, 0xfc, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
1092 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1093 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x06, 0x00, 0x7f,
1094 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1095 0x00, 0xfc, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
1097 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
1098 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x06, 0x00, 0x7f,
1099 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1100 0x00, 0xfc, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
1102 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
1103 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x06, 0x00, 0x7f,
1104 0x00, 0x0a, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0a,
1105 0x00, 0xfc, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
1107 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
1108 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x05, 0x00, 0x7f,
1109 0x00, 0x09, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1110 0x00, 0xfc, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
1112 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
1113 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x05, 0x00, 0x7f,
1114 0x00, 0x09, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1115 0x00, 0xfa, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
1117 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
1118 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x05, 0x00, 0x7f,
1119 0x00, 0x09, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1120 0x00, 0xfa, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
1122 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
1123 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x05, 0x00, 0x7f,
1124 0x00, 0x09, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1125 0x00, 0xfa, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
1127 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
1128 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x05, 0x00, 0x7f,
1129 0x00, 0x09, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1130 0x00, 0xfa, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
1132 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
1133 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1134 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1135 0x00, 0xfa, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
1137 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
1138 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1139 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1140 0x00, 0xfa, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
1142 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
1143 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1144 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1145 0x00, 0xfa, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
1147 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1148 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x05, 0x00, 0x7f,
1149 0x00, 0x09, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1150 0x00, 0xfa, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
1152 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1153 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x8f, 0x00, 0x05, 0x00, 0x7f,
1154 0x00, 0x09, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x05, 0x00, 0x7f, 0x00, 0x09,
1155 0x00, 0xfa, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
1157 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1158 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x04, 0x00, 0x7f,
1159 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1160 0x00, 0xfa, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
1162 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1163 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x04, 0x00, 0x7f,
1164 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1165 0x00, 0xfa, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
1167 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1168 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x04, 0x00, 0x7f,
1169 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8e, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1170 0x00, 0xfa, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
1172 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1173 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x04, 0x00, 0x7f,
1174 0x00, 0x08, 0x00, 0xfa, 0x00, 0x8e, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1175 0x00, 0xfa, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
1177 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
1178 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7e, 0x00, 0x04, 0x00, 0x7f,
1179 0x00, 0x08, 0x00, 0xfa, 0x00, 0x7e, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1180 0x00, 0xfa, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
1182 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
1183 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7d, 0x00, 0x04, 0x00, 0x7f,
1184 0x00, 0x08, 0x00, 0xfa, 0x00, 0x7d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1185 0x00, 0xfa, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
1187 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
1188 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x04, 0x00, 0x7f,
1189 0x00, 0x08, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1190 0x00, 0xf8, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
1192 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
1193 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x04, 0x00, 0x7f,
1194 0x00, 0x08, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1195 0x00, 0xf8, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
1197 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
1198 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5d, 0x00, 0x04, 0x00, 0x7f,
1199 0x00, 0x08, 0x00, 0xf8, 0x00, 0x5d, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1200 0x00, 0xf8, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
1202 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
1203 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5c, 0x00, 0x04, 0x00, 0x7f,
1204 0x00, 0x08, 0x00, 0xf8, 0x00, 0x5c, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x08,
1205 0x00, 0xf8, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
1207 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
1208 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x5c, 0x00, 0x03, 0x00, 0x7f,
1209 0x00, 0x07, 0x00, 0xf8, 0x00, 0x5c, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1210 0x00, 0xf8, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
1212 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
1213 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x03, 0x00, 0x7f,
1214 0x00, 0x07, 0x00, 0xf8, 0x00, 0x4c, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1215 0x00, 0xf8, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
1217 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
1218 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x03, 0x00, 0x7f,
1219 0x00, 0x07, 0x00, 0xf8, 0x00, 0x4c, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1220 0x00, 0xf8, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
1222 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
1223 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x03, 0x00, 0x7f,
1224 0x00, 0x07, 0x00, 0xf8, 0x00, 0x3b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1225 0x00, 0xf8, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
1227 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1228 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x03, 0x00, 0x7f,
1229 0x00, 0x07, 0x00, 0xf8, 0x00, 0x3b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1230 0x00, 0xf8, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
1232 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1233 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x03, 0x00, 0x7f,
1234 0x00, 0x07, 0x00, 0xf8, 0x00, 0x3b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1235 0x00, 0xf8, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
1237 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1238 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2b, 0x00, 0x03, 0x00, 0x7f,
1239 0x00, 0x07, 0x00, 0xf8, 0x00, 0x2b, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1240 0x00, 0xf8, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
1242 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1243 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2a, 0x00, 0x03, 0x00, 0x7f,
1244 0x00, 0x07, 0x00, 0xf8, 0x00, 0x2a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1245 0x00, 0xf8, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
1247 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1248 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x03, 0x00, 0x7f,
1249 0x00, 0x07, 0x00, 0xf8, 0x00, 0x1a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1250 0x00, 0xf8, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
1252 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1253 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x03, 0x00, 0x7f,
1254 0x00, 0x07, 0x00, 0xf8, 0x00, 0x1a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1255 0x00, 0xf8, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
1257 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
1258 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x1a, 0x00, 0x03, 0x00, 0x7f,
1259 0x00, 0x07, 0x00, 0xf8, 0x00, 0x1a, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1260 0x00, 0xf8, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
1262 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
1263 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x03, 0x00, 0x7f,
1264 0x00, 0x07, 0x00, 0xf8, 0x00, 0x19, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1265 0x00, 0xf8, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
1267 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
1268 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x03, 0x00, 0x7f,
1269 0x00, 0x07, 0x00, 0xf8, 0x00, 0x19, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1270 0x00, 0xf8, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
1272 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
1273 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x03, 0x00, 0x7f,
1274 0x00, 0x07, 0x00, 0xf8, 0x00, 0x09, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1275 0x00, 0xf8, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
1277 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
1278 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x03, 0x00, 0x7f,
1279 0x00, 0x07, 0x00, 0xf8, 0x00, 0x09, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1280 0x00, 0xf8, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
1282 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
1283 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1284 0x00, 0x07, 0x00, 0xf8, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1285 0x00, 0xf8, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
1287 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
1288 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1289 0x00, 0x07, 0x00, 0xf6, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1290 0x00, 0xf6, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
1292 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
1293 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1294 0x00, 0x07, 0x00, 0xf6, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1295 0x00, 0xf6, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
1297 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
1298 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x03, 0x00, 0x7f,
1299 0x00, 0x07, 0x00, 0xf6, 0x00, 0x08, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1300 0x00, 0xf6, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
1302 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
1303 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x07, 0x00, 0x03, 0x00, 0x7f,
1304 0x00, 0x07, 0x00, 0xf6, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x07,
1305 0x00, 0xf6, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
1307 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1308 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x02, 0x00, 0x7f,
1309 0x00, 0x06, 0x00, 0xf6, 0x00, 0x07, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1310 0x00, 0xf6, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
1312 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1313 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x02, 0x00, 0x7f,
1314 0x00, 0x06, 0x00, 0xf4, 0x00, 0x07, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1315 0x00, 0xf4, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
1317 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1318 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x02, 0x00, 0x7f,
1319 0x00, 0x06, 0x00, 0xf4, 0x00, 0x07, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1320 0x00, 0xf4, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
1322 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
1323 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1324 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1325 0x00, 0xf4, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
1327 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1328 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1329 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1330 0x00, 0xf4, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
1332 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
1333 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1334 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1335 0x00, 0xf4, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
1337 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1338 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1339 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1340 0x00, 0xf4, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
1342 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
1343 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1344 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1345 0x00, 0xf4, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
1347 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1348 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x02, 0x00, 0x7f,
1349 0x00, 0x06, 0x00, 0xf4, 0x00, 0x06, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1350 0x00, 0xf4, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
1352 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
1353 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1354 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1355 0x00, 0xf4, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
1357 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
1358 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1359 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1360 0x00, 0xf4, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
1362 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
1363 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1364 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1365 0x00, 0xf4, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
1367 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
1368 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1369 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1370 0x00, 0xf4, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
1372 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
1373 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1374 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1375 0x00, 0xf4, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
1377 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
1378 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x02, 0x00, 0x7f,
1379 0x00, 0x06, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1380 0x00, 0xf4, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
1382 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
1383 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x02, 0x00, 0x7f,
1384 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1385 0x00, 0xf4, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
1387 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
1388 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x02, 0x00, 0x7f,
1389 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1390 0x00, 0xf4, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
1392 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
1393 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x02, 0x00, 0x7f,
1394 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x06,
1395 0x00, 0xf4, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
1397 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
1398 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1399 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1400 0x00, 0xf4, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
1402 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
1403 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1404 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1405 0x00, 0xf4, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
1407 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
1408 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1409 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1410 0x00, 0xf4, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
1412 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
1413 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x7f,
1414 0x00, 0x06, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1415 0x00, 0xf4, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
1417 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
1418 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1419 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1420 0x00, 0xf4, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
1422 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
1423 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1424 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1425 0x00, 0xf4, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
1427 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
1428 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1429 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1430 0x00, 0xf4, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
1432 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
1433 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1434 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1435 0x00, 0xf4, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
1437 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
1438 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1439 0x00, 0x06, 0x00, 0xf4, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1440 0x00, 0xf4, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
1442 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1443 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x7f,
1444 0x00, 0x06, 0x00, 0xf2, 0x00, 0x03, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1445 0x00, 0xf2, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
1447 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1448 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x7f,
1449 0x00, 0x06, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1450 0x00, 0xf2, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
1452 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1453 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x7f,
1454 0x00, 0x06, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1455 0x00, 0xf2, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
1457 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1458 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x00, 0x00, 0x7f,
1459 0x00, 0x06, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x06,
1460 0x00, 0xf2, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
1462 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1463 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f,
1464 0x00, 0x05, 0x00, 0xf2, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x05,
1465 0x00, 0xf2, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
1467 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1468 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f,
1469 0x00, 0x05, 0x00, 0xf2, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x05,
1470 0x00, 0xf2, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
1472 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
1473 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x05, 0x00,
1474 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xff, 0x00, 0x05, 0x00, 0x70, 0x00,
1475 0x0f, 0x00, 0x0f, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
1477 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
1478 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x05, 0x00,
1479 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xff, 0x00, 0x05, 0x00, 0x70, 0x00,
1480 0x0f, 0x00, 0x0f, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
1482 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
1483 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x05, 0x00,
1484 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xff, 0x00, 0x05, 0x00, 0x70, 0x00,
1485 0x0f, 0x00, 0x0f, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
1487 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
1488 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x05, 0x00,
1489 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xfd, 0x00, 0x05, 0x00, 0x70, 0x00,
1490 0x0f, 0x00, 0x0f, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
1492 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
1493 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfb, 0x00, 0x05, 0x00,
1494 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xfb, 0x00, 0x05, 0x00, 0x70, 0x00,
1495 0x0f, 0x00, 0x0f, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
1497 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
1498 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x05, 0x00,
1499 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x05, 0x00, 0x70, 0x00,
1500 0x0f, 0x00, 0x0f, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
1502 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
1503 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x05, 0x00,
1504 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x05, 0x00, 0x70, 0x00,
1505 0x0f, 0x00, 0x0f, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
1507 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
1508 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x05, 0x00,
1509 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xf7, 0x00, 0x05, 0x00, 0x70, 0x00,
1510 0x0f, 0x00, 0x0f, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
1512 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
1513 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf6, 0x00, 0x05, 0x00,
1514 0x70, 0x00, 0x0f, 0x00, 0x0f, 0x00, 0xf6, 0x00, 0x05, 0x00, 0x70, 0x00,
1515 0x0f, 0x00, 0x0f, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
1517 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
1518 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x05, 0x00,
1519 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf5, 0x00, 0x05, 0x00, 0x70, 0x00,
1520 0x0f, 0x00, 0x0d, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
1522 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
1523 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x05, 0x00,
1524 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf4, 0x00, 0x05, 0x00, 0x70, 0x00,
1525 0x0f, 0x00, 0x0d, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
1527 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
1528 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf3, 0x00, 0x05, 0x00,
1529 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf3, 0x00, 0x05, 0x00, 0x70, 0x00,
1530 0x0f, 0x00, 0x0d, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
1532 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
1533 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x05, 0x00,
1534 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x70, 0x00,
1535 0x0f, 0x00, 0x0d, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
1537 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
1538 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x05, 0x00,
1539 0x70, 0x00, 0x0f, 0x00, 0x0d, 0x00, 0xf0, 0x00, 0x05, 0x00, 0x70, 0x00,
1540 0x0f, 0x00, 0x0d, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
1543 static chan_info_nphy_radio205x_t chan_info_nphyrev4_2056_A1[] = {
1545 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
1546 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1547 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1548 0x00, 0xff, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
1550 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
1551 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1552 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1553 0x00, 0xff, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
1555 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
1556 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1557 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1558 0x00, 0xff, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
1560 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
1561 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1562 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1563 0x00, 0xff, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
1565 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
1566 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1567 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1568 0x00, 0xff, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
1570 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
1571 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1572 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1573 0x00, 0xff, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
1575 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
1576 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1577 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1578 0x00, 0xff, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
1580 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
1581 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0e, 0x00, 0x7f,
1582 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0e, 0x00, 0x7f, 0x00, 0x0f,
1583 0x00, 0xff, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
1585 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
1586 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1587 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1588 0x00, 0xff, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
1590 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
1591 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1592 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1593 0x00, 0xff, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
1595 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
1596 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1597 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1598 0x00, 0xff, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
1600 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
1601 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1602 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1603 0x00, 0xff, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
1605 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
1606 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1607 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1608 0x00, 0xff, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
1610 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
1611 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1612 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1613 0x00, 0xff, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
1615 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
1616 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1617 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1618 0x00, 0xff, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
1620 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
1621 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1622 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1623 0x00, 0xff, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
1625 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
1626 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1627 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1628 0x00, 0xff, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
1630 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
1631 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0d, 0x00, 0x7f,
1632 0x00, 0x0f, 0x00, 0xff, 0x00, 0xff, 0x00, 0x0d, 0x00, 0x7f, 0x00, 0x0f,
1633 0x00, 0xff, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
1635 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
1636 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1637 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1638 0x00, 0xfe, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
1640 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
1641 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1642 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1643 0x00, 0xfe, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
1645 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
1646 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1647 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1648 0x00, 0xfe, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
1650 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
1651 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1652 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1653 0x00, 0xfe, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
1655 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
1656 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1657 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1658 0x00, 0xfe, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
1660 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
1661 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1662 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1663 0x00, 0xfe, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
1665 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
1666 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x7f,
1667 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xff, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1668 0x00, 0xfe, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
1670 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
1671 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x0c, 0x00, 0x7f,
1672 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xef, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1673 0x00, 0xfe, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
1675 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
1676 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x0c, 0x00, 0x7f,
1677 0x00, 0x0f, 0x00, 0xfe, 0x00, 0xef, 0x00, 0x0c, 0x00, 0x7f, 0x00, 0x0f,
1678 0x00, 0xfe, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
1680 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
1681 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xef, 0x00, 0x0a, 0x00, 0x7f,
1682 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xef, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1683 0x00, 0xfc, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
1685 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
1686 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x0a, 0x00, 0x7f,
1687 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1688 0x00, 0xfc, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
1690 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1691 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x0a, 0x00, 0x7f,
1692 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1693 0x00, 0xfc, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
1695 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1696 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xdf, 0x00, 0x0a, 0x00, 0x7f,
1697 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xdf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1698 0x00, 0xfc, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
1700 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1701 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1702 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1703 0x00, 0xfc, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
1705 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1706 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1707 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1708 0x00, 0xfc, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
1710 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1711 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1712 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1713 0x00, 0xfc, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
1715 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1716 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xcf, 0x00, 0x0a, 0x00, 0x7f,
1717 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xcf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1718 0x00, 0xfc, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
1720 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
1721 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x0a, 0x00, 0x7f,
1722 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1723 0x00, 0xfc, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
1725 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
1726 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xbf, 0x00, 0x0a, 0x00, 0x7f,
1727 0x00, 0x0f, 0x00, 0xfc, 0x00, 0xbf, 0x00, 0x0a, 0x00, 0x7f, 0x00, 0x0f,
1728 0x00, 0xfc, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
1730 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
1731 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x08, 0x00, 0x7f,
1732 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1733 0x00, 0xfa, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
1735 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
1736 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x08, 0x00, 0x7f,
1737 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1738 0x00, 0xfa, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
1740 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
1741 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xbf, 0x00, 0x08, 0x00, 0x7f,
1742 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xbf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1743 0x00, 0xfa, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
1745 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
1746 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x08, 0x00, 0x7f,
1747 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1748 0x00, 0xfa, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
1750 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
1751 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xaf, 0x00, 0x08, 0x00, 0x7f,
1752 0x00, 0x0f, 0x00, 0xfa, 0x00, 0xaf, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1753 0x00, 0xfa, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
1755 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
1756 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1757 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1758 0x00, 0xfa, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
1760 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
1761 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1762 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1763 0x00, 0xfa, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
1765 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
1766 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1767 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1768 0x00, 0xfa, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
1770 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1771 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x9f, 0x00, 0x08, 0x00, 0x7f,
1772 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x9f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1773 0x00, 0xfa, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
1775 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1776 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x8f, 0x00, 0x08, 0x00, 0x7f,
1777 0x00, 0x0f, 0x00, 0xfa, 0x00, 0x8f, 0x00, 0x08, 0x00, 0x7f, 0x00, 0x0f,
1778 0x00, 0xfa, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
1780 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1781 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x07, 0x00, 0x7f,
1782 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8f, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1783 0x00, 0xf8, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
1785 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1786 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8f, 0x00, 0x07, 0x00, 0x7f,
1787 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8f, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1788 0x00, 0xf8, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
1790 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1791 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x07, 0x00, 0x7f,
1792 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8e, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1793 0x00, 0xf8, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
1795 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1796 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x8e, 0x00, 0x07, 0x00, 0x7f,
1797 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x8e, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1798 0x00, 0xf8, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
1800 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
1801 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7e, 0x00, 0x07, 0x00, 0x7f,
1802 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x7e, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1803 0x00, 0xf8, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
1805 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
1806 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x7d, 0x00, 0x07, 0x00, 0x7f,
1807 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x7d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1808 0x00, 0xf8, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
1810 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
1811 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x07, 0x00, 0x7f,
1812 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1813 0x00, 0xf8, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
1815 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
1816 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x6d, 0x00, 0x07, 0x00, 0x7f,
1817 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x6d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1818 0x00, 0xf8, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
1820 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
1821 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5d, 0x00, 0x07, 0x00, 0x7f,
1822 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x5d, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1823 0x00, 0xf8, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
1825 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
1826 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x5c, 0x00, 0x07, 0x00, 0x7f,
1827 0x00, 0x0f, 0x00, 0xf8, 0x00, 0x5c, 0x00, 0x07, 0x00, 0x7f, 0x00, 0x0f,
1828 0x00, 0xf8, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
1830 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
1831 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x5c, 0x00, 0x06, 0x00, 0x7f,
1832 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x5c, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1833 0x00, 0xf6, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
1835 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
1836 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x06, 0x00, 0x7f,
1837 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x4c, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1838 0x00, 0xf6, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
1840 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
1841 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x4c, 0x00, 0x06, 0x00, 0x7f,
1842 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x4c, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1843 0x00, 0xf6, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
1845 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
1846 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x06, 0x00, 0x7f,
1847 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x3b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1848 0x00, 0xf6, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
1850 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1851 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x06, 0x00, 0x7f,
1852 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x3b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1853 0x00, 0xf6, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
1855 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1856 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x3b, 0x00, 0x06, 0x00, 0x7f,
1857 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x3b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1858 0x00, 0xf6, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
1860 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1861 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2b, 0x00, 0x06, 0x00, 0x7f,
1862 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x2b, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1863 0x00, 0xf6, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
1865 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1866 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x2a, 0x00, 0x06, 0x00, 0x7f,
1867 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x2a, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1868 0x00, 0xf6, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
1870 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1871 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x06, 0x00, 0x7f,
1872 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x1a, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1873 0x00, 0xf6, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
1875 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1876 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x1a, 0x00, 0x06, 0x00, 0x7f,
1877 0x00, 0x0d, 0x00, 0xf6, 0x00, 0x1a, 0x00, 0x06, 0x00, 0x7f, 0x00, 0x0d,
1878 0x00, 0xf6, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
1880 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
1881 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x1a, 0x00, 0x04, 0x00, 0x7f,
1882 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x1a, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1883 0x00, 0xf4, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
1885 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
1886 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x04, 0x00, 0x7f,
1887 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x19, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1888 0x00, 0xf4, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
1890 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
1891 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x19, 0x00, 0x04, 0x00, 0x7f,
1892 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x19, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1893 0x00, 0xf4, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
1895 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
1896 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x04, 0x00, 0x7f,
1897 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x09, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1898 0x00, 0xf4, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
1900 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
1901 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x09, 0x00, 0x04, 0x00, 0x7f,
1902 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x09, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1903 0x00, 0xf4, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
1905 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
1906 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1907 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1908 0x00, 0xf4, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
1910 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
1911 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1912 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1913 0x00, 0xf4, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
1915 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
1916 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1917 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1918 0x00, 0xf4, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
1920 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
1921 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x08, 0x00, 0x04, 0x00, 0x7f,
1922 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x08, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1923 0x00, 0xf4, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
1925 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
1926 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x07, 0x00, 0x04, 0x00, 0x7f,
1927 0x00, 0x0b, 0x00, 0xf4, 0x00, 0x07, 0x00, 0x04, 0x00, 0x7f, 0x00, 0x0b,
1928 0x00, 0xf4, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
1930 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
1931 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x03, 0x00, 0x7f,
1932 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1933 0x00, 0xf2, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
1935 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
1936 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x03, 0x00, 0x7f,
1937 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1938 0x00, 0xf2, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
1940 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
1941 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x07, 0x00, 0x03, 0x00, 0x7f,
1942 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x07, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1943 0x00, 0xf2, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
1945 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
1946 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1947 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1948 0x00, 0xf2, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
1950 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
1951 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1952 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1953 0x00, 0xf2, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
1955 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
1956 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1957 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1958 0x00, 0xf2, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
1960 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
1961 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1962 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1963 0x00, 0xf2, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
1965 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
1966 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1967 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1968 0x00, 0xf2, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
1970 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
1971 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x06, 0x00, 0x03, 0x00, 0x7f,
1972 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x06, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1973 0x00, 0xf2, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
1975 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
1976 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1977 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1978 0x00, 0xf2, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
1980 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
1981 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1982 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1983 0x00, 0xf2, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
1985 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
1986 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1987 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1988 0x00, 0xf2, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
1990 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
1991 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1992 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1993 0x00, 0xf2, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
1995 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
1996 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
1997 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
1998 0x00, 0xf2, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
2000 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
2001 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x05, 0x00, 0x03, 0x00, 0x7f,
2002 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x05, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2003 0x00, 0xf2, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
2005 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
2006 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x03, 0x00, 0x7f,
2007 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2008 0x00, 0xf2, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
2010 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
2011 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x03, 0x00, 0x7f,
2012 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2013 0x00, 0xf2, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
2015 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
2016 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x04, 0x00, 0x03, 0x00, 0x7f,
2017 0x00, 0x0a, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x03, 0x00, 0x7f, 0x00, 0x0a,
2018 0x00, 0xf2, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
2020 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
2021 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2022 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2023 0x00, 0xf0, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
2025 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
2026 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2027 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2028 0x00, 0xf0, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
2030 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
2031 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2032 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2033 0x00, 0xf0, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
2035 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
2036 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x04, 0x00, 0x02, 0x00, 0x7f,
2037 0x00, 0x09, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2038 0x00, 0xf0, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
2040 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
2041 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2042 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2043 0x00, 0xf0, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
2045 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
2046 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2047 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2048 0x00, 0xf0, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
2050 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
2051 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2052 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2053 0x00, 0xf0, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
2055 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
2056 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2057 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2058 0x00, 0xf0, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
2060 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
2061 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2062 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2063 0x00, 0xf0, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
2065 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2066 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x03, 0x00, 0x02, 0x00, 0x7f,
2067 0x00, 0x09, 0x00, 0xf0, 0x00, 0x03, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2068 0x00, 0xf0, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
2070 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2071 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x02, 0x00, 0x7f,
2072 0x00, 0x09, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2073 0x00, 0xf0, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
2075 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2076 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x02, 0x00, 0x7f,
2077 0x00, 0x09, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2078 0x00, 0xf0, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
2080 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2081 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x02, 0x00, 0x02, 0x00, 0x7f,
2082 0x00, 0x09, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7f, 0x00, 0x09,
2083 0x00, 0xf0, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
2085 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2086 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f,
2087 0x00, 0x07, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x07,
2088 0x00, 0xf0, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
2090 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2091 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f,
2092 0x00, 0x07, 0x00, 0xf0, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x07,
2093 0x00, 0xf0, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
2095 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
2096 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x04, 0x00,
2097 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xff, 0x00, 0x04, 0x00, 0x70, 0x00,
2098 0x0f, 0x00, 0x0e, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
2100 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
2101 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x04, 0x00,
2102 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xff, 0x00, 0x04, 0x00, 0x70, 0x00,
2103 0x0f, 0x00, 0x0e, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
2105 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
2106 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xff, 0x00, 0x04, 0x00,
2107 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xff, 0x00, 0x04, 0x00, 0x70, 0x00,
2108 0x0f, 0x00, 0x0e, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
2110 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
2111 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x04, 0x00,
2112 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xfd, 0x00, 0x04, 0x00, 0x70, 0x00,
2113 0x0f, 0x00, 0x0e, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
2115 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
2116 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfb, 0x00, 0x04, 0x00,
2117 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xfb, 0x00, 0x04, 0x00, 0x70, 0x00,
2118 0x0f, 0x00, 0x0e, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
2120 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
2121 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x04, 0x00,
2122 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xfa, 0x00, 0x04, 0x00, 0x70, 0x00,
2123 0x0f, 0x00, 0x0e, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
2125 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
2126 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x04, 0x00,
2127 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf8, 0x00, 0x04, 0x00, 0x70, 0x00,
2128 0x0f, 0x00, 0x0e, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
2130 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
2131 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf7, 0x00, 0x04, 0x00,
2132 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf7, 0x00, 0x04, 0x00, 0x70, 0x00,
2133 0x0f, 0x00, 0x0e, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
2135 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
2136 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf6, 0x00, 0x04, 0x00,
2137 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf6, 0x00, 0x04, 0x00, 0x70, 0x00,
2138 0x0f, 0x00, 0x0e, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
2140 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
2141 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x04, 0x00,
2142 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf5, 0x00, 0x04, 0x00, 0x70, 0x00,
2143 0x0f, 0x00, 0x0e, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
2145 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
2146 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf4, 0x00, 0x04, 0x00,
2147 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf4, 0x00, 0x04, 0x00, 0x70, 0x00,
2148 0x0f, 0x00, 0x0e, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
2150 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
2151 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf3, 0x00, 0x04, 0x00,
2152 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf3, 0x00, 0x04, 0x00, 0x70, 0x00,
2153 0x0f, 0x00, 0x0e, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
2155 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
2156 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf2, 0x00, 0x04, 0x00,
2157 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf2, 0x00, 0x04, 0x00, 0x70, 0x00,
2158 0x0f, 0x00, 0x0e, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
2160 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
2161 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x04, 0x00,
2162 0x70, 0x00, 0x0f, 0x00, 0x0e, 0x00, 0xf0, 0x00, 0x04, 0x00, 0x70, 0x00,
2163 0x0f, 0x00, 0x0e, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
2166 static chan_info_nphy_radio205x_t chan_info_nphyrev5_2056v5[] = {
2168 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
2169 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2170 0x00, 0x0f, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0f,
2171 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
2173 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
2174 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2175 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
2176 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
2178 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
2179 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2180 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
2181 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
2183 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
2184 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
2185 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
2186 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
2188 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
2189 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2190 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0e,
2191 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
2193 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
2194 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2195 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2196 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
2198 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
2199 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2200 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2201 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
2203 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
2204 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2205 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2206 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
2208 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
2209 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2210 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2211 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
2213 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
2214 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
2215 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
2216 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
2218 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
2219 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
2220 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0d,
2221 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
2223 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
2224 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
2225 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2226 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
2228 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
2229 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
2230 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2231 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
2233 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
2234 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
2235 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2236 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
2238 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
2239 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x70,
2240 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
2241 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
2243 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
2244 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x70,
2245 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2246 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
2248 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
2249 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2250 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2251 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
2253 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
2254 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2255 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2256 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
2258 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
2259 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2260 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2261 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
2263 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
2264 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2265 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2266 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
2268 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
2269 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
2270 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
2271 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
2273 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
2274 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x70,
2275 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0a,
2276 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
2278 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
2279 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
2280 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x0a,
2281 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
2283 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
2284 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
2285 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x09,
2286 0x00, 0x6e, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
2288 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
2289 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x06, 0x00, 0x70,
2290 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2291 0x00, 0x6e, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
2293 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
2294 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2295 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2296 0x00, 0x6e, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
2298 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
2299 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2300 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2301 0x00, 0x6e, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
2303 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
2304 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2305 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2306 0x00, 0x6e, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
2308 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
2309 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2310 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2311 0x00, 0x6e, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
2313 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2314 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
2315 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
2316 0x00, 0x6e, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
2318 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2319 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xea, 0x00, 0x06, 0x00, 0x70,
2320 0x00, 0x08, 0x00, 0x9e, 0x00, 0xea, 0x00, 0x06, 0x00, 0x70, 0x00, 0x08,
2321 0x00, 0x6e, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
2323 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2324 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xe9, 0x00, 0x05, 0x00, 0x70,
2325 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
2326 0x00, 0x6d, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
2328 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2329 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xe9, 0x00, 0x05, 0x00, 0x70,
2330 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
2331 0x00, 0x6d, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
2333 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2334 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xd9, 0x00, 0x05, 0x00, 0x70,
2335 0x00, 0x08, 0x00, 0x9d, 0x00, 0xd9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
2336 0x00, 0x6d, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
2338 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2339 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xd8, 0x00, 0x04, 0x00, 0x70,
2340 0x00, 0x07, 0x00, 0x9c, 0x00, 0xd8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2341 0x00, 0x6c, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
2343 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
2344 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2345 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2346 0x00, 0x6c, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
2348 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
2349 0x03, 0x03, 0x03, 0x8f, 0x0f, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2350 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2351 0x00, 0x6c, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
2353 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
2354 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2355 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2356 0x00, 0x6c, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
2358 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
2359 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xc8, 0x00, 0x04, 0x00, 0x70,
2360 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2361 0x00, 0x6c, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
2363 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
2364 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xb8, 0x00, 0x04, 0x00, 0x70,
2365 0x00, 0x07, 0x00, 0x9c, 0x00, 0xb8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2366 0x00, 0x6c, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
2368 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
2369 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xb7, 0x00, 0x04, 0x00, 0x70,
2370 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
2371 0x00, 0x6b, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
2373 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
2374 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xb7, 0x00, 0x03, 0x00, 0x70,
2375 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x07,
2376 0x00, 0x6b, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
2378 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
2379 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xa7, 0x00, 0x03, 0x00, 0x70,
2380 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2381 0x00, 0x6b, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
2383 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
2384 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xa6, 0x00, 0x03, 0x00, 0x70,
2385 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2386 0x00, 0x6b, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
2388 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
2389 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0xa6, 0x00, 0x03, 0x00, 0x70,
2390 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2391 0x00, 0x5b, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
2393 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2394 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x96, 0x00, 0x03, 0x00, 0x70,
2395 0x00, 0x06, 0x00, 0x9a, 0x00, 0x96, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2396 0x00, 0x5a, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
2398 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2399 0x03, 0x03, 0x03, 0x8f, 0x0e, 0x00, 0xff, 0x95, 0x00, 0x03, 0x00, 0x70,
2400 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2401 0x00, 0x5a, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
2403 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2404 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x95, 0x00, 0x03, 0x00, 0x70,
2405 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
2406 0x00, 0x5a, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
2408 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2409 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x95, 0x00, 0x03, 0x00, 0x70,
2410 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
2411 0x00, 0x5a, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
2413 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2414 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x95, 0x00, 0x03, 0x00, 0x70,
2415 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
2416 0x00, 0x5a, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
2418 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2419 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xc8, 0x85, 0x00, 0x02, 0x00, 0x70,
2420 0x00, 0x05, 0x00, 0x99, 0x00, 0x85, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
2421 0x00, 0x59, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
2423 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
2424 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x84, 0x00, 0x02, 0x00, 0x70,
2425 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
2426 0x00, 0x59, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
2428 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
2429 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x84, 0x00, 0x02, 0x00, 0x70,
2430 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
2431 0x00, 0x59, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
2433 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
2434 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x84, 0x00, 0x02, 0x00, 0x70,
2435 0x00, 0x04, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x04,
2436 0x00, 0x69, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
2438 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
2439 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x74, 0x00, 0x01, 0x00, 0x70,
2440 0x00, 0x04, 0x00, 0x99, 0x00, 0x74, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2441 0x00, 0x69, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
2443 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
2444 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x73, 0x00, 0x01, 0x00, 0x70,
2445 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2446 0x00, 0x68, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
2448 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
2449 0x04, 0x04, 0x04, 0x8d, 0x0d, 0x00, 0xc8, 0x73, 0x00, 0x01, 0x00, 0x70,
2450 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2451 0x00, 0x68, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
2453 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
2454 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
2455 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2456 0x00, 0x78, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
2458 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
2459 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
2460 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2461 0x00, 0x78, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
2463 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
2464 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
2465 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
2466 0x00, 0x78, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
2468 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
2469 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x63, 0x00, 0x01, 0x00, 0x70,
2470 0x00, 0x03, 0x00, 0x98, 0x00, 0x63, 0x00, 0x01, 0x00, 0x70, 0x00, 0x03,
2471 0x00, 0x78, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
2473 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2474 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x62, 0x00, 0x00, 0x00, 0x70,
2475 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
2476 0x00, 0x77, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
2478 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2479 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x62, 0x00, 0x00, 0x00, 0x70,
2480 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
2481 0x00, 0x77, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
2483 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2484 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x62, 0x00, 0x00, 0x00, 0x70,
2485 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
2486 0x00, 0x77, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
2488 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2489 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x52, 0x00, 0x00, 0x00, 0x70,
2490 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2491 0x00, 0x76, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
2493 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2494 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x52, 0x00, 0x00, 0x00, 0x70,
2495 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2496 0x00, 0x76, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
2498 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2499 0x04, 0x04, 0x04, 0x8d, 0x0b, 0x00, 0x84, 0x51, 0x00, 0x00, 0x00, 0x70,
2500 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2501 0x00, 0x76, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
2503 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
2504 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2505 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2506 0x00, 0x76, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
2508 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
2509 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2510 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2511 0x00, 0x76, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
2513 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
2514 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2515 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2516 0x00, 0x76, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
2518 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
2519 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2520 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2521 0x00, 0x76, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
2523 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
2524 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x51, 0x00, 0x00, 0x00, 0x70,
2525 0x00, 0x02, 0x00, 0x95, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
2526 0x00, 0x75, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
2528 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
2529 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x50, 0x00, 0x00, 0x00, 0x70,
2530 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2531 0x00, 0x75, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
2533 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
2534 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x50, 0x00, 0x00, 0x00, 0x70,
2535 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2536 0x00, 0x75, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
2538 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
2539 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x40, 0x00, 0x00, 0x00, 0x70,
2540 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2541 0x00, 0x74, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
2543 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
2544 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x40, 0x00, 0x00, 0x00, 0x70,
2545 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2546 0x00, 0x74, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
2548 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
2549 0x05, 0x05, 0x05, 0x8b, 0x09, 0x00, 0x70, 0x40, 0x00, 0x00, 0x00, 0x70,
2550 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2551 0x00, 0x74, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
2553 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2554 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2555 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2556 0x00, 0x74, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
2558 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2559 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2560 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2561 0x00, 0x74, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
2563 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2564 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2565 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2566 0x00, 0x74, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
2568 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
2569 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
2570 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2571 0x00, 0x74, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
2573 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2574 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2575 0x00, 0x01, 0x00, 0x94, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
2576 0x00, 0x84, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
2578 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
2579 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2580 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2581 0x00, 0x83, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
2583 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2584 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2585 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2586 0x00, 0x83, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
2588 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
2589 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2590 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2591 0x00, 0x83, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
2593 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2594 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2595 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2596 0x00, 0x83, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
2598 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
2599 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x70,
2600 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2601 0x00, 0x83, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
2603 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
2604 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2605 0x00, 0x00, 0x00, 0x93, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2606 0x00, 0x83, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
2608 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
2609 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2610 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2611 0x00, 0x82, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
2613 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
2614 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2615 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2616 0x00, 0x82, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
2618 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
2619 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x20, 0x00, 0x00, 0x00, 0x70,
2620 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2621 0x00, 0x82, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
2623 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
2624 0x05, 0x05, 0x05, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2625 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2626 0x00, 0x82, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
2628 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
2629 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2630 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2631 0x00, 0x82, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
2633 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
2634 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2635 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2636 0x00, 0x82, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
2638 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
2639 0x06, 0x06, 0x06, 0x8a, 0x06, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x70,
2640 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2641 0x00, 0x82, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
2643 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
2644 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2645 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2646 0x00, 0x82, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
2648 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
2649 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2650 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2651 0x00, 0x82, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
2653 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
2654 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2655 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2656 0x00, 0x82, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
2658 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
2659 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2660 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2661 0x00, 0x82, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
2663 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
2664 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2665 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2666 0x00, 0x82, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
2668 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
2669 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2670 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2671 0x00, 0x82, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
2673 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
2674 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2675 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2676 0x00, 0x72, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
2678 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
2679 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x10, 0x00, 0x00, 0x00, 0x70,
2680 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2681 0x00, 0x72, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
2683 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
2684 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2685 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2686 0x00, 0x72, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
2688 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2689 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2690 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2691 0x00, 0x72, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
2693 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2694 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2695 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2696 0x00, 0x71, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
2698 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2699 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2700 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2701 0x00, 0x71, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
2703 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2704 0x06, 0x06, 0x06, 0x88, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x70,
2705 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2706 0x00, 0x71, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
2708 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2709 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
2710 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2711 0x00, 0x71, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
2713 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2714 0x06, 0x06, 0x06, 0x87, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
2715 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
2716 0x00, 0x71, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
2718 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
2719 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x03, 0x00,
2720 0x70, 0x00, 0x0f, 0x00, 0x0b, 0x00, 0x1f, 0x00, 0x03, 0x00, 0x70, 0x00,
2721 0x0f, 0x00, 0x0b, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
2723 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
2724 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x03, 0x00,
2725 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x1f, 0x00, 0x03, 0x00, 0x70, 0x00,
2726 0x0f, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
2728 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
2729 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x03, 0x00,
2730 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x0e, 0x00, 0x03, 0x00, 0x70, 0x00,
2731 0x0f, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
2733 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
2734 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x03, 0x00,
2735 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x03, 0x00, 0x70, 0x00,
2736 0x0e, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
2738 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
2739 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x03, 0x00,
2740 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x0c, 0x00, 0x03, 0x00, 0x70, 0x00,
2741 0x0e, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
2743 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
2744 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x03, 0x00,
2745 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x03, 0x00, 0x70, 0x00,
2746 0x0e, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
2748 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
2749 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x09, 0x00, 0x03, 0x00,
2750 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x03, 0x00, 0x70, 0x00,
2751 0x0e, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
2753 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
2754 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00,
2755 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x08, 0x00, 0x02, 0x00, 0x70, 0x00,
2756 0x0e, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
2758 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
2759 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x07, 0x00, 0x02, 0x00,
2760 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x07, 0x00, 0x02, 0x00, 0x70, 0x00,
2761 0x0e, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
2763 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
2764 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x06, 0x00, 0x02, 0x00,
2765 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x06, 0x00, 0x02, 0x00, 0x70, 0x00,
2766 0x0d, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
2768 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
2769 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x05, 0x00, 0x02, 0x00,
2770 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x05, 0x00, 0x02, 0x00, 0x70, 0x00,
2771 0x0d, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
2773 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
2774 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x04, 0x00, 0x02, 0x00,
2775 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x04, 0x00, 0x02, 0x00, 0x70, 0x00,
2776 0x0d, 0x00, 0x08, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
2778 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
2779 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02, 0x00,
2780 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x03, 0x00, 0x02, 0x00, 0x70, 0x00,
2781 0x0d, 0x00, 0x08, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
2783 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
2784 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
2785 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
2786 0x0d, 0x00, 0x08, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
2789 static chan_info_nphy_radio205x_t chan_info_nphyrev6_2056v6[] = {
2791 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
2792 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2793 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2794 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
2796 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
2797 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2798 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2799 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
2801 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
2802 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2803 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2804 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
2806 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
2807 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2808 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2809 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
2811 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
2812 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2813 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2814 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
2816 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
2817 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2818 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2819 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
2821 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
2822 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2823 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2824 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
2826 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
2827 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2828 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2829 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
2831 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
2832 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2833 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2834 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
2836 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
2837 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2838 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2839 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
2841 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
2842 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2843 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2844 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
2846 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
2847 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2848 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2849 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
2851 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
2852 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2853 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2854 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
2856 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
2857 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2858 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2859 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
2861 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
2862 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
2863 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2864 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
2866 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
2867 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
2868 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2869 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
2871 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
2872 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
2873 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2874 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
2876 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
2877 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
2878 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
2879 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
2881 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
2882 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x77,
2883 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2884 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
2886 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
2887 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
2888 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2889 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
2891 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
2892 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
2893 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2894 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
2896 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
2897 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
2898 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2899 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
2901 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
2902 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x77,
2903 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
2904 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
2906 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
2907 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
2908 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
2909 0x00, 0x6f, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
2911 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
2912 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
2913 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
2914 0x00, 0x6f, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
2916 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
2917 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
2918 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0e,
2919 0x00, 0x6f, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
2921 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
2922 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
2923 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0d,
2924 0x00, 0x6f, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
2926 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
2927 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
2928 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2929 0x00, 0x6f, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
2931 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
2932 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
2933 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2934 0x00, 0x6f, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
2936 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
2937 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xd8, 0x00, 0x05, 0x00, 0x77,
2938 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2939 0x00, 0x6f, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
2941 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
2942 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xd8, 0x00, 0x05, 0x00, 0x77,
2943 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2944 0x00, 0x6f, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
2946 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
2947 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xc8, 0x00, 0x05, 0x00, 0x77,
2948 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2949 0x00, 0x6f, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
2951 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
2952 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xc7, 0x00, 0x05, 0x00, 0x77,
2953 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
2954 0x00, 0x6f, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
2956 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
2957 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
2958 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0d,
2959 0x00, 0x6f, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
2961 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
2962 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
2963 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0c,
2964 0x00, 0x6f, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
2966 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
2967 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2968 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2969 0x00, 0x6f, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
2971 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
2972 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2973 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2974 0x00, 0x6f, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
2976 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
2977 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2978 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2979 0x00, 0x6f, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
2981 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
2982 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
2983 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2984 0x00, 0x6f, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
2986 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
2987 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb7, 0x00, 0x03, 0x00, 0x77,
2988 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
2989 0x00, 0x6f, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
2991 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
2992 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xa6, 0x00, 0x03, 0x00, 0x77,
2993 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
2994 0x00, 0x6f, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
2996 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
2997 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
2998 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
2999 0x00, 0x6f, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
3001 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
3002 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
3003 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
3004 0x00, 0x6f, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
3006 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
3007 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
3008 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3009 0x00, 0x6f, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
3011 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
3012 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
3013 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3014 0x00, 0x6f, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
3016 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3017 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x77,
3018 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3019 0x00, 0x6f, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
3021 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3022 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
3023 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3024 0x00, 0x6f, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
3026 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3027 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
3028 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
3029 0x00, 0x6f, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
3031 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3032 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x84, 0x00, 0x02, 0x00, 0x77,
3033 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
3034 0x00, 0x6f, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
3036 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3037 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x84, 0x00, 0x02, 0x00, 0x77,
3038 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
3039 0x00, 0x6f, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
3041 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3042 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
3043 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
3044 0x00, 0x6f, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
3046 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
3047 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
3048 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x09,
3049 0x00, 0x6f, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
3051 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
3052 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
3053 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
3054 0x00, 0x6f, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
3056 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
3057 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
3058 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
3059 0x00, 0x6f, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
3061 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
3062 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x73, 0x00, 0x01, 0x00, 0x77,
3063 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
3064 0x00, 0x6f, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
3066 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
3067 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x00, 0x00, 0x77,
3068 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3069 0x00, 0x6f, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
3071 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
3072 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x00, 0x00, 0x77,
3073 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3074 0x00, 0x6f, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
3076 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
3077 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
3078 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3079 0x00, 0x6f, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
3081 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
3082 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
3083 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3084 0x00, 0x6f, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
3086 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
3087 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
3088 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3089 0x00, 0x6f, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
3091 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
3092 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
3093 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3094 0x00, 0x6f, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
3096 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3097 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x73, 0x00, 0x00, 0x00, 0x77,
3098 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3099 0x00, 0x6f, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
3101 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3102 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
3103 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3104 0x00, 0x6f, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
3106 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3107 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
3108 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3109 0x00, 0x6f, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
3111 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3112 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x77,
3113 0x00, 0x09, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
3114 0x00, 0x6f, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
3116 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3117 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x62, 0x00, 0x00, 0x00, 0x77,
3118 0x00, 0x08, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3119 0x00, 0x6f, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
3121 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3122 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x61, 0x00, 0x00, 0x00, 0x77,
3123 0x00, 0x08, 0x00, 0x6f, 0x00, 0x61, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3124 0x00, 0x6f, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
3126 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
3127 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
3128 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3129 0x00, 0x6f, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
3131 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
3132 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
3133 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
3134 0x00, 0x6f, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
3136 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
3137 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
3138 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3139 0x00, 0x6f, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
3141 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
3142 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
3143 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3144 0x00, 0x6f, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
3146 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
3147 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x77,
3148 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3149 0x00, 0x6f, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
3151 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
3152 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
3153 0x00, 0x07, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
3154 0x00, 0x6f, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
3156 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
3157 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
3158 0x00, 0x06, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3159 0x00, 0x6f, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
3161 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
3162 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x77,
3163 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3164 0x00, 0x6f, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
3166 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
3167 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3168 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3169 0x00, 0x6f, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
3171 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
3172 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3173 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3174 0x00, 0x6f, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
3176 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3177 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3178 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3179 0x00, 0x6e, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
3181 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3182 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3183 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3184 0x00, 0x6e, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
3186 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3187 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3188 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3189 0x00, 0x6e, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
3191 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
3192 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
3193 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3194 0x00, 0x6e, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
3196 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3197 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3198 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3199 0x00, 0x6e, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
3201 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
3202 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3203 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3204 0x00, 0x6d, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
3206 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3207 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3208 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3209 0x00, 0x6d, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
3211 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
3212 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
3213 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
3214 0x00, 0x6d, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
3216 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3217 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x77,
3218 0x00, 0x05, 0x00, 0x6d, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3219 0x00, 0x6d, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
3221 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
3222 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
3223 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3224 0x00, 0x6c, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
3226 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
3227 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
3228 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3229 0x00, 0x6c, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
3231 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
3232 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3233 0x00, 0x05, 0x00, 0x6c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3234 0x00, 0x6c, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
3236 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
3237 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3238 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3239 0x00, 0x6b, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
3241 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
3242 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3243 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3244 0x00, 0x6b, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
3246 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
3247 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
3248 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3249 0x00, 0x6b, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
3251 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
3252 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
3253 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3254 0x00, 0x6b, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
3256 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
3257 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
3258 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3259 0x00, 0x6b, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
3261 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
3262 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3263 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3264 0x00, 0x6b, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
3266 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
3267 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3268 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3269 0x00, 0x6b, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
3271 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
3272 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3273 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3274 0x00, 0x6a, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
3276 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
3277 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3278 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3279 0x00, 0x6a, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
3281 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
3282 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3283 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3284 0x00, 0x6a, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
3286 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
3287 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3288 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3289 0x00, 0x6a, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
3291 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
3292 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3293 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3294 0x00, 0x69, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
3296 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
3297 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3298 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
3299 0x00, 0x69, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
3301 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
3302 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3303 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3304 0x00, 0x69, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
3306 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
3307 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3308 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3309 0x00, 0x69, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
3311 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3312 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3313 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3314 0x00, 0x69, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
3316 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3317 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3318 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3319 0x00, 0x68, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
3321 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3322 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3323 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3324 0x00, 0x68, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
3326 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3327 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3328 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3329 0x00, 0x68, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
3331 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3332 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3333 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3334 0x00, 0x68, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
3336 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3337 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
3338 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
3339 0x00, 0x68, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
3341 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
3342 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
3343 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
3344 0x0b, 0x00, 0x0a, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
3346 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
3347 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
3348 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
3349 0x0b, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
3351 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
3352 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x67, 0x00, 0x03, 0x00,
3353 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x67, 0x00, 0x03, 0x00, 0x70, 0x00,
3354 0x0b, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
3356 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
3357 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x57, 0x00, 0x03, 0x00,
3358 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x57, 0x00, 0x03, 0x00, 0x70, 0x00,
3359 0x0a, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
3361 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
3362 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x56, 0x00, 0x03, 0x00,
3363 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x56, 0x00, 0x03, 0x00, 0x70, 0x00,
3364 0x0a, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
3366 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
3367 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x46, 0x00, 0x03, 0x00,
3368 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x46, 0x00, 0x03, 0x00, 0x70, 0x00,
3369 0x0a, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
3371 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
3372 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
3373 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
3374 0x0a, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
3376 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
3377 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
3378 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
3379 0x0a, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
3381 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
3382 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x23, 0x00, 0x02, 0x00,
3383 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x23, 0x00, 0x02, 0x00, 0x70, 0x00,
3384 0x0a, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
3386 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
3387 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x12, 0x00, 0x02, 0x00,
3388 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x12, 0x00, 0x02, 0x00, 0x70, 0x00,
3389 0x0a, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
3391 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
3392 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00,
3393 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x02, 0x00, 0x02, 0x00, 0x70, 0x00,
3394 0x09, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
3396 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
3397 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
3398 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x01, 0x00, 0x02, 0x00, 0x70, 0x00,
3399 0x09, 0x00, 0x09, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
3401 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
3402 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
3403 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x01, 0x00, 0x02, 0x00, 0x70, 0x00,
3404 0x09, 0x00, 0x09, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
3406 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
3407 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
3408 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
3409 0x09, 0x00, 0x09, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
3412 static chan_info_nphy_radio205x_t chan_info_nphyrev5n6_2056v7[] = {
3414 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
3415 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3416 0x00, 0x0f, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0f,
3417 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
3419 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
3420 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3421 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
3422 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
3424 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
3425 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3426 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
3427 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
3429 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
3430 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0b, 0x00, 0x70,
3431 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0b, 0x00, 0x70, 0x00, 0x0e,
3432 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
3434 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
3435 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3436 0x00, 0x0e, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0e,
3437 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
3439 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
3440 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3441 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3442 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
3444 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
3445 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3446 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3447 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
3449 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
3450 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3451 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3452 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
3454 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
3455 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3456 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3457 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
3459 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
3460 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x0a, 0x00, 0x70,
3461 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x0a, 0x00, 0x70, 0x00, 0x0d,
3462 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
3464 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
3465 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
3466 0x00, 0x0d, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0d,
3467 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
3469 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
3470 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xff, 0x00, 0x09, 0x00, 0x70,
3471 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xff, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3472 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
3474 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
3475 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
3476 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3477 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
3479 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
3480 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x70,
3481 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3482 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
3484 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
3485 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x70,
3486 0x00, 0x0c, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x70, 0x00, 0x0c,
3487 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
3489 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
3490 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x70,
3491 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3492 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
3494 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
3495 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3496 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3497 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
3499 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
3500 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3501 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3502 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
3504 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
3505 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3506 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3507 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
3509 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
3510 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3511 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3512 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
3514 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
3515 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x70,
3516 0x00, 0x0b, 0x00, 0x9f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0b,
3517 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
3519 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
3520 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x70,
3521 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x70, 0x00, 0x0a,
3522 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
3524 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
3525 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
3526 0x00, 0x0a, 0x00, 0x9f, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x0a,
3527 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
3529 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
3530 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x07, 0x00, 0x70,
3531 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x07, 0x00, 0x70, 0x00, 0x09,
3532 0x00, 0x6e, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
3534 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
3535 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x06, 0x00, 0x70,
3536 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfb, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3537 0x00, 0x6e, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
3539 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
3540 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3541 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3542 0x00, 0x6e, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
3544 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
3545 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3546 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3547 0x00, 0x6e, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
3549 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
3550 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3551 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3552 0x00, 0x6e, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
3554 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
3555 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x06, 0x00, 0x70,
3556 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3557 0x00, 0x6e, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
3559 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3560 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xfa, 0x00, 0x06, 0x00, 0x70,
3561 0x00, 0x09, 0x00, 0x9e, 0x00, 0xfa, 0x00, 0x06, 0x00, 0x70, 0x00, 0x09,
3562 0x00, 0x6e, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
3564 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3565 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xea, 0x00, 0x06, 0x00, 0x70,
3566 0x00, 0x08, 0x00, 0x9e, 0x00, 0xea, 0x00, 0x06, 0x00, 0x70, 0x00, 0x08,
3567 0x00, 0x6e, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
3569 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3570 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xe9, 0x00, 0x05, 0x00, 0x70,
3571 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
3572 0x00, 0x6d, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
3574 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3575 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xe9, 0x00, 0x05, 0x00, 0x70,
3576 0x00, 0x08, 0x00, 0x9d, 0x00, 0xe9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
3577 0x00, 0x6d, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
3579 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3580 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xd9, 0x00, 0x05, 0x00, 0x70,
3581 0x00, 0x08, 0x00, 0x9d, 0x00, 0xd9, 0x00, 0x05, 0x00, 0x70, 0x00, 0x08,
3582 0x00, 0x6d, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
3584 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3585 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xd8, 0x00, 0x04, 0x00, 0x70,
3586 0x00, 0x07, 0x00, 0x9c, 0x00, 0xd8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3587 0x00, 0x6c, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
3589 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
3590 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3591 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3592 0x00, 0x6c, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
3594 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
3595 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3596 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3597 0x00, 0x6c, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
3599 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
3600 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3601 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3602 0x00, 0x6c, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
3604 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
3605 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xc8, 0x00, 0x04, 0x00, 0x70,
3606 0x00, 0x07, 0x00, 0x9c, 0x00, 0xc8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3607 0x00, 0x6c, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
3609 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
3610 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb8, 0x00, 0x04, 0x00, 0x70,
3611 0x00, 0x07, 0x00, 0x9c, 0x00, 0xb8, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3612 0x00, 0x6c, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
3614 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
3615 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xb7, 0x00, 0x04, 0x00, 0x70,
3616 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x04, 0x00, 0x70, 0x00, 0x07,
3617 0x00, 0x6b, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
3619 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
3620 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xb7, 0x00, 0x03, 0x00, 0x70,
3621 0x00, 0x07, 0x00, 0x9b, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x07,
3622 0x00, 0x6b, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
3624 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
3625 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa7, 0x00, 0x03, 0x00, 0x70,
3626 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa7, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3627 0x00, 0x6b, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
3629 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
3630 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0xa6, 0x00, 0x03, 0x00, 0x70,
3631 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3632 0x00, 0x6b, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
3634 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
3635 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0xa6, 0x00, 0x03, 0x00, 0x70,
3636 0x00, 0x06, 0x00, 0x9b, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3637 0x00, 0x7b, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
3639 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3640 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x96, 0x00, 0x03, 0x00, 0x70,
3641 0x00, 0x06, 0x00, 0x9a, 0x00, 0x96, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3642 0x00, 0x7a, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
3644 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3645 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x70,
3646 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3647 0x00, 0x7a, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
3649 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3650 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x70,
3651 0x00, 0x06, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x06,
3652 0x00, 0x7a, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
3654 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3655 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x95, 0x00, 0x03, 0x00, 0x70,
3656 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
3657 0x00, 0x7a, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
3659 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3660 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x95, 0x00, 0x03, 0x00, 0x70,
3661 0x00, 0x05, 0x00, 0x9a, 0x00, 0x95, 0x00, 0x03, 0x00, 0x70, 0x00, 0x05,
3662 0x00, 0x7a, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
3664 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3665 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x85, 0x00, 0x02, 0x00, 0x70,
3666 0x00, 0x05, 0x00, 0x99, 0x00, 0x85, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
3667 0x00, 0x79, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
3669 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
3670 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x70,
3671 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
3672 0x00, 0x79, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
3674 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
3675 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x02, 0x00, 0x70,
3676 0x00, 0x05, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x05,
3677 0x00, 0x79, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
3679 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
3680 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x02, 0x00, 0x70,
3681 0x00, 0x04, 0x00, 0x99, 0x00, 0x84, 0x00, 0x02, 0x00, 0x70, 0x00, 0x04,
3682 0x00, 0x79, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
3684 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
3685 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x74, 0x00, 0x01, 0x00, 0x70,
3686 0x00, 0x04, 0x00, 0x99, 0x00, 0x74, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3687 0x00, 0x79, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
3689 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
3690 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x01, 0x00, 0x70,
3691 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3692 0x00, 0x78, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
3694 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
3695 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x01, 0x00, 0x70,
3696 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3697 0x00, 0x78, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
3699 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
3700 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x01, 0x00, 0x70,
3701 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3702 0x00, 0x78, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
3704 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
3705 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x01, 0x00, 0x70,
3706 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3707 0x00, 0x78, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
3709 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
3710 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x01, 0x00, 0x70,
3711 0x00, 0x04, 0x00, 0x98, 0x00, 0x73, 0x00, 0x01, 0x00, 0x70, 0x00, 0x04,
3712 0x00, 0x78, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
3714 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
3715 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x63, 0x00, 0x01, 0x00, 0x70,
3716 0x00, 0x03, 0x00, 0x98, 0x00, 0x63, 0x00, 0x01, 0x00, 0x70, 0x00, 0x03,
3717 0x00, 0x78, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
3719 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3720 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x62, 0x00, 0x00, 0x00, 0x70,
3721 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
3722 0x00, 0x77, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
3724 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3725 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x70,
3726 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
3727 0x00, 0x77, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
3729 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3730 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x70,
3731 0x00, 0x03, 0x00, 0x97, 0x00, 0x62, 0x00, 0x00, 0x00, 0x70, 0x00, 0x03,
3732 0x00, 0x77, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
3734 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3735 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x52, 0x00, 0x00, 0x00, 0x70,
3736 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3737 0x00, 0x76, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
3739 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3740 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x52, 0x00, 0x00, 0x00, 0x70,
3741 0x00, 0x02, 0x00, 0x96, 0x00, 0x52, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3742 0x00, 0x86, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
3744 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3745 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3746 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3747 0x00, 0x86, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
3749 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
3750 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3751 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3752 0x00, 0x86, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
3754 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
3755 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3756 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3757 0x00, 0x86, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
3759 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
3760 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3761 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3762 0x00, 0x86, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
3764 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
3765 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x70,
3766 0x00, 0x02, 0x00, 0x96, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3767 0x00, 0x86, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
3769 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
3770 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x51, 0x00, 0x00, 0x00, 0x70,
3771 0x00, 0x02, 0x00, 0x95, 0x00, 0x51, 0x00, 0x00, 0x00, 0x70, 0x00, 0x02,
3772 0x00, 0x85, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
3774 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
3775 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x70,
3776 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3777 0x00, 0x85, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
3779 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
3780 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x70,
3781 0x00, 0x01, 0x00, 0x95, 0x00, 0x50, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3782 0x00, 0x85, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
3784 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
3785 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x70,
3786 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3787 0x00, 0x84, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
3789 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
3790 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3791 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3792 0x00, 0x84, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
3794 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
3795 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3796 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3797 0x00, 0x94, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
3799 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3800 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3801 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3802 0x00, 0x94, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
3804 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3805 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3806 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3807 0x00, 0x94, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
3809 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3810 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3811 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3812 0x00, 0x94, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
3814 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
3815 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x40, 0x00, 0x00, 0x00, 0x70,
3816 0x00, 0x01, 0x00, 0x94, 0x00, 0x40, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3817 0x00, 0x94, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
3819 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3820 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3821 0x00, 0x01, 0x00, 0x94, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x01,
3822 0x00, 0x94, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
3824 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
3825 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3826 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3827 0x00, 0x93, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
3829 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3830 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3831 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3832 0x00, 0x93, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
3834 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
3835 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3836 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3837 0x00, 0x93, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
3839 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3840 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x70,
3841 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3842 0x00, 0x93, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
3844 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
3845 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x30, 0x00, 0x00, 0x00, 0x70,
3846 0x00, 0x00, 0x00, 0x93, 0x00, 0x30, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3847 0x00, 0x93, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
3849 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
3850 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3851 0x00, 0x00, 0x00, 0x93, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3852 0x00, 0x93, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
3854 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
3855 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3856 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3857 0x00, 0x92, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
3859 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
3860 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3861 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3862 0x00, 0x92, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
3864 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
3865 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x70,
3866 0x00, 0x00, 0x00, 0x92, 0x00, 0x20, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3867 0x00, 0x92, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
3869 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
3870 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x70,
3871 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3872 0x00, 0x92, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
3874 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
3875 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3876 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3877 0x00, 0x92, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
3879 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
3880 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3881 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3882 0x00, 0x92, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
3884 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
3885 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3886 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3887 0x00, 0x92, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
3889 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
3890 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3891 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3892 0x00, 0x92, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
3894 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
3895 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3896 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3897 0x00, 0x92, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
3899 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
3900 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3901 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3902 0x00, 0x92, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
3904 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
3905 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3906 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3907 0x00, 0x92, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
3909 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
3910 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3911 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3912 0x00, 0x92, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
3914 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
3915 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3916 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3917 0x00, 0x92, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
3919 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
3920 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3921 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3922 0x00, 0x92, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
3924 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
3925 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70,
3926 0x00, 0x00, 0x00, 0x92, 0x00, 0x10, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3927 0x00, 0x92, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
3929 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
3930 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3931 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3932 0x00, 0x92, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
3934 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
3935 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3936 0x00, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3937 0x00, 0x92, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
3939 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
3940 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3941 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3942 0x00, 0x91, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
3944 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
3945 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3946 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3947 0x00, 0x91, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
3949 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
3950 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3951 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3952 0x00, 0x91, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
3954 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
3955 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3956 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3957 0x00, 0x91, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
3959 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
3960 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70,
3961 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
3962 0x00, 0x91, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
3964 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
3965 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x89, 0x00, 0x03, 0x00,
3966 0x70, 0x00, 0x0f, 0x00, 0x0b, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
3967 0x0f, 0x00, 0x0b, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
3969 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
3970 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x89, 0x00, 0x03, 0x00,
3971 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
3972 0x0f, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
3974 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
3975 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x89, 0x00, 0x03, 0x00,
3976 0x70, 0x00, 0x0f, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
3977 0x0f, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
3979 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
3980 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
3981 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
3982 0x0e, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
3984 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
3985 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x03, 0x00,
3986 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x03, 0x00, 0x70, 0x00,
3987 0x0e, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
3989 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
3990 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x76, 0x00, 0x03, 0x00,
3991 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x76, 0x00, 0x03, 0x00, 0x70, 0x00,
3992 0x0e, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
3994 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
3995 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x66, 0x00, 0x03, 0x00,
3996 0x70, 0x00, 0x0e, 0x00, 0x0a, 0x00, 0x66, 0x00, 0x03, 0x00, 0x70, 0x00,
3997 0x0e, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
3999 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
4000 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x55, 0x00, 0x02, 0x00,
4001 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x55, 0x00, 0x02, 0x00, 0x70, 0x00,
4002 0x0e, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
4004 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
4005 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
4006 0x70, 0x00, 0x0e, 0x00, 0x09, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
4007 0x0e, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
4009 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
4010 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
4011 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
4012 0x0d, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
4014 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
4015 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x33, 0x00, 0x02, 0x00,
4016 0x70, 0x00, 0x0d, 0x00, 0x09, 0x00, 0x33, 0x00, 0x02, 0x00, 0x70, 0x00,
4017 0x0d, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
4019 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
4020 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x22, 0x00, 0x02, 0x00,
4021 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x22, 0x00, 0x02, 0x00, 0x70, 0x00,
4022 0x0d, 0x00, 0x08, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
4024 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
4025 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x11, 0x00, 0x02, 0x00,
4026 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x11, 0x00, 0x02, 0x00, 0x70, 0x00,
4027 0x0d, 0x00, 0x08, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
4029 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
4030 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
4031 0x70, 0x00, 0x0d, 0x00, 0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
4032 0x0d, 0x00, 0x08, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
4035 static chan_info_nphy_radio205x_t chan_info_nphyrev6_2056v8[] = {
4037 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04, 0x0c, 0x01,
4038 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4039 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4040 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
4042 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x04, 0x0c, 0x01,
4043 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4044 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4045 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
4047 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x04, 0x0c, 0x01,
4048 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4049 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4050 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
4052 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x04, 0x0c, 0x01,
4053 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4054 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4055 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
4057 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x04, 0x0c, 0x01,
4058 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4059 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4060 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
4062 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x04, 0x0c, 0x01,
4063 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4064 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4065 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
4067 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x04, 0x0c, 0x01,
4068 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4069 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4070 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
4072 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x04, 0x0c, 0x01,
4073 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4074 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4075 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
4077 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x04, 0x0c, 0x01,
4078 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4079 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4080 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
4082 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x04, 0x0c, 0x01,
4083 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4084 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4085 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
4087 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x04, 0x0c, 0x01,
4088 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4089 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4090 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
4092 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x04, 0x0c, 0x01,
4093 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4094 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4095 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
4097 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x04, 0x0c, 0x01,
4098 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4099 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4100 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
4102 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x04, 0x0c, 0x01,
4103 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4104 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4105 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
4107 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x04, 0x0c, 0x01,
4108 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4109 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4110 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
4112 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x04, 0x0c, 0x01,
4113 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4114 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4115 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
4117 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x04, 0x0c, 0x01,
4118 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4119 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4120 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
4122 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x04, 0x0c, 0x01,
4123 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4124 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4125 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
4127 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x04, 0x0c, 0x01,
4128 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x77,
4129 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4130 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
4132 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x04, 0x0c, 0x01,
4133 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4134 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4135 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
4137 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x04, 0x0c, 0x01,
4138 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4139 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4140 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
4142 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x04, 0x0c, 0x01,
4143 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4144 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4145 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
4147 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x04, 0x0c, 0x01,
4148 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x77,
4149 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4150 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
4152 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x04, 0x0c, 0x01,
4153 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4154 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4155 0x00, 0x6f, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
4157 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x04, 0x0c, 0x01,
4158 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4159 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4160 0x00, 0x6f, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
4162 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x04, 0x0c, 0x01,
4163 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4164 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0e,
4165 0x00, 0x6f, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
4167 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x04, 0x0c, 0x01,
4168 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4169 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0d,
4170 0x00, 0x6f, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
4172 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x04, 0x0c, 0x01,
4173 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4174 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4175 0x00, 0x6f, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
4177 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x04, 0x0c, 0x01,
4178 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4179 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4180 0x00, 0x6f, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
4182 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4183 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xd8, 0x00, 0x05, 0x00, 0x77,
4184 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4185 0x00, 0x6f, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
4187 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4188 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xd8, 0x00, 0x05, 0x00, 0x77,
4189 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4190 0x00, 0x6f, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
4192 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4193 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xc8, 0x00, 0x05, 0x00, 0x77,
4194 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4195 0x00, 0x6f, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
4197 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4198 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xc7, 0x00, 0x05, 0x00, 0x77,
4199 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4200 0x00, 0x6f, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
4202 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4203 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4204 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0d,
4205 0x00, 0x6f, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
4207 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4208 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4209 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0c,
4210 0x00, 0x6f, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
4212 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x04, 0x0c, 0x01,
4213 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4214 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4215 0x00, 0x6f, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
4217 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x04, 0x0c, 0x01,
4218 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4219 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4220 0x00, 0x6f, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
4222 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x04, 0x0c, 0x01,
4223 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4224 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4225 0x00, 0x6f, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
4227 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x04, 0x0c, 0x01,
4228 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4229 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4230 0x00, 0x6f, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
4232 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x04, 0x0c, 0x01,
4233 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb7, 0x00, 0x03, 0x00, 0x77,
4234 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4235 0x00, 0x6f, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
4237 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x04, 0x0c, 0x01,
4238 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xa6, 0x00, 0x03, 0x00, 0x77,
4239 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4240 0x00, 0x6f, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
4242 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x04, 0x0c, 0x01,
4243 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4244 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4245 0x00, 0x6f, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
4247 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x04, 0x0c, 0x01,
4248 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4249 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4250 0x00, 0x6f, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
4252 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x04, 0x0c, 0x01,
4253 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4254 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4255 0x00, 0x6f, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
4257 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x04, 0x0c, 0x01,
4258 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4259 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4260 0x00, 0x6f, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
4262 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4263 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x77,
4264 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4265 0x00, 0x6f, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
4267 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4268 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4269 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4270 0x00, 0x6f, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
4272 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4273 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4274 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4275 0x00, 0x6f, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
4277 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4278 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x84, 0x00, 0x02, 0x00, 0x77,
4279 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4280 0x00, 0x6f, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
4282 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4283 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x84, 0x00, 0x02, 0x00, 0x77,
4284 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4285 0x00, 0x6f, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
4287 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4288 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4289 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4290 0x00, 0x6f, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
4292 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x04, 0x0c, 0x01,
4293 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4294 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x09,
4295 0x00, 0x6f, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
4297 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x04, 0x0c, 0x01,
4298 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4299 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4300 0x00, 0x6f, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
4302 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x04, 0x0c, 0x01,
4303 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4304 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4305 0x00, 0x6f, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
4307 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x04, 0x0c, 0x01,
4308 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x73, 0x00, 0x01, 0x00, 0x77,
4309 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4310 0x00, 0x6f, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
4312 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x04, 0x0c, 0x01,
4313 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x00, 0x00, 0x77,
4314 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4315 0x00, 0x6f, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
4317 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x04, 0x0c, 0x01,
4318 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x00, 0x00, 0x77,
4319 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4320 0x00, 0x6f, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
4322 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x04, 0x0c, 0x01,
4323 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4324 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4325 0x00, 0x6f, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
4327 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x04, 0x0c, 0x01,
4328 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4329 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4330 0x00, 0x6f, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
4332 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x04, 0x0c, 0x01,
4333 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4334 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4335 0x00, 0x6f, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
4337 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x04, 0x0c, 0x01,
4338 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4339 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4340 0x00, 0x6f, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
4342 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4343 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x73, 0x00, 0x00, 0x00, 0x77,
4344 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4345 0x00, 0x6f, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
4347 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4348 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4349 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4350 0x00, 0x6f, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
4352 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4353 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4354 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4355 0x00, 0x6f, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
4357 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4358 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x77,
4359 0x00, 0x09, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4360 0x00, 0x6f, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
4362 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4363 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x62, 0x00, 0x00, 0x00, 0x77,
4364 0x00, 0x08, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4365 0x00, 0x6f, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
4367 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4368 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x61, 0x00, 0x00, 0x00, 0x77,
4369 0x00, 0x08, 0x00, 0x6f, 0x00, 0x61, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4370 0x00, 0x6f, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
4372 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x04, 0x0c, 0x01,
4373 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
4374 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4375 0x00, 0x6f, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
4377 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x04, 0x0c, 0x01,
4378 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
4379 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4380 0x00, 0x6f, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
4382 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x04, 0x0c, 0x01,
4383 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
4384 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4385 0x00, 0x6f, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
4387 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x04, 0x0c, 0x01,
4388 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
4389 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4390 0x00, 0x6f, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
4392 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x04, 0x0c, 0x01,
4393 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x77,
4394 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4395 0x00, 0x6f, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
4397 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x04, 0x0c, 0x01,
4398 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
4399 0x00, 0x07, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
4400 0x00, 0x6f, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
4402 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x04, 0x0c, 0x01,
4403 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
4404 0x00, 0x06, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4405 0x00, 0x6f, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
4407 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x04, 0x0c, 0x01,
4408 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x77,
4409 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4410 0x00, 0x6f, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
4412 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x04, 0x0c, 0x01,
4413 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4414 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4415 0x00, 0x6f, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
4417 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x04, 0x0c, 0x01,
4418 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4419 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4420 0x00, 0x6f, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
4422 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4423 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4424 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4425 0x00, 0x6e, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
4427 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4428 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4429 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4430 0x00, 0x6e, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
4432 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4433 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4434 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4435 0x00, 0x6e, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
4437 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x07, 0x07, 0x04, 0x10, 0x01,
4438 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
4439 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4440 0x00, 0x6e, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
4442 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4443 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4444 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4445 0x00, 0x6e, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
4447 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x07, 0x07, 0x04, 0x10, 0x01,
4448 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4449 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4450 0x00, 0x6d, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
4452 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4453 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4454 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4455 0x00, 0x6d, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
4457 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x07, 0x07, 0x04, 0x10, 0x01,
4458 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
4459 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
4460 0x00, 0x6d, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
4462 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4463 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x77,
4464 0x00, 0x05, 0x00, 0x6d, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4465 0x00, 0x6d, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
4467 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x07, 0x07, 0x04, 0x10, 0x01,
4468 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
4469 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4470 0x00, 0x6c, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
4472 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x04, 0x0c, 0x01,
4473 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
4474 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4475 0x00, 0x6c, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
4477 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x07, 0x07, 0x04, 0x10, 0x01,
4478 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4479 0x00, 0x05, 0x00, 0x6c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4480 0x00, 0x6c, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
4482 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x04, 0x0c, 0x01,
4483 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4484 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4485 0x00, 0x6b, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
4487 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x07, 0x07, 0x04, 0x10, 0x01,
4488 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4489 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4490 0x00, 0x6b, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
4492 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x04, 0x0c, 0x01,
4493 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
4494 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4495 0x00, 0x6b, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
4497 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x07, 0x07, 0x04, 0x10, 0x01,
4498 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
4499 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4500 0x00, 0x6b, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
4502 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x04, 0x0c, 0x01,
4503 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
4504 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4505 0x00, 0x6b, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
4507 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x07, 0x07, 0x04, 0x10, 0x01,
4508 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4509 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4510 0x00, 0x6b, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
4512 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x04, 0x0c, 0x01,
4513 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4514 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4515 0x00, 0x6b, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
4517 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x07, 0x07, 0x04, 0x10, 0x01,
4518 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4519 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4520 0x00, 0x6a, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
4522 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x04, 0x0c, 0x01,
4523 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4524 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4525 0x00, 0x6a, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
4527 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x07, 0x07, 0x04, 0x10, 0x01,
4528 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4529 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4530 0x00, 0x6a, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
4532 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x04, 0x0c, 0x01,
4533 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4534 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4535 0x00, 0x6a, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
4537 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x07, 0x07, 0x04, 0x10, 0x01,
4538 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4539 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4540 0x00, 0x69, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
4542 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x04, 0x0c, 0x01,
4543 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4544 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
4545 0x00, 0x69, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
4547 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x04, 0x0c, 0x01,
4548 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4549 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4550 0x00, 0x69, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
4552 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x04, 0x0c, 0x01,
4553 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4554 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4555 0x00, 0x69, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
4557 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x04, 0x0c, 0x01,
4558 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4559 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4560 0x00, 0x69, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
4562 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x04, 0x0c, 0x01,
4563 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4564 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4565 0x00, 0x68, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
4567 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x04, 0x0c, 0x01,
4568 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4569 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4570 0x00, 0x68, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
4572 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x04, 0x0c, 0x01,
4573 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4574 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4575 0x00, 0x68, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
4577 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x04, 0x0c, 0x01,
4578 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4579 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4580 0x00, 0x68, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
4582 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x04, 0x0c, 0x01,
4583 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
4584 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
4585 0x00, 0x68, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
4587 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x08, 0x08, 0x04, 0x16, 0x01,
4588 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
4589 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
4590 0x0b, 0x00, 0x0a, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
4592 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x08, 0x08, 0x04, 0x16, 0x01,
4593 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
4594 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
4595 0x0b, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
4597 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x08, 0x08, 0x04, 0x16, 0x01,
4598 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x67, 0x00, 0x03, 0x00,
4599 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
4600 0x0b, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
4602 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x08, 0x08, 0x04, 0x16, 0x01,
4603 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x57, 0x00, 0x03, 0x00,
4604 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
4605 0x0a, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
4607 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x08, 0x08, 0x04, 0x16, 0x01,
4608 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x56, 0x00, 0x03, 0x00,
4609 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x03, 0x00, 0x70, 0x00,
4610 0x0a, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
4612 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x08, 0x08, 0x04, 0x16, 0x01,
4613 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x46, 0x00, 0x03, 0x00,
4614 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x76, 0x00, 0x03, 0x00, 0x70, 0x00,
4615 0x0a, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
4617 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x08, 0x08, 0x04, 0x16, 0x01,
4618 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
4619 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x66, 0x00, 0x02, 0x00, 0x70, 0x00,
4620 0x0a, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
4622 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x08, 0x08, 0x04, 0x16, 0x01,
4623 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
4624 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x55, 0x00, 0x02, 0x00, 0x70, 0x00,
4625 0x0a, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
4627 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x08, 0x08, 0x04, 0x16, 0x01,
4628 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x23, 0x00, 0x02, 0x00,
4629 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
4630 0x0a, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
4632 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x08, 0x08, 0x04, 0x16, 0x01,
4633 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x12, 0x00, 0x02, 0x00,
4634 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
4635 0x0a, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
4637 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x08, 0x08, 0x04, 0x16, 0x01,
4638 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00,
4639 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x33, 0x00, 0x02, 0x00, 0x70, 0x00,
4640 0x09, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
4642 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x08, 0x08, 0x04, 0x16, 0x01,
4643 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
4644 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x22, 0x00, 0x02, 0x00, 0x70, 0x00,
4645 0x09, 0x00, 0x09, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
4647 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x08, 0x08, 0x04, 0x16, 0x01,
4648 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
4649 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x11, 0x00, 0x02, 0x00, 0x70, 0x00,
4650 0x09, 0x00, 0x09, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
4652 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x08, 0x08, 0x04, 0x16, 0x01,
4653 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
4654 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
4655 0x09, 0x00, 0x09, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
4658 static chan_info_nphy_radio205x_t chan_info_nphyrev6_2056v11[] = {
4660 184, 4920, 0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x02, 0x0c, 0x01,
4661 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4662 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4663 0x00, 0x6f, 0x00, 0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216},
4665 186, 4930, 0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x02, 0x0c, 0x01,
4666 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4667 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4668 0x00, 0x6f, 0x00, 0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215},
4670 188, 4940, 0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x02, 0x0c, 0x01,
4671 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4672 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4673 0x00, 0x6f, 0x00, 0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214},
4675 190, 4950, 0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x02, 0x0c, 0x01,
4676 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4677 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4678 0x00, 0x6f, 0x00, 0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213},
4680 192, 4960, 0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x02, 0x0c, 0x01,
4681 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4682 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4683 0x00, 0x6f, 0x00, 0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212},
4685 194, 4970, 0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x02, 0x0c, 0x01,
4686 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4687 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4688 0x00, 0x6f, 0x00, 0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211},
4690 196, 4980, 0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x02, 0x0c, 0x01,
4691 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4692 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4693 0x00, 0x6f, 0x00, 0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f},
4695 198, 4990, 0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x02, 0x0c, 0x01,
4696 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4697 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4698 0x00, 0x6f, 0x00, 0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e},
4700 200, 5000, 0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x02, 0x0c, 0x01,
4701 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4702 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4703 0x00, 0x6f, 0x00, 0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d},
4705 202, 5010, 0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x02, 0x0c, 0x01,
4706 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4707 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4708 0x00, 0x6f, 0x00, 0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c},
4710 204, 5020, 0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x02, 0x0c, 0x01,
4711 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4712 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4713 0x00, 0x6f, 0x00, 0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b},
4715 206, 5030, 0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x02, 0x0c, 0x01,
4716 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4717 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4718 0x00, 0x6f, 0x00, 0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a},
4720 208, 5040, 0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x02, 0x0c, 0x01,
4721 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4722 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4723 0x00, 0x6f, 0x00, 0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209},
4725 210, 5050, 0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x02, 0x0c, 0x01,
4726 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4727 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4728 0x00, 0x6f, 0x00, 0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208},
4730 212, 5060, 0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x02, 0x0c, 0x01,
4731 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfe, 0x00, 0x09, 0x00, 0x77,
4732 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4733 0x00, 0x6f, 0x00, 0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207},
4735 214, 5070, 0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x02, 0x0c, 0x01,
4736 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4737 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4738 0x00, 0x6f, 0x00, 0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206},
4740 216, 5080, 0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x02, 0x0c, 0x01,
4741 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4742 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4743 0x00, 0x6f, 0x00, 0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205},
4745 218, 5090, 0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x02, 0x0c, 0x01,
4746 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x09, 0x00, 0x77,
4747 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f,
4748 0x00, 0x6f, 0x00, 0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204},
4750 220, 5100, 0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x02, 0x0c, 0x01,
4751 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfd, 0x00, 0x08, 0x00, 0x77,
4752 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4753 0x00, 0x6f, 0x00, 0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203},
4755 222, 5110, 0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x02, 0x0c, 0x01,
4756 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4757 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4758 0x00, 0x6f, 0x00, 0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202},
4760 224, 5120, 0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x02, 0x0c, 0x01,
4761 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4762 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4763 0x00, 0x6f, 0x00, 0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201},
4765 226, 5130, 0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x02, 0x0c, 0x01,
4766 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfc, 0x00, 0x08, 0x00, 0x77,
4767 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4768 0x00, 0x6f, 0x00, 0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200},
4770 228, 5140, 0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x02, 0x0c, 0x01,
4771 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfb, 0x00, 0x08, 0x00, 0x77,
4772 0x00, 0x0f, 0x00, 0x6f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f,
4773 0x00, 0x6f, 0x00, 0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff},
4775 32, 5160, 0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x02, 0x0c, 0x01,
4776 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4777 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4778 0x00, 0x6f, 0x00, 0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd},
4780 34, 5170, 0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x02, 0x0c, 0x01,
4781 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xfa, 0x00, 0x07, 0x00, 0x77,
4782 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e,
4783 0x00, 0x6f, 0x00, 0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc},
4785 36, 5180, 0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x02, 0x0c, 0x01,
4786 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4787 0x00, 0x0e, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0e,
4788 0x00, 0x6f, 0x00, 0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb},
4790 38, 5190, 0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x02, 0x0c, 0x01,
4791 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x06, 0x00, 0x77,
4792 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0d,
4793 0x00, 0x6f, 0x00, 0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa},
4795 40, 5200, 0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x02, 0x0c, 0x01,
4796 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4797 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4798 0x00, 0x6f, 0x00, 0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9},
4800 42, 5210, 0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x02, 0x0c, 0x01,
4801 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, 0xff, 0xf9, 0x00, 0x05, 0x00, 0x77,
4802 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4803 0x00, 0x6f, 0x00, 0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8},
4805 44, 5220, 0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x02, 0x0c, 0x01,
4806 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xfe, 0xd8, 0x00, 0x05, 0x00, 0x77,
4807 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4808 0x00, 0x6f, 0x00, 0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7},
4810 46, 5230, 0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x02, 0x0c, 0x01,
4811 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xd8, 0x00, 0x05, 0x00, 0x77,
4812 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4813 0x00, 0x6f, 0x00, 0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6},
4815 48, 5240, 0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x02, 0x0c, 0x01,
4816 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xee, 0xc8, 0x00, 0x05, 0x00, 0x77,
4817 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4818 0x00, 0x6f, 0x00, 0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5},
4820 50, 5250, 0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x02, 0x0c, 0x01,
4821 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, 0xed, 0xc7, 0x00, 0x05, 0x00, 0x77,
4822 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d,
4823 0x00, 0x6f, 0x00, 0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4},
4825 52, 5260, 0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x02, 0x0c, 0x01,
4826 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4827 0x00, 0x0d, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0d,
4828 0x00, 0x6f, 0x00, 0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3},
4830 54, 5270, 0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x02, 0x0c, 0x01,
4831 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, 0xed, 0xc7, 0x00, 0x04, 0x00, 0x77,
4832 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0c,
4833 0x00, 0x6f, 0x00, 0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2},
4835 56, 5280, 0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x02, 0x0c, 0x01,
4836 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4837 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4838 0x00, 0x6f, 0x00, 0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1},
4840 58, 5290, 0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x02, 0x0c, 0x01,
4841 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4842 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4843 0x00, 0x6f, 0x00, 0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0},
4845 60, 5300, 0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x02, 0x0c, 0x01,
4846 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4847 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4848 0x00, 0x6f, 0x00, 0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0},
4850 62, 5310, 0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x02, 0x0c, 0x01,
4851 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77,
4852 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4853 0x00, 0x6f, 0x00, 0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef},
4855 64, 5320, 0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x02, 0x0c, 0x01,
4856 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, 0xdb, 0xb7, 0x00, 0x03, 0x00, 0x77,
4857 0x00, 0x0c, 0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c,
4858 0x00, 0x6f, 0x00, 0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee},
4860 66, 5330, 0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x02, 0x0c, 0x01,
4861 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xcb, 0xa6, 0x00, 0x03, 0x00, 0x77,
4862 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4863 0x00, 0x6f, 0x00, 0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed},
4865 68, 5340, 0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x02, 0x0c, 0x01,
4866 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4867 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4868 0x00, 0x6f, 0x00, 0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec},
4870 70, 5350, 0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x02, 0x0c, 0x01,
4871 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xca, 0xa6, 0x00, 0x03, 0x00, 0x77,
4872 0x00, 0x0b, 0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b,
4873 0x00, 0x6f, 0x00, 0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb},
4875 72, 5360, 0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x02, 0x0c, 0x01,
4876 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4877 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4878 0x00, 0x6f, 0x00, 0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea},
4880 74, 5370, 0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x02, 0x0c, 0x01,
4881 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, 0xc9, 0x95, 0x00, 0x03, 0x00, 0x77,
4882 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4883 0x00, 0x6f, 0x00, 0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9},
4885 76, 5380, 0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x02, 0x0c, 0x01,
4886 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x95, 0x00, 0x03, 0x00, 0x77,
4887 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4888 0x00, 0x6f, 0x00, 0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8},
4890 78, 5390, 0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x02, 0x0c, 0x01,
4891 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4892 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4893 0x00, 0x6f, 0x00, 0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7},
4895 80, 5400, 0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x02, 0x0c, 0x01,
4896 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb8, 0x84, 0x00, 0x03, 0x00, 0x77,
4897 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a,
4898 0x00, 0x6f, 0x00, 0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6},
4900 82, 5410, 0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x02, 0x0c, 0x01,
4901 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xb7, 0x84, 0x00, 0x02, 0x00, 0x77,
4902 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4903 0x00, 0x6f, 0x00, 0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5},
4905 84, 5420, 0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x02, 0x0c, 0x01,
4906 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, 0xa7, 0x84, 0x00, 0x02, 0x00, 0x77,
4907 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4908 0x00, 0x6f, 0x00, 0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5},
4910 86, 5430, 0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x02, 0x0c, 0x01,
4911 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4912 0x00, 0x0a, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a,
4913 0x00, 0x6f, 0x00, 0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4},
4915 88, 5440, 0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x02, 0x0c, 0x01,
4916 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0xa6, 0x84, 0x00, 0x02, 0x00, 0x77,
4917 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x09,
4918 0x00, 0x6f, 0x00, 0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3},
4920 90, 5450, 0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x02, 0x0c, 0x01,
4921 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4922 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4923 0x00, 0x6f, 0x00, 0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2},
4925 92, 5460, 0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x02, 0x0c, 0x01,
4926 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x95, 0x84, 0x00, 0x01, 0x00, 0x77,
4927 0x00, 0x09, 0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4928 0x00, 0x6f, 0x00, 0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1},
4930 94, 5470, 0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x02, 0x0c, 0x01,
4931 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, 0x94, 0x73, 0x00, 0x01, 0x00, 0x77,
4932 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09,
4933 0x00, 0x6f, 0x00, 0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0},
4935 96, 5480, 0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x02, 0x0c, 0x01,
4936 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x84, 0x73, 0x00, 0x00, 0x00, 0x77,
4937 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4938 0x00, 0x6f, 0x00, 0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df},
4940 98, 5490, 0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x02, 0x0c, 0x01,
4941 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x83, 0x73, 0x00, 0x00, 0x00, 0x77,
4942 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4943 0x00, 0x6f, 0x00, 0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de},
4945 100, 5500, 0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x02, 0x0c, 0x01,
4946 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4947 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4948 0x00, 0x6f, 0x00, 0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd},
4950 102, 5510, 0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x02, 0x0c, 0x01,
4951 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x82, 0x73, 0x00, 0x00, 0x00, 0x77,
4952 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4953 0x00, 0x6f, 0x00, 0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd},
4955 104, 5520, 0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x02, 0x0c, 0x01,
4956 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4957 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4958 0x00, 0x6f, 0x00, 0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc},
4960 106, 5530, 0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x02, 0x0c, 0x01,
4961 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x72, 0x73, 0x00, 0x00, 0x00, 0x77,
4962 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4963 0x00, 0x6f, 0x00, 0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db},
4965 108, 5540, 0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x02, 0x0c, 0x01,
4966 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, 0x71, 0x73, 0x00, 0x00, 0x00, 0x77,
4967 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4968 0x00, 0x6f, 0x00, 0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da},
4970 110, 5550, 0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x02, 0x0c, 0x01,
4971 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4972 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4973 0x00, 0x6f, 0x00, 0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9},
4975 112, 5560, 0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x02, 0x0c, 0x01,
4976 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0x77,
4977 0x00, 0x09, 0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4978 0x00, 0x6f, 0x00, 0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8},
4980 114, 5570, 0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x02, 0x0c, 0x01,
4981 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, 0x61, 0x62, 0x00, 0x00, 0x00, 0x77,
4982 0x00, 0x09, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09,
4983 0x00, 0x6f, 0x00, 0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7},
4985 116, 5580, 0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x02, 0x0c, 0x01,
4986 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x60, 0x62, 0x00, 0x00, 0x00, 0x77,
4987 0x00, 0x08, 0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4988 0x00, 0x6f, 0x00, 0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7},
4990 118, 5590, 0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x02, 0x0c, 0x01,
4991 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, 0x50, 0x61, 0x00, 0x00, 0x00, 0x77,
4992 0x00, 0x08, 0x00, 0x6f, 0x00, 0x61, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4993 0x00, 0x6f, 0x00, 0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6},
4995 120, 5600, 0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x02, 0x0c, 0x01,
4996 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
4997 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
4998 0x00, 0x6f, 0x00, 0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5},
5000 122, 5610, 0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x02, 0x0c, 0x01,
5001 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x51, 0x00, 0x00, 0x00, 0x77,
5002 0x00, 0x08, 0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08,
5003 0x00, 0x6f, 0x00, 0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4},
5005 124, 5620, 0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x02, 0x0c, 0x01,
5006 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
5007 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5008 0x00, 0x6f, 0x00, 0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3},
5010 126, 5630, 0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x02, 0x0c, 0x01,
5011 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x50, 0x50, 0x00, 0x00, 0x00, 0x77,
5012 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5013 0x00, 0x6f, 0x00, 0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2},
5015 128, 5640, 0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x02, 0x0c, 0x01,
5016 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x50, 0x00, 0x00, 0x00, 0x77,
5017 0x00, 0x07, 0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5018 0x00, 0x6f, 0x00, 0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2},
5020 130, 5650, 0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x02, 0x0c, 0x01,
5021 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
5022 0x00, 0x07, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07,
5023 0x00, 0x6f, 0x00, 0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1},
5025 132, 5660, 0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x02, 0x0c, 0x01,
5026 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x40, 0x00, 0x00, 0x00, 0x77,
5027 0x00, 0x06, 0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5028 0x00, 0x6f, 0x00, 0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0},
5030 134, 5670, 0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x02, 0x0c, 0x01,
5031 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, 0x40, 0x30, 0x00, 0x00, 0x00, 0x77,
5032 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5033 0x00, 0x6f, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf},
5035 136, 5680, 0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x02, 0x0c, 0x01,
5036 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5037 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5038 0x00, 0x6f, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce},
5040 138, 5690, 0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x02, 0x0c, 0x01,
5041 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5042 0x00, 0x06, 0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5043 0x00, 0x6f, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce},
5045 140, 5700, 0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x02, 0x0c, 0x01,
5046 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5047 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5048 0x00, 0x6e, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd},
5050 142, 5710, 0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x02, 0x0c, 0x01,
5051 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5052 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5053 0x00, 0x6e, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc},
5055 144, 5720, 0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x02, 0x0c, 0x01,
5056 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5057 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5058 0x00, 0x6e, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb},
5060 145, 5725, 0x03, 0x01, 0x02, 0x04, 0x79, 0x05, 0x05, 0x02, 0x15, 0x01,
5061 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x77,
5062 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5063 0x00, 0x6e, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb},
5065 146, 5730, 0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x02, 0x0c, 0x01,
5066 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5067 0x00, 0x06, 0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5068 0x00, 0x6e, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca},
5070 147, 5735, 0x03, 0x01, 0x02, 0x04, 0x7b, 0x05, 0x05, 0x02, 0x15, 0x01,
5071 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5072 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5073 0x00, 0x6d, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca},
5075 148, 5740, 0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x02, 0x0c, 0x01,
5076 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5077 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5078 0x00, 0x6d, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9},
5080 149, 5745, 0xfe, 0x00, 0x02, 0x04, 0x7d, 0x05, 0x05, 0x02, 0x15, 0x01,
5081 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x30, 0x00, 0x00, 0x00, 0x77,
5082 0x00, 0x06, 0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06,
5083 0x00, 0x6d, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9},
5085 150, 5750, 0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x02, 0x0c, 0x01,
5086 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x20, 0x20, 0x00, 0x00, 0x00, 0x77,
5087 0x00, 0x05, 0x00, 0x6d, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5088 0x00, 0x6d, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9},
5090 151, 5755, 0xfe, 0x00, 0x02, 0x04, 0x7f, 0x05, 0x05, 0x02, 0x15, 0x01,
5091 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
5092 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5093 0x00, 0x6c, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8},
5095 152, 5760, 0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x02, 0x0c, 0x01,
5096 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x20, 0x00, 0x00, 0x00, 0x77,
5097 0x00, 0x05, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5098 0x00, 0x6c, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8},
5100 153, 5765, 0xf8, 0x00, 0x02, 0x04, 0x81, 0x05, 0x05, 0x02, 0x15, 0x01,
5101 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5102 0x00, 0x05, 0x00, 0x6c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5103 0x00, 0x6c, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8},
5105 154, 5770, 0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x02, 0x0c, 0x01,
5106 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5107 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5108 0x00, 0x6b, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7},
5110 155, 5775, 0xf8, 0x00, 0x02, 0x04, 0x83, 0x05, 0x05, 0x02, 0x15, 0x01,
5111 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5112 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5113 0x00, 0x6b, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7},
5115 156, 5780, 0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x02, 0x0c, 0x01,
5116 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x77,
5117 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5118 0x00, 0x6b, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6},
5120 157, 5785, 0xf2, 0x00, 0x02, 0x04, 0x85, 0x05, 0x05, 0x02, 0x15, 0x01,
5121 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
5122 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5123 0x00, 0x6b, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6},
5125 158, 5790, 0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x02, 0x0c, 0x01,
5126 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77,
5127 0x00, 0x05, 0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5128 0x00, 0x6b, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6},
5130 159, 5795, 0xf2, 0x00, 0x02, 0x04, 0x87, 0x05, 0x05, 0x02, 0x15, 0x01,
5131 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5132 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5133 0x00, 0x6b, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5},
5135 160, 5800, 0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x02, 0x0c, 0x01,
5136 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5137 0x00, 0x05, 0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5138 0x00, 0x6b, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5},
5140 161, 5805, 0xed, 0x00, 0x02, 0x04, 0x89, 0x05, 0x05, 0x02, 0x15, 0x01,
5141 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5142 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5143 0x00, 0x6a, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4},
5145 162, 5810, 0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x02, 0x0c, 0x01,
5146 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5147 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5148 0x00, 0x6a, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4},
5150 163, 5815, 0xed, 0x00, 0x02, 0x04, 0x8b, 0x05, 0x05, 0x02, 0x15, 0x01,
5151 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5152 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5153 0x00, 0x6a, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4},
5155 164, 5820, 0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x02, 0x0c, 0x01,
5156 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5157 0x00, 0x05, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5158 0x00, 0x6a, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3},
5160 165, 5825, 0xed, 0x00, 0x02, 0x04, 0x8d, 0x05, 0x05, 0x02, 0x15, 0x01,
5161 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5162 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5163 0x00, 0x69, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3},
5165 166, 5830, 0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x02, 0x0c, 0x01,
5166 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5167 0x00, 0x05, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05,
5168 0x00, 0x69, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2},
5170 168, 5840, 0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x02, 0x0c, 0x01,
5171 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5172 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5173 0x00, 0x69, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2},
5175 170, 5850, 0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x02, 0x0c, 0x01,
5176 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5177 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5178 0x00, 0x69, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1},
5180 172, 5860, 0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x02, 0x0c, 0x01,
5181 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5182 0x00, 0x04, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5183 0x00, 0x69, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0},
5185 174, 5870, 0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x02, 0x0c, 0x01,
5186 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5187 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5188 0x00, 0x68, 0x00, 0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf},
5190 176, 5880, 0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x02, 0x0c, 0x01,
5191 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5192 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5193 0x00, 0x68, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf},
5195 178, 5890, 0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x02, 0x0c, 0x01,
5196 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5197 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5198 0x00, 0x68, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be},
5200 180, 5900, 0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x02, 0x0c, 0x01,
5201 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5202 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5203 0x00, 0x68, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd},
5205 182, 5910, 0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x02, 0x0c, 0x01,
5206 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77,
5207 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04,
5208 0x00, 0x68, 0x00, 0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc},
5210 1, 2412, 0x00, 0x01, 0x03, 0x09, 0x6c, 0x06, 0x06, 0x04, 0x2b, 0x01,
5211 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
5212 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
5213 0x0b, 0x00, 0x0a, 0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443},
5215 2, 2417, 0x00, 0x01, 0x03, 0x09, 0x71, 0x06, 0x06, 0x04, 0x2b, 0x01,
5216 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x00,
5217 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
5218 0x0b, 0x00, 0x0a, 0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441},
5220 3, 2422, 0x00, 0x01, 0x03, 0x09, 0x76, 0x06, 0x06, 0x04, 0x2b, 0x01,
5221 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x67, 0x00, 0x03, 0x00,
5222 0x70, 0x00, 0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, 0x70, 0x00,
5223 0x0b, 0x00, 0x0a, 0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f},
5225 4, 2427, 0x00, 0x01, 0x03, 0x09, 0x7b, 0x06, 0x06, 0x04, 0x2b, 0x01,
5226 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x57, 0x00, 0x03, 0x00,
5227 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00,
5228 0x0a, 0x00, 0x0a, 0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d},
5230 5, 2432, 0x00, 0x01, 0x03, 0x09, 0x80, 0x06, 0x06, 0x04, 0x2b, 0x01,
5231 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x56, 0x00, 0x03, 0x00,
5232 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x03, 0x00, 0x70, 0x00,
5233 0x0a, 0x00, 0x0a, 0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a},
5235 6, 2437, 0x00, 0x01, 0x03, 0x09, 0x85, 0x06, 0x06, 0x04, 0x2b, 0x01,
5236 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x46, 0x00, 0x03, 0x00,
5237 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x76, 0x00, 0x03, 0x00, 0x70, 0x00,
5238 0x0a, 0x00, 0x0a, 0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438},
5240 7, 2442, 0x00, 0x01, 0x03, 0x09, 0x8a, 0x06, 0x06, 0x04, 0x2b, 0x01,
5241 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00,
5242 0x70, 0x00, 0x0a, 0x00, 0x0a, 0x00, 0x66, 0x00, 0x02, 0x00, 0x70, 0x00,
5243 0x0a, 0x00, 0x0a, 0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436},
5245 8, 2447, 0x00, 0x01, 0x03, 0x09, 0x8f, 0x06, 0x06, 0x04, 0x2b, 0x01,
5246 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x34, 0x00, 0x02, 0x00,
5247 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x55, 0x00, 0x02, 0x00, 0x70, 0x00,
5248 0x0a, 0x00, 0x09, 0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434},
5250 9, 2452, 0x00, 0x01, 0x03, 0x09, 0x94, 0x06, 0x06, 0x04, 0x2b, 0x01,
5251 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x23, 0x00, 0x02, 0x00,
5252 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00,
5253 0x0a, 0x00, 0x09, 0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431},
5255 10, 2457, 0x00, 0x01, 0x03, 0x09, 0x99, 0x06, 0x06, 0x04, 0x2b, 0x01,
5256 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x12, 0x00, 0x02, 0x00,
5257 0x70, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00,
5258 0x0a, 0x00, 0x09, 0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f},
5260 11, 2462, 0x00, 0x01, 0x03, 0x09, 0x9e, 0x06, 0x06, 0x04, 0x2b, 0x01,
5261 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00,
5262 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x33, 0x00, 0x02, 0x00, 0x70, 0x00,
5263 0x09, 0x00, 0x09, 0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d},
5265 12, 2467, 0x00, 0x01, 0x03, 0x09, 0xa3, 0x06, 0x06, 0x04, 0x2b, 0x01,
5266 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
5267 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x22, 0x00, 0x02, 0x00, 0x70, 0x00,
5268 0x09, 0x00, 0x09, 0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b},
5270 13, 2472, 0x00, 0x01, 0x03, 0x09, 0xa8, 0x06, 0x06, 0x04, 0x2b, 0x01,
5271 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00,
5272 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x11, 0x00, 0x02, 0x00, 0x70, 0x00,
5273 0x09, 0x00, 0x09, 0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429},
5275 14, 2484, 0xff, 0x01, 0x03, 0x09, 0xb4, 0x06, 0x06, 0x04, 0x2b, 0x01,
5276 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
5277 0x70, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00,
5278 0x09, 0x00, 0x09, 0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424}
5281 static chan_info_nphy_radio2057_t chan_info_nphyrev7_2057_rev4[] = {
5283 184, 4920, 0x68, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xec, 0x01, 0x0f,
5284 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5285 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07b4, 0x07b0, 0x07ac, 0x0214,
5290 186, 4930, 0x6b, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xed, 0x01, 0x0f,
5291 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5292 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07b8, 0x07b4, 0x07b0, 0x0213,
5297 188, 4940, 0x6e, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xee, 0x01, 0x0f,
5298 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5299 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07bc, 0x07b8, 0x07b4, 0x0212,
5304 190, 4950, 0x72, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xef, 0x01, 0x0f,
5305 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5306 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07c0, 0x07bc, 0x07b8, 0x0211,
5311 192, 4960, 0x75, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf0, 0x01, 0x0f,
5312 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5313 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07c4, 0x07c0, 0x07bc, 0x020f,
5318 194, 4970, 0x78, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf1, 0x01, 0x0f,
5319 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5320 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07c8, 0x07c4, 0x07c0, 0x020e,
5325 196, 4980, 0x7c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf2, 0x01, 0x0f,
5326 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5327 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07cc, 0x07c8, 0x07c4, 0x020d,
5332 198, 4990, 0x7f, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf3, 0x01, 0x0f,
5333 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5334 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07d0, 0x07cc, 0x07c8, 0x020c,
5339 200, 5000, 0x82, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf4, 0x01, 0x0f,
5340 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5341 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07d4, 0x07d0, 0x07cc, 0x020b,
5346 202, 5010, 0x86, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf5, 0x01, 0x0f,
5347 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5348 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07d8, 0x07d4, 0x07d0, 0x020a,
5353 204, 5020, 0x89, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf6, 0x01, 0x0e,
5354 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5355 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07dc, 0x07d8, 0x07d4, 0x0209,
5360 206, 5030, 0x8c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf7, 0x01, 0x0e,
5361 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5362 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07e0, 0x07dc, 0x07d8, 0x0208,
5367 208, 5040, 0x90, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf8, 0x01, 0x0e,
5368 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5369 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07e4, 0x07e0, 0x07dc, 0x0207,
5374 210, 5050, 0x93, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf9, 0x01, 0x0e,
5375 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x00,
5376 0x00, 0x0f, 0x0f, 0xf3, 0x00, 0xef, 0x07e8, 0x07e4, 0x07e0, 0x0206,
5381 212, 5060, 0x96, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfa, 0x01, 0x0e,
5382 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xe3, 0x00, 0xef, 0x00,
5383 0x00, 0x0f, 0x0f, 0xe3, 0x00, 0xef, 0x07ec, 0x07e8, 0x07e4, 0x0205,
5388 214, 5070, 0x9a, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfb, 0x01, 0x0e,
5389 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x00,
5390 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x07f0, 0x07ec, 0x07e8, 0x0204,
5395 216, 5080, 0x9d, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfc, 0x01, 0x0e,
5396 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x00,
5397 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xef, 0x07f4, 0x07f0, 0x07ec, 0x0203,
5402 218, 5090, 0xa0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfd, 0x01, 0x0e,
5403 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5404 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x07f8, 0x07f4, 0x07f0, 0x0202,
5409 220, 5100, 0xa4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfe, 0x01, 0x0d,
5410 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5411 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x07fc, 0x07f8, 0x07f4, 0x0201,
5416 222, 5110, 0xa7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xff, 0x01, 0x0d,
5417 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5418 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x0800, 0x07fc, 0x07f8, 0x0200,
5423 224, 5120, 0xaa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x00, 0x02, 0x0d,
5424 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5425 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x0804, 0x0800, 0x07fc, 0x01ff,
5430 226, 5130, 0xae, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x01, 0x02, 0x0d,
5431 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x00,
5432 0x00, 0x0e, 0x0f, 0xe3, 0x00, 0xd6, 0x0808, 0x0804, 0x0800, 0x01fe,
5437 228, 5140, 0xb1, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x02, 0x02, 0x0d,
5438 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0e, 0x0e, 0xe3, 0x00, 0xd6, 0x00,
5439 0x00, 0x0e, 0x0e, 0xe3, 0x00, 0xd6, 0x080c, 0x0808, 0x0804, 0x01fd,
5444 32, 5160, 0xb8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x04, 0x02, 0x0d,
5445 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x00,
5446 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x0814, 0x0810, 0x080c, 0x01fb,
5451 34, 5170, 0xbb, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x05, 0x02, 0x0d,
5452 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x00,
5453 0x00, 0x0d, 0x0e, 0xe3, 0x00, 0xd6, 0x0818, 0x0814, 0x0810, 0x01fa,
5458 36, 5180, 0xbe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x06, 0x02, 0x0c,
5459 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5460 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x081c, 0x0818, 0x0814, 0x01f9,
5465 38, 5190, 0xc2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x07, 0x02, 0x0c,
5466 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5467 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x0820, 0x081c, 0x0818, 0x01f8,
5472 40, 5200, 0xc5, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x08, 0x02, 0x0c,
5473 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5474 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x0824, 0x0820, 0x081c, 0x01f7,
5479 42, 5210, 0xc8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x09, 0x02, 0x0c,
5480 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5481 0x00, 0x0d, 0x0e, 0xd3, 0x00, 0xd6, 0x0828, 0x0824, 0x0820, 0x01f6,
5486 44, 5220, 0xcc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0a, 0x02, 0x0c,
5487 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5488 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x082c, 0x0828, 0x0824, 0x01f5,
5493 46, 5230, 0xcf, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0b, 0x02, 0x0c,
5494 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5495 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x0830, 0x082c, 0x0828, 0x01f4,
5500 48, 5240, 0xd2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0c, 0x02, 0x0c,
5501 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5502 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x0834, 0x0830, 0x082c, 0x01f3,
5507 50, 5250, 0xd6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0d, 0x02, 0x0c,
5508 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x00,
5509 0x00, 0x0c, 0x0e, 0xd3, 0x00, 0xd6, 0x0838, 0x0834, 0x0830, 0x01f2,
5514 52, 5260, 0xd9, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0e, 0x02, 0x0b,
5515 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x00,
5516 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x083c, 0x0838, 0x0834, 0x01f1,
5521 54, 5270, 0xdc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0f, 0x02, 0x0b,
5522 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x00,
5523 0x00, 0x0c, 0x0d, 0xd3, 0x00, 0xd6, 0x0840, 0x083c, 0x0838, 0x01f0,
5528 56, 5280, 0xe0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x10, 0x02, 0x0b,
5529 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5530 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x0844, 0x0840, 0x083c, 0x01f0,
5535 58, 5290, 0xe3, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x11, 0x02, 0x0b,
5536 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5537 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x0848, 0x0844, 0x0840, 0x01ef,
5542 60, 5300, 0xe6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x12, 0x02, 0x0b,
5543 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5544 0x00, 0x0c, 0x0c, 0xc3, 0x00, 0xd4, 0x084c, 0x0848, 0x0844, 0x01ee,
5549 62, 5310, 0xea, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x13, 0x02, 0x0b,
5550 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5551 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x0850, 0x084c, 0x0848, 0x01ed,
5556 64, 5320, 0xed, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x14, 0x02, 0x0b,
5557 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5558 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x0854, 0x0850, 0x084c, 0x01ec,
5563 66, 5330, 0xf0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x15, 0x02, 0x0b,
5564 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x00,
5565 0x00, 0x0b, 0x0c, 0xc3, 0x00, 0xd4, 0x0858, 0x0854, 0x0850, 0x01eb,
5570 68, 5340, 0xf4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x16, 0x02, 0x0a,
5571 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0c, 0xc3, 0x00, 0xa1, 0x00,
5572 0x00, 0x0a, 0x0c, 0xc3, 0x00, 0xa1, 0x085c, 0x0858, 0x0854, 0x01ea,
5577 70, 5350, 0xf7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x17, 0x02, 0x0a,
5578 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5579 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x0860, 0x085c, 0x0858, 0x01e9,
5584 72, 5360, 0xfa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x18, 0x02, 0x0a,
5585 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5586 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x0864, 0x0860, 0x085c, 0x01e8,
5591 74, 5370, 0xfe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x19, 0x02, 0x0a,
5592 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5593 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x0868, 0x0864, 0x0860, 0x01e7,
5598 76, 5380, 0x01, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1a, 0x02, 0x0a,
5599 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x00,
5600 0x00, 0x0a, 0x0b, 0xb3, 0x00, 0xa1, 0x086c, 0x0868, 0x0864, 0x01e6,
5605 78, 5390, 0x04, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1b, 0x02, 0x0a,
5606 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0a, 0x0a, 0xa3, 0x00, 0xa1, 0x00,
5607 0x00, 0x0a, 0x0a, 0xa3, 0x00, 0xa1, 0x0870, 0x086c, 0x0868, 0x01e5,
5612 80, 5400, 0x08, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1c, 0x02, 0x0a,
5613 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x00,
5614 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x0874, 0x0870, 0x086c, 0x01e5,
5619 82, 5410, 0x0b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1d, 0x02, 0x0a,
5620 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x00,
5621 0x00, 0x09, 0x0a, 0xa3, 0x00, 0x90, 0x0878, 0x0874, 0x0870, 0x01e4,
5626 84, 5420, 0x0e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1e, 0x02, 0x09,
5627 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0xa3, 0x00, 0x90, 0x00,
5628 0x00, 0x09, 0x09, 0xa3, 0x00, 0x90, 0x087c, 0x0878, 0x0874, 0x01e3,
5633 86, 5430, 0x12, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1f, 0x02, 0x09,
5634 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x00,
5635 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x0880, 0x087c, 0x0878, 0x01e2,
5640 88, 5440, 0x15, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x20, 0x02, 0x09,
5641 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x00,
5642 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x0884, 0x0880, 0x087c, 0x01e1,
5647 90, 5450, 0x18, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x21, 0x02, 0x09,
5648 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x00,
5649 0x00, 0x09, 0x09, 0x93, 0x00, 0x90, 0x0888, 0x0884, 0x0880, 0x01e0,
5654 92, 5460, 0x1c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x22, 0x02, 0x09,
5655 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x08, 0x93, 0x00, 0x90, 0x00,
5656 0x00, 0x08, 0x08, 0x93, 0x00, 0x90, 0x088c, 0x0888, 0x0884, 0x01df,
5661 94, 5470, 0x1f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x23, 0x02, 0x09,
5662 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x08, 0x93, 0x00, 0x60, 0x00,
5663 0x00, 0x08, 0x08, 0x93, 0x00, 0x60, 0x0890, 0x088c, 0x0888, 0x01de,
5668 96, 5480, 0x22, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x24, 0x02, 0x09,
5669 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5670 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x0894, 0x0890, 0x088c, 0x01dd,
5675 98, 5490, 0x26, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x25, 0x02, 0x09,
5676 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5677 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x0898, 0x0894, 0x0890, 0x01dd,
5682 100, 5500, 0x29, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x26, 0x02, 0x09,
5683 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5684 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x089c, 0x0898, 0x0894, 0x01dc,
5689 102, 5510, 0x2c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x27, 0x02, 0x09,
5690 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x00,
5691 0x00, 0x08, 0x07, 0x93, 0x00, 0x60, 0x08a0, 0x089c, 0x0898, 0x01db,
5696 104, 5520, 0x30, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x28, 0x02, 0x08,
5697 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x00,
5698 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x08a4, 0x08a0, 0x089c, 0x01da,
5703 106, 5530, 0x33, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x29, 0x02, 0x08,
5704 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x00,
5705 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x08a8, 0x08a4, 0x08a0, 0x01d9,
5710 108, 5540, 0x36, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2a, 0x02, 0x08,
5711 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x00,
5712 0x00, 0x08, 0x06, 0x93, 0x00, 0x60, 0x08ac, 0x08a8, 0x08a4, 0x01d8,
5717 110, 5550, 0x3a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2b, 0x02, 0x08,
5718 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x00,
5719 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x08b0, 0x08ac, 0x08a8, 0x01d7,
5724 112, 5560, 0x3d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2c, 0x02, 0x08,
5725 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x00,
5726 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x08b4, 0x08b0, 0x08ac, 0x01d7,
5731 114, 5570, 0x40, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2d, 0x02, 0x08,
5732 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x00,
5733 0x00, 0x08, 0x05, 0x83, 0x00, 0x60, 0x08b8, 0x08b4, 0x08b0, 0x01d6,
5738 116, 5580, 0x44, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2e, 0x02, 0x08,
5739 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x07, 0x05, 0x83, 0x00, 0x60, 0x00,
5740 0x00, 0x07, 0x05, 0x83, 0x00, 0x60, 0x08bc, 0x08b8, 0x08b4, 0x01d5,
5745 118, 5590, 0x47, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2f, 0x02, 0x08,
5746 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x07, 0x04, 0x83, 0x00, 0x60, 0x00,
5747 0x00, 0x07, 0x04, 0x83, 0x00, 0x60, 0x08c0, 0x08bc, 0x08b8, 0x01d4,
5752 120, 5600, 0x4a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x30, 0x02, 0x08,
5753 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x07, 0x04, 0x73, 0x00, 0x30, 0x00,
5754 0x00, 0x07, 0x04, 0x73, 0x00, 0x30, 0x08c4, 0x08c0, 0x08bc, 0x01d3,
5759 122, 5610, 0x4e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x31, 0x02, 0x08,
5760 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5761 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08c8, 0x08c4, 0x08c0, 0x01d2,
5766 124, 5620, 0x51, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x32, 0x02, 0x07,
5767 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5768 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08cc, 0x08c8, 0x08c4, 0x01d2,
5773 126, 5630, 0x54, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x33, 0x02, 0x07,
5774 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5775 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08d0, 0x08cc, 0x08c8, 0x01d1,
5780 128, 5640, 0x58, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x34, 0x02, 0x07,
5781 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x00,
5782 0x00, 0x06, 0x04, 0x73, 0x00, 0x30, 0x08d4, 0x08d0, 0x08cc, 0x01d0,
5787 130, 5650, 0x5b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x35, 0x02, 0x07,
5788 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x00,
5789 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x08d8, 0x08d4, 0x08d0, 0x01cf,
5794 132, 5660, 0x5e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x36, 0x02, 0x07,
5795 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x00,
5796 0x00, 0x06, 0x03, 0x63, 0x00, 0x30, 0x08dc, 0x08d8, 0x08d4, 0x01ce,
5801 134, 5670, 0x62, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x37, 0x02, 0x07,
5802 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x03, 0x63, 0x00, 0x00, 0x00,
5803 0x00, 0x05, 0x03, 0x63, 0x00, 0x00, 0x08e0, 0x08dc, 0x08d8, 0x01ce,
5808 136, 5680, 0x65, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x38, 0x02, 0x07,
5809 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5810 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08e4, 0x08e0, 0x08dc, 0x01cd,
5815 138, 5690, 0x68, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x39, 0x02, 0x07,
5816 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5817 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08e8, 0x08e4, 0x08e0, 0x01cc,
5822 140, 5700, 0x6c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3a, 0x02, 0x07,
5823 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5824 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08ec, 0x08e8, 0x08e4, 0x01cb,
5829 142, 5710, 0x6f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3b, 0x02, 0x07,
5830 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5831 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08f0, 0x08ec, 0x08e8, 0x01ca,
5836 144, 5720, 0x72, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3c, 0x02, 0x07,
5837 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x00,
5838 0x00, 0x05, 0x02, 0x53, 0x00, 0x00, 0x08f4, 0x08f0, 0x08ec, 0x01c9,
5843 145, 5725, 0x74, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x79, 0x04, 0x06,
5844 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x05, 0x01, 0x53, 0x00, 0x00, 0x00,
5845 0x00, 0x05, 0x01, 0x53, 0x00, 0x00, 0x08f6, 0x08f2, 0x08ee, 0x01c9,
5850 146, 5730, 0x76, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3d, 0x02, 0x06,
5851 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5852 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08f8, 0x08f4, 0x08f0, 0x01c9,
5857 147, 5735, 0x77, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7b, 0x04, 0x06,
5858 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5859 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08fa, 0x08f6, 0x08f2, 0x01c8,
5864 148, 5740, 0x79, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3e, 0x02, 0x06,
5865 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5866 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08fc, 0x08f8, 0x08f4, 0x01c8,
5871 149, 5745, 0x7b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7d, 0x04, 0x06,
5872 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5873 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x08fe, 0x08fa, 0x08f6, 0x01c8,
5878 150, 5750, 0x7c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3f, 0x02, 0x06,
5879 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5880 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7,
5885 151, 5755, 0x7e, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7f, 0x04, 0x06,
5886 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x00,
5887 0x00, 0x04, 0x01, 0x53, 0x00, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7,
5892 152, 5760, 0x80, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x40, 0x02, 0x06,
5893 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5894 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6,
5899 153, 5765, 0x81, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x81, 0x04, 0x06,
5900 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5901 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6,
5906 154, 5770, 0x83, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x41, 0x02, 0x06,
5907 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5908 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6,
5913 155, 5775, 0x85, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x83, 0x04, 0x06,
5914 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x00,
5915 0x00, 0x04, 0x01, 0x43, 0x00, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5,
5920 156, 5780, 0x86, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x42, 0x02, 0x06,
5921 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x03, 0x01, 0x43, 0x00, 0x00, 0x00,
5922 0x00, 0x03, 0x01, 0x43, 0x00, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5,
5927 157, 5785, 0x88, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x85, 0x04, 0x05,
5928 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5929 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4,
5934 158, 5790, 0x8a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x43, 0x02, 0x05,
5935 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5936 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4,
5941 159, 5795, 0x8b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x87, 0x04, 0x05,
5942 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5943 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4,
5948 160, 5800, 0x8d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x44, 0x02, 0x05,
5949 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5950 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3,
5955 161, 5805, 0x8f, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x89, 0x04, 0x05,
5956 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5957 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3,
5962 162, 5810, 0x90, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x45, 0x02, 0x05,
5963 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5964 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2,
5969 163, 5815, 0x92, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8b, 0x04, 0x05,
5970 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5971 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2,
5976 164, 5820, 0x94, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x46, 0x02, 0x05,
5977 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5978 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2,
5983 165, 5825, 0x95, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8d, 0x04, 0x05,
5984 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5985 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1,
5990 166, 5830, 0x97, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x47, 0x02, 0x05,
5991 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5992 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1,
5997 168, 5840, 0x9a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x48, 0x02, 0x05,
5998 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
5999 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0,
6004 170, 5850, 0x9e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x49, 0x02, 0x04,
6005 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6006 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf,
6011 172, 5860, 0xa1, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4a, 0x02, 0x04,
6012 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6013 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf,
6018 174, 5870, 0xa4, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4b, 0x02, 0x04,
6019 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6020 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0930, 0x092c, 0x0928, 0x01be,
6025 176, 5880, 0xa8, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4c, 0x02, 0x03,
6026 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6027 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd,
6032 178, 5890, 0xab, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4d, 0x02, 0x03,
6033 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6034 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc,
6039 180, 5900, 0xae, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4e, 0x02, 0x03,
6040 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x00,
6041 0x00, 0x03, 0x00, 0x43, 0x00, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc,
6046 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0f,
6047 0x0a, 0x00, 0x0a, 0x00, 0x71, 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6048 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03c9, 0x03c5, 0x03c1, 0x043a,
6053 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0f,
6054 0x0a, 0x00, 0x0a, 0x00, 0x71, 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6055 0xa3, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cb, 0x03c7, 0x03c3, 0x0438,
6060 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0f,
6061 0x09, 0x00, 0x09, 0x00, 0x71, 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6062 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cd, 0x03c9, 0x03c5, 0x0436,
6067 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0f,
6068 0x09, 0x00, 0x09, 0x00, 0x71, 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x71,
6069 0x93, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cf, 0x03cb, 0x03c7, 0x0434,
6074 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0f,
6075 0x08, 0x00, 0x08, 0x00, 0x51, 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x51,
6076 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d1, 0x03cd, 0x03c9, 0x0431,
6081 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0f,
6082 0x08, 0x00, 0x08, 0x00, 0x51, 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x51,
6083 0x83, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d3, 0x03cf, 0x03cb, 0x042f,
6088 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0f,
6089 0x07, 0x00, 0x07, 0x00, 0x51, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x51,
6090 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d5, 0x03d1, 0x03cd, 0x042d,
6095 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0f,
6096 0x07, 0x00, 0x07, 0x00, 0x31, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6097 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d7, 0x03d3, 0x03cf, 0x042b,
6102 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0f,
6103 0x07, 0x00, 0x07, 0x00, 0x31, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6104 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d9, 0x03d5, 0x03d1, 0x0429,
6109 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0f,
6110 0x06, 0x00, 0x06, 0x00, 0x31, 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6111 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03db, 0x03d7, 0x03d3, 0x0427,
6116 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0f,
6117 0x06, 0x00, 0x06, 0x00, 0x31, 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x31,
6118 0x63, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03dd, 0x03d9, 0x03d5, 0x0424,
6123 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0f,
6124 0x05, 0x00, 0x05, 0x00, 0x11, 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x11,
6125 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03df, 0x03db, 0x03d7, 0x0422,
6130 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0f,
6131 0x05, 0x00, 0x05, 0x00, 0x11, 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x11,
6132 0x53, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03e1, 0x03dd, 0x03d9, 0x0420,
6137 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0f,
6138 0x04, 0x00, 0x04, 0x00, 0x11, 0x43, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x11,
6139 0x43, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x03e6, 0x03e2, 0x03de, 0x041b,
6144 static chan_info_nphy_radio2057_rev5_t chan_info_nphyrev8_2057_rev5[] = {
6146 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0d,
6147 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03c9, 0x03c5, 0x03c1,
6148 0x043a, 0x043f, 0x0443},
6150 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0d,
6151 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03cb, 0x03c7, 0x03c3,
6152 0x0438, 0x043d, 0x0441},
6154 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0d,
6155 0x08, 0x0e, 0x61, 0x03, 0xef, 0x61, 0x03, 0xef, 0x03cd, 0x03c9, 0x03c5,
6156 0x0436, 0x043a, 0x043f},
6158 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0c,
6159 0x08, 0x0e, 0x61, 0x03, 0xdf, 0x61, 0x03, 0xdf, 0x03cf, 0x03cb, 0x03c7,
6160 0x0434, 0x0438, 0x043d},
6162 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0c,
6163 0x07, 0x0d, 0x61, 0x03, 0xcf, 0x61, 0x03, 0xcf, 0x03d1, 0x03cd, 0x03c9,
6164 0x0431, 0x0436, 0x043a},
6166 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0c,
6167 0x07, 0x0d, 0x61, 0x03, 0xbf, 0x61, 0x03, 0xbf, 0x03d3, 0x03cf, 0x03cb,
6168 0x042f, 0x0434, 0x0438},
6170 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0b,
6171 0x07, 0x0d, 0x61, 0x03, 0xaf, 0x61, 0x03, 0xaf, 0x03d5, 0x03d1, 0x03cd,
6172 0x042d, 0x0431, 0x0436},
6174 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0b,
6175 0x07, 0x0d, 0x61, 0x03, 0x9f, 0x61, 0x03, 0x9f, 0x03d7, 0x03d3, 0x03cf,
6176 0x042b, 0x042f, 0x0434},
6178 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0b,
6179 0x07, 0x0d, 0x61, 0x03, 0x8f, 0x61, 0x03, 0x8f, 0x03d9, 0x03d5, 0x03d1,
6180 0x0429, 0x042d, 0x0431},
6182 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0b,
6183 0x07, 0x0c, 0x61, 0x03, 0x7f, 0x61, 0x03, 0x7f, 0x03db, 0x03d7, 0x03d3,
6184 0x0427, 0x042b, 0x042f},
6186 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0b,
6187 0x07, 0x0c, 0x61, 0x03, 0x6f, 0x61, 0x03, 0x6f, 0x03dd, 0x03d9, 0x03d5,
6188 0x0424, 0x0429, 0x042d},
6190 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0b,
6191 0x06, 0x0c, 0x61, 0x03, 0x5f, 0x61, 0x03, 0x5f, 0x03df, 0x03db, 0x03d7,
6192 0x0422, 0x0427, 0x042b},
6194 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0a,
6195 0x06, 0x0b, 0x61, 0x03, 0x4f, 0x61, 0x03, 0x4f, 0x03e1, 0x03dd, 0x03d9,
6196 0x0420, 0x0424, 0x0429},
6198 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0a,
6199 0x06, 0x0b, 0x61, 0x03, 0x3f, 0x61, 0x03, 0x3f, 0x03e6, 0x03e2, 0x03de,
6200 0x041b, 0x041f, 0x0424}
6203 static chan_info_nphy_radio2057_rev5_t chan_info_nphyrev9_2057_rev5v1[] = {
6205 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0d,
6206 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03c9, 0x03c5, 0x03c1,
6207 0x043a, 0x043f, 0x0443},
6209 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0d,
6210 0x08, 0x0e, 0x61, 0x03, 0xff, 0x61, 0x03, 0xff, 0x03cb, 0x03c7, 0x03c3,
6211 0x0438, 0x043d, 0x0441},
6213 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0d,
6214 0x08, 0x0e, 0x61, 0x03, 0xef, 0x61, 0x03, 0xef, 0x03cd, 0x03c9, 0x03c5,
6215 0x0436, 0x043a, 0x043f},
6217 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0c,
6218 0x08, 0x0e, 0x61, 0x03, 0xdf, 0x61, 0x03, 0xdf, 0x03cf, 0x03cb, 0x03c7,
6219 0x0434, 0x0438, 0x043d},
6221 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0c,
6222 0x07, 0x0d, 0x61, 0x03, 0xcf, 0x61, 0x03, 0xcf, 0x03d1, 0x03cd, 0x03c9,
6223 0x0431, 0x0436, 0x043a},
6225 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0c,
6226 0x07, 0x0d, 0x61, 0x03, 0xbf, 0x61, 0x03, 0xbf, 0x03d3, 0x03cf, 0x03cb,
6227 0x042f, 0x0434, 0x0438},
6229 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0b,
6230 0x07, 0x0d, 0x61, 0x03, 0xaf, 0x61, 0x03, 0xaf, 0x03d5, 0x03d1, 0x03cd,
6231 0x042d, 0x0431, 0x0436},
6233 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0b,
6234 0x07, 0x0d, 0x61, 0x03, 0x9f, 0x61, 0x03, 0x9f, 0x03d7, 0x03d3, 0x03cf,
6235 0x042b, 0x042f, 0x0434},
6237 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0b,
6238 0x07, 0x0d, 0x61, 0x03, 0x8f, 0x61, 0x03, 0x8f, 0x03d9, 0x03d5, 0x03d1,
6239 0x0429, 0x042d, 0x0431},
6241 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0b,
6242 0x07, 0x0c, 0x61, 0x03, 0x7f, 0x61, 0x03, 0x7f, 0x03db, 0x03d7, 0x03d3,
6243 0x0427, 0x042b, 0x042f},
6245 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0b,
6246 0x07, 0x0c, 0x61, 0x03, 0x6f, 0x61, 0x03, 0x6f, 0x03dd, 0x03d9, 0x03d5,
6247 0x0424, 0x0429, 0x042d},
6249 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0b,
6250 0x06, 0x0c, 0x61, 0x03, 0x5f, 0x61, 0x03, 0x5f, 0x03df, 0x03db, 0x03d7,
6251 0x0422, 0x0427, 0x042b},
6253 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0a,
6254 0x06, 0x0b, 0x61, 0x03, 0x4f, 0x61, 0x03, 0x4f, 0x03e1, 0x03dd, 0x03d9,
6255 0x0420, 0x0424, 0x0429},
6257 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0a,
6258 0x06, 0x0b, 0x61, 0x03, 0x3f, 0x61, 0x03, 0x3f, 0x03e6, 0x03e2, 0x03de,
6259 0x041b, 0x041f, 0x0424}
6262 static chan_info_nphy_radio2057_t chan_info_nphyrev8_2057_rev7[] = {
6264 184, 4920, 0x68, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xec, 0x01, 0x0f,
6265 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6266 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07b4, 0x07b0, 0x07ac, 0x0214,
6270 186, 4930, 0x6b, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xed, 0x01, 0x0f,
6271 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6272 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07b8, 0x07b4, 0x07b0, 0x0213,
6276 188, 4940, 0x6e, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xee, 0x01, 0x0f,
6277 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6278 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07bc, 0x07b8, 0x07b4, 0x0212,
6282 190, 4950, 0x72, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xef, 0x01, 0x0f,
6283 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6284 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c0, 0x07bc, 0x07b8, 0x0211,
6288 192, 4960, 0x75, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf0, 0x01, 0x0f,
6289 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6290 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c4, 0x07c0, 0x07bc, 0x020f,
6294 194, 4970, 0x78, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf1, 0x01, 0x0f,
6295 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6296 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c8, 0x07c4, 0x07c0, 0x020e,
6300 196, 4980, 0x7c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf2, 0x01, 0x0f,
6301 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6302 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07cc, 0x07c8, 0x07c4, 0x020d,
6306 198, 4990, 0x7f, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf3, 0x01, 0x0f,
6307 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
6308 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07d0, 0x07cc, 0x07c8, 0x020c,
6312 200, 5000, 0x82, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf4, 0x01, 0x0f,
6313 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6314 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d4, 0x07d0, 0x07cc, 0x020b,
6318 202, 5010, 0x86, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf5, 0x01, 0x0f,
6319 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6320 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d8, 0x07d4, 0x07d0, 0x020a,
6324 204, 5020, 0x89, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf6, 0x01, 0x0e,
6325 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6326 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07dc, 0x07d8, 0x07d4, 0x0209,
6330 206, 5030, 0x8c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf7, 0x01, 0x0e,
6331 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6332 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e0, 0x07dc, 0x07d8, 0x0208,
6336 208, 5040, 0x90, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf8, 0x01, 0x0e,
6337 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6338 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e4, 0x07e0, 0x07dc, 0x0207,
6342 210, 5050, 0x93, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf9, 0x01, 0x0e,
6343 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6344 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e8, 0x07e4, 0x07e0, 0x0206,
6348 212, 5060, 0x96, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfa, 0x01, 0x0e,
6349 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6350 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07ec, 0x07e8, 0x07e4, 0x0205,
6354 214, 5070, 0x9a, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfb, 0x01, 0x0e,
6355 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6356 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f0, 0x07ec, 0x07e8, 0x0204,
6360 216, 5080, 0x9d, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfc, 0x01, 0x0e,
6361 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6362 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f4, 0x07f0, 0x07ec, 0x0203,
6366 218, 5090, 0xa0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfd, 0x01, 0x0e,
6367 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
6368 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f8, 0x07f4, 0x07f0, 0x0202,
6372 220, 5100, 0xa4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfe, 0x01, 0x0d,
6373 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6374 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x07fc, 0x07f8, 0x07f4, 0x0201,
6378 222, 5110, 0xa7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xff, 0x01, 0x0d,
6379 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6380 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0800, 0x07fc, 0x07f8, 0x0200,
6384 224, 5120, 0xaa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x00, 0x02, 0x0d,
6385 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6386 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0804, 0x0800, 0x07fc, 0x01ff,
6390 226, 5130, 0xae, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x01, 0x02, 0x0d,
6391 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6392 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0808, 0x0804, 0x0800, 0x01fe,
6396 228, 5140, 0xb1, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x02, 0x02, 0x0d,
6397 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6398 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x080c, 0x0808, 0x0804, 0x01fd,
6402 32, 5160, 0xb8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x04, 0x02, 0x0d,
6403 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6404 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0814, 0x0810, 0x080c, 0x01fb,
6408 34, 5170, 0xbb, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x05, 0x02, 0x0d,
6409 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6410 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0818, 0x0814, 0x0810, 0x01fa,
6414 36, 5180, 0xbe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x06, 0x02, 0x0c,
6415 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6416 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x081c, 0x0818, 0x0814, 0x01f9,
6420 38, 5190, 0xc2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x07, 0x02, 0x0c,
6421 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
6422 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0820, 0x081c, 0x0818, 0x01f8,
6426 40, 5200, 0xc5, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x08, 0x02, 0x0c,
6427 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6428 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0824, 0x0820, 0x081c, 0x01f7,
6432 42, 5210, 0xc8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x09, 0x02, 0x0c,
6433 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6434 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0828, 0x0824, 0x0820, 0x01f6,
6438 44, 5220, 0xcc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0a, 0x02, 0x0c,
6439 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6440 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x082c, 0x0828, 0x0824, 0x01f5,
6444 46, 5230, 0xcf, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0b, 0x02, 0x0c,
6445 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6446 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0830, 0x082c, 0x0828, 0x01f4,
6450 48, 5240, 0xd2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0c, 0x02, 0x0c,
6451 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6452 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0834, 0x0830, 0x082c, 0x01f3,
6456 50, 5250, 0xd6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0d, 0x02, 0x0c,
6457 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6458 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0838, 0x0834, 0x0830, 0x01f2,
6462 52, 5260, 0xd9, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0e, 0x02, 0x0b,
6463 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6464 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x083c, 0x0838, 0x0834, 0x01f1,
6468 54, 5270, 0xdc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0f, 0x02, 0x0b,
6469 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6470 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0840, 0x083c, 0x0838, 0x01f0,
6474 56, 5280, 0xe0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x10, 0x02, 0x0b,
6475 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6476 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0844, 0x0840, 0x083c, 0x01f0,
6480 58, 5290, 0xe3, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x11, 0x02, 0x0b,
6481 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
6482 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0848, 0x0844, 0x0840, 0x01ef,
6486 60, 5300, 0xe6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x12, 0x02, 0x0b,
6487 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6488 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x084c, 0x0848, 0x0844, 0x01ee,
6492 62, 5310, 0xea, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x13, 0x02, 0x0b,
6493 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6494 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0850, 0x084c, 0x0848, 0x01ed,
6498 64, 5320, 0xed, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x14, 0x02, 0x0b,
6499 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6500 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0854, 0x0850, 0x084c, 0x01ec,
6504 66, 5330, 0xf0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x15, 0x02, 0x0b,
6505 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6506 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0858, 0x0854, 0x0850, 0x01eb,
6510 68, 5340, 0xf4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x16, 0x02, 0x0a,
6511 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6512 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x085c, 0x0858, 0x0854, 0x01ea,
6516 70, 5350, 0xf7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x17, 0x02, 0x0a,
6517 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6518 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0860, 0x085c, 0x0858, 0x01e9,
6522 72, 5360, 0xfa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x18, 0x02, 0x0a,
6523 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6524 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0864, 0x0860, 0x085c, 0x01e8,
6528 74, 5370, 0xfe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x19, 0x02, 0x0a,
6529 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6530 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0868, 0x0864, 0x0860, 0x01e7,
6534 76, 5380, 0x01, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1a, 0x02, 0x0a,
6535 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6536 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x086c, 0x0868, 0x0864, 0x01e6,
6540 78, 5390, 0x04, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1b, 0x02, 0x0a,
6541 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
6542 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0870, 0x086c, 0x0868, 0x01e5,
6546 80, 5400, 0x08, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1c, 0x02, 0x0a,
6547 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6548 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0874, 0x0870, 0x086c, 0x01e5,
6552 82, 5410, 0x0b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1d, 0x02, 0x0a,
6553 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6554 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0878, 0x0874, 0x0870, 0x01e4,
6558 84, 5420, 0x0e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1e, 0x02, 0x09,
6559 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6560 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x087c, 0x0878, 0x0874, 0x01e3,
6564 86, 5430, 0x12, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1f, 0x02, 0x09,
6565 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6566 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0880, 0x087c, 0x0878, 0x01e2,
6570 88, 5440, 0x15, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x20, 0x02, 0x09,
6571 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6572 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0884, 0x0880, 0x087c, 0x01e1,
6576 90, 5450, 0x18, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x21, 0x02, 0x09,
6577 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6578 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0888, 0x0884, 0x0880, 0x01e0,
6582 92, 5460, 0x1c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x22, 0x02, 0x09,
6583 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6584 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x088c, 0x0888, 0x0884, 0x01df,
6588 94, 5470, 0x1f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x23, 0x02, 0x09,
6589 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6590 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0890, 0x088c, 0x0888, 0x01de,
6594 96, 5480, 0x22, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x24, 0x02, 0x09,
6595 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6596 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0894, 0x0890, 0x088c, 0x01dd,
6600 98, 5490, 0x26, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x25, 0x02, 0x09,
6601 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
6602 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0898, 0x0894, 0x0890, 0x01dd,
6606 100, 5500, 0x29, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x26, 0x02, 0x09,
6607 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6608 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x089c, 0x0898, 0x0894, 0x01dc,
6612 102, 5510, 0x2c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x27, 0x02, 0x09,
6613 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6614 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a0, 0x089c, 0x0898, 0x01db,
6618 104, 5520, 0x30, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x28, 0x02, 0x08,
6619 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6620 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a4, 0x08a0, 0x089c, 0x01da,
6624 106, 5530, 0x33, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x29, 0x02, 0x08,
6625 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6626 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a8, 0x08a4, 0x08a0, 0x01d9,
6630 108, 5540, 0x36, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2a, 0x02, 0x08,
6631 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6632 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08ac, 0x08a8, 0x08a4, 0x01d8,
6636 110, 5550, 0x3a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2b, 0x02, 0x08,
6637 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6638 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b0, 0x08ac, 0x08a8, 0x01d7,
6642 112, 5560, 0x3d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2c, 0x02, 0x08,
6643 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6644 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b4, 0x08b0, 0x08ac, 0x01d7,
6648 114, 5570, 0x40, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2d, 0x02, 0x08,
6649 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6650 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b8, 0x08b4, 0x08b0, 0x01d6,
6654 116, 5580, 0x44, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2e, 0x02, 0x08,
6655 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6656 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08bc, 0x08b8, 0x08b4, 0x01d5,
6660 118, 5590, 0x47, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2f, 0x02, 0x08,
6661 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
6662 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08c0, 0x08bc, 0x08b8, 0x01d4,
6666 120, 5600, 0x4a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x30, 0x02, 0x08,
6667 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6668 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c4, 0x08c0, 0x08bc, 0x01d3,
6672 122, 5610, 0x4e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x31, 0x02, 0x08,
6673 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6674 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c8, 0x08c4, 0x08c0, 0x01d2,
6678 124, 5620, 0x51, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x32, 0x02, 0x07,
6679 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6680 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08cc, 0x08c8, 0x08c4, 0x01d2,
6684 126, 5630, 0x54, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x33, 0x02, 0x07,
6685 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6686 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d0, 0x08cc, 0x08c8, 0x01d1,
6690 128, 5640, 0x58, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x34, 0x02, 0x07,
6691 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
6692 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d4, 0x08d0, 0x08cc, 0x01d0,
6696 130, 5650, 0x5b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x35, 0x02, 0x07,
6697 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
6698 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08d8, 0x08d4, 0x08d0, 0x01cf,
6702 132, 5660, 0x5e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x36, 0x02, 0x07,
6703 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
6704 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08dc, 0x08d8, 0x08d4, 0x01ce,
6708 134, 5670, 0x62, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x37, 0x02, 0x07,
6709 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
6710 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08e0, 0x08dc, 0x08d8, 0x01ce,
6714 136, 5680, 0x65, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x38, 0x02, 0x07,
6715 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
6716 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e4, 0x08e0, 0x08dc, 0x01cd,
6720 138, 5690, 0x68, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x39, 0x02, 0x07,
6721 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
6722 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e8, 0x08e4, 0x08e0, 0x01cc,
6726 140, 5700, 0x6c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3a, 0x02, 0x07,
6727 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6728 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08ec, 0x08e8, 0x08e4, 0x01cb,
6732 142, 5710, 0x6f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3b, 0x02, 0x07,
6733 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6734 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f0, 0x08ec, 0x08e8, 0x01ca,
6738 144, 5720, 0x72, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3c, 0x02, 0x07,
6739 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6740 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f4, 0x08f0, 0x08ec, 0x01c9,
6744 145, 5725, 0x74, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x79, 0x04, 0x06,
6745 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6746 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f6, 0x08f2, 0x08ee, 0x01c9,
6750 146, 5730, 0x76, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3d, 0x02, 0x06,
6751 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6752 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f8, 0x08f4, 0x08f0, 0x01c9,
6756 147, 5735, 0x77, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7b, 0x04, 0x06,
6757 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6758 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fa, 0x08f6, 0x08f2, 0x01c8,
6762 148, 5740, 0x79, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3e, 0x02, 0x06,
6763 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6764 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fc, 0x08f8, 0x08f4, 0x01c8,
6768 149, 5745, 0x7b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7d, 0x04, 0x06,
6769 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
6770 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fe, 0x08fa, 0x08f6, 0x01c8,
6774 150, 5750, 0x7c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3f, 0x02, 0x06,
6775 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6776 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7,
6780 151, 5755, 0x7e, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7f, 0x04, 0x06,
6781 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6782 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7,
6786 152, 5760, 0x80, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x40, 0x02, 0x06,
6787 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6788 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6,
6792 153, 5765, 0x81, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x81, 0x04, 0x06,
6793 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6794 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6,
6798 154, 5770, 0x83, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x41, 0x02, 0x06,
6799 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6800 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6,
6804 155, 5775, 0x85, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x83, 0x04, 0x06,
6805 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6806 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5,
6810 156, 5780, 0x86, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x42, 0x02, 0x06,
6811 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6812 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5,
6816 157, 5785, 0x88, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x85, 0x04, 0x05,
6817 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6818 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4,
6822 158, 5790, 0x8a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x43, 0x02, 0x05,
6823 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6824 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4,
6828 159, 5795, 0x8b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x87, 0x04, 0x05,
6829 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
6830 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4,
6834 160, 5800, 0x8d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x44, 0x02, 0x05,
6835 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x00,
6836 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3,
6840 161, 5805, 0x8f, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x89, 0x04, 0x05,
6841 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6842 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3,
6846 162, 5810, 0x90, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x45, 0x02, 0x05,
6847 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6848 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2,
6852 163, 5815, 0x92, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8b, 0x04, 0x05,
6853 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6854 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2,
6858 164, 5820, 0x94, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x46, 0x02, 0x05,
6859 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6860 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2,
6864 165, 5825, 0x95, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8d, 0x04, 0x05,
6865 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6866 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1,
6870 166, 5830, 0x97, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x47, 0x02, 0x05,
6871 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6872 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1,
6876 168, 5840, 0x9a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x48, 0x02, 0x05,
6877 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6878 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0,
6882 170, 5850, 0x9e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x49, 0x02, 0x04,
6883 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6884 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf,
6888 172, 5860, 0xa1, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4a, 0x02, 0x04,
6889 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6890 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf,
6894 174, 5870, 0xa4, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4b, 0x02, 0x04,
6895 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6896 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0930, 0x092c, 0x0928, 0x01be,
6900 176, 5880, 0xa8, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4c, 0x02, 0x03,
6901 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6902 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd,
6906 178, 5890, 0xab, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4d, 0x02, 0x03,
6907 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6908 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc,
6912 180, 5900, 0xae, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4e, 0x02, 0x03,
6913 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
6914 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc,
6918 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0f,
6919 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6920 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03c9, 0x03c5, 0x03c1, 0x043a,
6924 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0f,
6925 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6926 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cb, 0x03c7, 0x03c3, 0x0438,
6930 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0f,
6931 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6932 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cd, 0x03c9, 0x03c5, 0x0436,
6936 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0f,
6937 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6938 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cf, 0x03cb, 0x03c7, 0x0434,
6942 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0f,
6943 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6944 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d1, 0x03cd, 0x03c9, 0x0431,
6948 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0f,
6949 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6950 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d3, 0x03cf, 0x03cb, 0x042f,
6954 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0f,
6955 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6956 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d5, 0x03d1, 0x03cd, 0x042d,
6960 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0f,
6961 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6962 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d7, 0x03d3, 0x03cf, 0x042b,
6966 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0f,
6967 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6968 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d9, 0x03d5, 0x03d1, 0x0429,
6972 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0f,
6973 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6974 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03db, 0x03d7, 0x03d3, 0x0427,
6978 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0f,
6979 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6980 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03dd, 0x03d9, 0x03d5, 0x0424,
6984 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0f,
6985 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6986 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03df, 0x03db, 0x03d7, 0x0422,
6990 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0f,
6991 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
6992 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03e1, 0x03dd, 0x03d9, 0x0420,
6996 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0f,
6997 0x04, 0x00, 0x04, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x61,
6998 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x03e6, 0x03e2, 0x03de, 0x041b,
7003 static chan_info_nphy_radio2057_t chan_info_nphyrev8_2057_rev8[] = {
7005 186, 4930, 0x6b, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xed, 0x01, 0x0f,
7006 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7007 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07b8, 0x07b4, 0x07b0, 0x0213,
7011 188, 4940, 0x6e, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xee, 0x01, 0x0f,
7012 0x00, 0x0f, 0x00, 0xff, 0x00, 0xd3, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7013 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07bc, 0x07b8, 0x07b4, 0x0212,
7017 190, 4950, 0x72, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xef, 0x01, 0x0f,
7018 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7019 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c0, 0x07bc, 0x07b8, 0x0211,
7023 192, 4960, 0x75, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf0, 0x01, 0x0f,
7024 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7025 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c4, 0x07c0, 0x07bc, 0x020f,
7029 194, 4970, 0x78, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf1, 0x01, 0x0f,
7030 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7031 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07c8, 0x07c4, 0x07c0, 0x020e,
7035 196, 4980, 0x7c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf2, 0x01, 0x0f,
7036 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7037 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07cc, 0x07c8, 0x07c4, 0x020d,
7041 198, 4990, 0x7f, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf3, 0x01, 0x0f,
7042 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x00,
7043 0x00, 0x0f, 0x0f, 0xd3, 0x00, 0xff, 0x07d0, 0x07cc, 0x07c8, 0x020c,
7047 200, 5000, 0x82, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf4, 0x01, 0x0f,
7048 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7049 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d4, 0x07d0, 0x07cc, 0x020b,
7053 202, 5010, 0x86, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf5, 0x01, 0x0f,
7054 0x00, 0x0f, 0x00, 0xff, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7055 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07d8, 0x07d4, 0x07d0, 0x020a,
7059 204, 5020, 0x89, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf6, 0x01, 0x0e,
7060 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7061 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07dc, 0x07d8, 0x07d4, 0x0209,
7065 206, 5030, 0x8c, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf7, 0x01, 0x0e,
7066 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7067 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e0, 0x07dc, 0x07d8, 0x0208,
7071 208, 5040, 0x90, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf8, 0x01, 0x0e,
7072 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7073 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e4, 0x07e0, 0x07dc, 0x0207,
7077 210, 5050, 0x93, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xf9, 0x01, 0x0e,
7078 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7079 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07e8, 0x07e4, 0x07e0, 0x0206,
7083 212, 5060, 0x96, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfa, 0x01, 0x0e,
7084 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7085 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07ec, 0x07e8, 0x07e4, 0x0205,
7089 214, 5070, 0x9a, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfb, 0x01, 0x0e,
7090 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7091 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f0, 0x07ec, 0x07e8, 0x0204,
7095 216, 5080, 0x9d, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfc, 0x01, 0x0e,
7096 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7097 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f4, 0x07f0, 0x07ec, 0x0203,
7101 218, 5090, 0xa0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfd, 0x01, 0x0e,
7102 0x00, 0x0e, 0x00, 0xee, 0x00, 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x00,
7103 0x00, 0x0f, 0x0f, 0xb3, 0x00, 0xff, 0x07f8, 0x07f4, 0x07f0, 0x0202,
7107 220, 5100, 0xa4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xfe, 0x01, 0x0d,
7108 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7109 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x07fc, 0x07f8, 0x07f4, 0x0201,
7113 222, 5110, 0xa7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0xff, 0x01, 0x0d,
7114 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7115 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0800, 0x07fc, 0x07f8, 0x0200,
7119 224, 5120, 0xaa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x00, 0x02, 0x0d,
7120 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7121 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0804, 0x0800, 0x07fc, 0x01ff,
7125 226, 5130, 0xae, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x01, 0x02, 0x0d,
7126 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7127 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0808, 0x0804, 0x0800, 0x01fe,
7131 228, 5140, 0xb1, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x02, 0x02, 0x0d,
7132 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7133 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x080c, 0x0808, 0x0804, 0x01fd,
7137 32, 5160, 0xb8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x04, 0x02, 0x0d,
7138 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7139 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0814, 0x0810, 0x080c, 0x01fb,
7143 34, 5170, 0xbb, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x05, 0x02, 0x0d,
7144 0x00, 0x0d, 0x00, 0xdd, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7145 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0818, 0x0814, 0x0810, 0x01fa,
7149 36, 5180, 0xbe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x06, 0x02, 0x0c,
7150 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7151 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x081c, 0x0818, 0x0814, 0x01f9,
7155 38, 5190, 0xc2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x07, 0x02, 0x0c,
7156 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x00,
7157 0x00, 0x0f, 0x0f, 0xa3, 0x00, 0xfc, 0x0820, 0x081c, 0x0818, 0x01f8,
7161 40, 5200, 0xc5, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x08, 0x02, 0x0c,
7162 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7163 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0824, 0x0820, 0x081c, 0x01f7,
7167 42, 5210, 0xc8, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x09, 0x02, 0x0c,
7168 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7169 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0828, 0x0824, 0x0820, 0x01f6,
7173 44, 5220, 0xcc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0a, 0x02, 0x0c,
7174 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7175 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x082c, 0x0828, 0x0824, 0x01f5,
7179 46, 5230, 0xcf, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0b, 0x02, 0x0c,
7180 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7181 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0830, 0x082c, 0x0828, 0x01f4,
7185 48, 5240, 0xd2, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0c, 0x02, 0x0c,
7186 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7187 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0834, 0x0830, 0x082c, 0x01f3,
7191 50, 5250, 0xd6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0d, 0x02, 0x0c,
7192 0x00, 0x0c, 0x00, 0xcc, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7193 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0838, 0x0834, 0x0830, 0x01f2,
7197 52, 5260, 0xd9, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0e, 0x02, 0x0b,
7198 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7199 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x083c, 0x0838, 0x0834, 0x01f1,
7203 54, 5270, 0xdc, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x0f, 0x02, 0x0b,
7204 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7205 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0840, 0x083c, 0x0838, 0x01f0,
7209 56, 5280, 0xe0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x10, 0x02, 0x0b,
7210 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7211 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0844, 0x0840, 0x083c, 0x01f0,
7215 58, 5290, 0xe3, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x11, 0x02, 0x0b,
7216 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x00,
7217 0x00, 0x0f, 0x0f, 0x93, 0x00, 0xf8, 0x0848, 0x0844, 0x0840, 0x01ef,
7221 60, 5300, 0xe6, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x12, 0x02, 0x0b,
7222 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7223 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x084c, 0x0848, 0x0844, 0x01ee,
7227 62, 5310, 0xea, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x13, 0x02, 0x0b,
7228 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7229 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0850, 0x084c, 0x0848, 0x01ed,
7233 64, 5320, 0xed, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x14, 0x02, 0x0b,
7234 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7235 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0854, 0x0850, 0x084c, 0x01ec,
7239 66, 5330, 0xf0, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x15, 0x02, 0x0b,
7240 0x00, 0x0b, 0x00, 0xbb, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7241 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0858, 0x0854, 0x0850, 0x01eb,
7245 68, 5340, 0xf4, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x16, 0x02, 0x0a,
7246 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7247 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x085c, 0x0858, 0x0854, 0x01ea,
7251 70, 5350, 0xf7, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x17, 0x02, 0x0a,
7252 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7253 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0860, 0x085c, 0x0858, 0x01e9,
7257 72, 5360, 0xfa, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x18, 0x02, 0x0a,
7258 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7259 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0864, 0x0860, 0x085c, 0x01e8,
7263 74, 5370, 0xfe, 0x16, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x19, 0x02, 0x0a,
7264 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7265 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0868, 0x0864, 0x0860, 0x01e7,
7269 76, 5380, 0x01, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1a, 0x02, 0x0a,
7270 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7271 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x086c, 0x0868, 0x0864, 0x01e6,
7275 78, 5390, 0x04, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1b, 0x02, 0x0a,
7276 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x00,
7277 0x00, 0x0f, 0x0c, 0x83, 0x00, 0xf5, 0x0870, 0x086c, 0x0868, 0x01e5,
7281 80, 5400, 0x08, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1c, 0x02, 0x0a,
7282 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7283 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0874, 0x0870, 0x086c, 0x01e5,
7287 82, 5410, 0x0b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1d, 0x02, 0x0a,
7288 0x00, 0x0a, 0x00, 0xaa, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7289 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0878, 0x0874, 0x0870, 0x01e4,
7293 84, 5420, 0x0e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1e, 0x02, 0x09,
7294 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7295 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x087c, 0x0878, 0x0874, 0x01e3,
7299 86, 5430, 0x12, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x1f, 0x02, 0x09,
7300 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7301 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0880, 0x087c, 0x0878, 0x01e2,
7305 88, 5440, 0x15, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x20, 0x02, 0x09,
7306 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7307 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0884, 0x0880, 0x087c, 0x01e1,
7311 90, 5450, 0x18, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x21, 0x02, 0x09,
7312 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7313 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0888, 0x0884, 0x0880, 0x01e0,
7317 92, 5460, 0x1c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x22, 0x02, 0x09,
7318 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7319 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x088c, 0x0888, 0x0884, 0x01df,
7323 94, 5470, 0x1f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x23, 0x02, 0x09,
7324 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7325 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0890, 0x088c, 0x0888, 0x01de,
7329 96, 5480, 0x22, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x24, 0x02, 0x09,
7330 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7331 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0894, 0x0890, 0x088c, 0x01dd,
7335 98, 5490, 0x26, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x25, 0x02, 0x09,
7336 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x00,
7337 0x00, 0x0d, 0x09, 0x53, 0x00, 0xb1, 0x0898, 0x0894, 0x0890, 0x01dd,
7341 100, 5500, 0x29, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x26, 0x02, 0x09,
7342 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7343 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x089c, 0x0898, 0x0894, 0x01dc,
7347 102, 5510, 0x2c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x27, 0x02, 0x09,
7348 0x00, 0x09, 0x00, 0x99, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7349 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a0, 0x089c, 0x0898, 0x01db,
7353 104, 5520, 0x30, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x28, 0x02, 0x08,
7354 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7355 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a4, 0x08a0, 0x089c, 0x01da,
7359 106, 5530, 0x33, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x29, 0x02, 0x08,
7360 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7361 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08a8, 0x08a4, 0x08a0, 0x01d9,
7365 108, 5540, 0x36, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2a, 0x02, 0x08,
7366 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7367 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08ac, 0x08a8, 0x08a4, 0x01d8,
7371 110, 5550, 0x3a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2b, 0x02, 0x08,
7372 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7373 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b0, 0x08ac, 0x08a8, 0x01d7,
7377 112, 5560, 0x3d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2c, 0x02, 0x08,
7378 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7379 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b4, 0x08b0, 0x08ac, 0x01d7,
7383 114, 5570, 0x40, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2d, 0x02, 0x08,
7384 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7385 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08b8, 0x08b4, 0x08b0, 0x01d6,
7389 116, 5580, 0x44, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2e, 0x02, 0x08,
7390 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7391 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08bc, 0x08b8, 0x08b4, 0x01d5,
7395 118, 5590, 0x47, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x2f, 0x02, 0x08,
7396 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x00,
7397 0x00, 0x0a, 0x06, 0x43, 0x00, 0x80, 0x08c0, 0x08bc, 0x08b8, 0x01d4,
7401 120, 5600, 0x4a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x30, 0x02, 0x08,
7402 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7403 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c4, 0x08c0, 0x08bc, 0x01d3,
7407 122, 5610, 0x4e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x31, 0x02, 0x08,
7408 0x00, 0x08, 0x00, 0x88, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7409 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08c8, 0x08c4, 0x08c0, 0x01d2,
7413 124, 5620, 0x51, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x32, 0x02, 0x07,
7414 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7415 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08cc, 0x08c8, 0x08c4, 0x01d2,
7419 126, 5630, 0x54, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x33, 0x02, 0x07,
7420 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7421 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d0, 0x08cc, 0x08c8, 0x01d1,
7425 128, 5640, 0x58, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x34, 0x02, 0x07,
7426 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x00,
7427 0x00, 0x09, 0x04, 0x23, 0x00, 0x60, 0x08d4, 0x08d0, 0x08cc, 0x01d0,
7431 130, 5650, 0x5b, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x35, 0x02, 0x07,
7432 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
7433 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08d8, 0x08d4, 0x08d0, 0x01cf,
7437 132, 5660, 0x5e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x36, 0x02, 0x07,
7438 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
7439 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08dc, 0x08d8, 0x08d4, 0x01ce,
7443 134, 5670, 0x62, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x37, 0x02, 0x07,
7444 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x00,
7445 0x00, 0x09, 0x03, 0x23, 0x00, 0x60, 0x08e0, 0x08dc, 0x08d8, 0x01ce,
7449 136, 5680, 0x65, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x38, 0x02, 0x07,
7450 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
7451 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e4, 0x08e0, 0x08dc, 0x01cd,
7455 138, 5690, 0x68, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x39, 0x02, 0x07,
7456 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x00,
7457 0x00, 0x09, 0x02, 0x23, 0x00, 0x60, 0x08e8, 0x08e4, 0x08e0, 0x01cc,
7461 140, 5700, 0x6c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3a, 0x02, 0x07,
7462 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7463 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08ec, 0x08e8, 0x08e4, 0x01cb,
7467 142, 5710, 0x6f, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3b, 0x02, 0x07,
7468 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7469 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f0, 0x08ec, 0x08e8, 0x01ca,
7473 144, 5720, 0x72, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3c, 0x02, 0x07,
7474 0x00, 0x07, 0x00, 0x77, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7475 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f4, 0x08f0, 0x08ec, 0x01c9,
7479 145, 5725, 0x74, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x79, 0x04, 0x06,
7480 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7481 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f6, 0x08f2, 0x08ee, 0x01c9,
7485 146, 5730, 0x76, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3d, 0x02, 0x06,
7486 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7487 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08f8, 0x08f4, 0x08f0, 0x01c9,
7491 147, 5735, 0x77, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7b, 0x04, 0x06,
7492 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7493 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fa, 0x08f6, 0x08f2, 0x01c8,
7497 148, 5740, 0x79, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3e, 0x02, 0x06,
7498 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7499 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fc, 0x08f8, 0x08f4, 0x01c8,
7503 149, 5745, 0x7b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7d, 0x04, 0x06,
7504 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x00,
7505 0x00, 0x08, 0x02, 0x13, 0x00, 0x30, 0x08fe, 0x08fa, 0x08f6, 0x01c8,
7509 150, 5750, 0x7c, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x3f, 0x02, 0x06,
7510 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7511 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0900, 0x08fc, 0x08f8, 0x01c7,
7515 151, 5755, 0x7e, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x7f, 0x04, 0x06,
7516 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7517 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0902, 0x08fe, 0x08fa, 0x01c7,
7521 152, 5760, 0x80, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x40, 0x02, 0x06,
7522 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7523 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0904, 0x0900, 0x08fc, 0x01c6,
7527 153, 5765, 0x81, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x81, 0x04, 0x06,
7528 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7529 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0906, 0x0902, 0x08fe, 0x01c6,
7533 154, 5770, 0x83, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x41, 0x02, 0x06,
7534 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7535 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0908, 0x0904, 0x0900, 0x01c6,
7539 155, 5775, 0x85, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x83, 0x04, 0x06,
7540 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7541 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090a, 0x0906, 0x0902, 0x01c5,
7545 156, 5780, 0x86, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x42, 0x02, 0x06,
7546 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7547 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090c, 0x0908, 0x0904, 0x01c5,
7551 157, 5785, 0x88, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x85, 0x04, 0x05,
7552 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7553 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x090e, 0x090a, 0x0906, 0x01c4,
7557 158, 5790, 0x8a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x43, 0x02, 0x05,
7558 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7559 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0910, 0x090c, 0x0908, 0x01c4,
7563 159, 5795, 0x8b, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x87, 0x04, 0x05,
7564 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x00,
7565 0x00, 0x08, 0x02, 0x13, 0x00, 0x00, 0x0912, 0x090e, 0x090a, 0x01c4,
7569 160, 5800, 0x8d, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x44, 0x02, 0x05,
7570 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x00,
7571 0x00, 0x08, 0x01, 0x03, 0x00, 0x00, 0x0914, 0x0910, 0x090c, 0x01c3,
7575 161, 5805, 0x8f, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x89, 0x04, 0x05,
7576 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7577 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0916, 0x0912, 0x090e, 0x01c3,
7581 162, 5810, 0x90, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x45, 0x02, 0x05,
7582 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7583 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0918, 0x0914, 0x0910, 0x01c2,
7587 163, 5815, 0x92, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8b, 0x04, 0x05,
7588 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7589 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091a, 0x0916, 0x0912, 0x01c2,
7593 164, 5820, 0x94, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x46, 0x02, 0x05,
7594 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7595 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091c, 0x0918, 0x0914, 0x01c2,
7599 165, 5825, 0x95, 0x17, 0x20, 0x14, 0x08, 0x08, 0x30, 0x8d, 0x04, 0x05,
7600 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7601 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x091e, 0x091a, 0x0916, 0x01c1,
7605 166, 5830, 0x97, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x47, 0x02, 0x05,
7606 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7607 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0920, 0x091c, 0x0918, 0x01c1,
7611 168, 5840, 0x9a, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x48, 0x02, 0x05,
7612 0x00, 0x05, 0x00, 0x55, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7613 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0924, 0x0920, 0x091c, 0x01c0,
7617 170, 5850, 0x9e, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x49, 0x02, 0x04,
7618 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7619 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0928, 0x0924, 0x0920, 0x01bf,
7623 172, 5860, 0xa1, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4a, 0x02, 0x04,
7624 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7625 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x092c, 0x0928, 0x0924, 0x01bf,
7629 174, 5870, 0xa4, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4b, 0x02, 0x04,
7630 0x00, 0x04, 0x00, 0x44, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7631 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0930, 0x092c, 0x0928, 0x01be,
7635 176, 5880, 0xa8, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4c, 0x02, 0x03,
7636 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7637 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0934, 0x0930, 0x092c, 0x01bd,
7641 178, 5890, 0xab, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4d, 0x02, 0x03,
7642 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7643 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x0938, 0x0934, 0x0930, 0x01bc,
7647 180, 5900, 0xae, 0x17, 0x10, 0x0c, 0x0c, 0x0c, 0x30, 0x4e, 0x02, 0x03,
7648 0x00, 0x03, 0x00, 0x33, 0x00, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
7649 0x00, 0x06, 0x01, 0x03, 0x00, 0x00, 0x093c, 0x0938, 0x0934, 0x01bc,
7653 1, 2412, 0x48, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x6c, 0x09, 0x0f,
7654 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7655 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03c9, 0x03c5, 0x03c1, 0x043a,
7659 2, 2417, 0x4b, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x71, 0x09, 0x0f,
7660 0x0a, 0x00, 0x0a, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7661 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cb, 0x03c7, 0x03c3, 0x0438,
7665 3, 2422, 0x4e, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x76, 0x09, 0x0f,
7666 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7667 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cd, 0x03c9, 0x03c5, 0x0436,
7671 4, 2427, 0x52, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x7b, 0x09, 0x0f,
7672 0x09, 0x00, 0x09, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7673 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03cf, 0x03cb, 0x03c7, 0x0434,
7677 5, 2432, 0x55, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x80, 0x09, 0x0f,
7678 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7679 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d1, 0x03cd, 0x03c9, 0x0431,
7683 6, 2437, 0x58, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x85, 0x09, 0x0f,
7684 0x08, 0x00, 0x08, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7685 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d3, 0x03cf, 0x03cb, 0x042f,
7689 7, 2442, 0x5c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8a, 0x09, 0x0f,
7690 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7691 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d5, 0x03d1, 0x03cd, 0x042d,
7695 8, 2447, 0x5f, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x8f, 0x09, 0x0f,
7696 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7697 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d7, 0x03d3, 0x03cf, 0x042b,
7701 9, 2452, 0x62, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x94, 0x09, 0x0f,
7702 0x07, 0x00, 0x07, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7703 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03d9, 0x03d5, 0x03d1, 0x0429,
7707 10, 2457, 0x66, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x99, 0x09, 0x0f,
7708 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7709 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03db, 0x03d7, 0x03d3, 0x0427,
7713 11, 2462, 0x69, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0x9e, 0x09, 0x0f,
7714 0x06, 0x00, 0x06, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7715 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03dd, 0x03d9, 0x03d5, 0x0424,
7719 12, 2467, 0x6c, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa3, 0x09, 0x0f,
7720 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7721 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03df, 0x03db, 0x03d7, 0x0422,
7725 13, 2472, 0x70, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xa8, 0x09, 0x0f,
7726 0x05, 0x00, 0x05, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x61,
7727 0x73, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x03e1, 0x03dd, 0x03d9, 0x0420,
7731 14, 2484, 0x78, 0x16, 0x30, 0x1b, 0x0a, 0x0a, 0x30, 0xb4, 0x09, 0x0f,
7732 0x04, 0x00, 0x04, 0x00, 0x61, 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x61,
7733 0x73, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x03e6, 0x03e2, 0x03de, 0x041b,
7738 radio_regs_t regs_2055[] = {
7739 {0x02, 0x80, 0x80, 0, 0},
7741 {0x04, 0x27, 0x27, 0, 0},
7743 {0x06, 0x27, 0x27, 0, 0},
7744 {0x07, 0x7f, 0x7f, 1, 1},
7745 {0x08, 0x7, 0x7, 1, 1},
7746 {0x09, 0x7f, 0x7f, 1, 1},
7747 {0x0A, 0x7, 0x7, 1, 1},
7748 {0x0B, 0x15, 0x15, 0, 0},
7749 {0x0C, 0x15, 0x15, 0, 0},
7750 {0x0D, 0x4f, 0x4f, 1, 1},
7751 {0x0E, 0x5, 0x5, 1, 1},
7752 {0x0F, 0x4f, 0x4f, 1, 1},
7753 {0x10, 0x5, 0x5, 1, 1},
7754 {0x11, 0xd0, 0xd0, 0, 0},
7755 {0x12, 0x2, 0x2, 0, 0},
7757 {0x14, 0x40, 0x40, 0, 0},
7766 {0x1D, 0xc0, 0xc0, 0, 0},
7767 {0x1E, 0xff, 0xff, 0, 0},
7768 {0x1F, 0xc0, 0xc0, 0, 0},
7769 {0x20, 0xff, 0xff, 0, 0},
7770 {0x21, 0xc0, 0xc0, 0, 0},
7772 {0x23, 0x2c, 0x2c, 0, 0},
7782 {0x2D, 0xa4, 0xa4, 0, 0},
7783 {0x2E, 0x38, 0x38, 0, 0},
7785 {0x30, 0x4, 0x4, 1, 1},
7787 {0x32, 0xa, 0xa, 0, 0},
7788 {0x33, 0x87, 0x87, 0, 0},
7789 {0x34, 0x9, 0x9, 0, 0},
7790 {0x35, 0x70, 0x70, 0, 0},
7791 {0x36, 0x11, 0x11, 0, 0},
7792 {0x37, 0x18, 0x18, 1, 1},
7793 {0x38, 0x6, 0x6, 0, 0},
7794 {0x39, 0x4, 0x4, 1, 1},
7795 {0x3A, 0x6, 0x6, 0, 0},
7796 {0x3B, 0x9e, 0x9e, 0, 0},
7797 {0x3C, 0x9, 0x9, 0, 0},
7798 {0x3D, 0xc8, 0xc8, 1, 1},
7799 {0x3E, 0x88, 0x88, 0, 0},
7803 {0x42, 0x1, 0x1, 0, 0},
7804 {0x43, 0x2, 0x2, 0, 0},
7805 {0x44, 0x96, 0x96, 0, 0},
7806 {0x45, 0x3e, 0x3e, 0, 0},
7807 {0x46, 0x3e, 0x3e, 0, 0},
7808 {0x47, 0x13, 0x13, 0, 0},
7809 {0x48, 0x2, 0x2, 0, 0},
7810 {0x49, 0x15, 0x15, 0, 0},
7811 {0x4A, 0x7, 0x7, 0, 0},
7817 {0x50, 0x8, 0x8, 0, 0},
7818 {0x51, 0x8, 0x8, 0, 0},
7819 {0x52, 0x6, 0x6, 0, 0},
7820 {0x53, 0x84, 0x84, 1, 1},
7821 {0x54, 0xc3, 0xc3, 0, 0},
7822 {0x55, 0x8f, 0x8f, 0, 0},
7823 {0x56, 0xff, 0xff, 0, 0},
7824 {0x57, 0xff, 0xff, 0, 0},
7825 {0x58, 0x88, 0x88, 0, 0},
7826 {0x59, 0x88, 0x88, 0, 0},
7828 {0x5B, 0xcc, 0xcc, 0, 0},
7829 {0x5C, 0x6, 0x6, 0, 0},
7830 {0x5D, 0x80, 0x80, 0, 0},
7831 {0x5E, 0x80, 0x80, 0, 0},
7832 {0x5F, 0xf8, 0xf8, 0, 0},
7833 {0x60, 0x88, 0x88, 0, 0},
7834 {0x61, 0x88, 0x88, 0, 0},
7835 {0x62, 0x88, 0x8, 1, 1},
7836 {0x63, 0x88, 0x88, 0, 0},
7838 {0x65, 0x1, 0x1, 1, 1},
7839 {0x66, 0x8a, 0x8a, 0, 0},
7840 {0x67, 0x8, 0x8, 0, 0},
7841 {0x68, 0x83, 0x83, 0, 0},
7842 {0x69, 0x6, 0x6, 0, 0},
7843 {0x6A, 0xa0, 0xa0, 0, 0},
7844 {0x6B, 0xa, 0xa, 0, 0},
7845 {0x6C, 0x87, 0x87, 1, 1},
7846 {0x6D, 0x2a, 0x2a, 0, 0},
7847 {0x6E, 0x2a, 0x2a, 0, 0},
7848 {0x6F, 0x2a, 0x2a, 0, 0},
7849 {0x70, 0x2a, 0x2a, 0, 0},
7850 {0x71, 0x18, 0x18, 0, 0},
7851 {0x72, 0x6a, 0x6a, 1, 1},
7852 {0x73, 0xab, 0xab, 1, 1},
7853 {0x74, 0x13, 0x13, 1, 1},
7854 {0x75, 0xc1, 0xc1, 1, 1},
7855 {0x76, 0xaa, 0xaa, 1, 1},
7856 {0x77, 0x87, 0x87, 1, 1},
7858 {0x79, 0x6, 0x6, 0, 0},
7859 {0x7A, 0x7, 0x7, 0, 0},
7860 {0x7B, 0x7, 0x7, 0, 0},
7861 {0x7C, 0x15, 0x15, 0, 0},
7862 {0x7D, 0x55, 0x55, 0, 0},
7863 {0x7E, 0x97, 0x97, 1, 1},
7864 {0x7F, 0x8, 0x8, 0, 0},
7865 {0x80, 0x14, 0x14, 1, 1},
7866 {0x81, 0x33, 0x33, 0, 0},
7867 {0x82, 0x88, 0x88, 0, 0},
7868 {0x83, 0x6, 0x6, 0, 0},
7869 {0x84, 0x3, 0x3, 1, 1},
7870 {0x85, 0xa, 0xa, 0, 0},
7871 {0x86, 0x3, 0x3, 1, 1},
7872 {0x87, 0x2a, 0x2a, 0, 0},
7873 {0x88, 0xa4, 0xa4, 0, 0},
7874 {0x89, 0x18, 0x18, 0, 0},
7875 {0x8A, 0x28, 0x28, 0, 0},
7877 {0x8C, 0x4a, 0x4a, 0, 0},
7879 {0x8E, 0xf8, 0xf8, 0, 0},
7880 {0x8F, 0x88, 0x88, 0, 0},
7881 {0x90, 0x88, 0x88, 0, 0},
7882 {0x91, 0x88, 0x8, 1, 1},
7883 {0x92, 0x88, 0x88, 0, 0},
7885 {0x94, 0x1, 0x1, 1, 1},
7886 {0x95, 0x8a, 0x8a, 0, 0},
7887 {0x96, 0x8, 0x8, 0, 0},
7888 {0x97, 0x83, 0x83, 0, 0},
7889 {0x98, 0x6, 0x6, 0, 0},
7890 {0x99, 0xa0, 0xa0, 0, 0},
7891 {0x9A, 0xa, 0xa, 0, 0},
7892 {0x9B, 0x87, 0x87, 1, 1},
7893 {0x9C, 0x2a, 0x2a, 0, 0},
7894 {0x9D, 0x2a, 0x2a, 0, 0},
7895 {0x9E, 0x2a, 0x2a, 0, 0},
7896 {0x9F, 0x2a, 0x2a, 0, 0},
7897 {0xA0, 0x18, 0x18, 0, 0},
7898 {0xA1, 0x6a, 0x6a, 1, 1},
7899 {0xA2, 0xab, 0xab, 1, 1},
7900 {0xA3, 0x13, 0x13, 1, 1},
7901 {0xA4, 0xc1, 0xc1, 1, 1},
7902 {0xA5, 0xaa, 0xaa, 1, 1},
7903 {0xA6, 0x87, 0x87, 1, 1},
7905 {0xA8, 0x6, 0x6, 0, 0},
7906 {0xA9, 0x7, 0x7, 0, 0},
7907 {0xAA, 0x7, 0x7, 0, 0},
7908 {0xAB, 0x15, 0x15, 0, 0},
7909 {0xAC, 0x55, 0x55, 0, 0},
7910 {0xAD, 0x97, 0x97, 1, 1},
7911 {0xAE, 0x8, 0x8, 0, 0},
7912 {0xAF, 0x14, 0x14, 1, 1},
7913 {0xB0, 0x33, 0x33, 0, 0},
7914 {0xB1, 0x88, 0x88, 0, 0},
7915 {0xB2, 0x6, 0x6, 0, 0},
7916 {0xB3, 0x3, 0x3, 1, 1},
7917 {0xB4, 0xa, 0xa, 0, 0},
7918 {0xB5, 0x3, 0x3, 1, 1},
7919 {0xB6, 0x2a, 0x2a, 0, 0},
7920 {0xB7, 0xa4, 0xa4, 0, 0},
7921 {0xB8, 0x18, 0x18, 0, 0},
7922 {0xB9, 0x28, 0x28, 0, 0},
7924 {0xBB, 0x4a, 0x4a, 0, 0},
7926 {0xBD, 0x71, 0x71, 0, 0},
7927 {0xBE, 0x72, 0x72, 0, 0},
7928 {0xBF, 0x73, 0x73, 0, 0},
7929 {0xC0, 0x74, 0x74, 0, 0},
7930 {0xC1, 0x75, 0x75, 0, 0},
7931 {0xC2, 0x76, 0x76, 0, 0},
7932 {0xC3, 0x77, 0x77, 0, 0},
7933 {0xC4, 0x78, 0x78, 0, 0},
7934 {0xC5, 0x79, 0x79, 0, 0},
7935 {0xC6, 0x7a, 0x7a, 0, 0},
7943 {0xCE, 0x6, 0x6, 0, 0},
7946 {0xD1, 0x18, 0x18, 0, 0},
7947 {0xD2, 0x88, 0x88, 0, 0},
7955 {0xDA, 0x6, 0x6, 0, 0},
7958 {0xDD, 0x18, 0x18, 0, 0},
7959 {0xDE, 0x88, 0x88, 0, 0},
7964 {0xFFFF, 0, 0, 0, 0},
7967 radio_regs_t regs_SYN_2056[] = {
7975 {0x09, 0x1, 0x1, 0, 0},
8000 {0x22, 0x60, 0x60, 0, 0},
8001 {0x23, 0x6, 0x6, 0, 0},
8002 {0x24, 0xc, 0xc, 0, 0},
8006 {0x28, 0x1, 0x1, 0, 0},
8012 {0x2E, 0xd, 0xd, 0, 0},
8013 {0x2F, 0x1f, 0x1f, 0, 0},
8014 {0x30, 0x15, 0x15, 0, 0},
8015 {0x31, 0xf, 0xf, 0, 0},
8026 {0x3C, 0x13, 0x13, 0, 0},
8027 {0x3D, 0xf, 0xf, 0, 0},
8028 {0x3E, 0x18, 0x18, 0, 0},
8031 {0x41, 0x20, 0x20, 0, 0},
8032 {0x42, 0x20, 0x20, 0, 0},
8034 {0x44, 0x77, 0x77, 0, 0},
8035 {0x45, 0x7, 0x7, 0, 0},
8036 {0x46, 0x1, 0x1, 0, 0},
8037 {0x47, 0x4, 0x4, 0, 0},
8038 {0x48, 0xf, 0xf, 0, 0},
8039 {0x49, 0x30, 0x30, 0, 0},
8040 {0x4A, 0x32, 0x32, 0, 0},
8041 {0x4B, 0xd, 0xd, 0, 0},
8042 {0x4C, 0xd, 0xd, 0, 0},
8043 {0x4D, 0x4, 0x4, 0, 0},
8044 {0x4E, 0x6, 0x6, 0, 0},
8045 {0x4F, 0x1, 0x1, 0, 0},
8046 {0x50, 0x1c, 0x1c, 0, 0},
8047 {0x51, 0x2, 0x2, 0, 0},
8048 {0x52, 0x2, 0x2, 0, 0},
8049 {0x53, 0xf7, 0xf7, 1, 1},
8050 {0x54, 0xb4, 0xb4, 0, 0},
8051 {0x55, 0xd2, 0xd2, 0, 0},
8054 {0x58, 0x4, 0x4, 0, 0},
8055 {0x59, 0x96, 0x96, 0, 0},
8056 {0x5A, 0x3e, 0x3e, 0, 0},
8057 {0x5B, 0x3e, 0x3e, 0, 0},
8058 {0x5C, 0x13, 0x13, 0, 0},
8059 {0x5D, 0x2, 0x2, 0, 0},
8061 {0x5F, 0x7, 0x7, 0, 0},
8062 {0x60, 0x7, 0x7, 1, 1},
8063 {0x61, 0x8, 0x8, 0, 0},
8064 {0x62, 0x3, 0x3, 0, 0},
8070 {0x68, 0x40, 0x40, 0, 0},
8075 {0x6D, 0x1, 0x1, 0, 0},
8078 {0x70, 0x60, 0x60, 0, 0},
8079 {0x71, 0x66, 0x66, 0, 0},
8080 {0x72, 0xc, 0xc, 0, 0},
8081 {0x73, 0x66, 0x66, 0, 0},
8082 {0x74, 0x8f, 0x8f, 1, 1},
8084 {0x76, 0xcc, 0xcc, 0, 0},
8085 {0x77, 0x1, 0x1, 0, 0},
8086 {0x78, 0x66, 0x66, 0, 0},
8087 {0x79, 0x66, 0x66, 0, 0},
8099 {0x85, 0xff, 0xff, 0, 0},
8125 {0x9F, 0x6, 0x6, 0, 0},
8126 {0xA0, 0x66, 0x66, 0, 0},
8127 {0xA1, 0x66, 0x66, 0, 0},
8128 {0xA2, 0x66, 0x66, 0, 0},
8129 {0xA3, 0x66, 0x66, 0, 0},
8130 {0xA4, 0x66, 0x66, 0, 0},
8131 {0xA5, 0x66, 0x66, 0, 0},
8132 {0xA6, 0x66, 0x66, 0, 0},
8133 {0xA7, 0x66, 0x66, 0, 0},
8134 {0xA8, 0x66, 0x66, 0, 0},
8135 {0xA9, 0x66, 0x66, 0, 0},
8136 {0xAA, 0x66, 0x66, 0, 0},
8137 {0xAB, 0x66, 0x66, 0, 0},
8138 {0xAC, 0x66, 0x66, 0, 0},
8139 {0xAD, 0x66, 0x66, 0, 0},
8140 {0xAE, 0x66, 0x66, 0, 0},
8141 {0xAF, 0x66, 0x66, 0, 0},
8142 {0xB0, 0x66, 0x66, 0, 0},
8143 {0xB1, 0x66, 0x66, 0, 0},
8144 {0xB2, 0x66, 0x66, 0, 0},
8145 {0xB3, 0xa, 0xa, 0, 0},
8149 {0xFFFF, 0, 0, 0, 0}
8152 radio_regs_t regs_TX_2056[] = {
8184 {0x21, 0x88, 0x88, 0, 0},
8185 {0x22, 0x88, 0x88, 0, 0},
8186 {0x23, 0x88, 0x88, 0, 0},
8187 {0x24, 0x88, 0x88, 0, 0},
8188 {0x25, 0xc, 0xc, 0, 0},
8190 {0x27, 0x3, 0x3, 0, 0},
8192 {0x29, 0x3, 0x3, 0, 0},
8193 {0x2A, 0x37, 0x37, 0, 0},
8194 {0x2B, 0x3, 0x3, 0, 0},
8197 {0x2E, 0x1, 0x1, 0, 0},
8198 {0x2F, 0x1, 0x1, 0, 0},
8202 {0x33, 0x11, 0x11, 0, 0},
8203 {0x34, 0x11, 0x11, 0, 0},
8206 {0x37, 0x3, 0x3, 0, 0},
8207 {0x38, 0xf, 0xf, 0, 0},
8209 {0x3A, 0x2d, 0x2d, 0, 0},
8211 {0x3C, 0x6e, 0x6e, 0, 0},
8212 {0x3D, 0xf0, 0xf0, 1, 1},
8216 {0x41, 0x3, 0x3, 0, 0},
8217 {0x42, 0x3, 0x3, 0, 0},
8219 {0x44, 0x1e, 0x1e, 0, 0},
8221 {0x46, 0x6e, 0x6e, 0, 0},
8222 {0x47, 0xf0, 0xf0, 1, 1},
8224 {0x49, 0x2, 0x2, 0, 0},
8225 {0x4A, 0xff, 0xff, 1, 1},
8226 {0x4B, 0xc, 0xc, 0, 0},
8228 {0x4D, 0x38, 0x38, 0, 0},
8229 {0x4E, 0x70, 0x70, 1, 1},
8230 {0x4F, 0x2, 0x2, 0, 0},
8231 {0x50, 0x88, 0x88, 0, 0},
8232 {0x51, 0xc, 0xc, 0, 0},
8234 {0x53, 0x8, 0x8, 0, 0},
8235 {0x54, 0x70, 0x70, 1, 1},
8236 {0x55, 0x2, 0x2, 0, 0},
8237 {0x56, 0xff, 0xff, 1, 1},
8239 {0x58, 0x83, 0x83, 0, 0},
8240 {0x59, 0x77, 0x77, 1, 1},
8242 {0x5B, 0x2, 0x2, 0, 0},
8243 {0x5C, 0x88, 0x88, 0, 0},
8245 {0x5E, 0x8, 0x8, 0, 0},
8246 {0x5F, 0x77, 0x77, 1, 1},
8247 {0x60, 0x1, 0x1, 0, 0},
8249 {0x62, 0x7, 0x7, 0, 0},
8251 {0x64, 0x7, 0x7, 0, 0},
8254 {0x67, 0x74, 0x74, 1, 1},
8256 {0x69, 0xa, 0xa, 0, 0},
8264 {0x71, 0x2, 0x2, 0, 0},
8267 {0x74, 0xe, 0xe, 0, 0},
8268 {0x75, 0xe, 0xe, 0, 0},
8269 {0x76, 0xe, 0xe, 0, 0},
8270 {0x77, 0x13, 0x13, 0, 0},
8271 {0x78, 0x13, 0x13, 0, 0},
8272 {0x79, 0x1b, 0x1b, 0, 0},
8273 {0x7A, 0x1b, 0x1b, 0, 0},
8274 {0x7B, 0x55, 0x55, 0, 0},
8275 {0x7C, 0x5b, 0x5b, 0, 0},
8298 {0xFFFF, 0, 0, 0, 0}
8301 radio_regs_t regs_RX_2056[] = {
8332 {0x20, 0x3, 0x3, 0, 0},
8335 {0x23, 0x90, 0x90, 0, 0},
8336 {0x24, 0x55, 0x55, 0, 0},
8337 {0x25, 0x15, 0x15, 0, 0},
8338 {0x26, 0x5, 0x5, 0, 0},
8339 {0x27, 0x15, 0x15, 0, 0},
8340 {0x28, 0x5, 0x5, 0, 0},
8341 {0x29, 0x20, 0x20, 0, 0},
8342 {0x2A, 0x11, 0x11, 0, 0},
8343 {0x2B, 0x90, 0x90, 0, 0},
8345 {0x2D, 0x88, 0x88, 0, 0},
8346 {0x2E, 0x32, 0x32, 0, 0},
8347 {0x2F, 0x77, 0x77, 0, 0},
8348 {0x30, 0x17, 0x17, 1, 1},
8349 {0x31, 0xff, 0xff, 1, 1},
8350 {0x32, 0x20, 0x20, 0, 0},
8352 {0x34, 0x88, 0x88, 0, 0},
8353 {0x35, 0x32, 0x32, 0, 0},
8354 {0x36, 0x77, 0x77, 0, 0},
8355 {0x37, 0x17, 0x17, 1, 1},
8356 {0x38, 0xf0, 0xf0, 1, 1},
8357 {0x39, 0x20, 0x20, 0, 0},
8358 {0x3A, 0x8, 0x8, 0, 0},
8359 {0x3B, 0x99, 0x99, 0, 0},
8361 {0x3D, 0x44, 0x44, 1, 1},
8363 {0x3F, 0x44, 0x44, 0, 0},
8364 {0x40, 0xf, 0xf, 1, 1},
8365 {0x41, 0x6, 0x6, 0, 0},
8366 {0x42, 0x4, 0x4, 0, 0},
8367 {0x43, 0x50, 0x50, 1, 1},
8368 {0x44, 0x8, 0x8, 0, 0},
8369 {0x45, 0x99, 0x99, 0, 0},
8371 {0x47, 0x11, 0x11, 0, 0},
8373 {0x49, 0x44, 0x44, 0, 0},
8374 {0x4A, 0x7, 0x7, 0, 0},
8375 {0x4B, 0x6, 0x6, 0, 0},
8376 {0x4C, 0x4, 0x4, 0, 0},
8379 {0x4F, 0x66, 0x66, 0, 0},
8380 {0x50, 0x66, 0x66, 0, 0},
8381 {0x51, 0x57, 0x57, 0, 0},
8382 {0x52, 0x57, 0x57, 0, 0},
8383 {0x53, 0x44, 0x44, 0, 0},
8386 {0x56, 0x8, 0x8, 0, 0},
8387 {0x57, 0x8, 0x8, 0, 0},
8388 {0x58, 0x7, 0x7, 0, 0},
8389 {0x59, 0x22, 0x22, 0, 0},
8390 {0x5A, 0x22, 0x22, 0, 0},
8391 {0x5B, 0x2, 0x2, 0, 0},
8392 {0x5C, 0x23, 0x23, 0, 0},
8393 {0x5D, 0x7, 0x7, 0, 0},
8394 {0x5E, 0x55, 0x55, 0, 0},
8395 {0x5F, 0x23, 0x23, 0, 0},
8396 {0x60, 0x41, 0x41, 0, 0},
8397 {0x61, 0x1, 0x1, 0, 0},
8398 {0x62, 0xa, 0xa, 0, 0},
8407 {0x6B, 0xc, 0xc, 0, 0},
8414 {0x72, 0x22, 0x22, 0, 0},
8415 {0x73, 0x22, 0x22, 0, 0},
8416 {0x74, 0x2, 0x2, 0, 0},
8417 {0x75, 0xa, 0xa, 0, 0},
8418 {0x76, 0x1, 0x1, 0, 0},
8419 {0x77, 0x22, 0x22, 0, 0},
8420 {0x78, 0x30, 0x30, 0, 0},
8449 {0xFFFF, 0, 0, 0, 0}
8452 radio_regs_t regs_SYN_2056_A1[] = {
8460 {0x09, 0x1, 0x1, 0, 0},
8485 {0x22, 0x60, 0x60, 0, 0},
8486 {0x23, 0x6, 0x6, 0, 0},
8487 {0x24, 0xc, 0xc, 0, 0},
8491 {0x28, 0x1, 0x1, 0, 0},
8497 {0x2E, 0xd, 0xd, 0, 0},
8498 {0x2F, 0x1f, 0x1f, 0, 0},
8499 {0x30, 0x15, 0x15, 0, 0},
8500 {0x31, 0xf, 0xf, 0, 0},
8511 {0x3C, 0x13, 0x13, 0, 0},
8512 {0x3D, 0xf, 0xf, 0, 0},
8513 {0x3E, 0x18, 0x18, 0, 0},
8516 {0x41, 0x20, 0x20, 0, 0},
8517 {0x42, 0x20, 0x20, 0, 0},
8519 {0x44, 0x77, 0x77, 0, 0},
8520 {0x45, 0x7, 0x7, 0, 0},
8521 {0x46, 0x1, 0x1, 0, 0},
8522 {0x47, 0x4, 0x4, 0, 0},
8523 {0x48, 0xf, 0xf, 0, 0},
8524 {0x49, 0x30, 0x30, 0, 0},
8525 {0x4A, 0x32, 0x32, 0, 0},
8526 {0x4B, 0xd, 0xd, 0, 0},
8527 {0x4C, 0xd, 0xd, 0, 0},
8528 {0x4D, 0x4, 0x4, 0, 0},
8529 {0x4E, 0x6, 0x6, 0, 0},
8530 {0x4F, 0x1, 0x1, 0, 0},
8531 {0x50, 0x1c, 0x1c, 0, 0},
8532 {0x51, 0x2, 0x2, 0, 0},
8533 {0x52, 0x2, 0x2, 0, 0},
8534 {0x53, 0xf7, 0xf7, 1, 1},
8535 {0x54, 0xb4, 0xb4, 0, 0},
8536 {0x55, 0xd2, 0xd2, 0, 0},
8539 {0x58, 0x4, 0x4, 0, 0},
8540 {0x59, 0x96, 0x96, 0, 0},
8541 {0x5A, 0x3e, 0x3e, 0, 0},
8542 {0x5B, 0x3e, 0x3e, 0, 0},
8543 {0x5C, 0x13, 0x13, 0, 0},
8544 {0x5D, 0x2, 0x2, 0, 0},
8546 {0x5F, 0x7, 0x7, 0, 0},
8547 {0x60, 0x7, 0x7, 1, 1},
8548 {0x61, 0x8, 0x8, 0, 0},
8549 {0x62, 0x3, 0x3, 0, 0},
8555 {0x68, 0x40, 0x40, 0, 0},
8560 {0x6D, 0x1, 0x1, 0, 0},
8563 {0x70, 0x60, 0x60, 0, 0},
8564 {0x71, 0x66, 0x66, 0, 0},
8565 {0x72, 0xc, 0xc, 0, 0},
8566 {0x73, 0x66, 0x66, 0, 0},
8567 {0x74, 0x8f, 0x8f, 1, 1},
8569 {0x76, 0xcc, 0xcc, 0, 0},
8570 {0x77, 0x1, 0x1, 0, 0},
8571 {0x78, 0x66, 0x66, 0, 0},
8572 {0x79, 0x66, 0x66, 0, 0},
8584 {0x85, 0xff, 0xff, 0, 0},
8610 {0x9F, 0x6, 0x6, 0, 0},
8611 {0xA0, 0x66, 0x66, 0, 0},
8612 {0xA1, 0x66, 0x66, 0, 0},
8613 {0xA2, 0x66, 0x66, 0, 0},
8614 {0xA3, 0x66, 0x66, 0, 0},
8615 {0xA4, 0x66, 0x66, 0, 0},
8616 {0xA5, 0x66, 0x66, 0, 0},
8617 {0xA6, 0x66, 0x66, 0, 0},
8618 {0xA7, 0x66, 0x66, 0, 0},
8619 {0xA8, 0x66, 0x66, 0, 0},
8620 {0xA9, 0x66, 0x66, 0, 0},
8621 {0xAA, 0x66, 0x66, 0, 0},
8622 {0xAB, 0x66, 0x66, 0, 0},
8623 {0xAC, 0x66, 0x66, 0, 0},
8624 {0xAD, 0x66, 0x66, 0, 0},
8625 {0xAE, 0x66, 0x66, 0, 0},
8626 {0xAF, 0x66, 0x66, 0, 0},
8627 {0xB0, 0x66, 0x66, 0, 0},
8628 {0xB1, 0x66, 0x66, 0, 0},
8629 {0xB2, 0x66, 0x66, 0, 0},
8630 {0xB3, 0xa, 0xa, 0, 0},
8634 {0xFFFF, 0, 0, 0, 0}
8637 radio_regs_t regs_TX_2056_A1[] = {
8669 {0x21, 0x88, 0x88, 0, 0},
8670 {0x22, 0x88, 0x88, 0, 0},
8671 {0x23, 0x88, 0x88, 0, 0},
8672 {0x24, 0x88, 0x88, 0, 0},
8673 {0x25, 0xc, 0xc, 0, 0},
8675 {0x27, 0x3, 0x3, 0, 0},
8677 {0x29, 0x3, 0x3, 0, 0},
8678 {0x2A, 0x37, 0x37, 0, 0},
8679 {0x2B, 0x3, 0x3, 0, 0},
8682 {0x2E, 0x1, 0x1, 0, 0},
8683 {0x2F, 0x1, 0x1, 0, 0},
8687 {0x33, 0x11, 0x11, 0, 0},
8688 {0x34, 0x11, 0x11, 0, 0},
8691 {0x37, 0x3, 0x3, 0, 0},
8692 {0x38, 0xf, 0xf, 0, 0},
8694 {0x3A, 0x2d, 0x2d, 0, 0},
8696 {0x3C, 0x6e, 0x6e, 0, 0},
8697 {0x3D, 0xf0, 0xf0, 1, 1},
8701 {0x41, 0x3, 0x3, 0, 0},
8702 {0x42, 0x3, 0x3, 0, 0},
8704 {0x44, 0x1e, 0x1e, 0, 0},
8706 {0x46, 0x6e, 0x6e, 0, 0},
8707 {0x47, 0xf0, 0xf0, 1, 1},
8709 {0x49, 0x2, 0x2, 0, 0},
8710 {0x4A, 0xff, 0xff, 1, 1},
8711 {0x4B, 0xc, 0xc, 0, 0},
8713 {0x4D, 0x38, 0x38, 0, 0},
8714 {0x4E, 0x70, 0x70, 1, 1},
8715 {0x4F, 0x2, 0x2, 0, 0},
8716 {0x50, 0x88, 0x88, 0, 0},
8717 {0x51, 0xc, 0xc, 0, 0},
8719 {0x53, 0x8, 0x8, 0, 0},
8720 {0x54, 0x70, 0x70, 1, 1},
8721 {0x55, 0x2, 0x2, 0, 0},
8722 {0x56, 0xff, 0xff, 1, 1},
8724 {0x58, 0x83, 0x83, 0, 0},
8725 {0x59, 0x77, 0x77, 1, 1},
8727 {0x5B, 0x2, 0x2, 0, 0},
8728 {0x5C, 0x88, 0x88, 0, 0},
8730 {0x5E, 0x8, 0x8, 0, 0},
8731 {0x5F, 0x77, 0x77, 1, 1},
8732 {0x60, 0x1, 0x1, 0, 0},
8734 {0x62, 0x7, 0x7, 0, 0},
8736 {0x64, 0x7, 0x7, 0, 0},
8739 {0x67, 0x72, 0x72, 1, 1},
8741 {0x69, 0xa, 0xa, 0, 0},
8749 {0x71, 0x2, 0x2, 0, 0},
8752 {0x74, 0xe, 0xe, 0, 0},
8753 {0x75, 0xe, 0xe, 0, 0},
8754 {0x76, 0xe, 0xe, 0, 0},
8755 {0x77, 0x13, 0x13, 0, 0},
8756 {0x78, 0x13, 0x13, 0, 0},
8757 {0x79, 0x1b, 0x1b, 0, 0},
8758 {0x7A, 0x1b, 0x1b, 0, 0},
8759 {0x7B, 0x55, 0x55, 0, 0},
8760 {0x7C, 0x5b, 0x5b, 0, 0},
8783 {0xFFFF, 0, 0, 0, 0}
8786 radio_regs_t regs_RX_2056_A1[] = {
8817 {0x20, 0x3, 0x3, 0, 0},
8820 {0x23, 0x90, 0x90, 0, 0},
8821 {0x24, 0x55, 0x55, 0, 0},
8822 {0x25, 0x15, 0x15, 0, 0},
8823 {0x26, 0x5, 0x5, 0, 0},
8824 {0x27, 0x15, 0x15, 0, 0},
8825 {0x28, 0x5, 0x5, 0, 0},
8826 {0x29, 0x20, 0x20, 0, 0},
8827 {0x2A, 0x11, 0x11, 0, 0},
8828 {0x2B, 0x90, 0x90, 0, 0},
8830 {0x2D, 0x88, 0x88, 0, 0},
8831 {0x2E, 0x32, 0x32, 0, 0},
8832 {0x2F, 0x77, 0x77, 0, 0},
8833 {0x30, 0x17, 0x17, 1, 1},
8834 {0x31, 0xff, 0xff, 1, 1},
8835 {0x32, 0x20, 0x20, 0, 0},
8837 {0x34, 0x88, 0x88, 0, 0},
8838 {0x35, 0x32, 0x32, 0, 0},
8839 {0x36, 0x77, 0x77, 0, 0},
8840 {0x37, 0x17, 0x17, 1, 1},
8841 {0x38, 0xf0, 0xf0, 1, 1},
8842 {0x39, 0x20, 0x20, 0, 0},
8843 {0x3A, 0x8, 0x8, 0, 0},
8844 {0x3B, 0x55, 0x55, 1, 1},
8846 {0x3D, 0x44, 0x44, 1, 1},
8848 {0x3F, 0x44, 0x44, 0, 0},
8849 {0x40, 0xf, 0xf, 1, 1},
8850 {0x41, 0x6, 0x6, 0, 0},
8851 {0x42, 0x4, 0x4, 0, 0},
8852 {0x43, 0x50, 0x50, 1, 1},
8853 {0x44, 0x8, 0x8, 0, 0},
8854 {0x45, 0x55, 0x55, 1, 1},
8856 {0x47, 0x11, 0x11, 0, 0},
8858 {0x49, 0x44, 0x44, 0, 0},
8859 {0x4A, 0x7, 0x7, 0, 0},
8860 {0x4B, 0x6, 0x6, 0, 0},
8861 {0x4C, 0x4, 0x4, 0, 0},
8864 {0x4F, 0x26, 0x26, 1, 1},
8865 {0x50, 0x26, 0x26, 1, 1},
8866 {0x51, 0xf, 0xf, 1, 1},
8867 {0x52, 0xf, 0xf, 1, 1},
8868 {0x53, 0x44, 0x44, 0, 0},
8871 {0x56, 0x8, 0x8, 0, 0},
8872 {0x57, 0x8, 0x8, 0, 0},
8873 {0x58, 0x7, 0x7, 0, 0},
8874 {0x59, 0x22, 0x22, 0, 0},
8875 {0x5A, 0x22, 0x22, 0, 0},
8876 {0x5B, 0x2, 0x2, 0, 0},
8877 {0x5C, 0x2f, 0x2f, 1, 1},
8878 {0x5D, 0x7, 0x7, 0, 0},
8879 {0x5E, 0x55, 0x55, 0, 0},
8880 {0x5F, 0x23, 0x23, 0, 0},
8881 {0x60, 0x41, 0x41, 0, 0},
8882 {0x61, 0x1, 0x1, 0, 0},
8883 {0x62, 0xa, 0xa, 0, 0},
8892 {0x6B, 0xc, 0xc, 0, 0},
8899 {0x72, 0x22, 0x22, 0, 0},
8900 {0x73, 0x22, 0x22, 0, 0},
8902 {0x75, 0xa, 0xa, 0, 0},
8903 {0x76, 0x1, 0x1, 0, 0},
8904 {0x77, 0x22, 0x22, 0, 0},
8905 {0x78, 0x30, 0x30, 0, 0},
8934 {0xFFFF, 0, 0, 0, 0}
8937 radio_regs_t regs_SYN_2056_rev5[] = {
8945 {0x09, 0x1, 0x1, 0, 0},
8970 {0x22, 0x60, 0x60, 0, 0},
8971 {0x23, 0x6, 0x6, 0, 0},
8972 {0x24, 0xc, 0xc, 0, 0},
8976 {0x28, 0x1, 0x1, 0, 0},
8983 {0x2F, 0x1f, 0x1f, 0, 0},
8984 {0x30, 0x15, 0x15, 0, 0},
8985 {0x31, 0xf, 0xf, 0, 0},
8996 {0x3C, 0x13, 0x13, 0, 0},
8997 {0x3D, 0xf, 0xf, 0, 0},
8998 {0x3E, 0x18, 0x18, 0, 0},
9001 {0x41, 0x20, 0x20, 0, 0},
9002 {0x42, 0x20, 0x20, 0, 0},
9004 {0x44, 0x77, 0x77, 0, 0},
9005 {0x45, 0x7, 0x7, 0, 0},
9006 {0x46, 0x1, 0x1, 0, 0},
9007 {0x47, 0x4, 0x4, 0, 0},
9008 {0x48, 0xf, 0xf, 0, 0},
9009 {0x49, 0x30, 0x30, 0, 0},
9010 {0x4A, 0x32, 0x32, 0, 0},
9011 {0x4B, 0xd, 0xd, 0, 0},
9012 {0x4C, 0xd, 0xd, 0, 0},
9013 {0x4D, 0x4, 0x4, 0, 0},
9014 {0x4E, 0x6, 0x6, 0, 0},
9015 {0x4F, 0x1, 0x1, 0, 0},
9016 {0x50, 0x1c, 0x1c, 0, 0},
9017 {0x51, 0x2, 0x2, 0, 0},
9018 {0x52, 0x2, 0x2, 0, 0},
9019 {0x53, 0xf7, 0xf7, 1, 1},
9020 {0x54, 0xb4, 0xb4, 0, 0},
9021 {0x55, 0xd2, 0xd2, 0, 0},
9024 {0x58, 0x4, 0x4, 0, 0},
9025 {0x59, 0x96, 0x96, 0, 0},
9026 {0x5A, 0x3e, 0x3e, 0, 0},
9027 {0x5B, 0x3e, 0x3e, 0, 0},
9028 {0x5C, 0x13, 0x13, 0, 0},
9029 {0x5D, 0x2, 0x2, 0, 0},
9031 {0x5F, 0x7, 0x7, 0, 0},
9032 {0x60, 0x7, 0x7, 1, 1},
9033 {0x61, 0x8, 0x8, 0, 0},
9034 {0x62, 0x3, 0x3, 0, 0},
9040 {0x68, 0x40, 0x40, 0, 0},
9045 {0x6D, 0x1, 0x1, 0, 0},
9048 {0x70, 0x60, 0x60, 0, 0},
9049 {0x71, 0x66, 0x66, 0, 0},
9050 {0x72, 0xc, 0xc, 0, 0},
9051 {0x73, 0x66, 0x66, 0, 0},
9052 {0x74, 0x8f, 0x8f, 1, 1},
9054 {0x76, 0xcc, 0xcc, 0, 0},
9055 {0x77, 0x1, 0x1, 0, 0},
9056 {0x78, 0x66, 0x66, 0, 0},
9057 {0x79, 0x66, 0x66, 0, 0},
9069 {0x85, 0xff, 0xff, 0, 0},
9095 {0x9F, 0x6, 0x6, 0, 0},
9096 {0xA0, 0x66, 0x66, 0, 0},
9097 {0xA1, 0x66, 0x66, 0, 0},
9098 {0xA2, 0x66, 0x66, 0, 0},
9099 {0xA3, 0x66, 0x66, 0, 0},
9100 {0xA4, 0x66, 0x66, 0, 0},
9101 {0xA5, 0x66, 0x66, 0, 0},
9102 {0xA6, 0x66, 0x66, 0, 0},
9103 {0xA7, 0x66, 0x66, 0, 0},
9104 {0xA8, 0x66, 0x66, 0, 0},
9105 {0xA9, 0x66, 0x66, 0, 0},
9106 {0xAA, 0x66, 0x66, 0, 0},
9107 {0xAB, 0x66, 0x66, 0, 0},
9108 {0xAC, 0x66, 0x66, 0, 0},
9109 {0xAD, 0x66, 0x66, 0, 0},
9110 {0xAE, 0x66, 0x66, 0, 0},
9111 {0xAF, 0x66, 0x66, 0, 0},
9112 {0xB0, 0x66, 0x66, 0, 0},
9113 {0xB1, 0x66, 0x66, 0, 0},
9114 {0xB2, 0x66, 0x66, 0, 0},
9115 {0xB3, 0xa, 0xa, 0, 0},
9119 {0xFFFF, 0, 0, 0, 0}
9122 radio_regs_t regs_TX_2056_rev5[] = {
9154 {0x21, 0x88, 0x88, 0, 0},
9155 {0x22, 0x88, 0x88, 0, 0},
9156 {0x23, 0x88, 0x88, 0, 0},
9157 {0x24, 0x88, 0x88, 0, 0},
9158 {0x25, 0xc, 0xc, 0, 0},
9160 {0x27, 0x3, 0x3, 0, 0},
9162 {0x29, 0x3, 0x3, 0, 0},
9163 {0x2A, 0x37, 0x37, 0, 0},
9164 {0x2B, 0x3, 0x3, 0, 0},
9167 {0x2E, 0x1, 0x1, 0, 0},
9168 {0x2F, 0x1, 0x1, 0, 0},
9172 {0x33, 0x11, 0x11, 0, 0},
9173 {0x34, 0x11, 0x11, 0, 0},
9176 {0x37, 0x3, 0x3, 0, 0},
9177 {0x38, 0xf, 0xf, 0, 0},
9179 {0x3A, 0x2d, 0x2d, 0, 0},
9181 {0x3C, 0x6e, 0x6e, 0, 0},
9182 {0x3D, 0xf0, 0xf0, 1, 1},
9186 {0x41, 0x3, 0x3, 0, 0},
9187 {0x42, 0x3, 0x3, 0, 0},
9189 {0x44, 0x1e, 0x1e, 0, 0},
9191 {0x46, 0x6e, 0x6e, 0, 0},
9192 {0x47, 0xf0, 0xf0, 1, 1},
9194 {0x49, 0x2, 0x2, 0, 0},
9195 {0x4A, 0xff, 0xff, 1, 1},
9196 {0x4B, 0xc, 0xc, 0, 0},
9198 {0x4D, 0x38, 0x38, 0, 0},
9199 {0x4E, 0x70, 0x70, 1, 1},
9200 {0x4F, 0x2, 0x2, 0, 0},
9201 {0x50, 0x88, 0x88, 0, 0},
9202 {0x51, 0xc, 0xc, 0, 0},
9204 {0x53, 0x8, 0x8, 0, 0},
9205 {0x54, 0x70, 0x70, 1, 1},
9206 {0x55, 0x2, 0x2, 0, 0},
9207 {0x56, 0xff, 0xff, 1, 1},
9209 {0x58, 0x83, 0x83, 0, 0},
9210 {0x59, 0x77, 0x77, 1, 1},
9212 {0x5B, 0x2, 0x2, 0, 0},
9213 {0x5C, 0x88, 0x88, 0, 0},
9215 {0x5E, 0x8, 0x8, 0, 0},
9216 {0x5F, 0x77, 0x77, 1, 1},
9217 {0x60, 0x1, 0x1, 0, 0},
9219 {0x62, 0x7, 0x7, 0, 0},
9221 {0x64, 0x7, 0x7, 0, 0},
9226 {0x69, 0xa, 0xa, 0, 0},
9234 {0x71, 0x2, 0x2, 0, 0},
9237 {0x74, 0xe, 0xe, 0, 0},
9238 {0x75, 0xe, 0xe, 0, 0},
9239 {0x76, 0xe, 0xe, 0, 0},
9240 {0x77, 0x13, 0x13, 0, 0},
9241 {0x78, 0x13, 0x13, 0, 0},
9242 {0x79, 0x1b, 0x1b, 0, 0},
9243 {0x7A, 0x1b, 0x1b, 0, 0},
9244 {0x7B, 0x55, 0x55, 0, 0},
9245 {0x7C, 0x5b, 0x5b, 0, 0},
9268 {0x93, 0x70, 0x70, 0, 0},
9269 {0x94, 0x70, 0x70, 0, 0},
9270 {0x95, 0x71, 0x71, 1, 1},
9271 {0x96, 0x71, 0x71, 1, 1},
9272 {0x97, 0x72, 0x72, 1, 1},
9273 {0x98, 0x73, 0x73, 1, 1},
9274 {0x99, 0x74, 0x74, 1, 1},
9275 {0x9A, 0x75, 0x75, 1, 1},
9276 {0xFFFF, 0, 0, 0, 0}
9279 radio_regs_t regs_RX_2056_rev5[] = {
9310 {0x20, 0x3, 0x3, 0, 0},
9313 {0x23, 0x90, 0x90, 0, 0},
9314 {0x24, 0x55, 0x55, 0, 0},
9315 {0x25, 0x15, 0x15, 0, 0},
9316 {0x26, 0x5, 0x5, 0, 0},
9317 {0x27, 0x15, 0x15, 0, 0},
9318 {0x28, 0x5, 0x5, 0, 0},
9319 {0x29, 0x20, 0x20, 0, 0},
9320 {0x2A, 0x11, 0x11, 0, 0},
9321 {0x2B, 0x90, 0x90, 0, 0},
9323 {0x2D, 0x88, 0x88, 0, 0},
9324 {0x2E, 0x32, 0x32, 0, 0},
9325 {0x2F, 0x77, 0x77, 0, 0},
9326 {0x30, 0x17, 0x17, 1, 1},
9327 {0x31, 0xff, 0xff, 1, 1},
9328 {0x32, 0x20, 0x20, 0, 0},
9330 {0x34, 0x88, 0x88, 0, 0},
9331 {0x35, 0x32, 0x32, 0, 0},
9332 {0x36, 0x77, 0x77, 0, 0},
9333 {0x37, 0x17, 0x17, 1, 1},
9334 {0x38, 0xf0, 0xf0, 1, 1},
9335 {0x39, 0x20, 0x20, 0, 0},
9336 {0x3A, 0x8, 0x8, 0, 0},
9337 {0x3B, 0x55, 0x55, 1, 1},
9339 {0x3D, 0x88, 0x88, 1, 1},
9342 {0x40, 0x7, 0x7, 1, 1},
9343 {0x41, 0x6, 0x6, 0, 0},
9344 {0x42, 0x4, 0x4, 0, 0},
9346 {0x44, 0x8, 0x8, 0, 0},
9347 {0x45, 0x55, 0x55, 1, 1},
9349 {0x47, 0x11, 0x11, 0, 0},
9352 {0x4A, 0x7, 0x7, 0, 0},
9353 {0x4B, 0x6, 0x6, 0, 0},
9354 {0x4C, 0x4, 0x4, 0, 0},
9357 {0x4F, 0x26, 0x26, 1, 1},
9358 {0x50, 0x26, 0x26, 1, 1},
9359 {0x51, 0xf, 0xf, 1, 1},
9360 {0x52, 0xf, 0xf, 1, 1},
9361 {0x53, 0x44, 0x44, 0, 0},
9364 {0x56, 0x8, 0x8, 0, 0},
9365 {0x57, 0x8, 0x8, 0, 0},
9366 {0x58, 0x7, 0x7, 0, 0},
9367 {0x59, 0x22, 0x22, 0, 0},
9368 {0x5A, 0x22, 0x22, 0, 0},
9369 {0x5B, 0x2, 0x2, 0, 0},
9370 {0x5C, 0x4, 0x4, 1, 1},
9371 {0x5D, 0x7, 0x7, 0, 0},
9372 {0x5E, 0x55, 0x55, 0, 0},
9373 {0x5F, 0x23, 0x23, 0, 0},
9374 {0x60, 0x41, 0x41, 0, 0},
9375 {0x61, 0x1, 0x1, 0, 0},
9376 {0x62, 0xa, 0xa, 0, 0},
9385 {0x6B, 0xc, 0xc, 0, 0},
9392 {0x72, 0x22, 0x22, 0, 0},
9393 {0x73, 0x22, 0x22, 0, 0},
9395 {0x75, 0xa, 0xa, 0, 0},
9396 {0x76, 0x1, 0x1, 0, 0},
9397 {0x77, 0x22, 0x22, 0, 0},
9398 {0x78, 0x30, 0x30, 0, 0},
9427 {0xFFFF, 0, 0, 0, 0}
9430 radio_regs_t regs_SYN_2056_rev6[] = {
9438 {0x09, 0x1, 0x1, 0, 0},
9463 {0x22, 0x60, 0x60, 0, 0},
9464 {0x23, 0x6, 0x6, 0, 0},
9465 {0x24, 0xc, 0xc, 0, 0},
9469 {0x28, 0x1, 0x1, 0, 0},
9476 {0x2F, 0x1f, 0x1f, 0, 0},
9477 {0x30, 0x15, 0x15, 0, 0},
9478 {0x31, 0xf, 0xf, 0, 0},
9489 {0x3C, 0x13, 0x13, 0, 0},
9490 {0x3D, 0xf, 0xf, 0, 0},
9491 {0x3E, 0x18, 0x18, 0, 0},
9494 {0x41, 0x20, 0x20, 0, 0},
9495 {0x42, 0x20, 0x20, 0, 0},
9497 {0x44, 0x77, 0x77, 0, 0},
9498 {0x45, 0x7, 0x7, 0, 0},
9499 {0x46, 0x1, 0x1, 0, 0},
9500 {0x47, 0x4, 0x4, 0, 0},
9501 {0x48, 0xf, 0xf, 0, 0},
9502 {0x49, 0x30, 0x30, 0, 0},
9503 {0x4A, 0x32, 0x32, 0, 0},
9504 {0x4B, 0xd, 0xd, 0, 0},
9505 {0x4C, 0xd, 0xd, 0, 0},
9506 {0x4D, 0x4, 0x4, 0, 0},
9507 {0x4E, 0x6, 0x6, 0, 0},
9508 {0x4F, 0x1, 0x1, 0, 0},
9509 {0x50, 0x1c, 0x1c, 0, 0},
9510 {0x51, 0x2, 0x2, 0, 0},
9511 {0x52, 0x2, 0x2, 0, 0},
9512 {0x53, 0xf7, 0xf7, 1, 1},
9513 {0x54, 0xb4, 0xb4, 0, 0},
9514 {0x55, 0xd2, 0xd2, 0, 0},
9517 {0x58, 0x4, 0x4, 0, 0},
9518 {0x59, 0x96, 0x96, 0, 0},
9519 {0x5A, 0x3e, 0x3e, 0, 0},
9520 {0x5B, 0x3e, 0x3e, 0, 0},
9521 {0x5C, 0x13, 0x13, 0, 0},
9522 {0x5D, 0x2, 0x2, 0, 0},
9524 {0x5F, 0x7, 0x7, 0, 0},
9525 {0x60, 0x7, 0x7, 1, 1},
9526 {0x61, 0x8, 0x8, 0, 0},
9527 {0x62, 0x3, 0x3, 0, 0},
9533 {0x68, 0x40, 0x40, 0, 0},
9538 {0x6D, 0x1, 0x1, 0, 0},
9541 {0x70, 0x60, 0x60, 0, 0},
9542 {0x71, 0x66, 0x66, 0, 0},
9543 {0x72, 0xc, 0xc, 0, 0},
9544 {0x73, 0x66, 0x66, 0, 0},
9545 {0x74, 0x8f, 0x8f, 1, 1},
9547 {0x76, 0xcc, 0xcc, 0, 0},
9548 {0x77, 0x1, 0x1, 0, 0},
9549 {0x78, 0x66, 0x66, 0, 0},
9550 {0x79, 0x66, 0x66, 0, 0},
9562 {0x85, 0xff, 0xff, 0, 0},
9588 {0x9F, 0x6, 0x6, 0, 0},
9589 {0xA0, 0x66, 0x66, 0, 0},
9590 {0xA1, 0x66, 0x66, 0, 0},
9591 {0xA2, 0x66, 0x66, 0, 0},
9592 {0xA3, 0x66, 0x66, 0, 0},
9593 {0xA4, 0x66, 0x66, 0, 0},
9594 {0xA5, 0x66, 0x66, 0, 0},
9595 {0xA6, 0x66, 0x66, 0, 0},
9596 {0xA7, 0x66, 0x66, 0, 0},
9597 {0xA8, 0x66, 0x66, 0, 0},
9598 {0xA9, 0x66, 0x66, 0, 0},
9599 {0xAA, 0x66, 0x66, 0, 0},
9600 {0xAB, 0x66, 0x66, 0, 0},
9601 {0xAC, 0x66, 0x66, 0, 0},
9602 {0xAD, 0x66, 0x66, 0, 0},
9603 {0xAE, 0x66, 0x66, 0, 0},
9604 {0xAF, 0x66, 0x66, 0, 0},
9605 {0xB0, 0x66, 0x66, 0, 0},
9606 {0xB1, 0x66, 0x66, 0, 0},
9607 {0xB2, 0x66, 0x66, 0, 0},
9608 {0xB3, 0xa, 0xa, 0, 0},
9612 {0xFFFF, 0, 0, 0, 0}
9615 radio_regs_t regs_TX_2056_rev6[] = {
9647 {0x21, 0x88, 0x88, 0, 0},
9648 {0x22, 0x88, 0x88, 0, 0},
9649 {0x23, 0x88, 0x88, 0, 0},
9650 {0x24, 0x88, 0x88, 0, 0},
9651 {0x25, 0xc, 0xc, 0, 0},
9653 {0x27, 0x3, 0x3, 0, 0},
9655 {0x29, 0x3, 0x3, 0, 0},
9656 {0x2A, 0x37, 0x37, 0, 0},
9657 {0x2B, 0x3, 0x3, 0, 0},
9660 {0x2E, 0x1, 0x1, 0, 0},
9661 {0x2F, 0x1, 0x1, 0, 0},
9665 {0x33, 0x11, 0x11, 0, 0},
9666 {0x34, 0xee, 0xee, 1, 1},
9669 {0x37, 0x3, 0x3, 0, 0},
9670 {0x38, 0x50, 0x50, 1, 1},
9672 {0x3A, 0x50, 0x50, 1, 1},
9674 {0x3C, 0x6e, 0x6e, 0, 0},
9675 {0x3D, 0xf0, 0xf0, 1, 1},
9679 {0x41, 0x3, 0x3, 0, 0},
9680 {0x42, 0x3, 0x3, 0, 0},
9682 {0x44, 0x1e, 0x1e, 0, 0},
9684 {0x46, 0x6e, 0x6e, 0, 0},
9685 {0x47, 0xf0, 0xf0, 1, 1},
9687 {0x49, 0x2, 0x2, 0, 0},
9688 {0x4A, 0xff, 0xff, 1, 1},
9689 {0x4B, 0xc, 0xc, 0, 0},
9691 {0x4D, 0x38, 0x38, 0, 0},
9692 {0x4E, 0x70, 0x70, 1, 1},
9693 {0x4F, 0x2, 0x2, 0, 0},
9694 {0x50, 0x88, 0x88, 0, 0},
9695 {0x51, 0xc, 0xc, 0, 0},
9697 {0x53, 0x8, 0x8, 0, 0},
9698 {0x54, 0x70, 0x70, 1, 1},
9699 {0x55, 0x2, 0x2, 0, 0},
9700 {0x56, 0xff, 0xff, 1, 1},
9702 {0x58, 0x83, 0x83, 0, 0},
9703 {0x59, 0x77, 0x77, 1, 1},
9705 {0x5B, 0x2, 0x2, 0, 0},
9706 {0x5C, 0x88, 0x88, 0, 0},
9708 {0x5E, 0x8, 0x8, 0, 0},
9709 {0x5F, 0x77, 0x77, 1, 1},
9710 {0x60, 0x1, 0x1, 0, 0},
9712 {0x62, 0x7, 0x7, 0, 0},
9714 {0x64, 0x7, 0x7, 0, 0},
9719 {0x69, 0xa, 0xa, 0, 0},
9727 {0x71, 0x2, 0x2, 0, 0},
9730 {0x74, 0xe, 0xe, 0, 0},
9731 {0x75, 0xe, 0xe, 0, 0},
9732 {0x76, 0xe, 0xe, 0, 0},
9733 {0x77, 0x13, 0x13, 0, 0},
9734 {0x78, 0x13, 0x13, 0, 0},
9735 {0x79, 0x1b, 0x1b, 0, 0},
9736 {0x7A, 0x1b, 0x1b, 0, 0},
9737 {0x7B, 0x55, 0x55, 0, 0},
9738 {0x7C, 0x5b, 0x5b, 0, 0},
9739 {0x7D, 0x30, 0x30, 1, 1},
9761 {0x93, 0x70, 0x70, 0, 0},
9762 {0x94, 0x70, 0x70, 0, 0},
9763 {0x95, 0x70, 0x70, 0, 0},
9764 {0x96, 0x70, 0x70, 0, 0},
9765 {0x97, 0x70, 0x70, 0, 0},
9766 {0x98, 0x70, 0x70, 0, 0},
9767 {0x99, 0x70, 0x70, 0, 0},
9768 {0x9A, 0x70, 0x70, 0, 0},
9769 {0xFFFF, 0, 0, 0, 0}
9772 radio_regs_t regs_RX_2056_rev6[] = {
9803 {0x20, 0x3, 0x3, 0, 0},
9806 {0x23, 0x90, 0x90, 0, 0},
9807 {0x24, 0x55, 0x55, 0, 0},
9808 {0x25, 0x15, 0x15, 0, 0},
9809 {0x26, 0x5, 0x5, 0, 0},
9810 {0x27, 0x15, 0x15, 0, 0},
9811 {0x28, 0x5, 0x5, 0, 0},
9812 {0x29, 0x20, 0x20, 0, 0},
9813 {0x2A, 0x11, 0x11, 0, 0},
9814 {0x2B, 0x90, 0x90, 0, 0},
9816 {0x2D, 0x88, 0x88, 0, 0},
9817 {0x2E, 0x32, 0x32, 0, 0},
9818 {0x2F, 0x77, 0x77, 0, 0},
9819 {0x30, 0x17, 0x17, 1, 1},
9820 {0x31, 0xff, 0xff, 1, 1},
9821 {0x32, 0x20, 0x20, 0, 0},
9823 {0x34, 0x88, 0x88, 0, 0},
9824 {0x35, 0x32, 0x32, 0, 0},
9825 {0x36, 0x77, 0x77, 0, 0},
9826 {0x37, 0x17, 0x17, 1, 1},
9827 {0x38, 0xf0, 0xf0, 1, 1},
9828 {0x39, 0x20, 0x20, 0, 0},
9829 {0x3A, 0x8, 0x8, 0, 0},
9830 {0x3B, 0x55, 0x55, 1, 1},
9832 {0x3D, 0x88, 0x88, 1, 1},
9834 {0x3F, 0x44, 0x44, 0, 0},
9835 {0x40, 0x7, 0x7, 1, 1},
9836 {0x41, 0x6, 0x6, 0, 0},
9837 {0x42, 0x4, 0x4, 0, 0},
9839 {0x44, 0x8, 0x8, 0, 0},
9840 {0x45, 0x55, 0x55, 1, 1},
9842 {0x47, 0x11, 0x11, 0, 0},
9844 {0x49, 0x44, 0x44, 0, 0},
9845 {0x4A, 0x7, 0x7, 0, 0},
9846 {0x4B, 0x6, 0x6, 0, 0},
9847 {0x4C, 0x4, 0x4, 0, 0},
9850 {0x4F, 0x26, 0x26, 1, 1},
9851 {0x50, 0x26, 0x26, 1, 1},
9852 {0x51, 0xf, 0xf, 1, 1},
9853 {0x52, 0xf, 0xf, 1, 1},
9854 {0x53, 0x44, 0x44, 0, 0},
9857 {0x56, 0x8, 0x8, 0, 0},
9858 {0x57, 0x8, 0x8, 0, 0},
9859 {0x58, 0x7, 0x7, 0, 0},
9860 {0x59, 0x22, 0x22, 0, 0},
9861 {0x5A, 0x22, 0x22, 0, 0},
9862 {0x5B, 0x2, 0x2, 0, 0},
9863 {0x5C, 0x4, 0x4, 1, 1},
9864 {0x5D, 0x7, 0x7, 0, 0},
9865 {0x5E, 0x55, 0x55, 0, 0},
9866 {0x5F, 0x23, 0x23, 0, 0},
9867 {0x60, 0x41, 0x41, 0, 0},
9868 {0x61, 0x1, 0x1, 0, 0},
9869 {0x62, 0xa, 0xa, 0, 0},
9878 {0x6B, 0xc, 0xc, 0, 0},
9885 {0x72, 0x22, 0x22, 0, 0},
9886 {0x73, 0x22, 0x22, 0, 0},
9888 {0x75, 0xa, 0xa, 0, 0},
9889 {0x76, 0x1, 0x1, 0, 0},
9890 {0x77, 0x22, 0x22, 0, 0},
9891 {0x78, 0x30, 0x30, 0, 0},
9896 {0x7D, 0x5, 0x5, 1, 1},
9920 {0xFFFF, 0, 0, 0, 0}
9923 radio_regs_t regs_SYN_2056_rev7[] = {
9931 {0x09, 0x1, 0x1, 0, 0},
9956 {0x22, 0x60, 0x60, 0, 0},
9957 {0x23, 0x6, 0x6, 0, 0},
9958 {0x24, 0xc, 0xc, 0, 0},
9962 {0x28, 0x1, 0x1, 0, 0},
9969 {0x2F, 0x1f, 0x1f, 0, 0},
9970 {0x30, 0x15, 0x15, 0, 0},
9971 {0x31, 0xf, 0xf, 0, 0},
9982 {0x3C, 0x13, 0x13, 0, 0},
9983 {0x3D, 0xf, 0xf, 0, 0},
9984 {0x3E, 0x18, 0x18, 0, 0},
9987 {0x41, 0x20, 0x20, 0, 0},
9988 {0x42, 0x20, 0x20, 0, 0},
9990 {0x44, 0x77, 0x77, 0, 0},
9991 {0x45, 0x7, 0x7, 0, 0},
9992 {0x46, 0x1, 0x1, 0, 0},
9993 {0x47, 0x4, 0x4, 0, 0},
9994 {0x48, 0xf, 0xf, 0, 0},
9995 {0x49, 0x30, 0x30, 0, 0},
9996 {0x4A, 0x32, 0x32, 0, 0},
9997 {0x4B, 0xd, 0xd, 0, 0},
9998 {0x4C, 0xd, 0xd, 0, 0},
9999 {0x4D, 0x4, 0x4, 0, 0},
10000 {0x4E, 0x6, 0x6, 0, 0},
10001 {0x4F, 0x1, 0x1, 0, 0},
10002 {0x50, 0x1c, 0x1c, 0, 0},
10003 {0x51, 0x2, 0x2, 0, 0},
10004 {0x52, 0x2, 0x2, 0, 0},
10005 {0x53, 0xf7, 0xf7, 1, 1},
10006 {0x54, 0xb4, 0xb4, 0, 0},
10007 {0x55, 0xd2, 0xd2, 0, 0},
10008 {0x56, 0, 0, 0, 0},
10009 {0x57, 0, 0, 0, 0},
10010 {0x58, 0x4, 0x4, 0, 0},
10011 {0x59, 0x96, 0x96, 0, 0},
10012 {0x5A, 0x3e, 0x3e, 0, 0},
10013 {0x5B, 0x3e, 0x3e, 0, 0},
10014 {0x5C, 0x13, 0x13, 0, 0},
10015 {0x5D, 0x2, 0x2, 0, 0},
10016 {0x5E, 0, 0, 0, 0},
10017 {0x5F, 0x7, 0x7, 0, 0},
10018 {0x60, 0x7, 0x7, 1, 1},
10019 {0x61, 0x8, 0x8, 0, 0},
10020 {0x62, 0x3, 0x3, 0, 0},
10021 {0x63, 0, 0, 0, 0},
10022 {0x64, 0, 0, 0, 0},
10023 {0x65, 0, 0, 0, 0},
10024 {0x66, 0, 0, 0, 0},
10025 {0x67, 0, 0, 0, 0},
10026 {0x68, 0x40, 0x40, 0, 0},
10027 {0x69, 0, 0, 0, 0},
10028 {0x6A, 0, 0, 0, 0},
10029 {0x6B, 0, 0, 0, 0},
10030 {0x6C, 0, 0, 0, 0},
10031 {0x6D, 0x1, 0x1, 0, 0},
10032 {0x6E, 0, 0, 0, 0},
10033 {0x6F, 0, 0, 0, 0},
10034 {0x70, 0x60, 0x60, 0, 0},
10035 {0x71, 0x66, 0x66, 0, 0},
10036 {0x72, 0xc, 0xc, 0, 0},
10037 {0x73, 0x66, 0x66, 0, 0},
10038 {0x74, 0x8f, 0x8f, 1, 1},
10039 {0x75, 0, 0, 0, 0},
10040 {0x76, 0xcc, 0xcc, 0, 0},
10041 {0x77, 0x1, 0x1, 0, 0},
10042 {0x78, 0x66, 0x66, 0, 0},
10043 {0x79, 0x66, 0x66, 0, 0},
10044 {0x7A, 0, 0, 0, 0},
10045 {0x7B, 0, 0, 0, 0},
10046 {0x7C, 0, 0, 0, 0},
10047 {0x7D, 0, 0, 0, 0},
10048 {0x7E, 0, 0, 0, 0},
10049 {0x7F, 0, 0, 0, 0},
10050 {0x80, 0, 0, 0, 0},
10051 {0x81, 0, 0, 0, 0},
10052 {0x82, 0, 0, 0, 0},
10053 {0x83, 0, 0, 0, 0},
10054 {0x84, 0, 0, 0, 0},
10055 {0x85, 0xff, 0xff, 0, 0},
10056 {0x86, 0, 0, 0, 0},
10057 {0x87, 0, 0, 0, 0},
10058 {0x88, 0, 0, 0, 0},
10059 {0x89, 0, 0, 0, 0},
10060 {0x8A, 0, 0, 0, 0},
10061 {0x8B, 0, 0, 0, 0},
10062 {0x8C, 0, 0, 0, 0},
10063 {0x8D, 0, 0, 0, 0},
10064 {0x8E, 0, 0, 0, 0},
10065 {0x8F, 0, 0, 0, 0},
10066 {0x90, 0, 0, 0, 0},
10067 {0x91, 0, 0, 0, 0},
10068 {0x92, 0, 0, 0, 0},
10069 {0x93, 0, 0, 0, 0},
10070 {0x94, 0, 0, 0, 0},
10071 {0x95, 0, 0, 0, 0},
10072 {0x96, 0, 0, 0, 0},
10073 {0x97, 0, 0, 0, 0},
10074 {0x98, 0, 0, 0, 0},
10075 {0x99, 0, 0, 0, 0},
10076 {0x9A, 0, 0, 0, 0},
10077 {0x9B, 0, 0, 0, 0},
10078 {0x9C, 0, 0, 0, 0},
10079 {0x9D, 0, 0, 0, 0},
10080 {0x9E, 0, 0, 0, 0},
10081 {0x9F, 0x6, 0x6, 0, 0},
10082 {0xA0, 0x66, 0x66, 0, 0},
10083 {0xA1, 0x66, 0x66, 0, 0},
10084 {0xA2, 0x66, 0x66, 0, 0},
10085 {0xA3, 0x66, 0x66, 0, 0},
10086 {0xA4, 0x66, 0x66, 0, 0},
10087 {0xA5, 0x66, 0x66, 0, 0},
10088 {0xA6, 0x66, 0x66, 0, 0},
10089 {0xA7, 0x66, 0x66, 0, 0},
10090 {0xA8, 0x66, 0x66, 0, 0},
10091 {0xA9, 0x66, 0x66, 0, 0},
10092 {0xAA, 0x66, 0x66, 0, 0},
10093 {0xAB, 0x66, 0x66, 0, 0},
10094 {0xAC, 0x66, 0x66, 0, 0},
10095 {0xAD, 0x66, 0x66, 0, 0},
10096 {0xAE, 0x66, 0x66, 0, 0},
10097 {0xAF, 0x66, 0x66, 0, 0},
10098 {0xB0, 0x66, 0x66, 0, 0},
10099 {0xB1, 0x66, 0x66, 0, 0},
10100 {0xB2, 0x66, 0x66, 0, 0},
10101 {0xB3, 0xa, 0xa, 0, 0},
10102 {0xB4, 0, 0, 0, 0},
10103 {0xB5, 0, 0, 0, 0},
10104 {0xB6, 0, 0, 0, 0},
10105 {0xFFFF, 0, 0, 0, 0},
10108 radio_regs_t regs_TX_2056_rev7[] = {
10109 {0x02, 0, 0, 0, 0},
10110 {0x03, 0, 0, 0, 0},
10111 {0x04, 0, 0, 0, 0},
10112 {0x05, 0, 0, 0, 0},
10113 {0x06, 0, 0, 0, 0},
10114 {0x07, 0, 0, 0, 0},
10115 {0x08, 0, 0, 0, 0},
10116 {0x09, 0, 0, 0, 0},
10117 {0x0A, 0, 0, 0, 0},
10118 {0x0B, 0, 0, 0, 0},
10119 {0x0C, 0, 0, 0, 0},
10120 {0x0D, 0, 0, 0, 0},
10121 {0x0E, 0, 0, 0, 0},
10122 {0x0F, 0, 0, 0, 0},
10123 {0x10, 0, 0, 0, 0},
10124 {0x11, 0, 0, 0, 0},
10125 {0x12, 0, 0, 0, 0},
10126 {0x13, 0, 0, 0, 0},
10127 {0x14, 0, 0, 0, 0},
10128 {0x15, 0, 0, 0, 0},
10129 {0x16, 0, 0, 0, 0},
10130 {0x17, 0, 0, 0, 0},
10131 {0x18, 0, 0, 0, 0},
10132 {0x19, 0, 0, 0, 0},
10133 {0x1A, 0, 0, 0, 0},
10134 {0x1B, 0, 0, 0, 0},
10135 {0x1C, 0, 0, 0, 0},
10136 {0x1D, 0, 0, 0, 0},
10137 {0x1E, 0, 0, 0, 0},
10138 {0x1F, 0, 0, 0, 0},
10139 {0x20, 0, 0, 0, 0},
10140 {0x21, 0x88, 0x88, 0, 0},
10141 {0x22, 0x88, 0x88, 0, 0},
10142 {0x23, 0x88, 0x88, 0, 0},
10143 {0x24, 0x88, 0x88, 0, 0},
10144 {0x25, 0xc, 0xc, 0, 0},
10145 {0x26, 0, 0, 0, 0},
10146 {0x27, 0x3, 0x3, 0, 0},
10147 {0x28, 0, 0, 0, 0},
10148 {0x29, 0x3, 0x3, 0, 0},
10149 {0x2A, 0x37, 0x37, 0, 0},
10150 {0x2B, 0x3, 0x3, 0, 0},
10151 {0x2C, 0, 0, 0, 0},
10152 {0x2D, 0, 0, 0, 0},
10153 {0x2E, 0x1, 0x1, 0, 0},
10154 {0x2F, 0x1, 0x1, 0, 0},
10155 {0x30, 0, 0, 0, 0},
10156 {0x31, 0, 0, 0, 0},
10157 {0x32, 0, 0, 0, 0},
10158 {0x33, 0x11, 0x11, 0, 0},
10159 {0x34, 0xee, 0xee, 1, 1},
10160 {0x35, 0, 0, 0, 0},
10161 {0x36, 0, 0, 0, 0},
10162 {0x37, 0x3, 0x3, 0, 0},
10163 {0x38, 0x50, 0x50, 1, 1},
10164 {0x39, 0, 0, 0, 0},
10165 {0x3A, 0x50, 0x50, 1, 1},
10166 {0x3B, 0, 0, 0, 0},
10167 {0x3C, 0x6e, 0x6e, 0, 0},
10168 {0x3D, 0xf0, 0xf0, 1, 1},
10169 {0x3E, 0, 0, 0, 0},
10170 {0x3F, 0, 0, 0, 0},
10171 {0x40, 0, 0, 0, 0},
10172 {0x41, 0x3, 0x3, 0, 0},
10173 {0x42, 0x3, 0x3, 0, 0},
10174 {0x43, 0, 0, 0, 0},
10175 {0x44, 0x1e, 0x1e, 0, 0},
10176 {0x45, 0, 0, 0, 0},
10177 {0x46, 0x6e, 0x6e, 0, 0},
10178 {0x47, 0xf0, 0xf0, 1, 1},
10179 {0x48, 0, 0, 0, 0},
10180 {0x49, 0x2, 0x2, 0, 0},
10181 {0x4A, 0xff, 0xff, 1, 1},
10182 {0x4B, 0xc, 0xc, 0, 0},
10183 {0x4C, 0, 0, 0, 0},
10184 {0x4D, 0x38, 0x38, 0, 0},
10185 {0x4E, 0x70, 0x70, 1, 1},
10186 {0x4F, 0x2, 0x2, 0, 0},
10187 {0x50, 0x88, 0x88, 0, 0},
10188 {0x51, 0xc, 0xc, 0, 0},
10189 {0x52, 0, 0, 0, 0},
10190 {0x53, 0x8, 0x8, 0, 0},
10191 {0x54, 0x70, 0x70, 1, 1},
10192 {0x55, 0x2, 0x2, 0, 0},
10193 {0x56, 0xff, 0xff, 1, 1},
10194 {0x57, 0, 0, 0, 0},
10195 {0x58, 0x83, 0x83, 0, 0},
10196 {0x59, 0x77, 0x77, 1, 1},
10197 {0x5A, 0, 0, 0, 0},
10198 {0x5B, 0x2, 0x2, 0, 0},
10199 {0x5C, 0x88, 0x88, 0, 0},
10200 {0x5D, 0, 0, 0, 0},
10201 {0x5E, 0x8, 0x8, 0, 0},
10202 {0x5F, 0x77, 0x77, 1, 1},
10203 {0x60, 0x1, 0x1, 0, 0},
10204 {0x61, 0, 0, 0, 0},
10205 {0x62, 0x7, 0x7, 0, 0},
10206 {0x63, 0, 0, 0, 0},
10207 {0x64, 0x7, 0x7, 0, 0},
10208 {0x65, 0, 0, 0, 0},
10209 {0x66, 0, 0, 0, 0},
10210 {0x67, 0, 0, 1, 1},
10211 {0x68, 0, 0, 0, 0},
10212 {0x69, 0xa, 0xa, 0, 0},
10213 {0x6A, 0, 0, 0, 0},
10214 {0x6B, 0, 0, 0, 0},
10215 {0x6C, 0, 0, 0, 0},
10216 {0x6D, 0, 0, 0, 0},
10217 {0x6E, 0, 0, 0, 0},
10218 {0x6F, 0, 0, 0, 0},
10219 {0x70, 0, 0, 0, 0},
10220 {0x71, 0x2, 0x2, 0, 0},
10221 {0x72, 0, 0, 0, 0},
10222 {0x73, 0, 0, 0, 0},
10223 {0x74, 0xe, 0xe, 0, 0},
10224 {0x75, 0xe, 0xe, 0, 0},
10225 {0x76, 0xe, 0xe, 0, 0},
10226 {0x77, 0x13, 0x13, 0, 0},
10227 {0x78, 0x13, 0x13, 0, 0},
10228 {0x79, 0x1b, 0x1b, 0, 0},
10229 {0x7A, 0x1b, 0x1b, 0, 0},
10230 {0x7B, 0x55, 0x55, 0, 0},
10231 {0x7C, 0x5b, 0x5b, 0, 0},
10232 {0x7D, 0x30, 0x30, 1, 1},
10233 {0x7E, 0, 0, 0, 0},
10234 {0x7F, 0, 0, 0, 0},
10235 {0x80, 0, 0, 0, 0},
10236 {0x81, 0, 0, 0, 0},
10237 {0x82, 0, 0, 0, 0},
10238 {0x83, 0, 0, 0, 0},
10239 {0x84, 0, 0, 0, 0},
10240 {0x85, 0, 0, 0, 0},
10241 {0x86, 0, 0, 0, 0},
10242 {0x87, 0, 0, 0, 0},
10243 {0x88, 0, 0, 0, 0},
10244 {0x89, 0, 0, 0, 0},
10245 {0x8A, 0, 0, 0, 0},
10246 {0x8B, 0, 0, 0, 0},
10247 {0x8C, 0, 0, 0, 0},
10248 {0x8D, 0, 0, 0, 0},
10249 {0x8E, 0, 0, 0, 0},
10250 {0x8F, 0, 0, 0, 0},
10251 {0x90, 0, 0, 0, 0},
10252 {0x91, 0, 0, 0, 0},
10253 {0x92, 0, 0, 0, 0},
10254 {0x93, 0x70, 0x70, 0, 0},
10255 {0x94, 0x70, 0x70, 0, 0},
10256 {0x95, 0x71, 0x71, 1, 1},
10257 {0x96, 0x71, 0x71, 1, 1},
10258 {0x97, 0x72, 0x72, 1, 1},
10259 {0x98, 0x73, 0x73, 1, 1},
10260 {0x99, 0x74, 0x74, 1, 1},
10261 {0x9A, 0x75, 0x75, 1, 1},
10262 {0xFFFF, 0, 0, 0, 0},
10265 radio_regs_t regs_RX_2056_rev7[] = {
10266 {0x02, 0, 0, 0, 0},
10267 {0x03, 0, 0, 0, 0},
10268 {0x04, 0, 0, 0, 0},
10269 {0x05, 0, 0, 0, 0},
10270 {0x06, 0, 0, 0, 0},
10271 {0x07, 0, 0, 0, 0},
10272 {0x08, 0, 0, 0, 0},
10273 {0x09, 0, 0, 0, 0},
10274 {0x0A, 0, 0, 0, 0},
10275 {0x0B, 0, 0, 0, 0},
10276 {0x0C, 0, 0, 0, 0},
10277 {0x0D, 0, 0, 0, 0},
10278 {0x0E, 0, 0, 0, 0},
10279 {0x0F, 0, 0, 0, 0},
10280 {0x10, 0, 0, 0, 0},
10281 {0x11, 0, 0, 0, 0},
10282 {0x12, 0, 0, 0, 0},
10283 {0x13, 0, 0, 0, 0},
10284 {0x14, 0, 0, 0, 0},
10285 {0x15, 0, 0, 0, 0},
10286 {0x16, 0, 0, 0, 0},
10287 {0x17, 0, 0, 0, 0},
10288 {0x18, 0, 0, 0, 0},
10289 {0x19, 0, 0, 0, 0},
10290 {0x1A, 0, 0, 0, 0},
10291 {0x1B, 0, 0, 0, 0},
10292 {0x1C, 0, 0, 0, 0},
10293 {0x1D, 0, 0, 0, 0},
10294 {0x1E, 0, 0, 0, 0},
10295 {0x1F, 0, 0, 0, 0},
10296 {0x20, 0x3, 0x3, 0, 0},
10297 {0x21, 0, 0, 0, 0},
10298 {0x22, 0, 0, 0, 0},
10299 {0x23, 0x90, 0x90, 0, 0},
10300 {0x24, 0x55, 0x55, 0, 0},
10301 {0x25, 0x15, 0x15, 0, 0},
10302 {0x26, 0x5, 0x5, 0, 0},
10303 {0x27, 0x15, 0x15, 0, 0},
10304 {0x28, 0x5, 0x5, 0, 0},
10305 {0x29, 0x20, 0x20, 0, 0},
10306 {0x2A, 0x11, 0x11, 0, 0},
10307 {0x2B, 0x90, 0x90, 0, 0},
10308 {0x2C, 0, 0, 0, 0},
10309 {0x2D, 0x88, 0x88, 0, 0},
10310 {0x2E, 0x32, 0x32, 0, 0},
10311 {0x2F, 0x77, 0x77, 0, 0},
10312 {0x30, 0x17, 0x17, 1, 1},
10313 {0x31, 0xff, 0xff, 1, 1},
10314 {0x32, 0x20, 0x20, 0, 0},
10315 {0x33, 0, 0, 0, 0},
10316 {0x34, 0x88, 0x88, 0, 0},
10317 {0x35, 0x32, 0x32, 0, 0},
10318 {0x36, 0x77, 0x77, 0, 0},
10319 {0x37, 0x17, 0x17, 1, 1},
10320 {0x38, 0xf0, 0xf0, 1, 1},
10321 {0x39, 0x20, 0x20, 0, 0},
10322 {0x3A, 0x8, 0x8, 0, 0},
10323 {0x3B, 0x55, 0x55, 1, 1},
10324 {0x3C, 0, 0, 0, 0},
10325 {0x3D, 0x88, 0x88, 1, 1},
10326 {0x3E, 0, 0, 0, 0},
10327 {0x3F, 0, 0, 1, 1},
10328 {0x40, 0x7, 0x7, 1, 1},
10329 {0x41, 0x6, 0x6, 0, 0},
10330 {0x42, 0x4, 0x4, 0, 0},
10331 {0x43, 0, 0, 0, 0},
10332 {0x44, 0x8, 0x8, 0, 0},
10333 {0x45, 0x55, 0x55, 1, 1},
10334 {0x46, 0, 0, 0, 0},
10335 {0x47, 0x11, 0x11, 0, 0},
10336 {0x48, 0, 0, 0, 0},
10337 {0x49, 0, 0, 1, 1},
10338 {0x4A, 0x7, 0x7, 0, 0},
10339 {0x4B, 0x6, 0x6, 0, 0},
10340 {0x4C, 0x4, 0x4, 0, 0},
10341 {0x4D, 0, 0, 0, 0},
10342 {0x4E, 0, 0, 0, 0},
10343 {0x4F, 0x26, 0x26, 1, 1},
10344 {0x50, 0x26, 0x26, 1, 1},
10345 {0x51, 0xf, 0xf, 1, 1},
10346 {0x52, 0xf, 0xf, 1, 1},
10347 {0x53, 0x44, 0x44, 0, 0},
10348 {0x54, 0, 0, 0, 0},
10349 {0x55, 0, 0, 0, 0},
10350 {0x56, 0x8, 0x8, 0, 0},
10351 {0x57, 0x8, 0x8, 0, 0},
10352 {0x58, 0x7, 0x7, 0, 0},
10353 {0x59, 0x22, 0x22, 0, 0},
10354 {0x5A, 0x22, 0x22, 0, 0},
10355 {0x5B, 0x2, 0x2, 0, 0},
10356 {0x5C, 0x4, 0x4, 1, 1},
10357 {0x5D, 0x7, 0x7, 0, 0},
10358 {0x5E, 0x55, 0x55, 0, 0},
10359 {0x5F, 0x23, 0x23, 0, 0},
10360 {0x60, 0x41, 0x41, 0, 0},
10361 {0x61, 0x1, 0x1, 0, 0},
10362 {0x62, 0xa, 0xa, 0, 0},
10363 {0x63, 0, 0, 0, 0},
10364 {0x64, 0, 0, 0, 0},
10365 {0x65, 0, 0, 0, 0},
10366 {0x66, 0, 0, 0, 0},
10367 {0x67, 0, 0, 0, 0},
10368 {0x68, 0, 0, 0, 0},
10369 {0x69, 0, 0, 0, 0},
10370 {0x6A, 0, 0, 0, 0},
10371 {0x6B, 0xc, 0xc, 0, 0},
10372 {0x6C, 0, 0, 0, 0},
10373 {0x6D, 0, 0, 0, 0},
10374 {0x6E, 0, 0, 0, 0},
10375 {0x6F, 0, 0, 0, 0},
10376 {0x70, 0, 0, 0, 0},
10377 {0x71, 0, 0, 0, 0},
10378 {0x72, 0x22, 0x22, 0, 0},
10379 {0x73, 0x22, 0x22, 0, 0},
10380 {0x74, 0, 0, 1, 1},
10381 {0x75, 0xa, 0xa, 0, 0},
10382 {0x76, 0x1, 0x1, 0, 0},
10383 {0x77, 0x22, 0x22, 0, 0},
10384 {0x78, 0x30, 0x30, 0, 0},
10385 {0x79, 0, 0, 0, 0},
10386 {0x7A, 0, 0, 0, 0},
10387 {0x7B, 0, 0, 0, 0},
10388 {0x7C, 0, 0, 0, 0},
10389 {0x7D, 0, 0, 0, 0},
10390 {0x7E, 0, 0, 0, 0},
10391 {0x7F, 0, 0, 0, 0},
10392 {0x80, 0, 0, 0, 0},
10393 {0x81, 0, 0, 0, 0},
10394 {0x82, 0, 0, 0, 0},
10395 {0x83, 0, 0, 0, 0},
10396 {0x84, 0, 0, 0, 0},
10397 {0x85, 0, 0, 0, 0},
10398 {0x86, 0, 0, 0, 0},
10399 {0x87, 0, 0, 0, 0},
10400 {0x88, 0, 0, 0, 0},
10401 {0x89, 0, 0, 0, 0},
10402 {0x8A, 0, 0, 0, 0},
10403 {0x8B, 0, 0, 0, 0},
10404 {0x8C, 0, 0, 0, 0},
10405 {0x8D, 0, 0, 0, 0},
10406 {0x8E, 0, 0, 0, 0},
10407 {0x8F, 0, 0, 0, 0},
10408 {0x90, 0, 0, 0, 0},
10409 {0x91, 0, 0, 0, 0},
10410 {0x92, 0, 0, 0, 0},
10411 {0x93, 0, 0, 0, 0},
10412 {0x94, 0, 0, 0, 0},
10413 {0xFFFF, 0, 0, 0, 0},
10416 radio_regs_t regs_SYN_2056_rev8[] = {
10417 {0x02, 0, 0, 0, 0},
10418 {0x03, 0, 0, 0, 0},
10419 {0x04, 0, 0, 0, 0},
10420 {0x05, 0, 0, 0, 0},
10421 {0x06, 0, 0, 0, 0},
10422 {0x07, 0, 0, 0, 0},
10423 {0x08, 0, 0, 0, 0},
10424 {0x09, 0x1, 0x1, 0, 0},
10425 {0x0A, 0, 0, 0, 0},
10426 {0x0B, 0, 0, 0, 0},
10427 {0x0C, 0, 0, 0, 0},
10428 {0x0D, 0, 0, 0, 0},
10429 {0x0E, 0, 0, 0, 0},
10430 {0x0F, 0, 0, 0, 0},
10431 {0x10, 0, 0, 0, 0},
10432 {0x11, 0, 0, 0, 0},
10433 {0x12, 0, 0, 0, 0},
10434 {0x13, 0, 0, 0, 0},
10435 {0x14, 0, 0, 0, 0},
10436 {0x15, 0, 0, 0, 0},
10437 {0x16, 0, 0, 0, 0},
10438 {0x17, 0, 0, 0, 0},
10439 {0x18, 0, 0, 0, 0},
10440 {0x19, 0, 0, 0, 0},
10441 {0x1A, 0, 0, 0, 0},
10442 {0x1B, 0, 0, 0, 0},
10443 {0x1C, 0, 0, 0, 0},
10444 {0x1D, 0, 0, 0, 0},
10445 {0x1E, 0, 0, 0, 0},
10446 {0x1F, 0, 0, 0, 0},
10447 {0x20, 0, 0, 0, 0},
10448 {0x21, 0, 0, 0, 0},
10449 {0x22, 0x60, 0x60, 0, 0},
10450 {0x23, 0x6, 0x6, 0, 0},
10451 {0x24, 0xc, 0xc, 0, 0},
10452 {0x25, 0, 0, 0, 0},
10453 {0x26, 0, 0, 0, 0},
10454 {0x27, 0, 0, 0, 0},
10455 {0x28, 0x1, 0x1, 0, 0},
10456 {0x29, 0, 0, 0, 0},
10457 {0x2A, 0, 0, 0, 0},
10458 {0x2B, 0, 0, 0, 0},
10459 {0x2C, 0, 0, 0, 0},
10460 {0x2D, 0, 0, 0, 0},
10461 {0x2E, 0, 0, 0, 0},
10462 {0x2F, 0x1f, 0x1f, 0, 0},
10463 {0x30, 0x15, 0x15, 0, 0},
10464 {0x31, 0xf, 0xf, 0, 0},
10465 {0x32, 0, 0, 0, 0},
10466 {0x33, 0, 0, 0, 0},
10467 {0x34, 0, 0, 0, 0},
10468 {0x35, 0, 0, 0, 0},
10469 {0x36, 0, 0, 0, 0},
10470 {0x37, 0, 0, 0, 0},
10471 {0x38, 0, 0, 0, 0},
10472 {0x39, 0, 0, 0, 0},
10473 {0x3A, 0, 0, 0, 0},
10474 {0x3B, 0, 0, 0, 0},
10475 {0x3C, 0x13, 0x13, 0, 0},
10476 {0x3D, 0xf, 0xf, 0, 0},
10477 {0x3E, 0x18, 0x18, 0, 0},
10478 {0x3F, 0, 0, 0, 0},
10479 {0x40, 0, 0, 0, 0},
10480 {0x41, 0x20, 0x20, 0, 0},
10481 {0x42, 0x20, 0x20, 0, 0},
10482 {0x43, 0, 0, 0, 0},
10483 {0x44, 0x77, 0x77, 0, 0},
10484 {0x45, 0x7, 0x7, 0, 0},
10485 {0x46, 0x1, 0x1, 0, 0},
10486 {0x47, 0x4, 0x4, 0, 0},
10487 {0x48, 0xf, 0xf, 0, 0},
10488 {0x49, 0x30, 0x30, 0, 0},
10489 {0x4A, 0x32, 0x32, 0, 0},
10490 {0x4B, 0xd, 0xd, 0, 0},
10491 {0x4C, 0xd, 0xd, 0, 0},
10492 {0x4D, 0x4, 0x4, 0, 0},
10493 {0x4E, 0x6, 0x6, 0, 0},
10494 {0x4F, 0x1, 0x1, 0, 0},
10495 {0x50, 0x1c, 0x1c, 0, 0},
10496 {0x51, 0x2, 0x2, 0, 0},
10497 {0x52, 0x2, 0x2, 0, 0},
10498 {0x53, 0xf7, 0xf7, 1, 1},
10499 {0x54, 0xb4, 0xb4, 0, 0},
10500 {0x55, 0xd2, 0xd2, 0, 0},
10501 {0x56, 0, 0, 0, 0},
10502 {0x57, 0, 0, 0, 0},
10503 {0x58, 0x4, 0x4, 0, 0},
10504 {0x59, 0x96, 0x96, 0, 0},
10505 {0x5A, 0x3e, 0x3e, 0, 0},
10506 {0x5B, 0x3e, 0x3e, 0, 0},
10507 {0x5C, 0x13, 0x13, 0, 0},
10508 {0x5D, 0x2, 0x2, 0, 0},
10509 {0x5E, 0, 0, 0, 0},
10510 {0x5F, 0x7, 0x7, 0, 0},
10511 {0x60, 0x7, 0x7, 1, 1},
10512 {0x61, 0x8, 0x8, 0, 0},
10513 {0x62, 0x3, 0x3, 0, 0},
10514 {0x63, 0, 0, 0, 0},
10515 {0x64, 0, 0, 0, 0},
10516 {0x65, 0, 0, 0, 0},
10517 {0x66, 0, 0, 0, 0},
10518 {0x67, 0, 0, 0, 0},
10519 {0x68, 0x40, 0x40, 0, 0},
10520 {0x69, 0, 0, 0, 0},
10521 {0x6A, 0, 0, 0, 0},
10522 {0x6B, 0, 0, 0, 0},
10523 {0x6C, 0, 0, 0, 0},
10524 {0x6D, 0x1, 0x1, 0, 0},
10525 {0x6E, 0, 0, 0, 0},
10526 {0x6F, 0, 0, 0, 0},
10527 {0x70, 0x60, 0x60, 0, 0},
10528 {0x71, 0x66, 0x66, 0, 0},
10529 {0x72, 0xc, 0xc, 0, 0},
10530 {0x73, 0x66, 0x66, 0, 0},
10531 {0x74, 0x8f, 0x8f, 1, 1},
10532 {0x75, 0, 0, 0, 0},
10533 {0x76, 0xcc, 0xcc, 0, 0},
10534 {0x77, 0x1, 0x1, 0, 0},
10535 {0x78, 0x66, 0x66, 0, 0},
10536 {0x79, 0x66, 0x66, 0, 0},
10537 {0x7A, 0, 0, 0, 0},
10538 {0x7B, 0, 0, 0, 0},
10539 {0x7C, 0, 0, 0, 0},
10540 {0x7D, 0, 0, 0, 0},
10541 {0x7E, 0, 0, 0, 0},
10542 {0x7F, 0, 0, 0, 0},
10543 {0x80, 0, 0, 0, 0},
10544 {0x81, 0, 0, 0, 0},
10545 {0x82, 0, 0, 0, 0},
10546 {0x83, 0, 0, 0, 0},
10547 {0x84, 0, 0, 0, 0},
10548 {0x85, 0xff, 0xff, 0, 0},
10549 {0x86, 0, 0, 0, 0},
10550 {0x87, 0, 0, 0, 0},
10551 {0x88, 0, 0, 0, 0},
10552 {0x89, 0, 0, 0, 0},
10553 {0x8A, 0, 0, 0, 0},
10554 {0x8B, 0, 0, 0, 0},
10555 {0x8C, 0, 0, 0, 0},
10556 {0x8D, 0, 0, 0, 0},
10557 {0x8E, 0, 0, 0, 0},
10558 {0x8F, 0, 0, 0, 0},
10559 {0x90, 0, 0, 0, 0},
10560 {0x91, 0, 0, 0, 0},
10561 {0x92, 0, 0, 0, 0},
10562 {0x93, 0, 0, 0, 0},
10563 {0x94, 0, 0, 0, 0},
10564 {0x95, 0, 0, 0, 0},
10565 {0x96, 0, 0, 0, 0},
10566 {0x97, 0, 0, 0, 0},
10567 {0x98, 0, 0, 0, 0},
10568 {0x99, 0, 0, 0, 0},
10569 {0x9A, 0, 0, 0, 0},
10570 {0x9B, 0, 0, 0, 0},
10571 {0x9C, 0, 0, 0, 0},
10572 {0x9D, 0, 0, 0, 0},
10573 {0x9E, 0, 0, 0, 0},
10574 {0x9F, 0x6, 0x6, 0, 0},
10575 {0xA0, 0x66, 0x66, 0, 0},
10576 {0xA1, 0x66, 0x66, 0, 0},
10577 {0xA2, 0x66, 0x66, 0, 0},
10578 {0xA3, 0x66, 0x66, 0, 0},
10579 {0xA4, 0x66, 0x66, 0, 0},
10580 {0xA5, 0x66, 0x66, 0, 0},
10581 {0xA6, 0x66, 0x66, 0, 0},
10582 {0xA7, 0x66, 0x66, 0, 0},
10583 {0xA8, 0x66, 0x66, 0, 0},
10584 {0xA9, 0x66, 0x66, 0, 0},
10585 {0xAA, 0x66, 0x66, 0, 0},
10586 {0xAB, 0x66, 0x66, 0, 0},
10587 {0xAC, 0x66, 0x66, 0, 0},
10588 {0xAD, 0x66, 0x66, 0, 0},
10589 {0xAE, 0x66, 0x66, 0, 0},
10590 {0xAF, 0x66, 0x66, 0, 0},
10591 {0xB0, 0x66, 0x66, 0, 0},
10592 {0xB1, 0x66, 0x66, 0, 0},
10593 {0xB2, 0x66, 0x66, 0, 0},
10594 {0xB3, 0xa, 0xa, 0, 0},
10595 {0xB4, 0, 0, 0, 0},
10596 {0xB5, 0, 0, 0, 0},
10597 {0xB6, 0, 0, 0, 0},
10598 {0xFFFF, 0, 0, 0, 0},
10601 radio_regs_t regs_TX_2056_rev8[] = {
10602 {0x02, 0, 0, 0, 0},
10603 {0x03, 0, 0, 0, 0},
10604 {0x04, 0, 0, 0, 0},
10605 {0x05, 0, 0, 0, 0},
10606 {0x06, 0, 0, 0, 0},
10607 {0x07, 0, 0, 0, 0},
10608 {0x08, 0, 0, 0, 0},
10609 {0x09, 0, 0, 0, 0},
10610 {0x0A, 0, 0, 0, 0},
10611 {0x0B, 0, 0, 0, 0},
10612 {0x0C, 0, 0, 0, 0},
10613 {0x0D, 0, 0, 0, 0},
10614 {0x0E, 0, 0, 0, 0},
10615 {0x0F, 0, 0, 0, 0},
10616 {0x10, 0, 0, 0, 0},
10617 {0x11, 0, 0, 0, 0},
10618 {0x12, 0, 0, 0, 0},
10619 {0x13, 0, 0, 0, 0},
10620 {0x14, 0, 0, 0, 0},
10621 {0x15, 0, 0, 0, 0},
10622 {0x16, 0, 0, 0, 0},
10623 {0x17, 0, 0, 0, 0},
10624 {0x18, 0, 0, 0, 0},
10625 {0x19, 0, 0, 0, 0},
10626 {0x1A, 0, 0, 0, 0},
10627 {0x1B, 0, 0, 0, 0},
10628 {0x1C, 0, 0, 0, 0},
10629 {0x1D, 0, 0, 0, 0},
10630 {0x1E, 0, 0, 0, 0},
10631 {0x1F, 0, 0, 0, 0},
10632 {0x20, 0, 0, 0, 0},
10633 {0x21, 0x88, 0x88, 0, 0},
10634 {0x22, 0x88, 0x88, 0, 0},
10635 {0x23, 0x88, 0x88, 0, 0},
10636 {0x24, 0x88, 0x88, 0, 0},
10637 {0x25, 0xc, 0xc, 0, 0},
10638 {0x26, 0, 0, 0, 0},
10639 {0x27, 0x3, 0x3, 0, 0},
10640 {0x28, 0, 0, 0, 0},
10641 {0x29, 0x3, 0x3, 0, 0},
10642 {0x2A, 0x37, 0x37, 0, 0},
10643 {0x2B, 0x3, 0x3, 0, 0},
10644 {0x2C, 0, 0, 0, 0},
10645 {0x2D, 0, 0, 0, 0},
10646 {0x2E, 0x1, 0x1, 0, 0},
10647 {0x2F, 0x1, 0x1, 0, 0},
10648 {0x30, 0, 0, 0, 0},
10649 {0x31, 0, 0, 0, 0},
10650 {0x32, 0, 0, 0, 0},
10651 {0x33, 0x11, 0x11, 0, 0},
10652 {0x34, 0xee, 0xee, 1, 1},
10653 {0x35, 0, 0, 0, 0},
10654 {0x36, 0, 0, 0, 0},
10655 {0x37, 0x3, 0x3, 0, 0},
10656 {0x38, 0x50, 0x50, 1, 1},
10657 {0x39, 0, 0, 0, 0},
10658 {0x3A, 0x50, 0x50, 1, 1},
10659 {0x3B, 0, 0, 0, 0},
10660 {0x3C, 0x6e, 0x6e, 0, 0},
10661 {0x3D, 0xf0, 0xf0, 1, 1},
10662 {0x3E, 0, 0, 0, 0},
10663 {0x3F, 0, 0, 0, 0},
10664 {0x40, 0, 0, 0, 0},
10665 {0x41, 0x3, 0x3, 0, 0},
10666 {0x42, 0x3, 0x3, 0, 0},
10667 {0x43, 0, 0, 0, 0},
10668 {0x44, 0x1e, 0x1e, 0, 0},
10669 {0x45, 0, 0, 0, 0},
10670 {0x46, 0x6e, 0x6e, 0, 0},
10671 {0x47, 0xf0, 0xf0, 1, 1},
10672 {0x48, 0, 0, 0, 0},
10673 {0x49, 0x2, 0x2, 0, 0},
10674 {0x4A, 0xff, 0xff, 1, 1},
10675 {0x4B, 0xc, 0xc, 0, 0},
10676 {0x4C, 0, 0, 0, 0},
10677 {0x4D, 0x38, 0x38, 0, 0},
10678 {0x4E, 0x70, 0x70, 1, 1},
10679 {0x4F, 0x2, 0x2, 0, 0},
10680 {0x50, 0x88, 0x88, 0, 0},
10681 {0x51, 0xc, 0xc, 0, 0},
10682 {0x52, 0, 0, 0, 0},
10683 {0x53, 0x8, 0x8, 0, 0},
10684 {0x54, 0x70, 0x70, 1, 1},
10685 {0x55, 0x2, 0x2, 0, 0},
10686 {0x56, 0xff, 0xff, 1, 1},
10687 {0x57, 0, 0, 0, 0},
10688 {0x58, 0x83, 0x83, 0, 0},
10689 {0x59, 0x77, 0x77, 1, 1},
10690 {0x5A, 0, 0, 0, 0},
10691 {0x5B, 0x2, 0x2, 0, 0},
10692 {0x5C, 0x88, 0x88, 0, 0},
10693 {0x5D, 0, 0, 0, 0},
10694 {0x5E, 0x8, 0x8, 0, 0},
10695 {0x5F, 0x77, 0x77, 1, 1},
10696 {0x60, 0x1, 0x1, 0, 0},
10697 {0x61, 0, 0, 0, 0},
10698 {0x62, 0x7, 0x7, 0, 0},
10699 {0x63, 0, 0, 0, 0},
10700 {0x64, 0x7, 0x7, 0, 0},
10701 {0x65, 0, 0, 0, 0},
10702 {0x66, 0, 0, 0, 0},
10703 {0x67, 0, 0, 1, 1},
10704 {0x68, 0, 0, 0, 0},
10705 {0x69, 0xa, 0xa, 0, 0},
10706 {0x6A, 0, 0, 0, 0},
10707 {0x6B, 0, 0, 0, 0},
10708 {0x6C, 0, 0, 0, 0},
10709 {0x6D, 0, 0, 0, 0},
10710 {0x6E, 0, 0, 0, 0},
10711 {0x6F, 0, 0, 0, 0},
10712 {0x70, 0, 0, 0, 0},
10713 {0x71, 0x2, 0x2, 0, 0},
10714 {0x72, 0, 0, 0, 0},
10715 {0x73, 0, 0, 0, 0},
10716 {0x74, 0xe, 0xe, 0, 0},
10717 {0x75, 0xe, 0xe, 0, 0},
10718 {0x76, 0xe, 0xe, 0, 0},
10719 {0x77, 0x13, 0x13, 0, 0},
10720 {0x78, 0x13, 0x13, 0, 0},
10721 {0x79, 0x1b, 0x1b, 0, 0},
10722 {0x7A, 0x1b, 0x1b, 0, 0},
10723 {0x7B, 0x55, 0x55, 0, 0},
10724 {0x7C, 0x5b, 0x5b, 0, 0},
10725 {0x7D, 0x30, 0x30, 1, 1},
10726 {0x7E, 0, 0, 0, 0},
10727 {0x7F, 0, 0, 0, 0},
10728 {0x80, 0, 0, 0, 0},
10729 {0x81, 0, 0, 0, 0},
10730 {0x82, 0, 0, 0, 0},
10731 {0x83, 0, 0, 0, 0},
10732 {0x84, 0, 0, 0, 0},
10733 {0x85, 0, 0, 0, 0},
10734 {0x86, 0, 0, 0, 0},
10735 {0x87, 0, 0, 0, 0},
10736 {0x88, 0, 0, 0, 0},
10737 {0x89, 0, 0, 0, 0},
10738 {0x8A, 0, 0, 0, 0},
10739 {0x8B, 0, 0, 0, 0},
10740 {0x8C, 0, 0, 0, 0},
10741 {0x8D, 0, 0, 0, 0},
10742 {0x8E, 0, 0, 0, 0},
10743 {0x8F, 0, 0, 0, 0},
10744 {0x90, 0, 0, 0, 0},
10745 {0x91, 0, 0, 0, 0},
10746 {0x92, 0, 0, 0, 0},
10747 {0x93, 0x70, 0x70, 0, 0},
10748 {0x94, 0x70, 0x70, 0, 0},
10749 {0x95, 0x70, 0x70, 0, 0},
10750 {0x96, 0x70, 0x70, 0, 0},
10751 {0x97, 0x70, 0x70, 0, 0},
10752 {0x98, 0x70, 0x70, 0, 0},
10753 {0x99, 0x70, 0x70, 0, 0},
10754 {0x9A, 0x70, 0x70, 0, 0},
10755 {0xFFFF, 0, 0, 0, 0},
10758 radio_regs_t regs_RX_2056_rev8[] = {
10759 {0x02, 0, 0, 0, 0},
10760 {0x03, 0, 0, 0, 0},
10761 {0x04, 0, 0, 0, 0},
10762 {0x05, 0, 0, 0, 0},
10763 {0x06, 0, 0, 0, 0},
10764 {0x07, 0, 0, 0, 0},
10765 {0x08, 0, 0, 0, 0},
10766 {0x09, 0, 0, 0, 0},
10767 {0x0A, 0, 0, 0, 0},
10768 {0x0B, 0, 0, 0, 0},
10769 {0x0C, 0, 0, 0, 0},
10770 {0x0D, 0, 0, 0, 0},
10771 {0x0E, 0, 0, 0, 0},
10772 {0x0F, 0, 0, 0, 0},
10773 {0x10, 0, 0, 0, 0},
10774 {0x11, 0, 0, 0, 0},
10775 {0x12, 0, 0, 0, 0},
10776 {0x13, 0, 0, 0, 0},
10777 {0x14, 0, 0, 0, 0},
10778 {0x15, 0, 0, 0, 0},
10779 {0x16, 0, 0, 0, 0},
10780 {0x17, 0, 0, 0, 0},
10781 {0x18, 0, 0, 0, 0},
10782 {0x19, 0, 0, 0, 0},
10783 {0x1A, 0, 0, 0, 0},
10784 {0x1B, 0, 0, 0, 0},
10785 {0x1C, 0, 0, 0, 0},
10786 {0x1D, 0, 0, 0, 0},
10787 {0x1E, 0, 0, 0, 0},
10788 {0x1F, 0, 0, 0, 0},
10789 {0x20, 0x3, 0x3, 0, 0},
10790 {0x21, 0, 0, 0, 0},
10791 {0x22, 0, 0, 0, 0},
10792 {0x23, 0x90, 0x90, 0, 0},
10793 {0x24, 0x55, 0x55, 0, 0},
10794 {0x25, 0x15, 0x15, 0, 0},
10795 {0x26, 0x5, 0x5, 0, 0},
10796 {0x27, 0x15, 0x15, 0, 0},
10797 {0x28, 0x5, 0x5, 0, 0},
10798 {0x29, 0x20, 0x20, 0, 0},
10799 {0x2A, 0x11, 0x11, 0, 0},
10800 {0x2B, 0x90, 0x90, 0, 0},
10801 {0x2C, 0, 0, 0, 0},
10802 {0x2D, 0x88, 0x88, 0, 0},
10803 {0x2E, 0x32, 0x32, 0, 0},
10804 {0x2F, 0x77, 0x77, 0, 0},
10805 {0x30, 0x17, 0x17, 1, 1},
10806 {0x31, 0xff, 0xff, 1, 1},
10807 {0x32, 0x20, 0x20, 0, 0},
10808 {0x33, 0, 0, 0, 0},
10809 {0x34, 0x88, 0x88, 0, 0},
10810 {0x35, 0x32, 0x32, 0, 0},
10811 {0x36, 0x77, 0x77, 0, 0},
10812 {0x37, 0x17, 0x17, 1, 1},
10813 {0x38, 0xf0, 0xf0, 1, 1},
10814 {0x39, 0x20, 0x20, 0, 0},
10815 {0x3A, 0x8, 0x8, 0, 0},
10816 {0x3B, 0x55, 0x55, 1, 1},
10817 {0x3C, 0, 0, 0, 0},
10818 {0x3D, 0x88, 0x88, 1, 1},
10819 {0x3E, 0, 0, 0, 0},
10820 {0x3F, 0x44, 0x44, 0, 0},
10821 {0x40, 0x7, 0x7, 1, 1},
10822 {0x41, 0x6, 0x6, 0, 0},
10823 {0x42, 0x4, 0x4, 0, 0},
10824 {0x43, 0, 0, 0, 0},
10825 {0x44, 0x8, 0x8, 0, 0},
10826 {0x45, 0x55, 0x55, 1, 1},
10827 {0x46, 0, 0, 0, 0},
10828 {0x47, 0x11, 0x11, 0, 0},
10829 {0x48, 0, 0, 0, 0},
10830 {0x49, 0x44, 0x44, 0, 0},
10831 {0x4A, 0x7, 0x7, 0, 0},
10832 {0x4B, 0x6, 0x6, 0, 0},
10833 {0x4C, 0x4, 0x4, 0, 0},
10834 {0x4D, 0, 0, 0, 0},
10835 {0x4E, 0, 0, 0, 0},
10836 {0x4F, 0x26, 0x26, 1, 1},
10837 {0x50, 0x26, 0x26, 1, 1},
10838 {0x51, 0xf, 0xf, 1, 1},
10839 {0x52, 0xf, 0xf, 1, 1},
10840 {0x53, 0x44, 0x44, 0, 0},
10841 {0x54, 0, 0, 0, 0},
10842 {0x55, 0, 0, 0, 0},
10843 {0x56, 0x8, 0x8, 0, 0},
10844 {0x57, 0x8, 0x8, 0, 0},
10845 {0x58, 0x7, 0x7, 0, 0},
10846 {0x59, 0x22, 0x22, 0, 0},
10847 {0x5A, 0x22, 0x22, 0, 0},
10848 {0x5B, 0x2, 0x2, 0, 0},
10849 {0x5C, 0x4, 0x4, 1, 1},
10850 {0x5D, 0x7, 0x7, 0, 0},
10851 {0x5E, 0x55, 0x55, 0, 0},
10852 {0x5F, 0x23, 0x23, 0, 0},
10853 {0x60, 0x41, 0x41, 0, 0},
10854 {0x61, 0x1, 0x1, 0, 0},
10855 {0x62, 0xa, 0xa, 0, 0},
10856 {0x63, 0, 0, 0, 0},
10857 {0x64, 0, 0, 0, 0},
10858 {0x65, 0, 0, 0, 0},
10859 {0x66, 0, 0, 0, 0},
10860 {0x67, 0, 0, 0, 0},
10861 {0x68, 0, 0, 0, 0},
10862 {0x69, 0, 0, 0, 0},
10863 {0x6A, 0, 0, 0, 0},
10864 {0x6B, 0xc, 0xc, 0, 0},
10865 {0x6C, 0, 0, 0, 0},
10866 {0x6D, 0, 0, 0, 0},
10867 {0x6E, 0, 0, 0, 0},
10868 {0x6F, 0, 0, 0, 0},
10869 {0x70, 0, 0, 0, 0},
10870 {0x71, 0, 0, 0, 0},
10871 {0x72, 0x22, 0x22, 0, 0},
10872 {0x73, 0x22, 0x22, 0, 0},
10873 {0x74, 0, 0, 1, 1},
10874 {0x75, 0xa, 0xa, 0, 0},
10875 {0x76, 0x1, 0x1, 0, 0},
10876 {0x77, 0x22, 0x22, 0, 0},
10877 {0x78, 0x30, 0x30, 0, 0},
10878 {0x79, 0, 0, 0, 0},
10879 {0x7A, 0, 0, 0, 0},
10880 {0x7B, 0, 0, 0, 0},
10881 {0x7C, 0, 0, 0, 0},
10882 {0x7D, 0x5, 0x5, 1, 1},
10883 {0x7E, 0, 0, 0, 0},
10884 {0x7F, 0, 0, 0, 0},
10885 {0x80, 0, 0, 0, 0},
10886 {0x81, 0, 0, 0, 0},
10887 {0x82, 0, 0, 0, 0},
10888 {0x83, 0, 0, 0, 0},
10889 {0x84, 0, 0, 0, 0},
10890 {0x85, 0, 0, 0, 0},
10891 {0x86, 0, 0, 0, 0},
10892 {0x87, 0, 0, 0, 0},
10893 {0x88, 0, 0, 0, 0},
10894 {0x89, 0, 0, 0, 0},
10895 {0x8A, 0, 0, 0, 0},
10896 {0x8B, 0, 0, 0, 0},
10897 {0x8C, 0, 0, 0, 0},
10898 {0x8D, 0, 0, 0, 0},
10899 {0x8E, 0, 0, 0, 0},
10900 {0x8F, 0, 0, 0, 0},
10901 {0x90, 0, 0, 0, 0},
10902 {0x91, 0, 0, 0, 0},
10903 {0x92, 0, 0, 0, 0},
10904 {0x93, 0, 0, 0, 0},
10905 {0x94, 0, 0, 0, 0},
10906 {0xFFFF, 0, 0, 0, 0},
10909 radio_regs_t regs_SYN_2056_rev11[] = {
10910 {0x02, 0, 0, 0, 0},
10911 {0x03, 0, 0, 0, 0},
10912 {0x04, 0, 0, 0, 0},
10913 {0x05, 0, 0, 0, 0},
10914 {0x06, 0, 0, 0, 0},
10915 {0x07, 0, 0, 0, 0},
10916 {0x08, 0, 0, 0, 0},
10917 {0x09, 0x1, 0x1, 0, 0},
10918 {0x0A, 0, 0, 0, 0},
10919 {0x0B, 0, 0, 0, 0},
10920 {0x0C, 0, 0, 0, 0},
10921 {0x0D, 0, 0, 0, 0},
10922 {0x0E, 0, 0, 0, 0},
10923 {0x0F, 0, 0, 0, 0},
10924 {0x10, 0, 0, 0, 0},
10925 {0x11, 0, 0, 0, 0},
10926 {0x12, 0, 0, 0, 0},
10927 {0x13, 0, 0, 0, 0},
10928 {0x14, 0, 0, 0, 0},
10929 {0x15, 0, 0, 0, 0},
10930 {0x16, 0, 0, 0, 0},
10931 {0x17, 0, 0, 0, 0},
10932 {0x18, 0, 0, 0, 0},
10933 {0x19, 0, 0, 0, 0},
10934 {0x1A, 0, 0, 0, 0},
10935 {0x1B, 0, 0, 0, 0},
10936 {0x1C, 0, 0, 0, 0},
10937 {0x1D, 0, 0, 0, 0},
10938 {0x1E, 0, 0, 0, 0},
10939 {0x1F, 0, 0, 0, 0},
10940 {0x20, 0, 0, 0, 0},
10941 {0x21, 0, 0, 0, 0},
10942 {0x22, 0x60, 0x60, 0, 0},
10943 {0x23, 0x6, 0x6, 0, 0},
10944 {0x24, 0xc, 0xc, 0, 0},
10945 {0x25, 0, 0, 0, 0},
10946 {0x26, 0, 0, 0, 0},
10947 {0x27, 0, 0, 0, 0},
10948 {0x28, 0x1, 0x1, 0, 0},
10949 {0x29, 0, 0, 0, 0},
10950 {0x2A, 0, 0, 0, 0},
10951 {0x2B, 0, 0, 0, 0},
10952 {0x2C, 0, 0, 0, 0},
10953 {0x2D, 0, 0, 0, 0},
10954 {0x2E, 0, 0, 0, 0},
10955 {0x2F, 0x1f, 0x1f, 0, 0},
10956 {0x30, 0x15, 0x15, 0, 0},
10957 {0x31, 0xf, 0xf, 0, 0},
10958 {0x32, 0, 0, 0, 0},
10959 {0x33, 0, 0, 0, 0},
10960 {0x34, 0, 0, 0, 0},
10961 {0x35, 0, 0, 0, 0},
10962 {0x36, 0, 0, 0, 0},
10963 {0x37, 0, 0, 0, 0},
10964 {0x38, 0, 0, 0, 0},
10965 {0x39, 0, 0, 0, 0},
10966 {0x3A, 0, 0, 0, 0},
10967 {0x3B, 0, 0, 0, 0},
10968 {0x3C, 0x13, 0x13, 0, 0},
10969 {0x3D, 0xf, 0xf, 0, 0},
10970 {0x3E, 0x18, 0x18, 0, 0},
10971 {0x3F, 0, 0, 0, 0},
10972 {0x40, 0, 0, 0, 0},
10973 {0x41, 0x20, 0x20, 0, 0},
10974 {0x42, 0x20, 0x20, 0, 0},
10975 {0x43, 0, 0, 0, 0},
10976 {0x44, 0x77, 0x77, 0, 0},
10977 {0x45, 0x7, 0x7, 0, 0},
10978 {0x46, 0x1, 0x1, 0, 0},
10979 {0x47, 0x6, 0x6, 1, 1},
10980 {0x48, 0xf, 0xf, 0, 0},
10981 {0x49, 0x3f, 0x3f, 1, 1},
10982 {0x4A, 0x32, 0x32, 0, 0},
10983 {0x4B, 0x6, 0x6, 1, 1},
10984 {0x4C, 0x6, 0x6, 1, 1},
10985 {0x4D, 0x4, 0x4, 0, 0},
10986 {0x4E, 0x2b, 0x2b, 1, 1},
10987 {0x4F, 0x1, 0x1, 0, 0},
10988 {0x50, 0x1c, 0x1c, 0, 0},
10989 {0x51, 0x2, 0x2, 0, 0},
10990 {0x52, 0x2, 0x2, 0, 0},
10991 {0x53, 0xf7, 0xf7, 1, 1},
10992 {0x54, 0xb4, 0xb4, 0, 0},
10993 {0x55, 0xd2, 0xd2, 0, 0},
10994 {0x56, 0, 0, 0, 0},
10995 {0x57, 0, 0, 0, 0},
10996 {0x58, 0x4, 0x4, 0, 0},
10997 {0x59, 0x96, 0x96, 0, 0},
10998 {0x5A, 0x3e, 0x3e, 0, 0},
10999 {0x5B, 0x3e, 0x3e, 0, 0},
11000 {0x5C, 0x13, 0x13, 0, 0},
11001 {0x5D, 0x2, 0x2, 0, 0},
11002 {0x5E, 0, 0, 0, 0},
11003 {0x5F, 0x7, 0x7, 0, 0},
11004 {0x60, 0x7, 0x7, 1, 1},
11005 {0x61, 0x8, 0x8, 0, 0},
11006 {0x62, 0x3, 0x3, 0, 0},
11007 {0x63, 0, 0, 0, 0},
11008 {0x64, 0, 0, 0, 0},
11009 {0x65, 0, 0, 0, 0},
11010 {0x66, 0, 0, 0, 0},
11011 {0x67, 0, 0, 0, 0},
11012 {0x68, 0x40, 0x40, 0, 0},
11013 {0x69, 0, 0, 0, 0},
11014 {0x6A, 0, 0, 0, 0},
11015 {0x6B, 0, 0, 0, 0},
11016 {0x6C, 0, 0, 0, 0},
11017 {0x6D, 0x1, 0x1, 0, 0},
11018 {0x6E, 0, 0, 0, 0},
11019 {0x6F, 0, 0, 0, 0},
11020 {0x70, 0x60, 0x60, 0, 0},
11021 {0x71, 0x66, 0x66, 0, 0},
11022 {0x72, 0xc, 0xc, 0, 0},
11023 {0x73, 0x66, 0x66, 0, 0},
11024 {0x74, 0x8f, 0x8f, 1, 1},
11025 {0x75, 0, 0, 0, 0},
11026 {0x76, 0xcc, 0xcc, 0, 0},
11027 {0x77, 0x1, 0x1, 0, 0},
11028 {0x78, 0x66, 0x66, 0, 0},
11029 {0x79, 0x66, 0x66, 0, 0},
11030 {0x7A, 0, 0, 0, 0},
11031 {0x7B, 0, 0, 0, 0},
11032 {0x7C, 0, 0, 0, 0},
11033 {0x7D, 0, 0, 0, 0},
11034 {0x7E, 0, 0, 0, 0},
11035 {0x7F, 0, 0, 0, 0},
11036 {0x80, 0, 0, 0, 0},
11037 {0x81, 0, 0, 0, 0},
11038 {0x82, 0, 0, 0, 0},
11039 {0x83, 0, 0, 0, 0},
11040 {0x84, 0, 0, 0, 0},
11041 {0x85, 0xff, 0xff, 0, 0},
11042 {0x86, 0, 0, 0, 0},
11043 {0x87, 0, 0, 0, 0},
11044 {0x88, 0, 0, 0, 0},
11045 {0x89, 0, 0, 0, 0},
11046 {0x8A, 0, 0, 0, 0},
11047 {0x8B, 0, 0, 0, 0},
11048 {0x8C, 0, 0, 0, 0},
11049 {0x8D, 0, 0, 0, 0},
11050 {0x8E, 0, 0, 0, 0},
11051 {0x8F, 0, 0, 0, 0},
11052 {0x90, 0, 0, 0, 0},
11053 {0x91, 0, 0, 0, 0},
11054 {0x92, 0, 0, 0, 0},
11055 {0x93, 0, 0, 0, 0},
11056 {0x94, 0, 0, 0, 0},
11057 {0x95, 0, 0, 0, 0},
11058 {0x96, 0, 0, 0, 0},
11059 {0x97, 0, 0, 0, 0},
11060 {0x98, 0, 0, 0, 0},
11061 {0x99, 0, 0, 0, 0},
11062 {0x9A, 0, 0, 0, 0},
11063 {0x9B, 0, 0, 0, 0},
11064 {0x9C, 0, 0, 0, 0},
11065 {0x9D, 0, 0, 0, 0},
11066 {0x9E, 0, 0, 0, 0},
11067 {0x9F, 0x6, 0x6, 0, 0},
11068 {0xA0, 0x66, 0x66, 0, 0},
11069 {0xA1, 0x66, 0x66, 0, 0},
11070 {0xA2, 0x66, 0x66, 0, 0},
11071 {0xA3, 0x66, 0x66, 0, 0},
11072 {0xA4, 0x66, 0x66, 0, 0},
11073 {0xA5, 0x66, 0x66, 0, 0},
11074 {0xA6, 0x66, 0x66, 0, 0},
11075 {0xA7, 0x66, 0x66, 0, 0},
11076 {0xA8, 0x66, 0x66, 0, 0},
11077 {0xA9, 0x66, 0x66, 0, 0},
11078 {0xAA, 0x66, 0x66, 0, 0},
11079 {0xAB, 0x66, 0x66, 0, 0},
11080 {0xAC, 0x66, 0x66, 0, 0},
11081 {0xAD, 0x66, 0x66, 0, 0},
11082 {0xAE, 0x66, 0x66, 0, 0},
11083 {0xAF, 0x66, 0x66, 0, 0},
11084 {0xB0, 0x66, 0x66, 0, 0},
11085 {0xB1, 0x66, 0x66, 0, 0},
11086 {0xB2, 0x66, 0x66, 0, 0},
11087 {0xB3, 0xa, 0xa, 0, 0},
11088 {0xB4, 0, 0, 0, 0},
11089 {0xB5, 0, 0, 0, 0},
11090 {0xB6, 0, 0, 0, 0},
11091 {0xFFFF, 0, 0, 0, 0},
11094 radio_regs_t regs_TX_2056_rev11[] = {
11095 {0x02, 0, 0, 0, 0},
11096 {0x03, 0, 0, 0, 0},
11097 {0x04, 0, 0, 0, 0},
11098 {0x05, 0, 0, 0, 0},
11099 {0x06, 0, 0, 0, 0},
11100 {0x07, 0, 0, 0, 0},
11101 {0x08, 0, 0, 0, 0},
11102 {0x09, 0, 0, 0, 0},
11103 {0x0A, 0, 0, 0, 0},
11104 {0x0B, 0, 0, 0, 0},
11105 {0x0C, 0, 0, 0, 0},
11106 {0x0D, 0, 0, 0, 0},
11107 {0x0E, 0, 0, 0, 0},
11108 {0x0F, 0, 0, 0, 0},
11109 {0x10, 0, 0, 0, 0},
11110 {0x11, 0, 0, 0, 0},
11111 {0x12, 0, 0, 0, 0},
11112 {0x13, 0, 0, 0, 0},
11113 {0x14, 0, 0, 0, 0},
11114 {0x15, 0, 0, 0, 0},
11115 {0x16, 0, 0, 0, 0},
11116 {0x17, 0, 0, 0, 0},
11117 {0x18, 0, 0, 0, 0},
11118 {0x19, 0, 0, 0, 0},
11119 {0x1A, 0, 0, 0, 0},
11120 {0x1B, 0, 0, 0, 0},
11121 {0x1C, 0, 0, 0, 0},
11122 {0x1D, 0, 0, 0, 0},
11123 {0x1E, 0, 0, 0, 0},
11124 {0x1F, 0, 0, 0, 0},
11125 {0x20, 0, 0, 0, 0},
11126 {0x21, 0x88, 0x88, 0, 0},
11127 {0x22, 0x88, 0x88, 0, 0},
11128 {0x23, 0x88, 0x88, 0, 0},
11129 {0x24, 0x88, 0x88, 0, 0},
11130 {0x25, 0xc, 0xc, 0, 0},
11131 {0x26, 0, 0, 0, 0},
11132 {0x27, 0x3, 0x3, 0, 0},
11133 {0x28, 0, 0, 0, 0},
11134 {0x29, 0x3, 0x3, 0, 0},
11135 {0x2A, 0x37, 0x37, 0, 0},
11136 {0x2B, 0x3, 0x3, 0, 0},
11137 {0x2C, 0, 0, 0, 0},
11138 {0x2D, 0, 0, 0, 0},
11139 {0x2E, 0x1, 0x1, 0, 0},
11140 {0x2F, 0x1, 0x1, 0, 0},
11141 {0x30, 0, 0, 0, 0},
11142 {0x31, 0, 0, 0, 0},
11143 {0x32, 0, 0, 0, 0},
11144 {0x33, 0x11, 0x11, 0, 0},
11145 {0x34, 0xee, 0xee, 1, 1},
11146 {0x35, 0, 0, 0, 0},
11147 {0x36, 0, 0, 0, 0},
11148 {0x37, 0x3, 0x3, 0, 0},
11149 {0x38, 0x50, 0x50, 1, 1},
11150 {0x39, 0, 0, 0, 0},
11151 {0x3A, 0x50, 0x50, 1, 1},
11152 {0x3B, 0, 0, 0, 0},
11153 {0x3C, 0x6e, 0x6e, 0, 0},
11154 {0x3D, 0xf0, 0xf0, 1, 1},
11155 {0x3E, 0, 0, 0, 0},
11156 {0x3F, 0, 0, 0, 0},
11157 {0x40, 0, 0, 0, 0},
11158 {0x41, 0x3, 0x3, 0, 0},
11159 {0x42, 0x3, 0x3, 0, 0},
11160 {0x43, 0, 0, 0, 0},
11161 {0x44, 0x1e, 0x1e, 0, 0},
11162 {0x45, 0, 0, 0, 0},
11163 {0x46, 0x6e, 0x6e, 0, 0},
11164 {0x47, 0xf0, 0xf0, 1, 1},
11165 {0x48, 0, 0, 0, 0},
11166 {0x49, 0x2, 0x2, 0, 0},
11167 {0x4A, 0xff, 0xff, 1, 1},
11168 {0x4B, 0xc, 0xc, 0, 0},
11169 {0x4C, 0, 0, 0, 0},
11170 {0x4D, 0x38, 0x38, 0, 0},
11171 {0x4E, 0x70, 0x70, 1, 1},
11172 {0x4F, 0x2, 0x2, 0, 0},
11173 {0x50, 0x88, 0x88, 0, 0},
11174 {0x51, 0xc, 0xc, 0, 0},
11175 {0x52, 0, 0, 0, 0},
11176 {0x53, 0x8, 0x8, 0, 0},
11177 {0x54, 0x70, 0x70, 1, 1},
11178 {0x55, 0x2, 0x2, 0, 0},
11179 {0x56, 0xff, 0xff, 1, 1},
11180 {0x57, 0, 0, 0, 0},
11181 {0x58, 0x83, 0x83, 0, 0},
11182 {0x59, 0x77, 0x77, 1, 1},
11183 {0x5A, 0, 0, 0, 0},
11184 {0x5B, 0x2, 0x2, 0, 0},
11185 {0x5C, 0x88, 0x88, 0, 0},
11186 {0x5D, 0, 0, 0, 0},
11187 {0x5E, 0x8, 0x8, 0, 0},
11188 {0x5F, 0x77, 0x77, 1, 1},
11189 {0x60, 0x1, 0x1, 0, 0},
11190 {0x61, 0, 0, 0, 0},
11191 {0x62, 0x7, 0x7, 0, 0},
11192 {0x63, 0, 0, 0, 0},
11193 {0x64, 0x7, 0x7, 0, 0},
11194 {0x65, 0, 0, 0, 0},
11195 {0x66, 0, 0, 0, 0},
11196 {0x67, 0, 0, 1, 1},
11197 {0x68, 0, 0, 0, 0},
11198 {0x69, 0xa, 0xa, 0, 0},
11199 {0x6A, 0, 0, 0, 0},
11200 {0x6B, 0, 0, 0, 0},
11201 {0x6C, 0, 0, 0, 0},
11202 {0x6D, 0, 0, 0, 0},
11203 {0x6E, 0, 0, 0, 0},
11204 {0x6F, 0, 0, 0, 0},
11205 {0x70, 0, 0, 0, 0},
11206 {0x71, 0x2, 0x2, 0, 0},
11207 {0x72, 0, 0, 0, 0},
11208 {0x73, 0, 0, 0, 0},
11209 {0x74, 0xe, 0xe, 0, 0},
11210 {0x75, 0xe, 0xe, 0, 0},
11211 {0x76, 0xe, 0xe, 0, 0},
11212 {0x77, 0x13, 0x13, 0, 0},
11213 {0x78, 0x13, 0x13, 0, 0},
11214 {0x79, 0x1b, 0x1b, 0, 0},
11215 {0x7A, 0x1b, 0x1b, 0, 0},
11216 {0x7B, 0x55, 0x55, 0, 0},
11217 {0x7C, 0x5b, 0x5b, 0, 0},
11218 {0x7D, 0x30, 0x30, 1, 1},
11219 {0x7E, 0, 0, 0, 0},
11220 {0x7F, 0, 0, 0, 0},
11221 {0x80, 0, 0, 0, 0},
11222 {0x81, 0, 0, 0, 0},
11223 {0x82, 0, 0, 0, 0},
11224 {0x83, 0, 0, 0, 0},
11225 {0x84, 0, 0, 0, 0},
11226 {0x85, 0, 0, 0, 0},
11227 {0x86, 0, 0, 0, 0},
11228 {0x87, 0, 0, 0, 0},
11229 {0x88, 0, 0, 0, 0},
11230 {0x89, 0, 0, 0, 0},
11231 {0x8A, 0, 0, 0, 0},
11232 {0x8B, 0, 0, 0, 0},
11233 {0x8C, 0, 0, 0, 0},
11234 {0x8D, 0, 0, 0, 0},
11235 {0x8E, 0, 0, 0, 0},
11236 {0x8F, 0, 0, 0, 0},
11237 {0x90, 0, 0, 0, 0},
11238 {0x91, 0, 0, 0, 0},
11239 {0x92, 0, 0, 0, 0},
11240 {0x93, 0x70, 0x70, 0, 0},
11241 {0x94, 0x70, 0x70, 0, 0},
11242 {0x95, 0x70, 0x70, 0, 0},
11243 {0x96, 0x70, 0x70, 0, 0},
11244 {0x97, 0x70, 0x70, 0, 0},
11245 {0x98, 0x70, 0x70, 0, 0},
11246 {0x99, 0x70, 0x70, 0, 0},
11247 {0x9A, 0x70, 0x70, 0, 0},
11248 {0xFFFF, 0, 0, 0, 0},
11251 radio_regs_t regs_RX_2056_rev11[] = {
11252 {0x02, 0, 0, 0, 0},
11253 {0x03, 0, 0, 0, 0},
11254 {0x04, 0, 0, 0, 0},
11255 {0x05, 0, 0, 0, 0},
11256 {0x06, 0, 0, 0, 0},
11257 {0x07, 0, 0, 0, 0},
11258 {0x08, 0, 0, 0, 0},
11259 {0x09, 0, 0, 0, 0},
11260 {0x0A, 0, 0, 0, 0},
11261 {0x0B, 0, 0, 0, 0},
11262 {0x0C, 0, 0, 0, 0},
11263 {0x0D, 0, 0, 0, 0},
11264 {0x0E, 0, 0, 0, 0},
11265 {0x0F, 0, 0, 0, 0},
11266 {0x10, 0, 0, 0, 0},
11267 {0x11, 0, 0, 0, 0},
11268 {0x12, 0, 0, 0, 0},
11269 {0x13, 0, 0, 0, 0},
11270 {0x14, 0, 0, 0, 0},
11271 {0x15, 0, 0, 0, 0},
11272 {0x16, 0, 0, 0, 0},
11273 {0x17, 0, 0, 0, 0},
11274 {0x18, 0, 0, 0, 0},
11275 {0x19, 0, 0, 0, 0},
11276 {0x1A, 0, 0, 0, 0},
11277 {0x1B, 0, 0, 0, 0},
11278 {0x1C, 0, 0, 0, 0},
11279 {0x1D, 0, 0, 0, 0},
11280 {0x1E, 0, 0, 0, 0},
11281 {0x1F, 0, 0, 0, 0},
11282 {0x20, 0x3, 0x3, 0, 0},
11283 {0x21, 0, 0, 0, 0},
11284 {0x22, 0, 0, 0, 0},
11285 {0x23, 0x90, 0x90, 0, 0},
11286 {0x24, 0x55, 0x55, 0, 0},
11287 {0x25, 0x15, 0x15, 0, 0},
11288 {0x26, 0x5, 0x5, 0, 0},
11289 {0x27, 0x15, 0x15, 0, 0},
11290 {0x28, 0x5, 0x5, 0, 0},
11291 {0x29, 0x20, 0x20, 0, 0},
11292 {0x2A, 0x11, 0x11, 0, 0},
11293 {0x2B, 0x90, 0x90, 0, 0},
11294 {0x2C, 0, 0, 0, 0},
11295 {0x2D, 0x88, 0x88, 0, 0},
11296 {0x2E, 0x32, 0x32, 0, 0},
11297 {0x2F, 0x77, 0x77, 0, 0},
11298 {0x30, 0x17, 0x17, 1, 1},
11299 {0x31, 0xff, 0xff, 1, 1},
11300 {0x32, 0x20, 0x20, 0, 0},
11301 {0x33, 0, 0, 0, 0},
11302 {0x34, 0x88, 0x88, 0, 0},
11303 {0x35, 0x32, 0x32, 0, 0},
11304 {0x36, 0x77, 0x77, 0, 0},
11305 {0x37, 0x17, 0x17, 1, 1},
11306 {0x38, 0xf0, 0xf0, 1, 1},
11307 {0x39, 0x20, 0x20, 0, 0},
11308 {0x3A, 0x8, 0x8, 0, 0},
11309 {0x3B, 0x55, 0x55, 1, 1},
11310 {0x3C, 0, 0, 0, 0},
11311 {0x3D, 0x88, 0x88, 1, 1},
11312 {0x3E, 0, 0, 0, 0},
11313 {0x3F, 0x44, 0x44, 0, 0},
11314 {0x40, 0x7, 0x7, 1, 1},
11315 {0x41, 0x6, 0x6, 0, 0},
11316 {0x42, 0x4, 0x4, 0, 0},
11317 {0x43, 0, 0, 0, 0},
11318 {0x44, 0x8, 0x8, 0, 0},
11319 {0x45, 0x55, 0x55, 1, 1},
11320 {0x46, 0, 0, 0, 0},
11321 {0x47, 0x11, 0x11, 0, 0},
11322 {0x48, 0, 0, 0, 0},
11323 {0x49, 0x44, 0x44, 0, 0},
11324 {0x4A, 0x7, 0x7, 0, 0},
11325 {0x4B, 0x6, 0x6, 0, 0},
11326 {0x4C, 0x4, 0x4, 0, 0},
11327 {0x4D, 0, 0, 0, 0},
11328 {0x4E, 0, 0, 0, 0},
11329 {0x4F, 0x26, 0x26, 1, 1},
11330 {0x50, 0x26, 0x26, 1, 1},
11331 {0x51, 0xf, 0xf, 1, 1},
11332 {0x52, 0xf, 0xf, 1, 1},
11333 {0x53, 0x44, 0x44, 0, 0},
11334 {0x54, 0, 0, 0, 0},
11335 {0x55, 0, 0, 0, 0},
11336 {0x56, 0x8, 0x8, 0, 0},
11337 {0x57, 0x8, 0x8, 0, 0},
11338 {0x58, 0x7, 0x7, 0, 0},
11339 {0x59, 0x22, 0x22, 0, 0},
11340 {0x5A, 0x22, 0x22, 0, 0},
11341 {0x5B, 0x2, 0x2, 0, 0},
11342 {0x5C, 0x4, 0x4, 1, 1},
11343 {0x5D, 0x7, 0x7, 0, 0},
11344 {0x5E, 0x55, 0x55, 0, 0},
11345 {0x5F, 0x23, 0x23, 0, 0},
11346 {0x60, 0x41, 0x41, 0, 0},
11347 {0x61, 0x1, 0x1, 0, 0},
11348 {0x62, 0xa, 0xa, 0, 0},
11349 {0x63, 0, 0, 0, 0},
11350 {0x64, 0, 0, 0, 0},
11351 {0x65, 0, 0, 0, 0},
11352 {0x66, 0, 0, 0, 0},
11353 {0x67, 0, 0, 0, 0},
11354 {0x68, 0, 0, 0, 0},
11355 {0x69, 0, 0, 0, 0},
11356 {0x6A, 0, 0, 0, 0},
11357 {0x6B, 0xc, 0xc, 0, 0},
11358 {0x6C, 0, 0, 0, 0},
11359 {0x6D, 0, 0, 0, 0},
11360 {0x6E, 0, 0, 0, 0},
11361 {0x6F, 0, 0, 0, 0},
11362 {0x70, 0, 0, 0, 0},
11363 {0x71, 0, 0, 0, 0},
11364 {0x72, 0x22, 0x22, 0, 0},
11365 {0x73, 0x22, 0x22, 0, 0},
11366 {0x74, 0, 0, 1, 1},
11367 {0x75, 0xa, 0xa, 0, 0},
11368 {0x76, 0x1, 0x1, 0, 0},
11369 {0x77, 0x22, 0x22, 0, 0},
11370 {0x78, 0x30, 0x30, 0, 0},
11371 {0x79, 0, 0, 0, 0},
11372 {0x7A, 0, 0, 0, 0},
11373 {0x7B, 0, 0, 0, 0},
11374 {0x7C, 0, 0, 0, 0},
11375 {0x7D, 0x5, 0x5, 1, 1},
11376 {0x7E, 0, 0, 0, 0},
11377 {0x7F, 0, 0, 0, 0},
11378 {0x80, 0, 0, 0, 0},
11379 {0x81, 0, 0, 0, 0},
11380 {0x82, 0, 0, 0, 0},
11381 {0x83, 0, 0, 0, 0},
11382 {0x84, 0, 0, 0, 0},
11383 {0x85, 0, 0, 0, 0},
11384 {0x86, 0, 0, 0, 0},
11385 {0x87, 0, 0, 0, 0},
11386 {0x88, 0, 0, 0, 0},
11387 {0x89, 0, 0, 0, 0},
11388 {0x8A, 0, 0, 0, 0},
11389 {0x8B, 0, 0, 0, 0},
11390 {0x8C, 0, 0, 0, 0},
11391 {0x8D, 0, 0, 0, 0},
11392 {0x8E, 0, 0, 0, 0},
11393 {0x8F, 0, 0, 0, 0},
11394 {0x90, 0, 0, 0, 0},
11395 {0x91, 0, 0, 0, 0},
11396 {0x92, 0, 0, 0, 0},
11397 {0x93, 0, 0, 0, 0},
11398 {0x94, 0, 0, 0, 0},
11399 {0xFFFF, 0, 0, 0, 0},
11402 radio_20xx_regs_t regs_2057_rev4[] = {
11792 radio_20xx_regs_t regs_2057_rev5[] = {
12124 radio_20xx_regs_t regs_2057_rev5v1[] = {
12456 radio_20xx_regs_t regs_2057_rev7[] = {
12872 radio_20xx_regs_t regs_2057_rev8[] = {
13288 static s16 nphy_def_lnagains[] = { -2, 10, 19, 25 };
13290 static s32 nphy_lnagain_est0[] = { -315, 40370 };
13291 static s32 nphy_lnagain_est1[] = { -224, 23242 };
13293 static const u16 tbl_iqcal_gainparams_nphy[2][NPHY_IQCAL_NUMGAINS][8] = {
13295 {0x000, 0, 0, 2, 0x69, 0x69, 0x69, 0x69},
13296 {0x700, 7, 0, 0, 0x69, 0x69, 0x69, 0x69},
13297 {0x710, 7, 1, 0, 0x68, 0x68, 0x68, 0x68},
13298 {0x720, 7, 2, 0, 0x67, 0x67, 0x67, 0x67},
13299 {0x730, 7, 3, 0, 0x66, 0x66, 0x66, 0x66},
13300 {0x740, 7, 4, 0, 0x65, 0x65, 0x65, 0x65},
13301 {0x741, 7, 4, 1, 0x65, 0x65, 0x65, 0x65},
13302 {0x742, 7, 4, 2, 0x65, 0x65, 0x65, 0x65},
13303 {0x743, 7, 4, 3, 0x65, 0x65, 0x65, 0x65}
13306 {0x000, 7, 0, 0, 0x79, 0x79, 0x79, 0x79},
13307 {0x700, 7, 0, 0, 0x79, 0x79, 0x79, 0x79},
13308 {0x710, 7, 1, 0, 0x79, 0x79, 0x79, 0x79},
13309 {0x720, 7, 2, 0, 0x78, 0x78, 0x78, 0x78},
13310 {0x730, 7, 3, 0, 0x78, 0x78, 0x78, 0x78},
13311 {0x740, 7, 4, 0, 0x78, 0x78, 0x78, 0x78},
13312 {0x741, 7, 4, 1, 0x78, 0x78, 0x78, 0x78},
13313 {0x742, 7, 4, 2, 0x78, 0x78, 0x78, 0x78},
13314 {0x743, 7, 4, 3, 0x78, 0x78, 0x78, 0x78}
13318 static const u32 nphy_tpc_txgain[] = {
13319 0x03cc2b44, 0x03cc2b42, 0x03cc2a44, 0x03cc2a42,
13320 0x03cc2944, 0x03c82b44, 0x03c82b42, 0x03c82a44,
13321 0x03c82a42, 0x03c82944, 0x03c82942, 0x03c82844,
13322 0x03c82842, 0x03c42b44, 0x03c42b42, 0x03c42a44,
13323 0x03c42a42, 0x03c42944, 0x03c42942, 0x03c42844,
13324 0x03c42842, 0x03c42744, 0x03c42742, 0x03c42644,
13325 0x03c42642, 0x03c42544, 0x03c42542, 0x03c42444,
13326 0x03c42442, 0x03c02b44, 0x03c02b42, 0x03c02a44,
13327 0x03c02a42, 0x03c02944, 0x03c02942, 0x03c02844,
13328 0x03c02842, 0x03c02744, 0x03c02742, 0x03b02b44,
13329 0x03b02b42, 0x03b02a44, 0x03b02a42, 0x03b02944,
13330 0x03b02942, 0x03b02844, 0x03b02842, 0x03b02744,
13331 0x03b02742, 0x03b02644, 0x03b02642, 0x03b02544,
13332 0x03b02542, 0x03a02b44, 0x03a02b42, 0x03a02a44,
13333 0x03a02a42, 0x03a02944, 0x03a02942, 0x03a02844,
13334 0x03a02842, 0x03a02744, 0x03a02742, 0x03902b44,
13335 0x03902b42, 0x03902a44, 0x03902a42, 0x03902944,
13336 0x03902942, 0x03902844, 0x03902842, 0x03902744,
13337 0x03902742, 0x03902644, 0x03902642, 0x03902544,
13338 0x03902542, 0x03802b44, 0x03802b42, 0x03802a44,
13339 0x03802a42, 0x03802944, 0x03802942, 0x03802844,
13340 0x03802842, 0x03802744, 0x03802742, 0x03802644,
13341 0x03802642, 0x03802544, 0x03802542, 0x03802444,
13342 0x03802442, 0x03802344, 0x03802342, 0x03802244,
13343 0x03802242, 0x03802144, 0x03802142, 0x03802044,
13344 0x03802042, 0x03801f44, 0x03801f42, 0x03801e44,
13345 0x03801e42, 0x03801d44, 0x03801d42, 0x03801c44,
13346 0x03801c42, 0x03801b44, 0x03801b42, 0x03801a44,
13347 0x03801a42, 0x03801944, 0x03801942, 0x03801844,
13348 0x03801842, 0x03801744, 0x03801742, 0x03801644,
13349 0x03801642, 0x03801544, 0x03801542, 0x03801444,
13350 0x03801442, 0x03801344, 0x03801342, 0x00002b00
13353 static const u16 nphy_tpc_loscale[] = {
13354 256, 256, 271, 271, 287, 256, 256, 271,
13355 271, 287, 287, 304, 304, 256, 256, 271,
13356 271, 287, 287, 304, 304, 322, 322, 341,
13357 341, 362, 362, 383, 383, 256, 256, 271,
13358 271, 287, 287, 304, 304, 322, 322, 256,
13359 256, 271, 271, 287, 287, 304, 304, 322,
13360 322, 341, 341, 362, 362, 256, 256, 271,
13361 271, 287, 287, 304, 304, 322, 322, 256,
13362 256, 271, 271, 287, 287, 304, 304, 322,
13363 322, 341, 341, 362, 362, 256, 256, 271,
13364 271, 287, 287, 304, 304, 322, 322, 341,
13365 341, 362, 362, 383, 383, 406, 406, 430,
13366 430, 455, 455, 482, 482, 511, 511, 541,
13367 541, 573, 573, 607, 607, 643, 643, 681,
13368 681, 722, 722, 764, 764, 810, 810, 858,
13369 858, 908, 908, 962, 962, 1019, 1019, 256
13372 static u32 nphy_tpc_txgain_ipa[] = {
13373 0x5ff7002d, 0x5ff7002b, 0x5ff7002a, 0x5ff70029,
13374 0x5ff70028, 0x5ff70027, 0x5ff70026, 0x5ff70025,
13375 0x5ef7002d, 0x5ef7002b, 0x5ef7002a, 0x5ef70029,
13376 0x5ef70028, 0x5ef70027, 0x5ef70026, 0x5ef70025,
13377 0x5df7002d, 0x5df7002b, 0x5df7002a, 0x5df70029,
13378 0x5df70028, 0x5df70027, 0x5df70026, 0x5df70025,
13379 0x5cf7002d, 0x5cf7002b, 0x5cf7002a, 0x5cf70029,
13380 0x5cf70028, 0x5cf70027, 0x5cf70026, 0x5cf70025,
13381 0x5bf7002d, 0x5bf7002b, 0x5bf7002a, 0x5bf70029,
13382 0x5bf70028, 0x5bf70027, 0x5bf70026, 0x5bf70025,
13383 0x5af7002d, 0x5af7002b, 0x5af7002a, 0x5af70029,
13384 0x5af70028, 0x5af70027, 0x5af70026, 0x5af70025,
13385 0x59f7002d, 0x59f7002b, 0x59f7002a, 0x59f70029,
13386 0x59f70028, 0x59f70027, 0x59f70026, 0x59f70025,
13387 0x58f7002d, 0x58f7002b, 0x58f7002a, 0x58f70029,
13388 0x58f70028, 0x58f70027, 0x58f70026, 0x58f70025,
13389 0x57f7002d, 0x57f7002b, 0x57f7002a, 0x57f70029,
13390 0x57f70028, 0x57f70027, 0x57f70026, 0x57f70025,
13391 0x56f7002d, 0x56f7002b, 0x56f7002a, 0x56f70029,
13392 0x56f70028, 0x56f70027, 0x56f70026, 0x56f70025,
13393 0x55f7002d, 0x55f7002b, 0x55f7002a, 0x55f70029,
13394 0x55f70028, 0x55f70027, 0x55f70026, 0x55f70025,
13395 0x54f7002d, 0x54f7002b, 0x54f7002a, 0x54f70029,
13396 0x54f70028, 0x54f70027, 0x54f70026, 0x54f70025,
13397 0x53f7002d, 0x53f7002b, 0x53f7002a, 0x53f70029,
13398 0x53f70028, 0x53f70027, 0x53f70026, 0x53f70025,
13399 0x52f7002d, 0x52f7002b, 0x52f7002a, 0x52f70029,
13400 0x52f70028, 0x52f70027, 0x52f70026, 0x52f70025,
13401 0x51f7002d, 0x51f7002b, 0x51f7002a, 0x51f70029,
13402 0x51f70028, 0x51f70027, 0x51f70026, 0x51f70025,
13403 0x50f7002d, 0x50f7002b, 0x50f7002a, 0x50f70029,
13404 0x50f70028, 0x50f70027, 0x50f70026, 0x50f70025
13407 static u32 nphy_tpc_txgain_ipa_rev5[] = {
13408 0x1ff7002d, 0x1ff7002b, 0x1ff7002a, 0x1ff70029,
13409 0x1ff70028, 0x1ff70027, 0x1ff70026, 0x1ff70025,
13410 0x1ef7002d, 0x1ef7002b, 0x1ef7002a, 0x1ef70029,
13411 0x1ef70028, 0x1ef70027, 0x1ef70026, 0x1ef70025,
13412 0x1df7002d, 0x1df7002b, 0x1df7002a, 0x1df70029,
13413 0x1df70028, 0x1df70027, 0x1df70026, 0x1df70025,
13414 0x1cf7002d, 0x1cf7002b, 0x1cf7002a, 0x1cf70029,
13415 0x1cf70028, 0x1cf70027, 0x1cf70026, 0x1cf70025,
13416 0x1bf7002d, 0x1bf7002b, 0x1bf7002a, 0x1bf70029,
13417 0x1bf70028, 0x1bf70027, 0x1bf70026, 0x1bf70025,
13418 0x1af7002d, 0x1af7002b, 0x1af7002a, 0x1af70029,
13419 0x1af70028, 0x1af70027, 0x1af70026, 0x1af70025,
13420 0x19f7002d, 0x19f7002b, 0x19f7002a, 0x19f70029,
13421 0x19f70028, 0x19f70027, 0x19f70026, 0x19f70025,
13422 0x18f7002d, 0x18f7002b, 0x18f7002a, 0x18f70029,
13423 0x18f70028, 0x18f70027, 0x18f70026, 0x18f70025,
13424 0x17f7002d, 0x17f7002b, 0x17f7002a, 0x17f70029,
13425 0x17f70028, 0x17f70027, 0x17f70026, 0x17f70025,
13426 0x16f7002d, 0x16f7002b, 0x16f7002a, 0x16f70029,
13427 0x16f70028, 0x16f70027, 0x16f70026, 0x16f70025,
13428 0x15f7002d, 0x15f7002b, 0x15f7002a, 0x15f70029,
13429 0x15f70028, 0x15f70027, 0x15f70026, 0x15f70025,
13430 0x14f7002d, 0x14f7002b, 0x14f7002a, 0x14f70029,
13431 0x14f70028, 0x14f70027, 0x14f70026, 0x14f70025,
13432 0x13f7002d, 0x13f7002b, 0x13f7002a, 0x13f70029,
13433 0x13f70028, 0x13f70027, 0x13f70026, 0x13f70025,
13434 0x12f7002d, 0x12f7002b, 0x12f7002a, 0x12f70029,
13435 0x12f70028, 0x12f70027, 0x12f70026, 0x12f70025,
13436 0x11f7002d, 0x11f7002b, 0x11f7002a, 0x11f70029,
13437 0x11f70028, 0x11f70027, 0x11f70026, 0x11f70025,
13438 0x10f7002d, 0x10f7002b, 0x10f7002a, 0x10f70029,
13439 0x10f70028, 0x10f70027, 0x10f70026, 0x10f70025
13442 static u32 nphy_tpc_txgain_ipa_rev6[] = {
13443 0x0ff7002d, 0x0ff7002b, 0x0ff7002a, 0x0ff70029,
13444 0x0ff70028, 0x0ff70027, 0x0ff70026, 0x0ff70025,
13445 0x0ef7002d, 0x0ef7002b, 0x0ef7002a, 0x0ef70029,
13446 0x0ef70028, 0x0ef70027, 0x0ef70026, 0x0ef70025,
13447 0x0df7002d, 0x0df7002b, 0x0df7002a, 0x0df70029,
13448 0x0df70028, 0x0df70027, 0x0df70026, 0x0df70025,
13449 0x0cf7002d, 0x0cf7002b, 0x0cf7002a, 0x0cf70029,
13450 0x0cf70028, 0x0cf70027, 0x0cf70026, 0x0cf70025,
13451 0x0bf7002d, 0x0bf7002b, 0x0bf7002a, 0x0bf70029,
13452 0x0bf70028, 0x0bf70027, 0x0bf70026, 0x0bf70025,
13453 0x0af7002d, 0x0af7002b, 0x0af7002a, 0x0af70029,
13454 0x0af70028, 0x0af70027, 0x0af70026, 0x0af70025,
13455 0x09f7002d, 0x09f7002b, 0x09f7002a, 0x09f70029,
13456 0x09f70028, 0x09f70027, 0x09f70026, 0x09f70025,
13457 0x08f7002d, 0x08f7002b, 0x08f7002a, 0x08f70029,
13458 0x08f70028, 0x08f70027, 0x08f70026, 0x08f70025,
13459 0x07f7002d, 0x07f7002b, 0x07f7002a, 0x07f70029,
13460 0x07f70028, 0x07f70027, 0x07f70026, 0x07f70025,
13461 0x06f7002d, 0x06f7002b, 0x06f7002a, 0x06f70029,
13462 0x06f70028, 0x06f70027, 0x06f70026, 0x06f70025,
13463 0x05f7002d, 0x05f7002b, 0x05f7002a, 0x05f70029,
13464 0x05f70028, 0x05f70027, 0x05f70026, 0x05f70025,
13465 0x04f7002d, 0x04f7002b, 0x04f7002a, 0x04f70029,
13466 0x04f70028, 0x04f70027, 0x04f70026, 0x04f70025,
13467 0x03f7002d, 0x03f7002b, 0x03f7002a, 0x03f70029,
13468 0x03f70028, 0x03f70027, 0x03f70026, 0x03f70025,
13469 0x02f7002d, 0x02f7002b, 0x02f7002a, 0x02f70029,
13470 0x02f70028, 0x02f70027, 0x02f70026, 0x02f70025,
13471 0x01f7002d, 0x01f7002b, 0x01f7002a, 0x01f70029,
13472 0x01f70028, 0x01f70027, 0x01f70026, 0x01f70025,
13473 0x00f7002d, 0x00f7002b, 0x00f7002a, 0x00f70029,
13474 0x00f70028, 0x00f70027, 0x00f70026, 0x00f70025
13477 static u32 nphy_tpc_txgain_ipa_2g_2057rev3[] = {
13478 0x70ff0040, 0x70f7003e, 0x70ef003b, 0x70e70039,
13479 0x70df0037, 0x70d70036, 0x70cf0033, 0x70c70032,
13480 0x70bf0031, 0x70b7002f, 0x70af002e, 0x70a7002d,
13481 0x709f002d, 0x7097002c, 0x708f002c, 0x7087002c,
13482 0x707f002b, 0x7077002c, 0x706f002c, 0x7067002d,
13483 0x705f002e, 0x705f002b, 0x705f0029, 0x7057002a,
13484 0x70570028, 0x704f002a, 0x7047002c, 0x7047002a,
13485 0x70470028, 0x70470026, 0x70470024, 0x70470022,
13486 0x7047001f, 0x70370027, 0x70370024, 0x70370022,
13487 0x70370020, 0x7037001f, 0x7037001d, 0x7037001b,
13488 0x7037001a, 0x70370018, 0x70370017, 0x7027001e,
13489 0x7027001d, 0x7027001a, 0x701f0024, 0x701f0022,
13490 0x701f0020, 0x701f001f, 0x701f001d, 0x701f001b,
13491 0x701f001a, 0x701f0018, 0x701f0017, 0x701f0015,
13492 0x701f0014, 0x701f0013, 0x701f0012, 0x701f0011,
13493 0x70170019, 0x70170018, 0x70170016, 0x70170015,
13494 0x70170014, 0x70170013, 0x70170012, 0x70170010,
13495 0x70170010, 0x7017000f, 0x700f001d, 0x700f001b,
13496 0x700f001a, 0x700f0018, 0x700f0017, 0x700f0015,
13497 0x700f0015, 0x700f0013, 0x700f0013, 0x700f0011,
13498 0x700f0010, 0x700f0010, 0x700f000f, 0x700f000e,
13499 0x700f000d, 0x700f000c, 0x700f000b, 0x700f000b,
13500 0x700f000b, 0x700f000a, 0x700f0009, 0x700f0009,
13501 0x700f0009, 0x700f0008, 0x700f0007, 0x700f0007,
13502 0x700f0006, 0x700f0006, 0x700f0006, 0x700f0006,
13503 0x700f0005, 0x700f0005, 0x700f0005, 0x700f0004,
13504 0x700f0004, 0x700f0004, 0x700f0004, 0x700f0004,
13505 0x700f0004, 0x700f0003, 0x700f0003, 0x700f0003,
13506 0x700f0003, 0x700f0002, 0x700f0002, 0x700f0002,
13507 0x700f0002, 0x700f0002, 0x700f0002, 0x700f0001,
13508 0x700f0001, 0x700f0001, 0x700f0001, 0x700f0001,
13509 0x700f0001, 0x700f0001, 0x700f0001, 0x700f0001
13512 static u32 nphy_tpc_txgain_ipa_2g_2057rev4n6[] = {
13513 0xf0ff0040, 0xf0f7003e, 0xf0ef003b, 0xf0e70039,
13514 0xf0df0037, 0xf0d70036, 0xf0cf0033, 0xf0c70032,
13515 0xf0bf0031, 0xf0b7002f, 0xf0af002e, 0xf0a7002d,
13516 0xf09f002d, 0xf097002c, 0xf08f002c, 0xf087002c,
13517 0xf07f002b, 0xf077002c, 0xf06f002c, 0xf067002d,
13518 0xf05f002e, 0xf05f002b, 0xf05f0029, 0xf057002a,
13519 0xf0570028, 0xf04f002a, 0xf047002c, 0xf047002a,
13520 0xf0470028, 0xf0470026, 0xf0470024, 0xf0470022,
13521 0xf047001f, 0xf0370027, 0xf0370024, 0xf0370022,
13522 0xf0370020, 0xf037001f, 0xf037001d, 0xf037001b,
13523 0xf037001a, 0xf0370018, 0xf0370017, 0xf027001e,
13524 0xf027001d, 0xf027001a, 0xf01f0024, 0xf01f0022,
13525 0xf01f0020, 0xf01f001f, 0xf01f001d, 0xf01f001b,
13526 0xf01f001a, 0xf01f0018, 0xf01f0017, 0xf01f0015,
13527 0xf01f0014, 0xf01f0013, 0xf01f0012, 0xf01f0011,
13528 0xf0170019, 0xf0170018, 0xf0170016, 0xf0170015,
13529 0xf0170014, 0xf0170013, 0xf0170012, 0xf0170010,
13530 0xf0170010, 0xf017000f, 0xf00f001d, 0xf00f001b,
13531 0xf00f001a, 0xf00f0018, 0xf00f0017, 0xf00f0015,
13532 0xf00f0015, 0xf00f0013, 0xf00f0013, 0xf00f0011,
13533 0xf00f0010, 0xf00f0010, 0xf00f000f, 0xf00f000e,
13534 0xf00f000d, 0xf00f000c, 0xf00f000b, 0xf00f000b,
13535 0xf00f000b, 0xf00f000a, 0xf00f0009, 0xf00f0009,
13536 0xf00f0009, 0xf00f0008, 0xf00f0007, 0xf00f0007,
13537 0xf00f0006, 0xf00f0006, 0xf00f0006, 0xf00f0006,
13538 0xf00f0005, 0xf00f0005, 0xf00f0005, 0xf00f0004,
13539 0xf00f0004, 0xf00f0004, 0xf00f0004, 0xf00f0004,
13540 0xf00f0004, 0xf00f0003, 0xf00f0003, 0xf00f0003,
13541 0xf00f0003, 0xf00f0002, 0xf00f0002, 0xf00f0002,
13542 0xf00f0002, 0xf00f0002, 0xf00f0002, 0xf00f0001,
13543 0xf00f0001, 0xf00f0001, 0xf00f0001, 0xf00f0001,
13544 0xf00f0001, 0xf00f0001, 0xf00f0001, 0xf00f0001
13547 static u32 nphy_tpc_txgain_ipa_2g_2057rev5[] = {
13548 0x30ff0031, 0x30e70031, 0x30e7002e, 0x30cf002e,
13549 0x30bf002e, 0x30af002e, 0x309f002f, 0x307f0033,
13550 0x307f0031, 0x307f002e, 0x3077002e, 0x306f002e,
13551 0x3067002e, 0x305f002f, 0x30570030, 0x3057002d,
13552 0x304f002e, 0x30470031, 0x3047002e, 0x3047002c,
13553 0x30470029, 0x303f002c, 0x303f0029, 0x3037002d,
13554 0x3037002a, 0x30370028, 0x302f002c, 0x302f002a,
13555 0x302f0028, 0x302f0026, 0x3027002c, 0x30270029,
13556 0x30270027, 0x30270025, 0x30270023, 0x301f002c,
13557 0x301f002a, 0x301f0028, 0x301f0025, 0x301f0024,
13558 0x301f0022, 0x301f001f, 0x3017002d, 0x3017002b,
13559 0x30170028, 0x30170026, 0x30170024, 0x30170022,
13560 0x30170020, 0x3017001e, 0x3017001d, 0x3017001b,
13561 0x3017001a, 0x30170018, 0x30170017, 0x30170015,
13562 0x300f002c, 0x300f0029, 0x300f0027, 0x300f0024,
13563 0x300f0022, 0x300f0021, 0x300f001f, 0x300f001d,
13564 0x300f001b, 0x300f001a, 0x300f0018, 0x300f0017,
13565 0x300f0016, 0x300f0015, 0x300f0115, 0x300f0215,
13566 0x300f0315, 0x300f0415, 0x300f0515, 0x300f0615,
13567 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13568 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13569 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13570 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13571 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13572 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13573 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13574 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13575 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13576 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13577 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13578 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13579 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715
13582 static u32 nphy_tpc_txgain_ipa_2g_2057rev7[] = {
13583 0x30ff0031, 0x30e70031, 0x30e7002e, 0x30cf002e,
13584 0x30bf002e, 0x30af002e, 0x309f002f, 0x307f0033,
13585 0x307f0031, 0x307f002e, 0x3077002e, 0x306f002e,
13586 0x3067002e, 0x305f002f, 0x30570030, 0x3057002d,
13587 0x304f002e, 0x30470031, 0x3047002e, 0x3047002c,
13588 0x30470029, 0x303f002c, 0x303f0029, 0x3037002d,
13589 0x3037002a, 0x30370028, 0x302f002c, 0x302f002a,
13590 0x302f0028, 0x302f0026, 0x3027002c, 0x30270029,
13591 0x30270027, 0x30270025, 0x30270023, 0x301f002c,
13592 0x301f002a, 0x301f0028, 0x301f0025, 0x301f0024,
13593 0x301f0022, 0x301f001f, 0x3017002d, 0x3017002b,
13594 0x30170028, 0x30170026, 0x30170024, 0x30170022,
13595 0x30170020, 0x3017001e, 0x3017001d, 0x3017001b,
13596 0x3017001a, 0x30170018, 0x30170017, 0x30170015,
13597 0x300f002c, 0x300f0029, 0x300f0027, 0x300f0024,
13598 0x300f0022, 0x300f0021, 0x300f001f, 0x300f001d,
13599 0x300f001b, 0x300f001a, 0x300f0018, 0x300f0017,
13600 0x300f0016, 0x300f0015, 0x300f0115, 0x300f0215,
13601 0x300f0315, 0x300f0415, 0x300f0515, 0x300f0615,
13602 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13603 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13604 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13605 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13606 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13607 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13608 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13609 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13610 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13611 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13612 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13613 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715,
13614 0x300f0715, 0x300f0715, 0x300f0715, 0x300f0715
13617 static u32 nphy_tpc_txgain_ipa_5g[] = {
13618 0x7ff70035, 0x7ff70033, 0x7ff70032, 0x7ff70031,
13619 0x7ff7002f, 0x7ff7002e, 0x7ff7002d, 0x7ff7002b,
13620 0x7ff7002a, 0x7ff70029, 0x7ff70028, 0x7ff70027,
13621 0x7ff70026, 0x7ff70024, 0x7ff70023, 0x7ff70022,
13622 0x7ef70028, 0x7ef70027, 0x7ef70026, 0x7ef70025,
13623 0x7ef70024, 0x7ef70023, 0x7df70028, 0x7df70027,
13624 0x7df70026, 0x7df70025, 0x7df70024, 0x7df70023,
13625 0x7df70022, 0x7cf70029, 0x7cf70028, 0x7cf70027,
13626 0x7cf70026, 0x7cf70025, 0x7cf70023, 0x7cf70022,
13627 0x7bf70029, 0x7bf70028, 0x7bf70026, 0x7bf70025,
13628 0x7bf70024, 0x7bf70023, 0x7bf70022, 0x7bf70021,
13629 0x7af70029, 0x7af70028, 0x7af70027, 0x7af70026,
13630 0x7af70025, 0x7af70024, 0x7af70023, 0x7af70022,
13631 0x79f70029, 0x79f70028, 0x79f70027, 0x79f70026,
13632 0x79f70025, 0x79f70024, 0x79f70023, 0x79f70022,
13633 0x78f70029, 0x78f70028, 0x78f70027, 0x78f70026,
13634 0x78f70025, 0x78f70024, 0x78f70023, 0x78f70022,
13635 0x77f70029, 0x77f70028, 0x77f70027, 0x77f70026,
13636 0x77f70025, 0x77f70024, 0x77f70023, 0x77f70022,
13637 0x76f70029, 0x76f70028, 0x76f70027, 0x76f70026,
13638 0x76f70024, 0x76f70023, 0x76f70022, 0x76f70021,
13639 0x75f70029, 0x75f70028, 0x75f70027, 0x75f70026,
13640 0x75f70025, 0x75f70024, 0x75f70023, 0x74f70029,
13641 0x74f70028, 0x74f70026, 0x74f70025, 0x74f70024,
13642 0x74f70023, 0x74f70022, 0x73f70029, 0x73f70027,
13643 0x73f70026, 0x73f70025, 0x73f70024, 0x73f70023,
13644 0x73f70022, 0x72f70028, 0x72f70027, 0x72f70026,
13645 0x72f70025, 0x72f70024, 0x72f70023, 0x72f70022,
13646 0x71f70028, 0x71f70027, 0x71f70026, 0x71f70025,
13647 0x71f70024, 0x71f70023, 0x70f70028, 0x70f70027,
13648 0x70f70026, 0x70f70024, 0x70f70023, 0x70f70022,
13649 0x70f70021, 0x70f70020, 0x70f70020, 0x70f7001f
13652 static u32 nphy_tpc_txgain_ipa_5g_2057[] = {
13653 0x7f7f0044, 0x7f7f0040, 0x7f7f003c, 0x7f7f0039,
13654 0x7f7f0036, 0x7e7f003c, 0x7e7f0038, 0x7e7f0035,
13655 0x7d7f003c, 0x7d7f0039, 0x7d7f0036, 0x7d7f0033,
13656 0x7c7f003b, 0x7c7f0037, 0x7c7f0034, 0x7b7f003a,
13657 0x7b7f0036, 0x7b7f0033, 0x7a7f003c, 0x7a7f0039,
13658 0x7a7f0036, 0x7a7f0033, 0x797f003b, 0x797f0038,
13659 0x797f0035, 0x797f0032, 0x787f003b, 0x787f0038,
13660 0x787f0035, 0x787f0032, 0x777f003a, 0x777f0037,
13661 0x777f0034, 0x777f0031, 0x767f003a, 0x767f0036,
13662 0x767f0033, 0x767f0031, 0x757f003a, 0x757f0037,
13663 0x757f0034, 0x747f003c, 0x747f0039, 0x747f0036,
13664 0x747f0033, 0x737f003b, 0x737f0038, 0x737f0035,
13665 0x737f0032, 0x727f0039, 0x727f0036, 0x727f0033,
13666 0x727f0030, 0x717f003a, 0x717f0037, 0x717f0034,
13667 0x707f003b, 0x707f0038, 0x707f0035, 0x707f0032,
13668 0x707f002f, 0x707f002d, 0x707f002a, 0x707f0028,
13669 0x707f0025, 0x707f0023, 0x707f0021, 0x707f0020,
13670 0x707f001e, 0x707f001c, 0x707f001b, 0x707f0019,
13671 0x707f0018, 0x707f0016, 0x707f0015, 0x707f0014,
13672 0x707f0013, 0x707f0012, 0x707f0011, 0x707f0010,
13673 0x707f000f, 0x707f000e, 0x707f000d, 0x707f000d,
13674 0x707f000c, 0x707f000b, 0x707f000b, 0x707f000a,
13675 0x707f0009, 0x707f0009, 0x707f0008, 0x707f0008,
13676 0x707f0007, 0x707f0007, 0x707f0007, 0x707f0006,
13677 0x707f0006, 0x707f0006, 0x707f0005, 0x707f0005,
13678 0x707f0005, 0x707f0004, 0x707f0004, 0x707f0004,
13679 0x707f0004, 0x707f0004, 0x707f0003, 0x707f0003,
13680 0x707f0003, 0x707f0003, 0x707f0003, 0x707f0003,
13681 0x707f0002, 0x707f0002, 0x707f0002, 0x707f0002,
13682 0x707f0002, 0x707f0002, 0x707f0002, 0x707f0002,
13683 0x707f0001, 0x707f0001, 0x707f0001, 0x707f0001,
13684 0x707f0001, 0x707f0001, 0x707f0001, 0x707f0001
13687 static u32 nphy_tpc_txgain_ipa_5g_2057rev7[] = {
13688 0x6f7f0031, 0x6f7f002e, 0x6f7f002c, 0x6f7f002a,
13689 0x6f7f0027, 0x6e7f002e, 0x6e7f002c, 0x6e7f002a,
13690 0x6d7f0030, 0x6d7f002d, 0x6d7f002a, 0x6d7f0028,
13691 0x6c7f0030, 0x6c7f002d, 0x6c7f002b, 0x6b7f002e,
13692 0x6b7f002c, 0x6b7f002a, 0x6b7f0027, 0x6a7f002e,
13693 0x6a7f002c, 0x6a7f002a, 0x697f0030, 0x697f002e,
13694 0x697f002b, 0x697f0029, 0x687f002f, 0x687f002d,
13695 0x687f002a, 0x687f0027, 0x677f002f, 0x677f002d,
13696 0x677f002a, 0x667f0031, 0x667f002e, 0x667f002c,
13697 0x667f002a, 0x657f0030, 0x657f002e, 0x657f002b,
13698 0x657f0029, 0x647f0030, 0x647f002d, 0x647f002b,
13699 0x647f0029, 0x637f002f, 0x637f002d, 0x637f002a,
13700 0x627f0030, 0x627f002d, 0x627f002b, 0x627f0029,
13701 0x617f0030, 0x617f002e, 0x617f002b, 0x617f0029,
13702 0x607f002f, 0x607f002d, 0x607f002a, 0x607f0027,
13703 0x607f0026, 0x607f0023, 0x607f0021, 0x607f0020,
13704 0x607f001e, 0x607f001c, 0x607f001a, 0x607f0019,
13705 0x607f0018, 0x607f0016, 0x607f0015, 0x607f0014,
13706 0x607f0012, 0x607f0012, 0x607f0011, 0x607f000f,
13707 0x607f000f, 0x607f000e, 0x607f000d, 0x607f000c,
13708 0x607f000c, 0x607f000b, 0x607f000b, 0x607f000a,
13709 0x607f0009, 0x607f0009, 0x607f0008, 0x607f0008,
13710 0x607f0008, 0x607f0007, 0x607f0007, 0x607f0006,
13711 0x607f0006, 0x607f0005, 0x607f0005, 0x607f0005,
13712 0x607f0005, 0x607f0005, 0x607f0004, 0x607f0004,
13713 0x607f0004, 0x607f0004, 0x607f0003, 0x607f0003,
13714 0x607f0003, 0x607f0003, 0x607f0002, 0x607f0002,
13715 0x607f0002, 0x607f0002, 0x607f0002, 0x607f0002,
13716 0x607f0002, 0x607f0002, 0x607f0002, 0x607f0002,
13717 0x607f0002, 0x607f0002, 0x607f0002, 0x607f0002,
13718 0x607f0002, 0x607f0001, 0x607f0001, 0x607f0001,
13719 0x607f0001, 0x607f0001, 0x607f0001, 0x607f0001
13722 static s8 nphy_papd_pga_gain_delta_ipa_2g[] = {
13723 -114, -108, -98, -91, -84, -78, -70, -62,
13724 -54, -46, -39, -31, -23, -15, -8, 0
13727 static s8 nphy_papd_pga_gain_delta_ipa_5g[] = {
13728 -100, -95, -89, -83, -77, -70, -63, -56,
13729 -48, -41, -33, -25, -19, -12, -6, 0
13732 static s16 nphy_papd_padgain_dlt_2g_2057rev3n4[] = {
13733 -159, -113, -86, -72, -62, -54, -48, -43,
13734 -39, -35, -31, -28, -25, -23, -20, -18,
13735 -17, -15, -13, -11, -10, -8, -7, -6,
13736 -5, -4, -3, -3, -2, -1, -1, 0
13739 static s16 nphy_papd_padgain_dlt_2g_2057rev5[] = {
13740 -109, -109, -82, -68, -58, -50, -44, -39,
13741 -35, -31, -28, -26, -23, -21, -19, -17,
13742 -16, -14, -13, -11, -10, -9, -8, -7,
13743 -5, -5, -4, -3, -2, -1, -1, 0
13746 static s16 nphy_papd_padgain_dlt_2g_2057rev7[] = {
13747 -122, -122, -95, -80, -69, -61, -54, -49,
13748 -43, -39, -35, -32, -28, -26, -23, -21,
13749 -18, -16, -15, -13, -11, -10, -8, -7,
13750 -6, -5, -4, -3, -2, -1, -1, 0
13753 static s8 nphy_papd_pgagain_dlt_5g_2057[] = {
13754 -107, -101, -92, -85, -78, -71, -62, -55,
13755 -47, -39, -32, -24, -19, -12, -6, 0
13758 static s8 nphy_papd_pgagain_dlt_5g_2057rev7[] = {
13759 -110, -104, -95, -88, -81, -74, -66, -58,
13760 -50, -44, -36, -28, -23, -15, -8, 0
13763 static u8 pad_gain_codes_used_2057rev5[] = {
13764 20, 19, 18, 17, 16, 15, 14, 13, 12, 11,
13765 10, 9, 8, 7, 6, 5, 4, 3, 2, 1
13768 static u8 pad_gain_codes_used_2057rev7[] = {
13769 15, 14, 13, 12, 11, 10, 9, 8, 7, 6,
13773 static u8 pad_all_gain_codes_2057[] = {
13774 31, 30, 29, 28, 27, 26, 25, 24, 23, 22,
13775 21, 20, 19, 18, 17, 16, 15, 14, 13, 12,
13776 11, 10, 9, 8, 7, 6, 5, 4, 3, 2,
13780 static u8 pga_all_gain_codes_2057[] = {
13781 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
13784 static u32 nphy_papd_scaltbl[] = {
13785 0x0ae2002f, 0x0a3b0032, 0x09a70035, 0x09220038,
13786 0x0887003c, 0x081f003f, 0x07a20043, 0x07340047,
13787 0x06d2004b, 0x067a004f, 0x06170054, 0x05bf0059,
13788 0x0571005e, 0x051e0064, 0x04d3006a, 0x04910070,
13789 0x044c0077, 0x040f007e, 0x03d90085, 0x03a1008d,
13790 0x036f0095, 0x033d009e, 0x030b00a8, 0x02e000b2,
13791 0x02b900bc, 0x029200c7, 0x026d00d3, 0x024900e0,
13792 0x022900ed, 0x020a00fb, 0x01ec010a, 0x01d0011a,
13793 0x01b7012a, 0x019e013c, 0x0187014f, 0x01720162,
13794 0x015d0177, 0x0149018e, 0x013701a5, 0x012601be,
13795 0x011501d9, 0x010501f5, 0x00f70212, 0x00e90232,
13796 0x00dc0253, 0x00d00276, 0x00c4029c, 0x00b902c3,
13797 0x00af02ed, 0x00a5031a, 0x009c0349, 0x0093037a,
13798 0x008b03af, 0x008303e7, 0x007c0422, 0x00750461,
13799 0x006e04a3, 0x006804ea, 0x00620534, 0x005d0583,
13800 0x005805d7, 0x0053062f, 0x004e068d, 0x004a06f1
13803 static u32 nphy_tpc_txgain_rev3[] = {
13804 0x1f410044, 0x1f410042, 0x1f410040, 0x1f41003e,
13805 0x1f41003c, 0x1f41003b, 0x1f410039, 0x1f410037,
13806 0x1e410044, 0x1e410042, 0x1e410040, 0x1e41003e,
13807 0x1e41003c, 0x1e41003b, 0x1e410039, 0x1e410037,
13808 0x1d410044, 0x1d410042, 0x1d410040, 0x1d41003e,
13809 0x1d41003c, 0x1d41003b, 0x1d410039, 0x1d410037,
13810 0x1c410044, 0x1c410042, 0x1c410040, 0x1c41003e,
13811 0x1c41003c, 0x1c41003b, 0x1c410039, 0x1c410037,
13812 0x1b410044, 0x1b410042, 0x1b410040, 0x1b41003e,
13813 0x1b41003c, 0x1b41003b, 0x1b410039, 0x1b410037,
13814 0x1a410044, 0x1a410042, 0x1a410040, 0x1a41003e,
13815 0x1a41003c, 0x1a41003b, 0x1a410039, 0x1a410037,
13816 0x19410044, 0x19410042, 0x19410040, 0x1941003e,
13817 0x1941003c, 0x1941003b, 0x19410039, 0x19410037,
13818 0x18410044, 0x18410042, 0x18410040, 0x1841003e,
13819 0x1841003c, 0x1841003b, 0x18410039, 0x18410037,
13820 0x17410044, 0x17410042, 0x17410040, 0x1741003e,
13821 0x1741003c, 0x1741003b, 0x17410039, 0x17410037,
13822 0x16410044, 0x16410042, 0x16410040, 0x1641003e,
13823 0x1641003c, 0x1641003b, 0x16410039, 0x16410037,
13824 0x15410044, 0x15410042, 0x15410040, 0x1541003e,
13825 0x1541003c, 0x1541003b, 0x15410039, 0x15410037,
13826 0x14410044, 0x14410042, 0x14410040, 0x1441003e,
13827 0x1441003c, 0x1441003b, 0x14410039, 0x14410037,
13828 0x13410044, 0x13410042, 0x13410040, 0x1341003e,
13829 0x1341003c, 0x1341003b, 0x13410039, 0x13410037,
13830 0x12410044, 0x12410042, 0x12410040, 0x1241003e,
13831 0x1241003c, 0x1241003b, 0x12410039, 0x12410037,
13832 0x11410044, 0x11410042, 0x11410040, 0x1141003e,
13833 0x1141003c, 0x1141003b, 0x11410039, 0x11410037,
13834 0x10410044, 0x10410042, 0x10410040, 0x1041003e,
13835 0x1041003c, 0x1041003b, 0x10410039, 0x10410037
13838 static u32 nphy_tpc_txgain_HiPwrEPA[] = {
13839 0x0f410044, 0x0f410042, 0x0f410040, 0x0f41003e,
13840 0x0f41003c, 0x0f41003b, 0x0f410039, 0x0f410037,
13841 0x0e410044, 0x0e410042, 0x0e410040, 0x0e41003e,
13842 0x0e41003c, 0x0e41003b, 0x0e410039, 0x0e410037,
13843 0x0d410044, 0x0d410042, 0x0d410040, 0x0d41003e,
13844 0x0d41003c, 0x0d41003b, 0x0d410039, 0x0d410037,
13845 0x0c410044, 0x0c410042, 0x0c410040, 0x0c41003e,
13846 0x0c41003c, 0x0c41003b, 0x0c410039, 0x0c410037,
13847 0x0b410044, 0x0b410042, 0x0b410040, 0x0b41003e,
13848 0x0b41003c, 0x0b41003b, 0x0b410039, 0x0b410037,
13849 0x0a410044, 0x0a410042, 0x0a410040, 0x0a41003e,
13850 0x0a41003c, 0x0a41003b, 0x0a410039, 0x0a410037,
13851 0x09410044, 0x09410042, 0x09410040, 0x0941003e,
13852 0x0941003c, 0x0941003b, 0x09410039, 0x09410037,
13853 0x08410044, 0x08410042, 0x08410040, 0x0841003e,
13854 0x0841003c, 0x0841003b, 0x08410039, 0x08410037,
13855 0x07410044, 0x07410042, 0x07410040, 0x0741003e,
13856 0x0741003c, 0x0741003b, 0x07410039, 0x07410037,
13857 0x06410044, 0x06410042, 0x06410040, 0x0641003e,
13858 0x0641003c, 0x0641003b, 0x06410039, 0x06410037,
13859 0x05410044, 0x05410042, 0x05410040, 0x0541003e,
13860 0x0541003c, 0x0541003b, 0x05410039, 0x05410037,
13861 0x04410044, 0x04410042, 0x04410040, 0x0441003e,
13862 0x0441003c, 0x0441003b, 0x04410039, 0x04410037,
13863 0x03410044, 0x03410042, 0x03410040, 0x0341003e,
13864 0x0341003c, 0x0341003b, 0x03410039, 0x03410037,
13865 0x02410044, 0x02410042, 0x02410040, 0x0241003e,
13866 0x0241003c, 0x0241003b, 0x02410039, 0x02410037,
13867 0x01410044, 0x01410042, 0x01410040, 0x0141003e,
13868 0x0141003c, 0x0141003b, 0x01410039, 0x01410037,
13869 0x00410044, 0x00410042, 0x00410040, 0x0041003e,
13870 0x0041003c, 0x0041003b, 0x00410039, 0x00410037
13873 static u32 nphy_tpc_txgain_epa_2057rev3[] = {
13874 0x80f90040, 0x80e10040, 0x80e1003c, 0x80c9003d,
13875 0x80b9003c, 0x80a9003d, 0x80a1003c, 0x8099003b,
13876 0x8091003b, 0x8089003a, 0x8081003a, 0x80790039,
13877 0x80710039, 0x8069003a, 0x8061003b, 0x8059003d,
13878 0x8051003f, 0x80490042, 0x8049003e, 0x8049003b,
13879 0x8041003e, 0x8041003b, 0x8039003e, 0x8039003b,
13880 0x80390038, 0x80390035, 0x8031003a, 0x80310036,
13881 0x80310033, 0x8029003a, 0x80290037, 0x80290034,
13882 0x80290031, 0x80210039, 0x80210036, 0x80210033,
13883 0x80210030, 0x8019003c, 0x80190039, 0x80190036,
13884 0x80190033, 0x80190030, 0x8019002d, 0x8019002b,
13885 0x80190028, 0x8011003a, 0x80110036, 0x80110033,
13886 0x80110030, 0x8011002e, 0x8011002b, 0x80110029,
13887 0x80110027, 0x80110024, 0x80110022, 0x80110020,
13888 0x8011001f, 0x8011001d, 0x8009003a, 0x80090037,
13889 0x80090034, 0x80090031, 0x8009002e, 0x8009002c,
13890 0x80090029, 0x80090027, 0x80090025, 0x80090023,
13891 0x80090021, 0x8009001f, 0x8009001d, 0x8009011d,
13892 0x8009021d, 0x8009031d, 0x8009041d, 0x8009051d,
13893 0x8009061d, 0x8009071d, 0x8009071d, 0x8009071d,
13894 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13895 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13896 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13897 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13898 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13899 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13900 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13901 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13902 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13903 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13904 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d,
13905 0x8009071d, 0x8009071d, 0x8009071d, 0x8009071d
13908 static u32 nphy_tpc_txgain_epa_2057rev5[] = {
13909 0x10f90040, 0x10e10040, 0x10e1003c, 0x10c9003d,
13910 0x10b9003c, 0x10a9003d, 0x10a1003c, 0x1099003b,
13911 0x1091003b, 0x1089003a, 0x1081003a, 0x10790039,
13912 0x10710039, 0x1069003a, 0x1061003b, 0x1059003d,
13913 0x1051003f, 0x10490042, 0x1049003e, 0x1049003b,
13914 0x1041003e, 0x1041003b, 0x1039003e, 0x1039003b,
13915 0x10390038, 0x10390035, 0x1031003a, 0x10310036,
13916 0x10310033, 0x1029003a, 0x10290037, 0x10290034,
13917 0x10290031, 0x10210039, 0x10210036, 0x10210033,
13918 0x10210030, 0x1019003c, 0x10190039, 0x10190036,
13919 0x10190033, 0x10190030, 0x1019002d, 0x1019002b,
13920 0x10190028, 0x1011003a, 0x10110036, 0x10110033,
13921 0x10110030, 0x1011002e, 0x1011002b, 0x10110029,
13922 0x10110027, 0x10110024, 0x10110022, 0x10110020,
13923 0x1011001f, 0x1011001d, 0x1009003a, 0x10090037,
13924 0x10090034, 0x10090031, 0x1009002e, 0x1009002c,
13925 0x10090029, 0x10090027, 0x10090025, 0x10090023,
13926 0x10090021, 0x1009001f, 0x1009001d, 0x1009001b,
13927 0x1009001a, 0x10090018, 0x10090017, 0x10090016,
13928 0x10090015, 0x10090013, 0x10090012, 0x10090011,
13929 0x10090010, 0x1009000f, 0x1009000f, 0x1009000e,
13930 0x1009000d, 0x1009000c, 0x1009000c, 0x1009000b,
13931 0x1009000a, 0x1009000a, 0x10090009, 0x10090009,
13932 0x10090008, 0x10090008, 0x10090007, 0x10090007,
13933 0x10090007, 0x10090006, 0x10090006, 0x10090005,
13934 0x10090005, 0x10090005, 0x10090005, 0x10090004,
13935 0x10090004, 0x10090004, 0x10090004, 0x10090003,
13936 0x10090003, 0x10090003, 0x10090003, 0x10090003,
13937 0x10090003, 0x10090002, 0x10090002, 0x10090002,
13938 0x10090002, 0x10090002, 0x10090002, 0x10090002,
13939 0x10090002, 0x10090002, 0x10090001, 0x10090001,
13940 0x10090001, 0x10090001, 0x10090001, 0x10090001
13943 static u32 nphy_tpc_5GHz_txgain_rev3[] = {
13944 0xcff70044, 0xcff70042, 0xcff70040, 0xcff7003e,
13945 0xcff7003c, 0xcff7003b, 0xcff70039, 0xcff70037,
13946 0xcef70044, 0xcef70042, 0xcef70040, 0xcef7003e,
13947 0xcef7003c, 0xcef7003b, 0xcef70039, 0xcef70037,
13948 0xcdf70044, 0xcdf70042, 0xcdf70040, 0xcdf7003e,
13949 0xcdf7003c, 0xcdf7003b, 0xcdf70039, 0xcdf70037,
13950 0xccf70044, 0xccf70042, 0xccf70040, 0xccf7003e,
13951 0xccf7003c, 0xccf7003b, 0xccf70039, 0xccf70037,
13952 0xcbf70044, 0xcbf70042, 0xcbf70040, 0xcbf7003e,
13953 0xcbf7003c, 0xcbf7003b, 0xcbf70039, 0xcbf70037,
13954 0xcaf70044, 0xcaf70042, 0xcaf70040, 0xcaf7003e,
13955 0xcaf7003c, 0xcaf7003b, 0xcaf70039, 0xcaf70037,
13956 0xc9f70044, 0xc9f70042, 0xc9f70040, 0xc9f7003e,
13957 0xc9f7003c, 0xc9f7003b, 0xc9f70039, 0xc9f70037,
13958 0xc8f70044, 0xc8f70042, 0xc8f70040, 0xc8f7003e,
13959 0xc8f7003c, 0xc8f7003b, 0xc8f70039, 0xc8f70037,
13960 0xc7f70044, 0xc7f70042, 0xc7f70040, 0xc7f7003e,
13961 0xc7f7003c, 0xc7f7003b, 0xc7f70039, 0xc7f70037,
13962 0xc6f70044, 0xc6f70042, 0xc6f70040, 0xc6f7003e,
13963 0xc6f7003c, 0xc6f7003b, 0xc6f70039, 0xc6f70037,
13964 0xc5f70044, 0xc5f70042, 0xc5f70040, 0xc5f7003e,
13965 0xc5f7003c, 0xc5f7003b, 0xc5f70039, 0xc5f70037,
13966 0xc4f70044, 0xc4f70042, 0xc4f70040, 0xc4f7003e,
13967 0xc4f7003c, 0xc4f7003b, 0xc4f70039, 0xc4f70037,
13968 0xc3f70044, 0xc3f70042, 0xc3f70040, 0xc3f7003e,
13969 0xc3f7003c, 0xc3f7003b, 0xc3f70039, 0xc3f70037,
13970 0xc2f70044, 0xc2f70042, 0xc2f70040, 0xc2f7003e,
13971 0xc2f7003c, 0xc2f7003b, 0xc2f70039, 0xc2f70037,
13972 0xc1f70044, 0xc1f70042, 0xc1f70040, 0xc1f7003e,
13973 0xc1f7003c, 0xc1f7003b, 0xc1f70039, 0xc1f70037,
13974 0xc0f70044, 0xc0f70042, 0xc0f70040, 0xc0f7003e,
13975 0xc0f7003c, 0xc0f7003b, 0xc0f70039, 0xc0f70037
13978 static u32 nphy_tpc_5GHz_txgain_rev4[] = {
13979 0x2ff20044, 0x2ff20042, 0x2ff20040, 0x2ff2003e,
13980 0x2ff2003c, 0x2ff2003b, 0x2ff20039, 0x2ff20037,
13981 0x2ef20044, 0x2ef20042, 0x2ef20040, 0x2ef2003e,
13982 0x2ef2003c, 0x2ef2003b, 0x2ef20039, 0x2ef20037,
13983 0x2df20044, 0x2df20042, 0x2df20040, 0x2df2003e,
13984 0x2df2003c, 0x2df2003b, 0x2df20039, 0x2df20037,
13985 0x2cf20044, 0x2cf20042, 0x2cf20040, 0x2cf2003e,
13986 0x2cf2003c, 0x2cf2003b, 0x2cf20039, 0x2cf20037,
13987 0x2bf20044, 0x2bf20042, 0x2bf20040, 0x2bf2003e,
13988 0x2bf2003c, 0x2bf2003b, 0x2bf20039, 0x2bf20037,
13989 0x2af20044, 0x2af20042, 0x2af20040, 0x2af2003e,
13990 0x2af2003c, 0x2af2003b, 0x2af20039, 0x2af20037,
13991 0x29f20044, 0x29f20042, 0x29f20040, 0x29f2003e,
13992 0x29f2003c, 0x29f2003b, 0x29f20039, 0x29f20037,
13993 0x28f20044, 0x28f20042, 0x28f20040, 0x28f2003e,
13994 0x28f2003c, 0x28f2003b, 0x28f20039, 0x28f20037,
13995 0x27f20044, 0x27f20042, 0x27f20040, 0x27f2003e,
13996 0x27f2003c, 0x27f2003b, 0x27f20039, 0x27f20037,
13997 0x26f20044, 0x26f20042, 0x26f20040, 0x26f2003e,
13998 0x26f2003c, 0x26f2003b, 0x26f20039, 0x26f20037,
13999 0x25f20044, 0x25f20042, 0x25f20040, 0x25f2003e,
14000 0x25f2003c, 0x25f2003b, 0x25f20039, 0x25f20037,
14001 0x24f20044, 0x24f20042, 0x24f20040, 0x24f2003e,
14002 0x24f2003c, 0x24f2003b, 0x24f20039, 0x24f20038,
14003 0x23f20041, 0x23f20040, 0x23f2003f, 0x23f2003e,
14004 0x23f2003c, 0x23f2003b, 0x23f20039, 0x23f20037,
14005 0x22f20044, 0x22f20042, 0x22f20040, 0x22f2003e,
14006 0x22f2003c, 0x22f2003b, 0x22f20039, 0x22f20037,
14007 0x21f20044, 0x21f20042, 0x21f20040, 0x21f2003e,
14008 0x21f2003c, 0x21f2003b, 0x21f20039, 0x21f20037,
14009 0x20d20043, 0x20d20041, 0x20d2003e, 0x20d2003c,
14010 0x20d2003a, 0x20d20038, 0x20d20036, 0x20d20034
14013 static u32 nphy_tpc_5GHz_txgain_rev5[] = {
14014 0x0f62004a, 0x0f620048, 0x0f620046, 0x0f620044,
14015 0x0f620042, 0x0f620040, 0x0f62003e, 0x0f62003c,
14016 0x0e620044, 0x0e620042, 0x0e620040, 0x0e62003e,
14017 0x0e62003c, 0x0e62003d, 0x0e62003b, 0x0e62003a,
14018 0x0d620043, 0x0d620041, 0x0d620040, 0x0d62003e,
14019 0x0d62003d, 0x0d62003c, 0x0d62003b, 0x0d62003a,
14020 0x0c620041, 0x0c620040, 0x0c62003f, 0x0c62003e,
14021 0x0c62003c, 0x0c62003b, 0x0c620039, 0x0c620037,
14022 0x0b620046, 0x0b620044, 0x0b620042, 0x0b620040,
14023 0x0b62003e, 0x0b62003c, 0x0b62003b, 0x0b62003a,
14024 0x0a620041, 0x0a620040, 0x0a62003e, 0x0a62003c,
14025 0x0a62003b, 0x0a62003a, 0x0a620039, 0x0a620038,
14026 0x0962003e, 0x0962003d, 0x0962003c, 0x0962003b,
14027 0x09620039, 0x09620037, 0x09620035, 0x09620033,
14028 0x08620044, 0x08620042, 0x08620040, 0x0862003e,
14029 0x0862003c, 0x0862003b, 0x0862003a, 0x08620039,
14030 0x07620043, 0x07620042, 0x07620040, 0x0762003f,
14031 0x0762003d, 0x0762003b, 0x0762003a, 0x07620039,
14032 0x0662003e, 0x0662003d, 0x0662003c, 0x0662003b,
14033 0x06620039, 0x06620037, 0x06620035, 0x06620033,
14034 0x05620046, 0x05620044, 0x05620042, 0x05620040,
14035 0x0562003e, 0x0562003c, 0x0562003b, 0x05620039,
14036 0x04620044, 0x04620042, 0x04620040, 0x0462003e,
14037 0x0462003c, 0x0462003b, 0x04620039, 0x04620038,
14038 0x0362003c, 0x0362003b, 0x0362003a, 0x03620039,
14039 0x03620038, 0x03620037, 0x03620035, 0x03620033,
14040 0x0262004c, 0x0262004a, 0x02620048, 0x02620047,
14041 0x02620046, 0x02620044, 0x02620043, 0x02620042,
14042 0x0162004a, 0x01620048, 0x01620046, 0x01620044,
14043 0x01620043, 0x01620042, 0x01620041, 0x01620040,
14044 0x00620042, 0x00620040, 0x0062003e, 0x0062003c,
14045 0x0062003b, 0x00620039, 0x00620037, 0x00620035
14048 static u32 nphy_tpc_5GHz_txgain_HiPwrEPA[] = {
14049 0x2ff10044, 0x2ff10042, 0x2ff10040, 0x2ff1003e,
14050 0x2ff1003c, 0x2ff1003b, 0x2ff10039, 0x2ff10037,
14051 0x2ef10044, 0x2ef10042, 0x2ef10040, 0x2ef1003e,
14052 0x2ef1003c, 0x2ef1003b, 0x2ef10039, 0x2ef10037,
14053 0x2df10044, 0x2df10042, 0x2df10040, 0x2df1003e,
14054 0x2df1003c, 0x2df1003b, 0x2df10039, 0x2df10037,
14055 0x2cf10044, 0x2cf10042, 0x2cf10040, 0x2cf1003e,
14056 0x2cf1003c, 0x2cf1003b, 0x2cf10039, 0x2cf10037,
14057 0x2bf10044, 0x2bf10042, 0x2bf10040, 0x2bf1003e,
14058 0x2bf1003c, 0x2bf1003b, 0x2bf10039, 0x2bf10037,
14059 0x2af10044, 0x2af10042, 0x2af10040, 0x2af1003e,
14060 0x2af1003c, 0x2af1003b, 0x2af10039, 0x2af10037,
14061 0x29f10044, 0x29f10042, 0x29f10040, 0x29f1003e,
14062 0x29f1003c, 0x29f1003b, 0x29f10039, 0x29f10037,
14063 0x28f10044, 0x28f10042, 0x28f10040, 0x28f1003e,
14064 0x28f1003c, 0x28f1003b, 0x28f10039, 0x28f10037,
14065 0x27f10044, 0x27f10042, 0x27f10040, 0x27f1003e,
14066 0x27f1003c, 0x27f1003b, 0x27f10039, 0x27f10037,
14067 0x26f10044, 0x26f10042, 0x26f10040, 0x26f1003e,
14068 0x26f1003c, 0x26f1003b, 0x26f10039, 0x26f10037,
14069 0x25f10044, 0x25f10042, 0x25f10040, 0x25f1003e,
14070 0x25f1003c, 0x25f1003b, 0x25f10039, 0x25f10037,
14071 0x24f10044, 0x24f10042, 0x24f10040, 0x24f1003e,
14072 0x24f1003c, 0x24f1003b, 0x24f10039, 0x24f10038,
14073 0x23f10041, 0x23f10040, 0x23f1003f, 0x23f1003e,
14074 0x23f1003c, 0x23f1003b, 0x23f10039, 0x23f10037,
14075 0x22f10044, 0x22f10042, 0x22f10040, 0x22f1003e,
14076 0x22f1003c, 0x22f1003b, 0x22f10039, 0x22f10037,
14077 0x21f10044, 0x21f10042, 0x21f10040, 0x21f1003e,
14078 0x21f1003c, 0x21f1003b, 0x21f10039, 0x21f10037,
14079 0x20d10043, 0x20d10041, 0x20d1003e, 0x20d1003c,
14080 0x20d1003a, 0x20d10038, 0x20d10036, 0x20d10034
14083 static u8 ant_sw_ctrl_tbl_rev8_2o3[] = { 0x14, 0x18 };
14084 static u8 ant_sw_ctrl_tbl_rev8[] = { 0x4, 0x8, 0x4, 0x8, 0x11, 0x12 };
14085 static u8 ant_sw_ctrl_tbl_rev8_2057v7_core0[] = {
14086 0x09, 0x0a, 0x15, 0x16, 0x09, 0x0a };
14087 static u8 ant_sw_ctrl_tbl_rev8_2057v7_core1[] = {
14088 0x09, 0x0a, 0x09, 0x0a, 0x15, 0x16 };
14090 static bool wlc_phy_chan2freq_nphy(phy_info_t *pi, uint channel, int *f,
14091 chan_info_nphy_radio2057_t **t0,
14092 chan_info_nphy_radio205x_t **t1,
14093 chan_info_nphy_radio2057_rev5_t **t2,
14094 chan_info_nphy_2055_t **t3);
14095 static void wlc_phy_chanspec_nphy_setup(phy_info_t *pi, chanspec_t chans,
14096 const nphy_sfo_cfg_t *c);
14098 static void wlc_phy_adjust_rx_analpfbw_nphy(phy_info_t *pi,
14099 u16 reduction_factr);
14100 static void wlc_phy_adjust_min_noisevar_nphy(phy_info_t *pi, int ntones, int *,
14102 static void wlc_phy_adjust_crsminpwr_nphy(phy_info_t *pi, u8 minpwr);
14103 static void wlc_phy_txlpfbw_nphy(phy_info_t *pi);
14104 static void wlc_phy_spurwar_nphy(phy_info_t *pi);
14106 static void wlc_phy_radio_preinit_2055(phy_info_t *pi);
14107 static void wlc_phy_radio_init_2055(phy_info_t *pi);
14108 static void wlc_phy_radio_postinit_2055(phy_info_t *pi);
14109 static void wlc_phy_radio_preinit_205x(phy_info_t *pi);
14110 static void wlc_phy_radio_init_2056(phy_info_t *pi);
14111 static void wlc_phy_radio_postinit_2056(phy_info_t *pi);
14112 static void wlc_phy_radio_init_2057(phy_info_t *pi);
14113 static void wlc_phy_radio_postinit_2057(phy_info_t *pi);
14114 static void wlc_phy_workarounds_nphy(phy_info_t *pi);
14115 static void wlc_phy_workarounds_nphy_gainctrl(phy_info_t *pi);
14116 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev5(phy_info_t *pi);
14117 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev6(phy_info_t *pi);
14118 static void wlc_phy_adjust_lnagaintbl_nphy(phy_info_t *pi);
14120 static void wlc_phy_restore_rssical_nphy(phy_info_t *pi);
14121 static void wlc_phy_reapply_txcal_coeffs_nphy(phy_info_t *pi);
14122 static void wlc_phy_tx_iq_war_nphy(phy_info_t *pi);
14123 static int wlc_phy_cal_rxiq_nphy_rev3(phy_info_t *pi, nphy_txgains_t tg,
14125 static void wlc_phy_rxcal_gainctrl_nphy_rev5(phy_info_t *pi, u8 rxcore,
14127 static void wlc_phy_update_mimoconfig_nphy(phy_info_t *pi, s32 preamble);
14128 static void wlc_phy_savecal_nphy(phy_info_t *pi);
14129 static void wlc_phy_restorecal_nphy(phy_info_t *pi);
14130 static void wlc_phy_resetcca_nphy(phy_info_t *pi);
14132 static void wlc_phy_txpwrctrl_config_nphy(phy_info_t *pi);
14133 static void wlc_phy_internal_cal_txgain_nphy(phy_info_t *pi);
14134 static void wlc_phy_precal_txgain_nphy(phy_info_t *pi);
14135 static void wlc_phy_update_txcal_ladder_nphy(phy_info_t *pi, u16 core);
14137 static void wlc_phy_extpa_set_tx_digi_filts_nphy(phy_info_t *pi);
14138 static void wlc_phy_ipa_set_tx_digi_filts_nphy(phy_info_t *pi);
14139 static void wlc_phy_ipa_restore_tx_digi_filts_nphy(phy_info_t *pi);
14140 static u16 wlc_phy_ipa_get_bbmult_nphy(phy_info_t *pi);
14141 static void wlc_phy_ipa_set_bbmult_nphy(phy_info_t *pi, u8 m0, u8 m1);
14142 static u32 *wlc_phy_get_ipa_gaintbl_nphy(phy_info_t *pi);
14144 static void wlc_phy_a1_nphy(phy_info_t *pi, u8 core, u32 winsz, u32,
14146 static u8 wlc_phy_a3_nphy(phy_info_t *pi, u8 start_gain, u8 core);
14147 static void wlc_phy_a2_nphy(phy_info_t *pi, nphy_ipa_txcalgains_t *,
14148 phy_cal_mode_t, u8);
14149 static void wlc_phy_papd_cal_cleanup_nphy(phy_info_t *pi,
14150 nphy_papd_restore_state *state);
14151 static void wlc_phy_papd_cal_setup_nphy(phy_info_t *pi,
14152 nphy_papd_restore_state *state, u8);
14154 static void wlc_phy_clip_det_nphy(phy_info_t *pi, u8 write, u16 *vals);
14156 static void wlc_phy_set_rfseq_nphy(phy_info_t *pi, u8 cmd, u8 *evts,
14159 static u16 wlc_phy_read_lpf_bw_ctl_nphy(phy_info_t *pi, u16 offset);
14162 wlc_phy_rfctrl_override_nphy_rev7(phy_info_t *pi, u16 field, u16 value,
14163 u8 core_mask, u8 off,
14166 static void wlc_phy_rssi_cal_nphy_rev2(phy_info_t *pi, u8 rssi_type);
14167 static void wlc_phy_rssi_cal_nphy_rev3(phy_info_t *pi);
14169 static bool wlc_phy_txpwr_srom_read_nphy(phy_info_t *pi);
14170 static void wlc_phy_txpwr_nphy_srom_convert(u8 *srom_max,
14172 u8 tmp_max_pwr, u8 rate_start,
14175 static void wlc_phy_txpwr_limit_to_tbl_nphy(phy_info_t *pi);
14176 static void wlc_phy_txpwrctrl_coeff_setup_nphy(phy_info_t *pi);
14177 static void wlc_phy_txpwrctrl_idle_tssi_nphy(phy_info_t *pi);
14178 static void wlc_phy_txpwrctrl_pwr_setup_nphy(phy_info_t *pi);
14180 static bool wlc_phy_txpwr_ison_nphy(phy_info_t *pi);
14181 static u8 wlc_phy_txpwr_idx_cur_get_nphy(phy_info_t *pi, u8 core);
14182 static void wlc_phy_txpwr_idx_cur_set_nphy(phy_info_t *pi, u8 idx0,
14184 static void wlc_phy_a4(phy_info_t *pi, bool full_cal);
14186 static u16 wlc_phy_radio205x_rcal(phy_info_t *pi);
14188 static u16 wlc_phy_radio2057_rccal(phy_info_t *pi);
14190 static u16 wlc_phy_gen_load_samples_nphy(phy_info_t *pi, u32 f_kHz,
14193 static void wlc_phy_loadsampletable_nphy(phy_info_t *pi, cs32 *tone_buf,
14195 static void wlc_phy_runsamples_nphy(phy_info_t *pi, u16 n, u16 lps,
14196 u16 wait, u8 iq, u8 dac_test_mode,
14197 bool modify_bbmult);
14199 bool wlc_phy_bist_check_phy(wlc_phy_t *pih)
14201 phy_info_t *pi = (phy_info_t *) pih;
14202 u32 phybist0, phybist1, phybist2, phybist3, phybist4;
14204 if (NREV_GE(pi->pubpi.phy_rev, 16))
14207 phybist0 = read_phy_reg(pi, 0x0e);
14208 phybist1 = read_phy_reg(pi, 0x0f);
14209 phybist2 = read_phy_reg(pi, 0xea);
14210 phybist3 = read_phy_reg(pi, 0xeb);
14211 phybist4 = read_phy_reg(pi, 0x156);
14213 if ((phybist0 == 0) && (phybist1 == 0x4000) && (phybist2 == 0x1fe0) &&
14214 (phybist3 == 0) && (phybist4 == 0)) {
14221 static void WLBANDINITFN(wlc_phy_bphy_init_nphy) (phy_info_t *pi)
14226 for (addr = (NPHY_TO_BPHY_OFF + BPHY_RSSI_LUT);
14227 addr <= (NPHY_TO_BPHY_OFF + BPHY_RSSI_LUT_END); addr++) {
14228 write_phy_reg(pi, addr, val);
14229 if (addr == (NPHY_TO_BPHY_OFF + 0x97))
14235 if (NORADIO_ENAB(pi->pubpi)) {
14237 write_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_PHYCRSTH, 0x3206);
14239 write_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_RSSI_TRESH, 0x281e);
14241 or_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_LNA_GAIN_RANGE, 0x1a);
14245 write_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_STEP, 0x668);
14250 wlc_phy_table_write_nphy(phy_info_t *pi, u32 id, u32 len, u32 offset,
14251 u32 width, const void *data)
14253 mimophytbl_info_t tbl;
14257 tbl.tbl_offset = offset;
14258 tbl.tbl_width = width;
14259 tbl.tbl_ptr = data;
14260 wlc_phy_write_table_nphy(pi, &tbl);
14264 wlc_phy_table_read_nphy(phy_info_t *pi, u32 id, u32 len, u32 offset,
14265 u32 width, void *data)
14267 mimophytbl_info_t tbl;
14271 tbl.tbl_offset = offset;
14272 tbl.tbl_width = width;
14273 tbl.tbl_ptr = data;
14274 wlc_phy_read_table_nphy(pi, &tbl);
14277 static void WLBANDINITFN(wlc_phy_static_table_download_nphy) (phy_info_t *pi)
14281 if (NREV_GE(pi->pubpi.phy_rev, 16)) {
14282 for (idx = 0; idx < mimophytbl_info_sz_rev16; idx++)
14283 wlc_phy_write_table_nphy(pi,
14284 &mimophytbl_info_rev16[idx]);
14285 } else if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14286 for (idx = 0; idx < mimophytbl_info_sz_rev7; idx++)
14287 wlc_phy_write_table_nphy(pi,
14288 &mimophytbl_info_rev7[idx]);
14289 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14290 for (idx = 0; idx < mimophytbl_info_sz_rev3; idx++)
14291 wlc_phy_write_table_nphy(pi,
14292 &mimophytbl_info_rev3[idx]);
14294 for (idx = 0; idx < mimophytbl_info_sz_rev0; idx++)
14295 wlc_phy_write_table_nphy(pi,
14296 &mimophytbl_info_rev0[idx]);
14300 static void WLBANDINITFN(wlc_phy_tbl_init_nphy) (phy_info_t *pi)
14305 if (pi->phy_init_por)
14306 wlc_phy_static_table_download_nphy(pi);
14308 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14310 antswctrllut = CHSPEC_IS2G(pi->radio_chanspec) ?
14311 pi->srom_fem2g.antswctrllut : pi->srom_fem5g.antswctrllut;
14313 switch (antswctrllut) {
14320 if (pi->aa2g == 7) {
14322 wlc_phy_table_write_nphy(pi,
14323 NPHY_TBL_ID_ANTSWCTRLLUT,
14325 &ant_sw_ctrl_tbl_rev8_2o3
14328 wlc_phy_table_write_nphy(pi,
14329 NPHY_TBL_ID_ANTSWCTRLLUT,
14331 &ant_sw_ctrl_tbl_rev8
14334 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14336 &ant_sw_ctrl_tbl_rev8[2]);
14337 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14339 &ant_sw_ctrl_tbl_rev8[4]);
14344 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14346 &ant_sw_ctrl_tbl_rev8_2057v7_core0
14348 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14350 &ant_sw_ctrl_tbl_rev8_2057v7_core0
14352 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14354 &ant_sw_ctrl_tbl_rev8_2057v7_core0
14357 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14359 &ant_sw_ctrl_tbl_rev8_2057v7_core1
14361 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14363 &ant_sw_ctrl_tbl_rev8_2057v7_core1
14365 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
14367 &ant_sw_ctrl_tbl_rev8_2057v7_core1
14375 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14376 for (idx = 0; idx < mimophytbl_info_sz_rev3_volatile; idx++) {
14378 if (idx == ANT_SWCTRL_TBL_REV3_IDX) {
14379 antswctrllut = CHSPEC_IS2G(pi->radio_chanspec) ?
14380 pi->srom_fem2g.antswctrllut : pi->
14381 srom_fem5g.antswctrllut;
14382 switch (antswctrllut) {
14384 wlc_phy_write_table_nphy(pi,
14385 &mimophytbl_info_rev3_volatile
14389 wlc_phy_write_table_nphy(pi,
14390 &mimophytbl_info_rev3_volatile1
14394 wlc_phy_write_table_nphy(pi,
14395 &mimophytbl_info_rev3_volatile2
14399 wlc_phy_write_table_nphy(pi,
14400 &mimophytbl_info_rev3_volatile3
14407 wlc_phy_write_table_nphy(pi,
14408 &mimophytbl_info_rev3_volatile
14413 for (idx = 0; idx < mimophytbl_info_sz_rev0_volatile; idx++) {
14414 wlc_phy_write_table_nphy(pi,
14415 &mimophytbl_info_rev0_volatile
14422 wlc_phy_write_txmacreg_nphy(phy_info_t *pi, u16 holdoff, u16 delay)
14424 write_phy_reg(pi, 0x77, holdoff);
14425 write_phy_reg(pi, 0xb4, delay);
14428 void wlc_phy_nphy_tkip_rifs_war(phy_info_t *pi, u8 rifs)
14430 u16 holdoff, delay;
14442 wlc_phy_write_txmacreg_nphy(pi, holdoff, delay);
14444 if (pi && pi->sh && (pi->sh->_rifs_phy != rifs)) {
14445 pi->sh->_rifs_phy = rifs;
14449 bool wlc_phy_attach_nphy(phy_info_t *pi)
14453 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 6)) {
14454 pi->phyhang_avoid = true;
14457 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 7)) {
14459 pi->nphy_gband_spurwar_en = true;
14461 if (pi->sh->boardflags2 & BFL2_SPUR_WAR) {
14462 pi->nphy_aband_spurwar_en = true;
14465 if (NREV_GE(pi->pubpi.phy_rev, 6) && NREV_LT(pi->pubpi.phy_rev, 7)) {
14467 if (pi->sh->boardflags2 & BFL2_2G_SPUR_WAR) {
14468 pi->nphy_gband_spurwar2_en = true;
14472 pi->n_preamble_override = AUTO;
14473 if (NREV_IS(pi->pubpi.phy_rev, 3) || NREV_IS(pi->pubpi.phy_rev, 4))
14474 pi->n_preamble_override = WLC_N_PREAMBLE_MIXEDMODE;
14476 pi->nphy_txrx_chain = AUTO;
14477 pi->phy_scraminit = AUTO;
14479 pi->nphy_rxcalparams = 0x010100B5;
14481 pi->nphy_perical = PHY_PERICAL_MPHASE;
14482 pi->mphase_cal_phase_id = MPHASE_CAL_STATE_IDLE;
14483 pi->mphase_txcal_numcmds = MPHASE_TXCAL_NUMCMDS;
14485 pi->nphy_gain_boost = true;
14486 pi->nphy_elna_gain_config = false;
14487 pi->radio_is_on = false;
14489 for (i = 0; i < pi->pubpi.phy_corenum; i++) {
14490 pi->nphy_txpwrindex[i].index = AUTO;
14493 wlc_phy_txpwrctrl_config_nphy(pi);
14494 if (pi->nphy_txpwrctrl == PHY_TPC_HW_ON)
14495 pi->hwpwrctrl_capable = true;
14497 pi->pi_fptr.init = wlc_phy_init_nphy;
14498 pi->pi_fptr.calinit = wlc_phy_cal_init_nphy;
14499 pi->pi_fptr.chanset = wlc_phy_chanspec_set_nphy;
14500 pi->pi_fptr.txpwrrecalc = wlc_phy_txpower_recalc_target_nphy;
14502 if (!wlc_phy_txpwr_srom_read_nphy(pi))
14508 static void wlc_phy_txpwrctrl_config_nphy(phy_info_t *pi)
14511 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14512 pi->nphy_txpwrctrl = PHY_TPC_HW_ON;
14513 pi->phy_5g_pwrgain = true;
14517 pi->nphy_txpwrctrl = PHY_TPC_HW_OFF;
14518 pi->phy_5g_pwrgain = false;
14520 if ((pi->sh->boardflags2 & BFL2_TXPWRCTRL_EN) &&
14521 NREV_GE(pi->pubpi.phy_rev, 2) && (pi->sh->sromrev >= 4))
14522 pi->nphy_txpwrctrl = PHY_TPC_HW_ON;
14523 else if ((pi->sh->sromrev >= 4)
14524 && (pi->sh->boardflags2 & BFL2_5G_PWRGAIN))
14525 pi->phy_5g_pwrgain = true;
14528 void WLBANDINITFN(wlc_phy_init_nphy) (phy_info_t *pi)
14532 nphy_txgains_t target_gain;
14533 u8 tx_pwr_ctrl_state;
14534 bool do_nphy_cal = false;
14536 uint origidx, intr_val;
14538 u32 d11_clk_ctl_st;
14542 if (!(pi->measure_hold & PHY_HOLD_FOR_SCAN)) {
14543 pi->measure_hold |= PHY_HOLD_FOR_NOT_ASSOC;
14546 if ((ISNPHY(pi)) && (NREV_GE(pi->pubpi.phy_rev, 5)) &&
14547 ((pi->sh->chippkg == BCM4717_PKG_ID) ||
14548 (pi->sh->chippkg == BCM4718_PKG_ID))) {
14549 if ((pi->sh->boardflags & BFL_EXTLNA) &&
14550 (CHSPEC_IS2G(pi->radio_chanspec))) {
14551 ai_corereg(pi->sh->sih, SI_CC_IDX,
14552 offsetof(chipcregs_t, chipcontrol), 0x40,
14557 if ((!PHY_IPA(pi)) && (pi->sh->chip == BCM5357_CHIP_ID)) {
14558 si_pmu_chipcontrol(pi->sh->sih, 1, CCTRL5357_EXTPA,
14562 if ((pi->nphy_gband_spurwar2_en) && CHSPEC_IS2G(pi->radio_chanspec) &&
14563 CHSPEC_IS40(pi->radio_chanspec)) {
14565 regs = (d11regs_t *) ai_switch_core(pi->sh->sih, D11_CORE_ID,
14566 &origidx, &intr_val);
14567 d11_clk_ctl_st = R_REG(®s->clk_ctl_st);
14568 AND_REG(®s->clk_ctl_st,
14569 ~(CCS_FORCEHT | CCS_HTAREQ));
14571 W_REG(®s->clk_ctl_st, d11_clk_ctl_st);
14573 ai_restore_core(pi->sh->sih, origidx, intr_val);
14576 pi->use_int_tx_iqlo_cal_nphy =
14578 (NREV_GE(pi->pubpi.phy_rev, 7) ||
14579 (NREV_GE(pi->pubpi.phy_rev, 5)
14580 && pi->sh->boardflags2 & BFL2_INTERNDET_TXIQCAL)));
14582 pi->internal_tx_iqlo_cal_tapoff_intpa_nphy = false;
14584 pi->nphy_deaf_count = 0;
14586 wlc_phy_tbl_init_nphy(pi);
14588 pi->nphy_crsminpwr_adjusted = false;
14589 pi->nphy_noisevars_adjusted = false;
14591 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14592 write_phy_reg(pi, 0xe7, 0);
14593 write_phy_reg(pi, 0xec, 0);
14594 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14595 write_phy_reg(pi, 0x342, 0);
14596 write_phy_reg(pi, 0x343, 0);
14597 write_phy_reg(pi, 0x346, 0);
14598 write_phy_reg(pi, 0x347, 0);
14600 write_phy_reg(pi, 0xe5, 0);
14601 write_phy_reg(pi, 0xe6, 0);
14603 write_phy_reg(pi, 0xec, 0);
14606 write_phy_reg(pi, 0x91, 0);
14607 write_phy_reg(pi, 0x92, 0);
14608 if (NREV_LT(pi->pubpi.phy_rev, 6)) {
14609 write_phy_reg(pi, 0x93, 0);
14610 write_phy_reg(pi, 0x94, 0);
14613 and_phy_reg(pi, 0xa1, ~3);
14615 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14616 write_phy_reg(pi, 0x8f, 0);
14617 write_phy_reg(pi, 0xa5, 0);
14619 write_phy_reg(pi, 0xa5, 0);
14622 if (NREV_IS(pi->pubpi.phy_rev, 2))
14623 mod_phy_reg(pi, 0xdc, 0x00ff, 0x3b);
14624 else if (NREV_LT(pi->pubpi.phy_rev, 2))
14625 mod_phy_reg(pi, 0xdc, 0x00ff, 0x40);
14627 write_phy_reg(pi, 0x203, 32);
14628 write_phy_reg(pi, 0x201, 32);
14630 if (pi->sh->boardflags2 & BFL2_SKWRKFEM_BRD)
14631 write_phy_reg(pi, 0x20d, 160);
14633 write_phy_reg(pi, 0x20d, 184);
14635 write_phy_reg(pi, 0x13a, 200);
14637 write_phy_reg(pi, 0x70, 80);
14639 write_phy_reg(pi, 0x1ff, 48);
14641 if (NREV_LT(pi->pubpi.phy_rev, 8)) {
14642 wlc_phy_update_mimoconfig_nphy(pi, pi->n_preamble_override);
14645 wlc_phy_stf_chain_upd_nphy(pi);
14647 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
14648 write_phy_reg(pi, 0x180, 0xaa8);
14649 write_phy_reg(pi, 0x181, 0x9a4);
14653 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
14655 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
14656 0x29b, (0x1 << 0), (1) << 0);
14658 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x298 :
14659 0x29c, (0x1ff << 7),
14660 (pi->nphy_papd_epsilon_offset[core]) << 7);
14664 wlc_phy_ipa_set_tx_digi_filts_nphy(pi);
14667 if (NREV_GE(pi->pubpi.phy_rev, 5)) {
14668 wlc_phy_extpa_set_tx_digi_filts_nphy(pi);
14672 wlc_phy_workarounds_nphy(pi);
14674 wlapi_bmac_phyclk_fgc(pi->sh->physhim, ON);
14676 val = read_phy_reg(pi, 0x01);
14677 write_phy_reg(pi, 0x01, val | BBCFG_RESETCCA);
14678 write_phy_reg(pi, 0x01, val & (~BBCFG_RESETCCA));
14679 wlapi_bmac_phyclk_fgc(pi->sh->physhim, OFF);
14681 wlapi_bmac_macphyclk_set(pi->sh->physhim, ON);
14683 wlc_phy_pa_override_nphy(pi, OFF);
14684 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX);
14685 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
14686 wlc_phy_pa_override_nphy(pi, ON);
14688 wlc_phy_classifier_nphy(pi, 0, 0);
14689 wlc_phy_clip_det_nphy(pi, 0, clip1_ths);
14691 if (CHSPEC_IS2G(pi->radio_chanspec))
14692 wlc_phy_bphy_init_nphy(pi);
14694 tx_pwr_ctrl_state = pi->nphy_txpwrctrl;
14695 wlc_phy_txpwrctrl_enable_nphy(pi, PHY_TPC_HW_OFF);
14697 wlc_phy_txpwr_fixpower_nphy(pi);
14699 wlc_phy_txpwrctrl_idle_tssi_nphy(pi);
14701 wlc_phy_txpwrctrl_pwr_setup_nphy(pi);
14703 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14704 u32 *tx_pwrctrl_tbl = NULL;
14708 s32 rfpwr_offset = 0;
14711 tx_pwrctrl_tbl = wlc_phy_get_ipa_gaintbl_nphy(pi);
14713 if (CHSPEC_IS5G(pi->radio_chanspec)) {
14715 (pi->pubpi.phy_rev, 3) {
14717 nphy_tpc_5GHz_txgain_rev3;
14719 (pi->pubpi.phy_rev, 4) {
14721 (pi->srom_fem5g.extpagain == 3) ?
14722 nphy_tpc_5GHz_txgain_HiPwrEPA :
14723 nphy_tpc_5GHz_txgain_rev4;
14726 nphy_tpc_5GHz_txgain_rev5;
14730 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14731 if (pi->pubpi.radiorev == 5) {
14733 nphy_tpc_txgain_epa_2057rev5;
14734 } else if (pi->pubpi.radiorev == 3) {
14736 nphy_tpc_txgain_epa_2057rev3;
14740 if (NREV_GE(pi->pubpi.phy_rev, 5) &&
14741 (pi->srom_fem2g.extpagain == 3)) {
14743 nphy_tpc_txgain_HiPwrEPA;
14746 nphy_tpc_txgain_rev3;
14752 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 128,
14753 192, 32, tx_pwrctrl_tbl);
14754 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 128,
14755 192, 32, tx_pwrctrl_tbl);
14757 pi->nphy_gmval = (u16) ((*tx_pwrctrl_tbl >> 16) & 0x7000);
14759 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14761 for (idx = 0; idx < 128; idx++) {
14762 pga_gn = (tx_pwrctrl_tbl[idx] >> 24) & 0xf;
14763 pad_gn = (tx_pwrctrl_tbl[idx] >> 19) & 0x1f;
14765 if (CHSPEC_IS2G(pi->radio_chanspec)) {
14766 if ((pi->pubpi.radiorev == 3) ||
14767 (pi->pubpi.radiorev == 4) ||
14768 (pi->pubpi.radiorev == 6)) {
14769 rfpwr_offset = (s16)
14770 nphy_papd_padgain_dlt_2g_2057rev3n4
14772 } else if (pi->pubpi.radiorev == 5) {
14773 rfpwr_offset = (s16)
14774 nphy_papd_padgain_dlt_2g_2057rev5
14776 } else if ((pi->pubpi.radiorev == 7)
14777 || (pi->pubpi.radiorev ==
14779 rfpwr_offset = (s16)
14780 nphy_papd_padgain_dlt_2g_2057rev7
14784 if ((pi->pubpi.radiorev == 3) ||
14785 (pi->pubpi.radiorev == 4) ||
14786 (pi->pubpi.radiorev == 6)) {
14787 rfpwr_offset = (s16)
14788 nphy_papd_pgagain_dlt_5g_2057
14790 } else if ((pi->pubpi.radiorev == 7)
14791 || (pi->pubpi.radiorev ==
14793 rfpwr_offset = (s16)
14794 nphy_papd_pgagain_dlt_5g_2057rev7
14798 wlc_phy_table_write_nphy(pi,
14799 NPHY_TBL_ID_CORE1TXPWRCTL,
14802 wlc_phy_table_write_nphy(pi,
14803 NPHY_TBL_ID_CORE2TXPWRCTL,
14809 for (idx = 0; idx < 128; idx++) {
14810 pga_gn = (tx_pwrctrl_tbl[idx] >> 24) & 0xf;
14811 if (CHSPEC_IS2G(pi->radio_chanspec)) {
14812 rfpwr_offset = (s16)
14813 nphy_papd_pga_gain_delta_ipa_2g
14816 rfpwr_offset = (s16)
14817 nphy_papd_pga_gain_delta_ipa_5g
14821 wlc_phy_table_write_nphy(pi,
14822 NPHY_TBL_ID_CORE1TXPWRCTL,
14825 wlc_phy_table_write_nphy(pi,
14826 NPHY_TBL_ID_CORE2TXPWRCTL,
14834 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 128,
14835 192, 32, nphy_tpc_txgain);
14836 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 128,
14837 192, 32, nphy_tpc_txgain);
14840 if (pi->sh->phyrxchain != 0x3) {
14841 wlc_phy_rxcore_setstate_nphy((wlc_phy_t *) pi,
14842 pi->sh->phyrxchain);
14845 if (PHY_PERICAL_MPHASE_PENDING(pi)) {
14846 wlc_phy_cal_perical_mphase_restart(pi);
14849 if (!NORADIO_ENAB(pi->pubpi)) {
14850 bool do_rssi_cal = false;
14852 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14853 do_rssi_cal = (CHSPEC_IS2G(pi->radio_chanspec)) ?
14854 (pi->nphy_rssical_chanspec_2G == 0) :
14855 (pi->nphy_rssical_chanspec_5G == 0);
14858 wlc_phy_rssi_cal_nphy(pi);
14860 wlc_phy_restore_rssical_nphy(pi);
14863 wlc_phy_rssi_cal_nphy(pi);
14866 if (!SCAN_RM_IN_PROGRESS(pi)) {
14867 do_nphy_cal = (CHSPEC_IS2G(pi->radio_chanspec)) ?
14868 (pi->nphy_iqcal_chanspec_2G == 0) :
14869 (pi->nphy_iqcal_chanspec_5G == 0);
14872 if (!pi->do_initcal)
14873 do_nphy_cal = false;
14877 target_gain = wlc_phy_get_tx_gain_nphy(pi);
14879 if (pi->antsel_type == ANTSEL_2x3)
14880 wlc_phy_antsel_init((wlc_phy_t *) pi, true);
14882 if (pi->nphy_perical != PHY_PERICAL_MPHASE) {
14883 wlc_phy_rssi_cal_nphy(pi);
14885 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14886 pi->nphy_cal_orig_pwr_idx[0] =
14887 pi->nphy_txpwrindex[PHY_CORE_0].
14889 pi->nphy_cal_orig_pwr_idx[1] =
14890 pi->nphy_txpwrindex[PHY_CORE_1].
14893 wlc_phy_precal_txgain_nphy(pi);
14895 wlc_phy_get_tx_gain_nphy(pi);
14898 if (wlc_phy_cal_txiqlo_nphy
14899 (pi, target_gain, true, false) == 0) {
14900 if (wlc_phy_cal_rxiq_nphy
14901 (pi, target_gain, 2,
14903 wlc_phy_savecal_nphy(pi);
14907 } else if (pi->mphase_cal_phase_id ==
14908 MPHASE_CAL_STATE_IDLE) {
14910 wlc_phy_cal_perical((wlc_phy_t *) pi,
14911 PHY_PERICAL_PHYINIT);
14914 wlc_phy_restorecal_nphy(pi);
14918 wlc_phy_txpwrctrl_coeff_setup_nphy(pi);
14920 wlc_phy_txpwrctrl_enable_nphy(pi, tx_pwr_ctrl_state);
14922 wlc_phy_nphy_tkip_rifs_war(pi, pi->sh->_rifs_phy);
14924 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LE(pi->pubpi.phy_rev, 6))
14926 write_phy_reg(pi, 0x70, 50);
14928 wlc_phy_txlpfbw_nphy(pi);
14930 wlc_phy_spurwar_nphy(pi);
14934 static void wlc_phy_update_mimoconfig_nphy(phy_info_t *pi, s32 preamble)
14936 bool gf_preamble = false;
14939 if (preamble == WLC_N_PREAMBLE_GF) {
14940 gf_preamble = true;
14943 val = read_phy_reg(pi, 0xed);
14945 val |= RX_GF_MM_AUTO;
14946 val &= ~RX_GF_OR_MM;
14948 val |= RX_GF_OR_MM;
14950 write_phy_reg(pi, 0xed, val);
14953 static void wlc_phy_resetcca_nphy(phy_info_t *pi)
14957 wlapi_bmac_phyclk_fgc(pi->sh->physhim, ON);
14959 val = read_phy_reg(pi, 0x01);
14960 write_phy_reg(pi, 0x01, val | BBCFG_RESETCCA);
14962 write_phy_reg(pi, 0x01, val & (~BBCFG_RESETCCA));
14964 wlapi_bmac_phyclk_fgc(pi->sh->physhim, OFF);
14966 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
14969 void wlc_phy_pa_override_nphy(phy_info_t *pi, bool en)
14971 u16 rfctrlintc_override_val;
14975 pi->rfctrlIntc1_save = read_phy_reg(pi, 0x91);
14976 pi->rfctrlIntc2_save = read_phy_reg(pi, 0x92);
14978 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
14979 rfctrlintc_override_val = 0x1480;
14980 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
14981 rfctrlintc_override_val =
14982 CHSPEC_IS5G(pi->radio_chanspec) ? 0x600 : 0x480;
14984 rfctrlintc_override_val =
14985 CHSPEC_IS5G(pi->radio_chanspec) ? 0x180 : 0x120;
14988 write_phy_reg(pi, 0x91, rfctrlintc_override_val);
14989 write_phy_reg(pi, 0x92, rfctrlintc_override_val);
14992 write_phy_reg(pi, 0x91, pi->rfctrlIntc1_save);
14993 write_phy_reg(pi, 0x92, pi->rfctrlIntc2_save);
14998 void wlc_phy_stf_chain_upd_nphy(phy_info_t *pi)
15002 (NPHY_RfseqCoreActv_TxRxChain0 | NPHY_RfseqCoreActv_TxRxChain1);
15003 bool CoreActv_override = false;
15005 if (pi->nphy_txrx_chain == WLC_N_TXRX_CHAIN0) {
15006 txrx_chain = NPHY_RfseqCoreActv_TxRxChain0;
15007 CoreActv_override = true;
15009 if (NREV_LE(pi->pubpi.phy_rev, 2)) {
15010 and_phy_reg(pi, 0xa0, ~0x20);
15012 } else if (pi->nphy_txrx_chain == WLC_N_TXRX_CHAIN1) {
15013 txrx_chain = NPHY_RfseqCoreActv_TxRxChain1;
15014 CoreActv_override = true;
15016 if (NREV_LE(pi->pubpi.phy_rev, 2)) {
15017 or_phy_reg(pi, 0xa0, 0x20);
15021 mod_phy_reg(pi, 0xa2, ((0xf << 0) | (0xf << 4)), txrx_chain);
15023 if (CoreActv_override) {
15025 pi->nphy_perical = PHY_PERICAL_DISABLE;
15026 or_phy_reg(pi, 0xa1, NPHY_RfseqMode_CoreActv_override);
15028 pi->nphy_perical = PHY_PERICAL_MPHASE;
15029 and_phy_reg(pi, 0xa1, ~NPHY_RfseqMode_CoreActv_override);
15033 void wlc_phy_rxcore_setstate_nphy(wlc_phy_t *pih, u8 rxcore_bitmask)
15038 phy_info_t *pi = (phy_info_t *) pih;
15042 pi->sh->phyrxchain = rxcore_bitmask;
15048 (0 == (R_REG(&pi->regs->maccontrol) & MCTL_EN_MAC));
15050 wlapi_suspend_mac_and_wait(pi->sh->physhim);
15052 if (pi->phyhang_avoid)
15053 wlc_phy_stay_in_carriersearch_nphy(pi, true);
15055 regval = read_phy_reg(pi, 0xa2);
15056 regval &= ~(0xf << 4);
15057 regval |= ((u16) (rxcore_bitmask & 0x3)) << 4;
15058 write_phy_reg(pi, 0xa2, regval);
15060 if ((rxcore_bitmask & 0x3) != 0x3) {
15062 write_phy_reg(pi, 0x20e, 1);
15064 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
15065 if (pi->rx2tx_biasentry == -1) {
15066 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ,
15067 ARRAY_SIZE(tbl_buf), 80,
15070 for (i = 0; i < ARRAY_SIZE(tbl_buf); i++) {
15072 NPHY_REV3_RFSEQ_CMD_CLR_RXRX_BIAS) {
15074 pi->rx2tx_biasentry = (u8) i;
15076 NPHY_REV3_RFSEQ_CMD_NOP;
15077 wlc_phy_table_write_nphy(pi,
15083 } else if (tbl_buf[i] ==
15084 NPHY_REV3_RFSEQ_CMD_END) {
15092 write_phy_reg(pi, 0x20e, 30);
15094 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
15095 if (pi->rx2tx_biasentry != -1) {
15096 tbl_opcode = NPHY_REV3_RFSEQ_CMD_CLR_RXRX_BIAS;
15097 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15098 1, pi->rx2tx_biasentry,
15100 pi->rx2tx_biasentry = -1;
15105 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
15107 if (pi->phyhang_avoid)
15108 wlc_phy_stay_in_carriersearch_nphy(pi, false);
15111 wlapi_enable_mac(pi->sh->physhim);
15114 u8 wlc_phy_rxcore_getstate_nphy(wlc_phy_t *pih)
15116 u16 regval, rxen_bits;
15117 phy_info_t *pi = (phy_info_t *) pih;
15119 regval = read_phy_reg(pi, 0xa2);
15120 rxen_bits = (regval >> 4) & 0xf;
15122 return (u8) rxen_bits;
15125 bool wlc_phy_n_txpower_ipa_ison(phy_info_t *pi)
15127 return PHY_IPA(pi);
15130 static void wlc_phy_txpwr_limit_to_tbl_nphy(phy_info_t *pi)
15132 u8 idx, idx2, i, delta_ind;
15134 for (idx = TXP_FIRST_CCK; idx <= TXP_LAST_CCK; idx++) {
15135 pi->adj_pwr_tbl_nphy[idx] = pi->tx_power_offset[idx];
15138 for (i = 0; i < 4; i++) {
15146 if (CHSPEC_IS40(pi->radio_chanspec)
15147 && NPHY_IS_SROM_REINTERPRET) {
15148 idx = TXP_FIRST_MCS_40_SISO;
15150 idx = (CHSPEC_IS40(pi->radio_chanspec)) ?
15151 TXP_FIRST_OFDM_40_SISO : TXP_FIRST_OFDM;
15158 idx = (CHSPEC_IS40(pi->radio_chanspec)) ?
15159 TXP_FIRST_MCS_40_CDD : TXP_FIRST_MCS_20_CDD;
15164 idx = (CHSPEC_IS40(pi->radio_chanspec)) ?
15165 TXP_FIRST_MCS_40_STBC : TXP_FIRST_MCS_20_STBC;
15170 idx = (CHSPEC_IS40(pi->radio_chanspec)) ?
15171 TXP_FIRST_MCS_40_SDM : TXP_FIRST_MCS_20_SDM;
15175 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15176 pi->tx_power_offset[idx];
15177 idx = idx + delta_ind;
15178 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15179 pi->tx_power_offset[idx];
15180 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15181 pi->tx_power_offset[idx];
15182 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15183 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];
15189 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15190 pi->tx_power_offset[idx];
15191 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15192 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];
15198 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15199 pi->tx_power_offset[idx];
15200 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15201 pi->tx_power_offset[idx++];
15203 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15204 pi->tx_power_offset[idx];
15205 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15206 pi->tx_power_offset[idx++];
15207 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15208 pi->tx_power_offset[idx];
15209 idx = idx + 1 - delta_ind;
15210 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15211 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];
15217 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15218 pi->tx_power_offset[idx];
15219 pi->adj_pwr_tbl_nphy[4 + 4 * (idx2++) + i] =
15220 pi->tx_power_offset[idx];
15224 void wlc_phy_cal_init_nphy(phy_info_t *pi)
15228 static void wlc_phy_war_force_trsw_to_R_cliplo_nphy(phy_info_t *pi, u8 core)
15230 if (core == PHY_CORE_0) {
15231 write_phy_reg(pi, 0x38, 0x4);
15232 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15233 write_phy_reg(pi, 0x37, 0x0060);
15235 write_phy_reg(pi, 0x37, 0x1080);
15237 } else if (core == PHY_CORE_1) {
15238 write_phy_reg(pi, 0x2ae, 0x4);
15239 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15240 write_phy_reg(pi, 0x2ad, 0x0060);
15242 write_phy_reg(pi, 0x2ad, 0x1080);
15247 static void wlc_phy_war_txchain_upd_nphy(phy_info_t *pi, u8 txchain)
15249 u8 txchain0, txchain1;
15251 txchain0 = txchain & 0x1;
15252 txchain1 = (txchain & 0x2) >> 1;
15254 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi, PHY_CORE_0);
15258 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi, PHY_CORE_1);
15262 static void wlc_phy_workarounds_nphy(phy_info_t *pi)
15264 u8 rfseq_rx2tx_events[] = {
15265 NPHY_RFSEQ_CMD_NOP,
15266 NPHY_RFSEQ_CMD_RXG_FBW,
15267 NPHY_RFSEQ_CMD_TR_SWITCH,
15268 NPHY_RFSEQ_CMD_CLR_HIQ_DIS,
15269 NPHY_RFSEQ_CMD_RXPD_TXPD,
15270 NPHY_RFSEQ_CMD_TX_GAIN,
15271 NPHY_RFSEQ_CMD_EXT_PA
15273 u8 rfseq_rx2tx_dlys[] = { 8, 6, 6, 2, 4, 60, 1 };
15274 u8 rfseq_tx2rx_events[] = {
15275 NPHY_RFSEQ_CMD_NOP,
15276 NPHY_RFSEQ_CMD_EXT_PA,
15277 NPHY_RFSEQ_CMD_TX_GAIN,
15278 NPHY_RFSEQ_CMD_RXPD_TXPD,
15279 NPHY_RFSEQ_CMD_TR_SWITCH,
15280 NPHY_RFSEQ_CMD_RXG_FBW,
15281 NPHY_RFSEQ_CMD_CLR_HIQ_DIS
15283 u8 rfseq_tx2rx_dlys[] = { 8, 6, 2, 4, 4, 6, 1 };
15284 u8 rfseq_tx2rx_events_rev3[] = {
15285 NPHY_REV3_RFSEQ_CMD_EXT_PA,
15286 NPHY_REV3_RFSEQ_CMD_INT_PA_PU,
15287 NPHY_REV3_RFSEQ_CMD_TX_GAIN,
15288 NPHY_REV3_RFSEQ_CMD_RXPD_TXPD,
15289 NPHY_REV3_RFSEQ_CMD_TR_SWITCH,
15290 NPHY_REV3_RFSEQ_CMD_RXG_FBW,
15291 NPHY_REV3_RFSEQ_CMD_CLR_HIQ_DIS,
15292 NPHY_REV3_RFSEQ_CMD_END
15294 u8 rfseq_tx2rx_dlys_rev3[] = { 8, 4, 2, 2, 4, 4, 6, 1 };
15295 u8 rfseq_rx2tx_events_rev3[] = {
15296 NPHY_REV3_RFSEQ_CMD_NOP,
15297 NPHY_REV3_RFSEQ_CMD_RXG_FBW,
15298 NPHY_REV3_RFSEQ_CMD_TR_SWITCH,
15299 NPHY_REV3_RFSEQ_CMD_CLR_HIQ_DIS,
15300 NPHY_REV3_RFSEQ_CMD_RXPD_TXPD,
15301 NPHY_REV3_RFSEQ_CMD_TX_GAIN,
15302 NPHY_REV3_RFSEQ_CMD_INT_PA_PU,
15303 NPHY_REV3_RFSEQ_CMD_EXT_PA,
15304 NPHY_REV3_RFSEQ_CMD_END
15306 u8 rfseq_rx2tx_dlys_rev3[] = { 8, 6, 6, 4, 4, 18, 42, 1, 1 };
15308 u8 rfseq_rx2tx_events_rev3_ipa[] = {
15309 NPHY_REV3_RFSEQ_CMD_NOP,
15310 NPHY_REV3_RFSEQ_CMD_RXG_FBW,
15311 NPHY_REV3_RFSEQ_CMD_TR_SWITCH,
15312 NPHY_REV3_RFSEQ_CMD_CLR_HIQ_DIS,
15313 NPHY_REV3_RFSEQ_CMD_RXPD_TXPD,
15314 NPHY_REV3_RFSEQ_CMD_TX_GAIN,
15315 NPHY_REV3_RFSEQ_CMD_CLR_RXRX_BIAS,
15316 NPHY_REV3_RFSEQ_CMD_INT_PA_PU,
15317 NPHY_REV3_RFSEQ_CMD_END
15319 u8 rfseq_rx2tx_dlys_rev3_ipa[] = { 8, 6, 6, 4, 4, 16, 43, 1, 1 };
15320 u16 rfseq_rx2tx_dacbufpu_rev7[] = { 0x10f, 0x10f };
15322 s16 alpha0, alpha1, alpha2;
15323 s16 beta0, beta1, beta2;
15324 u32 leg_data_weights, ht_data_weights, nss1_data_weights,
15326 u8 chan_freq_range = 0;
15327 u16 dac_control = 0x0002;
15328 u16 aux_adc_vmid_rev7_core0[] = { 0x8e, 0x96, 0x96, 0x96 };
15329 u16 aux_adc_vmid_rev7_core1[] = { 0x8f, 0x9f, 0x9f, 0x96 };
15330 u16 aux_adc_vmid_rev4[] = { 0xa2, 0xb4, 0xb4, 0x89 };
15331 u16 aux_adc_vmid_rev3[] = { 0xa2, 0xb4, 0xb4, 0x89 };
15333 u16 aux_adc_gain_rev7[] = { 0x02, 0x02, 0x02, 0x02 };
15334 u16 aux_adc_gain_rev4[] = { 0x02, 0x02, 0x02, 0x00 };
15335 u16 aux_adc_gain_rev3[] = { 0x02, 0x02, 0x02, 0x00 };
15337 u16 sk_adc_vmid[] = { 0xb4, 0xb4, 0xb4, 0x24 };
15338 u16 sk_adc_gain[] = { 0x02, 0x02, 0x02, 0x02 };
15339 s32 min_nvar_val = 0x18d;
15340 s32 min_nvar_offset_6mbps = 20;
15344 u16 afectrl_adc_ctrl1_rev7 = 0x20;
15345 u16 afectrl_adc_ctrl2_rev7 = 0x0;
15346 u16 rfseq_rx2tx_lpf_h_hpc_rev7 = 0x77;
15347 u16 rfseq_tx2rx_lpf_h_hpc_rev7 = 0x77;
15348 u16 rfseq_pktgn_lpf_h_hpc_rev7 = 0x77;
15349 u16 rfseq_htpktgn_lpf_hpc_rev7[] = { 0x77, 0x11, 0x11 };
15350 u16 rfseq_pktgn_lpf_hpc_rev7[] = { 0x11, 0x11 };
15351 u16 rfseq_cckpktgn_lpf_hpc_rev7[] = { 0x11, 0x11 };
15352 u16 ipalvlshift_3p3_war_en = 0;
15353 u16 rccal_bcap_val, rccal_scap_val;
15354 u16 rccal_tx20_11b_bcap = 0;
15355 u16 rccal_tx20_11b_scap = 0;
15356 u16 rccal_tx20_11n_bcap = 0;
15357 u16 rccal_tx20_11n_scap = 0;
15358 u16 rccal_tx40_11n_bcap = 0;
15359 u16 rccal_tx40_11n_scap = 0;
15360 u16 rx2tx_lpf_rc_lut_tx20_11b = 0;
15361 u16 rx2tx_lpf_rc_lut_tx20_11n = 0;
15362 u16 rx2tx_lpf_rc_lut_tx40_11n = 0;
15363 u16 tx_lpf_bw_ofdm_20mhz = 0;
15364 u16 tx_lpf_bw_ofdm_40mhz = 0;
15365 u16 tx_lpf_bw_11b = 0;
15366 u16 ipa2g_mainbias, ipa2g_casconv, ipa2g_biasfilt;
15367 u16 txgm_idac_bleed = 0;
15368 bool rccal_ovrd = false;
15372 if (CHSPEC_IS5G(pi->radio_chanspec)) {
15373 wlc_phy_classifier_nphy(pi, NPHY_ClassifierCtrl_cck_en, 0);
15375 wlc_phy_classifier_nphy(pi, NPHY_ClassifierCtrl_cck_en, 1);
15378 if (pi->phyhang_avoid)
15379 wlc_phy_stay_in_carriersearch_nphy(pi, true);
15381 if (!ISSIM_ENAB(pi->sh->sih)) {
15382 or_phy_reg(pi, 0xb1, NPHY_IQFlip_ADC1 | NPHY_IQFlip_ADC2);
15385 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
15387 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
15388 mod_phy_reg(pi, 0x221, (0x1 << 4), (1 << 4));
15390 mod_phy_reg(pi, 0x160, (0x7f << 0), (32 << 0));
15391 mod_phy_reg(pi, 0x160, (0x7f << 8), (39 << 8));
15392 mod_phy_reg(pi, 0x161, (0x7f << 0), (46 << 0));
15393 mod_phy_reg(pi, 0x161, (0x7f << 8), (51 << 8));
15394 mod_phy_reg(pi, 0x162, (0x7f << 0), (55 << 0));
15395 mod_phy_reg(pi, 0x162, (0x7f << 8), (58 << 8));
15396 mod_phy_reg(pi, 0x163, (0x7f << 0), (60 << 0));
15397 mod_phy_reg(pi, 0x163, (0x7f << 8), (62 << 8));
15398 mod_phy_reg(pi, 0x164, (0x7f << 0), (62 << 0));
15399 mod_phy_reg(pi, 0x164, (0x7f << 8), (63 << 8));
15400 mod_phy_reg(pi, 0x165, (0x7f << 0), (63 << 0));
15401 mod_phy_reg(pi, 0x165, (0x7f << 8), (64 << 8));
15402 mod_phy_reg(pi, 0x166, (0x7f << 0), (64 << 0));
15403 mod_phy_reg(pi, 0x166, (0x7f << 8), (64 << 8));
15404 mod_phy_reg(pi, 0x167, (0x7f << 0), (64 << 0));
15405 mod_phy_reg(pi, 0x167, (0x7f << 8), (64 << 8));
15408 if (NREV_LE(pi->pubpi.phy_rev, 8)) {
15409 write_phy_reg(pi, 0x23f, 0x1b0);
15410 write_phy_reg(pi, 0x240, 0x1b0);
15413 if (NREV_GE(pi->pubpi.phy_rev, 8)) {
15414 mod_phy_reg(pi, 0xbd, (0xff << 0), (114 << 0));
15417 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x00, 16,
15419 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x10, 16,
15422 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
15423 1, 0, 32, &leg_data_weights);
15424 leg_data_weights = leg_data_weights & 0xffffff;
15425 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
15426 1, 0, 32, &leg_data_weights);
15428 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15430 rfseq_rx2tx_dacbufpu_rev7);
15431 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x16e, 16,
15432 rfseq_rx2tx_dacbufpu_rev7);
15435 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX,
15436 rfseq_rx2tx_events_rev3_ipa,
15437 rfseq_rx2tx_dlys_rev3_ipa,
15439 (rfseq_rx2tx_events_rev3_ipa) /
15441 (rfseq_rx2tx_events_rev3_ipa
15445 mod_phy_reg(pi, 0x299, (0x3 << 14), (0x1 << 14));
15446 mod_phy_reg(pi, 0x29d, (0x3 << 14), (0x1 << 14));
15448 tx_lpf_bw_ofdm_20mhz = wlc_phy_read_lpf_bw_ctl_nphy(pi, 0x154);
15449 tx_lpf_bw_ofdm_40mhz = wlc_phy_read_lpf_bw_ctl_nphy(pi, 0x159);
15450 tx_lpf_bw_11b = wlc_phy_read_lpf_bw_ctl_nphy(pi, 0x152);
15454 if (((pi->pubpi.radiorev == 5)
15455 && (CHSPEC_IS40(pi->radio_chanspec) == 1))
15456 || (pi->pubpi.radiorev == 7)
15457 || (pi->pubpi.radiorev == 8)) {
15461 RADIO_2057_RCCAL_BCAP_VAL);
15464 RADIO_2057_RCCAL_SCAP_VAL);
15466 rccal_tx20_11b_bcap = rccal_bcap_val;
15467 rccal_tx20_11b_scap = rccal_scap_val;
15469 if ((pi->pubpi.radiorev == 5) &&
15470 (CHSPEC_IS40(pi->radio_chanspec) == 1)) {
15472 rccal_tx20_11n_bcap = rccal_bcap_val;
15473 rccal_tx20_11n_scap = rccal_scap_val;
15474 rccal_tx40_11n_bcap = 0xc;
15475 rccal_tx40_11n_scap = 0xc;
15479 } else if ((pi->pubpi.radiorev == 7)
15480 || (pi->pubpi.radiorev == 8)) {
15482 tx_lpf_bw_ofdm_20mhz = 4;
15485 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15486 rccal_tx20_11n_bcap = 0xc;
15487 rccal_tx20_11n_scap = 0xc;
15488 rccal_tx40_11n_bcap = 0xa;
15489 rccal_tx40_11n_scap = 0xa;
15491 rccal_tx20_11n_bcap = 0x14;
15492 rccal_tx20_11n_scap = 0x14;
15493 rccal_tx40_11n_bcap = 0xf;
15494 rccal_tx40_11n_scap = 0xf;
15503 if (pi->pubpi.radiorev == 5) {
15505 tx_lpf_bw_ofdm_20mhz = 1;
15506 tx_lpf_bw_ofdm_40mhz = 3;
15510 RADIO_2057_RCCAL_BCAP_VAL);
15513 RADIO_2057_RCCAL_SCAP_VAL);
15515 rccal_tx20_11b_bcap = rccal_bcap_val;
15516 rccal_tx20_11b_scap = rccal_scap_val;
15518 rccal_tx20_11n_bcap = 0x13;
15519 rccal_tx20_11n_scap = 0x11;
15520 rccal_tx40_11n_bcap = 0x13;
15521 rccal_tx40_11n_scap = 0x11;
15529 rx2tx_lpf_rc_lut_tx20_11b = (rccal_tx20_11b_bcap << 8) |
15530 (rccal_tx20_11b_scap << 3) | tx_lpf_bw_11b;
15531 rx2tx_lpf_rc_lut_tx20_11n = (rccal_tx20_11n_bcap << 8) |
15532 (rccal_tx20_11n_scap << 3) | tx_lpf_bw_ofdm_20mhz;
15533 rx2tx_lpf_rc_lut_tx40_11n = (rccal_tx40_11n_bcap << 8) |
15534 (rccal_tx40_11n_scap << 3) | tx_lpf_bw_ofdm_40mhz;
15536 for (coreNum = 0; coreNum <= 1; coreNum++) {
15537 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15539 0x152 + coreNum * 0x10,
15541 &rx2tx_lpf_rc_lut_tx20_11b);
15542 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15544 0x153 + coreNum * 0x10,
15546 &rx2tx_lpf_rc_lut_tx20_11n);
15547 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15549 0x154 + coreNum * 0x10,
15551 &rx2tx_lpf_rc_lut_tx20_11n);
15552 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15554 0x155 + coreNum * 0x10,
15556 &rx2tx_lpf_rc_lut_tx40_11n);
15557 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15559 0x156 + coreNum * 0x10,
15561 &rx2tx_lpf_rc_lut_tx40_11n);
15562 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15564 0x157 + coreNum * 0x10,
15566 &rx2tx_lpf_rc_lut_tx40_11n);
15567 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15569 0x158 + coreNum * 0x10,
15571 &rx2tx_lpf_rc_lut_tx40_11n);
15572 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
15574 0x159 + coreNum * 0x10,
15576 &rx2tx_lpf_rc_lut_tx40_11n);
15579 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4),
15581 NPHY_REV7_RFCTRLOVERRIDE_ID2);
15584 if (!NORADIO_ENAB(pi->pubpi)) {
15585 write_phy_reg(pi, 0x32f, 0x3);
15588 if ((pi->pubpi.radiorev == 4) || (pi->pubpi.radiorev == 6)) {
15589 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2),
15591 NPHY_REV7_RFCTRLOVERRIDE_ID0);
15594 if ((pi->pubpi.radiorev == 3) || (pi->pubpi.radiorev == 4) ||
15595 (pi->pubpi.radiorev == 6)) {
15596 if ((pi->sh->sromrev >= 8)
15597 && (pi->sh->boardflags2 & BFL2_IPALVLSHIFT_3P3))
15598 ipalvlshift_3p3_war_en = 1;
15600 if (ipalvlshift_3p3_war_en) {
15601 write_radio_reg(pi, RADIO_2057_GPAIO_CONFIG,
15603 write_radio_reg(pi, RADIO_2057_GPAIO_SEL1,
15605 write_radio_reg(pi, RADIO_2057_GPAIO_SEL0, 0x0);
15607 RADIO_2057_RXTXBIAS_CONFIG_CORE0,
15610 RADIO_2057_RXTXBIAS_CONFIG_CORE1,
15613 ipa2g_mainbias = 0x1f;
15615 ipa2g_casconv = 0x6f;
15617 ipa2g_biasfilt = 0xaa;
15620 ipa2g_mainbias = 0x2b;
15622 ipa2g_casconv = 0x7f;
15624 ipa2g_biasfilt = 0xee;
15627 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15628 for (coreNum = 0; coreNum <= 1; coreNum++) {
15629 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15630 coreNum, IPA2G_IMAIN,
15632 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15633 coreNum, IPA2G_CASCONV,
15635 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15644 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15645 if ((pi->pubpi.radiorev == 3)
15646 || (pi->pubpi.radiorev == 4)
15647 || (pi->pubpi.radiorev == 6)) {
15649 txgm_idac_bleed = 0x7f;
15652 for (coreNum = 0; coreNum <= 1; coreNum++) {
15653 if (txgm_idac_bleed != 0)
15654 WRITE_RADIO_REG4(pi, RADIO_2057,
15660 if (pi->pubpi.radiorev == 5) {
15662 for (coreNum = 0; coreNum <= 1;
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,
15680 WRITE_RADIO_REG4(pi, RADIO_2057,
15682 PAD_BIAS_FILTER_BWS,
15686 } else if ((pi->pubpi.radiorev == 7)
15687 || (pi->pubpi.radiorev == 8)) {
15689 if (CHSPEC_IS40(pi->radio_chanspec) ==
15691 WRITE_RADIO_REG4(pi, RADIO_2057,
15695 WRITE_RADIO_REG4(pi, RADIO_2057,
15700 WRITE_RADIO_REG4(pi, RADIO_2057,
15704 WRITE_RADIO_REG4(pi, RADIO_2057,
15713 CHAN5G_FREQ(CHSPEC_CHANNEL
15714 (pi->radio_chanspec));
15715 if (((freq >= 5180) && (freq <= 5230))
15716 || ((freq >= 5745) && (freq <= 5805))) {
15717 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15718 0, IPA5G_BIAS_FILTER,
15720 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15721 1, IPA5G_BIAS_FILTER,
15727 if (pi->pubpi.radiorev != 5) {
15728 for (coreNum = 0; coreNum <= 1; coreNum++) {
15729 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15731 TXMIX2G_TUNE_BOOST_PU,
15733 WRITE_RADIO_REG4(pi, RADIO_2057, CORE,
15735 TXGM_IDAC_BLEED, 0x70);
15740 if (pi->pubpi.radiorev == 4) {
15741 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1,
15743 &afectrl_adc_ctrl1_rev7);
15744 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1,
15746 &afectrl_adc_ctrl1_rev7);
15748 for (coreNum = 0; coreNum <= 1; coreNum++) {
15749 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
15750 AFE_VCM_CAL_MASTER, 0x0);
15751 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
15752 AFE_SET_VCM_I, 0x3f);
15753 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
15754 AFE_SET_VCM_Q, 0x3f);
15757 mod_phy_reg(pi, 0xa6, (0x1 << 2), (0x1 << 2));
15758 mod_phy_reg(pi, 0x8f, (0x1 << 2), (0x1 << 2));
15759 mod_phy_reg(pi, 0xa7, (0x1 << 2), (0x1 << 2));
15760 mod_phy_reg(pi, 0xa5, (0x1 << 2), (0x1 << 2));
15762 mod_phy_reg(pi, 0xa6, (0x1 << 0), 0);
15763 mod_phy_reg(pi, 0x8f, (0x1 << 0), (0x1 << 0));
15764 mod_phy_reg(pi, 0xa7, (0x1 << 0), 0);
15765 mod_phy_reg(pi, 0xa5, (0x1 << 0), (0x1 << 0));
15767 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1,
15769 &afectrl_adc_ctrl2_rev7);
15770 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1,
15772 &afectrl_adc_ctrl2_rev7);
15774 mod_phy_reg(pi, 0xa6, (0x1 << 2), 0);
15775 mod_phy_reg(pi, 0x8f, (0x1 << 2), 0);
15776 mod_phy_reg(pi, 0xa7, (0x1 << 2), 0);
15777 mod_phy_reg(pi, 0xa5, (0x1 << 2), 0);
15780 write_phy_reg(pi, 0x6a, 0x2);
15782 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 256, 32,
15783 &min_nvar_offset_6mbps);
15785 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x138, 16,
15786 &rfseq_pktgn_lpf_hpc_rev7);
15788 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1, 0x141, 16,
15789 &rfseq_pktgn_lpf_h_hpc_rev7);
15791 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 3, 0x133, 16,
15792 &rfseq_htpktgn_lpf_hpc_rev7);
15794 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x146, 16,
15795 &rfseq_cckpktgn_lpf_hpc_rev7);
15797 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1, 0x123, 16,
15798 &rfseq_tx2rx_lpf_h_hpc_rev7);
15800 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1, 0x12A, 16,
15801 &rfseq_rx2tx_lpf_h_hpc_rev7);
15803 if (CHSPEC_IS40(pi->radio_chanspec) == 0) {
15804 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 3,
15805 32, &min_nvar_val);
15806 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
15807 127, 32, &min_nvar_val);
15809 min_nvar_val = noise_var_tbl_rev7[3];
15810 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 3,
15811 32, &min_nvar_val);
15813 min_nvar_val = noise_var_tbl_rev7[127];
15814 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
15815 127, 32, &min_nvar_val);
15818 wlc_phy_workarounds_nphy_gainctrl(pi);
15821 (CHSPEC_IS5G(pi->radio_chanspec)) ? pi->srom_fem5g.
15822 pdetrange : pi->srom_fem2g.pdetrange;
15824 if (pdetrange == 0) {
15826 wlc_phy_get_chan_freq_range_nphy(pi, 0);
15827 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
15828 aux_adc_vmid_rev7_core0[3] = 0x70;
15829 aux_adc_vmid_rev7_core1[3] = 0x70;
15830 aux_adc_gain_rev7[3] = 2;
15832 aux_adc_vmid_rev7_core0[3] = 0x80;
15833 aux_adc_vmid_rev7_core1[3] = 0x80;
15834 aux_adc_gain_rev7[3] = 3;
15836 } else if (pdetrange == 1) {
15837 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
15838 aux_adc_vmid_rev7_core0[3] = 0x7c;
15839 aux_adc_vmid_rev7_core1[3] = 0x7c;
15840 aux_adc_gain_rev7[3] = 2;
15842 aux_adc_vmid_rev7_core0[3] = 0x8c;
15843 aux_adc_vmid_rev7_core1[3] = 0x8c;
15844 aux_adc_gain_rev7[3] = 1;
15846 } else if (pdetrange == 2) {
15847 if (pi->pubpi.radioid == BCM2057_ID) {
15848 if ((pi->pubpi.radiorev == 5)
15849 || (pi->pubpi.radiorev == 7)
15850 || (pi->pubpi.radiorev == 8)) {
15851 if (chan_freq_range ==
15852 WL_CHAN_FREQ_RANGE_2G) {
15853 aux_adc_vmid_rev7_core0[3] =
15855 aux_adc_vmid_rev7_core1[3] =
15857 aux_adc_gain_rev7[3] = 0;
15859 aux_adc_vmid_rev7_core0[3] =
15861 aux_adc_vmid_rev7_core1[3] =
15863 aux_adc_gain_rev7[3] = 0;
15868 } else if (pdetrange == 3) {
15869 if (chan_freq_range == WL_CHAN_FREQ_RANGE_2G) {
15870 aux_adc_vmid_rev7_core0[3] = 0x89;
15871 aux_adc_vmid_rev7_core1[3] = 0x89;
15872 aux_adc_gain_rev7[3] = 0;
15875 } else if (pdetrange == 5) {
15877 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
15878 aux_adc_vmid_rev7_core0[3] = 0x80;
15879 aux_adc_vmid_rev7_core1[3] = 0x80;
15880 aux_adc_gain_rev7[3] = 3;
15882 aux_adc_vmid_rev7_core0[3] = 0x70;
15883 aux_adc_vmid_rev7_core1[3] = 0x70;
15884 aux_adc_gain_rev7[3] = 2;
15888 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4, 0x08, 16,
15889 &aux_adc_vmid_rev7_core0);
15890 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4, 0x18, 16,
15891 &aux_adc_vmid_rev7_core1);
15892 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4, 0x0c, 16,
15893 &aux_adc_gain_rev7);
15894 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4, 0x1c, 16,
15895 &aux_adc_gain_rev7);
15897 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
15899 write_phy_reg(pi, 0x23f, 0x1f8);
15900 write_phy_reg(pi, 0x240, 0x1f8);
15902 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
15903 1, 0, 32, &leg_data_weights);
15904 leg_data_weights = leg_data_weights & 0xffffff;
15905 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
15906 1, 0, 32, &leg_data_weights);
15914 write_phy_reg(pi, 0x145, alpha0);
15915 write_phy_reg(pi, 0x146, alpha1);
15916 write_phy_reg(pi, 0x147, alpha2);
15917 write_phy_reg(pi, 0x148, beta0);
15918 write_phy_reg(pi, 0x149, beta1);
15919 write_phy_reg(pi, 0x14a, beta2);
15921 write_phy_reg(pi, 0x38, 0xC);
15922 write_phy_reg(pi, 0x2ae, 0xC);
15924 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_TX2RX,
15925 rfseq_tx2rx_events_rev3,
15926 rfseq_tx2rx_dlys_rev3,
15927 sizeof(rfseq_tx2rx_events_rev3) /
15928 sizeof(rfseq_tx2rx_events_rev3[0]));
15931 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX,
15932 rfseq_rx2tx_events_rev3_ipa,
15933 rfseq_rx2tx_dlys_rev3_ipa,
15935 (rfseq_rx2tx_events_rev3_ipa) /
15937 (rfseq_rx2tx_events_rev3_ipa
15941 if ((pi->sh->hw_phyrxchain != 0x3) &&
15942 (pi->sh->hw_phyrxchain != pi->sh->hw_phytxchain)) {
15945 rfseq_rx2tx_dlys_rev3[5] = 59;
15946 rfseq_rx2tx_dlys_rev3[6] = 1;
15947 rfseq_rx2tx_events_rev3[7] =
15948 NPHY_REV3_RFSEQ_CMD_END;
15951 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX,
15952 rfseq_rx2tx_events_rev3,
15953 rfseq_rx2tx_dlys_rev3,
15954 sizeof(rfseq_rx2tx_events_rev3) /
15955 sizeof(rfseq_rx2tx_events_rev3
15959 if (CHSPEC_IS2G(pi->radio_chanspec)) {
15960 write_phy_reg(pi, 0x6a, 0x2);
15962 write_phy_reg(pi, 0x6a, 0x9c40);
15965 mod_phy_reg(pi, 0x294, (0xf << 8), (7 << 8));
15967 if (CHSPEC_IS40(pi->radio_chanspec) == 0) {
15968 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 3,
15969 32, &min_nvar_val);
15970 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
15971 127, 32, &min_nvar_val);
15973 min_nvar_val = noise_var_tbl_rev3[3];
15974 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1, 3,
15975 32, &min_nvar_val);
15977 min_nvar_val = noise_var_tbl_rev3[127];
15978 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
15979 127, 32, &min_nvar_val);
15982 wlc_phy_workarounds_nphy_gainctrl(pi);
15984 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x00, 16,
15986 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x10, 16,
15990 (CHSPEC_IS5G(pi->radio_chanspec)) ? pi->srom_fem5g.
15991 pdetrange : pi->srom_fem2g.pdetrange;
15993 if (pdetrange == 0) {
15994 if (NREV_GE(pi->pubpi.phy_rev, 4)) {
15995 aux_adc_vmid = aux_adc_vmid_rev4;
15996 aux_adc_gain = aux_adc_gain_rev4;
15998 aux_adc_vmid = aux_adc_vmid_rev3;
15999 aux_adc_gain = aux_adc_gain_rev3;
16002 wlc_phy_get_chan_freq_range_nphy(pi, 0);
16003 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
16004 switch (chan_freq_range) {
16005 case WL_CHAN_FREQ_RANGE_5GL:
16006 aux_adc_vmid[3] = 0x89;
16007 aux_adc_gain[3] = 0;
16009 case WL_CHAN_FREQ_RANGE_5GM:
16010 aux_adc_vmid[3] = 0x89;
16011 aux_adc_gain[3] = 0;
16013 case WL_CHAN_FREQ_RANGE_5GH:
16014 aux_adc_vmid[3] = 0x89;
16015 aux_adc_gain[3] = 0;
16021 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16022 0x08, 16, aux_adc_vmid);
16023 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16024 0x18, 16, aux_adc_vmid);
16025 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16026 0x0c, 16, aux_adc_gain);
16027 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16028 0x1c, 16, aux_adc_gain);
16029 } else if (pdetrange == 1) {
16030 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16031 0x08, 16, sk_adc_vmid);
16032 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16033 0x18, 16, sk_adc_vmid);
16034 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16035 0x0c, 16, sk_adc_gain);
16036 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16037 0x1c, 16, sk_adc_gain);
16038 } else if (pdetrange == 2) {
16040 u16 bcm_adc_vmid[] = { 0xa2, 0xb4, 0xb4, 0x74 };
16041 u16 bcm_adc_gain[] = { 0x02, 0x02, 0x02, 0x04 };
16043 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
16045 wlc_phy_get_chan_freq_range_nphy(pi, 0);
16046 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
16047 bcm_adc_vmid[3] = 0x8e;
16048 bcm_adc_gain[3] = 0x03;
16050 bcm_adc_vmid[3] = 0x94;
16051 bcm_adc_gain[3] = 0x03;
16053 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
16054 bcm_adc_vmid[3] = 0x84;
16055 bcm_adc_gain[3] = 0x02;
16058 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16059 0x08, 16, bcm_adc_vmid);
16060 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16061 0x18, 16, bcm_adc_vmid);
16062 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16063 0x0c, 16, bcm_adc_gain);
16064 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16065 0x1c, 16, bcm_adc_gain);
16066 } else if (pdetrange == 3) {
16068 wlc_phy_get_chan_freq_range_nphy(pi, 0);
16069 if ((NREV_GE(pi->pubpi.phy_rev, 4))
16070 && (chan_freq_range == WL_CHAN_FREQ_RANGE_2G)) {
16072 u16 auxadc_vmid[] = {
16073 0xa2, 0xb4, 0xb4, 0x270 };
16074 u16 auxadc_gain[] = {
16075 0x02, 0x02, 0x02, 0x00 };
16077 wlc_phy_table_write_nphy(pi,
16078 NPHY_TBL_ID_AFECTRL, 4,
16079 0x08, 16, auxadc_vmid);
16080 wlc_phy_table_write_nphy(pi,
16081 NPHY_TBL_ID_AFECTRL, 4,
16082 0x18, 16, auxadc_vmid);
16083 wlc_phy_table_write_nphy(pi,
16084 NPHY_TBL_ID_AFECTRL, 4,
16085 0x0c, 16, auxadc_gain);
16086 wlc_phy_table_write_nphy(pi,
16087 NPHY_TBL_ID_AFECTRL, 4,
16088 0x1c, 16, auxadc_gain);
16090 } else if ((pdetrange == 4) || (pdetrange == 5)) {
16091 u16 bcm_adc_vmid[] = { 0xa2, 0xb4, 0xb4, 0x0 };
16092 u16 bcm_adc_gain[] = { 0x02, 0x02, 0x02, 0x0 };
16093 u16 Vmid[2], Av[2];
16096 wlc_phy_get_chan_freq_range_nphy(pi, 0);
16097 if (chan_freq_range != WL_CHAN_FREQ_RANGE_2G) {
16098 Vmid[0] = (pdetrange == 4) ? 0x8e : 0x89;
16099 Vmid[1] = (pdetrange == 4) ? 0x96 : 0x89;
16100 Av[0] = (pdetrange == 4) ? 2 : 0;
16101 Av[1] = (pdetrange == 4) ? 2 : 0;
16103 Vmid[0] = (pdetrange == 4) ? 0x89 : 0x74;
16104 Vmid[1] = (pdetrange == 4) ? 0x8b : 0x70;
16105 Av[0] = (pdetrange == 4) ? 2 : 0;
16106 Av[1] = (pdetrange == 4) ? 2 : 0;
16109 bcm_adc_vmid[3] = Vmid[0];
16110 bcm_adc_gain[3] = Av[0];
16111 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16112 0x08, 16, bcm_adc_vmid);
16113 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16114 0x0c, 16, bcm_adc_gain);
16116 bcm_adc_vmid[3] = Vmid[1];
16117 bcm_adc_gain[3] = Av[1];
16118 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16119 0x18, 16, bcm_adc_vmid);
16120 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 4,
16121 0x1c, 16, bcm_adc_gain);
16124 write_radio_reg(pi,
16125 (RADIO_2056_RX_MIXA_MAST_BIAS | RADIO_2056_RX0),
16127 write_radio_reg(pi,
16128 (RADIO_2056_RX_MIXA_MAST_BIAS | RADIO_2056_RX1),
16131 write_radio_reg(pi,
16132 (RADIO_2056_RX_MIXA_BIAS_MAIN | RADIO_2056_RX0),
16134 write_radio_reg(pi,
16135 (RADIO_2056_RX_MIXA_BIAS_MAIN | RADIO_2056_RX1),
16138 write_radio_reg(pi,
16139 (RADIO_2056_RX_MIXA_BIAS_AUX | RADIO_2056_RX0),
16141 write_radio_reg(pi,
16142 (RADIO_2056_RX_MIXA_BIAS_AUX | RADIO_2056_RX1),
16145 write_radio_reg(pi,
16146 (RADIO_2056_RX_MIXA_LOB_BIAS | RADIO_2056_RX0),
16148 write_radio_reg(pi,
16149 (RADIO_2056_RX_MIXA_LOB_BIAS | RADIO_2056_RX1),
16152 write_radio_reg(pi,
16153 (RADIO_2056_RX_MIXA_CMFB_IDAC | RADIO_2056_RX0),
16155 write_radio_reg(pi,
16156 (RADIO_2056_RX_MIXA_CMFB_IDAC | RADIO_2056_RX1),
16159 write_radio_reg(pi,
16160 (RADIO_2056_RX_MIXG_CMFB_IDAC | RADIO_2056_RX0),
16162 write_radio_reg(pi,
16163 (RADIO_2056_RX_MIXG_CMFB_IDAC | RADIO_2056_RX1),
16167 (CHSPEC_IS5G(pi->radio_chanspec)) ? pi->srom_fem5g.
16168 triso : pi->srom_fem2g.triso;
16170 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi, PHY_CORE_0);
16171 wlc_phy_war_force_trsw_to_R_cliplo_nphy(pi, PHY_CORE_1);
16174 wlc_phy_war_txchain_upd_nphy(pi, pi->sh->hw_phytxchain);
16176 if (((pi->sh->boardflags2 & BFL2_APLL_WAR) &&
16177 (CHSPEC_IS5G(pi->radio_chanspec))) ||
16178 (((pi->sh->boardflags2 & BFL2_GPLL_WAR) ||
16179 (pi->sh->boardflags2 & BFL2_GPLL_WAR2)) &&
16180 (CHSPEC_IS2G(pi->radio_chanspec)))) {
16181 nss1_data_weights = 0x00088888;
16182 ht_data_weights = 0x00088888;
16183 stbc_data_weights = 0x00088888;
16185 nss1_data_weights = 0x88888888;
16186 ht_data_weights = 0x88888888;
16187 stbc_data_weights = 0x88888888;
16189 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
16190 1, 1, 32, &nss1_data_weights);
16191 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
16192 1, 2, 32, &ht_data_weights);
16193 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CMPMETRICDATAWEIGHTTBL,
16194 1, 3, 32, &stbc_data_weights);
16196 if (NREV_IS(pi->pubpi.phy_rev, 4)) {
16197 if (CHSPEC_IS5G(pi->radio_chanspec)) {
16198 write_radio_reg(pi,
16199 RADIO_2056_TX_GMBB_IDAC |
16200 RADIO_2056_TX0, 0x70);
16201 write_radio_reg(pi,
16202 RADIO_2056_TX_GMBB_IDAC |
16203 RADIO_2056_TX1, 0x70);
16207 if (!pi->edcrs_threshold_lock) {
16208 write_phy_reg(pi, 0x224, 0x3eb);
16209 write_phy_reg(pi, 0x225, 0x3eb);
16210 write_phy_reg(pi, 0x226, 0x341);
16211 write_phy_reg(pi, 0x227, 0x341);
16212 write_phy_reg(pi, 0x228, 0x42b);
16213 write_phy_reg(pi, 0x229, 0x42b);
16214 write_phy_reg(pi, 0x22a, 0x381);
16215 write_phy_reg(pi, 0x22b, 0x381);
16216 write_phy_reg(pi, 0x22c, 0x42b);
16217 write_phy_reg(pi, 0x22d, 0x42b);
16218 write_phy_reg(pi, 0x22e, 0x381);
16219 write_phy_reg(pi, 0x22f, 0x381);
16222 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
16224 if (pi->sh->boardflags2 & BFL2_SINGLEANT_CCK) {
16225 wlapi_bmac_mhf(pi->sh->physhim, MHF4,
16227 MHF4_BPHY_TXCORE0, WLC_BAND_ALL);
16232 if (pi->sh->boardflags2 & BFL2_SKWRKFEM_BRD ||
16233 (pi->sh->boardtype == 0x8b)) {
16235 u8 war_dlys[] = { 1, 6, 6, 2, 4, 20, 1 };
16236 for (i = 0; i < ARRAY_SIZE(rfseq_rx2tx_dlys); i++)
16237 rfseq_rx2tx_dlys[i] = war_dlys[i];
16240 if (CHSPEC_IS5G(pi->radio_chanspec) && pi->phy_5g_pwrgain) {
16241 and_radio_reg(pi, RADIO_2055_CORE1_TX_RF_SPARE, 0xf7);
16242 and_radio_reg(pi, RADIO_2055_CORE2_TX_RF_SPARE, 0xf7);
16244 or_radio_reg(pi, RADIO_2055_CORE1_TX_RF_SPARE, 0x8);
16245 or_radio_reg(pi, RADIO_2055_CORE2_TX_RF_SPARE, 0x8);
16249 wlc_phy_table_write_nphy(pi, 8, 1, 0, 16, ®val);
16250 wlc_phy_table_write_nphy(pi, 8, 1, 0x10, 16, ®val);
16252 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
16254 wlc_phy_table_write_nphy(pi, 8, 1, 0x02, 16, ®val);
16255 wlc_phy_table_write_nphy(pi, 8, 1, 0x12, 16, ®val);
16258 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
16260 wlc_phy_table_write_nphy(pi, 8, 1, 0x08, 16, ®val);
16261 wlc_phy_table_write_nphy(pi, 8, 1, 0x18, 16, ®val);
16264 wlc_phy_table_write_nphy(pi, 8, 1, 0x07, 16, ®val);
16265 wlc_phy_table_write_nphy(pi, 8, 1, 0x17, 16, ®val);
16268 wlc_phy_table_write_nphy(pi, 8, 1, 0x06, 16, ®val);
16269 wlc_phy_table_write_nphy(pi, 8, 1, 0x16, 16, ®val);
16272 write_phy_reg(pi, 0xf8, 0x02d8);
16273 write_phy_reg(pi, 0xf9, 0x0301);
16274 write_phy_reg(pi, 0xfa, 0x02d8);
16275 write_phy_reg(pi, 0xfb, 0x0301);
16277 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX, rfseq_rx2tx_events,
16279 sizeof(rfseq_rx2tx_events) /
16280 sizeof(rfseq_rx2tx_events[0]));
16282 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_TX2RX, rfseq_tx2rx_events,
16284 sizeof(rfseq_tx2rx_events) /
16285 sizeof(rfseq_tx2rx_events[0]));
16287 wlc_phy_workarounds_nphy_gainctrl(pi);
16289 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
16291 if (read_phy_reg(pi, 0xa0) & NPHY_MLenable)
16292 wlapi_bmac_mhf(pi->sh->physhim, MHF3,
16293 MHF3_NPHY_MLADV_WAR,
16294 MHF3_NPHY_MLADV_WAR,
16297 } else if (NREV_IS(pi->pubpi.phy_rev, 2)) {
16298 write_phy_reg(pi, 0x1e3, 0x0);
16299 write_phy_reg(pi, 0x1e4, 0x0);
16302 if (NREV_LT(pi->pubpi.phy_rev, 2))
16303 mod_phy_reg(pi, 0x90, (0x1 << 7), 0);
16311 write_phy_reg(pi, 0x145, alpha0);
16312 write_phy_reg(pi, 0x146, alpha1);
16313 write_phy_reg(pi, 0x147, alpha2);
16314 write_phy_reg(pi, 0x148, beta0);
16315 write_phy_reg(pi, 0x149, beta1);
16316 write_phy_reg(pi, 0x14a, beta2);
16318 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
16319 mod_phy_reg(pi, 0x142, (0xf << 12), 0);
16321 write_phy_reg(pi, 0x192, 0xb5);
16322 write_phy_reg(pi, 0x193, 0xa4);
16323 write_phy_reg(pi, 0x194, 0x0);
16326 if (NREV_IS(pi->pubpi.phy_rev, 2)) {
16327 mod_phy_reg(pi, 0x221,
16328 NPHY_FORCESIG_DECODEGATEDCLKS,
16329 NPHY_FORCESIG_DECODEGATEDCLKS);
16333 if (pi->phyhang_avoid)
16334 wlc_phy_stay_in_carriersearch_nphy(pi, false);
16337 static void wlc_phy_workarounds_nphy_gainctrl(phy_info_t *pi)
16339 u16 w1th, hpf_code, currband;
16341 u8 rfseq_updategainu_events[] = {
16342 NPHY_RFSEQ_CMD_RX_GAIN,
16343 NPHY_RFSEQ_CMD_CLR_HIQ_DIS,
16344 NPHY_RFSEQ_CMD_SET_HPF_BW
16346 u8 rfseq_updategainu_dlys[] = { 10, 30, 1 };
16347 s8 lna1G_gain_db[] = { 7, 11, 16, 23 };
16348 s8 lna1G_gain_db_rev4[] = { 8, 12, 17, 25 };
16349 s8 lna1G_gain_db_rev5[] = { 9, 13, 18, 26 };
16350 s8 lna1G_gain_db_rev6[] = { 8, 13, 18, 25 };
16351 s8 lna1G_gain_db_rev6_224B0[] = { 10, 14, 19, 27 };
16352 s8 lna1A_gain_db[] = { 7, 11, 17, 23 };
16353 s8 lna1A_gain_db_rev4[] = { 8, 12, 18, 23 };
16354 s8 lna1A_gain_db_rev5[] = { 6, 10, 16, 21 };
16355 s8 lna1A_gain_db_rev6[] = { 6, 10, 16, 21 };
16356 s8 *lna1_gain_db = NULL;
16357 s8 lna2G_gain_db[] = { -5, 6, 10, 14 };
16358 s8 lna2G_gain_db_rev5[] = { -3, 7, 11, 16 };
16359 s8 lna2G_gain_db_rev6[] = { -5, 6, 10, 14 };
16360 s8 lna2G_gain_db_rev6_224B0[] = { -5, 6, 10, 15 };
16361 s8 lna2A_gain_db[] = { -6, 2, 6, 10 };
16362 s8 lna2A_gain_db_rev4[] = { -5, 2, 6, 10 };
16363 s8 lna2A_gain_db_rev5[] = { -7, 0, 4, 8 };
16364 s8 lna2A_gain_db_rev6[] = { -7, 0, 4, 8 };
16365 s8 *lna2_gain_db = NULL;
16366 s8 tiaG_gain_db[] = {
16367 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A };
16368 s8 tiaA_gain_db[] = {
16369 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13 };
16370 s8 tiaA_gain_db_rev4[] = {
16371 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d };
16372 s8 tiaA_gain_db_rev5[] = {
16373 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d };
16374 s8 tiaA_gain_db_rev6[] = {
16375 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d, 0x0d };
16377 s8 tiaG_gainbits[] = {
16378 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03 };
16379 s8 tiaA_gainbits[] = {
16380 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06 };
16381 s8 tiaA_gainbits_rev4[] = {
16382 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 };
16383 s8 tiaA_gainbits_rev5[] = {
16384 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 };
16385 s8 tiaA_gainbits_rev6[] = {
16386 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04 };
16388 s8 lpf_gain_db[] = { 0x00, 0x06, 0x0c, 0x12, 0x12, 0x12 };
16389 s8 lpf_gainbits[] = { 0x00, 0x01, 0x02, 0x03, 0x03, 0x03 };
16390 u16 rfseqG_init_gain[] = { 0x613f, 0x613f, 0x613f, 0x613f };
16391 u16 rfseqG_init_gain_rev4[] = { 0x513f, 0x513f, 0x513f, 0x513f };
16392 u16 rfseqG_init_gain_rev5[] = { 0x413f, 0x413f, 0x413f, 0x413f };
16393 u16 rfseqG_init_gain_rev5_elna[] = {
16394 0x013f, 0x013f, 0x013f, 0x013f };
16395 u16 rfseqG_init_gain_rev6[] = { 0x513f, 0x513f };
16396 u16 rfseqG_init_gain_rev6_224B0[] = { 0x413f, 0x413f };
16397 u16 rfseqG_init_gain_rev6_elna[] = { 0x113f, 0x113f };
16398 u16 rfseqA_init_gain[] = { 0x516f, 0x516f, 0x516f, 0x516f };
16399 u16 rfseqA_init_gain_rev4[] = { 0x614f, 0x614f, 0x614f, 0x614f };
16400 u16 rfseqA_init_gain_rev4_elna[] = {
16401 0x314f, 0x314f, 0x314f, 0x314f };
16402 u16 rfseqA_init_gain_rev5[] = { 0x714f, 0x714f, 0x714f, 0x714f };
16403 u16 rfseqA_init_gain_rev6[] = { 0x714f, 0x714f };
16404 u16 *rfseq_init_gain;
16405 u16 initG_gaincode = 0x627e;
16406 u16 initG_gaincode_rev4 = 0x527e;
16407 u16 initG_gaincode_rev5 = 0x427e;
16408 u16 initG_gaincode_rev5_elna = 0x027e;
16409 u16 initG_gaincode_rev6 = 0x527e;
16410 u16 initG_gaincode_rev6_224B0 = 0x427e;
16411 u16 initG_gaincode_rev6_elna = 0x127e;
16412 u16 initA_gaincode = 0x52de;
16413 u16 initA_gaincode_rev4 = 0x629e;
16414 u16 initA_gaincode_rev4_elna = 0x329e;
16415 u16 initA_gaincode_rev5 = 0x729e;
16416 u16 initA_gaincode_rev6 = 0x729e;
16418 u16 clip1hiG_gaincode = 0x107e;
16419 u16 clip1hiG_gaincode_rev4 = 0x007e;
16420 u16 clip1hiG_gaincode_rev5 = 0x1076;
16421 u16 clip1hiG_gaincode_rev6 = 0x007e;
16422 u16 clip1hiA_gaincode = 0x00de;
16423 u16 clip1hiA_gaincode_rev4 = 0x029e;
16424 u16 clip1hiA_gaincode_rev5 = 0x029e;
16425 u16 clip1hiA_gaincode_rev6 = 0x029e;
16426 u16 clip1hi_gaincode;
16427 u16 clip1mdG_gaincode = 0x0066;
16428 u16 clip1mdA_gaincode = 0x00ca;
16429 u16 clip1mdA_gaincode_rev4 = 0x1084;
16430 u16 clip1mdA_gaincode_rev5 = 0x2084;
16431 u16 clip1mdA_gaincode_rev6 = 0x2084;
16432 u16 clip1md_gaincode = 0;
16433 u16 clip1loG_gaincode = 0x0074;
16434 u16 clip1loG_gaincode_rev5[] = {
16435 0x0062, 0x0064, 0x006a, 0x106a, 0x106c, 0x1074, 0x107c, 0x207c
16437 u16 clip1loG_gaincode_rev6[] = {
16438 0x106a, 0x106c, 0x1074, 0x107c, 0x007e, 0x107e, 0x207e, 0x307e
16440 u16 clip1loG_gaincode_rev6_224B0 = 0x1074;
16441 u16 clip1loA_gaincode = 0x00cc;
16442 u16 clip1loA_gaincode_rev4 = 0x0086;
16443 u16 clip1loA_gaincode_rev5 = 0x2086;
16444 u16 clip1loA_gaincode_rev6 = 0x2086;
16445 u16 clip1lo_gaincode;
16446 u8 crsminG_th = 0x18;
16447 u8 crsminG_th_rev5 = 0x18;
16448 u8 crsminG_th_rev6 = 0x18;
16449 u8 crsminA_th = 0x1e;
16450 u8 crsminA_th_rev4 = 0x24;
16451 u8 crsminA_th_rev5 = 0x24;
16452 u8 crsminA_th_rev6 = 0x24;
16454 u8 crsminlG_th = 0x18;
16455 u8 crsminlG_th_rev5 = 0x18;
16456 u8 crsminlG_th_rev6 = 0x18;
16457 u8 crsminlA_th = 0x1e;
16458 u8 crsminlA_th_rev4 = 0x24;
16459 u8 crsminlA_th_rev5 = 0x24;
16460 u8 crsminlA_th_rev6 = 0x24;
16462 u8 crsminuG_th = 0x18;
16463 u8 crsminuG_th_rev5 = 0x18;
16464 u8 crsminuG_th_rev6 = 0x18;
16465 u8 crsminuA_th = 0x1e;
16466 u8 crsminuA_th_rev4 = 0x24;
16467 u8 crsminuA_th_rev5 = 0x24;
16468 u8 crsminuA_th_rev6 = 0x24;
16469 u8 crsminuA_th_rev6_224B0 = 0x2d;
16471 u16 nbclipG_th = 0x20d;
16472 u16 nbclipG_th_rev4 = 0x1a1;
16473 u16 nbclipG_th_rev5 = 0x1d0;
16474 u16 nbclipG_th_rev6 = 0x1d0;
16475 u16 nbclipA_th = 0x1a1;
16476 u16 nbclipA_th_rev4 = 0x107;
16477 u16 nbclipA_th_rev5 = 0x0a9;
16478 u16 nbclipA_th_rev6 = 0x0f0;
16481 u8 w1clipG_th_rev5 = 9;
16482 u8 w1clipG_th_rev6 = 5;
16483 u8 w1clipA_th = 25, w1clip_th;
16484 u8 rssi_gain_default = 0x50;
16485 u8 rssiG_gain_rev6_224B0 = 0x50;
16486 u8 rssiA_gain_rev5 = 0x90;
16487 u8 rssiA_gain_rev6 = 0x90;
16492 triso = (CHSPEC_IS5G(pi->radio_chanspec)) ? pi->srom_fem5g.triso :
16493 pi->srom_fem2g.triso;
16495 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
16496 if (pi->pubpi.radiorev == 5) {
16498 wlc_phy_workarounds_nphy_gainctrl_2057_rev5(pi);
16499 } else if (pi->pubpi.radiorev == 7) {
16500 wlc_phy_workarounds_nphy_gainctrl_2057_rev6(pi);
16502 mod_phy_reg(pi, 0x283, (0xff << 0), (0x44 << 0));
16503 mod_phy_reg(pi, 0x280, (0xff << 0), (0x44 << 0));
16505 } else if ((pi->pubpi.radiorev == 3)
16506 || (pi->pubpi.radiorev == 8)) {
16507 wlc_phy_workarounds_nphy_gainctrl_2057_rev6(pi);
16509 if (pi->pubpi.radiorev == 8) {
16510 mod_phy_reg(pi, 0x283,
16511 (0xff << 0), (0x44 << 0));
16512 mod_phy_reg(pi, 0x280,
16513 (0xff << 0), (0x44 << 0));
16516 wlc_phy_workarounds_nphy_gainctrl_2057_rev6(pi);
16518 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
16520 mod_phy_reg(pi, 0xa0, (0x1 << 6), (1 << 6));
16522 mod_phy_reg(pi, 0x1c, (0x1 << 13), (1 << 13));
16523 mod_phy_reg(pi, 0x32, (0x1 << 13), (1 << 13));
16526 read_phy_reg(pi, 0x09) & NPHY_BandControl_currentBand;
16527 if (currband == 0) {
16528 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
16529 if (pi->pubpi.radiorev == 11) {
16530 lna1_gain_db = lna1G_gain_db_rev6_224B0;
16531 lna2_gain_db = lna2G_gain_db_rev6_224B0;
16533 rfseqG_init_gain_rev6_224B0;
16535 initG_gaincode_rev6_224B0;
16537 clip1hiG_gaincode_rev6;
16539 clip1loG_gaincode_rev6_224B0;
16540 nbclip_th = nbclipG_th_rev6;
16541 w1clip_th = w1clipG_th_rev6;
16542 crsmin_th = crsminG_th_rev6;
16543 crsminl_th = crsminlG_th_rev6;
16544 crsminu_th = crsminuG_th_rev6;
16545 rssi_gain = rssiG_gain_rev6_224B0;
16547 lna1_gain_db = lna1G_gain_db_rev6;
16548 lna2_gain_db = lna2G_gain_db_rev6;
16549 if (pi->sh->boardflags & BFL_EXTLNA) {
16552 rfseqG_init_gain_rev6_elna;
16554 initG_gaincode_rev6_elna;
16557 rfseqG_init_gain_rev6;
16559 initG_gaincode_rev6;
16562 clip1hiG_gaincode_rev6;
16566 clip1loG_gaincode_rev6[0];
16570 clip1loG_gaincode_rev6[1];
16574 clip1loG_gaincode_rev6[2];
16580 clip1loG_gaincode_rev6[3];
16584 clip1loG_gaincode_rev6[4];
16588 clip1loG_gaincode_rev6[5];
16592 clip1loG_gaincode_rev6[6];
16596 clip1loG_gaincode_rev6[7];
16599 nbclip_th = nbclipG_th_rev6;
16600 w1clip_th = w1clipG_th_rev6;
16601 crsmin_th = crsminG_th_rev6;
16602 crsminl_th = crsminlG_th_rev6;
16603 crsminu_th = crsminuG_th_rev6;
16604 rssi_gain = rssi_gain_default;
16606 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
16607 lna1_gain_db = lna1G_gain_db_rev5;
16608 lna2_gain_db = lna2G_gain_db_rev5;
16609 if (pi->sh->boardflags & BFL_EXTLNA) {
16612 rfseqG_init_gain_rev5_elna;
16614 initG_gaincode_rev5_elna;
16616 rfseq_init_gain = rfseqG_init_gain_rev5;
16617 init_gaincode = initG_gaincode_rev5;
16619 clip1hi_gaincode = clip1hiG_gaincode_rev5;
16623 clip1loG_gaincode_rev5[0];
16627 clip1loG_gaincode_rev5[1];
16631 clip1loG_gaincode_rev5[2];
16636 clip1loG_gaincode_rev5[3];
16640 clip1loG_gaincode_rev5[4];
16644 clip1loG_gaincode_rev5[5];
16648 clip1loG_gaincode_rev5[6];
16652 clip1loG_gaincode_rev5[7];
16656 clip1loG_gaincode_rev5[3];
16659 nbclip_th = nbclipG_th_rev5;
16660 w1clip_th = w1clipG_th_rev5;
16661 crsmin_th = crsminG_th_rev5;
16662 crsminl_th = crsminlG_th_rev5;
16663 crsminu_th = crsminuG_th_rev5;
16664 rssi_gain = rssi_gain_default;
16665 } else if (NREV_IS(pi->pubpi.phy_rev, 4)) {
16666 lna1_gain_db = lna1G_gain_db_rev4;
16667 lna2_gain_db = lna2G_gain_db;
16668 rfseq_init_gain = rfseqG_init_gain_rev4;
16669 init_gaincode = initG_gaincode_rev4;
16670 clip1hi_gaincode = clip1hiG_gaincode_rev4;
16671 clip1lo_gaincode = clip1loG_gaincode;
16672 nbclip_th = nbclipG_th_rev4;
16673 w1clip_th = w1clipG_th;
16674 crsmin_th = crsminG_th;
16675 crsminl_th = crsminlG_th;
16676 crsminu_th = crsminuG_th;
16677 rssi_gain = rssi_gain_default;
16679 lna1_gain_db = lna1G_gain_db;
16680 lna2_gain_db = lna2G_gain_db;
16681 rfseq_init_gain = rfseqG_init_gain;
16682 init_gaincode = initG_gaincode;
16683 clip1hi_gaincode = clip1hiG_gaincode;
16684 clip1lo_gaincode = clip1loG_gaincode;
16685 nbclip_th = nbclipG_th;
16686 w1clip_th = w1clipG_th;
16687 crsmin_th = crsminG_th;
16688 crsminl_th = crsminlG_th;
16689 crsminu_th = crsminuG_th;
16690 rssi_gain = rssi_gain_default;
16692 tia_gain_db = tiaG_gain_db;
16693 tia_gainbits = tiaG_gainbits;
16694 clip1md_gaincode = clip1mdG_gaincode;
16696 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
16697 lna1_gain_db = lna1A_gain_db_rev6;
16698 lna2_gain_db = lna2A_gain_db_rev6;
16699 tia_gain_db = tiaA_gain_db_rev6;
16700 tia_gainbits = tiaA_gainbits_rev6;
16701 rfseq_init_gain = rfseqA_init_gain_rev6;
16702 init_gaincode = initA_gaincode_rev6;
16703 clip1hi_gaincode = clip1hiA_gaincode_rev6;
16704 clip1md_gaincode = clip1mdA_gaincode_rev6;
16705 clip1lo_gaincode = clip1loA_gaincode_rev6;
16706 crsmin_th = crsminA_th_rev6;
16707 crsminl_th = crsminlA_th_rev6;
16708 if ((pi->pubpi.radiorev == 11) &&
16709 (CHSPEC_IS40(pi->radio_chanspec) == 0)) {
16710 crsminu_th = crsminuA_th_rev6_224B0;
16712 crsminu_th = crsminuA_th_rev6;
16714 nbclip_th = nbclipA_th_rev6;
16715 rssi_gain = rssiA_gain_rev6;
16716 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
16717 lna1_gain_db = lna1A_gain_db_rev5;
16718 lna2_gain_db = lna2A_gain_db_rev5;
16719 tia_gain_db = tiaA_gain_db_rev5;
16720 tia_gainbits = tiaA_gainbits_rev5;
16721 rfseq_init_gain = rfseqA_init_gain_rev5;
16722 init_gaincode = initA_gaincode_rev5;
16723 clip1hi_gaincode = clip1hiA_gaincode_rev5;
16724 clip1md_gaincode = clip1mdA_gaincode_rev5;
16725 clip1lo_gaincode = clip1loA_gaincode_rev5;
16726 crsmin_th = crsminA_th_rev5;
16727 crsminl_th = crsminlA_th_rev5;
16728 crsminu_th = crsminuA_th_rev5;
16729 nbclip_th = nbclipA_th_rev5;
16730 rssi_gain = rssiA_gain_rev5;
16731 } else if (NREV_IS(pi->pubpi.phy_rev, 4)) {
16732 lna1_gain_db = lna1A_gain_db_rev4;
16733 lna2_gain_db = lna2A_gain_db_rev4;
16734 tia_gain_db = tiaA_gain_db_rev4;
16735 tia_gainbits = tiaA_gainbits_rev4;
16736 if (pi->sh->boardflags & BFL_EXTLNA_5GHz) {
16739 rfseqA_init_gain_rev4_elna;
16741 initA_gaincode_rev4_elna;
16743 rfseq_init_gain = rfseqA_init_gain_rev4;
16744 init_gaincode = initA_gaincode_rev4;
16746 clip1hi_gaincode = clip1hiA_gaincode_rev4;
16747 clip1md_gaincode = clip1mdA_gaincode_rev4;
16748 clip1lo_gaincode = clip1loA_gaincode_rev4;
16749 crsmin_th = crsminA_th_rev4;
16750 crsminl_th = crsminlA_th_rev4;
16751 crsminu_th = crsminuA_th_rev4;
16752 nbclip_th = nbclipA_th_rev4;
16753 rssi_gain = rssi_gain_default;
16755 lna1_gain_db = lna1A_gain_db;
16756 lna2_gain_db = lna2A_gain_db;
16757 tia_gain_db = tiaA_gain_db;
16758 tia_gainbits = tiaA_gainbits;
16759 rfseq_init_gain = rfseqA_init_gain;
16760 init_gaincode = initA_gaincode;
16761 clip1hi_gaincode = clip1hiA_gaincode;
16762 clip1md_gaincode = clip1mdA_gaincode;
16763 clip1lo_gaincode = clip1loA_gaincode;
16764 crsmin_th = crsminA_th;
16765 crsminl_th = crsminlA_th;
16766 crsminu_th = crsminuA_th;
16767 nbclip_th = nbclipA_th;
16768 rssi_gain = rssi_gain_default;
16770 w1clip_th = w1clipA_th;
16773 write_radio_reg(pi,
16774 (RADIO_2056_RX_BIASPOLE_LNAG1_IDAC |
16775 RADIO_2056_RX0), 0x17);
16776 write_radio_reg(pi,
16777 (RADIO_2056_RX_BIASPOLE_LNAG1_IDAC |
16778 RADIO_2056_RX1), 0x17);
16780 write_radio_reg(pi, (RADIO_2056_RX_LNAG2_IDAC | RADIO_2056_RX0),
16782 write_radio_reg(pi, (RADIO_2056_RX_LNAG2_IDAC | RADIO_2056_RX1),
16785 write_radio_reg(pi, (RADIO_2056_RX_RSSI_POLE | RADIO_2056_RX0),
16787 write_radio_reg(pi, (RADIO_2056_RX_RSSI_POLE | RADIO_2056_RX1),
16790 write_radio_reg(pi, (RADIO_2056_RX_RSSI_GAIN | RADIO_2056_RX0),
16792 write_radio_reg(pi, (RADIO_2056_RX_RSSI_GAIN | RADIO_2056_RX1),
16795 write_radio_reg(pi,
16796 (RADIO_2056_RX_BIASPOLE_LNAA1_IDAC |
16797 RADIO_2056_RX0), 0x17);
16798 write_radio_reg(pi,
16799 (RADIO_2056_RX_BIASPOLE_LNAA1_IDAC |
16800 RADIO_2056_RX1), 0x17);
16802 write_radio_reg(pi, (RADIO_2056_RX_LNAA2_IDAC | RADIO_2056_RX0),
16804 write_radio_reg(pi, (RADIO_2056_RX_LNAA2_IDAC | RADIO_2056_RX1),
16807 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 8,
16809 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 8,
16812 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 0x10,
16814 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 0x10,
16817 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 10, 0x20,
16819 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 10, 0x20,
16822 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS1, 10, 0x20,
16824 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS2, 10, 0x20,
16827 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 6, 0x40,
16829 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 6, 0x40,
16831 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS1, 6, 0x40,
16833 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS2, 6, 0x40,
16836 write_phy_reg(pi, 0x20, init_gaincode);
16837 write_phy_reg(pi, 0x2a7, init_gaincode);
16839 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
16840 pi->pubpi.phy_corenum, 0x106, 16,
16843 write_phy_reg(pi, 0x22, clip1hi_gaincode);
16844 write_phy_reg(pi, 0x2a9, clip1hi_gaincode);
16846 write_phy_reg(pi, 0x24, clip1md_gaincode);
16847 write_phy_reg(pi, 0x2ab, clip1md_gaincode);
16849 write_phy_reg(pi, 0x37, clip1lo_gaincode);
16850 write_phy_reg(pi, 0x2ad, clip1lo_gaincode);
16852 mod_phy_reg(pi, 0x27d, (0xff << 0), (crsmin_th << 0));
16853 mod_phy_reg(pi, 0x280, (0xff << 0), (crsminl_th << 0));
16854 mod_phy_reg(pi, 0x283, (0xff << 0), (crsminu_th << 0));
16856 write_phy_reg(pi, 0x2b, nbclip_th);
16857 write_phy_reg(pi, 0x41, nbclip_th);
16859 mod_phy_reg(pi, 0x27, (0x3f << 0), (w1clip_th << 0));
16860 mod_phy_reg(pi, 0x3d, (0x3f << 0), (w1clip_th << 0));
16862 write_phy_reg(pi, 0x150, 0x809c);
16866 mod_phy_reg(pi, 0x1c, (0x1 << 13), (1 << 13));
16867 mod_phy_reg(pi, 0x32, (0x1 << 13), (1 << 13));
16869 write_phy_reg(pi, 0x2b, 0x84);
16870 write_phy_reg(pi, 0x41, 0x84);
16872 if (CHSPEC_IS20(pi->radio_chanspec)) {
16873 write_phy_reg(pi, 0x6b, 0x2b);
16874 write_phy_reg(pi, 0x6c, 0x2b);
16875 write_phy_reg(pi, 0x6d, 0x9);
16876 write_phy_reg(pi, 0x6e, 0x9);
16879 w1th = NPHY_RSSICAL_W1_TARGET - 4;
16880 mod_phy_reg(pi, 0x27, (0x3f << 0), (w1th << 0));
16881 mod_phy_reg(pi, 0x3d, (0x3f << 0), (w1th << 0));
16883 if (CHSPEC_IS20(pi->radio_chanspec)) {
16884 mod_phy_reg(pi, 0x1c, (0x1f << 0), (0x1 << 0));
16885 mod_phy_reg(pi, 0x32, (0x1f << 0), (0x1 << 0));
16887 mod_phy_reg(pi, 0x1d, (0x1f << 0), (0x1 << 0));
16888 mod_phy_reg(pi, 0x33, (0x1f << 0), (0x1 << 0));
16891 write_phy_reg(pi, 0x150, 0x809c);
16893 if (pi->nphy_gain_boost)
16894 if ((CHSPEC_IS2G(pi->radio_chanspec)) &&
16895 (CHSPEC_IS40(pi->radio_chanspec)))
16899 else if (CHSPEC_IS40(pi->radio_chanspec))
16904 mod_phy_reg(pi, 0x20, (0x1f << 7), (hpf_code << 7));
16905 mod_phy_reg(pi, 0x36, (0x1f << 7), (hpf_code << 7));
16907 for (ctr = 0; ctr < 4; ctr++) {
16908 regval[ctr] = (hpf_code << 8) | 0x7c;
16910 wlc_phy_table_write_nphy(pi, 7, 4, 0x106, 16, regval);
16912 wlc_phy_adjust_lnagaintbl_nphy(pi);
16914 if (pi->nphy_elna_gain_config) {
16919 wlc_phy_table_write_nphy(pi, 2, 4, 8, 16, regval);
16920 wlc_phy_table_write_nphy(pi, 3, 4, 8, 16, regval);
16922 for (ctr = 0; ctr < 4; ctr++) {
16923 regval[ctr] = (hpf_code << 8) | 0x74;
16925 wlc_phy_table_write_nphy(pi, 7, 4, 0x106, 16, regval);
16928 if (NREV_IS(pi->pubpi.phy_rev, 2)) {
16929 for (ctr = 0; ctr < 21; ctr++) {
16930 regval[ctr] = 3 * ctr;
16932 wlc_phy_table_write_nphy(pi, 0, 21, 32, 16, regval);
16933 wlc_phy_table_write_nphy(pi, 1, 21, 32, 16, regval);
16935 for (ctr = 0; ctr < 21; ctr++) {
16936 regval[ctr] = (u16) ctr;
16938 wlc_phy_table_write_nphy(pi, 2, 21, 32, 16, regval);
16939 wlc_phy_table_write_nphy(pi, 3, 21, 32, 16, regval);
16942 wlc_phy_set_rfseq_nphy(pi, NPHY_RFSEQ_UPDATEGAINU,
16943 rfseq_updategainu_events,
16944 rfseq_updategainu_dlys,
16945 sizeof(rfseq_updategainu_events) /
16946 sizeof(rfseq_updategainu_events[0]));
16948 mod_phy_reg(pi, 0x153, (0xff << 8), (90 << 8));
16950 if (CHSPEC_IS2G(pi->radio_chanspec))
16952 (NPHY_TO_BPHY_OFF + BPHY_OPTIONAL_MODES),
16957 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev5(phy_info_t *pi)
16959 s8 lna1_gain_db[] = { 8, 13, 17, 22 };
16960 s8 lna2_gain_db[] = { -2, 7, 11, 15 };
16961 s8 tia_gain_db[] = { -4, -1, 2, 5, 5, 5, 5, 5, 5, 5 };
16962 s8 tia_gainbits[] = {
16963 0x0, 0x01, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03 };
16965 mod_phy_reg(pi, 0x1c, (0x1 << 13), (1 << 13));
16966 mod_phy_reg(pi, 0x32, (0x1 << 13), (1 << 13));
16968 mod_phy_reg(pi, 0x289, (0xff << 0), (0x46 << 0));
16970 mod_phy_reg(pi, 0x283, (0xff << 0), (0x3c << 0));
16971 mod_phy_reg(pi, 0x280, (0xff << 0), (0x3c << 0));
16973 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 0x8, 8,
16975 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 0x8, 8,
16978 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 0x10, 8,
16980 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 0x10, 8,
16983 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 10, 0x20, 8,
16985 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 10, 0x20, 8,
16988 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS1, 10, 0x20, 8,
16990 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS2, 10, 0x20, 8,
16993 write_phy_reg(pi, 0x37, 0x74);
16994 write_phy_reg(pi, 0x2ad, 0x74);
16995 write_phy_reg(pi, 0x38, 0x18);
16996 write_phy_reg(pi, 0x2ae, 0x18);
16998 write_phy_reg(pi, 0x2b, 0xe8);
16999 write_phy_reg(pi, 0x41, 0xe8);
17001 if (CHSPEC_IS20(pi->radio_chanspec)) {
17003 mod_phy_reg(pi, 0x300, (0x3f << 0), (0x12 << 0));
17004 mod_phy_reg(pi, 0x301, (0x3f << 0), (0x12 << 0));
17007 mod_phy_reg(pi, 0x300, (0x3f << 0), (0x10 << 0));
17008 mod_phy_reg(pi, 0x301, (0x3f << 0), (0x10 << 0));
17012 static void wlc_phy_workarounds_nphy_gainctrl_2057_rev6(phy_info_t *pi)
17015 s8 lna1G_gain_db_rev7[] = { 9, 14, 19, 24 };
17016 s8 *lna1_gain_db = NULL;
17017 s8 *lna1_gain_db_2 = NULL;
17018 s8 *lna2_gain_db = NULL;
17019 s8 tiaA_gain_db_rev7[] = { -9, -6, -3, 0, 3, 3, 3, 3, 3, 3 };
17021 s8 tiaA_gainbits_rev7[] = { 0, 1, 2, 3, 4, 4, 4, 4, 4, 4 };
17023 u16 rfseqA_init_gain_rev7[] = { 0x624f, 0x624f };
17024 u16 *rfseq_init_gain;
17026 u16 clip1hi_gaincode;
17027 u16 clip1md_gaincode = 0;
17028 u16 clip1md_gaincode_B;
17029 u16 clip1lo_gaincode;
17030 u16 clip1lo_gaincode_B;
17036 s8 nvar_baseline_offset0 = 0, nvar_baseline_offset1 = 0;
17037 u8 chg_nbclip_th = 0;
17039 mod_phy_reg(pi, 0x1c, (0x1 << 13), (1 << 13));
17040 mod_phy_reg(pi, 0x32, (0x1 << 13), (1 << 13));
17042 currband = read_phy_reg(pi, 0x09) & NPHY_BandControl_currentBand;
17043 if (currband == 0) {
17045 lna1_gain_db = lna1G_gain_db_rev7;
17047 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 8, 8,
17049 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 8, 8,
17052 mod_phy_reg(pi, 0x283, (0xff << 0), (0x40 << 0));
17054 if (CHSPEC_IS40(pi->radio_chanspec)) {
17055 mod_phy_reg(pi, 0x280, (0xff << 0), (0x3e << 0));
17056 mod_phy_reg(pi, 0x283, (0xff << 0), (0x3e << 0));
17059 mod_phy_reg(pi, 0x289, (0xff << 0), (0x46 << 0));
17061 if (CHSPEC_IS20(pi->radio_chanspec)) {
17062 mod_phy_reg(pi, 0x300, (0x3f << 0), (13 << 0));
17063 mod_phy_reg(pi, 0x301, (0x3f << 0), (13 << 0));
17067 init_gaincode = 0x9e;
17068 clip1hi_gaincode = 0x9e;
17069 clip1md_gaincode_B = 0x24;
17070 clip1lo_gaincode = 0x8a;
17071 clip1lo_gaincode_B = 8;
17072 rfseq_init_gain = rfseqA_init_gain_rev7;
17074 tia_gain_db = tiaA_gain_db_rev7;
17075 tia_gainbits = tiaA_gainbits_rev7;
17077 freq = CHAN5G_FREQ(CHSPEC_CHANNEL(pi->radio_chanspec));
17078 if (CHSPEC_IS20(pi->radio_chanspec)) {
17081 clip1md_gaincode = 0x82;
17083 if ((freq <= 5080) || (freq == 5825)) {
17085 s8 lna1A_gain_db_rev7[] = { 11, 16, 20, 24 };
17086 s8 lna1A_gain_db_2_rev7[] = {
17088 s8 lna2A_gain_db_rev7[] = { -1, 6, 10, 14 };
17091 lna1_gain_db = lna1A_gain_db_rev7;
17092 lna1_gain_db_2 = lna1A_gain_db_2_rev7;
17093 lna2_gain_db = lna2A_gain_db_rev7;
17094 } else if ((freq >= 5500) && (freq <= 5700)) {
17096 s8 lna1A_gain_db_rev7[] = { 11, 17, 21, 25 };
17097 s8 lna1A_gain_db_2_rev7[] = {
17099 s8 lna2A_gain_db_rev7[] = { 1, 8, 12, 16 };
17102 clip1md_gaincode_B = 0x14;
17105 lna1_gain_db = lna1A_gain_db_rev7;
17106 lna1_gain_db_2 = lna1A_gain_db_2_rev7;
17107 lna2_gain_db = lna2A_gain_db_rev7;
17110 s8 lna1A_gain_db_rev7[] = { 12, 18, 22, 26 };
17111 s8 lna1A_gain_db_2_rev7[] = {
17113 s8 lna2A_gain_db_rev7[] = { -1, 6, 10, 14 };
17116 lna1_gain_db = lna1A_gain_db_rev7;
17117 lna1_gain_db_2 = lna1A_gain_db_2_rev7;
17118 lna2_gain_db = lna2A_gain_db_rev7;
17121 if (freq <= 4920) {
17122 nvar_baseline_offset0 = 5;
17123 nvar_baseline_offset1 = 5;
17124 } else if ((freq > 4920) && (freq <= 5320)) {
17125 nvar_baseline_offset0 = 3;
17126 nvar_baseline_offset1 = 5;
17127 } else if ((freq > 5320) && (freq <= 5700)) {
17128 nvar_baseline_offset0 = 3;
17129 nvar_baseline_offset1 = 2;
17131 nvar_baseline_offset0 = 4;
17132 nvar_baseline_offset1 = 0;
17140 if ((freq >= 4920) && (freq <= 5320)) {
17141 nvar_baseline_offset0 = 4;
17142 nvar_baseline_offset1 = 5;
17143 } else if ((freq > 5320) && (freq <= 5550)) {
17144 nvar_baseline_offset0 = 4;
17145 nvar_baseline_offset1 = 2;
17147 nvar_baseline_offset0 = 5;
17148 nvar_baseline_offset1 = 3;
17152 write_phy_reg(pi, 0x20, init_gaincode);
17153 write_phy_reg(pi, 0x2a7, init_gaincode);
17155 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
17156 pi->pubpi.phy_corenum, 0x106, 16,
17159 write_phy_reg(pi, 0x22, clip1hi_gaincode);
17160 write_phy_reg(pi, 0x2a9, clip1hi_gaincode);
17162 write_phy_reg(pi, 0x36, clip1md_gaincode_B);
17163 write_phy_reg(pi, 0x2ac, clip1md_gaincode_B);
17165 write_phy_reg(pi, 0x37, clip1lo_gaincode);
17166 write_phy_reg(pi, 0x2ad, clip1lo_gaincode);
17167 write_phy_reg(pi, 0x38, clip1lo_gaincode_B);
17168 write_phy_reg(pi, 0x2ae, clip1lo_gaincode_B);
17170 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 10, 0x20, 8,
17172 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 10, 0x20, 8,
17175 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS1, 10, 0x20, 8,
17177 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAINBITS2, 10, 0x20, 8,
17180 mod_phy_reg(pi, 0x283, (0xff << 0), (crsminu_th << 0));
17182 if (chg_nbclip_th == 1) {
17183 write_phy_reg(pi, 0x2b, nbclip_th);
17184 write_phy_reg(pi, 0x41, nbclip_th);
17187 mod_phy_reg(pi, 0x300, (0x3f << 0), (w1clip_th << 0));
17188 mod_phy_reg(pi, 0x301, (0x3f << 0), (w1clip_th << 0));
17190 mod_phy_reg(pi, 0x2e4,
17191 (0x3f << 0), (nvar_baseline_offset0 << 0));
17193 mod_phy_reg(pi, 0x2e4,
17194 (0x3f << 6), (nvar_baseline_offset1 << 6));
17196 if (CHSPEC_IS20(pi->radio_chanspec)) {
17198 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 8, 8,
17200 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 8, 8,
17203 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN1, 4, 0x10,
17205 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_GAIN2, 4, 0x10,
17208 write_phy_reg(pi, 0x24, clip1md_gaincode);
17209 write_phy_reg(pi, 0x2ab, clip1md_gaincode);
17211 mod_phy_reg(pi, 0x280, (0xff << 0), (crsminl_th << 0));
17218 static void wlc_phy_adjust_lnagaintbl_nphy(phy_info_t *pi)
17224 u16 minmax_gain[2];
17227 if (pi->phyhang_avoid)
17228 wlc_phy_stay_in_carriersearch_nphy(pi, true);
17230 if (pi->nphy_gain_boost) {
17231 if ((CHSPEC_IS2G(pi->radio_chanspec))) {
17237 curr_channel = CHSPEC_CHANNEL(pi->radio_chanspec);
17240 PHY_HW_ROUND(((nphy_lnagain_est0[0] *
17242 nphy_lnagain_est0[1]), 13);
17245 PHY_HW_ROUND(((nphy_lnagain_est1[0] *
17247 nphy_lnagain_est1[1]), 13);
17255 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
17256 if (pi->nphy_elna_gain_config) {
17258 regval[0] = nphy_def_lnagains[2] + gain_delta[core];
17259 regval[1] = nphy_def_lnagains[3] + gain_delta[core];
17260 regval[2] = nphy_def_lnagains[3] + gain_delta[core];
17261 regval[3] = nphy_def_lnagains[3] + gain_delta[core];
17263 for (ctr = 0; ctr < 4; ctr++) {
17265 nphy_def_lnagains[ctr] + gain_delta[core];
17268 wlc_phy_table_write_nphy(pi, core, 4, 8, 16, regval);
17270 minmax_gain[core] =
17271 (u16) (nphy_def_lnagains[2] + gain_delta[core] + 4);
17274 mod_phy_reg(pi, 0x1e, (0xff << 0), (minmax_gain[0] << 0));
17275 mod_phy_reg(pi, 0x34, (0xff << 0), (minmax_gain[1] << 0));
17277 if (pi->phyhang_avoid)
17278 wlc_phy_stay_in_carriersearch_nphy(pi, false);
17281 void wlc_phy_switch_radio_nphy(phy_info_t *pi, bool on)
17284 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
17285 if (!pi->radio_is_on) {
17286 wlc_phy_radio_preinit_205x(pi);
17287 wlc_phy_radio_init_2057(pi);
17288 wlc_phy_radio_postinit_2057(pi);
17291 wlc_phy_chanspec_set((wlc_phy_t *) pi,
17292 pi->radio_chanspec);
17293 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
17294 wlc_phy_radio_preinit_205x(pi);
17295 wlc_phy_radio_init_2056(pi);
17296 wlc_phy_radio_postinit_2056(pi);
17298 wlc_phy_chanspec_set((wlc_phy_t *) pi,
17299 pi->radio_chanspec);
17301 wlc_phy_radio_preinit_2055(pi);
17302 wlc_phy_radio_init_2055(pi);
17303 wlc_phy_radio_postinit_2055(pi);
17306 pi->radio_is_on = true;
17310 if (NREV_GE(pi->pubpi.phy_rev, 3)
17311 && NREV_LT(pi->pubpi.phy_rev, 7)) {
17312 and_phy_reg(pi, 0x78, ~RFCC_CHIP0_PU);
17313 mod_radio_reg(pi, RADIO_2056_SYN_COM_PU, 0x2, 0x0);
17315 write_radio_reg(pi,
17316 RADIO_2056_TX_PADA_BOOST_TUNE |
17317 RADIO_2056_TX0, 0);
17318 write_radio_reg(pi,
17319 RADIO_2056_TX_PADG_BOOST_TUNE |
17320 RADIO_2056_TX0, 0);
17321 write_radio_reg(pi,
17322 RADIO_2056_TX_PGAA_BOOST_TUNE |
17323 RADIO_2056_TX0, 0);
17324 write_radio_reg(pi,
17325 RADIO_2056_TX_PGAG_BOOST_TUNE |
17326 RADIO_2056_TX0, 0);
17328 RADIO_2056_TX_MIXA_BOOST_TUNE |
17329 RADIO_2056_TX0, 0xf0, 0);
17330 write_radio_reg(pi,
17331 RADIO_2056_TX_MIXG_BOOST_TUNE |
17332 RADIO_2056_TX0, 0);
17334 write_radio_reg(pi,
17335 RADIO_2056_TX_PADA_BOOST_TUNE |
17336 RADIO_2056_TX1, 0);
17337 write_radio_reg(pi,
17338 RADIO_2056_TX_PADG_BOOST_TUNE |
17339 RADIO_2056_TX1, 0);
17340 write_radio_reg(pi,
17341 RADIO_2056_TX_PGAA_BOOST_TUNE |
17342 RADIO_2056_TX1, 0);
17343 write_radio_reg(pi,
17344 RADIO_2056_TX_PGAG_BOOST_TUNE |
17345 RADIO_2056_TX1, 0);
17347 RADIO_2056_TX_MIXA_BOOST_TUNE |
17348 RADIO_2056_TX1, 0xf0, 0);
17349 write_radio_reg(pi,
17350 RADIO_2056_TX_MIXG_BOOST_TUNE |
17351 RADIO_2056_TX1, 0);
17353 pi->radio_is_on = false;
17356 if (NREV_GE(pi->pubpi.phy_rev, 8)) {
17357 and_phy_reg(pi, 0x78, ~RFCC_CHIP0_PU);
17358 pi->radio_is_on = false;
17364 static void wlc_phy_radio_preinit_2055(phy_info_t *pi)
17367 and_phy_reg(pi, 0x78, ~RFCC_POR_FORCE);
17368 or_phy_reg(pi, 0x78, RFCC_CHIP0_PU | RFCC_OE_POR_FORCE);
17370 or_phy_reg(pi, 0x78, RFCC_POR_FORCE);
17373 static void wlc_phy_radio_init_2055(phy_info_t *pi)
17375 wlc_phy_init_radio_regs(pi, regs_2055, RADIO_DEFAULT_CORE);
17378 static void wlc_phy_radio_postinit_2055(phy_info_t *pi)
17381 and_radio_reg(pi, RADIO_2055_MASTER_CNTRL1,
17382 ~(RADIO_2055_JTAGCTRL_MASK | RADIO_2055_JTAGSYNC_MASK));
17384 if (((pi->sh->sromrev >= 4)
17385 && !(pi->sh->boardflags2 & BFL2_RXBB_INT_REG_DIS))
17386 || ((pi->sh->sromrev < 4))) {
17387 and_radio_reg(pi, RADIO_2055_CORE1_RXBB_REGULATOR, 0x7F);
17388 and_radio_reg(pi, RADIO_2055_CORE2_RXBB_REGULATOR, 0x7F);
17391 mod_radio_reg(pi, RADIO_2055_RRCCAL_N_OPT_SEL, 0x3F, 0x2C);
17392 write_radio_reg(pi, RADIO_2055_CAL_MISC, 0x3C);
17394 and_radio_reg(pi, RADIO_2055_CAL_MISC,
17395 ~(RADIO_2055_RRCAL_START | RADIO_2055_RRCAL_RST_N));
17397 or_radio_reg(pi, RADIO_2055_CAL_LPO_CNTRL, RADIO_2055_CAL_LPO_ENABLE);
17399 or_radio_reg(pi, RADIO_2055_CAL_MISC, RADIO_2055_RRCAL_RST_N);
17403 or_radio_reg(pi, RADIO_2055_CAL_MISC, RADIO_2055_RRCAL_START);
17405 SPINWAIT(((read_radio_reg(pi, RADIO_2055_CAL_COUNTER_OUT2) &
17406 RADIO_2055_RCAL_DONE) != RADIO_2055_RCAL_DONE), 2000);
17408 if (WARN((read_radio_reg(pi, RADIO_2055_CAL_COUNTER_OUT2) &
17409 RADIO_2055_RCAL_DONE) != RADIO_2055_RCAL_DONE,
17410 "HW error: radio calibration1\n"))
17413 and_radio_reg(pi, RADIO_2055_CAL_LPO_CNTRL,
17414 ~(RADIO_2055_CAL_LPO_ENABLE));
17416 wlc_phy_chanspec_set((wlc_phy_t *) pi, pi->radio_chanspec);
17418 write_radio_reg(pi, RADIO_2055_CORE1_RXBB_LPF, 9);
17419 write_radio_reg(pi, RADIO_2055_CORE2_RXBB_LPF, 9);
17421 write_radio_reg(pi, RADIO_2055_CORE1_RXBB_MIDAC_HIPAS, 0x83);
17422 write_radio_reg(pi, RADIO_2055_CORE2_RXBB_MIDAC_HIPAS, 0x83);
17424 mod_radio_reg(pi, RADIO_2055_CORE1_LNA_GAINBST,
17425 RADIO_2055_GAINBST_VAL_MASK, RADIO_2055_GAINBST_CODE);
17426 mod_radio_reg(pi, RADIO_2055_CORE2_LNA_GAINBST,
17427 RADIO_2055_GAINBST_VAL_MASK, RADIO_2055_GAINBST_CODE);
17428 if (pi->nphy_gain_boost) {
17429 and_radio_reg(pi, RADIO_2055_CORE1_RXRF_SPC1,
17430 ~(RADIO_2055_GAINBST_DISABLE));
17431 and_radio_reg(pi, RADIO_2055_CORE2_RXRF_SPC1,
17432 ~(RADIO_2055_GAINBST_DISABLE));
17434 or_radio_reg(pi, RADIO_2055_CORE1_RXRF_SPC1,
17435 RADIO_2055_GAINBST_DISABLE);
17436 or_radio_reg(pi, RADIO_2055_CORE2_RXRF_SPC1,
17437 RADIO_2055_GAINBST_DISABLE);
17443 static void wlc_phy_radio_preinit_205x(phy_info_t *pi)
17446 and_phy_reg(pi, 0x78, ~RFCC_CHIP0_PU);
17447 and_phy_reg(pi, 0x78, RFCC_OE_POR_FORCE);
17449 or_phy_reg(pi, 0x78, ~RFCC_OE_POR_FORCE);
17450 or_phy_reg(pi, 0x78, RFCC_CHIP0_PU);
17454 static void wlc_phy_radio_init_2056(phy_info_t *pi)
17456 radio_regs_t *regs_SYN_2056_ptr = NULL;
17457 radio_regs_t *regs_TX_2056_ptr = NULL;
17458 radio_regs_t *regs_RX_2056_ptr = NULL;
17460 if (NREV_IS(pi->pubpi.phy_rev, 3)) {
17461 regs_SYN_2056_ptr = regs_SYN_2056;
17462 regs_TX_2056_ptr = regs_TX_2056;
17463 regs_RX_2056_ptr = regs_RX_2056;
17464 } else if (NREV_IS(pi->pubpi.phy_rev, 4)) {
17465 regs_SYN_2056_ptr = regs_SYN_2056_A1;
17466 regs_TX_2056_ptr = regs_TX_2056_A1;
17467 regs_RX_2056_ptr = regs_RX_2056_A1;
17469 switch (pi->pubpi.radiorev) {
17471 regs_SYN_2056_ptr = regs_SYN_2056_rev5;
17472 regs_TX_2056_ptr = regs_TX_2056_rev5;
17473 regs_RX_2056_ptr = regs_RX_2056_rev5;
17477 regs_SYN_2056_ptr = regs_SYN_2056_rev6;
17478 regs_TX_2056_ptr = regs_TX_2056_rev6;
17479 regs_RX_2056_ptr = regs_RX_2056_rev6;
17484 regs_SYN_2056_ptr = regs_SYN_2056_rev7;
17485 regs_TX_2056_ptr = regs_TX_2056_rev7;
17486 regs_RX_2056_ptr = regs_RX_2056_rev7;
17490 regs_SYN_2056_ptr = regs_SYN_2056_rev8;
17491 regs_TX_2056_ptr = regs_TX_2056_rev8;
17492 regs_RX_2056_ptr = regs_RX_2056_rev8;
17496 regs_SYN_2056_ptr = regs_SYN_2056_rev11;
17497 regs_TX_2056_ptr = regs_TX_2056_rev11;
17498 regs_RX_2056_ptr = regs_RX_2056_rev11;
17506 wlc_phy_init_radio_regs(pi, regs_SYN_2056_ptr, (u16) RADIO_2056_SYN);
17508 wlc_phy_init_radio_regs(pi, regs_TX_2056_ptr, (u16) RADIO_2056_TX0);
17510 wlc_phy_init_radio_regs(pi, regs_TX_2056_ptr, (u16) RADIO_2056_TX1);
17512 wlc_phy_init_radio_regs(pi, regs_RX_2056_ptr, (u16) RADIO_2056_RX0);
17514 wlc_phy_init_radio_regs(pi, regs_RX_2056_ptr, (u16) RADIO_2056_RX1);
17517 static void wlc_phy_radio_postinit_2056(phy_info_t *pi)
17519 mod_radio_reg(pi, RADIO_2056_SYN_COM_CTRL, 0xb, 0xb);
17521 mod_radio_reg(pi, RADIO_2056_SYN_COM_PU, 0x2, 0x2);
17522 mod_radio_reg(pi, RADIO_2056_SYN_COM_RESET, 0x2, 0x2);
17524 mod_radio_reg(pi, RADIO_2056_SYN_COM_RESET, 0x2, 0x0);
17526 if ((pi->sh->boardflags2 & BFL2_LEGACY)
17527 || (pi->sh->boardflags2 & BFL2_XTALBUFOUTEN)) {
17529 mod_radio_reg(pi, RADIO_2056_SYN_PLL_MAST2, 0xf4, 0x0);
17532 mod_radio_reg(pi, RADIO_2056_SYN_PLL_MAST2, 0xfc, 0x0);
17535 mod_radio_reg(pi, RADIO_2056_SYN_RCCAL_CTRL0, 0x1, 0x0);
17537 if (pi->phy_init_por) {
17538 wlc_phy_radio205x_rcal(pi);
17542 static void wlc_phy_radio_init_2057(phy_info_t *pi)
17544 radio_20xx_regs_t *regs_2057_ptr = NULL;
17546 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
17548 regs_2057_ptr = regs_2057_rev4;
17549 } else if (NREV_IS(pi->pubpi.phy_rev, 8)
17550 || NREV_IS(pi->pubpi.phy_rev, 9)) {
17551 switch (pi->pubpi.radiorev) {
17554 if (pi->pubpi.radiover == 0x0) {
17556 regs_2057_ptr = regs_2057_rev5;
17558 } else if (pi->pubpi.radiover == 0x1) {
17560 regs_2057_ptr = regs_2057_rev5v1;
17567 regs_2057_ptr = regs_2057_rev7;
17572 regs_2057_ptr = regs_2057_rev8;
17580 wlc_phy_init_radio_regs_allbands(pi, regs_2057_ptr);
17583 static void wlc_phy_radio_postinit_2057(phy_info_t *pi)
17586 mod_radio_reg(pi, RADIO_2057_XTALPUOVR_PINCTRL, 0x1, 0x1);
17588 if (pi->sh->chip == !BCM6362_CHIP_ID) {
17590 mod_radio_reg(pi, RADIO_2057_XTALPUOVR_PINCTRL, 0x2, 0x2);
17593 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_CAL_RESETN, 0x78, 0x78);
17594 mod_radio_reg(pi, RADIO_2057_XTAL_CONFIG2, 0x80, 0x80);
17596 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_CAL_RESETN, 0x78, 0x0);
17597 mod_radio_reg(pi, RADIO_2057_XTAL_CONFIG2, 0x80, 0x0);
17599 if (pi->phy_init_por) {
17600 wlc_phy_radio205x_rcal(pi);
17601 wlc_phy_radio2057_rccal(pi);
17604 mod_radio_reg(pi, RADIO_2057_RFPLL_MASTER, 0x8, 0x0);
17608 wlc_phy_chan2freq_nphy(phy_info_t *pi, uint channel, int *f,
17609 chan_info_nphy_radio2057_t **t0,
17610 chan_info_nphy_radio205x_t **t1,
17611 chan_info_nphy_radio2057_rev5_t **t2,
17612 chan_info_nphy_2055_t **t3)
17615 chan_info_nphy_radio2057_t *chan_info_tbl_p_0 = NULL;
17616 chan_info_nphy_radio205x_t *chan_info_tbl_p_1 = NULL;
17617 chan_info_nphy_radio2057_rev5_t *chan_info_tbl_p_2 = NULL;
17622 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
17624 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
17626 chan_info_tbl_p_0 = chan_info_nphyrev7_2057_rev4;
17627 tbl_len = ARRAY_SIZE(chan_info_nphyrev7_2057_rev4);
17629 } else if (NREV_IS(pi->pubpi.phy_rev, 8)
17630 || NREV_IS(pi->pubpi.phy_rev, 9)) {
17631 switch (pi->pubpi.radiorev) {
17635 if (pi->pubpi.radiover == 0x0) {
17637 chan_info_tbl_p_2 =
17638 chan_info_nphyrev8_2057_rev5;
17641 (chan_info_nphyrev8_2057_rev5);
17643 } else if (pi->pubpi.radiover == 0x1) {
17645 chan_info_tbl_p_2 =
17646 chan_info_nphyrev9_2057_rev5v1;
17649 (chan_info_nphyrev9_2057_rev5v1);
17655 chan_info_tbl_p_0 =
17656 chan_info_nphyrev8_2057_rev7;
17658 ARRAY_SIZE(chan_info_nphyrev8_2057_rev7);
17662 chan_info_tbl_p_0 =
17663 chan_info_nphyrev8_2057_rev8;
17665 ARRAY_SIZE(chan_info_nphyrev8_2057_rev8);
17669 if (NORADIO_ENAB(pi->pubpi)) {
17674 } else if (NREV_IS(pi->pubpi.phy_rev, 16)) {
17676 chan_info_tbl_p_0 = chan_info_nphyrev8_2057_rev8;
17677 tbl_len = ARRAY_SIZE(chan_info_nphyrev8_2057_rev8);
17682 for (i = 0; i < tbl_len; i++) {
17683 if (pi->pubpi.radiorev == 5) {
17685 if (chan_info_tbl_p_2[i].chan == channel)
17689 if (chan_info_tbl_p_0[i].chan == channel)
17694 if (i >= tbl_len) {
17697 if (pi->pubpi.radiorev == 5) {
17698 *t2 = &chan_info_tbl_p_2[i];
17699 freq = chan_info_tbl_p_2[i].freq;
17701 *t0 = &chan_info_tbl_p_0[i];
17702 freq = chan_info_tbl_p_0[i].freq;
17705 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
17706 if (NREV_IS(pi->pubpi.phy_rev, 3)) {
17707 chan_info_tbl_p_1 = chan_info_nphyrev3_2056;
17708 tbl_len = ARRAY_SIZE(chan_info_nphyrev3_2056);
17709 } else if (NREV_IS(pi->pubpi.phy_rev, 4)) {
17710 chan_info_tbl_p_1 = chan_info_nphyrev4_2056_A1;
17711 tbl_len = ARRAY_SIZE(chan_info_nphyrev4_2056_A1);
17712 } else if (NREV_IS(pi->pubpi.phy_rev, 5)
17713 || NREV_IS(pi->pubpi.phy_rev, 6)) {
17714 switch (pi->pubpi.radiorev) {
17716 chan_info_tbl_p_1 = chan_info_nphyrev5_2056v5;
17717 tbl_len = ARRAY_SIZE(chan_info_nphyrev5_2056v5);
17720 chan_info_tbl_p_1 = chan_info_nphyrev6_2056v6;
17721 tbl_len = ARRAY_SIZE(chan_info_nphyrev6_2056v6);
17725 chan_info_tbl_p_1 = chan_info_nphyrev5n6_2056v7;
17727 ARRAY_SIZE(chan_info_nphyrev5n6_2056v7);
17730 chan_info_tbl_p_1 = chan_info_nphyrev6_2056v8;
17731 tbl_len = ARRAY_SIZE(chan_info_nphyrev6_2056v8);
17734 chan_info_tbl_p_1 = chan_info_nphyrev6_2056v11;
17735 tbl_len = ARRAY_SIZE(chan_info_nphyrev6_2056v11);
17738 if (NORADIO_ENAB(pi->pubpi)) {
17745 for (i = 0; i < tbl_len; i++) {
17746 if (chan_info_tbl_p_1[i].chan == channel)
17750 if (i >= tbl_len) {
17753 *t1 = &chan_info_tbl_p_1[i];
17754 freq = chan_info_tbl_p_1[i].freq;
17757 for (i = 0; i < ARRAY_SIZE(chan_info_nphy_2055); i++)
17758 if (chan_info_nphy_2055[i].chan == channel)
17761 if (i >= ARRAY_SIZE(chan_info_nphy_2055)) {
17764 *t3 = &chan_info_nphy_2055[i];
17765 freq = chan_info_nphy_2055[i].freq;
17772 *f = WL_CHAN_FREQ_RANGE_2G;
17776 u8 wlc_phy_get_chan_freq_range_nphy(phy_info_t *pi, uint channel)
17779 chan_info_nphy_radio2057_t *t0 = NULL;
17780 chan_info_nphy_radio205x_t *t1 = NULL;
17781 chan_info_nphy_radio2057_rev5_t *t2 = NULL;
17782 chan_info_nphy_2055_t *t3 = NULL;
17784 if (NORADIO_ENAB(pi->pubpi))
17785 return WL_CHAN_FREQ_RANGE_2G;
17788 channel = CHSPEC_CHANNEL(pi->radio_chanspec);
17790 wlc_phy_chan2freq_nphy(pi, channel, &freq, &t0, &t1, &t2, &t3);
17792 if (CHSPEC_IS2G(pi->radio_chanspec))
17793 return WL_CHAN_FREQ_RANGE_2G;
17795 if ((freq >= BASE_LOW_5G_CHAN) && (freq < BASE_MID_5G_CHAN)) {
17796 return WL_CHAN_FREQ_RANGE_5GL;
17797 } else if ((freq >= BASE_MID_5G_CHAN) && (freq < BASE_HIGH_5G_CHAN)) {
17798 return WL_CHAN_FREQ_RANGE_5GM;
17800 return WL_CHAN_FREQ_RANGE_5GH;
17805 wlc_phy_chanspec_radio2055_setup(phy_info_t *pi, chan_info_nphy_2055_t *ci)
17808 write_radio_reg(pi, RADIO_2055_PLL_REF, ci->RF_pll_ref);
17809 write_radio_reg(pi, RADIO_2055_RF_PLL_MOD0, ci->RF_rf_pll_mod0);
17810 write_radio_reg(pi, RADIO_2055_RF_PLL_MOD1, ci->RF_rf_pll_mod1);
17811 write_radio_reg(pi, RADIO_2055_VCO_CAP_TAIL, ci->RF_vco_cap_tail);
17813 WLC_PHY_WAR_PR51571(pi);
17815 write_radio_reg(pi, RADIO_2055_VCO_CAL1, ci->RF_vco_cal1);
17816 write_radio_reg(pi, RADIO_2055_VCO_CAL2, ci->RF_vco_cal2);
17817 write_radio_reg(pi, RADIO_2055_PLL_LF_C1, ci->RF_pll_lf_c1);
17818 write_radio_reg(pi, RADIO_2055_PLL_LF_R1, ci->RF_pll_lf_r1);
17820 WLC_PHY_WAR_PR51571(pi);
17822 write_radio_reg(pi, RADIO_2055_PLL_LF_C2, ci->RF_pll_lf_c2);
17823 write_radio_reg(pi, RADIO_2055_LGBUF_CEN_BUF, ci->RF_lgbuf_cen_buf);
17824 write_radio_reg(pi, RADIO_2055_LGEN_TUNE1, ci->RF_lgen_tune1);
17825 write_radio_reg(pi, RADIO_2055_LGEN_TUNE2, ci->RF_lgen_tune2);
17827 WLC_PHY_WAR_PR51571(pi);
17829 write_radio_reg(pi, RADIO_2055_CORE1_LGBUF_A_TUNE,
17830 ci->RF_core1_lgbuf_a_tune);
17831 write_radio_reg(pi, RADIO_2055_CORE1_LGBUF_G_TUNE,
17832 ci->RF_core1_lgbuf_g_tune);
17833 write_radio_reg(pi, RADIO_2055_CORE1_RXRF_REG1, ci->RF_core1_rxrf_reg1);
17834 write_radio_reg(pi, RADIO_2055_CORE1_TX_PGA_PAD_TN,
17835 ci->RF_core1_tx_pga_pad_tn);
17837 WLC_PHY_WAR_PR51571(pi);
17839 write_radio_reg(pi, RADIO_2055_CORE1_TX_MX_BGTRIM,
17840 ci->RF_core1_tx_mx_bgtrim);
17841 write_radio_reg(pi, RADIO_2055_CORE2_LGBUF_A_TUNE,
17842 ci->RF_core2_lgbuf_a_tune);
17843 write_radio_reg(pi, RADIO_2055_CORE2_LGBUF_G_TUNE,
17844 ci->RF_core2_lgbuf_g_tune);
17845 write_radio_reg(pi, RADIO_2055_CORE2_RXRF_REG1, ci->RF_core2_rxrf_reg1);
17847 WLC_PHY_WAR_PR51571(pi);
17849 write_radio_reg(pi, RADIO_2055_CORE2_TX_PGA_PAD_TN,
17850 ci->RF_core2_tx_pga_pad_tn);
17851 write_radio_reg(pi, RADIO_2055_CORE2_TX_MX_BGTRIM,
17852 ci->RF_core2_tx_mx_bgtrim);
17856 write_radio_reg(pi, RADIO_2055_VCO_CAL10, 0x05);
17857 write_radio_reg(pi, RADIO_2055_VCO_CAL10, 0x45);
17859 WLC_PHY_WAR_PR51571(pi);
17861 write_radio_reg(pi, RADIO_2055_VCO_CAL10, 0x65);
17867 wlc_phy_chanspec_radio2056_setup(phy_info_t *pi,
17868 const chan_info_nphy_radio205x_t *ci)
17870 radio_regs_t *regs_SYN_2056_ptr = NULL;
17872 write_radio_reg(pi,
17873 RADIO_2056_SYN_PLL_VCOCAL1 | RADIO_2056_SYN,
17874 ci->RF_SYN_pll_vcocal1);
17875 write_radio_reg(pi, RADIO_2056_SYN_PLL_VCOCAL2 | RADIO_2056_SYN,
17876 ci->RF_SYN_pll_vcocal2);
17877 write_radio_reg(pi, RADIO_2056_SYN_PLL_REFDIV | RADIO_2056_SYN,
17878 ci->RF_SYN_pll_refdiv);
17879 write_radio_reg(pi, RADIO_2056_SYN_PLL_MMD2 | RADIO_2056_SYN,
17880 ci->RF_SYN_pll_mmd2);
17881 write_radio_reg(pi, RADIO_2056_SYN_PLL_MMD1 | RADIO_2056_SYN,
17882 ci->RF_SYN_pll_mmd1);
17883 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER1 | RADIO_2056_SYN,
17884 ci->RF_SYN_pll_loopfilter1);
17885 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER2 | RADIO_2056_SYN,
17886 ci->RF_SYN_pll_loopfilter2);
17887 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER3 | RADIO_2056_SYN,
17888 ci->RF_SYN_pll_loopfilter3);
17889 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER4 | RADIO_2056_SYN,
17890 ci->RF_SYN_pll_loopfilter4);
17891 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER5 | RADIO_2056_SYN,
17892 ci->RF_SYN_pll_loopfilter5);
17893 write_radio_reg(pi, RADIO_2056_SYN_RESERVED_ADDR27 | RADIO_2056_SYN,
17894 ci->RF_SYN_reserved_addr27);
17895 write_radio_reg(pi, RADIO_2056_SYN_RESERVED_ADDR28 | RADIO_2056_SYN,
17896 ci->RF_SYN_reserved_addr28);
17897 write_radio_reg(pi, RADIO_2056_SYN_RESERVED_ADDR29 | RADIO_2056_SYN,
17898 ci->RF_SYN_reserved_addr29);
17899 write_radio_reg(pi, RADIO_2056_SYN_LOGEN_VCOBUF1 | RADIO_2056_SYN,
17900 ci->RF_SYN_logen_VCOBUF1);
17901 write_radio_reg(pi, RADIO_2056_SYN_LOGEN_MIXER2 | RADIO_2056_SYN,
17902 ci->RF_SYN_logen_MIXER2);
17903 write_radio_reg(pi, RADIO_2056_SYN_LOGEN_BUF3 | RADIO_2056_SYN,
17904 ci->RF_SYN_logen_BUF3);
17905 write_radio_reg(pi, RADIO_2056_SYN_LOGEN_BUF4 | RADIO_2056_SYN,
17906 ci->RF_SYN_logen_BUF4);
17908 write_radio_reg(pi,
17909 RADIO_2056_RX_LNAA_TUNE | RADIO_2056_RX0,
17910 ci->RF_RX0_lnaa_tune);
17911 write_radio_reg(pi, RADIO_2056_RX_LNAG_TUNE | RADIO_2056_RX0,
17912 ci->RF_RX0_lnag_tune);
17913 write_radio_reg(pi, RADIO_2056_TX_INTPAA_BOOST_TUNE | RADIO_2056_TX0,
17914 ci->RF_TX0_intpaa_boost_tune);
17915 write_radio_reg(pi, RADIO_2056_TX_INTPAG_BOOST_TUNE | RADIO_2056_TX0,
17916 ci->RF_TX0_intpag_boost_tune);
17917 write_radio_reg(pi, RADIO_2056_TX_PADA_BOOST_TUNE | RADIO_2056_TX0,
17918 ci->RF_TX0_pada_boost_tune);
17919 write_radio_reg(pi, RADIO_2056_TX_PADG_BOOST_TUNE | RADIO_2056_TX0,
17920 ci->RF_TX0_padg_boost_tune);
17921 write_radio_reg(pi, RADIO_2056_TX_PGAA_BOOST_TUNE | RADIO_2056_TX0,
17922 ci->RF_TX0_pgaa_boost_tune);
17923 write_radio_reg(pi, RADIO_2056_TX_PGAG_BOOST_TUNE | RADIO_2056_TX0,
17924 ci->RF_TX0_pgag_boost_tune);
17925 write_radio_reg(pi, RADIO_2056_TX_MIXA_BOOST_TUNE | RADIO_2056_TX0,
17926 ci->RF_TX0_mixa_boost_tune);
17927 write_radio_reg(pi, RADIO_2056_TX_MIXG_BOOST_TUNE | RADIO_2056_TX0,
17928 ci->RF_TX0_mixg_boost_tune);
17930 write_radio_reg(pi,
17931 RADIO_2056_RX_LNAA_TUNE | RADIO_2056_RX1,
17932 ci->RF_RX1_lnaa_tune);
17933 write_radio_reg(pi, RADIO_2056_RX_LNAG_TUNE | RADIO_2056_RX1,
17934 ci->RF_RX1_lnag_tune);
17935 write_radio_reg(pi, RADIO_2056_TX_INTPAA_BOOST_TUNE | RADIO_2056_TX1,
17936 ci->RF_TX1_intpaa_boost_tune);
17937 write_radio_reg(pi, RADIO_2056_TX_INTPAG_BOOST_TUNE | RADIO_2056_TX1,
17938 ci->RF_TX1_intpag_boost_tune);
17939 write_radio_reg(pi, RADIO_2056_TX_PADA_BOOST_TUNE | RADIO_2056_TX1,
17940 ci->RF_TX1_pada_boost_tune);
17941 write_radio_reg(pi, RADIO_2056_TX_PADG_BOOST_TUNE | RADIO_2056_TX1,
17942 ci->RF_TX1_padg_boost_tune);
17943 write_radio_reg(pi, RADIO_2056_TX_PGAA_BOOST_TUNE | RADIO_2056_TX1,
17944 ci->RF_TX1_pgaa_boost_tune);
17945 write_radio_reg(pi, RADIO_2056_TX_PGAG_BOOST_TUNE | RADIO_2056_TX1,
17946 ci->RF_TX1_pgag_boost_tune);
17947 write_radio_reg(pi, RADIO_2056_TX_MIXA_BOOST_TUNE | RADIO_2056_TX1,
17948 ci->RF_TX1_mixa_boost_tune);
17949 write_radio_reg(pi, RADIO_2056_TX_MIXG_BOOST_TUNE | RADIO_2056_TX1,
17950 ci->RF_TX1_mixg_boost_tune);
17952 if (NREV_IS(pi->pubpi.phy_rev, 3))
17953 regs_SYN_2056_ptr = regs_SYN_2056;
17954 else if (NREV_IS(pi->pubpi.phy_rev, 4))
17955 regs_SYN_2056_ptr = regs_SYN_2056_A1;
17957 switch (pi->pubpi.radiorev) {
17959 regs_SYN_2056_ptr = regs_SYN_2056_rev5;
17962 regs_SYN_2056_ptr = regs_SYN_2056_rev6;
17966 regs_SYN_2056_ptr = regs_SYN_2056_rev7;
17969 regs_SYN_2056_ptr = regs_SYN_2056_rev8;
17972 regs_SYN_2056_ptr = regs_SYN_2056_rev11;
17976 if (CHSPEC_IS2G(pi->radio_chanspec)) {
17977 write_radio_reg(pi, RADIO_2056_SYN_PLL_CP2 |
17979 (u16) regs_SYN_2056_ptr[0x49 - 2].init_g);
17981 write_radio_reg(pi, RADIO_2056_SYN_PLL_CP2 |
17983 (u16) regs_SYN_2056_ptr[0x49 - 2].init_a);
17986 if (pi->sh->boardflags2 & BFL2_GPLL_WAR) {
17987 if (CHSPEC_IS2G(pi->radio_chanspec)) {
17988 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER1 |
17989 RADIO_2056_SYN, 0x1f);
17990 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER2 |
17991 RADIO_2056_SYN, 0x1f);
17993 if ((pi->sh->chip == BCM4716_CHIP_ID) ||
17994 (pi->sh->chip == BCM47162_CHIP_ID)) {
17996 write_radio_reg(pi,
17997 RADIO_2056_SYN_PLL_LOOPFILTER4 |
17998 RADIO_2056_SYN, 0x14);
17999 write_radio_reg(pi,
18000 RADIO_2056_SYN_PLL_CP2 |
18001 RADIO_2056_SYN, 0x00);
18003 write_radio_reg(pi,
18004 RADIO_2056_SYN_PLL_LOOPFILTER4 |
18005 RADIO_2056_SYN, 0xb);
18006 write_radio_reg(pi,
18007 RADIO_2056_SYN_PLL_CP2 |
18008 RADIO_2056_SYN, 0x14);
18013 if ((pi->sh->boardflags2 & BFL2_GPLL_WAR2) &&
18014 (CHSPEC_IS2G(pi->radio_chanspec))) {
18015 write_radio_reg(pi,
18016 RADIO_2056_SYN_PLL_LOOPFILTER1 | RADIO_2056_SYN,
18018 write_radio_reg(pi,
18019 RADIO_2056_SYN_PLL_LOOPFILTER2 | RADIO_2056_SYN,
18021 write_radio_reg(pi,
18022 RADIO_2056_SYN_PLL_LOOPFILTER4 | RADIO_2056_SYN,
18024 write_radio_reg(pi, RADIO_2056_SYN_PLL_CP2 | RADIO_2056_SYN,
18028 if (pi->sh->boardflags2 & BFL2_APLL_WAR) {
18029 if (CHSPEC_IS5G(pi->radio_chanspec)) {
18030 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER1 |
18031 RADIO_2056_SYN, 0x1f);
18032 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER2 |
18033 RADIO_2056_SYN, 0x1f);
18034 write_radio_reg(pi, RADIO_2056_SYN_PLL_LOOPFILTER4 |
18035 RADIO_2056_SYN, 0x5);
18036 write_radio_reg(pi, RADIO_2056_SYN_PLL_CP2 |
18037 RADIO_2056_SYN, 0xc);
18041 if (PHY_IPA(pi) && CHSPEC_IS2G(pi->radio_chanspec)) {
18042 u16 pag_boost_tune;
18043 u16 padg_boost_tune;
18044 u16 pgag_boost_tune;
18045 u16 mixg_boost_tune;
18046 u16 bias, cascbias;
18049 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
18051 if (NREV_GE(pi->pubpi.phy_rev, 5)) {
18053 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18056 if ((pi->sh->chip == BCM4716_CHIP_ID) ||
18058 BCM47162_CHIP_ID)) {
18061 pag_boost_tune = 0x5;
18062 pgag_boost_tune = 0x33;
18063 padg_boost_tune = 0x77;
18064 mixg_boost_tune = 0x55;
18069 if ((pi->sh->chip ==
18071 || (pi->sh->chip ==
18073 || (pi->sh->chip ==
18074 BCM43421_CHIP_ID)) {
18075 if (pi->sh->chippkg ==
18076 BCM43224_FAB_SMIC) {
18082 pag_boost_tune = 0x4;
18083 pgag_boost_tune = 0x03;
18084 padg_boost_tune = 0x77;
18085 mixg_boost_tune = 0x65;
18088 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18089 INTPAG_IMAIN_STAT, bias);
18090 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18091 INTPAG_IAUX_STAT, bias);
18092 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18093 INTPAG_CASCBIAS, cascbias);
18095 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18098 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18101 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18104 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18109 bias = IS40MHZ(pi) ? 0x40 : 0x20;
18111 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18112 INTPAG_IMAIN_STAT, bias);
18113 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18114 INTPAG_IAUX_STAT, bias);
18115 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18116 INTPAG_CASCBIAS, 0x30);
18118 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, PA_SPARE1,
18123 if (PHY_IPA(pi) && NREV_IS(pi->pubpi.phy_rev, 6)
18124 && CHSPEC_IS5G(pi->radio_chanspec)) {
18125 u16 paa_boost_tune;
18126 u16 pada_boost_tune;
18127 u16 pgaa_boost_tune;
18128 u16 mixa_boost_tune;
18129 u16 freq, pabias, cascbias;
18132 freq = CHAN5G_FREQ(CHSPEC_CHANNEL(pi->radio_chanspec));
18136 paa_boost_tune = 0xa;
18137 pada_boost_tune = 0x77;
18138 pgaa_boost_tune = 0xf;
18139 mixa_boost_tune = 0xf;
18140 } else if (freq < 5340) {
18142 paa_boost_tune = 0x8;
18143 pada_boost_tune = 0x77;
18144 pgaa_boost_tune = 0xfb;
18145 mixa_boost_tune = 0xf;
18146 } else if (freq < 5650) {
18148 paa_boost_tune = 0x0;
18149 pada_boost_tune = 0x77;
18150 pgaa_boost_tune = 0xb;
18151 mixa_boost_tune = 0xf;
18154 paa_boost_tune = 0x0;
18155 pada_boost_tune = 0x77;
18156 if (freq != 5825) {
18157 pgaa_boost_tune = -(int)(freq - 18) / 36 + 168;
18159 pgaa_boost_tune = 6;
18161 mixa_boost_tune = 0xf;
18164 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
18165 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18166 INTPAA_BOOST_TUNE, paa_boost_tune);
18167 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18168 PADA_BOOST_TUNE, pada_boost_tune);
18169 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18170 PGAA_BOOST_TUNE, pgaa_boost_tune);
18171 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18172 MIXA_BOOST_TUNE, mixa_boost_tune);
18174 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18176 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18179 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18180 PADA_CASCBIAS, 0x3);
18184 if ((pi->sh->chip == BCM43224_CHIP_ID) ||
18185 (pi->sh->chip == BCM43225_CHIP_ID) ||
18186 (pi->sh->chip == BCM43421_CHIP_ID)) {
18187 if (pi->sh->chippkg == BCM43224_FAB_SMIC) {
18192 pabias = (pi->phy_pabias == 0) ? 0x30 : pi->phy_pabias;
18194 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18195 INTPAA_IAUX_STAT, pabias);
18196 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18197 INTPAA_IMAIN_STAT, pabias);
18198 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
18199 INTPAA_CASCBIAS, cascbias);
18205 wlc_phy_radio205x_vcocal_nphy(pi);
18208 void wlc_phy_radio205x_vcocal_nphy(phy_info_t *pi)
18210 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
18211 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_EN, 0x01, 0x0);
18212 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_CAL_RESETN, 0x04, 0x0);
18213 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_CAL_RESETN, 0x04,
18215 mod_radio_reg(pi, RADIO_2057_RFPLL_MISC_EN, 0x01, 0x01);
18216 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
18217 write_radio_reg(pi, RADIO_2056_SYN_PLL_VCOCAL12, 0x0);
18218 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST3, 0x38);
18219 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST3, 0x18);
18220 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST3, 0x38);
18221 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST3, 0x39);
18227 #define MAX_205x_RCAL_WAITLOOPS 10000
18229 static u16 wlc_phy_radio205x_rcal(phy_info_t *pi)
18234 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
18236 if (pi->pubpi.radiorev == 5) {
18238 and_phy_reg(pi, 0x342, ~(0x1 << 1));
18242 mod_radio_reg(pi, RADIO_2057_IQTEST_SEL_PU, 0x1, 0x1);
18243 mod_radio_reg(pi, RADIO_2057v7_IQTEST_SEL_PU2, 0x2,
18246 mod_radio_reg(pi, RADIO_2057_RCAL_CONFIG, 0x1, 0x1);
18250 mod_radio_reg(pi, RADIO_2057_RCAL_CONFIG, 0x3, 0x3);
18252 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
18253 rcal_reg = read_radio_reg(pi, RADIO_2057_RCAL_STATUS);
18254 if (rcal_reg & 0x1) {
18260 if (WARN(i == MAX_205x_RCAL_WAITLOOPS,
18261 "HW error: radio calib2"))
18264 mod_radio_reg(pi, RADIO_2057_RCAL_CONFIG, 0x2, 0x0);
18266 rcal_reg = read_radio_reg(pi, RADIO_2057_RCAL_STATUS) & 0x3e;
18268 mod_radio_reg(pi, RADIO_2057_RCAL_CONFIG, 0x1, 0x0);
18269 if (pi->pubpi.radiorev == 5) {
18271 mod_radio_reg(pi, RADIO_2057_IQTEST_SEL_PU, 0x1, 0x0);
18272 mod_radio_reg(pi, RADIO_2057v7_IQTEST_SEL_PU2, 0x2,
18276 if ((pi->pubpi.radiorev <= 4) || (pi->pubpi.radiorev == 6)) {
18278 mod_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG, 0x3c,
18280 mod_radio_reg(pi, RADIO_2057_BANDGAP_RCAL_TRIM, 0xf0,
18284 } else if (NREV_IS(pi->pubpi.phy_rev, 3)) {
18289 RADIO_2056_SYN_PLL_MAST2 | RADIO_2056_SYN);
18290 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST2 | RADIO_2056_SYN,
18294 write_radio_reg(pi, RADIO_2056_SYN_RCAL_MASTER | RADIO_2056_SYN,
18298 write_radio_reg(pi, RADIO_2056_SYN_RCAL_MASTER | RADIO_2056_SYN,
18301 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
18302 rcal_reg = read_radio_reg(pi,
18303 RADIO_2056_SYN_RCAL_CODE_OUT |
18305 if (rcal_reg & 0x80) {
18311 if (WARN(i == MAX_205x_RCAL_WAITLOOPS,
18312 "HW error: radio calib3"))
18315 write_radio_reg(pi, RADIO_2056_SYN_RCAL_MASTER | RADIO_2056_SYN,
18320 RADIO_2056_SYN_RCAL_CODE_OUT |
18323 write_radio_reg(pi, RADIO_2056_SYN_RCAL_MASTER | RADIO_2056_SYN,
18326 write_radio_reg(pi, RADIO_2056_SYN_PLL_MAST2 | RADIO_2056_SYN,
18329 return rcal_reg & 0x1f;
18331 return rcal_reg & 0x3e;
18335 wlc_phy_chanspec_radio2057_setup(phy_info_t *pi,
18336 const chan_info_nphy_radio2057_t *ci,
18337 const chan_info_nphy_radio2057_rev5_t *ci2)
18340 u16 txmix2g_tune_boost_pu = 0;
18341 u16 pad2g_tune_pus = 0;
18343 if (pi->pubpi.radiorev == 5) {
18345 write_radio_reg(pi,
18346 RADIO_2057_VCOCAL_COUNTVAL0,
18347 ci2->RF_vcocal_countval0);
18348 write_radio_reg(pi, RADIO_2057_VCOCAL_COUNTVAL1,
18349 ci2->RF_vcocal_countval1);
18350 write_radio_reg(pi, RADIO_2057_RFPLL_REFMASTER_SPAREXTALSIZE,
18351 ci2->RF_rfpll_refmaster_sparextalsize);
18352 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18353 ci2->RF_rfpll_loopfilter_r1);
18354 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18355 ci2->RF_rfpll_loopfilter_c2);
18356 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18357 ci2->RF_rfpll_loopfilter_c1);
18358 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC,
18359 ci2->RF_cp_kpd_idac);
18360 write_radio_reg(pi, RADIO_2057_RFPLL_MMD0, ci2->RF_rfpll_mmd0);
18361 write_radio_reg(pi, RADIO_2057_RFPLL_MMD1, ci2->RF_rfpll_mmd1);
18362 write_radio_reg(pi,
18363 RADIO_2057_VCOBUF_TUNE, ci2->RF_vcobuf_tune);
18364 write_radio_reg(pi,
18365 RADIO_2057_LOGEN_MX2G_TUNE,
18366 ci2->RF_logen_mx2g_tune);
18367 write_radio_reg(pi, RADIO_2057_LOGEN_INDBUF2G_TUNE,
18368 ci2->RF_logen_indbuf2g_tune);
18370 write_radio_reg(pi,
18371 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE0,
18372 ci2->RF_txmix2g_tune_boost_pu_core0);
18373 write_radio_reg(pi,
18374 RADIO_2057_PAD2G_TUNE_PUS_CORE0,
18375 ci2->RF_pad2g_tune_pus_core0);
18376 write_radio_reg(pi, RADIO_2057_LNA2G_TUNE_CORE0,
18377 ci2->RF_lna2g_tune_core0);
18379 write_radio_reg(pi,
18380 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE1,
18381 ci2->RF_txmix2g_tune_boost_pu_core1);
18382 write_radio_reg(pi,
18383 RADIO_2057_PAD2G_TUNE_PUS_CORE1,
18384 ci2->RF_pad2g_tune_pus_core1);
18385 write_radio_reg(pi, RADIO_2057_LNA2G_TUNE_CORE1,
18386 ci2->RF_lna2g_tune_core1);
18390 write_radio_reg(pi,
18391 RADIO_2057_VCOCAL_COUNTVAL0,
18392 ci->RF_vcocal_countval0);
18393 write_radio_reg(pi, RADIO_2057_VCOCAL_COUNTVAL1,
18394 ci->RF_vcocal_countval1);
18395 write_radio_reg(pi, RADIO_2057_RFPLL_REFMASTER_SPAREXTALSIZE,
18396 ci->RF_rfpll_refmaster_sparextalsize);
18397 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18398 ci->RF_rfpll_loopfilter_r1);
18399 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18400 ci->RF_rfpll_loopfilter_c2);
18401 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18402 ci->RF_rfpll_loopfilter_c1);
18403 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, ci->RF_cp_kpd_idac);
18404 write_radio_reg(pi, RADIO_2057_RFPLL_MMD0, ci->RF_rfpll_mmd0);
18405 write_radio_reg(pi, RADIO_2057_RFPLL_MMD1, ci->RF_rfpll_mmd1);
18406 write_radio_reg(pi, RADIO_2057_VCOBUF_TUNE, ci->RF_vcobuf_tune);
18407 write_radio_reg(pi,
18408 RADIO_2057_LOGEN_MX2G_TUNE,
18409 ci->RF_logen_mx2g_tune);
18410 write_radio_reg(pi, RADIO_2057_LOGEN_MX5G_TUNE,
18411 ci->RF_logen_mx5g_tune);
18412 write_radio_reg(pi, RADIO_2057_LOGEN_INDBUF2G_TUNE,
18413 ci->RF_logen_indbuf2g_tune);
18414 write_radio_reg(pi, RADIO_2057_LOGEN_INDBUF5G_TUNE,
18415 ci->RF_logen_indbuf5g_tune);
18417 write_radio_reg(pi,
18418 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE0,
18419 ci->RF_txmix2g_tune_boost_pu_core0);
18420 write_radio_reg(pi,
18421 RADIO_2057_PAD2G_TUNE_PUS_CORE0,
18422 ci->RF_pad2g_tune_pus_core0);
18423 write_radio_reg(pi, RADIO_2057_PGA_BOOST_TUNE_CORE0,
18424 ci->RF_pga_boost_tune_core0);
18425 write_radio_reg(pi, RADIO_2057_TXMIX5G_BOOST_TUNE_CORE0,
18426 ci->RF_txmix5g_boost_tune_core0);
18427 write_radio_reg(pi, RADIO_2057_PAD5G_TUNE_MISC_PUS_CORE0,
18428 ci->RF_pad5g_tune_misc_pus_core0);
18429 write_radio_reg(pi, RADIO_2057_LNA2G_TUNE_CORE0,
18430 ci->RF_lna2g_tune_core0);
18431 write_radio_reg(pi, RADIO_2057_LNA5G_TUNE_CORE0,
18432 ci->RF_lna5g_tune_core0);
18434 write_radio_reg(pi,
18435 RADIO_2057_TXMIX2G_TUNE_BOOST_PU_CORE1,
18436 ci->RF_txmix2g_tune_boost_pu_core1);
18437 write_radio_reg(pi,
18438 RADIO_2057_PAD2G_TUNE_PUS_CORE1,
18439 ci->RF_pad2g_tune_pus_core1);
18440 write_radio_reg(pi, RADIO_2057_PGA_BOOST_TUNE_CORE1,
18441 ci->RF_pga_boost_tune_core1);
18442 write_radio_reg(pi, RADIO_2057_TXMIX5G_BOOST_TUNE_CORE1,
18443 ci->RF_txmix5g_boost_tune_core1);
18444 write_radio_reg(pi, RADIO_2057_PAD5G_TUNE_MISC_PUS_CORE1,
18445 ci->RF_pad5g_tune_misc_pus_core1);
18446 write_radio_reg(pi, RADIO_2057_LNA2G_TUNE_CORE1,
18447 ci->RF_lna2g_tune_core1);
18448 write_radio_reg(pi, RADIO_2057_LNA5G_TUNE_CORE1,
18449 ci->RF_lna5g_tune_core1);
18452 if ((pi->pubpi.radiorev <= 4) || (pi->pubpi.radiorev == 6)) {
18454 if (CHSPEC_IS2G(pi->radio_chanspec)) {
18455 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18457 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, 0x3f);
18458 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18460 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18463 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18465 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, 0x3f);
18466 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18468 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18471 } else if ((pi->pubpi.radiorev == 5) || (pi->pubpi.radiorev == 7) ||
18472 (pi->pubpi.radiorev == 8)) {
18474 if (CHSPEC_IS2G(pi->radio_chanspec)) {
18475 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18477 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, 0x30);
18478 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18480 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18483 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_R1,
18485 write_radio_reg(pi, RADIO_2057_CP_KPD_IDAC, 0x3f);
18486 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C1,
18488 write_radio_reg(pi, RADIO_2057_RFPLL_LOOPFILTER_C2,
18494 if (CHSPEC_IS2G(pi->radio_chanspec)) {
18496 if (pi->pubpi.radiorev == 3) {
18497 txmix2g_tune_boost_pu = 0x6b;
18500 if (pi->pubpi.radiorev == 5)
18501 pad2g_tune_pus = 0x73;
18504 if (pi->pubpi.radiorev != 5) {
18505 pad2g_tune_pus = 0x3;
18507 txmix2g_tune_boost_pu = 0x61;
18511 for (coreNum = 0; coreNum <= 1; coreNum++) {
18513 if (txmix2g_tune_boost_pu != 0)
18514 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
18515 TXMIX2G_TUNE_BOOST_PU,
18516 txmix2g_tune_boost_pu);
18518 if (pad2g_tune_pus != 0)
18519 WRITE_RADIO_REG4(pi, RADIO_2057, CORE, coreNum,
18527 wlc_phy_radio205x_vcocal_nphy(pi);
18530 static u16 wlc_phy_radio2057_rccal(phy_info_t *pi)
18534 bool chip43226_6362A0;
18536 chip43226_6362A0 = ((pi->pubpi.radiorev == 3)
18537 || (pi->pubpi.radiorev == 4)
18538 || (pi->pubpi.radiorev == 6));
18541 if (chip43226_6362A0) {
18542 write_radio_reg(pi, RADIO_2057_RCCAL_MASTER, 0x61);
18543 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xc0);
18545 write_radio_reg(pi, RADIO_2057v7_RCCAL_MASTER, 0x61);
18547 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xe9);
18549 write_radio_reg(pi, RADIO_2057_RCCAL_X1, 0x6e);
18550 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x55);
18552 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
18553 rccal_valid = read_radio_reg(pi, RADIO_2057_RCCAL_DONE_OSCCAP);
18554 if (rccal_valid & 0x2) {
18560 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x15);
18563 if (chip43226_6362A0) {
18564 write_radio_reg(pi, RADIO_2057_RCCAL_MASTER, 0x69);
18565 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xb0);
18567 write_radio_reg(pi, RADIO_2057v7_RCCAL_MASTER, 0x69);
18569 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xd5);
18571 write_radio_reg(pi, RADIO_2057_RCCAL_X1, 0x6e);
18572 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x55);
18574 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
18575 rccal_valid = read_radio_reg(pi, RADIO_2057_RCCAL_DONE_OSCCAP);
18576 if (rccal_valid & 0x2) {
18582 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x15);
18585 if (chip43226_6362A0) {
18586 write_radio_reg(pi, RADIO_2057_RCCAL_MASTER, 0x73);
18588 write_radio_reg(pi, RADIO_2057_RCCAL_X1, 0x28);
18589 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0xb0);
18591 write_radio_reg(pi, RADIO_2057v7_RCCAL_MASTER, 0x73);
18592 write_radio_reg(pi, RADIO_2057_RCCAL_X1, 0x6e);
18593 write_radio_reg(pi, RADIO_2057_RCCAL_TRC0, 0x99);
18595 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x55);
18597 for (i = 0; i < MAX_205x_RCAL_WAITLOOPS; i++) {
18598 rccal_valid = read_radio_reg(pi, RADIO_2057_RCCAL_DONE_OSCCAP);
18599 if (rccal_valid & 0x2) {
18605 if (WARN(!(rccal_valid & 0x2), "HW error: radio calib4"))
18608 write_radio_reg(pi, RADIO_2057_RCCAL_START_R1_Q1_P1, 0x15);
18610 return rccal_valid;
18614 wlc_phy_adjust_rx_analpfbw_nphy(phy_info_t *pi, u16 reduction_factr)
18616 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 7)) {
18617 if ((CHSPEC_CHANNEL(pi->radio_chanspec) == 11) &&
18618 CHSPEC_IS40(pi->radio_chanspec)) {
18619 if (!pi->nphy_anarxlpf_adjusted) {
18620 write_radio_reg(pi,
18621 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
18623 ((pi->nphy_rccal_value +
18624 reduction_factr) | 0x80));
18626 pi->nphy_anarxlpf_adjusted = true;
18629 if (pi->nphy_anarxlpf_adjusted) {
18630 write_radio_reg(pi,
18631 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
18633 (pi->nphy_rccal_value | 0x80));
18635 pi->nphy_anarxlpf_adjusted = false;
18642 wlc_phy_adjust_min_noisevar_nphy(phy_info_t *pi, int ntones, int *tone_id_buf,
18643 u32 *noise_var_buf)
18650 radio_chanspec) ? NPHY_NOISEVAR_TBLLEN40 :
18651 NPHY_NOISEVAR_TBLLEN20;
18653 if (pi->nphy_noisevars_adjusted) {
18654 for (i = 0; i < pi->nphy_saved_noisevars.bufcount; i++) {
18655 tone_id = pi->nphy_saved_noisevars.tone_id[i];
18656 offset = (tone_id >= 0) ?
18657 ((tone_id * 2) + 1) : (tbllen + (tone_id * 2) + 1);
18658 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
18661 nphy_saved_noisevars.
18662 min_noise_vars[i]);
18665 pi->nphy_saved_noisevars.bufcount = 0;
18666 pi->nphy_noisevars_adjusted = false;
18669 if ((noise_var_buf != NULL) && (tone_id_buf != NULL)) {
18670 pi->nphy_saved_noisevars.bufcount = 0;
18672 for (i = 0; i < ntones; i++) {
18673 tone_id = tone_id_buf[i];
18674 offset = (tone_id >= 0) ?
18675 ((tone_id * 2) + 1) : (tbllen + (tone_id * 2) + 1);
18676 pi->nphy_saved_noisevars.tone_id[i] = tone_id;
18677 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
18679 &pi->nphy_saved_noisevars.
18680 min_noise_vars[i]);
18681 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_NOISEVAR, 1,
18683 (void *)&noise_var_buf[i]);
18684 pi->nphy_saved_noisevars.bufcount++;
18687 pi->nphy_noisevars_adjusted = true;
18691 static void wlc_phy_adjust_crsminpwr_nphy(phy_info_t *pi, u8 minpwr)
18695 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
18696 if ((CHSPEC_CHANNEL(pi->radio_chanspec) == 11) &&
18697 CHSPEC_IS40(pi->radio_chanspec)) {
18698 if (!pi->nphy_crsminpwr_adjusted) {
18699 regval = read_phy_reg(pi, 0x27d);
18700 pi->nphy_crsminpwr[0] = regval & 0xff;
18702 regval |= (u16) minpwr;
18703 write_phy_reg(pi, 0x27d, regval);
18705 regval = read_phy_reg(pi, 0x280);
18706 pi->nphy_crsminpwr[1] = regval & 0xff;
18708 regval |= (u16) minpwr;
18709 write_phy_reg(pi, 0x280, regval);
18711 regval = read_phy_reg(pi, 0x283);
18712 pi->nphy_crsminpwr[2] = regval & 0xff;
18714 regval |= (u16) minpwr;
18715 write_phy_reg(pi, 0x283, regval);
18717 pi->nphy_crsminpwr_adjusted = true;
18720 if (pi->nphy_crsminpwr_adjusted) {
18721 regval = read_phy_reg(pi, 0x27d);
18723 regval |= pi->nphy_crsminpwr[0];
18724 write_phy_reg(pi, 0x27d, regval);
18726 regval = read_phy_reg(pi, 0x280);
18728 regval |= pi->nphy_crsminpwr[1];
18729 write_phy_reg(pi, 0x280, regval);
18731 regval = read_phy_reg(pi, 0x283);
18733 regval |= pi->nphy_crsminpwr[2];
18734 write_phy_reg(pi, 0x283, regval);
18736 pi->nphy_crsminpwr_adjusted = false;
18742 static void wlc_phy_txlpfbw_nphy(phy_info_t *pi)
18746 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 7)) {
18747 if (CHSPEC_IS40(pi->radio_chanspec)) {
18754 if (CHSPEC_IS40(pi->radio_chanspec)) {
18760 write_phy_reg(pi, 0xe8,
18763 (tx_lpf_bw << 6) | (tx_lpf_bw << 9));
18767 if (CHSPEC_IS40(pi->radio_chanspec)) {
18773 write_phy_reg(pi, 0xe9,
18776 (tx_lpf_bw << 6) | (tx_lpf_bw << 9));
18781 static void wlc_phy_spurwar_nphy(phy_info_t *pi)
18783 u16 cur_channel = 0;
18784 int nphy_adj_tone_id_buf[] = { 57, 58 };
18785 u32 nphy_adj_noise_var_buf[] = { 0x3ff, 0x3ff };
18786 bool isAdjustNoiseVar = false;
18787 uint numTonesAdjust = 0;
18790 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
18791 if (pi->phyhang_avoid)
18792 wlc_phy_stay_in_carriersearch_nphy(pi, true);
18794 cur_channel = CHSPEC_CHANNEL(pi->radio_chanspec);
18796 if (pi->nphy_gband_spurwar_en) {
18798 wlc_phy_adjust_rx_analpfbw_nphy(pi,
18799 NPHY_ANARXLPFBW_REDUCTIONFACT);
18801 if (CHSPEC_IS2G(pi->radio_chanspec)) {
18802 if ((cur_channel == 11)
18803 && CHSPEC_IS40(pi->radio_chanspec)) {
18805 wlc_phy_adjust_min_noisevar_nphy(pi, 2,
18806 nphy_adj_tone_id_buf,
18807 nphy_adj_noise_var_buf);
18810 wlc_phy_adjust_min_noisevar_nphy(pi, 0,
18815 wlc_phy_adjust_crsminpwr_nphy(pi,
18816 NPHY_ADJUSTED_MINCRSPOWER);
18819 if ((pi->nphy_gband_spurwar2_en)
18820 && CHSPEC_IS2G(pi->radio_chanspec)) {
18822 if (CHSPEC_IS40(pi->radio_chanspec)) {
18823 switch (cur_channel) {
18825 nphy_adj_tone_id_buf[0] = 57;
18826 nphy_adj_tone_id_buf[1] = 58;
18827 nphy_adj_noise_var_buf[0] = 0x22f;
18828 nphy_adj_noise_var_buf[1] = 0x25f;
18829 isAdjustNoiseVar = true;
18832 nphy_adj_tone_id_buf[0] = 41;
18833 nphy_adj_tone_id_buf[1] = 42;
18834 nphy_adj_noise_var_buf[0] = 0x22f;
18835 nphy_adj_noise_var_buf[1] = 0x25f;
18836 isAdjustNoiseVar = true;
18839 nphy_adj_tone_id_buf[0] = 25;
18840 nphy_adj_tone_id_buf[1] = 26;
18841 nphy_adj_noise_var_buf[0] = 0x24f;
18842 nphy_adj_noise_var_buf[1] = 0x25f;
18843 isAdjustNoiseVar = true;
18846 nphy_adj_tone_id_buf[0] = 9;
18847 nphy_adj_tone_id_buf[1] = 10;
18848 nphy_adj_noise_var_buf[0] = 0x22f;
18849 nphy_adj_noise_var_buf[1] = 0x24f;
18850 isAdjustNoiseVar = true;
18853 nphy_adj_tone_id_buf[0] = 121;
18854 nphy_adj_tone_id_buf[1] = 122;
18855 nphy_adj_noise_var_buf[0] = 0x18f;
18856 nphy_adj_noise_var_buf[1] = 0x24f;
18857 isAdjustNoiseVar = true;
18860 nphy_adj_tone_id_buf[0] = 105;
18861 nphy_adj_tone_id_buf[1] = 106;
18862 nphy_adj_noise_var_buf[0] = 0x22f;
18863 nphy_adj_noise_var_buf[1] = 0x25f;
18864 isAdjustNoiseVar = true;
18867 nphy_adj_tone_id_buf[0] = 89;
18868 nphy_adj_tone_id_buf[1] = 90;
18869 nphy_adj_noise_var_buf[0] = 0x22f;
18870 nphy_adj_noise_var_buf[1] = 0x24f;
18871 isAdjustNoiseVar = true;
18874 nphy_adj_tone_id_buf[0] = 73;
18875 nphy_adj_tone_id_buf[1] = 74;
18876 nphy_adj_noise_var_buf[0] = 0x22f;
18877 nphy_adj_noise_var_buf[1] = 0x24f;
18878 isAdjustNoiseVar = true;
18881 isAdjustNoiseVar = false;
18886 if (isAdjustNoiseVar) {
18887 numTonesAdjust = sizeof(nphy_adj_tone_id_buf) /
18888 sizeof(nphy_adj_tone_id_buf[0]);
18890 wlc_phy_adjust_min_noisevar_nphy(pi,
18892 nphy_adj_tone_id_buf,
18893 nphy_adj_noise_var_buf);
18899 wlc_phy_adjust_min_noisevar_nphy(pi, 0, NULL,
18904 if ((pi->nphy_aband_spurwar_en) &&
18905 (CHSPEC_IS5G(pi->radio_chanspec))) {
18906 switch (cur_channel) {
18908 nphy_adj_tone_id_buf[0] = 32;
18909 nphy_adj_noise_var_buf[0] = 0x25f;
18914 if ((pi->sh->chip == BCM4716_CHIP_ID) &&
18915 (pi->sh->chippkg == BCM4717_PKG_ID)) {
18916 nphy_adj_tone_id_buf[0] = 32;
18917 nphy_adj_noise_var_buf[0] = 0x21f;
18919 nphy_adj_tone_id_buf[0] = 0;
18920 nphy_adj_noise_var_buf[0] = 0x0;
18924 nphy_adj_tone_id_buf[0] = 32;
18925 nphy_adj_noise_var_buf[0] = 0x21f;
18928 nphy_adj_tone_id_buf[0] = 16;
18929 nphy_adj_noise_var_buf[0] = 0x23f;
18933 nphy_adj_tone_id_buf[0] = 48;
18934 nphy_adj_noise_var_buf[0] = 0x23f;
18937 nphy_adj_tone_id_buf[0] = 0;
18938 nphy_adj_noise_var_buf[0] = 0x0;
18942 if (nphy_adj_tone_id_buf[0]
18943 && nphy_adj_noise_var_buf[0]) {
18944 wlc_phy_adjust_min_noisevar_nphy(pi, 1,
18945 nphy_adj_tone_id_buf,
18946 nphy_adj_noise_var_buf);
18948 wlc_phy_adjust_min_noisevar_nphy(pi, 0, NULL,
18953 if (pi->phyhang_avoid)
18954 wlc_phy_stay_in_carriersearch_nphy(pi, false);
18959 wlc_phy_chanspec_nphy_setup(phy_info_t *pi, chanspec_t chanspec,
18960 const nphy_sfo_cfg_t *ci)
18964 val = read_phy_reg(pi, 0x09) & NPHY_BandControl_currentBand;
18965 if (CHSPEC_IS5G(chanspec) && !val) {
18967 val = R_REG(&pi->regs->psm_phy_hdr_param);
18968 W_REG(&pi->regs->psm_phy_hdr_param,
18969 (val | MAC_PHY_FORCE_CLK));
18971 or_phy_reg(pi, (NPHY_TO_BPHY_OFF + BPHY_BB_CONFIG),
18972 (BBCFG_RESETCCA | BBCFG_RESETRX));
18974 W_REG(&pi->regs->psm_phy_hdr_param, val);
18976 or_phy_reg(pi, 0x09, NPHY_BandControl_currentBand);
18977 } else if (!CHSPEC_IS5G(chanspec) && val) {
18979 and_phy_reg(pi, 0x09, ~NPHY_BandControl_currentBand);
18981 val = R_REG(&pi->regs->psm_phy_hdr_param);
18982 W_REG(&pi->regs->psm_phy_hdr_param,
18983 (val | MAC_PHY_FORCE_CLK));
18985 and_phy_reg(pi, (NPHY_TO_BPHY_OFF + BPHY_BB_CONFIG),
18986 (u16) (~(BBCFG_RESETCCA | BBCFG_RESETRX)));
18988 W_REG(&pi->regs->psm_phy_hdr_param, val);
18991 write_phy_reg(pi, 0x1ce, ci->PHY_BW1a);
18992 write_phy_reg(pi, 0x1cf, ci->PHY_BW2);
18993 write_phy_reg(pi, 0x1d0, ci->PHY_BW3);
18995 write_phy_reg(pi, 0x1d1, ci->PHY_BW4);
18996 write_phy_reg(pi, 0x1d2, ci->PHY_BW5);
18997 write_phy_reg(pi, 0x1d3, ci->PHY_BW6);
18999 if (CHSPEC_CHANNEL(pi->radio_chanspec) == 14) {
19000 wlc_phy_classifier_nphy(pi, NPHY_ClassifierCtrl_ofdm_en, 0);
19002 or_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_TEST, 0x800);
19004 wlc_phy_classifier_nphy(pi, NPHY_ClassifierCtrl_ofdm_en,
19005 NPHY_ClassifierCtrl_ofdm_en);
19007 if (CHSPEC_IS2G(chanspec))
19008 and_phy_reg(pi, NPHY_TO_BPHY_OFF + BPHY_TEST, ~0x840);
19011 if (pi->nphy_txpwrctrl == PHY_TPC_HW_OFF) {
19012 wlc_phy_txpwr_fixpower_nphy(pi);
19015 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
19017 wlc_phy_adjust_lnagaintbl_nphy(pi);
19020 wlc_phy_txlpfbw_nphy(pi);
19022 if (NREV_GE(pi->pubpi.phy_rev, 3)
19023 && (pi->phy_spuravoid != SPURAVOID_DISABLE)) {
19026 val = CHSPEC_CHANNEL(chanspec);
19027 if (!CHSPEC_IS40(pi->radio_chanspec)) {
19028 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19029 if ((val == 13) || (val == 14) || (val == 153)) {
19034 if (((val >= 5) && (val <= 8)) || (val == 13)
19040 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19046 if (pi->nphy_aband_spurwar_en &&
19047 ((val == 38) || (val == 102)
19048 || (val == 118))) {
19049 if ((pi->sh->chip ==
19051 && (pi->sh->chippkg ==
19061 if (pi->phy_spuravoid == SPURAVOID_FORCEON)
19064 if ((pi->sh->chip == BCM4716_CHIP_ID) ||
19065 (pi->sh->chip == BCM47162_CHIP_ID)) {
19066 si_pmu_spuravoid(pi->sh->sih, spuravoid);
19068 wlapi_bmac_core_phypll_ctl(pi->sh->physhim, false);
19069 si_pmu_spuravoid(pi->sh->sih, spuravoid);
19070 wlapi_bmac_core_phypll_ctl(pi->sh->physhim, true);
19073 if ((pi->sh->chip == BCM43224_CHIP_ID) ||
19074 (pi->sh->chip == BCM43225_CHIP_ID) ||
19075 (pi->sh->chip == BCM43421_CHIP_ID)) {
19077 if (spuravoid == 1) {
19079 W_REG(&pi->regs->tsf_clk_frac_l,
19081 W_REG(&pi->regs->tsf_clk_frac_h,
19085 W_REG(&pi->regs->tsf_clk_frac_l,
19087 W_REG(&pi->regs->tsf_clk_frac_h,
19092 if (!((pi->sh->chip == BCM4716_CHIP_ID) ||
19093 (pi->sh->chip == BCM47162_CHIP_ID))) {
19094 wlapi_bmac_core_phypll_reset(pi->sh->physhim);
19097 mod_phy_reg(pi, 0x01, (0x1 << 15),
19098 ((spuravoid > 0) ? (0x1 << 15) : 0));
19100 wlc_phy_resetcca_nphy(pi);
19102 pi->phy_isspuravoid = (spuravoid > 0);
19105 if (NREV_LT(pi->pubpi.phy_rev, 7))
19106 write_phy_reg(pi, 0x17e, 0x3830);
19108 wlc_phy_spurwar_nphy(pi);
19111 void wlc_phy_chanspec_set_nphy(phy_info_t *pi, chanspec_t chanspec)
19114 chan_info_nphy_radio2057_t *t0 = NULL;
19115 chan_info_nphy_radio205x_t *t1 = NULL;
19116 chan_info_nphy_radio2057_rev5_t *t2 = NULL;
19117 chan_info_nphy_2055_t *t3 = NULL;
19119 if (NORADIO_ENAB(pi->pubpi)) {
19123 if (!wlc_phy_chan2freq_nphy
19124 (pi, CHSPEC_CHANNEL(chanspec), &freq, &t0, &t1, &t2, &t3))
19127 wlc_phy_chanspec_radio_set((wlc_phy_t *) pi, chanspec);
19129 if (CHSPEC_BW(chanspec) != pi->bw)
19130 wlapi_bmac_bw_set(pi->sh->physhim, CHSPEC_BW(chanspec));
19132 if (CHSPEC_IS40(chanspec)) {
19133 if (CHSPEC_SB_UPPER(chanspec)) {
19134 or_phy_reg(pi, 0xa0, BPHY_BAND_SEL_UP20);
19135 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19136 or_phy_reg(pi, 0x310, PRIM_SEL_UP20);
19139 and_phy_reg(pi, 0xa0, ~BPHY_BAND_SEL_UP20);
19140 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19141 and_phy_reg(pi, 0x310,
19142 (~PRIM_SEL_UP20 & 0xffff));
19147 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19148 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19150 if ((pi->pubpi.radiorev <= 4)
19151 || (pi->pubpi.radiorev == 6)) {
19152 mod_radio_reg(pi, RADIO_2057_TIA_CONFIG_CORE0,
19154 (CHSPEC_IS5G(chanspec) ? (1 << 1)
19156 mod_radio_reg(pi, RADIO_2057_TIA_CONFIG_CORE1,
19158 (CHSPEC_IS5G(chanspec) ? (1 << 1)
19162 wlc_phy_chanspec_radio2057_setup(pi, t0, t2);
19163 wlc_phy_chanspec_nphy_setup(pi, chanspec,
19164 (pi->pubpi.radiorev ==
19165 5) ? (const nphy_sfo_cfg_t
19168 : (const nphy_sfo_cfg_t *)
19174 RADIO_2056_SYN_COM_CTRL | RADIO_2056_SYN,
19176 (CHSPEC_IS5G(chanspec) ? (0x1 << 2) : 0));
19177 wlc_phy_chanspec_radio2056_setup(pi, t1);
19179 wlc_phy_chanspec_nphy_setup(pi, chanspec,
19180 (const nphy_sfo_cfg_t *)
19186 mod_radio_reg(pi, RADIO_2055_MASTER_CNTRL1, 0x70,
19187 (CHSPEC_IS5G(chanspec) ? (0x02 << 4)
19190 wlc_phy_chanspec_radio2055_setup(pi, t3);
19191 wlc_phy_chanspec_nphy_setup(pi, chanspec,
19192 (const nphy_sfo_cfg_t *)&(t3->
19198 static void wlc_phy_savecal_nphy(phy_info_t *pi)
19202 u16 *txcal_radio_regs = NULL;
19204 if (pi->phyhang_avoid)
19205 wlc_phy_stay_in_carriersearch_nphy(pi, true);
19207 if (CHSPEC_IS2G(pi->radio_chanspec)) {
19209 wlc_phy_rx_iq_coeffs_nphy(pi, 0,
19210 &pi->calibration_cache.
19213 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19215 pi->calibration_cache.txcal_radio_regs_2G;
19216 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19218 pi->calibration_cache.txcal_radio_regs_2G[0] =
19220 RADIO_2056_TX_LOFT_FINE_I |
19222 pi->calibration_cache.txcal_radio_regs_2G[1] =
19224 RADIO_2056_TX_LOFT_FINE_Q |
19226 pi->calibration_cache.txcal_radio_regs_2G[2] =
19228 RADIO_2056_TX_LOFT_FINE_I |
19230 pi->calibration_cache.txcal_radio_regs_2G[3] =
19232 RADIO_2056_TX_LOFT_FINE_Q |
19235 pi->calibration_cache.txcal_radio_regs_2G[4] =
19237 RADIO_2056_TX_LOFT_COARSE_I |
19239 pi->calibration_cache.txcal_radio_regs_2G[5] =
19241 RADIO_2056_TX_LOFT_COARSE_Q |
19243 pi->calibration_cache.txcal_radio_regs_2G[6] =
19245 RADIO_2056_TX_LOFT_COARSE_I |
19247 pi->calibration_cache.txcal_radio_regs_2G[7] =
19249 RADIO_2056_TX_LOFT_COARSE_Q |
19252 pi->calibration_cache.txcal_radio_regs_2G[0] =
19253 read_radio_reg(pi, RADIO_2055_CORE1_TX_VOS_CNCL);
19254 pi->calibration_cache.txcal_radio_regs_2G[1] =
19255 read_radio_reg(pi, RADIO_2055_CORE2_TX_VOS_CNCL);
19256 pi->calibration_cache.txcal_radio_regs_2G[2] =
19257 read_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM);
19258 pi->calibration_cache.txcal_radio_regs_2G[3] =
19259 read_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM);
19262 pi->nphy_iqcal_chanspec_2G = pi->radio_chanspec;
19263 tbl_ptr = pi->calibration_cache.txcal_coeffs_2G;
19266 wlc_phy_rx_iq_coeffs_nphy(pi, 0,
19267 &pi->calibration_cache.
19270 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19272 pi->calibration_cache.txcal_radio_regs_5G;
19273 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19275 pi->calibration_cache.txcal_radio_regs_5G[0] =
19277 RADIO_2056_TX_LOFT_FINE_I |
19279 pi->calibration_cache.txcal_radio_regs_5G[1] =
19281 RADIO_2056_TX_LOFT_FINE_Q |
19283 pi->calibration_cache.txcal_radio_regs_5G[2] =
19285 RADIO_2056_TX_LOFT_FINE_I |
19287 pi->calibration_cache.txcal_radio_regs_5G[3] =
19289 RADIO_2056_TX_LOFT_FINE_Q |
19292 pi->calibration_cache.txcal_radio_regs_5G[4] =
19294 RADIO_2056_TX_LOFT_COARSE_I |
19296 pi->calibration_cache.txcal_radio_regs_5G[5] =
19298 RADIO_2056_TX_LOFT_COARSE_Q |
19300 pi->calibration_cache.txcal_radio_regs_5G[6] =
19302 RADIO_2056_TX_LOFT_COARSE_I |
19304 pi->calibration_cache.txcal_radio_regs_5G[7] =
19306 RADIO_2056_TX_LOFT_COARSE_Q |
19309 pi->calibration_cache.txcal_radio_regs_5G[0] =
19310 read_radio_reg(pi, RADIO_2055_CORE1_TX_VOS_CNCL);
19311 pi->calibration_cache.txcal_radio_regs_5G[1] =
19312 read_radio_reg(pi, RADIO_2055_CORE2_TX_VOS_CNCL);
19313 pi->calibration_cache.txcal_radio_regs_5G[2] =
19314 read_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM);
19315 pi->calibration_cache.txcal_radio_regs_5G[3] =
19316 read_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM);
19319 pi->nphy_iqcal_chanspec_5G = pi->radio_chanspec;
19320 tbl_ptr = pi->calibration_cache.txcal_coeffs_5G;
19322 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19323 for (coreNum = 0; coreNum <= 1; coreNum++) {
19325 txcal_radio_regs[2 * coreNum] =
19326 READ_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19328 txcal_radio_regs[2 * coreNum + 1] =
19329 READ_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19332 txcal_radio_regs[2 * coreNum + 4] =
19333 READ_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19335 txcal_radio_regs[2 * coreNum + 5] =
19336 READ_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19341 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL, 8, 80, 16, tbl_ptr);
19343 if (pi->phyhang_avoid)
19344 wlc_phy_stay_in_carriersearch_nphy(pi, false);
19347 static void wlc_phy_restorecal_nphy(phy_info_t *pi)
19350 u16 txcal_coeffs_bphy[4];
19353 u16 *txcal_radio_regs = NULL;
19355 if (CHSPEC_IS2G(pi->radio_chanspec)) {
19356 if (pi->nphy_iqcal_chanspec_2G == 0)
19359 tbl_ptr = pi->calibration_cache.txcal_coeffs_2G;
19360 loft_comp = &pi->calibration_cache.txcal_coeffs_2G[5];
19362 if (pi->nphy_iqcal_chanspec_5G == 0)
19365 tbl_ptr = pi->calibration_cache.txcal_coeffs_5G;
19366 loft_comp = &pi->calibration_cache.txcal_coeffs_5G[5];
19369 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 80, 16,
19372 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19373 txcal_coeffs_bphy[0] = tbl_ptr[0];
19374 txcal_coeffs_bphy[1] = tbl_ptr[1];
19375 txcal_coeffs_bphy[2] = tbl_ptr[2];
19376 txcal_coeffs_bphy[3] = tbl_ptr[3];
19378 txcal_coeffs_bphy[0] = 0;
19379 txcal_coeffs_bphy[1] = 0;
19380 txcal_coeffs_bphy[2] = 0;
19381 txcal_coeffs_bphy[3] = 0;
19384 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 88, 16,
19385 txcal_coeffs_bphy);
19387 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 85, 16, loft_comp);
19389 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 93, 16, loft_comp);
19391 if (NREV_LT(pi->pubpi.phy_rev, 2))
19392 wlc_phy_tx_iq_war_nphy(pi);
19394 if (CHSPEC_IS2G(pi->radio_chanspec)) {
19395 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19397 pi->calibration_cache.txcal_radio_regs_2G;
19398 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19400 write_radio_reg(pi,
19401 RADIO_2056_TX_LOFT_FINE_I |
19403 pi->calibration_cache.
19404 txcal_radio_regs_2G[0]);
19405 write_radio_reg(pi,
19406 RADIO_2056_TX_LOFT_FINE_Q |
19408 pi->calibration_cache.
19409 txcal_radio_regs_2G[1]);
19410 write_radio_reg(pi,
19411 RADIO_2056_TX_LOFT_FINE_I |
19413 pi->calibration_cache.
19414 txcal_radio_regs_2G[2]);
19415 write_radio_reg(pi,
19416 RADIO_2056_TX_LOFT_FINE_Q |
19418 pi->calibration_cache.
19419 txcal_radio_regs_2G[3]);
19421 write_radio_reg(pi,
19422 RADIO_2056_TX_LOFT_COARSE_I |
19424 pi->calibration_cache.
19425 txcal_radio_regs_2G[4]);
19426 write_radio_reg(pi,
19427 RADIO_2056_TX_LOFT_COARSE_Q |
19429 pi->calibration_cache.
19430 txcal_radio_regs_2G[5]);
19431 write_radio_reg(pi,
19432 RADIO_2056_TX_LOFT_COARSE_I |
19434 pi->calibration_cache.
19435 txcal_radio_regs_2G[6]);
19436 write_radio_reg(pi,
19437 RADIO_2056_TX_LOFT_COARSE_Q |
19439 pi->calibration_cache.
19440 txcal_radio_regs_2G[7]);
19442 write_radio_reg(pi, RADIO_2055_CORE1_TX_VOS_CNCL,
19443 pi->calibration_cache.
19444 txcal_radio_regs_2G[0]);
19445 write_radio_reg(pi, RADIO_2055_CORE2_TX_VOS_CNCL,
19446 pi->calibration_cache.
19447 txcal_radio_regs_2G[1]);
19448 write_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM,
19449 pi->calibration_cache.
19450 txcal_radio_regs_2G[2]);
19451 write_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM,
19452 pi->calibration_cache.
19453 txcal_radio_regs_2G[3]);
19456 wlc_phy_rx_iq_coeffs_nphy(pi, 1,
19457 &pi->calibration_cache.
19460 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19462 pi->calibration_cache.txcal_radio_regs_5G;
19463 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19465 write_radio_reg(pi,
19466 RADIO_2056_TX_LOFT_FINE_I |
19468 pi->calibration_cache.
19469 txcal_radio_regs_5G[0]);
19470 write_radio_reg(pi,
19471 RADIO_2056_TX_LOFT_FINE_Q |
19473 pi->calibration_cache.
19474 txcal_radio_regs_5G[1]);
19475 write_radio_reg(pi,
19476 RADIO_2056_TX_LOFT_FINE_I |
19478 pi->calibration_cache.
19479 txcal_radio_regs_5G[2]);
19480 write_radio_reg(pi,
19481 RADIO_2056_TX_LOFT_FINE_Q |
19483 pi->calibration_cache.
19484 txcal_radio_regs_5G[3]);
19486 write_radio_reg(pi,
19487 RADIO_2056_TX_LOFT_COARSE_I |
19489 pi->calibration_cache.
19490 txcal_radio_regs_5G[4]);
19491 write_radio_reg(pi,
19492 RADIO_2056_TX_LOFT_COARSE_Q |
19494 pi->calibration_cache.
19495 txcal_radio_regs_5G[5]);
19496 write_radio_reg(pi,
19497 RADIO_2056_TX_LOFT_COARSE_I |
19499 pi->calibration_cache.
19500 txcal_radio_regs_5G[6]);
19501 write_radio_reg(pi,
19502 RADIO_2056_TX_LOFT_COARSE_Q |
19504 pi->calibration_cache.
19505 txcal_radio_regs_5G[7]);
19507 write_radio_reg(pi, RADIO_2055_CORE1_TX_VOS_CNCL,
19508 pi->calibration_cache.
19509 txcal_radio_regs_5G[0]);
19510 write_radio_reg(pi, RADIO_2055_CORE2_TX_VOS_CNCL,
19511 pi->calibration_cache.
19512 txcal_radio_regs_5G[1]);
19513 write_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM,
19514 pi->calibration_cache.
19515 txcal_radio_regs_5G[2]);
19516 write_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM,
19517 pi->calibration_cache.
19518 txcal_radio_regs_5G[3]);
19521 wlc_phy_rx_iq_coeffs_nphy(pi, 1,
19522 &pi->calibration_cache.
19526 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19527 for (coreNum = 0; coreNum <= 1; coreNum++) {
19529 WRITE_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19531 txcal_radio_regs[2 * coreNum]);
19532 WRITE_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19534 txcal_radio_regs[2 * coreNum + 1]);
19536 WRITE_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19538 txcal_radio_regs[2 * coreNum + 4]);
19539 WRITE_RADIO_REG3(pi, RADIO_2057, TX, coreNum,
19541 txcal_radio_regs[2 * coreNum + 5]);
19546 void wlc_phy_antsel_init(wlc_phy_t *ppi, bool lut_init)
19548 phy_info_t *pi = (phy_info_t *) ppi;
19552 if (NREV_GE(pi->pubpi.phy_rev, 7))
19555 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
19556 u16 v0 = 0x211, v1 = 0x222, v2 = 0x144, v3 = 0x188;
19558 if (lut_init == false)
19561 if (pi->srom_fem2g.antswctrllut == 0) {
19562 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19564 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19566 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19568 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19572 if (pi->srom_fem5g.antswctrllut == 0) {
19573 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19575 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19577 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19579 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_ANTSWCTRLLUT,
19584 write_phy_reg(pi, 0xc8, 0x0);
19585 write_phy_reg(pi, 0xc9, 0x0);
19587 ai_gpiocontrol(pi->sh->sih, mask, mask, GPIO_DRV_PRIORITY);
19589 mc = R_REG(&pi->regs->maccontrol);
19590 mc &= ~MCTL_GPOUT_SEL_MASK;
19591 W_REG(&pi->regs->maccontrol, mc);
19593 OR_REG(&pi->regs->psm_gpio_oe, mask);
19595 AND_REG(&pi->regs->psm_gpio_out, ~mask);
19598 write_phy_reg(pi, 0xf8, 0x02d8);
19599 write_phy_reg(pi, 0xf9, 0x0301);
19600 write_phy_reg(pi, 0xfa, 0x02d8);
19601 write_phy_reg(pi, 0xfb, 0x0301);
19606 u16 wlc_phy_classifier_nphy(phy_info_t *pi, u16 mask, u16 val)
19608 u16 curr_ctl, new_ctl;
19609 bool suspended = false;
19611 if (D11REV_IS(pi->sh->corerev, 16)) {
19613 (R_REG(&pi->regs->maccontrol) & MCTL_EN_MAC) ?
19616 wlapi_suspend_mac_and_wait(pi->sh->physhim);
19619 curr_ctl = read_phy_reg(pi, 0xb0) & (0x7 << 0);
19621 new_ctl = (curr_ctl & (~mask)) | (val & mask);
19623 mod_phy_reg(pi, 0xb0, (0x7 << 0), new_ctl);
19625 if (D11REV_IS(pi->sh->corerev, 16) && !suspended)
19626 wlapi_enable_mac(pi->sh->physhim);
19631 static void wlc_phy_clip_det_nphy(phy_info_t *pi, u8 write, u16 *vals)
19635 vals[0] = read_phy_reg(pi, 0x2c);
19636 vals[1] = read_phy_reg(pi, 0x42);
19638 write_phy_reg(pi, 0x2c, vals[0]);
19639 write_phy_reg(pi, 0x42, vals[1]);
19643 void wlc_phy_force_rfseq_nphy(phy_info_t *pi, u8 cmd)
19645 u16 trigger_mask, status_mask;
19646 u16 orig_RfseqCoreActv;
19649 case NPHY_RFSEQ_RX2TX:
19650 trigger_mask = NPHY_RfseqTrigger_rx2tx;
19651 status_mask = NPHY_RfseqStatus_rx2tx;
19653 case NPHY_RFSEQ_TX2RX:
19654 trigger_mask = NPHY_RfseqTrigger_tx2rx;
19655 status_mask = NPHY_RfseqStatus_tx2rx;
19657 case NPHY_RFSEQ_RESET2RX:
19658 trigger_mask = NPHY_RfseqTrigger_reset2rx;
19659 status_mask = NPHY_RfseqStatus_reset2rx;
19661 case NPHY_RFSEQ_UPDATEGAINH:
19662 trigger_mask = NPHY_RfseqTrigger_updategainh;
19663 status_mask = NPHY_RfseqStatus_updategainh;
19665 case NPHY_RFSEQ_UPDATEGAINL:
19666 trigger_mask = NPHY_RfseqTrigger_updategainl;
19667 status_mask = NPHY_RfseqStatus_updategainl;
19669 case NPHY_RFSEQ_UPDATEGAINU:
19670 trigger_mask = NPHY_RfseqTrigger_updategainu;
19671 status_mask = NPHY_RfseqStatus_updategainu;
19677 orig_RfseqCoreActv = read_phy_reg(pi, 0xa1);
19678 or_phy_reg(pi, 0xa1,
19679 (NPHY_RfseqMode_CoreActv_override |
19680 NPHY_RfseqMode_Trigger_override));
19681 or_phy_reg(pi, 0xa3, trigger_mask);
19682 SPINWAIT((read_phy_reg(pi, 0xa4) & status_mask), 200000);
19683 write_phy_reg(pi, 0xa1, orig_RfseqCoreActv);
19684 WARN(read_phy_reg(pi, 0xa4) & status_mask, "HW error in rf");
19688 wlc_phy_set_rfseq_nphy(phy_info_t *pi, u8 cmd, u8 *events, u8 *dlys,
19691 u32 t1_offset, t2_offset;
19694 NREV_GE(pi->pubpi.phy_rev,
19695 3) ? NPHY_REV3_RFSEQ_CMD_END : NPHY_RFSEQ_CMD_END;
19698 if (pi->phyhang_avoid)
19699 wlc_phy_stay_in_carriersearch_nphy(pi, true);
19701 t1_offset = cmd << 4;
19702 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, len, t1_offset, 8,
19704 t2_offset = t1_offset + 0x080;
19705 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, len, t2_offset, 8,
19708 for (ctr = len; ctr < 16; ctr++) {
19709 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1,
19710 t1_offset + ctr, 8, &end_event);
19711 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 1,
19712 t2_offset + ctr, 8, &end_dly);
19715 if (pi->phyhang_avoid)
19716 wlc_phy_stay_in_carriersearch_nphy(pi, false);
19719 static u16 wlc_phy_read_lpf_bw_ctl_nphy(phy_info_t *pi, u16 offset)
19721 u16 lpf_bw_ctl_val = 0;
19722 u16 rx2tx_lpf_rc_lut_offset = 0;
19725 if (CHSPEC_IS40(pi->radio_chanspec)) {
19726 rx2tx_lpf_rc_lut_offset = 0x159;
19728 rx2tx_lpf_rc_lut_offset = 0x154;
19731 rx2tx_lpf_rc_lut_offset = offset;
19733 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 1,
19734 (u32) rx2tx_lpf_rc_lut_offset, 16,
19737 lpf_bw_ctl_val = lpf_bw_ctl_val & 0x7;
19739 return lpf_bw_ctl_val;
19743 wlc_phy_rfctrl_override_nphy_rev7(phy_info_t *pi, u16 field, u16 value,
19744 u8 core_mask, u8 off, u8 override_id)
19747 u16 addr = 0, en_addr = 0, val_addr = 0, en_mask = 0, val_mask = 0;
19750 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
19752 for (core_num = 0; core_num < 2; core_num++) {
19753 if (override_id == NPHY_REV7_RFCTRLOVERRIDE_ID0) {
19757 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19758 val_addr = (core_num == 0) ? 0x7a :
19760 val_mask = (0x1 << 1);
19764 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19765 val_addr = (core_num == 0) ? 0x7a :
19767 val_mask = (0x1 << 2);
19771 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19772 val_addr = (core_num == 0) ? 0x7a :
19774 val_mask = (0x1 << 4);
19778 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19779 val_addr = (core_num == 0) ? 0x7a :
19781 val_mask = (0x1 << 5);
19785 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19786 val_addr = (core_num == 0) ? 0x7a :
19788 val_mask = (0x1 << 6);
19792 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19793 val_addr = (core_num == 0) ? 0x7a :
19795 val_mask = (0x1 << 7);
19799 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19800 val_addr = (core_num == 0) ? 0xf8 :
19802 val_mask = (0x7 << 4);
19806 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19807 val_addr = (core_num == 0) ? 0x7b :
19809 val_mask = (0xffff << 0);
19813 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19814 val_addr = (core_num == 0) ? 0x7c :
19816 val_mask = (0xffff << 0);
19820 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19821 val_addr = (core_num == 0) ? 0x348 :
19823 val_mask = (0xff << 0);
19827 en_addr = (core_num == 0) ? 0xe7 : 0xec;
19828 val_addr = (core_num == 0) ? 0x348 :
19830 val_mask = (0xf << 0);
19837 } else if (override_id == NPHY_REV7_RFCTRLOVERRIDE_ID1) {
19841 en_addr = (core_num == 0) ? 0x342 :
19843 val_addr = (core_num == 0) ? 0x340 :
19845 val_mask = (0x1 << 1);
19849 en_addr = (core_num == 0) ? 0x342 :
19851 val_addr = (core_num == 0) ? 0x340 :
19853 val_mask = (0x1 << 3);
19857 en_addr = (core_num == 0) ? 0x342 :
19859 val_addr = (core_num == 0) ? 0x340 :
19861 val_mask = (0x1 << 5);
19865 en_addr = (core_num == 0) ? 0x342 :
19867 val_addr = (core_num == 0) ? 0x340 :
19869 val_mask = (0x1 << 4);
19874 en_addr = (core_num == 0) ? 0x342 :
19876 val_addr = (core_num == 0) ? 0x340 :
19878 val_mask = (0x1 << 2);
19883 en_addr = (core_num == 0) ? 0x342 :
19885 val_addr = (core_num == 0) ? 0x340 :
19887 val_mask = (0x7 << 8);
19891 en_addr = (core_num == 0) ? 0x342 :
19893 val_addr = (core_num == 0) ? 0x340 :
19895 val_mask = (0x1 << 14);
19899 en_addr = (core_num == 0) ? 0x342 :
19901 val_addr = (core_num == 0) ? 0x340 :
19903 val_mask = (0x1 << 13);
19907 en_addr = (core_num == 0) ? 0x342 :
19909 val_addr = (core_num == 0) ? 0x340 :
19911 val_mask = (0x1 << 12);
19915 en_addr = (core_num == 0) ? 0x342 :
19917 val_addr = (core_num == 0) ? 0x340 :
19919 val_mask = (0x1 << 11);
19923 en_addr = (core_num == 0) ? 0x342 :
19925 val_addr = (core_num == 0) ? 0x340 :
19927 val_mask = (0x1 << 6);
19931 en_addr = (core_num == 0) ? 0x342 :
19933 val_addr = (core_num == 0) ? 0x340 :
19935 val_mask = (0x1 << 0);
19942 } else if (override_id == NPHY_REV7_RFCTRLOVERRIDE_ID2) {
19946 en_addr = (core_num == 0) ? 0x346 :
19948 val_addr = (core_num == 0) ? 0x344 :
19950 val_mask = (0x1 << 3);
19954 en_addr = (core_num == 0) ? 0x346 :
19956 val_addr = (core_num == 0) ? 0x344 :
19958 val_mask = (0x1 << 1);
19962 en_addr = (core_num == 0) ? 0x346 :
19964 val_addr = (core_num == 0) ? 0x344 :
19966 val_mask = (0x1 << 0);
19970 en_addr = (core_num == 0) ? 0x346 :
19972 val_addr = (core_num == 0) ? 0x344 :
19974 val_mask = (0x1 << 2);
19978 en_addr = (core_num == 0) ? 0x346 :
19980 val_addr = (core_num == 0) ? 0x344 :
19982 val_mask = (0x1 << 4);
19992 and_phy_reg(pi, en_addr, ~en_mask);
19993 and_phy_reg(pi, val_addr, ~val_mask);
19996 if ((core_mask == 0)
19997 || (core_mask & (1 << core_num))) {
19998 or_phy_reg(pi, en_addr, en_mask);
20000 if (addr != 0xffff) {
20001 mod_phy_reg(pi, val_addr,
20013 wlc_phy_rfctrl_override_nphy(phy_info_t *pi, u16 field, u16 value,
20014 u8 core_mask, u8 off)
20017 u16 addr = 0, mask = 0, en_addr = 0, val_addr = 0, en_mask =
20019 u8 shift = 0, val_shift = 0;
20021 if (NREV_GE(pi->pubpi.phy_rev, 3) && NREV_LT(pi->pubpi.phy_rev, 7)) {
20024 for (core_num = 0; core_num < 2; core_num++) {
20028 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20029 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20030 val_mask = (0x1 << 0);
20034 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20035 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20036 val_mask = (0x1 << 1);
20040 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20041 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20042 val_mask = (0x1 << 2);
20046 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20047 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20048 val_mask = (0x1 << 4);
20052 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20053 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20054 val_mask = (0x1 << 5);
20058 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20059 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20060 val_mask = (0x1 << 6);
20064 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20065 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20066 val_mask = (0x1 << 7);
20070 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20071 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20072 val_mask = (0x7 << 8);
20076 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20077 val_addr = (core_num == 0) ? 0x7a : 0x7d;
20078 val_mask = (0x7 << 13);
20083 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20084 val_addr = (core_num == 0) ? 0xf8 : 0xfa;
20085 val_mask = (0x7 << 0);
20090 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20091 val_addr = (core_num == 0) ? 0xf8 : 0xfa;
20092 val_mask = (0x7 << 4);
20097 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20098 val_addr = (core_num == 0) ? 0x7b : 0x7e;
20099 val_mask = (0xffff << 0);
20103 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20104 val_addr = (core_num == 0) ? 0x7c : 0x7f;
20105 val_mask = (0xffff << 0);
20109 en_addr = (core_num == 0) ? 0xe7 : 0xec;
20110 val_addr = (core_num == 0) ? 0xf9 : 0xfb;
20111 val_mask = (0x3 << 6);
20115 en_addr = (core_num == 0) ? 0xe5 : 0xe6;
20116 val_addr = (core_num == 0) ? 0xf9 : 0xfb;
20117 val_mask = (0x1 << 15);
20126 and_phy_reg(pi, en_addr, ~en_mask);
20127 and_phy_reg(pi, val_addr, ~val_mask);
20130 if ((core_mask == 0)
20131 || (core_mask & (1 << core_num))) {
20132 or_phy_reg(pi, en_addr, en_mask);
20134 if (addr != 0xffff) {
20135 mod_phy_reg(pi, val_addr,
20146 and_phy_reg(pi, 0xec, ~field);
20149 or_phy_reg(pi, 0xec, field);
20152 for (core_num = 0; core_num < 2; core_num++) {
20171 addr = (core_num == 0) ? 0x7a : 0x7d;
20174 addr = (core_num == 0) ? 0x7b : 0x7e;
20177 addr = (core_num == 0) ? 0x7c : 0x7f;
20201 mask = (0xf << 12);
20246 if ((addr != 0xffff) && (core_mask & (1 << core_num))) {
20247 mod_phy_reg(pi, addr, mask, (value << shift));
20251 or_phy_reg(pi, 0xec, (0x1 << 0));
20252 or_phy_reg(pi, 0x78, (0x1 << 0));
20254 and_phy_reg(pi, 0xec, ~(0x1 << 0));
20259 wlc_phy_rfctrl_override_1tomany_nphy(phy_info_t *pi, u16 cmd, u16 value,
20260 u8 core_mask, u8 off)
20262 u16 rfmxgain = 0, lpfgain = 0;
20265 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
20268 case NPHY_REV7_RfctrlOverride_cmd_rxrf_pu:
20269 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5),
20270 value, core_mask, off,
20271 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20272 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4), value,
20274 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20275 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3), value,
20277 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20279 case NPHY_REV7_RfctrlOverride_cmd_rx_pu:
20280 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2),
20281 value, core_mask, off,
20282 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20283 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), value,
20285 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20286 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), value,
20288 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20289 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), value,
20291 NPHY_REV7_RFCTRLOVERRIDE_ID2);
20292 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 0,
20294 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20296 case NPHY_REV7_RfctrlOverride_cmd_tx_pu:
20297 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2),
20298 value, core_mask, off,
20299 NPHY_REV7_RFCTRLOVERRIDE_ID0);
20300 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), value,
20302 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20303 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), value,
20305 NPHY_REV7_RFCTRLOVERRIDE_ID2);
20306 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2), value,
20308 NPHY_REV7_RFCTRLOVERRIDE_ID2);
20309 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 1,
20311 NPHY_REV7_RFCTRLOVERRIDE_ID1);
20313 case NPHY_REV7_RfctrlOverride_cmd_rxgain:
20314 rfmxgain = value & 0x000ff;
20315 lpfgain = value & 0x0ff00;
20316 lpfgain = lpfgain >> 8;
20318 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11),
20319 rfmxgain, core_mask,
20321 NPHY_REV7_RFCTRLOVERRIDE_ID0);
20322 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x3 << 13),
20323 lpfgain, core_mask,
20325 NPHY_REV7_RFCTRLOVERRIDE_ID0);
20327 case NPHY_REV7_RfctrlOverride_cmd_txgain:
20328 tgain = value & 0x7fff;
20329 lpfgain = value & 0x8000;
20330 lpfgain = lpfgain >> 14;
20332 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 12),
20333 tgain, core_mask, off,
20334 NPHY_REV7_RFCTRLOVERRIDE_ID0);
20335 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 13),
20336 lpfgain, core_mask,
20338 NPHY_REV7_RFCTRLOVERRIDE_ID0);
20345 wlc_phy_scale_offset_rssi_nphy(phy_info_t *pi, u16 scale, s8 offset,
20346 u8 coresel, u8 rail, u8 rssi_type)
20350 offset = (offset > NPHY_RSSICAL_MAXREAD) ?
20351 NPHY_RSSICAL_MAXREAD : offset;
20352 offset = (offset < (-NPHY_RSSICAL_MAXREAD - 1)) ?
20353 -NPHY_RSSICAL_MAXREAD - 1 : offset;
20355 valuetostuff = ((scale & 0x3f) << 8) | (offset & 0x3f);
20357 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20358 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20359 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_NB)) {
20360 write_phy_reg(pi, 0x1a6, valuetostuff);
20362 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20363 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20364 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_NB)) {
20365 write_phy_reg(pi, 0x1ac, valuetostuff);
20367 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20368 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20369 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_NB)) {
20370 write_phy_reg(pi, 0x1b2, valuetostuff);
20372 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20373 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20374 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_NB)) {
20375 write_phy_reg(pi, 0x1b8, valuetostuff);
20378 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20379 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20380 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_W1)) {
20381 write_phy_reg(pi, 0x1a4, valuetostuff);
20383 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20384 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20385 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_W1)) {
20386 write_phy_reg(pi, 0x1aa, valuetostuff);
20388 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20389 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20390 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_W1)) {
20391 write_phy_reg(pi, 0x1b0, valuetostuff);
20393 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20394 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20395 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_W1)) {
20396 write_phy_reg(pi, 0x1b6, valuetostuff);
20399 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20400 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20401 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_W2)) {
20402 write_phy_reg(pi, 0x1a5, valuetostuff);
20404 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20405 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20406 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_W2)) {
20407 write_phy_reg(pi, 0x1ab, valuetostuff);
20409 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20410 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20411 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_W2)) {
20412 write_phy_reg(pi, 0x1b1, valuetostuff);
20414 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20415 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20416 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_W2)) {
20417 write_phy_reg(pi, 0x1b7, valuetostuff);
20420 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20421 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20422 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_TBD)) {
20423 write_phy_reg(pi, 0x1a7, valuetostuff);
20425 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20426 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20427 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_TBD)) {
20428 write_phy_reg(pi, 0x1ad, valuetostuff);
20430 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20431 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20432 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_TBD)) {
20433 write_phy_reg(pi, 0x1b3, valuetostuff);
20435 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20436 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20437 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_TBD)) {
20438 write_phy_reg(pi, 0x1b9, valuetostuff);
20441 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20442 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20443 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_IQ)) {
20444 write_phy_reg(pi, 0x1a8, valuetostuff);
20446 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20447 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20448 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_IQ)) {
20449 write_phy_reg(pi, 0x1ae, valuetostuff);
20451 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20452 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20453 (rail == NPHY_RAIL_I) && (rssi_type == NPHY_RSSI_SEL_IQ)) {
20454 write_phy_reg(pi, 0x1b4, valuetostuff);
20456 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20457 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20458 (rail == NPHY_RAIL_Q) && (rssi_type == NPHY_RSSI_SEL_IQ)) {
20459 write_phy_reg(pi, 0x1ba, valuetostuff);
20462 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20463 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20464 (rssi_type == NPHY_RSSI_SEL_TSSI_2G)) {
20465 write_phy_reg(pi, 0x1a9, valuetostuff);
20467 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20468 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20469 (rssi_type == NPHY_RSSI_SEL_TSSI_2G)) {
20470 write_phy_reg(pi, 0x1b5, valuetostuff);
20473 if (((coresel == RADIO_MIMO_CORESEL_CORE1) ||
20474 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20475 (rssi_type == NPHY_RSSI_SEL_TSSI_5G)) {
20476 write_phy_reg(pi, 0x1af, valuetostuff);
20478 if (((coresel == RADIO_MIMO_CORESEL_CORE2) ||
20479 (coresel == RADIO_MIMO_CORESEL_ALLRX)) &&
20480 (rssi_type == NPHY_RSSI_SEL_TSSI_5G)) {
20481 write_phy_reg(pi, 0x1bb, valuetostuff);
20485 void wlc_phy_rssisel_nphy(phy_info_t *pi, u8 core_code, u8 rssi_type)
20488 u16 afectrlovr_rssi_val, rfctrlcmd_rxen_val, rfctrlcmd_coresel_val,
20490 u16 rfctrlovr_rssi_val, rfctrlovr_rxen_val, rfctrlovr_coresel_val,
20491 rfctrlovr_trigger_val;
20492 u16 afectrlovr_rssi_mask, rfctrlcmd_mask, rfctrlovr_mask;
20493 u16 rfctrlcmd_val, rfctrlovr_val;
20496 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
20497 if (core_code == RADIO_MIMO_CORESEL_OFF) {
20498 mod_phy_reg(pi, 0x8f, (0x1 << 9), 0);
20499 mod_phy_reg(pi, 0xa5, (0x1 << 9), 0);
20501 mod_phy_reg(pi, 0xa6, (0x3 << 8), 0);
20502 mod_phy_reg(pi, 0xa7, (0x3 << 8), 0);
20504 mod_phy_reg(pi, 0xe5, (0x1 << 5), 0);
20505 mod_phy_reg(pi, 0xe6, (0x1 << 5), 0);
20507 mask = (0x1 << 2) |
20508 (0x1 << 3) | (0x1 << 4) | (0x1 << 5);
20509 mod_phy_reg(pi, 0xf9, mask, 0);
20510 mod_phy_reg(pi, 0xfb, mask, 0);
20513 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
20514 if (core_code == RADIO_MIMO_CORESEL_CORE1
20515 && core == PHY_CORE_1)
20517 else if (core_code == RADIO_MIMO_CORESEL_CORE2
20518 && core == PHY_CORE_0)
20521 mod_phy_reg(pi, (core == PHY_CORE_0) ?
20522 0x8f : 0xa5, (0x1 << 9), 1 << 9);
20524 if (rssi_type == NPHY_RSSI_SEL_W1 ||
20525 rssi_type == NPHY_RSSI_SEL_W2 ||
20526 rssi_type == NPHY_RSSI_SEL_NB) {
20530 PHY_CORE_0) ? 0xa6 : 0xa7,
20533 mask = (0x1 << 2) |
20535 (0x1 << 4) | (0x1 << 5);
20538 PHY_CORE_0) ? 0xf9 : 0xfb,
20541 if (rssi_type == NPHY_RSSI_SEL_W1) {
20543 (pi->radio_chanspec)) {
20550 } else if (rssi_type ==
20551 NPHY_RSSI_SEL_W2) {
20560 PHY_CORE_0) ? 0xf9 : 0xfb,
20565 mod_phy_reg(pi, (core == PHY_CORE_0) ?
20566 0xe5 : 0xe6, mask, val);
20568 if (rssi_type == NPHY_RSSI_SEL_TBD) {
20575 : 0xa7, mask, val);
20576 mask = (0x3 << 10);
20581 : 0xa7, mask, val);
20582 } else if (rssi_type ==
20583 NPHY_RSSI_SEL_IQ) {
20590 : 0xa7, mask, val);
20591 mask = (0x3 << 10);
20596 : 0xa7, mask, val);
20604 : 0xa7, mask, val);
20605 mask = (0x3 << 10);
20610 : 0xa7, mask, val);
20614 (pi->pubpi.phy_rev,
20622 RADIO_2057_TX0_TX_SSI_MUX
20624 RADIO_2057_TX1_TX_SSI_MUX),
20633 RADIO_2056_TX_TX_SSI_MUX
20650 (pi->pubpi.phy_rev,
20657 RADIO_2057_TX0_TX_SSI_MUX
20659 RADIO_2057_TX1_TX_SSI_MUX),
20667 RADIO_2057_IQTEST_SEL_PU,
20673 RADIO_2056_TX_TX_SSI_MUX
20685 afectrlovr_rssi_val = 1 << 9;
20689 : 0xa5, (0x1 << 9),
20690 afectrlovr_rssi_val);
20697 if ((rssi_type == NPHY_RSSI_SEL_W1) ||
20698 (rssi_type == NPHY_RSSI_SEL_W2) ||
20699 (rssi_type == NPHY_RSSI_SEL_NB)) {
20702 } else if (rssi_type == NPHY_RSSI_SEL_TBD) {
20705 } else if (rssi_type == NPHY_RSSI_SEL_IQ) {
20712 mask = ((0x3 << 12) | (0x3 << 14));
20713 val = (val << 12) | (val << 14);
20714 mod_phy_reg(pi, 0xa6, mask, val);
20715 mod_phy_reg(pi, 0xa7, mask, val);
20717 if ((rssi_type == NPHY_RSSI_SEL_W1) ||
20718 (rssi_type == NPHY_RSSI_SEL_W2) ||
20719 (rssi_type == NPHY_RSSI_SEL_NB)) {
20720 if (rssi_type == NPHY_RSSI_SEL_W1) {
20723 if (rssi_type == NPHY_RSSI_SEL_W2) {
20726 if (rssi_type == NPHY_RSSI_SEL_NB) {
20731 mod_phy_reg(pi, 0x7a, mask, val);
20732 mod_phy_reg(pi, 0x7d, mask, val);
20735 if (core_code == RADIO_MIMO_CORESEL_OFF) {
20736 afectrlovr_rssi_val = 0;
20737 rfctrlcmd_rxen_val = 0;
20738 rfctrlcmd_coresel_val = 0;
20739 rfctrlovr_rssi_val = 0;
20740 rfctrlovr_rxen_val = 0;
20741 rfctrlovr_coresel_val = 0;
20742 rfctrlovr_trigger_val = 0;
20745 afectrlovr_rssi_val = 1;
20746 rfctrlcmd_rxen_val = 1;
20747 rfctrlcmd_coresel_val = core_code;
20748 rfctrlovr_rssi_val = 1;
20749 rfctrlovr_rxen_val = 1;
20750 rfctrlovr_coresel_val = 1;
20751 rfctrlovr_trigger_val = 1;
20755 afectrlovr_rssi_mask = ((0x1 << 12) | (0x1 << 13));
20756 afectrlovr_rssi_val = (afectrlovr_rssi_val <<
20757 12) | (afectrlovr_rssi_val << 13);
20758 mod_phy_reg(pi, 0xa5, afectrlovr_rssi_mask,
20759 afectrlovr_rssi_val);
20761 if ((rssi_type == NPHY_RSSI_SEL_W1) ||
20762 (rssi_type == NPHY_RSSI_SEL_W2) ||
20763 (rssi_type == NPHY_RSSI_SEL_NB)) {
20764 rfctrlcmd_mask = ((0x1 << 8) | (0x7 << 3));
20765 rfctrlcmd_val = (rfctrlcmd_rxen_val << 8) |
20766 (rfctrlcmd_coresel_val << 3);
20768 rfctrlovr_mask = ((0x1 << 5) |
20770 (0x1 << 1) | (0x1 << 0));
20771 rfctrlovr_val = (rfctrlovr_rssi_val <<
20773 (rfctrlovr_rxen_val << 12) |
20774 (rfctrlovr_coresel_val << 1) |
20775 (rfctrlovr_trigger_val << 0);
20777 mod_phy_reg(pi, 0x78, rfctrlcmd_mask, rfctrlcmd_val);
20778 mod_phy_reg(pi, 0xec, rfctrlovr_mask, rfctrlovr_val);
20780 mod_phy_reg(pi, 0x78, (0x1 << 0), (startseq << 0));
20783 mod_phy_reg(pi, 0xec, (0x1 << 0), 0);
20789 wlc_phy_poll_rssi_nphy(phy_info_t *pi, u8 rssi_type, s32 *rssi_buf,
20793 u16 afectrlCore1_save = 0;
20794 u16 afectrlCore2_save = 0;
20795 u16 afectrlOverride1_save = 0;
20796 u16 afectrlOverride2_save = 0;
20797 u16 rfctrlOverrideAux0_save = 0;
20798 u16 rfctrlOverrideAux1_save = 0;
20799 u16 rfctrlMiscReg1_save = 0;
20800 u16 rfctrlMiscReg2_save = 0;
20801 u16 rfctrlcmd_save = 0;
20802 u16 rfctrloverride_save = 0;
20803 u16 rfctrlrssiothers1_save = 0;
20804 u16 rfctrlrssiothers2_save = 0;
20806 u8 ctr = 0, samp = 0;
20810 afectrlCore1_save = read_phy_reg(pi, 0xa6);
20811 afectrlCore2_save = read_phy_reg(pi, 0xa7);
20812 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
20813 rfctrlMiscReg1_save = read_phy_reg(pi, 0xf9);
20814 rfctrlMiscReg2_save = read_phy_reg(pi, 0xfb);
20815 afectrlOverride1_save = read_phy_reg(pi, 0x8f);
20816 afectrlOverride2_save = read_phy_reg(pi, 0xa5);
20817 rfctrlOverrideAux0_save = read_phy_reg(pi, 0xe5);
20818 rfctrlOverrideAux1_save = read_phy_reg(pi, 0xe6);
20820 afectrlOverride1_save = read_phy_reg(pi, 0xa5);
20821 rfctrlcmd_save = read_phy_reg(pi, 0x78);
20822 rfctrloverride_save = read_phy_reg(pi, 0xec);
20823 rfctrlrssiothers1_save = read_phy_reg(pi, 0x7a);
20824 rfctrlrssiothers2_save = read_phy_reg(pi, 0x7d);
20827 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_ALLRX, rssi_type);
20829 gpiosel_orig = read_phy_reg(pi, 0xca);
20830 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
20831 write_phy_reg(pi, 0xca, 5);
20834 for (ctr = 0; ctr < 4; ctr++) {
20838 for (samp = 0; samp < nsamps; samp++) {
20839 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
20840 rssi0 = read_phy_reg(pi, 0x1c9);
20841 rssi1 = read_phy_reg(pi, 0x1ca);
20843 rssi0 = read_phy_reg(pi, 0x219);
20844 rssi1 = read_phy_reg(pi, 0x21a);
20848 tmp_buf[ctr++] = ((s8) ((rssi0 & 0x3f) << 2)) >> 2;
20849 tmp_buf[ctr++] = ((s8) (((rssi0 >> 8) & 0x3f) << 2)) >> 2;
20850 tmp_buf[ctr++] = ((s8) ((rssi1 & 0x3f) << 2)) >> 2;
20851 tmp_buf[ctr++] = ((s8) (((rssi1 >> 8) & 0x3f) << 2)) >> 2;
20853 for (ctr = 0; ctr < 4; ctr++) {
20854 rssi_buf[ctr] += tmp_buf[ctr];
20859 rssi_out_val = rssi_buf[3] & 0xff;
20860 rssi_out_val |= (rssi_buf[2] & 0xff) << 8;
20861 rssi_out_val |= (rssi_buf[1] & 0xff) << 16;
20862 rssi_out_val |= (rssi_buf[0] & 0xff) << 24;
20864 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
20865 write_phy_reg(pi, 0xca, gpiosel_orig);
20868 write_phy_reg(pi, 0xa6, afectrlCore1_save);
20869 write_phy_reg(pi, 0xa7, afectrlCore2_save);
20870 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
20871 write_phy_reg(pi, 0xf9, rfctrlMiscReg1_save);
20872 write_phy_reg(pi, 0xfb, rfctrlMiscReg2_save);
20873 write_phy_reg(pi, 0x8f, afectrlOverride1_save);
20874 write_phy_reg(pi, 0xa5, afectrlOverride2_save);
20875 write_phy_reg(pi, 0xe5, rfctrlOverrideAux0_save);
20876 write_phy_reg(pi, 0xe6, rfctrlOverrideAux1_save);
20878 write_phy_reg(pi, 0xa5, afectrlOverride1_save);
20879 write_phy_reg(pi, 0x78, rfctrlcmd_save);
20880 write_phy_reg(pi, 0xec, rfctrloverride_save);
20881 write_phy_reg(pi, 0x7a, rfctrlrssiothers1_save);
20882 write_phy_reg(pi, 0x7d, rfctrlrssiothers2_save);
20885 return rssi_out_val;
20888 s16 wlc_phy_tempsense_nphy(phy_info_t *pi)
20890 u16 core1_txrf_iqcal1_save, core1_txrf_iqcal2_save;
20891 u16 core2_txrf_iqcal1_save, core2_txrf_iqcal2_save;
20892 u16 pwrdet_rxtx_core1_save;
20893 u16 pwrdet_rxtx_core2_save;
20894 u16 afectrlCore1_save;
20895 u16 afectrlCore2_save;
20896 u16 afectrlOverride_save;
20897 u16 afectrlOverride2_save;
20898 u16 pd_pll_ts_save;
20901 s32 radio_temp2[4];
20902 u16 syn_tempprocsense_save;
20905 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
20906 u16 auxADC_Vmid, auxADC_Av, auxADC_Vmid_save, auxADC_Av_save;
20907 u16 auxADC_rssi_ctrlL_save, auxADC_rssi_ctrlH_save;
20908 u16 auxADC_rssi_ctrlL, auxADC_rssi_ctrlH;
20910 u16 RfctrlOverride5_save, RfctrlOverride6_save;
20911 u16 RfctrlMiscReg5_save, RfctrlMiscReg6_save;
20912 u16 RSSIMultCoef0QPowerDet_save;
20913 u16 tempsense_Rcal;
20915 syn_tempprocsense_save =
20916 read_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG);
20918 afectrlCore1_save = read_phy_reg(pi, 0xa6);
20919 afectrlCore2_save = read_phy_reg(pi, 0xa7);
20920 afectrlOverride_save = read_phy_reg(pi, 0x8f);
20921 afectrlOverride2_save = read_phy_reg(pi, 0xa5);
20922 RSSIMultCoef0QPowerDet_save = read_phy_reg(pi, 0x1ae);
20923 RfctrlOverride5_save = read_phy_reg(pi, 0x346);
20924 RfctrlOverride6_save = read_phy_reg(pi, 0x347);
20925 RfctrlMiscReg5_save = read_phy_reg(pi, 0x344);
20926 RfctrlMiscReg6_save = read_phy_reg(pi, 0x345);
20928 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0A, 16,
20929 &auxADC_Vmid_save);
20930 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0E, 16,
20932 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x02, 16,
20933 &auxADC_rssi_ctrlL_save);
20934 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x03, 16,
20935 &auxADC_rssi_ctrlH_save);
20937 write_phy_reg(pi, 0x1ae, 0x0);
20939 auxADC_rssi_ctrlL = 0x0;
20940 auxADC_rssi_ctrlH = 0x20;
20941 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x02, 16,
20942 &auxADC_rssi_ctrlL);
20943 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x03, 16,
20944 &auxADC_rssi_ctrlH);
20946 tempsense_Rcal = syn_tempprocsense_save & 0x1c;
20948 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG,
20949 tempsense_Rcal | 0x01);
20951 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1),
20953 NPHY_REV7_RFCTRLOVERRIDE_ID2);
20954 mod_phy_reg(pi, 0xa6, (0x1 << 7), 0);
20955 mod_phy_reg(pi, 0xa7, (0x1 << 7), 0);
20956 mod_phy_reg(pi, 0x8f, (0x1 << 7), (0x1 << 7));
20957 mod_phy_reg(pi, 0xa5, (0x1 << 7), (0x1 << 7));
20959 mod_phy_reg(pi, 0xa6, (0x1 << 2), (0x1 << 2));
20960 mod_phy_reg(pi, 0xa7, (0x1 << 2), (0x1 << 2));
20961 mod_phy_reg(pi, 0x8f, (0x1 << 2), (0x1 << 2));
20962 mod_phy_reg(pi, 0xa5, (0x1 << 2), (0x1 << 2));
20964 mod_phy_reg(pi, 0xa6, (0x1 << 2), 0);
20965 mod_phy_reg(pi, 0xa7, (0x1 << 2), 0);
20966 mod_phy_reg(pi, 0xa6, (0x1 << 3), 0);
20967 mod_phy_reg(pi, 0xa7, (0x1 << 3), 0);
20968 mod_phy_reg(pi, 0x8f, (0x1 << 3), (0x1 << 3));
20969 mod_phy_reg(pi, 0xa5, (0x1 << 3), (0x1 << 3));
20970 mod_phy_reg(pi, 0xa6, (0x1 << 6), 0);
20971 mod_phy_reg(pi, 0xa7, (0x1 << 6), 0);
20972 mod_phy_reg(pi, 0x8f, (0x1 << 6), (0x1 << 6));
20973 mod_phy_reg(pi, 0xa5, (0x1 << 6), (0x1 << 6));
20975 auxADC_Vmid = 0xA3;
20977 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0A, 16,
20979 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0E, 16,
20984 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
20985 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG,
20986 tempsense_Rcal | 0x03);
20989 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp2, 1);
20992 if (radio_temp[1] + radio_temp2[1] < -30) {
20993 auxADC_Vmid = 0x45;
20995 } else if (radio_temp[1] + radio_temp2[1] < -9) {
20996 auxADC_Vmid = 0x200;
20998 } else if (radio_temp[1] + radio_temp2[1] < 11) {
20999 auxADC_Vmid = 0x266;
21002 auxADC_Vmid = 0x2D5;
21006 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0A, 16,
21008 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0E, 16,
21013 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp2, 1);
21014 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG,
21015 tempsense_Rcal | 0x01);
21018 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
21020 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG,
21021 syn_tempprocsense_save);
21023 write_phy_reg(pi, 0xa6, afectrlCore1_save);
21024 write_phy_reg(pi, 0xa7, afectrlCore2_save);
21025 write_phy_reg(pi, 0x8f, afectrlOverride_save);
21026 write_phy_reg(pi, 0xa5, afectrlOverride2_save);
21027 write_phy_reg(pi, 0x1ae, RSSIMultCoef0QPowerDet_save);
21028 write_phy_reg(pi, 0x346, RfctrlOverride5_save);
21029 write_phy_reg(pi, 0x347, RfctrlOverride6_save);
21030 write_phy_reg(pi, 0x344, RfctrlMiscReg5_save);
21031 write_phy_reg(pi, 0x345, RfctrlMiscReg5_save);
21033 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0A, 16,
21034 &auxADC_Vmid_save);
21035 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x0E, 16,
21037 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x02, 16,
21038 &auxADC_rssi_ctrlL_save);
21039 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 0x03, 16,
21040 &auxADC_rssi_ctrlH_save);
21042 if (pi->sh->chip == BCM5357_CHIP_ID) {
21043 radio_temp[0] = (193 * (radio_temp[1] + radio_temp2[1])
21044 + 88 * (auxADC_Vl) - 27111 +
21046 } else if (pi->sh->chip == BCM43236_CHIP_ID) {
21047 radio_temp[0] = (198 * (radio_temp[1] + radio_temp2[1])
21048 + 91 * (auxADC_Vl) - 27243 +
21051 radio_temp[0] = (179 * (radio_temp[1] + radio_temp2[1])
21052 + 82 * (auxADC_Vl) - 28861 +
21056 offset = (s16) pi->phy_tempsense_offset;
21058 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
21059 syn_tempprocsense_save =
21060 read_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE);
21062 afectrlCore1_save = read_phy_reg(pi, 0xa6);
21063 afectrlCore2_save = read_phy_reg(pi, 0xa7);
21064 afectrlOverride_save = read_phy_reg(pi, 0x8f);
21065 afectrlOverride2_save = read_phy_reg(pi, 0xa5);
21066 gpioSel_save = read_phy_reg(pi, 0xca);
21068 write_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE, 0x01);
21070 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
21071 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21073 write_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE, 0x05);
21076 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp2, 1);
21077 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21078 write_radio_reg(pi, RADIO_2057_TEMPSENSE_CONFIG, 0x01);
21080 write_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE, 0x01);
21084 (126 * (radio_temp[1] + radio_temp2[1]) + 3987) / 64;
21086 write_radio_reg(pi, RADIO_2056_SYN_TEMPPROCSENSE,
21087 syn_tempprocsense_save);
21089 write_phy_reg(pi, 0xca, gpioSel_save);
21090 write_phy_reg(pi, 0xa6, afectrlCore1_save);
21091 write_phy_reg(pi, 0xa7, afectrlCore2_save);
21092 write_phy_reg(pi, 0x8f, afectrlOverride_save);
21093 write_phy_reg(pi, 0xa5, afectrlOverride2_save);
21095 offset = (s16) pi->phy_tempsense_offset;
21098 pwrdet_rxtx_core1_save =
21099 read_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1);
21100 pwrdet_rxtx_core2_save =
21101 read_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2);
21102 core1_txrf_iqcal1_save =
21103 read_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1);
21104 core1_txrf_iqcal2_save =
21105 read_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2);
21106 core2_txrf_iqcal1_save =
21107 read_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1);
21108 core2_txrf_iqcal2_save =
21109 read_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2);
21110 pd_pll_ts_save = read_radio_reg(pi, RADIO_2055_PD_PLL_TS);
21112 afectrlCore1_save = read_phy_reg(pi, 0xa6);
21113 afectrlCore2_save = read_phy_reg(pi, 0xa7);
21114 afectrlOverride_save = read_phy_reg(pi, 0xa5);
21115 gpioSel_save = read_phy_reg(pi, 0xca);
21117 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1, 0x01);
21118 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1, 0x01);
21119 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2, 0x08);
21120 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2, 0x08);
21121 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1, 0x04);
21122 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2, 0x04);
21123 write_radio_reg(pi, RADIO_2055_PD_PLL_TS, 0x00);
21125 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
21126 xor_radio_reg(pi, RADIO_2055_CAL_TS, 0x80);
21128 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp, 1);
21129 xor_radio_reg(pi, RADIO_2055_CAL_TS, 0x80);
21131 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_IQ, radio_temp2, 1);
21132 xor_radio_reg(pi, RADIO_2055_CAL_TS, 0x80);
21134 radio_temp[0] = (radio_temp[0] + radio_temp2[0]);
21135 radio_temp[1] = (radio_temp[1] + radio_temp2[1]);
21136 radio_temp[2] = (radio_temp[2] + radio_temp2[2]);
21137 radio_temp[3] = (radio_temp[3] + radio_temp2[3]);
21140 (radio_temp[0] + radio_temp[1] + radio_temp[2] +
21144 (radio_temp[0] + (8 * 32)) * (950 - 350) / 63 + (350 * 8);
21146 radio_temp[0] = (radio_temp[0] - (8 * 420)) / 38;
21148 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1,
21149 pwrdet_rxtx_core1_save);
21150 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2,
21151 pwrdet_rxtx_core2_save);
21152 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1,
21153 core1_txrf_iqcal1_save);
21154 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1,
21155 core2_txrf_iqcal1_save);
21156 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2,
21157 core1_txrf_iqcal2_save);
21158 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2,
21159 core2_txrf_iqcal2_save);
21160 write_radio_reg(pi, RADIO_2055_PD_PLL_TS, pd_pll_ts_save);
21162 write_phy_reg(pi, 0xca, gpioSel_save);
21163 write_phy_reg(pi, 0xa6, afectrlCore1_save);
21164 write_phy_reg(pi, 0xa7, afectrlCore2_save);
21165 write_phy_reg(pi, 0xa5, afectrlOverride_save);
21168 return (s16) radio_temp[0] + offset;
21172 wlc_phy_set_rssi_2055_vcm(phy_info_t *pi, u8 rssi_type, u8 *vcm_buf)
21176 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
21177 if (rssi_type == NPHY_RSSI_SEL_NB) {
21178 if (core == PHY_CORE_0) {
21180 RADIO_2055_CORE1_B0_NBRSSI_VCM,
21181 RADIO_2055_NBRSSI_VCM_I_MASK,
21184 RADIO_2055_NBRSSI_VCM_I_SHIFT);
21186 RADIO_2055_CORE1_RXBB_RSSI_CTRL5,
21187 RADIO_2055_NBRSSI_VCM_Q_MASK,
21190 RADIO_2055_NBRSSI_VCM_Q_SHIFT);
21193 RADIO_2055_CORE2_B0_NBRSSI_VCM,
21194 RADIO_2055_NBRSSI_VCM_I_MASK,
21197 RADIO_2055_NBRSSI_VCM_I_SHIFT);
21199 RADIO_2055_CORE2_RXBB_RSSI_CTRL5,
21200 RADIO_2055_NBRSSI_VCM_Q_MASK,
21203 RADIO_2055_NBRSSI_VCM_Q_SHIFT);
21207 if (core == PHY_CORE_0) {
21209 RADIO_2055_CORE1_RXBB_RSSI_CTRL5,
21210 RADIO_2055_WBRSSI_VCM_IQ_MASK,
21213 RADIO_2055_WBRSSI_VCM_IQ_SHIFT);
21216 RADIO_2055_CORE2_RXBB_RSSI_CTRL5,
21217 RADIO_2055_WBRSSI_VCM_IQ_MASK,
21220 RADIO_2055_WBRSSI_VCM_IQ_SHIFT);
21226 void wlc_phy_rssi_cal_nphy(phy_info_t *pi)
21228 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
21230 wlc_phy_rssi_cal_nphy_rev3(pi);
21232 wlc_phy_rssi_cal_nphy_rev2(pi, NPHY_RSSI_SEL_NB);
21233 wlc_phy_rssi_cal_nphy_rev2(pi, NPHY_RSSI_SEL_W1);
21234 wlc_phy_rssi_cal_nphy_rev2(pi, NPHY_RSSI_SEL_W2);
21238 static void wlc_phy_rssi_cal_nphy_rev2(phy_info_t *pi, u8 rssi_type)
21243 u16 rssi_ctrl_state[2], pd_state[2];
21244 u16 rfctrlintc_state[2], rfpdcorerxtx_state[2];
21245 u16 rfctrlintc_override_val;
21246 u16 clip_off[] = { 0xffff, 0xffff };
21247 u16 rf_pd_val, pd_mask, rssi_ctrl_mask;
21248 u8 vcm, min_vcm, vcm_tmp[4];
21249 u8 vcm_final[4] = { 0, 0, 0, 0 };
21250 u8 result_idx, ctr;
21251 s32 poll_results[4][4] = {
21257 s32 poll_miniq[4][2] = {
21264 s32 fine_digital_offset[4];
21265 s32 poll_results_min[4] = { 0, 0, 0, 0 };
21268 switch (rssi_type) {
21269 case NPHY_RSSI_SEL_NB:
21270 target_code = NPHY_RSSICAL_NB_TARGET;
21272 case NPHY_RSSI_SEL_W1:
21273 target_code = NPHY_RSSICAL_W1_TARGET;
21275 case NPHY_RSSI_SEL_W2:
21276 target_code = NPHY_RSSICAL_W2_TARGET;
21283 classif_state = wlc_phy_classifier_nphy(pi, 0, 0);
21284 wlc_phy_classifier_nphy(pi, (0x7 << 0), 4);
21285 wlc_phy_clip_det_nphy(pi, 0, clip_state);
21286 wlc_phy_clip_det_nphy(pi, 1, clip_off);
21288 rf_pd_val = (rssi_type == NPHY_RSSI_SEL_NB) ? 0x6 : 0x4;
21289 rfctrlintc_override_val =
21290 CHSPEC_IS5G(pi->radio_chanspec) ? 0x140 : 0x110;
21292 rfctrlintc_state[0] = read_phy_reg(pi, 0x91);
21293 rfpdcorerxtx_state[0] = read_radio_reg(pi, RADIO_2055_PD_CORE1_RXTX);
21294 write_phy_reg(pi, 0x91, rfctrlintc_override_val);
21295 write_radio_reg(pi, RADIO_2055_PD_CORE1_RXTX, rf_pd_val);
21297 rfctrlintc_state[1] = read_phy_reg(pi, 0x92);
21298 rfpdcorerxtx_state[1] = read_radio_reg(pi, RADIO_2055_PD_CORE2_RXTX);
21299 write_phy_reg(pi, 0x92, rfctrlintc_override_val);
21300 write_radio_reg(pi, RADIO_2055_PD_CORE2_RXTX, rf_pd_val);
21302 pd_mask = RADIO_2055_NBRSSI_PD | RADIO_2055_WBRSSI_G1_PD |
21303 RADIO_2055_WBRSSI_G2_PD;
21305 read_radio_reg(pi, RADIO_2055_PD_CORE1_RSSI_MISC) & pd_mask;
21307 read_radio_reg(pi, RADIO_2055_PD_CORE2_RSSI_MISC) & pd_mask;
21308 mod_radio_reg(pi, RADIO_2055_PD_CORE1_RSSI_MISC, pd_mask, 0);
21309 mod_radio_reg(pi, RADIO_2055_PD_CORE2_RSSI_MISC, pd_mask, 0);
21310 rssi_ctrl_mask = RADIO_2055_NBRSSI_SEL | RADIO_2055_WBRSSI_G1_SEL |
21311 RADIO_2055_WBRSSI_G2_SEL;
21312 rssi_ctrl_state[0] =
21313 read_radio_reg(pi, RADIO_2055_SP_RSSI_CORE1) & rssi_ctrl_mask;
21314 rssi_ctrl_state[1] =
21315 read_radio_reg(pi, RADIO_2055_SP_RSSI_CORE2) & rssi_ctrl_mask;
21316 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_ALLRX, rssi_type);
21318 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0, RADIO_MIMO_CORESEL_ALLRX,
21319 NPHY_RAIL_I, rssi_type);
21320 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0, RADIO_MIMO_CORESEL_ALLRX,
21321 NPHY_RAIL_Q, rssi_type);
21323 for (vcm = 0; vcm < 4; vcm++) {
21325 vcm_tmp[0] = vcm_tmp[1] = vcm_tmp[2] = vcm_tmp[3] = vcm;
21326 if (rssi_type != NPHY_RSSI_SEL_W2) {
21327 wlc_phy_set_rssi_2055_vcm(pi, rssi_type, vcm_tmp);
21330 wlc_phy_poll_rssi_nphy(pi, rssi_type, &poll_results[vcm][0],
21331 NPHY_RSSICAL_NPOLL);
21333 if ((rssi_type == NPHY_RSSI_SEL_W1)
21334 || (rssi_type == NPHY_RSSI_SEL_W2)) {
21335 for (ctr = 0; ctr < 2; ctr++) {
21336 poll_miniq[vcm][ctr] =
21337 min(poll_results[vcm][ctr * 2 + 0],
21338 poll_results[vcm][ctr * 2 + 1]);
21343 for (result_idx = 0; result_idx < 4; result_idx++) {
21344 min_d = NPHY_RSSICAL_MAXD;
21346 min_poll = NPHY_RSSICAL_MAXREAD * NPHY_RSSICAL_NPOLL + 1;
21347 for (vcm = 0; vcm < 4; vcm++) {
21348 curr_d = ABS(((rssi_type == NPHY_RSSI_SEL_NB) ?
21349 poll_results[vcm][result_idx] :
21350 poll_miniq[vcm][result_idx / 2]) -
21351 (target_code * NPHY_RSSICAL_NPOLL));
21352 if (curr_d < min_d) {
21356 if (poll_results[vcm][result_idx] < min_poll) {
21357 min_poll = poll_results[vcm][result_idx];
21360 vcm_final[result_idx] = min_vcm;
21361 poll_results_min[result_idx] = min_poll;
21364 if (rssi_type != NPHY_RSSI_SEL_W2) {
21365 wlc_phy_set_rssi_2055_vcm(pi, rssi_type, vcm_final);
21368 for (result_idx = 0; result_idx < 4; result_idx++) {
21369 fine_digital_offset[result_idx] =
21370 (target_code * NPHY_RSSICAL_NPOLL) -
21371 poll_results[vcm_final[result_idx]][result_idx];
21372 if (fine_digital_offset[result_idx] < 0) {
21373 fine_digital_offset[result_idx] =
21374 ABS(fine_digital_offset[result_idx]);
21375 fine_digital_offset[result_idx] +=
21376 (NPHY_RSSICAL_NPOLL / 2);
21377 fine_digital_offset[result_idx] /= NPHY_RSSICAL_NPOLL;
21378 fine_digital_offset[result_idx] =
21379 -fine_digital_offset[result_idx];
21381 fine_digital_offset[result_idx] +=
21382 (NPHY_RSSICAL_NPOLL / 2);
21383 fine_digital_offset[result_idx] /= NPHY_RSSICAL_NPOLL;
21386 if (poll_results_min[result_idx] ==
21387 NPHY_RSSICAL_MAXREAD * NPHY_RSSICAL_NPOLL) {
21388 fine_digital_offset[result_idx] =
21389 (target_code - NPHY_RSSICAL_MAXREAD - 1);
21392 wlc_phy_scale_offset_rssi_nphy(pi, 0x0,
21394 fine_digital_offset[result_idx],
21396 0) ? RADIO_MIMO_CORESEL_CORE1 :
21397 RADIO_MIMO_CORESEL_CORE2,
21399 0) ? NPHY_RAIL_I : NPHY_RAIL_Q,
21403 mod_radio_reg(pi, RADIO_2055_PD_CORE1_RSSI_MISC, pd_mask, pd_state[0]);
21404 mod_radio_reg(pi, RADIO_2055_PD_CORE2_RSSI_MISC, pd_mask, pd_state[1]);
21405 if (rssi_ctrl_state[0] == RADIO_2055_NBRSSI_SEL) {
21406 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE1,
21408 } else if (rssi_ctrl_state[0] == RADIO_2055_WBRSSI_G1_SEL) {
21409 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE1,
21411 } else if (rssi_ctrl_state[0] == RADIO_2055_WBRSSI_G2_SEL) {
21412 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE1,
21415 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE1,
21418 if (rssi_ctrl_state[1] == RADIO_2055_NBRSSI_SEL) {
21419 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE2,
21421 } else if (rssi_ctrl_state[1] == RADIO_2055_WBRSSI_G1_SEL) {
21422 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE2,
21424 } else if (rssi_ctrl_state[1] == RADIO_2055_WBRSSI_G2_SEL) {
21425 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE2,
21428 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_CORE2,
21432 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_OFF, rssi_type);
21434 write_phy_reg(pi, 0x91, rfctrlintc_state[0]);
21435 write_radio_reg(pi, RADIO_2055_PD_CORE1_RXTX, rfpdcorerxtx_state[0]);
21436 write_phy_reg(pi, 0x92, rfctrlintc_state[1]);
21437 write_radio_reg(pi, RADIO_2055_PD_CORE2_RXTX, rfpdcorerxtx_state[1]);
21439 wlc_phy_classifier_nphy(pi, (0x7 << 0), classif_state);
21440 wlc_phy_clip_det_nphy(pi, 1, clip_state);
21442 wlc_phy_resetcca_nphy(pi);
21446 wlc_phy_rssi_compute_nphy(phy_info_t *pi, wlc_d11rxhdr_t *wlc_rxh)
21448 d11rxhdr_t *rxh = &wlc_rxh->rxhdr;
21449 s16 rxpwr, rxpwr0, rxpwr1;
21450 s16 phyRx0_l, phyRx2_l;
21453 rxpwr0 = le16_to_cpu(rxh->PhyRxStatus_1) & PRXS1_nphy_PWR0_MASK;
21454 rxpwr1 = (le16_to_cpu(rxh->PhyRxStatus_1) & PRXS1_nphy_PWR1_MASK) >> 8;
21461 phyRx0_l = le16_to_cpu(rxh->PhyRxStatus_0) & 0x00ff;
21462 phyRx2_l = le16_to_cpu(rxh->PhyRxStatus_2) & 0x00ff;
21463 if (phyRx2_l > 127)
21466 if (((rxpwr0 == 16) || (rxpwr0 == 32))) {
21471 wlc_rxh->rxpwr[0] = (s8) rxpwr0;
21472 wlc_rxh->rxpwr[1] = (s8) rxpwr1;
21473 wlc_rxh->do_rssi_ma = 0;
21475 if (pi->sh->rssi_mode == RSSI_ANT_MERGE_MAX)
21476 rxpwr = (rxpwr0 > rxpwr1) ? rxpwr0 : rxpwr1;
21477 else if (pi->sh->rssi_mode == RSSI_ANT_MERGE_MIN)
21478 rxpwr = (rxpwr0 < rxpwr1) ? rxpwr0 : rxpwr1;
21479 else if (pi->sh->rssi_mode == RSSI_ANT_MERGE_AVG)
21480 rxpwr = (rxpwr0 + rxpwr1) >> 1;
21486 wlc_phy_rfctrlintc_override_nphy(phy_info_t *pi, u8 field, u16 value,
21493 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
21494 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
21495 if (core_code == RADIO_MIMO_CORESEL_CORE1
21496 && core == PHY_CORE_1)
21498 else if (core_code == RADIO_MIMO_CORESEL_CORE2
21499 && core == PHY_CORE_0)
21502 if (NREV_LT(pi->pubpi.phy_rev, 7)) {
21504 mask = (0x1 << 10);
21506 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x91 :
21510 if (field == NPHY_RfctrlIntc_override_OFF) {
21512 write_phy_reg(pi, (core == PHY_CORE_0) ? 0x91 :
21515 wlc_phy_force_rfseq_nphy(pi,
21516 NPHY_RFSEQ_RESET2RX);
21517 } else if (field == NPHY_RfctrlIntc_override_TRSW) {
21519 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21521 mask = (0x1 << 6) | (0x1 << 7);
21526 PHY_CORE_0) ? 0x91 : 0x92,
21531 PHY_CORE_0) ? 0x91 : 0x92,
21534 and_phy_reg(pi, 0x2ff, (u16)
21536 or_phy_reg(pi, 0x2ff, (0x1 << 13));
21537 or_phy_reg(pi, 0x2ff, (0x1 << 0));
21540 mask = (0x1 << 6) |
21542 (0x1 << 8) | (0x1 << 9);
21546 PHY_CORE_0) ? 0x91 : 0x92,
21553 PHY_CORE_0) ? 0xe7 : 0xec,
21556 mask = (core == PHY_CORE_0) ? (0x1 << 0)
21558 val = 1 << ((core == PHY_CORE_0) ?
21560 mod_phy_reg(pi, 0x78, mask, val);
21562 SPINWAIT(((read_phy_reg(pi, 0x78) & val)
21564 if (WARN(read_phy_reg(pi, 0x78) & val,
21565 "HW error: override failed"))
21572 PHY_CORE_0) ? 0xe7 : 0xec,
21575 } else if (field == NPHY_RfctrlIntc_override_PA) {
21576 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21578 mask = (0x1 << 4) | (0x1 << 5);
21580 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21588 PHY_CORE_0) ? 0x91 : 0x92,
21593 PHY_CORE_0) ? 0x91 : 0x92,
21597 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21606 PHY_CORE_0) ? 0x91 : 0x92,
21609 } else if (field == NPHY_RfctrlIntc_override_EXT_LNA_PU) {
21610 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21611 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21618 : 0x92, mask, val);
21632 : 0x92, mask, val);
21641 mask = (0x1 << 11);
21645 PHY_CORE_0) ? 0x91 : 0x92,
21649 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21658 PHY_CORE_0) ? 0x91 : 0x92,
21661 } else if (field ==
21662 NPHY_RfctrlIntc_override_EXT_LNA_GAIN) {
21663 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21664 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21671 : 0x92, mask, val);
21685 : 0x92, mask, val);
21694 mask = (0x1 << 11);
21698 PHY_CORE_0) ? 0x91 : 0x92,
21702 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21711 PHY_CORE_0) ? 0x91 : 0x92,
21721 static void wlc_phy_rssi_cal_nphy_rev3(phy_info_t *pi)
21725 u16 clip_off[] = { 0xffff, 0xffff };
21730 s32 poll_results[8][4] = {
21740 s32 poll_result_core[4] = { 0, 0, 0, 0 };
21741 s32 min_d = NPHY_RSSICAL_MAXD, curr_d;
21742 s32 fine_digital_offset[4];
21743 s32 poll_results_min[4] = { 0, 0, 0, 0 };
21749 u16 NPHY_Rfctrlintc1_save, NPHY_Rfctrlintc2_save;
21750 u16 NPHY_AfectrlOverride1_save, NPHY_AfectrlOverride2_save;
21751 u16 NPHY_AfectrlCore1_save, NPHY_AfectrlCore2_save;
21752 u16 NPHY_RfctrlOverride0_save, NPHY_RfctrlOverride1_save;
21753 u16 NPHY_RfctrlOverrideAux0_save, NPHY_RfctrlOverrideAux1_save;
21754 u16 NPHY_RfctrlCmd_save;
21755 u16 NPHY_RfctrlMiscReg1_save, NPHY_RfctrlMiscReg2_save;
21756 u16 NPHY_RfctrlRSSIOTHERS1_save, NPHY_RfctrlRSSIOTHERS2_save;
21758 u16 NPHY_REV7_RfctrlOverride3_save, NPHY_REV7_RfctrlOverride4_save;
21759 u16 NPHY_REV7_RfctrlOverride5_save, NPHY_REV7_RfctrlOverride6_save;
21760 u16 NPHY_REV7_RfctrlMiscReg3_save, NPHY_REV7_RfctrlMiscReg4_save;
21761 u16 NPHY_REV7_RfctrlMiscReg5_save, NPHY_REV7_RfctrlMiscReg6_save;
21763 NPHY_REV7_RfctrlOverride3_save = NPHY_REV7_RfctrlOverride4_save =
21764 NPHY_REV7_RfctrlOverride5_save = NPHY_REV7_RfctrlOverride6_save =
21765 NPHY_REV7_RfctrlMiscReg3_save = NPHY_REV7_RfctrlMiscReg4_save =
21766 NPHY_REV7_RfctrlMiscReg5_save = NPHY_REV7_RfctrlMiscReg6_save = 0;
21768 classif_state = wlc_phy_classifier_nphy(pi, 0, 0);
21769 wlc_phy_classifier_nphy(pi, (0x7 << 0), 4);
21770 wlc_phy_clip_det_nphy(pi, 0, clip_state);
21771 wlc_phy_clip_det_nphy(pi, 1, clip_off);
21773 NPHY_Rfctrlintc1_save = read_phy_reg(pi, 0x91);
21774 NPHY_Rfctrlintc2_save = read_phy_reg(pi, 0x92);
21775 NPHY_AfectrlOverride1_save = read_phy_reg(pi, 0x8f);
21776 NPHY_AfectrlOverride2_save = read_phy_reg(pi, 0xa5);
21777 NPHY_AfectrlCore1_save = read_phy_reg(pi, 0xa6);
21778 NPHY_AfectrlCore2_save = read_phy_reg(pi, 0xa7);
21779 NPHY_RfctrlOverride0_save = read_phy_reg(pi, 0xe7);
21780 NPHY_RfctrlOverride1_save = read_phy_reg(pi, 0xec);
21781 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21782 NPHY_REV7_RfctrlOverride3_save = read_phy_reg(pi, 0x342);
21783 NPHY_REV7_RfctrlOverride4_save = read_phy_reg(pi, 0x343);
21784 NPHY_REV7_RfctrlOverride5_save = read_phy_reg(pi, 0x346);
21785 NPHY_REV7_RfctrlOverride6_save = read_phy_reg(pi, 0x347);
21787 NPHY_RfctrlOverrideAux0_save = read_phy_reg(pi, 0xe5);
21788 NPHY_RfctrlOverrideAux1_save = read_phy_reg(pi, 0xe6);
21789 NPHY_RfctrlCmd_save = read_phy_reg(pi, 0x78);
21790 NPHY_RfctrlMiscReg1_save = read_phy_reg(pi, 0xf9);
21791 NPHY_RfctrlMiscReg2_save = read_phy_reg(pi, 0xfb);
21792 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21793 NPHY_REV7_RfctrlMiscReg3_save = read_phy_reg(pi, 0x340);
21794 NPHY_REV7_RfctrlMiscReg4_save = read_phy_reg(pi, 0x341);
21795 NPHY_REV7_RfctrlMiscReg5_save = read_phy_reg(pi, 0x344);
21796 NPHY_REV7_RfctrlMiscReg6_save = read_phy_reg(pi, 0x345);
21798 NPHY_RfctrlRSSIOTHERS1_save = read_phy_reg(pi, 0x7a);
21799 NPHY_RfctrlRSSIOTHERS2_save = read_phy_reg(pi, 0x7d);
21801 wlc_phy_rfctrlintc_override_nphy(pi, NPHY_RfctrlIntc_override_OFF, 0,
21802 RADIO_MIMO_CORESEL_ALLRXTX);
21803 wlc_phy_rfctrlintc_override_nphy(pi, NPHY_RfctrlIntc_override_TRSW, 1,
21804 RADIO_MIMO_CORESEL_ALLRXTX);
21806 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21807 wlc_phy_rfctrl_override_1tomany_nphy(pi,
21808 NPHY_REV7_RfctrlOverride_cmd_rxrf_pu,
21811 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 0), 0, 0, 0);
21814 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21815 wlc_phy_rfctrl_override_1tomany_nphy(pi,
21816 NPHY_REV7_RfctrlOverride_cmd_rx_pu,
21819 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 1), 1, 0, 0);
21822 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21823 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7),
21825 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21826 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 6), 1, 0, 0,
21827 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21829 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 7), 1, 0, 0);
21830 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 6), 1, 0, 0);
21833 if (CHSPEC_IS5G(pi->radio_chanspec)) {
21834 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21835 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5),
21837 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21838 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4), 1, 0,
21840 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21842 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 5), 0, 0, 0);
21843 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 4), 1, 0, 0);
21847 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21848 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4),
21850 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21851 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5), 1, 0,
21853 NPHY_REV7_RFCTRLOVERRIDE_ID0);
21855 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 4), 0, 0, 0);
21856 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 5), 1, 0, 0);
21860 rxcore_state = wlc_phy_rxcore_getstate_nphy((wlc_phy_t *) pi);
21864 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
21866 if ((rxcore_state & (1 << core)) == 0)
21869 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0,
21872 RADIO_MIMO_CORESEL_CORE1 :
21873 RADIO_MIMO_CORESEL_CORE2,
21874 NPHY_RAIL_I, NPHY_RSSI_SEL_NB);
21875 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0,
21878 RADIO_MIMO_CORESEL_CORE1 :
21879 RADIO_MIMO_CORESEL_CORE2,
21880 NPHY_RAIL_Q, NPHY_RSSI_SEL_NB);
21882 for (vcm = 0; vcm < vcm_level_max; vcm++) {
21883 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21885 mod_radio_reg(pi, (core == PHY_CORE_0) ?
21886 RADIO_2057_NB_MASTER_CORE0 :
21887 RADIO_2057_NB_MASTER_CORE1,
21888 RADIO_2057_VCM_MASK, vcm);
21891 mod_radio_reg(pi, RADIO_2056_RX_RSSI_MISC |
21893 PHY_CORE_0) ? RADIO_2056_RX0 :
21895 RADIO_2056_VCM_MASK,
21896 vcm << RADIO_2056_RSSI_VCM_SHIFT);
21899 wlc_phy_poll_rssi_nphy(pi, NPHY_RSSI_SEL_NB,
21900 &poll_results[vcm][0],
21901 NPHY_RSSICAL_NPOLL);
21904 for (result_idx = 0; result_idx < 4; result_idx++) {
21905 if ((core == result_idx / 2) && (result_idx % 2 == 0)) {
21907 min_d = NPHY_RSSICAL_MAXD;
21910 NPHY_RSSICAL_MAXREAD * NPHY_RSSICAL_NPOLL +
21912 for (vcm = 0; vcm < vcm_level_max; vcm++) {
21913 curr_d = poll_results[vcm][result_idx] *
21914 poll_results[vcm][result_idx] +
21915 poll_results[vcm][result_idx + 1] *
21916 poll_results[vcm][result_idx + 1];
21917 if (curr_d < min_d) {
21921 if (poll_results[vcm][result_idx] <
21928 vcm_final = min_vcm;
21929 poll_results_min[result_idx] = min_poll;
21933 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
21934 mod_radio_reg(pi, (core == PHY_CORE_0) ?
21935 RADIO_2057_NB_MASTER_CORE0 :
21936 RADIO_2057_NB_MASTER_CORE1,
21937 RADIO_2057_VCM_MASK, vcm_final);
21939 mod_radio_reg(pi, RADIO_2056_RX_RSSI_MISC |
21941 PHY_CORE_0) ? RADIO_2056_RX0 :
21942 RADIO_2056_RX1), RADIO_2056_VCM_MASK,
21943 vcm_final << RADIO_2056_RSSI_VCM_SHIFT);
21946 for (result_idx = 0; result_idx < 4; result_idx++) {
21947 if (core == result_idx / 2) {
21948 fine_digital_offset[result_idx] =
21949 (NPHY_RSSICAL_NB_TARGET *
21950 NPHY_RSSICAL_NPOLL) -
21951 poll_results[vcm_final][result_idx];
21952 if (fine_digital_offset[result_idx] < 0) {
21953 fine_digital_offset[result_idx] =
21954 ABS(fine_digital_offset
21956 fine_digital_offset[result_idx] +=
21957 (NPHY_RSSICAL_NPOLL / 2);
21958 fine_digital_offset[result_idx] /=
21959 NPHY_RSSICAL_NPOLL;
21960 fine_digital_offset[result_idx] =
21961 -fine_digital_offset[result_idx];
21963 fine_digital_offset[result_idx] +=
21964 (NPHY_RSSICAL_NPOLL / 2);
21965 fine_digital_offset[result_idx] /=
21966 NPHY_RSSICAL_NPOLL;
21969 if (poll_results_min[result_idx] ==
21970 NPHY_RSSICAL_MAXREAD * NPHY_RSSICAL_NPOLL) {
21971 fine_digital_offset[result_idx] =
21972 (NPHY_RSSICAL_NB_TARGET -
21973 NPHY_RSSICAL_MAXREAD - 1);
21976 wlc_phy_scale_offset_rssi_nphy(pi, 0x0,
21978 fine_digital_offset
21983 RADIO_MIMO_CORESEL_CORE1
21985 RADIO_MIMO_CORESEL_CORE2,
21996 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
21998 if ((rxcore_state & (1 << core)) == 0)
22001 for (wb_cnt = 0; wb_cnt < 2; wb_cnt++) {
22003 rssi_type = NPHY_RSSI_SEL_W1;
22004 target_code = NPHY_RSSICAL_W1_TARGET_REV3;
22006 rssi_type = NPHY_RSSI_SEL_W2;
22007 target_code = NPHY_RSSICAL_W2_TARGET_REV3;
22010 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0,
22013 RADIO_MIMO_CORESEL_CORE1
22015 RADIO_MIMO_CORESEL_CORE2,
22016 NPHY_RAIL_I, rssi_type);
22017 wlc_phy_scale_offset_rssi_nphy(pi, 0x0, 0x0,
22020 RADIO_MIMO_CORESEL_CORE1
22022 RADIO_MIMO_CORESEL_CORE2,
22023 NPHY_RAIL_Q, rssi_type);
22025 wlc_phy_poll_rssi_nphy(pi, rssi_type, poll_result_core,
22026 NPHY_RSSICAL_NPOLL);
22028 for (result_idx = 0; result_idx < 4; result_idx++) {
22029 if (core == result_idx / 2) {
22030 fine_digital_offset[result_idx] =
22031 (target_code * NPHY_RSSICAL_NPOLL) -
22032 poll_result_core[result_idx];
22033 if (fine_digital_offset[result_idx] < 0) {
22034 fine_digital_offset[result_idx]
22036 ABS(fine_digital_offset
22038 fine_digital_offset[result_idx]
22039 += (NPHY_RSSICAL_NPOLL / 2);
22040 fine_digital_offset[result_idx]
22041 /= NPHY_RSSICAL_NPOLL;
22042 fine_digital_offset[result_idx]
22044 -fine_digital_offset
22047 fine_digital_offset[result_idx]
22048 += (NPHY_RSSICAL_NPOLL / 2);
22049 fine_digital_offset[result_idx]
22050 /= NPHY_RSSICAL_NPOLL;
22053 wlc_phy_scale_offset_rssi_nphy(pi, 0x0,
22055 fine_digital_offset
22061 RADIO_MIMO_CORESEL_CORE1
22063 RADIO_MIMO_CORESEL_CORE2,
22077 write_phy_reg(pi, 0x91, NPHY_Rfctrlintc1_save);
22078 write_phy_reg(pi, 0x92, NPHY_Rfctrlintc2_save);
22080 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
22082 mod_phy_reg(pi, 0xe7, (0x1 << 0), 1 << 0);
22083 mod_phy_reg(pi, 0x78, (0x1 << 0), 1 << 0);
22084 mod_phy_reg(pi, 0xe7, (0x1 << 0), 0);
22086 mod_phy_reg(pi, 0xec, (0x1 << 0), 1 << 0);
22087 mod_phy_reg(pi, 0x78, (0x1 << 1), 1 << 1);
22088 mod_phy_reg(pi, 0xec, (0x1 << 0), 0);
22090 write_phy_reg(pi, 0x8f, NPHY_AfectrlOverride1_save);
22091 write_phy_reg(pi, 0xa5, NPHY_AfectrlOverride2_save);
22092 write_phy_reg(pi, 0xa6, NPHY_AfectrlCore1_save);
22093 write_phy_reg(pi, 0xa7, NPHY_AfectrlCore2_save);
22094 write_phy_reg(pi, 0xe7, NPHY_RfctrlOverride0_save);
22095 write_phy_reg(pi, 0xec, NPHY_RfctrlOverride1_save);
22096 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22097 write_phy_reg(pi, 0x342, NPHY_REV7_RfctrlOverride3_save);
22098 write_phy_reg(pi, 0x343, NPHY_REV7_RfctrlOverride4_save);
22099 write_phy_reg(pi, 0x346, NPHY_REV7_RfctrlOverride5_save);
22100 write_phy_reg(pi, 0x347, NPHY_REV7_RfctrlOverride6_save);
22102 write_phy_reg(pi, 0xe5, NPHY_RfctrlOverrideAux0_save);
22103 write_phy_reg(pi, 0xe6, NPHY_RfctrlOverrideAux1_save);
22104 write_phy_reg(pi, 0x78, NPHY_RfctrlCmd_save);
22105 write_phy_reg(pi, 0xf9, NPHY_RfctrlMiscReg1_save);
22106 write_phy_reg(pi, 0xfb, NPHY_RfctrlMiscReg2_save);
22107 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22108 write_phy_reg(pi, 0x340, NPHY_REV7_RfctrlMiscReg3_save);
22109 write_phy_reg(pi, 0x341, NPHY_REV7_RfctrlMiscReg4_save);
22110 write_phy_reg(pi, 0x344, NPHY_REV7_RfctrlMiscReg5_save);
22111 write_phy_reg(pi, 0x345, NPHY_REV7_RfctrlMiscReg6_save);
22113 write_phy_reg(pi, 0x7a, NPHY_RfctrlRSSIOTHERS1_save);
22114 write_phy_reg(pi, 0x7d, NPHY_RfctrlRSSIOTHERS2_save);
22116 if (CHSPEC_IS2G(pi->radio_chanspec)) {
22117 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22118 pi->rssical_cache.rssical_radio_regs_2G[0] =
22119 read_radio_reg(pi, RADIO_2057_NB_MASTER_CORE0);
22120 pi->rssical_cache.rssical_radio_regs_2G[1] =
22121 read_radio_reg(pi, RADIO_2057_NB_MASTER_CORE1);
22123 pi->rssical_cache.rssical_radio_regs_2G[0] =
22125 RADIO_2056_RX_RSSI_MISC |
22127 pi->rssical_cache.rssical_radio_regs_2G[1] =
22129 RADIO_2056_RX_RSSI_MISC |
22133 pi->rssical_cache.rssical_phyregs_2G[0] =
22134 read_phy_reg(pi, 0x1a6);
22135 pi->rssical_cache.rssical_phyregs_2G[1] =
22136 read_phy_reg(pi, 0x1ac);
22137 pi->rssical_cache.rssical_phyregs_2G[2] =
22138 read_phy_reg(pi, 0x1b2);
22139 pi->rssical_cache.rssical_phyregs_2G[3] =
22140 read_phy_reg(pi, 0x1b8);
22141 pi->rssical_cache.rssical_phyregs_2G[4] =
22142 read_phy_reg(pi, 0x1a4);
22143 pi->rssical_cache.rssical_phyregs_2G[5] =
22144 read_phy_reg(pi, 0x1aa);
22145 pi->rssical_cache.rssical_phyregs_2G[6] =
22146 read_phy_reg(pi, 0x1b0);
22147 pi->rssical_cache.rssical_phyregs_2G[7] =
22148 read_phy_reg(pi, 0x1b6);
22149 pi->rssical_cache.rssical_phyregs_2G[8] =
22150 read_phy_reg(pi, 0x1a5);
22151 pi->rssical_cache.rssical_phyregs_2G[9] =
22152 read_phy_reg(pi, 0x1ab);
22153 pi->rssical_cache.rssical_phyregs_2G[10] =
22154 read_phy_reg(pi, 0x1b1);
22155 pi->rssical_cache.rssical_phyregs_2G[11] =
22156 read_phy_reg(pi, 0x1b7);
22158 pi->nphy_rssical_chanspec_2G = pi->radio_chanspec;
22160 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22161 pi->rssical_cache.rssical_radio_regs_5G[0] =
22162 read_radio_reg(pi, RADIO_2057_NB_MASTER_CORE0);
22163 pi->rssical_cache.rssical_radio_regs_5G[1] =
22164 read_radio_reg(pi, RADIO_2057_NB_MASTER_CORE1);
22166 pi->rssical_cache.rssical_radio_regs_5G[0] =
22168 RADIO_2056_RX_RSSI_MISC |
22170 pi->rssical_cache.rssical_radio_regs_5G[1] =
22172 RADIO_2056_RX_RSSI_MISC |
22176 pi->rssical_cache.rssical_phyregs_5G[0] =
22177 read_phy_reg(pi, 0x1a6);
22178 pi->rssical_cache.rssical_phyregs_5G[1] =
22179 read_phy_reg(pi, 0x1ac);
22180 pi->rssical_cache.rssical_phyregs_5G[2] =
22181 read_phy_reg(pi, 0x1b2);
22182 pi->rssical_cache.rssical_phyregs_5G[3] =
22183 read_phy_reg(pi, 0x1b8);
22184 pi->rssical_cache.rssical_phyregs_5G[4] =
22185 read_phy_reg(pi, 0x1a4);
22186 pi->rssical_cache.rssical_phyregs_5G[5] =
22187 read_phy_reg(pi, 0x1aa);
22188 pi->rssical_cache.rssical_phyregs_5G[6] =
22189 read_phy_reg(pi, 0x1b0);
22190 pi->rssical_cache.rssical_phyregs_5G[7] =
22191 read_phy_reg(pi, 0x1b6);
22192 pi->rssical_cache.rssical_phyregs_5G[8] =
22193 read_phy_reg(pi, 0x1a5);
22194 pi->rssical_cache.rssical_phyregs_5G[9] =
22195 read_phy_reg(pi, 0x1ab);
22196 pi->rssical_cache.rssical_phyregs_5G[10] =
22197 read_phy_reg(pi, 0x1b1);
22198 pi->rssical_cache.rssical_phyregs_5G[11] =
22199 read_phy_reg(pi, 0x1b7);
22201 pi->nphy_rssical_chanspec_5G = pi->radio_chanspec;
22204 wlc_phy_classifier_nphy(pi, (0x7 << 0), classif_state);
22205 wlc_phy_clip_det_nphy(pi, 1, clip_state);
22208 static void wlc_phy_restore_rssical_nphy(phy_info_t *pi)
22210 if (CHSPEC_IS2G(pi->radio_chanspec)) {
22211 if (pi->nphy_rssical_chanspec_2G == 0)
22214 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22215 mod_radio_reg(pi, RADIO_2057_NB_MASTER_CORE0,
22216 RADIO_2057_VCM_MASK,
22218 rssical_radio_regs_2G[0]);
22219 mod_radio_reg(pi, RADIO_2057_NB_MASTER_CORE1,
22220 RADIO_2057_VCM_MASK,
22222 rssical_radio_regs_2G[1]);
22225 RADIO_2056_RX_RSSI_MISC | RADIO_2056_RX0,
22226 RADIO_2056_VCM_MASK,
22228 rssical_radio_regs_2G[0]);
22230 RADIO_2056_RX_RSSI_MISC | RADIO_2056_RX1,
22231 RADIO_2056_VCM_MASK,
22233 rssical_radio_regs_2G[1]);
22236 write_phy_reg(pi, 0x1a6,
22237 pi->rssical_cache.rssical_phyregs_2G[0]);
22238 write_phy_reg(pi, 0x1ac,
22239 pi->rssical_cache.rssical_phyregs_2G[1]);
22240 write_phy_reg(pi, 0x1b2,
22241 pi->rssical_cache.rssical_phyregs_2G[2]);
22242 write_phy_reg(pi, 0x1b8,
22243 pi->rssical_cache.rssical_phyregs_2G[3]);
22244 write_phy_reg(pi, 0x1a4,
22245 pi->rssical_cache.rssical_phyregs_2G[4]);
22246 write_phy_reg(pi, 0x1aa,
22247 pi->rssical_cache.rssical_phyregs_2G[5]);
22248 write_phy_reg(pi, 0x1b0,
22249 pi->rssical_cache.rssical_phyregs_2G[6]);
22250 write_phy_reg(pi, 0x1b6,
22251 pi->rssical_cache.rssical_phyregs_2G[7]);
22252 write_phy_reg(pi, 0x1a5,
22253 pi->rssical_cache.rssical_phyregs_2G[8]);
22254 write_phy_reg(pi, 0x1ab,
22255 pi->rssical_cache.rssical_phyregs_2G[9]);
22256 write_phy_reg(pi, 0x1b1,
22257 pi->rssical_cache.rssical_phyregs_2G[10]);
22258 write_phy_reg(pi, 0x1b7,
22259 pi->rssical_cache.rssical_phyregs_2G[11]);
22262 if (pi->nphy_rssical_chanspec_5G == 0)
22265 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22266 mod_radio_reg(pi, RADIO_2057_NB_MASTER_CORE0,
22267 RADIO_2057_VCM_MASK,
22269 rssical_radio_regs_5G[0]);
22270 mod_radio_reg(pi, RADIO_2057_NB_MASTER_CORE1,
22271 RADIO_2057_VCM_MASK,
22273 rssical_radio_regs_5G[1]);
22276 RADIO_2056_RX_RSSI_MISC | RADIO_2056_RX0,
22277 RADIO_2056_VCM_MASK,
22279 rssical_radio_regs_5G[0]);
22281 RADIO_2056_RX_RSSI_MISC | RADIO_2056_RX1,
22282 RADIO_2056_VCM_MASK,
22284 rssical_radio_regs_5G[1]);
22287 write_phy_reg(pi, 0x1a6,
22288 pi->rssical_cache.rssical_phyregs_5G[0]);
22289 write_phy_reg(pi, 0x1ac,
22290 pi->rssical_cache.rssical_phyregs_5G[1]);
22291 write_phy_reg(pi, 0x1b2,
22292 pi->rssical_cache.rssical_phyregs_5G[2]);
22293 write_phy_reg(pi, 0x1b8,
22294 pi->rssical_cache.rssical_phyregs_5G[3]);
22295 write_phy_reg(pi, 0x1a4,
22296 pi->rssical_cache.rssical_phyregs_5G[4]);
22297 write_phy_reg(pi, 0x1aa,
22298 pi->rssical_cache.rssical_phyregs_5G[5]);
22299 write_phy_reg(pi, 0x1b0,
22300 pi->rssical_cache.rssical_phyregs_5G[6]);
22301 write_phy_reg(pi, 0x1b6,
22302 pi->rssical_cache.rssical_phyregs_5G[7]);
22303 write_phy_reg(pi, 0x1a5,
22304 pi->rssical_cache.rssical_phyregs_5G[8]);
22305 write_phy_reg(pi, 0x1ab,
22306 pi->rssical_cache.rssical_phyregs_5G[9]);
22307 write_phy_reg(pi, 0x1b1,
22308 pi->rssical_cache.rssical_phyregs_5G[10]);
22309 write_phy_reg(pi, 0x1b7,
22310 pi->rssical_cache.rssical_phyregs_5G[11]);
22315 wlc_phy_gen_load_samples_nphy(phy_info_t *pi, u32 f_kHz, u16 max_val,
22318 u8 phy_bw, is_phybw40;
22319 u16 num_samps, t, spur;
22320 fixed theta = 0, rot = 0;
22322 cs32 *tone_buf = NULL;
22324 is_phybw40 = CHSPEC_IS40(pi->radio_chanspec);
22325 phy_bw = (is_phybw40 == 1) ? 40 : 20;
22326 tbl_len = (phy_bw << 3);
22328 if (dac_test_mode == 1) {
22329 spur = read_phy_reg(pi, 0x01);
22330 spur = (spur >> 15) & 1;
22331 phy_bw = (spur == 1) ? 82 : 80;
22332 phy_bw = (is_phybw40 == 1) ? (phy_bw << 1) : phy_bw;
22334 tbl_len = (phy_bw << 1);
22337 tone_buf = kmalloc(sizeof(cs32) * tbl_len, GFP_ATOMIC);
22338 if (tone_buf == NULL) {
22342 num_samps = (u16) tbl_len;
22343 rot = FIXED((f_kHz * 36) / phy_bw) / 100;
22346 for (t = 0; t < num_samps; t++) {
22348 wlc_phy_cordic(theta, &tone_buf[t]);
22352 tone_buf[t].q = (s32) FLOAT(tone_buf[t].q * max_val);
22353 tone_buf[t].i = (s32) FLOAT(tone_buf[t].i * max_val);
22356 wlc_phy_loadsampletable_nphy(pi, tone_buf, num_samps);
22364 wlc_phy_tx_tone_nphy(phy_info_t *pi, u32 f_kHz, u16 max_val,
22365 u8 iqmode, u8 dac_test_mode, bool modify_bbmult)
22368 u16 loops = 0xffff;
22372 wlc_phy_gen_load_samples_nphy(pi, f_kHz, max_val, dac_test_mode);
22373 if (num_samps == 0) {
22377 wlc_phy_runsamples_nphy(pi, num_samps, loops, wait, iqmode,
22378 dac_test_mode, modify_bbmult);
22384 wlc_phy_loadsampletable_nphy(phy_info_t *pi, cs32 *tone_buf,
22388 u32 *data_buf = NULL;
22390 data_buf = kmalloc(sizeof(u32) * num_samps, GFP_ATOMIC);
22391 if (data_buf == NULL) {
22395 if (pi->phyhang_avoid)
22396 wlc_phy_stay_in_carriersearch_nphy(pi, true);
22398 for (t = 0; t < num_samps; t++) {
22399 data_buf[t] = ((((unsigned int)tone_buf[t].i) & 0x3ff) << 10) |
22400 (((unsigned int)tone_buf[t].q) & 0x3ff);
22402 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_SAMPLEPLAY, num_samps, 0, 32,
22407 if (pi->phyhang_avoid)
22408 wlc_phy_stay_in_carriersearch_nphy(pi, false);
22412 wlc_phy_runsamples_nphy(phy_info_t *pi, u16 num_samps, u16 loops,
22413 u16 wait, u8 iqmode, u8 dac_test_mode,
22414 bool modify_bbmult)
22417 u8 phy_bw, sample_cmd;
22418 u16 orig_RfseqCoreActv;
22419 u16 lpf_bw_ctl_override3, lpf_bw_ctl_override4, lpf_bw_ctl_miscreg3,
22420 lpf_bw_ctl_miscreg4;
22422 if (pi->phyhang_avoid)
22423 wlc_phy_stay_in_carriersearch_nphy(pi, true);
22426 if (CHSPEC_IS40(pi->radio_chanspec))
22429 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22431 lpf_bw_ctl_override3 = read_phy_reg(pi, 0x342) & (0x1 << 7);
22432 lpf_bw_ctl_override4 = read_phy_reg(pi, 0x343) & (0x1 << 7);
22433 if (lpf_bw_ctl_override3 | lpf_bw_ctl_override4) {
22434 lpf_bw_ctl_miscreg3 = read_phy_reg(pi, 0x340) &
22436 lpf_bw_ctl_miscreg4 = read_phy_reg(pi, 0x341) &
22439 wlc_phy_rfctrl_override_nphy_rev7(pi,
22441 wlc_phy_read_lpf_bw_ctl_nphy
22443 NPHY_REV7_RFCTRLOVERRIDE_ID1);
22445 pi->nphy_sample_play_lpf_bw_ctl_ovr = true;
22447 lpf_bw_ctl_miscreg3 = read_phy_reg(pi, 0x340) &
22449 lpf_bw_ctl_miscreg4 = read_phy_reg(pi, 0x341) &
22454 if ((pi->nphy_bb_mult_save & BB_MULT_VALID_MASK) == 0) {
22456 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, 87, 16,
22458 pi->nphy_bb_mult_save =
22459 BB_MULT_VALID_MASK | (bb_mult & BB_MULT_MASK);
22462 if (modify_bbmult) {
22463 bb_mult = (phy_bw == 20) ? 100 : 71;
22464 bb_mult = (bb_mult << 8) + bb_mult;
22465 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, 87, 16,
22469 if (pi->phyhang_avoid)
22470 wlc_phy_stay_in_carriersearch_nphy(pi, false);
22472 write_phy_reg(pi, 0xc6, num_samps - 1);
22474 if (loops != 0xffff) {
22475 write_phy_reg(pi, 0xc4, loops - 1);
22477 write_phy_reg(pi, 0xc4, loops);
22479 write_phy_reg(pi, 0xc5, wait);
22481 orig_RfseqCoreActv = read_phy_reg(pi, 0xa1);
22482 or_phy_reg(pi, 0xa1, NPHY_RfseqMode_CoreActv_override);
22485 and_phy_reg(pi, 0xc2, 0x7FFF);
22487 or_phy_reg(pi, 0xc2, 0x8000);
22490 sample_cmd = (dac_test_mode == 1) ? 0x5 : 0x1;
22491 write_phy_reg(pi, 0xc3, sample_cmd);
22494 SPINWAIT(((read_phy_reg(pi, 0xa4) & 0x1) == 1), 1000);
22496 write_phy_reg(pi, 0xa1, orig_RfseqCoreActv);
22499 void wlc_phy_stopplayback_nphy(phy_info_t *pi)
22501 u16 playback_status;
22504 if (pi->phyhang_avoid)
22505 wlc_phy_stay_in_carriersearch_nphy(pi, true);
22507 playback_status = read_phy_reg(pi, 0xc7);
22508 if (playback_status & 0x1) {
22509 or_phy_reg(pi, 0xc3, NPHY_sampleCmd_STOP);
22510 } else if (playback_status & 0x2) {
22512 and_phy_reg(pi, 0xc2,
22513 (u16) ~NPHY_iqloCalCmdGctl_IQLO_CAL_EN);
22516 and_phy_reg(pi, 0xc3, (u16) ~(0x1 << 2));
22518 if ((pi->nphy_bb_mult_save & BB_MULT_VALID_MASK) != 0) {
22520 bb_mult = pi->nphy_bb_mult_save & BB_MULT_MASK;
22521 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, 87, 16,
22524 pi->nphy_bb_mult_save = 0;
22527 if (NREV_IS(pi->pubpi.phy_rev, 7) || NREV_GE(pi->pubpi.phy_rev, 8)) {
22528 if (pi->nphy_sample_play_lpf_bw_ctl_ovr) {
22529 wlc_phy_rfctrl_override_nphy_rev7(pi,
22532 NPHY_REV7_RFCTRLOVERRIDE_ID1);
22533 pi->nphy_sample_play_lpf_bw_ctl_ovr = false;
22537 if (pi->phyhang_avoid)
22538 wlc_phy_stay_in_carriersearch_nphy(pi, false);
22541 nphy_txgains_t wlc_phy_get_tx_gain_nphy(phy_info_t *pi)
22543 u16 base_idx[2], curr_gain[2];
22545 nphy_txgains_t target_gain;
22546 u32 *tx_pwrctrl_tbl = NULL;
22548 if (pi->nphy_txpwrctrl == PHY_TPC_HW_OFF) {
22549 if (pi->phyhang_avoid)
22550 wlc_phy_stay_in_carriersearch_nphy(pi, true);
22552 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
22555 if (pi->phyhang_avoid)
22556 wlc_phy_stay_in_carriersearch_nphy(pi, false);
22558 for (core_no = 0; core_no < 2; core_no++) {
22559 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22560 target_gain.ipa[core_no] =
22561 curr_gain[core_no] & 0x0007;
22562 target_gain.pad[core_no] =
22563 ((curr_gain[core_no] & 0x00F8) >> 3);
22564 target_gain.pga[core_no] =
22565 ((curr_gain[core_no] & 0x0F00) >> 8);
22566 target_gain.txgm[core_no] =
22567 ((curr_gain[core_no] & 0x7000) >> 12);
22568 target_gain.txlpf[core_no] =
22569 ((curr_gain[core_no] & 0x8000) >> 15);
22570 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
22571 target_gain.ipa[core_no] =
22572 curr_gain[core_no] & 0x000F;
22573 target_gain.pad[core_no] =
22574 ((curr_gain[core_no] & 0x00F0) >> 4);
22575 target_gain.pga[core_no] =
22576 ((curr_gain[core_no] & 0x0F00) >> 8);
22577 target_gain.txgm[core_no] =
22578 ((curr_gain[core_no] & 0x7000) >> 12);
22580 target_gain.ipa[core_no] =
22581 curr_gain[core_no] & 0x0003;
22582 target_gain.pad[core_no] =
22583 ((curr_gain[core_no] & 0x000C) >> 2);
22584 target_gain.pga[core_no] =
22585 ((curr_gain[core_no] & 0x0070) >> 4);
22586 target_gain.txgm[core_no] =
22587 ((curr_gain[core_no] & 0x0380) >> 7);
22591 base_idx[0] = (read_phy_reg(pi, 0x1ed) >> 8) & 0x7f;
22592 base_idx[1] = (read_phy_reg(pi, 0x1ee) >> 8) & 0x7f;
22593 for (core_no = 0; core_no < 2; core_no++) {
22594 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
22597 wlc_phy_get_ipa_gaintbl_nphy(pi);
22599 if (CHSPEC_IS5G(pi->radio_chanspec)) {
22601 (pi->pubpi.phy_rev, 3) {
22603 nphy_tpc_5GHz_txgain_rev3;
22605 (pi->pubpi.phy_rev, 4) {
22610 nphy_tpc_5GHz_txgain_HiPwrEPA
22612 nphy_tpc_5GHz_txgain_rev4;
22615 nphy_tpc_5GHz_txgain_rev5;
22619 (pi->pubpi.phy_rev, 7)) {
22623 nphy_tpc_txgain_epa_2057rev3;
22624 } else if (pi->pubpi.
22628 nphy_tpc_txgain_epa_2057rev5;
22633 (pi->pubpi.phy_rev,
22635 && (pi->srom_fem2g.
22639 nphy_tpc_txgain_HiPwrEPA;
22642 nphy_tpc_txgain_rev3;
22648 (pi->pubpi.phy_rev, 7) {
22649 target_gain.ipa[core_no] =
22650 (tx_pwrctrl_tbl[base_idx[core_no]]
22652 target_gain.pad[core_no] =
22653 (tx_pwrctrl_tbl[base_idx[core_no]]
22655 target_gain.pga[core_no] =
22656 (tx_pwrctrl_tbl[base_idx[core_no]]
22658 target_gain.txgm[core_no] =
22659 (tx_pwrctrl_tbl[base_idx[core_no]]
22661 target_gain.txlpf[core_no] =
22662 (tx_pwrctrl_tbl[base_idx[core_no]]
22665 target_gain.ipa[core_no] =
22666 (tx_pwrctrl_tbl[base_idx[core_no]]
22668 target_gain.pad[core_no] =
22669 (tx_pwrctrl_tbl[base_idx[core_no]]
22671 target_gain.pga[core_no] =
22672 (tx_pwrctrl_tbl[base_idx[core_no]]
22674 target_gain.txgm[core_no] =
22675 (tx_pwrctrl_tbl[base_idx[core_no]]
22679 target_gain.ipa[core_no] =
22680 (nphy_tpc_txgain[base_idx[core_no]] >> 16) &
22682 target_gain.pad[core_no] =
22683 (nphy_tpc_txgain[base_idx[core_no]] >> 18) &
22685 target_gain.pga[core_no] =
22686 (nphy_tpc_txgain[base_idx[core_no]] >> 20) &
22688 target_gain.txgm[core_no] =
22689 (nphy_tpc_txgain[base_idx[core_no]] >> 23) &
22695 return target_gain;
22699 wlc_phy_iqcal_gainparams_nphy(phy_info_t *pi, u16 core_no,
22700 nphy_txgains_t target_gain,
22701 nphy_iqcal_params_t *params)
22706 u8 band_idx = (CHSPEC_IS5G(pi->radio_chanspec) ? 1 : 0);
22708 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
22709 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22710 params->txlpf = target_gain.txlpf[core_no];
22712 params->txgm = target_gain.txgm[core_no];
22713 params->pga = target_gain.pga[core_no];
22714 params->pad = target_gain.pad[core_no];
22715 params->ipa = target_gain.ipa[core_no];
22716 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22718 ((params->txlpf << 15) | (params->
22719 txgm << 12) | (params->
22721 (params->pad << 3) | (params->ipa));
22724 ((params->txgm << 12) | (params->
22725 pga << 8) | (params->
22729 params->ncorr[0] = 0x79;
22730 params->ncorr[1] = 0x79;
22731 params->ncorr[2] = 0x79;
22732 params->ncorr[3] = 0x79;
22733 params->ncorr[4] = 0x79;
22736 gain_index = ((target_gain.pad[core_no] << 0) |
22737 (target_gain.pga[core_no] << 4) | (target_gain.
22742 for (k = 0; k < NPHY_IQCAL_NUMGAINS; k++) {
22743 if (tbl_iqcal_gainparams_nphy[band_idx][k][0] ==
22750 params->txgm = tbl_iqcal_gainparams_nphy[band_idx][k][1];
22751 params->pga = tbl_iqcal_gainparams_nphy[band_idx][k][2];
22752 params->pad = tbl_iqcal_gainparams_nphy[band_idx][k][3];
22753 params->cal_gain = ((params->txgm << 7) | (params->pga << 4) |
22754 (params->pad << 2));
22755 params->ncorr[0] = tbl_iqcal_gainparams_nphy[band_idx][k][4];
22756 params->ncorr[1] = tbl_iqcal_gainparams_nphy[band_idx][k][5];
22757 params->ncorr[2] = tbl_iqcal_gainparams_nphy[band_idx][k][6];
22758 params->ncorr[3] = tbl_iqcal_gainparams_nphy[band_idx][k][7];
22762 static void wlc_phy_txcal_radio_setup_nphy(phy_info_t *pi)
22764 u16 jtag_core, core;
22766 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
22768 for (core = 0; core <= 1; core++) {
22770 pi->tx_rx_cal_radio_saveregs[(core * 11) + 0] =
22771 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22774 pi->tx_rx_cal_radio_saveregs[(core * 11) + 1] =
22775 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22778 pi->tx_rx_cal_radio_saveregs[(core * 11) + 2] =
22779 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22782 pi->tx_rx_cal_radio_saveregs[(core * 11) + 3] =
22783 READ_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_VCM);
22785 pi->tx_rx_cal_radio_saveregs[(core * 11) + 4] = 0;
22787 pi->tx_rx_cal_radio_saveregs[(core * 11) + 5] =
22788 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22791 if (pi->pubpi.radiorev != 5)
22792 pi->tx_rx_cal_radio_saveregs[(core * 11) + 6] =
22793 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22796 pi->tx_rx_cal_radio_saveregs[(core * 11) + 7] =
22797 READ_RADIO_REG3(pi, RADIO_2057, TX, core, TSSIG);
22799 pi->tx_rx_cal_radio_saveregs[(core * 11) + 8] =
22800 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
22803 if (CHSPEC_IS5G(pi->radio_chanspec)) {
22804 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22805 TX_SSI_MASTER, 0x0a);
22806 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22807 IQCAL_VCM_HG, 0x43);
22808 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22810 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22812 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22814 if (pi->use_int_tx_iqlo_cal_nphy) {
22815 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
22816 core, TX_SSI_MUX, 0x4);
22819 internal_tx_iqlo_cal_tapoff_intpa_nphy)) {
22821 WRITE_RADIO_REG3(pi, RADIO_2057,
22826 WRITE_RADIO_REG3(pi, RADIO_2057,
22831 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22834 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22835 TX_SSI_MASTER, 0x06);
22836 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22837 IQCAL_VCM_HG, 0x43);
22838 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22840 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22843 if (pi->pubpi.radiorev != 5)
22844 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
22845 core, TSSIA, 0x00);
22846 if (pi->use_int_tx_iqlo_cal_nphy) {
22847 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
22852 internal_tx_iqlo_cal_tapoff_intpa_nphy)) {
22854 WRITE_RADIO_REG3(pi, RADIO_2057,
22859 WRITE_RADIO_REG3(pi, RADIO_2057,
22864 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
22868 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
22870 for (core = 0; core <= 1; core++) {
22873 PHY_CORE_0) ? RADIO_2056_TX0 : RADIO_2056_TX1;
22875 pi->tx_rx_cal_radio_saveregs[(core * 11) + 0] =
22877 RADIO_2056_TX_TX_SSI_MASTER |
22880 pi->tx_rx_cal_radio_saveregs[(core * 11) + 1] =
22882 RADIO_2056_TX_IQCAL_VCM_HG |
22885 pi->tx_rx_cal_radio_saveregs[(core * 11) + 2] =
22887 RADIO_2056_TX_IQCAL_IDAC |
22890 pi->tx_rx_cal_radio_saveregs[(core * 11) + 3] =
22892 RADIO_2056_TX_TSSI_VCM | jtag_core);
22894 pi->tx_rx_cal_radio_saveregs[(core * 11) + 4] =
22896 RADIO_2056_TX_TX_AMP_DET |
22899 pi->tx_rx_cal_radio_saveregs[(core * 11) + 5] =
22901 RADIO_2056_TX_TX_SSI_MUX |
22904 pi->tx_rx_cal_radio_saveregs[(core * 11) + 6] =
22905 read_radio_reg(pi, RADIO_2056_TX_TSSIA | jtag_core);
22907 pi->tx_rx_cal_radio_saveregs[(core * 11) + 7] =
22908 read_radio_reg(pi, RADIO_2056_TX_TSSIG | jtag_core);
22910 pi->tx_rx_cal_radio_saveregs[(core * 11) + 8] =
22912 RADIO_2056_TX_TSSI_MISC1 |
22915 pi->tx_rx_cal_radio_saveregs[(core * 11) + 9] =
22917 RADIO_2056_TX_TSSI_MISC2 |
22920 pi->tx_rx_cal_radio_saveregs[(core * 11) + 10] =
22922 RADIO_2056_TX_TSSI_MISC3 |
22925 if (CHSPEC_IS5G(pi->radio_chanspec)) {
22926 write_radio_reg(pi,
22927 RADIO_2056_TX_TX_SSI_MASTER |
22929 write_radio_reg(pi,
22930 RADIO_2056_TX_IQCAL_VCM_HG |
22932 write_radio_reg(pi,
22933 RADIO_2056_TX_IQCAL_IDAC |
22935 write_radio_reg(pi,
22936 RADIO_2056_TX_TSSI_VCM |
22938 write_radio_reg(pi,
22939 RADIO_2056_TX_TX_AMP_DET |
22943 write_radio_reg(pi,
22944 RADIO_2056_TX_TX_SSI_MUX
22946 write_radio_reg(pi,
22947 RADIO_2056_TX_TSSIA |
22950 write_radio_reg(pi,
22951 RADIO_2056_TX_TX_SSI_MUX
22952 | jtag_core, 0x00);
22953 write_radio_reg(pi,
22954 RADIO_2056_TX_TSSIA |
22957 write_radio_reg(pi,
22958 RADIO_2056_TX_TSSIG | jtag_core,
22960 write_radio_reg(pi,
22961 RADIO_2056_TX_TSSI_MISC1 |
22964 write_radio_reg(pi,
22965 RADIO_2056_TX_TSSI_MISC2 |
22967 write_radio_reg(pi,
22968 RADIO_2056_TX_TSSI_MISC3 |
22971 write_radio_reg(pi,
22972 RADIO_2056_TX_TX_SSI_MASTER |
22974 write_radio_reg(pi,
22975 RADIO_2056_TX_IQCAL_VCM_HG |
22977 write_radio_reg(pi,
22978 RADIO_2056_TX_IQCAL_IDAC |
22980 write_radio_reg(pi,
22981 RADIO_2056_TX_TSSI_VCM |
22983 write_radio_reg(pi,
22984 RADIO_2056_TX_TX_AMP_DET |
22986 write_radio_reg(pi,
22987 RADIO_2056_TX_TSSIA | jtag_core,
22992 write_radio_reg(pi,
22993 RADIO_2056_TX_TX_SSI_MUX
22994 | jtag_core, 0x06);
22995 if (NREV_LT(pi->pubpi.phy_rev, 5)) {
22997 write_radio_reg(pi,
22998 RADIO_2056_TX_TSSIG
23003 write_radio_reg(pi,
23004 RADIO_2056_TX_TSSIG
23009 write_radio_reg(pi,
23010 RADIO_2056_TX_TX_SSI_MUX
23011 | jtag_core, 0x00);
23012 write_radio_reg(pi,
23013 RADIO_2056_TX_TSSIG |
23017 write_radio_reg(pi,
23018 RADIO_2056_TX_TSSI_MISC1 |
23020 write_radio_reg(pi,
23021 RADIO_2056_TX_TSSI_MISC2 |
23023 write_radio_reg(pi,
23024 RADIO_2056_TX_TSSI_MISC3 |
23030 pi->tx_rx_cal_radio_saveregs[0] =
23031 read_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1);
23032 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1, 0x29);
23033 pi->tx_rx_cal_radio_saveregs[1] =
23034 read_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2);
23035 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2, 0x54);
23037 pi->tx_rx_cal_radio_saveregs[2] =
23038 read_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1);
23039 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1, 0x29);
23040 pi->tx_rx_cal_radio_saveregs[3] =
23041 read_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2);
23042 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2, 0x54);
23044 pi->tx_rx_cal_radio_saveregs[4] =
23045 read_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1);
23046 pi->tx_rx_cal_radio_saveregs[5] =
23047 read_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2);
23049 if ((read_phy_reg(pi, 0x09) & NPHY_BandControl_currentBand) ==
23052 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1, 0x04);
23053 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2, 0x04);
23056 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1, 0x20);
23057 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2, 0x20);
23060 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
23062 or_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM, 0x20);
23063 or_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM, 0x20);
23066 and_radio_reg(pi, RADIO_2055_CORE1_TX_BB_MXGM, 0xdf);
23067 and_radio_reg(pi, RADIO_2055_CORE2_TX_BB_MXGM, 0xdf);
23072 static void wlc_phy_txcal_radio_cleanup_nphy(phy_info_t *pi)
23074 u16 jtag_core, core;
23076 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
23077 for (core = 0; core <= 1; core++) {
23079 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
23082 tx_rx_cal_radio_saveregs[(core * 11) +
23085 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, IQCAL_VCM_HG,
23087 tx_rx_cal_radio_saveregs[(core * 11) +
23090 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, IQCAL_IDAC,
23092 tx_rx_cal_radio_saveregs[(core * 11) +
23095 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_VCM,
23097 tx_rx_cal_radio_saveregs[(core * 11) +
23100 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TX_SSI_MUX,
23102 tx_rx_cal_radio_saveregs[(core * 11) +
23105 if (pi->pubpi.radiorev != 5)
23106 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
23109 tx_rx_cal_radio_saveregs[(core
23114 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSIG,
23116 tx_rx_cal_radio_saveregs[(core * 11) +
23119 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_MISC1,
23121 tx_rx_cal_radio_saveregs[(core * 11) +
23124 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23125 for (core = 0; core <= 1; core++) {
23128 PHY_CORE_0) ? RADIO_2056_TX0 : RADIO_2056_TX1;
23130 write_radio_reg(pi,
23131 RADIO_2056_TX_TX_SSI_MASTER | jtag_core,
23133 tx_rx_cal_radio_saveregs[(core * 11) +
23136 write_radio_reg(pi,
23137 RADIO_2056_TX_IQCAL_VCM_HG | jtag_core,
23139 tx_rx_cal_radio_saveregs[(core * 11) +
23142 write_radio_reg(pi,
23143 RADIO_2056_TX_IQCAL_IDAC | jtag_core,
23145 tx_rx_cal_radio_saveregs[(core * 11) +
23148 write_radio_reg(pi, RADIO_2056_TX_TSSI_VCM | jtag_core,
23150 tx_rx_cal_radio_saveregs[(core * 11) +
23153 write_radio_reg(pi,
23154 RADIO_2056_TX_TX_AMP_DET | jtag_core,
23156 tx_rx_cal_radio_saveregs[(core * 11) +
23159 write_radio_reg(pi,
23160 RADIO_2056_TX_TX_SSI_MUX | jtag_core,
23162 tx_rx_cal_radio_saveregs[(core * 11) +
23165 write_radio_reg(pi, RADIO_2056_TX_TSSIA | jtag_core,
23167 tx_rx_cal_radio_saveregs[(core * 11) +
23170 write_radio_reg(pi, RADIO_2056_TX_TSSIG | jtag_core,
23172 tx_rx_cal_radio_saveregs[(core * 11) +
23175 write_radio_reg(pi,
23176 RADIO_2056_TX_TSSI_MISC1 | jtag_core,
23178 tx_rx_cal_radio_saveregs[(core * 11) +
23181 write_radio_reg(pi,
23182 RADIO_2056_TX_TSSI_MISC2 | jtag_core,
23184 tx_rx_cal_radio_saveregs[(core * 11) +
23187 write_radio_reg(pi,
23188 RADIO_2056_TX_TSSI_MISC3 | jtag_core,
23190 tx_rx_cal_radio_saveregs[(core * 11) +
23195 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL1,
23196 pi->tx_rx_cal_radio_saveregs[0]);
23197 write_radio_reg(pi, RADIO_2055_CORE1_TXRF_IQCAL2,
23198 pi->tx_rx_cal_radio_saveregs[1]);
23199 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL1,
23200 pi->tx_rx_cal_radio_saveregs[2]);
23201 write_radio_reg(pi, RADIO_2055_CORE2_TXRF_IQCAL2,
23202 pi->tx_rx_cal_radio_saveregs[3]);
23203 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE1,
23204 pi->tx_rx_cal_radio_saveregs[4]);
23205 write_radio_reg(pi, RADIO_2055_PWRDET_RXTX_CORE2,
23206 pi->tx_rx_cal_radio_saveregs[5]);
23210 static void wlc_phy_txcal_physetup_nphy(phy_info_t *pi)
23214 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23215 pi->tx_rx_cal_phy_saveregs[0] = read_phy_reg(pi, 0xa6);
23216 pi->tx_rx_cal_phy_saveregs[1] = read_phy_reg(pi, 0xa7);
23218 mask = ((0x3 << 8) | (0x3 << 10));
23220 val |= (0x2 << 10);
23221 mod_phy_reg(pi, 0xa6, mask, val);
23222 mod_phy_reg(pi, 0xa7, mask, val);
23224 val = read_phy_reg(pi, 0x8f);
23225 pi->tx_rx_cal_phy_saveregs[2] = val;
23226 val |= ((0x1 << 9) | (0x1 << 10));
23227 write_phy_reg(pi, 0x8f, val);
23229 val = read_phy_reg(pi, 0xa5);
23230 pi->tx_rx_cal_phy_saveregs[3] = val;
23231 val |= ((0x1 << 9) | (0x1 << 10));
23232 write_phy_reg(pi, 0xa5, val);
23234 pi->tx_rx_cal_phy_saveregs[4] = read_phy_reg(pi, 0x01);
23235 mod_phy_reg(pi, 0x01, (0x1 << 15), 0);
23237 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 3, 16,
23239 pi->tx_rx_cal_phy_saveregs[5] = val;
23241 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 3, 16,
23244 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 19, 16,
23246 pi->tx_rx_cal_phy_saveregs[6] = val;
23248 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 19, 16,
23251 pi->tx_rx_cal_phy_saveregs[7] = read_phy_reg(pi, 0x91);
23252 pi->tx_rx_cal_phy_saveregs[8] = read_phy_reg(pi, 0x92);
23254 if (!(pi->use_int_tx_iqlo_cal_nphy)) {
23256 wlc_phy_rfctrlintc_override_nphy(pi,
23257 NPHY_RfctrlIntc_override_PA,
23259 RADIO_MIMO_CORESEL_CORE1
23261 RADIO_MIMO_CORESEL_CORE2);
23264 wlc_phy_rfctrlintc_override_nphy(pi,
23265 NPHY_RfctrlIntc_override_PA,
23267 RADIO_MIMO_CORESEL_CORE1
23269 RADIO_MIMO_CORESEL_CORE2);
23272 wlc_phy_rfctrlintc_override_nphy(pi,
23273 NPHY_RfctrlIntc_override_TRSW,
23274 0x2, RADIO_MIMO_CORESEL_CORE1);
23275 wlc_phy_rfctrlintc_override_nphy(pi,
23276 NPHY_RfctrlIntc_override_TRSW,
23277 0x8, RADIO_MIMO_CORESEL_CORE2);
23279 pi->tx_rx_cal_phy_saveregs[9] = read_phy_reg(pi, 0x297);
23280 pi->tx_rx_cal_phy_saveregs[10] = read_phy_reg(pi, 0x29b);
23281 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x297 :
23282 0x29b, (0x1 << 0), (0) << 0);
23284 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x297 :
23285 0x29b, (0x1 << 0), (0) << 0);
23287 if (NREV_IS(pi->pubpi.phy_rev, 7)
23288 || NREV_GE(pi->pubpi.phy_rev, 8)) {
23289 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7),
23290 wlc_phy_read_lpf_bw_ctl_nphy
23292 NPHY_REV7_RFCTRLOVERRIDE_ID1);
23295 if (pi->use_int_tx_iqlo_cal_nphy
23296 && !(pi->internal_tx_iqlo_cal_tapoff_intpa_nphy)) {
23298 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
23300 mod_radio_reg(pi, RADIO_2057_OVR_REG0, 1 << 4,
23303 if (CHSPEC_IS2G(pi->radio_chanspec)) {
23305 RADIO_2057_PAD2G_TUNE_PUS_CORE0,
23308 RADIO_2057_PAD2G_TUNE_PUS_CORE1,
23312 RADIO_2057_IPA5G_CASCOFFV_PU_CORE0,
23315 RADIO_2057_IPA5G_CASCOFFV_PU_CORE1,
23318 } else if (NREV_GE(pi->pubpi.phy_rev, 8)) {
23319 wlc_phy_rfctrl_override_nphy_rev7(pi,
23322 NPHY_REV7_RFCTRLOVERRIDE_ID0);
23326 pi->tx_rx_cal_phy_saveregs[0] = read_phy_reg(pi, 0xa6);
23327 pi->tx_rx_cal_phy_saveregs[1] = read_phy_reg(pi, 0xa7);
23329 mask = ((0x3 << 12) | (0x3 << 14));
23331 val |= (0x2 << 14);
23332 mod_phy_reg(pi, 0xa6, mask, val);
23333 mod_phy_reg(pi, 0xa7, mask, val);
23335 val = read_phy_reg(pi, 0xa5);
23336 pi->tx_rx_cal_phy_saveregs[2] = val;
23337 val |= ((0x1 << 12) | (0x1 << 13));
23338 write_phy_reg(pi, 0xa5, val);
23340 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 2, 16,
23342 pi->tx_rx_cal_phy_saveregs[3] = val;
23344 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 2, 16,
23347 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 18, 16,
23349 pi->tx_rx_cal_phy_saveregs[4] = val;
23351 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 18, 16,
23354 pi->tx_rx_cal_phy_saveregs[5] = read_phy_reg(pi, 0x91);
23355 pi->tx_rx_cal_phy_saveregs[6] = read_phy_reg(pi, 0x92);
23356 val = CHSPEC_IS5G(pi->radio_chanspec) ? 0x180 : 0x120;
23357 write_phy_reg(pi, 0x91, val);
23358 write_phy_reg(pi, 0x92, val);
23362 static void wlc_phy_txcal_phycleanup_nphy(phy_info_t *pi)
23366 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23367 write_phy_reg(pi, 0xa6, pi->tx_rx_cal_phy_saveregs[0]);
23368 write_phy_reg(pi, 0xa7, pi->tx_rx_cal_phy_saveregs[1]);
23369 write_phy_reg(pi, 0x8f, pi->tx_rx_cal_phy_saveregs[2]);
23370 write_phy_reg(pi, 0xa5, pi->tx_rx_cal_phy_saveregs[3]);
23371 write_phy_reg(pi, 0x01, pi->tx_rx_cal_phy_saveregs[4]);
23373 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 3, 16,
23374 &pi->tx_rx_cal_phy_saveregs[5]);
23375 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 19, 16,
23376 &pi->tx_rx_cal_phy_saveregs[6]);
23378 write_phy_reg(pi, 0x91, pi->tx_rx_cal_phy_saveregs[7]);
23379 write_phy_reg(pi, 0x92, pi->tx_rx_cal_phy_saveregs[8]);
23381 write_phy_reg(pi, 0x297, pi->tx_rx_cal_phy_saveregs[9]);
23382 write_phy_reg(pi, 0x29b, pi->tx_rx_cal_phy_saveregs[10]);
23384 if (NREV_IS(pi->pubpi.phy_rev, 7)
23385 || NREV_GE(pi->pubpi.phy_rev, 8)) {
23386 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7), 0, 0,
23388 NPHY_REV7_RFCTRLOVERRIDE_ID1);
23391 wlc_phy_resetcca_nphy(pi);
23393 if (pi->use_int_tx_iqlo_cal_nphy
23394 && !(pi->internal_tx_iqlo_cal_tapoff_intpa_nphy)) {
23396 if (NREV_IS(pi->pubpi.phy_rev, 7)) {
23397 if (CHSPEC_IS2G(pi->radio_chanspec)) {
23399 RADIO_2057_PAD2G_TUNE_PUS_CORE0,
23402 RADIO_2057_PAD2G_TUNE_PUS_CORE1,
23406 RADIO_2057_IPA5G_CASCOFFV_PU_CORE0,
23409 RADIO_2057_IPA5G_CASCOFFV_PU_CORE1,
23413 mod_radio_reg(pi, RADIO_2057_OVR_REG0, 1 << 4,
23415 } else if (NREV_GE(pi->pubpi.phy_rev, 8)) {
23416 wlc_phy_rfctrl_override_nphy_rev7(pi,
23419 NPHY_REV7_RFCTRLOVERRIDE_ID0);
23423 mask = ((0x3 << 12) | (0x3 << 14));
23424 mod_phy_reg(pi, 0xa6, mask, pi->tx_rx_cal_phy_saveregs[0]);
23425 mod_phy_reg(pi, 0xa7, mask, pi->tx_rx_cal_phy_saveregs[1]);
23426 write_phy_reg(pi, 0xa5, pi->tx_rx_cal_phy_saveregs[2]);
23428 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 2, 16,
23429 &pi->tx_rx_cal_phy_saveregs[3]);
23431 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_AFECTRL, 1, 18, 16,
23432 &pi->tx_rx_cal_phy_saveregs[4]);
23434 write_phy_reg(pi, 0x91, pi->tx_rx_cal_phy_saveregs[5]);
23435 write_phy_reg(pi, 0x92, pi->tx_rx_cal_phy_saveregs[6]);
23439 #define NPHY_CAL_TSSISAMPS 64
23440 #define NPHY_TEST_TONE_FREQ_40MHz 4000
23441 #define NPHY_TEST_TONE_FREQ_20MHz 2500
23444 wlc_phy_est_tonepwr_nphy(phy_info_t *pi, s32 *qdBm_pwrbuf, u8 num_samps)
23447 s32 temp, pwrindex[2];
23453 tssi_reg = read_phy_reg(pi, 0x1e9);
23455 temp = (s32) (tssi_reg & 0x3f);
23456 idle_tssi[0] = (temp <= 31) ? temp : (temp - 64);
23458 temp = (s32) ((tssi_reg >> 8) & 0x3f);
23459 idle_tssi[1] = (temp <= 31) ? temp : (temp - 64);
23462 CHSPEC_IS5G(pi->radio_chanspec) ?
23463 (u8)NPHY_RSSI_SEL_TSSI_5G:(u8)NPHY_RSSI_SEL_TSSI_2G;
23465 wlc_phy_poll_rssi_nphy(pi, tssi_type, rssi_buf, num_samps);
23467 tssival[0] = rssi_buf[0] / ((s32) num_samps);
23468 tssival[1] = rssi_buf[2] / ((s32) num_samps);
23470 pwrindex[0] = idle_tssi[0] - tssival[0] + 64;
23471 pwrindex[1] = idle_tssi[1] - tssival[1] + 64;
23473 if (pwrindex[0] < 0) {
23475 } else if (pwrindex[0] > 63) {
23479 if (pwrindex[1] < 0) {
23481 } else if (pwrindex[1] > 63) {
23485 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 1,
23486 (u32) pwrindex[0], 32, &qdBm_pwrbuf[0]);
23487 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 1,
23488 (u32) pwrindex[1], 32, &qdBm_pwrbuf[1]);
23491 static void wlc_phy_internal_cal_txgain_nphy(phy_info_t *pi)
23495 pi->nphy_txcal_pwr_idx[0] = pi->nphy_cal_orig_pwr_idx[0];
23496 pi->nphy_txcal_pwr_idx[1] = pi->nphy_cal_orig_pwr_idx[0];
23497 wlc_phy_txpwr_index_nphy(pi, 1, pi->nphy_cal_orig_pwr_idx[0], true);
23498 wlc_phy_txpwr_index_nphy(pi, 2, pi->nphy_cal_orig_pwr_idx[1], true);
23500 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
23503 if (CHSPEC_IS2G(pi->radio_chanspec)) {
23504 txcal_gain[0] = (txcal_gain[0] & 0xF000) | 0x0F40;
23505 txcal_gain[1] = (txcal_gain[1] & 0xF000) | 0x0F40;
23507 txcal_gain[0] = (txcal_gain[0] & 0xF000) | 0x0F60;
23508 txcal_gain[1] = (txcal_gain[1] & 0xF000) | 0x0F60;
23511 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
23515 static void wlc_phy_precal_txgain_nphy(phy_info_t *pi)
23517 bool save_bbmult = false;
23518 u8 txcal_index_2057_rev5n7 = 0;
23519 u8 txcal_index_2057_rev3n4n6 = 10;
23521 if (pi->use_int_tx_iqlo_cal_nphy) {
23522 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
23523 if ((pi->pubpi.radiorev == 3) ||
23524 (pi->pubpi.radiorev == 4) ||
23525 (pi->pubpi.radiorev == 6)) {
23527 pi->nphy_txcal_pwr_idx[0] =
23528 txcal_index_2057_rev3n4n6;
23529 pi->nphy_txcal_pwr_idx[1] =
23530 txcal_index_2057_rev3n4n6;
23531 wlc_phy_txpwr_index_nphy(pi, 3,
23532 txcal_index_2057_rev3n4n6,
23536 pi->nphy_txcal_pwr_idx[0] =
23537 txcal_index_2057_rev5n7;
23538 pi->nphy_txcal_pwr_idx[1] =
23539 txcal_index_2057_rev5n7;
23540 wlc_phy_txpwr_index_nphy(pi, 3,
23541 txcal_index_2057_rev5n7,
23544 save_bbmult = true;
23546 } else if (NREV_LT(pi->pubpi.phy_rev, 5)) {
23547 wlc_phy_cal_txgainctrl_nphy(pi, 11, false);
23548 if (pi->sh->hw_phytxchain != 3) {
23549 pi->nphy_txcal_pwr_idx[1] =
23550 pi->nphy_txcal_pwr_idx[0];
23551 wlc_phy_txpwr_index_nphy(pi, 3,
23553 nphy_txcal_pwr_idx[0],
23555 save_bbmult = true;
23558 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
23560 if (CHSPEC_IS2G(pi->radio_chanspec)) {
23561 wlc_phy_cal_txgainctrl_nphy(pi, 12,
23564 pi->nphy_txcal_pwr_idx[0] = 80;
23565 pi->nphy_txcal_pwr_idx[1] = 80;
23566 wlc_phy_txpwr_index_nphy(pi, 3, 80,
23568 save_bbmult = true;
23572 wlc_phy_internal_cal_txgain_nphy(pi);
23573 save_bbmult = true;
23576 } else if (NREV_IS(pi->pubpi.phy_rev, 6)) {
23578 if (CHSPEC_IS2G(pi->radio_chanspec)) {
23579 wlc_phy_cal_txgainctrl_nphy(pi, 12,
23582 wlc_phy_cal_txgainctrl_nphy(pi, 14,
23587 wlc_phy_internal_cal_txgain_nphy(pi);
23588 save_bbmult = true;
23593 wlc_phy_cal_txgainctrl_nphy(pi, 10, false);
23597 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16,
23598 &pi->nphy_txcal_bbmult);
23603 wlc_phy_cal_txgainctrl_nphy(phy_info_t *pi, s32 dBm_targetpower, bool debug)
23605 int gainctrl_loopidx;
23607 u16 m0m1, curr_m0m1;
23612 u16 phy_saveregs[4];
23614 u16 ampl_test = 250;
23616 bool phyhang_avoid_state = false;
23618 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
23626 if (CHSPEC_IS40(pi->radio_chanspec)) {
23632 wlc_phy_txpwr_index_nphy(pi, 1, pi->nphy_cal_orig_pwr_idx[0], true);
23633 wlc_phy_txpwr_index_nphy(pi, 2, pi->nphy_cal_orig_pwr_idx[1], true);
23635 if (pi->phyhang_avoid)
23636 wlc_phy_stay_in_carriersearch_nphy(pi, true);
23638 phyhang_avoid_state = pi->phyhang_avoid;
23639 pi->phyhang_avoid = false;
23641 phy_saveregs[0] = read_phy_reg(pi, 0x91);
23642 phy_saveregs[1] = read_phy_reg(pi, 0x92);
23643 phy_saveregs[2] = read_phy_reg(pi, 0xe7);
23644 phy_saveregs[3] = read_phy_reg(pi, 0xec);
23645 wlc_phy_rfctrlintc_override_nphy(pi, NPHY_RfctrlIntc_override_PA, 1,
23646 RADIO_MIMO_CORESEL_CORE1 |
23647 RADIO_MIMO_CORESEL_CORE2);
23650 wlc_phy_rfctrlintc_override_nphy(pi,
23651 NPHY_RfctrlIntc_override_TRSW,
23652 0x2, RADIO_MIMO_CORESEL_CORE1);
23653 wlc_phy_rfctrlintc_override_nphy(pi,
23654 NPHY_RfctrlIntc_override_TRSW,
23655 0x8, RADIO_MIMO_CORESEL_CORE2);
23657 wlc_phy_rfctrlintc_override_nphy(pi,
23658 NPHY_RfctrlIntc_override_TRSW,
23659 0x1, RADIO_MIMO_CORESEL_CORE1);
23660 wlc_phy_rfctrlintc_override_nphy(pi,
23661 NPHY_RfctrlIntc_override_TRSW,
23662 0x7, RADIO_MIMO_CORESEL_CORE2);
23665 orig_BBConfig = read_phy_reg(pi, 0x01);
23666 mod_phy_reg(pi, 0x01, (0x1 << 15), 0);
23668 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m0m1);
23670 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
23671 txpwrindex = (s32) pi->nphy_cal_orig_pwr_idx[core];
23673 for (gainctrl_loopidx = 0; gainctrl_loopidx < 2;
23674 gainctrl_loopidx++) {
23675 wlc_phy_tx_tone_nphy(pi, freq_test, ampl_test, 0, 0,
23678 if (core == PHY_CORE_0) {
23679 curr_m0m1 = m0m1 & 0xff00;
23681 curr_m0m1 = m0m1 & 0x00ff;
23684 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &curr_m0m1);
23685 wlc_phy_table_write_nphy(pi, 15, 1, 95, 16, &curr_m0m1);
23689 wlc_phy_est_tonepwr_nphy(pi, qdBm_power,
23690 NPHY_CAL_TSSISAMPS);
23692 pi->nphy_bb_mult_save = 0;
23693 wlc_phy_stopplayback_nphy(pi);
23695 delta_power = (dBm_targetpower * 4) - qdBm_power[core];
23697 txpwrindex -= stepsize * delta_power;
23698 if (txpwrindex < 0) {
23700 } else if (txpwrindex > 127) {
23704 if (CHSPEC_IS5G(pi->radio_chanspec)) {
23705 if (NREV_IS(pi->pubpi.phy_rev, 4) &&
23706 (pi->srom_fem5g.extpagain == 3)) {
23707 if (txpwrindex < 30) {
23712 if (NREV_GE(pi->pubpi.phy_rev, 5) &&
23713 (pi->srom_fem2g.extpagain == 3)) {
23714 if (txpwrindex < 50) {
23720 wlc_phy_txpwr_index_nphy(pi, (1 << core),
23721 (u8) txpwrindex, true);
23724 pi->nphy_txcal_pwr_idx[core] = (u8) txpwrindex;
23730 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &dbg_m0m1);
23732 wlc_phy_tx_tone_nphy(pi, freq_test, ampl_test, 0, 0,
23735 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &dbg_m0m1);
23736 wlc_phy_table_write_nphy(pi, 15, 1, 95, 16, &dbg_m0m1);
23740 wlc_phy_est_tonepwr_nphy(pi, qdBm_power,
23741 NPHY_CAL_TSSISAMPS);
23743 wlc_phy_table_read_nphy(pi, 7, 1, (0x110 + core), 16,
23747 pi->nphy_bb_mult_save = 0;
23748 wlc_phy_stopplayback_nphy(pi);
23752 wlc_phy_txpwr_index_nphy(pi, 1, pi->nphy_txcal_pwr_idx[0], true);
23753 wlc_phy_txpwr_index_nphy(pi, 2, pi->nphy_txcal_pwr_idx[1], true);
23755 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &pi->nphy_txcal_bbmult);
23757 write_phy_reg(pi, 0x01, orig_BBConfig);
23759 write_phy_reg(pi, 0x91, phy_saveregs[0]);
23760 write_phy_reg(pi, 0x92, phy_saveregs[1]);
23761 write_phy_reg(pi, 0xe7, phy_saveregs[2]);
23762 write_phy_reg(pi, 0xec, phy_saveregs[3]);
23764 pi->phyhang_avoid = phyhang_avoid_state;
23766 if (pi->phyhang_avoid)
23767 wlc_phy_stay_in_carriersearch_nphy(pi, false);
23770 static void wlc_phy_update_txcal_ladder_nphy(phy_info_t *pi, u16 core)
23777 nphy_txiqcal_ladder_t ladder_lo[] = {
23778 {3, 0}, {4, 0}, {6, 0}, {9, 0}, {13, 0}, {18, 0},
23779 {25, 0}, {25, 1}, {25, 2}, {25, 3}, {25, 4}, {25, 5},
23780 {25, 6}, {25, 7}, {35, 7}, {50, 7}, {71, 7}, {100, 7}
23783 nphy_txiqcal_ladder_t ladder_iq[] = {
23784 {3, 0}, {4, 0}, {6, 0}, {9, 0}, {13, 0}, {18, 0},
23785 {25, 0}, {35, 0}, {50, 0}, {71, 0}, {100, 0}, {100, 1},
23786 {100, 2}, {100, 3}, {100, 4}, {100, 5}, {100, 6}, {100, 7}
23789 bbmult = (core == PHY_CORE_0) ?
23790 ((pi->nphy_txcal_bbmult >> 8) & 0xff) : (pi->
23791 nphy_txcal_bbmult & 0xff);
23793 for (index = 0; index < 18; index++) {
23794 bbmult_scale = ladder_lo[index].percent * bbmult;
23795 bbmult_scale /= 100;
23798 ((bbmult_scale & 0xff) << 8) | ladder_lo[index].g_env;
23799 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, index, 16,
23802 bbmult_scale = ladder_iq[index].percent * bbmult;
23803 bbmult_scale /= 100;
23806 ((bbmult_scale & 0xff) << 8) | ladder_iq[index].g_env;
23807 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 1, index + 32,
23812 void wlc_phy_cal_perical_nphy_run(phy_info_t *pi, u8 caltype)
23814 nphy_txgains_t target_gain;
23815 u8 tx_pwr_ctrl_state;
23816 bool fullcal = true;
23817 bool restore_tx_gain = false;
23820 if (NORADIO_ENAB(pi->pubpi)) {
23821 wlc_phy_cal_perical_mphase_reset(pi);
23828 if (caltype == PHY_PERICAL_AUTO)
23829 fullcal = (pi->radio_chanspec != pi->nphy_txiqlocal_chanspec);
23830 else if (caltype == PHY_PERICAL_PARTIAL)
23833 if (pi->cal_type_override != PHY_PERICAL_AUTO) {
23835 (pi->cal_type_override == PHY_PERICAL_FULL) ? true : false;
23838 if ((pi->mphase_cal_phase_id > MPHASE_CAL_STATE_INIT)) {
23839 if (pi->nphy_txiqlocal_chanspec != pi->radio_chanspec)
23840 wlc_phy_cal_perical_mphase_restart(pi);
23843 if ((pi->mphase_cal_phase_id == MPHASE_CAL_STATE_RXCAL)) {
23844 wlapi_bmac_write_shm(pi->sh->physhim, M_CTS_DURATION, 10000);
23847 wlapi_suspend_mac_and_wait(pi->sh->physhim);
23849 wlc_phyreg_enter((wlc_phy_t *) pi);
23851 if ((pi->mphase_cal_phase_id == MPHASE_CAL_STATE_IDLE) ||
23852 (pi->mphase_cal_phase_id == MPHASE_CAL_STATE_INIT)) {
23853 pi->nphy_cal_orig_pwr_idx[0] =
23854 (u8) ((read_phy_reg(pi, 0x1ed) >> 8) & 0x7f);
23855 pi->nphy_cal_orig_pwr_idx[1] =
23856 (u8) ((read_phy_reg(pi, 0x1ee) >> 8) & 0x7f);
23858 if (pi->nphy_txpwrctrl != PHY_TPC_HW_OFF) {
23859 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2,
23861 pi->nphy_cal_orig_tx_gain);
23863 pi->nphy_cal_orig_tx_gain[0] = 0;
23864 pi->nphy_cal_orig_tx_gain[1] = 0;
23867 target_gain = wlc_phy_get_tx_gain_nphy(pi);
23868 tx_pwr_ctrl_state = pi->nphy_txpwrctrl;
23869 wlc_phy_txpwrctrl_enable_nphy(pi, PHY_TPC_HW_OFF);
23871 if (pi->antsel_type == ANTSEL_2x3)
23872 wlc_phy_antsel_init((wlc_phy_t *) pi, true);
23874 mphase = (pi->mphase_cal_phase_id != MPHASE_CAL_STATE_IDLE);
23877 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23878 wlc_phy_precal_txgain_nphy(pi);
23879 pi->nphy_cal_target_gain = wlc_phy_get_tx_gain_nphy(pi);
23880 restore_tx_gain = true;
23882 target_gain = pi->nphy_cal_target_gain;
23885 wlc_phy_cal_txiqlo_nphy(pi, target_gain, fullcal, mphase)) {
23887 wlc_phy_a4(pi, true);
23889 wlc_phyreg_exit((wlc_phy_t *) pi);
23890 wlapi_enable_mac(pi->sh->physhim);
23891 wlapi_bmac_write_shm(pi->sh->physhim, M_CTS_DURATION,
23893 wlapi_suspend_mac_and_wait(pi->sh->physhim);
23894 wlc_phyreg_enter((wlc_phy_t *) pi);
23896 if (0 == wlc_phy_cal_rxiq_nphy(pi, target_gain,
23898 first_cal_after_assoc
23904 wlc_phy_savecal_nphy(pi);
23906 wlc_phy_txpwrctrl_coeff_setup_nphy(pi);
23908 pi->nphy_perical_last = pi->sh->now;
23911 if (caltype != PHY_PERICAL_AUTO) {
23912 wlc_phy_rssi_cal_nphy(pi);
23915 if (pi->first_cal_after_assoc
23916 || (pi->cal_type_override == PHY_PERICAL_FULL)) {
23917 pi->first_cal_after_assoc = false;
23918 wlc_phy_txpwrctrl_idle_tssi_nphy(pi);
23919 wlc_phy_txpwrctrl_pwr_setup_nphy(pi);
23922 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23923 wlc_phy_radio205x_vcocal_nphy(pi);
23926 switch (pi->mphase_cal_phase_id) {
23927 case MPHASE_CAL_STATE_INIT:
23928 pi->nphy_perical_last = pi->sh->now;
23929 pi->nphy_txiqlocal_chanspec = pi->radio_chanspec;
23931 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23932 wlc_phy_precal_txgain_nphy(pi);
23934 pi->nphy_cal_target_gain = wlc_phy_get_tx_gain_nphy(pi);
23935 pi->mphase_cal_phase_id++;
23938 case MPHASE_CAL_STATE_TXPHASE0:
23939 case MPHASE_CAL_STATE_TXPHASE1:
23940 case MPHASE_CAL_STATE_TXPHASE2:
23941 case MPHASE_CAL_STATE_TXPHASE3:
23942 case MPHASE_CAL_STATE_TXPHASE4:
23943 case MPHASE_CAL_STATE_TXPHASE5:
23944 if ((pi->radar_percal_mask & 0x10) != 0)
23945 pi->nphy_rxcal_active = true;
23947 if (wlc_phy_cal_txiqlo_nphy
23948 (pi, pi->nphy_cal_target_gain, fullcal,
23951 wlc_phy_cal_perical_mphase_reset(pi);
23955 if (NREV_LE(pi->pubpi.phy_rev, 2) &&
23956 (pi->mphase_cal_phase_id ==
23957 MPHASE_CAL_STATE_TXPHASE4)) {
23958 pi->mphase_cal_phase_id += 2;
23960 pi->mphase_cal_phase_id++;
23964 case MPHASE_CAL_STATE_PAPDCAL:
23965 if ((pi->radar_percal_mask & 0x2) != 0)
23966 pi->nphy_rxcal_active = true;
23969 wlc_phy_a4(pi, true);
23971 pi->mphase_cal_phase_id++;
23974 case MPHASE_CAL_STATE_RXCAL:
23975 if ((pi->radar_percal_mask & 0x1) != 0)
23976 pi->nphy_rxcal_active = true;
23977 if (wlc_phy_cal_rxiq_nphy(pi, target_gain,
23978 (pi->first_cal_after_assoc ||
23979 (pi->cal_type_override ==
23980 PHY_PERICAL_FULL)) ? 2 : 0,
23982 wlc_phy_savecal_nphy(pi);
23985 pi->mphase_cal_phase_id++;
23988 case MPHASE_CAL_STATE_RSSICAL:
23989 if ((pi->radar_percal_mask & 0x4) != 0)
23990 pi->nphy_rxcal_active = true;
23991 wlc_phy_txpwrctrl_coeff_setup_nphy(pi);
23992 wlc_phy_rssi_cal_nphy(pi);
23994 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
23995 wlc_phy_radio205x_vcocal_nphy(pi);
23997 restore_tx_gain = true;
23999 if (pi->first_cal_after_assoc) {
24000 pi->mphase_cal_phase_id++;
24002 wlc_phy_cal_perical_mphase_reset(pi);
24007 case MPHASE_CAL_STATE_IDLETSSI:
24008 if ((pi->radar_percal_mask & 0x8) != 0)
24009 pi->nphy_rxcal_active = true;
24011 if (pi->first_cal_after_assoc) {
24012 pi->first_cal_after_assoc = false;
24013 wlc_phy_txpwrctrl_idle_tssi_nphy(pi);
24014 wlc_phy_txpwrctrl_pwr_setup_nphy(pi);
24017 wlc_phy_cal_perical_mphase_reset(pi);
24021 wlc_phy_cal_perical_mphase_reset(pi);
24026 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
24027 if (restore_tx_gain) {
24028 if (tx_pwr_ctrl_state != PHY_TPC_HW_OFF) {
24030 wlc_phy_txpwr_index_nphy(pi, 1,
24032 nphy_cal_orig_pwr_idx
24034 wlc_phy_txpwr_index_nphy(pi, 2,
24036 nphy_cal_orig_pwr_idx
24039 pi->nphy_txpwrindex[0].index = -1;
24040 pi->nphy_txpwrindex[1].index = -1;
24042 wlc_phy_txpwr_index_nphy(pi, (1 << 0),
24048 wlc_phy_txpwr_index_nphy(pi, (1 << 1),
24058 wlc_phy_txpwrctrl_enable_nphy(pi, tx_pwr_ctrl_state);
24059 wlc_phyreg_exit((wlc_phy_t *) pi);
24060 wlapi_enable_mac(pi->sh->physhim);
24064 wlc_phy_cal_txiqlo_nphy(phy_info_t *pi, nphy_txgains_t target_gain,
24065 bool fullcal, bool mphase)
24071 u8 num_cals, max_cal_cmds;
24072 u16 core_no, cal_type;
24079 nphy_iqcal_params_t cal_params[2];
24082 bool ladder_updated[2];
24083 u8 mphase_cal_lastphase = 0;
24085 bool phyhang_avoid_state = false;
24087 u16 tbl_tx_iqlo_cal_loft_ladder_20[] = {
24088 0x0300, 0x0500, 0x0700, 0x0900, 0x0d00, 0x1100, 0x1900, 0x1901,
24090 0x1903, 0x1904, 0x1905, 0x1906, 0x1907, 0x2407, 0x3207, 0x4607,
24094 u16 tbl_tx_iqlo_cal_iqimb_ladder_20[] = {
24095 0x0200, 0x0300, 0x0600, 0x0900, 0x0d00, 0x1100, 0x1900, 0x2400,
24097 0x4600, 0x6400, 0x6401, 0x6402, 0x6403, 0x6404, 0x6405, 0x6406,
24101 u16 tbl_tx_iqlo_cal_loft_ladder_40[] = {
24102 0x0200, 0x0300, 0x0400, 0x0700, 0x0900, 0x0c00, 0x1200, 0x1201,
24104 0x1203, 0x1204, 0x1205, 0x1206, 0x1207, 0x1907, 0x2307, 0x3207,
24108 u16 tbl_tx_iqlo_cal_iqimb_ladder_40[] = {
24109 0x0100, 0x0200, 0x0400, 0x0700, 0x0900, 0x0c00, 0x1200, 0x1900,
24111 0x3200, 0x4700, 0x4701, 0x4702, 0x4703, 0x4704, 0x4705, 0x4706,
24115 u16 tbl_tx_iqlo_cal_startcoefs[] = {
24116 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
24120 u16 tbl_tx_iqlo_cal_cmds_fullcal[] = {
24121 0x8123, 0x8264, 0x8086, 0x8245, 0x8056,
24122 0x9123, 0x9264, 0x9086, 0x9245, 0x9056
24125 u16 tbl_tx_iqlo_cal_cmds_recal[] = {
24126 0x8101, 0x8253, 0x8053, 0x8234, 0x8034,
24127 0x9101, 0x9253, 0x9053, 0x9234, 0x9034
24130 u16 tbl_tx_iqlo_cal_startcoefs_nphyrev3[] = {
24131 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
24132 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
24136 u16 tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3[] = {
24137 0x8434, 0x8334, 0x8084, 0x8267, 0x8056, 0x8234,
24138 0x9434, 0x9334, 0x9084, 0x9267, 0x9056, 0x9234
24141 u16 tbl_tx_iqlo_cal_cmds_recal_nphyrev3[] = {
24142 0x8423, 0x8323, 0x8073, 0x8256, 0x8045, 0x8223,
24143 0x9423, 0x9323, 0x9073, 0x9256, 0x9045, 0x9223
24146 wlc_phy_stay_in_carriersearch_nphy(pi, true);
24148 if (NREV_GE(pi->pubpi.phy_rev, 4)) {
24149 phyhang_avoid_state = pi->phyhang_avoid;
24150 pi->phyhang_avoid = false;
24153 if (CHSPEC_IS40(pi->radio_chanspec)) {
24159 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, gain_save);
24161 for (core_no = 0; core_no <= 1; core_no++) {
24162 wlc_phy_iqcal_gainparams_nphy(pi, core_no, target_gain,
24163 &cal_params[core_no]);
24164 cal_gain[core_no] = cal_params[core_no].cal_gain;
24167 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, cal_gain);
24169 wlc_phy_txcal_radio_setup_nphy(pi);
24171 wlc_phy_txcal_physetup_nphy(pi);
24173 ladder_updated[0] = ladder_updated[1] = false;
24174 if (!(NREV_GE(pi->pubpi.phy_rev, 6) ||
24175 (NREV_IS(pi->pubpi.phy_rev, 5) && PHY_IPA(pi)
24176 && (CHSPEC_IS2G(pi->radio_chanspec))))) {
24178 if (phy_bw == 40) {
24179 tbl_ptr = tbl_tx_iqlo_cal_loft_ladder_40;
24180 tbl_len = ARRAY_SIZE(tbl_tx_iqlo_cal_loft_ladder_40);
24182 tbl_ptr = tbl_tx_iqlo_cal_loft_ladder_20;
24183 tbl_len = ARRAY_SIZE(tbl_tx_iqlo_cal_loft_ladder_20);
24185 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, tbl_len, 0,
24188 if (phy_bw == 40) {
24189 tbl_ptr = tbl_tx_iqlo_cal_iqimb_ladder_40;
24190 tbl_len = ARRAY_SIZE(tbl_tx_iqlo_cal_iqimb_ladder_40);
24192 tbl_ptr = tbl_tx_iqlo_cal_iqimb_ladder_20;
24193 tbl_len = ARRAY_SIZE(tbl_tx_iqlo_cal_iqimb_ladder_20);
24195 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, tbl_len, 32,
24199 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
24200 write_phy_reg(pi, 0xc2, 0x8ad9);
24202 write_phy_reg(pi, 0xc2, 0x8aa9);
24206 tone_freq = (phy_bw == 20) ? 2500 : 5000;
24208 if (pi->mphase_cal_phase_id > MPHASE_CAL_STATE_TXPHASE0) {
24209 wlc_phy_runsamples_nphy(pi, phy_bw * 8, 0xffff, 0, 1, 0, false);
24213 wlc_phy_tx_tone_nphy(pi, tone_freq, max_val, 1, 0, false);
24216 if (bcmerror == 0) {
24218 if (pi->mphase_cal_phase_id > MPHASE_CAL_STATE_TXPHASE0) {
24219 tbl_ptr = pi->mphase_txcal_bestcoeffs;
24220 tbl_len = ARRAY_SIZE(pi->mphase_txcal_bestcoeffs);
24221 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
24226 if ((!fullcal) && (pi->nphy_txiqlocal_coeffsvalid)) {
24228 tbl_ptr = pi->nphy_txiqlocal_bestc;
24229 tbl_len = ARRAY_SIZE(pi->nphy_txiqlocal_bestc);
24230 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
24238 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
24240 tbl_tx_iqlo_cal_startcoefs_nphyrev3;
24243 (tbl_tx_iqlo_cal_startcoefs_nphyrev3);
24245 tbl_ptr = tbl_tx_iqlo_cal_startcoefs;
24248 (tbl_tx_iqlo_cal_startcoefs);
24252 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, tbl_len, 64,
24256 max_cal_cmds = (NREV_GE(pi->pubpi.phy_rev, 3)) ?
24257 ARRAY_SIZE(tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3) :
24258 ARRAY_SIZE(tbl_tx_iqlo_cal_cmds_fullcal);
24260 max_cal_cmds = (NREV_GE(pi->pubpi.phy_rev, 3)) ?
24261 ARRAY_SIZE(tbl_tx_iqlo_cal_cmds_recal_nphyrev3) :
24262 ARRAY_SIZE(tbl_tx_iqlo_cal_cmds_recal);
24266 cal_cnt = pi->mphase_txcal_cmdidx;
24267 if ((cal_cnt + pi->mphase_txcal_numcmds) < max_cal_cmds) {
24268 num_cals = cal_cnt + pi->mphase_txcal_numcmds;
24270 num_cals = max_cal_cmds;
24274 num_cals = max_cal_cmds;
24277 for (; cal_cnt < num_cals; cal_cnt++) {
24280 cal_cmd = (NREV_GE(pi->pubpi.phy_rev, 3)) ?
24281 tbl_tx_iqlo_cal_cmds_fullcal_nphyrev3
24283 tbl_tx_iqlo_cal_cmds_fullcal[cal_cnt];
24285 cal_cmd = (NREV_GE(pi->pubpi.phy_rev, 3)) ?
24286 tbl_tx_iqlo_cal_cmds_recal_nphyrev3[cal_cnt]
24287 : tbl_tx_iqlo_cal_cmds_recal[cal_cnt];
24290 core_no = ((cal_cmd & 0x3000) >> 12);
24291 cal_type = ((cal_cmd & 0x0F00) >> 8);
24293 if (NREV_GE(pi->pubpi.phy_rev, 6) ||
24294 (NREV_IS(pi->pubpi.phy_rev, 5) &&
24296 && (CHSPEC_IS2G(pi->radio_chanspec)))) {
24297 if (!ladder_updated[core_no]) {
24298 wlc_phy_update_txcal_ladder_nphy(pi,
24300 ladder_updated[core_no] = true;
24305 (cal_params[core_no].
24306 ncorr[cal_type] << 8) | NPHY_N_GCTL;
24307 write_phy_reg(pi, 0xc1, val);
24309 if ((cal_type == 1) || (cal_type == 3)
24310 || (cal_type == 4)) {
24312 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24313 1, 69 + core_no, 16,
24316 diq_start = tbl_buf[0];
24319 wlc_phy_table_write_nphy(pi,
24320 NPHY_TBL_ID_IQLOCAL, 1,
24325 write_phy_reg(pi, 0xc0, cal_cmd);
24327 SPINWAIT(((read_phy_reg(pi, 0xc0) & 0xc000) != 0),
24329 if (WARN(read_phy_reg(pi, 0xc0) & 0xc000,
24330 "HW error: txiq calib"))
24333 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24334 tbl_len, 96, 16, tbl_buf);
24335 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24336 tbl_len, 64, 16, tbl_buf);
24338 if ((cal_type == 1) || (cal_type == 3)
24339 || (cal_type == 4)) {
24341 tbl_buf[0] = diq_start;
24348 pi->mphase_txcal_cmdidx = num_cals;
24349 if (pi->mphase_txcal_cmdidx >= max_cal_cmds)
24350 pi->mphase_txcal_cmdidx = 0;
24353 mphase_cal_lastphase =
24354 (NREV_LE(pi->pubpi.phy_rev, 2)) ?
24355 MPHASE_CAL_STATE_TXPHASE4 : MPHASE_CAL_STATE_TXPHASE5;
24358 || (pi->mphase_cal_phase_id == mphase_cal_lastphase)) {
24360 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 96,
24362 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 80,
24365 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
24373 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 88,
24376 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 101,
24378 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 85,
24381 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 93,
24384 tbl_len = ARRAY_SIZE(pi->nphy_txiqlocal_bestc);
24385 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
24389 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24391 pi->nphy_txiqlocal_bestc);
24393 pi->nphy_txiqlocal_coeffsvalid = true;
24394 pi->nphy_txiqlocal_chanspec = pi->radio_chanspec;
24396 tbl_len = ARRAY_SIZE(pi->mphase_txcal_bestcoeffs);
24397 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
24401 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24403 pi->mphase_txcal_bestcoeffs);
24406 wlc_phy_stopplayback_nphy(pi);
24408 write_phy_reg(pi, 0xc2, 0x0000);
24412 wlc_phy_txcal_phycleanup_nphy(pi);
24414 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
24417 wlc_phy_txcal_radio_cleanup_nphy(pi);
24419 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
24421 || (pi->mphase_cal_phase_id == mphase_cal_lastphase))
24422 wlc_phy_tx_iq_war_nphy(pi);
24425 if (NREV_GE(pi->pubpi.phy_rev, 4)) {
24426 pi->phyhang_avoid = phyhang_avoid_state;
24429 wlc_phy_stay_in_carriersearch_nphy(pi, false);
24434 static void wlc_phy_reapply_txcal_coeffs_nphy(phy_info_t *pi)
24438 if ((pi->nphy_txiqlocal_chanspec == pi->radio_chanspec) &&
24439 (pi->nphy_txiqlocal_coeffsvalid)) {
24440 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_IQLOCAL,
24441 ARRAY_SIZE(tbl_buf), 80, 16, tbl_buf);
24443 if ((pi->nphy_txiqlocal_bestc[0] != tbl_buf[0]) ||
24444 (pi->nphy_txiqlocal_bestc[1] != tbl_buf[1]) ||
24445 (pi->nphy_txiqlocal_bestc[2] != tbl_buf[2]) ||
24446 (pi->nphy_txiqlocal_bestc[3] != tbl_buf[3])) {
24448 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 80,
24449 16, pi->nphy_txiqlocal_bestc);
24455 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 4, 88,
24458 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 85,
24460 &pi->nphy_txiqlocal_bestc[5]);
24462 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_IQLOCAL, 2, 93,
24464 &pi->nphy_txiqlocal_bestc[5]);
24469 static void wlc_phy_tx_iq_war_nphy(phy_info_t *pi)
24471 nphy_iq_comp_t tx_comp;
24473 wlc_phy_table_read_nphy(pi, 15, 4, 0x50, 16, (void *)&tx_comp);
24475 wlapi_bmac_write_shm(pi->sh->physhim, M_20IN40_IQ, tx_comp.a0);
24476 wlapi_bmac_write_shm(pi->sh->physhim, M_20IN40_IQ + 2, tx_comp.b0);
24477 wlapi_bmac_write_shm(pi->sh->physhim, M_20IN40_IQ + 4, tx_comp.a1);
24478 wlapi_bmac_write_shm(pi->sh->physhim, M_20IN40_IQ + 6, tx_comp.b1);
24482 wlc_phy_rx_iq_coeffs_nphy(phy_info_t *pi, u8 write, nphy_iq_comp_t *pcomp)
24485 write_phy_reg(pi, 0x9a, pcomp->a0);
24486 write_phy_reg(pi, 0x9b, pcomp->b0);
24487 write_phy_reg(pi, 0x9c, pcomp->a1);
24488 write_phy_reg(pi, 0x9d, pcomp->b1);
24490 pcomp->a0 = read_phy_reg(pi, 0x9a);
24491 pcomp->b0 = read_phy_reg(pi, 0x9b);
24492 pcomp->a1 = read_phy_reg(pi, 0x9c);
24493 pcomp->b1 = read_phy_reg(pi, 0x9d);
24498 wlc_phy_rx_iq_est_nphy(phy_info_t *pi, phy_iq_est_t *est, u16 num_samps,
24499 u8 wait_time, u8 wait_for_crs)
24503 write_phy_reg(pi, 0x12b, num_samps);
24504 mod_phy_reg(pi, 0x12a, (0xff << 0), (wait_time << 0));
24505 mod_phy_reg(pi, 0x129, NPHY_IqestCmd_iqMode,
24506 (wait_for_crs) ? NPHY_IqestCmd_iqMode : 0);
24508 mod_phy_reg(pi, 0x129, NPHY_IqestCmd_iqstart, NPHY_IqestCmd_iqstart);
24510 SPINWAIT(((read_phy_reg(pi, 0x129) & NPHY_IqestCmd_iqstart) != 0),
24512 if (WARN(read_phy_reg(pi, 0x129) & NPHY_IqestCmd_iqstart,
24513 "HW error: rxiq est"))
24516 if ((read_phy_reg(pi, 0x129) & NPHY_IqestCmd_iqstart) == 0) {
24517 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
24519 (read_phy_reg(pi, NPHY_IqestipwrAccHi(core)) << 16)
24520 | read_phy_reg(pi, NPHY_IqestipwrAccLo(core));
24522 (read_phy_reg(pi, NPHY_IqestqpwrAccHi(core)) << 16)
24523 | read_phy_reg(pi, NPHY_IqestqpwrAccLo(core));
24524 est[core].iq_prod =
24525 (read_phy_reg(pi, NPHY_IqestIqAccHi(core)) << 16) |
24526 read_phy_reg(pi, NPHY_IqestIqAccLo(core));
24531 #define CAL_RETRY_CNT 2
24532 static void wlc_phy_calc_rx_iq_comp_nphy(phy_info_t *pi, u8 core_mask)
24535 phy_iq_est_t est[PHY_CORE_MAX];
24536 nphy_iq_comp_t old_comp, new_comp;
24538 u32 ii = 0, qq = 0;
24539 s16 iq_nbits, qq_nbits, brsh, arsh;
24542 uint cal_retry = 0;
24544 if (core_mask == 0x0)
24547 wlc_phy_rx_iq_coeffs_nphy(pi, 0, &old_comp);
24548 new_comp.a0 = new_comp.b0 = new_comp.a1 = new_comp.b1 = 0x0;
24549 wlc_phy_rx_iq_coeffs_nphy(pi, 1, &new_comp);
24552 wlc_phy_rx_iq_est_nphy(pi, est, 0x4000, 32, 0);
24554 new_comp = old_comp;
24556 for (curr_core = 0; curr_core < pi->pubpi.phy_corenum; curr_core++) {
24558 if ((curr_core == PHY_CORE_0) && (core_mask & 0x1)) {
24559 iq = est[curr_core].iq_prod;
24560 ii = est[curr_core].i_pwr;
24561 qq = est[curr_core].q_pwr;
24562 } else if ((curr_core == PHY_CORE_1) && (core_mask & 0x2)) {
24563 iq = est[curr_core].iq_prod;
24564 ii = est[curr_core].i_pwr;
24565 qq = est[curr_core].q_pwr;
24570 if ((ii + qq) < NPHY_MIN_RXIQ_PWR) {
24575 iq_nbits = wlc_phy_nbits(iq);
24576 qq_nbits = wlc_phy_nbits(qq);
24578 arsh = 10 - (30 - iq_nbits);
24580 a = (-(iq << (30 - iq_nbits)) + (ii >> (1 + arsh)));
24581 temp = (s32) (ii >> arsh);
24587 a = (-(iq << (30 - iq_nbits)) + (ii << (-1 - arsh)));
24588 temp = (s32) (ii << -arsh);
24597 brsh = qq_nbits - 31 + 20;
24599 b = (qq << (31 - qq_nbits));
24600 temp = (s32) (ii >> brsh);
24606 b = (qq << (31 - qq_nbits));
24607 temp = (s32) (ii << -brsh);
24615 b = (s32) int_sqrt((unsigned long) b);
24618 if ((curr_core == PHY_CORE_0) && (core_mask & 0x1)) {
24619 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
24620 new_comp.a0 = (s16) a & 0x3ff;
24621 new_comp.b0 = (s16) b & 0x3ff;
24624 new_comp.a0 = (s16) b & 0x3ff;
24625 new_comp.b0 = (s16) a & 0x3ff;
24628 if ((curr_core == PHY_CORE_1) && (core_mask & 0x2)) {
24629 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
24630 new_comp.a1 = (s16) a & 0x3ff;
24631 new_comp.b1 = (s16) b & 0x3ff;
24634 new_comp.a1 = (s16) b & 0x3ff;
24635 new_comp.b1 = (s16) a & 0x3ff;
24640 if (bcmerror != 0) {
24641 printk("%s: Failed, cnt = %d\n", __func__, cal_retry);
24643 if (cal_retry < CAL_RETRY_CNT) {
24648 new_comp = old_comp;
24649 } else if (cal_retry > 0) {
24652 wlc_phy_rx_iq_coeffs_nphy(pi, 1, &new_comp);
24655 static void wlc_phy_rxcal_radio_setup_nphy(phy_info_t *pi, u8 rx_core)
24661 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
24662 if (rx_core == PHY_CORE_0) {
24663 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24664 pi->tx_rx_cal_radio_saveregs[0] =
24666 RADIO_2057_TX0_TXRXCOUPLE_5G_PWRUP);
24667 pi->tx_rx_cal_radio_saveregs[1] =
24669 RADIO_2057_TX0_TXRXCOUPLE_5G_ATTEN);
24671 write_radio_reg(pi,
24672 RADIO_2057_TX0_TXRXCOUPLE_5G_PWRUP,
24674 write_radio_reg(pi,
24675 RADIO_2057_TX0_TXRXCOUPLE_5G_ATTEN,
24679 pi->tx_rx_cal_radio_saveregs[0] =
24681 RADIO_2057_TX0_TXRXCOUPLE_2G_PWRUP);
24682 pi->tx_rx_cal_radio_saveregs[1] =
24684 RADIO_2057_TX0_TXRXCOUPLE_2G_ATTEN);
24686 write_radio_reg(pi,
24687 RADIO_2057_TX0_TXRXCOUPLE_2G_PWRUP,
24689 write_radio_reg(pi,
24690 RADIO_2057_TX0_TXRXCOUPLE_2G_ATTEN,
24695 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24696 pi->tx_rx_cal_radio_saveregs[0] =
24698 RADIO_2057_TX1_TXRXCOUPLE_5G_PWRUP);
24699 pi->tx_rx_cal_radio_saveregs[1] =
24701 RADIO_2057_TX1_TXRXCOUPLE_5G_ATTEN);
24703 write_radio_reg(pi,
24704 RADIO_2057_TX1_TXRXCOUPLE_5G_PWRUP,
24706 write_radio_reg(pi,
24707 RADIO_2057_TX1_TXRXCOUPLE_5G_ATTEN,
24711 pi->tx_rx_cal_radio_saveregs[0] =
24713 RADIO_2057_TX1_TXRXCOUPLE_2G_PWRUP);
24714 pi->tx_rx_cal_radio_saveregs[1] =
24716 RADIO_2057_TX1_TXRXCOUPLE_2G_ATTEN);
24718 write_radio_reg(pi,
24719 RADIO_2057_TX1_TXRXCOUPLE_2G_PWRUP,
24721 write_radio_reg(pi,
24722 RADIO_2057_TX1_TXRXCOUPLE_2G_ATTEN,
24728 if (rx_core == PHY_CORE_0) {
24729 pi->tx_rx_cal_radio_saveregs[0] =
24731 RADIO_2056_TX_RXIQCAL_TXMUX |
24733 pi->tx_rx_cal_radio_saveregs[1] =
24735 RADIO_2056_RX_RXIQCAL_RXMUX |
24738 if (pi->pubpi.radiorev >= 5) {
24739 pi->tx_rx_cal_radio_saveregs[2] =
24741 RADIO_2056_RX_RXSPARE2 |
24743 pi->tx_rx_cal_radio_saveregs[3] =
24745 RADIO_2056_TX_TXSPARE2 |
24749 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24751 if (pi->pubpi.radiorev >= 5) {
24752 pi->tx_rx_cal_radio_saveregs[4] =
24754 RADIO_2056_RX_LNAA_MASTER
24757 write_radio_reg(pi,
24758 RADIO_2056_RX_LNAA_MASTER
24759 | RADIO_2056_RX0, 0x40);
24761 write_radio_reg(pi,
24762 RADIO_2056_TX_TXSPARE2 |
24763 RADIO_2056_TX1, bias_a);
24765 write_radio_reg(pi,
24766 RADIO_2056_RX_RXSPARE2 |
24767 RADIO_2056_RX0, bias_a);
24769 pi->tx_rx_cal_radio_saveregs[4] =
24771 RADIO_2056_RX_LNAA_TUNE
24776 tx_rx_cal_radio_saveregs[2] & 0xF0)
24779 (offtune_val <= 0x7) ? 0xF : 0;
24782 RADIO_2056_RX_LNAA_TUNE |
24783 RADIO_2056_RX0, 0xF0,
24784 (offtune_val << 8));
24787 write_radio_reg(pi,
24788 RADIO_2056_TX_RXIQCAL_TXMUX |
24789 RADIO_2056_TX1, 0x9);
24790 write_radio_reg(pi,
24791 RADIO_2056_RX_RXIQCAL_RXMUX |
24792 RADIO_2056_RX0, 0x9);
24794 if (pi->pubpi.radiorev >= 5) {
24795 pi->tx_rx_cal_radio_saveregs[4] =
24797 RADIO_2056_RX_LNAG_MASTER
24800 write_radio_reg(pi,
24801 RADIO_2056_RX_LNAG_MASTER
24802 | RADIO_2056_RX0, 0x40);
24804 write_radio_reg(pi,
24805 RADIO_2056_TX_TXSPARE2 |
24806 RADIO_2056_TX1, bias_g);
24808 write_radio_reg(pi,
24809 RADIO_2056_RX_RXSPARE2 |
24810 RADIO_2056_RX0, bias_g);
24813 pi->tx_rx_cal_radio_saveregs[4] =
24815 RADIO_2056_RX_LNAG_TUNE
24820 tx_rx_cal_radio_saveregs[2] & 0xF0)
24823 (offtune_val <= 0x7) ? 0xF : 0;
24826 RADIO_2056_RX_LNAG_TUNE |
24827 RADIO_2056_RX0, 0xF0,
24828 (offtune_val << 8));
24831 write_radio_reg(pi,
24832 RADIO_2056_TX_RXIQCAL_TXMUX |
24833 RADIO_2056_TX1, 0x6);
24834 write_radio_reg(pi,
24835 RADIO_2056_RX_RXIQCAL_RXMUX |
24836 RADIO_2056_RX0, 0x6);
24840 pi->tx_rx_cal_radio_saveregs[0] =
24842 RADIO_2056_TX_RXIQCAL_TXMUX |
24844 pi->tx_rx_cal_radio_saveregs[1] =
24846 RADIO_2056_RX_RXIQCAL_RXMUX |
24849 if (pi->pubpi.radiorev >= 5) {
24850 pi->tx_rx_cal_radio_saveregs[2] =
24852 RADIO_2056_RX_RXSPARE2 |
24854 pi->tx_rx_cal_radio_saveregs[3] =
24856 RADIO_2056_TX_TXSPARE2 |
24860 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24862 if (pi->pubpi.radiorev >= 5) {
24863 pi->tx_rx_cal_radio_saveregs[4] =
24865 RADIO_2056_RX_LNAA_MASTER
24868 write_radio_reg(pi,
24869 RADIO_2056_RX_LNAA_MASTER
24870 | RADIO_2056_RX1, 0x40);
24872 write_radio_reg(pi,
24873 RADIO_2056_TX_TXSPARE2 |
24874 RADIO_2056_TX0, bias_a);
24876 write_radio_reg(pi,
24877 RADIO_2056_RX_RXSPARE2 |
24878 RADIO_2056_RX1, bias_a);
24880 pi->tx_rx_cal_radio_saveregs[4] =
24882 RADIO_2056_RX_LNAA_TUNE
24887 tx_rx_cal_radio_saveregs[2] & 0xF0)
24890 (offtune_val <= 0x7) ? 0xF : 0;
24893 RADIO_2056_RX_LNAA_TUNE |
24894 RADIO_2056_RX1, 0xF0,
24895 (offtune_val << 8));
24898 write_radio_reg(pi,
24899 RADIO_2056_TX_RXIQCAL_TXMUX |
24900 RADIO_2056_TX0, 0x9);
24901 write_radio_reg(pi,
24902 RADIO_2056_RX_RXIQCAL_RXMUX |
24903 RADIO_2056_RX1, 0x9);
24905 if (pi->pubpi.radiorev >= 5) {
24906 pi->tx_rx_cal_radio_saveregs[4] =
24908 RADIO_2056_RX_LNAG_MASTER
24911 write_radio_reg(pi,
24912 RADIO_2056_RX_LNAG_MASTER
24913 | RADIO_2056_RX1, 0x40);
24915 write_radio_reg(pi,
24916 RADIO_2056_TX_TXSPARE2 |
24917 RADIO_2056_TX0, bias_g);
24919 write_radio_reg(pi,
24920 RADIO_2056_RX_RXSPARE2 |
24921 RADIO_2056_RX1, bias_g);
24923 pi->tx_rx_cal_radio_saveregs[4] =
24925 RADIO_2056_RX_LNAG_TUNE
24930 tx_rx_cal_radio_saveregs[2] & 0xF0)
24933 (offtune_val <= 0x7) ? 0xF : 0;
24936 RADIO_2056_RX_LNAG_TUNE |
24937 RADIO_2056_RX1, 0xF0,
24938 (offtune_val << 8));
24941 write_radio_reg(pi,
24942 RADIO_2056_TX_RXIQCAL_TXMUX |
24943 RADIO_2056_TX0, 0x6);
24944 write_radio_reg(pi,
24945 RADIO_2056_RX_RXIQCAL_RXMUX |
24946 RADIO_2056_RX1, 0x6);
24952 static void wlc_phy_rxcal_radio_cleanup_nphy(phy_info_t *pi, u8 rx_core)
24954 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
24955 if (rx_core == PHY_CORE_0) {
24956 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24957 write_radio_reg(pi,
24958 RADIO_2057_TX0_TXRXCOUPLE_5G_PWRUP,
24960 tx_rx_cal_radio_saveregs[0]);
24961 write_radio_reg(pi,
24962 RADIO_2057_TX0_TXRXCOUPLE_5G_ATTEN,
24964 tx_rx_cal_radio_saveregs[1]);
24967 write_radio_reg(pi,
24968 RADIO_2057_TX0_TXRXCOUPLE_2G_PWRUP,
24970 tx_rx_cal_radio_saveregs[0]);
24971 write_radio_reg(pi,
24972 RADIO_2057_TX0_TXRXCOUPLE_2G_ATTEN,
24974 tx_rx_cal_radio_saveregs[1]);
24978 if (CHSPEC_IS5G(pi->radio_chanspec)) {
24979 write_radio_reg(pi,
24980 RADIO_2057_TX1_TXRXCOUPLE_5G_PWRUP,
24982 tx_rx_cal_radio_saveregs[0]);
24983 write_radio_reg(pi,
24984 RADIO_2057_TX1_TXRXCOUPLE_5G_ATTEN,
24986 tx_rx_cal_radio_saveregs[1]);
24989 write_radio_reg(pi,
24990 RADIO_2057_TX1_TXRXCOUPLE_2G_PWRUP,
24992 tx_rx_cal_radio_saveregs[0]);
24993 write_radio_reg(pi,
24994 RADIO_2057_TX1_TXRXCOUPLE_2G_ATTEN,
24996 tx_rx_cal_radio_saveregs[1]);
25001 if (rx_core == PHY_CORE_0) {
25002 write_radio_reg(pi,
25003 RADIO_2056_TX_RXIQCAL_TXMUX |
25005 pi->tx_rx_cal_radio_saveregs[0]);
25007 write_radio_reg(pi,
25008 RADIO_2056_RX_RXIQCAL_RXMUX |
25010 pi->tx_rx_cal_radio_saveregs[1]);
25012 if (pi->pubpi.radiorev >= 5) {
25013 write_radio_reg(pi,
25014 RADIO_2056_RX_RXSPARE2 |
25017 tx_rx_cal_radio_saveregs[2]);
25019 write_radio_reg(pi,
25020 RADIO_2056_TX_TXSPARE2 |
25023 tx_rx_cal_radio_saveregs[3]);
25026 if (CHSPEC_IS5G(pi->radio_chanspec)) {
25027 if (pi->pubpi.radiorev >= 5) {
25028 write_radio_reg(pi,
25029 RADIO_2056_RX_LNAA_MASTER
25032 tx_rx_cal_radio_saveregs
25035 write_radio_reg(pi,
25036 RADIO_2056_RX_LNAA_TUNE
25039 tx_rx_cal_radio_saveregs
25043 if (pi->pubpi.radiorev >= 5) {
25044 write_radio_reg(pi,
25045 RADIO_2056_RX_LNAG_MASTER
25048 tx_rx_cal_radio_saveregs
25051 write_radio_reg(pi,
25052 RADIO_2056_RX_LNAG_TUNE
25055 tx_rx_cal_radio_saveregs
25061 write_radio_reg(pi,
25062 RADIO_2056_TX_RXIQCAL_TXMUX |
25064 pi->tx_rx_cal_radio_saveregs[0]);
25066 write_radio_reg(pi,
25067 RADIO_2056_RX_RXIQCAL_RXMUX |
25069 pi->tx_rx_cal_radio_saveregs[1]);
25071 if (pi->pubpi.radiorev >= 5) {
25072 write_radio_reg(pi,
25073 RADIO_2056_RX_RXSPARE2 |
25076 tx_rx_cal_radio_saveregs[2]);
25078 write_radio_reg(pi,
25079 RADIO_2056_TX_TXSPARE2 |
25082 tx_rx_cal_radio_saveregs[3]);
25085 if (CHSPEC_IS5G(pi->radio_chanspec)) {
25086 if (pi->pubpi.radiorev >= 5) {
25087 write_radio_reg(pi,
25088 RADIO_2056_RX_LNAA_MASTER
25091 tx_rx_cal_radio_saveregs
25094 write_radio_reg(pi,
25095 RADIO_2056_RX_LNAA_TUNE
25098 tx_rx_cal_radio_saveregs
25102 if (pi->pubpi.radiorev >= 5) {
25103 write_radio_reg(pi,
25104 RADIO_2056_RX_LNAG_MASTER
25107 tx_rx_cal_radio_saveregs
25110 write_radio_reg(pi,
25111 RADIO_2056_RX_LNAG_TUNE
25114 tx_rx_cal_radio_saveregs
25122 static void wlc_phy_rxcal_physetup_nphy(phy_info_t *pi, u8 rx_core)
25125 u16 rx_antval, tx_antval;
25127 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25131 tx_core = (rx_core == PHY_CORE_0) ? 1 : 0;
25134 pi->tx_rx_cal_phy_saveregs[0] = read_phy_reg(pi, 0xa2);
25135 pi->tx_rx_cal_phy_saveregs[1] =
25136 read_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0xa6 : 0xa7);
25137 pi->tx_rx_cal_phy_saveregs[2] =
25138 read_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0x8f : 0xa5);
25139 pi->tx_rx_cal_phy_saveregs[3] = read_phy_reg(pi, 0x91);
25140 pi->tx_rx_cal_phy_saveregs[4] = read_phy_reg(pi, 0x92);
25141 pi->tx_rx_cal_phy_saveregs[5] = read_phy_reg(pi, 0x7a);
25142 pi->tx_rx_cal_phy_saveregs[6] = read_phy_reg(pi, 0x7d);
25143 pi->tx_rx_cal_phy_saveregs[7] = read_phy_reg(pi, 0xe7);
25144 pi->tx_rx_cal_phy_saveregs[8] = read_phy_reg(pi, 0xec);
25145 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25146 pi->tx_rx_cal_phy_saveregs[11] = read_phy_reg(pi, 0x342);
25147 pi->tx_rx_cal_phy_saveregs[12] = read_phy_reg(pi, 0x343);
25148 pi->tx_rx_cal_phy_saveregs[13] = read_phy_reg(pi, 0x346);
25149 pi->tx_rx_cal_phy_saveregs[14] = read_phy_reg(pi, 0x347);
25152 pi->tx_rx_cal_phy_saveregs[9] = read_phy_reg(pi, 0x297);
25153 pi->tx_rx_cal_phy_saveregs[10] = read_phy_reg(pi, 0x29b);
25154 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x297 :
25155 0x29b, (0x1 << 0), (0) << 0);
25157 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x297 :
25158 0x29b, (0x1 << 0), (0) << 0);
25160 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25162 mod_phy_reg(pi, 0xa2, (0xf << 0), (1 << tx_core) << 0);
25164 mod_phy_reg(pi, 0xa2, (0xf << 12), (1 << (1 - rx_core)) << 12);
25168 mod_phy_reg(pi, 0xa2, (0xf << 12), (1 << tx_core) << 12);
25169 mod_phy_reg(pi, 0xa2, (0xf << 0), (1 << tx_core) << 0);
25170 mod_phy_reg(pi, 0xa2, (0xf << 4), (1 << rx_core) << 4);
25171 mod_phy_reg(pi, 0xa2, (0xf << 8), (1 << rx_core) << 8);
25174 mod_phy_reg(pi, ((rx_core == PHY_CORE_0) ? 0xa6 : 0xa7), (0x1 << 2), 0);
25175 mod_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0x8f : 0xa5,
25176 (0x1 << 2), (0x1 << 2));
25177 if (NREV_LT(pi->pubpi.phy_rev, 7)) {
25178 mod_phy_reg(pi, ((rx_core == PHY_CORE_0) ? 0xa6 : 0xa7),
25179 (0x1 << 0) | (0x1 << 1), 0);
25180 mod_phy_reg(pi, (rx_core == PHY_CORE_0) ?
25182 (0x1 << 0) | (0x1 << 1), (0x1 << 0) | (0x1 << 1));
25185 wlc_phy_rfctrlintc_override_nphy(pi, NPHY_RfctrlIntc_override_PA, 0,
25186 RADIO_MIMO_CORESEL_CORE1 |
25187 RADIO_MIMO_CORESEL_CORE2);
25189 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25190 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
25192 NPHY_REV7_RFCTRLOVERRIDE_ID0);
25193 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 9), 0, 0, 0,
25194 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25195 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 10), 1, 0, 0,
25196 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25197 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), 1, 0, 0,
25198 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25199 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), 1, 0, 0,
25200 NPHY_REV7_RFCTRLOVERRIDE_ID2);
25201 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 0, 0, 0,
25202 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25203 if (CHSPEC_IS40(pi->radio_chanspec)) {
25204 wlc_phy_rfctrl_override_nphy_rev7(pi,
25207 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25209 wlc_phy_rfctrl_override_nphy_rev7(pi,
25212 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25214 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7),
25216 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25217 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5), 0, 0, 0,
25218 NPHY_REV7_RFCTRLOVERRIDE_ID1);
25220 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 0, 3, 0);
25223 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RX2TX);
25225 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25227 wlc_phy_rfctrlintc_override_nphy(pi,
25228 NPHY_RfctrlIntc_override_TRSW,
25232 if (rx_core == PHY_CORE_0) {
25240 wlc_phy_rfctrlintc_override_nphy(pi,
25241 NPHY_RfctrlIntc_override_TRSW,
25242 rx_antval, rx_core + 1);
25243 wlc_phy_rfctrlintc_override_nphy(pi,
25244 NPHY_RfctrlIntc_override_TRSW,
25245 tx_antval, tx_core + 1);
25249 static void wlc_phy_rxcal_phycleanup_nphy(phy_info_t *pi, u8 rx_core)
25252 write_phy_reg(pi, 0xa2, pi->tx_rx_cal_phy_saveregs[0]);
25253 write_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0xa6 : 0xa7,
25254 pi->tx_rx_cal_phy_saveregs[1]);
25255 write_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0x8f : 0xa5,
25256 pi->tx_rx_cal_phy_saveregs[2]);
25257 write_phy_reg(pi, 0x91, pi->tx_rx_cal_phy_saveregs[3]);
25258 write_phy_reg(pi, 0x92, pi->tx_rx_cal_phy_saveregs[4]);
25260 write_phy_reg(pi, 0x7a, pi->tx_rx_cal_phy_saveregs[5]);
25261 write_phy_reg(pi, 0x7d, pi->tx_rx_cal_phy_saveregs[6]);
25262 write_phy_reg(pi, 0xe7, pi->tx_rx_cal_phy_saveregs[7]);
25263 write_phy_reg(pi, 0xec, pi->tx_rx_cal_phy_saveregs[8]);
25264 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25265 write_phy_reg(pi, 0x342, pi->tx_rx_cal_phy_saveregs[11]);
25266 write_phy_reg(pi, 0x343, pi->tx_rx_cal_phy_saveregs[12]);
25267 write_phy_reg(pi, 0x346, pi->tx_rx_cal_phy_saveregs[13]);
25268 write_phy_reg(pi, 0x347, pi->tx_rx_cal_phy_saveregs[14]);
25271 write_phy_reg(pi, 0x297, pi->tx_rx_cal_phy_saveregs[9]);
25272 write_phy_reg(pi, 0x29b, pi->tx_rx_cal_phy_saveregs[10]);
25276 wlc_phy_rxcal_gainctrl_nphy_rev5(phy_info_t *pi, u8 rx_core,
25277 u16 *rxgain, u8 cal_type)
25281 phy_iq_est_t est[PHY_CORE_MAX];
25283 nphy_iq_comp_t save_comp, zero_comp;
25284 u32 i_pwr, q_pwr, curr_pwr, optim_pwr = 0, prev_pwr = 0, thresh_pwr =
25286 s16 desired_log2_pwr, actual_log2_pwr, delta_pwr;
25287 bool gainctrl_done = false;
25288 u8 mix_tia_gain = 3;
25289 s8 optim_gaintbl_index = 0, prev_gaintbl_index = 0;
25290 s8 curr_gaintbl_index = 3;
25291 u8 gainctrl_dirn = NPHY_RXCAL_GAIN_INIT;
25292 nphy_ipa_txrxgain_t *nphy_rxcal_gaintbl;
25293 u16 hpvga, lpf_biq1, lpf_biq0, lna2, lna1;
25296 u16 nphy_rxcal_txgain[2];
25298 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25302 tx_core = 1 - rx_core;
25306 desired_log2_pwr = (cal_type == 0) ? 13 : 13;
25308 wlc_phy_rx_iq_coeffs_nphy(pi, 0, &save_comp);
25309 zero_comp.a0 = zero_comp.b0 = zero_comp.a1 = zero_comp.b1 = 0x0;
25310 wlc_phy_rx_iq_coeffs_nphy(pi, 1, &zero_comp);
25312 if (CHSPEC_IS5G(pi->radio_chanspec)) {
25313 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25315 } else if (NREV_GE(pi->pubpi.phy_rev, 4)) {
25320 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25321 nphy_rxcal_gaintbl = nphy_ipa_rxcal_gaintbl_5GHz_rev7;
25323 nphy_rxcal_gaintbl = nphy_ipa_rxcal_gaintbl_5GHz;
25326 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25327 nphy_rxcal_gaintbl = nphy_ipa_rxcal_gaintbl_2GHz_rev7;
25329 nphy_rxcal_gaintbl = nphy_ipa_rxcal_gaintbl_2GHz;
25335 hpvga = (NREV_GE(pi->pubpi.phy_rev, 7)) ?
25336 0 : nphy_rxcal_gaintbl[curr_gaintbl_index].hpvga;
25337 lpf_biq1 = nphy_rxcal_gaintbl[curr_gaintbl_index].lpf_biq1;
25338 lpf_biq0 = nphy_rxcal_gaintbl[curr_gaintbl_index].lpf_biq0;
25339 lna2 = nphy_rxcal_gaintbl[curr_gaintbl_index].lna2;
25340 lna1 = nphy_rxcal_gaintbl[curr_gaintbl_index].lna1;
25341 txpwrindex = nphy_rxcal_gaintbl[curr_gaintbl_index].txpwrindex;
25343 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25344 wlc_phy_rfctrl_override_1tomany_nphy(pi,
25345 NPHY_REV7_RfctrlOverride_cmd_rxgain,
25346 ((lpf_biq1 << 12) |
25352 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12),
25356 (mix_tia_gain << 4) |
25357 (lna2 << 2) | lna1), 0x3,
25361 pi->nphy_rxcal_pwr_idx[tx_core] = txpwrindex;
25363 if (txpwrindex == -1) {
25364 nphy_rxcal_txgain[0] = 0x8ff0 | pi->nphy_gmval;
25365 nphy_rxcal_txgain[1] = 0x8ff0 | pi->nphy_gmval;
25366 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ,
25368 nphy_rxcal_txgain);
25370 wlc_phy_txpwr_index_nphy(pi, tx_core + 1, txpwrindex,
25374 wlc_phy_tx_tone_nphy(pi, (CHSPEC_IS40(pi->radio_chanspec)) ?
25375 NPHY_RXCAL_TONEFREQ_40MHz :
25376 NPHY_RXCAL_TONEFREQ_20MHz,
25377 NPHY_RXCAL_TONEAMP, 0, cal_type, false);
25379 wlc_phy_rx_iq_est_nphy(pi, est, num_samps, 32, 0);
25380 i_pwr = (est[rx_core].i_pwr + num_samps / 2) / num_samps;
25381 q_pwr = (est[rx_core].q_pwr + num_samps / 2) / num_samps;
25382 curr_pwr = i_pwr + q_pwr;
25384 switch (gainctrl_dirn) {
25385 case NPHY_RXCAL_GAIN_INIT:
25386 if (curr_pwr > thresh_pwr) {
25387 gainctrl_dirn = NPHY_RXCAL_GAIN_DOWN;
25388 prev_gaintbl_index = curr_gaintbl_index;
25389 curr_gaintbl_index--;
25391 gainctrl_dirn = NPHY_RXCAL_GAIN_UP;
25392 prev_gaintbl_index = curr_gaintbl_index;
25393 curr_gaintbl_index++;
25397 case NPHY_RXCAL_GAIN_UP:
25398 if (curr_pwr > thresh_pwr) {
25399 gainctrl_done = true;
25400 optim_pwr = prev_pwr;
25401 optim_gaintbl_index = prev_gaintbl_index;
25403 prev_gaintbl_index = curr_gaintbl_index;
25404 curr_gaintbl_index++;
25408 case NPHY_RXCAL_GAIN_DOWN:
25409 if (curr_pwr > thresh_pwr) {
25410 prev_gaintbl_index = curr_gaintbl_index;
25411 curr_gaintbl_index--;
25413 gainctrl_done = true;
25414 optim_pwr = curr_pwr;
25415 optim_gaintbl_index = curr_gaintbl_index;
25423 if ((curr_gaintbl_index < 0) ||
25424 (curr_gaintbl_index > NPHY_IPA_RXCAL_MAXGAININDEX)) {
25425 gainctrl_done = true;
25426 optim_pwr = curr_pwr;
25427 optim_gaintbl_index = prev_gaintbl_index;
25429 prev_pwr = curr_pwr;
25432 wlc_phy_stopplayback_nphy(pi);
25433 } while (!gainctrl_done);
25435 hpvga = nphy_rxcal_gaintbl[optim_gaintbl_index].hpvga;
25436 lpf_biq1 = nphy_rxcal_gaintbl[optim_gaintbl_index].lpf_biq1;
25437 lpf_biq0 = nphy_rxcal_gaintbl[optim_gaintbl_index].lpf_biq0;
25438 lna2 = nphy_rxcal_gaintbl[optim_gaintbl_index].lna2;
25439 lna1 = nphy_rxcal_gaintbl[optim_gaintbl_index].lna1;
25440 txpwrindex = nphy_rxcal_gaintbl[optim_gaintbl_index].txpwrindex;
25442 actual_log2_pwr = wlc_phy_nbits(optim_pwr);
25443 delta_pwr = desired_log2_pwr - actual_log2_pwr;
25445 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25446 fine_gain_idx = (int)lpf_biq1 + delta_pwr;
25448 if (fine_gain_idx + (int)lpf_biq0 > 10) {
25449 lpf_biq1 = 10 - lpf_biq0;
25451 lpf_biq1 = (u16) max(fine_gain_idx, 0);
25453 wlc_phy_rfctrl_override_1tomany_nphy(pi,
25454 NPHY_REV7_RfctrlOverride_cmd_rxgain,
25455 ((lpf_biq1 << 12) |
25457 (mix_tia_gain << 4) |
25458 (lna2 << 2) | lna1), 0x3,
25461 hpvga = (u16) max(min(((int)hpvga) + delta_pwr, 10), 0);
25462 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12),
25463 ((hpvga << 12) | (lpf_biq1 << 10) |
25464 (lpf_biq0 << 8) | (mix_tia_gain <<
25471 if (rxgain != NULL) {
25474 *rxgain++ = mix_tia_gain;
25475 *rxgain++ = lpf_biq0;
25476 *rxgain++ = lpf_biq1;
25480 wlc_phy_rx_iq_coeffs_nphy(pi, 1, &save_comp);
25484 wlc_phy_rxcal_gainctrl_nphy(phy_info_t *pi, u8 rx_core, u16 *rxgain,
25487 wlc_phy_rxcal_gainctrl_nphy_rev5(pi, rx_core, rxgain, cal_type);
25491 wlc_phy_rc_sweep_nphy(phy_info_t *pi, u8 core_idx, u8 loopback_type)
25493 u32 target_bws[2] = { 9500, 21000 };
25494 u32 ref_tones[2] = { 3000, 6000 };
25495 u32 target_bw, ref_tone;
25497 u32 target_pwr_ratios[2] = { 28606, 18468 };
25498 u32 target_pwr_ratio, pwr_ratio, last_pwr_ratio = 0;
25500 u16 start_rccal_ovr_val = 128;
25501 u16 txlpf_rccal_lpc_ovr_val = 128;
25502 u16 rxlpf_rccal_hpc_ovr_val = 159;
25504 u16 orig_txlpf_rccal_lpc_ovr_val;
25505 u16 orig_rxlpf_rccal_hpc_ovr_val;
25506 u16 radio_addr_offset_rx;
25507 u16 radio_addr_offset_tx;
25509 u16 orig_RxStrnFilt40Num[6];
25510 u16 orig_RxStrnFilt40Den[4];
25511 u16 orig_rfctrloverride[2];
25512 u16 orig_rfctrlauxreg[2];
25513 u16 orig_rfctrlrssiothers;
25516 u16 rx_lpf_bw, rx_lpf_bws[2] = { 2, 4 };
25517 u16 lpf_hpc = 7, hpvga_hpc = 7;
25520 u16 rccal_val, last_rccal_val = 0, best_rccal_val = 0;
25521 u32 ref_iq_vals = 0, target_iq_vals = 0;
25522 u16 num_samps, log_num_samps = 10;
25523 phy_iq_est_t est[PHY_CORE_MAX];
25525 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25529 num_samps = (1 << log_num_samps);
25531 if (CHSPEC_IS40(pi->radio_chanspec)) {
25532 target_bw = target_bws[1];
25533 target_pwr_ratio = target_pwr_ratios[1];
25534 ref_tone = ref_tones[1];
25535 rx_lpf_bw = rx_lpf_bws[1];
25537 target_bw = target_bws[0];
25538 target_pwr_ratio = target_pwr_ratios[0];
25539 ref_tone = ref_tones[0];
25540 rx_lpf_bw = rx_lpf_bws[0];
25543 if (core_idx == 0) {
25544 radio_addr_offset_rx = RADIO_2056_RX0;
25545 radio_addr_offset_tx =
25546 (loopback_type == 0) ? RADIO_2056_TX0 : RADIO_2056_TX1;
25548 radio_addr_offset_rx = RADIO_2056_RX1;
25549 radio_addr_offset_tx =
25550 (loopback_type == 0) ? RADIO_2056_TX1 : RADIO_2056_TX0;
25553 orig_txlpf_rccal_lpc_ovr_val =
25555 (RADIO_2056_TX_TXLPF_RCCAL | radio_addr_offset_tx));
25556 orig_rxlpf_rccal_hpc_ovr_val =
25558 (RADIO_2056_RX_RXLPF_RCCAL_HPC |
25559 radio_addr_offset_rx));
25561 orig_dcBypass = ((read_phy_reg(pi, 0x48) >> 8) & 1);
25563 orig_RxStrnFilt40Num[0] = read_phy_reg(pi, 0x267);
25564 orig_RxStrnFilt40Num[1] = read_phy_reg(pi, 0x268);
25565 orig_RxStrnFilt40Num[2] = read_phy_reg(pi, 0x269);
25566 orig_RxStrnFilt40Den[0] = read_phy_reg(pi, 0x26a);
25567 orig_RxStrnFilt40Den[1] = read_phy_reg(pi, 0x26b);
25568 orig_RxStrnFilt40Num[3] = read_phy_reg(pi, 0x26c);
25569 orig_RxStrnFilt40Num[4] = read_phy_reg(pi, 0x26d);
25570 orig_RxStrnFilt40Num[5] = read_phy_reg(pi, 0x26e);
25571 orig_RxStrnFilt40Den[2] = read_phy_reg(pi, 0x26f);
25572 orig_RxStrnFilt40Den[3] = read_phy_reg(pi, 0x270);
25574 orig_rfctrloverride[0] = read_phy_reg(pi, 0xe7);
25575 orig_rfctrloverride[1] = read_phy_reg(pi, 0xec);
25576 orig_rfctrlauxreg[0] = read_phy_reg(pi, 0xf8);
25577 orig_rfctrlauxreg[1] = read_phy_reg(pi, 0xfa);
25578 orig_rfctrlrssiothers = read_phy_reg(pi, (core_idx == 0) ? 0x7a : 0x7d);
25580 write_radio_reg(pi, (RADIO_2056_TX_TXLPF_RCCAL | radio_addr_offset_tx),
25581 txlpf_rccal_lpc_ovr_val);
25583 write_radio_reg(pi,
25584 (RADIO_2056_RX_RXLPF_RCCAL_HPC | radio_addr_offset_rx),
25585 rxlpf_rccal_hpc_ovr_val);
25587 mod_phy_reg(pi, 0x48, (0x1 << 8), (0x1 << 8));
25589 write_phy_reg(pi, 0x267, 0x02d4);
25590 write_phy_reg(pi, 0x268, 0x0000);
25591 write_phy_reg(pi, 0x269, 0x0000);
25592 write_phy_reg(pi, 0x26a, 0x0000);
25593 write_phy_reg(pi, 0x26b, 0x0000);
25594 write_phy_reg(pi, 0x26c, 0x02d4);
25595 write_phy_reg(pi, 0x26d, 0x0000);
25596 write_phy_reg(pi, 0x26e, 0x0000);
25597 write_phy_reg(pi, 0x26f, 0x0000);
25598 write_phy_reg(pi, 0x270, 0x0000);
25600 or_phy_reg(pi, (core_idx == 0) ? 0xe7 : 0xec, (0x1 << 8));
25601 or_phy_reg(pi, (core_idx == 0) ? 0xec : 0xe7, (0x1 << 15));
25602 or_phy_reg(pi, (core_idx == 0) ? 0xe7 : 0xec, (0x1 << 9));
25603 or_phy_reg(pi, (core_idx == 0) ? 0xe7 : 0xec, (0x1 << 10));
25605 mod_phy_reg(pi, (core_idx == 0) ? 0xfa : 0xf8,
25606 (0x7 << 10), (tx_lpf_bw << 10));
25607 mod_phy_reg(pi, (core_idx == 0) ? 0xf8 : 0xfa,
25608 (0x7 << 0), (hpvga_hpc << 0));
25609 mod_phy_reg(pi, (core_idx == 0) ? 0xf8 : 0xfa,
25610 (0x7 << 4), (lpf_hpc << 4));
25611 mod_phy_reg(pi, (core_idx == 0) ? 0x7a : 0x7d,
25612 (0x7 << 8), (rx_lpf_bw << 8));
25614 rccal_stepsize = 16;
25615 rccal_val = start_rccal_ovr_val + rccal_stepsize;
25617 while (rccal_stepsize >= 0) {
25618 write_radio_reg(pi,
25619 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
25620 radio_addr_offset_rx), rccal_val);
25622 if (rccal_stepsize == 16) {
25624 wlc_phy_tx_tone_nphy(pi, ref_tone, NPHY_RXCAL_TONEAMP,
25628 wlc_phy_rx_iq_est_nphy(pi, est, num_samps, 32, 0);
25630 if (core_idx == 0) {
25632 max_t(u32, (est[0].i_pwr +
25633 est[0].q_pwr) >> (log_num_samps + 1),
25637 max_t(u32, (est[1].i_pwr +
25638 est[1].q_pwr) >> (log_num_samps + 1),
25642 wlc_phy_tx_tone_nphy(pi, target_bw, NPHY_RXCAL_TONEAMP,
25647 wlc_phy_rx_iq_est_nphy(pi, est, num_samps, 32, 0);
25649 if (core_idx == 0) {
25651 (est[0].i_pwr + est[0].q_pwr) >> (log_num_samps +
25655 (est[1].i_pwr + est[1].q_pwr) >> (log_num_samps +
25658 pwr_ratio = (uint) ((target_iq_vals << 16) / ref_iq_vals);
25660 if (rccal_stepsize == 0) {
25662 } else if (rccal_stepsize == 1) {
25663 last_rccal_val = rccal_val;
25664 rccal_val += (pwr_ratio > target_pwr_ratio) ? 1 : -1;
25665 last_pwr_ratio = pwr_ratio;
25668 rccal_stepsize = (rccal_stepsize >> 1);
25669 rccal_val += ((pwr_ratio > target_pwr_ratio) ?
25670 rccal_stepsize : (-rccal_stepsize));
25673 if (rccal_stepsize == -1) {
25675 (ABS((int)last_pwr_ratio - (int)target_pwr_ratio) <
25676 ABS((int)pwr_ratio -
25677 (int)target_pwr_ratio)) ? last_rccal_val :
25680 if (CHSPEC_IS40(pi->radio_chanspec)) {
25681 if ((best_rccal_val > 140)
25682 || (best_rccal_val < 135)) {
25683 best_rccal_val = 138;
25686 if ((best_rccal_val > 142)
25687 || (best_rccal_val < 137)) {
25688 best_rccal_val = 140;
25692 write_radio_reg(pi,
25693 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
25694 radio_addr_offset_rx), best_rccal_val);
25698 wlc_phy_stopplayback_nphy(pi);
25700 write_radio_reg(pi, (RADIO_2056_TX_TXLPF_RCCAL | radio_addr_offset_tx),
25701 orig_txlpf_rccal_lpc_ovr_val);
25702 write_radio_reg(pi,
25703 (RADIO_2056_RX_RXLPF_RCCAL_HPC | radio_addr_offset_rx),
25704 orig_rxlpf_rccal_hpc_ovr_val);
25706 mod_phy_reg(pi, 0x48, (0x1 << 8), (orig_dcBypass << 8));
25708 write_phy_reg(pi, 0x267, orig_RxStrnFilt40Num[0]);
25709 write_phy_reg(pi, 0x268, orig_RxStrnFilt40Num[1]);
25710 write_phy_reg(pi, 0x269, orig_RxStrnFilt40Num[2]);
25711 write_phy_reg(pi, 0x26a, orig_RxStrnFilt40Den[0]);
25712 write_phy_reg(pi, 0x26b, orig_RxStrnFilt40Den[1]);
25713 write_phy_reg(pi, 0x26c, orig_RxStrnFilt40Num[3]);
25714 write_phy_reg(pi, 0x26d, orig_RxStrnFilt40Num[4]);
25715 write_phy_reg(pi, 0x26e, orig_RxStrnFilt40Num[5]);
25716 write_phy_reg(pi, 0x26f, orig_RxStrnFilt40Den[2]);
25717 write_phy_reg(pi, 0x270, orig_RxStrnFilt40Den[3]);
25719 write_phy_reg(pi, 0xe7, orig_rfctrloverride[0]);
25720 write_phy_reg(pi, 0xec, orig_rfctrloverride[1]);
25721 write_phy_reg(pi, 0xf8, orig_rfctrlauxreg[0]);
25722 write_phy_reg(pi, 0xfa, orig_rfctrlauxreg[1]);
25723 write_phy_reg(pi, (core_idx == 0) ? 0x7a : 0x7d, orig_rfctrlrssiothers);
25725 pi->nphy_anarxlpf_adjusted = false;
25727 return best_rccal_val - 0x80;
25730 #define WAIT_FOR_SCOPE 4000
25732 wlc_phy_cal_rxiq_nphy_rev3(phy_info_t *pi, nphy_txgains_t target_gain,
25733 u8 cal_type, bool debug)
25736 u8 core_no, rx_core;
25740 nphy_iqcal_params_t cal_params[2];
25742 s8 rxlpf_rccal_hpc, txlpf_rccal_lpc;
25744 bool phyhang_avoid_state = false;
25745 bool skip_rxiqcal = false;
25747 orig_BBConfig = read_phy_reg(pi, 0x01);
25748 mod_phy_reg(pi, 0x01, (0x1 << 15), 0);
25750 wlc_phy_stay_in_carriersearch_nphy(pi, true);
25752 if (NREV_GE(pi->pubpi.phy_rev, 4)) {
25753 phyhang_avoid_state = pi->phyhang_avoid;
25754 pi->phyhang_avoid = false;
25757 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, gain_save);
25759 for (core_no = 0; core_no <= 1; core_no++) {
25760 wlc_phy_iqcal_gainparams_nphy(pi, core_no, target_gain,
25761 &cal_params[core_no]);
25762 cal_gain[core_no] = cal_params[core_no].cal_gain;
25765 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, cal_gain);
25767 rxcore_state = wlc_phy_rxcore_getstate_nphy((wlc_phy_t *) pi);
25769 for (rx_core = 0; rx_core < pi->pubpi.phy_corenum; rx_core++) {
25772 ((rxcore_state & (1 << rx_core)) == 0) ? true : false;
25774 wlc_phy_rxcal_physetup_nphy(pi, rx_core);
25776 wlc_phy_rxcal_radio_setup_nphy(pi, rx_core);
25778 if ((!skip_rxiqcal) && ((cal_type == 0) || (cal_type == 2))) {
25780 wlc_phy_rxcal_gainctrl_nphy(pi, rx_core, NULL, 0);
25782 wlc_phy_tx_tone_nphy(pi,
25783 (CHSPEC_IS40(pi->radio_chanspec)) ?
25784 NPHY_RXCAL_TONEFREQ_40MHz :
25785 NPHY_RXCAL_TONEFREQ_20MHz,
25786 NPHY_RXCAL_TONEAMP, 0, cal_type,
25790 mdelay(WAIT_FOR_SCOPE);
25792 wlc_phy_calc_rx_iq_comp_nphy(pi, rx_core + 1);
25793 wlc_phy_stopplayback_nphy(pi);
25796 if (((cal_type == 1) || (cal_type == 2))
25797 && NREV_LT(pi->pubpi.phy_rev, 7)) {
25799 if (rx_core == PHY_CORE_1) {
25801 if (rxcore_state == 1) {
25802 wlc_phy_rxcore_setstate_nphy((wlc_phy_t
25806 wlc_phy_rxcal_gainctrl_nphy(pi, rx_core, NULL,
25809 best_rccal[rx_core] =
25810 wlc_phy_rc_sweep_nphy(pi, rx_core, 1);
25811 pi->nphy_rccal_value = best_rccal[rx_core];
25813 if (rxcore_state == 1) {
25814 wlc_phy_rxcore_setstate_nphy((wlc_phy_t
25821 wlc_phy_rxcal_radio_cleanup_nphy(pi, rx_core);
25823 wlc_phy_rxcal_phycleanup_nphy(pi, rx_core);
25824 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
25827 if ((cal_type == 1) || (cal_type == 2)) {
25829 best_rccal[0] = best_rccal[1];
25830 write_radio_reg(pi,
25831 (RADIO_2056_RX_RXLPF_RCCAL_LPC |
25832 RADIO_2056_RX0), (best_rccal[0] | 0x80));
25834 for (rx_core = 0; rx_core < pi->pubpi.phy_corenum; rx_core++) {
25836 (((int)best_rccal[rx_core] - 12) >> 1) + 10;
25837 txlpf_rccal_lpc = ((int)best_rccal[rx_core] - 12) + 10;
25840 txlpf_rccal_lpc += IS40MHZ(pi) ? 24 : 12;
25841 txlpf_idac = IS40MHZ(pi) ? 0x0e : 0x13;
25842 WRITE_RADIO_REG2(pi, RADIO_2056, TX, rx_core,
25843 TXLPF_IDAC_4, txlpf_idac);
25846 rxlpf_rccal_hpc = max(min_t(u8, rxlpf_rccal_hpc, 31), 0);
25847 txlpf_rccal_lpc = max(min_t(u8, txlpf_rccal_lpc, 31), 0);
25849 write_radio_reg(pi, (RADIO_2056_RX_RXLPF_RCCAL_HPC |
25851 PHY_CORE_0) ? RADIO_2056_RX0 :
25853 (rxlpf_rccal_hpc | 0x80));
25855 write_radio_reg(pi, (RADIO_2056_TX_TXLPF_RCCAL |
25857 PHY_CORE_0) ? RADIO_2056_TX0 :
25859 (txlpf_rccal_lpc | 0x80));
25863 write_phy_reg(pi, 0x01, orig_BBConfig);
25865 wlc_phy_resetcca_nphy(pi);
25867 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
25868 wlc_phy_rfctrl_override_1tomany_nphy(pi,
25869 NPHY_REV7_RfctrlOverride_cmd_rxgain,
25872 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12), 0, 0x3, 1);
25874 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
25876 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
25879 if (NREV_GE(pi->pubpi.phy_rev, 4)) {
25880 pi->phyhang_avoid = phyhang_avoid_state;
25883 wlc_phy_stay_in_carriersearch_nphy(pi, false);
25889 wlc_phy_cal_rxiq_nphy_rev2(phy_info_t *pi, nphy_txgains_t target_gain,
25892 phy_iq_est_t est[PHY_CORE_MAX];
25893 u8 core_num, rx_core, tx_core;
25894 u16 lna_vals[] = { 0x3, 0x3, 0x1 };
25895 u16 hpf1_vals[] = { 0x7, 0x2, 0x0 };
25896 u16 hpf2_vals[] = { 0x2, 0x0, 0x0 };
25897 s16 curr_hpf1, curr_hpf2, curr_hpf, curr_lna;
25898 s16 desired_log2_pwr, actual_log2_pwr, hpf_change;
25899 u16 orig_RfseqCoreActv, orig_AfectrlCore, orig_AfectrlOverride;
25900 u16 orig_RfctrlIntcRx, orig_RfctrlIntcTx;
25902 u32 i_pwr, q_pwr, tot_pwr[3];
25903 u8 gain_pass, use_hpf_num;
25904 u16 mask, val1, val2;
25908 nphy_iqcal_params_t cal_params[2];
25911 bool first_playtone = true;
25913 wlc_phy_stay_in_carriersearch_nphy(pi, true);
25915 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
25917 wlc_phy_reapply_txcal_coeffs_nphy(pi);
25920 wlc_phy_table_read_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, gain_save);
25922 for (core_no = 0; core_no <= 1; core_no++) {
25923 wlc_phy_iqcal_gainparams_nphy(pi, core_no, target_gain,
25924 &cal_params[core_no]);
25925 cal_gain[core_no] = cal_params[core_no].cal_gain;
25928 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16, cal_gain);
25931 desired_log2_pwr = 13;
25933 for (core_num = 0; core_num < 2; core_num++) {
25935 rx_core = core_num;
25936 tx_core = 1 - core_num;
25938 orig_RfseqCoreActv = read_phy_reg(pi, 0xa2);
25939 orig_AfectrlCore = read_phy_reg(pi, (rx_core == PHY_CORE_0) ?
25941 orig_AfectrlOverride = read_phy_reg(pi, 0xa5);
25942 orig_RfctrlIntcRx = read_phy_reg(pi, (rx_core == PHY_CORE_0) ?
25944 orig_RfctrlIntcTx = read_phy_reg(pi, (tx_core == PHY_CORE_0) ?
25947 mod_phy_reg(pi, 0xa2, (0xf << 12), (1 << tx_core) << 12);
25948 mod_phy_reg(pi, 0xa2, (0xf << 0), (1 << tx_core) << 0);
25950 or_phy_reg(pi, ((rx_core == PHY_CORE_0) ? 0xa6 : 0xa7),
25951 ((0x1 << 1) | (0x1 << 2)));
25952 or_phy_reg(pi, 0xa5, ((0x1 << 1) | (0x1 << 2)));
25954 if (((pi->nphy_rxcalparams) & 0xff000000)) {
25957 (rx_core == PHY_CORE_0) ? 0x91 : 0x92,
25958 (CHSPEC_IS5G(pi->radio_chanspec) ? 0x140 :
25963 (rx_core == PHY_CORE_0) ? 0x91 : 0x92,
25964 (CHSPEC_IS5G(pi->radio_chanspec) ? 0x180 :
25968 write_phy_reg(pi, (tx_core == PHY_CORE_0) ? 0x91 : 0x92,
25969 (CHSPEC_IS5G(pi->radio_chanspec) ? 0x148 :
25972 mask = RADIO_2055_COUPLE_RX_MASK | RADIO_2055_COUPLE_TX_MASK;
25973 if (rx_core == PHY_CORE_0) {
25974 val1 = RADIO_2055_COUPLE_RX_MASK;
25975 val2 = RADIO_2055_COUPLE_TX_MASK;
25977 val1 = RADIO_2055_COUPLE_TX_MASK;
25978 val2 = RADIO_2055_COUPLE_RX_MASK;
25981 if ((pi->nphy_rxcalparams & 0x10000)) {
25982 mod_radio_reg(pi, RADIO_2055_CORE1_GEN_SPARE2, mask,
25984 mod_radio_reg(pi, RADIO_2055_CORE2_GEN_SPARE2, mask,
25988 for (gain_pass = 0; gain_pass < 4; gain_pass++) {
25991 mdelay(WAIT_FOR_SCOPE);
25993 if (gain_pass < 3) {
25994 curr_lna = lna_vals[gain_pass];
25995 curr_hpf1 = hpf1_vals[gain_pass];
25996 curr_hpf2 = hpf2_vals[gain_pass];
25999 if (tot_pwr[1] > 10000) {
26000 curr_lna = lna_vals[2];
26001 curr_hpf1 = hpf1_vals[2];
26002 curr_hpf2 = hpf2_vals[2];
26004 curr_hpf = curr_hpf1;
26006 wlc_phy_nbits(tot_pwr[2]);
26008 if (tot_pwr[0] > 10000) {
26009 curr_lna = lna_vals[1];
26010 curr_hpf1 = hpf1_vals[1];
26011 curr_hpf2 = hpf2_vals[1];
26013 curr_hpf = curr_hpf1;
26015 wlc_phy_nbits(tot_pwr[1]);
26017 curr_lna = lna_vals[0];
26018 curr_hpf1 = hpf1_vals[0];
26019 curr_hpf2 = hpf2_vals[0];
26021 curr_hpf = curr_hpf2;
26023 wlc_phy_nbits(tot_pwr[0]);
26027 hpf_change = desired_log2_pwr - actual_log2_pwr;
26028 curr_hpf += hpf_change;
26029 curr_hpf = max(min_t(u16, curr_hpf, 10), 0);
26030 if (use_hpf_num == 1) {
26031 curr_hpf1 = curr_hpf;
26033 curr_hpf2 = curr_hpf;
26037 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 10),
26038 ((curr_hpf2 << 8) |
26040 (curr_lna << 2)), 0x3, 0);
26041 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
26043 wlc_phy_stopplayback_nphy(pi);
26045 if (first_playtone) {
26046 bcmerror = wlc_phy_tx_tone_nphy(pi, 4000,
26052 first_playtone = false;
26055 (CHSPEC_IS40(pi->radio_chanspec)) ? 40 : 20;
26056 wlc_phy_runsamples_nphy(pi, phy_bw * 8, 0xffff,
26060 if (bcmerror == 0) {
26061 if (gain_pass < 3) {
26063 wlc_phy_rx_iq_est_nphy(pi, est,
26067 (est[rx_core].i_pwr +
26068 num_samps / 2) / num_samps;
26070 (est[rx_core].q_pwr +
26071 num_samps / 2) / num_samps;
26072 tot_pwr[gain_pass] = i_pwr + q_pwr;
26075 wlc_phy_calc_rx_iq_comp_nphy(pi,
26080 wlc_phy_stopplayback_nphy(pi);
26087 and_radio_reg(pi, RADIO_2055_CORE1_GEN_SPARE2, ~mask);
26088 and_radio_reg(pi, RADIO_2055_CORE2_GEN_SPARE2, ~mask);
26090 write_phy_reg(pi, (tx_core == PHY_CORE_0) ? 0x91 :
26091 0x92, orig_RfctrlIntcTx);
26092 write_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0x91 :
26093 0x92, orig_RfctrlIntcRx);
26094 write_phy_reg(pi, 0xa5, orig_AfectrlOverride);
26095 write_phy_reg(pi, (rx_core == PHY_CORE_0) ? 0xa6 :
26096 0xa7, orig_AfectrlCore);
26097 write_phy_reg(pi, 0xa2, orig_RfseqCoreActv);
26103 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 10), 0, 0x3, 1);
26104 wlc_phy_force_rfseq_nphy(pi, NPHY_RFSEQ_RESET2RX);
26106 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_RFSEQ, 2, 0x110, 16,
26109 wlc_phy_stay_in_carriersearch_nphy(pi, false);
26115 wlc_phy_cal_rxiq_nphy(phy_info_t *pi, nphy_txgains_t target_gain,
26116 u8 cal_type, bool debug)
26118 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26122 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
26123 return wlc_phy_cal_rxiq_nphy_rev3(pi, target_gain, cal_type,
26126 return wlc_phy_cal_rxiq_nphy_rev2(pi, target_gain, debug);
26130 static void wlc_phy_extpa_set_tx_digi_filts_nphy(phy_info_t *pi)
26133 u16 addr_offset = 0x2c5;
26135 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26136 write_phy_reg(pi, addr_offset + j,
26137 NPHY_IPA_REV4_txdigi_filtcoeffs[type][j]);
26141 static void wlc_phy_ipa_set_tx_digi_filts_nphy(phy_info_t *pi)
26144 u16 addr_offset[] = { 0x186, 0x195,
26148 for (type = 0; type < 3; type++) {
26149 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26150 write_phy_reg(pi, addr_offset[type] + j,
26151 NPHY_IPA_REV4_txdigi_filtcoeffs[type][j]);
26156 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26157 write_phy_reg(pi, 0x186 + j,
26158 NPHY_IPA_REV4_txdigi_filtcoeffs[3][j]);
26161 if (CHSPEC_IS5G(pi->radio_chanspec)) {
26162 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26163 write_phy_reg(pi, 0x186 + j,
26164 NPHY_IPA_REV4_txdigi_filtcoeffs[5]
26169 if (CHSPEC_CHANNEL(pi->radio_chanspec) == 14) {
26170 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26171 write_phy_reg(pi, 0x2c5 + j,
26172 NPHY_IPA_REV4_txdigi_filtcoeffs[6]
26179 static void wlc_phy_ipa_restore_tx_digi_filts_nphy(phy_info_t *pi)
26184 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26185 write_phy_reg(pi, 0x195 + j,
26186 NPHY_IPA_REV4_txdigi_filtcoeffs[4][j]);
26189 for (j = 0; j < NPHY_NUM_DIG_FILT_COEFFS; j++) {
26190 write_phy_reg(pi, 0x186 + j,
26191 NPHY_IPA_REV4_txdigi_filtcoeffs[3][j]);
26196 static u16 wlc_phy_ipa_get_bbmult_nphy(phy_info_t *pi)
26200 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m0m1);
26205 static void wlc_phy_ipa_set_bbmult_nphy(phy_info_t *pi, u8 m0, u8 m1)
26207 u16 m0m1 = (u16) ((m0 << 8) | m1);
26209 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &m0m1);
26210 wlc_phy_table_write_nphy(pi, 15, 1, 95, 16, &m0m1);
26213 static u32 *wlc_phy_get_ipa_gaintbl_nphy(phy_info_t *pi)
26215 u32 *tx_pwrctrl_tbl = NULL;
26217 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26219 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26221 if ((pi->pubpi.radiorev == 4)
26222 || (pi->pubpi.radiorev == 6)) {
26225 nphy_tpc_txgain_ipa_2g_2057rev4n6;
26226 } else if (pi->pubpi.radiorev == 3) {
26229 nphy_tpc_txgain_ipa_2g_2057rev3;
26230 } else if (pi->pubpi.radiorev == 5) {
26233 nphy_tpc_txgain_ipa_2g_2057rev5;
26234 } else if ((pi->pubpi.radiorev == 7)
26235 || (pi->pubpi.radiorev == 8)) {
26238 nphy_tpc_txgain_ipa_2g_2057rev7;
26241 } else if (NREV_IS(pi->pubpi.phy_rev, 6)) {
26243 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_rev6;
26244 if (pi->sh->chip == BCM47162_CHIP_ID) {
26246 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_rev5;
26249 } else if (NREV_IS(pi->pubpi.phy_rev, 5)) {
26251 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_rev5;
26254 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa;
26259 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26260 if ((pi->pubpi.radiorev == 3) ||
26261 (pi->pubpi.radiorev == 4) ||
26262 (pi->pubpi.radiorev == 6)) {
26264 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_5g_2057;
26265 } else if ((pi->pubpi.radiorev == 7)
26266 || (pi->pubpi.radiorev == 8)) {
26269 nphy_tpc_txgain_ipa_5g_2057rev7;
26273 tx_pwrctrl_tbl = nphy_tpc_txgain_ipa_5g;
26277 return tx_pwrctrl_tbl;
26281 wlc_phy_papd_cal_setup_nphy(phy_info_t *pi, nphy_papd_restore_state *state,
26288 off_core = core ^ 0x1;
26289 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26291 if (NREV_IS(pi->pubpi.phy_rev, 7)
26292 || NREV_GE(pi->pubpi.phy_rev, 8)) {
26293 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7),
26294 wlc_phy_read_lpf_bw_ctl_nphy
26296 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26299 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26300 if (pi->pubpi.radiorev == 5) {
26301 mixgain = (core == 0) ? 0x20 : 0x00;
26303 } else if ((pi->pubpi.radiorev == 7)
26304 || (pi->pubpi.radiorev == 8)) {
26308 } else if ((pi->pubpi.radiorev <= 4)
26309 || (pi->pubpi.radiorev == 6)) {
26315 if ((pi->pubpi.radiorev == 4) ||
26316 (pi->pubpi.radiorev == 6)) {
26319 } else if ((pi->pubpi.radiorev == 3)
26320 || (pi->pubpi.radiorev == 7)
26321 || (pi->pubpi.radiorev == 8)) {
26327 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11),
26328 mixgain, (1 << core), 0,
26329 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26331 wlc_phy_rfctrl_override_1tomany_nphy(pi,
26332 NPHY_REV7_RfctrlOverride_cmd_tx_pu,
26333 1, (1 << core), 0);
26334 wlc_phy_rfctrl_override_1tomany_nphy(pi,
26335 NPHY_REV7_RfctrlOverride_cmd_tx_pu,
26336 0, (1 << off_core), 0);
26338 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
26340 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26341 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2), 1,
26343 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26344 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), 0,
26346 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26347 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), 1,
26349 NPHY_REV7_RFCTRLOVERRIDE_ID2);
26350 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 8), 0,
26352 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26353 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 9), 1,
26355 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26356 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 10), 0,
26358 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26359 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3), 1,
26361 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26363 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5),
26365 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26366 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4), 0,
26368 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26370 state->afectrl[core] = read_phy_reg(pi, (core == PHY_CORE_0) ?
26372 state->afeoverride[core] =
26373 read_phy_reg(pi, (core == PHY_CORE_0) ? 0x8f : 0xa5);
26374 state->afectrl[off_core] =
26375 read_phy_reg(pi, (core == PHY_CORE_0) ? 0xa7 : 0xa6);
26376 state->afeoverride[off_core] =
26377 read_phy_reg(pi, (core == PHY_CORE_0) ? 0xa5 : 0x8f);
26379 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0xa6 : 0xa7),
26381 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0x8f :
26382 0xa5), (0x1 << 2), (0x1 << 2));
26384 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0xa7 : 0xa6),
26385 (0x1 << 2), (0x1 << 2));
26386 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0xa5 :
26387 0x8f), (0x1 << 2), (0x1 << 2));
26389 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26390 state->pwrup[core] =
26391 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
26392 TXRXCOUPLE_2G_PWRUP);
26393 state->atten[core] =
26394 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
26395 TXRXCOUPLE_2G_ATTEN);
26396 state->pwrup[off_core] =
26397 READ_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26398 TXRXCOUPLE_2G_PWRUP);
26399 state->atten[off_core] =
26400 READ_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26401 TXRXCOUPLE_2G_ATTEN);
26403 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26404 TXRXCOUPLE_2G_PWRUP, 0xc);
26406 if ((pi->pubpi.radiorev == 3) ||
26407 (pi->pubpi.radiorev == 4) ||
26408 (pi->pubpi.radiorev == 6)) {
26410 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26411 TXRXCOUPLE_2G_ATTEN, 0xf0);
26413 } else if (pi->pubpi.radiorev == 5) {
26415 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26416 TXRXCOUPLE_2G_ATTEN,
26417 (core == 0) ? 0xf7 : 0xf2);
26419 } else if ((pi->pubpi.radiorev == 7)
26420 || (pi->pubpi.radiorev == 8)) {
26422 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26423 TXRXCOUPLE_2G_ATTEN, 0xf0);
26427 WRITE_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26428 TXRXCOUPLE_2G_PWRUP, 0x0);
26429 WRITE_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26430 TXRXCOUPLE_2G_ATTEN, 0xff);
26433 state->pwrup[core] =
26434 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
26435 TXRXCOUPLE_5G_PWRUP);
26436 state->atten[core] =
26437 READ_RADIO_REG3(pi, RADIO_2057, TX, core,
26438 TXRXCOUPLE_5G_ATTEN);
26439 state->pwrup[off_core] =
26440 READ_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26441 TXRXCOUPLE_5G_PWRUP);
26442 state->atten[off_core] =
26443 READ_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26444 TXRXCOUPLE_5G_ATTEN);
26446 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26447 TXRXCOUPLE_5G_PWRUP, 0xc);
26449 if ((pi->pubpi.radiorev == 7)
26450 || (pi->pubpi.radiorev == 8)) {
26452 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26453 TXRXCOUPLE_5G_ATTEN, 0xf4);
26456 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26457 TXRXCOUPLE_5G_ATTEN, 0xf0);
26460 WRITE_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26461 TXRXCOUPLE_5G_PWRUP, 0x0);
26462 WRITE_RADIO_REG3(pi, RADIO_2057, TX, off_core,
26463 TXRXCOUPLE_5G_ATTEN, 0xff);
26468 wlc_phy_tx_tone_nphy(pi, tone_freq, 181, 0, 0, false);
26470 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
26471 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_ON) << 0);
26473 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26474 0x2a4, (0x1 << 13), (1) << 13);
26476 mod_phy_reg(pi, (off_core == PHY_CORE_0) ? 0x297 :
26477 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_OFF) << 0);
26479 mod_phy_reg(pi, (off_core == PHY_CORE_0) ? 0x2a3 :
26480 0x2a4, (0x1 << 13), (0) << 13);
26484 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12), 0, 0x3, 0);
26486 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 1, 0, 0);
26488 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 0), 0, 0x3, 0);
26490 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 2), 1, 0x3, 0);
26491 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 1), 1, 0x3, 0);
26493 state->afectrl[core] = read_phy_reg(pi, (core == PHY_CORE_0) ?
26495 state->afeoverride[core] =
26496 read_phy_reg(pi, (core == PHY_CORE_0) ? 0x8f : 0xa5);
26498 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0xa6 : 0xa7),
26499 (0x1 << 0) | (0x1 << 1) | (0x1 << 2), 0);
26500 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0x8f :
26504 (0x1 << 2), (0x1 << 0) | (0x1 << 1) | (0x1 << 2));
26506 state->vga_master[core] =
26507 READ_RADIO_REG2(pi, RADIO_2056, RX, core, VGA_MASTER);
26508 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core, VGA_MASTER, 0x2b);
26509 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26510 state->fbmix[core] =
26511 READ_RADIO_REG2(pi, RADIO_2056, RX, core,
26513 state->intpa_master[core] =
26514 READ_RADIO_REG2(pi, RADIO_2056, TX, core,
26517 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core, TXFBMIX_G,
26519 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
26520 INTPAG_MASTER, 0x04);
26522 state->fbmix[core] =
26523 READ_RADIO_REG2(pi, RADIO_2056, RX, core,
26525 state->intpa_master[core] =
26526 READ_RADIO_REG2(pi, RADIO_2056, TX, core,
26529 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core, TXFBMIX_A,
26531 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
26532 INTPAA_MASTER, 0x04);
26538 wlc_phy_tx_tone_nphy(pi, tone_freq, 181, 0, 0, false);
26540 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
26541 0x29b, (0x1 << 0), (1) << 0);
26543 mod_phy_reg(pi, (off_core == PHY_CORE_0) ? 0x297 :
26544 0x29b, (0x1 << 0), (0) << 0);
26546 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 0, 0x3, 0);
26551 wlc_phy_papd_cal_cleanup_nphy(phy_info_t *pi, nphy_papd_restore_state *state)
26555 wlc_phy_stopplayback_nphy(pi);
26557 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26559 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
26561 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26562 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26563 TXRXCOUPLE_2G_PWRUP, 0);
26564 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26565 TXRXCOUPLE_2G_ATTEN,
26566 state->atten[core]);
26568 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26569 TXRXCOUPLE_5G_PWRUP, 0);
26570 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
26571 TXRXCOUPLE_5G_ATTEN,
26572 state->atten[core]);
26576 if ((pi->pubpi.radiorev == 4) || (pi->pubpi.radiorev == 6)) {
26577 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2),
26579 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26581 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2),
26583 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26585 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1),
26587 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26588 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), 0, 0x3, 1,
26589 NPHY_REV7_RFCTRLOVERRIDE_ID2);
26590 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2), 0, 0x3, 1,
26591 NPHY_REV7_RFCTRLOVERRIDE_ID2);
26592 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 1, 0x3, 1,
26593 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26594 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3), 0, 0x3, 1,
26595 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26596 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 11), 0, 0x3, 1,
26597 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26598 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 12), 0, 0x3, 1,
26599 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26600 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 2), 1, 0x3, 1,
26601 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26602 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 0), 0, 0x3, 1,
26603 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26604 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 1), 1, 0x3, 1,
26605 NPHY_REV7_RFCTRLOVERRIDE_ID2);
26606 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 8), 0, 0x3, 1,
26607 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26608 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 9), 1, 0x3, 1,
26609 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26610 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 10), 0, 0x3, 1,
26611 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26612 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3), 1, 0x3, 1,
26613 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26614 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 5), 0, 0x3, 1,
26615 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26616 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 4), 0, 0x3, 1,
26617 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26619 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
26621 write_phy_reg(pi, (core == PHY_CORE_0) ?
26622 0xa6 : 0xa7, state->afectrl[core]);
26623 write_phy_reg(pi, (core == PHY_CORE_0) ? 0x8f :
26624 0xa5, state->afeoverride[core]);
26627 wlc_phy_ipa_set_bbmult_nphy(pi, (state->mm >> 8) & 0xff,
26628 (state->mm & 0xff));
26630 if (NREV_IS(pi->pubpi.phy_rev, 7)
26631 || NREV_GE(pi->pubpi.phy_rev, 8)) {
26632 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 7), 0, 0,
26634 NPHY_REV7_RFCTRLOVERRIDE_ID1);
26638 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 12), 0, 0x3, 1);
26639 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 13), 0, 0x3, 1);
26640 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 0), 0, 0x3, 1);
26642 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 2), 0, 0x3, 1);
26643 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 1), 0, 0x3, 1);
26645 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
26647 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core, VGA_MASTER,
26648 state->vga_master[core]);
26649 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26650 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core,
26651 TXFBMIX_G, state->fbmix[core]);
26652 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
26654 state->intpa_master[core]);
26656 WRITE_RADIO_REG2(pi, RADIO_2056, RX, core,
26657 TXFBMIX_A, state->fbmix[core]);
26658 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
26660 state->intpa_master[core]);
26663 write_phy_reg(pi, (core == PHY_CORE_0) ?
26664 0xa6 : 0xa7, state->afectrl[core]);
26665 write_phy_reg(pi, (core == PHY_CORE_0) ? 0x8f :
26666 0xa5, state->afeoverride[core]);
26669 wlc_phy_ipa_set_bbmult_nphy(pi, (state->mm >> 8) & 0xff,
26670 (state->mm & 0xff));
26672 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 0, 0x3, 1);
26677 wlc_phy_a1_nphy(phy_info_t *pi, u8 core, u32 winsz, u32 start,
26680 u32 *buf, *src, *dst, sz;
26682 sz = end - start + 1;
26684 buf = kmalloc(2 * sizeof(u32) * NPHY_PAPD_EPS_TBL_SIZE, GFP_ATOMIC);
26690 dst = buf + NPHY_PAPD_EPS_TBL_SIZE;
26692 wlc_phy_table_read_nphy(pi,
26694 PHY_CORE_0 ? NPHY_TBL_ID_EPSILONTBL0 :
26695 NPHY_TBL_ID_EPSILONTBL1),
26696 NPHY_PAPD_EPS_TBL_SIZE, 0, 32, src);
26699 u32 phy_a1, phy_a2;
26700 s32 phy_a3, phy_a4, phy_a5, phy_a6, phy_a7;
26702 phy_a1 = end - min(end, (winsz >> 1));
26703 phy_a2 = min_t(u32, NPHY_PAPD_EPS_TBL_SIZE - 1, end + (winsz >> 1));
26704 phy_a3 = phy_a2 - phy_a1 + 1;
26709 wlc_phy_papd_decode_epsilon(src[phy_a2], &phy_a4,
26713 } while (phy_a2-- != phy_a1);
26717 dst[end] = ((u32) phy_a7 << 13) | ((u32) phy_a6 & 0x1fff);
26718 } while (end-- != start);
26720 wlc_phy_table_write_nphy(pi,
26722 PHY_CORE_0) ? NPHY_TBL_ID_EPSILONTBL0 :
26723 NPHY_TBL_ID_EPSILONTBL1, sz, start, 32, dst);
26729 wlc_phy_a2_nphy(phy_info_t *pi, nphy_ipa_txcalgains_t *txgains,
26730 phy_cal_mode_t cal_mode, u8 core)
26732 u16 phy_a1, phy_a2, phy_a3;
26733 u16 phy_a4, phy_a5;
26737 nphy_txgains_t phy_a9;
26739 if (NREV_LT(pi->pubpi.phy_rev, 3))
26742 phy_a7 = (core == PHY_CORE_0) ? 1 : 0;
26744 phy_a6 = ((cal_mode == CAL_GCTRL)
26745 || (cal_mode == CAL_SOFT)) ? true : false;
26747 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
26749 phy_a9 = wlc_phy_get_tx_gain_nphy(pi);
26751 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26752 phy_a5 = ((phy_a9.txlpf[core] << 15) |
26753 (phy_a9.txgm[core] << 12) |
26754 (phy_a9.pga[core] << 8) |
26755 (txgains->gains.pad[core] << 3) |
26756 (phy_a9.ipa[core]));
26758 phy_a5 = ((phy_a9.txlpf[core] << 15) |
26759 (phy_a9.txgm[core] << 12) |
26760 (txgains->gains.pga[core] << 8) |
26761 (phy_a9.pad[core] << 3) | (phy_a9.ipa[core]));
26764 wlc_phy_rfctrl_override_1tomany_nphy(pi,
26765 NPHY_REV7_RfctrlOverride_cmd_txgain,
26766 phy_a5, (1 << core), 0);
26768 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26769 if ((pi->pubpi.radiorev <= 4)
26770 || (pi->pubpi.radiorev == 6)) {
26772 m[core] = IS40MHZ(pi) ? 60 : 79;
26775 m[core] = IS40MHZ(pi) ? 45 : 64;
26779 m[core] = IS40MHZ(pi) ? 75 : 107;
26783 wlc_phy_ipa_set_bbmult_nphy(pi, m[0], m[1]);
26787 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26788 if (pi->sh->chip == BCM6362_CHIP_ID) {
26791 } else if ((pi->pubpi.radiorev == 4)
26792 || (pi->pubpi.radiorev == 6)) {
26800 if ((pi->pubpi.radiorev == 5)
26801 || (pi->pubpi.radiorev == 7)
26802 || (pi->pubpi.radiorev == 8)) {
26811 if (cal_mode == CAL_GCTRL) {
26812 if ((pi->pubpi.radiorev == 5)
26813 && (CHSPEC_IS2G(pi->radio_chanspec))) {
26815 } else if (((pi->pubpi.radiorev == 7) &&
26816 (CHSPEC_IS2G(pi->radio_chanspec))) ||
26817 ((pi->pubpi.radiorev == 8) &&
26818 (CHSPEC_IS2G(pi->radio_chanspec)))) {
26824 } else if ((cal_mode != CAL_FULL) && (cal_mode != CAL_SOFT)) {
26830 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
26831 0x29b, (0x1 << 0), (1) << 0);
26833 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x297 :
26834 0x29b, (0x1 << 0), (0) << 0);
26836 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26837 0x2a4, (0x1 << 13), (1) << 13);
26839 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x2a3 :
26840 0x2a4, (0x1 << 13), (0) << 13);
26842 write_phy_reg(pi, 0x2a1, 0x80);
26843 write_phy_reg(pi, 0x2a2, 0x100);
26845 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26846 0x2a4, (0x7 << 4), (11) << 4);
26848 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26849 0x2a4, (0x7 << 8), (11) << 8);
26851 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26852 0x2a4, (0x7 << 0), (0x3) << 0);
26854 write_phy_reg(pi, 0x2e5, 0x20);
26856 mod_phy_reg(pi, 0x2a0, (0x3f << 0), (phy_a3) << 0);
26858 mod_phy_reg(pi, 0x29f, (0x3f << 0), (phy_a1) << 0);
26860 mod_phy_reg(pi, 0x29f, (0x3f << 8), (phy_a2) << 8);
26862 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
26863 1, ((core == 0) ? 1 : 2), 0,
26864 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26865 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
26866 0, ((core == 0) ? 2 : 1), 0,
26867 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26869 write_phy_reg(pi, 0x2be, 1);
26870 SPINWAIT(read_phy_reg(pi, 0x2be), 10 * 1000 * 1000);
26872 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 3),
26874 NPHY_REV7_RFCTRLOVERRIDE_ID0);
26876 wlc_phy_table_write_nphy(pi,
26878 PHY_CORE_0) ? NPHY_TBL_ID_EPSILONTBL0
26879 : NPHY_TBL_ID_EPSILONTBL1, 1, phy_a3,
26882 if (cal_mode != CAL_GCTRL) {
26883 if (CHSPEC_IS5G(pi->radio_chanspec)) {
26884 wlc_phy_a1_nphy(pi, core, 5, 0, 35);
26888 wlc_phy_rfctrl_override_1tomany_nphy(pi,
26889 NPHY_REV7_RfctrlOverride_cmd_txgain,
26890 phy_a5, (1 << core), 1);
26895 if (txgains->useindex) {
26896 phy_a4 = 15 - ((txgains->index) >> 3);
26897 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26898 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
26899 phy_a5 = 0x00f7 | (phy_a4 << 8);
26901 if (pi->sh->chip ==
26902 BCM47162_CHIP_ID) {
26904 0x10f7 | (phy_a4 <<
26908 if (NREV_IS(pi->pubpi.phy_rev, 5))
26909 phy_a5 = 0x10f7 | (phy_a4 << 8);
26911 phy_a5 = 0x50f7 | (phy_a4 << 8);
26913 phy_a5 = 0x70f7 | (phy_a4 << 8);
26915 wlc_phy_rfctrl_override_nphy(pi,
26920 wlc_phy_rfctrl_override_nphy(pi,
26927 if (CHSPEC_IS2G(pi->radio_chanspec)) {
26928 m[core] = IS40MHZ(pi) ? 45 : 64;
26930 m[core] = IS40MHZ(pi) ? 75 : 107;
26934 wlc_phy_ipa_set_bbmult_nphy(pi, m[0], m[1]);
26938 if (cal_mode == CAL_FULL) {
26941 } else if (cal_mode == CAL_SOFT) {
26944 } else if (cal_mode == CAL_GCTRL) {
26953 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
26954 0x29b, (0x1 << 0), (1) << 0);
26956 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x297 :
26957 0x29b, (0x1 << 0), (0) << 0);
26959 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
26960 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26961 0x2a4, (0x1 << 13), (1) << 13);
26963 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x2a3 :
26964 0x2a4, (0x1 << 13), (0) << 13);
26966 write_phy_reg(pi, 0x2a1, 0x20);
26967 write_phy_reg(pi, 0x2a2, 0x60);
26969 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26970 0x2a4, (0xf << 4), (9) << 4);
26972 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26973 0x2a4, (0xf << 8), (9) << 8);
26975 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26976 0x2a4, (0xf << 0), (0x2) << 0);
26978 write_phy_reg(pi, 0x2e5, 0x20);
26980 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26981 0x2a4, (0x1 << 11), (1) << 11);
26983 mod_phy_reg(pi, (phy_a7 == PHY_CORE_0) ? 0x2a3 :
26984 0x2a4, (0x1 << 11), (0) << 11);
26986 write_phy_reg(pi, 0x2a1, 0x80);
26987 write_phy_reg(pi, 0x2a2, 0x600);
26989 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26990 0x2a4, (0x7 << 4), (0) << 4);
26992 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26993 0x2a4, (0x7 << 8), (0) << 8);
26995 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x2a3 :
26996 0x2a4, (0x7 << 0), (0x3) << 0);
26998 mod_phy_reg(pi, 0x2a0, (0x3f << 8), (0x20) << 8);
27002 mod_phy_reg(pi, 0x2a0, (0x3f << 0), (phy_a3) << 0);
27004 mod_phy_reg(pi, 0x29f, (0x3f << 0), (phy_a1) << 0);
27006 mod_phy_reg(pi, 0x29f, (0x3f << 8), (phy_a2) << 8);
27008 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 1, 0x3, 0);
27010 write_phy_reg(pi, 0x2be, 1);
27011 SPINWAIT(read_phy_reg(pi, 0x2be), 10 * 1000 * 1000);
27013 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 3), 0, 0x3, 0);
27015 wlc_phy_table_write_nphy(pi,
27017 PHY_CORE_0) ? NPHY_TBL_ID_EPSILONTBL0
27018 : NPHY_TBL_ID_EPSILONTBL1, 1, phy_a3,
27021 if (cal_mode != CAL_GCTRL) {
27022 wlc_phy_a1_nphy(pi, core, 5, 0, 40);
27027 static u8 wlc_phy_a3_nphy(phy_info_t *pi, u8 start_gain, u8 core)
27032 nphy_ipa_txcalgains_t phy_a4;
27033 bool phy_a5 = false;
27034 bool phy_a6 = true;
27035 s32 phy_a7, phy_a8;
27038 bool phy_a11 = false;
27042 u8 *phy_a15 = NULL;
27044 phy_a4.useindex = true;
27045 phy_a12 = start_gain;
27047 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27052 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27053 if (pi->pubpi.radiorev == 5) {
27055 phy_a15 = pad_gain_codes_used_2057rev5;
27056 phy_a13 = sizeof(pad_gain_codes_used_2057rev5) /
27057 sizeof(pad_gain_codes_used_2057rev5[0]) - 1;
27059 } else if ((pi->pubpi.radiorev == 7)
27060 || (pi->pubpi.radiorev == 8)) {
27062 phy_a15 = pad_gain_codes_used_2057rev7;
27063 phy_a13 = sizeof(pad_gain_codes_used_2057rev7) /
27064 sizeof(pad_gain_codes_used_2057rev7[0]) - 1;
27068 phy_a15 = pad_all_gain_codes_2057;
27069 phy_a13 = sizeof(pad_all_gain_codes_2057) /
27070 sizeof(pad_all_gain_codes_2057[0]) - 1;
27075 phy_a15 = pga_all_gain_codes_2057;
27076 phy_a13 = sizeof(pga_all_gain_codes_2057) /
27077 sizeof(pga_all_gain_codes_2057[0]) - 1;
27082 for (phy_a10 = 0; phy_a10 < phy_a2; phy_a10++) {
27083 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27084 phy_a4.gains.pad[core] =
27085 (u16) phy_a15[phy_a12];
27087 phy_a4.gains.pga[core] =
27088 (u16) phy_a15[phy_a12];
27091 wlc_phy_a2_nphy(pi, &phy_a4, CAL_GCTRL, core);
27093 wlc_phy_table_read_nphy(pi,
27096 NPHY_TBL_ID_EPSILONTBL0 :
27097 NPHY_TBL_ID_EPSILONTBL1), 1,
27100 wlc_phy_papd_decode_epsilon(phy_a9, &phy_a7, &phy_a8);
27102 phy_a3 = ((phy_a7 == 4095) || (phy_a7 == -4096) ||
27103 (phy_a8 == 4095) || (phy_a8 == -4096));
27105 if (!phy_a6 && (phy_a3 != phy_a5)) {
27107 phy_a12 -= (u8) phy_a1;
27114 phy_a12 += (u8) phy_a1;
27116 phy_a12 -= (u8) phy_a1;
27118 if ((phy_a12 < phy_a14) || (phy_a12 > phy_a13)) {
27119 if (phy_a12 < phy_a14) {
27135 for (phy_a10 = 0; phy_a10 < phy_a2; phy_a10++) {
27136 phy_a4.index = (u8) phy_a12;
27137 wlc_phy_a2_nphy(pi, &phy_a4, CAL_GCTRL, core);
27139 wlc_phy_table_read_nphy(pi,
27142 NPHY_TBL_ID_EPSILONTBL0 :
27143 NPHY_TBL_ID_EPSILONTBL1), 1,
27146 wlc_phy_papd_decode_epsilon(phy_a9, &phy_a7, &phy_a8);
27148 phy_a3 = ((phy_a7 == 4095) || (phy_a7 == -4096) ||
27149 (phy_a8 == 4095) || (phy_a8 == -4096));
27151 if (!phy_a6 && (phy_a3 != phy_a5)) {
27153 phy_a12 -= (u8) phy_a1;
27160 phy_a12 += (u8) phy_a1;
27162 phy_a12 -= (u8) phy_a1;
27164 if ((phy_a12 < 0) || (phy_a12 > 127)) {
27180 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27181 return (u8) phy_a15[phy_a12];
27183 return (u8) phy_a12;
27188 static void wlc_phy_a4(phy_info_t *pi, bool full_cal)
27190 nphy_ipa_txcalgains_t phy_b1[2];
27191 nphy_papd_restore_state phy_b2;
27195 s16 phy_b6, phy_b7, phy_b8;
27197 s16 phy_b10, phy_b11, phy_b12;
27205 if (pi->nphy_papd_skip == 1)
27209 (0 == (R_REG(&pi->regs->maccontrol) & MCTL_EN_MAC));
27211 wlapi_suspend_mac_and_wait(pi->sh->physhim);
27214 wlc_phy_stay_in_carriersearch_nphy(pi, true);
27216 pi->nphy_force_papd_cal = false;
27218 for (phy_b5 = 0; phy_b5 < pi->pubpi.phy_corenum; phy_b5++)
27219 pi->nphy_papd_tx_gain_at_last_cal[phy_b5] =
27220 wlc_phy_txpwr_idx_cur_get_nphy(pi, phy_b5);
27222 pi->nphy_papd_last_cal = pi->sh->now;
27223 pi->nphy_papd_recal_counter++;
27225 if (NORADIO_ENAB(pi->pubpi))
27228 phy_b4 = pi->nphy_txpwrctrl;
27229 wlc_phy_txpwrctrl_enable_nphy(pi, PHY_TPC_HW_OFF);
27231 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_SCALARTBL0, 64, 0, 32,
27232 nphy_papd_scaltbl);
27233 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_SCALARTBL1, 64, 0, 32,
27234 nphy_papd_scaltbl);
27236 phy_b9 = read_phy_reg(pi, 0x01);
27237 mod_phy_reg(pi, 0x01, (0x1 << 15), 0);
27239 for (phy_b5 = 0; phy_b5 < pi->pubpi.phy_corenum; phy_b5++) {
27241 for (i = 0; i < 64; i++) {
27242 wlc_phy_table_write_nphy(pi,
27245 NPHY_TBL_ID_EPSILONTBL0 :
27246 NPHY_TBL_ID_EPSILONTBL1), 1,
27251 wlc_phy_ipa_restore_tx_digi_filts_nphy(pi);
27253 phy_b2.mm = wlc_phy_ipa_get_bbmult_nphy(pi);
27254 for (phy_b5 = 0; phy_b5 < pi->pubpi.phy_corenum; phy_b5++) {
27255 wlc_phy_papd_cal_setup_nphy(pi, &phy_b2, phy_b5);
27257 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27258 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27260 if ((pi->pubpi.radiorev == 3)
27261 || (pi->pubpi.radiorev == 4)
27262 || (pi->pubpi.radiorev == 6)) {
27264 pi->nphy_papd_cal_gain_index[phy_b5] =
27267 } else if (pi->pubpi.radiorev == 5) {
27269 pi->nphy_papd_cal_gain_index[phy_b5] =
27271 pi->nphy_papd_cal_gain_index[phy_b5] =
27272 wlc_phy_a3_nphy(pi,
27274 nphy_papd_cal_gain_index
27277 } else if ((pi->pubpi.radiorev == 7)
27278 || (pi->pubpi.radiorev == 8)) {
27280 pi->nphy_papd_cal_gain_index[phy_b5] =
27282 pi->nphy_papd_cal_gain_index[phy_b5] =
27283 wlc_phy_a3_nphy(pi,
27285 nphy_papd_cal_gain_index
27290 phy_b1[phy_b5].gains.pad[phy_b5] =
27291 pi->nphy_papd_cal_gain_index[phy_b5];
27294 pi->nphy_papd_cal_gain_index[phy_b5] = 0;
27295 pi->nphy_papd_cal_gain_index[phy_b5] =
27296 wlc_phy_a3_nphy(pi,
27298 nphy_papd_cal_gain_index
27300 phy_b1[phy_b5].gains.pga[phy_b5] =
27301 pi->nphy_papd_cal_gain_index[phy_b5];
27304 phy_b1[phy_b5].useindex = true;
27305 phy_b1[phy_b5].index = 16;
27306 phy_b1[phy_b5].index =
27307 wlc_phy_a3_nphy(pi, phy_b1[phy_b5].index, phy_b5);
27309 pi->nphy_papd_cal_gain_index[phy_b5] =
27310 15 - ((phy_b1[phy_b5].index) >> 3);
27313 switch (pi->nphy_papd_cal_type) {
27315 wlc_phy_a2_nphy(pi, &phy_b1[phy_b5], CAL_FULL, phy_b5);
27318 wlc_phy_a2_nphy(pi, &phy_b1[phy_b5], CAL_SOFT, phy_b5);
27322 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27323 wlc_phy_papd_cal_cleanup_nphy(pi, &phy_b2);
27327 if (NREV_LT(pi->pubpi.phy_rev, 7)) {
27328 wlc_phy_papd_cal_cleanup_nphy(pi, &phy_b2);
27331 for (phy_b5 = 0; phy_b5 < pi->pubpi.phy_corenum; phy_b5++) {
27332 int eps_offset = 0;
27334 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27335 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27336 if (pi->pubpi.radiorev == 3) {
27338 } else if (pi->pubpi.radiorev == 5) {
27347 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27348 phy_b8 = phy_b1[phy_b5].gains.pad[phy_b5];
27350 if ((pi->pubpi.radiorev == 3) ||
27351 (pi->pubpi.radiorev == 4) ||
27352 (pi->pubpi.radiorev == 6)) {
27355 (nphy_papd_padgain_dlt_2g_2057rev3n4
27359 } else if (pi->pubpi.radiorev == 5) {
27361 -(nphy_papd_padgain_dlt_2g_2057rev5
27364 } else if ((pi->pubpi.radiorev == 7) ||
27365 (pi->pubpi.radiorev == 8)) {
27367 -(nphy_papd_padgain_dlt_2g_2057rev7
27372 phy_b7 = phy_b1[phy_b5].gains.pga[phy_b5];
27373 if ((pi->pubpi.radiorev == 3) ||
27374 (pi->pubpi.radiorev == 4) ||
27375 (pi->pubpi.radiorev == 6)) {
27377 -(nphy_papd_pgagain_dlt_5g_2057
27380 } else if ((pi->pubpi.radiorev == 7)
27381 || (pi->pubpi.radiorev == 8)) {
27383 -(nphy_papd_pgagain_dlt_5g_2057rev7
27391 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27393 -60 + 27 + eps_offset + phy_b12 + phy_b10;
27396 -60 + 27 + eps_offset + phy_b11 + phy_b10;
27399 mod_phy_reg(pi, (phy_b5 == PHY_CORE_0) ? 0x298 :
27400 0x29c, (0x1ff << 7), (phy_b6) << 7);
27402 pi->nphy_papd_epsilon_offset[phy_b5] = phy_b6;
27404 if (NREV_LT(pi->pubpi.phy_rev, 5)) {
27410 phy_b7 = 15 - ((phy_b1[phy_b5].index) >> 3);
27412 if (CHSPEC_IS2G(pi->radio_chanspec)) {
27414 -(nphy_papd_pga_gain_delta_ipa_2g[phy_b7] +
27419 -(nphy_papd_pga_gain_delta_ipa_5g[phy_b7] +
27424 phy_b6 = -60 + 27 + eps_offset + phy_b11 + phy_b10;
27426 mod_phy_reg(pi, (phy_b5 == PHY_CORE_0) ? 0x298 :
27427 0x29c, (0x1ff << 7), (phy_b6) << 7);
27429 pi->nphy_papd_epsilon_offset[phy_b5] = phy_b6;
27433 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x297 :
27434 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_ON) << 0);
27436 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x297 :
27437 0x29b, (0x1 << 0), (NPHY_PAPD_COMP_ON) << 0);
27439 if (NREV_GE(pi->pubpi.phy_rev, 6)) {
27440 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x2a3 :
27441 0x2a4, (0x1 << 13), (0) << 13);
27443 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x2a3 :
27444 0x2a4, (0x1 << 13), (0) << 13);
27447 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x2a3 :
27448 0x2a4, (0x1 << 11), (0) << 11);
27450 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x2a3 :
27451 0x2a4, (0x1 << 11), (0) << 11);
27454 pi->nphy_papdcomp = NPHY_PAPD_COMP_ON;
27456 write_phy_reg(pi, 0x01, phy_b9);
27458 wlc_phy_ipa_set_tx_digi_filts_nphy(pi);
27460 wlc_phy_txpwrctrl_enable_nphy(pi, phy_b4);
27461 if (phy_b4 == PHY_TPC_HW_OFF) {
27462 wlc_phy_txpwr_index_nphy(pi, (1 << 0),
27463 (s8) (pi->nphy_txpwrindex[0].
27464 index_internal), false);
27465 wlc_phy_txpwr_index_nphy(pi, (1 << 1),
27466 (s8) (pi->nphy_txpwrindex[1].
27467 index_internal), false);
27470 wlc_phy_stay_in_carriersearch_nphy(pi, false);
27473 wlapi_enable_mac(pi->sh->physhim);
27477 void wlc_phy_txpwr_fixpower_nphy(phy_info_t *pi)
27481 u16 rad_gain, dac_gain, bbmult, m1m2;
27482 u8 txpi[2], chan_freq_range;
27485 if (pi->phyhang_avoid)
27486 wlc_phy_stay_in_carriersearch_nphy(pi, true);
27488 if (pi->sh->sromrev < 4) {
27489 txpi[0] = txpi[1] = 72;
27492 chan_freq_range = wlc_phy_get_chan_freq_range_nphy(pi, 0);
27493 switch (chan_freq_range) {
27494 case WL_CHAN_FREQ_RANGE_2G:
27495 txpi[0] = pi->nphy_txpid2g[0];
27496 txpi[1] = pi->nphy_txpid2g[1];
27498 case WL_CHAN_FREQ_RANGE_5GL:
27499 txpi[0] = pi->nphy_txpid5gl[0];
27500 txpi[1] = pi->nphy_txpid5gl[1];
27502 case WL_CHAN_FREQ_RANGE_5GM:
27503 txpi[0] = pi->nphy_txpid5g[0];
27504 txpi[1] = pi->nphy_txpid5g[1];
27506 case WL_CHAN_FREQ_RANGE_5GH:
27507 txpi[0] = pi->nphy_txpid5gh[0];
27508 txpi[1] = pi->nphy_txpid5gh[1];
27511 txpi[0] = txpi[1] = 91;
27516 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27517 txpi[0] = txpi[1] = 30;
27518 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27519 txpi[0] = txpi[1] = 40;
27522 if (NREV_LT(pi->pubpi.phy_rev, 7)) {
27524 if ((txpi[0] < 40) || (txpi[0] > 100) ||
27525 (txpi[1] < 40) || (txpi[1] > 100))
27526 txpi[0] = txpi[1] = 91;
27529 pi->nphy_txpwrindex[PHY_CORE_0].index_internal = txpi[0];
27530 pi->nphy_txpwrindex[PHY_CORE_1].index_internal = txpi[1];
27531 pi->nphy_txpwrindex[PHY_CORE_0].index_internal_save = txpi[0];
27532 pi->nphy_txpwrindex[PHY_CORE_1].index_internal_save = txpi[1];
27534 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
27535 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27538 wlc_phy_get_ipa_gaintbl_nphy(pi);
27539 txgain = tx_gaintbl[txpi[core]];
27541 if (CHSPEC_IS5G(pi->radio_chanspec)) {
27543 (pi->pubpi.phy_rev, 3) {
27545 nphy_tpc_5GHz_txgain_rev3
27548 (pi->pubpi.phy_rev, 4) {
27550 (pi->srom_fem5g.extpagain ==
27552 nphy_tpc_5GHz_txgain_HiPwrEPA
27554 nphy_tpc_5GHz_txgain_rev4
27558 nphy_tpc_5GHz_txgain_rev5
27562 if (NREV_GE(pi->pubpi.phy_rev, 5) &&
27563 (pi->srom_fem2g.extpagain == 3)) {
27565 nphy_tpc_txgain_HiPwrEPA
27569 nphy_tpc_txgain_rev3[txpi
27575 txgain = nphy_tpc_txgain[txpi[core]];
27578 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27579 rad_gain = (txgain >> 16) & ((1 << (32 - 16 + 1)) - 1);
27581 rad_gain = (txgain >> 16) & ((1 << (28 - 16 + 1)) - 1);
27584 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
27585 dac_gain = (txgain >> 8) & ((1 << (10 - 8 + 1)) - 1);
27587 dac_gain = (txgain >> 8) & ((1 << (13 - 8 + 1)) - 1);
27589 bbmult = (txgain >> 0) & ((1 << (7 - 0 + 1)) - 1);
27591 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27592 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0x8f :
27593 0xa5), (0x1 << 8), (0x1 << 8));
27595 mod_phy_reg(pi, 0xa5, (0x1 << 14), (0x1 << 14));
27597 write_phy_reg(pi, (core == PHY_CORE_0) ? 0xaa : 0xab, dac_gain);
27599 wlc_phy_table_write_nphy(pi, 7, 1, (0x110 + core), 16,
27602 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m1m2);
27603 m1m2 &= ((core == PHY_CORE_0) ? 0x00ff : 0xff00);
27604 m1m2 |= ((core == PHY_CORE_0) ? (bbmult << 8) : (bbmult << 0));
27605 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &m1m2);
27608 wlc_phy_table_read_nphy(pi,
27611 NPHY_TBL_ID_CORE1TXPWRCTL :
27612 NPHY_TBL_ID_CORE2TXPWRCTL), 1,
27613 576 + txpi[core], 32,
27616 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
27617 0x29b, (0x1ff << 4),
27618 ((s16) rfpwr_offset) << 4);
27620 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
27621 0x29b, (0x1 << 2), (1) << 2);
27626 and_phy_reg(pi, 0xbf, (u16) (~(0x1f << 0)));
27628 if (pi->phyhang_avoid)
27629 wlc_phy_stay_in_carriersearch_nphy(pi, false);
27633 wlc_phy_txpwr_nphy_srom_convert(u8 *srom_max, u16 *pwr_offset,
27634 u8 tmp_max_pwr, u8 rate_start,
27638 u8 word_num, nibble_num;
27641 for (rate = rate_start; rate <= rate_end; rate++) {
27642 word_num = (rate - rate_start) >> 2;
27643 nibble_num = (rate - rate_start) & 0x3;
27644 tmp_nibble = (pwr_offset[word_num] >> 4 * nibble_num) & 0xf;
27646 srom_max[rate] = tmp_max_pwr - 2 * tmp_nibble;
27651 wlc_phy_txpwr_nphy_po_apply(u8 *srom_max, u8 pwr_offset,
27652 u8 rate_start, u8 rate_end)
27656 for (rate = rate_start; rate <= rate_end; rate++) {
27657 srom_max[rate] -= 2 * pwr_offset;
27662 wlc_phy_ofdm_to_mcs_powers_nphy(u8 *power, u8 rate_mcs_start,
27663 u8 rate_mcs_end, u8 rate_ofdm_start)
27667 rate2 = rate_ofdm_start;
27668 for (rate1 = rate_mcs_start; rate1 <= rate_mcs_end - 1; rate1++) {
27669 power[rate1] = power[rate2];
27670 rate2 += (rate1 == rate_mcs_start) ? 2 : 1;
27672 power[rate_mcs_end] = power[rate_mcs_end - 1];
27676 wlc_phy_mcs_to_ofdm_powers_nphy(u8 *power, u8 rate_ofdm_start,
27677 u8 rate_ofdm_end, u8 rate_mcs_start)
27681 for (rate1 = rate_ofdm_start, rate2 = rate_mcs_start;
27682 rate1 <= rate_ofdm_end; rate1++, rate2++) {
27683 power[rate1] = power[rate2];
27684 if (rate1 == rate_ofdm_start)
27685 power[++rate1] = power[rate2];
27689 void wlc_phy_txpwr_apply_nphy(phy_info_t *pi)
27691 uint rate1, rate2, band_num;
27692 u8 tmp_bw40po = 0, tmp_cddpo = 0, tmp_stbcpo = 0;
27693 u8 tmp_max_pwr = 0;
27694 u16 pwr_offsets1[2], *pwr_offsets2 = NULL;
27695 u8 *tx_srom_max_rate = NULL;
27697 for (band_num = 0; band_num < (CH_2G_GROUP + CH_5G_GROUP); band_num++) {
27698 switch (band_num) {
27701 tmp_max_pwr = min(pi->nphy_pwrctrl_info[0].max_pwr_2g,
27702 pi->nphy_pwrctrl_info[1].max_pwr_2g);
27704 pwr_offsets1[0] = pi->cck2gpo;
27705 wlc_phy_txpwr_nphy_srom_convert(pi->tx_srom_max_rate_2g,
27711 pwr_offsets1[0] = (u16) (pi->ofdm2gpo & 0xffff);
27713 (u16) (pi->ofdm2gpo >> 16) & 0xffff;
27715 pwr_offsets2 = pi->mcs2gpo;
27717 tmp_cddpo = pi->cdd2gpo;
27718 tmp_stbcpo = pi->stbc2gpo;
27719 tmp_bw40po = pi->bw402gpo;
27721 tx_srom_max_rate = pi->tx_srom_max_rate_2g;
27725 tmp_max_pwr = min(pi->nphy_pwrctrl_info[0].max_pwr_5gm,
27726 pi->nphy_pwrctrl_info[1].max_pwr_5gm);
27728 pwr_offsets1[0] = (u16) (pi->ofdm5gpo & 0xffff);
27730 (u16) (pi->ofdm5gpo >> 16) & 0xffff;
27732 pwr_offsets2 = pi->mcs5gpo;
27734 tmp_cddpo = pi->cdd5gpo;
27735 tmp_stbcpo = pi->stbc5gpo;
27736 tmp_bw40po = pi->bw405gpo;
27738 tx_srom_max_rate = pi->tx_srom_max_rate_5g_mid;
27742 tmp_max_pwr = min(pi->nphy_pwrctrl_info[0].max_pwr_5gl,
27743 pi->nphy_pwrctrl_info[1].max_pwr_5gl);
27745 pwr_offsets1[0] = (u16) (pi->ofdm5glpo & 0xffff);
27747 (u16) (pi->ofdm5glpo >> 16) & 0xffff;
27749 pwr_offsets2 = pi->mcs5glpo;
27751 tmp_cddpo = pi->cdd5glpo;
27752 tmp_stbcpo = pi->stbc5glpo;
27753 tmp_bw40po = pi->bw405glpo;
27755 tx_srom_max_rate = pi->tx_srom_max_rate_5g_low;
27759 tmp_max_pwr = min(pi->nphy_pwrctrl_info[0].max_pwr_5gh,
27760 pi->nphy_pwrctrl_info[1].max_pwr_5gh);
27762 pwr_offsets1[0] = (u16) (pi->ofdm5ghpo & 0xffff);
27764 (u16) (pi->ofdm5ghpo >> 16) & 0xffff;
27766 pwr_offsets2 = pi->mcs5ghpo;
27768 tmp_cddpo = pi->cdd5ghpo;
27769 tmp_stbcpo = pi->stbc5ghpo;
27770 tmp_bw40po = pi->bw405ghpo;
27772 tx_srom_max_rate = pi->tx_srom_max_rate_5g_hi;
27776 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate, pwr_offsets1,
27777 tmp_max_pwr, TXP_FIRST_OFDM,
27780 wlc_phy_ofdm_to_mcs_powers_nphy(tx_srom_max_rate,
27781 TXP_FIRST_MCS_20_SISO,
27782 TXP_LAST_MCS_20_SISO,
27785 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate, pwr_offsets2,
27787 TXP_FIRST_MCS_20_CDD,
27788 TXP_LAST_MCS_20_CDD);
27790 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27792 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate, tmp_cddpo,
27793 TXP_FIRST_MCS_20_CDD,
27794 TXP_LAST_MCS_20_CDD);
27797 wlc_phy_mcs_to_ofdm_powers_nphy(tx_srom_max_rate,
27798 TXP_FIRST_OFDM_20_CDD,
27799 TXP_LAST_OFDM_20_CDD,
27800 TXP_FIRST_MCS_20_CDD);
27802 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate, pwr_offsets2,
27804 TXP_FIRST_MCS_20_STBC,
27805 TXP_LAST_MCS_20_STBC);
27807 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27809 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate,
27811 TXP_FIRST_MCS_20_STBC,
27812 TXP_LAST_MCS_20_STBC);
27815 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
27816 &pwr_offsets2[2], tmp_max_pwr,
27817 TXP_FIRST_MCS_20_SDM,
27818 TXP_LAST_MCS_20_SDM);
27820 if (NPHY_IS_SROM_REINTERPRET) {
27822 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
27825 TXP_FIRST_MCS_40_SISO,
27826 TXP_LAST_MCS_40_SISO);
27828 wlc_phy_mcs_to_ofdm_powers_nphy(tx_srom_max_rate,
27829 TXP_FIRST_OFDM_40_SISO,
27830 TXP_LAST_OFDM_40_SISO,
27831 TXP_FIRST_MCS_40_SISO);
27833 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
27836 TXP_FIRST_MCS_40_CDD,
27837 TXP_LAST_MCS_40_CDD);
27839 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate, tmp_cddpo,
27840 TXP_FIRST_MCS_40_CDD,
27841 TXP_LAST_MCS_40_CDD);
27843 wlc_phy_mcs_to_ofdm_powers_nphy(tx_srom_max_rate,
27844 TXP_FIRST_OFDM_40_CDD,
27845 TXP_LAST_OFDM_40_CDD,
27846 TXP_FIRST_MCS_40_CDD);
27848 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
27851 TXP_FIRST_MCS_40_STBC,
27852 TXP_LAST_MCS_40_STBC);
27854 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate,
27856 TXP_FIRST_MCS_40_STBC,
27857 TXP_LAST_MCS_40_STBC);
27859 wlc_phy_txpwr_nphy_srom_convert(tx_srom_max_rate,
27862 TXP_FIRST_MCS_40_SDM,
27863 TXP_LAST_MCS_40_SDM);
27866 for (rate1 = TXP_FIRST_OFDM_40_SISO, rate2 =
27867 TXP_FIRST_OFDM; rate1 <= TXP_LAST_MCS_40_SDM;
27869 tx_srom_max_rate[rate1] =
27870 tx_srom_max_rate[rate2];
27873 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
27874 wlc_phy_txpwr_nphy_po_apply(tx_srom_max_rate,
27876 TXP_FIRST_OFDM_40_SISO,
27877 TXP_LAST_MCS_40_SDM);
27880 tx_srom_max_rate[TXP_MCS_32] =
27881 tx_srom_max_rate[TXP_FIRST_MCS_40_CDD];
27887 static void wlc_phy_txpwr_srom_read_ppr_nphy(phy_info_t *pi)
27889 u16 bw40po, cddpo, stbcpo, bwduppo;
27892 if (pi->sh->sromrev >= 9) {
27897 bw40po = (u16) PHY_GETINTVAR(pi, "bw40po");
27898 pi->bw402gpo = bw40po & 0xf;
27899 pi->bw405gpo = (bw40po & 0xf0) >> 4;
27900 pi->bw405glpo = (bw40po & 0xf00) >> 8;
27901 pi->bw405ghpo = (bw40po & 0xf000) >> 12;
27903 cddpo = (u16) PHY_GETINTVAR(pi, "cddpo");
27904 pi->cdd2gpo = cddpo & 0xf;
27905 pi->cdd5gpo = (cddpo & 0xf0) >> 4;
27906 pi->cdd5glpo = (cddpo & 0xf00) >> 8;
27907 pi->cdd5ghpo = (cddpo & 0xf000) >> 12;
27909 stbcpo = (u16) PHY_GETINTVAR(pi, "stbcpo");
27910 pi->stbc2gpo = stbcpo & 0xf;
27911 pi->stbc5gpo = (stbcpo & 0xf0) >> 4;
27912 pi->stbc5glpo = (stbcpo & 0xf00) >> 8;
27913 pi->stbc5ghpo = (stbcpo & 0xf000) >> 12;
27915 bwduppo = (u16) PHY_GETINTVAR(pi, "bwduppo");
27916 pi->bwdup2gpo = bwduppo & 0xf;
27917 pi->bwdup5gpo = (bwduppo & 0xf0) >> 4;
27918 pi->bwdup5glpo = (bwduppo & 0xf00) >> 8;
27919 pi->bwdup5ghpo = (bwduppo & 0xf000) >> 12;
27921 for (band_num = 0; band_num < (CH_2G_GROUP + CH_5G_GROUP); band_num++) {
27922 switch (band_num) {
27925 pi->nphy_txpid2g[PHY_CORE_0] =
27926 (u8) PHY_GETINTVAR(pi, "txpid2ga0");
27927 pi->nphy_txpid2g[PHY_CORE_1] =
27928 (u8) PHY_GETINTVAR(pi, "txpid2ga1");
27929 pi->nphy_pwrctrl_info[PHY_CORE_0].max_pwr_2g =
27930 (s8) PHY_GETINTVAR(pi, "maxp2ga0");
27931 pi->nphy_pwrctrl_info[PHY_CORE_1].max_pwr_2g =
27932 (s8) PHY_GETINTVAR(pi, "maxp2ga1");
27933 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_2g_a1 =
27934 (s16) PHY_GETINTVAR(pi, "pa2gw0a0");
27935 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_2g_a1 =
27936 (s16) PHY_GETINTVAR(pi, "pa2gw0a1");
27937 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_2g_b0 =
27938 (s16) PHY_GETINTVAR(pi, "pa2gw1a0");
27939 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_2g_b0 =
27940 (s16) PHY_GETINTVAR(pi, "pa2gw1a1");
27941 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_2g_b1 =
27942 (s16) PHY_GETINTVAR(pi, "pa2gw2a0");
27943 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_2g_b1 =
27944 (s16) PHY_GETINTVAR(pi, "pa2gw2a1");
27945 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_targ_2g =
27946 (s8) PHY_GETINTVAR(pi, "itt2ga0");
27947 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_targ_2g =
27948 (s8) PHY_GETINTVAR(pi, "itt2ga1");
27950 pi->cck2gpo = (u16) PHY_GETINTVAR(pi, "cck2gpo");
27952 pi->ofdm2gpo = (u32) PHY_GETINTVAR(pi, "ofdm2gpo");
27954 pi->mcs2gpo[0] = (u16) PHY_GETINTVAR(pi, "mcs2gpo0");
27955 pi->mcs2gpo[1] = (u16) PHY_GETINTVAR(pi, "mcs2gpo1");
27956 pi->mcs2gpo[2] = (u16) PHY_GETINTVAR(pi, "mcs2gpo2");
27957 pi->mcs2gpo[3] = (u16) PHY_GETINTVAR(pi, "mcs2gpo3");
27958 pi->mcs2gpo[4] = (u16) PHY_GETINTVAR(pi, "mcs2gpo4");
27959 pi->mcs2gpo[5] = (u16) PHY_GETINTVAR(pi, "mcs2gpo5");
27960 pi->mcs2gpo[6] = (u16) PHY_GETINTVAR(pi, "mcs2gpo6");
27961 pi->mcs2gpo[7] = (u16) PHY_GETINTVAR(pi, "mcs2gpo7");
27965 pi->nphy_txpid5g[PHY_CORE_0] =
27966 (u8) PHY_GETINTVAR(pi, "txpid5ga0");
27967 pi->nphy_txpid5g[PHY_CORE_1] =
27968 (u8) PHY_GETINTVAR(pi, "txpid5ga1");
27969 pi->nphy_pwrctrl_info[PHY_CORE_0].max_pwr_5gm =
27970 (s8) PHY_GETINTVAR(pi, "maxp5ga0");
27971 pi->nphy_pwrctrl_info[PHY_CORE_1].max_pwr_5gm =
27972 (s8) PHY_GETINTVAR(pi, "maxp5ga1");
27973 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_5gm_a1 =
27974 (s16) PHY_GETINTVAR(pi, "pa5gw0a0");
27975 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_5gm_a1 =
27976 (s16) PHY_GETINTVAR(pi, "pa5gw0a1");
27977 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_5gm_b0 =
27978 (s16) PHY_GETINTVAR(pi, "pa5gw1a0");
27979 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_5gm_b0 =
27980 (s16) PHY_GETINTVAR(pi, "pa5gw1a1");
27981 pi->nphy_pwrctrl_info[PHY_CORE_0].pwrdet_5gm_b1 =
27982 (s16) PHY_GETINTVAR(pi, "pa5gw2a0");
27983 pi->nphy_pwrctrl_info[PHY_CORE_1].pwrdet_5gm_b1 =
27984 (s16) PHY_GETINTVAR(pi, "pa5gw2a1");
27985 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_targ_5gm =
27986 (s8) PHY_GETINTVAR(pi, "itt5ga0");
27987 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_targ_5gm =
27988 (s8) PHY_GETINTVAR(pi, "itt5ga1");
27990 pi->ofdm5gpo = (u32) PHY_GETINTVAR(pi, "ofdm5gpo");
27992 pi->mcs5gpo[0] = (u16) PHY_GETINTVAR(pi, "mcs5gpo0");
27993 pi->mcs5gpo[1] = (u16) PHY_GETINTVAR(pi, "mcs5gpo1");
27994 pi->mcs5gpo[2] = (u16) PHY_GETINTVAR(pi, "mcs5gpo2");
27995 pi->mcs5gpo[3] = (u16) PHY_GETINTVAR(pi, "mcs5gpo3");
27996 pi->mcs5gpo[4] = (u16) PHY_GETINTVAR(pi, "mcs5gpo4");
27997 pi->mcs5gpo[5] = (u16) PHY_GETINTVAR(pi, "mcs5gpo5");
27998 pi->mcs5gpo[6] = (u16) PHY_GETINTVAR(pi, "mcs5gpo6");
27999 pi->mcs5gpo[7] = (u16) PHY_GETINTVAR(pi, "mcs5gpo7");
28003 pi->nphy_txpid5gl[0] =
28004 (u8) PHY_GETINTVAR(pi, "txpid5gla0");
28005 pi->nphy_txpid5gl[1] =
28006 (u8) PHY_GETINTVAR(pi, "txpid5gla1");
28007 pi->nphy_pwrctrl_info[0].max_pwr_5gl =
28008 (s8) PHY_GETINTVAR(pi, "maxp5gla0");
28009 pi->nphy_pwrctrl_info[1].max_pwr_5gl =
28010 (s8) PHY_GETINTVAR(pi, "maxp5gla1");
28011 pi->nphy_pwrctrl_info[0].pwrdet_5gl_a1 =
28012 (s16) PHY_GETINTVAR(pi, "pa5glw0a0");
28013 pi->nphy_pwrctrl_info[1].pwrdet_5gl_a1 =
28014 (s16) PHY_GETINTVAR(pi, "pa5glw0a1");
28015 pi->nphy_pwrctrl_info[0].pwrdet_5gl_b0 =
28016 (s16) PHY_GETINTVAR(pi, "pa5glw1a0");
28017 pi->nphy_pwrctrl_info[1].pwrdet_5gl_b0 =
28018 (s16) PHY_GETINTVAR(pi, "pa5glw1a1");
28019 pi->nphy_pwrctrl_info[0].pwrdet_5gl_b1 =
28020 (s16) PHY_GETINTVAR(pi, "pa5glw2a0");
28021 pi->nphy_pwrctrl_info[1].pwrdet_5gl_b1 =
28022 (s16) PHY_GETINTVAR(pi, "pa5glw2a1");
28023 pi->nphy_pwrctrl_info[0].idle_targ_5gl = 0;
28024 pi->nphy_pwrctrl_info[1].idle_targ_5gl = 0;
28026 pi->ofdm5glpo = (u32) PHY_GETINTVAR(pi, "ofdm5glpo");
28029 (u16) PHY_GETINTVAR(pi, "mcs5glpo0");
28031 (u16) PHY_GETINTVAR(pi, "mcs5glpo1");
28033 (u16) PHY_GETINTVAR(pi, "mcs5glpo2");
28035 (u16) PHY_GETINTVAR(pi, "mcs5glpo3");
28037 (u16) PHY_GETINTVAR(pi, "mcs5glpo4");
28039 (u16) PHY_GETINTVAR(pi, "mcs5glpo5");
28041 (u16) PHY_GETINTVAR(pi, "mcs5glpo6");
28043 (u16) PHY_GETINTVAR(pi, "mcs5glpo7");
28047 pi->nphy_txpid5gh[0] =
28048 (u8) PHY_GETINTVAR(pi, "txpid5gha0");
28049 pi->nphy_txpid5gh[1] =
28050 (u8) PHY_GETINTVAR(pi, "txpid5gha1");
28051 pi->nphy_pwrctrl_info[0].max_pwr_5gh =
28052 (s8) PHY_GETINTVAR(pi, "maxp5gha0");
28053 pi->nphy_pwrctrl_info[1].max_pwr_5gh =
28054 (s8) PHY_GETINTVAR(pi, "maxp5gha1");
28055 pi->nphy_pwrctrl_info[0].pwrdet_5gh_a1 =
28056 (s16) PHY_GETINTVAR(pi, "pa5ghw0a0");
28057 pi->nphy_pwrctrl_info[1].pwrdet_5gh_a1 =
28058 (s16) PHY_GETINTVAR(pi, "pa5ghw0a1");
28059 pi->nphy_pwrctrl_info[0].pwrdet_5gh_b0 =
28060 (s16) PHY_GETINTVAR(pi, "pa5ghw1a0");
28061 pi->nphy_pwrctrl_info[1].pwrdet_5gh_b0 =
28062 (s16) PHY_GETINTVAR(pi, "pa5ghw1a1");
28063 pi->nphy_pwrctrl_info[0].pwrdet_5gh_b1 =
28064 (s16) PHY_GETINTVAR(pi, "pa5ghw2a0");
28065 pi->nphy_pwrctrl_info[1].pwrdet_5gh_b1 =
28066 (s16) PHY_GETINTVAR(pi, "pa5ghw2a1");
28067 pi->nphy_pwrctrl_info[0].idle_targ_5gh = 0;
28068 pi->nphy_pwrctrl_info[1].idle_targ_5gh = 0;
28070 pi->ofdm5ghpo = (u32) PHY_GETINTVAR(pi, "ofdm5ghpo");
28073 (u16) PHY_GETINTVAR(pi, "mcs5ghpo0");
28075 (u16) PHY_GETINTVAR(pi, "mcs5ghpo1");
28077 (u16) PHY_GETINTVAR(pi, "mcs5ghpo2");
28079 (u16) PHY_GETINTVAR(pi, "mcs5ghpo3");
28081 (u16) PHY_GETINTVAR(pi, "mcs5ghpo4");
28083 (u16) PHY_GETINTVAR(pi, "mcs5ghpo5");
28085 (u16) PHY_GETINTVAR(pi, "mcs5ghpo6");
28087 (u16) PHY_GETINTVAR(pi, "mcs5ghpo7");
28092 wlc_phy_txpwr_apply_nphy(pi);
28095 static bool wlc_phy_txpwr_srom_read_nphy(phy_info_t *pi)
28098 pi->antswitch = (u8) PHY_GETINTVAR(pi, "antswitch");
28099 pi->aa2g = (u8) PHY_GETINTVAR(pi, "aa2g");
28100 pi->aa5g = (u8) PHY_GETINTVAR(pi, "aa5g");
28102 pi->srom_fem2g.tssipos = (u8) PHY_GETINTVAR(pi, "tssipos2g");
28103 pi->srom_fem2g.extpagain = (u8) PHY_GETINTVAR(pi, "extpagain2g");
28104 pi->srom_fem2g.pdetrange = (u8) PHY_GETINTVAR(pi, "pdetrange2g");
28105 pi->srom_fem2g.triso = (u8) PHY_GETINTVAR(pi, "triso2g");
28106 pi->srom_fem2g.antswctrllut = (u8) PHY_GETINTVAR(pi, "antswctl2g");
28108 pi->srom_fem5g.tssipos = (u8) PHY_GETINTVAR(pi, "tssipos5g");
28109 pi->srom_fem5g.extpagain = (u8) PHY_GETINTVAR(pi, "extpagain5g");
28110 pi->srom_fem5g.pdetrange = (u8) PHY_GETINTVAR(pi, "pdetrange5g");
28111 pi->srom_fem5g.triso = (u8) PHY_GETINTVAR(pi, "triso5g");
28112 if (PHY_GETVAR(pi, "antswctl5g")) {
28114 pi->srom_fem5g.antswctrllut =
28115 (u8) PHY_GETINTVAR(pi, "antswctl5g");
28118 pi->srom_fem5g.antswctrllut =
28119 (u8) PHY_GETINTVAR(pi, "antswctl2g");
28122 wlc_phy_txpower_ipa_upd(pi);
28124 pi->phy_txcore_disable_temp = (s16) PHY_GETINTVAR(pi, "tempthresh");
28125 if (pi->phy_txcore_disable_temp == 0) {
28126 pi->phy_txcore_disable_temp = PHY_CHAIN_TX_DISABLE_TEMP;
28129 pi->phy_tempsense_offset = (s8) PHY_GETINTVAR(pi, "tempoffset");
28130 if (pi->phy_tempsense_offset != 0) {
28131 if (pi->phy_tempsense_offset >
28132 (NPHY_SROM_TEMPSHIFT + NPHY_SROM_MAXTEMPOFFSET)) {
28133 pi->phy_tempsense_offset = NPHY_SROM_MAXTEMPOFFSET;
28134 } else if (pi->phy_tempsense_offset < (NPHY_SROM_TEMPSHIFT +
28135 NPHY_SROM_MINTEMPOFFSET)) {
28136 pi->phy_tempsense_offset = NPHY_SROM_MINTEMPOFFSET;
28138 pi->phy_tempsense_offset -= NPHY_SROM_TEMPSHIFT;
28142 pi->phy_txcore_enable_temp =
28143 pi->phy_txcore_disable_temp - PHY_HYSTERESIS_DELTATEMP;
28145 pi->phycal_tempdelta = (u8) PHY_GETINTVAR(pi, "phycal_tempdelta");
28146 if (pi->phycal_tempdelta > NPHY_CAL_MAXTEMPDELTA) {
28147 pi->phycal_tempdelta = 0;
28150 wlc_phy_txpwr_srom_read_ppr_nphy(pi);
28155 void wlc_phy_txpower_recalc_target_nphy(phy_info_t *pi)
28157 u8 tx_pwr_ctrl_state;
28158 wlc_phy_txpwr_limit_to_tbl_nphy(pi);
28159 wlc_phy_txpwrctrl_pwr_setup_nphy(pi);
28161 tx_pwr_ctrl_state = pi->nphy_txpwrctrl;
28163 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12)) {
28164 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, MCTL_PHYLOCK);
28165 (void)R_REG(&pi->regs->maccontrol);
28169 wlc_phy_txpwrctrl_enable_nphy(pi, tx_pwr_ctrl_state);
28171 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12))
28172 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, 0);
28175 static void wlc_phy_txpwrctrl_coeff_setup_nphy(phy_info_t *pi)
28179 u32 iqcomp, locomp, curr_locomp;
28180 s8 locomp_i, locomp_q;
28181 s8 curr_locomp_i, curr_locomp_q;
28182 u32 tbl_id, tbl_len, tbl_offset;
28185 if (pi->phyhang_avoid)
28186 wlc_phy_stay_in_carriersearch_nphy(pi, true);
28188 wlc_phy_table_read_nphy(pi, 15, 7, 80, 16, iqloCalbuf);
28192 for (tbl_id = NPHY_TBL_ID_CORE1TXPWRCTL;
28193 tbl_id <= NPHY_TBL_ID_CORE2TXPWRCTL; tbl_id++) {
28196 26) ? (((u32) (iqloCalbuf[0] & 0x3ff)) << 10) |
28197 (iqloCalbuf[1] & 0x3ff)
28198 : (((u32) (iqloCalbuf[2] & 0x3ff)) << 10) |
28199 (iqloCalbuf[3] & 0x3ff);
28201 for (idx = 0; idx < tbl_len; idx++) {
28202 regval[idx] = iqcomp;
28204 wlc_phy_table_write_nphy(pi, tbl_id, tbl_len, tbl_offset, 32,
28209 for (tbl_id = NPHY_TBL_ID_CORE1TXPWRCTL;
28210 tbl_id <= NPHY_TBL_ID_CORE2TXPWRCTL; tbl_id++) {
28213 (u32) ((tbl_id == 26) ? iqloCalbuf[5] : iqloCalbuf[6]);
28214 locomp_i = (s8) ((locomp >> 8) & 0xff);
28215 locomp_q = (s8) ((locomp) & 0xff);
28216 for (idx = 0; idx < tbl_len; idx++) {
28217 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28218 curr_locomp_i = locomp_i;
28219 curr_locomp_q = locomp_q;
28221 curr_locomp_i = (s8) ((locomp_i *
28222 nphy_tpc_loscale[idx] +
28225 (s8) ((locomp_q * nphy_tpc_loscale[idx] +
28228 curr_locomp = (u32) ((curr_locomp_i & 0xff) << 8);
28229 curr_locomp |= (u32) (curr_locomp_q & 0xff);
28230 regval[idx] = curr_locomp;
28232 wlc_phy_table_write_nphy(pi, tbl_id, tbl_len, tbl_offset, 32,
28236 if (NREV_LT(pi->pubpi.phy_rev, 2)) {
28238 wlapi_bmac_write_shm(pi->sh->physhim, M_CURR_IDX1, 0xFFFF);
28239 wlapi_bmac_write_shm(pi->sh->physhim, M_CURR_IDX2, 0xFFFF);
28242 if (pi->phyhang_avoid)
28243 wlc_phy_stay_in_carriersearch_nphy(pi, false);
28246 static void wlc_phy_ipa_internal_tssi_setup_nphy(phy_info_t *pi)
28250 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28251 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
28252 if (CHSPEC_IS2G(pi->radio_chanspec)) {
28253 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
28254 TX_SSI_MASTER, 0x5);
28255 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
28258 if (pi->pubpi.radiorev != 5)
28259 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
28262 if (!NREV_IS(pi->pubpi.phy_rev, 7)) {
28264 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
28268 WRITE_RADIO_REG3(pi, RADIO_2057, TX,
28269 core, TSSIG, 0x31);
28272 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
28273 TX_SSI_MASTER, 0x9);
28274 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
28276 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core,
28279 if (pi->pubpi.radiorev != 5) {
28280 if (!NREV_IS(pi->pubpi.phy_rev, 7)) {
28282 WRITE_RADIO_REG3(pi, RADIO_2057,
28287 WRITE_RADIO_REG3(pi, RADIO_2057,
28293 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, IQCAL_VCM_HG,
28295 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, IQCAL_IDAC,
28297 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_VCM,
28299 WRITE_RADIO_REG3(pi, RADIO_2057, TX, core, TSSI_MISC1,
28303 WRITE_RADIO_SYN(pi, RADIO_2056, RESERVED_ADDR31,
28304 (CHSPEC_IS2G(pi->radio_chanspec)) ? 0x128 :
28306 WRITE_RADIO_SYN(pi, RADIO_2056, RESERVED_ADDR30, 0x0);
28307 WRITE_RADIO_SYN(pi, RADIO_2056, GPIO_MASTER1, 0x29);
28309 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
28310 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, IQCAL_VCM_HG,
28312 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, IQCAL_IDAC,
28314 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TSSI_VCM,
28316 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TX_AMP_DET,
28318 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TSSI_MISC1,
28320 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TSSI_MISC2,
28322 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core, TSSI_MISC3,
28325 if (CHSPEC_IS2G(pi->radio_chanspec)) {
28326 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28327 TX_SSI_MASTER, 0x5);
28329 if (pi->pubpi.radiorev != 5)
28330 WRITE_RADIO_REG2(pi, RADIO_2056, TX,
28332 if (NREV_GE(pi->pubpi.phy_rev, 5)) {
28334 WRITE_RADIO_REG2(pi, RADIO_2056, TX,
28335 core, TSSIG, 0x31);
28337 WRITE_RADIO_REG2(pi, RADIO_2056, TX,
28338 core, TSSIG, 0x11);
28340 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28343 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28344 TX_SSI_MASTER, 0x9);
28345 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28347 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28349 WRITE_RADIO_REG2(pi, RADIO_2056, TX, core,
28356 static void wlc_phy_txpwrctrl_idle_tssi_nphy(phy_info_t *pi)
28361 if (SCAN_RM_IN_PROGRESS(pi) || PLT_INPROG_PHY(pi) || PHY_MUTED(pi))
28366 wlc_phy_ipa_internal_tssi_setup_nphy(pi);
28369 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28370 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 12),
28372 NPHY_REV7_RFCTRLOVERRIDE_ID0);
28373 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28374 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 13), 0, 3, 0);
28377 wlc_phy_stopplayback_nphy(pi);
28379 wlc_phy_tx_tone_nphy(pi, 4000, 0, 0, 0, false);
28383 wlc_phy_poll_rssi_nphy(pi, (u8) NPHY_RSSI_SEL_TSSI_2G, rssi_buf,
28385 wlc_phy_stopplayback_nphy(pi);
28386 wlc_phy_rssisel_nphy(pi, RADIO_MIMO_CORESEL_OFF, 0);
28388 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28389 wlc_phy_rfctrl_override_nphy_rev7(pi, (0x1 << 12),
28391 NPHY_REV7_RFCTRLOVERRIDE_ID0);
28392 } else if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28393 wlc_phy_rfctrl_override_nphy(pi, (0x1 << 13), 0, 3, 1);
28396 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28398 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_tssi_2g =
28399 (u8) ((int_val >> 24) & 0xff);
28400 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_tssi_5g =
28401 (u8) ((int_val >> 24) & 0xff);
28403 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_tssi_2g =
28404 (u8) ((int_val >> 8) & 0xff);
28405 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_tssi_5g =
28406 (u8) ((int_val >> 8) & 0xff);
28408 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_tssi_2g =
28409 (u8) ((int_val >> 24) & 0xff);
28411 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_tssi_2g =
28412 (u8) ((int_val >> 8) & 0xff);
28414 pi->nphy_pwrctrl_info[PHY_CORE_0].idle_tssi_5g =
28415 (u8) ((int_val >> 16) & 0xff);
28416 pi->nphy_pwrctrl_info[PHY_CORE_1].idle_tssi_5g =
28417 (u8) ((int_val) & 0xff);
28422 static void wlc_phy_txpwrctrl_pwr_setup_nphy(phy_info_t *pi)
28425 s16 a1[2], b0[2], b1[2];
28426 s8 target_pwr_qtrdbm[2];
28427 s32 num, den, pwr_est;
28428 u8 chan_freq_range;
28430 u32 tbl_id, tbl_len, tbl_offset;
28434 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12)) {
28435 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, MCTL_PHYLOCK);
28436 (void)R_REG(&pi->regs->maccontrol);
28440 if (pi->phyhang_avoid)
28441 wlc_phy_stay_in_carriersearch_nphy(pi, true);
28443 or_phy_reg(pi, 0x122, (0x1 << 0));
28445 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28446 and_phy_reg(pi, 0x1e7, (u16) (~(0x1 << 15)));
28449 or_phy_reg(pi, 0x1e7, (0x1 << 15));
28452 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12))
28453 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, 0);
28455 if (pi->sh->sromrev < 4) {
28456 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_2g;
28457 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_2g;
28458 target_pwr_qtrdbm[0] = 13 * 4;
28459 target_pwr_qtrdbm[1] = 13 * 4;
28468 chan_freq_range = wlc_phy_get_chan_freq_range_nphy(pi, 0);
28469 switch (chan_freq_range) {
28470 case WL_CHAN_FREQ_RANGE_2G:
28471 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_2g;
28472 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_2g;
28473 target_pwr_qtrdbm[0] =
28474 pi->nphy_pwrctrl_info[0].max_pwr_2g;
28475 target_pwr_qtrdbm[1] =
28476 pi->nphy_pwrctrl_info[1].max_pwr_2g;
28477 a1[0] = pi->nphy_pwrctrl_info[0].pwrdet_2g_a1;
28478 a1[1] = pi->nphy_pwrctrl_info[1].pwrdet_2g_a1;
28479 b0[0] = pi->nphy_pwrctrl_info[0].pwrdet_2g_b0;
28480 b0[1] = pi->nphy_pwrctrl_info[1].pwrdet_2g_b0;
28481 b1[0] = pi->nphy_pwrctrl_info[0].pwrdet_2g_b1;
28482 b1[1] = pi->nphy_pwrctrl_info[1].pwrdet_2g_b1;
28484 case WL_CHAN_FREQ_RANGE_5GL:
28485 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_5g;
28486 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_5g;
28487 target_pwr_qtrdbm[0] =
28488 pi->nphy_pwrctrl_info[0].max_pwr_5gl;
28489 target_pwr_qtrdbm[1] =
28490 pi->nphy_pwrctrl_info[1].max_pwr_5gl;
28491 a1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gl_a1;
28492 a1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gl_a1;
28493 b0[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gl_b0;
28494 b0[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gl_b0;
28495 b1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gl_b1;
28496 b1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gl_b1;
28498 case WL_CHAN_FREQ_RANGE_5GM:
28499 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_5g;
28500 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_5g;
28501 target_pwr_qtrdbm[0] =
28502 pi->nphy_pwrctrl_info[0].max_pwr_5gm;
28503 target_pwr_qtrdbm[1] =
28504 pi->nphy_pwrctrl_info[1].max_pwr_5gm;
28505 a1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gm_a1;
28506 a1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gm_a1;
28507 b0[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gm_b0;
28508 b0[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gm_b0;
28509 b1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gm_b1;
28510 b1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gm_b1;
28512 case WL_CHAN_FREQ_RANGE_5GH:
28513 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_5g;
28514 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_5g;
28515 target_pwr_qtrdbm[0] =
28516 pi->nphy_pwrctrl_info[0].max_pwr_5gh;
28517 target_pwr_qtrdbm[1] =
28518 pi->nphy_pwrctrl_info[1].max_pwr_5gh;
28519 a1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gh_a1;
28520 a1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gh_a1;
28521 b0[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gh_b0;
28522 b0[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gh_b0;
28523 b1[0] = pi->nphy_pwrctrl_info[0].pwrdet_5gh_b1;
28524 b1[1] = pi->nphy_pwrctrl_info[1].pwrdet_5gh_b1;
28527 idle_tssi[0] = pi->nphy_pwrctrl_info[0].idle_tssi_2g;
28528 idle_tssi[1] = pi->nphy_pwrctrl_info[1].idle_tssi_2g;
28529 target_pwr_qtrdbm[0] = 13 * 4;
28530 target_pwr_qtrdbm[1] = 13 * 4;
28541 target_pwr_qtrdbm[0] = (s8) pi->tx_power_max;
28542 target_pwr_qtrdbm[1] = (s8) pi->tx_power_max;
28544 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28545 if (pi->srom_fem2g.tssipos) {
28546 or_phy_reg(pi, 0x1e9, (0x1 << 14));
28549 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28550 for (core = 0; core <= 1; core++) {
28553 if (CHSPEC_IS2G(pi->radio_chanspec)) {
28554 WRITE_RADIO_REG3(pi, RADIO_2057,
28559 WRITE_RADIO_REG3(pi, RADIO_2057,
28570 write_radio_reg(pi, RADIO_2056_TX_TX_SSI_MUX |
28574 radio_chanspec)) ? 0xc : 0xe);
28575 write_radio_reg(pi,
28576 RADIO_2056_TX_TX_SSI_MUX |
28580 radio_chanspec)) ? 0xc : 0xe);
28583 write_radio_reg(pi, RADIO_2056_TX_TX_SSI_MUX |
28584 RADIO_2056_TX0, 0x11);
28585 write_radio_reg(pi, RADIO_2056_TX_TX_SSI_MUX |
28586 RADIO_2056_TX1, 0x11);
28591 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12)) {
28592 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, MCTL_PHYLOCK);
28593 (void)R_REG(&pi->regs->maccontrol);
28597 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28598 mod_phy_reg(pi, 0x1e7, (0x7f << 0),
28599 (NPHY_TxPwrCtrlCmd_pwrIndex_init_rev7 << 0));
28601 mod_phy_reg(pi, 0x1e7, (0x7f << 0),
28602 (NPHY_TxPwrCtrlCmd_pwrIndex_init << 0));
28605 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28606 mod_phy_reg(pi, 0x222, (0xff << 0),
28607 (NPHY_TxPwrCtrlCmd_pwrIndex_init_rev7 << 0));
28608 } else if (NREV_GT(pi->pubpi.phy_rev, 1)) {
28609 mod_phy_reg(pi, 0x222, (0xff << 0),
28610 (NPHY_TxPwrCtrlCmd_pwrIndex_init << 0));
28613 if (D11REV_IS(pi->sh->corerev, 11) || D11REV_IS(pi->sh->corerev, 12))
28614 wlapi_bmac_mctrl(pi->sh->physhim, MCTL_PHYLOCK, 0);
28616 write_phy_reg(pi, 0x1e8, (0x3 << 8) | (240 << 0));
28618 write_phy_reg(pi, 0x1e9,
28619 (1 << 15) | (idle_tssi[0] << 0) | (idle_tssi[1] << 8));
28621 write_phy_reg(pi, 0x1ea,
28622 (target_pwr_qtrdbm[0] << 0) |
28623 (target_pwr_qtrdbm[1] << 8));
28627 for (tbl_id = NPHY_TBL_ID_CORE1TXPWRCTL;
28628 tbl_id <= NPHY_TBL_ID_CORE2TXPWRCTL; tbl_id++) {
28630 for (idx = 0; idx < tbl_len; idx++) {
28632 8 * (16 * b0[tbl_id - 26] + b1[tbl_id - 26] * idx);
28633 den = 32768 + a1[tbl_id - 26] * idx;
28634 pwr_est = max(((4 * num + den / 2) / den), -8);
28635 if (NREV_LT(pi->pubpi.phy_rev, 3)) {
28637 (uint) (31 - idle_tssi[tbl_id - 26] + 1))
28640 target_pwr_qtrdbm[tbl_id - 26] +
28643 regval[idx] = (u32) pwr_est;
28645 wlc_phy_table_write_nphy(pi, tbl_id, tbl_len, tbl_offset, 32,
28649 wlc_phy_txpwr_limit_to_tbl_nphy(pi);
28650 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 84, 64, 8,
28651 pi->adj_pwr_tbl_nphy);
28652 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 84, 64, 8,
28653 pi->adj_pwr_tbl_nphy);
28655 if (pi->phyhang_avoid)
28656 wlc_phy_stay_in_carriersearch_nphy(pi, false);
28659 static bool wlc_phy_txpwr_ison_nphy(phy_info_t *pi)
28661 return read_phy_reg((pi), 0x1e7) & ((0x1 << 15) |
28662 (0x1 << 14) | (0x1 << 13));
28665 static u8 wlc_phy_txpwr_idx_cur_get_nphy(phy_info_t *pi, u8 core)
28668 tmp = read_phy_reg(pi, ((core == PHY_CORE_0) ? 0x1ed : 0x1ee));
28670 tmp = (tmp & (0x7f << 8)) >> 8;
28675 wlc_phy_txpwr_idx_cur_set_nphy(phy_info_t *pi, u8 idx0, u8 idx1)
28677 mod_phy_reg(pi, 0x1e7, (0x7f << 0), idx0);
28679 if (NREV_GT(pi->pubpi.phy_rev, 1))
28680 mod_phy_reg(pi, 0x222, (0xff << 0), idx1);
28683 u16 wlc_phy_txpwr_idx_get_nphy(phy_info_t *pi)
28688 if (wlc_phy_txpwr_ison_nphy(pi)) {
28689 pwr_idx[0] = wlc_phy_txpwr_idx_cur_get_nphy(pi, PHY_CORE_0);
28690 pwr_idx[1] = wlc_phy_txpwr_idx_cur_get_nphy(pi, PHY_CORE_1);
28692 tmp = (pwr_idx[0] << 8) | pwr_idx[1];
28695 ((pi->nphy_txpwrindex[PHY_CORE_0].
28696 index_internal & 0xff) << 8) | (pi->
28699 index_internal & 0xff);
28705 void wlc_phy_txpwr_papd_cal_nphy(phy_info_t *pi)
28708 && (pi->nphy_force_papd_cal
28709 || (wlc_phy_txpwr_ison_nphy(pi)
28712 ABS(wlc_phy_txpwr_idx_cur_get_nphy(pi, 0) -
28713 pi->nphy_papd_tx_gain_at_last_cal[0]) >= 4)
28715 ABS(wlc_phy_txpwr_idx_cur_get_nphy(pi, 1) -
28716 pi->nphy_papd_tx_gain_at_last_cal[1]) >= 4))))) {
28717 wlc_phy_a4(pi, true);
28721 void wlc_phy_txpwrctrl_enable_nphy(phy_info_t *pi, u8 ctrl_type)
28723 u16 mask = 0, val = 0, ishw = 0;
28730 if (pi->phyhang_avoid)
28731 wlc_phy_stay_in_carriersearch_nphy(pi, true);
28733 switch (ctrl_type) {
28734 case PHY_TPC_HW_OFF:
28735 case PHY_TPC_HW_ON:
28736 pi->nphy_txpwrctrl = ctrl_type;
28742 if (ctrl_type == PHY_TPC_HW_OFF) {
28743 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28745 if (wlc_phy_txpwr_ison_nphy(pi)) {
28746 for (core = 0; core < pi->pubpi.phy_corenum;
28748 pi->nphy_txpwr_idx[core] =
28749 wlc_phy_txpwr_idx_cur_get_nphy(pi,
28758 for (ctr = 0; ctr < tbl_len; ctr++) {
28761 wlc_phy_table_write_nphy(pi, 26, tbl_len, tbl_offset, 16,
28763 wlc_phy_table_write_nphy(pi, 27, tbl_len, tbl_offset, 16,
28766 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28768 and_phy_reg(pi, 0x1e7,
28769 (u16) (~((0x1 << 15) |
28770 (0x1 << 14) | (0x1 << 13))));
28772 and_phy_reg(pi, 0x1e7,
28773 (u16) (~((0x1 << 14) | (0x1 << 13))));
28776 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28777 or_phy_reg(pi, 0x8f, (0x1 << 8));
28778 or_phy_reg(pi, 0xa5, (0x1 << 8));
28780 or_phy_reg(pi, 0xa5, (0x1 << 14));
28783 if (NREV_IS(pi->pubpi.phy_rev, 2))
28784 mod_phy_reg(pi, 0xdc, 0x00ff, 0x53);
28785 else if (NREV_LT(pi->pubpi.phy_rev, 2))
28786 mod_phy_reg(pi, 0xdc, 0x00ff, 0x5a);
28788 if (NREV_LT(pi->pubpi.phy_rev, 2) && IS40MHZ(pi))
28789 wlapi_bmac_mhf(pi->sh->physhim, MHF1, MHF1_IQSWAP_WAR,
28790 MHF1_IQSWAP_WAR, WLC_BAND_ALL);
28794 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE1TXPWRCTL, 84, 64,
28795 8, pi->adj_pwr_tbl_nphy);
28796 wlc_phy_table_write_nphy(pi, NPHY_TBL_ID_CORE2TXPWRCTL, 84, 64,
28797 8, pi->adj_pwr_tbl_nphy);
28799 ishw = (ctrl_type == PHY_TPC_HW_ON) ? 0x1 : 0x0;
28800 mask = (0x1 << 14) | (0x1 << 13);
28801 val = (ishw << 14) | (ishw << 13);
28803 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28804 mask |= (0x1 << 15);
28805 val |= (ishw << 15);
28808 mod_phy_reg(pi, 0x1e7, mask, val);
28810 if (CHSPEC_IS5G(pi->radio_chanspec)) {
28811 if (NREV_GE(pi->pubpi.phy_rev, 7)) {
28812 mod_phy_reg(pi, 0x1e7, (0x7f << 0), 0x32);
28813 mod_phy_reg(pi, 0x222, (0xff << 0), 0x32);
28815 mod_phy_reg(pi, 0x1e7, (0x7f << 0), 0x64);
28816 if (NREV_GT(pi->pubpi.phy_rev, 1))
28817 mod_phy_reg(pi, 0x222,
28818 (0xff << 0), 0x64);
28822 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28823 if ((pi->nphy_txpwr_idx[0] != 128)
28824 && (pi->nphy_txpwr_idx[1] != 128)) {
28825 wlc_phy_txpwr_idx_cur_set_nphy(pi,
28835 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28836 and_phy_reg(pi, 0x8f, ~(0x1 << 8));
28837 and_phy_reg(pi, 0xa5, ~(0x1 << 8));
28839 and_phy_reg(pi, 0xa5, ~(0x1 << 14));
28842 if (NREV_IS(pi->pubpi.phy_rev, 2))
28843 mod_phy_reg(pi, 0xdc, 0x00ff, 0x3b);
28844 else if (NREV_LT(pi->pubpi.phy_rev, 2))
28845 mod_phy_reg(pi, 0xdc, 0x00ff, 0x40);
28847 if (NREV_LT(pi->pubpi.phy_rev, 2) && IS40MHZ(pi))
28848 wlapi_bmac_mhf(pi->sh->physhim, MHF1, MHF1_IQSWAP_WAR,
28849 0x0, WLC_BAND_ALL);
28852 mod_phy_reg(pi, (0 == PHY_CORE_0) ? 0x297 :
28853 0x29b, (0x1 << 2), (0) << 2);
28855 mod_phy_reg(pi, (1 == PHY_CORE_0) ? 0x297 :
28856 0x29b, (0x1 << 2), (0) << 2);
28862 if (pi->phyhang_avoid)
28863 wlc_phy_stay_in_carriersearch_nphy(pi, false);
28867 wlc_phy_txpwr_index_nphy(phy_info_t *pi, u8 core_mask, s8 txpwrindex,
28870 u8 core, txpwrctl_tbl;
28871 u16 tx_ind0, iq_ind0, lo_ind0;
28874 u16 rad_gain, dac_gain;
28877 u16 iqcomp_a, iqcomp_b;
28880 u8 tx_pwr_ctrl_state;
28884 if (pi->phyhang_avoid)
28885 wlc_phy_stay_in_carriersearch_nphy(pi, true);
28891 for (core = 0; core < pi->pubpi.phy_corenum; core++) {
28893 if ((core_mask & (1 << core)) == 0) {
28897 txpwrctl_tbl = (core == PHY_CORE_0) ? 26 : 27;
28899 if (txpwrindex < 0) {
28900 if (pi->nphy_txpwrindex[core].index < 0) {
28905 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28906 mod_phy_reg(pi, 0x8f,
28908 pi->nphy_txpwrindex[core].
28910 mod_phy_reg(pi, 0xa5, (0x1 << 8),
28911 pi->nphy_txpwrindex[core].
28914 mod_phy_reg(pi, 0xa5,
28916 pi->nphy_txpwrindex[core].
28920 write_phy_reg(pi, (core == PHY_CORE_0) ?
28922 pi->nphy_txpwrindex[core].AfeCtrlDacGain);
28924 wlc_phy_table_write_nphy(pi, 7, 1, (0x110 + core), 16,
28925 &pi->nphy_txpwrindex[core].
28928 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m1m2);
28929 m1m2 &= ((core == PHY_CORE_0) ? 0x00ff : 0xff00);
28930 m1m2 |= ((core == PHY_CORE_0) ?
28931 (pi->nphy_txpwrindex[core].bbmult << 8) :
28932 (pi->nphy_txpwrindex[core].bbmult << 0));
28933 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &m1m2);
28935 if (restore_cals) {
28937 wlc_phy_table_write_nphy(pi, 15, 2,
28938 (80 + 2 * core), 16,
28940 nphy_txpwrindex[core].
28943 wlc_phy_table_write_nphy(pi, 15, 1, (85 + core),
28946 nphy_txpwrindex[core].
28948 wlc_phy_table_write_nphy(pi, 15, 1, (93 + core),
28951 nphy_txpwrindex[core].
28955 wlc_phy_txpwrctrl_enable_nphy(pi, pi->nphy_txpwrctrl);
28957 pi->nphy_txpwrindex[core].index_internal =
28958 pi->nphy_txpwrindex[core].index_internal_save;
28961 if (pi->nphy_txpwrindex[core].index < 0) {
28963 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
28964 mod_phy_reg(pi, 0x8f,
28966 pi->nphy_txpwrindex[core].
28968 mod_phy_reg(pi, 0xa5, (0x1 << 8),
28969 pi->nphy_txpwrindex[core].
28972 pi->nphy_txpwrindex[core].
28974 read_phy_reg(pi, 0xa5);
28977 pi->nphy_txpwrindex[core].AfeCtrlDacGain =
28980 PHY_CORE_0) ? 0xaa : 0xab);
28982 wlc_phy_table_read_nphy(pi, 7, 1,
28983 (0x110 + core), 16,
28985 nphy_txpwrindex[core].
28988 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16,
28990 tmpval >>= ((core == PHY_CORE_0) ? 8 : 0);
28992 pi->nphy_txpwrindex[core].bbmult =
28995 wlc_phy_table_read_nphy(pi, 15, 2,
28996 (80 + 2 * core), 16,
28998 nphy_txpwrindex[core].
29001 wlc_phy_table_read_nphy(pi, 15, 1, (85 + core),
29004 nphy_txpwrindex[core].
29007 pi->nphy_txpwrindex[core].index_internal_save =
29008 pi->nphy_txpwrindex[core].index_internal;
29011 tx_pwr_ctrl_state = pi->nphy_txpwrctrl;
29012 wlc_phy_txpwrctrl_enable_nphy(pi, PHY_TPC_HW_OFF);
29014 if (NREV_IS(pi->pubpi.phy_rev, 1))
29015 wlapi_bmac_phyclk_fgc(pi->sh->physhim, ON);
29017 wlc_phy_table_read_nphy(pi, txpwrctl_tbl, 1,
29018 (tx_ind0 + txpwrindex), 32,
29021 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
29023 (txgain >> 16) & ((1 << (32 - 16 + 1)) - 1);
29026 (txgain >> 16) & ((1 << (28 - 16 + 1)) - 1);
29028 dac_gain = (txgain >> 8) & ((1 << (13 - 8 + 1)) - 1);
29029 bbmult = (txgain >> 0) & ((1 << (7 - 0 + 1)) - 1);
29031 if (NREV_GE(pi->pubpi.phy_rev, 3)) {
29032 mod_phy_reg(pi, ((core == PHY_CORE_0) ? 0x8f :
29033 0xa5), (0x1 << 8), (0x1 << 8));
29035 mod_phy_reg(pi, 0xa5, (0x1 << 14), (0x1 << 14));
29037 write_phy_reg(pi, (core == PHY_CORE_0) ?
29038 0xaa : 0xab, dac_gain);
29040 wlc_phy_table_write_nphy(pi, 7, 1, (0x110 + core), 16,
29043 wlc_phy_table_read_nphy(pi, 15, 1, 87, 16, &m1m2);
29044 m1m2 &= ((core == PHY_CORE_0) ? 0x00ff : 0xff00);
29047 PHY_CORE_0) ? (bbmult << 8) : (bbmult << 0));
29049 wlc_phy_table_write_nphy(pi, 15, 1, 87, 16, &m1m2);
29051 wlc_phy_table_read_nphy(pi, txpwrctl_tbl, 1,
29052 (iq_ind0 + txpwrindex), 32,
29054 iqcomp_a = (iqcomp >> 10) & ((1 << (19 - 10 + 1)) - 1);
29055 iqcomp_b = (iqcomp >> 0) & ((1 << (9 - 0 + 1)) - 1);
29057 if (restore_cals) {
29058 regval[0] = (u16) iqcomp_a;
29059 regval[1] = (u16) iqcomp_b;
29060 wlc_phy_table_write_nphy(pi, 15, 2,
29061 (80 + 2 * core), 16,
29065 wlc_phy_table_read_nphy(pi, txpwrctl_tbl, 1,
29066 (lo_ind0 + txpwrindex), 32,
29068 if (restore_cals) {
29069 wlc_phy_table_write_nphy(pi, 15, 1, (85 + core),
29073 if (NREV_IS(pi->pubpi.phy_rev, 1))
29074 wlapi_bmac_phyclk_fgc(pi->sh->physhim, OFF);
29077 wlc_phy_table_read_nphy(pi,
29080 NPHY_TBL_ID_CORE1TXPWRCTL
29082 NPHY_TBL_ID_CORE2TXPWRCTL),
29083 1, 576 + txpwrindex, 32,
29086 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
29087 0x29b, (0x1ff << 4),
29088 ((s16) rfpwr_offset) << 4);
29090 mod_phy_reg(pi, (core == PHY_CORE_0) ? 0x297 :
29091 0x29b, (0x1 << 2), (1) << 2);
29095 wlc_phy_txpwrctrl_enable_nphy(pi, tx_pwr_ctrl_state);
29098 pi->nphy_txpwrindex[core].index = txpwrindex;
29101 if (pi->phyhang_avoid)
29102 wlc_phy_stay_in_carriersearch_nphy(pi, false);
29106 wlc_phy_txpower_sromlimit_get_nphy(phy_info_t *pi, uint chan, u8 *max_pwr,
29109 u8 chan_freq_range;
29111 chan_freq_range = wlc_phy_get_chan_freq_range_nphy(pi, chan);
29112 switch (chan_freq_range) {
29113 case WL_CHAN_FREQ_RANGE_2G:
29114 *max_pwr = pi->tx_srom_max_rate_2g[txp_rate_idx];
29116 case WL_CHAN_FREQ_RANGE_5GM:
29117 *max_pwr = pi->tx_srom_max_rate_5g_mid[txp_rate_idx];
29119 case WL_CHAN_FREQ_RANGE_5GL:
29120 *max_pwr = pi->tx_srom_max_rate_5g_low[txp_rate_idx];
29122 case WL_CHAN_FREQ_RANGE_5GH:
29123 *max_pwr = pi->tx_srom_max_rate_5g_hi[txp_rate_idx];
29126 *max_pwr = pi->tx_srom_max_rate_2g[txp_rate_idx];
29133 void wlc_phy_stay_in_carriersearch_nphy(phy_info_t *pi, bool enable)
29135 u16 clip_off[] = { 0xffff, 0xffff };
29138 if (pi->nphy_deaf_count == 0) {
29139 pi->classifier_state =
29140 wlc_phy_classifier_nphy(pi, 0, 0);
29141 wlc_phy_classifier_nphy(pi, (0x7 << 0), 4);
29142 wlc_phy_clip_det_nphy(pi, 0, pi->clip_state);
29143 wlc_phy_clip_det_nphy(pi, 1, clip_off);
29146 pi->nphy_deaf_count++;
29148 wlc_phy_resetcca_nphy(pi);
29151 pi->nphy_deaf_count--;
29153 if (pi->nphy_deaf_count == 0) {
29154 wlc_phy_classifier_nphy(pi, (0x7 << 0),
29155 pi->classifier_state);
29156 wlc_phy_clip_det_nphy(pi, 1, pi->clip_state);
29161 void wlc_nphy_deaf_mode(phy_info_t *pi, bool mode)
29163 wlapi_suspend_mac_and_wait(pi->sh->physhim);
29166 if (pi->nphy_deaf_count == 0)
29167 wlc_phy_stay_in_carriersearch_nphy(pi, true);
29169 if (pi->nphy_deaf_count > 0)
29170 wlc_phy_stay_in_carriersearch_nphy(pi, false);
29172 wlapi_enable_mac(pi->sh->physhim);